diff --git a/.gitignore b/.gitignore index bcff2f01..fbacbe89 100644 --- a/.gitignore +++ b/.gitignore @@ -52,6 +52,7 @@ source/frontend/cypress/videos **/.nyc_output # build +source/backend/functions/account-import-templates-api/src/global-resources.template source/backend/functions/lambda-layers/aws_sdk/python source/backend/functions/lambda-layers/cr_helper/python source/backend/functions/lambda-layers/decorators/python/* diff --git a/CHANGELOG.md b/CHANGELOG.md index c15d6a41..e9961a00 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,11 +5,50 @@ All notable changes to this project are documented in this file. Based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [2.2.0] - 2024-11-20 + +### Added +- Support for custom identity providers (SAML and OIDC) [61](https://github.com/aws-solutions/workload-discovery-on-aws/issues/61) [510](https://github.com/aws-solutions/workload-discovery-on-aws/issues/510) +- Export of diagrams to myApplications +- Export of diagrams to SVG +- Application Insights dashboard to monitor health of solution +- Number of supported resource types is over 450, newly added types include, but are not limited to: + - `AWS::AppSync::DataSource` + - `AWS::AppSync::Resolver` + - `AWS::MediaConnect::Flow` + - `AWS::MediaConnect::FlowEntitlement` + - `AWS::MediaConnect::FlowSource` + - `AWS::MediaConnect::FlowVpcInterface` + - `AWS::MediaPackage::PackagingConfiguration` + - `AWS::MediaPackage::PackagingGroup` + - `AWS::ServiceCatalogAppRegistry::Application` +- Increase in number of relationships not captured by AWS Config, including, but not limited to: + - `AWS::AppSync::DataSource` -> `AWS::Lambda::Function`/`AWS::DynamoDB::Table`/`AWS::Events::EventBus`/`AWS::RDS::DBCluster`/`AWS::OpenSearchService::Domain` + - `AWS::AppSync::Resolver` -> `AWS::AppSync::GraphQLApi`/`AWS::AppSync::DataSource` + - `AWS::S3::Bucket` -> `AWS::Lambda::Function`/`AWS::SQS::Queue`/`AWS::SNS::Topic` + - `AWS::IAM::InstanceProfile` -> `AWS::IAM::Role` + - `AWS::MediaConnect::FlowEntitlement` -> `AWS::MediaConnect::Flow` + - `AWS::MediaConnect::FlowSource` -> `AWS::MediaConnect::Flow`/`AWS::MediaConnect::FlowEntitlement`/`AWS::MediaConnect::FlowVpcInterface`/`AWS::IAM::Role`/`AWS::SecretsManager::Secret` + - `AWS::MediaConnect::FlowVpcInterface` -> `AWS::EC2::VPC`/`AWS::EC2::Subnet`/`AWS::EC2::SecurityGroup`/`AWS::EC2::NetworkInterface` + - `AWS::MediaPackage::PackagingConfiguration` -> `AWS::MediaPackage::PackagingGroup`/`AWS::IAM::Role` + +### Changed +- Multiple resources can now be selected in the search bar on the Diagram page +- Migrate AppRegistry integration to myApplications for monitoring solution costs and usage. +- Migrate JavaScript lambda functions and the discovery process from CommonJS to ESM +- Update Neptune Engine version to `1.3.1.0`. +- Update OpenSearch version to `2.11.0`. + +### Fixed +- `AWS::EC2::NetworkInterface` -> `AWS::OpenSearchService::Domain` relationships are not discovered +- Failed writes to OpenSearch should stop the corresponding write being made to Neptune +- Metrics lambda times out when hundreds of accounts have been imported + ## [2.1.15] - 2024-9-30 ### Fixed -- Cron expression for running discovery process every 24 hours. [546](https://github.com/aws-solutions/workload-discovery-on-aws/discussions/546) +- Cron expression for running discovery process every 24 hours. [546](https://github.com/aws-solutions/workload-discovery-on-aws/issues/546) - Security [vulnerability](https://github.com/advisories/GHSA-gcx4-mw62-g8wm) in `rollup`. - Security [vulnerability](https://github.com/advisories/GHSA-9cwx-2883-4wfx) in `vite`. - Security [vulnerability](https://github.com/advisories/GHSA-64vr-g452-qvp3) in `vite`. @@ -18,9 +57,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed -- Cron expression for running discovery process every 24 hours. [546](https://github.com/aws-solutions/workload-discovery-on-aws/discussions/546) -- Intermittent failures in `cleanup-bucket` custom resource. [545](https://github.com/aws-solutions/workload-discovery-on-aws/discussions/545) -- SCP error relating to `putConfigAggregator` when adding accounts in an AWS organisation using Control Tower. [544](https://github.com/aws-solutions/workload-discovery-on-aws/discussions/544) +- Cron expression for running discovery process every 24 hours. [546](https://github.com/aws-solutions/workload-discovery-on-aws/issues/546) +- Intermittent failures in `cleanup-bucket` custom resource. [545](https://github.com/aws-solutions/workload-discovery-on-aws/issues/545) +- SCP error relating to `putConfigAggregator` when adding accounts in an AWS organisation using Control Tower. [544](https://github.com/aws-solutions/workload-discovery-on-aws/issues/544) - Security [vulnerability](https://github.com/advisories/GHSA-952p-6rrq-rcjv) in `micromatch`. - Security [vulnerability](https://github.com/advisories/GHSA-9wv6-86v2-598j) in `path-to-regexp`. - Security [vulnerability](https://github.com/advisories/GHSA-m6fv-jmcg-4jfg) in `send`. diff --git a/NOTICE.txt b/NOTICE.txt index 2aca5f48..7cb5ae57 100644 --- a/NOTICE.txt +++ b/NOTICE.txt @@ -28,6 +28,8 @@ license-expression py-serializable @aws-amplify/ui-react @aws-sdk/client-api-gateway +@aws-sdk/client-appsync +@aws-sdk/client-athena @aws-sdk/client-cognito-identity-provider @aws-sdk/client-config-service @aws-sdk/client-dynamodb @@ -39,9 +41,12 @@ py-serializable @aws-sdk/client-elastic-load-balancing-v2 @aws-sdk/client-iam @aws-sdk/client-lambda +@aws-sdk/client-mediaconnect @aws-sdk/client-opensearch @aws-sdk/client-organizations +@aws-sdk/client-resource-groups-tagging-api @aws-sdk/client-s3 +@aws-sdk/client-service-catalog-appregistry @aws-sdk/client-sns @aws-sdk/client-ssm @aws-sdk/client-sts @@ -58,7 +63,10 @@ py-serializable ********************** MIT License ********************** +@aws-lambda-powertools/logger +@uiw/react-json-view add +ajv pip cfn-nag csv-parse @@ -108,6 +116,8 @@ mocha rewire socks5-https-client moment-timezone +memoize +quick-lru unzipper mime-types node-fetch @@ -116,7 +126,7 @@ undici acorn msw aws-opensearch-connector -athena-express +athena-express-plus most @tuplo/dynoexpr aws-sdk-client-mock @@ -163,6 +173,7 @@ pkgutil_resolve_name pyrsistent @supercharge/promise-pool @most/core +zod ********************** BSD-2-Clause diff --git a/README.md b/README.md index 72615102..9088c5e4 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Workload Discovery on AWS (v2.1.15) +# Workload Discovery on AWS (v2.2.0) Workload Discovery on AWS is a tool that quickly visualizes AWS Cloud workloads as architecture diagrams. You can use the solution to build, customize, and share detailed workload visualizations based on live data from AWS. @@ -70,7 +70,7 @@ The cost component processes [AWS Cost and Usage Reports](https://docs.aws.amazo (AWS CUR) to make cost data available in Workload Discovery. To use this feature, you must [create a report in AWS CUR](https://docs.aws.amazon.com/cur/latest/userguide/cur-create.html) to deliver the reports to the ```CostAndUsageReportBucket``` Amazon S3 bucket. When an AWS CUR is delivered, it triggers an [AWS Lambda](http://aws.amazon.com/lambda) function to trigger a AWS Glue Crawler that will update a -table ready for Amazon Athena to query. You can query these AWS CURs via the Perspectie UI. You can bring in cost +table ready for Amazon Athena to query. You can query these AWS CURs via the Workload Discovery UI. You can bring in cost data from other accounts discoverable to Workload Discovery by setting up a AWS CUR and setting up replication between the S3 bucket in the discoverable account and the ```CostAndUsageReportBucket``` diff --git a/deployment/build-open-source-dist.sh b/deployment/build-open-source-dist.sh index fca009af..20c43db9 100755 --- a/deployment/build-open-source-dist.sh +++ b/deployment/build-open-source-dist.sh @@ -43,9 +43,8 @@ gitzip -d $dist_dir/$1.zip \ -x "codescan-*.sh" \ -x "buildspec.yml" \ -x ".viperlight*" \ - -x "source/infrastructure" \ - -x "docs" \ + -x "internal" \ -x "sonar-project.properties" \ -x "solution-manifest.yaml" \ - -x ".nightswatch/*" \ + -x ".nightswatch" \ -x "Config" diff --git a/deployment/build-s3-dist.sh b/deployment/build-s3-dist.sh index c4fd95fe..beb3d480 100755 --- a/deployment/build-s3-dist.sh +++ b/deployment/build-s3-dist.sh @@ -31,7 +31,7 @@ source_dir="$template_dir/../source" nested_stack_template_dir="$source_dir/cfn/templates" auditDeps () { - npm_config_yes=true npx better-npm-audit audit --production -l high + npm_config_yes=true npx better-npm-audit audit --production OUTPUT=$? if [[ "$OUTPUT" -eq 0 ]]; then @@ -62,6 +62,7 @@ echo "-------------------------------------------------------------------------- cp "$nested_stack_template_dir"/*.template "$build_dist_dir" cd "$build_dist_dir" sedi "s||${1}|g; s||${2}|g; s||${3}|g; s||${4}|g" main.template +sedi "s||${3}|g;" org-global-resources.template echo "------------------------------------------------------------------------------" echo "[Packing] Main Distribution Template" @@ -118,6 +119,14 @@ rm -rf dist && mkdir dist zip -q -r9 dist/cleanup-ecr.zip cleanup_ecr.py cp ./dist/cleanup-ecr.zip "${build_dist_dir}/cleanup-ecr.zip" +echo "------------------------------------------------------------------------------" +echo "[Rebuild] Identity Provider Custom Resource" +echo "------------------------------------------------------------------------------" +cd "${source_dir}/backend/functions/identity-provider" +rm -rf dist && mkdir dist +zip -q -r9 dist/identity-provider.zip identity_provider.py +cp ./dist/identity-provider.zip "${build_dist_dir}/identity-provider.zip" + echo "------------------------------------------------------------------------------" echo "[Rebuild] Drawio Lambda" echo "------------------------------------------------------------------------------" @@ -191,6 +200,15 @@ auditDeps npm run build cp ./dist/cur-setup.zip "${build_dist_dir}/cur-setup.zip" + +echo "------------------------------------------------------------------------------" +echo "[Rebuild] Metrics Uuid Custom Resource" +echo "------------------------------------------------------------------------------" +cd "${source_dir}/backend/functions/metrics-uuid" +rm -rf dist && mkdir dist +zip -q -r9 dist/metrics_uuid.zip metrics_uuid.py +cp ./dist/metrics_uuid.zip "${build_dist_dir}/metrics_uuid.zip" + echo "------------------------------------------------------------------------------" echo "[Rebuild] Metrics" echo "------------------------------------------------------------------------------" @@ -199,6 +217,22 @@ auditDeps npm run build cp ./dist/metrics.zip "${build_dist_dir}/metrics.zip" +echo "------------------------------------------------------------------------------" +echo "[Rebuild] Metrics Subscription Filter" +echo "------------------------------------------------------------------------------" +cd "${source_dir}/backend/functions/metrics-subscription-filter" +auditDeps +npm run build +cp ./dist/metrics-subscription-filter.zip "${build_dist_dir}/metrics-subscription-filter.zip" + +echo "------------------------------------------------------------------------------" +echo "[Rebuild] Export to myApplication" +echo "------------------------------------------------------------------------------" +cd "${source_dir}/backend/functions/myapplications" +auditDeps +npm run build +cp ./dist/myapplications.zip "${build_dist_dir}/myapplications.zip" + echo "------------------------------------------------------------------------------" echo "[Rebuild] Discovery" echo "------------------------------------------------------------------------------" diff --git a/deployment/run-unit-tests.sh b/deployment/run-unit-tests.sh index 66f3adcb..45aa27d2 100755 --- a/deployment/run-unit-tests.sh +++ b/deployment/run-unit-tests.sh @@ -32,6 +32,14 @@ pipenv install -q --dev pipenv run pytest --cov-report xml --cov . echo "$(awk '{gsub(/.*\/source\//, "source/")}1' coverage.xml)" > coverage.xml +echo "------------------------------------------------------------------------------" +echo "[Test] Identity Provider Custom Resource" +echo "------------------------------------------------------------------------------" +cd $source_dir/backend/functions/identity-provider +pipenv install --dev +pipenv run pytest --cov-report xml --cov . +echo "$(awk '{gsub(/.*\/source\//, "source/")}1' coverage.xml)" > coverage.xml + echo "------------------------------------------------------------------------------" echo "[Test] Account Import Templates" echo "------------------------------------------------------------------------------" @@ -50,6 +58,7 @@ echo "-------------------------------------------------------------------------- cd $source_dir/backend/functions/metrics npm run test:ci +echo "------------------------------------------------------------------------------" echo "[Test] Bucket cleanup Custom Resource" echo "------------------------------------------------------------------------------" cd $source_dir/backend/functions/cleanup-bucket @@ -57,6 +66,26 @@ pipenv install -q --dev pipenv run pytest --cov-report xml --cov . echo "$(awk '{gsub(/.*\/source\//, "source/")}1' coverage.xml)" > coverage.xml +echo "------------------------------------------------------------------------------" +echo "[Test] Metrics UUID Custom Resource" +echo "------------------------------------------------------------------------------" +cd $source_dir/backend/functions/metrics-uuid +pipenv install -q --dev +pipenv run pytest --cov-report xml --cov . +echo "$(awk '{gsub(/.*\/source\//, "source/")}1' coverage.xml)" > coverage.xml + +echo "------------------------------------------------------------------------------" +echo "[Test] Metrics Subscription Filter" +echo "------------------------------------------------------------------------------" +cd $source_dir/backend/functions/metrics-subscription-filter +npm run test:ci + +echo "------------------------------------------------------------------------------" +echo "[Test] myApplications Resolver" +echo "------------------------------------------------------------------------------" +cd $source_dir/backend/functions/myapplications +npm run test:ci + echo "------------------------------------------------------------------------------" echo "[Test] Discovery" echo "------------------------------------------------------------------------------" diff --git a/source/backend/discovery/Dockerfile b/source/backend/discovery/Dockerfile index d57b9ec5..2c339c03 100644 --- a/source/backend/discovery/Dockerfile +++ b/source/backend/discovery/Dockerfile @@ -1,4 +1,4 @@ -FROM public.ecr.aws/amazonlinux/amazonlinux:2023 +FROM public.ecr.aws/amazonlinux/amazonlinux:2023-minimal RUN dnf install -y shadow-utils @@ -18,4 +18,4 @@ RUN npm ci --omit=dev COPY src/ src/ -CMD ["node", "src/index.js"] +CMD ["node", "src/index.mjs"] diff --git a/source/backend/discovery/package-lock.json b/source/backend/discovery/package-lock.json index 102e4de8..e71c1666 100644 --- a/source/backend/discovery/package-lock.json +++ b/source/backend/discovery/package-lock.json @@ -1,16 +1,16 @@ { "name": "wd-discovery", - "version": "2.1.15", + "version": "2.2.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "wd-discovery", - "version": "2.1.15", + "version": "2.2.0", "license": "Apache-2.0", "dependencies": { "@aws-sdk/client-api-gateway": "3.621.0", - "@aws-sdk/client-cognito-identity-provider": "3.621.0", + "@aws-sdk/client-appsync": "3.621.0", "@aws-sdk/client-config-service": "3.621.0", "@aws-sdk/client-dynamodb-streams": "3.621.0", "@aws-sdk/client-ec2": "3.621.0", @@ -20,39 +20,44 @@ "@aws-sdk/client-elastic-load-balancing-v2": "3.621.0", "@aws-sdk/client-iam": "3.621.0", "@aws-sdk/client-lambda": "3.621.0", + "@aws-sdk/client-mediaconnect": "3.621.0", "@aws-sdk/client-opensearch": "3.621.0", "@aws-sdk/client-organizations": "3.621.0", + "@aws-sdk/client-service-catalog-appregistry": "3.621.0", "@aws-sdk/client-sns": "3.621.0", "@aws-sdk/client-sts": "3.621.0", "@aws-sdk/credential-providers": "3.621.0", - "@aws-sdk/util-arn-parser": "3.465.0", + "@aws-sdk/util-arn-parser": "3.568.0", "@smithy/util-retry": "2.0.9", "@supercharge/promise-pool": "3.1.0", + "ajv": "8.16.0", "async-retry": "1.3.3", "aws4": "1.12.0", "iterare": "1.2.1", - "p-throttle": "4.0.0", + "jmespath": "^0.16.0", + "p-throttle": "6.1.0", "ramda": "0.28.0", - "undici": "^6.14.1", + "undici": "6.19.8", "winston": "3.3.3" }, "devDependencies": { + "@vitest/coverage-v8": "^2.1.1", "aws-sdk-client-mock": "3.0.1", - "chai": "^4.3.10", - "mocha": "^10.2.0", - "nyc": "^15.1.0", - "nyc-report-lcov-absolute": "^1.0.0", - "rewire": "^7.0.0", - "sinon": "^17.0.0" + "sinon": "^17.0.0", + "vitest": "^2.1.1" } }, - "node_modules/@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, "engines": { - "node": ">=0.10.0" + "node": ">=6.0.0" } }, "node_modules/@aws-crypto/crc32": { @@ -82,41 +87,6 @@ "tslib": "^2.6.2" } }, - "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/is-array-buffer": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz", - "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/util-buffer-from": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz", - "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==", - "dependencies": { - "@smithy/is-array-buffer": "^2.2.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/util-utf8": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz", - "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==", - "dependencies": { - "@smithy/util-buffer-from": "^2.2.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=14.0.0" - } - }, "node_modules/@aws-crypto/sha256-js": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-5.2.0.tgz", @@ -148,41 +118,6 @@ "tslib": "^2.6.2" } }, - "node_modules/@aws-crypto/util/node_modules/@smithy/is-array-buffer": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz", - "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-crypto/util/node_modules/@smithy/util-buffer-from": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz", - "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==", - "dependencies": { - "@smithy/is-array-buffer": "^2.2.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-crypto/util/node_modules/@smithy/util-utf8": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz", - "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==", - "dependencies": { - "@smithy/util-buffer-from": "^2.2.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=14.0.0" - } - }, "node_modules/@aws-sdk/client-api-gateway": { "version": "3.621.0", "resolved": "https://registry.npmjs.org/@aws-sdk/client-api-gateway/-/client-api-gateway-3.621.0.tgz", @@ -236,6 +171,17 @@ "node": ">=16.0.0" } }, + "node_modules/@aws-sdk/client-api-gateway/node_modules/@smithy/is-array-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@aws-sdk/client-api-gateway/node_modules/@smithy/service-error-classification": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.3.tgz", @@ -271,10 +217,34 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cognito-identity": { + "node_modules/@aws-sdk/client-api-gateway/node_modules/@smithy/util-utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", + "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", + "dependencies": { + "@smithy/util-buffer-from": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/client-api-gateway/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", + "dependencies": { + "@smithy/is-array-buffer": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/client-appsync": { "version": "3.621.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.621.0.tgz", - "integrity": "sha512-FpXia5qFf6ijcNDWenVq+mP9r1LbiW/+52i9wrv2+Afi6Nn1ROf8W7St8WvE9TEZ3t78y+vis4CwqfGts+uiKA==", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-appsync/-/client-appsync-3.621.0.tgz", + "integrity": "sha512-fcQOVP4MOl/IrK0IUu1mnI89Y+mGy5TW+0g5vNERutCXeq+a3UYoS33hLYKhq6A9F8L1lnMIfTgxQ8lyi1ShgA==", "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", @@ -315,6 +285,7 @@ "@smithy/util-endpoints": "^2.0.5", "@smithy/util-middleware": "^3.0.3", "@smithy/util-retry": "^3.0.3", + "@smithy/util-stream": "^3.1.3", "@smithy/util-utf8": "^3.0.0", "tslib": "^2.6.2" }, @@ -322,10 +293,80 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cognito-identity-provider": { + "node_modules/@aws-sdk/client-appsync/node_modules/@smithy/is-array-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/client-appsync/node_modules/@smithy/service-error-classification": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.3.tgz", + "integrity": "sha512-Jn39sSl8cim/VlkLsUhRFq/dKDnRUFlfRkvhOJaUbLBXUsLRLNf9WaxDv/z9BjuQ3A6k/qE8af1lsqcwm7+DaQ==", + "dependencies": { + "@smithy/types": "^3.3.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/client-appsync/node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/client-appsync/node_modules/@smithy/util-retry": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-3.0.3.tgz", + "integrity": "sha512-AFw+hjpbtVApzpNDhbjNG5NA3kyoMs7vx0gsgmlJF4s+yz1Zlepde7J58zpIRIsdjc+emhpAITxA88qLkPF26w==", + "dependencies": { + "@smithy/service-error-classification": "^3.0.3", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/client-appsync/node_modules/@smithy/util-utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", + "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", + "dependencies": { + "@smithy/util-buffer-from": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/client-appsync/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", + "dependencies": { + "@smithy/is-array-buffer": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/client-cognito-identity": { "version": "3.621.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity-provider/-/client-cognito-identity-provider-3.621.0.tgz", - "integrity": "sha512-Tu2m18zW87gJwme6J74p/ZrfC5eJ3kv4yXpCAkfOz1JBO0vfxdoZIkkZ94G5tuCpiS5kljwS6GXpsKOojpVXcg==", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.621.0.tgz", + "integrity": "sha512-FpXia5qFf6ijcNDWenVq+mP9r1LbiW/+52i9wrv2+Afi6Nn1ROf8W7St8WvE9TEZ3t78y+vis4CwqfGts+uiKA==", "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", @@ -373,7 +414,18 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cognito-identity-provider/node_modules/@smithy/service-error-classification": { + "node_modules/@aws-sdk/client-cognito-identity/node_modules/@smithy/is-array-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/client-cognito-identity/node_modules/@smithy/service-error-classification": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.3.tgz", "integrity": "sha512-Jn39sSl8cim/VlkLsUhRFq/dKDnRUFlfRkvhOJaUbLBXUsLRLNf9WaxDv/z9BjuQ3A6k/qE8af1lsqcwm7+DaQ==", @@ -384,7 +436,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cognito-identity-provider/node_modules/@smithy/types": { + "node_modules/@aws-sdk/client-cognito-identity/node_modules/@smithy/types": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", @@ -395,7 +447,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cognito-identity-provider/node_modules/@smithy/util-retry": { + "node_modules/@aws-sdk/client-cognito-identity/node_modules/@smithy/util-retry": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-3.0.3.tgz", "integrity": "sha512-AFw+hjpbtVApzpNDhbjNG5NA3kyoMs7vx0gsgmlJF4s+yz1Zlepde7J58zpIRIsdjc+emhpAITxA88qLkPF26w==", @@ -408,35 +460,24 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cognito-identity/node_modules/@smithy/service-error-classification": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.3.tgz", - "integrity": "sha512-Jn39sSl8cim/VlkLsUhRFq/dKDnRUFlfRkvhOJaUbLBXUsLRLNf9WaxDv/z9BjuQ3A6k/qE8af1lsqcwm7+DaQ==", - "dependencies": { - "@smithy/types": "^3.3.0" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-cognito-identity/node_modules/@smithy/types": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", - "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "node_modules/@aws-sdk/client-cognito-identity/node_modules/@smithy/util-utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", + "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", "dependencies": { + "@smithy/util-buffer-from": "^3.0.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-cognito-identity/node_modules/@smithy/util-retry": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-3.0.3.tgz", - "integrity": "sha512-AFw+hjpbtVApzpNDhbjNG5NA3kyoMs7vx0gsgmlJF4s+yz1Zlepde7J58zpIRIsdjc+emhpAITxA88qLkPF26w==", + "node_modules/@aws-sdk/client-cognito-identity/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", "dependencies": { - "@smithy/service-error-classification": "^3.0.3", - "@smithy/types": "^3.3.0", + "@smithy/is-array-buffer": "^3.0.0", "tslib": "^2.6.2" }, "engines": { @@ -494,6 +535,17 @@ "node": ">=16.0.0" } }, + "node_modules/@aws-sdk/client-config-service/node_modules/@smithy/is-array-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@aws-sdk/client-config-service/node_modules/@smithy/service-error-classification": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.3.tgz", @@ -529,6 +581,30 @@ "node": ">=16.0.0" } }, + "node_modules/@aws-sdk/client-config-service/node_modules/@smithy/util-utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", + "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", + "dependencies": { + "@smithy/util-buffer-from": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/client-config-service/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", + "dependencies": { + "@smithy/is-array-buffer": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@aws-sdk/client-dynamodb-streams": { "version": "3.621.0", "resolved": "https://registry.npmjs.org/@aws-sdk/client-dynamodb-streams/-/client-dynamodb-streams-3.621.0.tgz", @@ -580,12 +656,23 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-dynamodb-streams/node_modules/@smithy/service-error-classification": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.3.tgz", - "integrity": "sha512-Jn39sSl8cim/VlkLsUhRFq/dKDnRUFlfRkvhOJaUbLBXUsLRLNf9WaxDv/z9BjuQ3A6k/qE8af1lsqcwm7+DaQ==", + "node_modules/@aws-sdk/client-dynamodb-streams/node_modules/@smithy/is-array-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", "dependencies": { - "@smithy/types": "^3.3.0" + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/client-dynamodb-streams/node_modules/@smithy/service-error-classification": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.3.tgz", + "integrity": "sha512-Jn39sSl8cim/VlkLsUhRFq/dKDnRUFlfRkvhOJaUbLBXUsLRLNf9WaxDv/z9BjuQ3A6k/qE8af1lsqcwm7+DaQ==", + "dependencies": { + "@smithy/types": "^3.3.0" }, "engines": { "node": ">=16.0.0" @@ -615,6 +702,30 @@ "node": ">=16.0.0" } }, + "node_modules/@aws-sdk/client-dynamodb-streams/node_modules/@smithy/util-utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", + "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", + "dependencies": { + "@smithy/util-buffer-from": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/client-dynamodb-streams/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", + "dependencies": { + "@smithy/is-array-buffer": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@aws-sdk/client-ec2": { "version": "3.621.0", "resolved": "https://registry.npmjs.org/@aws-sdk/client-ec2/-/client-ec2-3.621.0.tgz", @@ -669,6 +780,17 @@ "node": ">=16.0.0" } }, + "node_modules/@aws-sdk/client-ec2/node_modules/@smithy/is-array-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@aws-sdk/client-ec2/node_modules/@smithy/service-error-classification": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.3.tgz", @@ -704,16 +826,28 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-ec2/node_modules/uuid": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", - "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", - "funding": [ - "https://github.com/sponsors/broofa", - "https://github.com/sponsors/ctavan" - ], - "bin": { - "uuid": "dist/bin/uuid" + "node_modules/@aws-sdk/client-ec2/node_modules/@smithy/util-utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", + "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", + "dependencies": { + "@smithy/util-buffer-from": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/client-ec2/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", + "dependencies": { + "@smithy/is-array-buffer": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" } }, "node_modules/@aws-sdk/client-ecs": { @@ -769,6 +903,17 @@ "node": ">=16.0.0" } }, + "node_modules/@aws-sdk/client-ecs/node_modules/@smithy/is-array-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@aws-sdk/client-ecs/node_modules/@smithy/service-error-classification": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.3.tgz", @@ -804,16 +949,28 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-ecs/node_modules/uuid": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", - "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", - "funding": [ - "https://github.com/sponsors/broofa", - "https://github.com/sponsors/ctavan" - ], - "bin": { - "uuid": "dist/bin/uuid" + "node_modules/@aws-sdk/client-ecs/node_modules/@smithy/util-utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", + "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", + "dependencies": { + "@smithy/util-buffer-from": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/client-ecs/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", + "dependencies": { + "@smithy/is-array-buffer": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" } }, "node_modules/@aws-sdk/client-eks": { @@ -869,6 +1026,17 @@ "node": ">=16.0.0" } }, + "node_modules/@aws-sdk/client-eks/node_modules/@smithy/is-array-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@aws-sdk/client-eks/node_modules/@smithy/service-error-classification": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.3.tgz", @@ -904,16 +1072,28 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-eks/node_modules/uuid": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", - "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", - "funding": [ - "https://github.com/sponsors/broofa", - "https://github.com/sponsors/ctavan" - ], - "bin": { - "uuid": "dist/bin/uuid" + "node_modules/@aws-sdk/client-eks/node_modules/@smithy/util-utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", + "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", + "dependencies": { + "@smithy/util-buffer-from": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/client-eks/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", + "dependencies": { + "@smithy/is-array-buffer": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" } }, "node_modules/@aws-sdk/client-elastic-load-balancing": { @@ -1020,6 +1200,17 @@ "node": ">=16.0.0" } }, + "node_modules/@aws-sdk/client-elastic-load-balancing-v2/node_modules/@smithy/is-array-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@aws-sdk/client-elastic-load-balancing-v2/node_modules/@smithy/service-error-classification": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.3.tgz", @@ -1055,6 +1246,41 @@ "node": ">=16.0.0" } }, + "node_modules/@aws-sdk/client-elastic-load-balancing-v2/node_modules/@smithy/util-utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", + "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", + "dependencies": { + "@smithy/util-buffer-from": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/client-elastic-load-balancing-v2/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", + "dependencies": { + "@smithy/is-array-buffer": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/client-elastic-load-balancing/node_modules/@smithy/is-array-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@aws-sdk/client-elastic-load-balancing/node_modules/@smithy/service-error-classification": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.3.tgz", @@ -1090,6 +1316,30 @@ "node": ">=16.0.0" } }, + "node_modules/@aws-sdk/client-elastic-load-balancing/node_modules/@smithy/util-utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", + "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", + "dependencies": { + "@smithy/util-buffer-from": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/client-elastic-load-balancing/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", + "dependencies": { + "@smithy/is-array-buffer": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@aws-sdk/client-iam": { "version": "3.621.0", "resolved": "https://registry.npmjs.org/@aws-sdk/client-iam/-/client-iam-3.621.0.tgz", @@ -1142,6 +1392,17 @@ "node": ">=16.0.0" } }, + "node_modules/@aws-sdk/client-iam/node_modules/@smithy/is-array-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@aws-sdk/client-iam/node_modules/@smithy/service-error-classification": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.3.tgz", @@ -1177,6 +1438,30 @@ "node": ">=16.0.0" } }, + "node_modules/@aws-sdk/client-iam/node_modules/@smithy/util-utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", + "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", + "dependencies": { + "@smithy/util-buffer-from": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/client-iam/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", + "dependencies": { + "@smithy/is-array-buffer": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@aws-sdk/client-lambda": { "version": "3.621.0", "resolved": "https://registry.npmjs.org/@aws-sdk/client-lambda/-/client-lambda-3.621.0.tgz", @@ -1233,6 +1518,17 @@ "node": ">=16.0.0" } }, + "node_modules/@aws-sdk/client-lambda/node_modules/@smithy/is-array-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@aws-sdk/client-lambda/node_modules/@smithy/service-error-classification": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.3.tgz", @@ -1268,10 +1564,34 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-opensearch": { + "node_modules/@aws-sdk/client-lambda/node_modules/@smithy/util-utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", + "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", + "dependencies": { + "@smithy/util-buffer-from": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/client-lambda/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", + "dependencies": { + "@smithy/is-array-buffer": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/client-mediaconnect": { "version": "3.621.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-opensearch/-/client-opensearch-3.621.0.tgz", - "integrity": "sha512-zSPQ9uV6bPrhx2TYQlRyAWi+iGmDoEgFfuMvqfPQR3e9sZeBHukcnAnBTai08dhVWz27Z6paYXaLEN3y12J7IA==", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-mediaconnect/-/client-mediaconnect-3.621.0.tgz", + "integrity": "sha512-1EOZkGffiAlsJsXB5/kSvwDMtdyyv/ggg8+CeCtscQzobX1z9mVfeG0Zx7F4AxYbzd2w9732L3dJ170zg2/8Fg==", "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", @@ -1313,13 +1633,25 @@ "@smithy/util-middleware": "^3.0.3", "@smithy/util-retry": "^3.0.3", "@smithy/util-utf8": "^3.0.0", + "@smithy/util-waiter": "^3.1.2", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-opensearch/node_modules/@smithy/service-error-classification": { + "node_modules/@aws-sdk/client-mediaconnect/node_modules/@smithy/is-array-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/client-mediaconnect/node_modules/@smithy/service-error-classification": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.3.tgz", "integrity": "sha512-Jn39sSl8cim/VlkLsUhRFq/dKDnRUFlfRkvhOJaUbLBXUsLRLNf9WaxDv/z9BjuQ3A6k/qE8af1lsqcwm7+DaQ==", @@ -1330,7 +1662,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-opensearch/node_modules/@smithy/types": { + "node_modules/@aws-sdk/client-mediaconnect/node_modules/@smithy/types": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", @@ -1341,7 +1673,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-opensearch/node_modules/@smithy/util-retry": { + "node_modules/@aws-sdk/client-mediaconnect/node_modules/@smithy/util-retry": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-3.0.3.tgz", "integrity": "sha512-AFw+hjpbtVApzpNDhbjNG5NA3kyoMs7vx0gsgmlJF4s+yz1Zlepde7J58zpIRIsdjc+emhpAITxA88qLkPF26w==", @@ -1354,10 +1686,34 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-organizations": { + "node_modules/@aws-sdk/client-mediaconnect/node_modules/@smithy/util-utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", + "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", + "dependencies": { + "@smithy/util-buffer-from": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/client-mediaconnect/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", + "dependencies": { + "@smithy/is-array-buffer": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/client-opensearch": { "version": "3.621.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-organizations/-/client-organizations-3.621.0.tgz", - "integrity": "sha512-yzQPgzVDtDxhzdAVMlW95lyy2576OmVUs6xCNO10aalD3a6H4E1zwyX0o6/wLyLP0pVjCY+4uzmNtOb4Wann9g==", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-opensearch/-/client-opensearch-3.621.0.tgz", + "integrity": "sha512-zSPQ9uV6bPrhx2TYQlRyAWi+iGmDoEgFfuMvqfPQR3e9sZeBHukcnAnBTai08dhVWz27Z6paYXaLEN3y12J7IA==", "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", @@ -1405,7 +1761,18 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-organizations/node_modules/@smithy/service-error-classification": { + "node_modules/@aws-sdk/client-opensearch/node_modules/@smithy/is-array-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/client-opensearch/node_modules/@smithy/service-error-classification": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.3.tgz", "integrity": "sha512-Jn39sSl8cim/VlkLsUhRFq/dKDnRUFlfRkvhOJaUbLBXUsLRLNf9WaxDv/z9BjuQ3A6k/qE8af1lsqcwm7+DaQ==", @@ -1416,7 +1783,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-organizations/node_modules/@smithy/types": { + "node_modules/@aws-sdk/client-opensearch/node_modules/@smithy/types": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", @@ -1427,7 +1794,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-organizations/node_modules/@smithy/util-retry": { + "node_modules/@aws-sdk/client-opensearch/node_modules/@smithy/util-retry": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-3.0.3.tgz", "integrity": "sha512-AFw+hjpbtVApzpNDhbjNG5NA3kyoMs7vx0gsgmlJF4s+yz1Zlepde7J58zpIRIsdjc+emhpAITxA88qLkPF26w==", @@ -1440,10 +1807,34 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sns": { + "node_modules/@aws-sdk/client-opensearch/node_modules/@smithy/util-utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", + "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", + "dependencies": { + "@smithy/util-buffer-from": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/client-opensearch/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", + "dependencies": { + "@smithy/is-array-buffer": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/client-organizations": { "version": "3.621.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sns/-/client-sns-3.621.0.tgz", - "integrity": "sha512-E1Koulp6R7OstV1lmp2ZRN6BJ+iBUmPdA+4v98d4DMZPRES8OWrPIw9C74aMSiq8l2cLqxXt/2Q5gZlxUVWjIA==", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-organizations/-/client-organizations-3.621.0.tgz", + "integrity": "sha512-yzQPgzVDtDxhzdAVMlW95lyy2576OmVUs6xCNO10aalD3a6H4E1zwyX0o6/wLyLP0pVjCY+4uzmNtOb4Wann9g==", "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", @@ -1491,7 +1882,18 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sns/node_modules/@smithy/service-error-classification": { + "node_modules/@aws-sdk/client-organizations/node_modules/@smithy/is-array-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/client-organizations/node_modules/@smithy/service-error-classification": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.3.tgz", "integrity": "sha512-Jn39sSl8cim/VlkLsUhRFq/dKDnRUFlfRkvhOJaUbLBXUsLRLNf9WaxDv/z9BjuQ3A6k/qE8af1lsqcwm7+DaQ==", @@ -1502,7 +1904,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sns/node_modules/@smithy/types": { + "node_modules/@aws-sdk/client-organizations/node_modules/@smithy/types": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", @@ -1513,7 +1915,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sns/node_modules/@smithy/util-retry": { + "node_modules/@aws-sdk/client-organizations/node_modules/@smithy/util-retry": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-3.0.3.tgz", "integrity": "sha512-AFw+hjpbtVApzpNDhbjNG5NA3kyoMs7vx0gsgmlJF4s+yz1Zlepde7J58zpIRIsdjc+emhpAITxA88qLkPF26w==", @@ -1526,61 +1928,39 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sso": { - "version": "3.621.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.621.0.tgz", - "integrity": "sha512-xpKfikN4u0BaUYZA9FGUMkkDmfoIP0Q03+A86WjqDWhcOoqNA1DkHsE4kZ+r064ifkPUfcNuUvlkVTEoBZoFjA==", + "node_modules/@aws-sdk/client-organizations/node_modules/@smithy/util-utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", + "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", "dependencies": { - "@aws-crypto/sha256-browser": "5.2.0", - "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/core": "3.621.0", - "@aws-sdk/middleware-host-header": "3.620.0", - "@aws-sdk/middleware-logger": "3.609.0", - "@aws-sdk/middleware-recursion-detection": "3.620.0", - "@aws-sdk/middleware-user-agent": "3.620.0", - "@aws-sdk/region-config-resolver": "3.614.0", - "@aws-sdk/types": "3.609.0", - "@aws-sdk/util-endpoints": "3.614.0", - "@aws-sdk/util-user-agent-browser": "3.609.0", - "@aws-sdk/util-user-agent-node": "3.614.0", - "@smithy/config-resolver": "^3.0.5", - "@smithy/core": "^2.3.1", - "@smithy/fetch-http-handler": "^3.2.4", - "@smithy/hash-node": "^3.0.3", - "@smithy/invalid-dependency": "^3.0.3", - "@smithy/middleware-content-length": "^3.0.5", - "@smithy/middleware-endpoint": "^3.1.0", - "@smithy/middleware-retry": "^3.0.13", - "@smithy/middleware-serde": "^3.0.3", - "@smithy/middleware-stack": "^3.0.3", - "@smithy/node-config-provider": "^3.1.4", - "@smithy/node-http-handler": "^3.1.4", - "@smithy/protocol-http": "^4.1.0", - "@smithy/smithy-client": "^3.1.11", - "@smithy/types": "^3.3.0", - "@smithy/url-parser": "^3.0.3", - "@smithy/util-base64": "^3.0.0", - "@smithy/util-body-length-browser": "^3.0.0", - "@smithy/util-body-length-node": "^3.0.0", - "@smithy/util-defaults-mode-browser": "^3.0.13", - "@smithy/util-defaults-mode-node": "^3.0.13", - "@smithy/util-endpoints": "^2.0.5", - "@smithy/util-middleware": "^3.0.3", - "@smithy/util-retry": "^3.0.3", - "@smithy/util-utf8": "^3.0.0", + "@smithy/util-buffer-from": "^3.0.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sso-oidc": { + "node_modules/@aws-sdk/client-organizations/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", + "dependencies": { + "@smithy/is-array-buffer": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/client-service-catalog-appregistry": { "version": "3.621.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.621.0.tgz", - "integrity": "sha512-mMjk3mFUwV2Y68POf1BQMTF+F6qxt5tPu6daEUCNGC9Cenk3h2YXQQoS4/eSyYzuBiYk3vx49VgleRvdvkg8rg==", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-service-catalog-appregistry/-/client-service-catalog-appregistry-3.621.0.tgz", + "integrity": "sha512-AiqT3VNCOuG56MhZiG/UKFwgxKnz5FAOt/e2FSjf+Nt5Hefq9/4Whjf0uWByRYyI3IJhON2sVzbRz0pzyToeYA==", "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/client-sso-oidc": "3.621.0", + "@aws-sdk/client-sts": "3.621.0", "@aws-sdk/core": "3.621.0", "@aws-sdk/credential-provider-node": "3.621.0", "@aws-sdk/middleware-host-header": "3.620.0", @@ -1617,16 +1997,25 @@ "@smithy/util-middleware": "^3.0.3", "@smithy/util-retry": "^3.0.3", "@smithy/util-utf8": "^3.0.0", - "tslib": "^2.6.2" + "tslib": "^2.6.2", + "uuid": "^9.0.1" }, "engines": { "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/client-service-catalog-appregistry/node_modules/@smithy/is-array-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", + "dependencies": { + "tslib": "^2.6.2" }, - "peerDependencies": { - "@aws-sdk/client-sts": "^3.621.0" + "engines": { + "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/service-error-classification": { + "node_modules/@aws-sdk/client-service-catalog-appregistry/node_modules/@smithy/service-error-classification": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.3.tgz", "integrity": "sha512-Jn39sSl8cim/VlkLsUhRFq/dKDnRUFlfRkvhOJaUbLBXUsLRLNf9WaxDv/z9BjuQ3A6k/qE8af1lsqcwm7+DaQ==", @@ -1637,7 +2026,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/types": { + "node_modules/@aws-sdk/client-service-catalog-appregistry/node_modules/@smithy/types": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", @@ -1648,7 +2037,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/util-retry": { + "node_modules/@aws-sdk/client-service-catalog-appregistry/node_modules/@smithy/util-retry": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-3.0.3.tgz", "integrity": "sha512-AFw+hjpbtVApzpNDhbjNG5NA3kyoMs7vx0gsgmlJF4s+yz1Zlepde7J58zpIRIsdjc+emhpAITxA88qLkPF26w==", @@ -1661,49 +2050,39 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sso/node_modules/@smithy/service-error-classification": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.3.tgz", - "integrity": "sha512-Jn39sSl8cim/VlkLsUhRFq/dKDnRUFlfRkvhOJaUbLBXUsLRLNf9WaxDv/z9BjuQ3A6k/qE8af1lsqcwm7+DaQ==", - "dependencies": { - "@smithy/types": "^3.3.0" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sso/node_modules/@smithy/types": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", - "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "node_modules/@aws-sdk/client-service-catalog-appregistry/node_modules/@smithy/util-utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", + "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", "dependencies": { + "@smithy/util-buffer-from": "^3.0.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sso/node_modules/@smithy/util-retry": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-3.0.3.tgz", - "integrity": "sha512-AFw+hjpbtVApzpNDhbjNG5NA3kyoMs7vx0gsgmlJF4s+yz1Zlepde7J58zpIRIsdjc+emhpAITxA88qLkPF26w==", + "node_modules/@aws-sdk/client-service-catalog-appregistry/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", "dependencies": { - "@smithy/service-error-classification": "^3.0.3", - "@smithy/types": "^3.3.0", + "@smithy/is-array-buffer": "^3.0.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sts": { + "node_modules/@aws-sdk/client-sns": { "version": "3.621.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.621.0.tgz", - "integrity": "sha512-707uiuReSt+nAx6d0c21xLjLm2lxeKc7padxjv92CIrIocnQSlJPxSCM7r5zBhwiahJA6MNQwmTl2xznU67KgA==", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sns/-/client-sns-3.621.0.tgz", + "integrity": "sha512-E1Koulp6R7OstV1lmp2ZRN6BJ+iBUmPdA+4v98d4DMZPRES8OWrPIw9C74aMSiq8l2cLqxXt/2Q5gZlxUVWjIA==", "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", "@aws-sdk/client-sso-oidc": "3.621.0", + "@aws-sdk/client-sts": "3.621.0", "@aws-sdk/core": "3.621.0", "@aws-sdk/credential-provider-node": "3.621.0", "@aws-sdk/middleware-host-header": "3.620.0", @@ -1746,7 +2125,18 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sts/node_modules/@smithy/service-error-classification": { + "node_modules/@aws-sdk/client-sns/node_modules/@smithy/is-array-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/client-sns/node_modules/@smithy/service-error-classification": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.3.tgz", "integrity": "sha512-Jn39sSl8cim/VlkLsUhRFq/dKDnRUFlfRkvhOJaUbLBXUsLRLNf9WaxDv/z9BjuQ3A6k/qE8af1lsqcwm7+DaQ==", @@ -1757,7 +2147,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sts/node_modules/@smithy/types": { + "node_modules/@aws-sdk/client-sns/node_modules/@smithy/types": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", @@ -1768,7 +2158,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sts/node_modules/@smithy/util-retry": { + "node_modules/@aws-sdk/client-sns/node_modules/@smithy/util-retry": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-3.0.3.tgz", "integrity": "sha512-AFw+hjpbtVApzpNDhbjNG5NA3kyoMs7vx0gsgmlJF4s+yz1Zlepde7J58zpIRIsdjc+emhpAITxA88qLkPF26w==", @@ -1781,80 +2171,134 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/core": { - "version": "3.621.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.621.0.tgz", - "integrity": "sha512-CtOwWmDdEiINkGXD93iGfXjN0WmCp9l45cDWHHGa8lRgEDyhuL7bwd/pH5aSzj0j8SiQBG2k0S7DHbd5RaqvbQ==", + "node_modules/@aws-sdk/client-sns/node_modules/@smithy/util-utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", + "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", "dependencies": { - "@smithy/core": "^2.3.1", - "@smithy/node-config-provider": "^3.1.4", - "@smithy/protocol-http": "^4.1.0", - "@smithy/signature-v4": "^4.1.0", - "@smithy/smithy-client": "^3.1.11", - "@smithy/types": "^3.3.0", - "@smithy/util-middleware": "^3.0.3", - "fast-xml-parser": "4.4.1", + "@smithy/util-buffer-from": "^3.0.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/core/node_modules/@smithy/types": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", - "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "node_modules/@aws-sdk/client-sns/node_modules/@smithy/util-utf8/node_modules/@smithy/util-buffer-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", "dependencies": { + "@smithy/is-array-buffer": "^3.0.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-cognito-identity": { + "node_modules/@aws-sdk/client-sso": { "version": "3.621.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.621.0.tgz", - "integrity": "sha512-Q+3awvTVJSqIGRjCUQflRwKPKlZ0TfmL3EQHgFLhZZrToeBapEA62+FY+T70aTKAZZZZprlvYeFPtBloNd5ziA==", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.621.0.tgz", + "integrity": "sha512-xpKfikN4u0BaUYZA9FGUMkkDmfoIP0Q03+A86WjqDWhcOoqNA1DkHsE4kZ+r064ifkPUfcNuUvlkVTEoBZoFjA==", "dependencies": { - "@aws-sdk/client-cognito-identity": "3.621.0", + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "3.621.0", + "@aws-sdk/middleware-host-header": "3.620.0", + "@aws-sdk/middleware-logger": "3.609.0", + "@aws-sdk/middleware-recursion-detection": "3.620.0", + "@aws-sdk/middleware-user-agent": "3.620.0", + "@aws-sdk/region-config-resolver": "3.614.0", "@aws-sdk/types": "3.609.0", - "@smithy/property-provider": "^3.1.3", + "@aws-sdk/util-endpoints": "3.614.0", + "@aws-sdk/util-user-agent-browser": "3.609.0", + "@aws-sdk/util-user-agent-node": "3.614.0", + "@smithy/config-resolver": "^3.0.5", + "@smithy/core": "^2.3.1", + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/hash-node": "^3.0.3", + "@smithy/invalid-dependency": "^3.0.3", + "@smithy/middleware-content-length": "^3.0.5", + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-retry": "^3.0.13", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.1.11", "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.13", + "@smithy/util-defaults-mode-node": "^3.0.13", + "@smithy/util-endpoints": "^2.0.5", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "@smithy/util-utf8": "^3.0.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-cognito-identity/node_modules/@smithy/types": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", - "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-env": { - "version": "3.620.1", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.620.1.tgz", - "integrity": "sha512-ExuILJ2qLW5ZO+rgkNRj0xiAipKT16Rk77buvPP8csR7kkCflT/gXTyzRe/uzIiETTxM7tr8xuO9MP/DQXqkfg==", + "node_modules/@aws-sdk/client-sso-oidc": { + "version": "3.621.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.621.0.tgz", + "integrity": "sha512-mMjk3mFUwV2Y68POf1BQMTF+F6qxt5tPu6daEUCNGC9Cenk3h2YXQQoS4/eSyYzuBiYk3vx49VgleRvdvkg8rg==", "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "3.621.0", + "@aws-sdk/credential-provider-node": "3.621.0", + "@aws-sdk/middleware-host-header": "3.620.0", + "@aws-sdk/middleware-logger": "3.609.0", + "@aws-sdk/middleware-recursion-detection": "3.620.0", + "@aws-sdk/middleware-user-agent": "3.620.0", + "@aws-sdk/region-config-resolver": "3.614.0", "@aws-sdk/types": "3.609.0", - "@smithy/property-provider": "^3.1.3", + "@aws-sdk/util-endpoints": "3.614.0", + "@aws-sdk/util-user-agent-browser": "3.609.0", + "@aws-sdk/util-user-agent-node": "3.614.0", + "@smithy/config-resolver": "^3.0.5", + "@smithy/core": "^2.3.1", + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/hash-node": "^3.0.3", + "@smithy/invalid-dependency": "^3.0.3", + "@smithy/middleware-content-length": "^3.0.5", + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-retry": "^3.0.13", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.1.11", "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.13", + "@smithy/util-defaults-mode-node": "^3.0.13", + "@smithy/util-endpoints": "^2.0.5", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "@smithy/util-utf8": "^3.0.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" + }, + "peerDependencies": { + "@aws-sdk/client-sts": "^3.621.0" } }, - "node_modules/@aws-sdk/credential-provider-env/node_modules/@smithy/types": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", - "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/is-array-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", "dependencies": { "tslib": "^2.6.2" }, @@ -1862,26 +2306,18 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-http": { - "version": "3.621.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.621.0.tgz", - "integrity": "sha512-/jc2tEsdkT1QQAI5Dvoci50DbSxtJrevemwFsm0B73pwCcOQZ5ZwwSdVqGsPutzYzUVx3bcXg3LRL7jLACqRIg==", + "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/service-error-classification": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.3.tgz", + "integrity": "sha512-Jn39sSl8cim/VlkLsUhRFq/dKDnRUFlfRkvhOJaUbLBXUsLRLNf9WaxDv/z9BjuQ3A6k/qE8af1lsqcwm7+DaQ==", "dependencies": { - "@aws-sdk/types": "3.609.0", - "@smithy/fetch-http-handler": "^3.2.4", - "@smithy/node-http-handler": "^3.1.4", - "@smithy/property-provider": "^3.1.3", - "@smithy/protocol-http": "^4.1.0", - "@smithy/smithy-client": "^3.1.11", - "@smithy/types": "^3.3.0", - "@smithy/util-stream": "^3.1.3", - "tslib": "^2.6.2" + "@smithy/types": "^3.3.0" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/types": { + "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/types": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", @@ -1892,67 +2328,47 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-ini": { - "version": "3.621.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.621.0.tgz", - "integrity": "sha512-0EWVnSc+JQn5HLnF5Xv405M8n4zfdx9gyGdpnCmAmFqEDHA8LmBdxJdpUk1Ovp/I5oPANhjojxabIW5f1uU0RA==", + "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/util-buffer-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", "dependencies": { - "@aws-sdk/credential-provider-env": "3.620.1", - "@aws-sdk/credential-provider-http": "3.621.0", - "@aws-sdk/credential-provider-process": "3.620.1", - "@aws-sdk/credential-provider-sso": "3.621.0", - "@aws-sdk/credential-provider-web-identity": "3.621.0", - "@aws-sdk/types": "3.609.0", - "@smithy/credential-provider-imds": "^3.2.0", - "@smithy/property-provider": "^3.1.3", - "@smithy/shared-ini-file-loader": "^3.1.4", - "@smithy/types": "^3.3.0", + "@smithy/is-array-buffer": "^3.0.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" - }, - "peerDependencies": { - "@aws-sdk/client-sts": "^3.621.0" } }, - "node_modules/@aws-sdk/credential-provider-ini/node_modules/@smithy/types": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", - "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/util-retry": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-3.0.3.tgz", + "integrity": "sha512-AFw+hjpbtVApzpNDhbjNG5NA3kyoMs7vx0gsgmlJF4s+yz1Zlepde7J58zpIRIsdjc+emhpAITxA88qLkPF26w==", "dependencies": { + "@smithy/service-error-classification": "^3.0.3", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-node": { - "version": "3.621.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.621.0.tgz", - "integrity": "sha512-4JqpccUgz5Snanpt2+53hbOBbJQrSFq7E1sAAbgY6BKVQUsW5qyXqnjvSF32kDeKa5JpBl3bBWLZl04IadcPHw==", + "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/util-utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", + "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", "dependencies": { - "@aws-sdk/credential-provider-env": "3.620.1", - "@aws-sdk/credential-provider-http": "3.621.0", - "@aws-sdk/credential-provider-ini": "3.621.0", - "@aws-sdk/credential-provider-process": "3.620.1", - "@aws-sdk/credential-provider-sso": "3.621.0", - "@aws-sdk/credential-provider-web-identity": "3.621.0", - "@aws-sdk/types": "3.609.0", - "@smithy/credential-provider-imds": "^3.2.0", - "@smithy/property-provider": "^3.1.3", - "@smithy/shared-ini-file-loader": "^3.1.4", - "@smithy/types": "^3.3.0", + "@smithy/util-buffer-from": "^3.0.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-node/node_modules/@smithy/types": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", - "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "node_modules/@aws-sdk/client-sso/node_modules/@smithy/is-array-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", "dependencies": { "tslib": "^2.6.2" }, @@ -1960,22 +2376,18 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-process": { - "version": "3.620.1", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.620.1.tgz", - "integrity": "sha512-hWqFMidqLAkaV9G460+1at6qa9vySbjQKKc04p59OT7lZ5cO5VH5S4aI05e+m4j364MBROjjk2ugNvfNf/8ILg==", + "node_modules/@aws-sdk/client-sso/node_modules/@smithy/service-error-classification": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.3.tgz", + "integrity": "sha512-Jn39sSl8cim/VlkLsUhRFq/dKDnRUFlfRkvhOJaUbLBXUsLRLNf9WaxDv/z9BjuQ3A6k/qE8af1lsqcwm7+DaQ==", "dependencies": { - "@aws-sdk/types": "3.609.0", - "@smithy/property-provider": "^3.1.3", - "@smithy/shared-ini-file-loader": "^3.1.4", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" + "@smithy/types": "^3.3.0" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-process/node_modules/@smithy/types": { + "node_modules/@aws-sdk/client-sso/node_modules/@smithy/types": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", @@ -1986,55 +2398,97 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-sso": { - "version": "3.621.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.621.0.tgz", - "integrity": "sha512-Kza0jcFeA/GEL6xJlzR2KFf1PfZKMFnxfGzJzl5yN7EjoGdMijl34KaRyVnfRjnCWcsUpBWKNIDk9WZVMY9yiw==", + "node_modules/@aws-sdk/client-sso/node_modules/@smithy/util-buffer-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", "dependencies": { - "@aws-sdk/client-sso": "3.621.0", - "@aws-sdk/token-providers": "3.614.0", - "@aws-sdk/types": "3.609.0", - "@smithy/property-provider": "^3.1.3", - "@smithy/shared-ini-file-loader": "^3.1.4", - "@smithy/types": "^3.3.0", + "@smithy/is-array-buffer": "^3.0.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-sso/node_modules/@smithy/types": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", - "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "node_modules/@aws-sdk/client-sso/node_modules/@smithy/util-retry": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-3.0.3.tgz", + "integrity": "sha512-AFw+hjpbtVApzpNDhbjNG5NA3kyoMs7vx0gsgmlJF4s+yz1Zlepde7J58zpIRIsdjc+emhpAITxA88qLkPF26w==", "dependencies": { + "@smithy/service-error-classification": "^3.0.3", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-web-identity": { - "version": "3.621.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.621.0.tgz", - "integrity": "sha512-w7ASSyfNvcx7+bYGep3VBgC3K6vEdLmlpjT7nSIHxxQf+WSdvy+HynwJosrpZax0sK5q0D1Jpn/5q+r5lwwW6w==", - "dependencies": { + "node_modules/@aws-sdk/client-sso/node_modules/@smithy/util-utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", + "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", + "dependencies": { + "@smithy/util-buffer-from": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/client-sts": { + "version": "3.621.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.621.0.tgz", + "integrity": "sha512-707uiuReSt+nAx6d0c21xLjLm2lxeKc7padxjv92CIrIocnQSlJPxSCM7r5zBhwiahJA6MNQwmTl2xznU67KgA==", + "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/client-sso-oidc": "3.621.0", + "@aws-sdk/core": "3.621.0", + "@aws-sdk/credential-provider-node": "3.621.0", + "@aws-sdk/middleware-host-header": "3.620.0", + "@aws-sdk/middleware-logger": "3.609.0", + "@aws-sdk/middleware-recursion-detection": "3.620.0", + "@aws-sdk/middleware-user-agent": "3.620.0", + "@aws-sdk/region-config-resolver": "3.614.0", "@aws-sdk/types": "3.609.0", - "@smithy/property-provider": "^3.1.3", + "@aws-sdk/util-endpoints": "3.614.0", + "@aws-sdk/util-user-agent-browser": "3.609.0", + "@aws-sdk/util-user-agent-node": "3.614.0", + "@smithy/config-resolver": "^3.0.5", + "@smithy/core": "^2.3.1", + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/hash-node": "^3.0.3", + "@smithy/invalid-dependency": "^3.0.3", + "@smithy/middleware-content-length": "^3.0.5", + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-retry": "^3.0.13", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.1.11", "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.13", + "@smithy/util-defaults-mode-node": "^3.0.13", + "@smithy/util-endpoints": "^2.0.5", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "@smithy/util-utf8": "^3.0.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" - }, - "peerDependencies": { - "@aws-sdk/client-sts": "^3.621.0" } }, - "node_modules/@aws-sdk/credential-provider-web-identity/node_modules/@smithy/types": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", - "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "node_modules/@aws-sdk/client-sts/node_modules/@smithy/is-array-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", "dependencies": { "tslib": "^2.6.2" }, @@ -2042,33 +2496,18 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-providers": { - "version": "3.621.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.621.0.tgz", - "integrity": "sha512-FQbC7I8ae/72ZekLBa45jWJ+Q3d+YPhc3bW/rCks6RrldM6RgLTGr8pTOPCxHl828ky10RjkBiBmVU818rliyw==", + "node_modules/@aws-sdk/client-sts/node_modules/@smithy/service-error-classification": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.3.tgz", + "integrity": "sha512-Jn39sSl8cim/VlkLsUhRFq/dKDnRUFlfRkvhOJaUbLBXUsLRLNf9WaxDv/z9BjuQ3A6k/qE8af1lsqcwm7+DaQ==", "dependencies": { - "@aws-sdk/client-cognito-identity": "3.621.0", - "@aws-sdk/client-sso": "3.621.0", - "@aws-sdk/client-sts": "3.621.0", - "@aws-sdk/credential-provider-cognito-identity": "3.621.0", - "@aws-sdk/credential-provider-env": "3.620.1", - "@aws-sdk/credential-provider-http": "3.621.0", - "@aws-sdk/credential-provider-ini": "3.621.0", - "@aws-sdk/credential-provider-node": "3.621.0", - "@aws-sdk/credential-provider-process": "3.620.1", - "@aws-sdk/credential-provider-sso": "3.621.0", - "@aws-sdk/credential-provider-web-identity": "3.621.0", - "@aws-sdk/types": "3.609.0", - "@smithy/credential-provider-imds": "^3.2.0", - "@smithy/property-provider": "^3.1.3", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" + "@smithy/types": "^3.3.0" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-providers/node_modules/@smithy/types": { + "node_modules/@aws-sdk/client-sts/node_modules/@smithy/types": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", @@ -2079,13 +2518,24 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/middleware-host-header": { - "version": "3.620.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.620.0.tgz", - "integrity": "sha512-VMtPEZwqYrII/oUkffYsNWY9PZ9xpNJpMgmyU0rlDQ25O1c0Hk3fJmZRe6pEkAJ0omD7kLrqGl1DUjQVxpd/Rg==", + "node_modules/@aws-sdk/client-sts/node_modules/@smithy/util-buffer-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", "dependencies": { - "@aws-sdk/types": "3.609.0", - "@smithy/protocol-http": "^4.1.0", + "@smithy/is-array-buffer": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/client-sts/node_modules/@smithy/util-retry": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-3.0.3.tgz", + "integrity": "sha512-AFw+hjpbtVApzpNDhbjNG5NA3kyoMs7vx0gsgmlJF4s+yz1Zlepde7J58zpIRIsdjc+emhpAITxA88qLkPF26w==", + "dependencies": { + "@smithy/service-error-classification": "^3.0.3", "@smithy/types": "^3.3.0", "tslib": "^2.6.2" }, @@ -2093,31 +2543,38 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/middleware-host-header/node_modules/@smithy/types": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", - "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "node_modules/@aws-sdk/client-sts/node_modules/@smithy/util-utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", + "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", "dependencies": { + "@smithy/util-buffer-from": "^3.0.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/middleware-logger": { - "version": "3.609.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.609.0.tgz", - "integrity": "sha512-S62U2dy4jMDhDFDK5gZ4VxFdWzCtLzwbYyFZx2uvPYTECkepLUfzLic2BHg2Qvtu4QjX+oGE3P/7fwaGIsGNuQ==", + "node_modules/@aws-sdk/core": { + "version": "3.621.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.621.0.tgz", + "integrity": "sha512-CtOwWmDdEiINkGXD93iGfXjN0WmCp9l45cDWHHGa8lRgEDyhuL7bwd/pH5aSzj0j8SiQBG2k0S7DHbd5RaqvbQ==", "dependencies": { - "@aws-sdk/types": "3.609.0", + "@smithy/core": "^2.3.1", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/signature-v4": "^4.1.0", + "@smithy/smithy-client": "^3.1.11", "@smithy/types": "^3.3.0", + "@smithy/util-middleware": "^3.0.3", + "fast-xml-parser": "4.4.1", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/middleware-logger/node_modules/@smithy/types": { + "node_modules/@aws-sdk/core/node_modules/@smithy/types": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", @@ -2128,13 +2585,14 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/middleware-recursion-detection": { - "version": "3.620.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.620.0.tgz", - "integrity": "sha512-nh91S7aGK3e/o1ck64sA/CyoFw+gAYj2BDOnoNa6ouyCrVJED96ZXWbhye/fz9SgmNUZR2g7GdVpiLpMKZoI5w==", + "node_modules/@aws-sdk/credential-provider-cognito-identity": { + "version": "3.621.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.621.0.tgz", + "integrity": "sha512-Q+3awvTVJSqIGRjCUQflRwKPKlZ0TfmL3EQHgFLhZZrToeBapEA62+FY+T70aTKAZZZZprlvYeFPtBloNd5ziA==", "dependencies": { + "@aws-sdk/client-cognito-identity": "3.621.0", "@aws-sdk/types": "3.609.0", - "@smithy/protocol-http": "^4.1.0", + "@smithy/property-provider": "^3.1.3", "@smithy/types": "^3.3.0", "tslib": "^2.6.2" }, @@ -2142,7 +2600,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/middleware-recursion-detection/node_modules/@smithy/types": { + "node_modules/@aws-sdk/credential-provider-cognito-identity/node_modules/@smithy/types": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", @@ -2153,13 +2611,13 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/middleware-sdk-api-gateway": { - "version": "3.620.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-api-gateway/-/middleware-sdk-api-gateway-3.620.0.tgz", - "integrity": "sha512-JH8JzZb5CTry5Xit51jwyES8cqihaUWJVS3pcr5L73g8qLDUnvfg2IJJJ7pXs0hVAaCNjDs4L97DW3ity76CUA==", + "node_modules/@aws-sdk/credential-provider-env": { + "version": "3.620.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.620.1.tgz", + "integrity": "sha512-ExuILJ2qLW5ZO+rgkNRj0xiAipKT16Rk77buvPP8csR7kkCflT/gXTyzRe/uzIiETTxM7tr8xuO9MP/DQXqkfg==", "dependencies": { "@aws-sdk/types": "3.609.0", - "@smithy/protocol-http": "^4.1.0", + "@smithy/property-provider": "^3.1.3", "@smithy/types": "^3.3.0", "tslib": "^2.6.2" }, @@ -2167,7 +2625,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/middleware-sdk-api-gateway/node_modules/@smithy/types": { + "node_modules/@aws-sdk/credential-provider-env/node_modules/@smithy/types": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", @@ -2178,25 +2636,26 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/middleware-sdk-ec2": { + "node_modules/@aws-sdk/credential-provider-http": { "version": "3.621.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-ec2/-/middleware-sdk-ec2-3.621.0.tgz", - "integrity": "sha512-JL43dM6TZ922b6Z9jSt4bUoq9ZiTOwaw9F3Us0e6ZDcX6Su377+InUWtIqmtLfaTQhFo8FY6xmbpo0bPLMAxQA==", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.621.0.tgz", + "integrity": "sha512-/jc2tEsdkT1QQAI5Dvoci50DbSxtJrevemwFsm0B73pwCcOQZ5ZwwSdVqGsPutzYzUVx3bcXg3LRL7jLACqRIg==", "dependencies": { "@aws-sdk/types": "3.609.0", - "@aws-sdk/util-format-url": "3.609.0", - "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/property-provider": "^3.1.3", "@smithy/protocol-http": "^4.1.0", - "@smithy/signature-v4": "^4.1.0", "@smithy/smithy-client": "^3.1.11", "@smithy/types": "^3.3.0", + "@smithy/util-stream": "^3.1.3", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/middleware-sdk-ec2/node_modules/@smithy/types": { + "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/types": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", @@ -2207,22 +2666,31 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/middleware-user-agent": { - "version": "3.620.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.620.0.tgz", - "integrity": "sha512-bvS6etn+KsuL32ubY5D3xNof1qkenpbJXf/ugGXbg0n98DvDFQ/F+SMLxHgbnER5dsKYchNnhmtI6/FC3HFu/A==", + "node_modules/@aws-sdk/credential-provider-ini": { + "version": "3.621.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.621.0.tgz", + "integrity": "sha512-0EWVnSc+JQn5HLnF5Xv405M8n4zfdx9gyGdpnCmAmFqEDHA8LmBdxJdpUk1Ovp/I5oPANhjojxabIW5f1uU0RA==", "dependencies": { + "@aws-sdk/credential-provider-env": "3.620.1", + "@aws-sdk/credential-provider-http": "3.621.0", + "@aws-sdk/credential-provider-process": "3.620.1", + "@aws-sdk/credential-provider-sso": "3.621.0", + "@aws-sdk/credential-provider-web-identity": "3.621.0", "@aws-sdk/types": "3.609.0", - "@aws-sdk/util-endpoints": "3.614.0", - "@smithy/protocol-http": "^4.1.0", + "@smithy/credential-provider-imds": "^3.2.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", "@smithy/types": "^3.3.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" + }, + "peerDependencies": { + "@aws-sdk/client-sts": "^3.621.0" } }, - "node_modules/@aws-sdk/middleware-user-agent/node_modules/@smithy/types": { + "node_modules/@aws-sdk/credential-provider-ini/node_modules/@smithy/types": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", @@ -2233,23 +2701,29 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/region-config-resolver": { - "version": "3.614.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.614.0.tgz", - "integrity": "sha512-vDCeMXvic/LU0KFIUjpC3RiSTIkkvESsEfbVHiHH0YINfl8HnEqR5rj+L8+phsCeVg2+LmYwYxd5NRz4PHxt5g==", + "node_modules/@aws-sdk/credential-provider-node": { + "version": "3.621.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.621.0.tgz", + "integrity": "sha512-4JqpccUgz5Snanpt2+53hbOBbJQrSFq7E1sAAbgY6BKVQUsW5qyXqnjvSF32kDeKa5JpBl3bBWLZl04IadcPHw==", "dependencies": { + "@aws-sdk/credential-provider-env": "3.620.1", + "@aws-sdk/credential-provider-http": "3.621.0", + "@aws-sdk/credential-provider-ini": "3.621.0", + "@aws-sdk/credential-provider-process": "3.620.1", + "@aws-sdk/credential-provider-sso": "3.621.0", + "@aws-sdk/credential-provider-web-identity": "3.621.0", "@aws-sdk/types": "3.609.0", - "@smithy/node-config-provider": "^3.1.4", + "@smithy/credential-provider-imds": "^3.2.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", "@smithy/types": "^3.3.0", - "@smithy/util-config-provider": "^3.0.0", - "@smithy/util-middleware": "^3.0.3", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/region-config-resolver/node_modules/@smithy/types": { + "node_modules/@aws-sdk/credential-provider-node/node_modules/@smithy/types": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", @@ -2260,10 +2734,10 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/token-providers": { - "version": "3.614.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.614.0.tgz", - "integrity": "sha512-okItqyY6L9IHdxqs+Z116y5/nda7rHxLvROxtAJdLavWTYDydxrZstImNgGWTeVdmc0xX2gJCI77UYUTQWnhRw==", + "node_modules/@aws-sdk/credential-provider-process": { + "version": "3.620.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.620.1.tgz", + "integrity": "sha512-hWqFMidqLAkaV9G460+1at6qa9vySbjQKKc04p59OT7lZ5cO5VH5S4aI05e+m4j364MBROjjk2ugNvfNf/8ILg==", "dependencies": { "@aws-sdk/types": "3.609.0", "@smithy/property-provider": "^3.1.3", @@ -2273,12 +2747,9 @@ }, "engines": { "node": ">=16.0.0" - }, - "peerDependencies": { - "@aws-sdk/client-sso-oidc": "^3.614.0" } }, - "node_modules/@aws-sdk/token-providers/node_modules/@smithy/types": { + "node_modules/@aws-sdk/credential-provider-process/node_modules/@smithy/types": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", @@ -2289,11 +2760,16 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/types": { - "version": "3.609.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", - "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", + "node_modules/@aws-sdk/credential-provider-sso": { + "version": "3.621.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.621.0.tgz", + "integrity": "sha512-Kza0jcFeA/GEL6xJlzR2KFf1PfZKMFnxfGzJzl5yN7EjoGdMijl34KaRyVnfRjnCWcsUpBWKNIDk9WZVMY9yiw==", "dependencies": { + "@aws-sdk/client-sso": "3.621.0", + "@aws-sdk/token-providers": "3.614.0", + "@aws-sdk/types": "3.609.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", "@smithy/types": "^3.3.0", "tslib": "^2.6.2" }, @@ -2301,7 +2777,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/types/node_modules/@smithy/types": { + "node_modules/@aws-sdk/credential-provider-sso/node_modules/@smithy/types": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", @@ -2312,32 +2788,24 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/util-arn-parser": { - "version": "3.465.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.465.0.tgz", - "integrity": "sha512-zOJ82vzDJFqBX9yZBlNeHHrul/kpx/DCoxzW5UBbZeb26kfV53QhMSoEmY8/lEbBqlqargJ/sgRC845GFhHNQw==", - "dependencies": { - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/util-endpoints": { - "version": "3.614.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.614.0.tgz", - "integrity": "sha512-wK2cdrXHH4oz4IomV/yrGkftU9A+ITB6nFL+rxxyO78is2ifHJpFdV4aqk4LSkXYPi6CXWNru/Dqc7yiKXgJPw==", + "node_modules/@aws-sdk/credential-provider-web-identity": { + "version": "3.621.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.621.0.tgz", + "integrity": "sha512-w7ASSyfNvcx7+bYGep3VBgC3K6vEdLmlpjT7nSIHxxQf+WSdvy+HynwJosrpZax0sK5q0D1Jpn/5q+r5lwwW6w==", "dependencies": { "@aws-sdk/types": "3.609.0", + "@smithy/property-provider": "^3.1.3", "@smithy/types": "^3.3.0", - "@smithy/util-endpoints": "^2.0.5", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" + }, + "peerDependencies": { + "@aws-sdk/client-sts": "^3.621.0" } }, - "node_modules/@aws-sdk/util-endpoints/node_modules/@smithy/types": { + "node_modules/@aws-sdk/credential-provider-web-identity/node_modules/@smithy/types": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", @@ -2348,13 +2816,25 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/util-format-url": { - "version": "3.609.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-format-url/-/util-format-url-3.609.0.tgz", - "integrity": "sha512-fuk29BI/oLQlJ7pfm6iJ4gkEpHdavffAALZwXh9eaY1vQ0ip0aKfRTiNudPoJjyyahnz5yJ1HkmlcDitlzsOrQ==", + "node_modules/@aws-sdk/credential-providers": { + "version": "3.621.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.621.0.tgz", + "integrity": "sha512-FQbC7I8ae/72ZekLBa45jWJ+Q3d+YPhc3bW/rCks6RrldM6RgLTGr8pTOPCxHl828ky10RjkBiBmVU818rliyw==", "dependencies": { + "@aws-sdk/client-cognito-identity": "3.621.0", + "@aws-sdk/client-sso": "3.621.0", + "@aws-sdk/client-sts": "3.621.0", + "@aws-sdk/credential-provider-cognito-identity": "3.621.0", + "@aws-sdk/credential-provider-env": "3.620.1", + "@aws-sdk/credential-provider-http": "3.621.0", + "@aws-sdk/credential-provider-ini": "3.621.0", + "@aws-sdk/credential-provider-node": "3.621.0", + "@aws-sdk/credential-provider-process": "3.620.1", + "@aws-sdk/credential-provider-sso": "3.621.0", + "@aws-sdk/credential-provider-web-identity": "3.621.0", "@aws-sdk/types": "3.609.0", - "@smithy/querystring-builder": "^3.0.3", + "@smithy/credential-provider-imds": "^3.2.0", + "@smithy/property-provider": "^3.1.3", "@smithy/types": "^3.3.0", "tslib": "^2.6.2" }, @@ -2362,7 +2842,7 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/util-format-url/node_modules/@smithy/types": { + "node_modules/@aws-sdk/credential-providers/node_modules/@smithy/types": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", @@ -2373,29 +2853,45 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/util-locate-window": { - "version": "3.47.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.47.0.tgz", - "integrity": "sha512-ptZQQNDG4++Za8EEVs43rmKPnjnIvOnX0QvLQ5cc4Opu28CdYJL89tTt3rq5o+DgQhC+E5rYuLLdqTekYXXxJg==", + "node_modules/@aws-sdk/middleware-host-header": { + "version": "3.620.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.620.0.tgz", + "integrity": "sha512-VMtPEZwqYrII/oUkffYsNWY9PZ9xpNJpMgmyU0rlDQ25O1c0Hk3fJmZRe6pEkAJ0omD7kLrqGl1DUjQVxpd/Rg==", "dependencies": { - "tslib": "^2.3.0" + "@aws-sdk/types": "3.609.0", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">= 12.0.0" + "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/util-user-agent-browser": { + "node_modules/@aws-sdk/middleware-host-header/node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/middleware-logger": { "version": "3.609.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.609.0.tgz", - "integrity": "sha512-fojPU+mNahzQ0YHYBsx0ZIhmMA96H+ZIZ665ObU9tl+SGdbLneVZVikGve+NmHTQwHzwkFsZYYnVKAkreJLAtA==", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.609.0.tgz", + "integrity": "sha512-S62U2dy4jMDhDFDK5gZ4VxFdWzCtLzwbYyFZx2uvPYTECkepLUfzLic2BHg2Qvtu4QjX+oGE3P/7fwaGIsGNuQ==", "dependencies": { "@aws-sdk/types": "3.609.0", "@smithy/types": "^3.3.0", - "bowser": "^2.11.0", "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/util-user-agent-browser/node_modules/@smithy/types": { + "node_modules/@aws-sdk/middleware-logger/node_modules/@smithy/types": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", @@ -2406,29 +2902,21 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/util-user-agent-node": { - "version": "3.614.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.614.0.tgz", - "integrity": "sha512-15ElZT88peoHnq5TEoEtZwoXTXRxNrk60TZNdpl/TUBJ5oNJ9Dqb5Z4ryb8ofN6nm9aFf59GVAerFDz8iUoHBA==", + "node_modules/@aws-sdk/middleware-recursion-detection": { + "version": "3.620.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.620.0.tgz", + "integrity": "sha512-nh91S7aGK3e/o1ck64sA/CyoFw+gAYj2BDOnoNa6ouyCrVJED96ZXWbhye/fz9SgmNUZR2g7GdVpiLpMKZoI5w==", "dependencies": { "@aws-sdk/types": "3.609.0", - "@smithy/node-config-provider": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", "@smithy/types": "^3.3.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" - }, - "peerDependencies": { - "aws-crt": ">=1.0.0" - }, - "peerDependenciesMeta": { - "aws-crt": { - "optional": true - } } }, - "node_modules/@aws-sdk/util-user-agent-node/node_modules/@smithy/types": { + "node_modules/@aws-sdk/middleware-recursion-detection/node_modules/@smithy/types": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", @@ -2439,360 +2927,342 @@ "node": ">=16.0.0" } }, - "node_modules/@babel/compat-data": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.15.0.tgz", - "integrity": "sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA==", - "dev": true, + "node_modules/@aws-sdk/middleware-sdk-api-gateway": { + "version": "3.620.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-api-gateway/-/middleware-sdk-api-gateway-3.620.0.tgz", + "integrity": "sha512-JH8JzZb5CTry5Xit51jwyES8cqihaUWJVS3pcr5L73g8qLDUnvfg2IJJJ7pXs0hVAaCNjDs4L97DW3ity76CUA==", + "dependencies": { + "@aws-sdk/types": "3.609.0", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=6.9.0" + "node": ">=16.0.0" } }, - "node_modules/@babel/core": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.8.tgz", - "integrity": "sha512-3UG9dsxvYBMYwRv+gS41WKHno4K60/9GPy1CJaH6xy3Elq8CTtvtjT5R5jmNhXfCYLX2mTw+7/aq5ak/gOE0og==", - "dev": true, + "node_modules/@aws-sdk/middleware-sdk-api-gateway/node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", "dependencies": { - "@babel/code-frame": "^7.15.8", - "@babel/generator": "^7.15.8", - "@babel/helper-compilation-targets": "^7.15.4", - "@babel/helper-module-transforms": "^7.15.8", - "@babel/helpers": "^7.15.4", - "@babel/parser": "^7.15.8", - "@babel/template": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.6", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.1.2", - "semver": "^6.3.0", - "source-map": "^0.5.0" + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" + "node": ">=16.0.0" } }, - "node_modules/@babel/core/node_modules/@babel/code-frame": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.15.8.tgz", - "integrity": "sha512-2IAnmn8zbvC/jKYhq5Ki9I+DwjlrtMPUCH/CpHvqI4dNnlwHwsxoIhlc8WcYY5LSYknXQtAlFYuHfqAFCvQ4Wg==", - "dev": true, + "node_modules/@aws-sdk/middleware-sdk-ec2": { + "version": "3.621.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-ec2/-/middleware-sdk-ec2-3.621.0.tgz", + "integrity": "sha512-JL43dM6TZ922b6Z9jSt4bUoq9ZiTOwaw9F3Us0e6ZDcX6Su377+InUWtIqmtLfaTQhFo8FY6xmbpo0bPLMAxQA==", "dependencies": { - "@babel/highlight": "^7.14.5" + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-format-url": "3.609.0", + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/protocol-http": "^4.1.0", + "@smithy/signature-v4": "^4.1.0", + "@smithy/smithy-client": "^3.1.11", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.9.0" + "node": ">=16.0.0" } }, - "node_modules/@babel/generator": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", - "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", - "dev": true, + "node_modules/@aws-sdk/middleware-sdk-ec2/node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", "dependencies": { - "@babel/types": "^7.23.0", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.9.0" + "node": ">=16.0.0" } }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.4.tgz", - "integrity": "sha512-rMWPCirulnPSe4d+gwdWXLfAXTTBj8M3guAf5xFQJ0nvFY7tfNAFnWdqaHegHlgDZOCT4qvhF3BYlSJag8yhqQ==", - "dev": true, + "node_modules/@aws-sdk/middleware-user-agent": { + "version": "3.620.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.620.0.tgz", + "integrity": "sha512-bvS6etn+KsuL32ubY5D3xNof1qkenpbJXf/ugGXbg0n98DvDFQ/F+SMLxHgbnER5dsKYchNnhmtI6/FC3HFu/A==", "dependencies": { - "@babel/compat-data": "^7.15.0", - "@babel/helper-validator-option": "^7.14.5", - "browserslist": "^4.16.6", - "semver": "^6.3.0" + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.614.0", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "node": ">=16.0.0" } }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", - "dev": true, + "node_modules/@aws-sdk/middleware-user-agent/node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "dependencies": { + "tslib": "^2.6.2" + }, "engines": { - "node": ">=6.9.0" + "node": ">=16.0.0" } }, - "node_modules/@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", - "dev": true, + "node_modules/@aws-sdk/region-config-resolver": { + "version": "3.614.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.614.0.tgz", + "integrity": "sha512-vDCeMXvic/LU0KFIUjpC3RiSTIkkvESsEfbVHiHH0YINfl8HnEqR5rj+L8+phsCeVg2+LmYwYxd5NRz4PHxt5g==", "dependencies": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" + "@aws-sdk/types": "3.609.0", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/types": "^3.3.0", + "@smithy/util-config-provider": "^3.0.0", + "@smithy/util-middleware": "^3.0.3", + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.9.0" + "node": ">=16.0.0" } }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "dev": true, + "node_modules/@aws-sdk/region-config-resolver/node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", "dependencies": { - "@babel/types": "^7.22.5" + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.9.0" + "node": ">=16.0.0" } }, - "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.4.tgz", - "integrity": "sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA==", - "dev": true, + "node_modules/@aws-sdk/token-providers": { + "version": "3.614.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.614.0.tgz", + "integrity": "sha512-okItqyY6L9IHdxqs+Z116y5/nda7rHxLvROxtAJdLavWTYDydxrZstImNgGWTeVdmc0xX2gJCI77UYUTQWnhRw==", "dependencies": { - "@babel/types": "^7.15.4" + "@aws-sdk/types": "3.609.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.9.0" + "node": ">=16.0.0" + }, + "peerDependencies": { + "@aws-sdk/client-sso-oidc": "^3.614.0" } }, - "node_modules/@babel/helper-module-imports": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.15.4.tgz", - "integrity": "sha512-jeAHZbzUwdW/xHgHQ3QmWR4Jg6j15q4w/gCfwZvtqOxoo5DKtLHk8Bsf4c5RZRC7NmLEs+ohkdq8jFefuvIxAA==", - "dev": true, + "node_modules/@aws-sdk/token-providers/node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", "dependencies": { - "@babel/types": "^7.15.4" + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.9.0" + "node": ">=16.0.0" } }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.8.tgz", - "integrity": "sha512-DfAfA6PfpG8t4S6npwzLvTUpp0sS7JrcuaMiy1Y5645laRJIp/LiLGIBbQKaXSInK8tiGNI7FL7L8UvB8gdUZg==", - "dev": true, + "node_modules/@aws-sdk/types": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", + "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", "dependencies": { - "@babel/helper-module-imports": "^7.15.4", - "@babel/helper-replace-supers": "^7.15.4", - "@babel/helper-simple-access": "^7.15.4", - "@babel/helper-split-export-declaration": "^7.15.4", - "@babel/helper-validator-identifier": "^7.15.7", - "@babel/template": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.6" + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.9.0" + "node": ">=16.0.0" } }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.15.4.tgz", - "integrity": "sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw==", - "dev": true, + "node_modules/@aws-sdk/types/node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", "dependencies": { - "@babel/types": "^7.15.4" + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.9.0" + "node": ">=16.0.0" } }, - "node_modules/@babel/helper-replace-supers": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.4.tgz", - "integrity": "sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw==", - "dev": true, + "node_modules/@aws-sdk/util-arn-parser": { + "version": "3.568.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.568.0.tgz", + "integrity": "sha512-XUKJWWo+KOB7fbnPP0+g/o5Ulku/X53t7i/h+sPHr5xxYTJJ9CYnbToo95mzxe7xWvkLrsNtJ8L+MnNn9INs2w==", "dependencies": { - "@babel/helper-member-expression-to-functions": "^7.15.4", - "@babel/helper-optimise-call-expression": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.4" + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.9.0" + "node": ">=16.0.0" } }, - "node_modules/@babel/helper-simple-access": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.15.4.tgz", - "integrity": "sha512-UzazrDoIVOZZcTeHHEPYrr1MvTR/K+wgLg6MY6e1CJyaRhbibftF6fR2KU2sFRtI/nERUZR9fBd6aKgBlIBaPg==", - "dev": true, + "node_modules/@aws-sdk/util-endpoints": { + "version": "3.614.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.614.0.tgz", + "integrity": "sha512-wK2cdrXHH4oz4IomV/yrGkftU9A+ITB6nFL+rxxyO78is2ifHJpFdV4aqk4LSkXYPi6CXWNru/Dqc7yiKXgJPw==", "dependencies": { - "@babel/types": "^7.15.4" + "@aws-sdk/types": "3.609.0", + "@smithy/types": "^3.3.0", + "@smithy/util-endpoints": "^2.0.5", + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.9.0" + "node": ">=16.0.0" } }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", - "dev": true, + "node_modules/@aws-sdk/util-endpoints/node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", "dependencies": { - "@babel/types": "^7.22.5" + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.9.0" + "node": ">=16.0.0" } }, - "node_modules/@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", - "dev": true, + "node_modules/@aws-sdk/util-format-url": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-format-url/-/util-format-url-3.609.0.tgz", + "integrity": "sha512-fuk29BI/oLQlJ7pfm6iJ4gkEpHdavffAALZwXh9eaY1vQ0ip0aKfRTiNudPoJjyyahnz5yJ1HkmlcDitlzsOrQ==", + "dependencies": { + "@aws-sdk/types": "3.609.0", + "@smithy/querystring-builder": "^3.0.3", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=6.9.0" + "node": ">=16.0.0" } }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", - "dev": true, + "node_modules/@aws-sdk/util-format-url/node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "dependencies": { + "tslib": "^2.6.2" + }, "engines": { - "node": ">=6.9.0" + "node": ">=16.0.0" } }, - "node_modules/@babel/helper-validator-option": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz", - "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==", - "dev": true, + "node_modules/@aws-sdk/util-locate-window": { + "version": "3.47.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.47.0.tgz", + "integrity": "sha512-ptZQQNDG4++Za8EEVs43rmKPnjnIvOnX0QvLQ5cc4Opu28CdYJL89tTt3rq5o+DgQhC+E5rYuLLdqTekYXXxJg==", + "dependencies": { + "tslib": "^2.3.0" + }, "engines": { - "node": ">=6.9.0" + "node": ">= 12.0.0" } }, - "node_modules/@babel/helpers": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.4.tgz", - "integrity": "sha512-V45u6dqEJ3w2rlryYYXf6i9rQ5YMNu4FLS6ngs8ikblhu2VdR1AqAd6aJjBzmf2Qzh6KOLqKHxEN9+TFbAkAVQ==", - "dev": true, + "node_modules/@aws-sdk/util-user-agent-browser": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.609.0.tgz", + "integrity": "sha512-fojPU+mNahzQ0YHYBsx0ZIhmMA96H+ZIZ665ObU9tl+SGdbLneVZVikGve+NmHTQwHzwkFsZYYnVKAkreJLAtA==", "dependencies": { - "@babel/template": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.4" - }, - "engines": { - "node": ">=6.9.0" + "@aws-sdk/types": "3.609.0", + "@smithy/types": "^3.3.0", + "bowser": "^2.11.0", + "tslib": "^2.6.2" } }, - "node_modules/@babel/highlight": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", - "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", - "dev": true, + "node_modules/@aws-sdk/util-user-agent-browser/node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", "dependencies": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.9.0" + "node": ">=16.0.0" } }, - "node_modules/@babel/parser": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", - "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", - "dev": true, - "bin": { - "parser": "bin/babel-parser.js" + "node_modules/@aws-sdk/util-user-agent-node": { + "version": "3.614.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.614.0.tgz", + "integrity": "sha512-15ElZT88peoHnq5TEoEtZwoXTXRxNrk60TZNdpl/TUBJ5oNJ9Dqb5Z4ryb8ofN6nm9aFf59GVAerFDz8iUoHBA==", + "dependencies": { + "@aws-sdk/types": "3.609.0", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.0.0" + "node": ">=16.0.0" + }, + "peerDependencies": { + "aws-crt": ">=1.0.0" + }, + "peerDependenciesMeta": { + "aws-crt": { + "optional": true + } } }, - "node_modules/@babel/template": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", - "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", - "dev": true, + "node_modules/@aws-sdk/util-user-agent-node/node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/parser": "^7.22.15", - "@babel/types": "^7.22.15" + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.9.0" + "node": ">=16.0.0" } }, - "node_modules/@babel/template/node_modules/@babel/code-frame": { - "version": "7.22.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", - "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", + "node_modules/@babel/helper-string-parser": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.7.tgz", + "integrity": "sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==", "dev": true, - "dependencies": { - "@babel/highlight": "^7.22.13", - "chalk": "^2.4.2" - }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/traverse": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", - "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", + "node_modules/@babel/helper-validator-identifier": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", "dev": true, - "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.23.0", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.0", - "@babel/types": "^7.23.0", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/traverse/node_modules/@babel/code-frame": { - "version": "7.22.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", - "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", + "node_modules/@babel/parser": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.7.tgz", + "integrity": "sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==", "dev": true, - "dependencies": { - "@babel/highlight": "^7.22.13", - "chalk": "^2.4.2" + "bin": { + "parser": "bin/babel-parser.js" }, "engines": { - "node": ">=6.9.0" + "node": ">=6.0.0" } }, "node_modules/@babel/types": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", - "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.7.tgz", + "integrity": "sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==", "dev": true, "dependencies": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.20", + "@babel/helper-string-parser": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7", "to-fast-properties": "^2.0.0" }, "engines": { "node": ">=6.9.0" } }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true + }, "node_modules/@dabh/diagnostics": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.2.tgz", @@ -2803,318 +3273,666 @@ "kuler": "^2.0.0" } }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "node_modules/@esbuild/aix-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", + "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", + "cpu": [ + "ppc64" + ], "dev": true, - "dependencies": { - "eslint-visitor-keys": "^3.3.0" - }, + "optional": true, + "os": [ + "aix" + ], "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + "node": ">=12" } }, - "node_modules/@eslint-community/regexpp": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.9.1.tgz", - "integrity": "sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==", + "node_modules/@esbuild/android-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", + "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", + "cpu": [ + "arm" + ], "dev": true, + "optional": true, + "os": [ + "android" + ], "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + "node": ">=12" } }, - "node_modules/@eslint/eslintrc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", - "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", + "node_modules/@esbuild/android-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", + "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, + "optional": true, + "os": [ + "android" + ], "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": ">=12" } }, - "node_modules/@eslint/eslintrc/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/@eslint/eslintrc/node_modules/globals": { - "version": "13.23.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", - "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", + "node_modules/@esbuild/android-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", + "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=12" } }, - "node_modules/@eslint/eslintrc/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==", + "node_modules/@esbuild/darwin-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", + "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" } }, - "node_modules/@eslint/eslintrc/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==", + "node_modules/@esbuild/darwin-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", + "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", + "cpu": [ + "x64" + ], "dev": true, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=12" } }, - "node_modules/@eslint/js": { - "version": "8.51.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.51.0.tgz", - "integrity": "sha512-HxjQ8Qn+4SI3/AFv6sOrDB+g6PpUTDwSJiQqOrnneEk8L71161srI9gjzzZvYVbzHiVg/BvcH95+cK/zfIt4pg==", + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", + "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", + "cpu": [ + "arm64" + ], "dev": true, + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=12" } }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.11.13", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", - "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==", + "node_modules/@esbuild/freebsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", + "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "@humanwhocodes/object-schema": "^2.0.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" - }, + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">=10.10.0" + "node": ">=12" } }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "node_modules/@esbuild/linux-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", + "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", + "cpu": [ + "arm" + ], "dev": true, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" + "node": ">=12" } }, - "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz", - "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==", - "dev": true - }, - "node_modules/@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "node_modules/@esbuild/linux-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", + "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "node_modules/@esbuild/linux-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", + "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", + "cpu": [ + "ia32" + ], "dev": true, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6" + "node": ">=12" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "node_modules/@esbuild/linux-loong64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", + "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", + "cpu": [ + "loong64" + ], "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "node_modules/@esbuild/linux-mips64el": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", + "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", + "cpu": [ + "mips64el" + ], "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "node_modules/@esbuild/linux-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", + "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", + "cpu": [ + "ppc64" + ], "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=12" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "node_modules/@esbuild/linux-riscv64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", + "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", + "cpu": [ + "riscv64" + ], "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "node_modules/@esbuild/linux-s390x": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", + "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", + "cpu": [ + "s390x" + ], "dev": true, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "node_modules/@esbuild/linux-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", + "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", + "cpu": [ + "x64" + ], "dev": true, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "node_modules/@esbuild/netbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", + "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - }, + "optional": true, + "os": [ + "netbsd" + ], "engines": { - "node": ">=6.0.0" + "node": ">=12" } }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", - "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "node_modules/@esbuild/openbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", + "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", + "cpu": [ + "x64" + ], "dev": true, + "optional": true, + "os": [ + "openbsd" + ], "engines": { - "node": ">=6.0.0" + "node": ">=12" } }, - "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "node_modules/@esbuild/sunos-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", + "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", + "cpu": [ + "x64" + ], "dev": true, + "optional": true, + "os": [ + "sunos" + ], "engines": { - "node": ">=6.0.0" + "node": ">=12" } }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "dev": true + "node_modules/@esbuild/win32-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", + "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.20", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", - "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", + "node_modules/@esbuild/win32-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", + "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", + "cpu": [ + "ia32" + ], "dev": true, - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" } }, - "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==", + "node_modules/@esbuild/win32-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", + "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", "dev": true, "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" }, "engines": { - "node": ">= 8" + "node": ">=12" } }, - "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==", + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", "dev": true, "engines": { - "node": ">= 8" + "node": ">=8" } }, - "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==", + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", "dev": true, "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { - "node": ">= 8" + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=14" } }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.22.4.tgz", + "integrity": "sha512-Fxamp4aEZnfPOcGA8KSNEohV8hX7zVHOemC8jVBoBUHu5zpJK/Eu3uJwt6BMgy9fkvzxDaurgj96F/NiLukF2w==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.22.4.tgz", + "integrity": "sha512-VXoK5UMrgECLYaMuGuVTOx5kcuap1Jm8g/M83RnCHBKOqvPPmROFJGQaZhGccnsFtfXQ3XYa4/jMCJvZnbJBdA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.22.4.tgz", + "integrity": "sha512-xMM9ORBqu81jyMKCDP+SZDhnX2QEVQzTcC6G18KlTQEzWK8r/oNZtKuZaCcHhnsa6fEeOBionoyl5JsAbE/36Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.22.4.tgz", + "integrity": "sha512-aJJyYKQwbHuhTUrjWjxEvGnNNBCnmpHDvrb8JFDbeSH3m2XdHcxDd3jthAzvmoI8w/kSjd2y0udT+4okADsZIw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.22.4.tgz", + "integrity": "sha512-j63YtCIRAzbO+gC2L9dWXRh5BFetsv0j0va0Wi9epXDgU/XUi5dJKo4USTttVyK7fGw2nPWK0PbAvyliz50SCQ==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.22.4.tgz", + "integrity": "sha512-dJnWUgwWBX1YBRsuKKMOlXCzh2Wu1mlHzv20TpqEsfdZLb3WoJW2kIEsGwLkroYf24IrPAvOT/ZQ2OYMV6vlrg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.22.4.tgz", + "integrity": "sha512-AdPRoNi3NKVLolCN/Sp4F4N1d98c4SBnHMKoLuiG6RXgoZ4sllseuGioszumnPGmPM2O7qaAX/IJdeDU8f26Aw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.22.4.tgz", + "integrity": "sha512-Gl0AxBtDg8uoAn5CCqQDMqAx22Wx22pjDOjBdmG0VIWX3qUBHzYmOKh8KXHL4UpogfJ14G4wk16EQogF+v8hmA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.22.4.tgz", + "integrity": "sha512-3aVCK9xfWW1oGQpTsYJJPF6bfpWfhbRnhdlyhak2ZiyFLDaayz0EP5j9V1RVLAAxlmWKTDfS9wyRyY3hvhPoOg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.22.4.tgz", + "integrity": "sha512-ePYIir6VYnhgv2C5Xe9u+ico4t8sZWXschR6fMgoPUK31yQu7hTEJb7bCqivHECwIClJfKgE7zYsh1qTP3WHUA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.22.4.tgz", + "integrity": "sha512-GqFJ9wLlbB9daxhVlrTe61vJtEY99/xB3C8e4ULVsVfflcpmR6c8UZXjtkMA6FhNONhj2eA5Tk9uAVw5orEs4Q==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.22.4.tgz", + "integrity": "sha512-87v0ol2sH9GE3cLQLNEy0K/R0pz1nvg76o8M5nhMR0+Q+BBGLnb35P0fVz4CQxHYXaAOhE8HhlkaZfsdUOlHwg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.22.4.tgz", + "integrity": "sha512-UV6FZMUgePDZrFjrNGIWzDo/vABebuXBhJEqrHxrGiU6HikPy0Z3LfdtciIttEUQfuDdCn8fqh7wiFJjCNwO+g==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.22.4.tgz", + "integrity": "sha512-BjI+NVVEGAXjGWYHz/vv0pBqfGoUH0IGZ0cICTn7kB9PyjrATSkX+8WkguNjWoj2qSr1im/+tTGRaY+4/PdcQw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.22.4.tgz", + "integrity": "sha512-SiWG/1TuUdPvYmzmYnmd3IEifzR61Tragkbx9D3+R8mzQqDBz8v+BvZNDlkiTtI9T15KYZhP0ehn3Dld4n9J5g==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.22.4.tgz", + "integrity": "sha512-j8pPKp53/lq9lMXN57S8cFz0MynJk8OWNuUnXct/9KCpKU7DgU3bYMJhwWmcqC0UU29p8Lr0/7KEVcaM6bf47Q==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, "node_modules/@sinonjs/commons": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", @@ -3417,6 +4235,17 @@ "node": ">=16.0.0" } }, + "node_modules/@smithy/hash-node/node_modules/@smithy/is-array-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@smithy/hash-node/node_modules/@smithy/types": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", @@ -3428,6 +4257,30 @@ "node": ">=16.0.0" } }, + "node_modules/@smithy/hash-node/node_modules/@smithy/util-buffer-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", + "dependencies": { + "@smithy/is-array-buffer": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/hash-node/node_modules/@smithy/util-utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", + "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", + "dependencies": { + "@smithy/util-buffer-from": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@smithy/invalid-dependency": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-3.0.3.tgz", @@ -3449,14 +4302,14 @@ } }, "node_modules/@smithy/is-array-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", - "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz", + "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==", "dependencies": { "tslib": "^2.6.2" }, "engines": { - "node": ">=16.0.0" + "node": ">=14.0.0" } }, "node_modules/@smithy/middleware-content-length": { @@ -3565,18 +4418,6 @@ "node": ">=16.0.0" } }, - "node_modules/@smithy/middleware-retry/node_modules/uuid": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", - "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", - "funding": [ - "https://github.com/sponsors/broofa", - "https://github.com/sponsors/ctavan" - ], - "bin": { - "uuid": "dist/bin/uuid" - } - }, "node_modules/@smithy/middleware-serde": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-3.0.3.tgz", @@ -3768,11 +4609,11 @@ } }, "node_modules/@smithy/service-error-classification": { - "version": "2.0.9", - "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-2.0.9.tgz", - "integrity": "sha512-0K+8GvtwI7VkGmmInPydM2XZyBfIqLIbfR7mDQ+oPiz8mIinuHbV6sxOLdvX1Jv/myk7XTK9orgt3tuEpBu/zg==", + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-2.1.5.tgz", + "integrity": "sha512-uBDTIBBEdAQryvHdc5W8sS5YX7RQzF683XrHePVdFmAgKiMofU15FLSM0/HU03hKTnazdNRFa0YHS7+ArwoUSQ==", "dependencies": { - "@smithy/types": "^2.8.0" + "@smithy/types": "^2.12.0" }, "engines": { "node": ">=14.0.0" @@ -3819,6 +4660,17 @@ "node": ">=16.0.0" } }, + "node_modules/@smithy/signature-v4/node_modules/@smithy/is-array-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@smithy/signature-v4/node_modules/@smithy/types": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", @@ -3830,6 +4682,30 @@ "node": ">=16.0.0" } }, + "node_modules/@smithy/signature-v4/node_modules/@smithy/util-buffer-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", + "dependencies": { + "@smithy/is-array-buffer": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/signature-v4/node_modules/@smithy/util-utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", + "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", + "dependencies": { + "@smithy/util-buffer-from": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@smithy/smithy-client": { "version": "3.1.11", "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-3.1.11.tgz", @@ -3858,11 +4734,11 @@ } }, "node_modules/@smithy/types": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-2.8.0.tgz", - "integrity": "sha512-h9sz24cFgt/W1Re22OlhQKmUZkNh244ApgRsUDYinqF8R+QgcsBIX344u2j61TPshsTz3CvL6HYU1DnQdsSrHA==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-2.12.0.tgz", + "integrity": "sha512-QwYgloJ0sVNBeBuBs65cIkTbfzV/Q6ZNPCJ99EICFEdJYG50nGIY/uYXp+TbsdJReIuPr0a0kXmCvren3MbRRw==", "dependencies": { - "tslib": "^2.5.0" + "tslib": "^2.6.2" }, "engines": { "node": ">=14.0.0" @@ -3902,6 +4778,41 @@ "node": ">=16.0.0" } }, + "node_modules/@smithy/util-base64/node_modules/@smithy/is-array-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-base64/node_modules/@smithy/util-buffer-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", + "dependencies": { + "@smithy/is-array-buffer": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-base64/node_modules/@smithy/util-utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", + "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", + "dependencies": { + "@smithy/util-buffer-from": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@smithy/util-body-length-browser": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-3.0.0.tgz", @@ -3922,15 +4833,15 @@ } }, "node_modules/@smithy/util-buffer-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", - "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz", + "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==", "dependencies": { - "@smithy/is-array-buffer": "^3.0.0", + "@smithy/is-array-buffer": "^2.2.0", "tslib": "^2.6.2" }, "engines": { - "node": ">=16.0.0" + "node": ">=14.0.0" } }, "node_modules/@smithy/util-config-provider": { @@ -4087,6 +4998,17 @@ "node": ">=16.0.0" } }, + "node_modules/@smithy/util-stream/node_modules/@smithy/is-array-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@smithy/util-stream/node_modules/@smithy/types": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", @@ -4098,18 +5020,19 @@ "node": ">=16.0.0" } }, - "node_modules/@smithy/util-uri-escape": { + "node_modules/@smithy/util-stream/node_modules/@smithy/util-buffer-from": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-3.0.0.tgz", - "integrity": "sha512-LqR7qYLgZTD7nWLBecUi4aqolw8Mhza9ArpNEQ881MJJIU2sE5iHCK6TdyqqzcDLy0OPe10IY4T8ctVdtynubg==", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", "dependencies": { + "@smithy/is-array-buffer": "^3.0.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@smithy/util-utf8": { + "node_modules/@smithy/util-stream/node_modules/@smithy/util-utf8": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", @@ -4121,6 +5044,29 @@ "node": ">=16.0.0" } }, + "node_modules/@smithy/util-uri-escape": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-3.0.0.tgz", + "integrity": "sha512-LqR7qYLgZTD7nWLBecUi4aqolw8Mhza9ArpNEQ881MJJIU2sE5iHCK6TdyqqzcDLy0OPe10IY4T8ctVdtynubg==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-utf8": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz", + "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==", + "dependencies": { + "@smithy/util-buffer-from": "^2.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, "node_modules/@smithy/util-waiter": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/@smithy/util-waiter/-/util-waiter-3.1.2.tgz", @@ -4153,6 +5099,12 @@ "node": ">=8" } }, + "node_modules/@types/estree": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", + "dev": true + }, "node_modules/@types/sinon": { "version": "10.0.20", "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-10.0.20.tgz", @@ -4168,133 +5120,191 @@ "integrity": "sha512-mQkU2jY8jJEF7YHjHvsQO8+3ughTL1mcnn96igfhONmR+fUPSKIkefQYpSe8bsly2Ep7oQbn/6VG5/9/0qcArQ==", "dev": true }, - "node_modules/acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", - "dev": true, - "bin": { - "acorn": "bin/acorn" + "node_modules/@vitest/coverage-v8": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-2.1.1.tgz", + "integrity": "sha512-md/A7A3c42oTT8JUHSqjP5uKTWJejzUW4jalpvs+rZ27gsURsMU8DEb+8Jf8C6Kj2gwfSHJqobDNBuoqlm0cFw==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.3.0", + "@bcoe/v8-coverage": "^0.2.3", + "debug": "^4.3.6", + "istanbul-lib-coverage": "^3.2.2", + "istanbul-lib-report": "^3.0.1", + "istanbul-lib-source-maps": "^5.0.6", + "istanbul-reports": "^3.1.7", + "magic-string": "^0.30.11", + "magicast": "^0.3.4", + "std-env": "^3.7.0", + "test-exclude": "^7.0.1", + "tinyrainbow": "^1.2.0" }, - "engines": { - "node": ">=0.4.0" + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@vitest/browser": "2.1.1", + "vitest": "2.1.1" + }, + "peerDependenciesMeta": { + "@vitest/browser": { + "optional": true + } } }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "node_modules/@vitest/expect": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-2.1.1.tgz", + "integrity": "sha512-YeueunS0HiHiQxk+KEOnq/QMzlUuOzbU1Go+PgAsHvvv3tUkJPm9xWt+6ITNTlzsMXUjmgm5T+U7KBPK2qQV6w==", "dev": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + "dependencies": { + "@vitest/spy": "2.1.1", + "@vitest/utils": "2.1.1", + "chai": "^5.1.1", + "tinyrainbow": "^1.2.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" } }, - "node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "node_modules/@vitest/mocker": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-2.1.1.tgz", + "integrity": "sha512-LNN5VwOEdJqCmJ/2XJBywB11DLlkbY0ooDJW3uRX5cZyYCrc4PI/ePX0iQhE3BiEGiQmK4GE7Q/PqCkkaiPnrA==", "dev": true, "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" + "@vitest/spy": "^2.1.0-beta.1", + "estree-walker": "^3.0.3", + "magic-string": "^0.30.11" }, - "engines": { - "node": ">=8" + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@vitest/spy": "2.1.1", + "msw": "^2.3.5", + "vite": "^5.0.0" + }, + "peerDependenciesMeta": { + "msw": { + "optional": true + }, + "vite": { + "optional": true + } } }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "node_modules/@vitest/pretty-format": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-2.1.1.tgz", + "integrity": "sha512-SjxPFOtuINDUW8/UkElJYQSFtnWX7tMksSGW0vfjxMneFqxVr8YJ979QpMbDW7g+BIiq88RAGDjf7en6rvLPPQ==", "dev": true, "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" + "tinyrainbow": "^1.2.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "url": "https://opencollective.com/vitest" } }, - "node_modules/ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "node_modules/@vitest/runner": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-2.1.1.tgz", + "integrity": "sha512-uTPuY6PWOYitIkLPidaY5L3t0JJITdGTSwBtwMjKzo5O6RCOEncz9PUN+0pDidX8kTHYjO0EwUIvhlGpnGpxmA==", "dev": true, - "engines": { - "node": ">=6" + "dependencies": { + "@vitest/utils": "2.1.1", + "pathe": "^1.1.2" + }, + "funding": { + "url": "https://opencollective.com/vitest" } }, - "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==", + "node_modules/@vitest/snapshot": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-2.1.1.tgz", + "integrity": "sha512-BnSku1WFy7r4mm96ha2FzN99AZJgpZOWrAhtQfoxjUU5YMRpq1zmHRq7a5K9/NjqonebO7iVDla+VvZS8BOWMw==", "dev": true, - "engines": { - "node": ">=8" + "dependencies": { + "@vitest/pretty-format": "2.1.1", + "magic-string": "^0.30.11", + "pathe": "^1.1.2" + }, + "funding": { + "url": "https://opencollective.com/vitest" } }, - "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==", + "node_modules/@vitest/spy": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-2.1.1.tgz", + "integrity": "sha512-ZM39BnZ9t/xZ/nF4UwRH5il0Sw93QnZXd9NAZGRpIgj0yvVwPpLd702s/Cx955rGaMlyBQkZJ2Ir7qyY48VZ+g==", "dev": true, "dependencies": { - "color-convert": "^1.9.0" + "tinyspy": "^3.0.0" }, - "engines": { - "node": ">=4" + "funding": { + "url": "https://opencollective.com/vitest" } }, - "node_modules/anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "node_modules/@vitest/utils": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-2.1.1.tgz", + "integrity": "sha512-Y6Q9TsI+qJ2CC0ZKj6VBb+T8UPz593N113nnUykqwANqhgf3QkZeHFlusgKLTqrnVHbj/XDKZcDHol+dxVT+rQ==", "dev": true, "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" + "@vitest/pretty-format": "2.1.1", + "loupe": "^3.1.1", + "tinyrainbow": "^1.2.0" }, - "engines": { - "node": ">= 8" + "funding": { + "url": "https://opencollective.com/vitest" } }, - "node_modules/append-transform": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz", - "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==", - "dev": true, + "node_modules/ajv": { + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.16.0.tgz", + "integrity": "sha512-F0twR8U1ZU67JIEtekUcLkXkoO5mMMmgGD8sK/xUFzJ805jxHQl92hImFAqqXMyMYjSPOyUPAwHYhB72g5sTXw==", "dependencies": { - "default-require-extensions": "^3.0.0" + "fast-deep-equal": "^3.1.3", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.4.1" }, - "engines": { - "node": ">=8" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/archy": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", - "dev": true + "node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } }, - "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "dev": true, - "dependencies": { - "sprintf-js": "~1.0.2" + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", + "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", "dev": true, "engines": { - "node": "*" + "node": ">=12" } }, "node_modules/async": { @@ -4339,15 +5349,6 @@ "node": ">=0.3.1" } }, - "node_modules/aws-sdk-client-mock/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/aws-sdk-client-mock/node_modules/sinon": { "version": "16.1.3", "resolved": "https://registry.npmjs.org/sinon/-/sinon-16.1.3.tgz", @@ -4366,258 +5367,80 @@ "url": "https://opencollective.com/sinon" } }, - "node_modules/aws-sdk-client-mock/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/aws4": { "version": "1.12.0", "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==" }, "node_modules/balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, - "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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/bowser": { "version": "2.11.0", "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==" }, "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==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "balanced-match": "^1.0.0" } }, - "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "node_modules/cac": { + "version": "6.7.14", + "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", + "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", "dev": true, - "dependencies": { - "fill-range": "^7.1.1" - }, "engines": { "node": ">=8" } }, - "node_modules/browser-stdout": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", - "dev": true - }, - "node_modules/browserslist": { - "version": "4.17.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.3.tgz", - "integrity": "sha512-59IqHJV5VGdcJZ+GZ2hU5n4Kv3YiASzW6Xk5g9tf5a/MAzGeFwgGWU39fVzNIOVcgB3+Gp+kiQu0HEfTVU/3VQ==", - "dev": true, - "dependencies": { - "caniuse-lite": "^1.0.30001264", - "electron-to-chromium": "^1.3.857", - "escalade": "^3.1.1", - "node-releases": "^1.1.77", - "picocolors": "^0.2.1" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - } - }, - "node_modules/caching-transform": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz", - "integrity": "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==", + "node_modules/chai": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/chai/-/chai-5.1.1.tgz", + "integrity": "sha512-pT1ZgP8rPNqUgieVaEY+ryQr6Q4HXNg8Ei9UnLUrjN4IA7dvQC5JB+/kxVcPNDHyBcc/26CXPkbNzq3qwrOEKA==", "dev": true, "dependencies": { - "hasha": "^5.0.0", - "make-dir": "^3.0.0", - "package-hash": "^4.0.0", - "write-file-atomic": "^3.0.0" + "assertion-error": "^2.0.1", + "check-error": "^2.1.1", + "deep-eql": "^5.0.1", + "loupe": "^3.1.0", + "pathval": "^2.0.0" }, "engines": { - "node": ">=8" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "engines": { - "node": ">=6" + "node": ">=12" } }, - "node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "node_modules/check-error": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz", + "integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==", "dev": true, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 16" } }, - "node_modules/caniuse-lite": { - "version": "1.0.30001265", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001265.tgz", - "integrity": "sha512-YzBnspggWV5hep1m9Z6sZVLOt7vrju8xWooFAgN6BA5qvy98qPAPb7vNUzypFaoh2pb3vlfzbDO8tB57UPGbtw==", - "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" + "node_modules/color": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/color/-/color-3.0.0.tgz", + "integrity": "sha512-jCpd5+s0s0t7p3pHQKpnJ0TpQKKdleP71LWcA0aqiljpiuAkOSUFN/dyH8ZwF0hRmFlrIuRhufds1QyEP9EB+w==", + "dependencies": { + "color-convert": "^1.9.1", + "color-string": "^1.5.2" } }, - "node_modules/chai": { - "version": "4.3.10", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.10.tgz", - "integrity": "sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g==", - "dev": true, + "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": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.3", - "deep-eql": "^4.1.3", - "get-func-name": "^2.0.2", - "loupe": "^2.3.6", - "pathval": "^1.1.1", - "type-detect": "^4.0.8" - }, - "engines": { - "node": ">=4" - } - }, - "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==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/chalk/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==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/check-error": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", - "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", - "dev": true, - "dependencies": { - "get-func-name": "^2.0.2" - }, - "engines": { - "node": "*" - } - }, - "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], - "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/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "node_modules/color": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/color/-/color-3.0.0.tgz", - "integrity": "sha512-jCpd5+s0s0t7p3pHQKpnJ0TpQKKdleP71LWcA0aqiljpiuAkOSUFN/dyH8ZwF0hRmFlrIuRhufds1QyEP9EB+w==", - "dependencies": { - "color-convert": "^1.9.1", - "color-string": "^1.5.2" - } - }, - "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" + "color-name": "1.1.3" } }, "node_modules/color-name": { @@ -4651,36 +5474,15 @@ "text-hex": "1.0.x" } }, - "node_modules/commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "dev": true - }, - "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=", - "dev": true - }, - "node_modules/convert-source-map": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.1" - } - }, "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/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, "dependencies": { "path-key": "^3.1.0", @@ -4691,58 +5493,13 @@ "node": ">= 8" } }, - "node_modules/cross-spawn/node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/cross-spawn/node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cross-spawn/node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/cross-spawn/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", "dev": true, "dependencies": { - "ms": "2.1.2" + "ms": "^2.1.3" }, "engines": { "node": ">=6.0" @@ -4753,73 +5510,25 @@ } } }, - "node_modules/decamelize": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", - "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/deep-eql": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", - "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz", + "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==", "dev": true, - "dependencies": { - "type-detect": "^4.0.0" - }, "engines": { "node": ">=6" } }, - "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==", + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", "dev": true }, - "node_modules/default-require-extensions": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.0.tgz", - "integrity": "sha512-ek6DpXq/SCpvjhpFsLFRVtIxJCRw6fUR42lYMVZuUMK7n8eMz4Uh5clckdBjEpLhn/gEBZo7hDJnJcwdKLKQjg==", - "dev": true, - "dependencies": { - "strip-bom": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/diff": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", - "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", - "dev": true, - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/electron-to-chromium": { - "version": "1.3.867", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.867.tgz", - "integrity": "sha512-WbTXOv7hsLhjJyl7jBfDkioaY++iVVZomZ4dU6TMe/SzucV6mUAs2VZn/AehBwuZMiNEQDaPuTGn22YK5o+aDw==", + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", "dev": true }, "node_modules/enabled": { @@ -4827,199 +5536,186 @@ "resolved": "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz", "integrity": "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==" }, - "node_modules/es6-error": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", - "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", - "dev": true - }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "node_modules/esbuild": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, "engines": { - "node": ">=6" + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" + } + }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dev": true, + "dependencies": { + "@types/estree": "^1.0.0" } }, - "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=", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/eslint": { - "version": "8.51.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.51.0.tgz", - "integrity": "sha512-2WuxRZBrlwnXi+/vFSJyjMqrNjtJqiasMzehF0shoLaW7DzS3/9Yvrmq5JiT66+pNjiX4UBnLDiKHcWAr/OInA==", - "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "8.51.0", - "@humanwhocodes/config-array": "^0.11.11", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" + "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-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==" + }, + "node_modules/fast-xml-parser": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.4.1.tgz", + "integrity": "sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + }, + { + "type": "paypal", + "url": "https://paypal.me/naturalintelligence" + } + ], + "dependencies": { + "strnum": "^1.0.5" }, "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "fxparser": "src/cli/cli.js" } }, - "node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "node_modules/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==" + }, + "node_modules/fn.name": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz", + "integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==" + }, + "node_modules/foreground-child": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", "dev": true, "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=14" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/eslint/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==", + "node_modules/get-func-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", + "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": "*" } }, - "node_modules/eslint/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/eslint/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" }, - "engines": { - "node": ">=10" + "bin": { + "glob": "dist/esm/bin.mjs" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/eslint/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==", + "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, - "dependencies": { - "color-name": "~1.1.4" - }, "engines": { - "node": ">=7.0.0" + "node": ">=8" } }, - "node_modules/eslint/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/eslint/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "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/eslint/node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "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==", "dev": true, - "dependencies": { - "is-glob": "^4.0.3" - }, "engines": { - "node": ">=10.13.0" + "node": ">=8" } }, - "node_modules/eslint/node_modules/globals": { - "version": "13.23.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", - "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", - "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "engines": { "node": ">=8" }, @@ -5027,705 +5723,711 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint/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==", + "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": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", "dev": true, "engines": { "node": ">=8" } }, - "node_modules/eslint/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==", + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", "dev": true, "dependencies": { - "argparse": "^2.0.1" + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "engines": { + "node": ">=10" } }, - "node_modules/eslint/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==", + "node_modules/istanbul-lib-source-maps": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-5.0.6.tgz", + "integrity": "sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==", "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "@jridgewell/trace-mapping": "^0.3.23", + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0" }, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, "engines": { "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "node_modules/istanbul-reports": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", + "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", "dev": true, "dependencies": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": ">=8" } }, - "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==", - "dev": true, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, + "node_modules/iterare": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/iterare/-/iterare-1.2.1.tgz", + "integrity": "sha512-RKYVTCjAnRthyJes037NX/IiqeidgN1xc3j1RjFfECFp28A1GVwK9nA+i0rJPaHqSZwygLzRnFlzUuHFoWWy+Q==", "engines": { - "node": ">=4" + "node": ">=6" } }, - "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", "dev": true, "dependencies": { - "estraverse": "^5.1.0" + "@isaacs/cliui": "^8.0.2" }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "dependencies": { - "estraverse": "^5.2.0" + "funding": { + "url": "https://github.com/sponsors/isaacs" }, - "engines": { - "node": ">=4.0" + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" } }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, + "node_modules/jmespath": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.16.0.tgz", + "integrity": "sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==", "engines": { - "node": ">=4.0" + "node": ">= 0.6.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/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" }, - "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/just-extend": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.2.1.tgz", + "integrity": "sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg==", "dev": true }, - "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==", - "dev": true + "node_modules/kuler": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz", + "integrity": "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==" }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "node_modules/lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", "dev": true }, - "node_modules/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==" - }, - "node_modules/fast-xml-parser": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.4.1.tgz", - "integrity": "sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/NaturalIntelligence" - }, - { - "type": "paypal", - "url": "https://paypal.me/naturalintelligence" - } - ], + "node_modules/logform": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/logform/-/logform-2.2.0.tgz", + "integrity": "sha512-N0qPlqfypFx7UHNn4B3lzS/b0uLqt2hmuoa+PpuXNYgozdJYAyauF5Ky0BWVjrxDlMWiT3qN4zPq3vVAfZy7Yg==", "dependencies": { - "strnum": "^1.0.5" - }, - "bin": { - "fxparser": "src/cli/cli.js" + "colors": "^1.2.1", + "fast-safe-stringify": "^2.0.4", + "fecha": "^4.2.0", + "ms": "^2.1.1", + "triple-beam": "^1.3.0" } }, - "node_modules/fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "node_modules/loupe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.1.tgz", + "integrity": "sha512-edNu/8D5MKVfGVFRhFf8aAxiTM6Wumfz5XsaatSxlD3w4R1d/WEKUTydCdPGbl9K7QG/Ca3GnDV2sIKIpXRQcw==", "dev": true, "dependencies": { - "reusify": "^1.0.4" + "get-func-name": "^2.0.1" } }, - "node_modules/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==" + "node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "node_modules/magic-string": { + "version": "0.30.11", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz", + "integrity": "sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==", "dev": true, "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" + "@jridgewell/sourcemap-codec": "^1.5.0" } }, - "node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "node_modules/magicast": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.3.4.tgz", + "integrity": "sha512-TyDF/Pn36bBji9rWKHlZe+PZb6Mx5V8IHCSxk7X4aljM4e/vyDvZZYwHewdVaqiA0nb3ghfHU/6AUpDxWoER2Q==", "dev": true, "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" + "@babel/parser": "^7.24.4", + "@babel/types": "^7.24.0", + "source-map-js": "^1.2.0" } }, - "node_modules/find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", "dev": true, "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" + "semver": "^7.5.3" }, "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { - "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" + "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=10" + "node": ">=16 || 14 >=14.17" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", - "dev": true, - "bin": { - "flat": "cli.js" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/flat-cache": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.1.tgz", - "integrity": "sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==", + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", "dev": true, - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" - }, "engines": { - "node": ">=12.0.0" + "node": ">=16 || 14 >=14.17" } }, - "node_modules/flatted": { - "version": "3.2.9", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", - "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", - "dev": true - }, - "node_modules/fn.name": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz", - "integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==" - }, - "node_modules/foreground-child": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz", - "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8.0.0" - } + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" }, - "node_modules/fromentries": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz", - "integrity": "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==", + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", "dev": true, "funding": [ { "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" + "url": "https://github.com/sponsors/ai" } - ] - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "node_modules/nise": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.5.tgz", + "integrity": "sha512-VJuPIfUFaXNRzETTQEEItTOP8Y171ijr+JLq42wHes3DiryR8vT+1TXQW/Rx8JNUhyYYWyIvjXTU6dOhJcs9Nw==", "dev": true, - "engines": { - "node": ">=6.9.0" + "dependencies": { + "@sinonjs/commons": "^2.0.0", + "@sinonjs/fake-timers": "^10.0.2", + "@sinonjs/text-encoding": "^0.7.1", + "just-extend": "^4.0.2", + "path-to-regexp": "^1.7.0" } }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "node_modules/nise/node_modules/@sinonjs/commons": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", + "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", "dev": true, - "engines": { - "node": "6.* || 8.* || >= 10.*" + "dependencies": { + "type-detect": "4.0.8" } }, - "node_modules/get-func-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", - "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", + "node_modules/nise/node_modules/@sinonjs/fake-timers": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", "dev": true, - "engines": { - "node": "*" + "dependencies": { + "@sinonjs/commons": "^3.0.0" } }, - "node_modules/get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "dev": true, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "node_modules/nise/node_modules/@sinonjs/fake-timers/node_modules/@sinonjs/commons": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", + "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", "dev": true, "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": "*" + "type-detect": "4.0.8" } }, - "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==", - "dev": true, + "node_modules/one-time": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/one-time/-/one-time-1.0.0.tgz", + "integrity": "sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==", "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" + "fn.name": "1.x.x" } }, - "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, + "node_modules/p-throttle": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/p-throttle/-/p-throttle-6.1.0.tgz", + "integrity": "sha512-eQMdGTxk2+047La67wefUtt0tEHh7D+C8Jl7QXoFCuIiNYeQ9zWs2AZiJdIAs72rSXZ06t11me2bgalRNdy3SQ==", "engines": { - "node": ">=4" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", - "dev": true - }, - "node_modules/graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "node_modules/package-json-from-dist": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", + "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==", "dev": true }, - "node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/hasha": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz", - "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==", + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", "dev": true, "dependencies": { - "is-stream": "^2.0.0", - "type-fest": "^0.8.0" + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" }, "engines": { - "node": ">=8" + "node": ">=16 || 14 >=14.18" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "node_modules/path-to-regexp": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.9.0.tgz", + "integrity": "sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==", "dev": true, - "bin": { - "he": "bin/he" + "dependencies": { + "isarray": "0.0.1" } }, - "node_modules/html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "node_modules/path-to-regexp/node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "dev": true + }, + "node_modules/pathe": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", + "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", "dev": true }, - "node_modules/ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "node_modules/pathval": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.0.tgz", + "integrity": "sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==", "dev": true, "engines": { - "node": ">= 4" + "node": ">= 14.16" } }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "node_modules/picocolors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", + "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==", + "dev": true + }, + "node_modules/postcss": { + "version": "8.4.47", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", + "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" + "nanoid": "^3.3.7", + "picocolors": "^1.1.0", + "source-map-js": "^1.2.1" }, "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^10 || ^12 || >=14" } }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true, - "engines": { - "node": ">=0.8.19" - } + "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/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true, + "node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" + "node_modules/ramda": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.28.0.tgz", + "integrity": "sha512-9QnLuG/kPVgWvMQ4aODhsBUFKOUmnbUnsSXACv+NCQZcHbeb+v8Lodp8OVxtRULN1/xOyYLLaL6npE6dMq5QTA==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/ramda" } }, - "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/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==", - "dev": true, + "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": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" + "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/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", "engines": { "node": ">=0.10.0" } }, - "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==", - "dev": true, + "node_modules/retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", "engines": { - "node": ">=8" + "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==", + "node_modules/rollup": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.22.4.tgz", + "integrity": "sha512-vD8HJ5raRcWOyymsR6Z3o6+RzfEPCnVLMFJ6vRslO1jt4LO6dUo5Qnpg7y4RkZFM2DMe3WUirkI5c16onjrc6A==", "dev": true, "dependencies": { - "is-extglob": "^2.1.1" + "@types/estree": "1.0.5" + }, + "bin": { + "rollup": "dist/bin/rollup" }, "engines": { - "node": ">=0.10.0" + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.22.4", + "@rollup/rollup-android-arm64": "4.22.4", + "@rollup/rollup-darwin-arm64": "4.22.4", + "@rollup/rollup-darwin-x64": "4.22.4", + "@rollup/rollup-linux-arm-gnueabihf": "4.22.4", + "@rollup/rollup-linux-arm-musleabihf": "4.22.4", + "@rollup/rollup-linux-arm64-gnu": "4.22.4", + "@rollup/rollup-linux-arm64-musl": "4.22.4", + "@rollup/rollup-linux-powerpc64le-gnu": "4.22.4", + "@rollup/rollup-linux-riscv64-gnu": "4.22.4", + "@rollup/rollup-linux-s390x-gnu": "4.22.4", + "@rollup/rollup-linux-x64-gnu": "4.22.4", + "@rollup/rollup-linux-x64-musl": "4.22.4", + "@rollup/rollup-win32-arm64-msvc": "4.22.4", + "@rollup/rollup-win32-ia32-msvc": "4.22.4", + "@rollup/rollup-win32-x64-msvc": "4.22.4", + "fsevents": "~2.3.2" } }, - "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==", + "node_modules/rollup/node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true + }, + "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/semver": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", "dev": true, + "bin": { + "semver": "bin/semver.js" + }, "engines": { - "node": ">=0.12.0" + "node": ">=10" } }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, "engines": { "node": ">=8" } }, - "node_modules/is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, "engines": { "node": ">=8" } }, - "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "node_modules/siginfo": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", + "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", + "dev": true + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, "engines": { - "node": ">=8" + "node": ">=14" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true + "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/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==", + "node_modules/simple-swizzle/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/sinon": { + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-17.0.0.tgz", + "integrity": "sha512-p4lJiYKBoOEVUxxVIC9H1MM2znG1/c8gud++I2BauJA5hsz7hHsst35eurNWXTusBsIq66FzOQbZ/uMdpvbPIQ==", "dev": true, - "engines": { - "node": ">=10" + "dependencies": { + "@sinonjs/commons": "^3.0.0", + "@sinonjs/fake-timers": "^11.2.2", + "@sinonjs/samsam": "^8.0.0", + "diff": "^5.1.0", + "nise": "^5.1.5", + "supports-color": "^7.2.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/sinon" } }, - "node_modules/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==", + "node_modules/sinon/node_modules/diff": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", + "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", "dev": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + "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/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "node_modules/stackback": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", + "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", "dev": true }, - "node_modules/istanbul-lib-coverage": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.2.tgz", - "integrity": "sha512-o5+eTUYzCJ11/+JhW5/FUCdfsdoYVdQ/8I/OveE2XsjehYn5DdeSnNQAbjYaO8gQ6hvGTN6GM6ddQqpTVG5j8g==", - "dev": true, - "engines": { - "node": ">=8" + "node_modules/std-env": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz", + "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==", + "dev": true + }, + "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/istanbul-lib-hook": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz", - "integrity": "sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==", + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "dev": true, "dependencies": { - "append-transform": "^2.0.0" + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" }, "engines": { - "node": ">=8" - } + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "node_modules/istanbul-lib-instrument": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", - "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", + "node_modules/string-width-cjs": { + "name": "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==", "dev": true, "dependencies": { - "@babel/core": "^7.7.5", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.0.0", - "semver": "^6.3.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { "node": ">=8" } }, - "node_modules/istanbul-lib-processinfo": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.2.tgz", - "integrity": "sha512-kOwpa7z9hme+IBPZMzQ5vdQj8srYgAtaRqeI48NGmAQ+/5yKiHLV0QbYqQpxsdEF0+w14SoB8YbnHKcXE2KnYw==", + "node_modules/string-width-cjs/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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/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==", + "dev": true + }, + "node_modules/string-width-cjs/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==", "dev": true, "dependencies": { - "archy": "^1.0.0", - "cross-spawn": "^7.0.0", - "istanbul-lib-coverage": "^3.0.0-alpha.1", - "make-dir": "^3.0.0", - "p-map": "^3.0.0", - "rimraf": "^3.0.0", - "uuid": "^3.3.3" + "ansi-regex": "^5.0.1" }, "engines": { "node": ">=8" } }, - "node_modules/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" }, "engines": { "node": ">=8" } }, - "node_modules/istanbul-lib-report/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==", + "node_modules/strip-ansi-cjs/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==", "dev": true, "engines": { "node": ">=8" } }, - "node_modules/istanbul-lib-report/node_modules/supports-color": { + "node_modules/strnum": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", + "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" + }, + "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==", @@ -5737,581 +6439,389 @@ "node": ">=8" } }, - "node_modules/istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "node_modules/test-exclude": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-7.0.1.tgz", + "integrity": "sha512-pFYqmTw68LXVjeWJMST4+borgQP2AyMNbg1BpZh9LbyhUeNkeaPF9gzfPGUAnSMV3qPYdWUwDIjjCLiSDOl7vg==", "dev": true, "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" + "@istanbuljs/schema": "^0.1.2", + "glob": "^10.4.1", + "minimatch": "^9.0.4" }, "engines": { - "node": ">=10" + "node": ">=18" } }, - "node_modules/istanbul-lib-source-maps/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, - "engines": { - "node": ">=0.10.0" - } + "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/istanbul-reports": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.4.tgz", - "integrity": "sha512-bFjUnc95rHjdCR63WMHUS7yfJJh8T9IPSWavvR02hhjVwezWALZ5axF9EqjmwZHpXqkzbgAMP8DmAtiyNxrdrQ==", + "node_modules/tinybench": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", + "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", + "dev": true + }, + "node_modules/tinyexec": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.0.tgz", + "integrity": "sha512-tVGE0mVJPGb0chKhqmsoosjsS+qUnJVGJpZgsHYQcGoPlG3B51R3PouqTgEGH2Dc9jjFyOqOpix6ZHNMXp1FZg==", + "dev": true + }, + "node_modules/tinypool": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.0.1.tgz", + "integrity": "sha512-URZYihUbRPcGv95En+sz6MfghfIc2OJ1sv/RmhWZLouPY0/8Vo80viwPvg3dlaS9fuq7fQMEfgRRK7BBZThBEA==", "dev": true, - "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - }, "engines": { - "node": ">=8" + "node": "^18.0.0 || >=20.0.0" } }, - "node_modules/iterare": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/iterare/-/iterare-1.2.1.tgz", - "integrity": "sha512-RKYVTCjAnRthyJes037NX/IiqeidgN1xc3j1RjFfECFp28A1GVwK9nA+i0rJPaHqSZwygLzRnFlzUuHFoWWy+Q==", + "node_modules/tinyrainbow": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-1.2.0.tgz", + "integrity": "sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==", + "dev": true, "engines": { - "node": ">=6" + "node": ">=14.0.0" } }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "node_modules/js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "node_modules/tinyspy": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-3.0.2.tgz", + "integrity": "sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==", "dev": true, - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "engines": { + "node": ">=14.0.0" } }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", "dev": true, - "bin": { - "jsesc": "bin/jsesc" - }, "engines": { "node": ">=4" } }, - "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/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==", - "dev": true + "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/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true + "node_modules/tslib": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==" }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", "dev": true, - "bin": { - "json5": "lib/cli.js" - }, "engines": { - "node": ">=6" + "node": ">=4" } }, - "node_modules/just-extend": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.2.1.tgz", - "integrity": "sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg==", - "dev": true + "node_modules/undici": { + "version": "6.19.8", + "resolved": "https://registry.npmjs.org/undici/-/undici-6.19.8.tgz", + "integrity": "sha512-U8uCCl2x9TK3WANvmBavymRzxbfFYG+tAu+fgx3zxQy3qdagQqBLwJVrdyO1TBfUXvfKveMKJZhpvUYoOjM+4g==", + "engines": { + "node": ">=18.17" + } }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, + "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": { - "json-buffer": "3.0.1" + "punycode": "^2.1.0" } }, - "node_modules/kuler": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz", - "integrity": "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==" + "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/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" + "node_modules/uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "bin": { + "uuid": "dist/bin/uuid" } }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "node_modules/vite": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.6.tgz", + "integrity": "sha512-IeL5f8OO5nylsgzd9tq4qD2QqI0k2CQLGrWD0rCN0EQJZpBK5vJAx0I+GDkMOXxQX/OfFHMuLIx6ddAxGX/k+Q==", "dev": true, "dependencies": { - "p-locate": "^5.0.0" + "esbuild": "^0.21.3", + "postcss": "^8.4.43", + "rollup": "^4.20.0" + }, + "bin": { + "vite": "bin/vite.js" }, "engines": { - "node": ">=10" + "node": "^18.0.0 || >=20.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } } }, - "node_modules/lodash.flattendeep": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", - "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=", - "dev": true - }, - "node_modules/lodash.get": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", - "dev": true - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, - "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==", + "node_modules/vite-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-2.1.1.tgz", + "integrity": "sha512-N/mGckI1suG/5wQI35XeR9rsMsPqKXzq1CdUndzVstBj/HvyxxGctwnK6WX43NGt5L3Z5tcRf83g4TITKJhPrA==", "dev": true, "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" + "cac": "^6.7.14", + "debug": "^4.3.6", + "pathe": "^1.1.2", + "vite": "^5.0.0" + }, + "bin": { + "vite-node": "vite-node.mjs" }, "engines": { - "node": ">=10" + "node": "^18.0.0 || >=20.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://opencollective.com/vitest" } }, - "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==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" + "node_modules/vitest": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-2.1.1.tgz", + "integrity": "sha512-97We7/VC0e9X5zBVkvt7SGQMGrRtn3KtySFQG5fpaMlS+l62eeXRQO633AYhSTC3z7IMebnPPNjGXVGNRFlxBA==", + "dev": true, + "dependencies": { + "@vitest/expect": "2.1.1", + "@vitest/mocker": "2.1.1", + "@vitest/pretty-format": "^2.1.1", + "@vitest/runner": "2.1.1", + "@vitest/snapshot": "2.1.1", + "@vitest/spy": "2.1.1", + "@vitest/utils": "2.1.1", + "chai": "^5.1.1", + "debug": "^4.3.6", + "magic-string": "^0.30.11", + "pathe": "^1.1.2", + "std-env": "^3.7.0", + "tinybench": "^2.9.0", + "tinyexec": "^0.3.0", + "tinypool": "^1.0.0", + "tinyrainbow": "^1.2.0", + "vite": "^5.0.0", + "vite-node": "2.1.1", + "why-is-node-running": "^2.3.0" + }, + "bin": { + "vitest": "vitest.mjs" }, "engines": { - "node": ">=8" + "node": "^18.0.0 || >=20.0.0" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@edge-runtime/vm": "*", + "@types/node": "^18.0.0 || >=20.0.0", + "@vitest/browser": "2.1.1", + "@vitest/ui": "2.1.1", + "happy-dom": "*", + "jsdom": "*" + }, + "peerDependenciesMeta": { + "@edge-runtime/vm": { + "optional": true + }, + "@types/node": { + "optional": true + }, + "@vitest/browser": { + "optional": true + }, + "@vitest/ui": { + "optional": true + }, + "happy-dom": { + "optional": true + }, + "jsdom": { + "optional": true + } } }, - "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==", + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "isexe": "^2.0.0" }, - "engines": { - "node": ">=10" + "bin": { + "node-which": "bin/node-which" }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "engines": { + "node": ">= 8" } }, - "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==", + "node_modules/why-is-node-running": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", + "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", "dev": true, "dependencies": { - "color-name": "~1.1.4" + "siginfo": "^2.0.0", + "stackback": "0.0.2" }, - "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==", - "dev": 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==", - "dev": 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==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" + "bin": { + "why-is-node-running": "cli.js" }, "engines": { "node": ">=8" } }, - "node_modules/logform": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/logform/-/logform-2.2.0.tgz", - "integrity": "sha512-N0qPlqfypFx7UHNn4B3lzS/b0uLqt2hmuoa+PpuXNYgozdJYAyauF5Ky0BWVjrxDlMWiT3qN4zPq3vVAfZy7Yg==", - "dependencies": { - "colors": "^1.2.1", - "fast-safe-stringify": "^2.0.4", - "fecha": "^4.2.0", - "ms": "^2.1.1", - "triple-beam": "^1.3.0" - } - }, - "node_modules/loupe": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", - "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", - "dev": true, - "dependencies": { - "get-func-name": "^2.0.1" - } - }, - "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, + "node_modules/winston": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/winston/-/winston-3.3.3.tgz", + "integrity": "sha512-oEXTISQnC8VlSAKf1KYSSd7J6IWuRPQqDdo8eoRNaYKLvwSb5+79Z3Yi1lrl6KDpU6/VWaxpakDAtb1oQ4n9aw==", "dependencies": { - "semver": "^6.0.0" + "@dabh/diagnostics": "^2.0.2", + "async": "^3.1.0", + "is-stream": "^2.0.0", + "logform": "^2.2.0", + "one-time": "^1.0.0", + "readable-stream": "^3.4.0", + "stack-trace": "0.0.x", + "triple-beam": "^1.3.0", + "winston-transport": "^4.4.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 6.4.0" } }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, + "node_modules/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==", "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/mocha": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz", - "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==", - "dev": true, - "dependencies": { - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", - "chokidar": "3.5.3", - "debug": "4.3.4", - "diff": "5.0.0", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "7.2.0", - "he": "1.2.0", - "js-yaml": "4.1.0", - "log-symbols": "4.1.0", - "minimatch": "5.0.1", - "ms": "2.1.3", - "nanoid": "3.3.3", - "serialize-javascript": "6.0.0", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "workerpool": "6.2.1", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", - "yargs-unparser": "2.0.0" - }, - "bin": { - "_mocha": "bin/_mocha", - "mocha": "bin/mocha.js" - }, - "engines": { - "node": ">= 14.0.0" + "readable-stream": "^2.3.7", + "triple-beam": "^1.2.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mochajs" - } - }, - "node_modules/mocha/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/mocha/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 6.4.0" } }, - "node_modules/mocha/node_modules/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "dev": true, + "node_modules/winston/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": { - "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" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" }, "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">= 6" } }, - "node_modules/mocha/node_modules/glob/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", "dev": true, "dependencies": { - "brace-expansion": "^1.1.7" + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" }, "engines": { - "node": "*" - } - }, - "node_modules/mocha/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" + "node": ">=12" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/mocha/node_modules/minimatch": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", - "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", + "node_modules/wrap-ansi-cjs": { + "name": "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==", "dev": true, "dependencies": { - "brace-expansion": "^2.0.1" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { "node": ">=10" - } - }, - "node_modules/mocha/node_modules/minimatch/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/mocha/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - }, - "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/nanoid": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", - "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", - "dev": true, - "bin": { - "nanoid": "bin/nanoid.cjs" }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "node_modules/nise": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.5.tgz", - "integrity": "sha512-VJuPIfUFaXNRzETTQEEItTOP8Y171ijr+JLq42wHes3DiryR8vT+1TXQW/Rx8JNUhyYYWyIvjXTU6dOhJcs9Nw==", - "dev": true, - "dependencies": { - "@sinonjs/commons": "^2.0.0", - "@sinonjs/fake-timers": "^10.0.2", - "@sinonjs/text-encoding": "^0.7.1", - "just-extend": "^4.0.2", - "path-to-regexp": "^1.7.0" - } - }, - "node_modules/nise/node_modules/@sinonjs/commons": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", - "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", - "dev": true, - "dependencies": { - "type-detect": "4.0.8" - } - }, - "node_modules/nise/node_modules/@sinonjs/fake-timers": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", - "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", - "dev": true, - "dependencies": { - "@sinonjs/commons": "^3.0.0" - } - }, - "node_modules/nise/node_modules/@sinonjs/fake-timers/node_modules/@sinonjs/commons": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", - "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", - "dev": true, - "dependencies": { - "type-detect": "4.0.8" + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/node-preload": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz", - "integrity": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==", + "node_modules/wrap-ansi-cjs/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==", "dev": true, - "dependencies": { - "process-on-spawn": "^1.0.0" - }, "engines": { "node": ">=8" } }, - "node_modules/node-releases": { - "version": "1.1.77", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.77.tgz", - "integrity": "sha512-rB1DUFUNAN4Gn9keO2K1efO35IDK7yKHCdCaIMvFO7yUYmmZYeDjnGKle26G4rwj+LKRQpjyUUvMkPglwGCYNQ==", - "dev": 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==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/nyc": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz", - "integrity": "sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==", - "dev": true, - "dependencies": { - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "caching-transform": "^4.0.0", - "convert-source-map": "^1.7.0", - "decamelize": "^1.2.0", - "find-cache-dir": "^3.2.0", - "find-up": "^4.1.0", - "foreground-child": "^2.0.0", - "get-package-type": "^0.1.0", - "glob": "^7.1.6", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-hook": "^3.0.0", - "istanbul-lib-instrument": "^4.0.0", - "istanbul-lib-processinfo": "^2.0.2", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.0.2", - "make-dir": "^3.0.0", - "node-preload": "^0.2.1", - "p-map": "^3.0.0", - "process-on-spawn": "^1.0.0", - "resolve-from": "^5.0.0", - "rimraf": "^3.0.0", - "signal-exit": "^3.0.2", - "spawn-wrap": "^2.0.0", - "test-exclude": "^6.0.0", - "yargs": "^15.0.2" - }, - "bin": { - "nyc": "bin/nyc.js" - }, - "engines": { - "node": ">=8.9" - } - }, - "node_modules/nyc-report-lcov-absolute": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/nyc-report-lcov-absolute/-/nyc-report-lcov-absolute-1.0.0.tgz", - "integrity": "sha512-sDq0XM0on9casPNySxGD/WSy17m95+e8xEhObNHoxVRsTIZZt8akop4WWisnjzEWRARGW91Ip6oRhIWmy4qcPw==", - "dev": true, - "peerDependencies": { - "istanbul-reports": "^3.0.0" - } - }, - "node_modules/nyc/node_modules/ansi-styles": { + "node_modules/wrap-ansi-cjs/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==", @@ -6326,27 +6836,7 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/nyc/node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/nyc/node_modules/cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "node_modules/nyc/node_modules/color-convert": { + "node_modules/wrap-ansi-cjs/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==", @@ -6358,1186 +6848,55 @@ "node": ">=7.0.0" } }, - "node_modules/nyc/node_modules/color-name": { + "node_modules/wrap-ansi-cjs/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/nyc/node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "node_modules/wrap-ansi-cjs/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==", + "dev": true }, - "node_modules/nyc/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "node_modules/wrap-ansi-cjs/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==", "dev": true, "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { "node": ">=8" } }, - "node_modules/nyc/node_modules/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "node_modules/wrap-ansi-cjs/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==", "dev": true, "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/nyc/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/nyc/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/nyc/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/nyc/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/nyc/node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/nyc/node_modules/y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "dev": true - }, - "node_modules/nyc/node_modules/yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "dev": true, - "dependencies": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/nyc/node_modules/yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/one-time": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/one-time/-/one-time-1.0.0.tgz", - "integrity": "sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==", - "dependencies": { - "fn.name": "1.x.x" - } - }, - "node_modules/optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", - "dev": true, - "dependencies": { - "@aashutoshrathi/word-wrap": "^1.2.3", - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-map": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", - "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", - "dev": true, - "dependencies": { - "aggregate-error": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-throttle": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-throttle/-/p-throttle-4.0.0.tgz", - "integrity": "sha512-KJ8OCUJu/ki0y/2rtQtjgN13l1KS5CdwZ+o1Qb22n1BHcYfzVluP55v0FVUEuPPuZA7RbogdgSI2bVEdGokseA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/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==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/package-hash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz", - "integrity": "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.15", - "hasha": "^5.0.0", - "lodash.flattendeep": "^4.4.0", - "release-zalgo": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "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=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-to-regexp": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.9.0.tgz", - "integrity": "sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==", - "dev": true, - "dependencies": { - "isarray": "0.0.1" - } - }, - "node_modules/path-to-regexp/node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", - "dev": true - }, - "node_modules/pathval": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", - "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-dir/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "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-on-spawn": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz", - "integrity": "sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==", - "dev": true, - "dependencies": { - "fromentries": "^1.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "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==", - "dev": true, - "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/ramda": { - "version": "0.28.0", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.28.0.tgz", - "integrity": "sha512-9QnLuG/kPVgWvMQ4aODhsBUFKOUmnbUnsSXACv+NCQZcHbeb+v8Lodp8OVxtRULN1/xOyYLLaL6npE6dMq5QTA==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/ramda" - } - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "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/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/release-zalgo": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz", - "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=", - "dev": true, - "dependencies": { - "es6-error": "^4.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/retry": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", - "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", - "engines": { - "node": ">= 4" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true, - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rewire": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/rewire/-/rewire-7.0.0.tgz", - "integrity": "sha512-DyyNyzwMtGYgu0Zl/ya0PR/oaunM+VuCuBxCuhYJHHaV0V+YvYa3bBGxb5OZ71vndgmp1pYY8F4YOwQo1siRGw==", - "dev": true, - "dependencies": { - "eslint": "^8.47.0" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "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==", - "dev": true, - "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/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/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", - "dev": true, - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "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=", - "dev": true - }, - "node_modules/signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", - "dev": true - }, - "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/simple-swizzle/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/sinon": { - "version": "17.0.0", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-17.0.0.tgz", - "integrity": "sha512-p4lJiYKBoOEVUxxVIC9H1MM2znG1/c8gud++I2BauJA5hsz7hHsst35eurNWXTusBsIq66FzOQbZ/uMdpvbPIQ==", - "dev": true, - "dependencies": { - "@sinonjs/commons": "^3.0.0", - "@sinonjs/fake-timers": "^11.2.2", - "@sinonjs/samsam": "^8.0.0", - "diff": "^5.1.0", - "nise": "^5.1.5", - "supports-color": "^7.2.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/sinon" - } - }, - "node_modules/sinon/node_modules/diff": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", - "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==", - "dev": true, - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/sinon/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/sinon/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/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/spawn-wrap": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz", - "integrity": "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==", - "dev": true, - "dependencies": { - "foreground-child": "^2.0.0", - "is-windows": "^1.0.2", - "make-dir": "^3.0.0", - "rimraf": "^3.0.0", - "signal-exit": "^3.0.2", - "which": "^2.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/spawn-wrap/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, - "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/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/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==", - "dev": true, - "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/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==", - "dev": true - }, - "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==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/strnum": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", - "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" - }, - "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/supports-color/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/test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "dev": true, - "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/test-exclude/node_modules/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "dev": true, - "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/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/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "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==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.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.6.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", - "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==" - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "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==", - "dev": true, - "dependencies": { - "is-typedarray": "^1.0.0" - } - }, - "node_modules/undici": { - "version": "6.19.2", - "resolved": "https://registry.npmjs.org/undici/-/undici-6.19.2.tgz", - "integrity": "sha512-JfjKqIauur3Q6biAtHJ564e3bWa8VvT+7cSiOJHFbX4Erv6CLGDpg8z+Fmg/1OI/47RA+GI2QZaF48SSaLvyBA==", - "engines": { - "node": ">=18.17" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "dependencies": { - "punycode": "^2.1.0" - } - }, - "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.", - "dev": true, - "bin": { - "uuid": "bin/uuid" - } - }, - "node_modules/which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, - "node_modules/winston": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/winston/-/winston-3.3.3.tgz", - "integrity": "sha512-oEXTISQnC8VlSAKf1KYSSd7J6IWuRPQqDdo8eoRNaYKLvwSb5+79Z3Yi1lrl6KDpU6/VWaxpakDAtb1oQ4n9aw==", - "dependencies": { - "@dabh/diagnostics": "^2.0.2", - "async": "^3.1.0", - "is-stream": "^2.0.0", - "logform": "^2.2.0", - "one-time": "^1.0.0", - "readable-stream": "^3.4.0", - "stack-trace": "0.0.x", - "triple-beam": "^1.3.0", - "winston-transport": "^4.4.0" - }, - "engines": { - "node": ">= 6.4.0" - } - }, - "node_modules/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==", - "dependencies": { - "readable-stream": "^2.3.7", - "triple-beam": "^1.2.0" - }, - "engines": { - "node": ">= 6.4.0" - } - }, - "node_modules/winston/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/workerpool": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", - "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==", - "dev": true - }, - "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==", - "dev": true, - "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==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" + "ansi-regex": "^5.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==", - "dev": true, - "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==", - "dev": true - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "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/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs-unparser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", - "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", - "dev": true, - "dependencies": { - "camelcase": "^6.0.0", - "decamelize": "^4.0.0", - "flat": "^5.0.2", - "is-plain-obj": "^2.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } } }, "dependencies": { - "@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", - "dev": true + "@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } }, "@aws-crypto/crc32": { "version": "5.2.0", @@ -7561,96 +6920,251 @@ "@aws-sdk/util-locate-window": "^3.0.0", "@smithy/util-utf8": "^2.0.0", "tslib": "^2.6.2" + } + }, + "@aws-crypto/sha256-js": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-5.2.0.tgz", + "integrity": "sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA==", + "requires": { + "@aws-crypto/util": "^5.2.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^2.6.2" + } + }, + "@aws-crypto/supports-web-crypto": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-5.2.0.tgz", + "integrity": "sha512-iAvUotm021kM33eCdNfwIN//F77/IADDSs58i+MDaOqFrVjZo9bAal0NK7HurRuWLLpF1iLX7gbWrjHjeo+YFg==", + "requires": { + "tslib": "^2.6.2" + } + }, + "@aws-crypto/util": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-5.2.0.tgz", + "integrity": "sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==", + "requires": { + "@aws-sdk/types": "^3.222.0", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/client-api-gateway": { + "version": "3.621.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-api-gateway/-/client-api-gateway-3.621.0.tgz", + "integrity": "sha512-GfTmS3ty1CcW9BYZiy07/anFatosA1AxjxM23GgBYutkgPlPGPEMupIA3TyJTcShiiERKNGFKlMiXxAPtz7/cQ==", + "requires": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/client-sso-oidc": "3.621.0", + "@aws-sdk/client-sts": "3.621.0", + "@aws-sdk/core": "3.621.0", + "@aws-sdk/credential-provider-node": "3.621.0", + "@aws-sdk/middleware-host-header": "3.620.0", + "@aws-sdk/middleware-logger": "3.609.0", + "@aws-sdk/middleware-recursion-detection": "3.620.0", + "@aws-sdk/middleware-sdk-api-gateway": "3.620.0", + "@aws-sdk/middleware-user-agent": "3.620.0", + "@aws-sdk/region-config-resolver": "3.614.0", + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.614.0", + "@aws-sdk/util-user-agent-browser": "3.609.0", + "@aws-sdk/util-user-agent-node": "3.614.0", + "@smithy/config-resolver": "^3.0.5", + "@smithy/core": "^2.3.1", + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/hash-node": "^3.0.3", + "@smithy/invalid-dependency": "^3.0.3", + "@smithy/middleware-content-length": "^3.0.5", + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-retry": "^3.0.13", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.1.11", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.13", + "@smithy/util-defaults-mode-node": "^3.0.13", + "@smithy/util-endpoints": "^2.0.5", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "@smithy/util-stream": "^3.1.3", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + }, + "dependencies": { + "@smithy/is-array-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", + "requires": { + "tslib": "^2.6.2" + } + }, + "@smithy/service-error-classification": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.3.tgz", + "integrity": "sha512-Jn39sSl8cim/VlkLsUhRFq/dKDnRUFlfRkvhOJaUbLBXUsLRLNf9WaxDv/z9BjuQ3A6k/qE8af1lsqcwm7+DaQ==", + "requires": { + "@smithy/types": "^3.3.0" + } + }, + "@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "requires": { + "tslib": "^2.6.2" + } + }, + "@smithy/util-retry": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-3.0.3.tgz", + "integrity": "sha512-AFw+hjpbtVApzpNDhbjNG5NA3kyoMs7vx0gsgmlJF4s+yz1Zlepde7J58zpIRIsdjc+emhpAITxA88qLkPF26w==", + "requires": { + "@smithy/service-error-classification": "^3.0.3", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@smithy/util-utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", + "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", + "requires": { + "@smithy/util-buffer-from": "^3.0.0", + "tslib": "^2.6.2" + }, + "dependencies": { + "@smithy/util-buffer-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", + "requires": { + "@smithy/is-array-buffer": "^3.0.0", + "tslib": "^2.6.2" + } + } + } + } + } + }, + "@aws-sdk/client-appsync": { + "version": "3.621.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-appsync/-/client-appsync-3.621.0.tgz", + "integrity": "sha512-fcQOVP4MOl/IrK0IUu1mnI89Y+mGy5TW+0g5vNERutCXeq+a3UYoS33hLYKhq6A9F8L1lnMIfTgxQ8lyi1ShgA==", + "requires": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/client-sso-oidc": "3.621.0", + "@aws-sdk/client-sts": "3.621.0", + "@aws-sdk/core": "3.621.0", + "@aws-sdk/credential-provider-node": "3.621.0", + "@aws-sdk/middleware-host-header": "3.620.0", + "@aws-sdk/middleware-logger": "3.609.0", + "@aws-sdk/middleware-recursion-detection": "3.620.0", + "@aws-sdk/middleware-user-agent": "3.620.0", + "@aws-sdk/region-config-resolver": "3.614.0", + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.614.0", + "@aws-sdk/util-user-agent-browser": "3.609.0", + "@aws-sdk/util-user-agent-node": "3.614.0", + "@smithy/config-resolver": "^3.0.5", + "@smithy/core": "^2.3.1", + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/hash-node": "^3.0.3", + "@smithy/invalid-dependency": "^3.0.3", + "@smithy/middleware-content-length": "^3.0.5", + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-retry": "^3.0.13", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.1.11", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.13", + "@smithy/util-defaults-mode-node": "^3.0.13", + "@smithy/util-endpoints": "^2.0.5", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "@smithy/util-stream": "^3.1.3", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" }, "dependencies": { "@smithy/is-array-buffer": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz", - "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", "requires": { "tslib": "^2.6.2" } }, - "@smithy/util-buffer-from": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz", - "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==", + "@smithy/service-error-classification": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.3.tgz", + "integrity": "sha512-Jn39sSl8cim/VlkLsUhRFq/dKDnRUFlfRkvhOJaUbLBXUsLRLNf9WaxDv/z9BjuQ3A6k/qE8af1lsqcwm7+DaQ==", "requires": { - "@smithy/is-array-buffer": "^2.2.0", - "tslib": "^2.6.2" + "@smithy/types": "^3.3.0" } }, - "@smithy/util-utf8": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz", - "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==", - "requires": { - "@smithy/util-buffer-from": "^2.2.0", - "tslib": "^2.6.2" - } - } - } - }, - "@aws-crypto/sha256-js": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-5.2.0.tgz", - "integrity": "sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA==", - "requires": { - "@aws-crypto/util": "^5.2.0", - "@aws-sdk/types": "^3.222.0", - "tslib": "^2.6.2" - } - }, - "@aws-crypto/supports-web-crypto": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-5.2.0.tgz", - "integrity": "sha512-iAvUotm021kM33eCdNfwIN//F77/IADDSs58i+MDaOqFrVjZo9bAal0NK7HurRuWLLpF1iLX7gbWrjHjeo+YFg==", - "requires": { - "tslib": "^2.6.2" - } - }, - "@aws-crypto/util": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-5.2.0.tgz", - "integrity": "sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==", - "requires": { - "@aws-sdk/types": "^3.222.0", - "@smithy/util-utf8": "^2.0.0", - "tslib": "^2.6.2" - }, - "dependencies": { - "@smithy/is-array-buffer": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz", - "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==", + "@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", "requires": { "tslib": "^2.6.2" } }, - "@smithy/util-buffer-from": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz", - "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==", + "@smithy/util-retry": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-3.0.3.tgz", + "integrity": "sha512-AFw+hjpbtVApzpNDhbjNG5NA3kyoMs7vx0gsgmlJF4s+yz1Zlepde7J58zpIRIsdjc+emhpAITxA88qLkPF26w==", "requires": { - "@smithy/is-array-buffer": "^2.2.0", + "@smithy/service-error-classification": "^3.0.3", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" } }, "@smithy/util-utf8": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz", - "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", + "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", "requires": { - "@smithy/util-buffer-from": "^2.2.0", + "@smithy/util-buffer-from": "^3.0.0", "tslib": "^2.6.2" + }, + "dependencies": { + "@smithy/util-buffer-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", + "requires": { + "@smithy/is-array-buffer": "^3.0.0", + "tslib": "^2.6.2" + } + } } } } }, - "@aws-sdk/client-api-gateway": { + "@aws-sdk/client-cognito-identity": { "version": "3.621.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-api-gateway/-/client-api-gateway-3.621.0.tgz", - "integrity": "sha512-GfTmS3ty1CcW9BYZiy07/anFatosA1AxjxM23GgBYutkgPlPGPEMupIA3TyJTcShiiERKNGFKlMiXxAPtz7/cQ==", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.621.0.tgz", + "integrity": "sha512-FpXia5qFf6ijcNDWenVq+mP9r1LbiW/+52i9wrv2+Afi6Nn1ROf8W7St8WvE9TEZ3t78y+vis4CwqfGts+uiKA==", "requires": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", @@ -7661,7 +7175,6 @@ "@aws-sdk/middleware-host-header": "3.620.0", "@aws-sdk/middleware-logger": "3.609.0", "@aws-sdk/middleware-recursion-detection": "3.620.0", - "@aws-sdk/middleware-sdk-api-gateway": "3.620.0", "@aws-sdk/middleware-user-agent": "3.620.0", "@aws-sdk/region-config-resolver": "3.614.0", "@aws-sdk/types": "3.609.0", @@ -7692,11 +7205,18 @@ "@smithy/util-endpoints": "^2.0.5", "@smithy/util-middleware": "^3.0.3", "@smithy/util-retry": "^3.0.3", - "@smithy/util-stream": "^3.1.3", "@smithy/util-utf8": "^3.0.0", "tslib": "^2.6.2" }, "dependencies": { + "@smithy/is-array-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", + "requires": { + "tslib": "^2.6.2" + } + }, "@smithy/service-error-classification": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.3.tgz", @@ -7722,13 +7242,33 @@ "@smithy/types": "^3.3.0", "tslib": "^2.6.2" } + }, + "@smithy/util-utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", + "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", + "requires": { + "@smithy/util-buffer-from": "^3.0.0", + "tslib": "^2.6.2" + }, + "dependencies": { + "@smithy/util-buffer-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", + "requires": { + "@smithy/is-array-buffer": "^3.0.0", + "tslib": "^2.6.2" + } + } + } } } }, - "@aws-sdk/client-cognito-identity": { + "@aws-sdk/client-config-service": { "version": "3.621.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.621.0.tgz", - "integrity": "sha512-FpXia5qFf6ijcNDWenVq+mP9r1LbiW/+52i9wrv2+Afi6Nn1ROf8W7St8WvE9TEZ3t78y+vis4CwqfGts+uiKA==", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-config-service/-/client-config-service-3.621.0.tgz", + "integrity": "sha512-6hqRpwrQXAhmSLwAawqVYu0/az56TF1/YUoFDGlsuB1Dd8cXRBXK5o5J8diYLUNa9I40+7hV72xceu4fyrEoCQ==", "requires": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", @@ -7773,6 +7313,14 @@ "tslib": "^2.6.2" }, "dependencies": { + "@smithy/is-array-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", + "requires": { + "tslib": "^2.6.2" + } + }, "@smithy/service-error-classification": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.3.tgz", @@ -7798,13 +7346,33 @@ "@smithy/types": "^3.3.0", "tslib": "^2.6.2" } + }, + "@smithy/util-utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", + "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", + "requires": { + "@smithy/util-buffer-from": "^3.0.0", + "tslib": "^2.6.2" + }, + "dependencies": { + "@smithy/util-buffer-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", + "requires": { + "@smithy/is-array-buffer": "^3.0.0", + "tslib": "^2.6.2" + } + } + } } } }, - "@aws-sdk/client-cognito-identity-provider": { + "@aws-sdk/client-dynamodb-streams": { "version": "3.621.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity-provider/-/client-cognito-identity-provider-3.621.0.tgz", - "integrity": "sha512-Tu2m18zW87gJwme6J74p/ZrfC5eJ3kv4yXpCAkfOz1JBO0vfxdoZIkkZ94G5tuCpiS5kljwS6GXpsKOojpVXcg==", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-dynamodb-streams/-/client-dynamodb-streams-3.621.0.tgz", + "integrity": "sha512-sDY82RAdN2ei4EDpFNoO5Ghcl5QPHKJyeYZai62Yt3muWk13RCaUgKh5ufKjMzrfyujioDTSTGTebWTltgAW+Q==", "requires": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", @@ -7849,6 +7417,14 @@ "tslib": "^2.6.2" }, "dependencies": { + "@smithy/is-array-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", + "requires": { + "tslib": "^2.6.2" + } + }, "@smithy/service-error-classification": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.3.tgz", @@ -7874,13 +7450,33 @@ "@smithy/types": "^3.3.0", "tslib": "^2.6.2" } + }, + "@smithy/util-utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", + "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", + "requires": { + "@smithy/util-buffer-from": "^3.0.0", + "tslib": "^2.6.2" + }, + "dependencies": { + "@smithy/util-buffer-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", + "requires": { + "@smithy/is-array-buffer": "^3.0.0", + "tslib": "^2.6.2" + } + } + } } } }, - "@aws-sdk/client-config-service": { + "@aws-sdk/client-ec2": { "version": "3.621.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-config-service/-/client-config-service-3.621.0.tgz", - "integrity": "sha512-6hqRpwrQXAhmSLwAawqVYu0/az56TF1/YUoFDGlsuB1Dd8cXRBXK5o5J8diYLUNa9I40+7hV72xceu4fyrEoCQ==", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-ec2/-/client-ec2-3.621.0.tgz", + "integrity": "sha512-6gMfJL0LgoY0PE3Sw56JHA5qcP2Z+Xz+TPTuDmdOPwFyZI6A1hsf7XBeb9Ye8QRmBxoiflChaiBn7obANAj5tw==", "requires": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", @@ -7891,6 +7487,7 @@ "@aws-sdk/middleware-host-header": "3.620.0", "@aws-sdk/middleware-logger": "3.609.0", "@aws-sdk/middleware-recursion-detection": "3.620.0", + "@aws-sdk/middleware-sdk-ec2": "3.621.0", "@aws-sdk/middleware-user-agent": "3.620.0", "@aws-sdk/region-config-resolver": "3.614.0", "@aws-sdk/types": "3.609.0", @@ -7922,9 +7519,19 @@ "@smithy/util-middleware": "^3.0.3", "@smithy/util-retry": "^3.0.3", "@smithy/util-utf8": "^3.0.0", - "tslib": "^2.6.2" + "@smithy/util-waiter": "^3.1.2", + "tslib": "^2.6.2", + "uuid": "^9.0.1" }, "dependencies": { + "@smithy/is-array-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", + "requires": { + "tslib": "^2.6.2" + } + }, "@smithy/service-error-classification": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.3.tgz", @@ -7950,13 +7557,33 @@ "@smithy/types": "^3.3.0", "tslib": "^2.6.2" } + }, + "@smithy/util-utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", + "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", + "requires": { + "@smithy/util-buffer-from": "^3.0.0", + "tslib": "^2.6.2" + }, + "dependencies": { + "@smithy/util-buffer-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", + "requires": { + "@smithy/is-array-buffer": "^3.0.0", + "tslib": "^2.6.2" + } + } + } } } }, - "@aws-sdk/client-dynamodb-streams": { + "@aws-sdk/client-ecs": { "version": "3.621.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-dynamodb-streams/-/client-dynamodb-streams-3.621.0.tgz", - "integrity": "sha512-sDY82RAdN2ei4EDpFNoO5Ghcl5QPHKJyeYZai62Yt3muWk13RCaUgKh5ufKjMzrfyujioDTSTGTebWTltgAW+Q==", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-ecs/-/client-ecs-3.621.0.tgz", + "integrity": "sha512-0jwDWcMWKv/ODAv8Ez9JmIQVDfDNsfDiCWizEFWaeNts0Lpu4lNANU4JxRG9ttgOiqo5wfUc4SOQ8EXnJoabsQ==", "requires": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", @@ -7998,9 +7625,19 @@ "@smithy/util-middleware": "^3.0.3", "@smithy/util-retry": "^3.0.3", "@smithy/util-utf8": "^3.0.0", - "tslib": "^2.6.2" + "@smithy/util-waiter": "^3.1.2", + "tslib": "^2.6.2", + "uuid": "^9.0.1" }, "dependencies": { + "@smithy/is-array-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", + "requires": { + "tslib": "^2.6.2" + } + }, "@smithy/service-error-classification": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.3.tgz", @@ -8026,13 +7663,33 @@ "@smithy/types": "^3.3.0", "tslib": "^2.6.2" } + }, + "@smithy/util-utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", + "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", + "requires": { + "@smithy/util-buffer-from": "^3.0.0", + "tslib": "^2.6.2" + }, + "dependencies": { + "@smithy/util-buffer-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", + "requires": { + "@smithy/is-array-buffer": "^3.0.0", + "tslib": "^2.6.2" + } + } + } } } }, - "@aws-sdk/client-ec2": { + "@aws-sdk/client-eks": { "version": "3.621.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-ec2/-/client-ec2-3.621.0.tgz", - "integrity": "sha512-6gMfJL0LgoY0PE3Sw56JHA5qcP2Z+Xz+TPTuDmdOPwFyZI6A1hsf7XBeb9Ye8QRmBxoiflChaiBn7obANAj5tw==", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-eks/-/client-eks-3.621.0.tgz", + "integrity": "sha512-0Vh26W9fdbGutikM4cCHH+bIIql0pzBUz3wptwnmBbZFqCOJkSoCeV+Au5G2y/YMbo0IBMrL1NF6Uo71pj14cw==", "requires": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", @@ -8043,7 +7700,6 @@ "@aws-sdk/middleware-host-header": "3.620.0", "@aws-sdk/middleware-logger": "3.609.0", "@aws-sdk/middleware-recursion-detection": "3.620.0", - "@aws-sdk/middleware-sdk-ec2": "3.621.0", "@aws-sdk/middleware-user-agent": "3.620.0", "@aws-sdk/region-config-resolver": "3.614.0", "@aws-sdk/types": "3.609.0", @@ -8080,6 +7736,14 @@ "uuid": "^9.0.1" }, "dependencies": { + "@smithy/is-array-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", + "requires": { + "tslib": "^2.6.2" + } + }, "@smithy/service-error-classification": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.3.tgz", @@ -8106,17 +7770,32 @@ "tslib": "^2.6.2" } }, - "uuid": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", - "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==" + "@smithy/util-utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", + "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", + "requires": { + "@smithy/util-buffer-from": "^3.0.0", + "tslib": "^2.6.2" + }, + "dependencies": { + "@smithy/util-buffer-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", + "requires": { + "@smithy/is-array-buffer": "^3.0.0", + "tslib": "^2.6.2" + } + } + } } } }, - "@aws-sdk/client-ecs": { + "@aws-sdk/client-elastic-load-balancing": { "version": "3.621.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-ecs/-/client-ecs-3.621.0.tgz", - "integrity": "sha512-0jwDWcMWKv/ODAv8Ez9JmIQVDfDNsfDiCWizEFWaeNts0Lpu4lNANU4JxRG9ttgOiqo5wfUc4SOQ8EXnJoabsQ==", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-elastic-load-balancing/-/client-elastic-load-balancing-3.621.0.tgz", + "integrity": "sha512-1xLw2nRuXaqkdzhXYtomXZNLvXD+Ku2T86uMDYnYzuyHe8gKRT8VG/nvo0Q8Jef6r+2ztWM3xvozG0rP37+dug==", "requires": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", @@ -8159,10 +7838,17 @@ "@smithy/util-retry": "^3.0.3", "@smithy/util-utf8": "^3.0.0", "@smithy/util-waiter": "^3.1.2", - "tslib": "^2.6.2", - "uuid": "^9.0.1" + "tslib": "^2.6.2" }, "dependencies": { + "@smithy/is-array-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", + "requires": { + "tslib": "^2.6.2" + } + }, "@smithy/service-error-classification": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.3.tgz", @@ -8189,17 +7875,32 @@ "tslib": "^2.6.2" } }, - "uuid": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", - "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==" + "@smithy/util-utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", + "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", + "requires": { + "@smithy/util-buffer-from": "^3.0.0", + "tslib": "^2.6.2" + }, + "dependencies": { + "@smithy/util-buffer-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", + "requires": { + "@smithy/is-array-buffer": "^3.0.0", + "tslib": "^2.6.2" + } + } + } } } }, - "@aws-sdk/client-eks": { + "@aws-sdk/client-elastic-load-balancing-v2": { "version": "3.621.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-eks/-/client-eks-3.621.0.tgz", - "integrity": "sha512-0Vh26W9fdbGutikM4cCHH+bIIql0pzBUz3wptwnmBbZFqCOJkSoCeV+Au5G2y/YMbo0IBMrL1NF6Uo71pj14cw==", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-elastic-load-balancing-v2/-/client-elastic-load-balancing-v2-3.621.0.tgz", + "integrity": "sha512-rHdaNzheSDPIW/0wE/YMdFKt1ZINYVu3iOSr6d/AwEdvuSCVCWsYyqWUPtmLJKLBKqxIehe620ygpn1zH3TECw==", "requires": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", @@ -8242,10 +7943,17 @@ "@smithy/util-retry": "^3.0.3", "@smithy/util-utf8": "^3.0.0", "@smithy/util-waiter": "^3.1.2", - "tslib": "^2.6.2", - "uuid": "^9.0.1" + "tslib": "^2.6.2" }, "dependencies": { + "@smithy/is-array-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", + "requires": { + "tslib": "^2.6.2" + } + }, "@smithy/service-error-classification": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.3.tgz", @@ -8272,17 +7980,32 @@ "tslib": "^2.6.2" } }, - "uuid": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", - "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==" + "@smithy/util-utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", + "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", + "requires": { + "@smithy/util-buffer-from": "^3.0.0", + "tslib": "^2.6.2" + }, + "dependencies": { + "@smithy/util-buffer-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", + "requires": { + "@smithy/is-array-buffer": "^3.0.0", + "tslib": "^2.6.2" + } + } + } } } }, - "@aws-sdk/client-elastic-load-balancing": { + "@aws-sdk/client-iam": { "version": "3.621.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-elastic-load-balancing/-/client-elastic-load-balancing-3.621.0.tgz", - "integrity": "sha512-1xLw2nRuXaqkdzhXYtomXZNLvXD+Ku2T86uMDYnYzuyHe8gKRT8VG/nvo0Q8Jef6r+2ztWM3xvozG0rP37+dug==", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-iam/-/client-iam-3.621.0.tgz", + "integrity": "sha512-jSxhWbEBVAPCTHqjCiBOH4Vii2kOtUNXadYWVwuXSvOwUFCXT2ku+ObY+6QU74CF1rNrx8cVdTQ0i2lzc5ETCg==", "requires": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", @@ -8328,6 +8051,14 @@ "tslib": "^2.6.2" }, "dependencies": { + "@smithy/is-array-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", + "requires": { + "tslib": "^2.6.2" + } + }, "@smithy/service-error-classification": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.3.tgz", @@ -8353,13 +8084,33 @@ "@smithy/types": "^3.3.0", "tslib": "^2.6.2" } + }, + "@smithy/util-utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", + "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", + "requires": { + "@smithy/util-buffer-from": "^3.0.0", + "tslib": "^2.6.2" + }, + "dependencies": { + "@smithy/util-buffer-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", + "requires": { + "@smithy/is-array-buffer": "^3.0.0", + "tslib": "^2.6.2" + } + } + } } } }, - "@aws-sdk/client-elastic-load-balancing-v2": { + "@aws-sdk/client-lambda": { "version": "3.621.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-elastic-load-balancing-v2/-/client-elastic-load-balancing-v2-3.621.0.tgz", - "integrity": "sha512-rHdaNzheSDPIW/0wE/YMdFKt1ZINYVu3iOSr6d/AwEdvuSCVCWsYyqWUPtmLJKLBKqxIehe620ygpn1zH3TECw==", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-lambda/-/client-lambda-3.621.0.tgz", + "integrity": "sha512-QD3FOMOLc9CQqfYOEzpTlB9LZbpN+0BrLUpc4+kNa+IheD5kes6gRRLB3Y1OLY4GIRTfPnYPTeFnW8AsSbcNzQ==", "requires": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", @@ -8378,6 +8129,9 @@ "@aws-sdk/util-user-agent-node": "3.614.0", "@smithy/config-resolver": "^3.0.5", "@smithy/core": "^2.3.1", + "@smithy/eventstream-serde-browser": "^3.0.5", + "@smithy/eventstream-serde-config-resolver": "^3.0.3", + "@smithy/eventstream-serde-node": "^3.0.4", "@smithy/fetch-http-handler": "^3.2.4", "@smithy/hash-node": "^3.0.3", "@smithy/invalid-dependency": "^3.0.3", @@ -8400,11 +8154,20 @@ "@smithy/util-endpoints": "^2.0.5", "@smithy/util-middleware": "^3.0.3", "@smithy/util-retry": "^3.0.3", + "@smithy/util-stream": "^3.1.3", "@smithy/util-utf8": "^3.0.0", "@smithy/util-waiter": "^3.1.2", "tslib": "^2.6.2" }, "dependencies": { + "@smithy/is-array-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", + "requires": { + "tslib": "^2.6.2" + } + }, "@smithy/service-error-classification": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.3.tgz", @@ -8430,13 +8193,33 @@ "@smithy/types": "^3.3.0", "tslib": "^2.6.2" } + }, + "@smithy/util-utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", + "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", + "requires": { + "@smithy/util-buffer-from": "^3.0.0", + "tslib": "^2.6.2" + }, + "dependencies": { + "@smithy/util-buffer-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", + "requires": { + "@smithy/is-array-buffer": "^3.0.0", + "tslib": "^2.6.2" + } + } + } } } }, - "@aws-sdk/client-iam": { + "@aws-sdk/client-mediaconnect": { "version": "3.621.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-iam/-/client-iam-3.621.0.tgz", - "integrity": "sha512-jSxhWbEBVAPCTHqjCiBOH4Vii2kOtUNXadYWVwuXSvOwUFCXT2ku+ObY+6QU74CF1rNrx8cVdTQ0i2lzc5ETCg==", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-mediaconnect/-/client-mediaconnect-3.621.0.tgz", + "integrity": "sha512-1EOZkGffiAlsJsXB5/kSvwDMtdyyv/ggg8+CeCtscQzobX1z9mVfeG0Zx7F4AxYbzd2w9732L3dJ170zg2/8Fg==", "requires": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", @@ -8482,6 +8265,14 @@ "tslib": "^2.6.2" }, "dependencies": { + "@smithy/is-array-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", + "requires": { + "tslib": "^2.6.2" + } + }, "@smithy/service-error-classification": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.3.tgz", @@ -8507,13 +8298,33 @@ "@smithy/types": "^3.3.0", "tslib": "^2.6.2" } + }, + "@smithy/util-utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", + "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", + "requires": { + "@smithy/util-buffer-from": "^3.0.0", + "tslib": "^2.6.2" + }, + "dependencies": { + "@smithy/util-buffer-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", + "requires": { + "@smithy/is-array-buffer": "^3.0.0", + "tslib": "^2.6.2" + } + } + } } } }, - "@aws-sdk/client-lambda": { + "@aws-sdk/client-opensearch": { "version": "3.621.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-lambda/-/client-lambda-3.621.0.tgz", - "integrity": "sha512-QD3FOMOLc9CQqfYOEzpTlB9LZbpN+0BrLUpc4+kNa+IheD5kes6gRRLB3Y1OLY4GIRTfPnYPTeFnW8AsSbcNzQ==", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-opensearch/-/client-opensearch-3.621.0.tgz", + "integrity": "sha512-zSPQ9uV6bPrhx2TYQlRyAWi+iGmDoEgFfuMvqfPQR3e9sZeBHukcnAnBTai08dhVWz27Z6paYXaLEN3y12J7IA==", "requires": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", @@ -8532,9 +8343,6 @@ "@aws-sdk/util-user-agent-node": "3.614.0", "@smithy/config-resolver": "^3.0.5", "@smithy/core": "^2.3.1", - "@smithy/eventstream-serde-browser": "^3.0.5", - "@smithy/eventstream-serde-config-resolver": "^3.0.3", - "@smithy/eventstream-serde-node": "^3.0.4", "@smithy/fetch-http-handler": "^3.2.4", "@smithy/hash-node": "^3.0.3", "@smithy/invalid-dependency": "^3.0.3", @@ -8557,12 +8365,18 @@ "@smithy/util-endpoints": "^2.0.5", "@smithy/util-middleware": "^3.0.3", "@smithy/util-retry": "^3.0.3", - "@smithy/util-stream": "^3.1.3", "@smithy/util-utf8": "^3.0.0", - "@smithy/util-waiter": "^3.1.2", "tslib": "^2.6.2" }, "dependencies": { + "@smithy/is-array-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", + "requires": { + "tslib": "^2.6.2" + } + }, "@smithy/service-error-classification": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.3.tgz", @@ -8588,13 +8402,33 @@ "@smithy/types": "^3.3.0", "tslib": "^2.6.2" } + }, + "@smithy/util-utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", + "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", + "requires": { + "@smithy/util-buffer-from": "^3.0.0", + "tslib": "^2.6.2" + }, + "dependencies": { + "@smithy/util-buffer-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", + "requires": { + "@smithy/is-array-buffer": "^3.0.0", + "tslib": "^2.6.2" + } + } + } } } }, - "@aws-sdk/client-opensearch": { + "@aws-sdk/client-organizations": { "version": "3.621.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-opensearch/-/client-opensearch-3.621.0.tgz", - "integrity": "sha512-zSPQ9uV6bPrhx2TYQlRyAWi+iGmDoEgFfuMvqfPQR3e9sZeBHukcnAnBTai08dhVWz27Z6paYXaLEN3y12J7IA==", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-organizations/-/client-organizations-3.621.0.tgz", + "integrity": "sha512-yzQPgzVDtDxhzdAVMlW95lyy2576OmVUs6xCNO10aalD3a6H4E1zwyX0o6/wLyLP0pVjCY+4uzmNtOb4Wann9g==", "requires": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", @@ -8639,6 +8473,14 @@ "tslib": "^2.6.2" }, "dependencies": { + "@smithy/is-array-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", + "requires": { + "tslib": "^2.6.2" + } + }, "@smithy/service-error-classification": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.3.tgz", @@ -8664,13 +8506,33 @@ "@smithy/types": "^3.3.0", "tslib": "^2.6.2" } + }, + "@smithy/util-utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", + "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", + "requires": { + "@smithy/util-buffer-from": "^3.0.0", + "tslib": "^2.6.2" + }, + "dependencies": { + "@smithy/util-buffer-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", + "requires": { + "@smithy/is-array-buffer": "^3.0.0", + "tslib": "^2.6.2" + } + } + } } } }, - "@aws-sdk/client-organizations": { + "@aws-sdk/client-service-catalog-appregistry": { "version": "3.621.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-organizations/-/client-organizations-3.621.0.tgz", - "integrity": "sha512-yzQPgzVDtDxhzdAVMlW95lyy2576OmVUs6xCNO10aalD3a6H4E1zwyX0o6/wLyLP0pVjCY+4uzmNtOb4Wann9g==", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-service-catalog-appregistry/-/client-service-catalog-appregistry-3.621.0.tgz", + "integrity": "sha512-AiqT3VNCOuG56MhZiG/UKFwgxKnz5FAOt/e2FSjf+Nt5Hefq9/4Whjf0uWByRYyI3IJhON2sVzbRz0pzyToeYA==", "requires": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", @@ -8712,9 +8574,18 @@ "@smithy/util-middleware": "^3.0.3", "@smithy/util-retry": "^3.0.3", "@smithy/util-utf8": "^3.0.0", - "tslib": "^2.6.2" + "tslib": "^2.6.2", + "uuid": "^9.0.1" }, "dependencies": { + "@smithy/is-array-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", + "requires": { + "tslib": "^2.6.2" + } + }, "@smithy/service-error-classification": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.3.tgz", @@ -8740,6 +8611,26 @@ "@smithy/types": "^3.3.0", "tslib": "^2.6.2" } + }, + "@smithy/util-utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", + "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", + "requires": { + "@smithy/util-buffer-from": "^3.0.0", + "tslib": "^2.6.2" + }, + "dependencies": { + "@smithy/util-buffer-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", + "requires": { + "@smithy/is-array-buffer": "^3.0.0", + "tslib": "^2.6.2" + } + } + } } } }, @@ -8791,6 +8682,14 @@ "tslib": "^2.6.2" }, "dependencies": { + "@smithy/is-array-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", + "requires": { + "tslib": "^2.6.2" + } + }, "@smithy/service-error-classification": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.3.tgz", @@ -8816,6 +8715,26 @@ "@smithy/types": "^3.3.0", "tslib": "^2.6.2" } + }, + "@smithy/util-utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", + "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", + "requires": { + "@smithy/util-buffer-from": "^3.0.0", + "tslib": "^2.6.2" + }, + "dependencies": { + "@smithy/util-buffer-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", + "requires": { + "@smithy/is-array-buffer": "^3.0.0", + "tslib": "^2.6.2" + } + } + } } } }, @@ -8864,6 +8783,14 @@ "tslib": "^2.6.2" }, "dependencies": { + "@smithy/is-array-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", + "requires": { + "tslib": "^2.6.2" + } + }, "@smithy/service-error-classification": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.3.tgz", @@ -8880,6 +8807,15 @@ "tslib": "^2.6.2" } }, + "@smithy/util-buffer-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", + "requires": { + "@smithy/is-array-buffer": "^3.0.0", + "tslib": "^2.6.2" + } + }, "@smithy/util-retry": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-3.0.3.tgz", @@ -8889,6 +8825,15 @@ "@smithy/types": "^3.3.0", "tslib": "^2.6.2" } + }, + "@smithy/util-utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", + "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", + "requires": { + "@smithy/util-buffer-from": "^3.0.0", + "tslib": "^2.6.2" + } } } }, @@ -8938,6 +8883,14 @@ "tslib": "^2.6.2" }, "dependencies": { + "@smithy/is-array-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", + "requires": { + "tslib": "^2.6.2" + } + }, "@smithy/service-error-classification": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.3.tgz", @@ -8954,6 +8907,15 @@ "tslib": "^2.6.2" } }, + "@smithy/util-buffer-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", + "requires": { + "@smithy/is-array-buffer": "^3.0.0", + "tslib": "^2.6.2" + } + }, "@smithy/util-retry": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-3.0.3.tgz", @@ -8963,6 +8925,15 @@ "@smithy/types": "^3.3.0", "tslib": "^2.6.2" } + }, + "@smithy/util-utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", + "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", + "requires": { + "@smithy/util-buffer-from": "^3.0.0", + "tslib": "^2.6.2" + } } } }, @@ -9013,6 +8984,14 @@ "tslib": "^2.6.2" }, "dependencies": { + "@smithy/is-array-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", + "requires": { + "tslib": "^2.6.2" + } + }, "@smithy/service-error-classification": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.3.tgz", @@ -9029,6 +9008,15 @@ "tslib": "^2.6.2" } }, + "@smithy/util-buffer-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", + "requires": { + "@smithy/is-array-buffer": "^3.0.0", + "tslib": "^2.6.2" + } + }, "@smithy/util-retry": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-3.0.3.tgz", @@ -9038,6 +9026,15 @@ "@smithy/types": "^3.3.0", "tslib": "^2.6.2" } + }, + "@smithy/util-utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", + "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", + "requires": { + "@smithy/util-buffer-from": "^3.0.0", + "tslib": "^2.6.2" + } } } }, @@ -9488,11 +9485,11 @@ } }, "@aws-sdk/util-arn-parser": { - "version": "3.465.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.465.0.tgz", - "integrity": "sha512-zOJ82vzDJFqBX9yZBlNeHHrul/kpx/DCoxzW5UBbZeb26kfV53QhMSoEmY8/lEbBqlqargJ/sgRC845GFhHNQw==", + "version": "3.568.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.568.0.tgz", + "integrity": "sha512-XUKJWWo+KOB7fbnPP0+g/o5Ulku/X53t7i/h+sPHr5xxYTJJ9CYnbToo95mzxe7xWvkLrsNtJ8L+MnNn9INs2w==", "requires": { - "tslib": "^2.5.0" + "tslib": "^2.6.2" } }, "@aws-sdk/util-endpoints": { @@ -9587,443 +9584,224 @@ } } }, - "@babel/compat-data": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.15.0.tgz", - "integrity": "sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA==", + "@babel/helper-string-parser": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.7.tgz", + "integrity": "sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==", "dev": true }, - "@babel/core": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.8.tgz", - "integrity": "sha512-3UG9dsxvYBMYwRv+gS41WKHno4K60/9GPy1CJaH6xy3Elq8CTtvtjT5R5jmNhXfCYLX2mTw+7/aq5ak/gOE0og==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.15.8", - "@babel/generator": "^7.15.8", - "@babel/helper-compilation-targets": "^7.15.4", - "@babel/helper-module-transforms": "^7.15.8", - "@babel/helpers": "^7.15.4", - "@babel/parser": "^7.15.8", - "@babel/template": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.6", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.1.2", - "semver": "^6.3.0", - "source-map": "^0.5.0" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.15.8.tgz", - "integrity": "sha512-2IAnmn8zbvC/jKYhq5Ki9I+DwjlrtMPUCH/CpHvqI4dNnlwHwsxoIhlc8WcYY5LSYknXQtAlFYuHfqAFCvQ4Wg==", - "dev": true, - "requires": { - "@babel/highlight": "^7.14.5" - } - } - } + "@babel/helper-validator-identifier": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", + "dev": true }, - "@babel/generator": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", - "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", - "dev": true, - "requires": { - "@babel/types": "^7.23.0", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - } + "@babel/parser": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.7.tgz", + "integrity": "sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==", + "dev": true }, - "@babel/helper-compilation-targets": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.4.tgz", - "integrity": "sha512-rMWPCirulnPSe4d+gwdWXLfAXTTBj8M3guAf5xFQJ0nvFY7tfNAFnWdqaHegHlgDZOCT4qvhF3BYlSJag8yhqQ==", + "@babel/types": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.7.tgz", + "integrity": "sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==", "dev": true, "requires": { - "@babel/compat-data": "^7.15.0", - "@babel/helper-validator-option": "^7.14.5", - "browserslist": "^4.16.6", - "semver": "^6.3.0" + "@babel/helper-string-parser": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7", + "to-fast-properties": "^2.0.0" } }, - "@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", + "@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", "dev": true }, - "@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", - "dev": true, + "@dabh/diagnostics": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.2.tgz", + "integrity": "sha512-+A1YivoVDNNVCdfozHSR8v/jyuuLTMXwjWuxPFlFlUapXoGc+Gj9mDlTDDfrwl7rXCl2tNZ0kE8sIBO6YOn96Q==", "requires": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" + "colorspace": "1.1.x", + "enabled": "2.0.x", + "kuler": "^2.0.0" } }, - "@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "@esbuild/aix-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", + "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } + "optional": true }, - "@babel/helper-member-expression-to-functions": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.4.tgz", - "integrity": "sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA==", + "@esbuild/android-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", + "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } + "optional": true }, - "@babel/helper-module-imports": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.15.4.tgz", - "integrity": "sha512-jeAHZbzUwdW/xHgHQ3QmWR4Jg6j15q4w/gCfwZvtqOxoo5DKtLHk8Bsf4c5RZRC7NmLEs+ohkdq8jFefuvIxAA==", + "@esbuild/android-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", + "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } + "optional": true }, - "@babel/helper-module-transforms": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.8.tgz", - "integrity": "sha512-DfAfA6PfpG8t4S6npwzLvTUpp0sS7JrcuaMiy1Y5645laRJIp/LiLGIBbQKaXSInK8tiGNI7FL7L8UvB8gdUZg==", + "@esbuild/android-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", + "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.15.4", - "@babel/helper-replace-supers": "^7.15.4", - "@babel/helper-simple-access": "^7.15.4", - "@babel/helper-split-export-declaration": "^7.15.4", - "@babel/helper-validator-identifier": "^7.15.7", - "@babel/template": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.6" - } + "optional": true }, - "@babel/helper-optimise-call-expression": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.15.4.tgz", - "integrity": "sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw==", + "@esbuild/darwin-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", + "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } + "optional": true }, - "@babel/helper-replace-supers": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.4.tgz", - "integrity": "sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw==", + "@esbuild/darwin-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", + "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", "dev": true, - "requires": { - "@babel/helper-member-expression-to-functions": "^7.15.4", - "@babel/helper-optimise-call-expression": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.4" - } + "optional": true }, - "@babel/helper-simple-access": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.15.4.tgz", - "integrity": "sha512-UzazrDoIVOZZcTeHHEPYrr1MvTR/K+wgLg6MY6e1CJyaRhbibftF6fR2KU2sFRtI/nERUZR9fBd6aKgBlIBaPg==", + "@esbuild/freebsd-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", + "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } + "optional": true }, - "@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "@esbuild/freebsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", + "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", - "dev": true - }, - "@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", - "dev": true + "optional": true }, - "@babel/helper-validator-option": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz", - "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==", - "dev": true + "@esbuild/linux-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", + "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", + "dev": true, + "optional": true }, - "@babel/helpers": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.4.tgz", - "integrity": "sha512-V45u6dqEJ3w2rlryYYXf6i9rQ5YMNu4FLS6ngs8ikblhu2VdR1AqAd6aJjBzmf2Qzh6KOLqKHxEN9+TFbAkAVQ==", + "@esbuild/linux-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", + "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", "dev": true, - "requires": { - "@babel/template": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.4" - } + "optional": true }, - "@babel/highlight": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", - "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", + "@esbuild/linux-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", + "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" - } + "optional": true }, - "@babel/parser": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", - "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", - "dev": true + "@esbuild/linux-loong64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", + "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", + "dev": true, + "optional": true }, - "@babel/template": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", - "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", + "@esbuild/linux-mips64el": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", + "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", "dev": true, - "requires": { - "@babel/code-frame": "^7.22.13", - "@babel/parser": "^7.22.15", - "@babel/types": "^7.22.15" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.22.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", - "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", - "dev": true, - "requires": { - "@babel/highlight": "^7.22.13", - "chalk": "^2.4.2" - } - } - } + "optional": true }, - "@babel/traverse": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", - "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", + "@esbuild/linux-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", + "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", "dev": true, - "requires": { - "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.23.0", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.0", - "@babel/types": "^7.23.0", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.22.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", - "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", - "dev": true, - "requires": { - "@babel/highlight": "^7.22.13", - "chalk": "^2.4.2" - } - } - } + "optional": true }, - "@babel/types": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", - "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", + "@esbuild/linux-riscv64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", + "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", "dev": true, - "requires": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.20", - "to-fast-properties": "^2.0.0" - } + "optional": true }, - "@dabh/diagnostics": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.2.tgz", - "integrity": "sha512-+A1YivoVDNNVCdfozHSR8v/jyuuLTMXwjWuxPFlFlUapXoGc+Gj9mDlTDDfrwl7rXCl2tNZ0kE8sIBO6YOn96Q==", - "requires": { - "colorspace": "1.1.x", - "enabled": "2.0.x", - "kuler": "^2.0.0" - } + "@esbuild/linux-s390x": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", + "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", + "dev": true, + "optional": true }, - "@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "@esbuild/linux-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", + "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", "dev": true, - "requires": { - "eslint-visitor-keys": "^3.3.0" - } + "optional": true }, - "@eslint-community/regexpp": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.9.1.tgz", - "integrity": "sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==", - "dev": true + "@esbuild/netbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", + "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", + "dev": true, + "optional": true }, - "@eslint/eslintrc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", - "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", + "@esbuild/openbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", + "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", "dev": true, - "requires": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "dependencies": { - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "globals": { - "version": "13.23.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", - "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - } - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "requires": { - "argparse": "^2.0.1" - } - }, - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true - } - } + "optional": true }, - "@eslint/js": { - "version": "8.51.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.51.0.tgz", - "integrity": "sha512-HxjQ8Qn+4SI3/AFv6sOrDB+g6PpUTDwSJiQqOrnneEk8L71161srI9gjzzZvYVbzHiVg/BvcH95+cK/zfIt4pg==", - "dev": true + "@esbuild/sunos-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", + "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", + "dev": true, + "optional": true }, - "@humanwhocodes/config-array": { - "version": "0.11.13", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", - "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==", + "@esbuild/win32-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", + "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", "dev": true, - "requires": { - "@humanwhocodes/object-schema": "^2.0.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" - } + "optional": true }, - "@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true + "@esbuild/win32-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", + "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", + "dev": true, + "optional": true }, - "@humanwhocodes/object-schema": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz", - "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==", - "dev": true + "@esbuild/win32-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", + "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", + "dev": true, + "optional": true }, - "@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", "dev": true, "requires": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, - "dependencies": { - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true - } + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" } }, "@istanbuljs/schema": { @@ -10033,69 +9811,162 @@ "dev": true }, "@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", "dev": true, "requires": { - "@jridgewell/set-array": "^1.0.1", + "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/trace-mapping": "^0.3.24" } }, "@jridgewell/resolve-uri": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", - "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", "dev": true }, "@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", "dev": true }, "@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", "dev": true }, "@jridgewell/trace-mapping": { - "version": "0.3.20", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", - "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", "dev": true, "requires": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "@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==", + "@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", "dev": true, - "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - } + "optional": true }, - "@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==", - "dev": true + "@rollup/rollup-android-arm-eabi": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.22.4.tgz", + "integrity": "sha512-Fxamp4aEZnfPOcGA8KSNEohV8hX7zVHOemC8jVBoBUHu5zpJK/Eu3uJwt6BMgy9fkvzxDaurgj96F/NiLukF2w==", + "dev": true, + "optional": true }, - "@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==", + "@rollup/rollup-android-arm64": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.22.4.tgz", + "integrity": "sha512-VXoK5UMrgECLYaMuGuVTOx5kcuap1Jm8g/M83RnCHBKOqvPPmROFJGQaZhGccnsFtfXQ3XYa4/jMCJvZnbJBdA==", "dev": true, - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - } + "optional": true + }, + "@rollup/rollup-darwin-arm64": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.22.4.tgz", + "integrity": "sha512-xMM9ORBqu81jyMKCDP+SZDhnX2QEVQzTcC6G18KlTQEzWK8r/oNZtKuZaCcHhnsa6fEeOBionoyl5JsAbE/36Q==", + "dev": true, + "optional": true + }, + "@rollup/rollup-darwin-x64": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.22.4.tgz", + "integrity": "sha512-aJJyYKQwbHuhTUrjWjxEvGnNNBCnmpHDvrb8JFDbeSH3m2XdHcxDd3jthAzvmoI8w/kSjd2y0udT+4okADsZIw==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.22.4.tgz", + "integrity": "sha512-j63YtCIRAzbO+gC2L9dWXRh5BFetsv0j0va0Wi9epXDgU/XUi5dJKo4USTttVyK7fGw2nPWK0PbAvyliz50SCQ==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-arm-musleabihf": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.22.4.tgz", + "integrity": "sha512-dJnWUgwWBX1YBRsuKKMOlXCzh2Wu1mlHzv20TpqEsfdZLb3WoJW2kIEsGwLkroYf24IrPAvOT/ZQ2OYMV6vlrg==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-arm64-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.22.4.tgz", + "integrity": "sha512-AdPRoNi3NKVLolCN/Sp4F4N1d98c4SBnHMKoLuiG6RXgoZ4sllseuGioszumnPGmPM2O7qaAX/IJdeDU8f26Aw==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-arm64-musl": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.22.4.tgz", + "integrity": "sha512-Gl0AxBtDg8uoAn5CCqQDMqAx22Wx22pjDOjBdmG0VIWX3qUBHzYmOKh8KXHL4UpogfJ14G4wk16EQogF+v8hmA==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.22.4.tgz", + "integrity": "sha512-3aVCK9xfWW1oGQpTsYJJPF6bfpWfhbRnhdlyhak2ZiyFLDaayz0EP5j9V1RVLAAxlmWKTDfS9wyRyY3hvhPoOg==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-riscv64-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.22.4.tgz", + "integrity": "sha512-ePYIir6VYnhgv2C5Xe9u+ico4t8sZWXschR6fMgoPUK31yQu7hTEJb7bCqivHECwIClJfKgE7zYsh1qTP3WHUA==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-s390x-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.22.4.tgz", + "integrity": "sha512-GqFJ9wLlbB9daxhVlrTe61vJtEY99/xB3C8e4ULVsVfflcpmR6c8UZXjtkMA6FhNONhj2eA5Tk9uAVw5orEs4Q==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-x64-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.22.4.tgz", + "integrity": "sha512-87v0ol2sH9GE3cLQLNEy0K/R0pz1nvg76o8M5nhMR0+Q+BBGLnb35P0fVz4CQxHYXaAOhE8HhlkaZfsdUOlHwg==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-x64-musl": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.22.4.tgz", + "integrity": "sha512-UV6FZMUgePDZrFjrNGIWzDo/vABebuXBhJEqrHxrGiU6HikPy0Z3LfdtciIttEUQfuDdCn8fqh7wiFJjCNwO+g==", + "dev": true, + "optional": true + }, + "@rollup/rollup-win32-arm64-msvc": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.22.4.tgz", + "integrity": "sha512-BjI+NVVEGAXjGWYHz/vv0pBqfGoUH0IGZ0cICTn7kB9PyjrATSkX+8WkguNjWoj2qSr1im/+tTGRaY+4/PdcQw==", + "dev": true, + "optional": true + }, + "@rollup/rollup-win32-ia32-msvc": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.22.4.tgz", + "integrity": "sha512-SiWG/1TuUdPvYmzmYnmd3IEifzR61Tragkbx9D3+R8mzQqDBz8v+BvZNDlkiTtI9T15KYZhP0ehn3Dld4n9J5g==", + "dev": true, + "optional": true + }, + "@rollup/rollup-win32-x64-msvc": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.22.4.tgz", + "integrity": "sha512-j8pPKp53/lq9lMXN57S8cFz0MynJk8OWNuUnXct/9KCpKU7DgU3bYMJhwWmcqC0UU29p8Lr0/7KEVcaM6bf47Q==", + "dev": true, + "optional": true }, "@sinonjs/commons": { "version": "3.0.0", @@ -10364,6 +10235,14 @@ "tslib": "^2.6.2" }, "dependencies": { + "@smithy/is-array-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", + "requires": { + "tslib": "^2.6.2" + } + }, "@smithy/types": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", @@ -10371,6 +10250,24 @@ "requires": { "tslib": "^2.6.2" } + }, + "@smithy/util-buffer-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", + "requires": { + "@smithy/is-array-buffer": "^3.0.0", + "tslib": "^2.6.2" + } + }, + "@smithy/util-utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", + "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", + "requires": { + "@smithy/util-buffer-from": "^3.0.0", + "tslib": "^2.6.2" + } } } }, @@ -10394,9 +10291,9 @@ } }, "@smithy/is-array-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", - "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz", + "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==", "requires": { "tslib": "^2.6.2" } @@ -10486,11 +10383,6 @@ "@smithy/types": "^3.3.0", "tslib": "^2.6.2" } - }, - "uuid": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", - "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==" } } }, @@ -10653,11 +10545,11 @@ } }, "@smithy/service-error-classification": { - "version": "2.0.9", - "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-2.0.9.tgz", - "integrity": "sha512-0K+8GvtwI7VkGmmInPydM2XZyBfIqLIbfR7mDQ+oPiz8mIinuHbV6sxOLdvX1Jv/myk7XTK9orgt3tuEpBu/zg==", + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-2.1.5.tgz", + "integrity": "sha512-uBDTIBBEdAQryvHdc5W8sS5YX7RQzF683XrHePVdFmAgKiMofU15FLSM0/HU03hKTnazdNRFa0YHS7+ArwoUSQ==", "requires": { - "@smithy/types": "^2.8.0" + "@smithy/types": "^2.12.0" } }, "@smithy/shared-ini-file-loader": { @@ -10694,6 +10586,14 @@ "tslib": "^2.6.2" }, "dependencies": { + "@smithy/is-array-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", + "requires": { + "tslib": "^2.6.2" + } + }, "@smithy/types": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", @@ -10701,6 +10601,24 @@ "requires": { "tslib": "^2.6.2" } + }, + "@smithy/util-buffer-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", + "requires": { + "@smithy/is-array-buffer": "^3.0.0", + "tslib": "^2.6.2" + } + }, + "@smithy/util-utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", + "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", + "requires": { + "@smithy/util-buffer-from": "^3.0.0", + "tslib": "^2.6.2" + } } } }, @@ -10728,11 +10646,11 @@ } }, "@smithy/types": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-2.8.0.tgz", - "integrity": "sha512-h9sz24cFgt/W1Re22OlhQKmUZkNh244ApgRsUDYinqF8R+QgcsBIX344u2j61TPshsTz3CvL6HYU1DnQdsSrHA==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-2.12.0.tgz", + "integrity": "sha512-QwYgloJ0sVNBeBuBs65cIkTbfzV/Q6ZNPCJ99EICFEdJYG50nGIY/uYXp+TbsdJReIuPr0a0kXmCvren3MbRRw==", "requires": { - "tslib": "^2.5.0" + "tslib": "^2.6.2" } }, "@smithy/url-parser": { @@ -10763,6 +10681,34 @@ "@smithy/util-buffer-from": "^3.0.0", "@smithy/util-utf8": "^3.0.0", "tslib": "^2.6.2" + }, + "dependencies": { + "@smithy/is-array-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", + "requires": { + "tslib": "^2.6.2" + } + }, + "@smithy/util-buffer-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", + "requires": { + "@smithy/is-array-buffer": "^3.0.0", + "tslib": "^2.6.2" + } + }, + "@smithy/util-utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", + "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", + "requires": { + "@smithy/util-buffer-from": "^3.0.0", + "tslib": "^2.6.2" + } + } } }, "@smithy/util-body-length-browser": { @@ -10782,11 +10728,11 @@ } }, "@smithy/util-buffer-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", - "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz", + "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==", "requires": { - "@smithy/is-array-buffer": "^3.0.0", + "@smithy/is-array-buffer": "^2.2.0", "tslib": "^2.6.2" } }, @@ -10916,43 +10862,14 @@ "tslib": "^2.6.2" }, "dependencies": { - "@smithy/types": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", - "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "@smithy/is-array-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", "requires": { "tslib": "^2.6.2" } - } - } - }, - "@smithy/util-uri-escape": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-3.0.0.tgz", - "integrity": "sha512-LqR7qYLgZTD7nWLBecUi4aqolw8Mhza9ArpNEQ881MJJIU2sE5iHCK6TdyqqzcDLy0OPe10IY4T8ctVdtynubg==", - "requires": { - "tslib": "^2.6.2" - } - }, - "@smithy/util-utf8": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", - "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", - "requires": { - "@smithy/util-buffer-from": "^3.0.0", - "tslib": "^2.6.2" - } - }, - "@smithy/util-waiter": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@smithy/util-waiter/-/util-waiter-3.1.2.tgz", - "integrity": "sha512-4pP0EV3iTsexDx+8PPGAKCQpd/6hsQBaQhqWzU4hqKPHN5epPsxKbvUTIiYIHTxaKt6/kEaqPBpu/ufvfbrRzw==", - "requires": { - "@smithy/abort-controller": "^3.1.1", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "dependencies": { + }, "@smithy/types": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", @@ -10960,782 +10877,454 @@ "requires": { "tslib": "^2.6.2" } - } - } - }, - "@supercharge/promise-pool": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@supercharge/promise-pool/-/promise-pool-3.1.0.tgz", - "integrity": "sha512-gB3NukbIcYzRtPoE6dx9svQYPodxvnfQlaaQd8N/z87E6WaMfRE7o5HwB+LZ+KeM0nsNAq1n4TmBtfz1VCUR+Q==" - }, - "@types/sinon": { - "version": "10.0.20", - "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-10.0.20.tgz", - "integrity": "sha512-2APKKruFNCAZgx3daAyACGzWuJ028VVCUDk6o2rw/Z4PXT0ogwdV4KUegW0MwVs0Zu59auPXbbuBJHF12Sx1Eg==", - "dev": true, - "requires": { - "@types/sinonjs__fake-timers": "*" - } - }, - "@types/sinonjs__fake-timers": { - "version": "8.1.5", - "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.5.tgz", - "integrity": "sha512-mQkU2jY8jJEF7YHjHvsQO8+3ughTL1mcnn96igfhONmR+fUPSKIkefQYpSe8bsly2Ep7oQbn/6VG5/9/0qcArQ==", - "dev": true - }, - "acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", - "dev": true - }, - "acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "requires": {} - }, - "aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dev": true, - "requires": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - } - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "dev": true - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dev": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "append-transform": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz", - "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==", - "dev": true, - "requires": { - "default-require-extensions": "^3.0.0" - } - }, - "archy": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", - "dev": true - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", - "dev": true - }, - "async": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz", - "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==" - }, - "async-retry": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/async-retry/-/async-retry-1.3.3.tgz", - "integrity": "sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==", - "requires": { - "retry": "0.13.1" - } - }, - "aws-sdk-client-mock": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/aws-sdk-client-mock/-/aws-sdk-client-mock-3.0.1.tgz", - "integrity": "sha512-9VAzJLl8mz99KP9HjOm/93d8vznRRUTpJooPBOunRdUAnVYopCe9xmMuu7eVemu8fQ+w6rP7o5bBK1kAFkB2KQ==", - "dev": true, - "requires": { - "@types/sinon": "^10.0.10", - "sinon": "^16.1.3", - "tslib": "^2.1.0" - }, - "dependencies": { - "@sinonjs/fake-timers": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", - "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", - "dev": true, - "requires": { - "@sinonjs/commons": "^3.0.0" - } - }, - "diff": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", - "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==", - "dev": 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==", - "dev": true }, - "sinon": { - "version": "16.1.3", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-16.1.3.tgz", - "integrity": "sha512-mjnWWeyxcAf9nC0bXcPmiDut+oE8HYridTNzBbF98AYVLmWwGRp2ISEpyhYflG1ifILT+eNn3BmKUJPxjXUPlA==", - "dev": true, + "@smithy/util-buffer-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", "requires": { - "@sinonjs/commons": "^3.0.0", - "@sinonjs/fake-timers": "^10.3.0", - "@sinonjs/samsam": "^8.0.0", - "diff": "^5.1.0", - "nise": "^5.1.4", - "supports-color": "^7.2.0" + "@smithy/is-array-buffer": "^3.0.0", + "tslib": "^2.6.2" } }, - "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, + "@smithy/util-utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", + "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", "requires": { - "has-flag": "^4.0.0" + "@smithy/util-buffer-from": "^3.0.0", + "tslib": "^2.6.2" } } } }, - "aws4": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", - "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==" - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true - }, - "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true - }, - "bowser": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", - "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==" - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "dev": true, - "requires": { - "fill-range": "^7.1.1" - } - }, - "browser-stdout": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", - "dev": true - }, - "browserslist": { - "version": "4.17.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.3.tgz", - "integrity": "sha512-59IqHJV5VGdcJZ+GZ2hU5n4Kv3YiASzW6Xk5g9tf5a/MAzGeFwgGWU39fVzNIOVcgB3+Gp+kiQu0HEfTVU/3VQ==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001264", - "electron-to-chromium": "^1.3.857", - "escalade": "^3.1.1", - "node-releases": "^1.1.77", - "picocolors": "^0.2.1" - } - }, - "caching-transform": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz", - "integrity": "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==", - "dev": true, - "requires": { - "hasha": "^5.0.0", - "make-dir": "^3.0.0", - "package-hash": "^4.0.0", - "write-file-atomic": "^3.0.0" - } - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true - }, - "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true - }, - "caniuse-lite": { - "version": "1.0.30001265", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001265.tgz", - "integrity": "sha512-YzBnspggWV5hep1m9Z6sZVLOt7vrju8xWooFAgN6BA5qvy98qPAPb7vNUzypFaoh2pb3vlfzbDO8tB57UPGbtw==", - "dev": true + "@smithy/util-uri-escape": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-3.0.0.tgz", + "integrity": "sha512-LqR7qYLgZTD7nWLBecUi4aqolw8Mhza9ArpNEQ881MJJIU2sE5iHCK6TdyqqzcDLy0OPe10IY4T8ctVdtynubg==", + "requires": { + "tslib": "^2.6.2" + } }, - "chai": { - "version": "4.3.10", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.10.tgz", - "integrity": "sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g==", - "dev": true, + "@smithy/util-utf8": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz", + "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==", "requires": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.3", - "deep-eql": "^4.1.3", - "get-func-name": "^2.0.2", - "loupe": "^2.3.6", - "pathval": "^1.1.1", - "type-detect": "^4.0.8" + "@smithy/util-buffer-from": "^2.2.0", + "tslib": "^2.6.2" } }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, + "@smithy/util-waiter": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@smithy/util-waiter/-/util-waiter-3.1.2.tgz", + "integrity": "sha512-4pP0EV3iTsexDx+8PPGAKCQpd/6hsQBaQhqWzU4hqKPHN5epPsxKbvUTIiYIHTxaKt6/kEaqPBpu/ufvfbrRzw==", "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "@smithy/abort-controller": "^3.1.1", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "dependencies": { - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, + "@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", "requires": { - "has-flag": "^3.0.0" + "tslib": "^2.6.2" } } } }, - "check-error": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", - "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", - "dev": true, - "requires": { - "get-func-name": "^2.0.2" - } - }, - "chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "dev": true, - "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - } + "@supercharge/promise-pool": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@supercharge/promise-pool/-/promise-pool-3.1.0.tgz", + "integrity": "sha512-gB3NukbIcYzRtPoE6dx9svQYPodxvnfQlaaQd8N/z87E6WaMfRE7o5HwB+LZ+KeM0nsNAq1n4TmBtfz1VCUR+Q==" }, - "clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "@types/estree": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", "dev": true }, - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "@types/sinon": { + "version": "10.0.20", + "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-10.0.20.tgz", + "integrity": "sha512-2APKKruFNCAZgx3daAyACGzWuJ028VVCUDk6o2rw/Z4PXT0ogwdV4KUegW0MwVs0Zu59auPXbbuBJHF12Sx1Eg==", "dev": true, "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" + "@types/sinonjs__fake-timers": "*" } }, - "color": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/color/-/color-3.0.0.tgz", - "integrity": "sha512-jCpd5+s0s0t7p3pHQKpnJ0TpQKKdleP71LWcA0aqiljpiuAkOSUFN/dyH8ZwF0hRmFlrIuRhufds1QyEP9EB+w==", - "requires": { - "color-convert": "^1.9.1", - "color-string": "^1.5.2" - } + "@types/sinonjs__fake-timers": { + "version": "8.1.5", + "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.5.tgz", + "integrity": "sha512-mQkU2jY8jJEF7YHjHvsQO8+3ughTL1mcnn96igfhONmR+fUPSKIkefQYpSe8bsly2Ep7oQbn/6VG5/9/0qcArQ==", + "dev": true }, - "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==", + "@vitest/coverage-v8": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-2.1.1.tgz", + "integrity": "sha512-md/A7A3c42oTT8JUHSqjP5uKTWJejzUW4jalpvs+rZ27gsURsMU8DEb+8Jf8C6Kj2gwfSHJqobDNBuoqlm0cFw==", + "dev": true, "requires": { - "color-name": "1.1.3" + "@ampproject/remapping": "^2.3.0", + "@bcoe/v8-coverage": "^0.2.3", + "debug": "^4.3.6", + "istanbul-lib-coverage": "^3.2.2", + "istanbul-lib-report": "^3.0.1", + "istanbul-lib-source-maps": "^5.0.6", + "istanbul-reports": "^3.1.7", + "magic-string": "^0.30.11", + "magicast": "^0.3.4", + "std-env": "^3.7.0", + "test-exclude": "^7.0.1", + "tinyrainbow": "^1.2.0" } }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "color-string": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.6.0.tgz", - "integrity": "sha512-c/hGS+kRWJutUBEngKKmk4iH3sD59MBkoxVapS/0wgpCz2u7XsNloxknyvBhzwEs1IbV36D9PwqLPJ2DTu3vMA==", + "@vitest/expect": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-2.1.1.tgz", + "integrity": "sha512-YeueunS0HiHiQxk+KEOnq/QMzlUuOzbU1Go+PgAsHvvv3tUkJPm9xWt+6ITNTlzsMXUjmgm5T+U7KBPK2qQV6w==", + "dev": true, "requires": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" + "@vitest/spy": "2.1.1", + "@vitest/utils": "2.1.1", + "chai": "^5.1.1", + "tinyrainbow": "^1.2.0" } }, - "colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==" - }, - "colorspace": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.1.2.tgz", - "integrity": "sha512-vt+OoIP2d76xLhjwbBaucYlNSpPsrJWPlBTtwCpQKIu6/CSMutyzX93O/Do0qzpH3YoHEes8YEFXyZ797rEhzQ==", + "@vitest/mocker": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-2.1.1.tgz", + "integrity": "sha512-LNN5VwOEdJqCmJ/2XJBywB11DLlkbY0ooDJW3uRX5cZyYCrc4PI/ePX0iQhE3BiEGiQmK4GE7Q/PqCkkaiPnrA==", + "dev": true, "requires": { - "color": "3.0.x", - "text-hex": "1.0.x" + "@vitest/spy": "^2.1.0-beta.1", + "estree-walker": "^3.0.3", + "magic-string": "^0.30.11" } }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "convert-source-map": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", + "@vitest/pretty-format": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-2.1.1.tgz", + "integrity": "sha512-SjxPFOtuINDUW8/UkElJYQSFtnWX7tMksSGW0vfjxMneFqxVr8YJ979QpMbDW7g+BIiq88RAGDjf7en6rvLPPQ==", "dev": true, "requires": { - "safe-buffer": "~5.1.1" + "tinyrainbow": "^1.2.0" } }, - "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=" - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "@vitest/runner": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-2.1.1.tgz", + "integrity": "sha512-uTPuY6PWOYitIkLPidaY5L3t0JJITdGTSwBtwMjKzo5O6RCOEncz9PUN+0pDidX8kTHYjO0EwUIvhlGpnGpxmA==", "dev": true, "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "dependencies": { - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } + "@vitest/utils": "2.1.1", + "pathe": "^1.1.2" } }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "@vitest/snapshot": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-2.1.1.tgz", + "integrity": "sha512-BnSku1WFy7r4mm96ha2FzN99AZJgpZOWrAhtQfoxjUU5YMRpq1zmHRq7a5K9/NjqonebO7iVDla+VvZS8BOWMw==", "dev": true, "requires": { - "ms": "2.1.2" + "@vitest/pretty-format": "2.1.1", + "magic-string": "^0.30.11", + "pathe": "^1.1.2" } }, - "decamelize": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", - "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", - "dev": true - }, - "deep-eql": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", - "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", + "@vitest/spy": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-2.1.1.tgz", + "integrity": "sha512-ZM39BnZ9t/xZ/nF4UwRH5il0Sw93QnZXd9NAZGRpIgj0yvVwPpLd702s/Cx955rGaMlyBQkZJ2Ir7qyY48VZ+g==", "dev": true, "requires": { - "type-detect": "^4.0.0" + "tinyspy": "^3.0.0" } }, - "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 - }, - "default-require-extensions": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.0.tgz", - "integrity": "sha512-ek6DpXq/SCpvjhpFsLFRVtIxJCRw6fUR42lYMVZuUMK7n8eMz4Uh5clckdBjEpLhn/gEBZo7hDJnJcwdKLKQjg==", + "@vitest/utils": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-2.1.1.tgz", + "integrity": "sha512-Y6Q9TsI+qJ2CC0ZKj6VBb+T8UPz593N113nnUykqwANqhgf3QkZeHFlusgKLTqrnVHbj/XDKZcDHol+dxVT+rQ==", "dev": true, "requires": { - "strip-bom": "^4.0.0" + "@vitest/pretty-format": "2.1.1", + "loupe": "^3.1.1", + "tinyrainbow": "^1.2.0" } }, - "diff": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", - "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", - "dev": true - }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, + "ajv": { + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.16.0.tgz", + "integrity": "sha512-F0twR8U1ZU67JIEtekUcLkXkoO5mMMmgGD8sK/xUFzJ805jxHQl92hImFAqqXMyMYjSPOyUPAwHYhB72g5sTXw==", "requires": { - "esutils": "^2.0.2" + "fast-deep-equal": "^3.1.3", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.4.1" } }, - "electron-to-chromium": { - "version": "1.3.867", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.867.tgz", - "integrity": "sha512-WbTXOv7hsLhjJyl7jBfDkioaY++iVVZomZ4dU6TMe/SzucV6mUAs2VZn/AehBwuZMiNEQDaPuTGn22YK5o+aDw==", + "ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", "dev": true }, - "enabled": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz", - "integrity": "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==" - }, - "es6-error": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", - "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", + "ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "dev": true }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "assertion-error": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", + "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", "dev": true }, - "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=", - "dev": true + "async": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz", + "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==" }, - "eslint": { - "version": "8.51.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.51.0.tgz", - "integrity": "sha512-2WuxRZBrlwnXi+/vFSJyjMqrNjtJqiasMzehF0shoLaW7DzS3/9Yvrmq5JiT66+pNjiX4UBnLDiKHcWAr/OInA==", - "dev": true, - "requires": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "8.51.0", - "@humanwhocodes/config-array": "^0.11.11", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" + "async-retry": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/async-retry/-/async-retry-1.3.3.tgz", + "integrity": "sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==", + "requires": { + "retry": "0.13.1" + } + }, + "aws-sdk-client-mock": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/aws-sdk-client-mock/-/aws-sdk-client-mock-3.0.1.tgz", + "integrity": "sha512-9VAzJLl8mz99KP9HjOm/93d8vznRRUTpJooPBOunRdUAnVYopCe9xmMuu7eVemu8fQ+w6rP7o5bBK1kAFkB2KQ==", + "dev": true, + "requires": { + "@types/sinon": "^10.0.10", + "sinon": "^16.1.3", + "tslib": "^2.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==", - "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 - }, - "chalk": { - "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" - } - }, - "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": { - "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==", - "dev": true - }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true - }, - "glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "requires": { - "is-glob": "^4.0.3" - } - }, - "globals": { - "version": "13.23.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", - "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", + "@sinonjs/fake-timers": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", "dev": true, "requires": { - "type-fest": "^0.20.2" + "@sinonjs/commons": "^3.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==", + "diff": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", + "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==", "dev": true }, - "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" - } - }, - "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==", + "sinon": { + "version": "16.1.3", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-16.1.3.tgz", + "integrity": "sha512-mjnWWeyxcAf9nC0bXcPmiDut+oE8HYridTNzBbF98AYVLmWwGRp2ISEpyhYflG1ifILT+eNn3BmKUJPxjXUPlA==", "dev": true, "requires": { - "has-flag": "^4.0.0" + "@sinonjs/commons": "^3.0.0", + "@sinonjs/fake-timers": "^10.3.0", + "@sinonjs/samsam": "^8.0.0", + "diff": "^5.1.0", + "nise": "^5.1.4", + "supports-color": "^7.2.0" } - }, - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true } } }, - "eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "aws4": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", + "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==" + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "bowser": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", + "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==" + }, + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" + "balanced-match": "^1.0.0" } }, - "eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "cac": { + "version": "6.7.14", + "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", + "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", "dev": true }, - "espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "chai": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/chai/-/chai-5.1.1.tgz", + "integrity": "sha512-pT1ZgP8rPNqUgieVaEY+ryQr6Q4HXNg8Ei9UnLUrjN4IA7dvQC5JB+/kxVcPNDHyBcc/26CXPkbNzq3qwrOEKA==", "dev": true, "requires": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" + "assertion-error": "^2.0.1", + "check-error": "^2.1.1", + "deep-eql": "^5.0.1", + "loupe": "^3.1.0", + "pathval": "^2.0.0" } }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "check-error": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz", + "integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==", "dev": true }, - "esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "color": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/color/-/color-3.0.0.tgz", + "integrity": "sha512-jCpd5+s0s0t7p3pHQKpnJ0TpQKKdleP71LWcA0aqiljpiuAkOSUFN/dyH8ZwF0hRmFlrIuRhufds1QyEP9EB+w==", + "requires": { + "color-convert": "^1.9.1", + "color-string": "^1.5.2" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "color-string": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.6.0.tgz", + "integrity": "sha512-c/hGS+kRWJutUBEngKKmk4iH3sD59MBkoxVapS/0wgpCz2u7XsNloxknyvBhzwEs1IbV36D9PwqLPJ2DTu3vMA==", + "requires": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==" + }, + "colorspace": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.1.2.tgz", + "integrity": "sha512-vt+OoIP2d76xLhjwbBaucYlNSpPsrJWPlBTtwCpQKIu6/CSMutyzX93O/Do0qzpH3YoHEes8YEFXyZ797rEhzQ==", + "requires": { + "color": "3.0.x", + "text-hex": "1.0.x" + } + }, + "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=" + }, + "cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, "requires": { - "estraverse": "^5.1.0" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" } }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", "dev": true, "requires": { - "estraverse": "^5.2.0" + "ms": "^2.1.3" } }, - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "deep-eql": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz", + "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==", "dev": true }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", "dev": true }, - "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==", + "emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", "dev": true }, - "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==", - "dev": true + "enabled": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz", + "integrity": "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==" }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true + "esbuild": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", + "dev": true, + "requires": { + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" + } + }, + "estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dev": true, + "requires": { + "@types/estree": "^1.0.0" + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, "fast-safe-stringify": { "version": "2.0.7", @@ -11750,201 +11339,57 @@ "strnum": "^1.0.5" } }, - "fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", - "dev": true, - "requires": { - "reusify": "^1.0.4" - } - }, "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==" }, - "file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "requires": { - "flat-cache": "^3.0.4" - } - }, - "fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - } - }, - "find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } - }, - "flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", - "dev": true - }, - "flat-cache": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.1.tgz", - "integrity": "sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==", - "dev": true, - "requires": { - "flatted": "^3.2.9", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" - } - }, - "flatted": { - "version": "3.2.9", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", - "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", - "dev": true - }, "fn.name": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz", "integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==" }, "foreground-child": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz", - "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", "dev": true, "requires": { "cross-spawn": "^7.0.0", - "signal-exit": "^3.0.2" + "signal-exit": "^4.0.1" } }, - "fromentries": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz", - "integrity": "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==", - "dev": true - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "dev": true, "optional": true }, - "gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true - }, "get-func-name": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", "dev": true }, - "get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "dev": true - }, "glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", "dev": true, "requires": { - "is-glob": "^4.0.1" + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" } }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true - }, - "graceful-fs": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", - "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==", - "dev": true - }, - "graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true - }, "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "hasha": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz", - "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==", - "dev": true, - "requires": { - "is-stream": "^2.0.0", - "type-fest": "^0.8.0" - } - }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, "html-escaper": { @@ -11953,120 +11398,22 @@ "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "dev": true }, - "ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", - "dev": true - }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true - }, - "indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, "inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, - "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==", - "dev": true, - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true - }, "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==", "dev": true }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - }, - "is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true - }, - "is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", - "dev": true - }, "is-stream": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, - "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==", - "dev": true - }, - "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==", - "dev": true - }, "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", @@ -12075,102 +11422,41 @@ "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true }, "istanbul-lib-coverage": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.2.tgz", - "integrity": "sha512-o5+eTUYzCJ11/+JhW5/FUCdfsdoYVdQ/8I/OveE2XsjehYn5DdeSnNQAbjYaO8gQ6hvGTN6GM6ddQqpTVG5j8g==", + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", "dev": true }, - "istanbul-lib-hook": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz", - "integrity": "sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==", - "dev": true, - "requires": { - "append-transform": "^2.0.0" - } - }, - "istanbul-lib-instrument": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", - "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", - "dev": true, - "requires": { - "@babel/core": "^7.7.5", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.0.0", - "semver": "^6.3.0" - } - }, - "istanbul-lib-processinfo": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.2.tgz", - "integrity": "sha512-kOwpa7z9hme+IBPZMzQ5vdQj8srYgAtaRqeI48NGmAQ+/5yKiHLV0QbYqQpxsdEF0+w14SoB8YbnHKcXE2KnYw==", - "dev": true, - "requires": { - "archy": "^1.0.0", - "cross-spawn": "^7.0.0", - "istanbul-lib-coverage": "^3.0.0-alpha.1", - "make-dir": "^3.0.0", - "p-map": "^3.0.0", - "rimraf": "^3.0.0", - "uuid": "^3.3.3" - } - }, "istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", "dev": true, "requires": { "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", + "make-dir": "^4.0.0", "supports-color": "^7.1.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": 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==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } } }, "istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-5.0.6.tgz", + "integrity": "sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==", "dev": true, "requires": { + "@jridgewell/trace-mapping": "^0.3.23", "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, - "dependencies": { - "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 - } + "istanbul-lib-coverage": "^3.0.0" } }, "istanbul-reports": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.4.tgz", - "integrity": "sha512-bFjUnc95rHjdCR63WMHUS7yfJJh8T9IPSWavvR02hhjVwezWALZ5axF9EqjmwZHpXqkzbgAMP8DmAtiyNxrdrQ==", + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", + "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", "dev": true, "requires": { "html-escaper": "^2.0.0", @@ -12182,51 +11468,25 @@ "resolved": "https://registry.npmjs.org/iterare/-/iterare-1.2.1.tgz", "integrity": "sha512-RKYVTCjAnRthyJes037NX/IiqeidgN1xc3j1RjFfECFp28A1GVwK9nA+i0rJPaHqSZwygLzRnFlzUuHFoWWy+Q==" }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", "dev": true, "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "@isaacs/cliui": "^8.0.2", + "@pkgjs/parseargs": "^0.11.0" } }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true - }, - "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 + "jmespath": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.16.0.tgz", + "integrity": "sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==" }, "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==", - "dev": true - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true - }, - "json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" }, "just-extend": { "version": "4.2.1", @@ -12234,118 +11494,17 @@ "integrity": "sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg==", "dev": true }, - "keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "requires": { - "json-buffer": "3.0.1" - } - }, "kuler": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz", "integrity": "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==" }, - "levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - } - }, - "locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "requires": { - "p-locate": "^5.0.0" - } - }, - "lodash.flattendeep": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", - "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=", - "dev": true - }, "lodash.get": { "version": "4.4.2", "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", "dev": true }, - "lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, - "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==", - "dev": 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==", - "dev": 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==", - "dev": 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==", - "dev": 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==", - "dev": 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==", - "dev": 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==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, "logform": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/logform/-/logform-2.2.0.tgz", @@ -12359,150 +11518,73 @@ } }, "loupe": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", - "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.1.tgz", + "integrity": "sha512-edNu/8D5MKVfGVFRhFf8aAxiTM6Wumfz5XsaatSxlD3w4R1d/WEKUTydCdPGbl9K7QG/Ca3GnDV2sIKIpXRQcw==", "dev": true, "requires": { "get-func-name": "^2.0.1" } }, + "lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true + }, + "magic-string": { + "version": "0.30.11", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz", + "integrity": "sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==", + "dev": true, + "requires": { + "@jridgewell/sourcemap-codec": "^1.5.0" + } + }, + "magicast": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.3.4.tgz", + "integrity": "sha512-TyDF/Pn36bBji9rWKHlZe+PZb6Mx5V8IHCSxk7X4aljM4e/vyDvZZYwHewdVaqiA0nb3ghfHU/6AUpDxWoER2Q==", + "dev": true, + "requires": { + "@babel/parser": "^7.24.4", + "@babel/types": "^7.24.0", + "source-map-js": "^1.2.0" + } + }, "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==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", "dev": true, "requires": { - "semver": "^6.0.0" + "semver": "^7.5.3" } }, "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "mocha": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz", - "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==", - "dev": true, - "requires": { - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", - "chokidar": "3.5.3", - "debug": "4.3.4", - "diff": "5.0.0", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "7.2.0", - "he": "1.2.0", - "js-yaml": "4.1.0", - "log-symbols": "4.1.0", - "minimatch": "5.0.1", - "ms": "2.1.3", - "nanoid": "3.3.3", - "serialize-javascript": "6.0.0", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "workerpool": "6.2.1", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", - "yargs-unparser": "2.0.0" - }, - "dependencies": { - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true - }, - "glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "dependencies": { - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } - } - }, - "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" - } - }, - "minimatch": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", - "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", - "dev": true, - "requires": { - "brace-expansion": "^2.0.1" - }, - "dependencies": { - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0" - } - } - } - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - } + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" } }, + "minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true + }, "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.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" }, "nanoid": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", - "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", - "dev": true - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", "dev": true }, "nise": { @@ -12549,230 +11631,6 @@ } } }, - "node-preload": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz", - "integrity": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==", - "dev": true, - "requires": { - "process-on-spawn": "^1.0.0" - } - }, - "node-releases": { - "version": "1.1.77", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.77.tgz", - "integrity": "sha512-rB1DUFUNAN4Gn9keO2K1efO35IDK7yKHCdCaIMvFO7yUYmmZYeDjnGKle26G4rwj+LKRQpjyUUvMkPglwGCYNQ==", - "dev": true - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true - }, - "nyc": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz", - "integrity": "sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==", - "dev": true, - "requires": { - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "caching-transform": "^4.0.0", - "convert-source-map": "^1.7.0", - "decamelize": "^1.2.0", - "find-cache-dir": "^3.2.0", - "find-up": "^4.1.0", - "foreground-child": "^2.0.0", - "get-package-type": "^0.1.0", - "glob": "^7.1.6", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-hook": "^3.0.0", - "istanbul-lib-instrument": "^4.0.0", - "istanbul-lib-processinfo": "^2.0.2", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.0.2", - "make-dir": "^3.0.0", - "node-preload": "^0.2.1", - "p-map": "^3.0.0", - "process-on-spawn": "^1.0.0", - "resolve-from": "^5.0.0", - "rimraf": "^3.0.0", - "signal-exit": "^3.0.2", - "spawn-wrap": "^2.0.0", - "test-exclude": "^6.0.0", - "yargs": "^15.0.2" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, - "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.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": { - "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==", - "dev": true - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "dev": true - }, - "yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "dev": true, - "requires": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - } - }, - "yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } - } - }, - "nyc-report-lcov-absolute": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/nyc-report-lcov-absolute/-/nyc-report-lcov-absolute-1.0.0.tgz", - "integrity": "sha512-sDq0XM0on9casPNySxGD/WSy17m95+e8xEhObNHoxVRsTIZZt8akop4WWisnjzEWRARGW91Ip6oRhIWmy4qcPw==", - "dev": true, - "requires": {} - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "requires": { - "wrappy": "1" - } - }, "one-time": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/one-time/-/one-time-1.0.0.tgz", @@ -12781,91 +11639,33 @@ "fn.name": "1.x.x" } }, - "optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", - "dev": true, - "requires": { - "@aashutoshrathi/word-wrap": "^1.2.3", - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" - } - }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "requires": { - "p-limit": "^3.0.2" - } - }, - "p-map": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", - "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", - "dev": true, - "requires": { - "aggregate-error": "^3.0.0" - } - }, "p-throttle": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-throttle/-/p-throttle-4.0.0.tgz", - "integrity": "sha512-KJ8OCUJu/ki0y/2rtQtjgN13l1KS5CdwZ+o1Qb22n1BHcYfzVluP55v0FVUEuPPuZA7RbogdgSI2bVEdGokseA==" + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/p-throttle/-/p-throttle-6.1.0.tgz", + "integrity": "sha512-eQMdGTxk2+047La67wefUtt0tEHh7D+C8Jl7QXoFCuIiNYeQ9zWs2AZiJdIAs72rSXZ06t11me2bgalRNdy3SQ==" }, - "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-from-dist": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", + "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==", "dev": true }, - "package-hash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz", - "integrity": "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.15", - "hasha": "^5.0.0", - "lodash.flattendeep": "^4.4.0", - "release-zalgo": "^1.0.0" - } + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", "dev": true, "requires": { - "callsites": "^3.0.0" + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" } }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "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=", - "dev": true - }, "path-to-regexp": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.9.0.tgz", @@ -12883,118 +11683,50 @@ } } }, - "pathval": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", - "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "pathe": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", + "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", "dev": true }, - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "pathval": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.0.tgz", + "integrity": "sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==", "dev": true }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "picocolors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", + "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==", "dev": true }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "postcss": { + "version": "8.4.47", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", + "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", "dev": true, "requires": { - "find-up": "^4.0.0" - }, - "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - } + "nanoid": "^3.3.7", + "picocolors": "^1.1.0", + "source-map-js": "^1.2.1" } }, - "prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true - }, "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-on-spawn": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz", - "integrity": "sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==", - "dev": true, - "requires": { - "fromentries": "^1.2.0" - } - }, "punycode": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", - "dev": true - }, - "queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==" }, "ramda": { "version": "0.28.0", "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.28.0.tgz", "integrity": "sha512-9QnLuG/kPVgWvMQ4aODhsBUFKOUmnbUnsSXACv+NCQZcHbeb+v8Lodp8OVxtRULN1/xOyYLLaL6npE6dMq5QTA==" }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "requires": { - "safe-buffer": "^5.1.0" - } - }, "readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -13009,78 +11741,48 @@ "util-deprecate": "~1.0.1" } }, - "readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "requires": { - "picomatch": "^2.2.1" - } - }, - "release-zalgo": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz", - "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=", - "dev": true, - "requires": { - "es6-error": "^4.0.1" - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true - }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" }, "retry": { "version": "0.13.1", "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==" }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true - }, - "rewire": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/rewire/-/rewire-7.0.0.tgz", - "integrity": "sha512-DyyNyzwMtGYgu0Zl/ya0PR/oaunM+VuCuBxCuhYJHHaV0V+YvYa3bBGxb5OZ71vndgmp1pYY8F4YOwQo1siRGw==", - "dev": true, - "requires": { - "eslint": "^8.47.0" - } - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "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==", - "dev": true, - "requires": { - "queue-microtask": "^1.2.2" + "rollup": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.22.4.tgz", + "integrity": "sha512-vD8HJ5raRcWOyymsR6Z3o6+RzfEPCnVLMFJ6vRslO1jt4LO6dUo5Qnpg7y4RkZFM2DMe3WUirkI5c16onjrc6A==", + "dev": true, + "requires": { + "@rollup/rollup-android-arm-eabi": "4.22.4", + "@rollup/rollup-android-arm64": "4.22.4", + "@rollup/rollup-darwin-arm64": "4.22.4", + "@rollup/rollup-darwin-x64": "4.22.4", + "@rollup/rollup-linux-arm-gnueabihf": "4.22.4", + "@rollup/rollup-linux-arm-musleabihf": "4.22.4", + "@rollup/rollup-linux-arm64-gnu": "4.22.4", + "@rollup/rollup-linux-arm64-musl": "4.22.4", + "@rollup/rollup-linux-powerpc64le-gnu": "4.22.4", + "@rollup/rollup-linux-riscv64-gnu": "4.22.4", + "@rollup/rollup-linux-s390x-gnu": "4.22.4", + "@rollup/rollup-linux-x64-gnu": "4.22.4", + "@rollup/rollup-linux-x64-musl": "4.22.4", + "@rollup/rollup-win32-arm64-msvc": "4.22.4", + "@rollup/rollup-win32-ia32-msvc": "4.22.4", + "@rollup/rollup-win32-x64-msvc": "4.22.4", + "@types/estree": "1.0.5", + "fsevents": "~2.3.2" + }, + "dependencies": { + "@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true + } } }, "safe-buffer": { @@ -13089,30 +11791,36 @@ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", "dev": true }, - "serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, "requires": { - "randombytes": "^2.1.0" + "shebang-regex": "^3.0.0" } }, - "set-blocking": { + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "siginfo": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", + "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", "dev": true }, "signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true }, "simple-swizzle": { @@ -13149,59 +11857,13 @@ "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==", "dev": 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==", - "dev": 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==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "spawn-wrap": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz", - "integrity": "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==", - "dev": true, - "requires": { - "foreground-child": "^2.0.0", - "is-windows": "^1.0.2", - "make-dir": "^3.0.0", - "rimraf": "^3.0.0", - "signal-exit": "^3.0.2", - "which": "^2.0.1" - }, - "dependencies": { - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } } } }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", "dev": true }, "stack-trace": { @@ -13209,6 +11871,18 @@ "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=" }, + "stackback": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", + "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", + "dev": true + }, + "std-env": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz", + "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==", + "dev": true + }, "string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", @@ -13218,7 +11892,18 @@ } }, "string-width": { - "version": "4.2.3", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "requires": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + } + }, + "string-width-cjs": { + "version": "npm:string-width@4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, @@ -13228,82 +11913,78 @@ "strip-ansi": "^6.0.1" }, "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, "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==", "dev": true + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } } } }, "strip-ansi": { - "version": "6.0.1", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "requires": { + "ansi-regex": "^6.0.1" + } + }, + "strip-ansi-cjs": { + "version": "npm:strip-ansi@6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "requires": { "ansi-regex": "^5.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + } } }, - "strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true - }, - "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true - }, "strnum": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" }, "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "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" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - } } }, "test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-7.0.1.tgz", + "integrity": "sha512-pFYqmTw68LXVjeWJMST4+borgQP2AyMNbg1BpZh9LbyhUeNkeaPF9gzfPGUAnSMV3qPYdWUwDIjjCLiSDOl7vg==", "dev": true, "requires": { "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, - "dependencies": { - "glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - } + "glob": "^10.4.1", + "minimatch": "^9.0.4" } }, "text-hex": { @@ -13311,27 +11992,42 @@ "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz", "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==" }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "tinybench": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", + "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", + "dev": true + }, + "tinyexec": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.0.tgz", + "integrity": "sha512-tVGE0mVJPGb0chKhqmsoosjsS+qUnJVGJpZgsHYQcGoPlG3B51R3PouqTgEGH2Dc9jjFyOqOpix6ZHNMXp1FZg==", + "dev": true + }, + "tinypool": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.0.1.tgz", + "integrity": "sha512-URZYihUbRPcGv95En+sz6MfghfIc2OJ1sv/RmhWZLouPY0/8Vo80viwPvg3dlaS9fuq7fQMEfgRRK7BBZThBEA==", + "dev": true + }, + "tinyrainbow": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-1.2.0.tgz", + "integrity": "sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==", + "dev": true + }, + "tinyspy": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-3.0.2.tgz", + "integrity": "sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==", "dev": true }, "to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", "dev": true }, - "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==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - }, "triple-beam": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.3.0.tgz", @@ -13342,46 +12038,21 @@ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==" }, - "type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1" - } - }, "type-detect": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", "dev": true }, - "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "is-typedarray": "^1.0.0" - } - }, "undici": { - "version": "6.19.2", - "resolved": "https://registry.npmjs.org/undici/-/undici-6.19.2.tgz", - "integrity": "sha512-JfjKqIauur3Q6biAtHJ564e3bWa8VvT+7cSiOJHFbX4Erv6CLGDpg8z+Fmg/1OI/47RA+GI2QZaF48SSaLvyBA==" + "version": "6.19.8", + "resolved": "https://registry.npmjs.org/undici/-/undici-6.19.8.tgz", + "integrity": "sha512-U8uCCl2x9TK3WANvmBavymRzxbfFYG+tAu+fgx3zxQy3qdagQqBLwJVrdyO1TBfUXvfKveMKJZhpvUYoOjM+4g==" }, "uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, "requires": { "punycode": "^2.1.0" } @@ -13392,16 +12063,79 @@ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" }, "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "dev": true + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==" }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true + "vite": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.6.tgz", + "integrity": "sha512-IeL5f8OO5nylsgzd9tq4qD2QqI0k2CQLGrWD0rCN0EQJZpBK5vJAx0I+GDkMOXxQX/OfFHMuLIx6ddAxGX/k+Q==", + "dev": true, + "requires": { + "esbuild": "^0.21.3", + "fsevents": "~2.3.3", + "postcss": "^8.4.43", + "rollup": "^4.20.0" + } + }, + "vite-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-2.1.1.tgz", + "integrity": "sha512-N/mGckI1suG/5wQI35XeR9rsMsPqKXzq1CdUndzVstBj/HvyxxGctwnK6WX43NGt5L3Z5tcRf83g4TITKJhPrA==", + "dev": true, + "requires": { + "cac": "^6.7.14", + "debug": "^4.3.6", + "pathe": "^1.1.2", + "vite": "^5.0.0" + } + }, + "vitest": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-2.1.1.tgz", + "integrity": "sha512-97We7/VC0e9X5zBVkvt7SGQMGrRtn3KtySFQG5fpaMlS+l62eeXRQO633AYhSTC3z7IMebnPPNjGXVGNRFlxBA==", + "dev": true, + "requires": { + "@vitest/expect": "2.1.1", + "@vitest/mocker": "2.1.1", + "@vitest/pretty-format": "^2.1.1", + "@vitest/runner": "2.1.1", + "@vitest/snapshot": "2.1.1", + "@vitest/spy": "2.1.1", + "@vitest/utils": "2.1.1", + "chai": "^5.1.1", + "debug": "^4.3.6", + "magic-string": "^0.30.11", + "pathe": "^1.1.2", + "std-env": "^3.7.0", + "tinybench": "^2.9.0", + "tinyexec": "^0.3.0", + "tinypool": "^1.0.0", + "tinyrainbow": "^1.2.0", + "vite": "^5.0.0", + "vite-node": "2.1.1", + "why-is-node-running": "^2.3.0" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "why-is-node-running": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", + "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", + "dev": true, + "requires": { + "siginfo": "^2.0.0", + "stackback": "0.0.2" + } }, "winston": { "version": "3.3.3", @@ -13440,14 +12174,19 @@ "triple-beam": "^1.2.0" } }, - "workerpool": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", - "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==", - "dev": true - }, "wrap-ansi": { - "version": "7.0.0", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "requires": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + } + }, + "wrap-ansi-cjs": { + "version": "npm:wrap-ansi@7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, @@ -13457,6 +12196,12 @@ "strip-ansi": "^6.0.0" }, "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -13480,71 +12225,34 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true + }, + "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==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } } } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "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" - } - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true - }, - "yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - } - }, - "yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", - "dev": true - }, - "yargs-unparser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", - "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", - "dev": true, - "requires": { - "camelcase": "^6.0.0", - "decamelize": "^4.0.0", - "flat": "^5.0.2", - "is-plain-obj": "^2.1.0" - } - }, - "yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true } } } diff --git a/source/backend/discovery/package.json b/source/backend/discovery/package.json index 4ff20317..9b466636 100644 --- a/source/backend/discovery/package.json +++ b/source/backend/discovery/package.json @@ -1,18 +1,16 @@ { "name": "wd-discovery", - "version": "2.1.15", + "version": "2.2.0", "description": "This contains the code that forms the discovery process for AWS Perspective.", - "main": "index.js", + "main": "index.mjs", + "type": "module", "scripts": { - "pretest": "npm i", - "test": "nyc --reporter=html --reporter=text mocha --recursive test", - "test:ci": "npm ci && nyc --reporter=nyc-report-lcov-absolute mocha --forbid-only --recursive test", - "posttest:ci": "echo \"$(awk '{gsub(/SF:.*\\/source\\//, \"SF:source/\")}1' coverage/lcov.info)\" > coverage/lcov.info", + "test": "vitest run --coverage", + "test:ci": "npm ci && vitest run --coverage --allowOnly false", "clean": "rm -rf dist", "build:zip": "zip -rq --exclude=test/* --exclude=node_modules/* --exclude=sandbox/* discovery.zip .", "build:dist": "mkdir dist && mv discovery.zip dist/", - "build": "npm run clean && npm run build:zip && npm run build:dist", - "coverage": "nyc npm test" + "build": "npm run clean && npm run build:zip && npm run build:dist" }, "author": { "name": "Amazon Web Services", @@ -21,7 +19,7 @@ "license": "Apache-2.0", "dependencies": { "@aws-sdk/client-api-gateway": "3.621.0", - "@aws-sdk/client-cognito-identity-provider": "3.621.0", + "@aws-sdk/client-appsync": "3.621.0", "@aws-sdk/client-config-service": "3.621.0", "@aws-sdk/client-dynamodb-streams": "3.621.0", "@aws-sdk/client-ec2": "3.621.0", @@ -31,30 +29,31 @@ "@aws-sdk/client-elastic-load-balancing-v2": "3.621.0", "@aws-sdk/client-iam": "3.621.0", "@aws-sdk/client-lambda": "3.621.0", + "@aws-sdk/client-mediaconnect": "3.621.0", "@aws-sdk/client-opensearch": "3.621.0", "@aws-sdk/client-organizations": "3.621.0", + "@aws-sdk/client-service-catalog-appregistry": "3.621.0", "@aws-sdk/client-sns": "3.621.0", "@aws-sdk/client-sts": "3.621.0", "@aws-sdk/credential-providers": "3.621.0", - "@aws-sdk/util-arn-parser": "3.465.0", + "@aws-sdk/util-arn-parser": "3.568.0", "@smithy/util-retry": "2.0.9", "@supercharge/promise-pool": "3.1.0", + "ajv": "8.16.0", "async-retry": "1.3.3", "aws4": "1.12.0", "iterare": "1.2.1", - "p-throttle": "4.0.0", + "jmespath": "^0.16.0", + "p-throttle": "6.1.0", "ramda": "0.28.0", - "undici": "^6.14.1", + "undici": "6.19.8", "winston": "3.3.3" }, "devDependencies": { + "@vitest/coverage-v8": "^2.1.1", "aws-sdk-client-mock": "3.0.1", - "chai": "^4.3.10", - "mocha": "^10.2.0", - "nyc": "^15.1.0", - "nyc-report-lcov-absolute": "^1.0.0", - "rewire": "^7.0.0", - "sinon": "^17.0.0" + "sinon": "^17.0.0", + "vitest": "^2.1.1" }, "volta": { "node": "20.12.2" diff --git a/source/backend/discovery/src/index.js b/source/backend/discovery/src/index.js deleted file mode 100755 index 49c6fab5..00000000 --- a/source/backend/discovery/src/index.js +++ /dev/null @@ -1,41 +0,0 @@ -// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 - -const logger = require('./lib/logger'); -const config = require('./lib/config'); -const {DISCOVERY_PROCESS_RUNNING, AWS_ORGANIZATIONS} = require('./lib/constants') -const awsClient = require('./lib/awsClient'); -const appSync = require('./lib/apiClient/appSync'); -const {discoverResources} = require('./lib'); -const {AggregatorNotFoundError, OrgAggregatorValidationError} = require("./lib/errors"); - -const discover = async () => { - logger.profile('Discovery of resources complete.'); - - await discoverResources(appSync, awsClient, config) - .catch(err => { - if([DISCOVERY_PROCESS_RUNNING].includes(err.message)) { - logger.info(err.message); - } else { - throw err; - } - }); - - logger.profile('Discovery of resources complete.'); -}; - -discover().catch(err => { - if(err instanceof AggregatorNotFoundError) { - logger.error(`${err.message}. Ensure the name of the supplied aggregator is correct.`); - } else if(err instanceof OrgAggregatorValidationError) { - logger.error(`${err.message}. You cannot use an individual accounts aggregator when cross account discovery is set to ${AWS_ORGANIZATIONS}.`, { - aggregator: err.aggregator - }); - } else { - logger.error('Unexpected error in Discovery process.', { - msg: err.message, - stack: err.stack - }); - } - process.exit(1); -}); diff --git a/source/backend/discovery/src/lib/additionalRelationships/addBatchedRelationships.js b/source/backend/discovery/src/lib/additionalRelationships/addBatchedRelationships.js deleted file mode 100644 index d9da21e1..00000000 --- a/source/backend/discovery/src/lib/additionalRelationships/addBatchedRelationships.js +++ /dev/null @@ -1,144 +0,0 @@ -const R = require("ramda"); -const createEnvironmentVariableRelationships = require('./createEnvironmentVariableRelationships'); -const logger = require("../logger"); -const { - safeForEach, - createAssociatedRelationship, - createArn, - createAttachedRelationship} = require("../utils"); -const { - VPC, - EC2, - TRANSIT_GATEWAY_ATTACHMENT, - AWS_EC2_TRANSIT_GATEWAY, - AWS_EC2_VPC, - AWS_EC2_SUBNET, - FULFILLED, - SUBNET -} = require("../constants"); - -function createBatchedHandlers(lookUpMaps, awsClient) { - const { - envVarResourceIdentifierToIdMap, - endpointToIdMap, - resourceMap - } = lookUpMaps; - - return { - eventSources: async (credentials, accountId, region) => { - const lambdaClient = awsClient.createLambdaClient(credentials, region); - const eventSourceMappings = await lambdaClient.listEventSourceMappings(); - - return safeForEach(({EventSourceArn, FunctionArn}) => { - if(resourceMap.has(EventSourceArn) && resourceMap.has(FunctionArn)) { - const {resourceType} = resourceMap.get(EventSourceArn); - const lambda = resourceMap.get(FunctionArn); - - lambda.relationships.push(createAssociatedRelationship(resourceType, { - arn: EventSourceArn - })); - } - }, eventSourceMappings); - }, - functions: async (credentials, accountId, region) => { - const lambdaClient = awsClient.createLambdaClient(credentials, region); - - const lambdas = await lambdaClient.getAllFunctions(); - - return safeForEach(({FunctionArn, Environment}) => { - const lambda = resourceMap.get(FunctionArn); - // Environment can be null (not undefined) which means default function parameters can't be used - const environment = Environment ?? {}; - // a lambda may have been created between the time we got the data from config - // and made our api request - if(lambda != null && !R.isEmpty(environment)) { - // The lambda API returns an error object if there are encrypted environment variables - // that the discovery process does not have permissions to decrypt - if(R.isNil(environment.Error)) { - //TODO: add env var name as a property of the edge - lambda.relationships.push(...createEnvironmentVariableRelationships( - {resourceMap, envVarResourceIdentifierToIdMap, endpointToIdMap}, - {accountId, awsRegion: region}, - environment.Variables)); - } - } - }, lambdas); - }, - snsSubscriptions: async (credentials, accountId, region) => { - const snsClient = awsClient.createSnsClient(credentials, region); - - const subscriptions = await snsClient.getAllSubscriptions(); - - return safeForEach(({Endpoint, TopicArn}) => { - // an SNS topic may have been created between the time we got the data from config - // and made our api request or the endpoint may have been created in a region that - // has not been imported - if(resourceMap.has(TopicArn) && resourceMap.has(Endpoint)) { - const snsTopic = resourceMap.get(TopicArn); - const {resourceType} = resourceMap.get(Endpoint); - snsTopic.relationships.push(createAssociatedRelationship(resourceType, {arn: Endpoint})); - } - }, subscriptions); - }, - transitGatewayVpcAttachments: async (credentials, accountId, region) => { - // Whilst AWS Config supports the AWS::EC2::TransitGatewayAttachment resource type, - // it is missing information on the account that VPCs referred to by the attachment - // are deployed in. Therefore we need to supplement this with info from the EC2 API. - const ec2Client = awsClient.createEc2Client(credentials, region); - - const tgwAttachments = await ec2Client.getAllTransitGatewayAttachments([ - {Name: 'resource-type', Values: [VPC.toLowerCase()]} - ]); - - return safeForEach(tgwAttachment => { - const { - TransitGatewayAttachmentId, ResourceOwnerId, TransitGatewayOwnerId, TransitGatewayId - } = tgwAttachment; - const tgwAttachmentArn = createArn({ - service: EC2, region, accountId, resource: `${TRANSIT_GATEWAY_ATTACHMENT}/${TransitGatewayAttachmentId}`} - ); - - if(resourceMap.has(tgwAttachmentArn)) { - const tgwAttachmentFromConfig = resourceMap.get(tgwAttachmentArn); - const {relationships, configuration: {SubnetIds, VpcId}} = tgwAttachmentFromConfig; - - relationships.push( - createAttachedRelationship(AWS_EC2_TRANSIT_GATEWAY, {accountId: TransitGatewayOwnerId, awsRegion: region, resourceId: TransitGatewayId}), - createAssociatedRelationship(AWS_EC2_VPC, {relNameSuffix: VPC, accountId: ResourceOwnerId, awsRegion: region, resourceId: VpcId}), - ...SubnetIds.map(subnetId => createAssociatedRelationship(AWS_EC2_SUBNET, {relNameSuffix: SUBNET, accountId: ResourceOwnerId, awsRegion: region, resourceId: subnetId})) - ); - } - }, tgwAttachments); - } - } -} - -function logErrors(results) { - const errors = results.flatMap(({status, value, reason}) => { - if(status === FULFILLED) { - return value.errors; - } else { - return [{error: reason}] - } - }); - - logger.error(`There were ${errors.length} errors when adding batch additional relationships.`); - logger.debug('Errors: ', {errors: errors}); -} - -async function addBatchedRelationships(lookUpMaps, awsClient) { - const credentialsTuples = Array.from(lookUpMaps.accountsMap.entries()); - - const batchedHandlers = createBatchedHandlers(lookUpMaps, awsClient); - - const results = await Promise.allSettled(Object.values(batchedHandlers).flatMap(handler => { - return credentialsTuples - .flatMap( ([accountId, {regions, credentials}]) => - regions.map(region => handler(credentials, accountId, region)) - ); - })); - - logErrors(results); -} - -module.exports = addBatchedRelationships \ No newline at end of file diff --git a/source/backend/discovery/src/lib/additionalRelationships/addIndividualRelationships.js b/source/backend/discovery/src/lib/additionalRelationships/addIndividualRelationships.js deleted file mode 100644 index 4ea9e3b8..00000000 --- a/source/backend/discovery/src/lib/additionalRelationships/addIndividualRelationships.js +++ /dev/null @@ -1,687 +0,0 @@ -const R = require("ramda"); -const {parse: parseArn} = require("@aws-sdk/util-arn-parser"); -const createEnvironmentVariableRelationships = require('./createEnvironmentVariableRelationships'); -const { - AWS_API_GATEWAY_METHOD, - AWS_LAMBDA_FUNCTION, - AWS_AUTOSCALING_AUTOSCALING_GROUP, - AWS_EC2_LAUNCH_TEMPLATE, - AWS_CLOUDFRONT_DISTRIBUTION, - AWS_S3_BUCKET, - AWS_CLOUDFRONT_STREAMING_DISTRIBUTION, - AWS_CODEBUILD_PROJECT, - AWS_DYNAMODB_STREAM, - AWS_DYNAMODB_TABLE, - AWS_IAM_ROLE, - AWS_EC2_SECURITY_GROUP, - AWS_EC2_SUBNET, - AWS_EC2_ROUTE_TABLE, - AWS_EC2_TRANSIT_GATEWAY, - AWS_EC2_TRANSIT_GATEWAY_ROUTE_TABLE, - AWS_ECS_CLUSTER, - AWS_EC2_INSTANCE, - AWS_ECS_SERVICE, - AWS_ECS_TASK_DEFINITION, - AWS_ELASTIC_LOAD_BALANCING_V2_TARGET_GROUP, - AWS_ECS_TASK, - SUBNET_ID, - NETWORK_INTERFACE_ID, - AWS_EC2_NETWORK_INTERFACE, - AWS_EFS_ACCESS_POINT, - AWS_EFS_FILE_SYSTEM, - AWS_KMS_KEY, - AWS_EKS_CLUSTER, - AWS_EKS_NODE_GROUP, - AWS_ELASTIC_LOAD_BALANCING_LOADBALANCER, - AWS_ELASTIC_LOAD_BALANCING_V2_LISTENER, - AWS_ELASTIC_LOAD_BALANCING_V2_LOADBALANCER, - AWS_COGNITO_USER_POOL, - AWS_IAM_INLINE_POLICY, - AWS_IAM_USER, - AWS_MSK_CLUSTER, - UNKNOWN, - AWS_OPENSEARCH_DOMAIN, - AWS_RDS_DB_INSTANCE, - AWS_EC2_NAT_GATEWAY, - AWS_EC2_VPC_ENDPOINT, - AWS_EC2_INTERNET_GATEWAY, - AWS_EC2_SPOT_FLEET, - AWS_EVENT_EVENT_BUS, - AWS_EVENT_RULE, - ENI_NAT_GATEWAY_INTERFACE_TYPE, - ENI_ALB_DESCRIPTION_PREFIX, - ENI_ELB_DESCRIPTION_PREFIX, - ELASTIC_LOAD_BALANCING, - LOAD_BALANCER, - ENI_VPC_ENDPOINT_INTERFACE_TYPE, - ENI_SEARCH_REQUESTER_ID, - ENI_SEARCH_DESCRIPTION_PREFIX, - AWS_ELASTICSEARCH_DOMAIN, - LAMBDA, - S3, - AWS, - AWS_IAM_AWS_MANAGED_POLICY, - IS_ASSOCIATED_WITH -} = require("../constants"); -const { - createAssociatedRelationship, - createContainedInVpcRelationship, - createContainedInSubnetRelationship, - createAssociatedSecurityGroupRelationship, - createContainedInRelationship, - createContainsRelationship, - createAttachedRelationship, - createArnRelationship, - createArn, - createResourceNameKey, - createResourceIdKey -} = require("../utils"); -const {PromisePool} = require("@supercharge/promise-pool"); -const logger = require("../logger"); - -function createEcsEfsRelationships(volumes) { - return volumes.reduce((acc, {EfsVolumeConfiguration}) => { - if(EfsVolumeConfiguration != null) { - if(EfsVolumeConfiguration.AuthorizationConfig?.AccessPointId != null) { - acc.push(createAssociatedRelationship(AWS_EFS_ACCESS_POINT, {resourceId: EfsVolumeConfiguration.AuthorizationConfig.AccessPointId})); - } else { - acc.push(createAssociatedRelationship(AWS_EFS_FILE_SYSTEM, {resourceId: EfsVolumeConfiguration.FileSystemId})); - } - } - return acc; - }, []); -} - -function createEniRelatedResource({description, interfaceType, requesterId, awsRegion, accountId}) { - if(interfaceType === ENI_NAT_GATEWAY_INTERFACE_TYPE) { - //Every nat-gateway ENI has a `description` field like this: Interface for NAT Gateway - const {groups: {resourceId}} = R.match(/(?nat-[0-9a-fA-F]+)/, description) - return { - resourceId, - resourceType: AWS_EC2_NAT_GATEWAY - } - } else if(description.startsWith(ENI_ALB_DESCRIPTION_PREFIX)) { - const [app, albGroup, linkedAlb] = description.replace(ENI_ELB_DESCRIPTION_PREFIX, '').split('/'); - const albArn = createArn({service: ELASTIC_LOAD_BALANCING, accountId, region: awsRegion, resource: `${LOAD_BALANCER}/${app}/${albGroup}/${linkedAlb}`}); - - return { - resourceId: albArn, - resourceType: AWS_ELASTIC_LOAD_BALANCING_V2_LOADBALANCER - } - } else if(interfaceType === ENI_VPC_ENDPOINT_INTERFACE_TYPE) { - //Every VPC Endpoint ENI has a `description` field like this: VPC Endpoint Interface - const {groups: {resourceId}} = R.match(/(?vpce-[0-9a-fA-F]+)/, description) - - return { - resourceId, - resourceType: AWS_EC2_VPC_ENDPOINT - } - } else if(requesterId === ENI_SEARCH_REQUESTER_ID) { - return { - resourceId: `${accountId}/${description.replace(ENI_SEARCH_DESCRIPTION_PREFIX, '')}`, - resourceType: AWS_ELASTICSEARCH_DOMAIN - } - } else if(interfaceType === LAMBDA) { - // Every lambda ENI has a `description` field like this: AWS Lambda VPC ENI->-" - const resourceId = description - .replace('AWS Lambda VPC ENI-', '') - .replace(/-[A-F\d]{8}-[A-F\d]{4}-4[A-F\d]{3}-[89AB][A-F\d]{3}-[A-F\d]{12}$/i, ''); - - return { - resourceId, - resourceType: AWS_LAMBDA_FUNCTION - } - } else { - return {resourceId: UNKNOWN} - } -} - -function getSubnetInfo(resourceMap, resourceIdentifierToIdMap, accountId, awsRegion, subnetIds) { - const {availabilityZones, vpcId} = subnetIds.reduce((acc, subnetId) => { - const id = resourceIdentifierToIdMap.get(createResourceIdKey({resourceId: subnetId, resourceType: AWS_EC2_SUBNET, accountId, awsRegion})); - - // we may not have ingested the subnets - if(resourceMap.has(id)) { - const {configuration: {vpcId}, availabilityZone} = resourceMap.get(id); - if(acc.vpcId == null) acc.vpcId = vpcId; - acc.availabilityZones.add(availabilityZone); - } - - return acc; - }, {availabilityZones: new Set()}); - - return {vpcId, availabilityZones: Array.from(availabilityZones).sort()} -} - -function createManagedPolicyRelationships(resourceMap, policies) { - return policies.reduce((acc, {policyArn}) => { - const {accountId} = parseArn(policyArn); - if(accountId === AWS) { - acc.push(createAttachedRelationship(AWS_IAM_AWS_MANAGED_POLICY, {arn: policyArn})); - } - return acc; - }, []); -} - -function createIndividualHandlers(lookUpMaps, awsClient) { - - const { - accountsMap, - endpointToIdMap, - resourceIdentifierToIdMap, - targetGroupToAsgMap, - elbDnsToResourceIdMap, - asgResourceNameToResourceIdMap, - envVarResourceIdentifierToIdMap, - eventBusRuleMap, - resourceMap - } = lookUpMaps; - - return { - [AWS_API_GATEWAY_METHOD]: async ({relationships, configuration: {methodIntegration}}) => { - const methodUri = methodIntegration?.uri ?? ''; - const lambdaArn = R.match(/arn.*\/functions\/(?.*)\/invocations/, methodUri).groups?.lambdaArn; - if(lambdaArn != null) { // not all API gateways use lambda - relationships.push(createAssociatedRelationship(AWS_LAMBDA_FUNCTION, {arn: lambdaArn})); - } - }, - [AWS_AUTOSCALING_AUTOSCALING_GROUP]: async asg => { - const {relationships, accountId, awsRegion, configuration: {launchTemplate, vpczoneIdentifier}} = asg; - - if(!R.isEmpty(vpczoneIdentifier)) { - const {vpcId, availabilityZones} = getSubnetInfo(resourceMap, resourceIdentifierToIdMap, accountId, awsRegion, vpczoneIdentifier.split(',')); - - if(vpcId != null) { - asg.availabilityZone = R.sort((a, b) => a - b, availabilityZones).join(','); - - relationships.push(createContainedInVpcRelationship(vpcId)); - } - } - - if(launchTemplate != null) { - relationships.push(createAssociatedRelationship(AWS_EC2_LAUNCH_TEMPLATE, {resourceId: launchTemplate.launchTemplateId})) - } - }, - [AWS_CLOUDFRONT_DISTRIBUTION]: async ({configuration: {distributionConfig}, relationships}) => { - relationships.forEach(relationship => { - const {resourceId, resourceType} = relationship; - if(resourceType === AWS_S3_BUCKET) { - relationship.arn = createArn({service: S3, resource: resourceId}); - } - }); - - const items = distributionConfig.origins?.items ?? []; - - relationships.push(...items.reduce((acc, {domainName}) => { - if(elbDnsToResourceIdMap.has(domainName)) { - const {resourceType, resourceId, awsRegion} = elbDnsToResourceIdMap.get(domainName) - acc.push(createAssociatedRelationship(resourceType, {resourceId, awsRegion})); - } - return acc; - }, [])); - }, - [AWS_CLOUDFRONT_STREAMING_DISTRIBUTION]: async ({relationships}) => { - relationships.forEach(relationship => { - const {resourceId, resourceType} = relationship; - if(resourceType === AWS_S3_BUCKET) { - relationship.arn = createArn({service: S3, resource: resourceId}); - } - }); - }, - [AWS_CODEBUILD_PROJECT]: async project => { - const {accountId, awsRegion, configuration, relationships} = project; - const {vpcConfig, serviceRole} = configuration; - - relationships.push(createAssociatedRelationship(AWS_IAM_ROLE, {arn: serviceRole})) - - if(vpcConfig != null) { - const {vpcId, subnets, securityGroupIds} = vpcConfig; - - const {availabilityZones} = getSubnetInfo(resourceMap, resourceIdentifierToIdMap, accountId, awsRegion, subnets); - if(!R.isEmpty(availabilityZones)) project.availabilityZone = R.sort((a, b) => a - b, availabilityZones).join(','); - - relationships.push( - createContainedInVpcRelationship(vpcId), - ...subnets.map(createContainedInSubnetRelationship), - ...securityGroupIds.map(resourceId => createAssociatedRelationship(AWS_EC2_SECURITY_GROUP, {resourceId})) - ) - } - }, - [AWS_DYNAMODB_TABLE]: async dbTable => { - const {configuration, relationships} = dbTable; - - if (configuration.latestStreamArn != null) { - relationships.push(createAssociatedRelationship(AWS_DYNAMODB_STREAM, {arn: configuration.latestStreamArn})); - } - }, - [AWS_EC2_SECURITY_GROUP]: async ({configuration, relationships}) => { - const {ipPermissions, ipPermissionsEgress} = configuration; - const securityGroups = [...ipPermissions, ...ipPermissionsEgress].reduce((acc, {userIdGroupPairs = []}) => { - userIdGroupPairs.forEach(({groupId}) => { - if(groupId != null) acc.add(groupId); - }); - return acc; - }, new Set()); - - relationships.push(...Array.from(securityGroups).map(createAssociatedSecurityGroupRelationship)); - }, - [AWS_EC2_SUBNET]: async subnet => { - const {relationships, awsRegion, accountId, configuration: {subnetId}} = subnet; - - subnet.subnetId = subnetId; - - const routeTableRel = relationships.find(x => x.resourceType === AWS_EC2_ROUTE_TABLE); - if(routeTableRel != null) { - const {resourceId, resourceType} = routeTableRel; - const routeTableId = resourceIdentifierToIdMap.get(createResourceIdKey({resourceId, resourceType, accountId, awsRegion})); - const routes = resourceMap.get(routeTableId)?.configuration?.routes ?? []; - const natGateways = routes.filter(x => x.natGatewayId != null); - subnet.private = natGateways.length === 0; - } - }, - [AWS_EC2_TRANSIT_GATEWAY]: async ({relationships, configuration}) => { - const {AssociationDefaultRouteTableId, PropagationDefaultRouteTableId} = configuration; - relationships.push(...[ - createContainedInRelationship(AWS_EC2_TRANSIT_GATEWAY_ROUTE_TABLE, {resourceId: AssociationDefaultRouteTableId}), - createContainedInRelationship(AWS_EC2_TRANSIT_GATEWAY_ROUTE_TABLE, {resourceId: PropagationDefaultRouteTableId}) - ]); - }, - [AWS_ECS_CLUSTER]: async cluster => { - const {arn, accountId, awsRegion, relationships} = cluster; - - const {credentials} = accountsMap.get(accountId); - - const ecsClient = awsClient.createEcsClient(credentials, awsRegion); - - const clusterInstances = await ecsClient.getAllClusterInstances(arn); - - relationships.push(...clusterInstances.map(resourceId => createContainsRelationship(AWS_EC2_INSTANCE, {resourceId}))); - }, - [AWS_ECS_SERVICE]: async service => { - const {configuration, awsRegion, relationships, accountId} = service; - const {Cluster, Role, TaskDefinition, LoadBalancers = [], NetworkConfiguration} = configuration; - relationships.push(createContainedInRelationship(AWS_ECS_CLUSTER, {arn: Cluster}), - createAssociatedRelationship(AWS_IAM_ROLE, {arn: Role}), - createAssociatedRelationship(AWS_ECS_TASK_DEFINITION, {arn: TaskDefinition}), - ...LoadBalancers.map(({TargetGroupArn}) => { - return createAssociatedRelationship(AWS_ELASTIC_LOAD_BALANCING_V2_TARGET_GROUP, {resourceId: TargetGroupArn}); - })); - - const subnetIds = NetworkConfiguration?.AwsvpcConfiguration?.Subnets ?? []; - const securityGroups = NetworkConfiguration?.AwsvpcConfiguration?.SecurityGroups ?? []; - - relationships.push( - ...securityGroups.map(createAssociatedSecurityGroupRelationship) - ); - - if(!R.isEmpty(subnetIds)) { - const {vpcId, availabilityZones} = getSubnetInfo(resourceMap, resourceIdentifierToIdMap, accountId, awsRegion, subnetIds); - - if(vpcId != null) { - service.availabilityZone = availabilityZones.join(','); - relationships.push( - ...subnetIds.map(createContainedInSubnetRelationship), - createContainedInVpcRelationship(vpcId) - ); - } - } - }, - [AWS_ECS_TASK]: async task => { - const {accountId, awsRegion, configuration} = task; - const {clusterArn, overrides, attachments = [], taskDefinitionArn} = configuration; - - // running tasks can reference deregistered and/or deleted task definitions so we need to - // provide fallback values in case the definition no longer exists - const taskDefinition = resourceMap.get(taskDefinitionArn) ?? { - configuration: { - ContainerDefinitions: [], - Volumes: [] - } - }; - - task.relationships.push(createContainedInRelationship(AWS_ECS_CLUSTER, {arn: clusterArn})); - - const {taskRoleArn, executionRoleArn, containerOverrides = []} = overrides; - const roleRels = R.reject(R.isNil, [taskRoleArn, executionRoleArn]) - .map(arn => createAssociatedRelationship(AWS_IAM_ROLE, {arn})); - - if (R.isEmpty(roleRels)) { - const {configuration: {TaskRoleArn, ExecutionRoleArn}} = taskDefinition; - R.reject(R.isNil, [TaskRoleArn, ExecutionRoleArn]) - .forEach(arn => { - task.relationships.push(createAssociatedRelationship(AWS_IAM_ROLE, {arn})); - }); - } else { - task.relationships.push(...roleRels); - } - - const groupedDefinitions = R.groupBy(x => x.Name, taskDefinition.configuration.ContainerDefinitions); - const groupedOverrides = R.groupBy(x => x.name, containerOverrides); - - const environmentVariables = Object.entries(groupedDefinitions).map(([key, val]) => { - const Environment = R.head(val)?.Environment ?? []; - const environment = R.head(groupedOverrides[key] ?? [])?.environment ?? []; - - const envVarObj = Environment.reduce((acc, {Name, Value}) => { - acc[Name] = Value; - return acc - }, {}); - - const overridesObj = environment.reduce((acc, {name, value}) => { - acc[name] = value; - return acc - }, {}); - - return {...envVarObj, ...overridesObj}; - }, {}); - - environmentVariables.forEach( variables => { - task.relationships.push(...createEnvironmentVariableRelationships( - {resourceMap, envVarResourceIdentifierToIdMap, endpointToIdMap}, - {accountId, awsRegion}, - variables)); - }); - - task.relationships.push(...createEcsEfsRelationships(taskDefinition.configuration.Volumes)); - - attachments.forEach(({details}) => { - return details.forEach(({name, value}) => { - if(name === SUBNET_ID) { - const subnetArn = resourceIdentifierToIdMap.get(createResourceIdKey({resourceId: value, resourceType: AWS_EC2_SUBNET, accountId, awsRegion})); - const vpcId = resourceMap.get(subnetArn)?.configuration?.vpcId; // we may not have discovered the subnet - - if(vpcId != null) task.relationships.push(createContainedInVpcRelationship(vpcId)); - - task.relationships.push(createContainedInSubnetRelationship(value)); - } else if (name === NETWORK_INTERFACE_ID) { - const networkInterfaceId = resourceIdentifierToIdMap.get(createResourceIdKey({resourceId: value, resourceType: AWS_EC2_NETWORK_INTERFACE, accountId, awsRegion})); - // occasionally network interface information is stale, so we need to do null checks here - resourceMap.get(networkInterfaceId)?.relationships?.push(createAttachedRelationship(AWS_ECS_TASK, {resourceId: task.resourceId})); - } - }); - }); - }, - [AWS_ECS_TASK_DEFINITION]: async taskDefinition => { - const {relationships, accountId, awsRegion, configuration} = taskDefinition; - const {TaskRoleArn, ExecutionRoleArn, ContainerDefinitions, Volumes} = configuration; - - R.reject(R.isNil, [TaskRoleArn, ExecutionRoleArn]) - .forEach(arn => { - // task definitons do not get deleted so can refer to IAM roles that no longer - // exist (https://github.com/aws/containers-roadmap/issues/685) - const resourceName = resourceMap.get(arn)?.resourceName; - if(resourceName != null) { - relationships.push(createAssociatedRelationship(AWS_IAM_ROLE, {resourceName})); - } - }); - - ContainerDefinitions.forEach(({Environment = []}) => { - const variables = Environment.reduce((acc, {Name, Value}) => { - acc[Name] = Value; - return acc - }, {}); - relationships.push(...createEnvironmentVariableRelationships( - {resourceMap, envVarResourceIdentifierToIdMap, endpointToIdMap}, - {accountId, awsRegion}, - variables)); - }); - - relationships.push(...createEcsEfsRelationships(Volumes)); - }, - [AWS_EFS_ACCESS_POINT]: async ({configuration: {FileSystemId}, relationships}) => { - relationships.push(createAttachedRelationship(AWS_EFS_FILE_SYSTEM, {resourceId: FileSystemId})); - }, - [AWS_EFS_FILE_SYSTEM]: async ({configuration: {KmsKeyId}, relationships}) => { - relationships.push(createAssociatedRelationship(AWS_KMS_KEY, {arn: KmsKeyId})); - }, - [AWS_EKS_CLUSTER]: async cluster => { - const {configuration, accountId, relationships, awsRegion} = cluster; - const {ResourcesVpcConfig: {SubnetIds, SecurityGroupIds}, RoleArn} = configuration; - const {vpcId, availabilityZones} = getSubnetInfo(resourceMap, resourceIdentifierToIdMap, accountId, awsRegion, SubnetIds); - - if(vpcId != null) { - cluster.availabilityZone = availabilityZones.join(','); - relationships.push(createContainedInVpcRelationship(vpcId)); - } - - relationships.push( - ...SubnetIds.map(createContainedInSubnetRelationship), - ...SecurityGroupIds.map(createAssociatedSecurityGroupRelationship), - createAssociatedRelationship(AWS_IAM_ROLE, {arn: RoleArn}) - ); - }, - [AWS_EKS_NODE_GROUP]: async nodeGroup => { - const {accountId, awsRegion, relationships, configuration} = nodeGroup; - const {subnets, remoteAccess = {}, resources, nodeRole, launchTemplate = {}} = configuration; - const {vpcId, availabilityZones} = getSubnetInfo(resourceMap, resourceIdentifierToIdMap, accountId, awsRegion, subnets); - - if(vpcId != null) { - nodeGroup.availabilityZone = availabilityZones.join(','); - relationships.push(createContainedInVpcRelationship(vpcId)) - } - - const {autoScalingGroups = [], remoteAccessSecurityGroup = []} = resources; - const sourceSecurityGroups = remoteAccess.sourceSecurityGroups ?? []; - - relationships.push( - ...subnets.map(createContainedInSubnetRelationship), - ...remoteAccessSecurityGroup.map(createAssociatedSecurityGroupRelationship), - ...sourceSecurityGroups.map(createAssociatedSecurityGroupRelationship), - ...autoScalingGroups.map(({name}) => { - const rId = asgResourceNameToResourceIdMap.get(createResourceNameKey({ - resourceName: name, - accountId, - awsRegion - })); - return createAssociatedRelationship(AWS_AUTOSCALING_AUTOSCALING_GROUP, {resourceId: rId}); - }), - createAssociatedRelationship(AWS_IAM_ROLE, {arn: nodeRole}), - ); - - if(launchTemplate.id != null) { - relationships.push(createAssociatedRelationship(AWS_EC2_LAUNCH_TEMPLATE, {resourceId: launchTemplate.id}) ); - } - }, - [AWS_ELASTIC_LOAD_BALANCING_LOADBALANCER]: async ({resourceId, accountId, awsRegion, relationships}) => { - const {credentials} = accountsMap.get(accountId); - const elbClient = awsClient.createElbClient(credentials, awsRegion); - - const instanceIds = await elbClient.getLoadBalancerInstances(resourceId); - - relationships.push(...instanceIds.map(resourceId => createAssociatedRelationship(AWS_EC2_INSTANCE, {resourceId}))); - }, - [AWS_ELASTIC_LOAD_BALANCING_V2_LISTENER]: async ({relationships, configuration: {LoadBalancerArn, DefaultActions}}) => { - const {targetGroups, cognitoUserPools} = DefaultActions.reduce((acc, {AuthenticateCognitoConfig, TargetGroupArn, ForwardConfig}) => { - if(AuthenticateCognitoConfig != null) acc.cognitoUserPools.add(AuthenticateCognitoConfig.UserPoolArn); - if(TargetGroupArn != null) acc.targetGroups.add(TargetGroupArn); - if(ForwardConfig != null) { - const {TargetGroups = []} = ForwardConfig; - TargetGroups.forEach(x => acc.targetGroups.add(x.TargetGroupArn)) - } - return acc; - }, {cognitoUserPools: new Set(), targetGroups: new Set}); - - relationships.push( - createAssociatedRelationship(AWS_ELASTIC_LOAD_BALANCING_V2_LOADBALANCER, {resourceId: LoadBalancerArn}), - ...Array.from(targetGroups.values()).map(resourceId => createAssociatedRelationship(AWS_ELASTIC_LOAD_BALANCING_V2_TARGET_GROUP, {resourceId})), - ...Array.from(cognitoUserPools.values()).map(resourceId => createAssociatedRelationship(AWS_COGNITO_USER_POOL, {resourceId})) - ); - }, - [AWS_ELASTIC_LOAD_BALANCING_V2_TARGET_GROUP]: async ({accountId, awsRegion, arn, configuration: {VpcId}, relationships}) => { - const {credentials} = accountsMap.get(accountId); - const elbClientV2 = awsClient.createElbV2Client(credentials, awsRegion); - - const {instances: asgInstances, arn: asgArn} = targetGroupToAsgMap.get(arn) ?? {instances: new Set()}; - - const targetHealthDescriptions = await elbClientV2.describeTargetHealth(arn); - - //TODO: use TargetHealth to label the link as to whether it's healthy or not - relationships.push(createContainedInVpcRelationship(VpcId), - ...targetHealthDescriptions.reduce((acc, {Target: {Id}, TargetHealth}) => { - // We don't want to include instances from ASGs as the direct link should be to the - // ASG not the instances therein - if(Id.startsWith('i-') && !asgInstances.has(Id)) { - acc.push(createAssociatedRelationship(AWS_EC2_INSTANCE, {resourceId:Id})); - } else if(Id.startsWith('arn:')) { - acc.push(createArnRelationship(IS_ASSOCIATED_WITH, Id)); - } - return acc; - }, [])); - - if(asgArn != null) { - relationships.push(createAssociatedRelationship(AWS_AUTOSCALING_AUTOSCALING_GROUP, {resourceId: asgArn})); - } - }, - [AWS_EVENT_EVENT_BUS]: async ({arn, relationships}) => { - relationships.push(...eventBusRuleMap.get(arn).map(createArnRelationship(IS_ASSOCIATED_WITH))); - }, - [AWS_EVENT_RULE]: async ({configuration: {Targets}, relationships}) => { - relationships.push(...Targets.flatMap(({Arn, RoleArn, EcsParameters}) => { - const targetRelationship = createArnRelationship(IS_ASSOCIATED_WITH, Arn); - const roleRelationship = createArnRelationship(IS_ASSOCIATED_WITH, RoleArn); - if(EcsParameters != null) { - return [ - targetRelationship, - roleRelationship, - createArnRelationship(IS_ASSOCIATED_WITH, EcsParameters.TaskDefinitionArn) - ]; - } - return [targetRelationship, roleRelationship]; - })); - }, - [AWS_IAM_ROLE]: async ({configuration: {attachedManagedPolicies}, relationships}) => { - relationships.push(...createManagedPolicyRelationships(resourceMap, attachedManagedPolicies)); - }, - [AWS_IAM_INLINE_POLICY]: ({configuration: {policyDocument}, relationships}) => { - const statement = Array.isArray(policyDocument.Statement) ? - policyDocument.Statement : [policyDocument.Statement]; - - relationships.push(...statement.flatMap(({Resource = []}) => { - // the Resource field, if it exists, can be an array or string - const resources = Array.isArray(Resource) ? Resource : [Resource]; - return resources.reduce((acc, resourceArn) => { - // Remove the trailing /* from ARNs to increase chance of finding - // a relationship, especially for S3 buckets. This will lead to - // duplicates, but they get deduped later on in the discovery - // process - const resource = resourceMap.get(resourceArn.replace(/\/?\*$/, '')); - if(resource != null) { - acc.push(createAttachedRelationship(resource.resourceType, { - arn: resource.arn - })); - } - return acc; - }, []); - })); - }, - [AWS_IAM_USER]: ({configuration: {attachedManagedPolicies}, relationships}) => { - relationships.push(...createManagedPolicyRelationships(resourceMap, attachedManagedPolicies)); - }, - [AWS_LAMBDA_FUNCTION]: async lambda => { - const {accountId, awsRegion, configuration} = lambda - const {vpcConfig, fileSystemConfigs = []} = configuration; - - const subnetIds = vpcConfig?.subnetIds ?? []; - - if(!R.isEmpty(subnetIds)) { - const {vpcId, availabilityZones} = getSubnetInfo(resourceMap, resourceIdentifierToIdMap, accountId, awsRegion, subnetIds); - - if(vpcId != null) { - lambda.availabilityZone = availabilityZones.join(','); - lambda.relationships.push(createContainedInVpcRelationship(vpcId)); - } - } - - lambda.relationships.push(...fileSystemConfigs.map(({arn: accessPointArn}) => { - return createAssociatedRelationship(AWS_EFS_ACCESS_POINT, {arn: accessPointArn}); - })); - }, - [AWS_MSK_CLUSTER]: async cluster => { - const {accountId, awsRegion, configuration: {BrokerNodeGroupInfo: {ClientSubnets, SecurityGroups}}} = cluster; - const {vpcId, availabilityZones} = getSubnetInfo(resourceMap, resourceIdentifierToIdMap, accountId, awsRegion, ClientSubnets); - - if(vpcId != null) { - cluster.availabilityZone = availabilityZones.join(','); - cluster.relationships.push(createContainedInVpcRelationship(vpcId)); - } - - cluster.relationships.push( - ...ClientSubnets.map(createContainedInSubnetRelationship), - ...SecurityGroups.map(createAssociatedSecurityGroupRelationship) - ); - }, - [AWS_EC2_NETWORK_INTERFACE]: async eni => { - const {accountId, awsRegion, relationships, configuration} = eni; - const {interfaceType, description, requesterId} = configuration; - - const {resourceId, resourceType} = createEniRelatedResource({awsRegion, accountId, interfaceType, description, requesterId}); - if(resourceId !== UNKNOWN) { - relationships.push(createAttachedRelationship(resourceType, {resourceId})); - } - }, - [AWS_OPENSEARCH_DOMAIN]: async domain => { - const {relationships, configuration: {VPCOptions}} = domain; - const {AvailabilityZones, SecurityGroupIds, SubnetIds, VPCId} = VPCOptions; - - domain.availabilityZone = R.sort((a, b) => a - b, AvailabilityZones).join(','); - - relationships.push( - createContainedInVpcRelationship(VPCId), - ...SubnetIds.map(createContainedInSubnetRelationship), - ...SecurityGroupIds.map(resourceId => createAssociatedRelationship(AWS_EC2_SECURITY_GROUP, {resourceId})) - ); - }, - [AWS_RDS_DB_INSTANCE]: async db => { - const {dBSubnetGroup, availabilityZone} = db.configuration; - - if(dBSubnetGroup != null) { - const {subnetIdentifier} = R.find(({subnetAvailabilityZone}) => subnetAvailabilityZone.name === availabilityZone, - dBSubnetGroup.subnets); - - db.relationships.push(...[ - createContainedInVpcRelationship(dBSubnetGroup.vpcId), - createContainedInSubnetRelationship(subnetIdentifier) - ]); - } - }, - [AWS_EC2_ROUTE_TABLE]: async ({configuration: {routes}, relationships}) => { - relationships.push(...routes.reduce((acc, {natGatewayId, gatewayId}) => { - if(natGatewayId != null) { - acc.push(createContainsRelationship(AWS_EC2_NAT_GATEWAY, {resourceId: natGatewayId})); - } else if(R.test(/vpce-[0-9a-fA-F]+/, gatewayId)) { - acc.push(createContainsRelationship(AWS_EC2_VPC_ENDPOINT, {resourceId: gatewayId})); - } else if(R.test(/igw-[0-9a-fA-F]+/, gatewayId)) { - acc.push(createContainsRelationship(AWS_EC2_INTERNET_GATEWAY, {resourceId: gatewayId})); - } - return acc; - }, [])); - }, - [AWS_EC2_SPOT_FLEET]: async ({relationships, awsRegion, configuration: {SpotFleetRequestConfig}}) => { - const targetGroups = SpotFleetRequestConfig.LoadBalancersConfig?.TargetGroupsConfig?.TargetGroups ?? []; - const classicLoadBalancers = SpotFleetRequestConfig.LoadBalancersConfig?.ClassicLoadBalancersConfig?.ClassicLoadBalancers ?? []; - relationships.push( - ...targetGroups.map(({Arn}) => createAssociatedRelationship(AWS_ELASTIC_LOAD_BALANCING_V2_TARGET_GROUP, {resourceId: Arn})), - ...classicLoadBalancers.map(({Name}) => { - return createAssociatedRelationship(AWS_ELASTIC_LOAD_BALANCING_LOADBALANCER, {awsRegion, resourceId: Name}); - }) - ) - } - } -} - -async function addIndividualRelationships(lookUpMaps, awsClient, resources) { - const handlers = createIndividualHandlers(lookUpMaps, awsClient); - - const {errors} = await PromisePool - .withConcurrency(30) - .for(resources) - .process(async resource => { - const handler = handlers[resource.resourceType]; - if(handler != null) return handler(resource); - }); - - logger.error(`There were ${errors.length} errors when adding additional relationships.`); - logger.debug('Errors: ', {errors}); -} - -module.exports = addIndividualRelationships; diff --git a/source/backend/discovery/src/lib/additionalRelationships/createEnvironmentVariableRelationships.js b/source/backend/discovery/src/lib/additionalRelationships/createEnvironmentVariableRelationships.js deleted file mode 100644 index aa823313..00000000 --- a/source/backend/discovery/src/lib/additionalRelationships/createEnvironmentVariableRelationships.js +++ /dev/null @@ -1,38 +0,0 @@ -const {createAssociatedRelationship, createResourceIdKey, createResourceNameKey} = require("../utils"); -const {AWS_S3_ACCOUNT_PUBLIC_ACCESS_BLOCK} = require("../constants"); - -function createEnvironmentVariableRelationships( - {resourceMap, envVarResourceIdentifierToIdMap, endpointToIdMap}, - {accountId, awsRegion}, - variables -) { - //TODO: add env var name as a property of the edge - return Object.values(variables).reduce((acc, val) => { - if (resourceMap.has(val)) { - const {resourceType, arn} = resourceMap.get(val); - acc.push(createAssociatedRelationship(resourceType, {arn})); - } else { - // this branch assumes all resources are in the same region - const resourceIdKey = createResourceIdKey({resourceId: val, accountId, awsRegion}); - const resourceNameKey = createResourceNameKey({resourceName: val, accountId, awsRegion}); - - const id = envVarResourceIdentifierToIdMap.get(resourceIdKey) - ?? envVarResourceIdentifierToIdMap.get(resourceNameKey) - ?? endpointToIdMap.get(val); - - if(resourceMap.has(id)) { - const {resourceType, resourceId} = resourceMap.get(id); - - // The resourceId of the AWS::S3::AccountPublicAccessBlock resource type is the accountId where it resides. - // We need to filter out environment variables that have AWS account IDs because otherwise we will create - // an erroneous relationship between the resource and the AWS::S3::AccountPublicAccessBlock - if(resourceId !== accountId && resourceType !== AWS_S3_ACCOUNT_PUBLIC_ACCESS_BLOCK) { - acc.push(createAssociatedRelationship(resourceType, {arn: id})); - } - } - } - return acc; - }, []); -} - -module.exports = createEnvironmentVariableRelationships; \ No newline at end of file diff --git a/source/backend/discovery/src/lib/additionalRelationships/createLookUpMaps.js b/source/backend/discovery/src/lib/additionalRelationships/createLookUpMaps.js deleted file mode 100644 index aeec9667..00000000 --- a/source/backend/discovery/src/lib/additionalRelationships/createLookUpMaps.js +++ /dev/null @@ -1,114 +0,0 @@ -const R = require("ramda"); -const { - AWS_AUTOSCALING_AUTOSCALING_GROUP, - AWS_ELASTICSEARCH_DOMAIN, - AWS_OPENSEARCH_DOMAIN, - AWS_ELASTIC_LOAD_BALANCING_LOADBALANCER, - AWS_ELASTIC_LOAD_BALANCING_V2_LOADBALANCER, - AWS_EVENT_RULE, - AWS_RDS_DB_CLUSTER, - EVENTS, - EVENT_BUS -} = require("../constants"); -const {createResourceNameKey, createResourceIdKey, createArn} = require('../utils'); - -function getEndpoint(configuration) { - const endpoint = configuration.endpoint ?? configuration.Endpoint; - return endpoint?.value ?? endpoint?.address ?? endpoint; -} - -function createResourceTypeLookUpMaps(resources) { - const targetGroupToAsgMap = new Map(); - const endpointToIdMap = new Map(); - const elbDnsToResourceIdMap = new Map(); - const asgResourceNameToResourceIdMap = new Map(); - const eventBusRuleMap = new Map(); - - const handlers = { - [AWS_AUTOSCALING_AUTOSCALING_GROUP]: resource => { - const {resourceId, resourceName, accountId, awsRegion, arn, configuration} = resource; - configuration.targetGroupARNs.forEach(tg => - targetGroupToAsgMap.set(tg, { - arn, - instances: new Set(configuration.instances.map(R.prop('instanceId'))) - })); - asgResourceNameToResourceIdMap.set( - createResourceNameKey( - {resourceName, accountId, awsRegion}), - resourceId); - }, - [AWS_ELASTICSEARCH_DOMAIN]: ({id, configuration: {endpoints = []}}) => { - Object.values(endpoints).forEach(endpoint => endpointToIdMap.set(endpoint, id)); - }, - [AWS_OPENSEARCH_DOMAIN]: ({id, configuration: {Endpoints = []}}) => { - Object.values(Endpoints).forEach(endpoint => endpointToIdMap.set(endpoint, id)); - }, - [AWS_ELASTIC_LOAD_BALANCING_LOADBALANCER]: ({resourceId, resourceType, awsRegion, configuration}) => { - elbDnsToResourceIdMap.set(configuration.dnsname, {resourceId, resourceType, awsRegion}); - }, - [AWS_ELASTIC_LOAD_BALANCING_V2_LOADBALANCER]: ({resourceId, resourceType, awsRegion, configuration}) => { - elbDnsToResourceIdMap.set(configuration.dNSName, {resourceId, resourceType, awsRegion}); - }, - [AWS_EVENT_RULE]: ({id, accountId, awsRegion, configuration: {EventBusName}}) => { - const eventBusArn = EventBusName.startsWith('arn:') - ? EventBusName : createArn({ - service: EVENTS, accountId, region: awsRegion, resource: `${EVENT_BUS}/${EventBusName}`, - }); - if(!eventBusRuleMap.has(eventBusArn)) eventBusRuleMap.set(eventBusArn, []); - eventBusRuleMap.get(eventBusArn).push(id); - }, - [AWS_RDS_DB_CLUSTER]: ({id, configuration: {readerEndpoint}}) => { - if(readerEndpoint != null) endpointToIdMap.set(readerEndpoint, id); - } - }; - - for(let resource of resources) { - const {id, resourceType, configuration} = resource; - const endpoint = getEndpoint(configuration); - - if(endpoint != null) { - endpointToIdMap.set(endpoint, id); - } - - const handler = handlers[resourceType]; - if(handler != null) handler(resource); - } - - return { - endpointToIdMap, - targetGroupToAsgMap, - elbDnsToResourceIdMap, - asgResourceNameToResourceIdMap, - eventBusRuleMap - } -} - -function createLookUpMaps(resources) { - const resourceIdentifierToIdMap = new Map(); - // we can't reuse resourceIdentifierToIdMap because we don't know the resource type for env vars - const envVarResourceIdentifierToIdMap = new Map(); - - for(let resource of resources) { - const {id, resourceType, resourceId, resourceName, accountId, awsRegion} = resource; - - if(resourceName != null) { - envVarResourceIdentifierToIdMap.set(createResourceNameKey({resourceName, accountId, awsRegion}), id); - resourceIdentifierToIdMap.set( - createResourceNameKey({resourceName, resourceType, accountId, awsRegion}), - id); - } - - resourceIdentifierToIdMap.set( - createResourceIdKey({resourceId, resourceType, accountId, awsRegion}), - id); - envVarResourceIdentifierToIdMap.set(createResourceIdKey({resourceId, accountId, awsRegion}), id); - } - - return { - resourceIdentifierToIdMap, - envVarResourceIdentifierToIdMap, - ...createResourceTypeLookUpMaps(resources) - } -} - -module.exports = createLookUpMaps; \ No newline at end of file diff --git a/source/backend/discovery/src/lib/additionalRelationships/index.js b/source/backend/discovery/src/lib/additionalRelationships/index.js deleted file mode 100644 index e7df44c6..00000000 --- a/source/backend/discovery/src/lib/additionalRelationships/index.js +++ /dev/null @@ -1,91 +0,0 @@ -const R = require("ramda"); -const addBatchedRelationships = require('./addBatchedRelationships'); -const addIndividualRelationships = require('./addIndividualRelationships'); -const createLookUpMaps = require('./createLookUpMaps'); -const logger = require("../logger"); -const { - AWS_EC2_INSTANCE, - AWS_EC2_NETWORK_INTERFACE, - AWS_EC2_SUBNET, - AWS_EC2_VOLUME, - AWS_IAM_ROLE, - AWS_TAGS_TAG, - AWS_CLOUDFORMATION_STACK, - AWS_CONFIG_RESOURCE_COMPLIANCE, - AWS_EC2_VPC, - VPC, - CONTAINS -} = require("../constants"); - -/** - * Config appends the resource type to relationship names for these types but does not do so - * consistently - **/ -const resourceTypesToNormalize = new Set([ - AWS_EC2_INSTANCE, - AWS_EC2_NETWORK_INTERFACE, - AWS_EC2_SUBNET, - AWS_EC2_VOLUME, - AWS_IAM_ROLE -]) - -function normaliseRelationshipNames(resource) { - if (resource.resourceType !== AWS_TAGS_TAG && resource.resourceType !== AWS_CONFIG_RESOURCE_COMPLIANCE) { - const {relationships} = resource; - relationships.forEach(rel => { - const {resourceType, relationshipName} = rel; - if(resourceTypesToNormalize.has(resourceType)) { - const [,, relSuffix] = resourceType.split('::'); - // VPC is in camelcase - if(resourceType === AWS_EC2_VPC && !relationshipName.includes(VPC)) { - rel.relationshipName = relationshipName + VPC; - } else if(!relationshipName.includes(relSuffix)){ - rel.relationshipName = relationshipName + relSuffix; - } - } - }); - } - return resource; -} - -function addVpcInfo(resource) { - if (![AWS_TAGS_TAG, AWS_CONFIG_RESOURCE_COMPLIANCE, AWS_CLOUDFORMATION_STACK].includes(resource.resourceType)) { - const {relationships} = resource; - - const [vpcId] = relationships - .filter(x => x.resourceType === AWS_EC2_VPC) - .map(x => x.resourceId); - - if (vpcId != null) resource.vpcId = vpcId; - - const subnetIds = relationships - .filter(x => x.resourceType === AWS_EC2_SUBNET && !x.relationshipName.includes(CONTAINS)) - .map(x => x.resourceId) - .sort(); - - if (subnetIds.length === 1) { - resource.subnetId = R.head(subnetIds); - } - } - return resource; -} - -module.exports = { - // for performance reasons, each handler mutates the items in `resources` - addAdditionalRelationships: R.curry(async (accountsMap, awsClient, resources) => { - const resourceMap = new Map(resources.map(resource => ([resource.id, resource]))); - - const lookUpMaps = { - accountsMap, - ...createLookUpMaps(resources), - resourceMap - }; - - await addBatchedRelationships(lookUpMaps, awsClient); - - await addIndividualRelationships(lookUpMaps, awsClient, resources) - - return resources - .map(R.compose(addVpcInfo, normaliseRelationshipNames)); - }) -} diff --git a/source/backend/discovery/src/lib/aggregator/getAllConfigResources.js b/source/backend/discovery/src/lib/aggregator/getAllConfigResources.js deleted file mode 100644 index 0cf28677..00000000 --- a/source/backend/discovery/src/lib/aggregator/getAllConfigResources.js +++ /dev/null @@ -1,90 +0,0 @@ -// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 - -const {PromisePool} = require('@supercharge/promise-pool'); -const R = require('ramda'); -const logger = require("../logger"); -const { - AWS_KINESIS_STREAM, - AWS_EKS_CLUSTER, - AWS_ECS_TASK_DEFINITION, - AWS_ELASTIC_LOAD_BALANCING_V2_LISTENER, - AWS_OPENSEARCH_DOMAIN, - AWS_SSM_MANAGED_INSTANCE_INVENTORY -} = require("../constants"); -const {createArnWithResourceType, isDate, isString, isObject, objToKeyNameArray} = require('../utils') - -const unsupportedResourceTypes = [ - AWS_ELASTIC_LOAD_BALANCING_V2_LISTENER -]; - -const resourceTypesToExclude = [ - ...unsupportedResourceTypes, - // the configuration item that Config returns for OpenSearch is missing fields so we use the SDK instead - AWS_OPENSEARCH_DOMAIN -] - -async function getAdvancedQueryUnsupportedResources(configServiceClient, aggregatorName) { - const {results, errors} = await PromisePool - .withConcurrency(5) - .for(unsupportedResourceTypes) - .process(async resourceType => { - return configServiceClient.getAggregatorResources(aggregatorName, resourceType); - }); - - logger.error(`There were ${errors.length} errors when importing resource types unsupported by advanced query.`); - logger.debug('Errors: ', {errors}); - - return results.flat(); -} - -function normaliseConfigurationItem(resource) { - const { - arn, resourceType, accountId, awsRegion, resourceId, configuration = {}, - tags = [], configurationItemCaptureTime - } = resource; - resource.arn = arn ?? createArnWithResourceType({resourceType, accountId, awsRegion, resourceId}); - resource.id = resource.arn; - - switch (resource.resourceType) { - // resourceIds for these resource types are not unique per account - case AWS_ECS_TASK_DEFINITION: - case AWS_EKS_CLUSTER: - case AWS_KINESIS_STREAM: - case AWS_SSM_MANAGED_INSTANCE_INVENTORY: - resource.resourceId = resource.arn; - break; - default: - break; - } - - resource.configuration = isString(configuration) ? JSON.parse(configuration) : configuration; - resource.configurationItemCaptureTime = isDate(configurationItemCaptureTime) ? - configurationItemCaptureTime.toISOString() : configurationItemCaptureTime; - - // the return type for tags is not always consistent, sometimes it returns an object where the key/value - // pairs represent the tags names and values - resource.tags = isObject(tags) ? objToKeyNameArray(tags) : tags; - resource.relationships = resource.relationships ?? []; - return resource; -} - -async function getAllConfigResources(configServiceClient, configAggregatorName) { - logger.profile('Time to download resources from Config'); - logger.info('Retrieving resources from Config.'); - - return Promise.all([ - getAdvancedQueryUnsupportedResources(configServiceClient, configAggregatorName), - // We need to exclude the resources we get from querying the aggregator without the SQL - // API because it returns results in UpperCamelCase whereas the SQL API returns them in - // camelCase. If these resource types get added to the SQL API we would have duplicates - // with different casing schemes that could break downstream processing. - configServiceClient.getAllAggregatorResources(configAggregatorName, - {excludes: {resourceTypes: resourceTypesToExclude}} - ) - ]) - .then(R.chain(R.map(normaliseConfigurationItem))) - .then(R.tap(() => logger.profile('Time to download resources from Config'))) -} - -module.exports = getAllConfigResources; \ No newline at end of file diff --git a/source/backend/discovery/src/lib/apiClient/appSync.js b/source/backend/discovery/src/lib/apiClient/appSync.js deleted file mode 100644 index 0f080893..00000000 --- a/source/backend/discovery/src/lib/apiClient/appSync.js +++ /dev/null @@ -1,341 +0,0 @@ -// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 - -const R = require('ramda'); -const {request} = require('undici'); -const retry = require('async-retry'); -const aws4 = require('aws4'); -const logger = require('../logger'); -const { - CONNECTION_CLOSED_PREMATURELY, - FUNCTION_RESPONSE_SIZE_TOO_LARGE, - RESOLVER_CODE_SIZE_ERROR -} = require("../constants"); - -async function sendQuery(opts, name, {query, variables = {}}) { - const sigOptions = { - method: 'POST', - host: opts.host, - region: opts.region, - path: opts.path, - headers: { - 'x-amzn-workload-discovery-requester': 'discovery-process' - }, - body: JSON.stringify({ - query, - variables - }), - service: 'appsync' - }; - - const sig = aws4.sign(sigOptions, opts.creds); - - return retry(async bail => { - return request(opts.graphgQlUrl, { - method: 'POST', - headers: sig.headers, - body: sigOptions.body - }).catch(err => { - logger.error(`Error sending gql request, ensure query is not malformed: ${err.message}`) - bail(err); - }).then(({body}) => body.json()) - .then((body) => { - const {errors} = body; - if (errors != null) { - if(errors.length === 1) { - const {message} = R.head(errors); - // this transient error can happen due to a bug in the Gremlin client library - // that the appSync lambda uses, 1 retry is normally sufficient - if(message === CONNECTION_CLOSED_PREMATURELY) { - throw new Error(message); - } - if([RESOLVER_CODE_SIZE_ERROR, FUNCTION_RESPONSE_SIZE_TOO_LARGE].includes(message)) { - return bail(new Error(message)); - } - } - logger.error('Error executing gql request', {errors: body.errors, query, variables}) - return bail(new Error(JSON.stringify(errors))); - } - return body.data[name]; - }); - }, { - retries: 3, - onRetry: (err, count) => { - logger.error(`Retry attempt for ${name} no ${count}: ${err.message}`); - } - }); -} - -function createPaginator(operation, PAGE_SIZE) { - return async function*(args) { - let pageSize = PAGE_SIZE; - let start = 0; - let end = pageSize; - let resources = null; - - while(!R.isEmpty(resources)) { - try { - resources = await operation({pagination: {start, end}, ...args}); - yield resources - start = start + pageSize; - pageSize = PAGE_SIZE; - end = end + pageSize; - } catch(err) { - if([RESOLVER_CODE_SIZE_ERROR, FUNCTION_RESPONSE_SIZE_TOO_LARGE].includes(err.message)) { - pageSize = Math.floor(pageSize / 2); - logger.debug(`Lambda response size too large, reducing page size to ${pageSize}`); - end = start + pageSize; - } else { - throw err; - } - } - } - } -} - -const getAccounts = opts => async () => { - const name = 'getAccounts'; - const query = ` - query ${name} { - getAccounts { - accountId - lastCrawled - name - regions { - name - } - } - }`; - return sendQuery(opts, name, {query}); -}; - -const addRelationships = opts => async relationships => { - const name = 'addRelationships'; - const query = ` - mutation ${name}($relationships: [RelationshipInput]!) { - ${name}(relationships: $relationships) { - id - } - }`; - const variables = {relationships}; - return sendQuery(opts, name, {query, variables}); -}; - -const addResources = opts => async resources => { - const name = 'addResources'; - const query = ` - mutation ${name}($resources: [ResourceInput]!) { - ${name}(resources: $resources) { - id - label - } - }`; - const variables = {resources}; - return sendQuery(opts, name, {query, variables}); -}; - -const getResources = opts => async ({pagination, resourceTypes, accounts}) => { - const name = 'getResources'; - const query = ` - query ${name}( - $pagination: Pagination - $resourceTypes: [String] - $accounts: [AccountInput] - ) { - getResources( - pagination: $pagination - resourceTypes: $resourceTypes - accounts: $accounts - ) { - id - label - md5Hash - properties { - accountId - arn - availabilityZone - awsRegion - configuration - configurationItemCaptureTime - configurationStateId - configurationItemStatus - loggedInURL - loginURL - private - resourceCreationTime - resourceName - resourceId - resourceType - resourceValue - state - supplementaryConfiguration - subnetId - subnetIds - tags - title - version - vpcId - dBInstanceStatus - statement - instanceType - } - } - }`; - const variables = {pagination, resourceTypes, accounts}; - return sendQuery(opts, name, {query, variables}); -}; - -const getRelationships = opts => async ({pagination}) => { - const name = 'getRelationships'; - const query = ` - query ${name}($pagination: Pagination) { - getRelationships(pagination: $pagination) { - target { - id - label - } - id - label - source { - id - label - } - } -}`; - const variables = {pagination}; - return sendQuery(opts, name, {query, variables}); -}; - -const indexResources = opts => async resources => { - const name = 'indexResources'; - const query = ` - mutation ${name}($resources: [ResourceInput]!) { - ${name}(resources: $resources) { - unprocessedResources - } - }`; - const variables = {resources}; - return sendQuery(opts, name, {query, variables}); -}; - -const updateResources = opts => async resources => { - const name = 'updateResources'; - const query = ` - mutation ${name}($resources: [ResourceInput]!) { - ${name}(resources: $resources) { - id - } - }`; - const variables = {resources}; - return sendQuery(opts, name, {query, variables}); -}; - -const deleteRelationships = opts => async relationshipIds => { - const name = 'deleteRelationships'; - const query = ` - mutation ${name}($relationshipIds: [String]!) { - ${name}(relationshipIds: $relationshipIds) - }`; - const variables = {relationshipIds}; - return sendQuery(opts, name, {query, variables}); -}; - -const deleteResources = opts => async resourceIds => { - const name = 'deleteResources'; - const query = ` - mutation ${name}($resourceIds: [String]!) { - ${name}(resourceIds: $resourceIds) - }`; - const variables = {resourceIds}; - return sendQuery(opts, name, {query, variables}); -}; - -const deleteIndexedResources = opts => async resourceIds => { - const name = 'deleteIndexedResources'; - const query = ` - mutation ${name}($resourceIds: [String]!) { - ${name}(resourceIds: $resourceIds) { - unprocessedResources - } - }`; - const variables = {resourceIds}; - return sendQuery(opts, name, {query, variables}); -}; - -const updateIndexedResources = opts => async resources => { - const name = 'updateIndexedResources'; - const query = ` - mutation ${name}($resources: [ResourceInput]!) { - ${name}(resources: $resources) { - unprocessedResources - } - }`; - const variables = {resources}; - return sendQuery(opts, name, {query, variables}); -}; - -const addAccounts = opts => async accounts => { - const name = 'addAccounts'; - const query = ` - mutation ${name}($accounts: [AccountInput]!) { - addAccounts(accounts: $accounts) { - unprocessedAccounts - } - } -` - const variables = {accounts}; - return sendQuery(opts, name, {query, variables}); -} - -const updateAccount = opts => async (accountId, accountName, isIamRoleDeployed, lastCrawled, resourcesRegionMetadata) => { - const name = 'updateAccount'; - const query = ` - mutation ${name}($accountId: String!, $name: String, $isIamRoleDeployed: Boolean, $lastCrawled: AWSDateTime, $resourcesRegionMetadata: ResourcesRegionMetadataInput) { - ${name}(accountId: $accountId, name: $name, isIamRoleDeployed: $isIamRoleDeployed, lastCrawled: $lastCrawled, resourcesRegionMetadata: $resourcesRegionMetadata) { - accountId - lastCrawled - } - }`; - const variables = {accountId, name: accountName, lastCrawled, isIamRoleDeployed, resourcesRegionMetadata}; - return sendQuery(opts, name, {query, variables}); -}; - -const deleteAccounts = opts => async (accountIds) => { - const name = 'deleteAccounts'; - const query = ` - mutation ${name}($accountIds: [String]!) { - deleteAccounts(accountIds: $accountIds) { - unprocessedAccounts - } - }`; - const variables = {accountIds}; - return sendQuery(opts, name, {query, variables}); -}; - -module.exports = function(config) { - const [host, path] = config.graphgQlUrl.replace('https://', '').split('/'); - - const opts = { - host, - path, - ...config - }; - - return { - addRelationships: addRelationships(opts), - addResources: addResources(opts), - deleteRelationships: deleteRelationships(opts), - deleteResources: deleteResources(opts), - indexResources: indexResources(opts), - addAccounts: addAccounts(opts), - deleteAccounts: deleteAccounts(opts), - getAccounts: getAccounts(opts), - updateAccount: updateAccount(opts), - updateResources: updateResources(opts), - deleteIndexedResources: deleteIndexedResources(opts), - updateIndexedResources: updateIndexedResources(opts), - getResources: getResources(opts), - getRelationships: getRelationships(opts), - createPaginator - }; -}; \ No newline at end of file diff --git a/source/backend/discovery/src/lib/apiClient/index.js b/source/backend/discovery/src/lib/apiClient/index.js deleted file mode 100644 index f23f68f7..00000000 --- a/source/backend/discovery/src/lib/apiClient/index.js +++ /dev/null @@ -1,232 +0,0 @@ -// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 - -const R = require("ramda"); -const {PromisePool} = require("@supercharge/promise-pool"); -const {profileAsync, createArn} = require('../utils'); -const logger = require("../logger"); -const {parse: parseArn} = require("@aws-sdk/util-arn-parser"); -const { - ACCESS_DENIED, - IAM, - ROLE, - DISCOVERY_ROLE_NAME -} = require("../constants"); - -function getDbResourcesMap(appSync) { - const {createPaginator, getResources} = appSync; - const getResourcesPaginator = createPaginator(getResources, 1000); - - return async () => { - const resourcesMap = new Map(); - - for await (const resources of getResourcesPaginator({})) { - resources.forEach(r => resourcesMap.set(r.id, { - id: r.id, - label: r.label, - md5Hash: r.md5Hash, - // gql will return `null` for missing properties which will break the hashing - // comparison for sdk discovered resources - properties: R.reject(R.isNil, r.properties) - })); - } - - return resourcesMap; - }; -} - -function getDbRelationshipsMap(appSync) { - const pageSize = 2500; - - function getDbRelationships(pagination, relationshipsMap= new Map()) { - return appSync.getRelationships({pagination}) - .then(relationships => { - if(R.isEmpty(relationships)) return relationshipsMap; - relationships.forEach(rel => { - const {id: source} = rel.source; - const {id: target} = rel.target; - const {label, id} = rel; - relationshipsMap.set(`${source}_${label}_${target}`, { - source, target, id, label - }) - }); - const {start, end} = pagination; - return getDbRelationships({start: start + pageSize, end: end + pageSize}, relationshipsMap); - }) - } - - return async () => getDbRelationships({start: 0, end: pageSize}); -} - -function process(processor) { - return ({concurrency, batchSize}, resources) => PromisePool - .withConcurrency(concurrency) - .for(R.splitEvery(batchSize, resources)) - .process(processor); -} - -function updateCrawledAccounts(appSync) { - return async accounts => { - const {errors, results} = await PromisePool - .withConcurrency(10) // the reserved concurrency of the settings lambda is 10 - .for(accounts) - .process(async ({accountId, name, isIamRoleDeployed, lastCrawled, resourcesRegionMetadata}) => { - return appSync.updateAccount( - accountId, - name, - isIamRoleDeployed, isIamRoleDeployed ? new Date().toISOString() : lastCrawled, - resourcesRegionMetadata - ); - }); - - logger.error(`There were ${errors.length} errors when updating last crawled time for accounts.`); - logger.debug('Errors: ', {errors}); - - return {errors, results}; - } -} - -function addCrawledAccounts(appSync) { - return async accounts => { - return Promise.resolve(accounts) - // we must ensure we do not persist any temporary credentials to the db - .then(R.map(R.omit(['credentials', 'toDelete']))) - .then(R.map(({regions, isIamRoleDeployed, lastCrawled, ...props}) => { - return { - ...props, - isIamRoleDeployed, - regions: regions.map(name => ({name})), - lastCrawled: isIamRoleDeployed ? new Date().toISOString() : lastCrawled - } - })) - .then(appSync.addAccounts); - } -} - -async function getOrgAccounts( - {ec2Client, organizationsClient, configClient}, appSyncClient, {configAggregator, organizationUnitId} -) { - - const [dbAccounts, orgAccounts, {OrganizationAggregationSource}, regions] = await Promise.all([ - appSyncClient.getAccounts(), - organizationsClient.getAllActiveAccountsFromParent(organizationUnitId), - configClient.getConfigAggregator(configAggregator), - ec2Client.getAllRegions() - ]); - - logger.info(`Organization source info.`, {OrganizationAggregationSource}); - - const dbAccountsMap = new Map(dbAccounts.map(x => [x.accountId, x])); - - logger.info('Accounts from db.', {dbAccounts}); - - const orgAccountsMap = new Map(orgAccounts.map(x => [x.Id, x])); - - const deletedAccounts = dbAccounts.reduce((acc, account) => { - const {accountId} = account; - if(dbAccountsMap.has(accountId) && !orgAccountsMap.has(accountId)) { - acc.push({...account, toDelete: true}); - } - return acc; - }, []); - - return orgAccounts - .map(({Id, isManagementAccount, Name: name, Arn}) => { - const [, organizationId] = parseArn(Arn).resource.split('/'); - const lastCrawled = dbAccountsMap.get(Id)?.lastCrawled; - return { - accountId: Id, - organizationId, - name, - ...(isManagementAccount ? {isManagementAccount} : {}), - ...(lastCrawled != null ? {lastCrawled} : {}), - regions: OrganizationAggregationSource.AllAwsRegions - ? regions.map(x => x.name) : OrganizationAggregationSource.AwsRegions, - toDelete: dbAccountsMap.has(Id) && !orgAccountsMap.has(Id) - }; - }) - .concat(deletedAccounts); -} - -function createDiscoveryRoleArn(accountId, rootAccountId) { - return createArn({service: IAM, accountId, resource: `${ROLE}/${DISCOVERY_ROLE_NAME}-${rootAccountId}`}); -} - -const addAccountCredentials = R.curry(async ({stsClient}, rootAccountId, accounts) => { - const {errors, results} = await PromisePool - .withConcurrency(30) - .for(accounts) - .process(async ({accountId, organizationId, ...props}) => { - const roleArn = createDiscoveryRoleArn(accountId, rootAccountId); - const credentials = await stsClient.getCredentials(roleArn); - return { - ...props, - accountId, - isIamRoleDeployed: true, - ...(organizationId != null ? {organizationId} : {}), - credentials - }; - }); - - errors.forEach(({message, raw: error, item: {accountId, isManagementAccount}}) => { - const roleArn = createDiscoveryRoleArn(accountId, rootAccountId); - if (error.Code === ACCESS_DENIED) { - const errorMessage = `Access denied assuming role: ${roleArn}.`; - if(isManagementAccount) { - logger.error(`${errorMessage} This is the management account, ensure the global resources template has been deployed to the account.`); - } else { - logger.error(`${errorMessage} Ensure the global resources template has been deployed to account: ${accountId}. The discovery for this account will be skipped.`); - } - } else { - logger.error(`Error assuming role: ${roleArn}: ${message}`); - } - }); - - return [ - ...errors.filter(({raw}) => raw.Code === ACCESS_DENIED).map(({item}) => ({...item, isIamRoleDeployed: false})), - ...results, - ]; -}); - -module.exports = { - createApiClient(awsClient, appSync, config) { - const ec2Client = awsClient.createEc2Client(); - const organizationsClient = awsClient.createOrganizationsClient(); - const configClient = awsClient.createConfigServiceClient(); - const stsClient = awsClient.createStsClient(); - - return { - getDbResourcesMap: profileAsync('Time to download resources from Neptune', getDbResourcesMap(appSync)), - getDbRelationshipsMap: profileAsync('Time to download relationships from Neptune', getDbRelationshipsMap(appSync)), - getAccounts: profileAsync('Time to get accounts', () => { - const accountsP = config.isUsingOrganizations - ? getOrgAccounts({ec2Client, organizationsClient, configClient}, appSync, config) - : appSync.getAccounts().then(R.map(R.evolve({regions: R.map(x => x.name)}))); - - return accountsP - .then(addAccountCredentials({stsClient}, config.rootAccountId)) - }), - addCrawledAccounts: addCrawledAccounts(appSync), - deleteAccounts: appSync.deleteAccounts, - storeResources: process(async resources => { - await appSync.indexResources(resources); - await appSync.addResources(resources); - }), - deleteResources: process(async ids => { - await appSync.deleteIndexedResources(ids); - await appSync.deleteResources(ids); - }), - updateResources: process(async resources => { - await appSync.updateIndexedResources(resources); - await appSync.updateResources(resources); - }), - deleteRelationships: process(async ids => { - return appSync.deleteRelationships(ids); - }), - storeRelationships: process(async relationships => { - return appSync.addRelationships(relationships); - }), - updateCrawledAccounts: updateCrawledAccounts(appSync) - }; - } -} diff --git a/source/backend/discovery/src/lib/awsClient.js b/source/backend/discovery/src/lib/awsClient.js deleted file mode 100644 index c11bb907..00000000 --- a/source/backend/discovery/src/lib/awsClient.js +++ /dev/null @@ -1,685 +0,0 @@ -// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 - -const logger = require('./logger'); -const pThrottle = require('p-throttle'); -const {parse: parseArn} = require("@aws-sdk/util-arn-parser"); -const {ConfiguredRetryStrategy} = require('@smithy/util-retry'); -const {customUserAgent} = require('./config'); -const { - Organizations, - OrganizationsClient, - paginateListAccounts, - paginateListAccountsForParent, - paginateListOrganizationalUnitsForParent -} = require("@aws-sdk/client-organizations"); -const {APIGateway, APIGatewayClient, paginateGetResources} = require("@aws-sdk/client-api-gateway"); -const { - CognitoIdentityProviderClient, - CognitoIdentityProvider, - paginateListUserPools -} = require('@aws-sdk/client-cognito-identity-provider'); -const {LambdaClient, paginateListFunctions, paginateListEventSourceMappings} = require('@aws-sdk/client-lambda'); -const { - ECSClient, - ECS, - paginateListContainerInstances, - paginateListTasks -} = require("@aws-sdk/client-ecs"); -const {EKSClient, EKS, paginateListNodegroups} = require("@aws-sdk/client-eks"); -const { - EC2, - EC2Client, - paginateDescribeSpotInstanceRequests, - paginateDescribeSpotFleetRequests, - paginateDescribeTransitGatewayAttachments -} = require('@aws-sdk/client-ec2') -const R = require("ramda"); -const {ElasticLoadBalancing} = require("@aws-sdk/client-elastic-load-balancing"); -const { - ElasticLoadBalancingV2, - ElasticLoadBalancingV2Client, - paginateDescribeTargetGroups -} = require("@aws-sdk/client-elastic-load-balancing-v2"); -const {IAMClient, paginateListPolicies} = require("@aws-sdk/client-iam"); -const {STS} = require("@aws-sdk/client-sts"); -const { fromNodeProviderChain } = require("@aws-sdk/credential-providers"); -const {AWS, OPENSEARCH, GLOBAL} = require("./constants"); -const { - ConfigServiceClient, - ConfigService, - paginateListAggregateDiscoveredResources, - paginateSelectAggregateResourceConfig, -} = require("@aws-sdk/client-config-service"); -const { - OpenSearch -} = require('@aws-sdk/client-opensearch'); -const { - DynamoDBStreams -} = require('@aws-sdk/client-dynamodb-streams') -const {SNSClient, paginateListSubscriptions} = require('@aws-sdk/client-sns'); -const {memoize} = require('./utils'); - -const RETRY_EXPONENTIAL_RATE = 2; - -// We want to share throttling limits across instances of clients so we memoize this -// function that each factory function calls to create its throttlers during -// instantiation. -const createThrottler = memoize((name, credentials, region, throttleParams) => { - return pThrottle(throttleParams); -}); - -function throttledPaginator(throttler, paginator) { - const getPage = throttler(async () => paginator.next()); - - return (async function* () { - while(true) { - const {done, value} = await getPage(); - if(done) return {done}; - yield value; - } - })(); -} - -function createOrganizationsClient(credentials, region) { - const organizationsClient = new Organizations({customUserAgent, region, credentials}); - - const paginatorConfig = { - pageSize: 20, - client: new OrganizationsClient({customUserAgent, region, credentials}) - }; - - const getAllAccountsThrottler = createThrottler('getAllAccounts', credentials, region, { - limit: 1, - interval: 1000 - }); - - const getAllFromParentThrottler = createThrottler('getAllFromParent', credentials, region, { - limit: 1, - interval: 1000 - }); - - async function getAllAccounts() { - const listAccountsPaginator = paginateListAccounts(paginatorConfig, {}); - - const accounts = [] - - for await (const {Accounts} of throttledPaginator(getAllAccountsThrottler, listAccountsPaginator)) { - accounts.push(...Accounts); - } - - return accounts; - } - - async function getAllAccountsFromParent(ouId) { - const ouIds = [ouId]; - - // we will do these serially so as not to encounter rate limiting - for(const id of ouIds) { - const paginator = - throttledPaginator(getAllFromParentThrottler, paginateListOrganizationalUnitsForParent(paginatorConfig, {ParentId: id})); - for await (const {OrganizationalUnits} of paginator) { - ouIds.push(...OrganizationalUnits.map(x => x.Id)); - } - } - - const accounts = []; - - for(const id of ouIds) { - const paginator = - throttledPaginator(getAllFromParentThrottler, paginateListAccountsForParent(paginatorConfig, {ParentId: id})); - for await (const {Accounts} of paginator) { - accounts.push(...Accounts); - } - } - - return accounts; - } - - return { - async getAllActiveAccountsFromParent(ouId) { - const [{Roots}, {Organization}] = await Promise.all([ - organizationsClient.listRoots({}), - organizationsClient.describeOrganization({}) - ]); - const {Id: rootId} = Roots[0]; - const {MasterAccountId: managementAccountId} = Organization; - - const accounts = await (ouId === rootId ? getAllAccounts() : getAllAccountsFromParent(ouId)); - - const activeAccounts = accounts - .filter(account => account.Status === 'ACTIVE') - .map(account => { - if(account.Id === managementAccountId) { - account.isManagementAccount = true; - } - return account; - }); - - logger.info(`All active accounts from organization unit ${ouId} retrieved, ${activeAccounts.length} retrieved.`); - - return activeAccounts; - } - }; -} - -function createOpenSearchClient(credentials, region) { - const OpenSearchClient = new OpenSearch({customUserAgent, region, credentials}); - - return { - async getAllOpenSearchDomains() { - const {DomainNames} = await OpenSearchClient.listDomainNames({EngineType: OPENSEARCH}); - - const domains = []; - - // The describeDomain API can only handle 5 domain names per request. Also, we send these - // requests serially to reduce the chance of any rate limiting. - for(const batch of R.splitEvery(5, DomainNames)) { - const {DomainStatusList} = await OpenSearchClient.describeDomains({DomainNames: batch.map(x => x.DomainName)}) - domains.push(...DomainStatusList); - } - - return domains; - } - }; -} - -function createApiGatewayClient(credentials, region) { - const apiGatewayClient = new APIGateway({customUserAgent, region, credentials}); - - const apiGatewayPaginatorConfig = { - pageSize: 100, - client: new APIGatewayClient({customUserAgent, region, credentials}) - } - - // The API Gateway rate limits are _per account_ so we set the region to global - const getResourcesThrottler = createThrottler('apiGatewayGetResources', credentials, GLOBAL, { - limit: 5, - interval: 2000 - }); - - const totalOperationsThrottler = createThrottler('apiGatewayTotalOperations', credentials, GLOBAL, { - limit: 10, - interval: 1000 - }); - - return { - getResources: totalOperationsThrottler(getResourcesThrottler(async restApiId => { - const getResourcesPaginator = paginateGetResources(apiGatewayPaginatorConfig, {restApiId}); - - const apiResources = []; - for await (const {items} of getResourcesPaginator) { - apiResources.push(...items); - } - return apiResources; - })), - getMethod: totalOperationsThrottler(async (httpMethod, resourceId, restApiId) => { - return apiGatewayClient.getMethod({ - httpMethod, resourceId, restApiId - }); - }), - getAuthorizers: totalOperationsThrottler(async restApiId => { - return apiGatewayClient.getAuthorizers({restApiId}) - .then(R.prop('items')) - }) - }; -} - -function createConfigServiceClient(credentials, region) { - const configClient = new ConfigService({credentials, region}); - - const paginatorConfig = { - client: new ConfigServiceClient({credentials, region}), - pageSize: 100 - }; - - const selectAggregateResourceConfigThrottler = createThrottler( - 'selectAggregateResourceConfig', credentials, region, { - limit: 8, - interval: 1000 - } - ); - - const batchGetAggregateResourceConfigThrottler = createThrottler( - 'batchGetAggregateResourceConfig', credentials, region, { - limit: 15, - interval: 1000 - } - ); - - const batchGetAggregateResourceConfig = batchGetAggregateResourceConfigThrottler((ConfigurationAggregatorName, ResourceIdentifiers) => { - return configClient.batchGetAggregateResourceConfig({ConfigurationAggregatorName, ResourceIdentifiers}) - }) - - return { - async getConfigAggregator(aggregatorName) { - const {ConfigurationAggregators} = await configClient.describeConfigurationAggregators({ - ConfigurationAggregatorNames: [aggregatorName] - }); - return ConfigurationAggregators[0]; - }, - async getAllAggregatorResources(aggregatorName, {excludes: {resourceTypes: excludedResourceTypes = []}}) { - logger.info('Getting resources with advanced query'); - const excludedResourceTypesSqlList = excludedResourceTypes.map(rt => `'${rt}'`).join(','); - const excludesResourceTypesWhere = R.isEmpty(excludedResourceTypes) ? - '' : `WHERE resourceType NOT IN (${excludedResourceTypesSqlList})`; - - const Expression = `SELECT - *, - configuration, - configurationItemStatus, - relationships, - tags - ${excludesResourceTypesWhere} - ` - const MAX_RETRIES = 5; - - const paginator = paginateSelectAggregateResourceConfig({ - client: new ConfigServiceClient({ - credentials, - region, - // this code is a critical path so we use a lengthy exponential retry - // rate to give it as much chance to succeed in the face of any - // throttling errors: 0s -> 2s -> 6s -> 14s -> 30s -> Failure - retryStrategy: new ConfiguredRetryStrategy( - MAX_RETRIES, - attempt => 2000 * (RETRY_EXPONENTIAL_RATE ** attempt) - ) - }), - pageSize: 100 - }, { - ConfigurationAggregatorName: aggregatorName, Expression - }); - - const resources = [] - - for await (const page of throttledPaginator(selectAggregateResourceConfigThrottler, paginator)) { - resources.push(...R.map(JSON.parse, page.Results)); - } - - logger.info(`${resources.length} resources downloaded from Config advanced query`); - return resources; - }, - async getAggregatorResources(aggregatorName, resourceType) { - const resources = []; - - const paginator = paginateListAggregateDiscoveredResources(paginatorConfig,{ - ConfigurationAggregatorName: aggregatorName, - ResourceType: resourceType - }); - - for await (const {ResourceIdentifiers} of paginator) { - if(!R.isEmpty(ResourceIdentifiers)) { - const {BaseConfigurationItems} = await batchGetAggregateResourceConfig(aggregatorName, ResourceIdentifiers); - resources.push(...BaseConfigurationItems); - } - } - - return resources; - } - }; -} - -function createLambdaClient(credentials, region) { - const lambdaPaginatorConfig = { - client: new LambdaClient({customUserAgent, region, credentials}), - pageSize: 100 - }; - - return { - async getAllFunctions() { - const functions = []; - const listFunctions = paginateListFunctions(lambdaPaginatorConfig, {}); - - for await (const {Functions} of listFunctions) { - functions.push(...Functions); - } - return functions; - }, - async listEventSourceMappings(arn) { - const mappings = []; - const listEventSourceMappingsPaginator = paginateListEventSourceMappings(lambdaPaginatorConfig, { - FunctionName: arn - }); - - for await (const {EventSourceMappings} of listEventSourceMappingsPaginator) { - mappings.push(...EventSourceMappings) - } - return mappings; - } - }; -} - -function createEc2Client(credentials, region) { - const ec2Client = new EC2({customUserAgent, credentials, region}); - - const ec2PaginatorConfig = { - client: new EC2Client({customUserAgent, region, credentials}), - pageSize: 100 - }; - - return { - async getAllRegions() { - const { Regions } = await ec2Client.describeRegions({}); - return Regions.map(x => ({name: x.RegionName})); - }, - async getAllSpotInstanceRequests() { - const siPaginator = paginateDescribeSpotInstanceRequests(ec2PaginatorConfig, {}); - - const spotInstanceRequests = []; - for await (const {SpotInstanceRequests} of siPaginator) { - spotInstanceRequests.push(...SpotInstanceRequests); - } - return spotInstanceRequests; - }, - async getAllSpotFleetRequests() { - const sfPaginator = paginateDescribeSpotFleetRequests(ec2PaginatorConfig, {}); - - const spotFleetRequests = []; - - for await (const {SpotFleetRequestConfigs} of sfPaginator) { - spotFleetRequests.push(...SpotFleetRequestConfigs); - } - return spotFleetRequests; - }, - async getAllTransitGatewayAttachments(Filters) { - const paginator = paginateDescribeTransitGatewayAttachments(ec2PaginatorConfig, {Filters}); - const attachments = []; - for await (const {TransitGatewayAttachments} of paginator) { - attachments.push(...TransitGatewayAttachments); - } - return attachments; - } - } -} - -function createEcsClient(credentials, region) { - const ecsClient = new ECS({customUserAgent, region, credentials}); - - const ecsPaginatorConfig = { - client: new ECSClient({customUserAgent, region, credentials}), - pageSize: 100 - }; - - // describeContainerInstances, describeTasks and listTasks share the same throttling bucket - const ecsClusterResourceReadThrottler = createThrottler('ecsClusterResourceReadThrottler', credentials, region, { - limit: 20, - interval: 1000 - }); - - const describeContainerInstances = ecsClusterResourceReadThrottler((cluster, containerInstances) => { - return ecsClient.describeContainerInstances({cluster, containerInstances}); - }) - - const describeTasks = ecsClusterResourceReadThrottler((cluster, tasks) => { - return ecsClient.describeTasks({cluster, tasks}); - }) - - return { - async getAllClusterInstances(clusterArn) { - const listContainerInstancesPaginator = paginateListContainerInstances(ecsPaginatorConfig, { - cluster: clusterArn - }); - - const instances = []; - - for await (const {containerInstanceArns} of throttledPaginator(ecsClusterResourceReadThrottler, listContainerInstancesPaginator)) { - if(!R.isEmpty(containerInstanceArns)) { - const {containerInstances} = await describeContainerInstances(clusterArn, containerInstanceArns); - instances.push(...containerInstances.map(x => x.ec2InstanceId)) - } - } - return instances; - }, - async getAllServiceTasks(cluster, serviceName) { - const serviceTasks = [] - const listTaskPaginator = paginateListTasks(ecsPaginatorConfig, {cluster, serviceName}); - - for await (const {taskArns} of throttledPaginator(ecsClusterResourceReadThrottler, listTaskPaginator)) { - if(!R.isEmpty(taskArns)) { - const {tasks} = await describeTasks(cluster, taskArns); - serviceTasks.push(...tasks); - } - } - - return serviceTasks; - }, - async getAllClusterTasks(cluster) { - const clusterTasks = [] - const listTaskPaginator = paginateListTasks(ecsPaginatorConfig, {cluster}); - - for await (const {taskArns} of throttledPaginator(ecsClusterResourceReadThrottler, listTaskPaginator)) { - if(!R.isEmpty(taskArns)) { - const {tasks} = await describeTasks(cluster, taskArns); - clusterTasks.push(...tasks); - } - } - - return clusterTasks; - } - }; -} - -function createEksClient(credentials, region) { - const eksClient = new EKS({customUserAgent, region, credentials}); - - const eksPaginatorConfig = { - client: new EKSClient({customUserAgent, region, credentials}), - pageSize: 100 - }; - // this API only has a TPS of 10 so we set it artificially low to avoid rate limiting - const describeNodegroupThrottler = createThrottler('eksDescribeNodegroup', credentials, region, { - limit: 5, - interval: 1000 - }); - - return { - async listNodeGroups(clusterName) { - const ngs = []; - const listNodegroupsPaginator = paginateListNodegroups(eksPaginatorConfig, { - clusterName - }); - - for await (const {nodegroups} of listNodegroupsPaginator) { - const result = await Promise.all(nodegroups.map(describeNodegroupThrottler(async nodegroupName => { - const {nodegroup} = await eksClient.describeNodegroup({ - nodegroupName, clusterName - }); - return nodegroup; - }))); - ngs.push(...result); - } - - return ngs; - } - } - -} - -function createElbClient(credentials, region) { - const elbClient = new ElasticLoadBalancing({credentials, region}); - - // ELB rate limits for describe* calls are shared amongst all LB types - const elbDescribeThrottler = createThrottler('elbDescribe', credentials, region, { - limit: 10, - interval: 1000 - }); - - return { - getLoadBalancerInstances: elbDescribeThrottler(async resourceId => { - const lb = await elbClient.describeLoadBalancers({ - LoadBalancerNames: [resourceId], - }); - - const instances = lb.LoadBalancerDescriptions[0]?.Instances ?? []; - - return instances.map(x => x.InstanceId); - }) - }; -} - -function createElbV2Client(credentials, region) { - const elbClientV2 = new ElasticLoadBalancingV2({credentials, region}); - const elbV2PaginatorConfig = { - client: new ElasticLoadBalancingV2Client({customUserAgent, region, credentials}), - pageSize: 100 - }; - - // ELB rate limits for describe* calls are shared amongst all LB types - const elbDescribeThrottler = createThrottler('elbDescribe', credentials, region, { - limit: 10, - interval: 1000 - }); - - return { - describeTargetHealth: elbDescribeThrottler(async arn => { - const {TargetHealthDescriptions = []} = await elbClientV2.describeTargetHealth({ - TargetGroupArn: arn - }); - return TargetHealthDescriptions; - }), - getAllTargetGroups: elbDescribeThrottler(async () => { - const tgPaginator = paginateDescribeTargetGroups(elbV2PaginatorConfig, {}); - - const targetGroups = []; - for await (const {TargetGroups} of tgPaginator) { - targetGroups.push(...TargetGroups); - } - - return targetGroups; - }), - }; -} - -function createIamClient(credentials, region) { - const iamPaginatorConfig = { - client: new IAMClient({customUserAgent, region, credentials}), - pageSize: 100 - }; - - return { - async getAllAttachedAwsManagedPolices() { - const listPoliciesPaginator = paginateListPolicies(iamPaginatorConfig, { - Scope: AWS.toUpperCase(), OnlyAttached: true}); - - const managedPolices = []; - for await (const {Policies} of listPoliciesPaginator) { - managedPolices.push(...Policies); - } - - return managedPolices; - } - }; -} - -function createSnsClient(credentials, region) { - const snsPaginatorConfig = { - client: new SNSClient({credentials, region}), - pageSize: 100 - } - - return { - async getAllSubscriptions() { - const listSubscriptionsPaginator = paginateListSubscriptions(snsPaginatorConfig, {}); - - const subscriptions = []; - for await (const {Subscriptions} of listSubscriptionsPaginator) { - subscriptions.push(...Subscriptions); - } - - return subscriptions; - } - } -} - -function createStsClient(credentials, region) { - const params = (credentials == null && region == null) ? {} : {credentials, region} - const sts = new STS(params); - - const CredentialsProvider = fromNodeProviderChain(); - - return { - async getCredentials(RoleArn) { - const {Credentials} = await sts.assumeRole({ - RoleArn, - RoleSessionName: 'discovery' - } - ); - - return {accessKeyId: Credentials.AccessKeyId, secretAccessKey: Credentials.SecretAccessKey, sessionToken: Credentials.SessionToken}; - }, - async getCurrentCredentials() { - return CredentialsProvider(); - } - }; -} - -function createCognitoClient(credentials, region) { - const cognitoPaginatorConfig = { - client: new CognitoIdentityProviderClient({customUserAgent, region, credentials}), - pageSize: 60 - } - - const cognitoClient = new CognitoIdentityProvider({customUserAgent, region, credentials}); - - // describeUserPool has an RPS of 15, we set this artificially low to avoid - // being rate limited - const describeUserPoolThrottler = createThrottler('cognitoDescribeUserPool', credentials, region, { - limit: 7, - interval: 1000 - }); - - return { - async getAllUserPools() { - const upPaginator = paginateListUserPools(cognitoPaginatorConfig, {}); - - const userPools = []; - - for await(const {UserPools} of upPaginator) { - const throttledPromises = UserPools.map(describeUserPoolThrottler(({Id}) => cognitoClient.describeUserPool({UserPoolId: Id}))); - const pools = await Promise.all(throttledPromises); - userPools.push(...pools.map(x => x.UserPool)); - } - - return userPools; - } - } - -} - -function createDynamoDBStreamsClient(credentials, region) { - const dynamoDBStreamsClient = new DynamoDBStreams({customUserAgent, region, credentials}); - - // this API only has a TPS of 10 so we set it artificially low to avoid rate limiting - const describeStreamThrottler = createThrottler('dynamoDbDescribeStream', credentials, region, { - limit: 8, - interval: 1000 - }); - - const describeStream = describeStreamThrottler(streamArn => dynamoDBStreamsClient.describeStream({StreamArn: streamArn})); - - return { - async describeStream(streamArn) { - const {StreamDescription} = await describeStream(streamArn); - return StreamDescription; - } - } -} - -module.exports = { - createOrganizationsClient, - createApiGatewayClient, - createConfigServiceClient, - createDynamoDBStreamsClient, - createEc2Client, - createEcsClient, - createEksClient, - createLambdaClient, - createElbClient, - createElbV2Client, - createIamClient, - createStsClient, - createCognitoClient, - createOpenSearchClient, - createSnsClient -}; \ No newline at end of file diff --git a/source/backend/discovery/src/lib/config.js b/source/backend/discovery/src/lib/config.js deleted file mode 100644 index 81c60915..00000000 --- a/source/backend/discovery/src/lib/config.js +++ /dev/null @@ -1,18 +0,0 @@ -// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 - -const {AWS_ORGANIZATIONS} = require("./constants"); -const config = { - rootAccountId: process.env.AWS_ACCOUNT_ID, - region: process.env.AWS_REGION, - cluster: process.env.CLUSTER, - crossAccountDiscovery: process.env.CROSS_ACCOUNT_DISCOVERY, - isUsingOrganizations: process.env.CROSS_ACCOUNT_DISCOVERY === AWS_ORGANIZATIONS, - organizationUnitId: process.env.ORGANIZATION_UNIT_ID, - configAggregator: process.env.CONFIG_AGGREGATOR, - graphgQlUrl: process.env.GRAPHQL_API_URL, - rootAccountRole: process.env.DISCOVERY_ROLE, - customUserAgent: process.env.CUSTOM_USER_AGENT -}; - -module.exports = config; diff --git a/source/backend/discovery/src/lib/constants.js b/source/backend/discovery/src/lib/constants.js deleted file mode 100644 index c8372412..00000000 --- a/source/backend/discovery/src/lib/constants.js +++ /dev/null @@ -1,151 +0,0 @@ -// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 - -module.exports = { - IS_ASSOCIATED_WITH: 'Is associated with ', - CONTAINS: 'Contains ', - IS_CONTAINED_IN: 'Is contained in ', - IS_ATTACHED_TO: 'Is attached to ', - ACCESS_DENIED: 'AccessDenied', - AWS: 'aws', - AWS_API_GATEWAY_AUTHORIZER: 'AWS::ApiGateway::Authorizer', - AWS_API_GATEWAY_METHOD: 'AWS::ApiGateway::Method', - AWS_API_GATEWAY_REST_API: 'AWS::ApiGateway::RestApi', - AWS_API_GATEWAY_RESOURCE: 'AWS::ApiGateway::Resource', - AWS_CLOUDFORMATION_STACK: 'AWS::CloudFormation::Stack', - AWS_CLOUDFRONT_DISTRIBUTION: 'AWS::CloudFront::Distribution', - AWS_CLOUDFRONT_STREAMING_DISTRIBUTION: 'AWS::CloudFront::StreamingDistribution', - AWS_COGNITO_USER_POOL: 'AWS::Cognito::UserPool', - AWS_CONFIG_RESOURCE_COMPLIANCE: 'AWS::Config::ResourceCompliance', - AWS_DYNAMODB_STREAM: 'AWS::DynamoDB::Stream', - AWS_DYNAMODB_TABLE: 'AWS::DynamoDB::Table', - AWS_EC2_INSTANCE: 'AWS::EC2::Instance', - AWS_EC2_INTERNET_GATEWAY: 'AWS::EC2::InternetGateway', - AWS_EC2_LAUNCH_TEMPLATE: 'AWS::EC2::LaunchTemplate', - AWS_EC2_NAT_GATEWAY: 'AWS::EC2::NatGateway', - AWS_EC2_NETWORK_ACL: 'AWS::EC2::NetworkAcl', - AWS_EC2_NETWORK_INTERFACE: 'AWS::EC2::NetworkInterface', - AWS_EC2_ROUTE_TABLE: 'AWS::EC2::RouteTable', - AWS_EC2_SPOT: 'AWS::EC2::Spot', - AWS_EC2_SPOT_FLEET: 'AWS::EC2::SpotFleet', - AWS_EC2_SUBNET: 'AWS::EC2::Subnet', - AWS_EC2_SECURITY_GROUP: 'AWS::EC2::SecurityGroup', - AWS_EC2_TRANSIT_GATEWAY: 'AWS::EC2::TransitGateway', - AWS_EC2_TRANSIT_GATEWAY_ATTACHMENT: 'AWS::EC2::TransitGatewayAttachment', - AWS_EC2_TRANSIT_GATEWAY_ROUTE_TABLE: 'AWS::EC2::TransitGatewayRouteTable', - AWS_EC2_VOLUME: 'AWS::EC2::Volume', - AWS_EC2_VPC: 'AWS::EC2::VPC', - AWS_EC2_VPC_ENDPOINT: 'AWS::EC2::VPCEndpoint', - AWS_ECR_REPOSITORY: 'AWS::ECR::Repository', - AWS_ECS_CLUSTER: 'AWS::ECS::Cluster', - AWS_ECS_SERVICE: 'AWS::ECS::Service', - AWS_ECS_TASK: 'AWS::ECS::Task', - AWS_ECS_TASK_DEFINITION: 'AWS::ECS::TaskDefinition', - AWS_ELASTICSEARCH_DOMAIN: 'AWS::Elasticsearch::Domain', - AWS_EVENT_EVENT_BUS: 'AWS::Events::EventBus', - AWS_EVENT_RULE: 'AWS::Events::Rule', - AWS_KMS_KEY: 'AWS::KMS::Key', - AWS_OPENSEARCH_DOMAIN: 'AWS::OpenSearch::Domain', - AWS_ELASTIC_LOAD_BALANCING_LOADBALANCER: 'AWS::ElasticLoadBalancing::LoadBalancer', - AWS_ELASTIC_LOAD_BALANCING_V2_LOADBALANCER: 'AWS::ElasticLoadBalancingV2::LoadBalancer', - AWS_ELASTIC_LOAD_BALANCING_V2_TARGET_GROUP: 'AWS::ElasticLoadBalancingV2::TargetGroup', - AWS_ELASTIC_LOAD_BALANCING_V2_LISTENER: 'AWS::ElasticLoadBalancingV2::Listener', - AWS_LAMBDA_FUNCTION: 'AWS::Lambda::Function', - AWS_RDS_DB_SUBNET_GROUP: 'AWS::RDS::DBSubnetGroup', - AWS_RDS_DB_CLUSTER: 'AWS::RDS::DBCluster', - AWS_RDS_DB_INSTANCE: 'AWS::RDS::DBInstance', - AWS_IAM_GROUP: 'AWS::IAM::Group', - AWS_IAM_ROLE: 'AWS::IAM::Role', - AWS_IAM_USER: 'AWS::IAM::User', - AWS_IAM_AWS_MANAGED_POLICY: 'AWS::IAM::AWSManagedPolicy', - AWS_IAM_INLINE_POLICY: 'AWS::IAM::InlinePolicy', - AWS_IAM_POLICY: 'AWS::IAM::Policy', - AWS_CODEBUILD_PROJECT: 'AWS::CodeBuild::Project', - AWS_CODE_PIPELINE_PIPELINE: 'AWS::CodePipeline::Pipeline', - AWS_EC2_EIP: 'AWS::EC2::EIP', - AWS_EFS_FILE_SYSTEM: 'AWS::EFS::FileSystem', - AWS_EFS_ACCESS_POINT: 'AWS::EFS::AccessPoint', - AWS_ELASTIC_BEANSTALK_APPLICATION_VERSION: 'AWS::ElasticBeanstalk::ApplicationVersion', - AWS_EKS_CLUSTER: 'AWS::EKS::Cluster', - AWS_EKS_NODE_GROUP: 'AWS::EKS::Nodegroup', - AWS_AUTOSCALING_AUTOSCALING_GROUP: 'AWS::AutoScaling::AutoScalingGroup', - AWS_AUTOSCALING_SCALING_POLICY: 'AWS::AutoScaling::ScalingPolicy', - AWS_AUTOSCALING_LAUNCH_CONFIGURATION: 'AWS::AutoScaling::LaunchConfiguration', - AWS_KINESIS_STREAM: 'AWS::Kinesis::Stream', - AWS_MSK_CLUSTER: 'AWS::MSK::Cluster', - AWS_REDSHIFT_CLUSTER: 'AWS::Redshift::Cluster', - AWS_S3_BUCKET: 'AWS::S3::Bucket', - AWS_S3_ACCOUNT_PUBLIC_ACCESS_BLOCK: 'AWS::S3::AccountPublicAccessBlock', - AWS_SNS_TOPIC: 'AWS::SNS::Topic', - AWS_SQS_QUEUE: 'AWS::SQS::Queue', - AWS_SSM_MANAGED_INSTANCE_INVENTORY: 'AWS::SSM::ManagedInstanceInventory', - AWS_TAGS_TAG: 'AWS::Tags::Tag', - AWS_ORGANIZATIONS: 'AWS_ORGANIZATIONS', - DISCOVERY_ROLE_NAME: 'WorkloadDiscoveryRole', - ECS: 'ecs', - ELASTIC_LOAD_BALANCING: 'elasticloadbalancing', - LOAD_BALANCER: 'loadbalancer', - ENI_NAT_GATEWAY_INTERFACE_TYPE: 'nat_gateway', - ENI_ALB_DESCRIPTION_PREFIX: 'ELB app', - ENI_ELB_DESCRIPTION_PREFIX: 'ELB ', - ENI_VPC_ENDPOINT_INTERFACE_TYPE: 'vpc_endpoint', - ENI_SEARCH_DESCRIPTION_PREFIX: 'ES ', // this value is the same for both Opensearch and ES ENIs - ENI_SEARCH_REQUESTER_ID: 'amazon-elasticsearch', // this value is the same for both Opensearch and ES ENIs - IAM: 'iam', - ROLE: 'role', - LAMBDA: 'lambda', - GLOBAL: 'global', - REGION: 'region', - REGIONAL: 'regional', - NETWORK_INTERFACE_ID: 'networkInterfaceId', - NOT_APPLICABLE: 'Not Applicable', - MULTIPLE_AVAILABILITY_ZONES: 'Multiple Availability Zones', - SPOT_FLEET_REQUEST_ID_TAG: 'aws:ec2spot:fleet-request-id', - SUBNET_ID: 'subnetId', - GET: 'GET', - POST: 'POST', - PUT: 'PUT', - DELETE: 'DELETE', - SUBNET: 'Subnet', - OPENSEARCH: 'OpenSearch', - SECURITY_GROUP: 'SecurityGroup', - RESOURCE_DISCOVERED: 'ResourceDiscovered', - RESOURCE_NOT_RECORDED: 'ResourceNotRecorded', - EC2: 'ec2', - SPOT_FLEET_REQUEST: 'spot-fleet-request', - SPOT_INSTANCE_REQUEST: 'spot-instance-request', - INLINE_POLICY: 'inlinePolicy', - TAG: 'tag', - TAGS: 'tags', - VPC: 'Vpc', - APIGATEWAY: 'apigateway', - RESTAPIS: 'restapis', - RESOURCES: 'resources', - METHODS: 'methods', - AUTHORIZERS: 'authorizers', - EVENTS: 'events', - EVENT_BUS: 'event-bus', - NAME: 'Name', - NOT_FOUND_EXCEPTION: 'NotFoundException', - CN_NORTH_1: 'cn-north-1', - CN_NORTHWEST_1: 'cn-northwest-1', - US_GOV_EAST_1: 'us-gov-east-1', - US_GOV_WEST_1: 'us-gov-west-1', - AWS_CN: 'aws-cn', - AWS_US_GOV: 'aws-us-gov', - CONNECTION_CLOSED_PREMATURELY: 'Connection closed prematurely', - RESOLVER_CODE_SIZE_ERROR: 'Reached evaluated resolver code size limit.', - PERSPECTIVE: 'perspective', - TASK_DEFINITION: 'task-definition', - TRANSIT_GATEWAY_ATTACHMENT: 'transit-gateway-attachment', - UNKNOWN: 'unknown', - DISCOVERY_PROCESS_RUNNING: 'Discovery process ECS task is already running in cluster.', - CONSOLE: 'console', - SIGN_IN: 'signin', - AWS_AMAZON_COM: 'aws.amazon.com', - S3: 's3', - HOME: 'home', - FULFILLED: 'fulfilled', - FUNCTION_RESPONSE_SIZE_TOO_LARGE: 'Response payload size exceeded maximum allowed payload size (6291556 bytes).', - WORKLOAD_DISCOVERY_TASKGROUP: 'workload-discovery-taskgroup' -} \ No newline at end of file diff --git a/source/backend/discovery/src/lib/createResourceAndRelationshipDeltas.js b/source/backend/discovery/src/lib/createResourceAndRelationshipDeltas.js deleted file mode 100644 index a99d8012..00000000 --- a/source/backend/discovery/src/lib/createResourceAndRelationshipDeltas.js +++ /dev/null @@ -1,173 +0,0 @@ -// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 - -const R = require("ramda"); -const {iterate} = require('iterare'); -const { - GLOBAL, - AWS_IAM_AWS_MANAGED_POLICY, - AWS, - AWS_IAM_INLINE_POLICY, - AWS_IAM_USER, - AWS_IAM_ROLE, - AWS_IAM_POLICY, - AWS_IAM_GROUP, - AWS_TAGS_TAG, - UNKNOWN -} = require("./constants"); -const {resourceTypesToHash} = require('./utils') - -function createLookUpMaps(resources) { - const resourcesMap = new Map(); - const resourceIdentifierToIdMap = new Map(); - - for(let resource of resources) { - const {id, resourceId, resourceType, resourceName, accountId, awsRegion} = resource; - - if(resourceName != null) { - resourceIdentifierToIdMap.set( - createResourceNameKey({resourceType, resourceName, accountId, awsRegion}), - id); - } - resourceIdentifierToIdMap.set( - createResourceIdKey({resourceType, resourceId, accountId, awsRegion}), - id); - - resourcesMap.set(id, resource); - } - - return { - resourcesMap, - resourceIdentifierToIdMap - } -} - -function createResourceNameKey({resourceName, resourceType, accountId, awsRegion}) { - return `${resourceType}_${resourceName}_${accountId}_${awsRegion}`; -} - -function createResourceIdKey({resourceId, resourceType, accountId, awsRegion}) { - return `${resourceType}_${resourceId}_${accountId}_${awsRegion}`; -} - -const globalResourceTypes = new Set([ - AWS_IAM_INLINE_POLICY, - AWS_IAM_USER, - AWS_IAM_ROLE, - AWS_IAM_POLICY, - AWS_IAM_GROUP, - AWS_IAM_AWS_MANAGED_POLICY -]); - -function isGlobalResourceType(resourceType) { - return globalResourceTypes.has(resourceType); -} - -const createLinksFromRelationships = R.curry((resourceIdentifierToIdMap, resourcesMap, resource) => { - const {id: source, accountId: sourceAccountId, awsRegion: sourceRegion, relationships = []} = resource; - - return relationships.map(({arn, resourceId, resourceType, resourceName, relationshipName, awsRegion: targetRegion, accountId: targetAccountId}) => { - const awsRegion = targetRegion ?? (isGlobalResourceType(resourceType) ? GLOBAL : sourceRegion); - const accountId = resourceType === AWS_IAM_AWS_MANAGED_POLICY ? AWS : (targetAccountId ?? sourceAccountId); - - const findId = arn ?? (resourceId == null ? - resourceIdentifierToIdMap.get(createResourceNameKey({resourceType, resourceName, accountId, awsRegion})) : - resourceIdentifierToIdMap.get(createResourceIdKey({resourceType, resourceId, accountId, awsRegion}))); - const {id: target} = resourcesMap.get(findId) ?? {id: UNKNOWN}; - - return { - source, - target, - label: relationshipName.trim().toUpperCase().replace(/ /g, '_') - } - }); -}); - -function getLinkChanges(configLinks, dbLinks) { - const linksToAdd = iterate(configLinks.values()) - .filter(({source, label, target}) => target !== UNKNOWN && !dbLinks.has(`${source}_${label}_${target}`)) - .toArray(); - - const linksToDelete = iterate(dbLinks.values()) - .filter(({source, label, target}) => target !== UNKNOWN && !configLinks.has(`${source}_${label}_${target}`)) - .map(x => x.id) - .toArray(); - - return {linksToAdd, linksToDelete}; -} - -function createUpdate(dbResourcesMap) { - return ({id, md5Hash, properties}) => { - const {properties: dbProperties} = dbResourcesMap.get(id); - return { - id, - md5Hash, - properties: Object.entries(properties).reduce((acc, [k, v]) => { - if(dbProperties[k] !== v) acc[k] = v; - return acc; - }, {}) - } - } -} - -function createStore({id, resourceType, md5Hash, properties}) { - return { - id, - md5Hash, - label: resourceType.replace(/::/g, "_"), - properties - } -} - -function getResourceChanges(resourcesMap, dbResourcesMap) { - const resources = Array.from(resourcesMap.values()); - const dbResources = Array.from(dbResourcesMap.values()); - - const resourcesToStore = iterate(resources) - .filter(x => !dbResourcesMap.has(x.id)) - .map(createStore) - .toArray(); - - const resourcesToUpdate = iterate(resources) - .filter(resource => { - const {id} = resource; - if(!dbResourcesMap.has(id)) return false; - - const dbResource = dbResourcesMap.get(id); - if(resourceTypesToHash.has(resource.resourceType)) { - return resource.md5Hash !== dbResource.md5Hash; - } - return resource.resourceType !== AWS_TAGS_TAG && resource.properties.configurationItemCaptureTime !== dbResource.properties.configurationItemCaptureTime; - }) - .map(createUpdate(dbResourcesMap)) - .toArray(); - - const resourceIdsToDelete = iterate(dbResources) - .filter(x => !resourcesMap.has(x.id)) - .map(x => x.id) - .toArray(); - - return { - resourcesToStore, - resourceIdsToDelete, - resourcesToUpdate - } -} - -function createResourceAndRelationshipDeltas(dbResourcesMap, dbLinksMap, resources) { - const {resourceIdentifierToIdMap, resourcesMap} = createLookUpMaps(resources); - - const links = resources.flatMap(createLinksFromRelationships(resourceIdentifierToIdMap, resourcesMap)); - const configLinksMap = new Map(links.map(x => [`${x.source}_${x.label}_${x.target}`, x])); - - const {linksToAdd, linksToDelete} = getLinkChanges(configLinksMap, dbLinksMap); - - const {resourceIdsToDelete, resourcesToStore, resourcesToUpdate} = getResourceChanges(resourcesMap, dbResourcesMap); - - return { - resourceIdsToDelete, resourcesToStore, resourcesToUpdate, - linksToAdd, linksToDelete - } -} - -module.exports = R.curry(createResourceAndRelationshipDeltas); diff --git a/source/backend/discovery/src/lib/errors.js b/source/backend/discovery/src/lib/errors.js deleted file mode 100644 index 7452a541..00000000 --- a/source/backend/discovery/src/lib/errors.js +++ /dev/null @@ -1,23 +0,0 @@ -// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 - -class AggregatorNotFoundError extends Error { - constructor(aggregatorName) { - super(`Aggregator ${aggregatorName} was not found`); - this.name = 'AggregatorValidationError'; - this.aggregatorName = aggregatorName; - } -} - -class OrgAggregatorValidationError extends Error { - constructor(aggregator) { - super('Config aggregator is not an organization wide aggregator'); - this.name = 'AggregatorValidationError'; - this.aggregator = aggregator; - } -} - -module.exports = { - AggregatorNotFoundError, - OrgAggregatorValidationError -} diff --git a/source/backend/discovery/src/lib/index.js b/source/backend/discovery/src/lib/index.js deleted file mode 100644 index 23cd18b8..00000000 --- a/source/backend/discovery/src/lib/index.js +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 - -const R = require('ramda') -const logger = require('./logger'); -const {initialise} = require('./intialisation'); -const getAllConfigResources = require('./aggregator/getAllConfigResources'); -const {getAllSdkResources} = require('./sdkResources'); -const {addAdditionalRelationships} = require('./additionalRelationships'); -const createResourceAndRelationshipDeltas = require('./createResourceAndRelationshipDeltas'); -const {createSaveObject, createResourcesRegionMetadata} = require('./persistence/transformers'); -const {persistResourcesAndRelationships, persistAccounts, processPersistenceFailures} = require('./persistence'); -const {GLOBAL, RESOURCE_NOT_RECORDED} = require("./constants"); - -async function discoverResources(appSync, awsClient, config) { - logger.info('Beginning discovery of resources'); - const {apiClient, configServiceClient} = await initialise(awsClient, appSync, config); - - const [accounts, dbLinksMap, dbResourcesMap, configResources] = await Promise.all([ - apiClient.getAccounts(), - apiClient.getDbRelationshipsMap(), - apiClient.getDbResourcesMap(), - getAllConfigResources(configServiceClient, config.configAggregator) - ]); - - const accountsMap = new Map(accounts.filter(x => x.isIamRoleDeployed && !x.toDelete).map(x => [x.accountId, x])); - - const resources = await Promise.resolve(configResources) - .then(R.filter(({accountId, awsRegion, configurationItemStatus}) => { - if(configurationItemStatus === RESOURCE_NOT_RECORDED) { - return false; - } - // resources from removed accounts/regions can take a while to be deleted from the Config aggregator - const regions = accountsMap.get(accountId)?.regions ?? []; - return (accountsMap.has(accountId) && awsRegion === GLOBAL) || regions.includes(awsRegion); - })) - .then(getAllSdkResources(accountsMap, awsClient)) - .then(addAdditionalRelationships(accountsMap, awsClient)) - .then(R.map(createSaveObject)); - - return Promise.resolve(resources) - .then(createResourceAndRelationshipDeltas(dbResourcesMap, dbLinksMap)) - .then(persistResourcesAndRelationships(apiClient)) - .then(processPersistenceFailures(dbResourcesMap, resources)) - .then(createResourcesRegionMetadata) - .then(persistAccounts(config, apiClient, accounts)); -} - -module.exports = { - discoverResources -} diff --git a/source/backend/discovery/src/lib/intialisation.js b/source/backend/discovery/src/lib/intialisation.js deleted file mode 100644 index bcc2fa5e..00000000 --- a/source/backend/discovery/src/lib/intialisation.js +++ /dev/null @@ -1,77 +0,0 @@ -// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 - -const R = require("ramda"); -const logger = require('./logger'); -const {createApiClient} = require("./apiClient"); -const {AggregatorNotFoundError, OrgAggregatorValidationError} = require('./errors'); -const { - AWS_ORGANIZATIONS, - ECS, - WORKLOAD_DISCOVERY_TASKGROUP, - TASK_DEFINITION, - DISCOVERY_PROCESS_RUNNING, -} = require('./constants') -const {createArn, profileAsync} = require('./utils'); - -async function isDiscoveryEcsTaskRunning (ecsClient, taskDefinitionArn, {cluster}) { - const tasks = await ecsClient.getAllClusterTasks(cluster) - .then(R.filter(task => { - // The number after the last colon in the ARN is the version of the task definition. We strip it out - // as we can't know what number it will be. Furthermore, it's not relevant as we just need to know if - // there's another discovery task potentially writing to the DB. - return task.taskDefinitionArn.slice(0, task.taskDefinitionArn.lastIndexOf(':')) === taskDefinitionArn; - })); - - logger.debug('Discovery ECS tasks currently running:', {tasks}); - - return tasks.length > 1; -} - -async function validateOrgAggregator(configServiceClient, aggregatorName) { - return configServiceClient.getConfigAggregator(aggregatorName) - .catch(err => { - if(err.name === 'NoSuchConfigurationAggregatorException') { - throw new AggregatorNotFoundError(aggregatorName) - } - throw err; - }) - .then(aggregator => { - if(aggregator.OrganizationAggregationSource == null) throw new OrgAggregatorValidationError(aggregator); - }); -} - -async function initialise(awsClient, appSync, config) { - logger.info('Initialising discovery process'); - const {region, rootAccountId, configAggregator: configAggregatorName, crossAccountDiscovery} = config; - - const stsClient = awsClient.createStsClient(); - - const credentials = await stsClient.getCurrentCredentials(); - - const ecsClient = awsClient.createEcsClient(credentials, region); - const taskDefinitionArn = createArn({service: ECS, region, accountId: rootAccountId, resource: `${TASK_DEFINITION}/${WORKLOAD_DISCOVERY_TASKGROUP}`}); - - if (await isDiscoveryEcsTaskRunning(ecsClient, taskDefinitionArn, config)) { - throw new Error(DISCOVERY_PROCESS_RUNNING); - } - - const configServiceClient = awsClient.createConfigServiceClient(credentials, region); - - if(crossAccountDiscovery === AWS_ORGANIZATIONS) { - await validateOrgAggregator(configServiceClient, configAggregatorName); - } - - const appSyncClient = appSync({...config, creds: credentials}); - const apiClient = createApiClient(awsClient, appSyncClient, config); - - return { - apiClient, - configServiceClient - }; -} - -module.exports = { - initialise: profileAsync('Time to initialise', initialise) -} - diff --git a/source/backend/discovery/src/lib/logger.js b/source/backend/discovery/src/lib/logger.js deleted file mode 100644 index d98827bc..00000000 --- a/source/backend/discovery/src/lib/logger.js +++ /dev/null @@ -1,19 +0,0 @@ -// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 - -const R = require('ramda'); -const {transports, createLogger, format} = require('winston'); - -const level = R.defaultTo('info', process.env.LOG_LEVEL).toLowerCase(); - -const logger = createLogger({ - format: format.combine( - format.timestamp(), - format.json() - ), - transports: [ - new transports.Console({level}) - ] -}); - -module.exports = logger; \ No newline at end of file diff --git a/source/backend/discovery/src/lib/persistence/index.js b/source/backend/discovery/src/lib/persistence/index.js deleted file mode 100644 index 36688215..00000000 --- a/source/backend/discovery/src/lib/persistence/index.js +++ /dev/null @@ -1,80 +0,0 @@ -// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 - -const R = require('ramda'); -const logger = require("../logger"); - -async function persistResourcesAndRelationships(apiClient, deltas) { - const { - resourceIdsToDelete, resourcesToStore, resourcesToUpdate, - linksToAdd, linksToDelete - } = deltas; - - logger.info(`Deleting ${resourceIdsToDelete.length} resources...`); - logger.profile('Total time to upload'); - const {errors: deleteResourcesErrors} = await apiClient.deleteResources({concurrency: 5, batchSize: 50}, resourceIdsToDelete); - - logger.info(`Updating ${resourcesToUpdate.length} resources...`); - await apiClient.updateResources({concurrency: 10, batchSize: 10}, resourcesToUpdate); - - logger.info(`Storing ${resourcesToStore.length} resources...`); - const {errors: storeResourcesErrors} = await apiClient.storeResources({concurrency: 10, batchSize: 10}, resourcesToStore); - - logger.info(`Deleting ${linksToDelete.length} relationships...`); - await apiClient.deleteRelationships({concurrency: 5, batchSize: 50}, linksToDelete); - - logger.info(`Storing ${linksToAdd.length} relationships...`); - await apiClient.storeRelationships({concurrency: 10, batchSize: 20}, linksToAdd); - - logger.profile('Total time to upload'); - - return { - failedDeletes: deleteResourcesErrors.flatMap(x => x.item), - failedStores: storeResourcesErrors.flatMap(x => x.item.map(x => x.id)) - }; -} - -async function persistAccounts({isUsingOrganizations}, apiClient, accounts, resourcesRegionMetadata) { - const accountsWithMetadata = accounts.map(({accountId, ...props}) => { - return { - accountId, - ...props, - resourcesRegionMetadata: resourcesRegionMetadata.get(accountId) - } - }); - - if(isUsingOrganizations) { - const [accountsToDelete, accountsToStore] = R.partition(account => account.toDelete, accountsWithMetadata); - const [accountsToAdd, accountsToUpdate] = R.partition(account => account.lastCrawled == null, accountsToStore); - - logger.info(`Adding ${accountsToAdd.length} accounts...`); - logger.info(`Updating ${accountsToUpdate.length} accounts...`); - logger.info(`Deleting ${accountsToDelete.length} accounts...`); - - const results = await Promise.allSettled([ - apiClient.addCrawledAccounts(accountsToAdd), - apiClient.updateCrawledAccounts(accountsToUpdate), - apiClient.deleteAccounts(accountsToDelete.map(x => x.accountId)) - ]); - - results.filter(x => x.status === 'rejected').forEach(res => { - logger.error('Error', {reason: {message: res.reason.message, stack: res.reason.stack}}); - }); - } else { - logger.info(`Updating ${accountsWithMetadata.length} accounts...`); - return apiClient.updateCrawledAccounts(accountsWithMetadata); - } -} - -function processPersistenceFailures(dbResourcesMap, resources, {failedDeletes, failedStores}) { - const resourceMap = new Map(resources.map(x => [x.id, x])); - failedStores.forEach(id => resourceMap.delete(id)); - failedDeletes.forEach(id => resourceMap.set(id, dbResourcesMap.get(id))); - return Array.from(resourceMap.values()); -} - -module.exports = { - processPersistenceFailures: R.curry(processPersistenceFailures), - persistResourcesAndRelationships: R.curry(persistResourcesAndRelationships), - persistAccounts: R.curry(persistAccounts) -} diff --git a/source/backend/discovery/src/lib/persistence/transformers.js b/source/backend/discovery/src/lib/persistence/transformers.js deleted file mode 100644 index 164e3194..00000000 --- a/source/backend/discovery/src/lib/persistence/transformers.js +++ /dev/null @@ -1,263 +0,0 @@ -// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 - -const R = require("ramda"); -const { - NAME, - AWS_ELASTIC_LOAD_BALANCING_V2_TARGET_GROUP, - AWS_ELASTIC_LOAD_BALANCING_V2_LISTENER, - AWS_AUTOSCALING_AUTOSCALING_GROUP, - AWS_API_GATEWAY_METHOD, - AWS_API_GATEWAY_RESOURCE, - AWS_EC2_VPC, - AWS_EC2_NETWORK_INTERFACE, - AWS_EC2_INSTANCE, - AWS_EC2_VOLUME, - AWS_EC2_SUBNET, - AWS_EC2_SECURITY_GROUP, - AWS_EC2_ROUTE_TABLE, - AWS_EC2_INTERNET_GATEWAY, - AWS_EC2_NETWORK_ACL, - AWS_ELASTIC_LOAD_BALANCING_V2_LOADBALANCER, - AWS_EC2_EIP, - AWS_API_GATEWAY_REST_API, - AWS_LAMBDA_FUNCTION, - AWS_IAM_ROLE, - AWS_IAM_GROUP, - AWS_IAM_USER, - AWS_IAM_POLICY, - AWS_S3_BUCKET, - APIGATEWAY, - EC2, - IAM, - VPC, - SIGN_IN, - CONSOLE, - AWS_AMAZON_COM, - S3, - LAMBDA, - HOME, - REGION -} = require("../constants"); -const {hash, resourceTypesToHash} = require("../utils"); -const logger = require("../logger"); - -const defaultUrlMappings = { - [AWS_EC2_VPC]: { url: 'vpcs:sort=VpcId', type: VPC.toLowerCase()}, - [AWS_EC2_NETWORK_INTERFACE]: { url: 'NIC:sort=description', type: EC2}, - [AWS_EC2_INSTANCE]: { url: 'Instances:sort=instanceId', type: EC2}, - [AWS_EC2_VOLUME]: { url: 'Volumes:sort=desc:name', type: EC2}, - [AWS_EC2_SUBNET]: { url: 'subnets:sort=SubnetId', type: VPC.toLowerCase()}, - [AWS_EC2_SECURITY_GROUP]: { url: 'SecurityGroups:sort=groupId', type: EC2}, - [AWS_EC2_ROUTE_TABLE]: { url: 'RouteTables:sort=routeTableId', type: VPC.toLowerCase()}, - [AWS_EC2_INTERNET_GATEWAY]: { url: 'igws:sort=internetGatewayId', type: VPC.toLowerCase()}, - [AWS_EC2_NETWORK_ACL]: { url: 'acls:sort=networkAclId', type: VPC.toLowerCase()}, - [AWS_ELASTIC_LOAD_BALANCING_V2_LOADBALANCER]: { url: 'LoadBalancers:', type: EC2}, - [AWS_ELASTIC_LOAD_BALANCING_V2_TARGET_GROUP]: { url: 'TargetGroups:', type: EC2}, - [AWS_ELASTIC_LOAD_BALANCING_V2_LISTENER]: { url: 'LoadBalancers:', type: EC2}, - [AWS_EC2_EIP]: { url: 'Addresses:sort=PublicIp', type: EC2}, -}; - -const iamUrlMappings = { - [AWS_IAM_USER]: { url: "/users", type: IAM}, - [AWS_IAM_ROLE]: { url: "/roles", type: IAM}, - [AWS_IAM_POLICY]: { url: "/policies", type: IAM}, - [AWS_IAM_GROUP]: { url: "/groups", type: IAM}, -}; - -function createSignInHostname(accountId, service) { - return `https://${accountId}.${SIGN_IN}.${AWS_AMAZON_COM}/${CONSOLE}/${service}` -} -function createLoggedInHostname(awsRegion, service) { - return `https://${awsRegion}.${CONSOLE}.${AWS_AMAZON_COM}/${service}/${HOME}`; -} - -function createConsoleUrls(resource) { - const {resourceType, resourceName, accountId, awsRegion, configuration} = resource; - - switch(resourceType) { - case AWS_API_GATEWAY_REST_API: - return { - loginURL: `${createSignInHostname(accountId, APIGATEWAY)}?${REGION}=${awsRegion}#/apis/${configuration.id}/resources`, - loggedInURL: `${createLoggedInHostname(awsRegion, APIGATEWAY)}?${REGION}=${awsRegion}#/apis/${configuration.id}/resources` - } - case AWS_API_GATEWAY_RESOURCE: - return { - loginURL: `${createSignInHostname(accountId, APIGATEWAY)}?${REGION}=${awsRegion}#/apis/${configuration.RestApiId}/resources/${configuration.id}`, - loggedInURL: `${createLoggedInHostname(awsRegion, APIGATEWAY)}?${REGION}=${awsRegion}#/apis/${configuration.RestApiId}/resources/${configuration.id}` - } - case AWS_API_GATEWAY_METHOD: - const {httpMethod} = configuration; - return { - loginURL: `${createSignInHostname(accountId, APIGATEWAY)}?${REGION}=${awsRegion}#/apis/${configuration.RestApiId}/resources/${configuration.ResourceId}/${httpMethod}`, - loggedInURL: `${createLoggedInHostname(awsRegion, APIGATEWAY)}?${REGION}=${awsRegion}#/apis/${configuration.RestApiId}/resources/${configuration.ResourceId}/${httpMethod}` - } - case AWS_AUTOSCALING_AUTOSCALING_GROUP: - return { - loginURL: `${createSignInHostname(accountId, EC2)}/autoscaling/home?${REGION}=${awsRegion}#AutoScalingGroups:id=${resourceName};view=details`, - loggedInURL: `${createLoggedInHostname(awsRegion, EC2)}/autoscaling/home?${REGION}=${awsRegion}#AutoScalingGroups:id=${resourceName};view=details` - } - case AWS_LAMBDA_FUNCTION: - return { - loginURL: `${createSignInHostname(accountId, LAMBDA)}?${REGION}=${awsRegion}#/functions/${resourceName}?tab=graph`, - loggedInURL: `${createLoggedInHostname(awsRegion, LAMBDA)}?${REGION}=${awsRegion}#/functions/${resourceName}?tab=graph` - } - case AWS_IAM_ROLE: - case AWS_IAM_GROUP: - case AWS_IAM_USER: - case AWS_IAM_POLICY: - const {url, type} = iamUrlMappings[resourceType]; - return { - loginURL: `${createSignInHostname(accountId, type)}?${HOME}?#${url}`, - loggedInURL: `https://${CONSOLE}.${AWS_AMAZON_COM}/${type}/${HOME}?#${url}`, - } - case AWS_S3_BUCKET: - return { - loginURL: `${createSignInHostname(accountId, S3)}?bucket=${resourceName}`, - loggedInURL: `https://${S3}.${CONSOLE}.${AWS_AMAZON_COM}/${S3}/buckets/${resourceName}/?${REGION}=${awsRegion}` - } - default: - if(defaultUrlMappings[resourceType] != null) { - const {url, type} = defaultUrlMappings[resourceType]; - const v2Type = `${type}/v2` - return { - loginURL: `${createSignInHostname(accountId, type)}?${REGION}=${awsRegion}#${url}`, - loggedInURL: `${createLoggedInHostname(awsRegion, v2Type)}?${REGION}=${awsRegion}#${url}` - } - } - return {}; - } -} - -function createTitle({resourceId, resourceName, arn, resourceType, tags}) { - const name = tags.find(tag => tag.key === NAME); - if(name != null) return name.value; - - switch (resourceType) { - case AWS_ELASTIC_LOAD_BALANCING_V2_TARGET_GROUP: - case AWS_ELASTIC_LOAD_BALANCING_V2_LISTENER: - return R.last(arn.split(":")); - case AWS_AUTOSCALING_AUTOSCALING_GROUP: - const parsedAsg = R.last(arn.split(":")); - return R.last(parsedAsg.split("/")); - default: - return resourceName == null ? resourceId : resourceName; - } -} - -const propertiesToKeep = new Set([ - 'accountId', 'arn', 'availabilityZone', 'awsRegion', 'configuration', 'configurationItemCaptureTime', - 'configurationItemStatus', 'configurationStateId', 'resourceCreationTime', 'resourceId', - 'resourceName', 'resourceType', 'supplementaryConfiguration', 'tags', 'version', 'vpcId', 'subnetId', 'subnetIds', - 'resourceValue', 'state', 'private', 'dBInstanceStatus', 'statement', 'instanceType']); - -const propertiesToJsonStringify = new Set(['configuration', 'supplementaryConfiguration', 'tags', 'state']) - -/** - * Neptune cannot store nested properties. Therefore, this function extracts the - * specified and adds them to the main object. It also converts nested fields - * into JSON. - * @param {*} node - */ -function createProperties(resource) { - const properties = Object.entries(resource).reduce((acc, [key, value]) => { - if (propertiesToKeep.has(key)) { - if(propertiesToJsonStringify.has(key)) { - acc[key] = JSON.stringify(value); - } else { - acc[key] = value; - } - } - return acc; - }, {}); - - const logins = createConsoleUrls(resource) - - if(!R.isEmpty(logins)) { - properties.loginURL = logins.loginURL; - properties.loggedInURL = logins.loggedInURL; - } - - properties.title = createTitle(resource); - - return properties; -} - -function createSaveObject(resource) { - const {id, resourceId, resourceName, resourceType, accountId, arn, awsRegion, relationships = [], tags = []} = resource; - - const properties = createProperties(resource); - - return { - id, - md5Hash: resourceTypesToHash.has(resourceType) ? hash(properties) : '', - resourceId, - resourceName, - resourceType, - accountId, - arn, - awsRegion, - relationships, - properties, - tags - }; -} - -function createResourcesRegionMetadata(resources) { - logger.profile('Time to createResourcesRegionMetadata'); - - const grouped = R.groupBy(({properties}) => { - const {accountId, awsRegion, resourceType} = properties; - return `${accountId}__${awsRegion}__${resourceType}`; - }, resources); - - const regionsObj = Object.entries(grouped) - .reduce((acc, [key, resources]) => { - const [accountId, awsRegion, resourceType] = key.split('__'); - - const regionKey = `${accountId}__${awsRegion}`; - - if(acc[regionKey] == null) { - acc[regionKey] = { - count: 0, - resourceTypes: [] - }; - } - - acc[regionKey].count = acc[regionKey].count + resources.length; - acc[regionKey].name = awsRegion; - acc[regionKey].resourceTypes.push({ - count: resources.length, - type: resourceType - }); - - return acc; - }, {}); - - const metadata = Object.entries(regionsObj) - .reduce((acc, [key, resourceTypes]) => { - const [accountId] = key.split('__'); - - if(!acc.has(accountId)) { - acc.set(accountId, { - accountId, - count: 0, - regions: [] - }); - } - - const account = acc.get(accountId) - - account.count = account.count + resourceTypes.count; - account.regions.push(resourceTypes); - - return acc; - }, new Map()); - - logger.profile('Time to createResourcesRegionMetadata'); - - return metadata; -} - - -module.exports = {createSaveObject, createResourcesRegionMetadata}; \ No newline at end of file diff --git a/source/backend/discovery/src/lib/sdkResources/createAllBatchResources.js b/source/backend/discovery/src/lib/sdkResources/createAllBatchResources.js deleted file mode 100644 index f72945aa..00000000 --- a/source/backend/discovery/src/lib/sdkResources/createAllBatchResources.js +++ /dev/null @@ -1,191 +0,0 @@ -// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 - -const R = require("ramda"); -const { - AWS, NOT_APPLICABLE, - AWS_IAM_AWS_MANAGED_POLICY, - MULTIPLE_AVAILABILITY_ZONES, - AWS_ELASTIC_LOAD_BALANCING_V2_TARGET_GROUP, - AWS_COGNITO_USER_POOL, - SPOT_FLEET_REQUEST_ID_TAG, - EC2, - SPOT_FLEET_REQUEST, - AWS_EC2_SPOT_FLEET, - AWS_EC2_INSTANCE, - SPOT_INSTANCE_REQUEST, - AWS_EC2_SPOT, - AWS_OPENSEARCH_DOMAIN, - GLOBAL, - REGIONAL -} = require("../constants"); -const { - createArn, - createAssociatedRelationship, - createConfigObject -} = require("../utils"); -const logger = require("../logger"); - -async function createAttachedAwsManagedPolices(awsClient, credentials, accountId, region) { - const iamClient = awsClient.createIamClient(credentials, region) - - const managedPolices = await iamClient.getAllAttachedAwsManagedPolices(); - - return managedPolices.map(policy => { - return createConfigObject({ - arn: policy.Arn, - accountId: AWS, - awsRegion: region, - availabilityZone: NOT_APPLICABLE, - resourceType: AWS_IAM_AWS_MANAGED_POLICY, - resourceId: policy.Arn, - resourceName: policy.PolicyName - }, policy); - }); -} - -async function createTargetGroups(awsClient, credentials, accountId, region) { - const elbV2Client = awsClient.createElbV2Client(credentials, region); - - const targetGroups = await elbV2Client.getAllTargetGroups(); - - return targetGroups.map(targetGroup => { - return createConfigObject({ - arn: targetGroup.TargetGroupArn, - accountId, - awsRegion: region, - availabilityZone: MULTIPLE_AVAILABILITY_ZONES, - resourceType: AWS_ELASTIC_LOAD_BALANCING_V2_TARGET_GROUP, - resourceId: targetGroup.TargetGroupArn, - resourceName: targetGroup.TargetGroupArn - }, targetGroup); - }) -} - -async function createUserPools(awsClient, credentials, accountId, region) { - const cognitoClient = awsClient.createCognitoClient(credentials, region) - - const userPools = await cognitoClient.getAllUserPools(); - - return userPools.map(userPool => { - return createConfigObject({ - arn: userPool.Arn, - accountId, - awsRegion: region, - availabilityZone: NOT_APPLICABLE, - resourceType: AWS_COGNITO_USER_POOL, - resourceId: userPool.Arn, - resourceName: userPool.Arn - }, userPool); - }); -} - -async function createSpotResources(awsClient, credentials, accountId, region) { - const ec2Client = awsClient.createEc2Client(credentials, region); - - const spotInstanceRequests = await ec2Client.getAllSpotInstanceRequests(); - - const groupedReqs = R.groupBy(x => { - const sfReqId = x.Tags.find(x => x.Key === SPOT_FLEET_REQUEST_ID_TAG); - return sfReqId == null ? 'spotInstanceRequests' : sfReqId.Value; - }, spotInstanceRequests); - - const spotFleetRequests = (await ec2Client.getAllSpotFleetRequests()).map((request) => { - const arn = createArn({ - service: EC2, region, accountId, resource: `${SPOT_FLEET_REQUEST}/${request.SpotFleetRequestId}` - }); - return createConfigObject({ - arn, - accountId, - awsRegion: region, - availabilityZone: MULTIPLE_AVAILABILITY_ZONES, - resourceType: AWS_EC2_SPOT_FLEET, - resourceId: arn, - resourceName: arn, - relationships: groupedReqs[request.SpotFleetRequestId].map(({InstanceId}) => { - return createAssociatedRelationship(AWS_EC2_INSTANCE, {resourceId: InstanceId}); - }) - }, request); - }); - - - const spotInstanceRequestObjs = (groupedReqs.spotInstanceRequests ?? []).map(spiReq => { - const arn = createArn({ - service: EC2, region, accountId, resource: `${SPOT_INSTANCE_REQUEST}/${spiReq.SpotInstanceRequestId}` - }); - return createConfigObject({ - arn, - accountId, - awsRegion: region, - availabilityZone: MULTIPLE_AVAILABILITY_ZONES, - resourceType: AWS_EC2_SPOT, - resourceId: arn, - resourceName: arn, - relationships: [ - createAssociatedRelationship(AWS_EC2_INSTANCE, {resourceId: spiReq.InstanceId}) - ] - }, spiReq); - }); - - return [...spotFleetRequests, ...spotInstanceRequestObjs]; -} - -async function createOpenSearchDomains(awsClient, credentials, accountId, region) { - const openSearchClient = awsClient.createOpenSearchClient(credentials, region) - - const domains = await openSearchClient.getAllOpenSearchDomains(); - - return domains.map(domain => { - return createConfigObject({ - arn: domain.ARN, - accountId, - awsRegion: region, - availabilityZone: MULTIPLE_AVAILABILITY_ZONES, - resourceType: AWS_OPENSEARCH_DOMAIN, - resourceId: domain.DomainName, - resourceName: domain.DomainName - }, domain); - }); -} - -const handleError = R.curry((handlerName, accountId, region, error) => { - return { - item: {handlerName, accountId, region}, - raw: error, - message: error.message - } -}); - -async function createAllBatchResources(credentialsTuples, awsClient) { - const handlers = [ - [GLOBAL, createAttachedAwsManagedPolices], - [REGIONAL, createUserPools], - [REGIONAL, createTargetGroups], - [REGIONAL, createOpenSearchDomains], - [REGIONAL, createSpotResources] - ]; - - const {results, errors} = await Promise.all(handlers.flatMap(([serviceRegion, handler]) => { - return credentialsTuples - .flatMap(([accountId, {regions, credentials}]) => { - const errorHandler = handleError(handler.name, accountId); - return serviceRegion === GLOBAL - ? handler(awsClient, credentials, accountId, GLOBAL).catch(errorHandler(GLOBAL)) - : regions.map(region => handler(awsClient, credentials, accountId, region).catch(errorHandler(region))); - }); - })).then(R.reduce((acc, item) => { - if (item.raw != null) { - acc.errors.push(item); - } else { - acc.results.push(...item); - } - return acc; - }, {results: [], errors: []})); - - logger.error(`There were ${errors.length} errors when adding batch SDK resources.`); - logger.debug('Errors: ', {errors: errors}); - - return results; -} - -module.exports = createAllBatchResources; diff --git a/source/backend/discovery/src/lib/sdkResources/firstOrderHandlers.js b/source/backend/discovery/src/lib/sdkResources/firstOrderHandlers.js deleted file mode 100644 index 12a15cbb..00000000 --- a/source/backend/discovery/src/lib/sdkResources/firstOrderHandlers.js +++ /dev/null @@ -1,180 +0,0 @@ -// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 - -const R = require("ramda"); -const { - AWS_API_GATEWAY_REST_API, - APIGATEWAY, - RESTAPIS, - RESOURCES, - AWS_API_GATEWAY_RESOURCE, - AUTHORIZERS, - AWS_API_GATEWAY_AUTHORIZER, - AWS_COGNITO_USER_POOL, - AWS_DYNAMODB_STREAM, - AWS_DYNAMODB_TABLE, - AWS_ECS_SERVICE, - AWS_ECS_TASK, - AWS_EKS_CLUSTER, - MULTIPLE_AVAILABILITY_ZONES, - AWS_EKS_NODE_GROUP, - AWS_IAM_ROLE, - AWS_IAM_USER, - INLINE_POLICY, - GLOBAL, - NOT_APPLICABLE, - AWS_IAM_INLINE_POLICY -} = require("../constants"); -const { - createArn, createConfigObject, createContainedInRelationship, createAssociatedRelationship -} = require("../utils"); - -const createInlinePolicy = R.curry(({arn, resourceName, accountId, resourceType}, policy) => { - const policyArn = `${arn}/${INLINE_POLICY}/${policy.policyName}`; - const inlinePolicy = { - policyName: policy.policyName, - policyDocument: JSON.parse(decodeURIComponent(policy.policyDocument)) - }; - - return createConfigObject({ - arn: policyArn, - accountId: accountId, - awsRegion: GLOBAL, - availabilityZone: NOT_APPLICABLE, - resourceType: AWS_IAM_INLINE_POLICY, - resourceId: policyArn, - resourceName: policyArn, - relationships: [ - createAssociatedRelationship(resourceType, {resourceName}) - ] - }, inlinePolicy); -}); - -module.exports = { - createFirstOrderHandlers(accountsMap, awsClient) { - - return { - [AWS_API_GATEWAY_REST_API]: async ({awsRegion, accountId, availabilityZone, resourceId, configuration}) => { - const {id: RestApiId} = configuration; - const {credentials} = accountsMap.get(accountId); - - const apiGatewayClient = awsClient.createApiGatewayClient(credentials, awsRegion); - - const apiGatewayResources = [] - - const apiResources = await apiGatewayClient.getResources(RestApiId); - - apiGatewayResources.push(...apiResources.map(item => { - const arn = createArn({ - service: APIGATEWAY, region: awsRegion, resource: `/${RESTAPIS}/${RestApiId}/${RESOURCES}/${item.id}` - }); - return createConfigObject({ - arn, - accountId, - awsRegion, - availabilityZone, - resourceType: AWS_API_GATEWAY_RESOURCE, - resourceId: arn, - resourceName: arn, - relationships: [ - createContainedInRelationship(AWS_API_GATEWAY_REST_API, {resourceId}) - ] - }, {RestApiId, ...item}); - })); - - const authorizers = await apiGatewayClient.getAuthorizers(RestApiId); - apiGatewayResources.push(...authorizers.map(authorizer => { - const arn = createArn({ - service: APIGATEWAY, region: awsRegion, resource: `/${RESTAPIS}/${RestApiId}/${AUTHORIZERS}/${authorizer.id}` - }); - return createConfigObject({ - arn, - accountId, - awsRegion, - availabilityZone, - resourceType: AWS_API_GATEWAY_AUTHORIZER, - resourceId: arn, - resourceName: arn, - relationships: [ - createContainedInRelationship(AWS_API_GATEWAY_REST_API, {resourceId}), - ...(authorizer.providerARNs ?? []).map(resourceId => createAssociatedRelationship(AWS_COGNITO_USER_POOL, {resourceId})) - ] - }, {RestApiId, ...authorizer}); - })); - - return apiGatewayResources; - }, - [AWS_DYNAMODB_TABLE]: async ({awsRegion, accountId, configuration}) => { - if (configuration.latestStreamArn == null) { - return [] - } - - const {credentials} = accountsMap.get(accountId); - - const dynamoDBStreamsClient = awsClient.createDynamoDBStreamsClient(credentials, awsRegion); - - const stream = await dynamoDBStreamsClient.describeStream(configuration.latestStreamArn); - - return [createConfigObject({ - arn: stream.StreamArn, - accountId, - awsRegion, - availabilityZone: NOT_APPLICABLE, - resourceType: AWS_DYNAMODB_STREAM, - resourceId: stream.StreamArn, - resourceName: stream.StreamArn, - relationships: [] - }, stream)]; - }, - [AWS_ECS_SERVICE]: async ({awsRegion, resourceId, resourceName, accountId, configuration: {Cluster}}) => { - const {credentials} = accountsMap.get(accountId); - const ecsClient = awsClient.createEcsClient(credentials, awsRegion); - - const tasks = await ecsClient.getAllServiceTasks(Cluster, resourceName); - - return tasks.map(task => { - return createConfigObject({ - arn: task.taskArn, - accountId, - awsRegion, - availabilityZone: task.availabilityZone, - resourceType: AWS_ECS_TASK, - resourceId: task.taskArn, - resourceName: task.taskArn, - relationships: [ - createAssociatedRelationship(AWS_ECS_SERVICE, {resourceId}) - ] - }, task); - }); - }, - [AWS_EKS_CLUSTER]: async ({accountId, awsRegion, resourceId, resourceName}) => { - const {credentials} = accountsMap.get(accountId); - - const eksClient = awsClient.createEksClient(credentials, awsRegion); - - const nodeGroups = await eksClient.listNodeGroups(resourceName); - - return nodeGroups.map(nodeGroup => { - return createConfigObject({ - arn: nodeGroup.nodegroupArn, - accountId, - awsRegion, - availabilityZone: MULTIPLE_AVAILABILITY_ZONES, - resourceType: AWS_EKS_NODE_GROUP, - resourceId: nodeGroup.nodegroupArn, - resourceName: nodeGroup.nodegroupName, - relationships: [ - createContainedInRelationship(AWS_EKS_CLUSTER, {resourceId}) - ] - }, nodeGroup); - }); - }, - [AWS_IAM_ROLE]: async ({arn, resourceName, accountId, resourceType, configuration: {rolePolicyList = []}}) => { - return rolePolicyList.map(createInlinePolicy({arn, resourceName, resourceType, accountId})); - }, - [AWS_IAM_USER]: ({arn, resourceName, resourceType, accountId, configuration: {userPolicyList = []}}) => { - return userPolicyList.map(createInlinePolicy({arn, resourceName, accountId, resourceType})); - } - } - } -} \ No newline at end of file diff --git a/source/backend/discovery/src/lib/sdkResources/index.js b/source/backend/discovery/src/lib/sdkResources/index.js deleted file mode 100644 index 8509cf70..00000000 --- a/source/backend/discovery/src/lib/sdkResources/index.js +++ /dev/null @@ -1,125 +0,0 @@ -// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 - -const R = require("ramda"); -const {PromisePool} = require("@supercharge/promise-pool"); -const { - createArn, - createConfigObject -} = require('../utils'); -const { - AWS_TAGS_TAG, - GLOBAL, - NOT_APPLICABLE, - TAG, - TAGS, - IS_ASSOCIATED_WITH -} = require('../constants'); -const logger = require('../logger'); -const createAllBatchResources = require('./createAllBatchResources'); -const {createFirstOrderHandlers} = require('./firstOrderHandlers'); -const {createSecondOrderHandlers} = require('./secondOrderHandlers') - -const createTag = R.curry((accountId, {key, value}) => { - const resourceName = `${key}=${value}`; - const arn = createArn({ - service: TAGS, accountId, resource: `${TAG}/${resourceName}` - }); - return createConfigObject({ - arn, - accountId, - awsRegion: GLOBAL, - availabilityZone: NOT_APPLICABLE, - resourceType: AWS_TAGS_TAG, - resourceId: arn, - resourceName - }, {}); -}); - -function createTags(resources) { - const resourceMap = resources.reduce((acc, {accountId, awsRegion, resourceId, resourceName, resourceType, tags = []}) => { - tags - .map(createTag(accountId)) - .forEach(tag => { - const {id, relationships} = tag; - if (!acc.has(id)) { - relationships.push({ - relationshipName: IS_ASSOCIATED_WITH, - resourceId, - resourceName, - resourceType, - awsRegion - }) - acc.set(id, tag); - } else { - acc.get(id).relationships.push({ - relationshipName: IS_ASSOCIATED_WITH, - resourceId, - resourceName, - resourceType, - awsRegion - }); - } - }) - return acc; - }, new Map()); - - return Array.from(resourceMap.values()); -} - -async function getAllSdkResources(accountsMap, awsClient, resources) { - logger.profile('Time to get all resources from AWS SDK'); - const resourcesCopy = [...resources]; - - const credentialsTuples = Array.from(accountsMap.entries()); - - const batchResources = await createAllBatchResources(credentialsTuples, awsClient); - - batchResources.forEach(resource => resourcesCopy.push(resource)); - - const firstOrderHandlers = createFirstOrderHandlers(accountsMap, awsClient); - - const secondOrderHandlers = createSecondOrderHandlers(accountsMap, awsClient); - - const firstOrderResourceTypes = new Set(R.keys(firstOrderHandlers)); - - const {results: firstResults, errors: firstErrors} = await PromisePool - .withConcurrency(15) - .for(resourcesCopy.filter(({resourceType}) => firstOrderResourceTypes.has(resourceType))) - .process(async resource => { - const handler = firstOrderHandlers[resource.resourceType]; - return handler(resource); - }); - - logger.error(`There were ${firstErrors.length} errors when adding first order SDK resources.`); - logger.debug('Errors: ', {firstErrors}); - - firstResults.flat().forEach(resource => resourcesCopy.push(resource) ); - - const secondOrderResourceTypes = new Set(R.keys(secondOrderHandlers)); - - const {results: secondResults, errors: secondErrors} = await PromisePool - .withConcurrency(10) - .for(firstResults.flat().filter(({resourceType}) => secondOrderResourceTypes.has(resourceType))) - .process(async resource => { - const handler = secondOrderHandlers[resource.resourceType]; - return handler(resource); - }); - - logger.error(`There were ${secondErrors.length} errors when adding second order SDK resources.`); - logger.debug('Errors: ', {secondErrors}); - - secondResults.flat().forEach(resource => resourcesCopy.push(resource)); - - const tags = createTags(resourcesCopy); - - tags.forEach(tag => resourcesCopy.push(tag)) - - logger.profile('Time to get all resources from AWS SDK'); - - return resourcesCopy; -} - -module.exports = { - getAllSdkResources: R.curry(getAllSdkResources) -}; \ No newline at end of file diff --git a/source/backend/discovery/src/lib/sdkResources/secondOrderHandlers.js b/source/backend/discovery/src/lib/sdkResources/secondOrderHandlers.js deleted file mode 100644 index b954f1a3..00000000 --- a/source/backend/discovery/src/lib/sdkResources/secondOrderHandlers.js +++ /dev/null @@ -1,66 +0,0 @@ -// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 - -const { - APIGATEWAY, - RESTAPIS, - RESOURCES, - AWS_API_GATEWAY_RESOURCE, - POST, - GET, - PUT, - DELETE, - NOT_FOUND_EXCEPTION, - METHODS, - AWS_API_GATEWAY_METHOD -} = require("../constants"); -const {createArn, createConfigObject, createContainedInRelationship} = require("../utils"); -const logger = require("../logger"); - -module.exports = { - createSecondOrderHandlers(accountsMap, awsClient) { - return { - [AWS_API_GATEWAY_RESOURCE]: async ({resourceId, accountId, availabilityZone, awsRegion, arn: apiResourceArn, configuration}) => { - // don't confuse ResourceId which is the id that API Gateway assigns to this resource with - // the camel case version, which is the id AWS Config would assign it. We create this in - // ths first order handlers to have a uniform shape to all the data. - const {RestApiId, id: ResourceId} = configuration; - - const {credentials} = accountsMap.get(accountId); - - const apiGatewayClient = awsClient.createApiGatewayClient(credentials, awsRegion); - - const results = await Promise.allSettled([ - apiGatewayClient.getMethod(POST, ResourceId, RestApiId), - apiGatewayClient.getMethod(GET, ResourceId, RestApiId), - apiGatewayClient.getMethod(PUT, ResourceId, RestApiId), - apiGatewayClient.getMethod(DELETE, ResourceId, RestApiId), - ]); - - results.forEach(({status, reason}) => { - if(status === 'rejected' && reason.name !== NOT_FOUND_EXCEPTION) { - logger.error(`Error discovering API Gateway integration for resource: ${apiResourceArn}`, {error: reason}); - } - }); - - return results.filter(x => x.status === 'fulfilled').map(({value: item}) => { - const arn = createArn({ - service: APIGATEWAY, region: awsRegion, resource: `/${RESTAPIS}/${RestApiId}/${RESOURCES}/${ResourceId}/${METHODS}/${item.httpMethod}` - }); - return createConfigObject({ - arn, - accountId, - awsRegion, - availabilityZone, - resourceType: AWS_API_GATEWAY_METHOD, - resourceId: arn, - resourceName: arn, - relationships: [ - createContainedInRelationship(AWS_API_GATEWAY_RESOURCE, {resourceId}), - ] - }, {RestApiId, ResourceId, ...item}); - }); - } - }; - } -} \ No newline at end of file diff --git a/source/backend/discovery/src/lib/utils.js b/source/backend/discovery/src/lib/utils.js deleted file mode 100644 index 84365257..00000000 --- a/source/backend/discovery/src/lib/utils.js +++ /dev/null @@ -1,222 +0,0 @@ -// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 - -const R = require('ramda'); -const {build: buildArn} = require('@aws-sdk/util-arn-parser'); -const logger = require('./logger'); - -const { - AWS, - AWS_CN, - AWS_US_GOV, - CONTAINS, - AWS_EC2_SECURITY_GROUP, - IS_ASSOCIATED_WITH, - IS_ATTACHED_TO, - IS_CONTAINED_IN, - SUBNET, - VPC, - AWS_EC2_VPC, - AWS_EC2_SUBNET, - CN_NORTH_1, - CN_NORTHWEST_1, - US_GOV_EAST_1, - US_GOV_WEST_1, - RESOURCE_DISCOVERED, - SECURITY_GROUP, - AWS_API_GATEWAY_METHOD, - AWS_API_GATEWAY_RESOURCE, - AWS_COGNITO_USER_POOL, - AWS_ECS_TASK, - AWS_ELASTIC_LOAD_BALANCING_V2_LISTENER, - AWS_EKS_NODE_GROUP, - AWS_ELASTIC_LOAD_BALANCING_V2_TARGET_GROUP, - AWS_IAM_AWS_MANAGED_POLICY, - AWS_DYNAMODB_STREAM, - AWS_EC2_SPOT, - AWS_EC2_SPOT_FLEET, - AWS_IAM_INLINE_POLICY, - AWS_OPENSEARCH_DOMAIN -} = require('./constants'); - -const crypto = require('crypto'); - -function hash(data) { - const algo = 'md5'; - let shasum = crypto.createHash(algo).update(JSON.stringify(data)); //NOSONAR - hashing algorithm is only used for comparing two JS objects - return "" + shasum.digest('hex'); -} - -const createRelationship = R.curry((relationshipName, resourceType, {arn, relNameSuffix, resourceName, resourceId, awsRegion, accountId}) => { - const relationship = {relationshipName} - if(arn != null) { - relationship.arn = arn; - } - if(resourceType != null) { - relationship.resourceType = resourceType; - } - if(resourceName != null) { - relationship.resourceName = resourceName; - } - if(relNameSuffix != null) { - relationship.relationshipName = relationshipName + relNameSuffix; - } - if(resourceId != null) { - relationship.resourceId = resourceId; - } - if(accountId != null) { - relationship.accountId = accountId; - } - if(awsRegion != null) { - relationship.awsRegion = awsRegion; - } - return relationship; -}); - -const createArnRelationship = R.curry((relationshipName, arn) => { - return createRelationship(relationshipName, null, {arn}); -}); - -const chinaRegions = new Map([[CN_NORTH_1, AWS_CN], [CN_NORTHWEST_1, AWS_CN]]); -const govRegions = new Map([[US_GOV_EAST_1, AWS_US_GOV], [US_GOV_WEST_1, AWS_US_GOV]]); - -function createArn({service, accountId = '', region = '', resource}) { - const partition = chinaRegions.get(region) ?? govRegions.get(region) ?? AWS; - return buildArn({ service, partition, region, accountId, resource}); -} - -function createArnWithResourceType({resourceType, accountId = '', awsRegion: region = '', resourceId}) { - const [, service, resource] = resourceType.toLowerCase().split('::'); - return createArn({ service, region, accountId, resource: `${resource}/${resourceId}`}); -} - -function isObject(val) { - return typeof val === 'object' && !Array.isArray(val) && val !== null; -} - -function objKeysToCamelCase(obj) { - return Object.entries(obj).reduce((acc, [k, v]) => { - acc[k.replace(/^./, k[0].toLowerCase())] = v; - return acc - }, {}); -} - -function objToKeyNameArray(obj) { - return Object.entries(obj).map(([key, value]) => { - return { - key, - value - } - }); -} - -function normaliseTags(tags = []) { - return isObject(tags) ? objToKeyNameArray(tags) : tags.map(objKeysToCamelCase); -} - -function createConfigObject({arn, accountId, awsRegion, availabilityZone, resourceType, resourceId, resourceName, relationships = []}, configuration) { - const tags = normaliseTags(configuration.Tags ?? configuration.tags); - - return { - id: arn, - accountId, - arn: arn ?? createArn({resourceType, accountId, awsRegion, resourceId}), - availabilityZone, - awsRegion, - configuration: configuration, - configurationItemStatus: RESOURCE_DISCOVERED, - resourceId, - resourceName, - resourceType, - tags, - relationships - } -} - -function isString(value) { - return typeof value === 'string' && Object.prototype.toString.call(value) === "[object String]" -} - -function isDate(date) { - return date && Object.prototype.toString.call(date) === "[object Date]" && !isNaN(date); -} - -function createResourceNameKey({resourceName, resourceType, accountId, awsRegion}) { - const first = resourceType == null ? '' : `${resourceType}_`; - return `${first}${resourceName}_${accountId}_${awsRegion}`; -} - -function createResourceIdKey({resourceId, resourceType, accountId, awsRegion}) { - const first = resourceType == null ? '' : `${resourceType}_`; - return `${first}${resourceId}_${accountId}_${awsRegion}`; -} - -function safeForEach(f, xs) { - const errors = []; - - xs.forEach(item => { - try { - f(item); - } catch(error) { - errors.push({ - error, - item - }) - } - }); - - return {errors}; -} - -function profileAsync(message, f) { - return async (...args) => { - logger.profile(message); - const result = await f(...args); - logger.profile(message); - return result; - } -} - -const memoize = R.memoizeWith((...args) => JSON.stringify(args)); - -const resourceTypesToHash = new Set([ - AWS_API_GATEWAY_METHOD, - AWS_API_GATEWAY_RESOURCE, - AWS_DYNAMODB_STREAM, - AWS_ECS_TASK, - AWS_ELASTIC_LOAD_BALANCING_V2_LISTENER, - AWS_EKS_NODE_GROUP, - AWS_ELASTIC_LOAD_BALANCING_V2_TARGET_GROUP, - AWS_IAM_AWS_MANAGED_POLICY, - AWS_EC2_SPOT, - AWS_EC2_SPOT_FLEET, - AWS_IAM_INLINE_POLICY, - AWS_COGNITO_USER_POOL, - AWS_OPENSEARCH_DOMAIN - ] -); - -module.exports = { - createArnRelationship, - createContainsRelationship: createRelationship(CONTAINS), - createAssociatedRelationship: createRelationship(IS_ASSOCIATED_WITH), - createAttachedRelationship: createRelationship(IS_ATTACHED_TO), - createContainedInRelationship: createRelationship(IS_CONTAINED_IN), - createContainedInVpcRelationship: resourceId => createRelationship(IS_CONTAINED_IN + VPC, AWS_EC2_VPC, {resourceId}), - createContainedInSubnetRelationship: resourceId => createRelationship(IS_CONTAINED_IN + SUBNET, AWS_EC2_SUBNET, {resourceId}), - createAssociatedSecurityGroupRelationship: resourceId => createRelationship(IS_ASSOCIATED_WITH + SECURITY_GROUP, AWS_EC2_SECURITY_GROUP, {resourceId}), - createArn, - createArnWithResourceType, - createConfigObject, - hash, - isDate, - isString, - isObject, - objToKeyNameArray, - createResourceNameKey, - createResourceIdKey, - safeForEach: R.curry(safeForEach), - profileAsync: R.curry(profileAsync), - memoize, - resourceTypesToHash -} \ No newline at end of file diff --git a/source/backend/discovery/test/additionalRelationships.js b/source/backend/discovery/test/additionalRelationships.js deleted file mode 100644 index c58427b8..00000000 --- a/source/backend/discovery/test/additionalRelationships.js +++ /dev/null @@ -1,2483 +0,0 @@ -// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 - -const {assert} = require('chai'); -const { - AWS_API_GATEWAY_METHOD, - AWS_DYNAMODB_TABLE, - AWS_DYNAMODB_STREAM, - AWS_EC2_NETWORK_INTERFACE, - AWS_EC2_VPC, - AWS_ECS_CLUSTER, - AWS_ECS_SERVICE, - AWS_ECS_TASK, - AWS_ECS_TASK_DEFINITION, - AWS_ELASTICSEARCH_DOMAIN, - AWS_LAMBDA_FUNCTION, - AWS_IAM_ROLE, - AWS_IAM_USER, - IS_ASSOCIATED_WITH, - IS_ATTACHED_TO, - IS_CONTAINED_IN, - AWS_CODEBUILD_PROJECT, - AWS_EC2_LAUNCH_TEMPLATE, - AWS_EC2_NAT_GATEWAY, - AWS_ELASTIC_LOAD_BALANCING_LOADBALANCER, - AWS_ELASTIC_LOAD_BALANCING_V2_LOADBALANCER, - AWS_ELASTIC_LOAD_BALANCING_V2_LISTENER, - AWS_ELASTIC_LOAD_BALANCING_V2_TARGET_GROUP, - AWS_EC2_ROUTE_TABLE, - AWS_EC2_SUBNET, - AWS_EC2_SECURITY_GROUP, - AWS_EC2_TRANSIT_GATEWAY, - AWS_EC2_TRANSIT_GATEWAY_ATTACHMENT, - AWS_EC2_TRANSIT_GATEWAY_ROUTE_TABLE, - CONTAINS, - AWS_EC2_INTERNET_GATEWAY, - AWS_EC2_VPC_ENDPOINT, - AWS_RDS_DB_INSTANCE, - AWS_EFS_ACCESS_POINT, - AWS_KINESIS_STREAM, - AWS_EC2_INSTANCE, - AWS_CLOUDFRONT_DISTRIBUTION, - AWS_CLOUDFRONT_STREAMING_DISTRIBUTION, - AWS_EKS_CLUSTER, - AWS_EKS_NODE_GROUP, - AWS_AUTOSCALING_AUTOSCALING_GROUP, - AWS_EFS_FILE_SYSTEM, - AWS_KMS_KEY, - AWS_IAM_AWS_MANAGED_POLICY, - AWS_S3_BUCKET, - AWS_OPENSEARCH_DOMAIN, - AWS_RDS_DB_CLUSTER, - AWS_REDSHIFT_CLUSTER, - SUBNET, - VPC, - AWS_EC2_SPOT_FLEET, - AWS_COGNITO_USER_POOL, - AWS_MSK_CLUSTER, - AWS_SNS_TOPIC, - AWS_SQS_QUEUE, - SECURITY_GROUP, - AWS_IAM_INLINE_POLICY, - MULTIPLE_AVAILABILITY_ZONES, AWS_EVENT_EVENT_BUS, AWS_EVENT_RULE -} = require('../src/lib/constants'); - -const {generate} = require('./generator'); -const additionalRelationships = require('../src/lib/additionalRelationships'); -const schema = require("./fixtures/relationships/securityGroup/ingress.json"); - -const ROLE = 'Role'; -const INSTANCE = 'Instance'; - -describe('additionalRelationships', () => { - - const credentials = {accessKeyId: 'accessKeyId', secretAccessKey: 'secretAccessKey', sessionToken: 'sessionToken'}; - - const defaultMockAwsClient = { - createLambdaClient() { - return { - getAllFunctions: async arn => [], - listEventSourceMappings: async arn => [] - } - }, - createEcsClient() { - return { - getAllClusterInstances: async arn => [] - } - }, - createEksClient() { - return { - getAllNodeGroups: async arn => [] - } - }, - createElbClient() { - return { - getLoadBalancerInstances: async resourceId => [] - } - }, - createElbV2Client() { - return { - describeTargetHealth: async arn => [] - } - }, - createSnsClient() { - return { - getAllSubscriptions: async () => [] - } - }, - createEc2Client() { - return { - getAllTransitGatewayAttachments: async () => [] - } - } - }; - - describe('addAdditionalRelationships', () => { - const addAdditionalRelationships = additionalRelationships.addAdditionalRelationships(new Map( - [[ - 'xxxxxxxxxxxx', - { - credentials, - regions: [ - 'eu-west-2', - 'us-east-1', - 'us-east-2' - ] - } - ]] - )); - - describe(AWS_API_GATEWAY_METHOD, () => { - - it('should ignore non-lambda relationships', async () => { - const schema = require('./fixtures/relationships/apigateway/method/noLambda.json'); - const {method} = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [method]); - const {relationships} = rels.find(r => r.resourceId === method.resourceId); - - assert.deepEqual(relationships, []); - }); - - it('should handle no method integration', async () => { - const schema = require('./fixtures/relationships/apigateway/method/noMethodIntegration.json'); - const {method} = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [method]); - const {relationships} = rels.find(r => r.resourceId === method.resourceId); - - assert.deepEqual(relationships, []); - }); - - it('should handle no method integration uri', async () => { - const schema = require('./fixtures/relationships/apigateway/method/noMethodIntegrationUri.json'); - const {method} = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [method]); - const {relationships} = rels.find(r => r.resourceId === method.resourceId); - - assert.deepEqual(relationships, []); - }); - - it('should add relationships for lambdas', async () => { - const schema = require('./fixtures/relationships/apigateway/method/lambda.json'); - const {lambda, method} = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [lambda, method]); - const {relationships} = rels.find(r => r.resourceId === method.resourceId); - - assert.deepEqual(relationships, [ - { - relationshipName: IS_ASSOCIATED_WITH, - arn: lambda.arn, - resourceType: AWS_LAMBDA_FUNCTION - } - ]); - }); - - }); - - describe(AWS_AUTOSCALING_AUTOSCALING_GROUP, () => { - - it('should add launch configuration relationship', async () => { - const schema = require('./fixtures/relationships/asg/launchTemplate.json'); - const {asg, subnet, launchTemplate} = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [subnet, asg]); - - const {relationships} = rels.find(r => r.resourceId === asg.resourceId); - const actualLaunchTemplateRel = relationships.find(x => x.resourceId === launchTemplate.resourceId); - - assert.deepEqual(actualLaunchTemplateRel, { - resourceId: launchTemplate.resourceId, - relationshipName: IS_ASSOCIATED_WITH, - resourceType: AWS_EC2_LAUNCH_TEMPLATE - }); - }); - - it('should add networking relationship', async () => { - const schema = require('./fixtures/relationships/asg/networking.json'); - const {vpc, asg, subnet1, subnet2} = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [subnet1, subnet2, asg]); - - const actualAsg = rels.find(r => r.resourceId === asg.resourceId); - const actualVpcRel = actualAsg.relationships.find(x => x.resourceId === vpc.resourceId); - - assert.strictEqual(actualAsg.vpcId, vpc.resourceId); - assert.strictEqual(actualAsg.availabilityZone, 'eu-west-2a,eu-west-2b'); - - assert.deepEqual(actualVpcRel, { - resourceId: vpc.resourceId, - relationshipName: IS_CONTAINED_IN + VPC, - resourceType: AWS_EC2_VPC - }); - }); - - it('should handle networking relationship when subnet has not been ingested', async () => { - const schema = require('./fixtures/relationships/asg/networking.json'); - const {vpc, asg} = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [asg]); - - const actualAsg = rels.find(r => r.resourceId === asg.resourceId); - const actualVpcRel = actualAsg.relationships.find(x => x.resourceId === vpc.resourceId); - - assert.notExists(actualAsg.vpcId); - assert.strictEqual(actualAsg.availabilityZone, MULTIPLE_AVAILABILITY_ZONES); - - assert.deepEqual(actualVpcRel); - }); - - }); - - describe(AWS_CLOUDFRONT_DISTRIBUTION, () => { - - it('should add regiun for s3 buckets', async () => { - const schema = require('./fixtures/relationships/cloudfront/distribution/s3.json'); - const {cfDistro, s3} = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [cfDistro, s3]); - const {relationships} = rels.find(r => r.resourceId === cfDistro.resourceId); - - assert.deepEqual(relationships, [ - { - relationshipName: IS_ASSOCIATED_WITH, - resourceId: s3.resourceId, - resourceType: AWS_S3_BUCKET, - arn: s3.arn - } - ]); - }); - - it('should add relationships to ELBs', async () => { - const schema = require('./fixtures/relationships/cloudfront/distribution/elb.json'); - const {cfDistro, elb} = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [cfDistro, elb]); - const {relationships} = rels.find(r => r.resourceId === cfDistro.resourceId); - - assert.deepEqual(relationships, [ - { - relationshipName: IS_ASSOCIATED_WITH, - resourceId: elb.resourceId, - resourceType: AWS_ELASTIC_LOAD_BALANCING_LOADBALANCER, - awsRegion: elb.awsRegion - } - ]); - }); - - it('should add relationships to ALBs/NLBs', async () => { - const schema = require('./fixtures/relationships/cloudfront/distribution/alb.json'); - const {cfDistro, alb} = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [cfDistro, alb]); - const {relationships} = rels.find(r => r.resourceId === cfDistro.resourceId); - - assert.deepEqual(relationships, [ - { - relationshipName: IS_ASSOCIATED_WITH, - resourceId: alb.resourceId, - resourceType: AWS_ELASTIC_LOAD_BALANCING_V2_LOADBALANCER, - awsRegion: alb.awsRegion - } - ]); - }); - - }); - - describe(AWS_CLOUDFRONT_STREAMING_DISTRIBUTION, () => { - - it('should add region for s3 buckets', async () => { - const schema = require('./fixtures/relationships/cloudfrontStreamingDistribution/s3.json'); - const {cfStreamingDistro, s3} = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [cfStreamingDistro, s3]); - const {relationships} = rels.find(r => r.resourceId === cfStreamingDistro.resourceId); - - assert.deepEqual(relationships, [ - { - relationshipName: IS_ASSOCIATED_WITH, - resourceId: s3.resourceId, - resourceType: AWS_S3_BUCKET, - arn: s3.arn - } - ]); - }); - - }); - - describe(AWS_DYNAMODB_TABLE, () => { - - it('should add relationship from table to stream', async () => { - const schema = require('./fixtures/relationships/dynamodb/table.json'); - const {table} = generate(schema); - const rels = await addAdditionalRelationships(defaultMockAwsClient, [table]); - const actual = rels.find(r => r.resourceType === AWS_DYNAMODB_TABLE); - - assert.deepEqual(actual.relationships, [ - { - relationshipName: IS_ASSOCIATED_WITH, - resourceType: AWS_DYNAMODB_STREAM, - arn: table.configuration.latestStreamArn - } - ]); - }); - - }); - - describe(AWS_EC2_NETWORK_INTERFACE, () => { - - it('should add vpc information', async () => { - const schema = require('./fixtures/relationships/eni/vpcInfo.json'); - const {vpc, subnet, eni} = generate(schema); - - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [eni]); - const actual = rels.find(r => r.resourceType === AWS_EC2_NETWORK_INTERFACE); - - assert.strictEqual(actual.vpcId, vpc.resourceId); - assert.strictEqual(actual.subnetId, subnet.resourceId); - }); - - it('should add eni relationships for Opensearch clusters', async () => { - const schema = require('./fixtures/relationships/eni/opensearch.json'); - const {eni} = generate(schema); - - const expectedOsDomainResourceId = 'xxxxxxxxxxxx/test-elasticsearch-cluster'; - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [eni]); - const actual = rels[0]; - const actualOpensearchRel = actual.relationships.find(r => r.resourceId === expectedOsDomainResourceId); - - assert.deepEqual(actualOpensearchRel, { - relationshipName: IS_ATTACHED_TO, - resourceId: expectedOsDomainResourceId, - resourceType: AWS_ELASTICSEARCH_DOMAIN - }) - }); - - it('should add eni relationships for nat gateways', async () => { - const schema = require('./fixtures/relationships/eni/natGateway.json'); - const {eni} = generate(schema); - - const expectedNatGatewayResourceId = 'nat-01234567890abcdef'; - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [eni]); - const actual = rels[0]; - const actualNatGatewayRel = actual.relationships.find(r => r.resourceId === expectedNatGatewayResourceId); - - assert.deepEqual(actualNatGatewayRel, { - relationshipName: IS_ATTACHED_TO, - resourceId: expectedNatGatewayResourceId, - resourceType: AWS_EC2_NAT_GATEWAY - }) - }); - - - it('should add eni relationships for vpc endpoints', async () => { - const schema = require('./fixtures/relationships/eni/vpcEndpoint.json'); - const {eni, vpcEndpoint} = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [eni]); - const actual = rels.find(x => x.resourceId === eni.resourceId); - const actualNatGatewayRel = actual.relationships.find(r => r.resourceId === vpcEndpoint.resourceId); - - assert.deepEqual(actualNatGatewayRel, { - relationshipName: IS_ATTACHED_TO, - resourceId: vpcEndpoint.resourceId, - resourceType: AWS_EC2_VPC_ENDPOINT - }) - }); - - it('should add eni relationships for ALBs', async () => { - const schema = require('./fixtures/relationships/eni/alb.json'); - const {eni} = generate(schema); - - const rexpectedAlbResourceId = 'arn:aws:elasticloadbalancing:eu-west-1:xxxxxxxxxxxx:loadbalancer/app/my-alb/1feef78b6a10bcd5'; - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [eni]); - const actual = rels[0]; - const actualAlbRel = actual.relationships.find(r => r.resourceId === rexpectedAlbResourceId); - - assert.deepEqual(actualAlbRel, { - relationshipName: IS_ATTACHED_TO, - resourceId: rexpectedAlbResourceId, - resourceType: AWS_ELASTIC_LOAD_BALANCING_V2_LOADBALANCER - }) - }); - - it('should add eni relationships for lambda functions', async () => { - const schema = require('./fixtures/relationships/eni/lambda.json'); - const {eni} = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [eni]); - const actual = rels[0]; - - const expectedLambdaResourceId = 'testLambda'; - - const actualLambdaRel = actual.relationships.find(r => r.resourceId === expectedLambdaResourceId); - - assert.deepEqual(actualLambdaRel, { - relationshipName: IS_ATTACHED_TO, - resourceId: expectedLambdaResourceId, - resourceType: AWS_LAMBDA_FUNCTION - }) - }); - - }); - - describe(AWS_EC2_ROUTE_TABLE, () => { - - it('should ni relationships for vpc endpoints, nat gateways and Internet gateways', async () => { - const schema = require('./fixtures/relationships/routeTable/allRelationships.json'); - const {routeTable} = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [routeTable]); - - const {relationships} = rels[0]; - - assert.deepEqual(relationships[0], { - relationshipName: CONTAINS, - resourceId: routeTable.configuration.routes[0].gatewayId, - resourceType: AWS_EC2_INTERNET_GATEWAY - }); - - assert.deepEqual(relationships[1], { - relationshipName: CONTAINS, - resourceId: routeTable.configuration.routes[1].gatewayId, - resourceType: AWS_EC2_VPC_ENDPOINT - }); - - assert.deepEqual(relationships[2], { - relationshipName: CONTAINS, - resourceId: routeTable.configuration.routes[2].natGatewayId, - resourceType: AWS_EC2_NAT_GATEWAY - }); - - }); - - }); - - describe(AWS_EC2_SECURITY_GROUP, () => { - - it('should add relationships for security group in ingress', async () => { - const schema = require('./fixtures/relationships/securityGroup/ingress.json'); - const {inSecurityGroup1, inSecurityGroup2, securityGroup} = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [securityGroup]); - const {relationships} = rels.find(r => r.resourceId === securityGroup.resourceId); - - assert.deepEqual(relationships, [ - { - resourceId: inSecurityGroup1.resourceId, - relationshipName: IS_ASSOCIATED_WITH + SECURITY_GROUP, - resourceType: AWS_EC2_SECURITY_GROUP - }, { - resourceId: inSecurityGroup2.resourceId, - relationshipName: IS_ASSOCIATED_WITH + SECURITY_GROUP, - resourceType: AWS_EC2_SECURITY_GROUP - } - ]); - }); - - it('should add relationships for security group in egress', async () => { - const schema = require('./fixtures/relationships/securityGroup/egress.json'); - const {outSecurityGroup1, outSecurityGroup2, securityGroup} = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [securityGroup]); - const {relationships} = rels.find(r => r.resourceId === securityGroup.resourceId); - - assert.deepEqual(relationships, [ - { - resourceId: outSecurityGroup1.resourceId, - relationshipName: IS_ASSOCIATED_WITH + SECURITY_GROUP, - resourceType: AWS_EC2_SECURITY_GROUP - }, { - resourceId: outSecurityGroup2.resourceId, - relationshipName: IS_ASSOCIATED_WITH + SECURITY_GROUP, - resourceType: AWS_EC2_SECURITY_GROUP - } - ]); - }); - - }); - - describe(AWS_EC2_SUBNET, () => { - - it('should add vpc information', async () => { - const schema = require('./fixtures/relationships/subnet/vpcInfo.json'); - const {subnet, vpc, routeTable} = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [subnet, routeTable]); - const actualSubnet = rels.find(x => x.resourceId === subnet.resourceId); - - assert.strictEqual(actualSubnet.vpcId, vpc.resourceId); - assert.strictEqual(actualSubnet.subnetId, subnet.resourceId); - }); - - it('should identify public subnets', async () => { - const schema = require('./fixtures/relationships/subnet/public.json'); - const {subnet, routeTable} = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [subnet, routeTable]); - const actualSubnet = rels.find(x => x.resourceId === subnet.resourceId); - - assert.strictEqual(actualSubnet.private, false); - }); - - it('should identify private subnets', async () => { - const schema = require('./fixtures/relationships/subnet/private.json'); - const {subnet, routeTable} = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [subnet, routeTable]); - const actualSubnet = rels.find(x => x.resourceId === subnet.resourceId); - - assert.strictEqual(actualSubnet.private, true); - }); - - }); - - describe(AWS_EC2_TRANSIT_GATEWAY, () => { - - it('should add relationships to routetables', async () => { - const schema = require('./fixtures/relationships/transitgateway/routetables.json'); - const {tgw, tgwRouteTable1, tgwRouteTable2} = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [tgw]); - - const {relationships} = rels.find(x => x.resourceId === tgw.resourceId); - - const actualTgwRouteTableRel1 = relationships.find(x => x.resourceId === tgwRouteTable1.resourceId); - const actualTgwRouteTableRel2 = relationships.find(x => x.resourceId === tgwRouteTable2.resourceId); - - assert.deepEqual(actualTgwRouteTableRel1, { - relationshipName: IS_CONTAINED_IN, - resourceId: tgwRouteTable1.resourceId, - resourceType: AWS_EC2_TRANSIT_GATEWAY_ROUTE_TABLE - }); - - assert.deepEqual(actualTgwRouteTableRel2, { - relationshipName: IS_CONTAINED_IN, - resourceId: tgwRouteTable2.resourceId, - resourceType: AWS_EC2_TRANSIT_GATEWAY_ROUTE_TABLE - }); - }); - - }); - - describe(AWS_EC2_TRANSIT_GATEWAY_ATTACHMENT, () => { - const accountIdX = 'xxxxxxxxxxxx'; - const accountIdZ = 'zzzzzzzzzzzz'; - const euWest2 = 'eu-west-2'; - - const addAdditionalRelationships = additionalRelationships.addAdditionalRelationships(new Map( - [[ - accountIdX, - { - credentials, - regions: [ - 'eu-west-2' - ] - } - ], [ - accountIdZ, - { - credentials, - regions: [ - 'eu-west-2' - ] - } - ]] - )); - - it('should add vpc relationships to transit gateway attachments', async () => { - const schema = require('./fixtures/relationships/transitgateway/attachments/vpc.json'); - const {vpc, subnet1, subnet2, subnet3, tgw, tgwAttachment, tgwAttachmentApi} = generate(schema); - - const mockAwsClient = { - ...defaultMockAwsClient, - createEc2Client(credentials, region) { - return { - getAllTransitGatewayAttachments: async arn => { - return credentials[0] = 'zzzzzzzzzzzz' && region === tgwAttachment.awsRegion ? [ - tgwAttachmentApi - ] : [] - } - } - } - }; - - const rels = await addAdditionalRelationships(mockAwsClient, [tgwAttachment]); - - const {relationships} = rels.find(x => x.resourceId === tgwAttachment.resourceId); - - const actualTgwRel = relationships.find(x => x.resourceId === tgw.resourceId); - const actualVpcRel = relationships.find(x => x.resourceId === vpc.resourceId); - const actualSubnet1Rel = relationships.find(x => x.resourceId === subnet1.resourceId); - const actualSubnet2Rel = relationships.find(x => x.resourceId === subnet2.resourceId); - const actualSubnet3Rel = relationships.find(x => x.resourceId === subnet3.resourceId); - - assert.deepEqual(actualTgwRel, { - relationshipName: IS_ATTACHED_TO, - resourceId: tgw.resourceId, - resourceType: AWS_EC2_TRANSIT_GATEWAY, - awsRegion: euWest2, - accountId: accountIdX - }); - - assert.deepEqual(actualVpcRel, { - relationshipName: IS_ASSOCIATED_WITH + `${VPC}`, - resourceId: vpc.resourceId, - resourceType: AWS_EC2_VPC, - awsRegion: euWest2, - accountId: accountIdZ - }); - - assert.deepEqual(actualSubnet1Rel, { - relationshipName: IS_ASSOCIATED_WITH + 'Subnet', - resourceId: subnet1.resourceId, - resourceType: AWS_EC2_SUBNET, - awsRegion: euWest2, - accountId: accountIdZ - }); - - assert.deepEqual(actualSubnet2Rel, { - relationshipName: IS_ASSOCIATED_WITH + 'Subnet', - resourceId: subnet2.resourceId, - resourceType: AWS_EC2_SUBNET, - awsRegion: euWest2, - accountId: accountIdZ - }); - - assert.deepEqual(actualSubnet3Rel, { - relationshipName: IS_ASSOCIATED_WITH + 'Subnet', - resourceId: subnet3.resourceId, - resourceType: AWS_EC2_SUBNET, - awsRegion: euWest2, - accountId: accountIdZ - }); - - }); - - }); - - describe(AWS_EVENT_EVENT_BUS, () => { - - it('should add relationships for event bus rules', async () => { - const schema = require('./fixtures/relationships/events/eventBus/bus.json'); - const {eventBus1, eventBus2, eventRule1, eventRule2} = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [eventBus1, eventBus2, eventRule1, eventRule2]); - const {relationships: eventBus1Rel} = rels.find(r => r.arn === eventBus1.arn); - const {relationships: eventBus2Rel} = rels.find(r => r.arn === eventBus2.arn); - - assert.deepEqual(eventBus1Rel, [ - { - arn: 'eventRuleArn1', - relationshipName: IS_ASSOCIATED_WITH, - } - ]); - - assert.deepEqual(eventBus2Rel, [ - { - arn: 'eventRuleArn2', - relationshipName: IS_ASSOCIATED_WITH, - } - ]); - }); - }); - - describe(AWS_EVENT_RULE, () => { - - it('should add relationships for event bus rules', async () => { - const schema = require('./fixtures/relationships/events/rule/rules.json'); - const {eventRule1, eventRule2} = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [eventRule1, eventRule2]); - const {relationships: eventRule1Rel} = rels.find(r => r.arn === eventRule1.arn); - const {relationships: eventRule2Rel} = rels.find(r => r.arn === eventRule2.arn); - - const ruleTarget1Rel = eventRule1Rel.find(r => r.arn === 'ruleTargetArn1'); - const ruleTarget1RoleRel = eventRule1Rel.find(r => r.arn === 'roleArn1'); - const ruleTarget2Rel = eventRule2Rel.find(r => r.arn === 'clusterArn'); - const ruleTaskTarget2Rel = eventRule2Rel.find(r => r.arn === 'taskDefinitionArn'); - const ruleTarget2RoleRel = eventRule2Rel.find(r => r.arn === 'roleArn2'); - - assert.deepEqual(ruleTarget1Rel, { - arn: 'ruleTargetArn1', - relationshipName: IS_ASSOCIATED_WITH, - }); - - assert.deepEqual(ruleTarget1RoleRel, { - arn: 'roleArn1', - relationshipName: IS_ASSOCIATED_WITH, - }); - - assert.deepEqual(ruleTarget2Rel, { - arn: 'clusterArn', - relationshipName: IS_ASSOCIATED_WITH, - }); - - assert.deepEqual(ruleTaskTarget2Rel, { - arn: 'taskDefinitionArn', - relationshipName: IS_ASSOCIATED_WITH, - }); - - assert.deepEqual(ruleTarget2RoleRel, { - arn: 'roleArn2', - relationshipName: IS_ASSOCIATED_WITH, - }); - }); - }) - - describe(AWS_LAMBDA_FUNCTION, () => { - - it('should not add additional relationships for Lambda functions with no vpc', async () => { - const schema = require('./fixtures/relationships/lambda/noVpc.json'); - const {lambda} = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [lambda]); - - const actual = rels.find(r => r.resourceType === AWS_LAMBDA_FUNCTION); - - assert.deepEqual(actual.relationships, []); - }); - - it('should add VPC relationships for Lambda functions', async () => { - const schema = require('./fixtures/relationships/lambda/vpc.json'); - const {vpc, subnet1, subnet2, lambda} = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [subnet1, subnet2, lambda]); - - const actual = rels.find(r => r.resourceId === lambda.resourceId); - const actualVpcRel = actual.relationships.find(r => r.resourceId === vpc.resourceId); - const actualSubnet1Rel = actual.relationships.find(r => r.resourceId === subnet1.resourceId); - const actualSubnet2Rel = actual.relationships.find(r => r.resourceId === subnet2.resourceId); - - assert.strictEqual(actual.availabilityZone, `${subnet1.availabilityZone},${subnet2.availabilityZone}`); - - assert.deepEqual(actualVpcRel, { - relationshipName: IS_CONTAINED_IN + VPC, - resourceId: vpc.resourceId, - resourceType: AWS_EC2_VPC - }); - assert.deepEqual(actualSubnet1Rel, { - relationshipName: IS_CONTAINED_IN + SUBNET, - resourceId: subnet1.resourceId, - resourceType: AWS_EC2_SUBNET - }); - assert.deepEqual(actualSubnet2Rel, { - relationshipName: IS_CONTAINED_IN + SUBNET, - resourceId: subnet2.resourceId, - resourceType: AWS_EC2_SUBNET - }); - }); - - it('should handle VPC relationships for Lambda functions when subnets have not been ingested', async () => { - const schema = require('./fixtures/relationships/lambda/vpc.json'); - const {vpc, lambda} = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [lambda]); - - const actual = rels.find(r => r.resourceId === lambda.resourceId); - const actualVpcRel = actual.relationships.find(r => r.resourceId === vpc.resourceId); - - assert.strictEqual(actual.availabilityZone, 'Not Applicable'); - - assert.notExists(actualVpcRel); - }); - - it('should add VPC relationships for Lambda functions with efs', async () => { - const schema = require('./fixtures/relationships/lambda/efs.json'); - const {subnet1, subnet2, lambda, efs} = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [subnet1, subnet2, lambda, efs]); - - const actual = rels.find(r => r.resourceId === lambda.resourceId); - const actualEfsRel = actual.relationships.find(r => r.arn === efs.arn); - - assert.deepEqual(actualEfsRel, { - relationshipName: IS_ASSOCIATED_WITH, - arn: efs.arn, - resourceType: AWS_EFS_ACCESS_POINT - }); - }); - - it('should return additional relationships for Lambda functions with event mappings', async () => { - const schema = require('./fixtures/relationships/lambda/eventMappings.json'); - const {lambda, kinesis} = generate(schema); - - const mockAwsClient = { - ...defaultMockAwsClient, - createLambdaClient(_, region) { - return { - getAllFunctions: async arn => [], - listEventSourceMappings: async arn => { - return region === lambda.awsRegion ? [{ - EventSourceArn: kinesis.arn, FunctionArn: lambda.arn - }] : [] - } - } - } - }; - - const rels = await addAdditionalRelationships(mockAwsClient, [lambda, kinesis]); - - const actual = rels.find(r => r.resourceType === AWS_LAMBDA_FUNCTION); - - assert.deepEqual(actual.relationships, [{ - relationshipName: IS_ASSOCIATED_WITH, - arn: kinesis.arn, - resourceType: AWS_KINESIS_STREAM - }]); - }); - - it('should handle errors when encrypted environment variables are present', async () => { - const schema = require('./fixtures/relationships/lambda/encryptedEnvVar.json'); - const {lambda} = generate(schema); - - const mockAwsClient = { - ...defaultMockAwsClient, - createLambdaClient(_, region) { - return { - getAllFunctions: async arn => { - if(region === lambda.awsRegion) { - return [{ - FunctionArn: lambda.arn, - Environment: { - Error: { - ErrorCode: 'AccessDeniedException', - Message: 'Error' - } - } - }] - } - return []; - }, - listEventSourceMappings: async arn => [] - } - } - }; - - const rels = await addAdditionalRelationships(mockAwsClient, [lambda]); - - const {relationships} = rels.find(r => r.resourceType === AWS_LAMBDA_FUNCTION); - - assert.lengthOf(relationships, 0); - }); - - it('should handle when Environment field is set to null', async () => { - const schema = require('./fixtures/relationships/lambda/envVar.json'); - const {resourceIdResource, resourceNameResource, arnResource, lambda} = generate(schema); - - const mockAwsClient = { - ...defaultMockAwsClient, - createLambdaClient(_, region) { - return { - getAllFunctions: async arn => { - if(region === lambda.awsRegion) { - return [{ - FunctionArn: lambda.arn, - Environment: { - Variables: { - resourceIdVar: resourceIdResource.resourceId, - resourceNameVar: resourceNameResource.resourceName, - arnVar: arnResource.arn - } - } - }, { - FunctionArn: lambda.arn, - Environment: null - } - ] - } - return []; - }, - listEventSourceMappings: async arn => [] - } - } - }; - - const rels = await addAdditionalRelationships(mockAwsClient, [resourceIdResource, resourceNameResource, arnResource, lambda]); - - const {relationships} = rels.find(r => r.resourceType === AWS_LAMBDA_FUNCTION); - const actualResourceIdResourceRel = relationships.find(r => r.arn === resourceIdResource.arn); - const actualResourceNameResourceRel = relationships.find(r => r.arn === resourceNameResource.arn); - const actualArnResourceRel = relationships.find(r => r.arn === arnResource.arn); - - assert.deepEqual(actualResourceIdResourceRel, { - relationshipName: IS_ASSOCIATED_WITH, - arn: resourceIdResource.arn, - resourceType: AWS_S3_BUCKET - }); - assert.deepEqual(actualResourceNameResourceRel, { - relationshipName: IS_ASSOCIATED_WITH + ROLE, - arn: resourceNameResource.arn, - resourceType: AWS_IAM_ROLE - }); - assert.deepEqual(actualArnResourceRel, { - relationshipName: IS_ASSOCIATED_WITH, - arn: arnResource.arn, - resourceType: AWS_S3_BUCKET - }); - }); - - it('should return additional non-db relationships for Lambda functions with environment variables', async () => { - const schema = require('./fixtures/relationships/lambda/envVar.json'); - const {resourceIdResource, resourceNameResource, arnResource, lambda} = generate(schema); - - const mockAwsClient = { - ...defaultMockAwsClient, - createLambdaClient(_, region) { - return { - getAllFunctions: async arn => { - if(region === lambda.awsRegion) { - return [{ - FunctionArn: lambda.arn, - Environment: { - Variables: { - resourceIdVar: resourceIdResource.resourceId, - resourceNameVar: resourceNameResource.resourceName, - arnVar: arnResource.arn - } - } - }] - } - return []; - }, - listEventSourceMappings: async arn => [] - } - } - }; - - const rels = await addAdditionalRelationships(mockAwsClient, [resourceIdResource, resourceNameResource, arnResource, lambda]); - - const {relationships} = rels.find(r => r.resourceType === AWS_LAMBDA_FUNCTION); - const actualResourceIdResourceRel = relationships.find(r => r.arn === resourceIdResource.arn); - const actualResourceNameResourceRel = relationships.find(r => r.arn === resourceNameResource.arn); - const actualArnResourceRel = relationships.find(r => r.arn === arnResource.arn); - - assert.deepEqual(actualResourceIdResourceRel, { - relationshipName: IS_ASSOCIATED_WITH, - arn: resourceIdResource.arn, - resourceType: AWS_S3_BUCKET - }); - assert.deepEqual(actualResourceNameResourceRel, { - relationshipName: IS_ASSOCIATED_WITH + ROLE, - arn: resourceNameResource.arn, - resourceType: AWS_IAM_ROLE - }); - assert.deepEqual(actualArnResourceRel, { - relationshipName: IS_ASSOCIATED_WITH, - arn: arnResource.arn, - resourceType: AWS_S3_BUCKET - }); - }); - - it('should return additional db relationships for Lambda functions with environment variables', async () => { - const schema = require('./fixtures/relationships/lambda/dbEnvVar.json'); - const {elasticsearch, opensearch, rdsCluster, rdsInstance, redshiftCluster, lambda} = generate(schema); - - const mockAwsClient = { - ...defaultMockAwsClient, - createLambdaClient(_, region) { - return { - getAllFunctions: async arn => { - if(region === lambda.awsRegion) { - return [{ - FunctionArn: lambda.arn, - Environment: { - Variables: { - elasticsearchVar: elasticsearch.configuration.endpoints.vpc, - opensearchVar: opensearch.configuration.Endpoints.vpc, - rdsClusterVar: rdsCluster.configuration.endpoint.value, - rdsInstanceVar: rdsInstance.configuration.endpoint.address, - redshiftClusterVar: redshiftCluster.configuration.endpoint.address - } - } - }] - } - return []; - }, - listEventSourceMappings: async arn => [] - } - } - }; - - const rels = await addAdditionalRelationships(mockAwsClient, [ - elasticsearch, opensearch, rdsCluster, rdsInstance, redshiftCluster, lambda - ]); - - const {relationships} = rels.find(r => r.resourceType === AWS_LAMBDA_FUNCTION); - const actualElasticsearchResourceRel = relationships.find(r => r.arn === elasticsearch.arn); - const actualOpensearchResourceRel = relationships.find(r => r.arn === opensearch.arn); - const actualRdsClusterRel = relationships.find(r => r.arn === rdsCluster.arn); - const actualRdsInstanceRel = relationships.find(r => r.arn === rdsInstance.arn); - const actualRedshiftClusterRel = relationships.find(r => r.arn === redshiftCluster.arn); - - assert.deepEqual(actualElasticsearchResourceRel, { - relationshipName: IS_ASSOCIATED_WITH, - arn: elasticsearch.arn, - resourceType: AWS_ELASTICSEARCH_DOMAIN - }); - assert.deepEqual(actualOpensearchResourceRel, { - relationshipName: IS_ASSOCIATED_WITH, - arn: opensearch.arn, - resourceType: AWS_OPENSEARCH_DOMAIN - }); - assert.deepEqual(actualRdsClusterRel, { - relationshipName: IS_ASSOCIATED_WITH, - arn: rdsCluster.arn, - resourceType: AWS_RDS_DB_CLUSTER - }); - assert.deepEqual(actualRdsInstanceRel, { - relationshipName: IS_ASSOCIATED_WITH, - arn: rdsInstance.arn, - resourceType: AWS_RDS_DB_INSTANCE - }); - assert.deepEqual(actualRedshiftClusterRel, { - relationshipName: IS_ASSOCIATED_WITH, - arn: redshiftCluster.arn, - resourceType: AWS_REDSHIFT_CLUSTER - }); - }); - - }); - - describe(AWS_ECS_CLUSTER, () => { - - it('should not add relationships between cluster and ec2 instances when none are present', async () => { - const schema = require('./fixtures/relationships/ecs/cluster/noInstances.json'); - const {ecsCluster} = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [ecsCluster]); - const {relationships} = rels.find(r => r.resourceId === ecsCluster.resourceId); - - assert.deepEqual(relationships, []); - }); - - it('should add relationships between cluster and ec2 instances if present', async () => { - const schema = require('./fixtures/relationships/ecs/cluster/instances.json'); - const {ec2Instance1, ec2Instance2, ecsCluster} = generate(schema); - - const mockAwsClient = { - ...defaultMockAwsClient, - createEcsClient() { - return { - getAllClusterInstances: async arn => [ec2Instance1.resourceId, ec2Instance2.resourceId] - } - } - }; - - const rels = await addAdditionalRelationships(mockAwsClient, [ecsCluster]); - const {relationships} = rels.find(r => r.resourceId === ecsCluster.resourceId); - - assert.deepEqual(relationships, [ - { - relationshipName: CONTAINS + INSTANCE, - resourceId: ec2Instance1.resourceId, - resourceType: AWS_EC2_INSTANCE - }, { - relationshipName: CONTAINS + INSTANCE, - resourceId: ec2Instance2.resourceId, - resourceType: AWS_EC2_INSTANCE - } - ]); - }); - - }); - - describe(AWS_ECS_SERVICE, () => { - - it('should add cluster, role and task definition relationships ECS service', async () => { - const schema = require('./fixtures/relationships/ecs/service/noVpc.json'); - const {ecsServiceRole, ecsCluster, ecsService, ecsTaskDefinition} = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [ecsServiceRole, ecsCluster, ecsService, ecsTaskDefinition]); - - const {relationships} = rels.find(r => r.resourceType === AWS_ECS_SERVICE); - - const actualClusterRel = relationships.find(r => r.resourceType === AWS_ECS_CLUSTER); - const actualIamRoleRel = relationships.find(r => r.resourceType === AWS_IAM_ROLE); - const actualTaskRel = relationships.find(r => r.resourceType === AWS_ECS_TASK_DEFINITION); - - assert.deepEqual(actualClusterRel, { - relationshipName: IS_CONTAINED_IN, - arn: ecsCluster.arn, - resourceType: AWS_ECS_CLUSTER - }); - assert.deepEqual(actualIamRoleRel, { - relationshipName: IS_ASSOCIATED_WITH + ROLE, - arn: ecsServiceRole.arn, - resourceType: AWS_IAM_ROLE - }); - assert.deepEqual(actualTaskRel, { - relationshipName: IS_ASSOCIATED_WITH, - arn: ecsTaskDefinition.arn, - resourceType: AWS_ECS_TASK_DEFINITION - }); - }); - - it('should add alb target groups relationships ECS service', async () => { - const schema = require('./fixtures/relationships/ecs/service/alb.json'); - const {ecsServiceRole, ecsCluster, ecsService, ecsTaskDefinition} = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [ecsServiceRole, ecsCluster, ecsService, ecsTaskDefinition]); - - const {relationships} = rels.find(r => r.resourceId === ecsService.resourceId); - - const actualAlbTgRel = relationships.find(r => r.resourceType === AWS_ELASTIC_LOAD_BALANCING_V2_TARGET_GROUP); - - assert.deepEqual(actualAlbTgRel, { - relationshipName: IS_ASSOCIATED_WITH, - resourceId: ecsService.configuration.LoadBalancers[0].TargetGroupArn, - resourceType: AWS_ELASTIC_LOAD_BALANCING_V2_TARGET_GROUP - }); - }); - - it('should add networking relationships for ECS service in vpc', async () => { - const schema = require('./fixtures/relationships/ecs/service/vpc.json'); - const {vpc, subnet1, subnet2, securityGroup, ecsServiceRole, ecsCluster, ecsService, ecsTaskDefinition} = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [ - subnet1, subnet2, securityGroup, ecsServiceRole, ecsCluster, ecsService, ecsTaskDefinition - ]); - - const {relationships, ...service} = rels.find(r => r.resourceType === AWS_ECS_SERVICE); - - const actualSubnet1Rel = relationships.find(r => r.resourceId === subnet1.resourceId); - const actualSubnet2Rel = relationships.find(r => r.resourceId === subnet2.resourceId); - const actualVpcRel = relationships.find(r => r.resourceId === vpc.resourceId); - const actualSgRel = relationships.find(r => r.resourceId === securityGroup.resourceId); - - assert.strictEqual(service.vpcId, vpc.resourceId); - assert.strictEqual(service.availabilityZone, `${subnet1.availabilityZone},${subnet2.availabilityZone}`); - - assert.deepEqual(actualSubnet1Rel, { - relationshipName: IS_CONTAINED_IN + SUBNET, - resourceId: subnet1.resourceId, - resourceType: AWS_EC2_SUBNET - }); - assert.deepEqual(actualSubnet2Rel, { - relationshipName: IS_CONTAINED_IN + SUBNET, - resourceId: subnet2.resourceId, - resourceType: AWS_EC2_SUBNET - }); - assert.deepEqual(actualVpcRel, { - relationshipName: IS_CONTAINED_IN + VPC, - resourceId: vpc.resourceId, - resourceType: AWS_EC2_VPC - }); - assert.deepEqual(actualSgRel, { - relationshipName: IS_ASSOCIATED_WITH + SECURITY_GROUP, - resourceId: securityGroup.resourceId, - resourceType: AWS_EC2_SECURITY_GROUP - }); - }); - - it('should add networking relationships for ECS service when subnets have not been discovered', async () => { - const schema = require('./fixtures/relationships/ecs/service/vpc.json'); - const {vpc, securityGroup, ecsServiceRole, ecsCluster, ecsService, ecsTaskDefinition} = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [ - securityGroup, ecsServiceRole, ecsCluster, ecsService, ecsTaskDefinition - ]); - - const {relationships, ...service} = rels.find(r => r.resourceType === AWS_ECS_SERVICE); - - const actualVpcRel = relationships.find(r => r.resourceId === vpc.resourceId); - - assert.notExists(service.vpcId); - assert.strictEqual(service.availabilityZone, 'Regional'); - - assert.notExists(actualVpcRel); - }); - - }); - - describe(AWS_ECS_TASK, () => { - - it('should not get networking relationships for tasks not using awsvpc mode', async () => { - const schema = require('./fixtures/relationships/ecs/task/cluster.json'); - const {ecsCluster, ecsTaskRole, ecsTaskExecutionRole, ecsTask, ecsTaskDefinition} = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [ - ecsCluster, ecsTaskRole, ecsTaskExecutionRole, ecsTask, ecsTaskDefinition - ]); - - const {relationships} = rels.find(r => r.resourceId === ecsTask.resourceId); - const actualClusterRel = relationships.find(r => r.resourceType === AWS_ECS_CLUSTER); - - assert.deepEqual(actualClusterRel, { - relationshipName: IS_CONTAINED_IN, - arn: ecsCluster.arn, - resourceType: AWS_ECS_CLUSTER - }); - }); - - it('should handle missing task definition', async () => { - const schema = require('./fixtures/relationships/ecs/task/missingTaskDefinition.json'); - const {ecsCluster, ecsTaskRole, ecsTaskExecutionRole, ecsTask} = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [ - ecsCluster, ecsTaskRole, ecsTaskExecutionRole, ecsTask - ]); - - const {relationships} = rels.find(r => r.resourceId === ecsTask.resourceId); - const actualClusterRel = relationships.find(r => r.resourceType === AWS_ECS_CLUSTER); - - assert.deepEqual(actualClusterRel, { - relationshipName: IS_CONTAINED_IN, - arn: ecsCluster.arn, - resourceType: AWS_ECS_CLUSTER - }); - }); - - it('should add IAM role relationship for ECS tasks if present', async () => { - const schema = require('./fixtures/relationships/ecs/task/roles.json'); - const { - ecsCluster, ecsTaskRole, ecsTaskExecutionRole, ecsTaskDefinition, ecsTask - } = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [ - ecsCluster, ecsTaskRole, ecsTaskExecutionRole, ecsTaskDefinition, ecsTask - ]); - const {relationships} = rels.find(r => r.resourceId === ecsTask.resourceId); - - const actualTaskRoleRel = relationships.find(r => r.arn === ecsTaskRole.arn); - - const actualTaskExecutionRoleRel = relationships.find(r => r.arn === ecsTaskExecutionRole.arn); - - assert.deepEqual(actualTaskRoleRel, { - relationshipName: IS_ASSOCIATED_WITH + ROLE, - arn: ecsTaskRole.arn, - resourceType: AWS_IAM_ROLE - }); - assert.deepEqual(actualTaskExecutionRoleRel, { - relationshipName: IS_ASSOCIATED_WITH + ROLE, - arn: ecsTaskExecutionRole.arn, - resourceType: AWS_IAM_ROLE - }); - }); - - it('should add overriden task role relationships for ECS tasks', async () => { - const schema = require('./fixtures/relationships/ecs/task/roleOverrides.json'); - const { - ecsCluster, ecsTaskRole, ecsTaskExecutionRole, ecsTaskDefinition, ecsTask - } = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [ - ecsCluster, ecsTaskRole, ecsTaskExecutionRole, ecsTaskDefinition, ecsTask - ]); - const {relationships} = rels.find(r => r.resourceId === ecsTask.resourceId); - - const actualTaskRoleRel = relationships.find(r => r.arn === ecsTaskRole.arn); - - const actualTaskExecutionRoleRel = relationships.find(r => r.arn === ecsTaskExecutionRole.arn); - - assert.deepEqual(actualTaskRoleRel, { - relationshipName: IS_ASSOCIATED_WITH + ROLE, - arn: ecsTaskRole.arn, - resourceType: AWS_IAM_ROLE - }); - assert.deepEqual(actualTaskExecutionRoleRel, { - relationshipName: IS_ASSOCIATED_WITH + ROLE, - arn: ecsTaskExecutionRole.arn, - resourceType: AWS_IAM_ROLE - }); - }); - - it('should not get networking relationships for tasks not using awsvpc mode', async () => { - const schema = require('./fixtures/relationships/ecs/task/noVpc.json'); - const {ecsCluster, ecsTaskRole, ecsTaskExecutionRole, ecsTask, ecsTaskDefinition} = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [ - ecsCluster, ecsTaskRole, ecsTaskExecutionRole, ecsTask, ecsTaskDefinition - ]); - - const {relationships} = rels.find(r => r.resourceId === ecsTask.resourceId); - - assert.deepEqual(relationships.filter(x => ![AWS_IAM_ROLE, AWS_ECS_CLUSTER].includes(x.resourceType)), []); - }); - - it('should get networking relationships for tasks using awsvpc mode', async () => { - const schema = require('./fixtures/relationships/ecs/task/vpc.json'); - const { - vpc, ecsCluster, ecsTaskRole, ecsTaskExecutionRole, subnet, eni, ecsTask, ecsTaskDefinition - } = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [ - ecsCluster, ecsTaskRole, ecsTaskExecutionRole, subnet, eni, ecsTask, ecsTaskDefinition - ]); - - const task = rels.find(r => r.resourceId === ecsTask.resourceId); - const eniRel = rels.find(r => r.resourceId === eni.resourceId); - - const actualTaskVpcRel = task.relationships.find(r => r.resourceId === vpc.resourceId); - const actualTaskSubnetRel = task.relationships.find(r => r.resourceId === subnet.resourceId); - const actualTaskEniRel = eniRel.relationships.find(r => r.resourceId === task.resourceId); - - assert.strictEqual(task.vpcId, vpc.resourceId); - assert.strictEqual(task.subnetId, subnet.resourceId); - - assert.deepEqual(actualTaskSubnetRel, { - relationshipName: IS_CONTAINED_IN + SUBNET, - resourceId: subnet.resourceId, - resourceType: AWS_EC2_SUBNET - }); - assert.deepEqual(actualTaskVpcRel, { - relationshipName: IS_CONTAINED_IN + VPC, - resourceId: vpc.resourceId, - resourceType: AWS_EC2_VPC - }); - assert.deepEqual(actualTaskEniRel, { - relationshipName: IS_ATTACHED_TO, - resourceId: task.resourceId, - resourceType: AWS_ECS_TASK - }); - }); - - it('should get non-db relationships for tasks with environment variables', async () => { - const schema = require('./fixtures/relationships/ecs/task/envVars.json'); - const { - ecsCluster, ecsTaskRole, ecsTaskExecutionRole, ecsTask, ecsTaskDefinition, - resourceIdResource, resourceNameResource, arnResource - } = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [ - ecsCluster, ecsTaskRole, ecsTaskExecutionRole, ecsTask, ecsTaskDefinition, resourceIdResource, - resourceNameResource, arnResource - ]); - - const {relationships} = rels.find(r => r.resourceId === ecsTask.resourceId); - - const actualResourceIdResourceRel = relationships.find(r => r.arn === resourceIdResource.arn); - const actualResourceNameResourceRel = relationships.find(r => r.arn === resourceNameResource.arn); - const actualArnResourceRel = relationships.find(r => r.arn === arnResource.arn); - - assert.deepEqual(actualResourceIdResourceRel, { - relationshipName: IS_ASSOCIATED_WITH, - arn: resourceIdResource.arn, - resourceType: AWS_S3_BUCKET - }); - assert.deepEqual(actualResourceNameResourceRel, { - relationshipName: IS_ASSOCIATED_WITH + ROLE, - arn: resourceNameResource.arn, - resourceType: AWS_IAM_ROLE - }); - assert.deepEqual(actualArnResourceRel, { - relationshipName: IS_ASSOCIATED_WITH, - arn: arnResource.arn, - resourceType: AWS_S3_BUCKET - }); - }); - - it('should handle overridden environment variables', async () => { - const schema = require('./fixtures/relationships/ecs/task/envVarOverrides.json'); - const { - ecsCluster, ecsTaskRole, ecsTaskExecutionRole, ecsTask, ecsTaskDefinition, - resourceIdResource, overridenResource - } = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [ - ecsCluster, ecsTaskRole, ecsTaskExecutionRole, ecsTask, ecsTaskDefinition, resourceIdResource, - overridenResource - ]); - - const {relationships} = rels.find(r => r.resourceId === ecsTask.resourceId); - - const actualOverridenResourceResourceRel = relationships.find(r => r.arn === overridenResource.arn); - - assert.deepEqual(actualOverridenResourceResourceRel, { - relationshipName: IS_ASSOCIATED_WITH, - arn: overridenResource.arn, - resourceType: AWS_S3_BUCKET - }); - }); - - it('should get db relationships for tasks with environment variables', async () => { - const schema = require('./fixtures/relationships/ecs/task/dbEnvVars.json'); - const { - ecsCluster, elasticsearch, opensearch, rdsCluster, rdsInstance, redshiftCluster, - ecsTaskRole, ecsTaskExecutionRole, ecsTask, ecsTaskDefinition - } = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [ - ecsCluster, elasticsearch, opensearch, rdsCluster, rdsInstance, redshiftCluster, - ecsTaskRole, ecsTaskExecutionRole, ecsTask, ecsTaskDefinition - ]); - - const {relationships} = rels.find(r => r.resourceId === ecsTask.resourceId); - const actualElasticsearchResourceRel = relationships.find(r => r.arn === elasticsearch.arn); - const actualOpensearchResourceRel = relationships.find(r => r.arn === opensearch.arn); - const actualRdsClusterRel = relationships.find(r => r.arn === rdsCluster.arn); - const actualRdsInstanceRel = relationships.find(r => r.arn === rdsInstance.arn); - const actualRedshiftClusterRel = relationships.find(r => r.arn === redshiftCluster.arn); - - assert.deepEqual(actualElasticsearchResourceRel, { - relationshipName: IS_ASSOCIATED_WITH, - arn: elasticsearch.arn, - resourceType: AWS_ELASTICSEARCH_DOMAIN - }); - assert.deepEqual(actualOpensearchResourceRel, { - relationshipName: IS_ASSOCIATED_WITH, - arn: opensearch.arn, - resourceType: AWS_OPENSEARCH_DOMAIN - }); - assert.deepEqual(actualRdsClusterRel, { - relationshipName: IS_ASSOCIATED_WITH, - arn: rdsCluster.arn, - resourceType: AWS_RDS_DB_CLUSTER - }); - assert.deepEqual(actualRdsInstanceRel, { - relationshipName: IS_ASSOCIATED_WITH, - arn: rdsInstance.arn, - resourceType: AWS_RDS_DB_INSTANCE - }); - assert.deepEqual(actualRedshiftClusterRel, { - relationshipName: IS_ASSOCIATED_WITH, - arn: redshiftCluster.arn, - resourceType: AWS_REDSHIFT_CLUSTER - }); - }); - - }); - - describe(AWS_ECS_TASK_DEFINITION, () => { - - it('should not add IAM role relationship for ECS tasks definitions when absent', async () => { - const schema = require('./fixtures/relationships/ecs/taskDefinitions/noRoles.json'); - const {ecsTaskDefinition} = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [ecsTaskDefinition]); - const {relationships} = rels.find(r => r.resourceId === ecsTaskDefinition.resourceId); - - assert.deepEqual(relationships, []); - }); - - it('should add efs file system relationships', async () => { - const schema = require('./fixtures/relationships/ecs/taskDefinitions/efsFs.json'); - const {ecsTaskDefinition, efsFs} = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [ecsTaskDefinition]); - const {relationships} = rels.find(r => r.resourceId === ecsTaskDefinition.resourceId); - const actualEfsFsRel = relationships.find(r => r.resourceId === efsFs.resourceId); - - assert.deepEqual(actualEfsFsRel, { - relationshipName: IS_ASSOCIATED_WITH, - resourceType: AWS_EFS_FILE_SYSTEM, - resourceId: efsFs.resourceId - }); - }); - - it('should add efs access point relationships', async () => { - const schema = require('./fixtures/relationships/ecs/taskDefinitions/efsAp.json'); - const {ecsTaskDefinition, efsAp} = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [ecsTaskDefinition]); - const {relationships} = rels.find(r => r.resourceId === ecsTaskDefinition.resourceId); - const actualEfsApRel = relationships.find(r => r.resourceId === efsAp.resourceId); - - assert.deepEqual(actualEfsApRel, { - relationshipName: IS_ASSOCIATED_WITH, - resourceType: AWS_EFS_ACCESS_POINT, - resourceId: efsAp.resourceId - }); - }); - - it('should ignore relationships for ECS task definitions and non-existent IAM roles', async () => { - const schema = require('./fixtures/relationships/ecs/taskDefinitions/nonexistentRoles.json'); - const {ecsTaskDefinition} = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [ecsTaskDefinition]); - const {relationships} = rels.find(r => r.resourceId === ecsTaskDefinition.resourceId); - - assert.deepEqual(relationships, []); - }); - - it('should add IAM role relationship for ECS tasks definitions if present', async () => { - const schema = require('./fixtures/relationships/ecs/taskDefinitions/roles.json'); - const {ecsTaskRole, ecsTaskExecutionRole, ecsTaskDefinition} = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [ecsTaskRole, ecsTaskExecutionRole, ecsTaskDefinition]); - const {relationships} = rels.find(r => r.resourceId === ecsTaskDefinition.resourceId); - - const actualTaskRoleRel = relationships.find(r => r.resourceName === ecsTaskRole.resourceName); - const actualTaskExecutionRoleRel = relationships.find(r => r.resourceName === ecsTaskExecutionRole.resourceName); - - assert.deepEqual(actualTaskRoleRel, { - relationshipName: IS_ASSOCIATED_WITH + ROLE, - resourceName: ecsTaskRole.resourceName, - resourceType: AWS_IAM_ROLE - }); - assert.deepEqual(actualTaskExecutionRoleRel, { - relationshipName: IS_ASSOCIATED_WITH + ROLE, - resourceName: ecsTaskExecutionRole.resourceName, - resourceType: AWS_IAM_ROLE - }); - }); - - it('should get non-db relationships for tasks with environment variables', async () => { - const schema = require('./fixtures/relationships/ecs/taskDefinitions/envVars.json'); - const { - ecsTaskDefinition, resourceIdResource, resourceNameResource, arnResource - } = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [ - ecsTaskDefinition, resourceIdResource, resourceNameResource, arnResource - ]); - - const {relationships} = rels.find(r => r.resourceId === ecsTaskDefinition.resourceId); - - const actualResourceIdResourceRel = relationships.find(r => r.arn === resourceIdResource.arn); - const actualResourceNameResourceRel = relationships.find(r => r.arn === resourceNameResource.arn); - const actualArnResourceRel = relationships.find(r => r.arn === arnResource.arn); - - assert.deepEqual(actualResourceIdResourceRel, { - relationshipName: IS_ASSOCIATED_WITH, - arn: resourceIdResource.arn, - resourceType: AWS_S3_BUCKET - }); - assert.deepEqual(actualResourceNameResourceRel, { - relationshipName: IS_ASSOCIATED_WITH + ROLE, - arn: resourceNameResource.arn, - resourceType: AWS_IAM_ROLE - }); - assert.deepEqual(actualArnResourceRel, { - relationshipName: IS_ASSOCIATED_WITH, - arn: arnResource.arn, - resourceType: AWS_S3_BUCKET - }); - }); - - it('should get db relationships for tasks with environment variables', async () => { - const schema = require('./fixtures/relationships/ecs/taskDefinitions/dbEnvVars.json'); - const { - elasticsearch, opensearch, rdsCluster, rdsInstance, redshiftCluster, ecsTaskDefinition - } = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [ - elasticsearch, opensearch, rdsCluster, rdsInstance, redshiftCluster, ecsTaskDefinition - ]); - - const {relationships} = rels.find(r => r.arn === ecsTaskDefinition.arn); - const actualElasticsearchResourceRel = relationships.find(r => r.arn === elasticsearch.arn); - const actualOpensearchResourceRel = relationships.find(r => r.arn === opensearch.arn); - const actualRdsClusterRel = relationships.find(r => r.arn === rdsCluster.arn); - const actualRdsInstanceRel = relationships.find(r => r.arn === rdsInstance.arn); - const actualRedshiftClusterRel = relationships.find(r => r.arn === redshiftCluster.arn); - - assert.deepEqual(actualElasticsearchResourceRel, { - relationshipName: IS_ASSOCIATED_WITH, - arn: elasticsearch.arn, - resourceType: AWS_ELASTICSEARCH_DOMAIN - }); - assert.deepEqual(actualOpensearchResourceRel, { - relationshipName: IS_ASSOCIATED_WITH, - arn: opensearch.arn, - resourceType: AWS_OPENSEARCH_DOMAIN - }); - assert.deepEqual(actualRdsClusterRel, { - relationshipName: IS_ASSOCIATED_WITH, - arn: rdsCluster.arn, - resourceType: AWS_RDS_DB_CLUSTER - }); - assert.deepEqual(actualRdsInstanceRel, { - relationshipName: IS_ASSOCIATED_WITH, - arn: rdsInstance.arn, - resourceType: AWS_RDS_DB_INSTANCE - }); - assert.deepEqual(actualRedshiftClusterRel, { - relationshipName: IS_ASSOCIATED_WITH, - arn: redshiftCluster.arn, - resourceType: AWS_REDSHIFT_CLUSTER - }); - }); - - }); - - describe(AWS_EFS_FILE_SYSTEM, () => { - - it('should add KMS key relationship for EFS', async () => { - const schema = require('./fixtures/relationships/efs/kms.json'); - const {efs, kms} = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [kms, efs]); - - const {relationships} = rels.find(r => r.resourceId === efs.resourceId); - const actualKmsRel = relationships.find(r => r.arn === kms.arn); - - assert.deepEqual(actualKmsRel, { - relationshipName: IS_ASSOCIATED_WITH, - arn: kms.arn, - resourceType: AWS_KMS_KEY - }); - }); - - }); - - describe(AWS_EFS_ACCESS_POINT, () => { - - it('should add VPC relationships for KMS key', async () => { - const schema = require('./fixtures/relationships/efs/accessPoint/efs.json'); - const {efs, accessPoint} = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [accessPoint]); - - const {relationships} = rels.find(r => r.resourceId === accessPoint.resourceId); - const actualEfsRel = relationships.find(r => r.resourceId === efs.resourceId); - - assert.deepEqual(actualEfsRel, { - relationshipName: IS_ATTACHED_TO, - resourceId: efs.resourceId, - resourceType: AWS_EFS_FILE_SYSTEM - }); - }); - - }); - - describe(AWS_EKS_CLUSTER, () => { - - it('should add relationships for networking', async () => { - const schema = require('./fixtures/relationships/eks/cluster/networking.json'); - const {vpc, subnet1, subnet2, cluster, clusterRole} = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [ - subnet1, subnet2, cluster, clusterRole - ]); - - const {availabilityZone, relationships} = rels.find(r => r.resourceId === cluster.resourceId); - - assert.strictEqual(availabilityZone, 'eu-west-2a,eu-west-2b'); - - const actualVpcRel = relationships.find(r => r.resourceId === vpc.resourceId); - const actualSubnet1Rel = relationships.find(r => r.resourceId === subnet1.resourceId); - const actualSubnet2Rel = relationships.find(r => r.resourceId === subnet2.resourceId); - - assert.deepEqual(actualVpcRel, { - relationshipName: IS_CONTAINED_IN + VPC, - resourceId: vpc.resourceId, - resourceType: AWS_EC2_VPC - }); - assert.deepEqual(actualSubnet1Rel, { - relationshipName: IS_CONTAINED_IN + SUBNET, - resourceId: subnet1.resourceId, - resourceType: AWS_EC2_SUBNET - }); - assert.deepEqual(actualSubnet2Rel, { - relationshipName: IS_CONTAINED_IN + SUBNET, - resourceId: subnet2.resourceId, - resourceType: AWS_EC2_SUBNET - }); - }); - - it('should add relationships for networking when subnets have not been discovered', async () => { - const schema = require('./fixtures/relationships/eks/cluster/networking.json'); - const {vpc, cluster, clusterRole} = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [ - cluster, clusterRole - ]); - - const {availabilityZone, relationships} = rels.find(r => r.resourceId === cluster.resourceId); - assert.strictEqual(availabilityZone, 'Regional'); - - const actualVpcRel = relationships.find(r => r.resourceId === vpc.resourceId); - - assert.notExists(actualVpcRel); - }); - - it('should add relationships for security groups', async () => { - const schema = require('./fixtures/relationships/eks/cluster/securityGroup.json'); - const {securityGroup, cluster, clusterRole} = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [ - securityGroup, cluster, clusterRole - ]); - - const {relationships} = rels.find(r => r.resourceId === cluster.resourceId); - - const actualSgRel = relationships.find(r => r.resourceId === securityGroup.resourceId); - - assert.deepEqual(actualSgRel, { - relationshipName: IS_ASSOCIATED_WITH + SECURITY_GROUP, - resourceId: securityGroup.resourceId, - resourceType: AWS_EC2_SECURITY_GROUP - }); - }); - - it('should add relationships for IAM roles', async () => { - const schema = require('./fixtures/relationships/eks/cluster/role.json'); - const {cluster, clusterRole} = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [ - cluster, clusterRole - ]); - - const {relationships} = rels.find(r => r.resourceId === cluster.resourceId); - - const actualClusterRoleRel = relationships.find(r => r.arn === clusterRole.arn); - - assert.deepEqual(actualClusterRoleRel, { - relationshipName: IS_ASSOCIATED_WITH + ROLE, - arn: clusterRole.arn, - resourceType: AWS_IAM_ROLE - }); - }); - - }); - - describe(AWS_EKS_NODE_GROUP, () => { - - it('should add relationships for networking', async () => { - const schema = require('./fixtures/relationships/eks/nodeGroup/networking.json'); - const {vpc, subnet1, subnet2, nodeRole, nodeGroup} = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [ - subnet1, subnet2, nodeRole, nodeGroup - ]); - - const {availabilityZone, relationships} = rels.find(r => r.resourceId === nodeGroup.resourceId); - - const actualVpcRel = relationships.find(r => r.resourceId === vpc.resourceId); - const actualSubnet1Rel = relationships.find(r => r.resourceId === subnet1.resourceId); - const actualSubnet2Rel = relationships.find(r => r.resourceId === subnet2.resourceId); - - assert.strictEqual(availabilityZone, 'eu-west-2a,eu-west-2b'); - - assert.deepEqual(actualVpcRel, { - relationshipName: IS_CONTAINED_IN + VPC, - resourceId: vpc.resourceId, - resourceType: AWS_EC2_VPC - }); - assert.deepEqual(actualSubnet1Rel, { - relationshipName: IS_CONTAINED_IN + SUBNET, - resourceId: subnet1.resourceId, - resourceType: AWS_EC2_SUBNET - }); - assert.deepEqual(actualSubnet2Rel, { - relationshipName: IS_CONTAINED_IN + SUBNET, - resourceId: subnet2.resourceId, - resourceType: AWS_EC2_SUBNET - }); - }); - - it('should add relationships for networking when subnets have not been discovered', async () => { - const schema = require('./fixtures/relationships/eks/nodeGroup/networking.json'); - const {vpc, nodeRole, nodeGroup} = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [nodeRole, nodeGroup]); - - const {availabilityZone, relationships} = rels.find(r => r.resourceId === nodeGroup.resourceId); - assert.strictEqual(availabilityZone, 'Regional'); - - const actualVpcRel = relationships.find(r => r.resourceId === vpc.resourceId); - - assert.notExists(actualVpcRel); - }); - - it('should add relationships for security groups with launch template', async () => { - const schema = require('./fixtures/relationships/eks/nodeGroup/securityGroupLT.json'); - const {securityGroup, launchTemplate, nodeRole, nodeGroup} = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [ - nodeGroup, nodeRole - ]); - - const {relationships} = rels.find(r => r.resourceId === nodeGroup.resourceId); - - const actualSgRel = relationships.find(r => r.resourceId === securityGroup.resourceId); - const actualLaunchTemplateRel = relationships.find(r => r.resourceId === launchTemplate.resourceId); - - assert.deepEqual(actualSgRel, { - relationshipName: IS_ASSOCIATED_WITH + SECURITY_GROUP, - resourceId: securityGroup.resourceId, - resourceType: AWS_EC2_SECURITY_GROUP - }); - assert.deepEqual(actualLaunchTemplateRel, { - relationshipName: IS_ASSOCIATED_WITH, - resourceId: launchTemplate.resourceId, - resourceType: AWS_EC2_LAUNCH_TEMPLATE - }); - }); - - it('should add relationships for security groups without launch template', async () => { - const schema = require('./fixtures/relationships/eks/nodeGroup/securityGroup.json'); - const {securityGroup, nodeRole, nodeGroup} = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [ - nodeGroup, nodeRole - ]); - - const {relationships} = rels.find(r => r.resourceId === nodeGroup.resourceId); - - const actualSgRel = relationships.find(r => r.resourceId === securityGroup.resourceId); - - assert.deepEqual(actualSgRel, { - relationshipName: IS_ASSOCIATED_WITH + SECURITY_GROUP, - resourceId: securityGroup.resourceId, - resourceType: AWS_EC2_SECURITY_GROUP - }); - }); - - it('should add relationships with autoscaling groups', async () => { - const schema = require('./fixtures/relationships/eks/nodeGroup/asg.json'); - const {asg, nodeRole, nodeGroup} = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [ - nodeGroup, nodeRole, asg - ]); - - const {relationships} = rels.find(r => r.resourceId === nodeGroup.resourceId); - - const actualAsgRel = relationships.find(r => r.resourceId === asg.resourceId); - - assert.deepEqual(actualAsgRel, { - relationshipName: IS_ASSOCIATED_WITH, - resourceId: asg.resourceId, - resourceType: AWS_AUTOSCALING_AUTOSCALING_GROUP - }); - }); - - it('should add relationships for IAM role', async () => { - const schema = require('./fixtures/relationships/eks/nodeGroup/role.json'); - const {nodeRole, nodeGroup} = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [ - nodeGroup, nodeRole - ]); - - const {relationships} = rels.find(r => r.resourceId === nodeGroup.resourceId); - - const actualNodeRole = relationships.find(r => r.arn === nodeRole.arn); - - assert.deepEqual(actualNodeRole, { - relationshipName: IS_ASSOCIATED_WITH + ROLE, - arn: nodeRole.arn, - resourceType: AWS_IAM_ROLE - }); - }); - - }); - - describe(AWS_MSK_CLUSTER, () => { - - it('should add relationships for networking', async () => { - const schema = require('./fixtures/relationships/msk/serverful.json'); - const {vpc, subnet1, subnet2, securityGroup, cluster} = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [ - subnet1, subnet2, cluster - ]); - - const {availabilityZone, relationships} = rels.find(r => r.resourceId === cluster.resourceId); - - assert.strictEqual(availabilityZone, 'eu-west-2a,eu-west-2b') - - const actualVpcRel = relationships.find(r => r.resourceId === vpc.resourceId); - const actualSubnet1Rel = relationships.find(r => r.resourceId === subnet1.resourceId); - const actualSubnet2Rel = relationships.find(r => r.resourceId === subnet2.resourceId); - const actualSecurityGroupRel = relationships.find(r => r.resourceId === securityGroup.resourceId); - - assert.deepEqual(actualVpcRel, { - relationshipName: IS_CONTAINED_IN + VPC, - resourceId: vpc.resourceId, - resourceType: AWS_EC2_VPC - }); - assert.deepEqual(actualSubnet1Rel, { - relationshipName: IS_CONTAINED_IN + SUBNET, - resourceId: subnet1.resourceId, - resourceType: AWS_EC2_SUBNET - }); - assert.deepEqual(actualSubnet2Rel, { - relationshipName: IS_CONTAINED_IN + SUBNET, - resourceId: subnet2.resourceId, - resourceType: AWS_EC2_SUBNET - }); - assert.deepEqual(actualSecurityGroupRel, { - relationshipName: IS_ASSOCIATED_WITH + SECURITY_GROUP, - resourceId: securityGroup.resourceId, - resourceType: AWS_EC2_SECURITY_GROUP - }); - }); - - it('should handle relationships for networking when subnets have not been discovered', async () => { - const schema = require('./fixtures/relationships/msk/serverful.json'); - const {vpc, cluster} = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [cluster]); - - const {availabilityZone, relationships} = rels.find(r => r.resourceId === cluster.resourceId); - assert.strictEqual(availabilityZone, 'Regional') - - const actualVpcRel = relationships.find(r => r.resourceId === vpc.resourceId); - - assert.notExists(actualVpcRel); - - }); - - }); - - describe(AWS_ELASTIC_LOAD_BALANCING_LOADBALANCER, () => { - - it('should not add relationships between elb and ec2 instances if not present', async () => { - const schema = require('./fixtures/relationships/loadBalancer/elb/instances.json'); - const {elb} = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [elb]); - const {relationships} = rels.find(r => r.resourceId === elb.resourceId); - - assert.deepEqual(relationships, []); - }); - - it('should add relationships between elb and ec2 instances if present', async () => { - const schema = require('./fixtures/relationships/loadBalancer/elb/instances.json'); - const {ec2Instance1, ec2Instance2, elb} = generate(schema); - - const mockAwsClient = { - ...defaultMockAwsClient, - createElbClient() { - return { - getLoadBalancerInstances: async arn => [ec2Instance1.resourceId, ec2Instance2.resourceId] - } - } - }; - - const rels = await addAdditionalRelationships(mockAwsClient, [elb]); - const {relationships} = rels.find(r => r.resourceId === elb.resourceId); - - assert.deepEqual(relationships, [ - { - relationshipName: IS_ASSOCIATED_WITH + INSTANCE, - resourceId: ec2Instance1.resourceId, - resourceType: AWS_EC2_INSTANCE - }, { - relationshipName: IS_ASSOCIATED_WITH + INSTANCE, - resourceId: ec2Instance2.resourceId, - resourceType: AWS_EC2_INSTANCE - } - ]); - }); - - }); - - describe(AWS_ELASTIC_LOAD_BALANCING_V2_TARGET_GROUP, () => { - - it('should add relationships with autoscaling groups', async () => { - const schema = require('./fixtures/relationships/loadBalancer/alb/targetGroup/asg.json'); - const {ec2Instance1, ec2Instance2, asg, targetGroup} = generate(schema); - - const mockAwsClient = { - ...defaultMockAwsClient, - createElbV2Client() { - return { - describeTargetHealth: async arn => [ - {Target: {Id: ec2Instance1.resourceId}}, - {Target: {Id: ec2Instance2.resourceId}} - ] - } - } - }; - - const rels = await addAdditionalRelationships(mockAwsClient, [ - targetGroup, asg - ]); - - const {relationships} = rels.find(r => r.resourceId === targetGroup.resourceId); - - const actualAsgRel = relationships.find(r => r.resourceId === asg.resourceId); - - assert.deepEqual(relationships.filter(x => x.resourceType === AWS_EC2_INSTANCE), []); - assert.deepEqual(actualAsgRel, { - relationshipName: IS_ASSOCIATED_WITH, - resourceId: asg.resourceId, - resourceType: AWS_AUTOSCALING_AUTOSCALING_GROUP - }); - }); - - it('should add relationships for ec2 instances not in autoscaling groups', async () => { - const schema = require('./fixtures/relationships/loadBalancer/alb/targetGroup/asgAndInstances.json'); - const {ec2Instance1, ec2Instance2, asg, targetGroup} = generate(schema); - - const mockAwsClient = { - ...defaultMockAwsClient, - createElbV2Client() { - return { - describeTargetHealth: async arn => [ - {Target: {Id: ec2Instance1.resourceId}}, - {Target: {Id: ec2Instance2.resourceId}} - ] - } - } - }; - - const rels = await addAdditionalRelationships(mockAwsClient, [ - targetGroup, asg - ]); - - const {relationships} = rels.find(r => r.resourceId === targetGroup.resourceId); - - const actualAsgRel = relationships.find(r => r.resourceId === asg.resourceId); - const actualEc2Rel = relationships.find(r => r.resourceId === ec2Instance2.resourceId); - - assert.strictEqual(relationships.filter(x => x.resourceType === AWS_EC2_INSTANCE).length, 1); - assert.deepEqual(actualAsgRel, { - relationshipName: IS_ASSOCIATED_WITH, - resourceId: asg.resourceId, - resourceType: AWS_AUTOSCALING_AUTOSCALING_GROUP - }); - assert.deepEqual(actualEc2Rel, { - relationshipName: IS_ASSOCIATED_WITH + INSTANCE, - resourceId: actualEc2Rel.resourceId, - resourceType: AWS_EC2_INSTANCE - }); - }); - - it('should add relationships with lambda functions', async () => { - const schema = require('./fixtures/relationships/loadBalancer/alb/targetGroup/lambda.json'); - const {lambda, targetGroup} = generate(schema); - - const mockAwsClient = { - ...defaultMockAwsClient, - createElbV2Client() { - return { - describeTargetHealth: async arn => [ - {Target: {Id: lambda.arn}} - ] - } - } - }; - - const rels = await addAdditionalRelationships(mockAwsClient, [ - targetGroup, lambda - ]); - - const {relationships} = rels.find(r => r.resourceId === targetGroup.resourceId); - - const actualLambdaRel = relationships.find(r => r.arn === lambda.arn); - - assert.deepEqual(actualLambdaRel, { - relationshipName: IS_ASSOCIATED_WITH, - arn: lambda.arn - }); - }); - - it('should add relationship with VPC', async () => { - const schema = require('./fixtures/relationships/loadBalancer/alb/targetGroup/vpc.json'); - const {vpc, targetGroup} = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [ - targetGroup - ]); - - const {relationships} = rels.find(r => r.resourceId === targetGroup.resourceId); - - const actualVpcRel = relationships.find(r => r.resourceId === vpc.resourceId); - - assert.deepEqual(actualVpcRel, { - relationshipName: IS_CONTAINED_IN + VPC, - resourceId: vpc.resourceId, - resourceType: AWS_EC2_VPC - }); - }); - - }); - - describe(AWS_ELASTIC_LOAD_BALANCING_V2_LISTENER, () => { - - it('should add relationship between listeners and single target group', async () => { - const schema = require('./fixtures/relationships/loadBalancer/alb/listeners/singleTargetGroup.json'); - const {alb, targetGroup, listener} = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [listener]); - - const {relationships} = rels.find(r => r.resourceType === AWS_ELASTIC_LOAD_BALANCING_V2_LISTENER); - - const actualTgRel = relationships.find(r => r.resourceType === AWS_ELASTIC_LOAD_BALANCING_V2_TARGET_GROUP); - const actualAlbRel = relationships.find(r => r.resourceType === AWS_ELASTIC_LOAD_BALANCING_V2_LOADBALANCER); - - assert.deepEqual(actualTgRel, { - relationshipName: IS_ASSOCIATED_WITH, - resourceId: targetGroup.resourceId, - resourceType: AWS_ELASTIC_LOAD_BALANCING_V2_TARGET_GROUP - }); - assert.deepEqual(actualAlbRel, { - relationshipName: IS_ASSOCIATED_WITH, - resourceId: alb.resourceId, - resourceType: AWS_ELASTIC_LOAD_BALANCING_V2_LOADBALANCER - }); - }); - - it('should add relationship between listeners and multiple target groups', async () => { - const schema = require('./fixtures/relationships/loadBalancer/alb/listeners/multipleTargetGroups.json'); - const {targetGroup1, targetGroup2, listener} = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [listener]); - - const {relationships} = rels.find(r => r.resourceType === AWS_ELASTIC_LOAD_BALANCING_V2_LISTENER); - - const actualTgRel1 = relationships.find(r => r.resourceId === targetGroup1.resourceId); - const actualTgRel2 = relationships.find(r => r.resourceId === targetGroup2.resourceId); - - assert.deepEqual(actualTgRel1, { - relationshipName: IS_ASSOCIATED_WITH, - resourceId: targetGroup1.resourceId, - resourceType: AWS_ELASTIC_LOAD_BALANCING_V2_TARGET_GROUP - }); - assert.deepEqual(actualTgRel2, { - relationshipName: IS_ASSOCIATED_WITH, - resourceId: targetGroup2.resourceId, - resourceType: AWS_ELASTIC_LOAD_BALANCING_V2_TARGET_GROUP - }); - }); - - it('should add relationship between listeners and cognito user pools', async () => { - const schema = require('./fixtures/relationships/loadBalancer/alb/listeners/cognito.json'); - const {userPool, listener} = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [listener]); - - const {relationships} = rels.find(r => r.resourceType === AWS_ELASTIC_LOAD_BALANCING_V2_LISTENER); - - const actualTgRel = relationships.find(r => r.resourceType === AWS_COGNITO_USER_POOL); - - assert.deepEqual(actualTgRel, { - relationshipName: IS_ASSOCIATED_WITH, - resourceId: userPool.resourceId, - resourceType: AWS_COGNITO_USER_POOL - }); - }); - - }); - - describe(AWS_IAM_ROLE, () => { - - it('should add relationships for managed policies', async () => { - const schema = require('./fixtures/relationships/iam/role/managedPolices.json'); - const {role, managedRole} = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [role, managedRole]); - - const {relationships} = rels.find(r => r.resourceId === role.resourceId); - const actualManagedRoleRel = relationships.find(r => r.arn === managedRole.arn); - - assert.deepEqual(actualManagedRoleRel, { - relationshipName: IS_ATTACHED_TO, - arn: managedRole.arn, - resourceType: AWS_IAM_AWS_MANAGED_POLICY - }); - }); - - }); - - describe(AWS_IAM_INLINE_POLICY, () => { - - it('should parse multiple statements', async () => { - const schema = require('./fixtures/relationships/iam/inlinePolicy/multipleStatement.json'); - const {policy, s3Bucket1, s3Bucket2} = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [policy, s3Bucket1, s3Bucket2]); - const {relationships} = rels.find(r => r.resourceId === policy.resourceId); - - const actualBucket1 = relationships.find(r => r.arn === s3Bucket1.arn); - const actualBucket2 = relationships.find(r => r.arn === s3Bucket2.arn); - - assert.deepEqual(actualBucket1, { - relationshipName: IS_ATTACHED_TO, - arn: s3Bucket1.arn, - resourceType: AWS_S3_BUCKET - }); - assert.deepEqual(actualBucket2, { - relationshipName: IS_ATTACHED_TO, - arn: s3Bucket2.arn, - resourceType: AWS_S3_BUCKET - }); - }); - - }); - - describe(AWS_IAM_USER, () => { - - it('should add relationships for managed policies', async () => { - const schema = require('./fixtures/relationships/iam/user/managedPolicy.json'); - const {user, managedRole} = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [user, managedRole]); - - const {relationships} = rels.find(r => r.resourceId === user.resourceId); - const actualManagedRoleRel = relationships.find(r => r.arn === managedRole.arn); - - assert.deepEqual(actualManagedRoleRel, { - relationshipName: IS_ATTACHED_TO, - arn: managedRole.arn, - resourceType: AWS_IAM_AWS_MANAGED_POLICY - }); - }); - - }); - - describe(AWS_RDS_DB_INSTANCE, () => { - - it('should add VPC relationships for RDS DB instances', async () => { - const schema = require('./fixtures/relationships/rds/instance/vpc.json'); - const {dbInstance, $constants} = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [dbInstance]); - - const actual = rels[0]; - const actualSubnet1Rel = actual.relationships.find(r => r.resourceId === $constants.subnet1); - const actualVpcRel = actual.relationships.find(r => r.resourceId === $constants.vpcId); - - assert.strictEqual(dbInstance.vpcId, $constants.vpcId); - - assert.deepEqual(actualSubnet1Rel, { - relationshipName: IS_CONTAINED_IN + SUBNET, - resourceId: $constants.subnet1, - resourceType: AWS_EC2_SUBNET - }); - assert.deepEqual(actualVpcRel, { - relationshipName: IS_CONTAINED_IN + VPC, - resourceId: $constants.vpcId, - resourceType: AWS_EC2_VPC - }); - }); - - }); - - describe(AWS_EC2_SPOT_FLEET, () => { - - it('should not add relationships when no load balancers config present', async () => { - const schema = require('./fixtures/relationships/ec2/spotfleet/noLb.json'); - const {spotFleet} = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [spotFleet]); - - const {relationships} = rels.find(r => r.resourceType === AWS_EC2_SPOT_FLEET); - - assert.deepEqual(relationships, []); - }); - - it('should add relationship between ELBs and spot fleets', async () => { - const schema = require('./fixtures/relationships/ec2/spotfleet/elb.json'); - const {elb, spotFleet} = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [spotFleet]); - - const {relationships} = rels.find(r => r.resourceType === AWS_EC2_SPOT_FLEET); - - const actualTgRel = relationships.find(r => r.resourceType === AWS_ELASTIC_LOAD_BALANCING_LOADBALANCER); - - assert.deepEqual(actualTgRel, { - relationshipName: IS_ASSOCIATED_WITH, - resourceId: elb.resourceId, - resourceType: AWS_ELASTIC_LOAD_BALANCING_LOADBALANCER, - awsRegion: elb.awsRegion - }); - }); - - it('should add relationship between ALBs and spot fleets', async () => { - const schema = require('./fixtures/relationships/ec2/spotfleet/alb.json'); - const {targetGroup, spotFleet} = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [targetGroup, spotFleet]); - - const {relationships} = rels.find(r => r.resourceType === AWS_EC2_SPOT_FLEET); - - const actualTgRel = relationships.find(r => r.resourceType === AWS_ELASTIC_LOAD_BALANCING_V2_TARGET_GROUP); - - assert.deepEqual(actualTgRel, { - relationshipName: IS_ASSOCIATED_WITH, - resourceId: targetGroup.resourceId, - resourceType: AWS_ELASTIC_LOAD_BALANCING_V2_TARGET_GROUP - }); - }); - - }); - - describe(AWS_SNS_TOPIC, () => { - - it('should ignore relationships to undiscovered resources', async () => { - const schema = require('./fixtures/relationships/sns/lambda/undiscovered.json'); - const {snsTopic} = generate(schema); - - const mockAwsClient = { - ...defaultMockAwsClient, - createSnsClient(_, region) { - return { - async getAllSubscriptions() { - return region === snsTopic.awsRegion ? [{ - TopicArn: snsTopic.arn, Endpoint: 'undiscoveredArn' - }] : [] - } - } - } - }; - - const rels = await addAdditionalRelationships(mockAwsClient, [snsTopic]); - - const {relationships} = rels.find(r => r.resourceType === AWS_SNS_TOPIC); - - assert.deepEqual(relationships, []); - }); - - it('should add additional relationships to Lambda functions', async () => { - const schema = require('./fixtures/relationships/sns/lambda/sameRegion.json'); - const {snsTopic, lambda} = generate(schema); - - const mockAwsClient = { - ...defaultMockAwsClient, - createSnsClient(_, region) { - return { - async getAllSubscriptions() { - return region === snsTopic.awsRegion ? [{ - TopicArn: snsTopic.arn, Endpoint: lambda.arn - }] : [] - } - } - } - }; - - const rels = await addAdditionalRelationships(mockAwsClient, [snsTopic, lambda]); - - const {relationships} = rels.find(r => r.resourceType === AWS_SNS_TOPIC); - const actualLambdaRel = relationships.find(r => r.arn === lambda.arn); - - assert.deepEqual(actualLambdaRel, { - arn: lambda.arn, - resourceType: AWS_LAMBDA_FUNCTION, - relationshipName: IS_ASSOCIATED_WITH - }); - }); - - it('should add additional relationships to SQS queues', async () => { - const schema = require('./fixtures/relationships/sns/sqs/differentRegion.json'); - const {snsTopic, sqs} = generate(schema); - - const mockAwsClient = { - ...defaultMockAwsClient, - createSnsClient(_, region) { - return { - async getAllSubscriptions() { - return region === snsTopic.awsRegion ? [{ - TopicArn: snsTopic.arn, Endpoint: sqs.arn - }] : [] - } - } - } - }; - - const rels = await addAdditionalRelationships(mockAwsClient, [snsTopic, sqs]); - - const {relationships} = rels.find(r => r.resourceType === AWS_SNS_TOPIC); - const actualSqsRel = relationships.find(r => r.arn === sqs.arn); - - assert.deepEqual(actualSqsRel, { - arn: sqs.arn, - resourceType: AWS_SQS_QUEUE, - relationshipName: IS_ASSOCIATED_WITH - }); - }); - - }); - - describe(AWS_CODEBUILD_PROJECT, () => { - - it('should add relationship to service role', async () => { - const schema = require('./fixtures/relationships/codebuild/project/role.json'); - const {serviceRole, project} = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [serviceRole, project]); - - const {relationships} = rels.find(r => r.resourceId === project.resourceId); - const actualRoleRel = relationships.find(r => r.arn === serviceRole.arn); - - assert.deepEqual(actualRoleRel, { - relationshipName: IS_ASSOCIATED_WITH + ROLE, - arn: serviceRole.arn, - resourceType: AWS_IAM_ROLE - }) - }); - - it('should add VPC relationships for CodeBuild projects', async () => { - const schema = require('./fixtures/relationships/codebuild/project/vpc.json'); - const {vpc, subnet1, subnet2, securityGroup, project} = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [subnet1, subnet2, project]); - - const actual = rels.find(r => r.resourceId === project.resourceId); - const actualVpcRel = actual.relationships.find(r => r.resourceId === vpc.resourceId); - const actualSubnet1Rel = actual.relationships.find(r => r.resourceId === subnet1.resourceId); - const actualSubnet2Rel = actual.relationships.find(r => r.resourceId === subnet2.resourceId); - const actualSecurityGroupRel = actual.relationships.find(r => r.resourceId === securityGroup.resourceId); - - assert.strictEqual(actual.availabilityZone, `${subnet1.availabilityZone},${subnet2.availabilityZone}`); - - assert.deepEqual(actualVpcRel, { - relationshipName: IS_CONTAINED_IN + VPC, - resourceId: vpc.resourceId, - resourceType: AWS_EC2_VPC - }); - assert.deepEqual(actualSubnet1Rel, { - relationshipName: IS_CONTAINED_IN + SUBNET, - resourceId: subnet1.resourceId, - resourceType: AWS_EC2_SUBNET - }); - assert.deepEqual(actualSubnet2Rel, { - relationshipName: IS_CONTAINED_IN + SUBNET, - resourceId: subnet2.resourceId, - resourceType: AWS_EC2_SUBNET - }); - assert.deepEqual(actualSecurityGroupRel, { - relationshipName: IS_ASSOCIATED_WITH, - resourceId: securityGroup.resourceId, - resourceType: AWS_EC2_SECURITY_GROUP - }) - }); - - }); - - describe(AWS_OPENSEARCH_DOMAIN, () => { - - it('should add VPC relationships for OpenSearch domains', async () => { - const schema = require('./fixtures/relationships/opensearch/domain/vpc.json'); - const {vpc, subnet1, subnet2, securityGroup, domain} = generate(schema); - - const rels = await addAdditionalRelationships(defaultMockAwsClient, [domain]); - - const actual = rels.find(r => r.resourceId === domain.resourceId); - const actualVpcRel = actual.relationships.find(r => r.resourceId === vpc.resourceId); - const actualSubnet1Rel = actual.relationships.find(r => r.resourceId === subnet1.resourceId); - const actualSubnet2Rel = actual.relationships.find(r => r.resourceId === subnet2.resourceId); - const actualSg = actual.relationships.find(r => r.resourceId === securityGroup.resourceId); - - assert.strictEqual(actual.availabilityZone, 'eu-west-2a,eu-west-2b'); - - assert.deepEqual(actualVpcRel, { - relationshipName: IS_CONTAINED_IN + VPC, - resourceId: vpc.resourceId, - resourceType: AWS_EC2_VPC - }); - assert.deepEqual(actualSubnet1Rel, { - relationshipName: IS_CONTAINED_IN + SUBNET, - resourceId: subnet1.resourceId, - resourceType: AWS_EC2_SUBNET - }); - assert.deepEqual(actualSubnet2Rel, { - relationshipName: IS_CONTAINED_IN + SUBNET, - resourceId: subnet2.resourceId, - resourceType: AWS_EC2_SUBNET - }); - assert.deepEqual(actualSg, { - relationshipName: IS_ASSOCIATED_WITH, - resourceId: securityGroup.resourceId, - resourceType: AWS_EC2_SECURITY_GROUP - }); - }); - - }); - - }); - -}); \ No newline at end of file diff --git a/source/backend/discovery/test/apiClient/index.js b/source/backend/discovery/test/apiClient/index.js deleted file mode 100644 index 73ef9ae9..00000000 --- a/source/backend/discovery/test/apiClient/index.js +++ /dev/null @@ -1,566 +0,0 @@ -// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 - -const {assert} = require('chai'); -const sinon = require('sinon'); -const createAppSync = require('../../src/lib/apiClient/appSync'); -const {createApiClient} = require('../../src/lib/apiClient'); -const {setGlobalDispatcher, getGlobalDispatcher} = require('undici'); -const {createSuccessThenError} = require('../mocks/agents/utils'); -const ConnectionClosedAgent = require('../mocks/agents/ConnectionClosed'); -const GetAccountsSelfManaged = require('../mocks/agents/GetAccountsSelfManaged'); -const GetAccountsOrgsEmpty = require('../mocks/agents/GetAccountsOrgsEmpty'); -const GetAccountsOrgsLastCrawled = require('../mocks/agents/GetAccountsOrgsLastCrawled'); -const GetAccountsOrgsDeleted = require('../mocks/agents/GetAccountsOrgsDeleted'); -const GetDbResourcesMapPagination = require('../mocks/agents/GetDbResourcesMapPagination'); -const GetDbRelationshipsMapPagination = require('../mocks/agents/GetDbRelationshipsMapPagination'); -const GenericError = require('../mocks/agents/GenericError'); -const { - CONTAINS, - AWS_LAMBDA_FUNCTION, - FUNCTION_RESPONSE_SIZE_TOO_LARGE, ACCESS_DENIED -} = require("../../src/lib/constants"); -const {generateBaseResource} = require("../generator"); -const {initialise} = require("../../src/lib/intialisation"); - -const ACCOUNT_X = 'xxxxxxxxxxxx'; -const ACCOUNT_Y = 'yyyyyyyyyyyy'; -const ACCOUNT_Z = 'zzzzzzzzzzzz'; -const EU_WEST_1= 'eu-west-1'; -const US_EAST_1= 'us-east-1'; - -describe('index.js', () => { - - let globalDispatcher = null; - before(() => { - globalDispatcher = getGlobalDispatcher(); - }); - - const defaultMockAwsClient = { - createEc2Client() { - return { - async getAllRegions() { - return [] - } - }; - }, - createConfigServiceClient() { - return {} - }, - createOrganizationsClient() { - return { - async getAllAccounts() { - return [] - }, - async getRootAccount() { - return { - Arn: `arn:aws:organizations::${ACCOUNT_X}:account/o-exampleorgid/:${ACCOUNT_X}` - } - } - } - }, - createStsClient() { - return { - getCredentials: async role => {} - } - } - }; - - const defaultConfig = { - isUsingOrganizations: false, - rootAccountId: ACCOUNT_X - }; - - const appSync = createAppSync({graphgQlUrl: 'https://www.workload-discovery/graphql'}); - const apiClient = createApiClient(defaultMockAwsClient, appSync, defaultConfig); - - describe('error', () => { - - it('should recover from premature connection closed error', async () => { - - setGlobalDispatcher(ConnectionClosedAgent) - const actual = await apiClient.storeRelationships({concurrency:10, batchSize:10}, [{ - source: 'sourceArn', - target: 'targetArn', - label: CONTAINS - }]); - assert.deepEqual(actual, { - errors: [], - results: [ - [] - ] - }); - }); - - }); - - describe('getDbResourcesMap', () => { - - it('should page through server results', async () => { - - setGlobalDispatcher(GetDbResourcesMapPagination) - const actual = await apiClient.getDbResourcesMap(); - assert.deepEqual(actual, new Map([['arn1', { - id: 'arn1', - label: 'label', - md5Hash: '', - properties: { - id: 'arn1', - resourceId: 'resourceId1', - resourceName: 'resourceName1', - resourceType: 'AWS::Lambda::Function', - accountId: 'xxxxxxxxxxxx', - arn: 'arn1', - awsRegion: 'eu-west-1', - relationships: [], - tags: [], - configuration: { - a: 1 - } - } - }]])); - }); - - it('should handle resource to large errors', async () => { - const resources = [1,2].map(i => { - const properties = generateBaseResource('xxxxxxxxxxxx', 'eu-west-1', AWS_LAMBDA_FUNCTION, i); - return {id: properties.id, label: 'label', md5Hash: '', properties}; - }) - - const appSync = createAppSync({graphgQlUrl: 'https://www.workload-discovery/graphql'}); - const mockGetResources = sinon.stub(); - - mockGetResources - .withArgs({pagination: {start: 0, end: 1000}}) - .rejects(new Error(FUNCTION_RESPONSE_SIZE_TOO_LARGE)) - .withArgs({pagination: {start: 0, end: 500}}) - .rejects(new Error(FUNCTION_RESPONSE_SIZE_TOO_LARGE)) - .withArgs({pagination: {start: 0, end: 250}}) - .resolves([resources[0]]) - .withArgs({pagination: {start: 250, end: 1250}}) - .rejects(new Error(FUNCTION_RESPONSE_SIZE_TOO_LARGE)) - .withArgs({pagination: {start: 250, end: 750}}) - .resolves([resources[1]]) - .withArgs({pagination: {start: 750, end: 1750}}) - .resolves([]); - - const apiClient = createApiClient(defaultMockAwsClient, {...appSync, getResources: mockGetResources}, defaultConfig); - - const actual = await apiClient.getDbResourcesMap(); - - assert.deepEqual(actual, new Map(resources.map(resource => [resource.id, resource]))); - }); - - }); - - describe('getDbRelationshipsMap', () => { - - it('should page through server results', async () => { - - setGlobalDispatcher(GetDbRelationshipsMapPagination) - const actual = await apiClient.getDbRelationshipsMap(); - assert.deepEqual(actual, new Map([['sourceArn_Contains _targetArn', { - id: 'testId', - source: 'sourceArn', - target: 'targetArn', - label: CONTAINS - }]])); - }); - - }); - - describe('storeResources', () => { - - it('should handle errors in first db write', async () => { - setGlobalDispatcher(GenericError); - const actual = await apiClient.storeResources({concurrency:10, batchSize:10}, [{}]); - assert.strictEqual(actual.errors[0].message, "[{\"message\":\"Validation error\"}]"); - }); - - it('should handle errors in second db write', async () => { - setGlobalDispatcher(createSuccessThenError({ - data: { - storeResources: [] - } - }, "Validation error")); - const actual = await apiClient.storeResources({concurrency:10, batchSize:10}, [{}]); - assert.strictEqual(actual.errors[0].message, "[{\"message\":\"Validation error\"}]"); - }); - - }); - - describe('deleteResources', () => { - - it('should handle errors in first db write', async () => { - setGlobalDispatcher(GenericError); - const actual = await apiClient.deleteResources({concurrency:10, batchSize:10}, [{}]); - assert.strictEqual(actual.errors[0].message, "[{\"message\":\"Validation error\"}]"); - }); - - it('should handle errors in second db write', async () => { - setGlobalDispatcher(createSuccessThenError({ - data: { - deleteResources: [] - } - }, "Validation error")); - const actual = await apiClient.deleteResources({concurrency:10, batchSize:10}, [{}]); - assert.strictEqual(actual.errors[0].message, "[{\"message\":\"Validation error\"}]"); - }); - - }); - - describe('updateResources', () => { - - it('should handle errors in first db write', async () => { - setGlobalDispatcher(GenericError); - const actual = await apiClient.updateResources({concurrency:10, batchSize:10}, [{}]); - assert.strictEqual(actual.errors[0].message, "[{\"message\":\"Validation error\"}]"); - }); - - it('should handle errors in second db write', async () => { - setGlobalDispatcher(createSuccessThenError({ - data: { - updateResources: [] - } - }, "Validation error")); - const actual = await apiClient.updateResources({concurrency: 10, batchSize: 10}, [{}]); - assert.strictEqual(actual.errors[0].message, "[{\"message\":\"Validation error\"}]"); - }); - - }); - - describe('deleteRelationships', () => { - - it('should handle errors', async () => { - setGlobalDispatcher(GenericError); - const actual = await apiClient.deleteRelationships({concurrency:10, batchSize:10}, [{}]); - assert.strictEqual(actual.errors[0].message, "[{\"message\":\"Validation error\"}]"); - }); - - }); - - describe('updateAccountsCrawledTime', () => { - - it('should handle errors', async () => { - setGlobalDispatcher(GenericError); - const actual = await apiClient.updateCrawledAccounts(['xxxxxxxxxxxx']); - assert.strictEqual(actual.errors[0].message, "[{\"message\":\"Validation error\"}]"); - }); - - }); - - describe('getAccounts', () => { - - it('should mark accounts that do not have the discovery role', async () => { - setGlobalDispatcher(GetAccountsSelfManaged); - - const mockAwsClient = { - createStsClient() { - const accessError = new Error(); - accessError.Code = ACCESS_DENIED; - - return { - getCredentials: sinon.stub() - .onFirstCall().rejects(accessError) - .onSecondCall().resolves({accessKeyId: 'accessKeyId', secretAccessKey: 'secretAccessKey', sessionToken: 'sessionToken'}) - } - } - }; - - - const client = createApiClient({...defaultMockAwsClient, ...mockAwsClient}, appSync, defaultConfig); - - const accounts = await client.getAccounts(); - - const accX = accounts.find(x => x.accountId === ACCOUNT_X); - const accY = accounts.find(x => x.accountId === ACCOUNT_Y); - - assert.isFalse(accX.isIamRoleDeployed); - assert.isTrue(accY.isIamRoleDeployed); - }); - - it('should retrieve accounts when not in AWS Organization', async () => { - setGlobalDispatcher(GetAccountsSelfManaged); - - const mockAwsClient = { - createStsClient() { - return { - getCredentials: sinon.stub() - .onFirstCall().resolves({accessKeyId: 'accessKeyIdX', secretAccessKey: 'secretAccessKeyX', sessionToken: 'sessionTokenX'}) - .onSecondCall().resolves({accessKeyId: 'accessKeyIdY', secretAccessKey: 'secretAccessKeyY', sessionToken: 'sessionTokenY'}) - } - }, - createEc2Client() { - return { - async getAllRegions() { - return [{name: EU_WEST_1}, {name: US_EAST_1}] - } - }; - } - }; - - const client = createApiClient({...defaultMockAwsClient, ...mockAwsClient}, appSync, { - ...defaultConfig, isUsingOrganizations: false}); - - const accounts = await client.getAccounts(); - - const accX = accounts.find(x => x.accountId === ACCOUNT_X); - const accY = accounts.find(x => x.accountId === ACCOUNT_Y); - - assert.deepEqual(accX, { - accountId: ACCOUNT_X, - credentials: { - accessKeyId: 'accessKeyIdX', - secretAccessKey: 'secretAccessKeyX', - sessionToken: 'sessionTokenX', - }, - name: 'Account X', - isIamRoleDeployed: true, - regions: [ - EU_WEST_1, - US_EAST_1 - ] - }); - assert.deepEqual(accY, { - accountId: ACCOUNT_Y, - credentials: { - accessKeyId: 'accessKeyIdY', - secretAccessKey: 'secretAccessKeyY', - sessionToken: 'sessionTokenY', - }, - name: 'Account Y', - isIamRoleDeployed: true, - regions: [ - EU_WEST_1 - ] - }); - - }); - - it('should retrieve accounts from AWS Organizations', async () => { - setGlobalDispatcher(GetAccountsOrgsEmpty); - - const mockAwsClient = { - createStsClient() { - return { - getCredentials: sinon.stub() - .onFirstCall().resolves({accessKeyId: 'accessKeyIdX', secretAccessKey: 'secretAccessKeyX', sessionToken: 'sessionTokenX'}) - .onSecondCall().resolves({accessKeyId: 'accessKeyIdY', secretAccessKey: 'secretAccessKeyY', sessionToken: 'sessionTokenY'}) - } - }, - createConfigServiceClient() { - return { - async getConfigAggregator() { - return { - OrganizationAggregationSource: { - AllAwsRegions: true - } - }; - } - } - }, - createEc2Client() { - return { - async getAllRegions() { - return [{name: EU_WEST_1}, {name: US_EAST_1}] - } - }; - }, - createOrganizationsClient() { - return { - async getAllActiveAccountsFromParent() { - return [ - {Id: ACCOUNT_X, Name: 'Account X', isManagementAccount: true, Arn: `arn:aws:organizations::${ACCOUNT_X}:account/o-exampleorgid/:${ACCOUNT_X}`}, - {Id: ACCOUNT_Y, Name: 'Account Y', Arn: `arn:aws:organizations:::${ACCOUNT_Y}:account/o-exampleorgid/:${ACCOUNT_Y}`} - ] - } - } - } - }; - - const client = createApiClient({...defaultMockAwsClient, ...mockAwsClient}, appSync, { - ...defaultConfig, isUsingOrganizations: true}); - - const accounts = await client.getAccounts(); - - const accX = accounts.find(x => x.accountId === ACCOUNT_X); - const accY = accounts.find(x => x.accountId === ACCOUNT_Y); - - assert.deepEqual(accX, { - accountId: ACCOUNT_X, - credentials: { - accessKeyId: 'accessKeyIdX', - secretAccessKey: 'secretAccessKeyX', - sessionToken: 'sessionTokenX', - }, - name: 'Account X', - organizationId: 'o-exampleorgid', - isIamRoleDeployed: true, - isManagementAccount: true, - regions: [ - EU_WEST_1, - US_EAST_1 - ], - toDelete: false - }); - - assert.deepEqual(accY, { - accountId: ACCOUNT_Y, - credentials: { - accessKeyId: 'accessKeyIdY', - secretAccessKey: 'secretAccessKeyY', - sessionToken: 'sessionTokenY', - }, - name: 'Account Y', - organizationId: 'o-exampleorgid', - isIamRoleDeployed: true, - regions: [ - EU_WEST_1, - US_EAST_1 - ], - toDelete: false - }); - - }); - - it('should mark accounts for deletion in AWS Organizations', async () => { - setGlobalDispatcher(GetAccountsOrgsDeleted); - - const mockAwsClient = { - createStsClient() { - return { - getCredentials: sinon.stub() - .onFirstCall().resolves({accessKeyId: 'accessKeyIdX', secretAccessKey: 'secretAccessKeyX', sessionToken: 'sessionTokenX'}) - .onSecondCall().resolves({accessKeyId: 'accessKeyIdY', secretAccessKey: 'secretAccessKeyY', sessionToken: 'sessionTokenY'}) - .onThirdCall().resolves({accessKeyId: 'accessKeyIdZ', secretAccessKey: 'secretAccessKeyZ', sessionToken: 'sessionTokenZ'}) - } - }, - createConfigServiceClient() { - return { - async getConfigAggregator() { - return { - OrganizationAggregationSource: { - AllAwsRegions: true - } - }; - } - } - }, - createEc2Client() { - return { - async getAllRegions() { - return [{name: EU_WEST_1}, {name: US_EAST_1}] - } - }; - }, - createOrganizationsClient() { - return { - async getAllActiveAccountsFromParent() { - return [ - {Id: ACCOUNT_X, Name: 'Account X', isManagementAccount: true, Arn: `arn:aws:organizations::${ACCOUNT_X}:account/o-exampleorgid/:${ACCOUNT_X}`}, - {Id: ACCOUNT_Y, Name: 'Account Y', Arn: `arn:aws:organizations:::${ACCOUNT_Y}:account/o-exampleorgid/:${ACCOUNT_Y}`} - ] - } - } - } - }; - - const client = createApiClient({...defaultMockAwsClient, ...mockAwsClient}, appSync, { - ...defaultConfig, isUsingOrganizations: true}); - - const accounts = await client.getAccounts(); - - const accZ = accounts.find(x => x.accountId === ACCOUNT_Z); - - assert.deepEqual(accZ, { - accountId: ACCOUNT_Z, - credentials: { - accessKeyId: 'accessKeyIdZ', - secretAccessKey: 'secretAccessKeyZ', - sessionToken: 'sessionTokenZ', - }, - name: 'Account Z', - organizationId: 'o-exampleorgid', - isIamRoleDeployed: true, - - regions: [ - {name: EU_WEST_1}, {name: US_EAST_1} - ], - toDelete: true - }); - - }); - - it('should retain last crawled time from accounts from AWS Organizations', async () => { - setGlobalDispatcher(GetAccountsOrgsLastCrawled); - - const mockAwsClient = { - createStsClient() { - return { - getCredentials: sinon.stub() - .onFirstCall().resolves({accessKeyId: 'accessKeyIdX', secretAccessKey: 'secretAccessKeyX', sessionToken: 'sessionTokenX'}) - } - }, - createConfigServiceClient() { - return { - async getConfigAggregator() { - return { - OrganizationAggregationSource: { - AllAwsRegions: true - } - }; - } - } - }, - createEc2Client() { - return { - async getAllRegions() { - return [{name: EU_WEST_1}, {name: US_EAST_1}] - } - }; - }, - createOrganizationsClient() { - return { - async getAllActiveAccountsFromParent() { - return [ - {Id: ACCOUNT_X, Name: 'Account X', isManagementAccount: true, Arn: `arn:aws:organizations::${ACCOUNT_X}:account/o-exampleorgid/:${ACCOUNT_X}`}, - ] - } - } - } - }; - - const client = createApiClient({...defaultMockAwsClient, ...mockAwsClient}, appSync, { - ...defaultConfig, isUsingOrganizations: true}); - - const accounts = await client.getAccounts(); - - const accX = accounts.find(x => x.accountId === ACCOUNT_X); - - assert.deepEqual(accX, { - accountId: ACCOUNT_X, - credentials: { - accessKeyId: 'accessKeyIdX', - secretAccessKey: 'secretAccessKeyX', - sessionToken: 'sessionTokenX', - }, - name: 'Account X', - organizationId: 'o-exampleorgid', - isIamRoleDeployed: true, - isManagementAccount: true, - lastCrawled: "2022-10-25T00:00:00.000Z", - regions: [ - EU_WEST_1, - US_EAST_1 - ], - toDelete: false - }); - }); - - }); - - after(() => { - setGlobalDispatcher(globalDispatcher); - }) - -}); \ No newline at end of file diff --git a/source/backend/discovery/test/awsClient.js b/source/backend/discovery/test/awsClient.js deleted file mode 100644 index 555b5fd1..00000000 --- a/source/backend/discovery/test/awsClient.js +++ /dev/null @@ -1,1840 +0,0 @@ -const {assert} = require('chai'); -const pThrottle = require('p-throttle'); -const {mockClient} = require('aws-sdk-client-mock'); -const rewire = require('rewire'); -const sinon = require('sinon'); -const { - APIGatewayClient, - GetAuthorizersCommand, - GetMethodCommand, - GetResourcesCommand, -} = require('@aws-sdk/client-api-gateway'); -const { - BatchGetAggregateResourceConfigCommand, - ConfigServiceClient, - DescribeConfigurationAggregatorsCommand, - ListAggregateDiscoveredResourcesCommand, - SelectAggregateResourceConfigCommand, -} = require('@aws-sdk/client-config-service'); -const { - CognitoIdentityProviderClient, - DescribeUserPoolCommand, - ListUserPoolsCommand -} = require('@aws-sdk/client-cognito-identity-provider'); -const { - DescribeStreamCommand, - DynamoDBStreamsClient -} = require('@aws-sdk/client-dynamodb-streams'); -const { - DescribeRegionsCommand, - DescribeSpotFleetRequestsCommand, - DescribeSpotInstanceRequestsCommand, - DescribeTransitGatewayAttachmentsCommand, - EC2Client -} = require('@aws-sdk/client-ec2'); -const { - DescribeContainerInstancesCommand, - DescribeTasksCommand, - ECSClient, - ListContainerInstancesCommand, - ListTasksCommand -} = require('@aws-sdk/client-ecs'); -const { - DescribeLoadBalancersCommand, - ElasticLoadBalancingClient -} = require('@aws-sdk/client-elastic-load-balancing'); -const { - DescribeTargetGroupsCommand, - DescribeTargetHealthCommand, - ElasticLoadBalancingV2Client -} = require('@aws-sdk/client-elastic-load-balancing-v2'); -const { - DescribeNodegroupCommand, - EKSClient, - ListNodegroupsCommand -} = require('@aws-sdk/client-eks'); -const { - IAMClient, - ListPoliciesCommand -} = require('@aws-sdk/client-iam'); -const { - LambdaClient, - ListEventSourceMappingsCommand, - ListFunctionsCommand -} = require('@aws-sdk/client-lambda'); -const { - ListDomainNamesCommand, - DescribeDomainsCommand, - OpenSearchClient -} = require('@aws-sdk/client-opensearch'); -const { - OrganizationsClient, - ListRootsCommand, - DescribeOrganizationCommand, - ListAccountsCommand, - ListAccountsForParentCommand, - ListOrganizationalUnitsForParentCommand -} = require('@aws-sdk/client-organizations'); -const { - ListSubscriptionsCommand, - SNSClient -} = require('@aws-sdk/client-sns'); -const { - AssumeRoleCommand, - STSClient -} = require('@aws-sdk/client-sts'); -const {OPENSEARCH} = require("../src/lib/constants"); - -const awsClient = rewire('../src/lib/awsClient'); -const EU_WEST_1 = 'eu-west-1'; - -describe('awsClient', () => { - - const mockCredentials = { - accessKeyId: 'accessKeyId', - secretAccessKey: 'secretAccessKey', - sessionToken: 'optionalSessionToken' - }; - - describe('throttledPaginator', () => { - const throttledPaginator = awsClient.__get__('throttledPaginator'); - - const throttler = pThrottle({ - limit: 1, - interval: 10 - }); - - it('should handle one page', async() => { - const asyncGenerator = (async function* () { - yield 1; - })(); - - const results = []; - for await(const x of throttledPaginator(throttler, asyncGenerator)) { - results.push(x); - } - assert.deepEqual(results, [1]); - }); - - it('should handle multiple pages', async() => { - const asyncGenerator = (async function* () { - yield* [1, 2, 3]; - })(); - - const results = []; - for await(const x of throttledPaginator(throttler, asyncGenerator)) { - results.push(x); - } - assert.deepEqual(results, [1, 2, 3]); - }); - - }); - - describe('apiGatewayClient', () => { - const { - getAuthorizers, - getMethod, - getResources, - } = awsClient.createApiGatewayClient(mockCredentials, EU_WEST_1); - - describe('getAuthorizers', () => { - - it('should get authorizers', async () => { - const mockApiGatewayClient = mockClient(APIGatewayClient); - - const authorizers = { - restApiId: [ - {id: 'authorizerId1'}, - {id: 'authorizerId2'}, - {id: 'authorizerId3'}, - {id: 'authorizerId4'} - ] - }; - - mockApiGatewayClient - .on(GetAuthorizersCommand) - .callsFake(({restApiId}) => { - return {items: authorizers[restApiId]}; - }); - - const actual = await getAuthorizers('restApiId'); - - assert.deepEqual(actual, [ - {id: 'authorizerId1'}, - {id: 'authorizerId2'}, - {id: 'authorizerId3'}, - {id: 'authorizerId4'} - ]); - }); - - it('should get methods', async () => { - const mockApiGatewayClient = mockClient(APIGatewayClient); - - const methods = { - restApiId: { - resourceId: { - GET: { - httpMethod: 'GET' - } - } - } - }; - - mockApiGatewayClient - .on(GetMethodCommand) - .callsFake(({restApiId, resourceId, httpMethod}) => { - return methods[restApiId][resourceId][httpMethod]; - }); - - const actual = await getMethod('GET', 'resourceId', 'restApiId'); - - assert.deepEqual(actual, {httpMethod: 'GET'}); - }); - - it('should get resources', async () => { - const mockApiGatewayClient = mockClient(APIGatewayClient); - - const resources = { - restApiId: { - items: [ - {id: 'resourceId1'}, - {id: 'resourceId2'}, - ], - position: 'restApiId-position' - }, - 'restApiId-position': { - items: [ - {id: 'resourceId3'}, - {id: 'resourceId4'} - ] - } - }; - - mockApiGatewayClient - .on(GetResourcesCommand) - .callsFake(({restApiId, position}) => { - if(position != null) return resources[position]; - return resources[restApiId]; - }); - - const actual = await getResources('restApiId'); - assert.deepEqual(actual, [ - { - 'id': 'resourceId1' - }, - { - 'id': 'resourceId2' - }, - { - 'id': 'resourceId3' - }, - { - 'id': 'resourceId4' - } - ]); - }); - - }); - - }); - - describe('configServiceClient', () => { - const { - getAllAggregatorResources, - getAggregatorResources, - getConfigAggregator, - } = awsClient.createConfigServiceClient(mockCredentials, EU_WEST_1); - - describe('getAllAggregatorResources', () => { - - it('should get resources from Config aggregator', async () => { - const mockConfigClient = mockClient(ConfigServiceClient); - - const resources = { - configAggregator: { - Results: [ - JSON.stringify({arn: 'resourceArn1', resourceType: 'AWS::EC2::Instance'}), - JSON.stringify({arn: 'resourceArn2', resourceType: 'AWS::IAM::Role'}) - ], - NextToken: 'configAggregator-token' - }, - 'configAggregator-token': { - Results: [ - JSON.stringify({arn: 'resourceArn3', resourceType: 'AWS::Lambda::Function'}), - JSON.stringify({arn: 'resourceArn4', resourceType: 'AWS::S3::Bucket'}) - ] - } - }; - - mockConfigClient - .on(SelectAggregateResourceConfigCommand) - .callsFake(({ConfigurationAggregatorName, Expression, NextToken}) => { - const expectedExpression = - 'SELECT *, configuration, configurationItemStatus, relationships, tags'; - - assert.strictEqual( - Expression.replace(/\s+/g, ' ').trim(), expectedExpression - ); - - if(NextToken != null) return resources[NextToken]; - return resources[ConfigurationAggregatorName]; - }); - - const actual = await getAllAggregatorResources( - 'configAggregator', { - excludes: { - resourceTypes: [] - } - }); - - assert.deepEqual(actual, [ - { - arn: 'resourceArn1', - resourceType: 'AWS::EC2::Instance' - }, - { - arn: 'resourceArn2', - resourceType: 'AWS::IAM::Role' - }, - { - arn: 'resourceArn3', - resourceType: 'AWS::Lambda::Function' - }, - { - arn: 'resourceArn4', - resourceType: 'AWS::S3::Bucket' - } - ]); - }); - - // This test will be re-enabled when https://github.com/m-radzikowski/aws-sdk-client-mock/issues/205 is - // resolved. - it.skip('should retry getting resources if there is an error', async () => { - const mockConfigClient = mockClient(ConfigServiceClient); - - mockConfigClient - .on(SelectAggregateResourceConfigCommand) - .rejectsOnce('reject') - .resolvesOnce({ - Results: [ - JSON.stringify({arn: 'resourceArn1', resourceType: 'AWS::EC2::Instance'}), - JSON.stringify({arn: 'resourceArn2', resourceType: 'AWS::IAM::Role'}) - ] - }) - - const actual = await getAllAggregatorResources( - 'configAggregator', { - excludes: { - resourceTypes: [] - } - }); - - assert.deepEqual(actual, [ - { - arn: 'resourceArn1', - resourceType: 'AWS::EC2::Instance' - }, - { - arn: 'resourceArn2', - resourceType: 'AWS::IAM::Role' - } - ]); - }); - - it('should filter by resource type when getting resources from Config aggregator', async () => { - const mockConfigClient = mockClient(ConfigServiceClient); - - const resources = { - configAggregator: { - Results: [ - JSON.stringify({arn: 'resourceArn1', resourceType: 'AWS::EC2::Instance'}), - JSON.stringify({arn: 'resourceArn2', resourceType: 'AWS::IAM::Role'}) - ], - NextToken: 'configAggregator-token' - }, - 'configAggregator-token': { - Results: [ - JSON.stringify({arn: 'resourceArn3', resourceType: 'AWS::Lambda::Function'}), - JSON.stringify({arn: 'resourceArn4', resourceType: 'AWS::S3::Bucket'}) - ] - } - }; - - mockConfigClient - .on(SelectAggregateResourceConfigCommand) - .callsFake(({ConfigurationAggregatorName, Expression, NextToken}) => { - const expectedExpression = - `SELECT *, configuration, configurationItemStatus, relationships, tags WHERE resourceType NOT IN ('AWS::RDS:DbInstance','AWS::EC2::VPC')`; - - assert.strictEqual( - Expression.replace(/\s+/g, ' ').trim(), expectedExpression - ); - - if(NextToken != null) return resources[NextToken]; - return resources[ConfigurationAggregatorName]; - }); - - const actual = await getAllAggregatorResources( - 'configAggregator', { - excludes: { - resourceTypes: ['AWS::RDS:DbInstance', 'AWS::EC2::VPC'] - } - }); - - assert.deepEqual(actual, [ - { - arn: 'resourceArn1', - resourceType: 'AWS::EC2::Instance' - }, - { - arn: 'resourceArn2', - resourceType: 'AWS::IAM::Role' - }, - { - arn: 'resourceArn3', - resourceType: 'AWS::Lambda::Function' - }, - { - arn: 'resourceArn4', - resourceType: 'AWS::S3::Bucket' - } - ]); - }); - - }); - - describe('getAggregatorResources', () => { - - it('should get resources for specific resource types', async () => { - const mockConfigClient = mockClient(ConfigServiceClient); - - const resourcesList = { - 'AWS::EC2:instance': { - ResourceIdentifiers: [ - {ResourceId: 'ResourceId1'}, - {ResourceId: 'ResourceId2'} - ], - NextToken: 'AWS::EC2:instance-token' - }, - 'AWS::EC2:instance-token': { - ResourceIdentifiers: [ - {ResourceId: 'ResourceId3'}, - {ResourceId: 'ResourceId4'} - ] - } - } - - mockConfigClient - .on(ListAggregateDiscoveredResourcesCommand) - .callsFake(({ResourceType, NextToken}) => { - if(NextToken != null) return resourcesList[NextToken]; - return resourcesList[ResourceType]; - }); - - const resources = { - ResourceId1: {Arn: 'ResourceArn1'}, - ResourceId2: {Arn: 'ResourceArn2'}, - ResourceId3: {Arn: 'ResourceArn3'}, - ResourceId4: {Arn: 'ResourceArn4'}, - }; - - mockConfigClient - .on(BatchGetAggregateResourceConfigCommand) - .callsFake(({ResourceIdentifiers}) => { - return { - BaseConfigurationItems: ResourceIdentifiers.map(({ResourceId}) => { - return resources[ResourceId]; - }) - }; - }); - - const actual = await getAggregatorResources('aggregatorName', 'AWS::EC2:instance'); - - assert.deepEqual(actual, [ - { - Arn: 'ResourceArn1' - }, - { - Arn: 'ResourceArn2' - }, - { - Arn: 'ResourceArn3' - }, - { - Arn: 'ResourceArn4' - } - ]); - }); - - }); - - describe('getConfigAggregator', () => { - - it('should get config aggregator', async () => { - const mockConfigClient = mockClient(ConfigServiceClient); - - mockConfigClient - .on(DescribeConfigurationAggregatorsCommand) - .resolves({ - ConfigurationAggregators: [{ - ConfigurationAggregatorName: 'configAggregatorName' - }] - }); - - const actual = await getConfigAggregator('configAggregatorName'); - - assert.deepEqual(actual, {ConfigurationAggregatorName: 'configAggregatorName'}); - }); - - }); - }); - - describe('cognitoClient', () => { - const { - getAllUserPools - } = awsClient.createCognitoClient(mockCredentials, EU_WEST_1); - - describe('getAllUserPools', () => { - - it('should get all user pools', async () => { - const mockCognitoClient = mockClient(CognitoIdentityProviderClient); - - const userPoolsList = { - firstPage: { - UserPools: [ - {Id: 'eu-west-1_aaaaaaaaa'}, - {Id: 'eu-west-1_bbbbbbbbb'} - ], - NextToken: 'userPoolsListToken' - }, - userPoolsListToken: { - UserPools: [ - {Id: 'eu-west-1_ccccccccc'}, - {Id: 'eu-west-1_ddddddddd'} - ] - } - } - - const userPools = { - 'eu-west-1_aaaaaaaaa': {Id: 'eu-west-1_aaaaaaaaa', Name: 'UserPoolA'}, - 'eu-west-1_bbbbbbbbb': {Id: 'eu-west-1_bbbbbbbbb', Name: 'UserPoolB'}, - 'eu-west-1_ccccccccc': {Id: 'eu-west-1_ccccccccc', Name: 'UserPoolC'}, - 'eu-west-1_ddddddddd': {Id: 'eu-west-1_ddddddddd', Name: 'UserPoolD'} - }; - - mockCognitoClient - .on(ListUserPoolsCommand) - .callsFake(({NextToken}) => { - if(NextToken != null) return userPoolsList[NextToken]; - return userPoolsList.firstPage; - }); - - mockCognitoClient - .on(DescribeUserPoolCommand) - .callsFake(({UserPoolId}) => { - return { - UserPool: userPools[UserPoolId] - } - }); - - const actual = await getAllUserPools(); - - assert.deepEqual(actual, [ - { - Id: 'eu-west-1_aaaaaaaaa', - Name: 'UserPoolA' - }, - { - Id: 'eu-west-1_bbbbbbbbb', - Name: 'UserPoolB' - }, - { - Id: 'eu-west-1_ccccccccc', - Name: 'UserPoolC' - }, - { - Id: 'eu-west-1_ddddddddd', - Name: 'UserPoolD' - } - ]); - }); - - }); - - }); - - describe('dynamoDBStreamsClient', () => { - const { - describeStream - } = awsClient.createDynamoDBStreamsClient(mockCredentials, EU_WEST_1); - - describe('describeStream', () => { - - it('should get stream details', async () => { - const mockDynamoDBStreamsClient = mockClient(DynamoDBStreamsClient); - - mockDynamoDBStreamsClient - .on(DescribeStreamCommand) - .resolves({ - StreamDescription: { - StreamArn: 'streamArn1' - } - }); - - const actual = await describeStream('streamArn1'); - - assert.deepEqual(actual, { - StreamArn: 'streamArn1' - }); - }); - - }); - }); - - describe('ec2Client', () => { - const { - getAllRegions, - getAllSpotFleetRequests, - getAllSpotInstanceRequests, - getAllTransitGatewayAttachments - } = awsClient.createEc2Client(mockCredentials, EU_WEST_1); - - describe('getAllRegions', () => { - - it('should get all regions', async () => { - const mockEc2Client = mockClient(EC2Client); - - mockEc2Client - .on(DescribeRegionsCommand) - .resolves({ - Regions: [ - {RegionName: 'eu-west-1'}, - {RegionName: 'eu-west-2'}, - {RegionName: 'us-east-1'} - ] - }); - - const actual = await getAllRegions(); - - assert.deepEqual(actual, [ - { - name: 'eu-west-1' - }, - { - name: 'eu-west-2' - }, - { - name: 'us-east-1' - } - ]); - }); - - }); - - describe('getAllSpotFleetRequests', () => { - - it('should get all spot fleet requests', async () => { - const mockEc2Client = mockClient(EC2Client); - - const spotFleets = { - firstPage: { - SpotFleetRequestConfigs: [ - {SpotFleetRequestId: 'sfr-uuid1'}, - {SpotFleetRequestId: 'sfr-uuid2'} - ], - NextToken: 'spotFleetRequest-token' - }, - 'spotFleetRequest-token': { - SpotFleetRequestConfigs: [ - {SpotFleetRequestId: 'sfr-uuid3'}, - {SpotFleetRequestId: 'sfr-uuid4'} - ] - } - } - - mockEc2Client - .on(DescribeSpotFleetRequestsCommand) - .callsFake(({NextToken}) => { - if(NextToken != null) return spotFleets[NextToken]; - return spotFleets.firstPage; - }); - - const actual = await getAllSpotFleetRequests(); - - assert.deepEqual(actual, [ - {SpotFleetRequestId: 'sfr-uuid1'}, - {SpotFleetRequestId: 'sfr-uuid2'}, - {SpotFleetRequestId: 'sfr-uuid3'}, - {SpotFleetRequestId: 'sfr-uuid4'} - ]); - }); - - }); - - describe('getAllSpotInstanceRequests', () => { - - it('should get all spot instance requests', async () => { - const mockEc2Client = mockClient(EC2Client); - - const spotInstances = { - firstPage: { - SpotInstanceRequests: [ - {SpotInstanceRequestId: 'sfi-1111111'}, - {SpotInstanceRequestId: 'sfi-2222222'} - ], - NextToken: 'SpotInstanceRequests-token' - }, - 'SpotInstanceRequests-token': { - SpotInstanceRequests: [ - {SpotInstanceRequestId: 'sfi-3333333'}, - {SpotInstanceRequestId: 'sfi-4444444'} - ] - } - } - - mockEc2Client - .on(DescribeSpotInstanceRequestsCommand) - .callsFake(({NextToken}) => { - if(NextToken != null) return spotInstances[NextToken]; - return spotInstances.firstPage; - }); - - const actual = await getAllSpotInstanceRequests(); - - assert.deepEqual(actual, [ - { - SpotInstanceRequestId: 'sfi-1111111' - }, - { - SpotInstanceRequestId: 'sfi-2222222' - }, - { - SpotInstanceRequestId: 'sfi-3333333' - }, - { - SpotInstanceRequestId: 'sfi-4444444' - } - ]); - }); - - }); - - describe('getAllTransitGatewayAttachments', () => { - - it('should get all transit gateway attachments', async () => { - const mockEc2Client = mockClient(EC2Client); - - const attachments = { - firstPage: { - TransitGatewayAttachments: [ - {TransitGatewayId: 'tgw-111111111111', ResourceType: 'vpc'}, - {TransitGatewayId: 'tgw-222222222222', ResourceType: 'direct-connect-gateway'} - ], - NextToken: 'attachments-token' - }, - 'attachments-token': { - TransitGatewayAttachments: [ - {TransitGatewayId: 'tgw-333333333333', ResourceType: 'vpc'}, - {TransitGatewayId: 'tgw-444444444444', ResourceType: 'direct-connect-gateway'} - ] - } - }; - - mockEc2Client - .on(DescribeTransitGatewayAttachmentsCommand) - .callsFake(({NextToken}) => { - if(NextToken != null) return attachments[NextToken]; - return attachments.firstPage; - }); - - const actual = await getAllTransitGatewayAttachments(); - - assert.deepEqual(actual, [ - { - TransitGatewayId: 'tgw-111111111111', - ResourceType: 'vpc' - }, - { - TransitGatewayId: 'tgw-222222222222', - ResourceType: 'direct-connect-gateway' - }, - { - TransitGatewayId: 'tgw-333333333333', - ResourceType: 'vpc' - }, - { - TransitGatewayId: 'tgw-444444444444', - ResourceType: 'direct-connect-gateway' - } - ]); - }); - - it('should get filtered list of transit gateway attachments', async () => { - const mockEc2Client = mockClient(EC2Client); - - const attachments = { - vpc: { - TransitGatewayAttachments: [ - {TransitGatewayId: 'tgw-111111111111', ResourceType: 'vpc'}, - {TransitGatewayId: 'tgw-222222222222', ResourceType: 'vpc'} - ] - } - }; - - mockEc2Client - .on(DescribeTransitGatewayAttachmentsCommand) - .callsFake(({Filters}) => { - return attachments[Filters[0].Values[0]]; - }); - - const actual = await getAllTransitGatewayAttachments([{Name: 'resource-type', Values: ['vpc']}]); - - assert.deepEqual(actual, [ - { - TransitGatewayId: 'tgw-111111111111', - ResourceType: 'vpc' - }, - { - TransitGatewayId: 'tgw-222222222222', - ResourceType: 'vpc' - } - ]); - }); - - }); - - }); - - describe('ecsClient', () => { - const { - getAllClusterInstances, - getAllClusterTasks, - getAllServiceTasks - } = awsClient.createEcsClient(mockCredentials, EU_WEST_1); - - describe('getAllClusterInstances', () => { - - it('should get all EC2 instances associated with cluster', async () => { - const mockEcsClient = mockClient(ECSClient); - - const instanceArns = { - cluster: { - containerInstanceArns: [ - 'containerInstanceArn1', - 'containerInstanceArn2' - ], - nextToken: 'clusterToken' - }, - clusterToken: { - containerInstanceArns: [ - 'containerInstanceArn3', - 'containerInstanceArn4' - ] - } - }; - - mockEcsClient - .on(ListContainerInstancesCommand) - .callsFake(({cluster, nextToken} ) => { - if(nextToken != null) return instanceArns[nextToken]; - return instanceArns[cluster]; - }); - - const instances = { - 'containerInstanceArn1': {ec2InstanceId: 'i-1111111111'}, - 'containerInstanceArn2': {ec2InstanceId: 'i-2222222222'}, - 'containerInstanceArn3': {ec2InstanceId: 'i-3333333333'}, - 'containerInstanceArn4': {ec2InstanceId: 'i-4444444444'}, - } - - mockEcsClient - .on(DescribeContainerInstancesCommand) - .callsFake(({containerInstances}) => { - return { - containerInstances: containerInstances.map(arn => instances[arn]) - }; - }); - - const actual = await getAllClusterInstances('cluster'); - - assert.deepEqual(actual, [ - 'i-1111111111', - 'i-2222222222', - 'i-3333333333', - 'i-4444444444' - ]); - }); - - }); - - describe('getAllClusterTasks', () => { - - it('should get all tasks running in a cluster', async () => { - const mockEcsClient = mockClient(ECSClient); - - const taskArns = { - cluster: { - taskArns: [ - 'taskArn1', - 'taskArn2' - ], - nextToken: 'taskToken' - }, - taskToken: { - taskArns: [ - 'taskArn3', - 'taskArn4' - ] - } - }; - - mockEcsClient - .on(ListTasksCommand) - .callsFake((input) => { - const {cluster, nextToken} = input; - if(nextToken != null) return taskArns[nextToken]; - return taskArns[cluster]; - }); - - const tasksObj = { - taskArn1: {taskArn: 'taskArn1'}, - taskArn2: {taskArn: 'taskArn2'}, - taskArn3: {taskArn: 'taskArn3'}, - taskArn4: {taskArn: 'taskArn4'} - } - - mockEcsClient - .on(DescribeTasksCommand) - .callsFake(({tasks}) => { - return { - tasks: tasks.map(arn => tasksObj[arn]) - }; - }); - - const actual = await getAllClusterTasks('cluster'); - - assert.deepEqual(actual, [ - { - taskArn: 'taskArn1' - }, - { - taskArn: 'taskArn2' - }, - { - taskArn: 'taskArn3' - }, - { - taskArn: 'taskArn4' - } - ]) - }); - }); - - describe('getAllServiceTasks', () => { - - it('should get all tasks associated with a service', async () => { - const mockEcsClient = mockClient(ECSClient); - - const taskArns = { - 'cluster-service': { - taskArns: [ - 'taskArn1', - 'taskArn2' - ], - nextToken: 'taskToken' - }, - taskToken: { - taskArns: [ - 'taskArn3', - 'taskArn4' - ] - } - }; - - mockEcsClient - .on(ListTasksCommand) - .callsFake((input) => { - const {cluster, serviceName, nextToken} = input; - if(nextToken != null) return taskArns[nextToken]; - return taskArns[`${cluster}-${serviceName}`]; - }); - - const tasksObj = { - taskArn1: {taskArn: 'serviceTaskArn1'}, - taskArn2: {taskArn: 'serviceTaskArn2'}, - taskArn3: {taskArn: 'serviceTaskArn3'}, - taskArn4: {taskArn: 'serviceTaskArn4'} - } - - mockEcsClient - .on(DescribeTasksCommand) - .callsFake(({tasks}) => { - return { - tasks: tasks.map(arn => tasksObj[arn]) - }; - }); - - const actual = await getAllServiceTasks('cluster', 'service'); - - assert.deepEqual(actual, [ - { - taskArn: 'serviceTaskArn1' - }, - { - taskArn: 'serviceTaskArn2' - }, - { - taskArn: 'serviceTaskArn3' - }, - { - taskArn: 'serviceTaskArn4' - } - ]) - }); - }); - - }); - - describe('elbClient', () => { - const { - getLoadBalancerInstances - } = awsClient.createElbClient(mockCredentials, EU_WEST_1); - - describe('getLoadBalancerInstances', () => { - - it('should handle missing Instances field', async () => { - const mockElbClient = mockClient(ElasticLoadBalancingClient); - - const elb = { - loadBalancer: { - LoadBalancerName: 'loadBalancer', - } - } - - mockElbClient - .on(DescribeLoadBalancersCommand) - .callsFake(({LoadBalancerNames}) => { - return { - LoadBalancerDescriptions: [ - elb[LoadBalancerNames[0]] - ] - } - }); - - const actual = await getLoadBalancerInstances('loadBalancer'); - - assert.deepEqual(actual, []); - }); - - it('should get EC2 instances associated with ELB', async () => { - const mockElbClient = mockClient(ElasticLoadBalancingClient); - - const elb = { - loadBalancer: { - LoadBalancerName: 'loadBalancer', - Instances: [ - {InstanceId: 'i-1111111111'}, - {InstanceId: 'i-2222222222'}, - ] - } - } - - mockElbClient - .on(DescribeLoadBalancersCommand) - .callsFake(({LoadBalancerNames}) => { - return { - LoadBalancerDescriptions: [ - elb[LoadBalancerNames[0]] - ] - } - }); - - const actual = await getLoadBalancerInstances('loadBalancer'); - - assert.deepEqual(actual, [ - 'i-1111111111', - 'i-2222222222' - ]); - }); - - }); - }); - - describe('elbClient', () => { - const { - describeTargetHealth, - getAllTargetGroups - } = awsClient.createElbV2Client(mockCredentials, EU_WEST_1); - - describe('describeTargetHealth', () => { - - it('should get target health', async () => { - const mockElbV2Client = mockClient(ElasticLoadBalancingV2Client); - - const targetHealth = { - targetGroupArn: { - TargetHealthDescriptions: [ - {Target: {ID: 'i-111111111'}}, - {Target: {ID: 'i-222222222'}}, - {Target: {ID: 'i-333333333'}}, - ] - } - }; - - mockElbV2Client - .on(DescribeTargetHealthCommand) - .callsFake(input => { - const {TargetGroupArn} = input; - return targetHealth[TargetGroupArn]; - }); - - const actual = await describeTargetHealth('targetGroupArn'); - - assert.deepEqual(actual, [ - {Target: {ID: 'i-111111111'}}, - {Target: {ID: 'i-222222222'}}, - {Target: {ID: 'i-333333333'}}, - ]); - }); - - }); - - describe('getAllTargetGroups', () => { - - it('should get all target groups', async () => { - const mockElbV2Client = mockClient(ElasticLoadBalancingV2Client); - - const targetGroups = { - firstPage: { - TargetGroups: [ - {TargetGroupArn: 'targetGroupArn1'}, - {TargetGroupArn: 'targetGroupArn2'} - ], - NextMarker: 'TargetGroups-marker' - }, - 'TargetGroups-marker': { - TargetGroups: [ - {TargetGroupArn: 'targetGroupArn3'}, - {TargetGroupArn: 'targetGroupArn4'} - ] - } - }; - - mockElbV2Client - .on(DescribeTargetGroupsCommand) - .callsFake(({TargetGroups, Marker}) => { - if(Marker != null) return targetGroups[Marker]; - return targetGroups.firstPage; - }); - - const actual = await getAllTargetGroups(); - - assert.deepEqual(actual, [ - {TargetGroupArn: 'targetGroupArn1'}, - {TargetGroupArn: 'targetGroupArn2'}, - {TargetGroupArn: 'targetGroupArn3'}, - {TargetGroupArn: 'targetGroupArn4'} - ]); - }); - - }); - - }); - - describe('eksClient', () => { - const { - listNodeGroups - } = awsClient.createEksClient(mockCredentials, EU_WEST_1); - - describe('listNodeGroups', () => { - - it('should list all node groups in cluster', async () => { - const mockEksClient = mockClient(EKSClient); - - const nodeGroupsList = { - 'eksCluster': { - nodegroups: [ - 'nodegroup1', - 'nodegroup2' - ], - nextToken: 'nodegroups-token' - }, - 'nodegroups-token': { - nodegroups: [ - 'nodegroup3', - 'nodegroup4' - ] - } - } - - mockEksClient - .on(ListNodegroupsCommand) - .callsFake(({clusterName, nextToken}) => { - if(nextToken != null) return nodeGroupsList[nextToken]; - return nodeGroupsList[clusterName]; - }); - - const nodeGroups = { - nodegroup1: {nodegroupArn: 'nodegroupArn1'}, - nodegroup2: {nodegroupArn: 'nodegroupArn2'}, - nodegroup3: {nodegroupArn: 'nodegroupArn3'}, - nodegroup4: {nodegroupArn: 'nodegroupArn4'}, - } - - mockEksClient - .on(DescribeNodegroupCommand) - .callsFake(({nodegroupName}) => { - return { - nodegroup: nodeGroups[nodegroupName] - }; - }) - - const actual = await listNodeGroups('eksCluster'); - - assert.deepEqual(actual, [ - { - nodegroupArn: 'nodegroupArn1' - }, - { - nodegroupArn: 'nodegroupArn2' - }, - { - nodegroupArn: 'nodegroupArn3' - }, - { - nodegroupArn: 'nodegroupArn4' - } - ]); - }); - - }); - }); - - describe('iamClient', () => { - const { - getAllAttachedAwsManagedPolices - } = awsClient.createIamClient(mockCredentials, EU_WEST_1); - - describe('getAllAttachedAwsManagedPolices', () => { - - it('should get all attached polices', async () => { - const mockIamClient = mockClient(IAMClient); - - const attachedAwsManagedPolicies = { - 'AWS-true': { - Policies: [ - {Arn: 'policyArn1'}, - {Arn: 'policyArn2'} - ], - Marker: 'policiesMarker' - }, - policiesMarker: { - Policies: [ - {Arn: 'policyArn3'}, - {Arn: 'policyArn4'} - ] - } - }; - - mockIamClient - .on(ListPoliciesCommand) - .callsFake((input) => { - const {OnlyAttached, Scope, Marker} = input; - if(Marker != null) return attachedAwsManagedPolicies[Marker]; - return attachedAwsManagedPolicies[`${Scope}-${OnlyAttached}`]; - }); - - const actual = await getAllAttachedAwsManagedPolices(); - - assert.deepEqual(actual, [ - { - Arn: 'policyArn1' - }, - { - Arn: 'policyArn2' - }, - { - Arn: 'policyArn3' - }, - { - Arn: 'policyArn4' - } - ]); - }); - - }); - }); - - describe('lambdaClient', () => { - const { - getAllFunctions, - listEventSourceMappings - } = awsClient.createLambdaClient(mockCredentials, EU_WEST_1); - - describe('getAllFunctions', () => { - - it('should get all functions', async () => { - const mockLambdaClient = mockClient(LambdaClient); - - const functions = { - firstPage: { - Functions: [ - {FunctionName: 'Function1'}, - {FunctionName: 'Function2'}, - ], - NextMarker: 'listFunctionsMarker' - }, - listFunctionsMarker: { - Functions: [ - {FunctionName: 'Function3'}, - {FunctionName: 'Function4'} - ] - } - } - - mockLambdaClient - .on(ListFunctionsCommand) - .callsFake(({Marker}) => { - if(Marker != null) return functions[Marker]; - return functions.firstPage; - }); - - const actual = await getAllFunctions(); - - assert.deepEqual(actual, [ - { - FunctionName: 'Function1' - }, - { - FunctionName: 'Function2' - }, - { - FunctionName: 'Function3' - }, - { - FunctionName: 'Function4' - } - ]); - }); - - }); - - describe('listEventSourceMappings', () => { - - it('should get event source mappings for specific function', async () => { - const mockLambdaClient = mockClient(LambdaClient); - - const mappings = { - functionArn: { - EventSourceMappings: [ - {EventSourceArn: 'EventSourceArn1'}, - ], - NextMarker: 'listEventSourceMappingsMarker' - }, - listEventSourceMappingsMarker: { - EventSourceMappings: [ - {EventSourceArn: 'EventSourceArn2'}, - ] - } - } - - mockLambdaClient - .on(ListEventSourceMappingsCommand) - .callsFake(({FunctionName, Marker}) => { - if(Marker != null) return mappings[Marker]; - return mappings[FunctionName]; - }); - - const actual = await listEventSourceMappings('functionArn'); - - assert.deepEqual(actual, [ - { - EventSourceArn: 'EventSourceArn1' - }, - { - EventSourceArn: 'EventSourceArn2' - } - ]); - }); - - it('should get all event source mappings', async () => { - const mockLambdaClient = mockClient(LambdaClient); - - const mappings = { - firstPage: { - EventSourceMappings: [ - {EventSourceArn: 'EventSourceArn1'}, - {EventSourceArn: 'EventSourceArn2'}, - ], - NextMarker: 'listEventSourceMappingsMarker' - }, - listEventSourceMappingsMarker: { - EventSourceMappings: [ - {EventSourceArn: 'EventSourceArn3'}, - {EventSourceArn: 'EventSourceArn4'} - ] - } - } - - mockLambdaClient - .on(ListEventSourceMappingsCommand) - .callsFake(({Marker}) => { - if(Marker != null) return mappings[Marker]; - return mappings.firstPage; - }); - - const actual = await listEventSourceMappings(); - - assert.deepEqual(actual, [ - { - EventSourceArn: 'EventSourceArn1' - }, - { - EventSourceArn: 'EventSourceArn2' - }, - { - EventSourceArn: 'EventSourceArn3' - }, - { - EventSourceArn: 'EventSourceArn4' - } - ]); - }); - - }); - }); - - describe('openSearchClient', () => { - const {getAllOpenSearchDomains} = awsClient.createOpenSearchClient(mockCredentials, EU_WEST_1); - - describe('getAllOpenSearchDomains', () => { - - it('should get OpenSearch domains', async () => { - const mockOpenSearchClient = mockClient(OpenSearchClient); - - const domains = { - 'opensearchdomai-abcdefgh1': { - ARN: 'domainArn1' - }, - 'opensearchdomai-abcdefgh2': { - ARN: 'domainArn2' - }, - 'opensearchdomai-abcdefgh3': { - ARN: 'domainArn3' - }, - 'opensearchdomai-abcdefgh4': { - ARN: 'domainArn4' - }, - 'opensearchdomai-abcdefgh5': { - ARN: 'domainArn5' - }, - 'opensearchdomai-abcdefgh6': { - ARN: 'domainArn6' - }, - 'opensearchdomai-abcdefgh7': { - ARN: 'domainArn7' - }, - 'opensearchdomai-abcdefgh8': { - ARN: 'domainArn8' - }, - 'opensearchdomai-abcdefgh9': { - ARN: 'domainArn9' - } - } - - mockOpenSearchClient - .on(ListDomainNamesCommand, {EngineType: OPENSEARCH}) - .resolves({ - DomainNames: Object.keys(domains).map(DomainName => ({DomainName})) - }); - - mockOpenSearchClient - .on(DescribeDomainsCommand) - .callsFake(({DomainNames}) => { - return { - DomainStatusList: DomainNames.map(domainName => domains[domainName]) - }; - }); - - const actual = await getAllOpenSearchDomains(); - - assert.deepEqual(actual, [ - { - 'ARN': 'domainArn1' - }, - { - 'ARN': 'domainArn2' - }, - { - 'ARN': 'domainArn3' - }, - { - 'ARN': 'domainArn4' - }, - { - 'ARN': 'domainArn5' - }, - { - 'ARN': 'domainArn6' - }, - { - 'ARN': 'domainArn7' - }, - { - 'ARN': 'domainArn8' - }, - { - 'ARN': 'domainArn9' - } - ]); - }); - - }); - }); - - describe('organizationsClient', () => { - const {getAllActiveAccountsFromParent} = awsClient.createOrganizationsClient(mockCredentials, EU_WEST_1); - - describe('getAllActiveAccountsFromParent', () => { - - it('should get all accounts from root OU', async () => { - const sandbox = sinon.createSandbox({ - useFakeTimers: true - }); - const mockOrganizationsClient = mockClient(OrganizationsClient, {sandbox}); - - mockOrganizationsClient - .on(ListRootsCommand) - .resolves({ - Roots: [ - { - Id: 'r-xxxx', - } - ] - }); - - mockOrganizationsClient - .on(DescribeOrganizationCommand) - .resolves({ - Organization: { - MasterAccountId: 'xxxxxxxxxxxx' - } - }); - - mockOrganizationsClient - .on(ListAccountsCommand) - .resolvesOnce({ - Accounts: [ - {Id: 'xxxxxxxxxxxx', Status: 'ACTIVE'}, - {Id: 'yyyyyyyyyyyy', Status: 'ACTIVE'} - ], - NextToken: 'token' - }) - .resolves({ - Accounts: [ - {Id: 'zzzzzzzzzzzz', Status: 'ACTIVE'}, - {Id: 'inactive', Status: 'SUSPENDED'} - ], - }); - - const actualP = getAllActiveAccountsFromParent('r-xxxx'); - - await sandbox.clock.tickAsync(2000); - - assert.deepEqual(await actualP, [ - { - Id: 'xxxxxxxxxxxx', - Status: 'ACTIVE', - isManagementAccount: true - }, - { - Id: 'yyyyyyyyyyyy', - Status: 'ACTIVE' - }, - { - Id: 'zzzzzzzzzzzz', - Status: 'ACTIVE' - } - ]); - - sandbox.clock.restore(); - }); - - it('should get all accounts from non-root OU', async () => { - const sandbox = sinon.createSandbox({ - useFakeTimers: true - }); - const mockOrganizationsClient = mockClient(OrganizationsClient, {sandbox}); - - mockOrganizationsClient - .on(ListRootsCommand) - .resolves({ - Roots: [ - { - Id: 'r-xxxx', - } - ] - }); - - mockOrganizationsClient - .on(DescribeOrganizationCommand) - .resolves({ - Organization: { - MasterAccountId: 'xxxxxxxxxxxx' - } - }); - - const orgUnits = { - 'ou-xxxx-1111111': { - OrganizationalUnits: [ - {Id: 'ou-xxxx-2222222'}, - {Id: 'ou-xxxx-3333333'}, - ], - NextToken: 'ou-xxxx-1111111-token' - }, - 'ou-xxxx-1111111-token': { - OrganizationalUnits: [ - {Id: 'ou-xxxx-4444444'} - ] - }, - 'ou-xxxx-2222222': { - OrganizationalUnits: [ - {Id: 'ou-xxxx-5555555'} - ] - }, - 'ou-xxxx-3333333': { - OrganizationalUnits: [] - }, - 'ou-xxxx-4444444': { - OrganizationalUnits: [] - }, - 'ou-xxxx-5555555': { - OrganizationalUnits: [ - {Id: 'ou-xxxx-6666666'} - ] - }, - 'ou-xxxx-6666666': { - OrganizationalUnits: [] - }, - } - - mockOrganizationsClient - .on(ListOrganizationalUnitsForParentCommand) - .callsFake(({ParentId, NextToken}) => { - if(NextToken != null) return orgUnits[NextToken]; - return orgUnits[ParentId]; - }); - - const orgUnitAccounts = { - 'ou-xxxx-1111111': { - Accounts: [ - {Id: 'aaaaaaaaaaaa', Status: 'ACTIVE'}, - {Id: 'bbbbbbbbbbbb', Status: 'ACTIVE'}, - ], - NextToken: 'ou-xxxx-1111111-token' - }, - 'ou-xxxx-1111111-token': { - Accounts: [ - {Id: 'cccccccccccc', Status: 'ACTIVE'}, - {Id: 'dddddddddddd', Status: 'SUSPENDED'}, - ], - }, - 'ou-xxxx-2222222': { - Accounts: [ - {Id: 'eeeeeeeeeeee', Status: 'ACTIVE'}, - {Id: 'ffffffffffff', Status: 'ACTIVE'}, - ] - }, - 'ou-xxxx-3333333': { - Accounts: [ - {Id: 'gggggggggggg', Status: 'ACTIVE'}, - {Id: 'hhhhhhhhhhhh', Status: 'ACTIVE'}, - ] - }, - 'ou-xxxx-4444444': { - Accounts: [ - {Id: 'iiiiiiiiiiii', Status: 'ACTIVE'} - ] - }, - 'ou-xxxx-5555555': { - Accounts: [ - {Id: 'jjjjjjjjjjjj', Status: 'ACTIVE'}, - {Id: 'kkkkkkkkkkkk', Status: 'SUSPENDED'}, - {Id: 'llllllllllll', Status: 'PENDING_CLOSURE'} - ] - }, - 'ou-xxxx-6666666': { - Accounts: [] - }, - }; - - mockOrganizationsClient - .on(ListAccountsForParentCommand) - .callsFake(({ParentId, NextToken}) => { - if(NextToken != null) return orgUnitAccounts[NextToken]; - if(ParentId != null) return orgUnitAccounts[ParentId]; - }); - - const actualP = getAllActiveAccountsFromParent('ou-xxxx-1111111'); - - await sandbox.clock.tickAsync(30000); - - assert.deepEqual(await actualP, [ - { - 'Id': 'aaaaaaaaaaaa', - 'Status': 'ACTIVE' - }, - { - 'Id': 'bbbbbbbbbbbb', - 'Status': 'ACTIVE' - }, - { - 'Id': 'cccccccccccc', - 'Status': 'ACTIVE' - }, - { - 'Id': 'eeeeeeeeeeee', - 'Status': 'ACTIVE' - }, - { - 'Id': 'ffffffffffff', - 'Status': 'ACTIVE' - }, - { - 'Id': 'gggggggggggg', - 'Status': 'ACTIVE' - }, - { - 'Id': 'hhhhhhhhhhhh', - 'Status': 'ACTIVE' - }, - { - 'Id': 'iiiiiiiiiiii', - 'Status': 'ACTIVE' - }, - { - 'Id': 'jjjjjjjjjjjj', - 'Status': 'ACTIVE' - } - ]); - - sandbox.clock.restore(); - }); - - }); - - }); - - describe('snsClient', () => { - const {getAllSubscriptions} = awsClient.createSnsClient(mockCredentials, EU_WEST_1); - - describe('getAllSubscriptions', () => { - - it('should list all sns subscriptions', async () => { - const mockSnsClient = mockClient(SNSClient); - - const snsSubscription = { - firstPage: { - Subscriptions: [ - {SubscriptionArn: 'SubscriptionArn1'}, - {SubscriptionArn: 'SubscriptionArn2'}, - ], - NextToken: 'listSnsToken' - }, - listSnsToken: { - Subscriptions: [ - {SubscriptionArn: 'SubscriptionArn3'}, - {SubscriptionArn: 'SubscriptionArn4'} - ] - } - } - - mockSnsClient - .on(ListSubscriptionsCommand) - .callsFake(({NextToken}) => { - if(NextToken != null) return snsSubscription[NextToken]; - return snsSubscription.firstPage; - }); - - const actual = await getAllSubscriptions(); - assert.deepEqual(actual, [ - { - SubscriptionArn: 'SubscriptionArn1' - }, - { - SubscriptionArn: 'SubscriptionArn2' - }, - { - SubscriptionArn: 'SubscriptionArn3' - }, - { - SubscriptionArn: 'SubscriptionArn4' - } - ]); - }); - - }); - }); - - describe('stsClient', () => { - const { - getCredentials, - getCurrentCredentials - } = awsClient.createStsClient(mockCredentials, EU_WEST_1); - - describe('getAllAttachedAwsManagedPolices', () => { - - it('should get credentials for role', async () => { - const mockStsClient = mockClient(STSClient); - - const credentials = { - role: { - Credentials: { - AccessKeyId: 'accessKeyId', - SecretAccessKey: 'secretAccessKey', - SessionToken: 'optionalSessionToken' - } - } - }; - - mockStsClient - .on(AssumeRoleCommand) - .callsFake(({RoleArn}) => { - return credentials[RoleArn]; - }); - - const actual = await getCredentials('role'); - - assert.deepEqual(actual, { - accessKeyId: 'accessKeyId', - secretAccessKey: 'secretAccessKey', - sessionToken: 'optionalSessionToken' - }); - }); - - describe('getCurrentCredentials', () => { - - before(() => { - process.env.AWS_ACCESS_KEY_ID = 'accessKeyEnv'; - process.env.AWS_SECRET_ACCESS_KEY = 'secretAccessKeyEnv'; - }); - - after(() => { - delete process.env.AWS_ACCESS_KEY_ID; - delete process.env.AWS_SECRET_ACCESS_KEY; - }); - - it('should get credentials for role', async () => { - const actual = await getCurrentCredentials(); - - assert.deepEqual(actual, { - accessKeyId: 'accessKeyEnv', - secretAccessKey: 'secretAccessKeyEnv' - }); - }); - - }); - - }); - }); -}); \ No newline at end of file diff --git a/source/backend/discovery/test/createResourceAndRelationshipDeltas.js b/source/backend/discovery/test/createResourceAndRelationshipDeltas.js deleted file mode 100644 index c91b4a7e..00000000 --- a/source/backend/discovery/test/createResourceAndRelationshipDeltas.js +++ /dev/null @@ -1,340 +0,0 @@ -// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 - -const {assert} = require('chai'); -const R = require('ramda'); -const { - AWS_API_GATEWAY_METHOD, - AWS_EKS_NODE_GROUP, - AWS_API_GATEWAY_RESOURCE, - AWS_ELASTIC_LOAD_BALANCING_V2_TARGET_GROUP, - AWS_EC2_SPOT, - AWS_IAM_AWS_MANAGED_POLICY, - AWS_ECS_TASK, - AWS_EC2_INSTANCE, - AWS_EC2_VPC, - AWS_IAM_ROLE, - CONTAINS, - IS_CONTAINED_IN, - IS_ASSOCIATED_WITH, - VPC, - AWS_LAMBDA_FUNCTION, - AWS_RDS_DB_CLUSTER, - AWS_RDS_DB_INSTANCE, - AWS_SNS_TOPIC, - AWS_SQS_QUEUE -} = require('../src/lib/constants'); -const {generate, generateBaseResource, generateRandomInt} = require('./generator'); -const createResourceAndRelationshipDeltas = require('../src/lib/createResourceAndRelationshipDeltas'); - -describe('createResourceAndRelationshipDeltas', () => { - - describe('resources', () => { - - it('should calculate sdk discovered resource updates and ignore unchanged resources', async () => { - const {dbResources, resources} = require('./fixtures/createResourceAndRelationshipDeltas/resources/sdkResources.json'); - - const dbResourcesMap = Object.values(dbResources) - .reduce((acc, item) => { - acc.set(item.id, item); - return acc; - }, new Map()); - - const { - resourceIdsToDelete, resourcesToStore, resourcesToUpdate - } = createResourceAndRelationshipDeltas(dbResourcesMap, new Map(), Object.values(resources)); - - assert.lengthOf(resourceIdsToDelete, 0); - assert.lengthOf(resourcesToStore, 0); - - const actualUpdateEksNg = resourcesToUpdate.find(x => x.md5Hash === resources[AWS_EKS_NODE_GROUP].md5Hash); - assert.deepEqual(actualUpdateEksNg, { - id: resources[AWS_EKS_NODE_GROUP].id, - md5Hash: resources[AWS_EKS_NODE_GROUP].md5Hash, - properties: R.omit(['g'], resources[AWS_EKS_NODE_GROUP].properties) - }); - - const actualUpdateTg = resourcesToUpdate.find(x => x.md5Hash === resources[AWS_ELASTIC_LOAD_BALANCING_V2_TARGET_GROUP].md5Hash); - assert.deepEqual(actualUpdateTg, { - id: resources[AWS_ELASTIC_LOAD_BALANCING_V2_TARGET_GROUP].id, - md5Hash: resources[AWS_ELASTIC_LOAD_BALANCING_V2_TARGET_GROUP].md5Hash, - properties: R.omit(['e'], resources[AWS_ELASTIC_LOAD_BALANCING_V2_TARGET_GROUP].properties) - }); - - - const actualSpotInstance = resourcesToUpdate.find(x => x.md5Hash === resources[AWS_EC2_SPOT].md5Hash); - assert.deepEqual(actualSpotInstance, { - id: resources[AWS_EC2_SPOT].id, - md5Hash: resources[AWS_EC2_SPOT].md5Hash, - properties: R.omit(['i'], resources[AWS_EC2_SPOT].properties) - }); - - const actualManagedPolicy = resourcesToUpdate.find(x => x.md5Hash === resources[AWS_IAM_AWS_MANAGED_POLICY].md5Hash); - assert.deepEqual(actualManagedPolicy, { - id: resources[AWS_IAM_AWS_MANAGED_POLICY].id, - md5Hash: resources[AWS_IAM_AWS_MANAGED_POLICY].md5Hash, - properties: resources[AWS_IAM_AWS_MANAGED_POLICY].properties - }); - - }); - - it('should calculate resources to store for config discovered resources', async () => { - const {dbResources, resources} = require('./fixtures/createResourceAndRelationshipDeltas/resources/storedResources.json'); - - const dbResourcesMap = Object.values(dbResources) - .reduce((acc, item) => { - acc.set(item.id, item); - return acc; - }, new Map()); - - const { - resourcesToStore - } = createResourceAndRelationshipDeltas(dbResourcesMap, new Map(), Object.values(resources)); - - assert.lengthOf(resourcesToStore, 3); - - const actualStoreInstance = resourcesToStore.find(x => x.id === resources[AWS_EC2_INSTANCE].id); - assert.deepEqual(actualStoreInstance, { - id: resources[AWS_EC2_INSTANCE].id, - md5Hash: resources[AWS_EC2_INSTANCE].md5Hash, - label: AWS_EC2_INSTANCE.replace(/::/g, "_"), - properties: resources[AWS_EC2_INSTANCE].properties - }); - - const actualStoreVpc = resourcesToStore.find(x => x.id === resources[AWS_EC2_VPC].id); - assert.deepEqual(actualStoreVpc, { - id: resources[AWS_EC2_VPC].id, - md5Hash: resources[AWS_EC2_VPC].md5Hash, - label: AWS_EC2_VPC.replace(/::/g, "_"), - properties: resources[AWS_EC2_VPC].properties - }); - - const actualStoreRole = resourcesToStore.find(x => x.id === resources[AWS_IAM_ROLE].id); - assert.deepEqual(actualStoreRole, { - id: resources[AWS_IAM_ROLE].id, - md5Hash: resources[AWS_IAM_ROLE].md5Hash, - label: AWS_IAM_ROLE.replace(/::/g, "_"), - properties: resources[AWS_IAM_ROLE].properties - }); - }); - - it('should calculate deleted resources', async () => { - const {dbResources, resources} = require('./fixtures/createResourceAndRelationshipDeltas/resources/deletedResources.json'); - - const dbResourcesMap = Object.values(dbResources) - .reduce((acc, item) => { - acc.set(item.id, item); - return acc; - }, new Map()); - - const { - resourceIdsToDelete - } = createResourceAndRelationshipDeltas(dbResourcesMap, new Map(), Object.values(resources)); - - assert.lengthOf(resourceIdsToDelete, 3); - - assert.include(resourceIdsToDelete, dbResources[AWS_API_GATEWAY_RESOURCE].id); - assert.include(resourceIdsToDelete, dbResources[AWS_API_GATEWAY_METHOD].id); - assert.include(resourceIdsToDelete, dbResources[AWS_ECS_TASK].id); - }); - - it('should calculate resources from Config to update', async () => { - const {dbResources, resources} = require('./fixtures/createResourceAndRelationshipDeltas/resources/configUpdated.json'); - - const dbResourcesMap = Object.values(dbResources) - .reduce((acc, item) => { - acc.set(item.id, item); - return acc; - }, new Map()); - - const { - resourcesToUpdate - } = createResourceAndRelationshipDeltas(dbResourcesMap, new Map(), Object.values(resources)); - - assert.lengthOf(resourcesToUpdate, 2); - - const actualStoreInstance = resourcesToUpdate.find(x => x.id === resources[AWS_EC2_INSTANCE].id); - assert.deepEqual(actualStoreInstance, { - id: resources[AWS_EC2_INSTANCE].id, - md5Hash: resources[AWS_EC2_INSTANCE].md5Hash, - properties: R.omit(['a'], resources[AWS_EC2_INSTANCE].properties) - }); - - const actualStoreVpc = resourcesToUpdate.find(x => x.id === resources[AWS_EC2_VPC].id); - assert.deepEqual(actualStoreVpc, { - id: resources[AWS_EC2_VPC].id, - md5Hash: resources[AWS_EC2_VPC].md5Hash, - properties: resources[AWS_EC2_VPC].properties - }); - }); - - it('should not calculate updates for tags', async () => { - const {dbResources, resources} = require('./fixtures/createResourceAndRelationshipDeltas/resources/tags.json'); - - const dbResourcesMap = Object.values(dbResources) - .reduce((acc, item) => { - acc.set(item.id, item); - return acc; - }, new Map()); - - const { - resourcesToUpdate - } = createResourceAndRelationshipDeltas(dbResourcesMap, new Map(), Object.values(resources)); - - assert.lengthOf(resourcesToUpdate, 0); - }); - }); - - describe('relationships', () => { - - it('should calculate stored relationships', async () => { - const schema = require('./fixtures/createResourceAndRelationshipDeltas/relationships/stored.json'); - const {dbResources, resources} = generate(schema); - - const dbResourcesMap = Object.values(dbResources) - .reduce((acc, item) => { - acc.set(item.id, item); - return acc; - }, new Map()); - - const { - linksToAdd - } = createResourceAndRelationshipDeltas(dbResourcesMap, new Map(), Object.values(resources)); - - const actualVpcRelationship = linksToAdd.find(x => x.source === resources[AWS_EC2_VPC].id); - assert.deepEqual(actualVpcRelationship, { - source: resources[AWS_EC2_VPC].id, - target: resources[AWS_EC2_INSTANCE].id, - label: CONTAINS.toUpperCase().trim() - }); - - const actualEc2Relationship = linksToAdd.find(x => x.source === resources[AWS_EC2_INSTANCE].id); - assert.deepEqual(actualEc2Relationship, { - source: resources[AWS_EC2_INSTANCE].id, - target: resources[AWS_EC2_VPC].id, - label: (`${IS_CONTAINED_IN}${VPC}`).toUpperCase().replace(/ /g, '_') - }); - - }); - - - it('should calculate cross region relationships', async () => { - const schema = require('./fixtures/createResourceAndRelationshipDeltas/relationships/crossRegion.json'); - const {dbResources, resources} = generate(schema); - - const dbResourcesMap = Object.values(dbResources) - .reduce((acc, item) => { - acc.set(item.id, item); - return acc; - }, new Map()); - - const { - linksToAdd - } = createResourceAndRelationshipDeltas(dbResourcesMap, new Map(), Object.values(resources)); - - const actualSqsRelationship = linksToAdd.find(x => x.source === resources[AWS_SNS_TOPIC].id); - assert.deepEqual(actualSqsRelationship, { - source: resources[AWS_SNS_TOPIC].id, - target: resources[AWS_SQS_QUEUE].id, - label: IS_ASSOCIATED_WITH.toUpperCase().trim().replace(/ /g, '_') - }); - - }); - - it('should skip relationships where target has not been discovered', async () => { - const schema = require('./fixtures/createResourceAndRelationshipDeltas/relationships/unknownRelationships.json'); - const {dbResources, resources, eni} = generate(schema); - - const dbResourcesMap = Object.values(dbResources) - .reduce((acc, item) => { - acc.set(item.id, item); - return acc; - }, new Map()); - - const { - linksToAdd - } = createResourceAndRelationshipDeltas(dbResourcesMap, new Map(), Object.values(resources)); - - assert.lengthOf(linksToAdd, 2); - const unknownRelationship = linksToAdd.find(x => x.target === eni.resourceId); - assert.notExists(unknownRelationship); - }); - - it('should handle links to resources that use resourceName', async () => { - const schema = require('./fixtures/createResourceAndRelationshipDeltas/relationships/resourceName.json'); - const {dbResources, resources} = generate(schema); - - const dbResourcesMap = Object.values(dbResources) - .reduce((acc, item) => { - acc.set(item.id, item); - return acc; - }, new Map()); - - const { - linksToAdd - } = createResourceAndRelationshipDeltas(dbResourcesMap, new Map(), Object.values(resources)); - - const actualRoleRelationship = linksToAdd.find(x => x.source === resources[AWS_LAMBDA_FUNCTION].id); - assert.deepEqual(actualRoleRelationship, { - source: resources[AWS_LAMBDA_FUNCTION].id, - target: resources[AWS_IAM_ROLE].id, - label: `${IS_ASSOCIATED_WITH}Role`.toUpperCase().replace(/ /g, '_') - }); - - const actualDbInstanceRelationship = linksToAdd.find(x => x.source === resources[AWS_RDS_DB_CLUSTER].id); - assert.deepEqual(actualDbInstanceRelationship, { - source: resources[AWS_RDS_DB_CLUSTER].id, - target: resources[AWS_RDS_DB_INSTANCE].id, - label: CONTAINS.trim().toUpperCase() - }); - }); - - it('should skip relationships that are already present in db', async () => { - const schema = require('./fixtures/createResourceAndRelationshipDeltas/relationships/unchanged.json'); - const {dbResources, dbRelationships, resources} = generate(schema); - - const dbRelationshipsMap = Object.values(dbRelationships).reduce((acc,item) => { - acc.set(`${item.source}_${item.label}_${item.target}`, item); - return acc; - }, new Map()); - - const dbResourcesMap = Object.values(dbResources) - .reduce((acc, item) => { - acc.set(item.id, item); - return acc; - }, new Map()); - - const { - linksToAdd, linksToDelete - } = createResourceAndRelationshipDeltas(dbResourcesMap, dbRelationshipsMap, Object.values(resources)); - - assert.lengthOf(linksToAdd, 0) - assert.lengthOf(linksToDelete, 0); - }); - - it('should handle relationships that have been deleted', async () => { - const schema = require('./fixtures/createResourceAndRelationshipDeltas/relationships/deleted.json'); - const {dbResources, dbRelationships, resources} = generate(schema); - - const dbRelationshipsMap = Object.values(dbRelationships).reduce((acc,item) => { - acc.set(`${item.source}_${item.label}_${item.target}`, item); - return acc; - }, new Map()); - - const dbResourcesMap = Object.values(dbResources) - .reduce((acc, item) => { - acc.set(item.id, item); - return acc; - }, new Map()); - - const { - linksToDelete - } = createResourceAndRelationshipDeltas(dbResourcesMap, dbRelationshipsMap, Object.values(resources)); - - assert.include(linksToDelete, dbRelationships[AWS_EC2_INSTANCE].id); - assert.include(linksToDelete, dbRelationships[AWS_EC2_VPC].id);; - }); - - }); - -}); \ No newline at end of file diff --git a/source/backend/discovery/test/fixtures/createResourceAndRelationshipDeltas/resources/configUpdated.json b/source/backend/discovery/test/fixtures/createResourceAndRelationshipDeltas/resources/configUpdated.json index ad90e2c2..e422d09b 100644 --- a/source/backend/discovery/test/fixtures/createResourceAndRelationshipDeltas/resources/configUpdated.json +++ b/source/backend/discovery/test/fixtures/createResourceAndRelationshipDeltas/resources/configUpdated.json @@ -26,6 +26,14 @@ "c": "roleProp", "configurationItemCaptureTime": "2022-06-19T18:37:53.652Z" } + }, + "AWS::S3::Bucket": { + "id": "bucketArn", + "md5Hash": "", + "resourceType": "AWS::S3::Bucket", + "properties": { + "configurationItemCaptureTime": "2022-06-19T18:37:53.652Z" + } } }, "resources": { @@ -56,6 +64,15 @@ "c": "roleProp", "configurationItemCaptureTime": "2022-06-19T18:37:53.652Z" } + }, + "AWS::S3::Bucket": { + "id": "bucketArn", + "md5Hash": "", + "resourceType": "AWS::S3::Bucket", + "properties": { + "configurationItemCaptureTime": "2022-06-19T18:37:53.652Z", + "supplementaryConfiguration": {} + } } } } \ No newline at end of file diff --git a/source/backend/discovery/test/fixtures/relationships/asg/networking.json b/source/backend/discovery/test/fixtures/relationships/asg/networking.json index 6ce08b9e..6de2f178 100644 --- a/source/backend/discovery/test/fixtures/relationships/asg/networking.json +++ b/source/backend/discovery/test/fixtures/relationships/asg/networking.json @@ -3,6 +3,8 @@ "accountId": "xxxxxxxxxxxx", "region": "eu-west-2", "subnet": { + "id1": "subnet-0123456789abcdef", + "id2": "subnet-9876543210fedcba", "resourceType": "AWS::EC2::Subnet", "relationshipName": "Is contained in Subnet" } @@ -12,7 +14,7 @@ }, "subnet1": { "id": "${subnet1.arn}", - "arn": "subnet1Arn", + "arn": "arn:aws:ec2:${$constants.region}:${$constants.accountId}:subnet/${$constants.subnet.id1}", "accountId": "${$constants.accountId}", "awsRegion": "${$constants.region}", "availabilityZone": "${$constants.region}a", @@ -25,7 +27,7 @@ }, "subnet2": { "id": "${subnet2.arn}", - "arn": "subnet2Arn", + "arn": "arn:aws:ec2:${$constants.region}:${$constants.accountId}:subnet/${$constants.subnet.id2}", "accountId": "${$constants.accountId}", "awsRegion": "${$constants.region}", "availabilityZone": "${$constants.region}b", diff --git a/source/backend/discovery/test/fixtures/relationships/codebuild/project/vpc.json b/source/backend/discovery/test/fixtures/relationships/codebuild/project/vpc.json index e0330c80..3e3d431e 100644 --- a/source/backend/discovery/test/fixtures/relationships/codebuild/project/vpc.json +++ b/source/backend/discovery/test/fixtures/relationships/codebuild/project/vpc.json @@ -3,8 +3,10 @@ "accountId": "xxxxxxxxxxxx", "region": "eu-west-2", "subnet": { + "id1": "subnet-0123456789abcdef", + "id2": "subnet-9876543210fedcba", "resourceType": "AWS::EC2::Subnet", - "relationshipName": "Is associated with " + "relationshipName": "Is contained in " } }, "vpc": { @@ -12,12 +14,12 @@ }, "subnet1": { "id": "${subnet1.arn}", - "arn": "subnet1Arn", + "arn": "arn:aws:ec2:${$constants.region}:${$constants.accountId}:subnet/${$constants.subnet.id1}", "accountId": "${$constants.accountId}", "awsRegion": "${$constants.region}", "availabilityZone": "${$constants.region}a", "resourceType": "${$constants.subnet.resourceType}", - "resourceId": "subnet-0123456789abcdef", + "resourceId": "${$constants.subnet.id1}", "configuration": { "vpcId": "${vpc.resourceId}" }, @@ -25,12 +27,12 @@ }, "subnet2": { "id": "${subnet2.arn}", - "arn": "subnet2Arn", + "arn": "arn:aws:ec2:${$constants.region}:${$constants.accountId}:subnet/${$constants.subnet.id2}", "accountId": "${$constants.accountId}", "awsRegion": "${$constants.region}", "availabilityZone": "${$constants.region}b", "resourceType": "${$constants.subnet.resourceType}", - "resourceId": "subnet-9876543210fedcba", + "resourceId": "${$constants.subnet.id2}", "configuration": { "vpcId": "${vpc.resourceId}" }, diff --git a/source/backend/discovery/test/fixtures/relationships/ecs/service/alb.json b/source/backend/discovery/test/fixtures/relationships/ecs/service/alb.json index bf8434b0..17466d7e 100644 --- a/source/backend/discovery/test/fixtures/relationships/ecs/service/alb.json +++ b/source/backend/discovery/test/fixtures/relationships/ecs/service/alb.json @@ -3,6 +3,9 @@ "accountId": "xxxxxxxxxxxx", "region": "eu-west-2" }, + "alb": { + "arn": "arn:aws:elasticloadbalancing:${$constants.region}:${$constants.accountId}:loadbalancer/app/test-alb/625c448c55eae07c" + }, "ecsServiceRole": { "id": "${ecsServiceRole.arn}", "arn": "arn:aws:iam::${$constants.accountId}:role/testRole", @@ -34,7 +37,7 @@ "TaskDefinition": "${ecsTaskDefinition.arn}", "LoadBalancers": [ { - "TargetGroupArn": "arn:aws:elasticloadbalancing:${$constants.region}:${$constants.accountId}:loadbalancer/app/test-alb/625c448c55eae07c" + "TargetGroupArn": "${alb.arn}" } ] } diff --git a/source/backend/discovery/test/fixtures/relationships/ecs/service/vpc.json b/source/backend/discovery/test/fixtures/relationships/ecs/service/vpc.json index 2e35af01..eba639e5 100644 --- a/source/backend/discovery/test/fixtures/relationships/ecs/service/vpc.json +++ b/source/backend/discovery/test/fixtures/relationships/ecs/service/vpc.json @@ -3,7 +3,10 @@ "accountId": "xxxxxxxxxxxx", "region": "eu-west-2", "subnet": { - "resourceType": "AWS::EC2::Subnet" + "id1": "subnet-0123456789abcdef", + "id2": "subnet-9876543210fedcba", + "resourceType": "AWS::EC2::Subnet", + "relationshipName": "Is contained in " } }, "vpc": { @@ -11,7 +14,7 @@ }, "subnet1": { "id": "${subnet1.arn}", - "arn": "subnet1Arn", + "arn": "arn:aws:ec2:${$constants.region}:${$constants.accountId}:subnet/${$constants.subnet.id1}", "accountId": "${$constants.accountId}", "awsRegion": "${$constants.region}", "availabilityZone": "${$constants.region}a", @@ -24,7 +27,7 @@ }, "subnet2": { "id": "${subnet2.arn}", - "arn": "subnet2Arn", + "arn": "arn:aws:ec2:${$constants.region}:${$constants.accountId}:subnet/${$constants.subnet.id2}", "accountId": "${$constants.accountId}", "availabilityZone": "${$constants.region}b", "awsRegion": "${$constants.region}", diff --git a/source/backend/discovery/test/fixtures/relationships/ecs/taskDefinitions/efsAp.json b/source/backend/discovery/test/fixtures/relationships/ecs/taskDefinitions/efsAp.json deleted file mode 100644 index 49e7d257..00000000 --- a/source/backend/discovery/test/fixtures/relationships/ecs/taskDefinitions/efsAp.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "$constants": { - "accountId": "${$constants.accountId}", - "region": "eu-west-2" - }, - "efsAp": { - "resourceId": "efsApResourceId" - }, - "ecsTaskDefinition": { - "id": "${ecsTaskDefinition.arn}", - "resourceId": "ecsTaskDefinitionResourceId", - "accountId": "${$constants.accountId}", - "awsRegion": "${$constants.awsRegion}", - "arn": "ecsTaskDefinitionArn", - "resourceType": "AWS::ECS::TaskDefinition", - "relationships": [], - "configuration": { - "ContainerDefinitions": [], - "Volumes": [ - { - "EfsVolumeConfiguration": { - "AuthorizationConfig": { - "AccessPointId": "${efsAp.resourceId}" - } - } - } - ] - } - } -} \ No newline at end of file diff --git a/source/backend/discovery/test/fixtures/relationships/ecs/taskDefinitions/efsFs.json b/source/backend/discovery/test/fixtures/relationships/ecs/taskDefinitions/efsFs.json deleted file mode 100644 index 37dd0e88..00000000 --- a/source/backend/discovery/test/fixtures/relationships/ecs/taskDefinitions/efsFs.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "$constants": { - "accountId": "${$constants.accountId}", - "region": "eu-west-2" - }, - "efsFs": { - "resourceId": "efsFsResourceId" - }, - "ecsTaskDefinition": { - "id": "${ecsTaskDefinition.arn}", - "resourceId": "ecsTaskDefinitionResourceId", - "accountId": "${$constants.accountId}", - "awsRegion": "${$constants.awsRegion}", - "arn": "ecsTaskDefinitionArn", - "resourceType": "AWS::ECS::TaskDefinition", - "relationships": [], - "configuration": { - "ContainerDefinitions": [], - "Volumes": [ - { - "EfsVolumeConfiguration": { - "FileSystemId": "${efsFs.resourceId}" - } - } - ] - } - } -} \ No newline at end of file diff --git a/source/backend/discovery/test/fixtures/relationships/ecs/taskDefinitions/nonexistentRoles.json b/source/backend/discovery/test/fixtures/relationships/ecs/taskDefinitions/nonexistentRoles.json deleted file mode 100644 index bc18dc1b..00000000 --- a/source/backend/discovery/test/fixtures/relationships/ecs/taskDefinitions/nonexistentRoles.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "$constants": { - "accountId": "${$constants.accountId}" - }, - "ecsTaskDefinition": { - "resourceId": "arn:aws:ecs:eu-west-2:${$constants.accountId}:task-definition/hello_world", - "arn": "arn:aws:ecs:eu-west-2:123456789012:task-definition/hello_world:1", - "resourceType": "AWS::ECS::TaskDefinition", - "relationships": [], - "configuration": { - "TaskRoleArn": "arn:aws:iam::${$constants.accountId}:role/deletedTaskRole", - "ExecutionRoleArn": "arn:aws:iam::${$constants.accountId}:role/deletedTaskExecutionRole", - "ContainerDefinitions": [], - "Volumes": [] - } - } -} \ No newline at end of file diff --git a/source/backend/discovery/test/fixtures/relationships/eks/cluster/networking.json b/source/backend/discovery/test/fixtures/relationships/eks/cluster/networking.json index 616bae33..317b9489 100644 --- a/source/backend/discovery/test/fixtures/relationships/eks/cluster/networking.json +++ b/source/backend/discovery/test/fixtures/relationships/eks/cluster/networking.json @@ -1,7 +1,13 @@ { "$constants": { "accountId": "xxxxxxxxxxxx", - "region": "eu-west-2" + "region": "eu-west-2", + "subnet": { + "id1": "subnet-11111111111111111", + "id2": "subnet-22222222222222222", + "resourceType": "AWS::EC2::Subnet", + "relationshipName": "Is contained in " + } }, "vpc": { "resourceId": "vpc-0123456789abcdef0", @@ -19,13 +25,13 @@ }, "subnet1": { "id": "${subnet1.arn}", - "arn": "subnet1Arn", + "arn": "arn:aws:ec2:${$constants.region}:${$constants.accountId}:subnet/${$constants.subnet.id1}", "availabilityZone": "${$constants.region}a", "awsRegion": "${$constants.region}", - "resourceId": "subnet-11111111111111111", + "resourceId": "${$constants.subnet.id1}", "accountId": "${$constants.accountId}", "vpcId": "${vpc.resourceId}", - "resourceType": "AWS::EC2::Subnet", + "resourceType": "${$constants.subnet.resourceType}", "configuration": { "vpcId": "${vpc.resourceId}" }, @@ -34,12 +40,12 @@ }, "subnet2": { "id": "${subnet2.arn}", - "arn": "subnet2Arn", - "resourceId": "subnet-22222222222222222", + "arn": "arn:aws:ec2:${$constants.region}:${$constants.accountId}:subnet/${$constants.subnet.id2}", + "resourceId": "${$constants.subnet.id2}", "awsRegion": "${$constants.region}", "availabilityZone": "${$constants.region}b", "accountId": "${$constants.accountId}", - "resourceType": "AWS::EC2::Subnet", + "resourceType": "${$constants.subnet.resourceType}", "configuration": { "vpcId": "${vpc.resourceId}" }, diff --git a/source/backend/discovery/test/fixtures/relationships/eks/cluster/securityGroup.json b/source/backend/discovery/test/fixtures/relationships/eks/cluster/securityGroup.json index 6ad7f582..f37b0af8 100644 --- a/source/backend/discovery/test/fixtures/relationships/eks/cluster/securityGroup.json +++ b/source/backend/discovery/test/fixtures/relationships/eks/cluster/securityGroup.json @@ -13,11 +13,16 @@ "attachedManagedPolicies": [] } }, - "securityGroup": { + "securityGroup1": { "resourceId": "sg-0123456789abcdef0", "configuration": {}, "relationships": [] }, + "securityGroup2": { + "resourceId": "sg-111111111111111111", + "configuration": {}, + "relationships": [] + }, "cluster": { "id": "${cluster.arn}", "accountId": "${$constants.accountId}", @@ -29,9 +34,10 @@ "availabilityZone": "Regional", "relationships": [], "configuration": { + "ClusterSecurityGroupId": "${securityGroup2.resourceId}", "ResourcesVpcConfig": { "SecurityGroupIds": [ - "${securityGroup.resourceId}" + "${securityGroup1.resourceId}" ], "SubnetIds": [] }, diff --git a/source/backend/discovery/test/fixtures/relationships/eks/nodeGroup/networking.json b/source/backend/discovery/test/fixtures/relationships/eks/nodeGroup/networking.json index 17e30cc4..c2fd2468 100644 --- a/source/backend/discovery/test/fixtures/relationships/eks/nodeGroup/networking.json +++ b/source/backend/discovery/test/fixtures/relationships/eks/nodeGroup/networking.json @@ -2,7 +2,13 @@ "$constants": { "accountId": "xxxxxxxxxxxx", "region": "eu-west-2", - "clusterName": "my-eks-cluster" + "clusterName": "my-eks-cluster", + "subnet": { + "id1": "subnet-11111111111111111", + "id2": "subnet-22222222222222222", + "resourceType": "AWS::EC2::Subnet", + "relationshipName": "Is contained in " + } }, "vpc": { "resourceId": "vpc-0123456789abcdef0", @@ -20,12 +26,12 @@ }, "subnet1": { "id": "${subnet1.arn}", - "arn": "subnet1Arn", + "arn": "arn:aws:ec2:${$constants.region}:${$constants.accountId}:subnet/${$constants.subnet.id1}", "availabilityZone": "${$constants.region}a", "awsRegion": "${$constants.region}", - "resourceId": "subnet-11111111111111111", + "resourceId": "${$constants.subnet.id1}", "accountId": "${$constants.accountId}", - "resourceType": "AWS::EC2::Subnet", + "resourceType": "${$constants.subnet.resourceType}", "configuration": { "vpcId": "${vpc.resourceId}" }, @@ -33,13 +39,12 @@ }, "subnet2": { "id": "${subnet2.arn}", - "arn": "subnet2Arn", - "resourceId": "subnet-22222222222222222", + "arn": "arn:aws:ec2:${$constants.region}:${$constants.accountId}:subnet/${$constants.subnet.id2}", + "resourceId": "${$constants.subnet.id2}", "awsRegion": "${$constants.region}", "availabilityZone": "${$constants.region}b", "accountId": "${$constants.accountId}", - "vpcId": "${vpc.resourceId}", - "resourceType": "AWS::EC2::Subnet", + "resourceType": "${$constants.subnet.resourceType}", "configuration": { "vpcId": "${vpc.resourceId}" }, diff --git a/source/backend/discovery/test/fixtures/relationships/eni/alb.json b/source/backend/discovery/test/fixtures/relationships/eni/alb.json index 4f661dda..204512bc 100644 --- a/source/backend/discovery/test/fixtures/relationships/eni/alb.json +++ b/source/backend/discovery/test/fixtures/relationships/eni/alb.json @@ -1,19 +1,27 @@ { + "$constants": { + "accountId": "xxxxxxxxxxxx", + "awsRegion": "eu-west-2" + }, "vpc": { "resourceId": "vpc-0123456789abcdef0" }, "subnet": { "resourceId": "subnet-0123456789abcdef0" }, + "alb": { + "qualifier": "app/my-alb/1feef78b6a10bcd5", + "arn": "arn:aws:elasticloadbalancing:${$constants.awsRegion}:${$constants.accountId}:loadbalancer/${alb.qualifier}" + }, "eni": { "accountId": "xxxxxxxxxxxx", - "awsRegion": "eu-west-1", + "awsRegion": "${$constants.awsRegion}", "relationships": [], "resourceType": "AWS::EC2::NetworkInterface", "resourceId": "eni-0123456789abcdef0", "configuration": { "requesterId": "amazon-elasticsearch", - "description": "ELB app/my-alb/1feef78b6a10bcd5", + "description": "ELB ${alb.qualifier}", "vpcId": "${vpc.resourceId}", "subnetId": "${subnet.resourceId}" } diff --git a/source/backend/discovery/test/fixtures/relationships/eni/opensearch.json b/source/backend/discovery/test/fixtures/relationships/eni/opensearch.json index d744a0d8..c9e8659a 100644 --- a/source/backend/discovery/test/fixtures/relationships/eni/opensearch.json +++ b/source/backend/discovery/test/fixtures/relationships/eni/opensearch.json @@ -1,18 +1,27 @@ { + "$constants": { + "accountId": "xxxxxxxxxxxx", + "awsRegion": "eu-west-2" + }, "vpc": { "resourceId": "vpc-0123456789abcdef0" }, "subnet": { "resourceId": "subnet-0123456789abcdef0" }, + "opensearch": { + "resourceId": "test-cluster", + "arn": "arn:aws:es:${$constants.awsRegion}:${$constants.accountId}:domain/${opensearch.resourceId}" + }, "eni": { "accountId": "xxxxxxxxxxxx", + "awsRegion": "${$constants.awsRegion}", "relationships": [], "resourceType": "AWS::EC2::NetworkInterface", "resourceId": "eni-0123456789abcdef0", "configuration": { "requesterId": "amazon-elasticsearch", - "description": "ES test-elasticsearch-cluster", + "description": "ES ${opensearch.resourceId}", "vpcId": "${vpc.resourceId}", "subnetId": "${subnet.resourceId}" } diff --git a/source/backend/discovery/test/fixtures/relationships/lambda/efs.json b/source/backend/discovery/test/fixtures/relationships/lambda/efs.json index 8100f055..9bdc84da 100644 --- a/source/backend/discovery/test/fixtures/relationships/lambda/efs.json +++ b/source/backend/discovery/test/fixtures/relationships/lambda/efs.json @@ -6,35 +6,52 @@ "resourceType": "AWS::Lambda::Function" }, "subnet": { - "resourceType": "AWS::EC2::Subnet" + "id1": "subnet-0123456789abcdef", + "id2": "subnet-9876543210fedcba", + "resourceType": "AWS::EC2::Subnet", + "relationshipName": "Is contained in " } }, "subnet1": { "id": "${subnet1.arn}", - "arn": "subnet1Arn", + "arn": "arn:aws:ec2:${$constants.region}:${$constants.accountId}:subnet/${$constants.subnet.id1}", "accountId": "${$constants.accountId}", + "awsRegion": "${$constants.region}", "availabilityZone": "${$constants.region}a", - "vpcId": "vpc-0123456789abcdef0", "resourceType": "${$constants.subnet.resourceType}", "resourceId": "subnet-0123456789abcdef", - "configuration": {}, + "configuration": { + "vpcId": "vpc-0123456789abcdef0" + }, "relationships": [] }, "subnet2": { "id": "${subnet2.arn}", - "arn": "subnet2Arn", + "arn": "arn:aws:ec2:${$constants.region}:${$constants.accountId}:subnet/${$constants.subnet.id2}", "accountId": "${$constants.accountId}", + "awsRegion": "${$constants.region}", "availabilityZone": "${$constants.region}b", - "vpcId": "vpc-0123456789abcdef0", "resourceType": "${$constants.subnet.resourceType}", "resourceId": "subnet-9876543210fedcba", - "configuration": {}, + "configuration": { + "vpcId": "vpc-0123456789abcdef0" + }, "relationships": [] }, - "efs": { + "efs1": { "id": "${efs.arn}", "accountId": "${$constants.accountId}", - "arn": "efsApArn", + "arn": "efsApArn1", + "awsRegion": "${$constants.region}", + "resourceId": "fsap-0123456789abcdef0", + "resourceType": "AWS::EFS::AccessPoint", + "relationships": [], + "configuration": {} + }, + "efs2": { + "id": "${efs.arn}", + "accountId": "${$constants.accountId}", + "arn": "efsApArn2", "awsRegion": "${$constants.region}", "resourceId": "fsap-0123456789abcdef0", "resourceType": "AWS::EFS::AccessPoint", @@ -44,22 +61,31 @@ "lambda": { "id": "${lambda.arn}", "arn": "lambdaArn", + "awsRegion": "${$constants.region}", "resourceId": "testLambdaFunc", "accountId": "${$constants.accountId}", "resourceType": "${$constants.lambda.resourceType}", - "relationships": [], - "configuration": { - "vpcConfig": { - "subnetIds": [ - "${subnet1.resourceId}", - "${subnet2.resourceId}" - ] + "relationships": [ + { + "resourceId": "${subnet1.resourceId}", + "resourceType": "${$constants.subnet.resourceType}", + "relationshipName": "${$constants.subnet.relationshipName}" }, + { + "resourceId": "${subnet2.resourceId}", + "resourceType": "${$constants.subnet.resourceType}", + "relationshipName": "${$constants.subnet.relationshipName}" + } + ], + "configuration": { "fileSystemConfigs": [ { - "arn": "${efs.arn}" + "arn": "${efs1.arn}" + }, + { + "arn": "${efs2.arn}" } ] } } -} \ No newline at end of file +} diff --git a/source/backend/discovery/test/fixtures/relationships/lambda/vpc.json b/source/backend/discovery/test/fixtures/relationships/lambda/vpc.json index 4a59baea..e42bceea 100644 --- a/source/backend/discovery/test/fixtures/relationships/lambda/vpc.json +++ b/source/backend/discovery/test/fixtures/relationships/lambda/vpc.json @@ -6,6 +6,8 @@ "resourceType": "AWS::Lambda::Function" }, "subnet": { + "id1": "subnet-0123456789abcdef", + "id2": "subnet-9876543210fedcba", "resourceType": "AWS::EC2::Subnet", "relationshipName": "Is contained in " } @@ -15,12 +17,12 @@ }, "subnet1": { "id": "${subnet1.arn}", - "arn": "subnet1Arn", + "arn": "arn:aws:ec2:${$constants.region}:${$constants.accountId}:subnet/${$constants.subnet.id1}", "accountId": "${$constants.accountId}", "awsRegion": "${$constants.region}", "availabilityZone": "${$constants.region}a", "resourceType": "${$constants.subnet.resourceType}", - "resourceId": "subnet-0123456789abcdef", + "resourceId": "${$constants.subnet.id1}", "configuration": { "vpcId": "${vpc.resourceId}" }, @@ -28,12 +30,12 @@ }, "subnet2": { "id": "${subnet2.arn}", - "arn": "subnet2Arn", + "arn": "arn:aws:ec2:${$constants.region}:${$constants.accountId}:subnet/${$constants.subnet.id2}", "accountId": "${$constants.accountId}", "awsRegion": "${$constants.region}", "availabilityZone": "${$constants.region}b", "resourceType": "${$constants.subnet.resourceType}", - "resourceId": "subnet-9876543210fedcba", + "resourceId": "${$constants.subnet.id2}", "configuration": { "vpcId": "${vpc.resourceId}" }, @@ -59,13 +61,6 @@ "relationshipName": "${$constants.subnet.relationshipName}" } ], - "configuration": { - "vpcConfig": { - "subnetIds": [ - "${subnet1.resourceId}", - "${subnet2.resourceId}" - ] - } - } + "configuration": {} } } \ No newline at end of file diff --git a/source/backend/discovery/test/fixtures/relationships/msk/serverful.json b/source/backend/discovery/test/fixtures/relationships/msk/serverful.json index c6635689..a96651d2 100644 --- a/source/backend/discovery/test/fixtures/relationships/msk/serverful.json +++ b/source/backend/discovery/test/fixtures/relationships/msk/serverful.json @@ -1,19 +1,25 @@ { "$constants": { "accountId": "xxxxxxxxxxxx", - "region": "eu-west-2" + "region": "eu-west-2", + "subnet": { + "id1": "subnet-11111111111111111", + "id2": "subnet-22222222222222222", + "resourceType": "AWS::EC2::Subnet", + "relationshipName": "Is contained in " + } }, "vpc": { "resourceId": "vpc-0123456789abcdef0" }, "subnet1": { "id": "${subnet1.arn}", - "arn": "subnet1Arn", + "arn": "arn:aws:ec2:${$constants.region}:${$constants.accountId}:subnet/${$constants.subnet.id1}", "availabilityZone": "${$constants.region}a", "awsRegion": "${$constants.region}", - "resourceId": "subnet-11111111111111111", + "resourceId": "${$constants.subnet.id1}", "accountId": "${$constants.accountId}", - "resourceType": "AWS::EC2::Subnet", + "resourceType": "${$constants.subnet.resourceType}", "configuration": { "vpcId": "${vpc.resourceId}" }, @@ -21,12 +27,12 @@ }, "subnet2": { "id": "${subnet2.arn}", - "arn": "subnet2Arn", - "resourceId": "subnet-22222222222222222", + "arn": "arn:aws:ec2:${$constants.region}:${$constants.accountId}:subnet/${$constants.subnet.id2}", + "resourceId": "${$constants.subnet.id2}", "awsRegion": "${$constants.region}", "availabilityZone": "${$constants.region}b", "accountId": "${$constants.accountId}", - "resourceType": "AWS::EC2::Subnet", + "resourceType": "${$constants.subnet.resourceType}", "configuration": { "vpcId": "${vpc.resourceId}" }, diff --git a/source/backend/discovery/test/fixtures/relationships/opensearch/domain/vpc.json b/source/backend/discovery/test/fixtures/relationships/opensearch/domain/vpc.json index 874bf045..5f796747 100644 --- a/source/backend/discovery/test/fixtures/relationships/opensearch/domain/vpc.json +++ b/source/backend/discovery/test/fixtures/relationships/opensearch/domain/vpc.json @@ -1,16 +1,44 @@ { "$constants": { "accountId": "xxxxxxxxxxxx", - "region": "eu-west-2" + "region": "eu-west-2", + "subnet": { + "id1": "subnet-11111111111111111", + "id2": "subnet-22222222222222222", + "resourceType": "AWS::EC2::Subnet", + "relationshipName": "Is contained in " + } }, "vpc": { "resourceId": "vpc-0123456789abcdef0" }, "subnet1": { - "resourceId": "subnet-0123456789abcdef" + "id": "${subnet1.arn}", + "arn": "arn:aws:ec2:${$constants.region}:${$constants.accountId}:subnet/${$constants.subnet.id1}", + "availabilityZone": "${$constants.region}a", + "awsRegion": "${$constants.region}", + "resourceId": "${$constants.subnet.id1}", + "accountId": "${$constants.accountId}", + "vpcId": "${vpc.resourceId}", + "resourceType": "${$constants.subnet.resourceType}", + "configuration": { + "vpcId": "${vpc.resourceId}" + }, + "relationships": [ + ] }, "subnet2": { - "resourceId": "subnet-9876543210fedcba" + "id": "${subnet2.arn}", + "arn": "arn:aws:ec2:${$constants.region}:${$constants.accountId}:subnet/${$constants.subnet.id2}", + "resourceId": "${$constants.subnet.id2}", + "awsRegion": "${$constants.region}", + "availabilityZone": "${$constants.region}b", + "accountId": "${$constants.accountId}", + "resourceType": "${$constants.subnet.resourceType}", + "configuration": { + "vpcId": "${vpc.resourceId}" + }, + "relationships": [] }, "securityGroup": { "resourceId": "sg-0123456789abcdef" diff --git a/source/backend/discovery/test/fixtures/relationships/transitgateway/attachments/vpc.json b/source/backend/discovery/test/fixtures/relationships/transitgateway/attachments/vpc.json index 333bbef5..fc7c6c34 100644 --- a/source/backend/discovery/test/fixtures/relationships/transitgateway/attachments/vpc.json +++ b/source/backend/discovery/test/fixtures/relationships/transitgateway/attachments/vpc.json @@ -2,19 +2,27 @@ "$constants": { "accountIdX": "xxxxxxxxxxxx", "accountIdZ": "zzzzzzzzzzzz", - "region": "eu-west-2" + "region": "eu-west-2", + "subnet": { + "id1": "subnet-0123456789abcdef", + "id2": "subnet-9876543210fedcba", + "id3": "subnet-1111111111111111" + } }, "vpc": { "resourceId": "vpcResourceId" }, "subnet1": { - "resourceId": "subnet1ResourceId" + "arn": "arn:aws:ec2:${$constants.region}:${$constants.accountIdZ}:subnet/${$constants.subnet.id1}", + "resourceId": "${$constants.subnet.id1}" }, "subnet2": { - "resourceId": "subnet2ResourceId" + "arn": "arn:aws:ec2:${$constants.region}:${$constants.accountIdZ}:subnet/${$constants.subnet.id2}", + "resourceId": "${$constants.subnet.id2}" }, "subnet3": { - "resourceId": "subnet3ResourceId" + "arn": "arn:aws:ec2:${$constants.region}:${$constants.accountIdZ}:subnet/${$constants.subnet.id3}", + "resourceId": "${$constants.subnet.id3}" }, "tgw": { "resourceId": "tgwResourceId" diff --git a/source/backend/discovery/test/generator.js b/source/backend/discovery/test/generator.js deleted file mode 100644 index 83370d4e..00000000 --- a/source/backend/discovery/test/generator.js +++ /dev/null @@ -1,84 +0,0 @@ -// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 - -const R = require('ramda'); - -const stringInterpolationRegex = /(?<=\$\{)(.*?)(?=\})/g; - -function isObject(val) { - return val !== null && typeof val === 'object' && !Array.isArray(val); -} - -function getRel(schema, rel) { - const [k, ...path] = rel.split('.'); - return R.path(path, schema[k]); -} - -function generate(schema) { - function interpolate(input) { - if(isObject(input)) { - return Object.entries(input).reduce((acc, [key, val]) => { - acc[key] = interpolate(val); - return acc; - }, {}); - } else if(Array.isArray(input)) { - return input.map(interpolate); - } else { - if(typeof input === 'string') { - const matches = input.match(stringInterpolationRegex); - if(matches != null) { - return matches.reduce((acc, match) => { - return acc.replace('${' + match + '}', getRel(schema, match)); - }, input); - } - } - return input; - } - } - - const interpolated = R.map(interpolate, R.map(interpolate, schema)); - - function generateRec(input) { - if(isObject(input)) { - if(input.$rel != null) { - return getRel(interpolated, input.$rel); - } else { - return Object.entries(input).reduce((acc, [key, val]) => { - acc[key] = generateRec(val); - return acc; - }, {}); - } - } else if(Array.isArray(input)) { - return input.map(generateRec); - } else { - return input; - } - } - - return R.map(generateRec, interpolated); -} - -function generateBaseResource(accountId, awsRegion, resourceType, num) { - return { - id: 'arn' + num, - resourceId: 'resourceId' + num, - resourceName: 'resourceName' + num, - resourceType, - accountId, - arn: 'arn' + num, - awsRegion, - relationships: [], - tags: [], - configuration: {a: +num} - }; -} - -function generateRandomInt(min, max) { - return Math.floor(Math.random() * (max - min + 1) + min); -} - -module.exports = { - generate, - generateBaseResource, - generateRandomInt -} diff --git a/source/backend/discovery/test/getAllConfigResources.js b/source/backend/discovery/test/getAllConfigResources.js deleted file mode 100644 index 6a4f95bf..00000000 --- a/source/backend/discovery/test/getAllConfigResources.js +++ /dev/null @@ -1,109 +0,0 @@ -// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 - -const {assert} = require('chai'); -const sinon = require('sinon'); -const { - AWS_EC2_INSTANCE, - AWS_EKS_CLUSTER, - AWS_IAM_ROLE, - GLOBAL, - AWS_ECS_SERVICE, - AWS_KINESIS_STREAM, - AWS_ECS_TASK_DEFINITION, -} = require('../src/lib/constants'); -const getAllConfigResources = require('../src/lib/aggregator/getAllConfigResources'); - -describe('getAllConfigResources', () => { - - const ACCOUNT_IDX = 'xxxxxxxxxxxx'; - const EU_WEST_1 = 'eu-west-1'; - - const DATE1 = '2014-04-09T01:05:00.000Z'; - const DATE2 = '2011-06-21T18:40:00.000Z'; - - const aggregatorName = 'configAggregator'; - - it('should not remove global resources from discovered accounts', async () => { - const mockConfigClient = { - async getAllAggregatorResources() { - return [ - { - accountId: ACCOUNT_IDX, awsRegion: GLOBAL, resourceType: AWS_IAM_ROLE, - arn: 'roleArn', resourceId: 'roleResourceId', configuration: {}, - configurationItemCaptureTime: DATE1 - }, - { - accountId: ACCOUNT_IDX, awsRegion: EU_WEST_1, resourceType: AWS_EC2_INSTANCE, - arn: 'ec2InstanceArn', resourceId: 'ec2InstanceResourceId', configuration: {}, - configurationItemCaptureTime: DATE2 - } - ] - }, - getAggregatorResources: () => [] - } - - const actual = await getAllConfigResources(mockConfigClient, aggregatorName); - assert.lengthOf(actual, 2); - }); - - it('should normalise resources', async () => { - const mockConfigClient = { - async getAllAggregatorResources() { - return [] - }, - getAggregatorResources: sinon.stub().onFirstCall().resolves([ - { - accountId: ACCOUNT_IDX, awsRegion: EU_WEST_1, resourceType: AWS_ECS_SERVICE, - arn: 'ecsServiceArn', resourceId: 'ecsServiceResourceId', configuration: '{"a": 1}', - configurationItemCaptureTime: new Date(DATE1) - } - ]).resolves([]) - } - - const actual = await getAllConfigResources(mockConfigClient, aggregatorName); - const actualEcsService = actual.find(x => x.arn === 'ecsServiceArn'); - assert.deepEqual(actualEcsService, { - id: "ecsServiceArn", accountId: ACCOUNT_IDX, awsRegion: EU_WEST_1, resourceType: AWS_ECS_SERVICE, - arn: 'ecsServiceArn', resourceId: 'ecsServiceResourceId', configuration: {a: 1}, - configurationItemCaptureTime: DATE1, relationships: [], tags: [] - }); - }); - - - it('should create a unique resourceId for Kinesis streams, EKS Clusters and ECS Task definitions', async () => { - const mockConfigClient = { - async getAllAggregatorResources() { - return [] - }, - getAggregatorResources: sinon.stub().onFirstCall().resolves([ - { - accountId: ACCOUNT_IDX, awsRegion: EU_WEST_1, resourceType: AWS_KINESIS_STREAM, - arn: 'kinesisArn', resourceId: 'kinesisResourceId', configuration: '{"a": 1}', - configurationItemCaptureTime: new Date(DATE1) - }, - { - accountId: ACCOUNT_IDX, awsRegion: EU_WEST_1, resourceType: AWS_EKS_CLUSTER, - arn: 'eksClusterArn', resourceId: 'eksClusterResourceId', configuration: '{"b": 1}', - configurationItemCaptureTime: new Date(DATE2) - }, - { - accountId: ACCOUNT_IDX, awsRegion: EU_WEST_1, resourceType: AWS_ECS_TASK_DEFINITION, - arn: 'ecsTaskDefArn', resourceId: 'ecsTaskDefResourceId', configuration: '{"c": 1}', - configurationItemCaptureTime: new Date(DATE2) - } - ]).resolves([]) - } - - const actual = await getAllConfigResources(mockConfigClient, aggregatorName); - - const actualKinesis = actual.find(x => x.resourceType === AWS_KINESIS_STREAM); - const actualEcsCluster = actual.find(x => x.resourceType === AWS_EKS_CLUSTER); - const actualEcsTaskDef = actual.find(x => x.resourceType === AWS_ECS_TASK_DEFINITION); - - assert.strictEqual(actualKinesis.resourceId, 'kinesisArn'); - assert.strictEqual(actualEcsCluster.resourceId, 'eksClusterArn'); - assert.strictEqual(actualEcsTaskDef.resourceId, 'ecsTaskDefArn'); - }); - -}); diff --git a/source/backend/discovery/test/getAllSdkResources.js b/source/backend/discovery/test/getAllSdkResources.js deleted file mode 100644 index ddf15e26..00000000 --- a/source/backend/discovery/test/getAllSdkResources.js +++ /dev/null @@ -1,1635 +0,0 @@ -// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 - -const {assert} = require('chai'); -const { - AWS, - AWS_IAM_AWS_MANAGED_POLICY, - RESOURCE_DISCOVERED, - NOT_APPLICABLE, - GLOBAL, - AWS_COGNITO_USER_POOL, - AWS_ELASTIC_LOAD_BALANCING_V2_TARGET_GROUP, - MULTIPLE_AVAILABILITY_ZONES, - AWS_EC2_SPOT_FLEET, - IS_ASSOCIATED_WITH, - AWS_EC2_INSTANCE, - AWS_EC2_SPOT, - AWS_API_GATEWAY_RESOURCE, - IS_CONTAINED_IN, - AWS_API_GATEWAY_REST_API, - AWS_API_GATEWAY_AUTHORIZER, - AWS_DYNAMODB_STREAM, - AWS_DYNAMODB_TABLE, - AWS_ECS_TASK, AWS_ECS_SERVICE, - AWS_EKS_NODE_GROUP, - AWS_EKS_CLUSTER, - AWS_IAM_INLINE_POLICY, - AWS_IAM_ROLE, - AWS_IAM_USER, - AWS_API_GATEWAY_METHOD, - GET, - POST, - NOT_FOUND_EXCEPTION, - AWS_SQS_QUEUE, - AWS_TAGS_TAG, - AWS_OPENSEARCH_DOMAIN -} = require('../src/lib/constants'); - -const sdkResources = require('../src/lib/sdkResources'); -const {generate} = require("./generator"); - -const EU_WEST_2 = 'eu-west-2'; -const EU_WEST_2_A = EU_WEST_2 + 'a'; -const US_WEST_2 = 'us-west-2'; - -const ACCESS_KEY_X = 'accessKeyIdX'; -const ACCESS_KEY_Z = 'accessKeyIdz'; - -const ACCOUNT_X = 'xxxxxxxxxxxx'; -const ACCOUNT_Z = 'zzzzzzzzzzzz'; - -describe('getAllSdkResources', () => { - - const credentialsX = {accessKeyId: ACCESS_KEY_X, secretAccessKey: 'secretAccessKey', sessionToken: 'sessionToken'}; - const credentialsZ = {accessKeyId: ACCESS_KEY_Z, secretAccessKey: 'secretAccessKey', sessionToken: 'sessionToken'}; - - const mockAwsClient = { - createIamClient() { - return { - getAllAttachedAwsManagedPolices: async () => [], - } - }, - createElbV2Client() { - return { - describeTargetHealth: async arn => [], - getAllTargetGroups: async arn => [] - } - }, - createCognitoClient() { - return { - getAllUserPools: async () => [] - } - }, - createEc2Client() { - return { - getAllSpotInstanceRequests: async () => [], - getAllSpotFleetRequests: async () => [] - } - }, - createEcsClient() { - return { - getAllClusterInstances: async arn => [], - getAllServiceTasks: async () => [] - } - }, - createEksClient() { - return { - listNodeGroups: async arn => [] - } - }, - createApiGatewayClient(accountId, credentials, region) { - return { - getResources: async () => [], - getAuthorizers: async () => [] - } - }, - createDynamoDBStreamsClient(credentials, region) { - return { - describeStream: async (streamArn) => [], - } - }, - }; - - describe('getAdditionalResources', () => { - - const getAllSdkResources = sdkResources.getAllSdkResources(new Map( - [[ - ACCOUNT_X, - { - credentials: credentialsX, - regions: [ - 'eu-west-2' - ] - } - ], [ - ACCOUNT_Z, - { - credentials: credentialsZ, - regions: [ - 'us-west-2' - ] - } - ]] - )); - - describe(AWS_IAM_AWS_MANAGED_POLICY, () => { - - it('should discover AWS managed policy resources', async () => { - const {euWest2, usWest2} = require('./fixtures/additionalResources/iam/awsManagedPolicy.json'); - - const mockIamClient = { - createIamClient(credentials, region) { - return { - async getAllAttachedAwsManagedPolices() { - if(credentials.accessKeyId === ACCESS_KEY_X) { - return euWest2; - } else if(credentials.accessKeyId === ACCESS_KEY_Z) { - return usWest2; - } - } - }; - } - } - - const arn1 = 'managedPolicyArn1' - const arn2 = 'managedPolicyArn2' - - const actual = await getAllSdkResources({...mockAwsClient, ...mockIamClient}, []); - - const actualRole1 = actual.find(x => x.arn === arn1); - const actualRole2 = actual.find(x => x.arn === arn2); - - assert.deepEqual(actualRole1, { - id: arn1, - accountId: AWS.toLowerCase(), - arn: arn1, - availabilityZone: NOT_APPLICABLE, - awsRegion: GLOBAL, - configuration: { - Arn: arn1, - PolicyName: 'policyName1' - }, - configurationItemStatus: RESOURCE_DISCOVERED, - resourceId: arn1, - resourceName: 'policyName1', - resourceType: AWS_IAM_AWS_MANAGED_POLICY, - tags: [], - relationships: [] - }); - - assert.deepEqual(actualRole2, { - id: arn2, - accountId: AWS.toLowerCase(), - arn: arn2, - availabilityZone: NOT_APPLICABLE, - awsRegion: GLOBAL, - configuration: { - Arn: arn2, - PolicyName: 'policyName2' - }, - configurationItemStatus: RESOURCE_DISCOVERED, - resourceId: arn2, - resourceName: 'policyName2', - resourceType: AWS_IAM_AWS_MANAGED_POLICY, - tags: [], - relationships: [] - }); - }); - - it('should discover AWS managed policy resources when some regions fail', async () => { - const {euWest2, usWest2} = require('./fixtures/additionalResources/iam/awsManagedPolicy.json'); - - const mockIamClient = { - createIamClient(credentials, region) { - return { - async getAllAttachedAwsManagedPolices() { - if(credentials.accessKeyId === ACCESS_KEY_X) { - return euWest2; - } else if(credentials.accessKeyId === ACCESS_KEY_Z) { - throw new Error(); - } - } - }; - } - } - - const arn1 = 'managedPolicyArn1' - - const actual = await getAllSdkResources({...mockAwsClient, ...mockIamClient}, []); - - const actualRole1 = actual.find(x => x.arn === arn1); - - assert.strictEqual(actual.length, 1); - assert.deepEqual(actualRole1, { - id: arn1, - accountId: AWS.toLowerCase(), - arn: arn1, - availabilityZone: NOT_APPLICABLE, - awsRegion: GLOBAL, - configuration: { - Arn: arn1, - PolicyName: 'policyName1' - }, - configurationItemStatus: RESOURCE_DISCOVERED, - resourceId: arn1, - resourceName: 'policyName1', - resourceType: AWS_IAM_AWS_MANAGED_POLICY, - tags: [], - relationships: [] - }); - - }); - - }); - - describe(AWS_COGNITO_USER_POOL, () => { - - it('should discover Cognito user pools', async () => { - const {euWest2, usWest2} = require('./fixtures/additionalResources/cognito/userPools.json'); - - const mockCognitoClient = { - createCognitoClient(credentials, region) { - return { - getAllUserPools: async () => { - if(credentials.accessKeyId === ACCESS_KEY_X && region === EU_WEST_2) { - return euWest2; - } else if(credentials.accessKeyId === ACCESS_KEY_Z && region === US_WEST_2) { - return usWest2; - } - } - } - } - } - - const arn1 = 'cognitoArn1' - const arn2 = 'cognitoArn2' - - const actual = await getAllSdkResources({...mockAwsClient, ...mockCognitoClient}, []); - - const actualPool1 = actual.find(x => x.arn === arn1); - const actualPool2 = actual.find(x => x.arn === arn2); - - assert.deepEqual(actualPool1, { - id: arn1, - accountId: ACCOUNT_X, - arn: arn1, - availabilityZone: NOT_APPLICABLE, - awsRegion: EU_WEST_2, - configuration: { - Arn: arn1 - }, - configurationItemStatus: RESOURCE_DISCOVERED, - resourceId: arn1, - resourceName: arn1, - resourceType: AWS_COGNITO_USER_POOL, - tags: [], - relationships: [] - }); - - assert.deepEqual(actualPool2, { - id: arn2, - accountId: ACCOUNT_Z, - arn: arn2, - availabilityZone: NOT_APPLICABLE, - awsRegion: US_WEST_2, - configuration: { - Arn: arn2 - }, - configurationItemStatus: RESOURCE_DISCOVERED, - resourceId: arn2, - resourceName: arn2, - resourceType: AWS_COGNITO_USER_POOL, - tags: [], - relationships: [] - }); - - }); - - it('should discover Cognito user pools when some regions fail', async () => { - const {euWest2, usWest2} = require('./fixtures/additionalResources/cognito/userPools.json'); - - const mockCognitoClient = { - createCognitoClient(credentials, region) { - return { - getAllUserPools: async () => { - if(credentials.accessKeyId === ACCESS_KEY_X && region === EU_WEST_2) { - return euWest2; - } else if(credentials.accessKeyId === ACCESS_KEY_Z && region === US_WEST_2) { - throw new Error(); - } - } - } - } - } - - const arn1 = 'cognitoArn1' - - const actual = await getAllSdkResources({...mockAwsClient, ...mockCognitoClient}, []); - - const actualPool1 = actual.find(x => x.arn === arn1); - - assert.strictEqual(actual.length, 1); - assert.deepEqual(actualPool1, { - id: arn1, - accountId: ACCOUNT_X, - arn: arn1, - availabilityZone: NOT_APPLICABLE, - awsRegion: EU_WEST_2, - configuration: { - Arn: arn1 - }, - configurationItemStatus: RESOURCE_DISCOVERED, - resourceId: arn1, - resourceName: arn1, - resourceType: AWS_COGNITO_USER_POOL, - tags: [], - relationships: [] - }); - - }); - - }); - - describe(AWS_ELASTIC_LOAD_BALANCING_V2_TARGET_GROUP, () => { - - it('should discover ALB target groups', async () => { - const {euWest2, usWest2} = require('./fixtures/additionalResources/alb/targetGroups.json'); - - const mockElbV2Client = { - createElbV2Client(credentials, region) { - return { - describeTargetHealth: async arn => [], - async getAllTargetGroups() { - if(credentials.accessKeyId === ACCESS_KEY_X && region === EU_WEST_2) { - return euWest2; - } else if(credentials.accessKeyId === ACCESS_KEY_Z && region === US_WEST_2) { - return usWest2; - } - } - } - } - } - - const arn1 = 'targetGroupArn1'; - const arn2 = 'targetGroupArn2'; - - const actual = await getAllSdkResources({...mockAwsClient, ...mockElbV2Client}, []); - - const actualTg1 = actual.find(x => x.arn === arn1); - const actualTg2 = actual.find(x => x.arn === arn2); - - assert.deepEqual(actualTg1, { - id: arn1, - accountId: ACCOUNT_X, - arn: arn1, - availabilityZone: MULTIPLE_AVAILABILITY_ZONES, - awsRegion: EU_WEST_2, - configuration: { - TargetGroupArn: arn1 - }, - configurationItemStatus: RESOURCE_DISCOVERED, - resourceId: arn1, - resourceName: arn1, - resourceType: AWS_ELASTIC_LOAD_BALANCING_V2_TARGET_GROUP, - tags: [], - relationships: [] - }); - - assert.deepEqual(actualTg2, { - id: arn2, - accountId: ACCOUNT_Z, - arn: arn2, - availabilityZone: MULTIPLE_AVAILABILITY_ZONES, - awsRegion: US_WEST_2, - configuration: { - TargetGroupArn: arn2 - }, - configurationItemStatus: RESOURCE_DISCOVERED, - resourceId: arn2, - resourceName: arn2, - resourceType: AWS_ELASTIC_LOAD_BALANCING_V2_TARGET_GROUP, - tags: [], - relationships: [] - }); - - }); - - it('should discover ALB target groups when some regions fail', async () => { - const {euWest2} = require('./fixtures/additionalResources/alb/targetGroups.json'); - - const mockElbV2Client = { - createElbV2Client(credentials, region) { - return { - describeTargetHealth: async arn => [], - async getAllTargetGroups() { - if(credentials.accessKeyId === ACCESS_KEY_X && region === EU_WEST_2) { - return euWest2; - } else if(credentials.accessKeyId === ACCESS_KEY_Z && region === US_WEST_2) { - throw new Error(); - } - } - } - } - } - - const arn1 = 'targetGroupArn1'; - - const actual = await getAllSdkResources({...mockAwsClient, ...mockElbV2Client}, []); - - const actualTg1 = actual.find(x => x.arn === arn1); - - assert.strictEqual(actual.length, 1); - assert.deepEqual(actualTg1, { - id: arn1, - accountId: ACCOUNT_X, - arn: arn1, - availabilityZone: MULTIPLE_AVAILABILITY_ZONES, - awsRegion: EU_WEST_2, - configuration: { - TargetGroupArn: arn1 - }, - configurationItemStatus: RESOURCE_DISCOVERED, - resourceId: arn1, - resourceName: arn1, - resourceType: AWS_ELASTIC_LOAD_BALANCING_V2_TARGET_GROUP, - tags: [], - relationships: [] - }); - - }); - - }); - - describe(AWS_EC2_SPOT, () => { - - it('should discover spot instances', async () => { - const {instanceRequests} = require('./fixtures/additionalResources/spot/instance.json'); - - const mockEc2Client = { - createEc2Client(credentials, region) { - return { - async getAllSpotInstanceRequests() { - if(credentials.accessKeyId === ACCESS_KEY_X && region === EU_WEST_2) { - return instanceRequests.euWest2; - } else if(credentials.accessKeyId === ACCESS_KEY_Z && region === US_WEST_2) { - return instanceRequests.usWest2; - } - }, - async getAllSpotFleetRequests() { - return []; - } - } - } - } - - const spotInstanceRequestId1 = 'spotInstanceRequestId1'; - const spotInstanceRequestId2 = 'spotInstanceRequestId2'; - - const arn1 = `arn:aws:ec2:${EU_WEST_2}:${ACCOUNT_X}:spot-instance-request/${spotInstanceRequestId1}`; - const arn2 = `arn:aws:ec2:${US_WEST_2}:${ACCOUNT_Z}:spot-instance-request/${spotInstanceRequestId2}`; - - const instanceId1 = "instanceId1"; - const instanceId2 = "instanceId2"; - - const actual = await getAllSdkResources({...mockAwsClient, ...mockEc2Client}, []); - - const actualSpotFleet1 = actual.find(x => x.arn === arn1); - const actualSpotFleet2 = actual.find(x => x.arn === arn2); - - assert.deepEqual(actualSpotFleet1, { - id: arn1, - accountId: ACCOUNT_X, - arn: arn1, - availabilityZone: MULTIPLE_AVAILABILITY_ZONES, - awsRegion: EU_WEST_2, - configuration: { - InstanceId: instanceId1, - SpotInstanceRequestId: spotInstanceRequestId1, - Tags: [] - }, - configurationItemStatus: RESOURCE_DISCOVERED, - resourceId: arn1, - resourceName: arn1, - resourceType: AWS_EC2_SPOT, - tags: [], - relationships: [ - { - relationshipName: IS_ASSOCIATED_WITH, - resourceId: instanceId1, - resourceType: AWS_EC2_INSTANCE - } - ] - }); - - assert.deepEqual(actualSpotFleet2, { - id: arn2, - accountId: ACCOUNT_Z, - arn: arn2, - availabilityZone: MULTIPLE_AVAILABILITY_ZONES, - awsRegion: US_WEST_2, - configuration: { - InstanceId: instanceId2, - SpotInstanceRequestId: spotInstanceRequestId2, - Tags: [] - }, - configurationItemStatus: RESOURCE_DISCOVERED, - resourceId: arn2, - resourceName: arn2, - resourceType: AWS_EC2_SPOT, - tags: [], - relationships: [ - { - relationshipName: IS_ASSOCIATED_WITH, - resourceId: instanceId2, - resourceType: AWS_EC2_INSTANCE - } - ] - }); - - }); - - it('should discover spot instances when some regions fail', async () => { - const {instanceRequests} = require('./fixtures/additionalResources/spot/instance.json'); - - const mockEc2lient = { - createEc2Client(credentials, region) { - return { - async getAllSpotInstanceRequests() { - if(credentials.accessKeyId === ACCESS_KEY_X && region === EU_WEST_2) { - return instanceRequests.euWest2; - } else if(credentials.accessKeyId === ACCESS_KEY_Z && region === US_WEST_2) { - throw new Error(); - } - }, - async getAllSpotFleetRequests() { - return []; - } - } - } - } - - const spotInstanceRequestId1 = 'spotInstanceRequestId1'; - - const arn1 = `arn:aws:ec2:${EU_WEST_2}:${ACCOUNT_X}:spot-instance-request/${spotInstanceRequestId1}`; - - const instanceId1 = "instanceId1"; - - const actual = await getAllSdkResources({...mockAwsClient, ...mockEc2lient}, []); - - const actualSpotFleet1 = actual.find(x => x.arn === arn1); - - assert.strictEqual(actual.length, 1); - assert.deepEqual(actualSpotFleet1, { - id: arn1, - accountId: ACCOUNT_X, - arn: arn1, - availabilityZone: MULTIPLE_AVAILABILITY_ZONES, - awsRegion: EU_WEST_2, - configuration: { - InstanceId: instanceId1, - SpotInstanceRequestId: spotInstanceRequestId1, - Tags: [] - }, - configurationItemStatus: RESOURCE_DISCOVERED, - resourceId: arn1, - resourceName: arn1, - resourceType: AWS_EC2_SPOT, - tags: [], - relationships: [ - { - relationshipName: IS_ASSOCIATED_WITH, - resourceId: instanceId1, - resourceType: AWS_EC2_INSTANCE - } - ] - }); - }); - - }); - - describe(AWS_EC2_SPOT_FLEET, () => { - - it('should discover spot fleets', async () => { - const {fleetRequests, instanceRequests} = require('./fixtures/additionalResources/spot/fleet.json'); - - const mockEc2lient = { - createEc2Client(credentials, region) { - return { - async getAllSpotInstanceRequests() { - if(credentials.accessKeyId === ACCESS_KEY_X && region === EU_WEST_2) { - return instanceRequests.euWest2; - } else if(credentials.accessKeyId === ACCESS_KEY_Z && region === US_WEST_2) { - return instanceRequests.usWest2; - } - }, - async getAllSpotFleetRequests() { - if(credentials.accessKeyId === ACCESS_KEY_X && region === EU_WEST_2) { - return fleetRequests.euWest2; - } else if(credentials.accessKeyId === ACCESS_KEY_Z && region === US_WEST_2) { - return fleetRequests.usWest2; - } - } - } - } - } - - const arn1 = `arn:aws:ec2:${EU_WEST_2}:${ACCOUNT_X}:spot-fleet-request/spotFleetRequestId1`; - const arn2 = `arn:aws:ec2:${US_WEST_2}:${ACCOUNT_Z}:spot-fleet-request/spotFleetRequestId2`; - - const actual = await getAllSdkResources({...mockAwsClient, ...mockEc2lient}, []); - - const actualSpotFleet1 = actual.find(x => x.arn === arn1); - const actualSpotFleet2 = actual.find(x => x.arn === arn2); - - assert.deepEqual(actualSpotFleet1, { - id: arn1, - accountId: ACCOUNT_X, - arn: arn1, - availabilityZone: MULTIPLE_AVAILABILITY_ZONES, - awsRegion: EU_WEST_2, - configuration: { - SpotFleetRequestId: 'spotFleetRequestId1', - SpotFleetRequestConfig: { - OnDemandFulfilledCapacity: 0 - } - }, - configurationItemStatus: RESOURCE_DISCOVERED, - resourceId: arn1, - resourceName: arn1, - resourceType: AWS_EC2_SPOT_FLEET, - tags: [], - relationships: [ - { - relationshipName: IS_ASSOCIATED_WITH, - resourceId: 'instanceId1', - resourceType: AWS_EC2_INSTANCE - } - ] - }); - - assert.deepEqual(actualSpotFleet2, { - id: arn2, - accountId: ACCOUNT_Z, - arn: arn2, - availabilityZone: MULTIPLE_AVAILABILITY_ZONES, - awsRegion: US_WEST_2, - configuration: { - SpotFleetRequestId: 'spotFleetRequestId2', - SpotFleetRequestConfig: { - OnDemandFulfilledCapacity: 1 - } - }, - configurationItemStatus: RESOURCE_DISCOVERED, - resourceId: arn2, - resourceName: arn2, - resourceType: AWS_EC2_SPOT_FLEET, - tags: [], - relationships: [ - { - relationshipName: IS_ASSOCIATED_WITH, - resourceId: 'instanceId2', - resourceType: AWS_EC2_INSTANCE - } - ] - }); - - }); - - it('should discover spot fleets if some regions fail', async () => { - const {fleetRequests, instanceRequests} = require('./fixtures/additionalResources/spot/fleet.json'); - - const mockEc2lient = { - createEc2Client(credentials, region) { - return { - async getAllSpotInstanceRequests() { - if(credentials.accessKeyId === ACCESS_KEY_X && region === EU_WEST_2) { - return instanceRequests.euWest2; - } else if(credentials.accessKeyId === ACCESS_KEY_Z && region === US_WEST_2) { - throw new Error(); - } - }, - async getAllSpotFleetRequests() { - if(credentials.accessKeyId === ACCESS_KEY_X && region === EU_WEST_2) { - return fleetRequests.euWest2; - } else if(credentials.accessKeyId === ACCESS_KEY_Z && region === US_WEST_2) { - return fleetRequests.usWest2; - } - } - } - } - } - - const arn1 = `arn:aws:ec2:${EU_WEST_2}:${ACCOUNT_X}:spot-fleet-request/spotFleetRequestId1`; - - const actual = await getAllSdkResources({...mockAwsClient, ...mockEc2lient}, []); - - const actualSpotFleet1 = actual.find(x => x.arn === arn1); - - assert.strictEqual(actual.length, 1); - assert.deepEqual(actualSpotFleet1, { - id: arn1, - accountId: ACCOUNT_X, - arn: arn1, - availabilityZone: MULTIPLE_AVAILABILITY_ZONES, - awsRegion: EU_WEST_2, - configuration: { - SpotFleetRequestId: 'spotFleetRequestId1', - SpotFleetRequestConfig: { - OnDemandFulfilledCapacity: 0 - } - }, - configurationItemStatus: RESOURCE_DISCOVERED, - resourceId: arn1, - resourceName: arn1, - resourceType: AWS_EC2_SPOT_FLEET, - tags: [], - relationships: [ - { - relationshipName: IS_ASSOCIATED_WITH, - resourceId: 'instanceId1', - resourceType: AWS_EC2_INSTANCE - } - ] - }); - }); - - }); - - describe(AWS_API_GATEWAY_RESOURCE, () => { - - it('should discover API Gateway resources', async () => { - const schema = require('./fixtures/additionalResources/apigateway/resources.json'); - const {restApi, apiGwResource} = generate(schema); - - const mockApiGatewayClient = { - createApiGatewayClient(credentials, region) { - return { - getAuthorizers: async restApi => [], - async getResources() { - if(credentials.accessKeyId === ACCESS_KEY_X && region === EU_WEST_2) { - return [apiGwResource]; - } - }, - async getMethod() { - const notFoundError = new Error(); - notFoundError.name = NOT_FOUND_EXCEPTION; - throw notFoundError; - } - } - } - } - - const arn = `arn:aws:apigateway:${EU_WEST_2}::/restapis/${restApi.configuration.id}/resources/${apiGwResource.id}`; - - const actual = await getAllSdkResources({...mockAwsClient, ...mockApiGatewayClient}, [restApi]); - - const actualApiGwResource = actual.find(x => x.arn === arn); - - assert.deepEqual(actualApiGwResource, { - id: arn, - accountId: ACCOUNT_X, - arn: arn, - availabilityZone: NOT_APPLICABLE, - awsRegion: EU_WEST_2, - configuration: { - RestApiId: restApi.configuration.id, - id: apiGwResource.id - }, - configurationItemStatus: RESOURCE_DISCOVERED, - resourceId: arn, - resourceName: arn, - resourceType: AWS_API_GATEWAY_RESOURCE, - tags: [], - relationships: [ - { - relationshipName: IS_CONTAINED_IN, - resourceId: restApi.configuration.id, - resourceType: AWS_API_GATEWAY_REST_API - } - ] - }); - - }); - - }); - - describe(AWS_API_GATEWAY_METHOD, () => { - - it('should handle resources that have unsupported http verbs', async () => { - const schema = require('./fixtures/additionalResources/apigateway/method.json'); - const {restApi, apiGwResource, getMethod, postMethod} = generate(schema); - - const mockApiGatewayClient = { - createApiGatewayClient(accountId, credentials, region) { - return { - getResources: async restApi => { - if(credentials.accessKeyId === ACCESS_KEY_X && region === EU_WEST_2) { - return [apiGwResource]; - } - }, - getAuthorizers: async restApi => [], - async getMethod(httpMethod) { - if(credentials.accessKeyId === ACCESS_KEY_X && region === EU_WEST_2) { - const notFoundError = new Error(); - notFoundError.name = NOT_FOUND_EXCEPTION; - throw notFoundError; - } - } - } - } - } - - const actual = await getAllSdkResources({...mockAwsClient, ...mockApiGatewayClient}, [restApi]); - - assert.deepEqual(actual.filter(x => x.resourceType === AWS_API_GATEWAY_METHOD), []); - }); - - it('should discover API Gateway methods', async () => { - const schema = require('./fixtures/additionalResources/apigateway/method.json'); - const {restApi, apiGwResource, getMethod, postMethod} = generate(schema); - - const mockApiGatewayClient = { - createApiGatewayClient(credentials, region) { - return { - getResources: async restApi => { - if(credentials.accessKeyId === ACCESS_KEY_X && region === EU_WEST_2) { - return [apiGwResource]; - } - }, - getAuthorizers: async restApi => [], - async getMethod(httpMethod) { - if(credentials.accessKeyId === ACCESS_KEY_X && region === EU_WEST_2) { - if(httpMethod === GET) { - return getMethod; - } else if(httpMethod === POST) { - return postMethod; - } else { - const notFoundError = new Error(); - notFoundError.name = 'NotFoundException'; - throw notFoundError; - } - } - } - } - } - } - - const apiGatewayResourceArn = `arn:aws:apigateway:${EU_WEST_2}::/restapis/${restApi.configuration.id}/resources/${apiGwResource.id}`; - const arn1 = `arn:aws:apigateway:${EU_WEST_2}::/restapis/${restApi.configuration.id}/resources/${apiGwResource.id}/methods/${GET}`; - const arn2 = `arn:aws:apigateway:${EU_WEST_2}::/restapis/${restApi.configuration.id}/resources/${apiGwResource.id}/methods/${POST}`; - - const actual = await getAllSdkResources({...mockAwsClient, ...mockApiGatewayClient}, [restApi]); - - const actualGetMethod = actual.find(x => x.arn === arn1); - const actualPostMethod = actual.find(x => x.arn === arn2); - - assert.deepEqual(actualGetMethod, { - id: arn1, - accountId: ACCOUNT_X, - arn: arn1, - availabilityZone: NOT_APPLICABLE, - awsRegion: EU_WEST_2, - configuration: { - RestApiId: restApi.configuration.id, - ResourceId: apiGwResource.id, - httpMethod: GET - }, - configurationItemStatus: RESOURCE_DISCOVERED, - resourceId: arn1, - resourceName: arn1, - resourceType: AWS_API_GATEWAY_METHOD, - tags: [], - relationships: [ - { - relationshipName: IS_CONTAINED_IN, - resourceId: apiGatewayResourceArn, - resourceType: AWS_API_GATEWAY_RESOURCE - } - ] - }); - - assert.deepEqual(actualPostMethod, { - id: arn2, - accountId: ACCOUNT_X, - arn: arn2, - availabilityZone: NOT_APPLICABLE, - awsRegion: EU_WEST_2, - configuration: { - RestApiId: restApi.configuration.id, - ResourceId: apiGwResource.id, - httpMethod: POST - }, - configurationItemStatus: RESOURCE_DISCOVERED, - resourceId: arn2, - resourceName: arn2, - resourceType: AWS_API_GATEWAY_METHOD, - tags: [], - relationships: [ - { - relationshipName: IS_CONTAINED_IN, - resourceId: apiGatewayResourceArn, - resourceType: AWS_API_GATEWAY_RESOURCE - } - ] - }); - - }); - - }); - - describe(AWS_API_GATEWAY_AUTHORIZER, () => { - - it('should discover API Gateway authorizers with no providers', async () => { - const schema = require('./fixtures/additionalResources/apigateway/authorizerNoProvider.json'); - const {restApi, apiGwAuthorizer} = generate(schema); - - const mockApiGatewayClient = { - createApiGatewayClient(credentials, region) { - return { - getResources: async restApi => [], - async getAuthorizers(restApi) { - if(credentials.accessKeyId === ACCESS_KEY_X && region === EU_WEST_2) { - return [apiGwAuthorizer]; - } - } - } - } - } - - const arn = `arn:aws:apigateway:${EU_WEST_2}::/restapis/${restApi.configuration.id}/authorizers/${apiGwAuthorizer.id}`; - - const actual = await getAllSdkResources({...mockAwsClient, ...mockApiGatewayClient}, [restApi]); - - const actualApiGwResource = actual.find(x => x.arn === arn); - - assert.deepEqual(actualApiGwResource, { - id: arn, - accountId: ACCOUNT_X, - arn: arn, - availabilityZone: NOT_APPLICABLE, - awsRegion: EU_WEST_2, - configuration: { - RestApiId: restApi.configuration.id, - id: apiGwAuthorizer.id - }, - configurationItemStatus: RESOURCE_DISCOVERED, - resourceId: arn, - resourceName: arn, - resourceType: AWS_API_GATEWAY_AUTHORIZER, - tags: [], - relationships: [ - { - relationshipName: IS_CONTAINED_IN, - resourceId: restApi.configuration.id, - resourceType: AWS_API_GATEWAY_REST_API - } - ] - }); - - }); - - it('should discover API Gateway Cognito authorizers', async () => { - const schema = require('./fixtures/additionalResources/apigateway/authorizer.json'); - const {restApi, cognito, apiGwAuthorizer} = generate(schema); - - const mockApiGatewayClient = { - createApiGatewayClient(credentials, region) { - return { - getResources: async restApi => [], - async getAuthorizers(restApi) { - if(credentials.accessKeyId === ACCESS_KEY_X && region === EU_WEST_2) { - return [apiGwAuthorizer]; - } - } - } - } - } - - const arn = `arn:aws:apigateway:${EU_WEST_2}::/restapis/${restApi.configuration.id}/authorizers/${apiGwAuthorizer.id}`; - - const actual = await getAllSdkResources({...mockAwsClient, ...mockApiGatewayClient}, [restApi]); - - const actualApiGwResource = actual.find(x => x.arn === arn); - - assert.deepEqual(actualApiGwResource, { - id: arn, - accountId: ACCOUNT_X, - arn: arn, - availabilityZone: NOT_APPLICABLE, - awsRegion: EU_WEST_2, - configuration: { - RestApiId: restApi.configuration.id, - id: apiGwAuthorizer.id, - providerARNs: [ - 'cognitoArn' - ] - }, - configurationItemStatus: RESOURCE_DISCOVERED, - resourceId: arn, - resourceName: arn, - resourceType: AWS_API_GATEWAY_AUTHORIZER, - tags: [], - relationships: [ - { - relationshipName: IS_CONTAINED_IN, - resourceId: restApi.configuration.id, - resourceType: AWS_API_GATEWAY_REST_API - }, - { - relationshipName: IS_ASSOCIATED_WITH, - resourceId: cognito.arn, - resourceType: AWS_COGNITO_USER_POOL - } - ] - }); - - }); - - }); - - describe(AWS_ECS_TASK, () => { - - it('should discover ECS tasks', async () => { - const schema = require('./fixtures/additionalResources/ecs/task.json'); - const {ecsService, ecsTask} = generate(schema); - - const mockEcsClientClient = { - createEcsClient(credentials, region) { - return { - async getAllServiceTasks() { - if(credentials.accessKeyId === ACCESS_KEY_X && region === EU_WEST_2) { - return [ecsTask]; - } - } - } - }, - } - - const arn = ecsTask.taskArn; - - const actual = await getAllSdkResources({...mockAwsClient, ...mockEcsClientClient}, [ecsService]); - - const actualEcsTask = actual.find(x => x.arn === arn); - - assert.deepEqual(actualEcsTask, { - id: arn, - accountId: ACCOUNT_X, - arn: arn, - availabilityZone: EU_WEST_2_A , - awsRegion: EU_WEST_2, - configuration: { - availabilityZone: EU_WEST_2_A , - taskArn: arn - }, - configurationItemStatus: RESOURCE_DISCOVERED, - resourceId: arn, - resourceName: arn, - resourceType: AWS_ECS_TASK, - tags: [], - relationships: [ - { - relationshipName: IS_ASSOCIATED_WITH, - resourceId: ecsService.resourceId, - resourceType: AWS_ECS_SERVICE - } - ] - }); - - }); - - }); - - describe(AWS_EKS_NODE_GROUP, () => { - - it('should discover EKS node groups', async () => { - const schema = require('./fixtures/additionalResources/eks/nodeGroup.json'); - const {eksCluster, nodeGroup} = generate(schema); - - const mockEksClientClient = { - createEksClient(credentials, region) { - return { - async listNodeGroups() { - if(credentials.accessKeyId === ACCESS_KEY_X && region === EU_WEST_2) { - return [nodeGroup]; - } - } - } - } - } - - const arn = nodeGroup.nodegroupArn; - - const actual = await getAllSdkResources({...mockAwsClient, ...mockEksClientClient}, [eksCluster]); - - const actualEksNodeGroup = actual.find(x => x.arn === arn); - - assert.deepEqual(actualEksNodeGroup, { - id: arn, - accountId: ACCOUNT_X, - arn: arn, - availabilityZone: MULTIPLE_AVAILABILITY_ZONES, - awsRegion: EU_WEST_2, - configuration: { - nodegroupArn: nodeGroup.nodegroupArn, - nodegroupName: nodeGroup.nodegroupName - }, - configurationItemStatus: RESOURCE_DISCOVERED, - resourceId: arn, - resourceName: nodeGroup.nodegroupName, - resourceType: AWS_EKS_NODE_GROUP, - tags: [], - relationships: [ - { - relationshipName: IS_CONTAINED_IN, - resourceId: eksCluster.resourceId, - resourceType: AWS_EKS_CLUSTER - } - ] - }); - - }); - - }); - - describe(AWS_OPENSEARCH_DOMAIN, () => { - - it('should discover OpenSearch domains', async () => { - const schema = require('./fixtures/additionalResources/opensearch/domain.json'); - const {domain} = generate(schema); - - const mockOpenSearchClientClient = { - createOpenSearchClient(credentials, region) { - return { - async getAllOpenSearchDomains() { - if(credentials.accessKeyId === ACCESS_KEY_X && region === EU_WEST_2) { - return [domain]; - } - } - } - } - } - - const arn = domain.ARN; - - const actual = await getAllSdkResources({...mockAwsClient, ...mockOpenSearchClientClient}, []); - - const actualDomain = actual.find(x => x.arn === arn); - - assert.deepEqual(actualDomain, { - id: arn, - accountId: ACCOUNT_X, - arn: arn, - availabilityZone: MULTIPLE_AVAILABILITY_ZONES, - awsRegion: EU_WEST_2, - configuration: { - ARN: domain.ARN, - DomainName: domain.DomainName - }, - configurationItemStatus: RESOURCE_DISCOVERED, - resourceId: domain.DomainName, - resourceName: domain.DomainName, - resourceType: AWS_OPENSEARCH_DOMAIN, - tags: [], - relationships: [] - }); - - }); - - }); - - describe(AWS_IAM_INLINE_POLICY, () => { - - it('should create inline iam policy from iam role', async () => { - const schema = require('./fixtures/additionalResources/iam/inlinePolicy/role.json'); - const {inlinePolicy1, inlinePolicy2, role} = generate(schema); - - const actual = await getAllSdkResources(mockAwsClient, [role]); - - const arn1 = `${role.arn}/inlinePolicy/${inlinePolicy1.policyName}`; - const arn2 = `${role.arn}/inlinePolicy/${inlinePolicy2.policyName}`; - - const actualInlinePolcy1 = actual.find(x => x.arn === arn1); - const actualInlinePolcy2 = actual.find(x => x.arn === arn2); - - assert.deepEqual(actualInlinePolcy1, { - id: arn1, - accountId: ACCOUNT_X, - arn: arn1, - availabilityZone: NOT_APPLICABLE, - awsRegion: GLOBAL, - configuration: { - ...inlinePolicy1 - }, - configurationItemStatus: RESOURCE_DISCOVERED, - resourceId: arn1, - resourceName: arn1, - resourceType: AWS_IAM_INLINE_POLICY, - tags: [], - relationships: [ - { - relationshipName: IS_ASSOCIATED_WITH, - resourceName: role.resourceName, - resourceType: AWS_IAM_ROLE - } - ] - }); - - assert.deepEqual(actualInlinePolcy2, { - id: arn2, - accountId: ACCOUNT_X, - arn: arn2, - availabilityZone: NOT_APPLICABLE, - awsRegion: GLOBAL, - configuration: { - ...inlinePolicy2 - }, - configurationItemStatus: RESOURCE_DISCOVERED, - resourceId: arn2, - resourceName: arn2, - resourceType: AWS_IAM_INLINE_POLICY, - tags: [], - relationships: [ - { - relationshipName: IS_ASSOCIATED_WITH, - resourceName: role.resourceName, - resourceType: AWS_IAM_ROLE - } - ] - }); - - }); - - it('should create inline iam policy from iam uder', async () => { - const schema = require('./fixtures/additionalResources/iam/inlinePolicy/user.json'); - const {inlinePolicy, user} = generate(schema); - - const actual = await getAllSdkResources(mockAwsClient, [user]); - - const arn = `${user.arn}/inlinePolicy/${inlinePolicy.policyName}`; - - const actualInlinePolcy = actual.find(x => x.arn === arn); - - assert.deepEqual(actualInlinePolcy, { - id: arn, - accountId: ACCOUNT_X, - arn: arn, - availabilityZone: NOT_APPLICABLE, - awsRegion: GLOBAL, - configuration: { - ...inlinePolicy - }, - configurationItemStatus: RESOURCE_DISCOVERED, - resourceId: arn, - resourceName: arn, - resourceType: AWS_IAM_INLINE_POLICY, - tags: [], - relationships: [ - { - relationshipName: IS_ASSOCIATED_WITH, - resourceName: user.resourceName, - resourceType: AWS_IAM_USER - } - ] - }); - }); - - }); - - describe(AWS_TAGS_TAG, () => { - - it('should create tags from resources', async () => { - const schema = require('./fixtures/additionalResources/tags/tag.json'); - const {tagInfo, ec2Instance, sqsQueue, forecast} = generate(schema); - - const actual = await getAllSdkResources(mockAwsClient, [ec2Instance, sqsQueue, forecast]); - - const arn1 = `arn:aws:tags::${ACCOUNT_X}:tag/${tagInfo.applicationName}=${tagInfo.applicationValue}`; - const arn2 = `arn:aws:tags::${ACCOUNT_X}:tag/${tagInfo.sqsName}=${tagInfo.sqsValue}`; - - const actualTag1 = actual.find(x => x.arn === arn1); - const actualTag2 = actual.find(x => x.arn === arn2); - - assert.deepEqual(actualTag1, { - id: arn1, - accountId: ACCOUNT_X, - arn: arn1, - availabilityZone: NOT_APPLICABLE, - awsRegion: GLOBAL, - configuration: {}, - configurationItemStatus: RESOURCE_DISCOVERED, - resourceId: arn1, - resourceName: `${tagInfo.applicationName}=${tagInfo.applicationValue}`, - resourceType: AWS_TAGS_TAG, - tags: [], - relationships: [ - { - relationshipName: IS_ASSOCIATED_WITH, - resourceId: ec2Instance.resourceId, - resourceName: ec2Instance.resourceName, - resourceType: AWS_EC2_INSTANCE, - awsRegion: EU_WEST_2 - }, - { - relationshipName: IS_ASSOCIATED_WITH, - resourceId: sqsQueue.resourceId, - resourceName: sqsQueue.resourceName, - resourceType: AWS_SQS_QUEUE, - awsRegion: EU_WEST_2 - } - ] - }); - - assert.deepEqual(actualTag2, { - id: arn2, - accountId: ACCOUNT_X, - arn: arn2, - availabilityZone: NOT_APPLICABLE, - awsRegion: GLOBAL, - configuration: {}, - configurationItemStatus: RESOURCE_DISCOVERED, - resourceId: arn2, - resourceName: `${tagInfo.sqsName}=${tagInfo.sqsValue}`, - resourceType: AWS_TAGS_TAG, - tags: [], - relationships: [ - { - relationshipName: IS_ASSOCIATED_WITH, - resourceId: sqsQueue.resourceId, - resourceName: sqsQueue.resourceName, - resourceType: AWS_SQS_QUEUE, - awsRegion: EU_WEST_2 - } - ] - }); - }); - - it('should handle tags field that is an object', async () => { - const schema = require('./fixtures/additionalResources/tags/object.json'); - const {eksCluster, nodeGroup} = generate(schema); - - const mockEksClientClient = { - createEksClient(credentials, region) { - return { - async listNodeGroups() { - if(credentials.accessKeyId === ACCESS_KEY_X && region === EU_WEST_2) { - return [nodeGroup]; - } - } - } - }, - } - - const arn = nodeGroup.nodegroupArn; - const tagArn1 = `arn:aws:tags::${ACCOUNT_X}:tag/tag1=value1`; - const tagArn2 = `arn:aws:tags::${ACCOUNT_X}:tag/tag2=value2`; - - const actual = await getAllSdkResources({...mockAwsClient, ...mockEksClientClient}, [eksCluster]); - - const actualEksNodeGroup = actual.find(x => x.arn === arn); - const actualTag1 = actual.find(x => x.arn === tagArn1); - const actualTag2 = actual.find(x => x.arn === tagArn2); - - assert.deepEqual(actualEksNodeGroup, { - id: arn, - accountId: ACCOUNT_X, - arn: arn, - availabilityZone: MULTIPLE_AVAILABILITY_ZONES, - awsRegion: EU_WEST_2, - configuration: { - nodegroupArn: nodeGroup.nodegroupArn, - nodegroupName: nodeGroup.nodegroupName, - tags: { - tag1: 'value1', - tag2: 'value2' - } - }, - configurationItemStatus: RESOURCE_DISCOVERED, - resourceId: arn, - resourceName: nodeGroup.nodegroupName, - resourceType: AWS_EKS_NODE_GROUP, - tags: [ - { - key: 'tag1', - value: 'value1' - }, - { - key: 'tag2', - value: 'value2' - } - ], - relationships: [ - { - relationshipName: IS_CONTAINED_IN, - resourceId: eksCluster.resourceId, - resourceType: AWS_EKS_CLUSTER - } - ] - }); - - assert.deepEqual(actualTag1, { - id: tagArn1, - accountId: ACCOUNT_X, - arn: tagArn1, - availabilityZone: NOT_APPLICABLE, - awsRegion: GLOBAL, - configuration: {}, - configurationItemStatus: RESOURCE_DISCOVERED, - resourceId: tagArn1, - resourceName: 'tag1=value1', - resourceType: AWS_TAGS_TAG, - tags: [], - relationships: [ - { - relationshipName: IS_ASSOCIATED_WITH, - resourceId: actualEksNodeGroup.resourceId, - resourceName: actualEksNodeGroup.resourceName, - resourceType: AWS_EKS_NODE_GROUP, - awsRegion: EU_WEST_2 - } - ] - }); - - assert.deepEqual(actualTag2, { - id: tagArn2, - accountId: ACCOUNT_X, - arn: tagArn2, - availabilityZone: NOT_APPLICABLE, - awsRegion: GLOBAL, - configuration: {}, - configurationItemStatus: RESOURCE_DISCOVERED, - resourceId: tagArn2, - resourceName: 'tag2=value2', - resourceType: AWS_TAGS_TAG, - tags: [], - relationships: [ - { - relationshipName: IS_ASSOCIATED_WITH, - resourceId: actualEksNodeGroup.resourceId, - resourceName: actualEksNodeGroup.resourceName, - resourceType: AWS_EKS_NODE_GROUP, - awsRegion: EU_WEST_2 - } - ] - }); - - }); - - it('should handle Tags field in upper camel case', async () => { - const schema = require('./fixtures/additionalResources/tags/camelCase.json'); - const {tagInfo, instanceRequests} = generate(schema); - - const mockEc2Client = { - createEc2Client(credentials, region) { - return { - async getAllSpotInstanceRequests() { - if(credentials.accessKeyId === ACCESS_KEY_X && region === EU_WEST_2) { - return instanceRequests.euWest2; - } - }, - async getAllSpotFleetRequests() { - return []; - } - } - } - } - - const spotInstanceRequestId1 = 'spotInstanceRequestId1'; - - const arn1 = `arn:aws:ec2:${EU_WEST_2}:${ACCOUNT_X}:spot-instance-request/${spotInstanceRequestId1}`; - const tagArn = `arn:aws:tags::${ACCOUNT_X}:tag/${tagInfo.testTagKey}=${tagInfo.testTagValue}`; - - const instanceId1 = "instanceId1"; - - const actual = await getAllSdkResources({...mockAwsClient, ...mockEc2Client}, []); - - const actualSpotFleet1 = actual.find(x => x.arn === arn1); - const actualTag = actual.find(x => x.arn === tagArn); - - assert.deepEqual(actualSpotFleet1, { - id: arn1, - accountId: ACCOUNT_X, - arn: arn1, - availabilityZone: MULTIPLE_AVAILABILITY_ZONES, - awsRegion: EU_WEST_2, - configuration: { - InstanceId: instanceId1, - SpotInstanceRequestId: spotInstanceRequestId1, - Tags: [ - { - Key: tagInfo.testTagKey, - Value: tagInfo.testTagValue - } - ] - }, - configurationItemStatus: RESOURCE_DISCOVERED, - resourceId: arn1, - resourceName: arn1, - resourceType: AWS_EC2_SPOT, - tags: [ - { - key: tagInfo.testTagKey, - value: tagInfo.testTagValue - } - ], - relationships: [ - { - relationshipName: IS_ASSOCIATED_WITH, - resourceId: instanceId1, - resourceType: AWS_EC2_INSTANCE - } - ] - }); - - assert.deepEqual(actualTag, { - id: tagArn, - accountId: ACCOUNT_X, - arn: tagArn, - availabilityZone: NOT_APPLICABLE, - awsRegion: GLOBAL, - configuration: {}, - configurationItemStatus: RESOURCE_DISCOVERED, - resourceId: tagArn, - resourceName: `${tagInfo.testTagKey}=${tagInfo.testTagValue}`, - resourceType: AWS_TAGS_TAG, - tags: [], - relationships: [ - { - relationshipName: IS_ASSOCIATED_WITH, - resourceId: actualSpotFleet1.resourceId, - resourceName: actualSpotFleet1.resourceName, - resourceType: AWS_EC2_SPOT, - awsRegion: EU_WEST_2 - } - ] - }); - }); - describe(AWS_DYNAMODB_STREAM, () => { - - it('should discover DynamoDB Streams', async () => { - const schema = require('./fixtures/additionalResources/dynamodb/stream.json'); - const {table, stream} = generate(schema); - - const mockDynamoDBStreamsClient = { - createDynamoDBStreamsClient(credentials, region) { - return { - async describeStream(streamArn) { - if(credentials.accessKeyId === ACCESS_KEY_X && region === EU_WEST_2) { - return { StreamArn: stream.arn } - } - } - } - } - } - const arn = `arn:aws:dynamodb:${EU_WEST_2}:${ACCOUNT_X}:table/test/stream`; - - const actual = await getAllSdkResources({...mockAwsClient, ...mockDynamoDBStreamsClient}, [table]); - - const actualDynamoDBStreamResource = actual.find(x => x.arn === arn); - - assert.deepEqual(actualDynamoDBStreamResource, { - id: arn, - accountId: ACCOUNT_X, - awsRegion: EU_WEST_2, - availabilityZone: NOT_APPLICABLE, - arn: arn, - resourceId: arn, - resourceName: arn, - resourceType: AWS_DYNAMODB_STREAM, - relationships: [], - configuration: { - StreamArn: "arn:aws:dynamodb:eu-west-2:xxxxxxxxxxxx:table/test/stream" - }, - configurationItemStatus: "ResourceDiscovered", - tags: [] - }); - - }); - - }); - - describe(AWS_DYNAMODB_TABLE, () => { - - it('should discover DynamoDB Tables without streams', async () => { - const schema = require('./fixtures/relationships/dynamodb/table.json'); - const {tableNoStream} = generate(schema); - - const arn = `arn:aws:dynamodb:${EU_WEST_2}:${ACCOUNT_X}:table/test`; - - const actual = await getAllSdkResources({...mockAwsClient}, [tableNoStream]); - const actualDynamoDBTableResource = actual.find(x => x.arn === arn); - - assert.lengthOf(actual, 1); - - assert.deepEqual(actualDynamoDBTableResource, { - id: arn, - accountId: ACCOUNT_X, - awsRegion: EU_WEST_2, - availabilityZone: NOT_APPLICABLE, - arn: arn, - resourceId: arn, - resourceName: arn, - resourceType: AWS_DYNAMODB_TABLE, - relationships: [], - configuration: {} - }); - - }); - - }); - - }); - - }); - -}); \ No newline at end of file diff --git a/source/backend/discovery/test/initialisation.js b/source/backend/discovery/test/initialisation.js deleted file mode 100644 index f54ee89a..00000000 --- a/source/backend/discovery/test/initialisation.js +++ /dev/null @@ -1,134 +0,0 @@ -// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 - -const {assert} = require('chai'); -const {initialise} = require('../src/lib/intialisation'); -const {AWS_ORGANIZATIONS} = require("../src/lib/constants"); -const {AggregatorNotFoundError, OrgAggregatorValidationError} = require("../src/lib/errors"); - -describe('initialisation', () => { - const ACCOUNT_X = 'xxxxxxxxxxxx'; - const ACCOUNT_Y = 'yyyyyyyyyyyy'; - const EU_WEST_1= 'eu-west-1'; - const US_EAST_1= 'us-east-1'; - - describe('initialise', () => { - - const defaultMockAwsClient = { - createEcsClient() { - return { - getAllClusterTasks: async arn => [ - {taskDefinitionArn: `arn:aws:ecs:eu-west-1:${ACCOUNT_X}:task-definition/workload-discovery-taskgroup:1`} - ] - } - }, - createEc2Client() { - return { - async getAllRegions() { - return [] - } - }; - }, - createConfigServiceClient() { - return {} - }, - createOrganizationsClient() { - return { - async getAllAccounts() { - return [] - }, - async getRootAccount() { - return { - Arn: `arn:aws:organizations::${ACCOUNT_X}:account/o-exampleorgid/:${ACCOUNT_X}` - } - } - } - }, - createStsClient() { - return { - getCurrentCredentials: async () => { - return {accessKeyId: 'accessKeyId', secretAccessKey: 'secretAccessKey', sessionToken: 'sessionToken'}; - }, - getCredentials: async role => {} - } - } - }; - - const defaultAppSync = () => { - return { - getAccounts: async () => [ - {accountId: ACCOUNT_X, regions: [{name: EU_WEST_1}]} - ] - } - }; - - const defaultConfig = { - region: EU_WEST_1, - rootAccountId: ACCOUNT_X, - cluster: 'testCluster', - configAggregator: 'configAggregator' - }; - - it('should throw if another copy of the ECS task is running', async () => { - const mockAwsClient = { - createEcsClient() { - return { - getAllClusterTasks: async () => [ - {taskDefinitionArn: `arn:aws:ecs:eu-west-1:${ACCOUNT_X}:task-definition/workload-discovery-taskgroup:1`}, - {taskDefinitionArn: `arn:aws:ecs:eu-west-1:${ACCOUNT_X}:task-definition/workload-discovery-taskgroup:2`} - ] - } - } - }; - - return initialise({...defaultMockAwsClient, ...mockAwsClient}, defaultAppSync, defaultConfig) - .catch(err => assert.strictEqual(err.message, 'Discovery process ECS task is already running in cluster.')); - }); - - it('should throw AggregatorNotFoundError if config aggregator does not exist in AWS organization', async () => { - const mockAwsClient = { - createConfigServiceClient() { - return { - async getConfigAggregator() { - const error = new Error(); - error.name = 'NoSuchConfigurationAggregatorException'; - throw error; - } - } - } - }; - - return initialise({...defaultMockAwsClient, ...mockAwsClient}, defaultAppSync, {...defaultConfig, crossAccountDiscovery: AWS_ORGANIZATIONS}) - .then(() => { - throw new Error('Expected error not thrown.'); - }) - .catch(err => { - assert.instanceOf(err, AggregatorNotFoundError); - assert.strictEqual(err.message, `Aggregator ${defaultConfig.configAggregator} was not found`); - }); - }); - - it('should throw OrgAggregatorValidationError if config aggregator is not org wide in AWS organization mode', async () => { - const mockAwsClient = { - createConfigServiceClient() { - return { - async getConfigAggregator() { - return {}; - } - } - } - }; - - return initialise({...defaultMockAwsClient, ...mockAwsClient}, defaultAppSync, {...defaultConfig, crossAccountDiscovery: AWS_ORGANIZATIONS}) - .then(() => { - throw new Error('Expected error not thrown.'); - }) - .catch(err => { - assert.instanceOf(err, OrgAggregatorValidationError); - assert.strictEqual(err.message, 'Config aggregator is not an organization wide aggregator'); - }); - }); - - }); - -}); \ No newline at end of file diff --git a/source/backend/discovery/test/mocks/agents/ConnectionClosed.js b/source/backend/discovery/test/mocks/agents/ConnectionClosed.js deleted file mode 100644 index 02cb5939..00000000 --- a/source/backend/discovery/test/mocks/agents/ConnectionClosed.js +++ /dev/null @@ -1,31 +0,0 @@ -const {MockAgent} = require('undici'); -const { - CONNECTION_CLOSED_PREMATURELY -} = require("../../../src/lib/constants"); - -const agent = new MockAgent(); -agent.disableNetConnect(); - -const client = agent.get('https://www.workload-discovery'); - -client.intercept({ - path: '/graphql', - method: 'POST' -}) - .reply(200, { - errors: [ - {message: CONNECTION_CLOSED_PREMATURELY} - ] - }); - -client.intercept({ - path: '/graphql', - method: 'POST' -}) - .reply(200, { - data: { - addRelationships: [] - } - }); - -module.exports = agent; \ No newline at end of file diff --git a/source/backend/discovery/test/mocks/agents/GenericError.js b/source/backend/discovery/test/mocks/agents/GenericError.js deleted file mode 100644 index 0095e689..00000000 --- a/source/backend/discovery/test/mocks/agents/GenericError.js +++ /dev/null @@ -1,18 +0,0 @@ -const {MockAgent} = require('undici'); - -const agent = new MockAgent(); -agent.disableNetConnect(); - -const client = agent.get('https://www.workload-discovery'); - -client.intercept({ - path: '/graphql', - method: 'POST' -}) - .reply(200, { - errors: [ - {message: 'Validation error'} - ] - }).persist(); - -module.exports = agent; \ No newline at end of file diff --git a/source/backend/discovery/test/mocks/agents/GetAccountsOrgsDeleted.js b/source/backend/discovery/test/mocks/agents/GetAccountsOrgsDeleted.js deleted file mode 100644 index ab3d43e4..00000000 --- a/source/backend/discovery/test/mocks/agents/GetAccountsOrgsDeleted.js +++ /dev/null @@ -1,30 +0,0 @@ -const {MockAgent} = require('undici'); -const { - CONNECTION_CLOSED_PREMATURELY, AWS_LAMBDA_FUNCTION, CONTAINS, AWS_EC2_VPC, AWS_EC2_SUBNET -} = require("../../../src/lib/constants"); -const {generateBaseResource} = require("../../generator"); - -const agent = new MockAgent(); -agent.disableNetConnect(); - -const ACCOUNT_X = 'xxxxxxxxxxxx'; -const ACCOUNT_Y = 'yyyyyyyyyyyy'; -const ACCOUNT_Z = 'zzzzzzzzzzzz'; -const EU_WEST_1= 'eu-west-1'; -const US_EAST_1= 'us-east-1'; - -const client = agent.get('https://www.workload-discovery'); - -client.intercept({ - path: '/graphql', - method: 'POST' -}) - .reply(200, {data: { - getAccounts: [ - {accountId: ACCOUNT_X, name: 'Account X', organizationId: "o-exampleorgid", regions: [{name: EU_WEST_1}, {name: US_EAST_1}]}, - {accountId: ACCOUNT_Y, name: 'Account Y', organizationId: "o-exampleorgid", regions: [{name: EU_WEST_1}]}, - {accountId: ACCOUNT_Z, name: 'Account Z', organizationId: "o-exampleorgid", regions: [{name: EU_WEST_1}, {name: US_EAST_1}]} - ] - }}); - -module.exports = agent; diff --git a/source/backend/discovery/test/mocks/agents/GetAccountsOrgsEmpty.js b/source/backend/discovery/test/mocks/agents/GetAccountsOrgsEmpty.js deleted file mode 100644 index 030e7cbc..00000000 --- a/source/backend/discovery/test/mocks/agents/GetAccountsOrgsEmpty.js +++ /dev/null @@ -1,25 +0,0 @@ -const {MockAgent} = require('undici'); -const { - CONNECTION_CLOSED_PREMATURELY, AWS_LAMBDA_FUNCTION, CONTAINS, AWS_EC2_VPC, AWS_EC2_SUBNET -} = require("../../../src/lib/constants"); -const {generateBaseResource} = require("../../generator"); - -const agent = new MockAgent(); -agent.disableNetConnect(); - -const ACCOUNT_X = 'xxxxxxxxxxxx'; -const ACCOUNT_Y = 'yyyyyyyyyyyy'; -const EU_WEST_1= 'eu-west-1'; -const US_EAST_1= 'us-east-1'; - -const client = agent.get('https://www.workload-discovery'); - -client.intercept({ - path: '/graphql', - method: 'POST' -}) - .reply(200, {data: { - getAccounts: [] - }}).persist(); - -module.exports = agent; diff --git a/source/backend/discovery/test/mocks/agents/GetAccountsOrgsLastCrawled.js b/source/backend/discovery/test/mocks/agents/GetAccountsOrgsLastCrawled.js deleted file mode 100644 index 153cc015..00000000 --- a/source/backend/discovery/test/mocks/agents/GetAccountsOrgsLastCrawled.js +++ /dev/null @@ -1,26 +0,0 @@ -const {MockAgent} = require('undici'); -const { - CONNECTION_CLOSED_PREMATURELY, AWS_LAMBDA_FUNCTION, CONTAINS, AWS_EC2_VPC, AWS_EC2_SUBNET -} = require("../../../src/lib/constants"); -const {generateBaseResource} = require("../../generator"); - -const agent = new MockAgent(); -agent.disableNetConnect(); - -const ACCOUNT_X = 'xxxxxxxxxxxx'; -const EU_WEST_1= 'eu-west-1'; -const US_EAST_1= 'us-east-1'; - -const client = agent.get('https://www.workload-discovery'); - -client.intercept({ - path: '/graphql', - method: 'POST' -}) - .reply(200, {data: { - getAccounts: [ - {accountId: ACCOUNT_X, name: 'Account X', lastCrawled: new Date('2022-10-25').toISOString(), organizationId: "o-exampleorgid", regions: [{name: EU_WEST_1}, {name: US_EAST_1}]}, - ] - }}); - -module.exports = agent; diff --git a/source/backend/discovery/test/mocks/agents/GetAccountsSelfManaged.js b/source/backend/discovery/test/mocks/agents/GetAccountsSelfManaged.js deleted file mode 100644 index 824cb856..00000000 --- a/source/backend/discovery/test/mocks/agents/GetAccountsSelfManaged.js +++ /dev/null @@ -1,28 +0,0 @@ -const {MockAgent} = require('undici'); -const { - CONNECTION_CLOSED_PREMATURELY, AWS_LAMBDA_FUNCTION, CONTAINS, AWS_EC2_VPC, AWS_EC2_SUBNET -} = require("../../../src/lib/constants"); -const {generateBaseResource} = require("../../generator"); - -const agent = new MockAgent(); -agent.disableNetConnect(); - -const ACCOUNT_X = 'xxxxxxxxxxxx'; -const ACCOUNT_Y = 'yyyyyyyyyyyy'; -const EU_WEST_1= 'eu-west-1'; -const US_EAST_1= 'us-east-1'; - -const client = agent.get('https://www.workload-discovery'); - -client.intercept({ - path: '/graphql', - method: 'POST' -}) - .reply(200, {data: { - getAccounts: [ - {accountId: ACCOUNT_X, name: 'Account X', regions: [{name: EU_WEST_1}, {name: US_EAST_1}]}, - {accountId: ACCOUNT_Y, name: 'Account Y', regions: [{name: EU_WEST_1}]} - ] - }}).persist(); - -module.exports = agent; diff --git a/source/backend/discovery/test/mocks/agents/GetDbRelationshipsMapPagination.js b/source/backend/discovery/test/mocks/agents/GetDbRelationshipsMapPagination.js deleted file mode 100644 index 229e5f1c..00000000 --- a/source/backend/discovery/test/mocks/agents/GetDbRelationshipsMapPagination.js +++ /dev/null @@ -1,41 +0,0 @@ -const {MockAgent} = require('undici'); -const { - CONNECTION_CLOSED_PREMATURELY, AWS_LAMBDA_FUNCTION, CONTAINS, AWS_EC2_VPC, AWS_EC2_SUBNET -} = require("../../../src/lib/constants"); -const {generateBaseResource} = require("../../generator"); - -const agent = new MockAgent(); -agent.disableNetConnect(); - -const client = agent.get('https://www.workload-discovery'); - -client.intercept({ - path: '/graphql', - method: 'POST' -}) - .reply(200, {data: { - getRelationships: [ - { - id: 'testId', - label: CONTAINS, - source: { - id: 'sourceArn', - label: AWS_EC2_VPC - }, - target: { - id: 'targetArn', - label: AWS_EC2_SUBNET - }, - } - ] - }}); - -client.intercept({ - path: '/graphql', - method: 'POST' -}) - .reply(200, {data: { - getRelationships: [] - }}); - -module.exports = agent; \ No newline at end of file diff --git a/source/backend/discovery/test/mocks/agents/GetDbResourcesMapPagination.js b/source/backend/discovery/test/mocks/agents/GetDbResourcesMapPagination.js deleted file mode 100644 index ad017ba7..00000000 --- a/source/backend/discovery/test/mocks/agents/GetDbResourcesMapPagination.js +++ /dev/null @@ -1,32 +0,0 @@ -const {MockAgent} = require('undici'); -const { - CONNECTION_CLOSED_PREMATURELY, AWS_LAMBDA_FUNCTION -} = require("../../../src/lib/constants"); -const {generateBaseResource} = require("../../generator"); - -const agent = new MockAgent(); -agent.disableNetConnect(); - -const client = agent.get('https://www.workload-discovery'); - -const properties = generateBaseResource('xxxxxxxxxxxx', 'eu-west-1', AWS_LAMBDA_FUNCTION, 1); - -client.intercept({ - path: '/graphql', - method: 'POST' -}) - .reply(200, {data: { - getResources: [ - {id: properties.arn, label: 'label', md5Hash: '', properties} - ] - }}); - -client.intercept({ - path: '/graphql', - method: 'POST' -}) - .reply(200, {data: { - getResources: [] - }}); - -module.exports = agent; \ No newline at end of file diff --git a/source/backend/discovery/test/mocks/agents/utils.js b/source/backend/discovery/test/mocks/agents/utils.js deleted file mode 100644 index 024f9bfd..00000000 --- a/source/backend/discovery/test/mocks/agents/utils.js +++ /dev/null @@ -1,28 +0,0 @@ -const {MockAgent} = require("undici"); - -module.exports = { - createSuccessThenError: (successResult, errorMsg) => { - const agent = new MockAgent(); - agent.disableNetConnect(); - - const client = agent.get('https://www.workload-discovery'); - - client.intercept({ - path: '/graphql', - method: 'POST' - }) - .reply(200, successResult); - - client.intercept({ - path: '/graphql', - method: 'POST' - }) - .reply(200, { - errors: [ - {message: errorMsg} - ] - }); - - return agent; - } -}; \ No newline at end of file diff --git a/source/backend/discovery/test/persistence/index.js b/source/backend/discovery/test/persistence/index.js deleted file mode 100644 index c6ec7a74..00000000 --- a/source/backend/discovery/test/persistence/index.js +++ /dev/null @@ -1,141 +0,0 @@ -// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 - -const {assert} = require('chai'); -const sinon = require('sinon'); -const { - persistResourcesAndRelationships, - processPersistenceFailures -} = require('../../src/lib/persistence'); -const {generateBaseResource} = require("../generator"); -const {AWS_LAMBDA_FUNCTION, AWS_EC2_VPC, AWS_EC2_INSTANCE, AWS_IAM_ROLE, AWS_RDS_DB_CLUSTER} = require("../../src/lib/constants"); - -describe('index.js', () => { - const mockNoErrors = {errors: []}; - - describe('batching', () => { - const mockApiClient = { - deleteResources: sinon.stub().resolves(mockNoErrors), - updateResources: sinon.stub().resolves(mockNoErrors), - storeResources: sinon.stub().resolves(mockNoErrors), - deleteRelationships: sinon.stub().resolves(mockNoErrors), - storeRelationships: sinon.stub().resolves(mockNoErrors), - }; - - it('should batch requests to the backend', async () => { - await persistResourcesAndRelationships(mockApiClient, { - resourceIdsToDelete: [], resourcesToStore: [], resourcesToUpdate: [], - linksToAdd: [], linksToDelete: [] - }); - - sinon.assert.calledWith(mockApiClient.deleteResources, {concurrency: 5, batchSize: 50}); - sinon.assert.calledWith(mockApiClient.updateResources, {concurrency: 10, batchSize: 10}); - sinon.assert.calledWith(mockApiClient.storeResources, {concurrency: 10, batchSize: 10}); - sinon.assert.calledWith(mockApiClient.deleteRelationships, {concurrency: 5, batchSize: 50}); - sinon.assert.calledWith(mockApiClient.storeRelationships, {concurrency: 10, batchSize: 20}); - }); - }); - - describe('write errors', () => { - it('returns delete failures', async () => { - const mockApiClient = { - deleteResources: sinon.stub().resolves( - {errors: [{item: ['arn1', 'arn2']}, {item: ['arn3']}, {item: ['arn4']}]} - ), - updateResources: sinon.stub().resolves(mockNoErrors), - storeResources: sinon.stub().resolves(mockNoErrors), - deleteRelationships: sinon.stub().resolves(mockNoErrors), - storeRelationships: sinon.stub().resolves(mockNoErrors), - }; - - const {failedDeletes} = await persistResourcesAndRelationships(mockApiClient, { - resourceIdsToDelete: [], resourcesToStore: [], resourcesToUpdate: [], - linksToAdd: [], linksToDelete: [] - }); - - assert.deepEqual(failedDeletes, ['arn1', 'arn2', 'arn3', 'arn4']) - }); - - it('returns store failures', async () => { - const mockApiClient = { - deleteResources: sinon.stub().resolves(mockNoErrors), - updateResources: sinon.stub().resolves(mockNoErrors), - storeResources: sinon.stub().resolves( - {errors: [{item: [{id: 'arn1'}, {id: 'arn2'}]}, {item: [{id: 'arn3'}]}, {item: [{id: 'arn4'}]}]} - ), - deleteRelationships: sinon.stub().resolves(mockNoErrors), - storeRelationships: sinon.stub().resolves(mockNoErrors), - }; - - const {failedStores} = await persistResourcesAndRelationships(mockApiClient, { - resourceIdsToDelete: [], resourcesToStore: [], resourcesToUpdate: [], - linksToAdd: [], linksToDelete: [] - }); - - assert.deepEqual(failedStores, ['arn1', 'arn2', 'arn3', 'arn4']) - }); - - }); - - describe('processPersistenceFailures', () => { - const ACCOUNT_IDX = 'xxxxxxxxxxxx'; - const EU_WEST_1 = 'eu-west-1'; - - it('should removed failed stores', () => { - const dbResources = [ - generateBaseResource(ACCOUNT_IDX, EU_WEST_1, AWS_LAMBDA_FUNCTION, 1), - generateBaseResource(ACCOUNT_IDX, EU_WEST_1, AWS_EC2_VPC, 2), - generateBaseResource(ACCOUNT_IDX, EU_WEST_1, AWS_EC2_INSTANCE, 3), - ]; - - const dbResourcesMap = new Map(dbResources.map(x => [x.id, x])); - const resourceToStore = generateBaseResource(ACCOUNT_IDX, EU_WEST_1, AWS_IAM_ROLE, 4); - const resourceToStoreFail = generateBaseResource(ACCOUNT_IDX, EU_WEST_1, AWS_RDS_DB_CLUSTER, 5); - - const resources = [ - ...dbResources, - resourceToStoreFail, - resourceToStore - ]; - - const actual = processPersistenceFailures(dbResourcesMap, resources, { - failedDeletes: [], failedStores: [resourceToStoreFail.id] - }); - - assert.deepEqual([ - ...dbResources, - resourceToStore - ], actual); - }); - - it('should keep failed deletes', () => { - const resources = [ - generateBaseResource(ACCOUNT_IDX, EU_WEST_1, AWS_LAMBDA_FUNCTION, 1), - generateBaseResource(ACCOUNT_IDX, EU_WEST_1, AWS_EC2_VPC, 2), - generateBaseResource(ACCOUNT_IDX, EU_WEST_1, AWS_EC2_INSTANCE, 3), - ]; - - const resourceToDelete = generateBaseResource(ACCOUNT_IDX, EU_WEST_1, AWS_IAM_ROLE, 4); - const resourceToDeleteFail = generateBaseResource(ACCOUNT_IDX, EU_WEST_1, AWS_RDS_DB_CLUSTER, 5); - - const dbResources = [ - ...resources, - resourceToDelete, - resourceToDeleteFail - ]; - - const dbResourcesMap = new Map(dbResources.map(x => [x.id, x])); - - const actual = processPersistenceFailures(dbResourcesMap, resources, { - failedDeletes: [resourceToDeleteFail.id], failedStores: [] - }); - - assert.deepEqual([ - ...resources, - resourceToDeleteFail - ], actual); - }); - - }); - -}); diff --git a/source/backend/discovery/test/persistence/transformers.js b/source/backend/discovery/test/persistence/transformers.js deleted file mode 100644 index 18f2eb9c..00000000 --- a/source/backend/discovery/test/persistence/transformers.js +++ /dev/null @@ -1,223 +0,0 @@ -// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 - -const {assert} = require('chai'); -const R = require('ramda'); -const {generateBaseResource, generateRandomInt} = require('../generator'); -const {createSaveObject, createResourcesRegionMetadata} = require('../../src/lib/persistence/transformers'); -const { - AWS_API_GATEWAY_METHOD, - AWS_API_GATEWAY_RESOURCE, - AWS_DYNAMODB_STREAM, - AWS_ECS_TASK, - AWS_ELASTIC_LOAD_BALANCING_V2_LISTENER, - AWS_EKS_NODE_GROUP, - AWS_ELASTIC_LOAD_BALANCING_V2_TARGET_GROUP, - AWS_IAM_AWS_MANAGED_POLICY, - AWS_LAMBDA_FUNCTION, - AWS_EC2_SPOT, - AWS_EC2_SPOT_FLEET, - AWS_IAM_INLINE_POLICY, - AWS_OPENSEARCH_DOMAIN, - AWS_AUTOSCALING_AUTOSCALING_GROUP, - AWS_API_GATEWAY_REST_API, - AWS_IAM_ROLE, - AWS_IAM_GROUP, - AWS_IAM_USER, - AWS_IAM_POLICY, - AWS_S3_BUCKET, - AWS_RDS_DB_CLUSTER, - AWS_ECS_CLUSTER, - AWS_EC2_VPC, - AWS_EC2_SUBNET, - AWS_EC2_INSTANCE -} = require("../../src/lib/constants"); - -const ACCOUNT_IDX = 'xxxxxxxxxxxx'; -const EU_WEST_1 = 'eu-west-1'; - -describe('persistence/transformers', () => { - - describe('createSaveObject', () => { - - describe('hashing', () => { - - [ - [AWS_API_GATEWAY_METHOD, 'e77a45b311fc1a9fa083d959fef13cf1'], - [AWS_API_GATEWAY_RESOURCE, '49e48e16ca5f6dc8205d6b4e5a28760d'], - [AWS_ECS_TASK, '24b51c39cf2f472cdb96bcd5bc4bb87a'], - [AWS_ELASTIC_LOAD_BALANCING_V2_LISTENER, '0a6a70f85bdac8608bb4b3e0f917ce64'], - [AWS_EKS_NODE_GROUP, '288a15ee94f1278f5f50783b4521e810'], - [AWS_ELASTIC_LOAD_BALANCING_V2_TARGET_GROUP, 'aeed86caaad0d80172a51d94c5547fe2'], - [AWS_IAM_AWS_MANAGED_POLICY, '1a18a8a6f9f4863fd603c4ce93491a37'], - [AWS_EC2_SPOT, 'ad454ecd37a904ba2b33ff07aac54106'], - [AWS_EC2_SPOT_FLEET, 'e5c1ab47ac15a1e6c39480bb2265a221'], - [AWS_IAM_INLINE_POLICY, '9be3badedb6f62a7a6e48f19dc1702c8'], - [AWS_OPENSEARCH_DOMAIN, '183f22ba18a821428718cd8c1db3d467'], - [AWS_DYNAMODB_STREAM, '6a96a6977befda49b9fab8a1f4917abd'] - ].forEach(([resourceType, hash], i) => { - it(`should hash ${resourceType} resources`, () => { - const resource = generateBaseResource(ACCOUNT_IDX, EU_WEST_1, resourceType, i); - - const actual = createSaveObject(resource); - assert.strictEqual(actual.md5Hash, hash); - }); - }); - - }); - - describe('title', () => { - - it('should use name tag for title if present', () => { - const resource = generateBaseResource(ACCOUNT_IDX, EU_WEST_1, AWS_LAMBDA_FUNCTION, 1); - - const actual = createSaveObject({...resource, tags: [{key: 'Name', value: 'testName'}]}); - assert.strictEqual(actual.properties.title, 'testName'); - }); - - it('should fall back to resource name if name tag not present', () => { - const resource = generateBaseResource(ACCOUNT_IDX, EU_WEST_1, AWS_LAMBDA_FUNCTION, 1); - - const actual = createSaveObject({...resource, resourceName: 'resourceName'}); - assert.strictEqual(actual.properties.title, 'resourceName'); - }); - - it('should fall back to resource id if resource name or name tag not present', () => { - const resource = generateBaseResource(ACCOUNT_IDX, EU_WEST_1, AWS_LAMBDA_FUNCTION, 1); - - const actual = createSaveObject(R.omit(['resourceName'], resource)); - assert.strictEqual(actual.properties.title, 'resourceId1'); - }); - - it('should use the target group id for an ALB title', () => { - const resource = generateBaseResource(ACCOUNT_IDX, EU_WEST_1, AWS_ELASTIC_LOAD_BALANCING_V2_TARGET_GROUP, 1); - - const actual = createSaveObject({...resource, arn: 'arn:aws:elasticloadbalancing:us-west-2:xxxxxxxxxxxx:targetgroup/my-targets/73e2d6bc24d8a067'}); - assert.strictEqual(actual.properties.title, 'targetgroup/my-targets/73e2d6bc24d8a067'); - }); - - it('should use the listener id for an ALB title', () => { - const resource = generateBaseResource(ACCOUNT_IDX, EU_WEST_1, AWS_ELASTIC_LOAD_BALANCING_V2_LISTENER, 1); - - const actual = createSaveObject({...resource, arn: 'arn:aws:elasticloadbalancing:us-west-2:xxxxxxxxxxxx:listener/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2'}); - assert.strictEqual(actual.properties.title, 'listener/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2'); - }); - - it('should use the listener id for an ASG title', () => { - const resource = generateBaseResource(ACCOUNT_IDX, EU_WEST_1, AWS_AUTOSCALING_AUTOSCALING_GROUP, 1); - - const actual = createSaveObject({...resource, arn: 'arn:aws:autoscaling:eu-west-1:xxxxxxxxxxxx:autoScalingGroup:123e4567-e89b-12d3-a456-426614174000:autoScalingGroupName/asg-name'}); - assert.strictEqual(actual.properties.title, 'asg-name'); - }); - - }); - - describe('logins', () => { - - [ - [AWS_API_GATEWAY_REST_API, {id: 'restId'}, { - expectedLoginUrl: 'https://xxxxxxxxxxxx.signin.aws.amazon.com/console/apigateway?region=eu-west-1#/apis/restId/resources', - expectedLoggedInURL: 'https://eu-west-1.console.aws.amazon.com/apigateway/home?region=eu-west-1#/apis/restId/resources' - }], - [AWS_API_GATEWAY_RESOURCE, {id: 'apiGwResourceId', RestApiId: 'restId'}, { - expectedLoginUrl: 'https://xxxxxxxxxxxx.signin.aws.amazon.com/console/apigateway?region=eu-west-1#/apis/restId/resources/apiGwResourceId', - expectedLoggedInURL: 'https://eu-west-1.console.aws.amazon.com/apigateway/home?region=eu-west-1#/apis/restId/resources/apiGwResourceId' - }], - [AWS_API_GATEWAY_METHOD, {httpMethod: 'GET', ResourceId: 'apiGwResourceId', RestApiId: 'restId'}, { - expectedLoginUrl: 'https://xxxxxxxxxxxx.signin.aws.amazon.com/console/apigateway?region=eu-west-1#/apis/restId/resources/apiGwResourceId/GET', - expectedLoggedInURL: 'https://eu-west-1.console.aws.amazon.com/apigateway/home?region=eu-west-1#/apis/restId/resources/apiGwResourceId/GET' - }], - [AWS_AUTOSCALING_AUTOSCALING_GROUP, {}, { - expectedLoginUrl: 'https://xxxxxxxxxxxx.signin.aws.amazon.com/console/ec2/autoscaling/home?region=eu-west-1#AutoScalingGroups:id=resourceName3;view=details', - expectedLoggedInURL: 'https://eu-west-1.console.aws.amazon.com/ec2/home/autoscaling/home?region=eu-west-1#AutoScalingGroups:id=resourceName3;view=details' - }], - [AWS_LAMBDA_FUNCTION, {}, { - expectedLoginUrl: 'https://xxxxxxxxxxxx.signin.aws.amazon.com/console/lambda?region=eu-west-1#/functions/resourceName4?tab=graph', - expectedLoggedInURL: 'https://eu-west-1.console.aws.amazon.com/lambda/home?region=eu-west-1#/functions/resourceName4?tab=graph' - }], - [AWS_IAM_ROLE, {}, { - expectedLoginUrl: 'https://xxxxxxxxxxxx.signin.aws.amazon.com/console/iam?home?#/roles', - expectedLoggedInURL: 'https://console.aws.amazon.com/iam/home?#/roles' - }], - [AWS_IAM_GROUP, {}, { - expectedLoginUrl: 'https://xxxxxxxxxxxx.signin.aws.amazon.com/console/iam?home?#/groups', - expectedLoggedInURL: 'https://console.aws.amazon.com/iam/home?#/groups' - }], - [AWS_IAM_USER, {}, { - expectedLoginUrl: 'https://xxxxxxxxxxxx.signin.aws.amazon.com/console/iam?home?#/users', - expectedLoggedInURL: 'https://console.aws.amazon.com/iam/home?#/users' - }], - [AWS_IAM_POLICY, {}, { - expectedLoginUrl: 'https://xxxxxxxxxxxx.signin.aws.amazon.com/console/iam?home?#/policies', - expectedLoggedInURL: 'https://console.aws.amazon.com/iam/home?#/policies' - }], - [AWS_S3_BUCKET, {}, { - expectedLoginUrl: 'https://xxxxxxxxxxxx.signin.aws.amazon.com/console/s3?bucket=resourceName9', - expectedLoggedInURL: 'https://s3.console.aws.amazon.com/s3/buckets/resourceName9/?region=eu-west-1' - }] - ].forEach(([resourceType, configuration, {expectedLoginUrl, expectedLoggedInURL}], i) => { - it(`should create logins for ${resourceType}`, () => { - const resource = generateBaseResource(ACCOUNT_IDX, EU_WEST_1, resourceType, i); - - const actual = createSaveObject({...resource, configuration}); - assert.strictEqual(actual.properties.loginURL, expectedLoginUrl); - assert.strictEqual(actual.properties.loggedInURL, expectedLoggedInURL); - }); - }); - - - }); - }); - - describe('account metadata', () => { - const ACCOUNT_IDX = 'xxxxxxxxxxxx'; - const ACCOUNT_IDY = 'yyyyyyyyyyyy'; - const ACCOUNT_IDZ = 'zzzzzzzzzzzz'; - const GLOBAL = 'global'; - - const EU_WEST_1 = 'eu-west-1'; - const EU_WEST_2 = 'eu-west-2'; - const US_WEST_2 = 'us-west-2'; - - const resources = [ - [ACCOUNT_IDX, EU_WEST_1, AWS_API_GATEWAY_METHOD, 3], - [ACCOUNT_IDX, EU_WEST_1, AWS_RDS_DB_CLUSTER, 7], - [ACCOUNT_IDX, EU_WEST_2, AWS_API_GATEWAY_RESOURCE, 8], - [ACCOUNT_IDX, US_WEST_2 ,AWS_ECS_CLUSTER, 1], - [ACCOUNT_IDX, US_WEST_2 ,AWS_ECS_TASK, 4], - [ACCOUNT_IDY, EU_WEST_1, AWS_EC2_VPC, 3], - [ACCOUNT_IDY, EU_WEST_1, AWS_LAMBDA_FUNCTION, 10], - [ACCOUNT_IDY, EU_WEST_2, AWS_LAMBDA_FUNCTION, 6], - [ACCOUNT_IDY, GLOBAL, AWS_IAM_ROLE, 15], - [ACCOUNT_IDZ, EU_WEST_1, AWS_EC2_VPC, 2], - [ACCOUNT_IDZ, US_WEST_2, AWS_EC2_VPC, 2], - [ACCOUNT_IDZ, US_WEST_2, AWS_EC2_SUBNET, 9], - [ACCOUNT_IDZ, US_WEST_2, AWS_EC2_INSTANCE, 12], - ].flatMap(([accountId, region, resourceType, count]) => { - const resources = []; - - for(let i = 0; i < count; i++) { - const randomInt = generateRandomInt(0, 100000) - const {id,...properties} = generateBaseResource(accountId, region, resourceType, randomInt) - resources.push({ - id, - label: properties.resourceType.replace(/::/g, '_'), - md5Hash: '', - properties - }); - } - - return resources; - }); - - it('should get resourcesRegionMetadata', () => { - const expectedResourcesRegionMetadata = require('../fixtures/persistence/transformers/accountMetadata/resourcesAccountMetadataExpected.json'); - const expected = new Map(expectedResourcesRegionMetadata.map(x => [x.accountId, x])); - - const resourcesRegionMetadata = createResourcesRegionMetadata(resources); - - assert.deepEqual(resourcesRegionMetadata, expected); - }); - - }); -}); \ No newline at end of file diff --git a/source/backend/discovery/test/utils.js b/source/backend/discovery/test/utils.js deleted file mode 100644 index a75d3303..00000000 --- a/source/backend/discovery/test/utils.js +++ /dev/null @@ -1,93 +0,0 @@ -// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 - -const {assert} = require('chai'); -const utils = require('../src/lib/utils'); - -describe('utils.js', () => { - - describe('createArn', () => { - - const {createArn} = utils; - - it('should create correct partition for China North region', async () => { - const expected = 'arn:aws-cn:ec2:cn-north-1:xxxxxxxxxxxx:volume/vol-1a2b3c4d'; - const actual = createArn({ - service: 'ec2', region: 'cn-north-1', accountId: 'xxxxxxxxxxxx', resource: 'volume/vol-1a2b3c4d' - }); - - assert.deepEqual(actual, expected); - }); - - it('should create correct partition for China Northwest region', async () => { - const expected = 'arn:aws-cn:ec2:cn-northwest-1:xxxxxxxxxxxx:volume/vol-1a2b3c4d'; - const actual = createArn({ - service: 'ec2', region: 'cn-northwest-1', accountId: 'xxxxxxxxxxxx', resource: 'volume/vol-1a2b3c4d' - }); - - assert.deepEqual(actual, expected); - }); - - - it('should create correct partition for GovCloud East region', async () => { - const expected = 'arn:aws-us-gov:ec2:us-gov-east-1:xxxxxxxxxxxx:volume/vol-1a2b3c4d'; - const actual = createArn({ - service: 'ec2', region: 'us-gov-east-1', accountId: 'xxxxxxxxxxxx', resource: 'volume/vol-1a2b3c4d' - }); - - assert.deepEqual(actual, expected); - }); - - it('should create correct partition for GovCloud West region', async () => { - const expected = 'arn:aws-us-gov:ec2:us-gov-west-1:xxxxxxxxxxxx:volume/vol-1a2b3c4d'; - const actual = createArn({ - service: 'ec2', region: 'us-gov-west-1', accountId: 'xxxxxxxxxxxx', resource: 'volume/vol-1a2b3c4d' - }); - - assert.deepEqual(actual, expected); - }); - - it('should create correct partition for standard regions', async () => { - const expected = 'arn:aws:ec2:us-west-1:xxxxxxxxxxxx:volume/vol-1a2b3c4d'; - const actual = createArn({ - service: 'ec2', region: 'us-west-1', accountId: 'xxxxxxxxxxxx', resource: 'volume/vol-1a2b3c4d' - }); - - assert.deepEqual(actual, expected); - }); - - it('should default to an empty string if account id or region is absent', async () => { - const expected = 'arn:aws:s3:::myBucket'; - const actual = createArn({ - service: 's3', resource: 'myBucket' - }); - - assert.deepEqual(actual, expected); - }); - }); - - describe('createArnWithResourceType', () => { - - const {createArnWithResourceType} = utils; - - it('should create an arn using a resource type and id', () => { - const expected = 'arn:aws:config:us-west-1:xxxxxxxxxxxx:resourcecompliance/resourceId'; - const actual = createArnWithResourceType( - {resourceType: 'AWS::Config::ResourceCompliance', accountId: 'xxxxxxxxxxxx', awsRegion: 'us-west-1', resourceId: 'resourceId'} - ); - - assert.deepEqual(actual, expected); - }); - - it('should default to an empty string if account id or region is absent', () => { - const expected = 'arn:aws:config:::resourcecompliance/resourceId'; - const actual = createArnWithResourceType( - {resourceType: 'AWS::Config::ResourceCompliance', resourceId: 'resourceId'} - ); - - assert.deepEqual(actual, expected); - }); - - }); - -}); \ No newline at end of file diff --git a/source/backend/functions/account-import-templates-api/package-lock.json b/source/backend/functions/account-import-templates-api/package-lock.json index aa4501ba..eab71b09 100644 --- a/source/backend/functions/account-import-templates-api/package-lock.json +++ b/source/backend/functions/account-import-templates-api/package-lock.json @@ -1,1114 +1,1334 @@ { "name": "wd-import-templates", - "version": "2.1.15", + "version": "2.2.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "wd-import-templates", - "version": "2.1.15", + "version": "2.2.0", "license": "Apache-2.0", + "dependencies": { + "@aws-lambda-powertools/logger": "2.10.0" + }, "devDependencies": { - "chai": "^4.3.10", - "mocha": "^10.2.0", - "nyc": "^15.1.0", - "nyc-report-lcov-absolute": "^1.0.0", - "rewire": "^7.0.0", + "@vitest/coverage-v8": "^2.1.1", + "vitest": "^2.1.1", "yaml-cfn": "^0.3.2" } }, - "node_modules/@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/@ampproject/remapping": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", - "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", "dev": true, "dependencies": { - "@jridgewell/gen-mapping": "^0.1.0", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { "node": ">=6.0.0" } }, - "node_modules/@babel/code-frame": { - "version": "7.22.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", - "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", - "dev": true, + "node_modules/@aws-lambda-powertools/commons": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@aws-lambda-powertools/commons/-/commons-2.10.0.tgz", + "integrity": "sha512-XHC0FW/k33JWc2SZ9pbOJQPzNCMoRGnRuX/Cx1CYXRvRnaLYkPNRPrPYvGWy1OInAS3GSK6zxP1Asx0k4uaqSw==", + "license": "MIT-0" + }, + "node_modules/@aws-lambda-powertools/logger": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@aws-lambda-powertools/logger/-/logger-2.10.0.tgz", + "integrity": "sha512-QsVnoCBf6gKneGmSrIj1nxf34jWWOyDu4PO3I+VwkaH60lph2dIVcF1pP1zZagxUoYt9WWiddHcGQ7ORo0z5iw==", + "license": "MIT-0", "dependencies": { - "@babel/highlight": "^7.22.13", - "chalk": "^2.4.2" + "@aws-lambda-powertools/commons": "^2.10.0", + "lodash.merge": "^4.6.2" }, + "peerDependencies": { + "@middy/core": "4.x || 5.x" + }, + "peerDependenciesMeta": { + "@middy/core": { + "optional": true + } + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.7.tgz", + "integrity": "sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==", + "dev": true, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/code-frame/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==", + "node_modules/@babel/helper-validator-identifier": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, "engines": { - "node": ">=4" + "node": ">=6.9.0" } }, - "node_modules/@babel/code-frame/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==", + "node_modules/@babel/parser": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.7.tgz", + "integrity": "sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==", "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "bin": { + "parser": "bin/babel-parser.js" }, "engines": { - "node": ">=4" + "node": ">=6.0.0" } }, - "node_modules/@babel/code-frame/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==", + "node_modules/@babel/types": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.7.tgz", + "integrity": "sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==", "dev": true, "dependencies": { - "color-name": "1.1.3" + "@babel/helper-string-parser": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" } }, - "node_modules/@babel/code-frame/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", "dev": true }, - "node_modules/@babel/code-frame/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": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "node_modules/@esbuild/aix-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", + "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", + "cpu": [ + "ppc64" + ], "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], "engines": { - "node": ">=0.8.0" + "node": ">=12" } }, - "node_modules/@babel/code-frame/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "node_modules/@esbuild/android-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", + "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", + "cpu": [ + "arm" + ], "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=4" + "node": ">=12" } }, - "node_modules/@babel/code-frame/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==", + "node_modules/@esbuild/android-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", + "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=4" + "node": ">=12" } }, - "node_modules/@babel/compat-data": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.19.0.tgz", - "integrity": "sha512-y5rqgTTPTmaF5e2nVhOxw+Ur9HDJLsWb6U/KpgUzRZEdPfE6VOubXBKLdbcUTijzRptednSBDQbYZBOSqJxpJw==", + "node_modules/@esbuild/android-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", + "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", + "cpu": [ + "x64" + ], "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/core": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.0.tgz", - "integrity": "sha512-reM4+U7B9ss148rh2n1Qs9ASS+w94irYXga7c2jaQv9RVzpS7Mv1a9rnYYwuDa45G+DkORt9g6An2k/V4d9LbQ==", + "node_modules/@esbuild/darwin-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", + "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.19.0", - "@babel/helper-compilation-targets": "^7.19.0", - "@babel/helper-module-transforms": "^7.19.0", - "@babel/helpers": "^7.19.0", - "@babel/parser": "^7.19.0", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.0", - "@babel/types": "^7.19.0", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.1", - "semver": "^6.3.0" - }, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" + "node": ">=12" } }, - "node_modules/@babel/generator": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", - "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", + "node_modules/@esbuild/darwin-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", + "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "@babel/types": "^7.23.0", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - }, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", + "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - }, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">=6.0.0" + "node": ">=12" } }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.0.tgz", - "integrity": "sha512-Ai5bNWXIvwDvWM7njqsG3feMlL9hCVQsPYXodsZyLwshYkZVJt59Gftau4VrE8S9IT9asd2uSP1hG6wCNw+sXA==", + "node_modules/@esbuild/freebsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", + "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "@babel/compat-data": "^7.19.0", - "@babel/helper-validator-option": "^7.18.6", - "browserslist": "^4.20.2", - "semver": "^6.3.0" - }, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "node": ">=12" } }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", + "node_modules/@esbuild/linux-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", + "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", + "cpu": [ + "arm" + ], "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", + "node_modules/@esbuild/linux-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", + "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" - }, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "node_modules/@esbuild/linux-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", + "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", + "cpu": [ + "ia32" + ], "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-module-imports": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", - "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", + "node_modules/@esbuild/linux-loong64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", + "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", + "cpu": [ + "loong64" + ], "dev": true, - "dependencies": { - "@babel/types": "^7.18.6" - }, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.0.tgz", - "integrity": "sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ==", + "node_modules/@esbuild/linux-mips64el": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", + "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", + "cpu": [ + "mips64el" + ], "dev": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.18.6", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.0", - "@babel/types": "^7.19.0" - }, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-simple-access": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz", - "integrity": "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==", + "node_modules/@esbuild/linux-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", + "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", + "cpu": [ + "ppc64" + ], "dev": true, - "dependencies": { - "@babel/types": "^7.18.6" - }, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "node_modules/@esbuild/linux-riscv64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", + "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", + "cpu": [ + "riscv64" + ], "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", + "node_modules/@esbuild/linux-s390x": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", + "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", + "cpu": [ + "s390x" + ], "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "node_modules/@esbuild/linux-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", + "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", + "cpu": [ + "x64" + ], "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-validator-option": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", - "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", + "node_modules/@esbuild/netbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", + "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", + "cpu": [ + "x64" + ], "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helpers": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.19.0.tgz", - "integrity": "sha512-DRBCKGwIEdqY3+rPJgG/dKfQy9+08rHIAJx8q2p+HSWP87s2HCrQmaAMMyMll2kIXKCW0cO1RdQskx15Xakftg==", + "node_modules/@esbuild/openbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", + "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.0", - "@babel/types": "^7.19.0" - }, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/highlight": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", - "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", + "node_modules/@esbuild/sunos-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", + "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" - }, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/highlight/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==", + "node_modules/@esbuild/win32-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", + "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=4" + "node": ">=12" } }, - "node_modules/@babel/highlight/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==", + "node_modules/@esbuild/win32-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", + "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", + "cpu": [ + "ia32" + ], "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=4" + "node": ">=12" } }, - "node_modules/@babel/highlight/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==", + "node_modules/@esbuild/win32-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", + "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "color-name": "1.1.3" + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" } }, - "node_modules/@babel/highlight/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/@babel/highlight/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": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, "engines": { - "node": ">=0.8.0" + "node": ">=12" } }, - "node_modules/@babel/highlight/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", "dev": true, + "license": "MIT", "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/@babel/highlight/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==", + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", "dev": true, "dependencies": { - "has-flag": "^3.0.0" + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { - "node": ">=4" + "node": ">=6.0.0" } }, - "node_modules/@babel/parser": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", - "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", "dev": true, - "bin": { - "parser": "bin/babel-parser.js" - }, "engines": { "node": ">=6.0.0" } }, - "node_modules/@babel/template": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", - "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", "dev": true, - "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/parser": "^7.22.15", - "@babel/types": "^7.22.15" - }, "engines": { - "node": ">=6.9.0" + "node": ">=6.0.0" } }, - "node_modules/@babel/traverse": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", - "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", "dev": true, - "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.23.0", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.0", - "@babel/types": "^7.23.0", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } + "license": "MIT" }, - "node_modules/@babel/types": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", - "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", "dev": true, "dependencies": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.20", - "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", "dev": true, - "dependencies": { - "eslint-visitor-keys": "^3.3.0" - }, + "license": "MIT", + "optional": true, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + "node": ">=14" } }, - "node_modules/@eslint-community/regexpp": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.9.1.tgz", - "integrity": "sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==", + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.22.4.tgz", + "integrity": "sha512-Fxamp4aEZnfPOcGA8KSNEohV8hX7zVHOemC8jVBoBUHu5zpJK/Eu3uJwt6BMgy9fkvzxDaurgj96F/NiLukF2w==", + "cpu": [ + "arm" + ], "dev": true, - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } + "license": "MIT", + "optional": true, + "os": [ + "android" + ] }, - "node_modules/@eslint/eslintrc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", - "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.22.4.tgz", + "integrity": "sha512-VXoK5UMrgECLYaMuGuVTOx5kcuap1Jm8g/M83RnCHBKOqvPPmROFJGQaZhGccnsFtfXQ3XYa4/jMCJvZnbJBdA==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } + "license": "MIT", + "optional": true, + "os": [ + "android" + ] }, - "node_modules/@eslint/eslintrc/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==", + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.22.4.tgz", + "integrity": "sha512-xMM9ORBqu81jyMKCDP+SZDhnX2QEVQzTcC6G18KlTQEzWK8r/oNZtKuZaCcHhnsa6fEeOBionoyl5JsAbE/36Q==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.23.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", - "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.22.4.tgz", + "integrity": "sha512-aJJyYKQwbHuhTUrjWjxEvGnNNBCnmpHDvrb8JFDbeSH3m2XdHcxDd3jthAzvmoI8w/kSjd2y0udT+4okADsZIw==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] }, - "node_modules/@eslint/eslintrc/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.22.4.tgz", + "integrity": "sha512-j63YtCIRAzbO+gC2L9dWXRh5BFetsv0j0va0Wi9epXDgU/XUi5dJKo4USTttVyK7fGw2nPWK0PbAvyliz50SCQ==", + "cpu": [ + "arm" + ], "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@eslint/eslintrc/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==", + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.22.4.tgz", + "integrity": "sha512-dJnWUgwWBX1YBRsuKKMOlXCzh2Wu1mlHzv20TpqEsfdZLb3WoJW2kIEsGwLkroYf24IrPAvOT/ZQ2OYMV6vlrg==", + "cpu": [ + "arm" + ], "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@eslint/js": { - "version": "8.51.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.51.0.tgz", - "integrity": "sha512-HxjQ8Qn+4SI3/AFv6sOrDB+g6PpUTDwSJiQqOrnneEk8L71161srI9gjzzZvYVbzHiVg/BvcH95+cK/zfIt4pg==", + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.22.4.tgz", + "integrity": "sha512-AdPRoNi3NKVLolCN/Sp4F4N1d98c4SBnHMKoLuiG6RXgoZ4sllseuGioszumnPGmPM2O7qaAX/IJdeDU8f26Aw==", + "cpu": [ + "arm64" + ], "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.11.13", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", - "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==", + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.22.4.tgz", + "integrity": "sha512-Gl0AxBtDg8uoAn5CCqQDMqAx22Wx22pjDOjBdmG0VIWX3qUBHzYmOKh8KXHL4UpogfJ14G4wk16EQogF+v8hmA==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "@humanwhocodes/object-schema": "^2.0.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" - }, - "engines": { - "node": ">=10.10.0" - } + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@humanwhocodes/config-array/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==", + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.22.4.tgz", + "integrity": "sha512-3aVCK9xfWW1oGQpTsYJJPF6bfpWfhbRnhdlyhak2ZiyFLDaayz0EP5j9V1RVLAAxlmWKTDfS9wyRyY3hvhPoOg==", + "cpu": [ + "ppc64" + ], "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@humanwhocodes/config-array/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.22.4.tgz", + "integrity": "sha512-ePYIir6VYnhgv2C5Xe9u+ico4t8sZWXschR6fMgoPUK31yQu7hTEJb7bCqivHECwIClJfKgE7zYsh1qTP3WHUA==", + "cpu": [ + "riscv64" + ], "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.22.4.tgz", + "integrity": "sha512-GqFJ9wLlbB9daxhVlrTe61vJtEY99/xB3C8e4ULVsVfflcpmR6c8UZXjtkMA6FhNONhj2eA5Tk9uAVw5orEs4Q==", + "cpu": [ + "s390x" + ], "dev": true, - "engines": { - "node": ">=12.22" + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.22.4.tgz", + "integrity": "sha512-87v0ol2sH9GE3cLQLNEy0K/R0pz1nvg76o8M5nhMR0+Q+BBGLnb35P0fVz4CQxHYXaAOhE8HhlkaZfsdUOlHwg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.22.4.tgz", + "integrity": "sha512-UV6FZMUgePDZrFjrNGIWzDo/vABebuXBhJEqrHxrGiU6HikPy0Z3LfdtciIttEUQfuDdCn8fqh7wiFJjCNwO+g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.22.4.tgz", + "integrity": "sha512-BjI+NVVEGAXjGWYHz/vv0pBqfGoUH0IGZ0cICTn7kB9PyjrATSkX+8WkguNjWoj2qSr1im/+tTGRaY+4/PdcQw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.22.4.tgz", + "integrity": "sha512-SiWG/1TuUdPvYmzmYnmd3IEifzR61Tragkbx9D3+R8mzQqDBz8v+BvZNDlkiTtI9T15KYZhP0ehn3Dld4n9J5g==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.22.4.tgz", + "integrity": "sha512-j8pPKp53/lq9lMXN57S8cFz0MynJk8OWNuUnXct/9KCpKU7DgU3bYMJhwWmcqC0UU29p8Lr0/7KEVcaM6bf47Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@types/estree": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vitest/coverage-v8": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-2.1.1.tgz", + "integrity": "sha512-md/A7A3c42oTT8JUHSqjP5uKTWJejzUW4jalpvs+rZ27gsURsMU8DEb+8Jf8C6Kj2gwfSHJqobDNBuoqlm0cFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.3.0", + "@bcoe/v8-coverage": "^0.2.3", + "debug": "^4.3.6", + "istanbul-lib-coverage": "^3.2.2", + "istanbul-lib-report": "^3.0.1", + "istanbul-lib-source-maps": "^5.0.6", + "istanbul-reports": "^3.1.7", + "magic-string": "^0.30.11", + "magicast": "^0.3.4", + "std-env": "^3.7.0", + "test-exclude": "^7.0.1", + "tinyrainbow": "^1.2.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@vitest/browser": "2.1.1", + "vitest": "2.1.1" + }, + "peerDependenciesMeta": { + "@vitest/browser": { + "optional": true + } } }, - "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz", - "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==", - "dev": true - }, - "node_modules/@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "node_modules/@vitest/expect": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-2.1.1.tgz", + "integrity": "sha512-YeueunS0HiHiQxk+KEOnq/QMzlUuOzbU1Go+PgAsHvvv3tUkJPm9xWt+6ITNTlzsMXUjmgm5T+U7KBPK2qQV6w==", "dev": true, + "license": "MIT", "dependencies": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" + "@vitest/spy": "2.1.1", + "@vitest/utils": "2.1.1", + "chai": "^5.1.1", + "tinyrainbow": "^1.2.0" }, - "engines": { - "node": ">=8" + "funding": { + "url": "https://opencollective.com/vitest" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "node_modules/@vitest/mocker": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-2.1.1.tgz", + "integrity": "sha512-LNN5VwOEdJqCmJ/2XJBywB11DLlkbY0ooDJW3uRX5cZyYCrc4PI/ePX0iQhE3BiEGiQmK4GE7Q/PqCkkaiPnrA==", "dev": true, + "license": "MIT", "dependencies": { - "sprintf-js": "~1.0.2" + "@vitest/spy": "^2.1.0-beta.1", + "estree-walker": "^3.0.3", + "magic-string": "^0.30.11" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@vitest/spy": "2.1.1", + "msw": "^2.3.5", + "vite": "^5.0.0" + }, + "peerDependenciesMeta": { + "msw": { + "optional": true + }, + "vite": { + "optional": true + } } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "node_modules/@vitest/pretty-format": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-2.1.1.tgz", + "integrity": "sha512-SjxPFOtuINDUW8/UkElJYQSFtnWX7tMksSGW0vfjxMneFqxVr8YJ979QpMbDW7g+BIiq88RAGDjf7en6rvLPPQ==", "dev": true, + "license": "MIT", "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" + "tinyrainbow": "^1.2.0" }, - "engines": { - "node": ">=8" + "funding": { + "url": "https://opencollective.com/vitest" } }, - "node_modules/@istanbuljs/load-nyc-config/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==", + "node_modules/@vitest/runner": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-2.1.1.tgz", + "integrity": "sha512-uTPuY6PWOYitIkLPidaY5L3t0JJITdGTSwBtwMjKzo5O6RCOEncz9PUN+0pDidX8kTHYjO0EwUIvhlGpnGpxmA==", "dev": true, + "license": "MIT", "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "@vitest/utils": "2.1.1", + "pathe": "^1.1.2" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "funding": { + "url": "https://opencollective.com/vitest" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "node_modules/@vitest/snapshot": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-2.1.1.tgz", + "integrity": "sha512-BnSku1WFy7r4mm96ha2FzN99AZJgpZOWrAhtQfoxjUU5YMRpq1zmHRq7a5K9/NjqonebO7iVDla+VvZS8BOWMw==", "dev": true, + "license": "MIT", "dependencies": { - "p-locate": "^4.1.0" + "@vitest/pretty-format": "2.1.1", + "magic-string": "^0.30.11", + "pathe": "^1.1.2" }, - "engines": { - "node": ">=8" + "funding": { + "url": "https://opencollective.com/vitest" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "node_modules/@vitest/spy": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-2.1.1.tgz", + "integrity": "sha512-ZM39BnZ9t/xZ/nF4UwRH5il0Sw93QnZXd9NAZGRpIgj0yvVwPpLd702s/Cx955rGaMlyBQkZJ2Ir7qyY48VZ+g==", "dev": true, + "license": "MIT", "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" + "tinyspy": "^3.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://opencollective.com/vitest" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "node_modules/@vitest/utils": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-2.1.1.tgz", + "integrity": "sha512-Y6Q9TsI+qJ2CC0ZKj6VBb+T8UPz593N113nnUykqwANqhgf3QkZeHFlusgKLTqrnVHbj/XDKZcDHol+dxVT+rQ==", "dev": true, + "license": "MIT", "dependencies": { - "p-limit": "^2.2.0" + "@vitest/pretty-format": "2.1.1", + "loupe": "^3.1.1", + "tinyrainbow": "^1.2.0" }, - "engines": { - "node": ">=8" + "funding": { + "url": "https://opencollective.com/vitest" } }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", "dev": true, + "license": "MIT", "engines": { - "node": ">=8" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", - "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", - "dev": true, - "dependencies": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10" + "node": ">=12" }, - "engines": { - "node": ">=6.0.0" + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "dev": true, + "license": "MIT", "engines": { - "node": ">=6.0.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "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/assertion-error": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", + "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", "dev": true, + "license": "MIT", "engines": { - "node": ">=6.0.0" + "node": ">=12" } }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "dev": true + "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==", + "dev": true, + "license": "MIT" }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.20", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", - "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, + "license": "MIT", "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" + "balanced-match": "^1.0.0" } }, - "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==", + "node_modules/cac": { + "version": "6.7.14", + "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", + "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", "dev": true, - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, + "license": "MIT", "engines": { - "node": ">= 8" + "node": ">=8" } }, - "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==", + "node_modules/chai": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/chai/-/chai-5.1.1.tgz", + "integrity": "sha512-pT1ZgP8rPNqUgieVaEY+ryQr6Q4HXNg8Ei9UnLUrjN4IA7dvQC5JB+/kxVcPNDHyBcc/26CXPkbNzq3qwrOEKA==", "dev": true, + "license": "MIT", + "dependencies": { + "assertion-error": "^2.0.1", + "check-error": "^2.1.1", + "deep-eql": "^5.0.1", + "loupe": "^3.1.0", + "pathval": "^2.0.0" + }, "engines": { - "node": ">= 8" + "node": ">=12" } }, - "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==", + "node_modules/check-error": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz", + "integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==", "dev": true, - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, + "license": "MIT", "engines": { - "node": ">= 8" + "node": ">= 16" } }, - "node_modules/acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "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, - "bin": { - "acorn": "bin/acorn" + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" }, "engines": { - "node": ">=0.4.0" + "node": ">=7.0.0" } }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "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, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } + "license": "MIT" }, - "node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, + "license": "MIT", "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" }, "engines": { - "node": ">=8" + "node": ">= 8" } }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", "dev": true, + "license": "MIT", "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" + "ms": "^2.1.3" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "node_modules/deep-eql": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz", + "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, - "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==", + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", "dev": true, - "engines": { - "node": ">=8" - } + "license": "MIT" }, - "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==", + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", "dev": true, - "dependencies": { - "color-convert": "^2.0.1" + "license": "MIT" + }, + "node_modules/esbuild": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" }, "engines": { - "node": ">=8" + "node": ">=12" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" + } + }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", "dev": true, + "license": "MIT", "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" + "@types/estree": "^1.0.0" } }, - "node_modules/append-transform": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz", - "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==", + "node_modules/foreground-child": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", "dev": true, + "license": "ISC", "dependencies": { - "default-require-extensions": "^3.0.0" + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" }, "engines": { - "node": ">=8" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/archy": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==", - "dev": true - }, - "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/assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": "*" + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "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==", - "dev": true - }, - "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==", + "node_modules/get-func-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", + "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", "dev": true, + "license": "MIT", "engines": { - "node": ">=8" + "node": "*" } }, - "node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", "dev": true, + "license": "ISC", "dependencies": { - "balanced-match": "^1.0.0" + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "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, - "dependencies": { - "fill-range": "^7.1.1" - }, "engines": { "node": ">=8" } }, - "node_modules/browser-stdout": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "dev": true }, - "node_modules/browserslist": { - "version": "4.21.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.3.tgz", - "integrity": "sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - ], - "dependencies": { - "caniuse-lite": "^1.0.30001370", - "electron-to-chromium": "^1.4.202", - "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.5" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/caching-transform": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz", - "integrity": "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==", + "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==", "dev": true, - "dependencies": { - "hasha": "^5.0.0", - "make-dir": "^3.0.0", - "package-hash": "^4.0.0", - "write-file-atomic": "^3.0.0" - }, + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true, - "engines": { - "node": ">=6" - } + "license": "ISC" }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "node_modules/istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", "dev": true, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/caniuse-lite": { - "version": "1.0.30001397", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001397.tgz", - "integrity": "sha512-SW9N2TbCdLf0eiNDRrrQXx2sOkaakNZbCjgNpPyMJJbiOrU5QzMIrXOVMRM1myBXTD5iTkdrtU/EguCrBocHlA==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - } - ] - }, - "node_modules/chai": { - "version": "4.3.10", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.10.tgz", - "integrity": "sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g==", + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", "dev": true, "dependencies": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.3", - "deep-eql": "^4.1.3", - "get-func-name": "^2.0.2", - "loupe": "^2.3.6", - "pathval": "^1.1.1", - "type-detect": "^4.0.8" + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=4" + "node": ">=10" } }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/istanbul-lib-report/node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "semver": "^7.5.3" }, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/istanbul-lib-report/node_modules/semver": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, - "node_modules/chalk/node_modules/supports-color": { + "node_modules/istanbul-lib-report/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==", @@ -1120,4555 +1340,1769 @@ "node": ">=8" } }, - "node_modules/check-error": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", - "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", + "node_modules/istanbul-lib-source-maps": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-5.0.6.tgz", + "integrity": "sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "get-func-name": "^2.0.2" + "@jridgewell/trace-mapping": "^0.3.23", + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0" }, "engines": { - "node": "*" + "node": ">=10" } }, - "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "node_modules/istanbul-reports": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", + "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], "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" + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", "dev": true, + "license": "BlueOak-1.0.0", "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" } }, - "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==", + "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": { - "color-name": "~1.1.4" + "argparse": "^2.0.1" }, - "engines": { - "node": ">=7.0.0" + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "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/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "license": "MIT" }, - "node_modules/commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", - "dev": true + "node_modules/loupe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.1.tgz", + "integrity": "sha512-edNu/8D5MKVfGVFRhFf8aAxiTM6Wumfz5XsaatSxlD3w4R1d/WEKUTydCdPGbl9K7QG/Ca3GnDV2sIKIpXRQcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-func-name": "^2.0.1" + } }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true + "node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" }, - "node_modules/convert-source-map": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", + "node_modules/magic-string": { + "version": "0.30.11", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz", + "integrity": "sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==", "dev": true, + "license": "MIT", "dependencies": { - "safe-buffer": "~5.1.1" + "@jridgewell/sourcemap-codec": "^1.5.0" } }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "node_modules/magicast": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.3.4.tgz", + "integrity": "sha512-TyDF/Pn36bBji9rWKHlZe+PZb6Mx5V8IHCSxk7X4aljM4e/vyDvZZYwHewdVaqiA0nb3ghfHU/6AUpDxWoER2Q==", "dev": true, "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" + "@babel/parser": "^7.24.4", + "@babel/types": "^7.24.0", + "source-map-js": "^1.2.0" } }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, + "license": "ISC", "dependencies": { - "ms": "2.1.2" + "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=6.0" + "node": ">=16 || 14 >=14.17" }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/debug/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==", - "dev": true - }, - "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", "dev": true, + "license": "ISC", "engines": { - "node": ">=0.10.0" + "node": ">=16 || 14 >=14.17" } }, - "node_modules/deep-eql": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", - "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true, - "dependencies": { - "type-detect": "^4.0.0" + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" }, "engines": { - "node": ">=6" + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "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/default-require-extensions": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.0.tgz", - "integrity": "sha512-ek6DpXq/SCpvjhpFsLFRVtIxJCRw6fUR42lYMVZuUMK7n8eMz4Uh5clckdBjEpLhn/gEBZo7hDJnJcwdKLKQjg==", + "node_modules/package-json-from-dist": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", + "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==", "dev": true, - "dependencies": { - "strip-bom": "^4.0.0" - }, - "engines": { - "node": ">=8" - } + "license": "BlueOak-1.0.0" }, - "node_modules/diff": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", - "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, + "license": "MIT", "engines": { - "node": ">=0.3.1" + "node": ">=8" } }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", "dev": true, + "license": "BlueOak-1.0.0", "dependencies": { - "esutils": "^2.0.2" + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" }, "engines": { - "node": ">=6.0.0" + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/electron-to-chromium": { - "version": "1.4.247", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.247.tgz", - "integrity": "sha512-FLs6R4FQE+1JHM0hh3sfdxnYjKvJpHZyhQDjc2qFq/xFvmmRt/TATNToZhrcGUFzpF2XjeiuozrA8lI0PZmYYw==", - "dev": true - }, - "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==", - "dev": true - }, - "node_modules/es6-error": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", - "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", - "dev": true + "node_modules/pathe": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", + "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", + "dev": true, + "license": "MIT" }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "node_modules/pathval": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.0.tgz", + "integrity": "sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==", "dev": true, + "license": "MIT", "engines": { - "node": ">=6" + "node": ">= 14.16" } }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "node_modules/picocolors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", + "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==", "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "license": "ISC" }, - "node_modules/eslint": { - "version": "8.51.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.51.0.tgz", - "integrity": "sha512-2WuxRZBrlwnXi+/vFSJyjMqrNjtJqiasMzehF0shoLaW7DzS3/9Yvrmq5JiT66+pNjiX4UBnLDiKHcWAr/OInA==", + "node_modules/postcss": { + "version": "8.4.47", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", + "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "8.51.0", - "@humanwhocodes/config-array": "^0.11.11", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" + "nanoid": "^3.3.7", + "picocolors": "^1.1.0", + "source-map-js": "^1.2.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": "^10 || ^12 || >=14" } }, - "node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "node_modules/rollup": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.22.4.tgz", + "integrity": "sha512-vD8HJ5raRcWOyymsR6Z3o6+RzfEPCnVLMFJ6vRslO1jt4LO6dUo5Qnpg7y4RkZFM2DMe3WUirkI5c16onjrc6A==", "dev": true, + "license": "MIT", "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" + "@types/estree": "1.0.5" }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "bin": { + "rollup": "dist/bin/rollup" }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=18.0.0", + "npm": ">=8.0.0" }, - "funding": { - "url": "https://opencollective.com/eslint" + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.22.4", + "@rollup/rollup-android-arm64": "4.22.4", + "@rollup/rollup-darwin-arm64": "4.22.4", + "@rollup/rollup-darwin-x64": "4.22.4", + "@rollup/rollup-linux-arm-gnueabihf": "4.22.4", + "@rollup/rollup-linux-arm-musleabihf": "4.22.4", + "@rollup/rollup-linux-arm64-gnu": "4.22.4", + "@rollup/rollup-linux-arm64-musl": "4.22.4", + "@rollup/rollup-linux-powerpc64le-gnu": "4.22.4", + "@rollup/rollup-linux-riscv64-gnu": "4.22.4", + "@rollup/rollup-linux-s390x-gnu": "4.22.4", + "@rollup/rollup-linux-x64-gnu": "4.22.4", + "@rollup/rollup-linux-x64-musl": "4.22.4", + "@rollup/rollup-win32-arm64-msvc": "4.22.4", + "@rollup/rollup-win32-ia32-msvc": "4.22.4", + "@rollup/rollup-win32-x64-msvc": "4.22.4", + "fsevents": "~2.3.2" } }, - "node_modules/eslint/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==", + "node_modules/rollup/node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } + "license": "MIT" }, - "node_modules/eslint/node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, + "license": "MIT", "dependencies": { - "is-glob": "^4.0.3" + "shebang-regex": "^3.0.0" }, "engines": { - "node": ">=10.13.0" + "node": ">=8" } }, - "node_modules/eslint/node_modules/globals": { - "version": "13.23.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", - "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, + "license": "MIT", "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "node_modules/siginfo": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", + "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } + "license": "ISC" }, - "node_modules/eslint/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==", + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true, + "license": "ISC", "engines": { - "node": ">=10" + "node": ">=14" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", "dev": true, - "dependencies": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - }, + "license": "BSD-3-Clause", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": ">=0.10.0" } }, - "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==", + "node_modules/stackback": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", + "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", "dev": true, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } + "license": "MIT" }, - "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "node_modules/std-env": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz", + "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==", "dev": true, - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } + "license": "MIT" }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "dev": true, + "license": "MIT", "dependencies": { - "estraverse": "^5.2.0" + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" }, "engines": { - "node": ">=4.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "node_modules/string-width-cjs": { + "name": "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==", "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, "engines": { - "node": ">=4.0" + "node": ">=8" } }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "node_modules/string-width-cjs/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==", "dev": true, + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "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==", - "dev": true - }, - "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==", - "dev": true - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true - }, - "node_modules/fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "node_modules/string-width-cjs/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==", "dev": true, - "dependencies": { - "reusify": "^1.0.4" - } + "license": "MIT" }, - "node_modules/file-entry-cache": { + "node_modules/string-width-cjs/node_modules/strip-ansi": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, + "license": "MIT", "dependencies": { - "to-regex-range": "^5.0.1" + "ansi-regex": "^5.0.1" }, "engines": { "node": ">=8" } }, - "node_modules/find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, + "license": "MIT", "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" + "ansi-regex": "^6.0.1" }, "engines": { - "node": ">=8" + "node": ">=12" }, "funding": { - "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, + "license": "MIT", "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" + "ansi-regex": "^5.0.1" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", - "dev": true, - "bin": { - "flat": "cli.js" + "node": ">=8" } }, - "node_modules/flat-cache": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.1.tgz", - "integrity": "sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==", + "node_modules/strip-ansi-cjs/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==", "dev": true, - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" - }, + "license": "MIT", "engines": { - "node": ">=12.0.0" + "node": ">=8" } }, - "node_modules/flatted": { - "version": "3.2.9", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", - "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", - "dev": true - }, - "node_modules/foreground-child": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz", - "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==", + "node_modules/test-exclude": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-7.0.1.tgz", + "integrity": "sha512-pFYqmTw68LXVjeWJMST4+borgQP2AyMNbg1BpZh9LbyhUeNkeaPF9gzfPGUAnSMV3qPYdWUwDIjjCLiSDOl7vg==", "dev": true, + "license": "ISC", "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^3.0.2" + "@istanbuljs/schema": "^0.1.2", + "glob": "^10.4.1", + "minimatch": "^9.0.4" }, "engines": { - "node": ">=8.0.0" + "node": ">=18" } }, - "node_modules/fromentries": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz", - "integrity": "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==", + "node_modules/tinybench": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", + "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] + "license": "MIT" }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "node_modules/tinyexec": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.0.tgz", + "integrity": "sha512-tVGE0mVJPGb0chKhqmsoosjsS+qUnJVGJpZgsHYQcGoPlG3B51R3PouqTgEGH2Dc9jjFyOqOpix6ZHNMXp1FZg==", "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } + "license": "MIT" }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "node_modules/tinypool": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.0.1.tgz", + "integrity": "sha512-URZYihUbRPcGv95En+sz6MfghfIc2OJ1sv/RmhWZLouPY0/8Vo80viwPvg3dlaS9fuq7fQMEfgRRK7BBZThBEA==", "dev": true, + "license": "MIT", "engines": { - "node": ">=6.9.0" + "node": "^18.0.0 || >=20.0.0" } }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "node_modules/tinyrainbow": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-1.2.0.tgz", + "integrity": "sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==", "dev": true, + "license": "MIT", "engines": { - "node": "6.* || 8.* || >= 10.*" + "node": ">=14.0.0" } }, - "node_modules/get-func-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", - "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", + "node_modules/tinyspy": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-3.0.2.tgz", + "integrity": "sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==", "dev": true, + "license": "MIT", "engines": { - "node": "*" + "node": ">=14.0.0" } }, - "node_modules/get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", "dev": true, "engines": { - "node": ">=8.0.0" + "node": ">=4" } }, - "node_modules/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "node_modules/vite": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.6.tgz", + "integrity": "sha512-IeL5f8OO5nylsgzd9tq4qD2QqI0k2CQLGrWD0rCN0EQJZpBK5vJAx0I+GDkMOXxQX/OfFHMuLIx6ddAxGX/k+Q==", "dev": true, + "license": "MIT", "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" + "esbuild": "^0.21.3", + "postcss": "^8.4.43", + "rollup": "^4.20.0" + }, + "bin": { + "vite": "bin/vite.js" }, "engines": { - "node": "*" + "node": "^18.0.0 || >=20.0.0" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } } }, - "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==", + "node_modules/vite-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-2.1.1.tgz", + "integrity": "sha512-N/mGckI1suG/5wQI35XeR9rsMsPqKXzq1CdUndzVstBj/HvyxxGctwnK6WX43NGt5L3Z5tcRf83g4TITKJhPrA==", "dev": true, + "license": "MIT", "dependencies": { - "is-glob": "^4.0.1" + "cac": "^6.7.14", + "debug": "^4.3.6", + "pathe": "^1.1.2", + "vite": "^5.0.0" + }, + "bin": { + "vite-node": "vite-node.mjs" }, "engines": { - "node": ">= 6" - } - }, - "node_modules/glob/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==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" } }, - "node_modules/glob/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" + "node_modules/vitest": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-2.1.1.tgz", + "integrity": "sha512-97We7/VC0e9X5zBVkvt7SGQMGrRtn3KtySFQG5fpaMlS+l62eeXRQO633AYhSTC3z7IMebnPPNjGXVGNRFlxBA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/expect": "2.1.1", + "@vitest/mocker": "2.1.1", + "@vitest/pretty-format": "^2.1.1", + "@vitest/runner": "2.1.1", + "@vitest/snapshot": "2.1.1", + "@vitest/spy": "2.1.1", + "@vitest/utils": "2.1.1", + "chai": "^5.1.1", + "debug": "^4.3.6", + "magic-string": "^0.30.11", + "pathe": "^1.1.2", + "std-env": "^3.7.0", + "tinybench": "^2.9.0", + "tinyexec": "^0.3.0", + "tinypool": "^1.0.0", + "tinyrainbow": "^1.2.0", + "vite": "^5.0.0", + "vite-node": "2.1.1", + "why-is-node-running": "^2.3.0" + }, + "bin": { + "vitest": "vitest.mjs" }, "engines": { - "node": "*" + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@edge-runtime/vm": "*", + "@types/node": "^18.0.0 || >=20.0.0", + "@vitest/browser": "2.1.1", + "@vitest/ui": "2.1.1", + "happy-dom": "*", + "jsdom": "*" + }, + "peerDependenciesMeta": { + "@edge-runtime/vm": { + "optional": true + }, + "@types/node": { + "optional": true + }, + "@vitest/browser": { + "optional": true + }, + "@vitest/ui": { + "optional": true + }, + "happy-dom": { + "optional": true + }, + "jsdom": { + "optional": true + } } }, - "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, "engines": { - "node": ">=4" + "node": ">= 8" } }, - "node_modules/graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", - "dev": true - }, - "node_modules/graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true - }, - "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==", + "node_modules/why-is-node-running": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", + "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", "dev": true, + "license": "MIT", + "dependencies": { + "siginfo": "^2.0.0", + "stackback": "0.0.2" + }, + "bin": { + "why-is-node-running": "cli.js" + }, "engines": { "node": ">=8" } }, - "node_modules/hasha": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz", - "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==", + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", "dev": true, + "license": "MIT", "dependencies": { - "is-stream": "^2.0.0", - "type-fest": "^0.8.0" + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" }, "engines": { - "node": ">=8" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true, - "bin": { - "he": "bin/he" - } - }, - "node_modules/html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true - }, - "node_modules/ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", - "dev": true, - "engines": { - "node": ">= 4" + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "node_modules/wrap-ansi-cjs": { + "name": "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==", "dev": true, + "license": "MIT", "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=6" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/import-fresh/node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "engines": { - "node": ">=4" + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "node_modules/wrap-ansi-cjs/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==", "dev": true, + "license": "MIT", "engines": { - "node": ">=0.8.19" + "node": ">=8" } }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "node_modules/wrap-ansi-cjs/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, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "node_modules/wrap-ansi-cjs/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==", "dev": true, - "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==", - "dev": true + "license": "MIT" }, - "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==", + "node_modules/wrap-ansi-cjs/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==", "dev": true, + "license": "MIT", "dependencies": { - "binary-extensions": "^2.0.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { "node": ">=8" } }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "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==", + "node_modules/wrap-ansi-cjs/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==", "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, "engines": { "node": ">=8" } }, - "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==", + "node_modules/yaml-cfn": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/yaml-cfn/-/yaml-cfn-0.3.2.tgz", + "integrity": "sha512-MvrWhv40GKWHFGCliTGGAMwAeqIXf/bzf6WW48+xND9iMp8cTj0R8xkwM0lX/GzNN/EZKr5gP4Hx63Fn+sICoA==", "dev": true, "dependencies": { - "is-extglob": "^2.1.1" + "js-yaml": "^4.0.0" }, - "engines": { - "node": ">=0.10.0" + "bin": { + "yaml-cfn": "cli.js" } - }, - "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==", + } + }, + "dependencies": { + "@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", "dev": true, - "engines": { - "node": ">=0.12.0" + "requires": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" } }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true, - "engines": { - "node": ">=8" - } + "@aws-lambda-powertools/commons": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@aws-lambda-powertools/commons/-/commons-2.10.0.tgz", + "integrity": "sha512-XHC0FW/k33JWc2SZ9pbOJQPzNCMoRGnRuX/Cx1CYXRvRnaLYkPNRPrPYvGWy1OInAS3GSK6zxP1Asx0k4uaqSw==" }, - "node_modules/is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", - "dev": true, - "engines": { - "node": ">=8" + "@aws-lambda-powertools/logger": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@aws-lambda-powertools/logger/-/logger-2.10.0.tgz", + "integrity": "sha512-QsVnoCBf6gKneGmSrIj1nxf34jWWOyDu4PO3I+VwkaH60lph2dIVcF1pP1zZagxUoYt9WWiddHcGQ7ORo0z5iw==", + "requires": { + "@aws-lambda-powertools/commons": "^2.10.0", + "lodash.merge": "^4.6.2" } }, - "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "@babel/helper-string-parser": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.7.tgz", + "integrity": "sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==", + "dev": true }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "@babel/helper-validator-identifier": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", "dev": true }, - "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==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "@babel/parser": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.7.tgz", + "integrity": "sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==", + "dev": true }, - "node_modules/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==", + "@babel/types": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.7.tgz", + "integrity": "sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==", "dev": true, - "engines": { - "node": ">=0.10.0" + "requires": { + "@babel/helper-string-parser": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7", + "to-fast-properties": "^2.0.0" } }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", "dev": true }, - "node_modules/istanbul-lib-coverage": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "@esbuild/aix-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", + "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", "dev": true, - "engines": { - "node": ">=8" - } + "optional": true }, - "node_modules/istanbul-lib-hook": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz", - "integrity": "sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==", + "@esbuild/android-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", + "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", "dev": true, - "dependencies": { - "append-transform": "^2.0.0" - }, - "engines": { - "node": ">=8" - } + "optional": true }, - "node_modules/istanbul-lib-instrument": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", - "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", + "@esbuild/android-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", + "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", "dev": true, - "dependencies": { - "@babel/core": "^7.7.5", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.0.0", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=8" - } + "optional": true }, - "node_modules/istanbul-lib-processinfo": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.3.tgz", - "integrity": "sha512-NkwHbo3E00oybX6NGJi6ar0B29vxyvNwoC7eJ4G4Yq28UfY758Hgn/heV8VRFhevPED4LXfFz0DQ8z/0kw9zMg==", + "@esbuild/android-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", + "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", "dev": true, - "dependencies": { - "archy": "^1.0.0", - "cross-spawn": "^7.0.3", - "istanbul-lib-coverage": "^3.2.0", - "p-map": "^3.0.0", - "rimraf": "^3.0.0", - "uuid": "^8.3.2" - }, - "engines": { - "node": ">=8" - } + "optional": true }, - "node_modules/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "@esbuild/darwin-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", + "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", "dev": true, - "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" - } + "optional": true }, - "node_modules/istanbul-lib-report/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==", + "@esbuild/darwin-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", + "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } + "optional": true }, - "node_modules/istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "@esbuild/freebsd-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", + "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", "dev": true, - "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=10" - } + "optional": true }, - "node_modules/istanbul-reports": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", - "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", + "@esbuild/freebsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", + "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", "dev": true, - "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - }, - "engines": { - "node": ">=8" - } + "optional": true }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true + "@esbuild/linux-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", + "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", + "dev": true, + "optional": true }, - "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/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, - "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/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==", - "dev": true - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash.flattendeep": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", - "integrity": "sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ==", - "dev": true - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, - "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==", - "dev": true, - "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/loupe": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", - "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", - "dev": true, - "dependencies": { - "get-func-name": "^2.0.1" - } - }, - "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/minimatch": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", - "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/mocha": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz", - "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==", - "dev": true, - "dependencies": { - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", - "chokidar": "3.5.3", - "debug": "4.3.4", - "diff": "5.0.0", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "7.2.0", - "he": "1.2.0", - "js-yaml": "4.1.0", - "log-symbols": "4.1.0", - "minimatch": "5.0.1", - "ms": "2.1.3", - "nanoid": "3.3.3", - "serialize-javascript": "6.0.0", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "workerpool": "6.2.1", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", - "yargs-unparser": "2.0.0" - }, - "bin": { - "_mocha": "bin/_mocha", - "mocha": "bin/mocha.js" - }, - "engines": { - "node": ">= 14.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mochajs" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - }, - "node_modules/nanoid": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", - "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", - "dev": true, - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "node_modules/node-preload": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz", - "integrity": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==", - "dev": true, - "dependencies": { - "process-on-spawn": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/node-releases": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", - "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", - "dev": 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==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/nyc": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz", - "integrity": "sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==", - "dev": true, - "dependencies": { - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "caching-transform": "^4.0.0", - "convert-source-map": "^1.7.0", - "decamelize": "^1.2.0", - "find-cache-dir": "^3.2.0", - "find-up": "^4.1.0", - "foreground-child": "^2.0.0", - "get-package-type": "^0.1.0", - "glob": "^7.1.6", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-hook": "^3.0.0", - "istanbul-lib-instrument": "^4.0.0", - "istanbul-lib-processinfo": "^2.0.2", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.0.2", - "make-dir": "^3.0.0", - "node-preload": "^0.2.1", - "p-map": "^3.0.0", - "process-on-spawn": "^1.0.0", - "resolve-from": "^5.0.0", - "rimraf": "^3.0.0", - "signal-exit": "^3.0.2", - "spawn-wrap": "^2.0.0", - "test-exclude": "^6.0.0", - "yargs": "^15.0.2" - }, - "bin": { - "nyc": "bin/nyc.js" - }, - "engines": { - "node": ">=8.9" - } - }, - "node_modules/nyc-report-lcov-absolute": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/nyc-report-lcov-absolute/-/nyc-report-lcov-absolute-1.0.0.tgz", - "integrity": "sha512-sDq0XM0on9casPNySxGD/WSy17m95+e8xEhObNHoxVRsTIZZt8akop4WWisnjzEWRARGW91Ip6oRhIWmy4qcPw==", - "dev": true, - "peerDependencies": { - "istanbul-reports": "^3.0.0" - } - }, - "node_modules/nyc/node_modules/cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "node_modules/nyc/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/nyc/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/nyc/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/nyc/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/nyc/node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/nyc/node_modules/y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "dev": true - }, - "node_modules/nyc/node_modules/yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "dev": true, - "dependencies": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/nyc/node_modules/yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", - "dev": true, - "dependencies": { - "@aashutoshrathi/word-wrap": "^1.2.3", - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-map": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", - "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", - "dev": true, - "dependencies": { - "aggregate-error": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/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==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/package-hash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz", - "integrity": "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.15", - "hasha": "^5.0.0", - "lodash.flattendeep": "^4.4.0", - "release-zalgo": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "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": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/pathval": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", - "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-dir/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/process-on-spawn": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz", - "integrity": "sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==", - "dev": true, - "dependencies": { - "fromentries": "^1.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "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==", - "dev": true, - "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/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/release-zalgo": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz", - "integrity": "sha512-gUAyHVHPPC5wdqX/LG4LWtRYtgjxyX78oanFNTMMyFEfOqdC54s3eE82imuWKbOeqYht2CrNf64Qb8vgmmtZGA==", - "dev": true, - "dependencies": { - "es6-error": "^4.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, - "node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true, - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rewire": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/rewire/-/rewire-7.0.0.tgz", - "integrity": "sha512-DyyNyzwMtGYgu0Zl/ya0PR/oaunM+VuCuBxCuhYJHHaV0V+YvYa3bBGxb5OZ71vndgmp1pYY8F4YOwQo1siRGw==", - "dev": true, - "dependencies": { - "eslint": "^8.47.0" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "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==", - "dev": true, - "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/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==", - "dev": true - }, - "node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", - "dev": true, - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", - "dev": true - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, - "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, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/spawn-wrap": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz", - "integrity": "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==", - "dev": true, - "dependencies": { - "foreground-child": "^2.0.0", - "is-windows": "^1.0.2", - "make-dir": "^3.0.0", - "rimraf": "^3.0.0", - "signal-exit": "^3.0.2", - "which": "^2.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true - }, - "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==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "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==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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/test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "dev": true, - "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/test-exclude/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==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/test-exclude/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "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==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "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==", - "dev": true, - "dependencies": { - "is-typedarray": "^1.0.0" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.8.tgz", - "integrity": "sha512-GHg7C4M7oJSJYW/ED/5QOJ7nL/E0lwTOBGsOorA7jqHr8ExUhPfwAotIAmdSw/LWv3SMLSNpzTAgeLG9zaZKTA==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - ], - "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - }, - "bin": { - "browserslist-lint": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "dependencies": { - "punycode": "^2.1.0" - } - }, - "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/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==", - "dev": true - }, - "node_modules/workerpool": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", - "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==", - "dev": true - }, - "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==", - "dev": true, - "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/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true - }, - "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/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/yaml-cfn": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/yaml-cfn/-/yaml-cfn-0.3.2.tgz", - "integrity": "sha512-MvrWhv40GKWHFGCliTGGAMwAeqIXf/bzf6WW48+xND9iMp8cTj0R8xkwM0lX/GzNN/EZKr5gP4Hx63Fn+sICoA==", - "dev": true, - "dependencies": { - "js-yaml": "^4.0.0" - }, - "bin": { - "yaml-cfn": "cli.js" - } - }, - "node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs-unparser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", - "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", - "dev": true, - "dependencies": { - "camelcase": "^6.0.0", - "decamelize": "^4.0.0", - "flat": "^5.0.2", - "is-plain-obj": "^2.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs-unparser/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/yargs-unparser/node_modules/decamelize": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", - "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - }, - "dependencies": { - "@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", - "dev": true - }, - "@ampproject/remapping": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", - "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", - "dev": true, - "requires": { - "@jridgewell/gen-mapping": "^0.1.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@babel/code-frame": { - "version": "7.22.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", - "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", - "dev": true, - "requires": { - "@babel/highlight": "^7.22.13", - "chalk": "^2.4.2" - }, - "dependencies": { - "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==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "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==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "@babel/compat-data": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.19.0.tgz", - "integrity": "sha512-y5rqgTTPTmaF5e2nVhOxw+Ur9HDJLsWb6U/KpgUzRZEdPfE6VOubXBKLdbcUTijzRptednSBDQbYZBOSqJxpJw==", - "dev": true - }, - "@babel/core": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.0.tgz", - "integrity": "sha512-reM4+U7B9ss148rh2n1Qs9ASS+w94irYXga7c2jaQv9RVzpS7Mv1a9rnYYwuDa45G+DkORt9g6An2k/V4d9LbQ==", - "dev": true, - "requires": { - "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.19.0", - "@babel/helper-compilation-targets": "^7.19.0", - "@babel/helper-module-transforms": "^7.19.0", - "@babel/helpers": "^7.19.0", - "@babel/parser": "^7.19.0", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.0", - "@babel/types": "^7.19.0", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.1", - "semver": "^6.3.0" - } - }, - "@babel/generator": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", - "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", - "dev": true, - "requires": { - "@babel/types": "^7.23.0", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - }, - "dependencies": { - "@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", - "dev": true, - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - } - } - }, - "@babel/helper-compilation-targets": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.0.tgz", - "integrity": "sha512-Ai5bNWXIvwDvWM7njqsG3feMlL9hCVQsPYXodsZyLwshYkZVJt59Gftau4VrE8S9IT9asd2uSP1hG6wCNw+sXA==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.19.0", - "@babel/helper-validator-option": "^7.18.6", - "browserslist": "^4.20.2", - "semver": "^6.3.0" - } - }, - "@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", - "dev": true - }, - "@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", - "dev": true, - "requires": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-module-imports": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", - "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-module-transforms": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.0.tgz", - "integrity": "sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ==", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.18.6", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.0", - "@babel/types": "^7.19.0" - } - }, - "@babel/helper-simple-access": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz", - "integrity": "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", - "dev": true - }, - "@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", - "dev": true - }, - "@babel/helper-validator-option": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", - "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", - "dev": true - }, - "@babel/helpers": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.19.0.tgz", - "integrity": "sha512-DRBCKGwIEdqY3+rPJgG/dKfQy9+08rHIAJx8q2p+HSWP87s2HCrQmaAMMyMll2kIXKCW0cO1RdQskx15Xakftg==", - "dev": true, - "requires": { - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.0", - "@babel/types": "^7.19.0" - } - }, - "@babel/highlight": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", - "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" - }, - "dependencies": { - "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==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "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==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "@babel/parser": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", - "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", - "dev": true - }, - "@babel/template": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", - "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.22.13", - "@babel/parser": "^7.22.15", - "@babel/types": "^7.22.15" - } - }, - "@babel/traverse": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", - "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.23.0", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.0", - "@babel/types": "^7.23.0", - "debug": "^4.1.0", - "globals": "^11.1.0" - } - }, - "@babel/types": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", - "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", - "dev": true, - "requires": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.20", - "to-fast-properties": "^2.0.0" - } - }, - "@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^3.3.0" - } - }, - "@eslint-community/regexpp": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.9.1.tgz", - "integrity": "sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==", - "dev": true - }, - "@eslint/eslintrc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", - "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", - "dev": true, - "requires": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "dependencies": { - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "globals": { - "version": "13.23.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", - "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true - } - } - }, - "@eslint/js": { - "version": "8.51.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.51.0.tgz", - "integrity": "sha512-HxjQ8Qn+4SI3/AFv6sOrDB+g6PpUTDwSJiQqOrnneEk8L71161srI9gjzzZvYVbzHiVg/BvcH95+cK/zfIt4pg==", - "dev": true - }, - "@humanwhocodes/config-array": { - "version": "0.11.13", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", - "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==", - "dev": true, - "requires": { - "@humanwhocodes/object-schema": "^2.0.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" - }, - "dependencies": { - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } - } - }, - "@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true - }, - "@humanwhocodes/object-schema": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz", - "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==", - "dev": true - }, - "@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "dev": true, - "requires": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, - "dependencies": { - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "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==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - } - } - }, - "@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", - "dev": true - }, - "@jridgewell/gen-mapping": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", - "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", - "dev": true, - "requires": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, - "@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", - "dev": true - }, - "@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "dev": true - }, - "@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "dev": true - }, - "@jridgewell/trace-mapping": { - "version": "0.3.20", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", - "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", - "dev": true, - "requires": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "@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==", - "dev": true, - "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==", - "dev": true - }, - "@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==", - "dev": true, - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - } - }, - "acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", - "dev": true - }, - "acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "requires": {} - }, - "aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dev": true, - "requires": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - } - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "dev": true - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "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, - "requires": { - "color-convert": "^2.0.1" - } - }, - "anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dev": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "append-transform": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz", - "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==", - "dev": true, - "requires": { - "default-require-extensions": "^3.0.0" - } - }, - "archy": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==", - "dev": true - }, - "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 - }, - "assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", - "dev": true - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true - }, - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0" - } - }, - "braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "dev": true, - "requires": { - "fill-range": "^7.1.1" - } - }, - "browser-stdout": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", - "dev": true - }, - "browserslist": { - "version": "4.21.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.3.tgz", - "integrity": "sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001370", - "electron-to-chromium": "^1.4.202", - "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.5" - } - }, - "caching-transform": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz", - "integrity": "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==", - "dev": true, - "requires": { - "hasha": "^5.0.0", - "make-dir": "^3.0.0", - "package-hash": "^4.0.0", - "write-file-atomic": "^3.0.0" - } - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, - "caniuse-lite": { - "version": "1.0.30001397", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001397.tgz", - "integrity": "sha512-SW9N2TbCdLf0eiNDRrrQXx2sOkaakNZbCjgNpPyMJJbiOrU5QzMIrXOVMRM1myBXTD5iTkdrtU/EguCrBocHlA==", - "dev": true - }, - "chai": { - "version": "4.3.10", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.10.tgz", - "integrity": "sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g==", - "dev": true, - "requires": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.3", - "deep-eql": "^4.1.3", - "get-func-name": "^2.0.2", - "loupe": "^2.3.6", - "pathval": "^1.1.1", - "type-detect": "^4.0.8" - } - }, - "chalk": { - "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" - } - } - } - }, - "check-error": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", - "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", - "dev": true, - "requires": { - "get-func-name": "^2.0.2" - } - }, - "chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "dev": true, - "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - } - }, - "clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true - }, - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.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": { - "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==", - "dev": true - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "convert-source-map": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.1" - } - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - }, - "dependencies": { - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", - "dev": true - }, - "deep-eql": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", - "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", - "dev": true, - "requires": { - "type-detect": "^4.0.0" - } - }, - "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 - }, - "default-require-extensions": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.0.tgz", - "integrity": "sha512-ek6DpXq/SCpvjhpFsLFRVtIxJCRw6fUR42lYMVZuUMK7n8eMz4Uh5clckdBjEpLhn/gEBZo7hDJnJcwdKLKQjg==", - "dev": true, - "requires": { - "strip-bom": "^4.0.0" - } - }, - "diff": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", - "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", - "dev": true - }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "electron-to-chromium": { - "version": "1.4.247", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.247.tgz", - "integrity": "sha512-FLs6R4FQE+1JHM0hh3sfdxnYjKvJpHZyhQDjc2qFq/xFvmmRt/TATNToZhrcGUFzpF2XjeiuozrA8lI0PZmYYw==", - "dev": true - }, - "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==", - "dev": true - }, - "es6-error": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", - "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", - "dev": true - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true - }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true - }, - "eslint": { - "version": "8.51.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.51.0.tgz", - "integrity": "sha512-2WuxRZBrlwnXi+/vFSJyjMqrNjtJqiasMzehF0shoLaW7DzS3/9Yvrmq5JiT66+pNjiX4UBnLDiKHcWAr/OInA==", - "dev": true, - "requires": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "8.51.0", - "@humanwhocodes/config-array": "^0.11.11", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "dependencies": { - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "requires": { - "is-glob": "^4.0.3" - } - }, - "globals": { - "version": "13.23.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", - "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true - } - } - }, - "eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - } - }, - "eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true - }, - "espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", - "dev": true, - "requires": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - }, - "esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "@esbuild/linux-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", + "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", "dev": true, - "requires": { - "estraverse": "^5.1.0" - } - }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "requires": { - "estraverse": "^5.2.0" - } - }, - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true - }, - "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==", - "dev": true - }, - "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==", - "dev": true - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true + "optional": true }, - "fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "@esbuild/linux-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", + "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", "dev": true, - "requires": { - "reusify": "^1.0.4" - } + "optional": true }, - "file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "@esbuild/linux-loong64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", + "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", "dev": true, - "requires": { - "flat-cache": "^3.0.4" - } + "optional": true }, - "fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "@esbuild/linux-mips64el": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", + "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } + "optional": true }, - "find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "@esbuild/linux-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", + "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - } + "optional": true }, - "find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "@esbuild/linux-riscv64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", + "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", "dev": true, - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } - }, - "flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", - "dev": true + "optional": true }, - "flat-cache": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.1.tgz", - "integrity": "sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==", + "@esbuild/linux-s390x": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", + "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", "dev": true, - "requires": { - "flatted": "^3.2.9", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" - } - }, - "flatted": { - "version": "3.2.9", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", - "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", - "dev": true + "optional": true }, - "foreground-child": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz", - "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==", + "@esbuild/linux-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", + "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", "dev": true, - "requires": { - "cross-spawn": "^7.0.0", - "signal-exit": "^3.0.2" - } - }, - "fromentries": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz", - "integrity": "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==", - "dev": true - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true + "optional": true }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "@esbuild/netbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", + "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", "dev": true, "optional": true }, - "gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true - }, - "get-func-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", - "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", - "dev": true - }, - "get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "dev": true - }, - "glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "@esbuild/openbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", + "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "dependencies": { - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } - } + "optional": true }, - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "@esbuild/sunos-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", + "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true - }, - "graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", - "dev": true - }, - "graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": 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==", - "dev": true + "optional": true }, - "hasha": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz", - "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==", + "@esbuild/win32-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", + "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", "dev": true, - "requires": { - "is-stream": "^2.0.0", - "type-fest": "^0.8.0" - } - }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true - }, - "html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true - }, - "ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", - "dev": true + "optional": true }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "@esbuild/win32-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", + "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true - } - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true - }, - "indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true + "optional": true }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "@esbuild/win32-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", + "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "optional": true }, - "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==", + "@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", "dev": true, "requires": { - "binary-extensions": "^2.0.0" + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" } }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true - }, - "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==", + "@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", "dev": true }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", "dev": true, "requires": { - "is-extglob": "^2.1.1" + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" } }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", "dev": true }, - "is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", "dev": true }, - "is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", "dev": true }, - "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true + "@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", - "dev": true + "@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true }, - "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==", - "dev": true + "@rollup/rollup-android-arm-eabi": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.22.4.tgz", + "integrity": "sha512-Fxamp4aEZnfPOcGA8KSNEohV8hX7zVHOemC8jVBoBUHu5zpJK/Eu3uJwt6BMgy9fkvzxDaurgj96F/NiLukF2w==", + "dev": true, + "optional": true }, - "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==", - "dev": true + "@rollup/rollup-android-arm64": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.22.4.tgz", + "integrity": "sha512-VXoK5UMrgECLYaMuGuVTOx5kcuap1Jm8g/M83RnCHBKOqvPPmROFJGQaZhGccnsFtfXQ3XYa4/jMCJvZnbJBdA==", + "dev": true, + "optional": true }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true + "@rollup/rollup-darwin-arm64": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.22.4.tgz", + "integrity": "sha512-xMM9ORBqu81jyMKCDP+SZDhnX2QEVQzTcC6G18KlTQEzWK8r/oNZtKuZaCcHhnsa6fEeOBionoyl5JsAbE/36Q==", + "dev": true, + "optional": true }, - "istanbul-lib-coverage": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", - "dev": true + "@rollup/rollup-darwin-x64": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.22.4.tgz", + "integrity": "sha512-aJJyYKQwbHuhTUrjWjxEvGnNNBCnmpHDvrb8JFDbeSH3m2XdHcxDd3jthAzvmoI8w/kSjd2y0udT+4okADsZIw==", + "dev": true, + "optional": true }, - "istanbul-lib-hook": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz", - "integrity": "sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==", + "@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.22.4.tgz", + "integrity": "sha512-j63YtCIRAzbO+gC2L9dWXRh5BFetsv0j0va0Wi9epXDgU/XUi5dJKo4USTttVyK7fGw2nPWK0PbAvyliz50SCQ==", "dev": true, - "requires": { - "append-transform": "^2.0.0" - } + "optional": true }, - "istanbul-lib-instrument": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", - "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", + "@rollup/rollup-linux-arm-musleabihf": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.22.4.tgz", + "integrity": "sha512-dJnWUgwWBX1YBRsuKKMOlXCzh2Wu1mlHzv20TpqEsfdZLb3WoJW2kIEsGwLkroYf24IrPAvOT/ZQ2OYMV6vlrg==", "dev": true, - "requires": { - "@babel/core": "^7.7.5", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.0.0", - "semver": "^6.3.0" - } + "optional": true }, - "istanbul-lib-processinfo": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.3.tgz", - "integrity": "sha512-NkwHbo3E00oybX6NGJi6ar0B29vxyvNwoC7eJ4G4Yq28UfY758Hgn/heV8VRFhevPED4LXfFz0DQ8z/0kw9zMg==", + "@rollup/rollup-linux-arm64-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.22.4.tgz", + "integrity": "sha512-AdPRoNi3NKVLolCN/Sp4F4N1d98c4SBnHMKoLuiG6RXgoZ4sllseuGioszumnPGmPM2O7qaAX/IJdeDU8f26Aw==", "dev": true, - "requires": { - "archy": "^1.0.0", - "cross-spawn": "^7.0.3", - "istanbul-lib-coverage": "^3.2.0", - "p-map": "^3.0.0", - "rimraf": "^3.0.0", - "uuid": "^8.3.2" - } + "optional": true }, - "istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "@rollup/rollup-linux-arm64-musl": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.22.4.tgz", + "integrity": "sha512-Gl0AxBtDg8uoAn5CCqQDMqAx22Wx22pjDOjBdmG0VIWX3qUBHzYmOKh8KXHL4UpogfJ14G4wk16EQogF+v8hmA==", "dev": true, - "requires": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.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" - } - } - } + "optional": true }, - "istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.22.4.tgz", + "integrity": "sha512-3aVCK9xfWW1oGQpTsYJJPF6bfpWfhbRnhdlyhak2ZiyFLDaayz0EP5j9V1RVLAAxlmWKTDfS9wyRyY3hvhPoOg==", "dev": true, - "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - } + "optional": true }, - "istanbul-reports": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", - "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", + "@rollup/rollup-linux-riscv64-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.22.4.tgz", + "integrity": "sha512-ePYIir6VYnhgv2C5Xe9u+ico4t8sZWXschR6fMgoPUK31yQu7hTEJb7bCqivHECwIClJfKgE7zYsh1qTP3WHUA==", "dev": true, - "requires": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - } + "optional": true }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true + "@rollup/rollup-linux-s390x-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.22.4.tgz", + "integrity": "sha512-GqFJ9wLlbB9daxhVlrTe61vJtEY99/xB3C8e4ULVsVfflcpmR6c8UZXjtkMA6FhNONhj2eA5Tk9uAVw5orEs4Q==", + "dev": true, + "optional": true }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "@rollup/rollup-linux-x64-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.22.4.tgz", + "integrity": "sha512-87v0ol2sH9GE3cLQLNEy0K/R0pz1nvg76o8M5nhMR0+Q+BBGLnb35P0fVz4CQxHYXaAOhE8HhlkaZfsdUOlHwg==", "dev": true, - "requires": { - "argparse": "^2.0.1" - } + "optional": true }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true + "@rollup/rollup-linux-x64-musl": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.22.4.tgz", + "integrity": "sha512-UV6FZMUgePDZrFjrNGIWzDo/vABebuXBhJEqrHxrGiU6HikPy0Z3LfdtciIttEUQfuDdCn8fqh7wiFJjCNwO+g==", + "dev": true, + "optional": true }, - "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 + "@rollup/rollup-win32-arm64-msvc": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.22.4.tgz", + "integrity": "sha512-BjI+NVVEGAXjGWYHz/vv0pBqfGoUH0IGZ0cICTn7kB9PyjrATSkX+8WkguNjWoj2qSr1im/+tTGRaY+4/PdcQw==", + "dev": true, + "optional": true }, - "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==", - "dev": true + "@rollup/rollup-win32-ia32-msvc": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.22.4.tgz", + "integrity": "sha512-SiWG/1TuUdPvYmzmYnmd3IEifzR61Tragkbx9D3+R8mzQqDBz8v+BvZNDlkiTtI9T15KYZhP0ehn3Dld4n9J5g==", + "dev": true, + "optional": true }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true + "@rollup/rollup-win32-x64-msvc": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.22.4.tgz", + "integrity": "sha512-j8pPKp53/lq9lMXN57S8cFz0MynJk8OWNuUnXct/9KCpKU7DgU3bYMJhwWmcqC0UU29p8Lr0/7KEVcaM6bf47Q==", + "dev": true, + "optional": true }, - "json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "@types/estree": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", "dev": true }, - "keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "@vitest/coverage-v8": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-2.1.1.tgz", + "integrity": "sha512-md/A7A3c42oTT8JUHSqjP5uKTWJejzUW4jalpvs+rZ27gsURsMU8DEb+8Jf8C6Kj2gwfSHJqobDNBuoqlm0cFw==", "dev": true, "requires": { - "json-buffer": "3.0.1" + "@ampproject/remapping": "^2.3.0", + "@bcoe/v8-coverage": "^0.2.3", + "debug": "^4.3.6", + "istanbul-lib-coverage": "^3.2.2", + "istanbul-lib-report": "^3.0.1", + "istanbul-lib-source-maps": "^5.0.6", + "istanbul-reports": "^3.1.7", + "magic-string": "^0.30.11", + "magicast": "^0.3.4", + "std-env": "^3.7.0", + "test-exclude": "^7.0.1", + "tinyrainbow": "^1.2.0" } }, - "levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "@vitest/expect": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-2.1.1.tgz", + "integrity": "sha512-YeueunS0HiHiQxk+KEOnq/QMzlUuOzbU1Go+PgAsHvvv3tUkJPm9xWt+6ITNTlzsMXUjmgm5T+U7KBPK2qQV6w==", "dev": true, "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" + "@vitest/spy": "2.1.1", + "@vitest/utils": "2.1.1", + "chai": "^5.1.1", + "tinyrainbow": "^1.2.0" } }, - "locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "@vitest/mocker": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-2.1.1.tgz", + "integrity": "sha512-LNN5VwOEdJqCmJ/2XJBywB11DLlkbY0ooDJW3uRX5cZyYCrc4PI/ePX0iQhE3BiEGiQmK4GE7Q/PqCkkaiPnrA==", "dev": true, "requires": { - "p-locate": "^5.0.0" + "@vitest/spy": "^2.1.0-beta.1", + "estree-walker": "^3.0.3", + "magic-string": "^0.30.11" } }, - "lodash.flattendeep": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", - "integrity": "sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ==", - "dev": true - }, - "lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, - "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==", + "@vitest/pretty-format": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-2.1.1.tgz", + "integrity": "sha512-SjxPFOtuINDUW8/UkElJYQSFtnWX7tMksSGW0vfjxMneFqxVr8YJ979QpMbDW7g+BIiq88RAGDjf7en6rvLPPQ==", "dev": true, "requires": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" + "tinyrainbow": "^1.2.0" } }, - "loupe": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", - "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", + "@vitest/runner": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-2.1.1.tgz", + "integrity": "sha512-uTPuY6PWOYitIkLPidaY5L3t0JJITdGTSwBtwMjKzo5O6RCOEncz9PUN+0pDidX8kTHYjO0EwUIvhlGpnGpxmA==", "dev": true, "requires": { - "get-func-name": "^2.0.1" + "@vitest/utils": "2.1.1", + "pathe": "^1.1.2" } }, - "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==", + "@vitest/snapshot": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-2.1.1.tgz", + "integrity": "sha512-BnSku1WFy7r4mm96ha2FzN99AZJgpZOWrAhtQfoxjUU5YMRpq1zmHRq7a5K9/NjqonebO7iVDla+VvZS8BOWMw==", "dev": true, "requires": { - "semver": "^6.0.0" + "@vitest/pretty-format": "2.1.1", + "magic-string": "^0.30.11", + "pathe": "^1.1.2" } }, - "minimatch": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", - "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", + "@vitest/spy": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-2.1.1.tgz", + "integrity": "sha512-ZM39BnZ9t/xZ/nF4UwRH5il0Sw93QnZXd9NAZGRpIgj0yvVwPpLd702s/Cx955rGaMlyBQkZJ2Ir7qyY48VZ+g==", "dev": true, "requires": { - "brace-expansion": "^2.0.1" + "tinyspy": "^3.0.0" } }, - "mocha": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz", - "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==", + "@vitest/utils": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-2.1.1.tgz", + "integrity": "sha512-Y6Q9TsI+qJ2CC0ZKj6VBb+T8UPz593N113nnUykqwANqhgf3QkZeHFlusgKLTqrnVHbj/XDKZcDHol+dxVT+rQ==", "dev": true, "requires": { - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", - "chokidar": "3.5.3", - "debug": "4.3.4", - "diff": "5.0.0", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "7.2.0", - "he": "1.2.0", - "js-yaml": "4.1.0", - "log-symbols": "4.1.0", - "minimatch": "5.0.1", - "ms": "2.1.3", - "nanoid": "3.3.3", - "serialize-javascript": "6.0.0", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "workerpool": "6.2.1", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", - "yargs-unparser": "2.0.0" + "@vitest/pretty-format": "2.1.1", + "loupe": "^3.1.1", + "tinyrainbow": "^1.2.0" } }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", "dev": true }, - "nanoid": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", - "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", + "ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "dev": true }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "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-preload": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz", - "integrity": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==", - "dev": true, - "requires": { - "process-on-spawn": "^1.0.0" - } - }, - "node-releases": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", - "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", + "assertion-error": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", + "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", "dev": true }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, - "nyc": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz", - "integrity": "sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==", + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, "requires": { - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "caching-transform": "^4.0.0", - "convert-source-map": "^1.7.0", - "decamelize": "^1.2.0", - "find-cache-dir": "^3.2.0", - "find-up": "^4.1.0", - "foreground-child": "^2.0.0", - "get-package-type": "^0.1.0", - "glob": "^7.1.6", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-hook": "^3.0.0", - "istanbul-lib-instrument": "^4.0.0", - "istanbul-lib-processinfo": "^2.0.2", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.0.2", - "make-dir": "^3.0.0", - "node-preload": "^0.2.1", - "p-map": "^3.0.0", - "process-on-spawn": "^1.0.0", - "resolve-from": "^5.0.0", - "rimraf": "^3.0.0", - "signal-exit": "^3.0.2", - "spawn-wrap": "^2.0.0", - "test-exclude": "^6.0.0", - "yargs": "^15.0.2" - }, - "dependencies": { - "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "dev": true - }, - "yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "dev": true, - "requires": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - } - }, - "yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } + "balanced-match": "^1.0.0" } }, - "nyc-report-lcov-absolute": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/nyc-report-lcov-absolute/-/nyc-report-lcov-absolute-1.0.0.tgz", - "integrity": "sha512-sDq0XM0on9casPNySxGD/WSy17m95+e8xEhObNHoxVRsTIZZt8akop4WWisnjzEWRARGW91Ip6oRhIWmy4qcPw==", - "dev": true, - "requires": {} + "cac": { + "version": "6.7.14", + "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", + "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", + "dev": true }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "chai": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/chai/-/chai-5.1.1.tgz", + "integrity": "sha512-pT1ZgP8rPNqUgieVaEY+ryQr6Q4HXNg8Ei9UnLUrjN4IA7dvQC5JB+/kxVcPNDHyBcc/26CXPkbNzq3qwrOEKA==", "dev": true, "requires": { - "wrappy": "1" + "assertion-error": "^2.0.1", + "check-error": "^2.1.1", + "deep-eql": "^5.0.1", + "loupe": "^3.1.0", + "pathval": "^2.0.0" } }, - "optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", - "dev": true, - "requires": { - "@aashutoshrathi/word-wrap": "^1.2.3", - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" - } + "check-error": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz", + "integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==", + "dev": true }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "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": { - "yocto-queue": "^0.1.0" + "color-name": "~1.1.4" } }, - "p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "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 + }, + "cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, "requires": { - "p-limit": "^3.0.2" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" } }, - "p-map": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", - "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", + "debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", "dev": true, "requires": { - "aggregate-error": "^3.0.0" + "ms": "^2.1.3" } }, - "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==", + "deep-eql": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz", + "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==", "dev": true }, - "package-hash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz", - "integrity": "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==", + "eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, + "emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "esbuild": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", + "dev": true, + "requires": { + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" + } + }, + "estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", "dev": true, "requires": { - "graceful-fs": "^4.1.15", - "hasha": "^5.0.0", - "lodash.flattendeep": "^4.4.0", - "release-zalgo": "^1.0.0" + "@types/estree": "^1.0.0" } }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "foreground-child": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", "dev": true, "requires": { - "callsites": "^3.0.0" + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" } }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "optional": true + }, + "get-func-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", + "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", "dev": true }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dev": true, + "requires": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + } + }, + "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 }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "dev": true }, - "pathval": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", - "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "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==", "dev": true }, - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", "dev": true }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", "dev": true, "requires": { - "find-up": "^4.0.0" + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" }, "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", "dev": true, "requires": { - "p-locate": "^4.1.0" + "semver": "^7.5.3" } }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } + "semver": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "dev": true }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "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": { - "p-limit": "^2.2.0" + "has-flag": "^4.0.0" } } } }, - "prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true - }, - "process-on-spawn": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz", - "integrity": "sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==", + "istanbul-lib-source-maps": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-5.0.6.tgz", + "integrity": "sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==", "dev": true, "requires": { - "fromentries": "^1.2.0" + "@jridgewell/trace-mapping": "^0.3.23", + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0" } }, - "punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", - "dev": true - }, - "queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "istanbul-reports": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", + "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", "dev": true, "requires": { - "safe-buffer": "^5.1.0" + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" } }, - "readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", "dev": true, "requires": { - "picomatch": "^2.2.1" + "@isaacs/cliui": "^8.0.2", + "@pkgjs/parseargs": "^0.11.0" } }, - "release-zalgo": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz", - "integrity": "sha512-gUAyHVHPPC5wdqX/LG4LWtRYtgjxyX78oanFNTMMyFEfOqdC54s3eE82imuWKbOeqYht2CrNf64Qb8vgmmtZGA==", + "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": { - "es6-error": "^4.0.1" + "argparse": "^2.0.1" } }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true - }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true + "loupe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.1.tgz", + "integrity": "sha512-edNu/8D5MKVfGVFRhFf8aAxiTM6Wumfz5XsaatSxlD3w4R1d/WEKUTydCdPGbl9K7QG/Ca3GnDV2sIKIpXRQcw==", + "dev": true, + "requires": { + "get-func-name": "^2.0.1" + } }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", "dev": true }, - "rewire": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/rewire/-/rewire-7.0.0.tgz", - "integrity": "sha512-DyyNyzwMtGYgu0Zl/ya0PR/oaunM+VuCuBxCuhYJHHaV0V+YvYa3bBGxb5OZ71vndgmp1pYY8F4YOwQo1siRGw==", + "magic-string": { + "version": "0.30.11", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz", + "integrity": "sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==", "dev": true, "requires": { - "eslint": "^8.47.0" + "@jridgewell/sourcemap-codec": "^1.5.0" } }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "magicast": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.3.4.tgz", + "integrity": "sha512-TyDF/Pn36bBji9rWKHlZe+PZb6Mx5V8IHCSxk7X4aljM4e/vyDvZZYwHewdVaqiA0nb3ghfHU/6AUpDxWoER2Q==", "dev": true, "requires": { - "glob": "^7.1.3" + "@babel/parser": "^7.24.4", + "@babel/types": "^7.24.0", + "source-map-js": "^1.2.0" } }, - "run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, "requires": { - "queue-microtask": "^1.2.2" + "brace-expansion": "^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==", + "minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", "dev": true }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "package-json-from-dist": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", + "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true }, - "serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", "dev": true, "requires": { - "randombytes": "^2.1.0" + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" } }, - "set-blocking": { + "pathe": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", + "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", + "dev": true + }, + "pathval": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.0.tgz", + "integrity": "sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==", "dev": true }, + "picocolors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", + "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==", + "dev": true + }, + "postcss": { + "version": "8.4.47", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", + "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", + "dev": true, + "requires": { + "nanoid": "^3.3.7", + "picocolors": "^1.1.0", + "source-map-js": "^1.2.1" + } + }, + "rollup": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.22.4.tgz", + "integrity": "sha512-vD8HJ5raRcWOyymsR6Z3o6+RzfEPCnVLMFJ6vRslO1jt4LO6dUo5Qnpg7y4RkZFM2DMe3WUirkI5c16onjrc6A==", + "dev": true, + "requires": { + "@rollup/rollup-android-arm-eabi": "4.22.4", + "@rollup/rollup-android-arm64": "4.22.4", + "@rollup/rollup-darwin-arm64": "4.22.4", + "@rollup/rollup-darwin-x64": "4.22.4", + "@rollup/rollup-linux-arm-gnueabihf": "4.22.4", + "@rollup/rollup-linux-arm-musleabihf": "4.22.4", + "@rollup/rollup-linux-arm64-gnu": "4.22.4", + "@rollup/rollup-linux-arm64-musl": "4.22.4", + "@rollup/rollup-linux-powerpc64le-gnu": "4.22.4", + "@rollup/rollup-linux-riscv64-gnu": "4.22.4", + "@rollup/rollup-linux-s390x-gnu": "4.22.4", + "@rollup/rollup-linux-x64-gnu": "4.22.4", + "@rollup/rollup-linux-x64-musl": "4.22.4", + "@rollup/rollup-win32-arm64-msvc": "4.22.4", + "@rollup/rollup-win32-ia32-msvc": "4.22.4", + "@rollup/rollup-win32-x64-msvc": "4.22.4", + "@types/estree": "1.0.5", + "fsevents": "~2.3.2" + }, + "dependencies": { + "@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true + } + } + }, "shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -5684,40 +3118,49 @@ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true }, + "siginfo": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", + "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", + "dev": true + }, "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", "dev": true }, - "spawn-wrap": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz", - "integrity": "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==", - "dev": true, - "requires": { - "foreground-child": "^2.0.0", - "is-windows": "^1.0.2", - "make-dir": "^3.0.0", - "rimraf": "^3.0.0", - "signal-exit": "^3.0.2", - "which": "^2.0.1" - } + "stackback": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", + "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", + "dev": true }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "std-env": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz", + "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==", "dev": true }, "string-width": { - "version": "4.2.3", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "requires": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + } + }, + "string-width-cjs": { + "version": "npm:string-width@4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, @@ -5725,146 +3168,155 @@ "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "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==", + "dev": true + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + } } }, "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, "requires": { - "ansi-regex": "^5.0.1" + "ansi-regex": "^6.0.1" } }, - "strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true - }, - "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true - }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "strip-ansi-cjs": { + "version": "npm:strip-ansi@6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "requires": { - "has-flag": "^4.0.0" + "ansi-regex": "^5.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + } } }, "test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-7.0.1.tgz", + "integrity": "sha512-pFYqmTw68LXVjeWJMST4+borgQP2AyMNbg1BpZh9LbyhUeNkeaPF9gzfPGUAnSMV3qPYdWUwDIjjCLiSDOl7vg==", "dev": true, "requires": { "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, - "dependencies": { - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } + "glob": "^10.4.1", + "minimatch": "^9.0.4" } }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "tinybench": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", + "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", "dev": true }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "tinyexec": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.0.tgz", + "integrity": "sha512-tVGE0mVJPGb0chKhqmsoosjsS+qUnJVGJpZgsHYQcGoPlG3B51R3PouqTgEGH2Dc9jjFyOqOpix6ZHNMXp1FZg==", "dev": true }, - "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==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } + "tinypool": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.0.1.tgz", + "integrity": "sha512-URZYihUbRPcGv95En+sz6MfghfIc2OJ1sv/RmhWZLouPY0/8Vo80viwPvg3dlaS9fuq7fQMEfgRRK7BBZThBEA==", + "dev": true }, - "type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1" - } + "tinyrainbow": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-1.2.0.tgz", + "integrity": "sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==", + "dev": true }, - "type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "tinyspy": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-3.0.2.tgz", + "integrity": "sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==", "dev": true }, - "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", "dev": true }, - "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==", + "vite": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.6.tgz", + "integrity": "sha512-IeL5f8OO5nylsgzd9tq4qD2QqI0k2CQLGrWD0rCN0EQJZpBK5vJAx0I+GDkMOXxQX/OfFHMuLIx6ddAxGX/k+Q==", "dev": true, "requires": { - "is-typedarray": "^1.0.0" + "esbuild": "^0.21.3", + "fsevents": "~2.3.3", + "postcss": "^8.4.43", + "rollup": "^4.20.0" } }, - "update-browserslist-db": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.8.tgz", - "integrity": "sha512-GHg7C4M7oJSJYW/ED/5QOJ7nL/E0lwTOBGsOorA7jqHr8ExUhPfwAotIAmdSw/LWv3SMLSNpzTAgeLG9zaZKTA==", + "vite-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-2.1.1.tgz", + "integrity": "sha512-N/mGckI1suG/5wQI35XeR9rsMsPqKXzq1CdUndzVstBj/HvyxxGctwnK6WX43NGt5L3Z5tcRf83g4TITKJhPrA==", "dev": true, "requires": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" + "cac": "^6.7.14", + "debug": "^4.3.6", + "pathe": "^1.1.2", + "vite": "^5.0.0" } }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "requires": { - "punycode": "^2.1.0" + "vitest": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-2.1.1.tgz", + "integrity": "sha512-97We7/VC0e9X5zBVkvt7SGQMGrRtn3KtySFQG5fpaMlS+l62eeXRQO633AYhSTC3z7IMebnPPNjGXVGNRFlxBA==", + "dev": true, + "requires": { + "@vitest/expect": "2.1.1", + "@vitest/mocker": "2.1.1", + "@vitest/pretty-format": "^2.1.1", + "@vitest/runner": "2.1.1", + "@vitest/snapshot": "2.1.1", + "@vitest/spy": "2.1.1", + "@vitest/utils": "2.1.1", + "chai": "^5.1.1", + "debug": "^4.3.6", + "magic-string": "^0.30.11", + "pathe": "^1.1.2", + "std-env": "^3.7.0", + "tinybench": "^2.9.0", + "tinyexec": "^0.3.0", + "tinypool": "^1.0.0", + "tinyrainbow": "^1.2.0", + "vite": "^5.0.0", + "vite-node": "2.1.1", + "why-is-node-running": "^2.3.0" } }, - "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 - }, "which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -5874,20 +3326,29 @@ "isexe": "^2.0.0" } }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==", - "dev": true - }, - "workerpool": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", - "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==", - "dev": true + "why-is-node-running": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", + "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", + "dev": true, + "requires": { + "siginfo": "^2.0.0", + "stackback": "0.0.2" + } }, "wrap-ansi": { - "version": "7.0.0", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "requires": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + } + }, + "wrap-ansi-cjs": { + "version": "npm:wrap-ansi@7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, @@ -5895,32 +3356,51 @@ "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "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, + "requires": { + "color-convert": "^2.0.1" + } + }, + "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==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + } } }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "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" - } - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true - }, "yaml-cfn": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/yaml-cfn/-/yaml-cfn-0.3.2.tgz", @@ -5929,59 +3409,6 @@ "requires": { "js-yaml": "^4.0.0" } - }, - "yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - } - }, - "yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", - "dev": true - }, - "yargs-unparser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", - "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", - "dev": true, - "requires": { - "camelcase": "^6.0.0", - "decamelize": "^4.0.0", - "flat": "^5.0.2", - "is-plain-obj": "^2.1.0" - }, - "dependencies": { - "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true - }, - "decamelize": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", - "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", - "dev": true - } - } - }, - "yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true } } } diff --git a/source/backend/functions/account-import-templates-api/package.json b/source/backend/functions/account-import-templates-api/package.json index 04852992..9754fa03 100644 --- a/source/backend/functions/account-import-templates-api/package.json +++ b/source/backend/functions/account-import-templates-api/package.json @@ -1,18 +1,19 @@ { "name": "wd-import-templates", - "version": "2.1.15", + "version": "2.2.0", "description": "Lambda function that serves cfn templates for account and region importing", - "main": "index.js", + "main": "index.mjs", + "type": "module", "scripts": { - "pretest": "npm i", - "test": "nyc --reporter=html --reporter=text mocha test", - "test:ci": "npm ci && nyc --reporter=nyc-report-lcov-absolute mocha --forbid-only test", - "posttest:ci": "echo \"$(awk '{gsub(/SF:.*\\/source\\//, \"SF:source/\")}1' coverage/lcov.info)\" > coverage/lcov.info", + "copy:global-resource": "cp ../../../cfn/templates/org-global-resources.template src/global-resources.template", + "pretest": "npm run copy:global-resource && npm i", + "test": "vitest run --coverage", + "pretest:ci": "npm run copy:global-resource && npm ci", + "test:ci": "vitest run --coverage --allowOnly false", "clean": "rm -rf dist", - "build:zip": "zip -urj account-import-templates-api.zip src/", + "build:zip": "zip -rq --exclude=test/* account-import-templates-api.zip node_modules/ && zip -urj account-import-templates-api.zip src/", "build:dist": "mkdir dist && mv account-import-templates-api.zip dist/", - "build": "npm run clean && npm run build:zip && npm run build:dist", - "coverage": "nyc npm test" + "build": "npm run clean && npm ci --omit=dev && npm run copy:global-resource && npm run build:zip && npm run build:dist" }, "license": "Apache-2.0", "author": { @@ -20,11 +21,11 @@ "url": "https://aws.amazon.com/solutions" }, "devDependencies": { - "chai": "^4.3.10", - "mocha": "^10.2.0", - "nyc": "^15.1.0", - "nyc-report-lcov-absolute": "^1.0.0", - "rewire": "^7.0.0", + "@vitest/coverage-v8": "^2.1.1", + "vitest": "^2.1.1", "yaml-cfn": "^0.3.2" + }, + "dependencies": { + "@aws-lambda-powertools/logger": "2.10.0" } } diff --git a/source/backend/functions/account-import-templates-api/src/global-resources.template b/source/backend/functions/account-import-templates-api/src/global-resources.template deleted file mode 100644 index 719f8cfa..00000000 --- a/source/backend/functions/account-import-templates-api/src/global-resources.template +++ /dev/null @@ -1,138 +0,0 @@ -AWSTemplateFormatVersion: 2010-09-09 - -Description: - This Cloudformation template sets up the roles needed to import data into Workload Discovery on AWS. - (SO0075b) - Solution - Import Account Template (uksb-1r0720e57) (version:v2.1.0) - -Parameters: - - WorkloadDiscoveryAccountId: - Type: String - Default: '<>' - Description: The Workload Discovery account Id - -Resources: - - WorkloadDiscoveryRole: - Type: AWS::IAM::Role - Metadata: - wildcard_resources: - - 'We have locked down resources as much as we can. - The nature of the role requires read-only access - to many services in order to discover what is in the account' - cfn_nag: - rules_to_suppress: - - id: W28 - reason: 'Role is used in external accounts and calls back to master config account to allow access to external config aggregators' - - id: W11 - reason: None of the APIs with '*' support resource level permissions - Properties: - RoleName: !Sub WorkloadDiscoveryRole-${WorkloadDiscoveryAccountId} - AssumeRolePolicyDocument: - Statement: - - Action: - - sts:AssumeRole - Effect: Allow - Principal: - AWS: '<>' - Version: '2012-10-17' - Policies: - - PolicyName: perspectiveEC2 - PolicyDocument: - Version: '2012-10-17' - Statement: - - Effect: Allow - Action: - - ec2:DescribeSpotInstanceRequests - - ec2:DescribeSpotFleetRequests - - ec2:DescribeTransitGatewayAttachments - Resource: '*' - - PolicyName: perspectiveIAM - PolicyDocument: - Version: '2012-10-17' - Statement: - - Effect: Allow - Action: - - iam:ListPolicies - Resource: '*' - - PolicyName: perspectiveAPIGateway - PolicyDocument: - Version: '2012-10-17' - Statement: - - Effect: Allow - Action: - - apigateway:Get - Resource: 'arn:aws:apigateway:*::/*' - - PolicyName: perspectiveLoadBalancers - PolicyDocument: - Version: '2012-10-17' - Statement: - - Action: - - elasticloadbalancing:DescribeLoadBalancers - - elasticloadbalancing:DescribeTargetHealth - - elasticloadbalancing:DescribeTargetGroups - Effect: Allow - Resource: '*' - - PolicyName: perspectiveSns - PolicyDocument: - Version: '2012-10-17' - Statement: - - Effect: Allow - Action: - - sns:ListSubscriptions - Resource: '*' - - PolicyName: perspectiveLambda - PolicyDocument: - Version: '2012-10-17' - Statement: - - Effect: Allow - Action: - - lambda:ListEventSourceMappings - - lambda:ListFunctions - Resource: '*' - - PolicyName: perspectiveECS - PolicyDocument: - Version: '2012-10-17' - Statement: - - Effect: Allow - Action: - - ecs:DescribeContainerInstances - - ecs:DescribeTasks - - ecs:ListContainerInstances - - ecs:ListTasks - Resource: '*' - - PolicyName: perspectiveCognito - PolicyDocument: - Version: '2012-10-17' - Statement: - - Effect: Allow - Action: - - cognito-idp:ListUserPools - - cognito-idp:DescribeUserPool - Resource: '*' - - PolicyName: perspectiveEKS - PolicyDocument: - Version: '2012-10-17' - Statement: - - Effect: Allow - Action: - - eks:ListNodegroups - - eks:DescribeNodegroup - Resource: '*' - - PolicyName: OpenSearch - PolicyDocument: - Version: '2012-10-17' - Statement: - - Effect: Allow - Action: - - es:ListDomainNames - - es:DescribeDomains - Resource: '*' - - PolicyName: perspectiveDynamoDB - PolicyDocument: - Version: '2012-10-17' - Statement: - - Effect: Allow - Action: - - dynamodb:DescribeStream - Resource: !Sub arn:aws:dynamodb:*:${AWS::AccountId}:*/stream/* diff --git a/source/backend/functions/account-import-templates-api/src/index.js b/source/backend/functions/account-import-templates-api/src/index.js deleted file mode 100644 index ba1b1a9b..00000000 --- a/source/backend/functions/account-import-templates-api/src/index.js +++ /dev/null @@ -1,32 +0,0 @@ -// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 - -const fs = require("fs"); -const globalTemplate = fs.readFileSync(`${__dirname}/global-resources.template`, 'utf8'); -const regionalTemplate = fs.readFileSync(`${__dirname}/regional-resources.template`, 'utf8'); - -async function replaceTemplateSubstitutes({accountId, discoveryRoleArn, region}, template) { - return template - .replace('<>', accountId) - .replace('<>', region) - .replace('<>', discoveryRoleArn); -} - -function handler(env) { - return event => { - const args = event.arguments; - console.log(JSON.stringify(args)); - const {ACCOUNT_ID: accountId, DISCOVERY_ROLE_ARN: discoveryRoleArn, REGION: region} = env; - - switch (event.info.fieldName) { - case 'getGlobalTemplate': - return replaceTemplateSubstitutes({accountId, discoveryRoleArn, region}, globalTemplate); - case 'getRegionalTemplate': - return replaceTemplateSubstitutes({accountId, discoveryRoleArn, region}, regionalTemplate); - default: - return Promise.reject(new Error(`Unknown field, unable to resolve ${event.info.fieldName}.`)); - } - } -} - -exports.handler = handler(process.env); \ No newline at end of file diff --git a/source/backend/functions/account-import-templates-api/src/regional-resources.template b/source/backend/functions/account-import-templates-api/src/regional-resources.template index 80cd4961..e6d3c7bc 100644 --- a/source/backend/functions/account-import-templates-api/src/regional-resources.template +++ b/source/backend/functions/account-import-templates-api/src/regional-resources.template @@ -4,7 +4,7 @@ Description: This CloudFormation template sets up AWS Config so that it will start collecting resource information for the region Workload Discovery on AWS will discover. - (SO0075c) - Solution - Import Region Template (uksb-1r0720e5f) (version:v2.1.0) + (SO0075c) - Solution - Import Region Template (uksb-1r0720e5f) (version:<>) Parameters: diff --git a/source/backend/functions/account-import-templates-api/test/index.js b/source/backend/functions/account-import-templates-api/test/index.js deleted file mode 100644 index 2ca037b5..00000000 --- a/source/backend/functions/account-import-templates-api/test/index.js +++ /dev/null @@ -1,64 +0,0 @@ -// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 - -const {assert} = require('chai'); -const rewire = require('rewire'); -const { yamlParse } = require('yaml-cfn'); -const index = rewire('../src'); - -describe('index.js', () => { - - const ACCOUNT_ID = 'xxxxxxxxxxxx'; - const REGION = 'eu-west-1'; - const DISCOVERY_ROLE_ARN = 'discoveryRoleArn'; - - describe('handler', () => { - const handler = index.__get__('handler')({ACCOUNT_ID, DISCOVERY_ROLE_ARN, REGION}); - - describe('getGlobalTemplate', () => { - - it('should incorporate account id into global template', async () => { - const actual = await handler({ - arguments: {}, - info: { - fieldName: 'getGlobalTemplate' - } - }); - const json = yamlParse(actual); - assert.strictEqual(json.Parameters.WorkloadDiscoveryAccountId.Default, ACCOUNT_ID); - assert.strictEqual(json.Resources.WorkloadDiscoveryRole.Properties.AssumeRolePolicyDocument.Statement[0].Principal.AWS, DISCOVERY_ROLE_ARN); - }); - - }); - - describe('getRegionalTemplate', () => { - - it('should incorporate account id and region into global template', async () => { - const actual = await handler({ - arguments: {}, - info: { - fieldName: 'getRegionalTemplate' - } - }); - const json = yamlParse(actual); - assert.strictEqual(json.Parameters.WorkloadDiscoveryAccountId.Default, ACCOUNT_ID); - assert.strictEqual(json.Parameters. AggregationRegion.Default, REGION); - }); - - }); - - describe('unknown field', () => { - - it('should reject payloads with unknown query', async () => { - const actual = await handler({ - arguments: {}, - info: { - fieldName: 'foo' - } - }).catch(err => assert.strictEqual(err.message, 'Unknown field, unable to resolve foo.'));; - }); - - }); - }); - -}); \ No newline at end of file diff --git a/source/backend/functions/cleanup-bucket/Pipfile.lock b/source/backend/functions/cleanup-bucket/Pipfile.lock index 1349b28b..a4dcaf09 100644 --- a/source/backend/functions/cleanup-bucket/Pipfile.lock +++ b/source/backend/functions/cleanup-bucket/Pipfile.lock @@ -117,180 +117,185 @@ }, "charset-normalizer": { "hashes": [ - "sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027", - "sha256:06a81e93cd441c56a9b65d8e1d043daeb97a3d0856d177d5c90ba85acb3db087", - "sha256:0a55554a2fa0d408816b3b5cedf0045f4b8e1a6065aec45849de2d6f3f8e9786", - "sha256:0b2b64d2bb6d3fb9112bafa732def486049e63de9618b5843bcdd081d8144cd8", - "sha256:10955842570876604d404661fbccbc9c7e684caf432c09c715ec38fbae45ae09", - "sha256:122c7fa62b130ed55f8f285bfd56d5f4b4a5b503609d181f9ad85e55c89f4185", - "sha256:1ceae2f17a9c33cb48e3263960dc5fc8005351ee19db217e9b1bb15d28c02574", - "sha256:1d3193f4a680c64b4b6a9115943538edb896edc190f0b222e73761716519268e", - "sha256:1f79682fbe303db92bc2b1136016a38a42e835d932bab5b3b1bfcfbf0640e519", - "sha256:2127566c664442652f024c837091890cb1942c30937add288223dc895793f898", - "sha256:22afcb9f253dac0696b5a4be4a1c0f8762f8239e21b99680099abd9b2b1b2269", - "sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3", - "sha256:2e81c7b9c8979ce92ed306c249d46894776a909505d8f5a4ba55b14206e3222f", - "sha256:3287761bc4ee9e33561a7e058c72ac0938c4f57fe49a09eae428fd88aafe7bb6", - "sha256:34d1c8da1e78d2e001f363791c98a272bb734000fcef47a491c1e3b0505657a8", - "sha256:37e55c8e51c236f95b033f6fb391d7d7970ba5fe7ff453dad675e88cf303377a", - "sha256:3d47fa203a7bd9c5b6cee4736ee84ca03b8ef23193c0d1ca99b5089f72645c73", - "sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc", - "sha256:42cb296636fcc8b0644486d15c12376cb9fa75443e00fb25de0b8602e64c1714", - "sha256:45485e01ff4d3630ec0d9617310448a8702f70e9c01906b0d0118bdf9d124cf2", - "sha256:4a78b2b446bd7c934f5dcedc588903fb2f5eec172f3d29e52a9096a43722adfc", - "sha256:4ab2fe47fae9e0f9dee8c04187ce5d09f48eabe611be8259444906793ab7cbce", - "sha256:4d0d1650369165a14e14e1e47b372cfcb31d6ab44e6e33cb2d4e57265290044d", - "sha256:549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e", - "sha256:55086ee1064215781fff39a1af09518bc9255b50d6333f2e4c74ca09fac6a8f6", - "sha256:572c3763a264ba47b3cf708a44ce965d98555f618ca42c926a9c1616d8f34269", - "sha256:573f6eac48f4769d667c4442081b1794f52919e7edada77495aaed9236d13a96", - "sha256:5b4c145409bef602a690e7cfad0a15a55c13320ff7a3ad7ca59c13bb8ba4d45d", - "sha256:6463effa3186ea09411d50efc7d85360b38d5f09b870c48e4600f63af490e56a", - "sha256:65f6f63034100ead094b8744b3b97965785388f308a64cf8d7c34f2f2e5be0c4", - "sha256:663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77", - "sha256:6897af51655e3691ff853668779c7bad41579facacf5fd7253b0133308cf000d", - "sha256:68d1f8a9e9e37c1223b656399be5d6b448dea850bed7d0f87a8311f1ff3dabb0", - "sha256:6ac7ffc7ad6d040517be39eb591cac5ff87416c2537df6ba3cba3bae290c0fed", - "sha256:6b3251890fff30ee142c44144871185dbe13b11bab478a88887a639655be1068", - "sha256:6c4caeef8fa63d06bd437cd4bdcf3ffefe6738fb1b25951440d80dc7df8c03ac", - "sha256:6ef1d82a3af9d3eecdba2321dc1b3c238245d890843e040e41e470ffa64c3e25", - "sha256:753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8", - "sha256:7cd13a2e3ddeed6913a65e66e94b51d80a041145a026c27e6bb76c31a853c6ab", - "sha256:7ed9e526742851e8d5cc9e6cf41427dfc6068d4f5a3bb03659444b4cabf6bc26", - "sha256:7f04c839ed0b6b98b1a7501a002144b76c18fb1c1850c8b98d458ac269e26ed2", - "sha256:802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db", - "sha256:80402cd6ee291dcb72644d6eac93785fe2c8b9cb30893c1af5b8fdd753b9d40f", - "sha256:8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5", - "sha256:86216b5cee4b06df986d214f664305142d9c76df9b6512be2738aa72a2048f99", - "sha256:87d1351268731db79e0f8e745d92493ee2841c974128ef629dc518b937d9194c", - "sha256:8bdb58ff7ba23002a4c5808d608e4e6c687175724f54a5dade5fa8c67b604e4d", - "sha256:8c622a5fe39a48f78944a87d4fb8a53ee07344641b0562c540d840748571b811", - "sha256:8d756e44e94489e49571086ef83b2bb8ce311e730092d2c34ca8f7d925cb20aa", - "sha256:8f4a014bc36d3c57402e2977dada34f9c12300af536839dc38c0beab8878f38a", - "sha256:9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03", - "sha256:90d558489962fd4918143277a773316e56c72da56ec7aa3dc3dbbe20fdfed15b", - "sha256:923c0c831b7cfcb071580d3f46c4baf50f174be571576556269530f4bbd79d04", - "sha256:95f2a5796329323b8f0512e09dbb7a1860c46a39da62ecb2324f116fa8fdc85c", - "sha256:96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001", - "sha256:9f96df6923e21816da7e0ad3fd47dd8f94b2a5ce594e00677c0013018b813458", - "sha256:a10af20b82360ab00827f916a6058451b723b4e65030c5a18577c8b2de5b3389", - "sha256:a50aebfa173e157099939b17f18600f72f84eed3049e743b68ad15bd69b6bf99", - "sha256:a981a536974bbc7a512cf44ed14938cf01030a99e9b3a06dd59578882f06f985", - "sha256:a9a8e9031d613fd2009c182b69c7b2c1ef8239a0efb1df3f7c8da66d5dd3d537", - "sha256:ae5f4161f18c61806f411a13b0310bea87f987c7d2ecdbdaad0e94eb2e404238", - "sha256:aed38f6e4fb3f5d6bf81bfa990a07806be9d83cf7bacef998ab1a9bd660a581f", - "sha256:b01b88d45a6fcb69667cd6d2f7a9aeb4bf53760d7fc536bf679ec94fe9f3ff3d", - "sha256:b261ccdec7821281dade748d088bb6e9b69e6d15b30652b74cbbac25e280b796", - "sha256:b2b0a0c0517616b6869869f8c581d4eb2dd83a4d79e0ebcb7d373ef9956aeb0a", - "sha256:b4a23f61ce87adf89be746c8a8974fe1c823c891d8f86eb218bb957c924bb143", - "sha256:bd8f7df7d12c2db9fab40bdd87a7c09b1530128315d047a086fa3ae3435cb3a8", - "sha256:beb58fe5cdb101e3a055192ac291b7a21e3b7ef4f67fa1d74e331a7f2124341c", - "sha256:c002b4ffc0be611f0d9da932eb0f704fe2602a9a949d1f738e4c34c75b0863d5", - "sha256:c083af607d2515612056a31f0a8d9e0fcb5876b7bfc0abad3ecd275bc4ebc2d5", - "sha256:c180f51afb394e165eafe4ac2936a14bee3eb10debc9d9e4db8958fe36afe711", - "sha256:c235ebd9baae02f1b77bcea61bce332cb4331dc3617d254df3323aa01ab47bd4", - "sha256:cd70574b12bb8a4d2aaa0094515df2463cb429d8536cfb6c7ce983246983e5a6", - "sha256:d0eccceffcb53201b5bfebb52600a5fb483a20b61da9dbc885f8b103cbe7598c", - "sha256:d965bba47ddeec8cd560687584e88cf699fd28f192ceb452d1d7ee807c5597b7", - "sha256:db364eca23f876da6f9e16c9da0df51aa4f104a972735574842618b8c6d999d4", - "sha256:ddbb2551d7e0102e7252db79ba445cdab71b26640817ab1e3e3648dad515003b", - "sha256:deb6be0ac38ece9ba87dea880e438f25ca3eddfac8b002a2ec3d9183a454e8ae", - "sha256:e06ed3eb3218bc64786f7db41917d4e686cc4856944f53d5bdf83a6884432e12", - "sha256:e27ad930a842b4c5eb8ac0016b0a54f5aebbe679340c26101df33424142c143c", - "sha256:e537484df0d8f426ce2afb2d0f8e1c3d0b114b83f8850e5f2fbea0e797bd82ae", - "sha256:eb00ed941194665c332bf8e078baf037d6c35d7c4f3102ea2d4f16ca94a26dc8", - "sha256:eb6904c354526e758fda7167b33005998fb68c46fbc10e013ca97f21ca5c8887", - "sha256:eb8821e09e916165e160797a6c17edda0679379a4be5c716c260e836e122f54b", - "sha256:efcb3f6676480691518c177e3b465bcddf57cea040302f9f4e6e191af91174d4", - "sha256:f27273b60488abe721a075bcca6d7f3964f9f6f067c8c4c605743023d7d3944f", - "sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5", - "sha256:fb69256e180cb6c8a894fee62b3afebae785babc1ee98b81cdf68bbca1987f33", - "sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519", - "sha256:ff8fa367d09b717b2a17a052544193ad76cd49979c805768879cb63d9ca50561" + "sha256:0099d79bdfcf5c1f0c2c72f91516702ebf8b0b8ddd8905f97a8aecf49712c621", + "sha256:0713f3adb9d03d49d365b70b84775d0a0d18e4ab08d12bc46baa6132ba78aaf6", + "sha256:07afec21bbbbf8a5cc3651aa96b980afe2526e7f048fdfb7f1014d84acc8b6d8", + "sha256:0b309d1747110feb25d7ed6b01afdec269c647d382c857ef4663bbe6ad95a912", + "sha256:0d99dd8ff461990f12d6e42c7347fd9ab2532fb70e9621ba520f9e8637161d7c", + "sha256:0de7b687289d3c1b3e8660d0741874abe7888100efe14bd0f9fd7141bcbda92b", + "sha256:1110e22af8ca26b90bd6364fe4c763329b0ebf1ee213ba32b68c73de5752323d", + "sha256:130272c698667a982a5d0e626851ceff662565379baf0ff2cc58067b81d4f11d", + "sha256:136815f06a3ae311fae551c3df1f998a1ebd01ddd424aa5603a4336997629e95", + "sha256:14215b71a762336254351b00ec720a8e85cada43b987da5a042e4ce3e82bd68e", + "sha256:1db4e7fefefd0f548d73e2e2e041f9df5c59e178b4c72fbac4cc6f535cfb1565", + "sha256:1ffd9493de4c922f2a38c2bf62b831dcec90ac673ed1ca182fe11b4d8e9f2a64", + "sha256:2006769bd1640bdf4d5641c69a3d63b71b81445473cac5ded39740a226fa88ab", + "sha256:20587d20f557fe189b7947d8e7ec5afa110ccf72a3128d61a2a387c3313f46be", + "sha256:223217c3d4f82c3ac5e29032b3f1c2eb0fb591b72161f86d93f5719079dae93e", + "sha256:27623ba66c183eca01bf9ff833875b459cad267aeeb044477fedac35e19ba907", + "sha256:285e96d9d53422efc0d7a17c60e59f37fbf3dfa942073f666db4ac71e8d726d0", + "sha256:2de62e8801ddfff069cd5c504ce3bc9672b23266597d4e4f50eda28846c322f2", + "sha256:2f6c34da58ea9c1a9515621f4d9ac379871a8f21168ba1b5e09d74250de5ad62", + "sha256:309a7de0a0ff3040acaebb35ec45d18db4b28232f21998851cfa709eeff49d62", + "sha256:35c404d74c2926d0287fbd63ed5d27eb911eb9e4a3bb2c6d294f3cfd4a9e0c23", + "sha256:3710a9751938947e6327ea9f3ea6332a09bf0ba0c09cae9cb1f250bd1f1549bc", + "sha256:3d59d125ffbd6d552765510e3f31ed75ebac2c7470c7274195b9161a32350284", + "sha256:40d3ff7fc90b98c637bda91c89d51264a3dcf210cade3a2c6f838c7268d7a4ca", + "sha256:425c5f215d0eecee9a56cdb703203dda90423247421bf0d67125add85d0c4455", + "sha256:43193c5cda5d612f247172016c4bb71251c784d7a4d9314677186a838ad34858", + "sha256:44aeb140295a2f0659e113b31cfe92c9061622cadbc9e2a2f7b8ef6b1e29ef4b", + "sha256:47334db71978b23ebcf3c0f9f5ee98b8d65992b65c9c4f2d34c2eaf5bcaf0594", + "sha256:4796efc4faf6b53a18e3d46343535caed491776a22af773f366534056c4e1fbc", + "sha256:4a51b48f42d9358460b78725283f04bddaf44a9358197b889657deba38f329db", + "sha256:4b67fdab07fdd3c10bb21edab3cbfe8cf5696f453afce75d815d9d7223fbe88b", + "sha256:4ec9dd88a5b71abfc74e9df5ebe7921c35cbb3b641181a531ca65cdb5e8e4dea", + "sha256:4f9fc98dad6c2eaa32fc3af1417d95b5e3d08aff968df0cd320066def971f9a6", + "sha256:54b6a92d009cbe2fb11054ba694bc9e284dad30a26757b1e372a1fdddaf21920", + "sha256:55f56e2ebd4e3bc50442fbc0888c9d8c94e4e06a933804e2af3e89e2f9c1c749", + "sha256:5726cf76c982532c1863fb64d8c6dd0e4c90b6ece9feb06c9f202417a31f7dd7", + "sha256:5d447056e2ca60382d460a604b6302d8db69476fd2015c81e7c35417cfabe4cd", + "sha256:5ed2e36c3e9b4f21dd9422f6893dec0abf2cca553af509b10cd630f878d3eb99", + "sha256:5ff2ed8194587faf56555927b3aa10e6fb69d931e33953943bc4f837dfee2242", + "sha256:62f60aebecfc7f4b82e3f639a7d1433a20ec32824db2199a11ad4f5e146ef5ee", + "sha256:63bc5c4ae26e4bc6be6469943b8253c0fd4e4186c43ad46e713ea61a0ba49129", + "sha256:6b40e8d38afe634559e398cc32b1472f376a4099c75fe6299ae607e404c033b2", + "sha256:6b493a043635eb376e50eedf7818f2f322eabbaa974e948bd8bdd29eb7ef2a51", + "sha256:6dba5d19c4dfab08e58d5b36304b3f92f3bd5d42c1a3fa37b5ba5cdf6dfcbcee", + "sha256:6fd30dc99682dc2c603c2b315bded2799019cea829f8bf57dc6b61efde6611c8", + "sha256:707b82d19e65c9bd28b81dde95249b07bf9f5b90ebe1ef17d9b57473f8a64b7b", + "sha256:7706f5850360ac01d80c89bcef1640683cc12ed87f42579dab6c5d3ed6888613", + "sha256:7782afc9b6b42200f7362858f9e73b1f8316afb276d316336c0ec3bd73312742", + "sha256:79983512b108e4a164b9c8d34de3992f76d48cadc9554c9e60b43f308988aabe", + "sha256:7f683ddc7eedd742e2889d2bfb96d69573fde1d92fcb811979cdb7165bb9c7d3", + "sha256:82357d85de703176b5587dbe6ade8ff67f9f69a41c0733cf2425378b49954de5", + "sha256:84450ba661fb96e9fd67629b93d2941c871ca86fc38d835d19d4225ff946a631", + "sha256:86f4e8cca779080f66ff4f191a685ced73d2f72d50216f7112185dc02b90b9b7", + "sha256:8cda06946eac330cbe6598f77bb54e690b4ca93f593dee1568ad22b04f347c15", + "sha256:8ce7fd6767a1cc5a92a639b391891bf1c268b03ec7e021c7d6d902285259685c", + "sha256:8ff4e7cdfdb1ab5698e675ca622e72d58a6fa2a8aa58195de0c0061288e6e3ea", + "sha256:9289fd5dddcf57bab41d044f1756550f9e7cf0c8e373b8cdf0ce8773dc4bd417", + "sha256:92a7e36b000bf022ef3dbb9c46bfe2d52c047d5e3f3343f43204263c5addc250", + "sha256:92db3c28b5b2a273346bebb24857fda45601aef6ae1c011c0a997106581e8a88", + "sha256:95c3c157765b031331dd4db3c775e58deaee050a3042fcad72cbc4189d7c8dca", + "sha256:980b4f289d1d90ca5efcf07958d3eb38ed9c0b7676bf2831a54d4f66f9c27dfa", + "sha256:9ae4ef0b3f6b41bad6366fb0ea4fc1d7ed051528e113a60fa2a65a9abb5b1d99", + "sha256:9c98230f5042f4945f957d006edccc2af1e03ed5e37ce7c373f00a5a4daa6149", + "sha256:9fa2566ca27d67c86569e8c85297aaf413ffab85a8960500f12ea34ff98e4c41", + "sha256:a14969b8691f7998e74663b77b4c36c0337cb1df552da83d5c9004a93afdb574", + "sha256:a8aacce6e2e1edcb6ac625fb0f8c3a9570ccc7bfba1f63419b3769ccf6a00ed0", + "sha256:a8e538f46104c815be19c975572d74afb53f29650ea2025bbfaef359d2de2f7f", + "sha256:aa41e526a5d4a9dfcfbab0716c7e8a1b215abd3f3df5a45cf18a12721d31cb5d", + "sha256:aa693779a8b50cd97570e5a0f343538a8dbd3e496fa5dcb87e29406ad0299654", + "sha256:ab22fbd9765e6954bc0bcff24c25ff71dcbfdb185fcdaca49e81bac68fe724d3", + "sha256:ab2e5bef076f5a235c3774b4f4028a680432cded7cad37bba0fd90d64b187d19", + "sha256:ab973df98fc99ab39080bfb0eb3a925181454d7c3ac8a1e695fddfae696d9e90", + "sha256:af73657b7a68211996527dbfeffbb0864e043d270580c5aef06dc4b659a4b578", + "sha256:b197e7094f232959f8f20541ead1d9862ac5ebea1d58e9849c1bf979255dfac9", + "sha256:b295729485b06c1a0683af02a9e42d2caa9db04a373dc38a6a58cdd1e8abddf1", + "sha256:b8831399554b92b72af5932cdbbd4ddc55c55f631bb13ff8fe4e6536a06c5c51", + "sha256:b8dcd239c743aa2f9c22ce674a145e0a25cb1566c495928440a181ca1ccf6719", + "sha256:bcb4f8ea87d03bc51ad04add8ceaf9b0f085ac045ab4d74e73bbc2dc033f0236", + "sha256:bd7af3717683bea4c87acd8c0d3d5b44d56120b26fd3f8a692bdd2d5260c620a", + "sha256:bf4475b82be41b07cc5e5ff94810e6a01f276e37c2d55571e3fe175e467a1a1c", + "sha256:c3e446d253bd88f6377260d07c895816ebf33ffffd56c1c792b13bff9c3e1ade", + "sha256:c57516e58fd17d03ebe67e181a4e4e2ccab1168f8c2976c6a334d4f819fe5944", + "sha256:c94057af19bc953643a33581844649a7fdab902624d2eb739738a30e2b3e60fc", + "sha256:cab5d0b79d987c67f3b9e9c53f54a61360422a5a0bc075f43cab5621d530c3b6", + "sha256:ce031db0408e487fd2775d745ce30a7cd2923667cf3b69d48d219f1d8f5ddeb6", + "sha256:cee4373f4d3ad28f1ab6290684d8e2ebdb9e7a1b74fdc39e4c211995f77bec27", + "sha256:d5b054862739d276e09928de37c79ddeec42a6e1bfc55863be96a36ba22926f6", + "sha256:dbe03226baf438ac4fda9e2d0715022fd579cb641c4cf639fa40d53b2fe6f3e2", + "sha256:dc15e99b2d8a656f8e666854404f1ba54765871104e50c8e9813af8a7db07f12", + "sha256:dcaf7c1524c0542ee2fc82cc8ec337f7a9f7edee2532421ab200d2b920fc97cf", + "sha256:dd4eda173a9fcccb5f2e2bd2a9f423d180194b1bf17cf59e3269899235b2a114", + "sha256:dd9a8bd8900e65504a305bf8ae6fa9fbc66de94178c420791d0293702fce2df7", + "sha256:de7376c29d95d6719048c194a9cf1a1b0393fbe8488a22008610b0361d834ecf", + "sha256:e7fdd52961feb4c96507aa649550ec2a0d527c086d284749b2f582f2d40a2e0d", + "sha256:e91f541a85298cf35433bf66f3fab2a4a2cff05c127eeca4af174f6d497f0d4b", + "sha256:e9e3c4c9e1ed40ea53acf11e2a386383c3304212c965773704e4603d589343ed", + "sha256:ee803480535c44e7f5ad00788526da7d85525cfefaf8acf8ab9a310000be4b03", + "sha256:f09cb5a7bbe1ecae6e87901a2eb23e0256bb524a79ccc53eb0b7629fbe7677c4", + "sha256:f19c1585933c82098c2a520f8ec1227f20e339e33aca8fa6f956f6691b784e67", + "sha256:f1a2f519ae173b5b6a2c9d5fa3116ce16e48b3462c8b96dfdded11055e3d6365", + "sha256:f28f891ccd15c514a0981f3b9db9aa23d62fe1a99997512b0491d2ed323d229a", + "sha256:f3e73a4255342d4eb26ef6df01e3962e73aa29baa3124a8e824c5d3364a65748", + "sha256:f606a1881d2663630ea5b8ce2efe2111740df4b687bd78b34a8131baa007f79b", + "sha256:fe9f97feb71aa9896b81973a7bbada8c49501dc73e58a10fcef6663af95e5079", + "sha256:ffc519621dce0c767e96b9c53f09c5d215578e10b02c285809f76509a3931482" ], "markers": "python_full_version >= '3.7.0'", - "version": "==3.3.2" + "version": "==3.4.0" }, "coverage": { "extras": [ "toml" ], "hashes": [ - "sha256:06a737c882bd26d0d6ee7269b20b12f14a8704807a01056c80bb881a4b2ce6ca", - "sha256:07e2ca0ad381b91350c0ed49d52699b625aab2b44b65e1b4e02fa9df0e92ad2d", - "sha256:0c0420b573964c760df9e9e86d1a9a622d0d27f417e1a949a8a66dd7bcee7bc6", - "sha256:0dbde0f4aa9a16fa4d754356a8f2e36296ff4d83994b2c9d8398aa32f222f989", - "sha256:1125ca0e5fd475cbbba3bb67ae20bd2c23a98fac4e32412883f9bcbaa81c314c", - "sha256:13b0a73a0896988f053e4fbb7de6d93388e6dd292b0d87ee51d106f2c11b465b", - "sha256:166811d20dfea725e2e4baa71fffd6c968a958577848d2131f39b60043400223", - "sha256:170d444ab405852903b7d04ea9ae9b98f98ab6d7e63e1115e82620807519797f", - "sha256:1f4aa8219db826ce6be7099d559f8ec311549bfc4046f7f9fe9b5cea5c581c56", - "sha256:225667980479a17db1048cb2bf8bfb39b8e5be8f164b8f6628b64f78a72cf9d3", - "sha256:260933720fdcd75340e7dbe9060655aff3af1f0c5d20f46b57f262ab6c86a5e8", - "sha256:2bdb062ea438f22d99cba0d7829c2ef0af1d768d1e4a4f528087224c90b132cb", - "sha256:2c09f4ce52cb99dd7505cd0fc8e0e37c77b87f46bc9c1eb03fe3bc9991085388", - "sha256:3115a95daa9bdba70aea750db7b96b37259a81a709223c8448fa97727d546fe0", - "sha256:3e0cadcf6733c09154b461f1ca72d5416635e5e4ec4e536192180d34ec160f8a", - "sha256:3f1156e3e8f2872197af3840d8ad307a9dd18e615dc64d9ee41696f287c57ad8", - "sha256:4421712dbfc5562150f7554f13dde997a2e932a6b5f352edcce948a815efee6f", - "sha256:44df346d5215a8c0e360307d46ffaabe0f5d3502c8a1cefd700b34baf31d411a", - "sha256:502753043567491d3ff6d08629270127e0c31d4184c4c8d98f92c26f65019962", - "sha256:547f45fa1a93154bd82050a7f3cddbc1a7a4dd2a9bf5cb7d06f4ae29fe94eaf8", - "sha256:5621a9175cf9d0b0c84c2ef2b12e9f5f5071357c4d2ea6ca1cf01814f45d2391", - "sha256:609b06f178fe8e9f89ef676532760ec0b4deea15e9969bf754b37f7c40326dbc", - "sha256:645786266c8f18a931b65bfcefdbf6952dd0dea98feee39bd188607a9d307ed2", - "sha256:6878ef48d4227aace338d88c48738a4258213cd7b74fd9a3d4d7582bb1d8a155", - "sha256:6a89ecca80709d4076b95f89f308544ec8f7b4727e8a547913a35f16717856cb", - "sha256:6db04803b6c7291985a761004e9060b2bca08da6d04f26a7f2294b8623a0c1a0", - "sha256:6e2cd258d7d927d09493c8df1ce9174ad01b381d4729a9d8d4e38670ca24774c", - "sha256:6e81d7a3e58882450ec4186ca59a3f20a5d4440f25b1cff6f0902ad890e6748a", - "sha256:702855feff378050ae4f741045e19a32d57d19f3e0676d589df0575008ea5004", - "sha256:78b260de9790fd81e69401c2dc8b17da47c8038176a79092a89cb2b7d945d060", - "sha256:7bb65125fcbef8d989fa1dd0e8a060999497629ca5b0efbca209588a73356232", - "sha256:7dea0889685db8550f839fa202744652e87c60015029ce3f60e006f8c4462c93", - "sha256:8284cf8c0dd272a247bc154eb6c95548722dce90d098c17a883ed36e67cdb129", - "sha256:877abb17e6339d96bf08e7a622d05095e72b71f8afd8a9fefc82cf30ed944163", - "sha256:8929543a7192c13d177b770008bc4e8119f2e1f881d563fc6b6305d2d0ebe9de", - "sha256:8ae539519c4c040c5ffd0632784e21b2f03fc1340752af711f33e5be83a9d6c6", - "sha256:8f59d57baca39b32db42b83b2a7ba6f47ad9c394ec2076b084c3f029b7afca23", - "sha256:9054a0754de38d9dbd01a46621636689124d666bad1936d76c0341f7d71bf569", - "sha256:953510dfb7b12ab69d20135a0662397f077c59b1e6379a768e97c59d852ee51d", - "sha256:95cae0efeb032af8458fc27d191f85d1717b1d4e49f7cb226cf526ff28179778", - "sha256:9bc572be474cafb617672c43fe989d6e48d3c83af02ce8de73fff1c6bb3c198d", - "sha256:9c56863d44bd1c4fe2abb8a4d6f5371d197f1ac0ebdee542f07f35895fc07f36", - "sha256:9e0b2df163b8ed01d515807af24f63de04bebcecbd6c3bfeff88385789fdf75a", - "sha256:a09ece4a69cf399510c8ab25e0950d9cf2b42f7b3cb0374f95d2e2ff594478a6", - "sha256:a1ac0ae2b8bd743b88ed0502544847c3053d7171a3cff9228af618a068ed9c34", - "sha256:a318d68e92e80af8b00fa99609796fdbcdfef3629c77c6283566c6f02c6d6704", - "sha256:a4acd025ecc06185ba2b801f2de85546e0b8ac787cf9d3b06e7e2a69f925b106", - "sha256:a6d3adcf24b624a7b778533480e32434a39ad8fa30c315208f6d3e5542aeb6e9", - "sha256:a78d169acd38300060b28d600344a803628c3fd585c912cacc9ea8790fe96862", - "sha256:a95324a9de9650a729239daea117df21f4b9868ce32e63f8b650ebe6cef5595b", - "sha256:abd5fd0db5f4dc9289408aaf34908072f805ff7792632250dcb36dc591d24255", - "sha256:b06079abebbc0e89e6163b8e8f0e16270124c154dc6e4a47b413dd538859af16", - "sha256:b43c03669dc4618ec25270b06ecd3ee4fa94c7f9b3c14bae6571ca00ef98b0d3", - "sha256:b48f312cca9621272ae49008c7f613337c53fadca647d6384cc129d2996d1133", - "sha256:b5d7b556859dd85f3a541db6a4e0167b86e7273e1cdc973e5b175166bb634fdb", - "sha256:b9f222de8cded79c49bf184bdbc06630d4c58eec9459b939b4a690c82ed05657", - "sha256:c3c02d12f837d9683e5ab2f3d9844dc57655b92c74e286c262e0fc54213c216d", - "sha256:c44fee9975f04b33331cb8eb272827111efc8930cfd582e0320613263ca849ca", - "sha256:cf4b19715bccd7ee27b6b120e7e9dd56037b9c0681dcc1adc9ba9db3d417fa36", - "sha256:d0c212c49b6c10e6951362f7c6df3329f04c2b1c28499563d4035d964ab8e08c", - "sha256:d3296782ca4eab572a1a4eca686d8bfb00226300dcefdf43faa25b5242ab8a3e", - "sha256:d85f5e9a5f8b73e2350097c3756ef7e785f55bd71205defa0bfdaf96c31616ff", - "sha256:da511e6ad4f7323ee5702e6633085fb76c2f893aaf8ce4c51a0ba4fc07580ea7", - "sha256:e05882b70b87a18d937ca6768ff33cc3f72847cbc4de4491c8e73880766718e5", - "sha256:e61c0abb4c85b095a784ef23fdd4aede7a2628478e7baba7c5e3deba61070a02", - "sha256:e6a08c0be454c3b3beb105c0596ebdc2371fab6bb90c0c0297f4e58fd7e1012c", - "sha256:e9a6e0eb86070e8ccaedfbd9d38fec54864f3125ab95419970575b42af7541df", - "sha256:ed37bd3c3b063412f7620464a9ac1314d33100329f39799255fb8d3027da50d3", - "sha256:f1adfc8ac319e1a348af294106bc6a8458a0f1633cc62a1446aebc30c5fa186a", - "sha256:f5796e664fe802da4f57a168c85359a8fbf3eab5e55cd4e4569fbacecc903959", - "sha256:fc5a77d0c516700ebad189b587de289a20a78324bc54baee03dd486f0855d234", - "sha256:fd21f6ae3f08b41004dfb433fa895d858f3f5979e7762d052b12aef444e29afc" - ], - "markers": "python_version >= '3.8'", - "version": "==7.6.1" + "sha256:00a1d69c112ff5149cabe60d2e2ee948752c975d95f1e1096742e6077affd376", + "sha256:023bf8ee3ec6d35af9c1c6ccc1d18fa69afa1cb29eaac57cb064dbb262a517f9", + "sha256:0294ca37f1ba500667b1aef631e48d875ced93ad5e06fa665a3295bdd1d95111", + "sha256:06babbb8f4e74b063dbaeb74ad68dfce9186c595a15f11f5d5683f748fa1d172", + "sha256:0809082ee480bb8f7416507538243c8863ac74fd8a5d2485c46f0f7499f2b491", + "sha256:0b3fb02fe73bed561fa12d279a417b432e5b50fe03e8d663d61b3d5990f29546", + "sha256:0b58c672d14f16ed92a48db984612f5ce3836ae7d72cdd161001cc54512571f2", + "sha256:0bcd1069e710600e8e4cf27f65c90c7843fa8edfb4520fb0ccb88894cad08b11", + "sha256:1032e178b76a4e2b5b32e19d0fd0abbce4b58e77a1ca695820d10e491fa32b08", + "sha256:11a223a14e91a4693d2d0755c7a043db43d96a7450b4f356d506c2562c48642c", + "sha256:12394842a3a8affa3ba62b0d4ab7e9e210c5e366fbac3e8b2a68636fb19892c2", + "sha256:182e6cd5c040cec0a1c8d415a87b67ed01193ed9ad458ee427741c7d8513d963", + "sha256:1d5b8007f81b88696d06f7df0cb9af0d3b835fe0c8dbf489bad70b45f0e45613", + "sha256:1f76846299ba5c54d12c91d776d9605ae33f8ae2b9d1d3c3703cf2db1a67f2c0", + "sha256:27fb4a050aaf18772db513091c9c13f6cb94ed40eacdef8dad8411d92d9992db", + "sha256:29155cd511ee058e260db648b6182c419422a0d2e9a4fa44501898cf918866cf", + "sha256:29fc0f17b1d3fea332f8001d4558f8214af7f1d87a345f3a133c901d60347c73", + "sha256:2b6b4c83d8e8ea79f27ab80778c19bc037759aea298da4b56621f4474ffeb117", + "sha256:2fdef0d83a2d08d69b1f2210a93c416d54e14d9eb398f6ab2f0a209433db19e1", + "sha256:3c65d37f3a9ebb703e710befdc489a38683a5b152242664b973a7b7b22348a4e", + "sha256:4f704f0998911abf728a7783799444fcbbe8261c4a6c166f667937ae6a8aa522", + "sha256:51b44306032045b383a7a8a2c13878de375117946d68dcb54308111f39775a25", + "sha256:53d202fd109416ce011578f321460795abfe10bb901b883cafd9b3ef851bacfc", + "sha256:58809e238a8a12a625c70450b48e8767cff9eb67c62e6154a642b21ddf79baea", + "sha256:5915fcdec0e54ee229926868e9b08586376cae1f5faa9bbaf8faf3561b393d52", + "sha256:5beb1ee382ad32afe424097de57134175fea3faf847b9af002cc7895be4e2a5a", + "sha256:5f8ae553cba74085db385d489c7a792ad66f7f9ba2ee85bfa508aeb84cf0ba07", + "sha256:5fbd612f8a091954a0c8dd4c0b571b973487277d26476f8480bfa4b2a65b5d06", + "sha256:6bd818b7ea14bc6e1f06e241e8234508b21edf1b242d49831831a9450e2f35fa", + "sha256:6f01ba56b1c0e9d149f9ac85a2f999724895229eb36bd997b61e62999e9b0901", + "sha256:73d2b73584446e66ee633eaad1a56aad577c077f46c35ca3283cd687b7715b0b", + "sha256:7bb92c539a624cf86296dd0c68cd5cc286c9eef2d0c3b8b192b604ce9de20a17", + "sha256:8165b796df0bd42e10527a3f493c592ba494f16ef3c8b531288e3d0d72c1f6f0", + "sha256:862264b12ebb65ad8d863d51f17758b1684560b66ab02770d4f0baf2ff75da21", + "sha256:8902dd6a30173d4ef09954bfcb24b5d7b5190cf14a43170e386979651e09ba19", + "sha256:8cf717ee42012be8c0cb205dbbf18ffa9003c4cbf4ad078db47b95e10748eec5", + "sha256:8ed9281d1b52628e81393f5eaee24a45cbd64965f41857559c2b7ff19385df51", + "sha256:99b41d18e6b2a48ba949418db48159d7a2e81c5cc290fc934b7d2380515bd0e3", + "sha256:9cb7fa111d21a6b55cbf633039f7bc2749e74932e3aa7cb7333f675a58a58bf3", + "sha256:a181e99301a0ae128493a24cfe5cfb5b488c4e0bf2f8702091473d033494d04f", + "sha256:a413a096c4cbac202433c850ee43fa326d2e871b24554da8327b01632673a076", + "sha256:a6b1e54712ba3474f34b7ef7a41e65bd9037ad47916ccb1cc78769bae324c01a", + "sha256:ade3ca1e5f0ff46b678b66201f7ff477e8fa11fb537f3b55c3f0568fbfe6e718", + "sha256:b0ac3d42cb51c4b12df9c5f0dd2f13a4f24f01943627120ec4d293c9181219ba", + "sha256:b369ead6527d025a0fe7bd3864e46dbee3aa8f652d48df6174f8d0bac9e26e0e", + "sha256:b57b768feb866f44eeed9f46975f3d6406380275c5ddfe22f531a2bf187eda27", + "sha256:b8d3a03d9bfcaf5b0141d07a88456bb6a4c3ce55c080712fec8418ef3610230e", + "sha256:bc66f0bf1d7730a17430a50163bb264ba9ded56739112368ba985ddaa9c3bd09", + "sha256:bf20494da9653f6410213424f5f8ad0ed885e01f7e8e59811f572bdb20b8972e", + "sha256:c48167910a8f644671de9f2083a23630fbf7a1cb70ce939440cd3328e0919f70", + "sha256:c481b47f6b5845064c65a7bc78bc0860e635a9b055af0df46fdf1c58cebf8e8f", + "sha256:c7c8b95bf47db6d19096a5e052ffca0a05f335bc63cef281a6e8fe864d450a72", + "sha256:c9b8e184898ed014884ca84c70562b4a82cbc63b044d366fedc68bc2b2f3394a", + "sha256:cc8ff50b50ce532de2fa7a7daae9dd12f0a699bfcd47f20945364e5c31799fef", + "sha256:d541423cdd416b78626b55f123412fcf979d22a2c39fce251b350de38c15c15b", + "sha256:dab4d16dfef34b185032580e2f2f89253d302facba093d5fa9dbe04f569c4f4b", + "sha256:dacbc52de979f2823a819571f2e3a350a7e36b8cb7484cdb1e289bceaf35305f", + "sha256:df57bdbeffe694e7842092c5e2e0bc80fff7f43379d465f932ef36f027179806", + "sha256:ed8fe9189d2beb6edc14d3ad19800626e1d9f2d975e436f84e19efb7fa19469b", + "sha256:f3ddf056d3ebcf6ce47bdaf56142af51bb7fad09e4af310241e9db7a3a8022e1", + "sha256:f8fe4984b431f8621ca53d9380901f62bfb54ff759a1348cd140490ada7b693c", + "sha256:fe439416eb6380de434886b00c859304338f8b19f6f54811984f3420a2e03858" + ], + "markers": "python_version >= '3.9'", + "version": "==7.6.4" }, "crhelper": { "hashes": [ @@ -302,44 +307,44 @@ }, "cryptography": { "hashes": [ - "sha256:014f58110f53237ace6a408b5beb6c427b64e084eb451ef25a28308270086494", - "sha256:1bbcce1a551e262dfbafb6e6252f1ae36a248e615ca44ba302df077a846a8806", - "sha256:203e92a75716d8cfb491dc47c79e17d0d9207ccffcbcb35f598fbe463ae3444d", - "sha256:27e613d7077ac613e399270253259d9d53872aaf657471473ebfc9a52935c062", - "sha256:2bd51274dcd59f09dd952afb696bf9c61a7a49dfc764c04dd33ef7a6b502a1e2", - "sha256:38926c50cff6f533f8a2dae3d7f19541432610d114a70808f0926d5aaa7121e4", - "sha256:511f4273808ab590912a93ddb4e3914dfd8a388fed883361b02dea3791f292e1", - "sha256:58d4e9129985185a06d849aa6df265bdd5a74ca6e1b736a77959b498e0505b85", - "sha256:5b43d1ea6b378b54a1dc99dd8a2b5be47658fe9a7ce0a58ff0b55f4b43ef2b84", - "sha256:61ec41068b7b74268fa86e3e9e12b9f0c21fcf65434571dbb13d954bceb08042", - "sha256:666ae11966643886c2987b3b721899d250855718d6d9ce41b521252a17985f4d", - "sha256:68aaecc4178e90719e95298515979814bda0cbada1256a4485414860bd7ab962", - "sha256:7c05650fe8023c5ed0d46793d4b7d7e6cd9c04e68eabe5b0aeea836e37bdcec2", - "sha256:80eda8b3e173f0f247f711eef62be51b599b5d425c429b5d4ca6a05e9e856baa", - "sha256:8385d98f6a3bf8bb2d65a73e17ed87a3ba84f6991c155691c51112075f9ffc5d", - "sha256:88cce104c36870d70c49c7c8fd22885875d950d9ee6ab54df2745f83ba0dc365", - "sha256:9d3cdb25fa98afdd3d0892d132b8d7139e2c087da1712041f6b762e4f807cc96", - "sha256:a575913fb06e05e6b4b814d7f7468c2c660e8bb16d8d5a1faf9b33ccc569dd47", - "sha256:ac119bb76b9faa00f48128b7f5679e1d8d437365c5d26f1c2c3f0da4ce1b553d", - "sha256:c1332724be35d23a854994ff0b66530119500b6053d0bd3363265f7e5e77288d", - "sha256:d03a475165f3134f773d1388aeb19c2d25ba88b6a9733c5c590b9ff7bbfa2e0c", - "sha256:d75601ad10b059ec832e78823b348bfa1a59f6b8d545db3a24fd44362a1564cb", - "sha256:de41fd81a41e53267cb020bb3a7212861da53a7d39f863585d13ea11049cf277", - "sha256:e710bf40870f4db63c3d7d929aa9e09e4e7ee219e703f949ec4073b4294f6172", - "sha256:ea25acb556320250756e53f9e20a4177515f012c9eaea17eb7587a8c4d8ae034", - "sha256:f98bf604c82c416bc829e490c700ca1553eafdf2912a91e23a79d97d9801372a", - "sha256:fba1007b3ef89946dbbb515aeeb41e30203b004f0b4b00e5e16078b518563289" + "sha256:0c580952eef9bf68c4747774cde7ec1d85a6e61de97281f2dba83c7d2c806362", + "sha256:0f996e7268af62598f2fc1204afa98a3b5712313a55c4c9d434aef49cadc91d4", + "sha256:1ec0bcf7e17c0c5669d881b1cd38c4972fade441b27bda1051665faaa89bdcaa", + "sha256:281c945d0e28c92ca5e5930664c1cefd85efe80e5c0d2bc58dd63383fda29f83", + "sha256:2ce6fae5bdad59577b44e4dfed356944fbf1d925269114c28be377692643b4ff", + "sha256:315b9001266a492a6ff443b61238f956b214dbec9910a081ba5b6646a055a805", + "sha256:443c4a81bb10daed9a8f334365fe52542771f25aedaf889fd323a853ce7377d6", + "sha256:4a02ded6cd4f0a5562a8887df8b3bd14e822a90f97ac5e544c162899bc467664", + "sha256:53a583b6637ab4c4e3591a15bc9db855b8d9dee9a669b550f311480acab6eb08", + "sha256:63efa177ff54aec6e1c0aefaa1a241232dcd37413835a9b674b6e3f0ae2bfd3e", + "sha256:74f57f24754fe349223792466a709f8e0c093205ff0dca557af51072ff47ab18", + "sha256:7e1ce50266f4f70bf41a2c6dc4358afadae90e2a1e5342d3c08883df1675374f", + "sha256:81ef806b1fef6b06dcebad789f988d3b37ccaee225695cf3e07648eee0fc6b73", + "sha256:846da004a5804145a5f441b8530b4bf35afbf7da70f82409f151695b127213d5", + "sha256:8ac43ae87929a5982f5948ceda07001ee5e83227fd69cf55b109144938d96984", + "sha256:9762ea51a8fc2a88b70cf2995e5675b38d93bf36bd67d91721c309df184f49bd", + "sha256:a2a431ee15799d6db9fe80c82b055bae5a752bef645bba795e8e52687c69efe3", + "sha256:bf7a1932ac4176486eab36a19ed4c0492da5d97123f1406cf15e41b05e787d2e", + "sha256:c2e6fc39c4ab499049df3bdf567f768a723a5e8464816e8f009f121a5a9f4405", + "sha256:cbeb489927bd7af4aa98d4b261af9a5bc025bd87f0e3547e11584be9e9427be2", + "sha256:d03b5621a135bffecad2c73e9f4deb1a0f977b9a8ffe6f8e002bf6c9d07b918c", + "sha256:d56e96520b1020449bbace2b78b603442e7e378a9b3bd68de65c782db1507995", + "sha256:df6b6c6d742395dd77a23ea3728ab62f98379eff8fb61be2744d4679ab678f73", + "sha256:e1be4655c7ef6e1bbe6b5d0403526601323420bcf414598955968c9ef3eb7d16", + "sha256:f18c716be16bc1fea8e95def49edf46b82fccaa88587a45f8dc0ff6ab5d8e0a7", + "sha256:f46304d6f0c6ab8e52770addfa2fc41e6629495548862279641972b6215451cd", + "sha256:f7b178f11ed3664fd0e995a47ed2b5ff0a12d893e41dd0494f406d1cf555cab7" ], "markers": "python_version >= '3.7'", - "version": "==43.0.1" + "version": "==43.0.3" }, "idna": { "hashes": [ - "sha256:050b4e5baadcd44d760cedbd2b8e639f2ff89bbc7a5730fcc662954303377aac", - "sha256:d838c2c0ed6fced7693d5e8ab8e734d5f8fda53a039c0164afb0b82e771e3603" + "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9", + "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3" ], "markers": "python_version >= '3.6'", - "version": "==3.8" + "version": "==3.10" }, "iniconfig": { "hashes": [ @@ -376,69 +381,70 @@ }, "markupsafe": { "hashes": [ - "sha256:00e046b6dd71aa03a41079792f8473dc494d564611a8f89bbbd7cb93295ebdcf", - "sha256:075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff", - "sha256:0e397ac966fdf721b2c528cf028494e86172b4feba51d65f81ffd65c63798f3f", - "sha256:17b950fccb810b3293638215058e432159d2b71005c74371d784862b7e4683f3", - "sha256:1f3fbcb7ef1f16e48246f704ab79d79da8a46891e2da03f8783a5b6fa41a9532", - "sha256:2174c595a0d73a3080ca3257b40096db99799265e1c27cc5a610743acd86d62f", - "sha256:2b7c57a4dfc4f16f7142221afe5ba4e093e09e728ca65c51f5620c9aaeb9a617", - "sha256:2d2d793e36e230fd32babe143b04cec8a8b3eb8a3122d2aceb4a371e6b09b8df", - "sha256:30b600cf0a7ac9234b2638fbc0fb6158ba5bdcdf46aeb631ead21248b9affbc4", - "sha256:397081c1a0bfb5124355710fe79478cdbeb39626492b15d399526ae53422b906", - "sha256:3a57fdd7ce31c7ff06cdfbf31dafa96cc533c21e443d57f5b1ecc6cdc668ec7f", - "sha256:3c6b973f22eb18a789b1460b4b91bf04ae3f0c4234a0a6aa6b0a92f6f7b951d4", - "sha256:3e53af139f8579a6d5f7b76549125f0d94d7e630761a2111bc431fd820e163b8", - "sha256:4096e9de5c6fdf43fb4f04c26fb114f61ef0bf2e5604b6ee3019d51b69e8c371", - "sha256:4275d846e41ecefa46e2015117a9f491e57a71ddd59bbead77e904dc02b1bed2", - "sha256:4c31f53cdae6ecfa91a77820e8b151dba54ab528ba65dfd235c80b086d68a465", - "sha256:4f11aa001c540f62c6166c7726f71f7573b52c68c31f014c25cc7901deea0b52", - "sha256:5049256f536511ee3f7e1b3f87d1d1209d327e818e6ae1365e8653d7e3abb6a6", - "sha256:58c98fee265677f63a4385256a6d7683ab1832f3ddd1e66fe948d5880c21a169", - "sha256:598e3276b64aff0e7b3451b72e94fa3c238d452e7ddcd893c3ab324717456bad", - "sha256:5b7b716f97b52c5a14bffdf688f971b2d5ef4029127f1ad7a513973cfd818df2", - "sha256:5dedb4db619ba5a2787a94d877bc8ffc0566f92a01c0ef214865e54ecc9ee5e0", - "sha256:619bc166c4f2de5caa5a633b8b7326fbe98e0ccbfacabd87268a2b15ff73a029", - "sha256:629ddd2ca402ae6dbedfceeba9c46d5f7b2a61d9749597d4307f943ef198fc1f", - "sha256:656f7526c69fac7f600bd1f400991cc282b417d17539a1b228617081106feb4a", - "sha256:6ec585f69cec0aa07d945b20805be741395e28ac1627333b1c5b0105962ffced", - "sha256:72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5", - "sha256:7502934a33b54030eaf1194c21c692a534196063db72176b0c4028e140f8f32c", - "sha256:7a68b554d356a91cce1236aa7682dc01df0edba8d043fd1ce607c49dd3c1edcf", - "sha256:7b2e5a267c855eea6b4283940daa6e88a285f5f2a67f2220203786dfa59b37e9", - "sha256:823b65d8706e32ad2df51ed89496147a42a2a6e01c13cfb6ffb8b1e92bc910bb", - "sha256:8590b4ae07a35970728874632fed7bd57b26b0102df2d2b233b6d9d82f6c62ad", - "sha256:8dd717634f5a044f860435c1d8c16a270ddf0ef8588d4887037c5028b859b0c3", - "sha256:8dec4936e9c3100156f8a2dc89c4b88d5c435175ff03413b443469c7c8c5f4d1", - "sha256:97cafb1f3cbcd3fd2b6fbfb99ae11cdb14deea0736fc2b0952ee177f2b813a46", - "sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc", - "sha256:a549b9c31bec33820e885335b451286e2969a2d9e24879f83fe904a5ce59d70a", - "sha256:ac07bad82163452a6884fe8fa0963fb98c2346ba78d779ec06bd7a6262132aee", - "sha256:ae2ad8ae6ebee9d2d94b17fb62763125f3f374c25618198f40cbb8b525411900", - "sha256:b91c037585eba9095565a3556f611e3cbfaa42ca1e865f7b8015fe5c7336d5a5", - "sha256:bc1667f8b83f48511b94671e0e441401371dfd0f0a795c7daa4a3cd1dde55bea", - "sha256:bec0a414d016ac1a18862a519e54b2fd0fc8bbfd6890376898a6c0891dd82e9f", - "sha256:bf50cd79a75d181c9181df03572cdce0fbb75cc353bc350712073108cba98de5", - "sha256:bff1b4290a66b490a2f4719358c0cdcd9bafb6b8f061e45c7a2460866bf50c2e", - "sha256:c061bb86a71b42465156a3ee7bd58c8c2ceacdbeb95d05a99893e08b8467359a", - "sha256:c8b29db45f8fe46ad280a7294f5c3ec36dbac9491f2d1c17345be8e69cc5928f", - "sha256:ce409136744f6521e39fd8e2a24c53fa18ad67aa5bc7c2cf83645cce5b5c4e50", - "sha256:d050b3361367a06d752db6ead6e7edeb0009be66bc3bae0ee9d97fb326badc2a", - "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b", - "sha256:d9fad5155d72433c921b782e58892377c44bd6252b5af2f67f16b194987338a4", - "sha256:daa4ee5a243f0f20d528d939d06670a298dd39b1ad5f8a72a4275124a7819eff", - "sha256:db0b55e0f3cc0be60c1f19efdde9a637c32740486004f20d1cff53c3c0ece4d2", - "sha256:e61659ba32cf2cf1481e575d0462554625196a1f2fc06a1c777d3f48e8865d46", - "sha256:ea3d8a3d18833cf4304cd2fc9cbb1efe188ca9b5efef2bdac7adc20594a0e46b", - "sha256:ec6a563cff360b50eed26f13adc43e61bc0c04d94b8be985e6fb24b81f6dcfdf", - "sha256:f5dfb42c4604dddc8e4305050aa6deb084540643ed5804d7455b5df8fe16f5e5", - "sha256:fa173ec60341d6bb97a89f5ea19c85c5643c1e7dedebc22f5181eb73573142c5", - "sha256:fa9db3f79de01457b03d4f01b34cf91bc0048eb2c3846ff26f66687c2f6d16ab", - "sha256:fce659a462a1be54d2ffcacea5e3ba2d74daa74f30f5f143fe0c58636e355fdd", - "sha256:ffee1f21e5ef0d712f9033568f8344d5da8cc2869dbd08d87c84656e6a2d2f68" - ], - "markers": "python_version >= '3.7'", - "version": "==2.1.5" + "sha256:0bff5e0ae4ef2e1ae4fdf2dfd5b76c75e5c2fa4132d05fc1b0dabcd20c7e28c4", + "sha256:0f4ca02bea9a23221c0182836703cbf8930c5e9454bacce27e767509fa286a30", + "sha256:1225beacc926f536dc82e45f8a4d68502949dc67eea90eab715dea3a21c1b5f0", + "sha256:131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9", + "sha256:15ab75ef81add55874e7ab7055e9c397312385bd9ced94920f2802310c930396", + "sha256:1a9d3f5f0901fdec14d8d2f66ef7d035f2157240a433441719ac9a3fba440b13", + "sha256:1c99d261bd2d5f6b59325c92c73df481e05e57f19837bdca8413b9eac4bd8028", + "sha256:1e084f686b92e5b83186b07e8a17fc09e38fff551f3602b249881fec658d3eca", + "sha256:2181e67807fc2fa785d0592dc2d6206c019b9502410671cc905d132a92866557", + "sha256:2cb8438c3cbb25e220c2ab33bb226559e7afb3baec11c4f218ffa7308603c832", + "sha256:3169b1eefae027567d1ce6ee7cae382c57fe26e82775f460f0b2778beaad66c0", + "sha256:3809ede931876f5b2ec92eef964286840ed3540dadf803dd570c3b7e13141a3b", + "sha256:38a9ef736c01fccdd6600705b09dc574584b89bea478200c5fbf112a6b0d5579", + "sha256:3d79d162e7be8f996986c064d1c7c817f6df3a77fe3d6859f6f9e7be4b8c213a", + "sha256:444dcda765c8a838eaae23112db52f1efaf750daddb2d9ca300bcae1039adc5c", + "sha256:48032821bbdf20f5799ff537c7ac3d1fba0ba032cfc06194faffa8cda8b560ff", + "sha256:4aa4e5faecf353ed117801a068ebab7b7e09ffb6e1d5e412dc852e0da018126c", + "sha256:52305740fe773d09cffb16f8ed0427942901f00adedac82ec8b67752f58a1b22", + "sha256:569511d3b58c8791ab4c2e1285575265991e6d8f8700c7be0e88f86cb0672094", + "sha256:57cb5a3cf367aeb1d316576250f65edec5bb3be939e9247ae594b4bcbc317dfb", + "sha256:5b02fb34468b6aaa40dfc198d813a641e3a63b98c2b05a16b9f80b7ec314185e", + "sha256:6381026f158fdb7c72a168278597a5e3a5222e83ea18f543112b2662a9b699c5", + "sha256:6af100e168aa82a50e186c82875a5893c5597a0c1ccdb0d8b40240b1f28b969a", + "sha256:6c89876f41da747c8d3677a2b540fb32ef5715f97b66eeb0c6b66f5e3ef6f59d", + "sha256:6e296a513ca3d94054c2c881cc913116e90fd030ad1c656b3869762b754f5f8a", + "sha256:70a87b411535ccad5ef2f1df5136506a10775d267e197e4cf531ced10537bd6b", + "sha256:7e94c425039cde14257288fd61dcfb01963e658efbc0ff54f5306b06054700f8", + "sha256:846ade7b71e3536c4e56b386c2a47adf5741d2d8b94ec9dc3e92e5e1ee1e2225", + "sha256:88416bd1e65dcea10bc7569faacb2c20ce071dd1f87539ca2ab364bf6231393c", + "sha256:88b49a3b9ff31e19998750c38e030fc7bb937398b1f78cfa599aaef92d693144", + "sha256:8c4e8c3ce11e1f92f6536ff07154f9d49677ebaaafc32db9db4620bc11ed480f", + "sha256:8e06879fc22a25ca47312fbe7c8264eb0b662f6db27cb2d3bbbc74b1df4b9b87", + "sha256:9025b4018f3a1314059769c7bf15441064b2207cb3f065e6ea1e7359cb46db9d", + "sha256:93335ca3812df2f366e80509ae119189886b0f3c2b81325d39efdb84a1e2ae93", + "sha256:9778bd8ab0a994ebf6f84c2b949e65736d5575320a17ae8984a77fab08db94cf", + "sha256:9e2d922824181480953426608b81967de705c3cef4d1af983af849d7bd619158", + "sha256:a123e330ef0853c6e822384873bef7507557d8e4a082961e1defa947aa59ba84", + "sha256:a904af0a6162c73e3edcb969eeeb53a63ceeb5d8cf642fade7d39e7963a22ddb", + "sha256:ad10d3ded218f1039f11a75f8091880239651b52e9bb592ca27de44eed242a48", + "sha256:b424c77b206d63d500bcb69fa55ed8d0e6a3774056bdc4839fc9298a7edca171", + "sha256:b5a6b3ada725cea8a5e634536b1b01c30bcdcd7f9c6fff4151548d5bf6b3a36c", + "sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6", + "sha256:ba9527cdd4c926ed0760bc301f6728ef34d841f405abf9d4f959c478421e4efd", + "sha256:bbcb445fa71794da8f178f0f6d66789a28d7319071af7a496d4d507ed566270d", + "sha256:bcf3e58998965654fdaff38e58584d8937aa3096ab5354d493c77d1fdd66d7a1", + "sha256:c0ef13eaeee5b615fb07c9a7dadb38eac06a0608b41570d8ade51c56539e509d", + "sha256:cabc348d87e913db6ab4aa100f01b08f481097838bdddf7c7a84b7575b7309ca", + "sha256:cdb82a876c47801bb54a690c5ae105a46b392ac6099881cdfb9f6e95e4014c6a", + "sha256:cfad01eed2c2e0c01fd0ecd2ef42c492f7f93902e39a42fc9ee1692961443a29", + "sha256:d16a81a06776313e817c951135cf7340a3e91e8c1ff2fac444cfd75fffa04afe", + "sha256:d8213e09c917a951de9d09ecee036d5c7d36cb6cb7dbaece4c71a60d79fb9798", + "sha256:e07c3764494e3776c602c1e78e298937c3315ccc9043ead7e685b7f2b8d47b3c", + "sha256:e17c96c14e19278594aa4841ec148115f9c7615a47382ecb6b82bd8fea3ab0c8", + "sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f", + "sha256:e6a2a455bd412959b57a172ce6328d2dd1f01cb2135efda2e4576e8a23fa3b0f", + "sha256:eaa0a10b7f72326f1372a713e73c3f739b524b3af41feb43e4921cb529f5929a", + "sha256:eb7972a85c54febfb25b5c4b4f3af4dcc731994c7da0d8a0b4a6eb0640e1d178", + "sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0", + "sha256:f3818cb119498c0678015754eba762e0d61e5b52d34c8b13d770f0719f7b1d79", + "sha256:f8b3d067f2e40fe93e1ccdd6b2e1d16c43140e76f02fb1319a05cf2b79d99430", + "sha256:fcabf5ff6eea076f859677f5f0b6b5c1a51e70a376b0579e0eadef8db48c6b50" + ], + "markers": "python_version >= '3.9'", + "version": "==3.0.2" }, "mock": { "hashes": [ @@ -460,11 +466,11 @@ }, "packaging": { "hashes": [ - "sha256:026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002", - "sha256:5b8f2217dbdbd2f7f384c41c628544e6d52f2d0f53c6d0c3ea61aa5d1d7ff124" + "sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759", + "sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f" ], "markers": "python_version >= '3.8'", - "version": "==24.1" + "version": "==24.2" }, "pluggy": { "hashes": [ @@ -513,7 +519,7 @@ "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2'", + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", "version": "==2.9.0.post0" }, "pyyaml": { @@ -593,18 +599,18 @@ }, "s3transfer": { "hashes": [ - "sha256:0711534e9356d3cc692fdde846b4a1e4b0cb6519971860796e6bc4c7aea00ef6", - "sha256:eca1c20de70a39daee580aef4986996620f365c4e0fda6a86100231d62f1bf69" + "sha256:263ed587a5803c6c708d3ce44dc4dfedaab4c1a32e8329bab818933d79ddcf5d", + "sha256:4f50ed74ab84d474ce614475e0b8d5047ff080810aac5d01ea25231cfc944b0c" ], "markers": "python_version >= '3.8'", - "version": "==0.10.2" + "version": "==0.10.3" }, "six": { "hashes": [ "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926", "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2'", + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", "version": "==1.16.0" }, "urllib3": { @@ -617,19 +623,19 @@ }, "werkzeug": { "hashes": [ - "sha256:02c9eb92b7d6c06f31a782811505d2157837cea66aaede3e217c7c27c039476c", - "sha256:34f2371506b250df4d4f84bfe7b0921e4762525762bbd936614909fe25cd7306" + "sha256:54b78bf3716d19a65be4fceccc0d1d7b89e608834989dfae50ea87564639213e", + "sha256:60723ce945c19328679790e3282cc758aa4a6040e4bb330f53d30fa546d44746" ], - "markers": "python_version >= '3.8'", - "version": "==3.0.4" + "markers": "python_version >= '3.9'", + "version": "==3.1.3" }, "xmltodict": { "hashes": [ - "sha256:341595a488e3e01a85a9d8911d8912fd922ede5fecc4dce437eb4b6c8d037e56", - "sha256:aa89e8fd76320154a40d19a0df04a4695fb9dc5ba977cbb68ab3e4eb225e7852" + "sha256:201e7c28bb210e374999d1dde6382923ab0ed1a8a5faeece48ab525b7810a553", + "sha256:20cc7d723ed729276e808f26fb6b3599f786cbc37e06c65e192ba77c40f20aac" ], - "markers": "python_version >= '3.4'", - "version": "==0.13.0" + "markers": "python_version >= '3.6'", + "version": "==0.14.2" } } } diff --git a/source/backend/functions/cost-parser/package-lock.json b/source/backend/functions/cost-parser/package-lock.json index 57108bd7..0e688660 100644 --- a/source/backend/functions/cost-parser/package-lock.json +++ b/source/backend/functions/cost-parser/package-lock.json @@ -1,17 +1,20 @@ { "name": "wd-cost", - "version": "2.1.15", + "version": "2.2.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "wd-cost", - "version": "2.1.15", + "version": "2.2.0", "license": "Apache-2.0", "dependencies": { + "@aws-lambda-powertools/logger": "2.10.0", + "@aws-sdk/client-athena": "3.621.0", + "@aws-sdk/client-ec2": "3.621.0", + "@aws-sdk/client-s3": "3.621.0", "add": "2.0.6", - "athena-express": "7.1.5", - "aws-sdk": "2.1513.0", + "athena-express-plus": "^8.1.0", "csv-parse": "5.5.2", "dayjs": "1.11.5", "ramda": "0.28.0" @@ -48,6 +51,1055 @@ "node": ">=6.0.0" } }, + "node_modules/@aws-crypto/crc32": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-5.2.0.tgz", + "integrity": "sha512-nLbCWqQNgUiwwtFsen1AdzAtvuLRsQS8rYgMuxCrdKf9kOssamGLuPwyTY9wyYblNr9+1XM8v6zoDTPPSIeANg==", + "dependencies": { + "@aws-crypto/util": "^5.2.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-crypto/crc32c": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/crc32c/-/crc32c-5.2.0.tgz", + "integrity": "sha512-+iWb8qaHLYKrNvGRbiYRHSdKRWhto5XlZUEBwDjYNf+ly5SVYG6zEoYIdxvf5R3zyeP16w4PLBn3rH1xc74Rag==", + "dependencies": { + "@aws-crypto/util": "^5.2.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@aws-crypto/sha1-browser": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha1-browser/-/sha1-browser-5.2.0.tgz", + "integrity": "sha512-OH6lveCFfcDjX4dbAvCFSYUjJZjDr/3XJ3xHtjn3Oj5b9RjojQo8npoLeA/bNwkOkrSQ0wgrHzXk4tDRxGKJeg==", + "dependencies": { + "@aws-crypto/supports-web-crypto": "^5.2.0", + "@aws-crypto/util": "^5.2.0", + "@aws-sdk/types": "^3.222.0", + "@aws-sdk/util-locate-window": "^3.0.0", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@aws-crypto/sha1-browser/node_modules/@smithy/is-array-buffer": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz", + "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-crypto/sha1-browser/node_modules/@smithy/util-buffer-from": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz", + "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==", + "dependencies": { + "@smithy/is-array-buffer": "^2.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-crypto/sha1-browser/node_modules/@smithy/util-utf8": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz", + "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==", + "dependencies": { + "@smithy/util-buffer-from": "^2.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-crypto/sha256-browser": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-5.2.0.tgz", + "integrity": "sha512-AXfN/lGotSQwu6HNcEsIASo7kWXZ5HYWvfOmSNKDsEqC4OashTp8alTmaz+F7TC2L083SFv5RdB+qU3Vs1kZqw==", + "dependencies": { + "@aws-crypto/sha256-js": "^5.2.0", + "@aws-crypto/supports-web-crypto": "^5.2.0", + "@aws-crypto/util": "^5.2.0", + "@aws-sdk/types": "^3.222.0", + "@aws-sdk/util-locate-window": "^3.0.0", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/is-array-buffer": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz", + "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/util-buffer-from": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz", + "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==", + "dependencies": { + "@smithy/is-array-buffer": "^2.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/util-utf8": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz", + "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==", + "dependencies": { + "@smithy/util-buffer-from": "^2.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-crypto/sha256-js": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-5.2.0.tgz", + "integrity": "sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA==", + "dependencies": { + "@aws-crypto/util": "^5.2.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-crypto/supports-web-crypto": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-5.2.0.tgz", + "integrity": "sha512-iAvUotm021kM33eCdNfwIN//F77/IADDSs58i+MDaOqFrVjZo9bAal0NK7HurRuWLLpF1iLX7gbWrjHjeo+YFg==", + "dependencies": { + "tslib": "^2.6.2" + } + }, + "node_modules/@aws-crypto/util": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-5.2.0.tgz", + "integrity": "sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==", + "dependencies": { + "@aws-sdk/types": "^3.222.0", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@aws-crypto/util/node_modules/@smithy/is-array-buffer": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz", + "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-crypto/util/node_modules/@smithy/util-buffer-from": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz", + "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==", + "dependencies": { + "@smithy/is-array-buffer": "^2.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-crypto/util/node_modules/@smithy/util-utf8": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz", + "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==", + "dependencies": { + "@smithy/util-buffer-from": "^2.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-lambda-powertools/commons": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@aws-lambda-powertools/commons/-/commons-2.10.0.tgz", + "integrity": "sha512-XHC0FW/k33JWc2SZ9pbOJQPzNCMoRGnRuX/Cx1CYXRvRnaLYkPNRPrPYvGWy1OInAS3GSK6zxP1Asx0k4uaqSw==", + "license": "MIT-0" + }, + "node_modules/@aws-lambda-powertools/logger": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@aws-lambda-powertools/logger/-/logger-2.10.0.tgz", + "integrity": "sha512-QsVnoCBf6gKneGmSrIj1nxf34jWWOyDu4PO3I+VwkaH60lph2dIVcF1pP1zZagxUoYt9WWiddHcGQ7ORo0z5iw==", + "license": "MIT-0", + "dependencies": { + "@aws-lambda-powertools/commons": "^2.10.0", + "lodash.merge": "^4.6.2" + }, + "peerDependencies": { + "@middy/core": "4.x || 5.x" + }, + "peerDependenciesMeta": { + "@middy/core": { + "optional": true + } + } + }, + "node_modules/@aws-sdk/client-athena": { + "version": "3.621.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-athena/-/client-athena-3.621.0.tgz", + "integrity": "sha512-qeCd18pR/7LbvflIbWevnvvEaW3TNf+NiOrna58Yb4jyxduG+Gm9nH1tvICYwe2+fU/DzlgTVGum2IZkQGBQCw==", + "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/client-sso-oidc": "3.621.0", + "@aws-sdk/client-sts": "3.621.0", + "@aws-sdk/core": "3.621.0", + "@aws-sdk/credential-provider-node": "3.621.0", + "@aws-sdk/middleware-host-header": "3.620.0", + "@aws-sdk/middleware-logger": "3.609.0", + "@aws-sdk/middleware-recursion-detection": "3.620.0", + "@aws-sdk/middleware-user-agent": "3.620.0", + "@aws-sdk/region-config-resolver": "3.614.0", + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.614.0", + "@aws-sdk/util-user-agent-browser": "3.609.0", + "@aws-sdk/util-user-agent-node": "3.614.0", + "@smithy/config-resolver": "^3.0.5", + "@smithy/core": "^2.3.1", + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/hash-node": "^3.0.3", + "@smithy/invalid-dependency": "^3.0.3", + "@smithy/middleware-content-length": "^3.0.5", + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-retry": "^3.0.13", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.1.11", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.13", + "@smithy/util-defaults-mode-node": "^3.0.13", + "@smithy/util-endpoints": "^2.0.5", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2", + "uuid": "^9.0.1" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/client-athena/node_modules/uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/@aws-sdk/client-ec2": { + "version": "3.621.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-ec2/-/client-ec2-3.621.0.tgz", + "integrity": "sha512-6gMfJL0LgoY0PE3Sw56JHA5qcP2Z+Xz+TPTuDmdOPwFyZI6A1hsf7XBeb9Ye8QRmBxoiflChaiBn7obANAj5tw==", + "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/client-sso-oidc": "3.621.0", + "@aws-sdk/client-sts": "3.621.0", + "@aws-sdk/core": "3.621.0", + "@aws-sdk/credential-provider-node": "3.621.0", + "@aws-sdk/middleware-host-header": "3.620.0", + "@aws-sdk/middleware-logger": "3.609.0", + "@aws-sdk/middleware-recursion-detection": "3.620.0", + "@aws-sdk/middleware-sdk-ec2": "3.621.0", + "@aws-sdk/middleware-user-agent": "3.620.0", + "@aws-sdk/region-config-resolver": "3.614.0", + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.614.0", + "@aws-sdk/util-user-agent-browser": "3.609.0", + "@aws-sdk/util-user-agent-node": "3.614.0", + "@smithy/config-resolver": "^3.0.5", + "@smithy/core": "^2.3.1", + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/hash-node": "^3.0.3", + "@smithy/invalid-dependency": "^3.0.3", + "@smithy/middleware-content-length": "^3.0.5", + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-retry": "^3.0.13", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.1.11", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.13", + "@smithy/util-defaults-mode-node": "^3.0.13", + "@smithy/util-endpoints": "^2.0.5", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "@smithy/util-utf8": "^3.0.0", + "@smithy/util-waiter": "^3.1.2", + "tslib": "^2.6.2", + "uuid": "^9.0.1" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/client-ec2/node_modules/uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/@aws-sdk/client-s3": { + "version": "3.621.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.621.0.tgz", + "integrity": "sha512-YhGkd2HQTM4HCYJIAVWvfbUMpOF7XUr1W/e2LN3CFP0WTF4zcCJKesJ2iNHrExqC0Ek1+qarMxiXBK95itfjYQ==", + "dependencies": { + "@aws-crypto/sha1-browser": "5.2.0", + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/client-sso-oidc": "3.621.0", + "@aws-sdk/client-sts": "3.621.0", + "@aws-sdk/core": "3.621.0", + "@aws-sdk/credential-provider-node": "3.621.0", + "@aws-sdk/middleware-bucket-endpoint": "3.620.0", + "@aws-sdk/middleware-expect-continue": "3.620.0", + "@aws-sdk/middleware-flexible-checksums": "3.620.0", + "@aws-sdk/middleware-host-header": "3.620.0", + "@aws-sdk/middleware-location-constraint": "3.609.0", + "@aws-sdk/middleware-logger": "3.609.0", + "@aws-sdk/middleware-recursion-detection": "3.620.0", + "@aws-sdk/middleware-sdk-s3": "3.621.0", + "@aws-sdk/middleware-signing": "3.620.0", + "@aws-sdk/middleware-ssec": "3.609.0", + "@aws-sdk/middleware-user-agent": "3.620.0", + "@aws-sdk/region-config-resolver": "3.614.0", + "@aws-sdk/signature-v4-multi-region": "3.621.0", + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.614.0", + "@aws-sdk/util-user-agent-browser": "3.609.0", + "@aws-sdk/util-user-agent-node": "3.614.0", + "@aws-sdk/xml-builder": "3.609.0", + "@smithy/config-resolver": "^3.0.5", + "@smithy/core": "^2.3.1", + "@smithy/eventstream-serde-browser": "^3.0.5", + "@smithy/eventstream-serde-config-resolver": "^3.0.3", + "@smithy/eventstream-serde-node": "^3.0.4", + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/hash-blob-browser": "^3.1.2", + "@smithy/hash-node": "^3.0.3", + "@smithy/hash-stream-node": "^3.1.2", + "@smithy/invalid-dependency": "^3.0.3", + "@smithy/md5-js": "^3.0.3", + "@smithy/middleware-content-length": "^3.0.5", + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-retry": "^3.0.13", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.1.11", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.13", + "@smithy/util-defaults-mode-node": "^3.0.13", + "@smithy/util-endpoints": "^2.0.5", + "@smithy/util-retry": "^3.0.3", + "@smithy/util-stream": "^3.1.3", + "@smithy/util-utf8": "^3.0.0", + "@smithy/util-waiter": "^3.1.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/client-sso": { + "version": "3.621.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.621.0.tgz", + "integrity": "sha512-xpKfikN4u0BaUYZA9FGUMkkDmfoIP0Q03+A86WjqDWhcOoqNA1DkHsE4kZ+r064ifkPUfcNuUvlkVTEoBZoFjA==", + "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "3.621.0", + "@aws-sdk/middleware-host-header": "3.620.0", + "@aws-sdk/middleware-logger": "3.609.0", + "@aws-sdk/middleware-recursion-detection": "3.620.0", + "@aws-sdk/middleware-user-agent": "3.620.0", + "@aws-sdk/region-config-resolver": "3.614.0", + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.614.0", + "@aws-sdk/util-user-agent-browser": "3.609.0", + "@aws-sdk/util-user-agent-node": "3.614.0", + "@smithy/config-resolver": "^3.0.5", + "@smithy/core": "^2.3.1", + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/hash-node": "^3.0.3", + "@smithy/invalid-dependency": "^3.0.3", + "@smithy/middleware-content-length": "^3.0.5", + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-retry": "^3.0.13", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.1.11", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.13", + "@smithy/util-defaults-mode-node": "^3.0.13", + "@smithy/util-endpoints": "^2.0.5", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/client-sso-oidc": { + "version": "3.621.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.621.0.tgz", + "integrity": "sha512-mMjk3mFUwV2Y68POf1BQMTF+F6qxt5tPu6daEUCNGC9Cenk3h2YXQQoS4/eSyYzuBiYk3vx49VgleRvdvkg8rg==", + "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "3.621.0", + "@aws-sdk/credential-provider-node": "3.621.0", + "@aws-sdk/middleware-host-header": "3.620.0", + "@aws-sdk/middleware-logger": "3.609.0", + "@aws-sdk/middleware-recursion-detection": "3.620.0", + "@aws-sdk/middleware-user-agent": "3.620.0", + "@aws-sdk/region-config-resolver": "3.614.0", + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.614.0", + "@aws-sdk/util-user-agent-browser": "3.609.0", + "@aws-sdk/util-user-agent-node": "3.614.0", + "@smithy/config-resolver": "^3.0.5", + "@smithy/core": "^2.3.1", + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/hash-node": "^3.0.3", + "@smithy/invalid-dependency": "^3.0.3", + "@smithy/middleware-content-length": "^3.0.5", + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-retry": "^3.0.13", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.1.11", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.13", + "@smithy/util-defaults-mode-node": "^3.0.13", + "@smithy/util-endpoints": "^2.0.5", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "@aws-sdk/client-sts": "^3.621.0" + } + }, + "node_modules/@aws-sdk/client-sts": { + "version": "3.621.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.621.0.tgz", + "integrity": "sha512-707uiuReSt+nAx6d0c21xLjLm2lxeKc7padxjv92CIrIocnQSlJPxSCM7r5zBhwiahJA6MNQwmTl2xznU67KgA==", + "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/client-sso-oidc": "3.621.0", + "@aws-sdk/core": "3.621.0", + "@aws-sdk/credential-provider-node": "3.621.0", + "@aws-sdk/middleware-host-header": "3.620.0", + "@aws-sdk/middleware-logger": "3.609.0", + "@aws-sdk/middleware-recursion-detection": "3.620.0", + "@aws-sdk/middleware-user-agent": "3.620.0", + "@aws-sdk/region-config-resolver": "3.614.0", + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.614.0", + "@aws-sdk/util-user-agent-browser": "3.609.0", + "@aws-sdk/util-user-agent-node": "3.614.0", + "@smithy/config-resolver": "^3.0.5", + "@smithy/core": "^2.3.1", + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/hash-node": "^3.0.3", + "@smithy/invalid-dependency": "^3.0.3", + "@smithy/middleware-content-length": "^3.0.5", + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-retry": "^3.0.13", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.1.11", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.13", + "@smithy/util-defaults-mode-node": "^3.0.13", + "@smithy/util-endpoints": "^2.0.5", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/core": { + "version": "3.621.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.621.0.tgz", + "integrity": "sha512-CtOwWmDdEiINkGXD93iGfXjN0WmCp9l45cDWHHGa8lRgEDyhuL7bwd/pH5aSzj0j8SiQBG2k0S7DHbd5RaqvbQ==", + "dependencies": { + "@smithy/core": "^2.3.1", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/signature-v4": "^4.1.0", + "@smithy/smithy-client": "^3.1.11", + "@smithy/types": "^3.3.0", + "@smithy/util-middleware": "^3.0.3", + "fast-xml-parser": "4.4.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-env": { + "version": "3.620.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.620.1.tgz", + "integrity": "sha512-ExuILJ2qLW5ZO+rgkNRj0xiAipKT16Rk77buvPP8csR7kkCflT/gXTyzRe/uzIiETTxM7tr8xuO9MP/DQXqkfg==", + "dependencies": { + "@aws-sdk/types": "3.609.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-http": { + "version": "3.621.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.621.0.tgz", + "integrity": "sha512-/jc2tEsdkT1QQAI5Dvoci50DbSxtJrevemwFsm0B73pwCcOQZ5ZwwSdVqGsPutzYzUVx3bcXg3LRL7jLACqRIg==", + "dependencies": { + "@aws-sdk/types": "3.609.0", + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/property-provider": "^3.1.3", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.1.11", + "@smithy/types": "^3.3.0", + "@smithy/util-stream": "^3.1.3", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-ini": { + "version": "3.621.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.621.0.tgz", + "integrity": "sha512-0EWVnSc+JQn5HLnF5Xv405M8n4zfdx9gyGdpnCmAmFqEDHA8LmBdxJdpUk1Ovp/I5oPANhjojxabIW5f1uU0RA==", + "dependencies": { + "@aws-sdk/credential-provider-env": "3.620.1", + "@aws-sdk/credential-provider-http": "3.621.0", + "@aws-sdk/credential-provider-process": "3.620.1", + "@aws-sdk/credential-provider-sso": "3.621.0", + "@aws-sdk/credential-provider-web-identity": "3.621.0", + "@aws-sdk/types": "3.609.0", + "@smithy/credential-provider-imds": "^3.2.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "@aws-sdk/client-sts": "^3.621.0" + } + }, + "node_modules/@aws-sdk/credential-provider-node": { + "version": "3.621.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.621.0.tgz", + "integrity": "sha512-4JqpccUgz5Snanpt2+53hbOBbJQrSFq7E1sAAbgY6BKVQUsW5qyXqnjvSF32kDeKa5JpBl3bBWLZl04IadcPHw==", + "dependencies": { + "@aws-sdk/credential-provider-env": "3.620.1", + "@aws-sdk/credential-provider-http": "3.621.0", + "@aws-sdk/credential-provider-ini": "3.621.0", + "@aws-sdk/credential-provider-process": "3.620.1", + "@aws-sdk/credential-provider-sso": "3.621.0", + "@aws-sdk/credential-provider-web-identity": "3.621.0", + "@aws-sdk/types": "3.609.0", + "@smithy/credential-provider-imds": "^3.2.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-process": { + "version": "3.620.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.620.1.tgz", + "integrity": "sha512-hWqFMidqLAkaV9G460+1at6qa9vySbjQKKc04p59OT7lZ5cO5VH5S4aI05e+m4j364MBROjjk2ugNvfNf/8ILg==", + "dependencies": { + "@aws-sdk/types": "3.609.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-sso": { + "version": "3.621.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.621.0.tgz", + "integrity": "sha512-Kza0jcFeA/GEL6xJlzR2KFf1PfZKMFnxfGzJzl5yN7EjoGdMijl34KaRyVnfRjnCWcsUpBWKNIDk9WZVMY9yiw==", + "dependencies": { + "@aws-sdk/client-sso": "3.621.0", + "@aws-sdk/token-providers": "3.614.0", + "@aws-sdk/types": "3.609.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-web-identity": { + "version": "3.621.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.621.0.tgz", + "integrity": "sha512-w7ASSyfNvcx7+bYGep3VBgC3K6vEdLmlpjT7nSIHxxQf+WSdvy+HynwJosrpZax0sK5q0D1Jpn/5q+r5lwwW6w==", + "dependencies": { + "@aws-sdk/types": "3.609.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "@aws-sdk/client-sts": "^3.621.0" + } + }, + "node_modules/@aws-sdk/middleware-bucket-endpoint": { + "version": "3.620.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.620.0.tgz", + "integrity": "sha512-eGLL0W6L3HDb3OACyetZYOWpHJ+gLo0TehQKeQyy2G8vTYXqNTeqYhuI6up9HVjBzU9eQiULVQETmgQs7TFaRg==", + "dependencies": { + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-arn-parser": "3.568.0", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "@smithy/util-config-provider": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/middleware-expect-continue": { + "version": "3.620.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.620.0.tgz", + "integrity": "sha512-QXeRFMLfyQ31nAHLbiTLtk0oHzG9QLMaof5jIfqcUwnOkO8YnQdeqzakrg1Alpy/VQ7aqzIi8qypkBe2KXZz0A==", + "dependencies": { + "@aws-sdk/types": "3.609.0", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/middleware-flexible-checksums": { + "version": "3.620.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.620.0.tgz", + "integrity": "sha512-ftz+NW7qka2sVuwnnO1IzBku5ccP+s5qZGeRTPgrKB7OzRW85gthvIo1vQR2w+OwHFk7WJbbhhWwbCbktnP4UA==", + "dependencies": { + "@aws-crypto/crc32": "5.2.0", + "@aws-crypto/crc32c": "5.2.0", + "@aws-sdk/types": "3.609.0", + "@smithy/is-array-buffer": "^3.0.0", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/middleware-host-header": { + "version": "3.620.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.620.0.tgz", + "integrity": "sha512-VMtPEZwqYrII/oUkffYsNWY9PZ9xpNJpMgmyU0rlDQ25O1c0Hk3fJmZRe6pEkAJ0omD7kLrqGl1DUjQVxpd/Rg==", + "dependencies": { + "@aws-sdk/types": "3.609.0", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/middleware-location-constraint": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.609.0.tgz", + "integrity": "sha512-xzsdoTkszGVqGVPjUmgoP7TORiByLueMHieI1fhQL888WPdqctwAx3ES6d/bA9Q/i8jnc6hs+Fjhy8UvBTkE9A==", + "dependencies": { + "@aws-sdk/types": "3.609.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/middleware-logger": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.609.0.tgz", + "integrity": "sha512-S62U2dy4jMDhDFDK5gZ4VxFdWzCtLzwbYyFZx2uvPYTECkepLUfzLic2BHg2Qvtu4QjX+oGE3P/7fwaGIsGNuQ==", + "dependencies": { + "@aws-sdk/types": "3.609.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/middleware-recursion-detection": { + "version": "3.620.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.620.0.tgz", + "integrity": "sha512-nh91S7aGK3e/o1ck64sA/CyoFw+gAYj2BDOnoNa6ouyCrVJED96ZXWbhye/fz9SgmNUZR2g7GdVpiLpMKZoI5w==", + "dependencies": { + "@aws-sdk/types": "3.609.0", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/middleware-sdk-ec2": { + "version": "3.621.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-ec2/-/middleware-sdk-ec2-3.621.0.tgz", + "integrity": "sha512-JL43dM6TZ922b6Z9jSt4bUoq9ZiTOwaw9F3Us0e6ZDcX6Su377+InUWtIqmtLfaTQhFo8FY6xmbpo0bPLMAxQA==", + "dependencies": { + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-format-url": "3.609.0", + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/protocol-http": "^4.1.0", + "@smithy/signature-v4": "^4.1.0", + "@smithy/smithy-client": "^3.1.11", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/middleware-sdk-s3": { + "version": "3.621.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.621.0.tgz", + "integrity": "sha512-CJrQrtKylcqvyPkRR16JmPZkHroCkWwLErQrg30ZcBPNNok8xbfX6cYqG16XDTnu4lSYzv2Yqc4w4oOBv8xerQ==", + "dependencies": { + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-arn-parser": "3.568.0", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/signature-v4": "^4.1.0", + "@smithy/smithy-client": "^3.1.11", + "@smithy/types": "^3.3.0", + "@smithy/util-config-provider": "^3.0.0", + "@smithy/util-stream": "^3.1.3", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/middleware-signing": { + "version": "3.620.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.620.0.tgz", + "integrity": "sha512-gxI7rubiaanUXaLfJ4NybERa9MGPNg2Ycl/OqANsozrBnR3Pw8vqy3EuVImQOyn2pJ2IFvl8ZPoSMHf4pX56FQ==", + "dependencies": { + "@aws-sdk/types": "3.609.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/protocol-http": "^4.1.0", + "@smithy/signature-v4": "^4.1.0", + "@smithy/types": "^3.3.0", + "@smithy/util-middleware": "^3.0.3", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/middleware-ssec": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.609.0.tgz", + "integrity": "sha512-GZSD1s7+JswWOTamVap79QiDaIV7byJFssBW68GYjyRS5EBjNfwA/8s+6uE6g39R3ojyTbYOmvcANoZEhSULXg==", + "dependencies": { + "@aws-sdk/types": "3.609.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/middleware-user-agent": { + "version": "3.620.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.620.0.tgz", + "integrity": "sha512-bvS6etn+KsuL32ubY5D3xNof1qkenpbJXf/ugGXbg0n98DvDFQ/F+SMLxHgbnER5dsKYchNnhmtI6/FC3HFu/A==", + "dependencies": { + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.614.0", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/region-config-resolver": { + "version": "3.614.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.614.0.tgz", + "integrity": "sha512-vDCeMXvic/LU0KFIUjpC3RiSTIkkvESsEfbVHiHH0YINfl8HnEqR5rj+L8+phsCeVg2+LmYwYxd5NRz4PHxt5g==", + "dependencies": { + "@aws-sdk/types": "3.609.0", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/types": "^3.3.0", + "@smithy/util-config-provider": "^3.0.0", + "@smithy/util-middleware": "^3.0.3", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/signature-v4-multi-region": { + "version": "3.621.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.621.0.tgz", + "integrity": "sha512-u+ulCaHFveqHaTxgiYrEAyfBVP6GRKjnmDut67CtjhjslshPWYpo/ndtlCW1zc0RDne3uUeK13Pqp7dp7p1d6g==", + "dependencies": { + "@aws-sdk/middleware-sdk-s3": "3.621.0", + "@aws-sdk/types": "3.609.0", + "@smithy/protocol-http": "^4.1.0", + "@smithy/signature-v4": "^4.1.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/token-providers": { + "version": "3.614.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.614.0.tgz", + "integrity": "sha512-okItqyY6L9IHdxqs+Z116y5/nda7rHxLvROxtAJdLavWTYDydxrZstImNgGWTeVdmc0xX2gJCI77UYUTQWnhRw==", + "dependencies": { + "@aws-sdk/types": "3.609.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "@aws-sdk/client-sso-oidc": "^3.614.0" + } + }, + "node_modules/@aws-sdk/types": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", + "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", + "dependencies": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/util-arn-parser": { + "version": "3.568.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.568.0.tgz", + "integrity": "sha512-XUKJWWo+KOB7fbnPP0+g/o5Ulku/X53t7i/h+sPHr5xxYTJJ9CYnbToo95mzxe7xWvkLrsNtJ8L+MnNn9INs2w==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/util-endpoints": { + "version": "3.614.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.614.0.tgz", + "integrity": "sha512-wK2cdrXHH4oz4IomV/yrGkftU9A+ITB6nFL+rxxyO78is2ifHJpFdV4aqk4LSkXYPi6CXWNru/Dqc7yiKXgJPw==", + "dependencies": { + "@aws-sdk/types": "3.609.0", + "@smithy/types": "^3.3.0", + "@smithy/util-endpoints": "^2.0.5", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/util-format-url": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-format-url/-/util-format-url-3.609.0.tgz", + "integrity": "sha512-fuk29BI/oLQlJ7pfm6iJ4gkEpHdavffAALZwXh9eaY1vQ0ip0aKfRTiNudPoJjyyahnz5yJ1HkmlcDitlzsOrQ==", + "dependencies": { + "@aws-sdk/types": "3.609.0", + "@smithy/querystring-builder": "^3.0.3", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/util-locate-window": { + "version": "3.568.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.568.0.tgz", + "integrity": "sha512-3nh4TINkXYr+H41QaPelCceEB2FXP3fxp93YZXB/kqJvX0U9j0N0Uk45gvsjmEPzG8XxkPEeLIfT2I1M7A6Lig==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/util-user-agent-browser": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.609.0.tgz", + "integrity": "sha512-fojPU+mNahzQ0YHYBsx0ZIhmMA96H+ZIZ665ObU9tl+SGdbLneVZVikGve+NmHTQwHzwkFsZYYnVKAkreJLAtA==", + "dependencies": { + "@aws-sdk/types": "3.609.0", + "@smithy/types": "^3.3.0", + "bowser": "^2.11.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@aws-sdk/util-user-agent-node": { + "version": "3.614.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.614.0.tgz", + "integrity": "sha512-15ElZT88peoHnq5TEoEtZwoXTXRxNrk60TZNdpl/TUBJ5oNJ9Dqb5Z4ryb8ofN6nm9aFf59GVAerFDz8iUoHBA==", + "dependencies": { + "@aws-sdk/types": "3.609.0", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "aws-crt": ">=1.0.0" + }, + "peerDependenciesMeta": { + "aws-crt": { + "optional": true + } + } + }, + "node_modules/@aws-sdk/xml-builder": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.609.0.tgz", + "integrity": "sha512-l9XxNcA4HX98rwCC2/KoiWcmEiRfZe4G+mYwDbCFT87JIMj6GBhLDkAzr/W8KAaA2IDr8Vc6J8fZPgVulxxfMA==", + "dependencies": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@babel/code-frame": { "version": "7.22.13", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", @@ -853,11 +1905,661 @@ "integrity": "sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ==", "dev": true }, - "node_modules/acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", - "dev": true, + "node_modules/@smithy/abort-controller": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-3.1.1.tgz", + "integrity": "sha512-MBJBiidoe+0cTFhyxT8g+9g7CeVccLM0IOKKUMCNQ1CNMJ/eIfoo0RTfVrXOONEI1UCN1W+zkiHSbzUNE9dZtQ==", + "dependencies": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/chunked-blob-reader": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/chunked-blob-reader/-/chunked-blob-reader-3.0.0.tgz", + "integrity": "sha512-sbnURCwjF0gSToGlsBiAmd1lRCmSn72nu9axfJu5lIx6RUEgHu6GwTMbqCdhQSi0Pumcm5vFxsi9XWXb2mTaoA==", + "dependencies": { + "tslib": "^2.6.2" + } + }, + "node_modules/@smithy/chunked-blob-reader-native": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/chunked-blob-reader-native/-/chunked-blob-reader-native-3.0.0.tgz", + "integrity": "sha512-VDkpCYW+peSuM4zJip5WDfqvg2Mo/e8yxOv3VF1m11y7B8KKMKVFtmZWDe36Fvk8rGuWrPZHHXZ7rR7uM5yWyg==", + "dependencies": { + "@smithy/util-base64": "^3.0.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@smithy/config-resolver": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-3.0.5.tgz", + "integrity": "sha512-SkW5LxfkSI1bUC74OtfBbdz+grQXYiPYolyu8VfpLIjEoN/sHVBlLeGXMQ1vX4ejkgfv6sxVbQJ32yF2cl1veA==", + "dependencies": { + "@smithy/node-config-provider": "^3.1.4", + "@smithy/types": "^3.3.0", + "@smithy/util-config-provider": "^3.0.0", + "@smithy/util-middleware": "^3.0.3", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/core": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@smithy/core/-/core-2.3.2.tgz", + "integrity": "sha512-in5wwt6chDBcUv1Lw1+QzZxN9fBffi+qOixfb65yK4sDuKG7zAUO9HAFqmVzsZM3N+3tTyvZjtnDXePpvp007Q==", + "dependencies": { + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-retry": "^3.0.14", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.1.12", + "@smithy/types": "^3.3.0", + "@smithy/util-middleware": "^3.0.3", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/credential-provider-imds": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-3.2.0.tgz", + "integrity": "sha512-0SCIzgd8LYZ9EJxUjLXBmEKSZR/P/w6l7Rz/pab9culE/RWuqelAKGJvn5qUOl8BgX8Yj5HWM50A5hiB/RzsgA==", + "dependencies": { + "@smithy/node-config-provider": "^3.1.4", + "@smithy/property-provider": "^3.1.3", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/eventstream-codec": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-3.1.2.tgz", + "integrity": "sha512-0mBcu49JWt4MXhrhRAlxASNy0IjDRFU+aWNDRal9OtUJvJNiwDuyKMUONSOjLjSCeGwZaE0wOErdqULer8r7yw==", + "dependencies": { + "@aws-crypto/crc32": "5.2.0", + "@smithy/types": "^3.3.0", + "@smithy/util-hex-encoding": "^3.0.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@smithy/eventstream-serde-browser": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-3.0.5.tgz", + "integrity": "sha512-dEyiUYL/ekDfk+2Ra4GxV+xNnFoCmk1nuIXg+fMChFTrM2uI/1r9AdiTYzPqgb72yIv/NtAj6C3dG//1wwgakQ==", + "dependencies": { + "@smithy/eventstream-serde-universal": "^3.0.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/eventstream-serde-config-resolver": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.0.3.tgz", + "integrity": "sha512-NVTYjOuYpGfrN/VbRQgn31x73KDLfCXCsFdad8DiIc3IcdxL+dYA9zEQPyOP7Fy2QL8CPy2WE4WCUD+ZsLNfaQ==", + "dependencies": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/eventstream-serde-node": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-node/-/eventstream-serde-node-3.0.4.tgz", + "integrity": "sha512-mjlG0OzGAYuUpdUpflfb9zyLrBGgmQmrobNT8b42ZTsGv/J03+t24uhhtVEKG/b2jFtPIHF74Bq+VUtbzEKOKg==", + "dependencies": { + "@smithy/eventstream-serde-universal": "^3.0.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/eventstream-serde-universal": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-3.0.4.tgz", + "integrity": "sha512-Od9dv8zh3PgOD7Vj4T3HSuox16n0VG8jJIM2gvKASL6aCtcS8CfHZDWe1Ik3ZXW6xBouU+45Q5wgoliWDZiJ0A==", + "dependencies": { + "@smithy/eventstream-codec": "^3.1.2", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/fetch-http-handler": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-3.2.4.tgz", + "integrity": "sha512-kBprh5Gs5h7ug4nBWZi1FZthdqSM+T7zMmsZxx0IBvWUn7dK3diz2SHn7Bs4dQGFDk8plDv375gzenDoNwrXjg==", + "dependencies": { + "@smithy/protocol-http": "^4.1.0", + "@smithy/querystring-builder": "^3.0.3", + "@smithy/types": "^3.3.0", + "@smithy/util-base64": "^3.0.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@smithy/hash-blob-browser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@smithy/hash-blob-browser/-/hash-blob-browser-3.1.2.tgz", + "integrity": "sha512-hAbfqN2UbISltakCC2TP0kx4LqXBttEv2MqSPE98gVuDFMf05lU+TpC41QtqGP3Ff5A3GwZMPfKnEy0VmEUpmg==", + "dependencies": { + "@smithy/chunked-blob-reader": "^3.0.0", + "@smithy/chunked-blob-reader-native": "^3.0.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@smithy/hash-node": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-3.0.3.tgz", + "integrity": "sha512-2ctBXpPMG+B3BtWSGNnKELJ7SH9e4TNefJS0cd2eSkOOROeBnnVBnAy9LtJ8tY4vUEoe55N4CNPxzbWvR39iBw==", + "dependencies": { + "@smithy/types": "^3.3.0", + "@smithy/util-buffer-from": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/hash-stream-node": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@smithy/hash-stream-node/-/hash-stream-node-3.1.2.tgz", + "integrity": "sha512-PBgDMeEdDzi6JxKwbfBtwQG9eT9cVwsf0dZzLXoJF4sHKHs5HEo/3lJWpn6jibfJwT34I1EBXpBnZE8AxAft6g==", + "dependencies": { + "@smithy/types": "^3.3.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/invalid-dependency": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-3.0.3.tgz", + "integrity": "sha512-ID1eL/zpDULmHJbflb864k72/SNOZCADRc9i7Exq3RUNJw6raWUSlFEQ+3PX3EYs++bTxZB2dE9mEHTQLv61tw==", + "dependencies": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@smithy/is-array-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/md5-js": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/md5-js/-/md5-js-3.0.3.tgz", + "integrity": "sha512-O/SAkGVwpWmelpj/8yDtsaVe6sINHLB1q8YE/+ZQbDxIw3SRLbTZuRaI10K12sVoENdnHqzPp5i3/H+BcZ3m3Q==", + "dependencies": { + "@smithy/types": "^3.3.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@smithy/middleware-content-length": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-3.0.5.tgz", + "integrity": "sha512-ILEzC2eyxx6ncej3zZSwMpB5RJ0zuqH7eMptxC4KN3f+v9bqT8ohssKbhNR78k/2tWW+KS5Spw+tbPF4Ejyqvw==", + "dependencies": { + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/middleware-endpoint": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-3.1.0.tgz", + "integrity": "sha512-5y5aiKCEwg9TDPB4yFE7H6tYvGFf1OJHNczeY10/EFF8Ir8jZbNntQJxMWNfeQjC1mxPsaQ6mR9cvQbf+0YeMw==", + "dependencies": { + "@smithy/middleware-serde": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-middleware": "^3.0.3", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/middleware-retry": { + "version": "3.0.14", + "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-3.0.14.tgz", + "integrity": "sha512-7ZaWZJOjUxa5hgmuMspyt8v/zVsh0GXYuF7OvCmdcbVa/xbnKQoYC+uYKunAqRGTkxjOyuOCw9rmFUFOqqC0eQ==", + "dependencies": { + "@smithy/node-config-provider": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/service-error-classification": "^3.0.3", + "@smithy/smithy-client": "^3.1.12", + "@smithy/types": "^3.3.0", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "tslib": "^2.6.2", + "uuid": "^9.0.1" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/middleware-retry/node_modules/uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/@smithy/middleware-serde": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-3.0.3.tgz", + "integrity": "sha512-puUbyJQBcg9eSErFXjKNiGILJGtiqmuuNKEYNYfUD57fUl4i9+mfmThtQhvFXU0hCVG0iEJhvQUipUf+/SsFdA==", + "dependencies": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/middleware-stack": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-3.0.3.tgz", + "integrity": "sha512-r4klY9nFudB0r9UdSMaGSyjyQK5adUyPnQN/ZM6M75phTxOdnc/AhpvGD1fQUvgmqjQEBGCwpnPbDm8pH5PapA==", + "dependencies": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/node-config-provider": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-3.1.4.tgz", + "integrity": "sha512-YvnElQy8HR4vDcAjoy7Xkx9YT8xZP4cBXcbJSgm/kxmiQu08DwUwj8rkGnyoJTpfl/3xYHH+d8zE+eHqoDCSdQ==", + "dependencies": { + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/node-http-handler": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-3.1.4.tgz", + "integrity": "sha512-+UmxgixgOr/yLsUxcEKGH0fMNVteJFGkmRltYFHnBMlogyFdpzn2CwqWmxOrfJELhV34v0WSlaqG1UtE1uXlJg==", + "dependencies": { + "@smithy/abort-controller": "^3.1.1", + "@smithy/protocol-http": "^4.1.0", + "@smithy/querystring-builder": "^3.0.3", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/property-provider": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-3.1.3.tgz", + "integrity": "sha512-zahyOVR9Q4PEoguJ/NrFP4O7SMAfYO1HLhB18M+q+Z4KFd4V2obiMnlVoUFzFLSPeVt1POyNWneHHrZaTMoc/g==", + "dependencies": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/protocol-http": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-4.1.0.tgz", + "integrity": "sha512-dPVoHYQ2wcHooGXg3LQisa1hH0e4y0pAddPMeeUPipI1tEOqL6A4N0/G7abeq+K8wrwSgjk4C0wnD1XZpJm5aA==", + "dependencies": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/querystring-builder": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-3.0.3.tgz", + "integrity": "sha512-vyWckeUeesFKzCDaRwWLUA1Xym9McaA6XpFfAK5qI9DKJ4M33ooQGqvM4J+LalH4u/Dq9nFiC8U6Qn1qi0+9zw==", + "dependencies": { + "@smithy/types": "^3.3.0", + "@smithy/util-uri-escape": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/querystring-parser": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-3.0.3.tgz", + "integrity": "sha512-zahM1lQv2YjmznnfQsWbYojFe55l0SLG/988brlLv1i8z3dubloLF+75ATRsqPBboUXsW6I9CPGE5rQgLfY0vQ==", + "dependencies": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/service-error-classification": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.3.tgz", + "integrity": "sha512-Jn39sSl8cim/VlkLsUhRFq/dKDnRUFlfRkvhOJaUbLBXUsLRLNf9WaxDv/z9BjuQ3A6k/qE8af1lsqcwm7+DaQ==", + "dependencies": { + "@smithy/types": "^3.3.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/shared-ini-file-loader": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.4.tgz", + "integrity": "sha512-qMxS4hBGB8FY2GQqshcRUy1K6k8aBWP5vwm8qKkCT3A9K2dawUwOIJfqh9Yste/Bl0J2lzosVyrXDj68kLcHXQ==", + "dependencies": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/signature-v4": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-4.1.0.tgz", + "integrity": "sha512-aRryp2XNZeRcOtuJoxjydO6QTaVhxx/vjaR+gx7ZjaFgrgPRyZ3HCTbfwqYj6ZWEBHkCSUfcaymKPURaByukag==", + "dependencies": { + "@smithy/is-array-buffer": "^3.0.0", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "@smithy/util-hex-encoding": "^3.0.0", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-uri-escape": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/smithy-client": { + "version": "3.1.12", + "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-3.1.12.tgz", + "integrity": "sha512-wtm8JtsycthkHy1YA4zjIh2thJgIQ9vGkoR639DBx5lLlLNU0v4GARpQZkr2WjXue74nZ7MiTSWfVrLkyD8RkA==", + "dependencies": { + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "@smithy/util-stream": "^3.1.3", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/url-parser": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-3.0.3.tgz", + "integrity": "sha512-pw3VtZtX2rg+s6HMs6/+u9+hu6oY6U7IohGhVNnjbgKy86wcIsSZwgHrFR+t67Uyxvp4Xz3p3kGXXIpTNisq8A==", + "dependencies": { + "@smithy/querystring-parser": "^3.0.3", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@smithy/util-base64": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-3.0.0.tgz", + "integrity": "sha512-Kxvoh5Qtt0CDsfajiZOCpJxgtPHXOKwmM+Zy4waD43UoEMA+qPxxa98aE/7ZhdnBFZFXMOiBR5xbcaMhLtznQQ==", + "dependencies": { + "@smithy/util-buffer-from": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-body-length-browser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-3.0.0.tgz", + "integrity": "sha512-cbjJs2A1mLYmqmyVl80uoLTJhAcfzMOyPgjwAYusWKMdLeNtzmMz9YxNl3/jRLoxSS3wkqkf0jwNdtXWtyEBaQ==", + "dependencies": { + "tslib": "^2.6.2" + } + }, + "node_modules/@smithy/util-body-length-node": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-3.0.0.tgz", + "integrity": "sha512-Tj7pZ4bUloNUP6PzwhN7K386tmSmEET9QtQg0TgdNOnxhZvCssHji+oZTUIuzxECRfG8rdm2PMw2WCFs6eIYkA==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-buffer-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", + "dependencies": { + "@smithy/is-array-buffer": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-config-provider": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-3.0.0.tgz", + "integrity": "sha512-pbjk4s0fwq3Di/ANL+rCvJMKM5bzAQdE5S/6RL5NXgMExFAi6UgQMPOm5yPaIWPpr+EOXKXRonJ3FoxKf4mCJQ==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-defaults-mode-browser": { + "version": "3.0.14", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-3.0.14.tgz", + "integrity": "sha512-0iwTgKKmAIf+vFLV8fji21Jb2px11ktKVxbX6LIDPAUJyWQqGqBVfwba7xwa1f2FZUoolYQgLvxQEpJycXuQ5w==", + "dependencies": { + "@smithy/property-provider": "^3.1.3", + "@smithy/smithy-client": "^3.1.12", + "@smithy/types": "^3.3.0", + "bowser": "^2.11.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@smithy/util-defaults-mode-node": { + "version": "3.0.14", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-3.0.14.tgz", + "integrity": "sha512-e9uQarJKfXApkTMMruIdxHprhcXivH1flYCe8JRDTzkkLx8dA3V5J8GZlST9yfDiRWkJpZJlUXGN9Rc9Ade3OQ==", + "dependencies": { + "@smithy/config-resolver": "^3.0.5", + "@smithy/credential-provider-imds": "^3.2.0", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/property-provider": "^3.1.3", + "@smithy/smithy-client": "^3.1.12", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@smithy/util-endpoints": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-2.0.5.tgz", + "integrity": "sha512-ReQP0BWihIE68OAblC/WQmDD40Gx+QY1Ez8mTdFMXpmjfxSyz2fVQu3A4zXRfQU9sZXtewk3GmhfOHswvX+eNg==", + "dependencies": { + "@smithy/node-config-provider": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-hex-encoding": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-3.0.0.tgz", + "integrity": "sha512-eFndh1WEK5YMUYvy3lPlVmYY/fZcQE1D8oSf41Id2vCeIkKJXPcYDCZD+4+xViI6b1XSd7tE+s5AmXzz5ilabQ==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-middleware": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-3.0.3.tgz", + "integrity": "sha512-l+StyYYK/eO3DlVPbU+4Bi06Jjal+PFLSMmlWM1BEwyLxZ3aKkf1ROnoIakfaA7mC6uw3ny7JBkau4Yc+5zfWw==", + "dependencies": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-retry": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-3.0.3.tgz", + "integrity": "sha512-AFw+hjpbtVApzpNDhbjNG5NA3kyoMs7vx0gsgmlJF4s+yz1Zlepde7J58zpIRIsdjc+emhpAITxA88qLkPF26w==", + "dependencies": { + "@smithy/service-error-classification": "^3.0.3", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-stream": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-3.1.3.tgz", + "integrity": "sha512-FIv/bRhIlAxC0U7xM1BCnF2aDRPq0UaelqBHkM2lsCp26mcBbgI0tCVTv+jGdsQLUmAMybua/bjDsSu8RQHbmw==", + "dependencies": { + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/types": "^3.3.0", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-buffer-from": "^3.0.0", + "@smithy/util-hex-encoding": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-uri-escape": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-3.0.0.tgz", + "integrity": "sha512-LqR7qYLgZTD7nWLBecUi4aqolw8Mhza9ArpNEQ881MJJIU2sE5iHCK6TdyqqzcDLy0OPe10IY4T8ctVdtynubg==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", + "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", + "dependencies": { + "@smithy/util-buffer-from": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-waiter": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@smithy/util-waiter/-/util-waiter-3.1.2.tgz", + "integrity": "sha512-4pP0EV3iTsexDx+8PPGAKCQpd/6hsQBaQhqWzU4hqKPHN5epPsxKbvUTIiYIHTxaKt6/kEaqPBpu/ufvfbrRzw==", + "dependencies": { + "@smithy/abort-controller": "^3.1.1", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/acorn": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "dev": true, "bin": { "acorn": "bin/acorn" }, @@ -987,78 +2689,22 @@ "node": "*" } }, - "node_modules/athena-express": { - "version": "7.1.5", - "resolved": "https://registry.npmjs.org/athena-express/-/athena-express-7.1.5.tgz", - "integrity": "sha512-YLCaKQWyLDUjyHNH939H0eTTP/FbgZutx8vn5qzMUiAaMrS2DWaClL9g27nPMIad9QcJYdF1HIA6KfAH0c5txg==", + "node_modules/athena-express-plus": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/athena-express-plus/-/athena-express-plus-8.1.0.tgz", + "integrity": "sha512-KljkMNbFTBQKURdwuQfE8pWYplFIvwynMi12fkMjjYb1jT4yZEytdZ40IiklwAGagPC61VO3nf0sVZsgKZ3vJA==", "dependencies": { + "@aws-sdk/client-athena": "^3.414.0", + "@aws-sdk/client-s3": "^3.414.0", "csvtojson": "^2.0.10" } }, - "node_modules/available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/aws-sdk": { - "version": "2.1513.0", - "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1513.0.tgz", - "integrity": "sha512-prgLj06P0Tiqlohz9mV916JZlZjnGhCftKNPOSZvTmKRyCUfbIIJnnBp/6HpkIe7ig7UGpWCXX72OPqVBrICpA==", - "dependencies": { - "buffer": "4.9.2", - "events": "1.1.1", - "ieee754": "1.1.13", - "jmespath": "0.16.0", - "querystring": "0.2.0", - "sax": "1.2.1", - "url": "0.10.3", - "util": "^0.12.4", - "uuid": "8.0.0", - "xml2js": "0.5.0" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/aws-sdk/node_modules/uuid": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.0.0.tgz", - "integrity": "sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw==", - "bin": { - "uuid": "dist/bin/uuid" - } - }, "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==", "dev": true }, - "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/binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", @@ -1073,6 +2719,11 @@ "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" }, + "node_modules/bowser": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", + "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==" + }, "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -1129,16 +2780,6 @@ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "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/caching-transform": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz", @@ -1154,19 +2795,6 @@ "node": ">=8" } }, - "node_modules/call-bind": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", - "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", - "dependencies": { - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.1", - "set-function-length": "^1.1.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", @@ -1344,10 +2972,11 @@ "dev": true }, "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, + "license": "MIT", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -1457,19 +3086,6 @@ "node": ">=8" } }, - "node_modules/define-data-property": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", - "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", - "dependencies": { - "get-intrinsic": "^1.2.1", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/diff": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", @@ -1735,14 +3351,6 @@ "node": ">=0.10.0" } }, - "node_modules/events": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", - "integrity": "sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw==", - "engines": { - "node": ">=0.4.x" - } - }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -1761,6 +3369,27 @@ "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", "dev": true }, + "node_modules/fast-xml-parser": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.4.1.tgz", + "integrity": "sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + }, + { + "type": "paypal", + "url": "https://paypal.me/naturalintelligence" + } + ], + "dependencies": { + "strnum": "^1.0.5" + }, + "bin": { + "fxparser": "src/cli/cli.js" + } + }, "node_modules/fastq": { "version": "1.15.0", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", @@ -1853,16 +3482,8 @@ "node_modules/flatted": { "version": "3.2.9", "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", - "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", - "dev": true - }, - "node_modules/for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "dependencies": { - "is-callable": "^1.1.3" - } + "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", + "dev": true }, "node_modules/foreground-child": { "version": "2.0.0", @@ -1917,14 +3538,6 @@ "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", @@ -1952,20 +3565,6 @@ "node": "*" } }, - "node_modules/get-intrinsic": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", - "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", - "dependencies": { - "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/get-package-type": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", @@ -2028,17 +3627,6 @@ "node": ">=4" } }, - "node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "dependencies": { - "get-intrinsic": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/graceful-fs": { "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", @@ -2060,53 +3648,6 @@ "node": ">=8" } }, - "node_modules/has-property-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", - "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", - "dependencies": { - "get-intrinsic": "^1.2.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/hasha": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz", @@ -2123,17 +3664,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/hasown": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", - "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/he": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", @@ -2149,11 +3679,6 @@ "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "dev": true }, - "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.4", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", @@ -2219,22 +3744,8 @@ "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/is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true }, "node_modules/is-binary-path": { "version": "2.1.0", @@ -2248,17 +3759,6 @@ "node": ">=8" } }, - "node_modules/is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -2277,20 +3777,6 @@ "node": ">=8" } }, - "node_modules/is-generator-function": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-glob": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", @@ -2342,20 +3828,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-typed-array": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", - "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", - "dependencies": { - "which-typed-array": "^1.1.11" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", @@ -2388,11 +3860,6 @@ "node": ">=0.10.0" } }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -2493,14 +3960,6 @@ "node": ">=8" } }, - "node_modules/jmespath": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.16.0.tgz", - "integrity": "sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==", - "engines": { - "node": ">= 0.6.0" - } - }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -2633,8 +4092,7 @@ "node_modules/lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" }, "node_modules/log-symbols": { "version": "4.1.0", @@ -3332,15 +4790,6 @@ "node": ">=6" } }, - "node_modules/querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==", - "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", @@ -3504,11 +4953,6 @@ } ] }, - "node_modules/sax": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz", - "integrity": "sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA==" - }, "node_modules/semver": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", @@ -3533,20 +4977,6 @@ "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", "dev": true }, - "node_modules/set-function-length": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", - "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", - "dependencies": { - "define-data-property": "^1.1.1", - "get-intrinsic": "^1.2.1", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -3682,6 +5112,11 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/strnum": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", + "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" + }, "node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -3747,6 +5182,11 @@ "node": ">=8.0" } }, + "node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -3825,32 +5265,6 @@ "punycode": "^2.1.0" } }, - "node_modules/url": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz", - "integrity": "sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ==", - "dependencies": { - "punycode": "1.3.2", - "querystring": "0.2.0" - } - }, - "node_modules/url/node_modules/punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==" - }, - "node_modules/util": { - "version": "0.12.5", - "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", - "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", - "dependencies": { - "inherits": "^2.0.3", - "is-arguments": "^1.0.4", - "is-generator-function": "^1.0.7", - "is-typed-array": "^1.1.3", - "which-typed-array": "^1.1.2" - } - }, "node_modules/uuid": { "version": "8.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", @@ -3881,24 +5295,6 @@ "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==", "dev": true }, - "node_modules/which-typed-array": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz", - "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==", - "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.4", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/workerpool": { "version": "6.2.1", "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", @@ -3940,26 +5336,6 @@ "typedarray-to-buffer": "^3.1.5" } }, - "node_modules/xml2js": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.5.0.tgz", - "integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==", - "dependencies": { - "sax": ">=0.6.0", - "xmlbuilder": "~11.0.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/xmlbuilder": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", - "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", - "engines": { - "node": ">=4.0" - } - }, "node_modules/y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", @@ -4041,34 +5417,908 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + }, + "dependencies": { + "@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true + }, + "@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@aws-crypto/crc32": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-5.2.0.tgz", + "integrity": "sha512-nLbCWqQNgUiwwtFsen1AdzAtvuLRsQS8rYgMuxCrdKf9kOssamGLuPwyTY9wyYblNr9+1XM8v6zoDTPPSIeANg==", + "requires": { + "@aws-crypto/util": "^5.2.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^2.6.2" + } + }, + "@aws-crypto/crc32c": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/crc32c/-/crc32c-5.2.0.tgz", + "integrity": "sha512-+iWb8qaHLYKrNvGRbiYRHSdKRWhto5XlZUEBwDjYNf+ly5SVYG6zEoYIdxvf5R3zyeP16w4PLBn3rH1xc74Rag==", + "requires": { + "@aws-crypto/util": "^5.2.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^2.6.2" + } + }, + "@aws-crypto/sha1-browser": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha1-browser/-/sha1-browser-5.2.0.tgz", + "integrity": "sha512-OH6lveCFfcDjX4dbAvCFSYUjJZjDr/3XJ3xHtjn3Oj5b9RjojQo8npoLeA/bNwkOkrSQ0wgrHzXk4tDRxGKJeg==", + "requires": { + "@aws-crypto/supports-web-crypto": "^5.2.0", + "@aws-crypto/util": "^5.2.0", + "@aws-sdk/types": "^3.222.0", + "@aws-sdk/util-locate-window": "^3.0.0", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.6.2" + }, + "dependencies": { + "@smithy/is-array-buffer": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz", + "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==", + "requires": { + "tslib": "^2.6.2" + } + }, + "@smithy/util-buffer-from": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz", + "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==", + "requires": { + "@smithy/is-array-buffer": "^2.2.0", + "tslib": "^2.6.2" + } + }, + "@smithy/util-utf8": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz", + "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==", + "requires": { + "@smithy/util-buffer-from": "^2.2.0", + "tslib": "^2.6.2" + } + } + } + }, + "@aws-crypto/sha256-browser": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-5.2.0.tgz", + "integrity": "sha512-AXfN/lGotSQwu6HNcEsIASo7kWXZ5HYWvfOmSNKDsEqC4OashTp8alTmaz+F7TC2L083SFv5RdB+qU3Vs1kZqw==", + "requires": { + "@aws-crypto/sha256-js": "^5.2.0", + "@aws-crypto/supports-web-crypto": "^5.2.0", + "@aws-crypto/util": "^5.2.0", + "@aws-sdk/types": "^3.222.0", + "@aws-sdk/util-locate-window": "^3.0.0", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.6.2" + }, + "dependencies": { + "@smithy/is-array-buffer": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz", + "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==", + "requires": { + "tslib": "^2.6.2" + } + }, + "@smithy/util-buffer-from": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz", + "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==", + "requires": { + "@smithy/is-array-buffer": "^2.2.0", + "tslib": "^2.6.2" + } + }, + "@smithy/util-utf8": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz", + "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==", + "requires": { + "@smithy/util-buffer-from": "^2.2.0", + "tslib": "^2.6.2" + } + } + } + }, + "@aws-crypto/sha256-js": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-5.2.0.tgz", + "integrity": "sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA==", + "requires": { + "@aws-crypto/util": "^5.2.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^2.6.2" + } + }, + "@aws-crypto/supports-web-crypto": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-5.2.0.tgz", + "integrity": "sha512-iAvUotm021kM33eCdNfwIN//F77/IADDSs58i+MDaOqFrVjZo9bAal0NK7HurRuWLLpF1iLX7gbWrjHjeo+YFg==", + "requires": { + "tslib": "^2.6.2" + } + }, + "@aws-crypto/util": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-5.2.0.tgz", + "integrity": "sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==", + "requires": { + "@aws-sdk/types": "^3.222.0", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.6.2" + }, + "dependencies": { + "@smithy/is-array-buffer": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz", + "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==", + "requires": { + "tslib": "^2.6.2" + } + }, + "@smithy/util-buffer-from": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz", + "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==", + "requires": { + "@smithy/is-array-buffer": "^2.2.0", + "tslib": "^2.6.2" + } + }, + "@smithy/util-utf8": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz", + "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==", + "requires": { + "@smithy/util-buffer-from": "^2.2.0", + "tslib": "^2.6.2" + } + } + } + }, + "@aws-lambda-powertools/commons": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@aws-lambda-powertools/commons/-/commons-2.10.0.tgz", + "integrity": "sha512-XHC0FW/k33JWc2SZ9pbOJQPzNCMoRGnRuX/Cx1CYXRvRnaLYkPNRPrPYvGWy1OInAS3GSK6zxP1Asx0k4uaqSw==" + }, + "@aws-lambda-powertools/logger": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@aws-lambda-powertools/logger/-/logger-2.10.0.tgz", + "integrity": "sha512-QsVnoCBf6gKneGmSrIj1nxf34jWWOyDu4PO3I+VwkaH60lph2dIVcF1pP1zZagxUoYt9WWiddHcGQ7ORo0z5iw==", + "requires": { + "@aws-lambda-powertools/commons": "^2.10.0", + "lodash.merge": "^4.6.2" + } + }, + "@aws-sdk/client-athena": { + "version": "3.621.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-athena/-/client-athena-3.621.0.tgz", + "integrity": "sha512-qeCd18pR/7LbvflIbWevnvvEaW3TNf+NiOrna58Yb4jyxduG+Gm9nH1tvICYwe2+fU/DzlgTVGum2IZkQGBQCw==", + "requires": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/client-sso-oidc": "3.621.0", + "@aws-sdk/client-sts": "3.621.0", + "@aws-sdk/core": "3.621.0", + "@aws-sdk/credential-provider-node": "3.621.0", + "@aws-sdk/middleware-host-header": "3.620.0", + "@aws-sdk/middleware-logger": "3.609.0", + "@aws-sdk/middleware-recursion-detection": "3.620.0", + "@aws-sdk/middleware-user-agent": "3.620.0", + "@aws-sdk/region-config-resolver": "3.614.0", + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.614.0", + "@aws-sdk/util-user-agent-browser": "3.609.0", + "@aws-sdk/util-user-agent-node": "3.614.0", + "@smithy/config-resolver": "^3.0.5", + "@smithy/core": "^2.3.1", + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/hash-node": "^3.0.3", + "@smithy/invalid-dependency": "^3.0.3", + "@smithy/middleware-content-length": "^3.0.5", + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-retry": "^3.0.13", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.1.11", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.13", + "@smithy/util-defaults-mode-node": "^3.0.13", + "@smithy/util-endpoints": "^2.0.5", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2", + "uuid": "^9.0.1" + }, + "dependencies": { + "uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==" + } + } + }, + "@aws-sdk/client-ec2": { + "version": "3.621.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-ec2/-/client-ec2-3.621.0.tgz", + "integrity": "sha512-6gMfJL0LgoY0PE3Sw56JHA5qcP2Z+Xz+TPTuDmdOPwFyZI6A1hsf7XBeb9Ye8QRmBxoiflChaiBn7obANAj5tw==", + "requires": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/client-sso-oidc": "3.621.0", + "@aws-sdk/client-sts": "3.621.0", + "@aws-sdk/core": "3.621.0", + "@aws-sdk/credential-provider-node": "3.621.0", + "@aws-sdk/middleware-host-header": "3.620.0", + "@aws-sdk/middleware-logger": "3.609.0", + "@aws-sdk/middleware-recursion-detection": "3.620.0", + "@aws-sdk/middleware-sdk-ec2": "3.621.0", + "@aws-sdk/middleware-user-agent": "3.620.0", + "@aws-sdk/region-config-resolver": "3.614.0", + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.614.0", + "@aws-sdk/util-user-agent-browser": "3.609.0", + "@aws-sdk/util-user-agent-node": "3.614.0", + "@smithy/config-resolver": "^3.0.5", + "@smithy/core": "^2.3.1", + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/hash-node": "^3.0.3", + "@smithy/invalid-dependency": "^3.0.3", + "@smithy/middleware-content-length": "^3.0.5", + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-retry": "^3.0.13", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.1.11", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.13", + "@smithy/util-defaults-mode-node": "^3.0.13", + "@smithy/util-endpoints": "^2.0.5", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "@smithy/util-utf8": "^3.0.0", + "@smithy/util-waiter": "^3.1.2", + "tslib": "^2.6.2", + "uuid": "^9.0.1" + }, + "dependencies": { + "uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==" + } + } + }, + "@aws-sdk/client-s3": { + "version": "3.621.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.621.0.tgz", + "integrity": "sha512-YhGkd2HQTM4HCYJIAVWvfbUMpOF7XUr1W/e2LN3CFP0WTF4zcCJKesJ2iNHrExqC0Ek1+qarMxiXBK95itfjYQ==", + "requires": { + "@aws-crypto/sha1-browser": "5.2.0", + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/client-sso-oidc": "3.621.0", + "@aws-sdk/client-sts": "3.621.0", + "@aws-sdk/core": "3.621.0", + "@aws-sdk/credential-provider-node": "3.621.0", + "@aws-sdk/middleware-bucket-endpoint": "3.620.0", + "@aws-sdk/middleware-expect-continue": "3.620.0", + "@aws-sdk/middleware-flexible-checksums": "3.620.0", + "@aws-sdk/middleware-host-header": "3.620.0", + "@aws-sdk/middleware-location-constraint": "3.609.0", + "@aws-sdk/middleware-logger": "3.609.0", + "@aws-sdk/middleware-recursion-detection": "3.620.0", + "@aws-sdk/middleware-sdk-s3": "3.621.0", + "@aws-sdk/middleware-signing": "3.620.0", + "@aws-sdk/middleware-ssec": "3.609.0", + "@aws-sdk/middleware-user-agent": "3.620.0", + "@aws-sdk/region-config-resolver": "3.614.0", + "@aws-sdk/signature-v4-multi-region": "3.621.0", + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.614.0", + "@aws-sdk/util-user-agent-browser": "3.609.0", + "@aws-sdk/util-user-agent-node": "3.614.0", + "@aws-sdk/xml-builder": "3.609.0", + "@smithy/config-resolver": "^3.0.5", + "@smithy/core": "^2.3.1", + "@smithy/eventstream-serde-browser": "^3.0.5", + "@smithy/eventstream-serde-config-resolver": "^3.0.3", + "@smithy/eventstream-serde-node": "^3.0.4", + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/hash-blob-browser": "^3.1.2", + "@smithy/hash-node": "^3.0.3", + "@smithy/hash-stream-node": "^3.1.2", + "@smithy/invalid-dependency": "^3.0.3", + "@smithy/md5-js": "^3.0.3", + "@smithy/middleware-content-length": "^3.0.5", + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-retry": "^3.0.13", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.1.11", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.13", + "@smithy/util-defaults-mode-node": "^3.0.13", + "@smithy/util-endpoints": "^2.0.5", + "@smithy/util-retry": "^3.0.3", + "@smithy/util-stream": "^3.1.3", + "@smithy/util-utf8": "^3.0.0", + "@smithy/util-waiter": "^3.1.2", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/client-sso": { + "version": "3.621.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.621.0.tgz", + "integrity": "sha512-xpKfikN4u0BaUYZA9FGUMkkDmfoIP0Q03+A86WjqDWhcOoqNA1DkHsE4kZ+r064ifkPUfcNuUvlkVTEoBZoFjA==", + "requires": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "3.621.0", + "@aws-sdk/middleware-host-header": "3.620.0", + "@aws-sdk/middleware-logger": "3.609.0", + "@aws-sdk/middleware-recursion-detection": "3.620.0", + "@aws-sdk/middleware-user-agent": "3.620.0", + "@aws-sdk/region-config-resolver": "3.614.0", + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.614.0", + "@aws-sdk/util-user-agent-browser": "3.609.0", + "@aws-sdk/util-user-agent-node": "3.614.0", + "@smithy/config-resolver": "^3.0.5", + "@smithy/core": "^2.3.1", + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/hash-node": "^3.0.3", + "@smithy/invalid-dependency": "^3.0.3", + "@smithy/middleware-content-length": "^3.0.5", + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-retry": "^3.0.13", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.1.11", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.13", + "@smithy/util-defaults-mode-node": "^3.0.13", + "@smithy/util-endpoints": "^2.0.5", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/client-sso-oidc": { + "version": "3.621.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.621.0.tgz", + "integrity": "sha512-mMjk3mFUwV2Y68POf1BQMTF+F6qxt5tPu6daEUCNGC9Cenk3h2YXQQoS4/eSyYzuBiYk3vx49VgleRvdvkg8rg==", + "requires": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "3.621.0", + "@aws-sdk/credential-provider-node": "3.621.0", + "@aws-sdk/middleware-host-header": "3.620.0", + "@aws-sdk/middleware-logger": "3.609.0", + "@aws-sdk/middleware-recursion-detection": "3.620.0", + "@aws-sdk/middleware-user-agent": "3.620.0", + "@aws-sdk/region-config-resolver": "3.614.0", + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.614.0", + "@aws-sdk/util-user-agent-browser": "3.609.0", + "@aws-sdk/util-user-agent-node": "3.614.0", + "@smithy/config-resolver": "^3.0.5", + "@smithy/core": "^2.3.1", + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/hash-node": "^3.0.3", + "@smithy/invalid-dependency": "^3.0.3", + "@smithy/middleware-content-length": "^3.0.5", + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-retry": "^3.0.13", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.1.11", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.13", + "@smithy/util-defaults-mode-node": "^3.0.13", + "@smithy/util-endpoints": "^2.0.5", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/client-sts": { + "version": "3.621.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.621.0.tgz", + "integrity": "sha512-707uiuReSt+nAx6d0c21xLjLm2lxeKc7padxjv92CIrIocnQSlJPxSCM7r5zBhwiahJA6MNQwmTl2xznU67KgA==", + "requires": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/client-sso-oidc": "3.621.0", + "@aws-sdk/core": "3.621.0", + "@aws-sdk/credential-provider-node": "3.621.0", + "@aws-sdk/middleware-host-header": "3.620.0", + "@aws-sdk/middleware-logger": "3.609.0", + "@aws-sdk/middleware-recursion-detection": "3.620.0", + "@aws-sdk/middleware-user-agent": "3.620.0", + "@aws-sdk/region-config-resolver": "3.614.0", + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.614.0", + "@aws-sdk/util-user-agent-browser": "3.609.0", + "@aws-sdk/util-user-agent-node": "3.614.0", + "@smithy/config-resolver": "^3.0.5", + "@smithy/core": "^2.3.1", + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/hash-node": "^3.0.3", + "@smithy/invalid-dependency": "^3.0.3", + "@smithy/middleware-content-length": "^3.0.5", + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-retry": "^3.0.13", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.1.11", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.13", + "@smithy/util-defaults-mode-node": "^3.0.13", + "@smithy/util-endpoints": "^2.0.5", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/core": { + "version": "3.621.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.621.0.tgz", + "integrity": "sha512-CtOwWmDdEiINkGXD93iGfXjN0WmCp9l45cDWHHGa8lRgEDyhuL7bwd/pH5aSzj0j8SiQBG2k0S7DHbd5RaqvbQ==", + "requires": { + "@smithy/core": "^2.3.1", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/signature-v4": "^4.1.0", + "@smithy/smithy-client": "^3.1.11", + "@smithy/types": "^3.3.0", + "@smithy/util-middleware": "^3.0.3", + "fast-xml-parser": "4.4.1", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/credential-provider-env": { + "version": "3.620.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.620.1.tgz", + "integrity": "sha512-ExuILJ2qLW5ZO+rgkNRj0xiAipKT16Rk77buvPP8csR7kkCflT/gXTyzRe/uzIiETTxM7tr8xuO9MP/DQXqkfg==", + "requires": { + "@aws-sdk/types": "3.609.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/credential-provider-http": { + "version": "3.621.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.621.0.tgz", + "integrity": "sha512-/jc2tEsdkT1QQAI5Dvoci50DbSxtJrevemwFsm0B73pwCcOQZ5ZwwSdVqGsPutzYzUVx3bcXg3LRL7jLACqRIg==", + "requires": { + "@aws-sdk/types": "3.609.0", + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/property-provider": "^3.1.3", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.1.11", + "@smithy/types": "^3.3.0", + "@smithy/util-stream": "^3.1.3", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/credential-provider-ini": { + "version": "3.621.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.621.0.tgz", + "integrity": "sha512-0EWVnSc+JQn5HLnF5Xv405M8n4zfdx9gyGdpnCmAmFqEDHA8LmBdxJdpUk1Ovp/I5oPANhjojxabIW5f1uU0RA==", + "requires": { + "@aws-sdk/credential-provider-env": "3.620.1", + "@aws-sdk/credential-provider-http": "3.621.0", + "@aws-sdk/credential-provider-process": "3.620.1", + "@aws-sdk/credential-provider-sso": "3.621.0", + "@aws-sdk/credential-provider-web-identity": "3.621.0", + "@aws-sdk/types": "3.609.0", + "@smithy/credential-provider-imds": "^3.2.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/credential-provider-node": { + "version": "3.621.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.621.0.tgz", + "integrity": "sha512-4JqpccUgz5Snanpt2+53hbOBbJQrSFq7E1sAAbgY6BKVQUsW5qyXqnjvSF32kDeKa5JpBl3bBWLZl04IadcPHw==", + "requires": { + "@aws-sdk/credential-provider-env": "3.620.1", + "@aws-sdk/credential-provider-http": "3.621.0", + "@aws-sdk/credential-provider-ini": "3.621.0", + "@aws-sdk/credential-provider-process": "3.620.1", + "@aws-sdk/credential-provider-sso": "3.621.0", + "@aws-sdk/credential-provider-web-identity": "3.621.0", + "@aws-sdk/types": "3.609.0", + "@smithy/credential-provider-imds": "^3.2.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/credential-provider-process": { + "version": "3.620.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.620.1.tgz", + "integrity": "sha512-hWqFMidqLAkaV9G460+1at6qa9vySbjQKKc04p59OT7lZ5cO5VH5S4aI05e+m4j364MBROjjk2ugNvfNf/8ILg==", + "requires": { + "@aws-sdk/types": "3.609.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/credential-provider-sso": { + "version": "3.621.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.621.0.tgz", + "integrity": "sha512-Kza0jcFeA/GEL6xJlzR2KFf1PfZKMFnxfGzJzl5yN7EjoGdMijl34KaRyVnfRjnCWcsUpBWKNIDk9WZVMY9yiw==", + "requires": { + "@aws-sdk/client-sso": "3.621.0", + "@aws-sdk/token-providers": "3.614.0", + "@aws-sdk/types": "3.609.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/credential-provider-web-identity": { + "version": "3.621.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.621.0.tgz", + "integrity": "sha512-w7ASSyfNvcx7+bYGep3VBgC3K6vEdLmlpjT7nSIHxxQf+WSdvy+HynwJosrpZax0sK5q0D1Jpn/5q+r5lwwW6w==", + "requires": { + "@aws-sdk/types": "3.609.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/middleware-bucket-endpoint": { + "version": "3.620.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.620.0.tgz", + "integrity": "sha512-eGLL0W6L3HDb3OACyetZYOWpHJ+gLo0TehQKeQyy2G8vTYXqNTeqYhuI6up9HVjBzU9eQiULVQETmgQs7TFaRg==", + "requires": { + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-arn-parser": "3.568.0", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "@smithy/util-config-provider": "^3.0.0", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/middleware-expect-continue": { + "version": "3.620.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.620.0.tgz", + "integrity": "sha512-QXeRFMLfyQ31nAHLbiTLtk0oHzG9QLMaof5jIfqcUwnOkO8YnQdeqzakrg1Alpy/VQ7aqzIi8qypkBe2KXZz0A==", + "requires": { + "@aws-sdk/types": "3.609.0", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/middleware-flexible-checksums": { + "version": "3.620.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.620.0.tgz", + "integrity": "sha512-ftz+NW7qka2sVuwnnO1IzBku5ccP+s5qZGeRTPgrKB7OzRW85gthvIo1vQR2w+OwHFk7WJbbhhWwbCbktnP4UA==", + "requires": { + "@aws-crypto/crc32": "5.2.0", + "@aws-crypto/crc32c": "5.2.0", + "@aws-sdk/types": "3.609.0", + "@smithy/is-array-buffer": "^3.0.0", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/middleware-host-header": { + "version": "3.620.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.620.0.tgz", + "integrity": "sha512-VMtPEZwqYrII/oUkffYsNWY9PZ9xpNJpMgmyU0rlDQ25O1c0Hk3fJmZRe6pEkAJ0omD7kLrqGl1DUjQVxpd/Rg==", + "requires": { + "@aws-sdk/types": "3.609.0", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/middleware-location-constraint": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.609.0.tgz", + "integrity": "sha512-xzsdoTkszGVqGVPjUmgoP7TORiByLueMHieI1fhQL888WPdqctwAx3ES6d/bA9Q/i8jnc6hs+Fjhy8UvBTkE9A==", + "requires": { + "@aws-sdk/types": "3.609.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/middleware-logger": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.609.0.tgz", + "integrity": "sha512-S62U2dy4jMDhDFDK5gZ4VxFdWzCtLzwbYyFZx2uvPYTECkepLUfzLic2BHg2Qvtu4QjX+oGE3P/7fwaGIsGNuQ==", + "requires": { + "@aws-sdk/types": "3.609.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/middleware-recursion-detection": { + "version": "3.620.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.620.0.tgz", + "integrity": "sha512-nh91S7aGK3e/o1ck64sA/CyoFw+gAYj2BDOnoNa6ouyCrVJED96ZXWbhye/fz9SgmNUZR2g7GdVpiLpMKZoI5w==", + "requires": { + "@aws-sdk/types": "3.609.0", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/middleware-sdk-ec2": { + "version": "3.621.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-ec2/-/middleware-sdk-ec2-3.621.0.tgz", + "integrity": "sha512-JL43dM6TZ922b6Z9jSt4bUoq9ZiTOwaw9F3Us0e6ZDcX6Su377+InUWtIqmtLfaTQhFo8FY6xmbpo0bPLMAxQA==", + "requires": { + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-format-url": "3.609.0", + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/protocol-http": "^4.1.0", + "@smithy/signature-v4": "^4.1.0", + "@smithy/smithy-client": "^3.1.11", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/middleware-sdk-s3": { + "version": "3.621.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.621.0.tgz", + "integrity": "sha512-CJrQrtKylcqvyPkRR16JmPZkHroCkWwLErQrg30ZcBPNNok8xbfX6cYqG16XDTnu4lSYzv2Yqc4w4oOBv8xerQ==", + "requires": { + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-arn-parser": "3.568.0", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/signature-v4": "^4.1.0", + "@smithy/smithy-client": "^3.1.11", + "@smithy/types": "^3.3.0", + "@smithy/util-config-provider": "^3.0.0", + "@smithy/util-stream": "^3.1.3", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/middleware-signing": { + "version": "3.620.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.620.0.tgz", + "integrity": "sha512-gxI7rubiaanUXaLfJ4NybERa9MGPNg2Ycl/OqANsozrBnR3Pw8vqy3EuVImQOyn2pJ2IFvl8ZPoSMHf4pX56FQ==", + "requires": { + "@aws-sdk/types": "3.609.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/protocol-http": "^4.1.0", + "@smithy/signature-v4": "^4.1.0", + "@smithy/types": "^3.3.0", + "@smithy/util-middleware": "^3.0.3", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/middleware-ssec": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.609.0.tgz", + "integrity": "sha512-GZSD1s7+JswWOTamVap79QiDaIV7byJFssBW68GYjyRS5EBjNfwA/8s+6uE6g39R3ojyTbYOmvcANoZEhSULXg==", + "requires": { + "@aws-sdk/types": "3.609.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/middleware-user-agent": { + "version": "3.620.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.620.0.tgz", + "integrity": "sha512-bvS6etn+KsuL32ubY5D3xNof1qkenpbJXf/ugGXbg0n98DvDFQ/F+SMLxHgbnER5dsKYchNnhmtI6/FC3HFu/A==", + "requires": { + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.614.0", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/region-config-resolver": { + "version": "3.614.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.614.0.tgz", + "integrity": "sha512-vDCeMXvic/LU0KFIUjpC3RiSTIkkvESsEfbVHiHH0YINfl8HnEqR5rj+L8+phsCeVg2+LmYwYxd5NRz4PHxt5g==", + "requires": { + "@aws-sdk/types": "3.609.0", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/types": "^3.3.0", + "@smithy/util-config-provider": "^3.0.0", + "@smithy/util-middleware": "^3.0.3", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/signature-v4-multi-region": { + "version": "3.621.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.621.0.tgz", + "integrity": "sha512-u+ulCaHFveqHaTxgiYrEAyfBVP6GRKjnmDut67CtjhjslshPWYpo/ndtlCW1zc0RDne3uUeK13Pqp7dp7p1d6g==", + "requires": { + "@aws-sdk/middleware-sdk-s3": "3.621.0", + "@aws-sdk/types": "3.609.0", + "@smithy/protocol-http": "^4.1.0", + "@smithy/signature-v4": "^4.1.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/token-providers": { + "version": "3.614.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.614.0.tgz", + "integrity": "sha512-okItqyY6L9IHdxqs+Z116y5/nda7rHxLvROxtAJdLavWTYDydxrZstImNgGWTeVdmc0xX2gJCI77UYUTQWnhRw==", + "requires": { + "@aws-sdk/types": "3.609.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/types": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", + "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", + "requires": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/util-arn-parser": { + "version": "3.568.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.568.0.tgz", + "integrity": "sha512-XUKJWWo+KOB7fbnPP0+g/o5Ulku/X53t7i/h+sPHr5xxYTJJ9CYnbToo95mzxe7xWvkLrsNtJ8L+MnNn9INs2w==", + "requires": { + "tslib": "^2.6.2" + } + }, + "@aws-sdk/util-endpoints": { + "version": "3.614.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.614.0.tgz", + "integrity": "sha512-wK2cdrXHH4oz4IomV/yrGkftU9A+ITB6nFL+rxxyO78is2ifHJpFdV4aqk4LSkXYPi6CXWNru/Dqc7yiKXgJPw==", + "requires": { + "@aws-sdk/types": "3.609.0", + "@smithy/types": "^3.3.0", + "@smithy/util-endpoints": "^2.0.5", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/util-format-url": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-format-url/-/util-format-url-3.609.0.tgz", + "integrity": "sha512-fuk29BI/oLQlJ7pfm6iJ4gkEpHdavffAALZwXh9eaY1vQ0ip0aKfRTiNudPoJjyyahnz5yJ1HkmlcDitlzsOrQ==", + "requires": { + "@aws-sdk/types": "3.609.0", + "@smithy/querystring-builder": "^3.0.3", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/util-locate-window": { + "version": "3.568.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.568.0.tgz", + "integrity": "sha512-3nh4TINkXYr+H41QaPelCceEB2FXP3fxp93YZXB/kqJvX0U9j0N0Uk45gvsjmEPzG8XxkPEeLIfT2I1M7A6Lig==", + "requires": { + "tslib": "^2.6.2" + } + }, + "@aws-sdk/util-user-agent-browser": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.609.0.tgz", + "integrity": "sha512-fojPU+mNahzQ0YHYBsx0ZIhmMA96H+ZIZ665ObU9tl+SGdbLneVZVikGve+NmHTQwHzwkFsZYYnVKAkreJLAtA==", + "requires": { + "@aws-sdk/types": "3.609.0", + "@smithy/types": "^3.3.0", + "bowser": "^2.11.0", + "tslib": "^2.6.2" } - } - }, - "dependencies": { - "@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", - "dev": true }, - "@ampproject/remapping": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", - "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", - "dev": true, + "@aws-sdk/util-user-agent-node": { + "version": "3.614.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.614.0.tgz", + "integrity": "sha512-15ElZT88peoHnq5TEoEtZwoXTXRxNrk60TZNdpl/TUBJ5oNJ9Dqb5Z4ryb8ofN6nm9aFf59GVAerFDz8iUoHBA==", "requires": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" + "@aws-sdk/types": "3.609.0", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/xml-builder": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.609.0.tgz", + "integrity": "sha512-l9XxNcA4HX98rwCC2/KoiWcmEiRfZe4G+mYwDbCFT87JIMj6GBhLDkAzr/W8KAaA2IDr8Vc6J8fZPgVulxxfMA==", + "requires": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" } }, "@babel/code-frame": { @@ -4574,130 +6824,652 @@ } } }, - "@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", - "dev": true + "@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true + }, + "@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true + }, + "@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "@jridgewell/trace-mapping": { + "version": "0.3.18", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", + "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + }, + "dependencies": { + "@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + } + } + }, + "@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==", + "dev": true, + "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==", + "dev": true + }, + "@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==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@sinonjs/commons": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", + "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", + "dev": true, + "requires": { + "type-detect": "4.0.8" + } + }, + "@sinonjs/fake-timers": { + "version": "11.2.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-11.2.2.tgz", + "integrity": "sha512-G2piCSxQ7oWOxwGSAyFHfPIsyeJGXYtc6mFbnFA+kRXkiEnTl8c/8jul2S329iFBnDI9HGoeWWAZvuvOkZccgw==", + "dev": true, + "requires": { + "@sinonjs/commons": "^3.0.0" + } + }, + "@sinonjs/samsam": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-8.0.0.tgz", + "integrity": "sha512-Bp8KUVlLp8ibJZrnvq2foVhP0IVX2CIprMJPK0vqGqgrDa0OHVKeZyBykqskkrdxV6yKBPmGasO8LVjAKR3Gew==", + "dev": true, + "requires": { + "@sinonjs/commons": "^2.0.0", + "lodash.get": "^4.4.2", + "type-detect": "^4.0.8" + }, + "dependencies": { + "@sinonjs/commons": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", + "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", + "dev": true, + "requires": { + "type-detect": "4.0.8" + } + } + } + }, + "@sinonjs/text-encoding": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.2.tgz", + "integrity": "sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ==", + "dev": true + }, + "@smithy/abort-controller": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-3.1.1.tgz", + "integrity": "sha512-MBJBiidoe+0cTFhyxT8g+9g7CeVccLM0IOKKUMCNQ1CNMJ/eIfoo0RTfVrXOONEI1UCN1W+zkiHSbzUNE9dZtQ==", + "requires": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@smithy/chunked-blob-reader": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/chunked-blob-reader/-/chunked-blob-reader-3.0.0.tgz", + "integrity": "sha512-sbnURCwjF0gSToGlsBiAmd1lRCmSn72nu9axfJu5lIx6RUEgHu6GwTMbqCdhQSi0Pumcm5vFxsi9XWXb2mTaoA==", + "requires": { + "tslib": "^2.6.2" + } + }, + "@smithy/chunked-blob-reader-native": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/chunked-blob-reader-native/-/chunked-blob-reader-native-3.0.0.tgz", + "integrity": "sha512-VDkpCYW+peSuM4zJip5WDfqvg2Mo/e8yxOv3VF1m11y7B8KKMKVFtmZWDe36Fvk8rGuWrPZHHXZ7rR7uM5yWyg==", + "requires": { + "@smithy/util-base64": "^3.0.0", + "tslib": "^2.6.2" + } + }, + "@smithy/config-resolver": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-3.0.5.tgz", + "integrity": "sha512-SkW5LxfkSI1bUC74OtfBbdz+grQXYiPYolyu8VfpLIjEoN/sHVBlLeGXMQ1vX4ejkgfv6sxVbQJ32yF2cl1veA==", + "requires": { + "@smithy/node-config-provider": "^3.1.4", + "@smithy/types": "^3.3.0", + "@smithy/util-config-provider": "^3.0.0", + "@smithy/util-middleware": "^3.0.3", + "tslib": "^2.6.2" + } + }, + "@smithy/core": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@smithy/core/-/core-2.3.2.tgz", + "integrity": "sha512-in5wwt6chDBcUv1Lw1+QzZxN9fBffi+qOixfb65yK4sDuKG7zAUO9HAFqmVzsZM3N+3tTyvZjtnDXePpvp007Q==", + "requires": { + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-retry": "^3.0.14", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.1.12", + "@smithy/types": "^3.3.0", + "@smithy/util-middleware": "^3.0.3", + "tslib": "^2.6.2" + } + }, + "@smithy/credential-provider-imds": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-3.2.0.tgz", + "integrity": "sha512-0SCIzgd8LYZ9EJxUjLXBmEKSZR/P/w6l7Rz/pab9culE/RWuqelAKGJvn5qUOl8BgX8Yj5HWM50A5hiB/RzsgA==", + "requires": { + "@smithy/node-config-provider": "^3.1.4", + "@smithy/property-provider": "^3.1.3", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "tslib": "^2.6.2" + } + }, + "@smithy/eventstream-codec": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-3.1.2.tgz", + "integrity": "sha512-0mBcu49JWt4MXhrhRAlxASNy0IjDRFU+aWNDRal9OtUJvJNiwDuyKMUONSOjLjSCeGwZaE0wOErdqULer8r7yw==", + "requires": { + "@aws-crypto/crc32": "5.2.0", + "@smithy/types": "^3.3.0", + "@smithy/util-hex-encoding": "^3.0.0", + "tslib": "^2.6.2" + } + }, + "@smithy/eventstream-serde-browser": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-3.0.5.tgz", + "integrity": "sha512-dEyiUYL/ekDfk+2Ra4GxV+xNnFoCmk1nuIXg+fMChFTrM2uI/1r9AdiTYzPqgb72yIv/NtAj6C3dG//1wwgakQ==", + "requires": { + "@smithy/eventstream-serde-universal": "^3.0.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@smithy/eventstream-serde-config-resolver": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.0.3.tgz", + "integrity": "sha512-NVTYjOuYpGfrN/VbRQgn31x73KDLfCXCsFdad8DiIc3IcdxL+dYA9zEQPyOP7Fy2QL8CPy2WE4WCUD+ZsLNfaQ==", + "requires": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@smithy/eventstream-serde-node": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-node/-/eventstream-serde-node-3.0.4.tgz", + "integrity": "sha512-mjlG0OzGAYuUpdUpflfb9zyLrBGgmQmrobNT8b42ZTsGv/J03+t24uhhtVEKG/b2jFtPIHF74Bq+VUtbzEKOKg==", + "requires": { + "@smithy/eventstream-serde-universal": "^3.0.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@smithy/eventstream-serde-universal": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-3.0.4.tgz", + "integrity": "sha512-Od9dv8zh3PgOD7Vj4T3HSuox16n0VG8jJIM2gvKASL6aCtcS8CfHZDWe1Ik3ZXW6xBouU+45Q5wgoliWDZiJ0A==", + "requires": { + "@smithy/eventstream-codec": "^3.1.2", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@smithy/fetch-http-handler": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-3.2.4.tgz", + "integrity": "sha512-kBprh5Gs5h7ug4nBWZi1FZthdqSM+T7zMmsZxx0IBvWUn7dK3diz2SHn7Bs4dQGFDk8plDv375gzenDoNwrXjg==", + "requires": { + "@smithy/protocol-http": "^4.1.0", + "@smithy/querystring-builder": "^3.0.3", + "@smithy/types": "^3.3.0", + "@smithy/util-base64": "^3.0.0", + "tslib": "^2.6.2" + } + }, + "@smithy/hash-blob-browser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@smithy/hash-blob-browser/-/hash-blob-browser-3.1.2.tgz", + "integrity": "sha512-hAbfqN2UbISltakCC2TP0kx4LqXBttEv2MqSPE98gVuDFMf05lU+TpC41QtqGP3Ff5A3GwZMPfKnEy0VmEUpmg==", + "requires": { + "@smithy/chunked-blob-reader": "^3.0.0", + "@smithy/chunked-blob-reader-native": "^3.0.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@smithy/hash-node": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-3.0.3.tgz", + "integrity": "sha512-2ctBXpPMG+B3BtWSGNnKELJ7SH9e4TNefJS0cd2eSkOOROeBnnVBnAy9LtJ8tY4vUEoe55N4CNPxzbWvR39iBw==", + "requires": { + "@smithy/types": "^3.3.0", + "@smithy/util-buffer-from": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + } + }, + "@smithy/hash-stream-node": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@smithy/hash-stream-node/-/hash-stream-node-3.1.2.tgz", + "integrity": "sha512-PBgDMeEdDzi6JxKwbfBtwQG9eT9cVwsf0dZzLXoJF4sHKHs5HEo/3lJWpn6jibfJwT34I1EBXpBnZE8AxAft6g==", + "requires": { + "@smithy/types": "^3.3.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + } + }, + "@smithy/invalid-dependency": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-3.0.3.tgz", + "integrity": "sha512-ID1eL/zpDULmHJbflb864k72/SNOZCADRc9i7Exq3RUNJw6raWUSlFEQ+3PX3EYs++bTxZB2dE9mEHTQLv61tw==", + "requires": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@smithy/is-array-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", + "requires": { + "tslib": "^2.6.2" + } + }, + "@smithy/md5-js": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/md5-js/-/md5-js-3.0.3.tgz", + "integrity": "sha512-O/SAkGVwpWmelpj/8yDtsaVe6sINHLB1q8YE/+ZQbDxIw3SRLbTZuRaI10K12sVoENdnHqzPp5i3/H+BcZ3m3Q==", + "requires": { + "@smithy/types": "^3.3.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + } + }, + "@smithy/middleware-content-length": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-3.0.5.tgz", + "integrity": "sha512-ILEzC2eyxx6ncej3zZSwMpB5RJ0zuqH7eMptxC4KN3f+v9bqT8ohssKbhNR78k/2tWW+KS5Spw+tbPF4Ejyqvw==", + "requires": { + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@smithy/middleware-endpoint": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-3.1.0.tgz", + "integrity": "sha512-5y5aiKCEwg9TDPB4yFE7H6tYvGFf1OJHNczeY10/EFF8Ir8jZbNntQJxMWNfeQjC1mxPsaQ6mR9cvQbf+0YeMw==", + "requires": { + "@smithy/middleware-serde": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-middleware": "^3.0.3", + "tslib": "^2.6.2" + } + }, + "@smithy/middleware-retry": { + "version": "3.0.14", + "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-3.0.14.tgz", + "integrity": "sha512-7ZaWZJOjUxa5hgmuMspyt8v/zVsh0GXYuF7OvCmdcbVa/xbnKQoYC+uYKunAqRGTkxjOyuOCw9rmFUFOqqC0eQ==", + "requires": { + "@smithy/node-config-provider": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/service-error-classification": "^3.0.3", + "@smithy/smithy-client": "^3.1.12", + "@smithy/types": "^3.3.0", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "tslib": "^2.6.2", + "uuid": "^9.0.1" + }, + "dependencies": { + "uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==" + } + } + }, + "@smithy/middleware-serde": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-3.0.3.tgz", + "integrity": "sha512-puUbyJQBcg9eSErFXjKNiGILJGtiqmuuNKEYNYfUD57fUl4i9+mfmThtQhvFXU0hCVG0iEJhvQUipUf+/SsFdA==", + "requires": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@smithy/middleware-stack": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-3.0.3.tgz", + "integrity": "sha512-r4klY9nFudB0r9UdSMaGSyjyQK5adUyPnQN/ZM6M75phTxOdnc/AhpvGD1fQUvgmqjQEBGCwpnPbDm8pH5PapA==", + "requires": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@smithy/node-config-provider": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-3.1.4.tgz", + "integrity": "sha512-YvnElQy8HR4vDcAjoy7Xkx9YT8xZP4cBXcbJSgm/kxmiQu08DwUwj8rkGnyoJTpfl/3xYHH+d8zE+eHqoDCSdQ==", + "requires": { + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@smithy/node-http-handler": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-3.1.4.tgz", + "integrity": "sha512-+UmxgixgOr/yLsUxcEKGH0fMNVteJFGkmRltYFHnBMlogyFdpzn2CwqWmxOrfJELhV34v0WSlaqG1UtE1uXlJg==", + "requires": { + "@smithy/abort-controller": "^3.1.1", + "@smithy/protocol-http": "^4.1.0", + "@smithy/querystring-builder": "^3.0.3", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@smithy/property-provider": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-3.1.3.tgz", + "integrity": "sha512-zahyOVR9Q4PEoguJ/NrFP4O7SMAfYO1HLhB18M+q+Z4KFd4V2obiMnlVoUFzFLSPeVt1POyNWneHHrZaTMoc/g==", + "requires": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@smithy/protocol-http": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-4.1.0.tgz", + "integrity": "sha512-dPVoHYQ2wcHooGXg3LQisa1hH0e4y0pAddPMeeUPipI1tEOqL6A4N0/G7abeq+K8wrwSgjk4C0wnD1XZpJm5aA==", + "requires": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@smithy/querystring-builder": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-3.0.3.tgz", + "integrity": "sha512-vyWckeUeesFKzCDaRwWLUA1Xym9McaA6XpFfAK5qI9DKJ4M33ooQGqvM4J+LalH4u/Dq9nFiC8U6Qn1qi0+9zw==", + "requires": { + "@smithy/types": "^3.3.0", + "@smithy/util-uri-escape": "^3.0.0", + "tslib": "^2.6.2" + } + }, + "@smithy/querystring-parser": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-3.0.3.tgz", + "integrity": "sha512-zahM1lQv2YjmznnfQsWbYojFe55l0SLG/988brlLv1i8z3dubloLF+75ATRsqPBboUXsW6I9CPGE5rQgLfY0vQ==", + "requires": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } }, - "@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", - "dev": true, + "@smithy/service-error-classification": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.3.tgz", + "integrity": "sha512-Jn39sSl8cim/VlkLsUhRFq/dKDnRUFlfRkvhOJaUbLBXUsLRLNf9WaxDv/z9BjuQ3A6k/qE8af1lsqcwm7+DaQ==", "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" + "@smithy/types": "^3.3.0" } }, - "@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", - "dev": true + "@smithy/shared-ini-file-loader": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.4.tgz", + "integrity": "sha512-qMxS4hBGB8FY2GQqshcRUy1K6k8aBWP5vwm8qKkCT3A9K2dawUwOIJfqh9Yste/Bl0J2lzosVyrXDj68kLcHXQ==", + "requires": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } }, - "@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "dev": true + "@smithy/signature-v4": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-4.1.0.tgz", + "integrity": "sha512-aRryp2XNZeRcOtuJoxjydO6QTaVhxx/vjaR+gx7ZjaFgrgPRyZ3HCTbfwqYj6ZWEBHkCSUfcaymKPURaByukag==", + "requires": { + "@smithy/is-array-buffer": "^3.0.0", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "@smithy/util-hex-encoding": "^3.0.0", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-uri-escape": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + } }, - "@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "dev": true + "@smithy/smithy-client": { + "version": "3.1.12", + "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-3.1.12.tgz", + "integrity": "sha512-wtm8JtsycthkHy1YA4zjIh2thJgIQ9vGkoR639DBx5lLlLNU0v4GARpQZkr2WjXue74nZ7MiTSWfVrLkyD8RkA==", + "requires": { + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "@smithy/util-stream": "^3.1.3", + "tslib": "^2.6.2" + } }, - "@jridgewell/trace-mapping": { - "version": "0.3.18", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", - "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", - "dev": true, + "@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", "requires": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" - }, - "dependencies": { - "@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "dev": true - } + "tslib": "^2.6.2" } }, - "@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==", - "dev": true, + "@smithy/url-parser": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-3.0.3.tgz", + "integrity": "sha512-pw3VtZtX2rg+s6HMs6/+u9+hu6oY6U7IohGhVNnjbgKy86wcIsSZwgHrFR+t67Uyxvp4Xz3p3kGXXIpTNisq8A==", "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" + "@smithy/querystring-parser": "^3.0.3", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" } }, - "@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==", - "dev": true + "@smithy/util-base64": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-3.0.0.tgz", + "integrity": "sha512-Kxvoh5Qtt0CDsfajiZOCpJxgtPHXOKwmM+Zy4waD43UoEMA+qPxxa98aE/7ZhdnBFZFXMOiBR5xbcaMhLtznQQ==", + "requires": { + "@smithy/util-buffer-from": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + } }, - "@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==", - "dev": true, + "@smithy/util-body-length-browser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-3.0.0.tgz", + "integrity": "sha512-cbjJs2A1mLYmqmyVl80uoLTJhAcfzMOyPgjwAYusWKMdLeNtzmMz9YxNl3/jRLoxSS3wkqkf0jwNdtXWtyEBaQ==", "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" + "tslib": "^2.6.2" } }, - "@sinonjs/commons": { + "@smithy/util-body-length-node": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", - "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", - "dev": true, + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-3.0.0.tgz", + "integrity": "sha512-Tj7pZ4bUloNUP6PzwhN7K386tmSmEET9QtQg0TgdNOnxhZvCssHji+oZTUIuzxECRfG8rdm2PMw2WCFs6eIYkA==", "requires": { - "type-detect": "4.0.8" + "tslib": "^2.6.2" } }, - "@sinonjs/fake-timers": { - "version": "11.2.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-11.2.2.tgz", - "integrity": "sha512-G2piCSxQ7oWOxwGSAyFHfPIsyeJGXYtc6mFbnFA+kRXkiEnTl8c/8jul2S329iFBnDI9HGoeWWAZvuvOkZccgw==", - "dev": true, + "@smithy/util-buffer-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", "requires": { - "@sinonjs/commons": "^3.0.0" + "@smithy/is-array-buffer": "^3.0.0", + "tslib": "^2.6.2" } }, - "@sinonjs/samsam": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-8.0.0.tgz", - "integrity": "sha512-Bp8KUVlLp8ibJZrnvq2foVhP0IVX2CIprMJPK0vqGqgrDa0OHVKeZyBykqskkrdxV6yKBPmGasO8LVjAKR3Gew==", - "dev": true, + "@smithy/util-config-provider": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-3.0.0.tgz", + "integrity": "sha512-pbjk4s0fwq3Di/ANL+rCvJMKM5bzAQdE5S/6RL5NXgMExFAi6UgQMPOm5yPaIWPpr+EOXKXRonJ3FoxKf4mCJQ==", "requires": { - "@sinonjs/commons": "^2.0.0", - "lodash.get": "^4.4.2", - "type-detect": "^4.0.8" - }, - "dependencies": { - "@sinonjs/commons": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", - "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", - "dev": true, - "requires": { - "type-detect": "4.0.8" - } - } + "tslib": "^2.6.2" } }, - "@sinonjs/text-encoding": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.2.tgz", - "integrity": "sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ==", - "dev": true + "@smithy/util-defaults-mode-browser": { + "version": "3.0.14", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-3.0.14.tgz", + "integrity": "sha512-0iwTgKKmAIf+vFLV8fji21Jb2px11ktKVxbX6LIDPAUJyWQqGqBVfwba7xwa1f2FZUoolYQgLvxQEpJycXuQ5w==", + "requires": { + "@smithy/property-provider": "^3.1.3", + "@smithy/smithy-client": "^3.1.12", + "@smithy/types": "^3.3.0", + "bowser": "^2.11.0", + "tslib": "^2.6.2" + } + }, + "@smithy/util-defaults-mode-node": { + "version": "3.0.14", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-3.0.14.tgz", + "integrity": "sha512-e9uQarJKfXApkTMMruIdxHprhcXivH1flYCe8JRDTzkkLx8dA3V5J8GZlST9yfDiRWkJpZJlUXGN9Rc9Ade3OQ==", + "requires": { + "@smithy/config-resolver": "^3.0.5", + "@smithy/credential-provider-imds": "^3.2.0", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/property-provider": "^3.1.3", + "@smithy/smithy-client": "^3.1.12", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@smithy/util-endpoints": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-2.0.5.tgz", + "integrity": "sha512-ReQP0BWihIE68OAblC/WQmDD40Gx+QY1Ez8mTdFMXpmjfxSyz2fVQu3A4zXRfQU9sZXtewk3GmhfOHswvX+eNg==", + "requires": { + "@smithy/node-config-provider": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@smithy/util-hex-encoding": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-3.0.0.tgz", + "integrity": "sha512-eFndh1WEK5YMUYvy3lPlVmYY/fZcQE1D8oSf41Id2vCeIkKJXPcYDCZD+4+xViI6b1XSd7tE+s5AmXzz5ilabQ==", + "requires": { + "tslib": "^2.6.2" + } + }, + "@smithy/util-middleware": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-3.0.3.tgz", + "integrity": "sha512-l+StyYYK/eO3DlVPbU+4Bi06Jjal+PFLSMmlWM1BEwyLxZ3aKkf1ROnoIakfaA7mC6uw3ny7JBkau4Yc+5zfWw==", + "requires": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@smithy/util-retry": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-3.0.3.tgz", + "integrity": "sha512-AFw+hjpbtVApzpNDhbjNG5NA3kyoMs7vx0gsgmlJF4s+yz1Zlepde7J58zpIRIsdjc+emhpAITxA88qLkPF26w==", + "requires": { + "@smithy/service-error-classification": "^3.0.3", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@smithy/util-stream": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-3.1.3.tgz", + "integrity": "sha512-FIv/bRhIlAxC0U7xM1BCnF2aDRPq0UaelqBHkM2lsCp26mcBbgI0tCVTv+jGdsQLUmAMybua/bjDsSu8RQHbmw==", + "requires": { + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/types": "^3.3.0", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-buffer-from": "^3.0.0", + "@smithy/util-hex-encoding": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + } + }, + "@smithy/util-uri-escape": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-3.0.0.tgz", + "integrity": "sha512-LqR7qYLgZTD7nWLBecUi4aqolw8Mhza9ArpNEQ881MJJIU2sE5iHCK6TdyqqzcDLy0OPe10IY4T8ctVdtynubg==", + "requires": { + "tslib": "^2.6.2" + } + }, + "@smithy/util-utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", + "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", + "requires": { + "@smithy/util-buffer-from": "^3.0.0", + "tslib": "^2.6.2" + } + }, + "@smithy/util-waiter": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@smithy/util-waiter/-/util-waiter-3.1.2.tgz", + "integrity": "sha512-4pP0EV3iTsexDx+8PPGAKCQpd/6hsQBaQhqWzU4hqKPHN5epPsxKbvUTIiYIHTxaKt6/kEaqPBpu/ufvfbrRzw==", + "requires": { + "@smithy/abort-controller": "^3.1.1", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } }, "acorn": { "version": "8.10.0", @@ -4797,54 +7569,22 @@ "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", "dev": true }, - "athena-express": { - "version": "7.1.5", - "resolved": "https://registry.npmjs.org/athena-express/-/athena-express-7.1.5.tgz", - "integrity": "sha512-YLCaKQWyLDUjyHNH939H0eTTP/FbgZutx8vn5qzMUiAaMrS2DWaClL9g27nPMIad9QcJYdF1HIA6KfAH0c5txg==", + "athena-express-plus": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/athena-express-plus/-/athena-express-plus-8.1.0.tgz", + "integrity": "sha512-KljkMNbFTBQKURdwuQfE8pWYplFIvwynMi12fkMjjYb1jT4yZEytdZ40IiklwAGagPC61VO3nf0sVZsgKZ3vJA==", "requires": { + "@aws-sdk/client-athena": "^3.414.0", + "@aws-sdk/client-s3": "^3.414.0", "csvtojson": "^2.0.10" } }, - "available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" - }, - "aws-sdk": { - "version": "2.1513.0", - "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1513.0.tgz", - "integrity": "sha512-prgLj06P0Tiqlohz9mV916JZlZjnGhCftKNPOSZvTmKRyCUfbIIJnnBp/6HpkIe7ig7UGpWCXX72OPqVBrICpA==", - "requires": { - "buffer": "4.9.2", - "events": "1.1.1", - "ieee754": "1.1.13", - "jmespath": "0.16.0", - "querystring": "0.2.0", - "sax": "1.2.1", - "url": "0.10.3", - "util": "^0.12.4", - "uuid": "8.0.0", - "xml2js": "0.5.0" - }, - "dependencies": { - "uuid": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.0.0.tgz", - "integrity": "sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw==" - } - } - }, "balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - }, "binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", @@ -4856,6 +7596,11 @@ "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" }, + "bowser": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", + "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==" + }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -4893,16 +7638,6 @@ "update-browserslist-db": "^1.0.10" } }, - "buffer": { - "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", - "isarray": "^1.0.0" - } - }, "caching-transform": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz", @@ -4915,16 +7650,6 @@ "write-file-atomic": "^3.0.0" } }, - "call-bind": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", - "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", - "requires": { - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.1", - "set-function-length": "^1.1.1" - } - }, "callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", @@ -5050,9 +7775,9 @@ "dev": true }, "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, "requires": { "path-key": "^3.1.0", @@ -5135,16 +7860,6 @@ } } }, - "define-data-property": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", - "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", - "requires": { - "get-intrinsic": "^1.2.1", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" - } - }, "diff": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", @@ -5333,11 +8048,6 @@ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true }, - "events": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", - "integrity": "sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw==" - }, "fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -5356,6 +8066,14 @@ "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", "dev": true }, + "fast-xml-parser": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.4.1.tgz", + "integrity": "sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==", + "requires": { + "strnum": "^1.0.5" + } + }, "fastq": { "version": "1.15.0", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", @@ -5427,14 +8145,6 @@ "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", "dev": true }, - "for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "requires": { - "is-callable": "^1.1.3" - } - }, "foreground-child": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz", @@ -5464,11 +8174,6 @@ "dev": true, "optional": true }, - "function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" - }, "gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", @@ -5487,17 +8192,6 @@ "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", "dev": true }, - "get-intrinsic": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", - "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", - "requires": { - "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" - } - }, "get-package-type": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", @@ -5544,14 +8238,6 @@ "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "dev": true }, - "gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "requires": { - "get-intrinsic": "^1.1.3" - } - }, "graceful-fs": { "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", @@ -5570,32 +8256,6 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, - "has-property-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", - "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", - "requires": { - "get-intrinsic": "^1.2.2" - } - }, - "has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==" - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - }, - "has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "requires": { - "has-symbols": "^1.0.2" - } - }, "hasha": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz", @@ -5606,14 +8266,6 @@ "type-fest": "^0.8.0" } }, - "hasown": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", - "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", - "requires": { - "function-bind": "^1.1.2" - } - }, "he": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", @@ -5626,11 +8278,6 @@ "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "dev": true }, - "ieee754": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", - "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" - }, "ignore": { "version": "5.2.4", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", @@ -5680,16 +8327,8 @@ "inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true }, "is-binary-path": { "version": "2.1.0", @@ -5700,11 +8339,6 @@ "binary-extensions": "^2.0.0" } }, - "is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==" - }, "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -5717,14 +8351,6 @@ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true }, - "is-generator-function": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, "is-glob": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", @@ -5758,14 +8384,6 @@ "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "dev": true }, - "is-typed-array": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", - "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", - "requires": { - "which-typed-array": "^1.1.11" - } - }, "is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", @@ -5789,11 +8407,6 @@ "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", "dev": true }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -5873,11 +8486,6 @@ "istanbul-lib-report": "^3.0.0" } }, - "jmespath": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.16.0.tgz", - "integrity": "sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==" - }, "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -5983,8 +8591,7 @@ "lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" }, "log-symbols": { "version": "4.1.0", @@ -6538,11 +9145,6 @@ "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", "dev": true }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==" - }, "queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -6638,11 +9240,6 @@ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true }, - "sax": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz", - "integrity": "sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA==" - }, "semver": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", @@ -6664,17 +9261,6 @@ "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", "dev": true }, - "set-function-length": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", - "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", - "requires": { - "define-data-property": "^1.1.1", - "get-intrinsic": "^1.2.1", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" - } - }, "shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -6778,6 +9364,11 @@ "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true }, + "strnum": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", + "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" + }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -6830,6 +9421,11 @@ "is-number": "^7.0.0" } }, + "tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + }, "type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -6879,34 +9475,6 @@ "punycode": "^2.1.0" } }, - "url": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz", - "integrity": "sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ==", - "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": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==" - } - } - }, - "util": { - "version": "0.12.5", - "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", - "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", - "requires": { - "inherits": "^2.0.3", - "is-arguments": "^1.0.4", - "is-generator-function": "^1.0.7", - "is-typed-array": "^1.1.3", - "which-typed-array": "^1.1.2" - } - }, "uuid": { "version": "8.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", @@ -6928,18 +9496,6 @@ "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==", "dev": true }, - "which-typed-array": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz", - "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==", - "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.4", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" - } - }, "workerpool": { "version": "6.2.1", "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", @@ -6975,20 +9531,6 @@ "typedarray-to-buffer": "^3.1.5" } }, - "xml2js": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.5.0.tgz", - "integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==", - "requires": { - "sax": ">=0.6.0", - "xmlbuilder": "~11.0.0" - } - }, - "xmlbuilder": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", - "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==" - }, "y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", diff --git a/source/backend/functions/cost-parser/package.json b/source/backend/functions/cost-parser/package.json index 47775b18..e74f8991 100644 --- a/source/backend/functions/cost-parser/package.json +++ b/source/backend/functions/cost-parser/package.json @@ -1,6 +1,6 @@ { "name": "wd-cost", - "version": "2.1.15", + "version": "2.2.0", "description": "", "main": "index.js", "scripts": { @@ -20,9 +20,12 @@ }, "license": "Apache-2.0", "dependencies": { - "aws-sdk": "2.1513.0", + "@aws-lambda-powertools/logger": "2.10.0", + "@aws-sdk/client-athena": "3.621.0", + "@aws-sdk/client-ec2": "3.621.0", + "@aws-sdk/client-s3": "3.621.0", "add": "2.0.6", - "athena-express": "7.1.5", + "athena-express-plus": "^8.1.0", "csv-parse": "5.5.2", "dayjs": "1.11.5", "ramda": "0.28.0" diff --git a/source/backend/functions/cost-parser/src/athenaQueryBuilder.js b/source/backend/functions/cost-parser/src/athenaQueryBuilder.js index a85c5f3c..bcad6696 100644 --- a/source/backend/functions/cost-parser/src/athenaQueryBuilder.js +++ b/source/backend/functions/cost-parser/src/athenaQueryBuilder.js @@ -5,149 +5,149 @@ const R = require('ramda'); const dayjs = require('dayjs'); // Helper function that will app singe quotes to an array of values for use with IN SQL command. -const createINValues = (values) => R.map((value) => `'${value}'`, values); +const createINValues = values => R.map(value => `'${value}'`, values); -const dateValidator = (date) => { - if (dayjs(date).isValid()) return true; - else throw Error('Invalid date provided'); +const dateValidator = date => { + if (dayjs(date).isValid()) return true; + else throw Error('Invalid date provided'); }; -const accountIdValidator = (accountId) => { - if (/^\d{12}$/.test(accountId)) return true; - else throw Error('Invalid accountId'); +const accountIdValidator = accountId => { + if (/^\d{12}$/.test(accountId)) return true; + else throw Error('Invalid accountId'); }; const regionValidator = (region, regions) => { - if (R.includes(region, regions)) return true; - else throw Error('Invalid Region'); + if (R.includes(region, regions)) return true; + else throw Error('Invalid Region'); }; -const serviceNameValidator = (serviceName) => { - if (/^[\w\s\.\-]+$/.test(serviceName)) return true; - else throw Error('Invalid service name'); +const serviceNameValidator = serviceName => { + if (/^[\w\s\.\-]+$/.test(serviceName)) return true; + else throw Error('Invalid service name'); }; -const resourceIdValidator = (id) => { - return R.or( - /arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):.*/.test(id), - !/[!@#$%^&*(),.?"{}:|<>;]/.test(id) - ); +const resourceIdValidator = id => { + return R.or( + /arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):.*/.test(id), + !/[!@#$%^&*(),.?"{}:|<>;]/.test(id) + ); }; const getResourcesByCostQuery = ({ - cache, - accountIds = [], - athenaTableName, - regions = [], - period, + cache, + accountIds = [], + athenaTableName, + regions = [], + period, }) => { - try { - period && dateValidator(period.from); - period && dateValidator(period.to); - accountIds && R.map(accountIdValidator, accountIds); - regions && R.map((e) => regionValidator(e, cache.regions), regions); - - return `SELECT line_item_resource_id, product_servicename, line_item_usage_account_id, Array_join(Array_distinct(Array_agg(product_region)), '|') AS region, pricing_term, sum(line_item_unblended_cost) AS cost, line_item_currency_code FROM ${athenaTableName} WHERE line_item_usage_account_id IN (${createINValues( - accountIds - )}) AND product_region IN (${createINValues( - regions - )}) AND line_item_usage_start_date >= TIMESTAMP '${ - period.from - }' AND line_item_usage_end_date <= TIMESTAMP '${ - period.to - }' GROUP BY line_item_resource_id, product_servicename, pricing_term, line_item_usage_account_id, line_item_currency_code HAVING sum(line_item_unblended_cost) > 0 ORDER BY cost DESC;`; - } catch (err) { - console.error(err) - throw Error('Cannot build query'); - } + try { + period && dateValidator(period.from); + period && dateValidator(period.to); + accountIds && R.map(accountIdValidator, accountIds); + regions && R.map(e => regionValidator(e, cache.regions), regions); + + return `SELECT line_item_resource_id, product_servicename, line_item_usage_account_id, Array_join(Array_distinct(Array_agg(product_region)), '|') AS region, pricing_term, sum(line_item_unblended_cost) AS cost, line_item_currency_code FROM ${athenaTableName} WHERE line_item_usage_account_id IN (${createINValues( + accountIds + )}) AND product_region IN (${createINValues( + regions + )}) AND line_item_usage_start_date >= TIMESTAMP '${ + period.from + }' AND line_item_usage_end_date <= TIMESTAMP '${ + period.to + }' GROUP BY line_item_resource_id, product_servicename, pricing_term, line_item_usage_account_id, line_item_currency_code HAVING sum(line_item_unblended_cost) > 0 ORDER BY cost DESC;`; + } catch (err) { + console.error(err); + throw Error('Cannot build query'); + } }; const byServiceQuery = ({ - cache, - accountIds = [], - serviceName, - athenaTableName, - regions = [], - period, + cache, + accountIds = [], + serviceName, + athenaTableName, + regions = [], + period, }) => { - try { - period && dateValidator(period.from); - period && dateValidator(period.to); - accountIds && R.map(accountIdValidator, accountIds); - regions && R.map((e) => regionValidator(e, cache.regions), regions); - serviceName && serviceNameValidator(serviceName); - - return `SELECT product_servicename, line_item_usage_account_id, Array_join(Array_distinct(Array_agg(product_region)), '|') AS region, pricing_term, sum(line_item_unblended_cost) AS cost, line_item_currency_code FROM ${athenaTableName} WHERE line_item_usage_account_id IN (${createINValues( - accountIds - )}) AND product_region IN (${createINValues( - regions - )}) AND product_servicename LIKE '%${serviceName}%' AND line_item_usage_start_date >= TIMESTAMP '${ - period.from - }' AND line_item_usage_end_date <= TIMESTAMP '${ - period.to - }' GROUP BY product_servicename, line_item_usage_account_id, pricing_term, line_item_currency_code HAVING sum(line_item_unblended_cost) > 0 ORDER BY cost DESC;`; - } catch (err) { - throw Error('Cannot build query'); - } + try { + period && dateValidator(period.from); + period && dateValidator(period.to); + accountIds && R.map(accountIdValidator, accountIds); + regions && R.map(e => regionValidator(e, cache.regions), regions); + serviceName && serviceNameValidator(serviceName); + + return `SELECT product_servicename, line_item_usage_account_id, Array_join(Array_distinct(Array_agg(product_region)), '|') AS region, pricing_term, sum(line_item_unblended_cost) AS cost, line_item_currency_code FROM ${athenaTableName} WHERE line_item_usage_account_id IN (${createINValues( + accountIds + )}) AND product_region IN (${createINValues( + regions + )}) AND product_servicename LIKE '%${serviceName}%' AND line_item_usage_start_date >= TIMESTAMP '${ + period.from + }' AND line_item_usage_end_date <= TIMESTAMP '${ + period.to + }' GROUP BY product_servicename, line_item_usage_account_id, pricing_term, line_item_currency_code HAVING sum(line_item_unblended_cost) > 0 ORDER BY cost DESC;`; + } catch (err) { + throw Error('Cannot build query'); + } }; -const byResourceIdQuery = ({ resourceIds = [], athenaTableName, period }) => { - try { - period && dateValidator(period.from); - period && dateValidator(period.to); - } catch (err) { - throw Error('Cannot build query'); - } - const ids = R.reduce( - (acc, val) => { - if (resourceIdValidator(val)) acc.push(val); - return acc; - }, - [], - resourceIds - ); - - return `SELECT line_item_resource_id, product_servicename, line_item_usage_account_id, Array_join(Array_distinct(Array_agg(product_region)), '|') AS region, pricing_term, sum(line_item_unblended_cost) AS cost, line_item_currency_code FROM ${athenaTableName} WHERE line_item_resource_id IN (${createINValues( - ids - )}) AND line_item_usage_start_date >= TIMESTAMP '${ - period.from - }' AND line_item_usage_end_date <= TIMESTAMP '${ - period.to - }' GROUP BY line_item_resource_id, product_servicename, line_item_usage_account_id, pricing_term, line_item_currency_code HAVING sum(line_item_unblended_cost) > 0 ORDER BY cost DESC;`; +const byResourceIdQuery = ({resourceIds = [], athenaTableName, period}) => { + try { + period && dateValidator(period.from); + period && dateValidator(period.to); + } catch (err) { + throw Error('Cannot build query'); + } + const ids = R.reduce( + (acc, val) => { + if (resourceIdValidator(val)) acc.push(val); + return acc; + }, + [], + resourceIds + ); + + return `SELECT line_item_resource_id, product_servicename, line_item_usage_account_id, Array_join(Array_distinct(Array_agg(product_region)), '|') AS region, pricing_term, sum(line_item_unblended_cost) AS cost, line_item_currency_code FROM ${athenaTableName} WHERE line_item_resource_id IN (${createINValues( + ids + )}) AND line_item_usage_start_date >= TIMESTAMP '${ + period.from + }' AND line_item_usage_end_date <= TIMESTAMP '${ + period.to + }' GROUP BY line_item_resource_id, product_servicename, line_item_usage_account_id, pricing_term, line_item_currency_code HAVING sum(line_item_unblended_cost) > 0 ORDER BY cost DESC;`; }; const byResourceIdOrderedByDayQuery = ({ - resourceIds = [], - athenaTableName, - period, + resourceIds = [], + athenaTableName, + period, }) => { - try { - period && dateValidator(period.from); - period && dateValidator(period.to); - } catch (err) { - throw Error('Cannot build query'); - } - const ids = R.reduce( - (acc, val) => { - if (resourceIdValidator(val)) acc.push(val); - return acc; - }, - [], - resourceIds - ); - - return `SELECT line_item_resource_id, product_servicename, line_item_usage_account_id, Array_join(Array_distinct(Array_agg(product_region)), '|') AS region, pricing_term, line_item_usage_start_date, sum(line_item_unblended_cost) AS cost, line_item_currency_code FROM ${athenaTableName} WHERE line_item_resource_id IN (${createINValues( - ids - )}) AND line_item_usage_start_date >= TIMESTAMP '${ - period.from - }' AND line_item_usage_end_date <= TIMESTAMP '${ - period.to - }' GROUP BY line_item_resource_id, product_servicename, line_item_usage_account_id, pricing_term, line_item_usage_start_date, line_item_currency_code HAVING sum(line_item_unblended_cost) > 0 ORDER BY line_item_usage_start_date DESC;`; + try { + period && dateValidator(period.from); + period && dateValidator(period.to); + } catch (err) { + throw Error('Cannot build query'); + } + const ids = R.reduce( + (acc, val) => { + if (resourceIdValidator(val)) acc.push(val); + return acc; + }, + [], + resourceIds + ); + + return `SELECT line_item_resource_id, product_servicename, line_item_usage_account_id, Array_join(Array_distinct(Array_agg(product_region)), '|') AS region, pricing_term, line_item_usage_start_date, sum(line_item_unblended_cost) AS cost, line_item_currency_code FROM ${athenaTableName} WHERE line_item_resource_id IN (${createINValues( + ids + )}) AND line_item_usage_start_date >= TIMESTAMP '${ + period.from + }' AND line_item_usage_end_date <= TIMESTAMP '${ + period.to + }' GROUP BY line_item_resource_id, product_servicename, line_item_usage_account_id, pricing_term, line_item_usage_start_date, line_item_currency_code HAVING sum(line_item_unblended_cost) > 0 ORDER BY line_item_usage_start_date DESC;`; }; module.exports = { - getResourcesByCostQuery, - byServiceQuery, - byResourceIdQuery, - byResourceIdOrderedByDayQuery + getResourcesByCostQuery, + byServiceQuery, + byResourceIdQuery, + byResourceIdOrderedByDayQuery, }; diff --git a/source/backend/functions/cost-parser/src/index.js b/source/backend/functions/cost-parser/src/index.js index 913f3e4f..5efb1a1c 100644 --- a/source/backend/functions/cost-parser/src/index.js +++ b/source/backend/functions/cost-parser/src/index.js @@ -3,8 +3,10 @@ const add = require('add'); const {parse} = require('csv-parse'); -const AWS = require('aws-sdk'); -const ec2 = new AWS.EC2(); +const {Athena} = require('@aws-sdk/client-athena'); +const {S3} = require('@aws-sdk/client-s3'); +const {EC2} = require('@aws-sdk/client-ec2'); +const {Logger} = require('@aws-lambda-powertools/logger'); const R = require('ramda'); const athenaQueryBuilder = require('./athenaQueryBuilder'); @@ -16,25 +18,32 @@ const { CustomUserAgent: customUserAgent, } = process.env; -const s3 = new AWS.S3({ +const athena = new Athena({}); + +const logger = new Logger({serviceName: 'WdCostQuery'}); + +const s3 = new S3({ customUserAgent: customUserAgent, apiVersion: '2006-03-01', }); +const ec2 = new EC2({}); -const AthenaExpress = require('athena-express'), - aws = AWS; +const AthenaExpress = require('athena-express-plus'); /* Configuration object for athena-express library. - db - specified as an envrionment variable and can be found in the Athena console. - s3 - athena-express will store ALL results in this bucket. + db - database name, specified as an envrionment variable and can be found in the Athena console. + s3 - s3 client + athena - athea client + s3Bucket - athena-express will store ALL results in this bucket. skipResults - athena-express will NOT return results to the Lambda function, but stores them in S3 instead. getStats - athena-express will return basic query statistics from Athena e.g. cost, data scanned. workgroup - the Athena workgroup to use when executing a query. */ const athenaExpressConfig = { - aws, + athena: athena, db: athenaDatabaseName, - s3: athenaResultsBucketName, + s3, + s3Bucket: athenaResultsBucketName, skipResults: true, getStats: true, workgroup: athenaWorkgroup, @@ -45,10 +54,10 @@ const athenaExpress = new AthenaExpress(athenaExpressConfig); const retryDelay = 1500; // Helper function to sleep for a given number of milliseconds -const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms)); +const sleep = ms => new Promise(resolve => setTimeout(resolve, ms)); // Helper function that will parse the return S3 URL from athena-express and return the bucket name and the key. -const parseS3URL = (url) => { +const parseS3URL = url => { return ( url && { Bucket: url.match(/^[sS]3:\/\/(.*?)\/(.*)/)[1], @@ -69,19 +78,22 @@ async function reduce(f, initial, stream) { } async function buildTotalCost(s3, query) { - const stream = s3.getObject({Bucket: query.bucket, Key: query.key}).createReadStream() - .pipe(parse({columns: true})); + const {Body} = await s3.getObject({Bucket: query.bucket, Key: query.key}); + const stream = Body.pipe(parse({columns: true})); - return reduce((acc, {cost}) => { - return add([acc, parseFloat(cost)]); - }, 0, stream) - .then(cost => parseFloat(parseFloat(cost).toFixed(2))); + return reduce( + (acc, {cost}) => { + return add([acc, parseFloat(cost)]); + }, + 0, + stream + ).then(cost => parseFloat(parseFloat(cost).toFixed(2))); } //Counts the number of results returned by Athena in the S3 result csv. async function getResultCount(s3, query) { - const stream = s3.getObject({Bucket: query.bucket, Key: query.key}).createReadStream() - .pipe(parse({columns: true})); + const {Body} = await s3.getObject({Bucket: query.bucket, Key: query.key}); + const stream = Body.pipe(parse({columns: true})); return reduce((acc, _) => acc + 1, 0, stream); } @@ -91,29 +103,32 @@ function createCostItem(item) { // Global services such as S3 often have two line items, one in the region you created the bucket and then // us-east-1. These cases return a string that is delimited with `|`, i.e., `region: eu-west-1|us-east-1`, // that must be parsed. - const region = parsed.length > 1 ? R.head(R.reject(x => x === 'us-east-1', parsed)) : R.head(parsed) + const region = + parsed.length > 1 + ? R.head(R.reject(x => x === 'us-east-1', parsed)) + : R.head(parsed); return { ...item, cost: parseFloat(parseFloat(item.cost).toFixed(2)), - region + region, }; } // Creates and returns an array of cost items requested in the API. const getCostItems = async (s3, query) => { const {start, end} = query.pagination ?? {start: 0, end: 100}; - const stream = s3.getObject({Bucket: query.bucket, Key: query.key}).createReadStream() - .pipe(parse({columns: true})); + const {Body} = await s3.getObject({Bucket: query.bucket, Key: query.key}); + const stream = Body.pipe(parse({columns: true})); const result = []; let count = 0; // When the Readable API is stable we can make this declarative by using the `drop`, // `take`, `map` and `reduce` methods. - for await(const item of stream) { + for await (const item of stream) { if (count === end) break; - if ((count >= start) || (count > end)) { + if (count >= start || count > end) { result.push(createCostItem(item)); } count++; @@ -145,12 +160,12 @@ const enrichQueryDetails = async (s3, query, queryDetails) => { async function fetchPaginatedResults(s3, query) { const [costItems, queryDetails] = await Promise.all([ getCostItems(s3, query), - enrichQueryDetails(s3, query, query.queryDetails) + enrichQueryDetails(s3, query, query.queryDetails), ]); return { costItems, - queryDetails + queryDetails, }; } @@ -172,11 +187,14 @@ async function readResultsFromS3(s3, query) { } // Build queryDetails from the athena-express response. This provides us with the location of the results CSV in S3 and some metadata about the Athena query -const buildQueryDetails = (result) => { +const buildQueryDetails = result => { return { queryDetails: { cost: R.prop('QueryCostInUSD', result), - s3Bucket: R.prop('Bucket', parseS3URL(R.prop('S3Location', result))), + s3Bucket: R.prop( + 'Bucket', + parseS3URL(R.prop('S3Location', result)) + ), s3Key: R.prop('Key', parseS3URL(R.prop('S3Location', result))), dataScannedInMB: R.prop('DataScannedInMB', result), }, @@ -193,7 +211,7 @@ const buildQueryDetails = (result) => { function getCost(sqlQuery, {pagination = {start: 0, end: 10}}, attempts = 0) { return Promise.resolve(athenaExpress.query(sqlQuery)) .then(buildQueryDetails) - .then((query) => + .then(query => readResultsFromS3(s3, { cost: query.queryDetails.cost, bucket: query.queryDetails.s3Bucket, @@ -202,12 +220,12 @@ function getCost(sqlQuery, {pagination = {start: 0, end: 10}}, attempts = 0) { queryDetails: query.queryDetails, }) ) - .catch(async (err) => { + .catch(async err => { if (attempts < 3) { await sleep(attempts * retryDelay); return getCost(sqlQuery, {pagination}, attempts + 1); } else { - console.error(err); + logger.error(err); return err; } }); @@ -217,14 +235,25 @@ const cache = {}; async function getRegions() { // make call to aws api to get regions - const {Regions} = await ec2.describeRegions({}).promise(); + const {Regions} = await ec2.describeRegions(); return R.pluck('RegionName', Regions); } exports.handler = async (event, context) => { + const fieldName = event.info.fieldName; + + const {username} = event.identity; + logger.info(`User ${username} invoked the ${fieldName} operation.`); + const args = event.arguments; + logger.info( + 'GraphQL arguments:', + {arguments: args, operation: fieldName} + ); + if (R.isNil(cache.regions)) cache.regions = await getRegions(); - switch (event.info.fieldName) { + + switch (fieldName) { case 'readResultsFromS3': return fetchPaginatedResults(s3, {...args.s3Query}); case 'getResourcesByCostByDay': @@ -264,6 +293,8 @@ exports.handler = async (event, context) => { {athenaTableName, ...args.costForServiceQuery} ); default: - return Promise.reject('Unknown field, unable to resolve ' + event.field); + return Promise.reject( + 'Unknown field, unable to resolve ' + fieldName + ); } -} +}; diff --git a/source/backend/functions/cost-parser/test/aggregator-cost-test.js b/source/backend/functions/cost-parser/test/aggregator-cost-test.js index 28ebd970..9cbe1f81 100644 --- a/source/backend/functions/cost-parser/test/aggregator-cost-test.js +++ b/source/backend/functions/cost-parser/test/aggregator-cost-test.js @@ -3,70 +3,64 @@ async function get() { return { - Items: [ - { - line_item_usage_account_id: 'XXXXXXXXXXXX', - line_item_usage_start_date: '2020-11-22 00:00:00.000', - line_item_usage_end_date: '2020-11-22 01:00:00.000', - line_item_currency_code: 'USD', - line_item_unblended_cost: 4, - line_item_resource_id: - 'a-resource-1', - product_region: 'ap-northeast-1', - product_servicename: 'AWS CloudTrail', - pricing_term: 'OnDemand', - }, - { - line_item_usage_account_id: 'XXXXXXXXXXXX', - line_item_usage_start_date: '2020-11-22 00:00:00.000', - line_item_usage_end_date: '2020-11-22 01:00:00.000', - line_item_currency_code: 'USD', - line_item_unblended_cost: 10, - line_item_resource_id: - 'a-resource-1', - product_region: 'ap-northeast-1', - product_servicename: 'AWS CloudTrail', - pricing_term: 'OnDemand', - }, - { - line_item_usage_account_id: 'XXXXXXXXXXXX', - line_item_usage_start_date: '2020-11-22 00:00:00.000', - line_item_usage_end_date: '2020-11-22 01:00:00.000', - line_item_currency_code: 'USD', - line_item_unblended_cost: 6, - line_item_resource_id: - 'a-resource-1', - product_region: 'ap-northeast-1', - product_servicename: 'AWS CloudTrail', - pricing_term: 'OnDemand', - }, - { - line_item_usage_account_id: 'XXXXXXXXXXXX', - line_item_usage_start_date: '2020-11-22 00:00:00.000', - line_item_usage_end_date: '2020-11-22 01:00:00.000', - line_item_currency_code: 'USD', - line_item_unblended_cost: 6, - line_item_resource_id: - 'a-resource-1', - product_region: 'ap-northeast-1', - product_servicename: 'AWS CloudTrail', - pricing_term: 'OnDemand', - }, - { - line_item_usage_account_id: 'XXXXXXXXXXXX', - line_item_usage_start_date: '2020-11-22 00:00:00.000', - line_item_usage_end_date: '2020-11-22 01:00:00.000', - line_item_currency_code: 'USD', - line_item_unblended_cost: 4, - line_item_resource_id: - 'a-resource-2', - product_region: 'ap-northeast-1', - product_servicename: 'AWS Lambda', - pricing_term: 'OnDemand', - }, - ], + Items: [ + { + line_item_usage_account_id: 'XXXXXXXXXXXX', + line_item_usage_start_date: '2020-11-22 00:00:00.000', + line_item_usage_end_date: '2020-11-22 01:00:00.000', + line_item_currency_code: 'USD', + line_item_unblended_cost: 4, + line_item_resource_id: 'a-resource-1', + product_region: 'ap-northeast-1', + product_servicename: 'AWS CloudTrail', + pricing_term: 'OnDemand', + }, + { + line_item_usage_account_id: 'XXXXXXXXXXXX', + line_item_usage_start_date: '2020-11-22 00:00:00.000', + line_item_usage_end_date: '2020-11-22 01:00:00.000', + line_item_currency_code: 'USD', + line_item_unblended_cost: 10, + line_item_resource_id: 'a-resource-1', + product_region: 'ap-northeast-1', + product_servicename: 'AWS CloudTrail', + pricing_term: 'OnDemand', + }, + { + line_item_usage_account_id: 'XXXXXXXXXXXX', + line_item_usage_start_date: '2020-11-22 00:00:00.000', + line_item_usage_end_date: '2020-11-22 01:00:00.000', + line_item_currency_code: 'USD', + line_item_unblended_cost: 6, + line_item_resource_id: 'a-resource-1', + product_region: 'ap-northeast-1', + product_servicename: 'AWS CloudTrail', + pricing_term: 'OnDemand', + }, + { + line_item_usage_account_id: 'XXXXXXXXXXXX', + line_item_usage_start_date: '2020-11-22 00:00:00.000', + line_item_usage_end_date: '2020-11-22 01:00:00.000', + line_item_currency_code: 'USD', + line_item_unblended_cost: 6, + line_item_resource_id: 'a-resource-1', + product_region: 'ap-northeast-1', + product_servicename: 'AWS CloudTrail', + pricing_term: 'OnDemand', + }, + { + line_item_usage_account_id: 'XXXXXXXXXXXX', + line_item_usage_start_date: '2020-11-22 00:00:00.000', + line_item_usage_end_date: '2020-11-22 01:00:00.000', + line_item_currency_code: 'USD', + line_item_unblended_cost: 4, + line_item_resource_id: 'a-resource-2', + product_region: 'ap-northeast-1', + product_servicename: 'AWS Lambda', + pricing_term: 'OnDemand', + }, + ], }; - } - - module.exports = { get }; - \ No newline at end of file +} + +module.exports = {get}; diff --git a/source/backend/functions/cost-parser/test/data/readResultsFromS3/expected/default.json b/source/backend/functions/cost-parser/test/data/readResultsFromS3/expected/default.json index 82bbbba4..a3dce337 100644 --- a/source/backend/functions/cost-parser/test/data/readResultsFromS3/expected/default.json +++ b/source/backend/functions/cost-parser/test/data/readResultsFromS3/expected/default.json @@ -1,95 +1,95 @@ { - "totalCost": 6.65, - "costItems": [ - { - "line_item_resource_id": "vol-", - "product_servicename": "Amazon Elastic Compute Cloud", - "line_item_usage_account_id": "xxxxxxxxxxxx", - "region": "eu-west-1", - "pricing_term": "OnDemand", - "cost": 0.8, - "line_item_currency_code": "USD" - }, - { - "line_item_resource_id": "vol-", - "product_servicename": "Amazon Elastic Compute Cloud", - "line_item_usage_account_id": "xxxxxxxxxxxx", - "region": "eu-west-1", - "pricing_term": "OnDemand", - "cost": 0.8, - "line_item_currency_code": "USD" - }, - { - "line_item_resource_id": "arn:aws:connect::", - "product_servicename": "Contact Center Telecommunications (service sold by AMCS, LLC) ", - "line_item_usage_account_id": "xxxxxxxxxxxx", - "region": "eu-west-2", - "pricing_term": "OnDemand", - "cost": 0.77, - "line_item_currency_code": "USD" - }, - { - "line_item_resource_id": "arn:aws:connect:::phone-number/", - "product_servicename": "Contact Center Telecommunications (service sold by AMCS, LLC) ", - "line_item_usage_account_id": "xxxxxxxxxxxx", - "region": "eu-west-2", - "pricing_term": "OnDemand", - "cost": 0.77, - "line_item_currency_code": "USD" - }, - { - "line_item_resource_id": "arn:aws:connect:::phone-number/", - "product_servicename": "Contact Center Telecommunications (service sold by AMCS, LLC) ", - "line_item_usage_account_id": "xxxxxxxxxxxx", - "region": "eu-west-2", - "pricing_term": "OnDemand", - "cost": 0.77, - "line_item_currency_code": "USD" - }, - { - "line_item_resource_id": "arn:aws:connect:::phone-number/", - "product_servicename": "Contact Center Telecommunications (service sold by AMCS, LLC) ", - "line_item_usage_account_id": "xxxxxxxxxxxx", - "region": "eu-west-2", - "pricing_term": "OnDemand", - "cost": 0.77, - "line_item_currency_code": "USD" - }, - { - "line_item_resource_id": "", - "product_servicename": "Amazon Macie", - "line_item_usage_account_id": "xxxxxxxxxxxx", - "region": "eu-west-1", - "pricing_term": "OnDemand", - "cost": 0.71, - "line_item_currency_code": "USD" - }, - { - "line_item_resource_id": "", - "product_servicename": "Contact Center Telecommunications (service sold by AMCS, LLC) ", - "line_item_usage_account_id": "xxxxxxxxxxxx", - "region": "eu-west-2", - "pricing_term": "OnDemand", - "cost": 0.67, - "line_item_currency_code": "USD" - }, - { - "line_item_resource_id": "", - "product_servicename": "Amazon Inspector", - "line_item_usage_account_id": "xxxxxxxxxxxx", - "region": "eu-west-2", - "pricing_term": "OnDemand", - "cost": 0.6, - "line_item_currency_code": "USD" + "totalCost": 6.65, + "costItems": [ + { + "line_item_resource_id": "vol-", + "product_servicename": "Amazon Elastic Compute Cloud", + "line_item_usage_account_id": "xxxxxxxxxxxx", + "region": "eu-west-1", + "pricing_term": "OnDemand", + "cost": 0.8, + "line_item_currency_code": "USD" + }, + { + "line_item_resource_id": "vol-", + "product_servicename": "Amazon Elastic Compute Cloud", + "line_item_usage_account_id": "xxxxxxxxxxxx", + "region": "eu-west-1", + "pricing_term": "OnDemand", + "cost": 0.8, + "line_item_currency_code": "USD" + }, + { + "line_item_resource_id": "arn:aws:connect::", + "product_servicename": "Contact Center Telecommunications (service sold by AMCS, LLC) ", + "line_item_usage_account_id": "xxxxxxxxxxxx", + "region": "eu-west-2", + "pricing_term": "OnDemand", + "cost": 0.77, + "line_item_currency_code": "USD" + }, + { + "line_item_resource_id": "arn:aws:connect:::phone-number/", + "product_servicename": "Contact Center Telecommunications (service sold by AMCS, LLC) ", + "line_item_usage_account_id": "xxxxxxxxxxxx", + "region": "eu-west-2", + "pricing_term": "OnDemand", + "cost": 0.77, + "line_item_currency_code": "USD" + }, + { + "line_item_resource_id": "arn:aws:connect:::phone-number/", + "product_servicename": "Contact Center Telecommunications (service sold by AMCS, LLC) ", + "line_item_usage_account_id": "xxxxxxxxxxxx", + "region": "eu-west-2", + "pricing_term": "OnDemand", + "cost": 0.77, + "line_item_currency_code": "USD" + }, + { + "line_item_resource_id": "arn:aws:connect:::phone-number/", + "product_servicename": "Contact Center Telecommunications (service sold by AMCS, LLC) ", + "line_item_usage_account_id": "xxxxxxxxxxxx", + "region": "eu-west-2", + "pricing_term": "OnDemand", + "cost": 0.77, + "line_item_currency_code": "USD" + }, + { + "line_item_resource_id": "", + "product_servicename": "Amazon Macie", + "line_item_usage_account_id": "xxxxxxxxxxxx", + "region": "eu-west-1", + "pricing_term": "OnDemand", + "cost": 0.71, + "line_item_currency_code": "USD" + }, + { + "line_item_resource_id": "", + "product_servicename": "Contact Center Telecommunications (service sold by AMCS, LLC) ", + "line_item_usage_account_id": "xxxxxxxxxxxx", + "region": "eu-west-2", + "pricing_term": "OnDemand", + "cost": 0.67, + "line_item_currency_code": "USD" + }, + { + "line_item_resource_id": "", + "product_servicename": "Amazon Inspector", + "line_item_usage_account_id": "xxxxxxxxxxxx", + "region": "eu-west-2", + "pricing_term": "OnDemand", + "cost": 0.6, + "line_item_currency_code": "USD" + } + ], + "queryDetails": { + "resultCount": 9, + "pagination": { + "start": 0, + "end": 100 + }, + "s3Bucket": "myBucket", + "s3Key": "myKey" } - ], - "queryDetails": { - "resultCount": 9, - "pagination": { - "start": 0, - "end": 100 - }, - "s3Bucket": "myBucket", - "s3Key": "myKey" - } } diff --git a/source/backend/functions/cost-parser/test/data/readResultsFromS3/expected/paginated.json b/source/backend/functions/cost-parser/test/data/readResultsFromS3/expected/paginated.json index bfbbcbdb..a98b1501 100644 --- a/source/backend/functions/cost-parser/test/data/readResultsFromS3/expected/paginated.json +++ b/source/backend/functions/cost-parser/test/data/readResultsFromS3/expected/paginated.json @@ -1,32 +1,32 @@ { - "totalCost": 6.65, - "costItems": [ - { - "line_item_resource_id": "arn:aws:connect::", - "product_servicename": "Contact Center Telecommunications (service sold by AMCS, LLC) ", - "line_item_usage_account_id": "xxxxxxxxxxxx", - "region": "eu-west-2", - "pricing_term": "OnDemand", - "cost": 0.77, - "line_item_currency_code": "USD" - }, - { - "line_item_resource_id": "arn:aws:connect:::phone-number/", - "product_servicename": "Contact Center Telecommunications (service sold by AMCS, LLC) ", - "line_item_usage_account_id": "xxxxxxxxxxxx", - "region": "eu-west-2", - "pricing_term": "OnDemand", - "cost": 0.77, - "line_item_currency_code": "USD" + "totalCost": 6.65, + "costItems": [ + { + "line_item_resource_id": "arn:aws:connect::", + "product_servicename": "Contact Center Telecommunications (service sold by AMCS, LLC) ", + "line_item_usage_account_id": "xxxxxxxxxxxx", + "region": "eu-west-2", + "pricing_term": "OnDemand", + "cost": 0.77, + "line_item_currency_code": "USD" + }, + { + "line_item_resource_id": "arn:aws:connect:::phone-number/", + "product_servicename": "Contact Center Telecommunications (service sold by AMCS, LLC) ", + "line_item_usage_account_id": "xxxxxxxxxxxx", + "region": "eu-west-2", + "pricing_term": "OnDemand", + "cost": 0.77, + "line_item_currency_code": "USD" + } + ], + "queryDetails": { + "resultCount": 9, + "pagination": { + "start": 2, + "end": 4 + }, + "s3Bucket": "myBucket", + "s3Key": "myKey" } - ], - "queryDetails": { - "resultCount": 9, - "pagination": { - "start": 2, - "end": 4 - }, - "s3Bucket": "myBucket", - "s3Key": "myKey" - } } diff --git a/source/backend/functions/cost-parser/test/data/regions.js b/source/backend/functions/cost-parser/test/data/regions.js index b5adbe55..4cb963f0 100644 --- a/source/backend/functions/cost-parser/test/data/regions.js +++ b/source/backend/functions/cost-parser/test/data/regions.js @@ -1,19 +1,19 @@ function getRegions() { - return { - regions: [ - 'ap-south-1', - 'eu-west-1', - 'ap-southeast-1', - 'ap-southeast-2', - 'eu-central-1', - 'ap-northeast-2', - 'ap-northeast-1', - 'us-east-1', - 'sa-east-1', - 'us-west-1', - 'us-west-2', - ], - }; + return { + regions: [ + 'ap-south-1', + 'eu-west-1', + 'ap-southeast-1', + 'ap-southeast-2', + 'eu-central-1', + 'ap-northeast-2', + 'ap-northeast-1', + 'us-east-1', + 'sa-east-1', + 'us-west-1', + 'us-west-2', + ], + }; } -module.exports = { getRegions }; +module.exports = {getRegions}; diff --git a/source/backend/functions/cost-parser/test/index.js b/source/backend/functions/cost-parser/test/index.js index 80e30bcc..f1d40f41 100644 --- a/source/backend/functions/cost-parser/test/index.js +++ b/source/backend/functions/cost-parser/test/index.js @@ -1,25 +1,22 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -const fs = require('fs'); +const fs = require('node:fs'); const rewire = require('rewire'); -const mockedEnv = require('mocked-env') +const mockedEnv = require('mocked-env'); const athenaQueryBuilder = rewire('../src/athenaQueryBuilder'); -const { assert } = require('chai'); -const { getRegions } = require('./data/regions'); -const expectedPaginatedReadResultsFromS3 = require("./data/readResultsFromS3/expected/paginated.json"); +const {assert} = require('chai'); +const {getRegions} = require('./data/regions'); +const expectedPaginatedReadResultsFromS3 = require('./data/readResultsFromS3/expected/paginated.json'); describe('testing the lambda handler', () => { - const mockS3Client = { getObject() { return { - createReadStream() { - return fs.createReadStream('./test/data/commaServiceName.csv') - } - } - } - } + Body: fs.createReadStream('./test/data/commaServiceName.csv'), + }; + }, + }; let restore = null; @@ -27,8 +24,8 @@ describe('testing the lambda handler', () => { restore = mockedEnv({ AWS_ACCESS_KEY_ID: 'myAccessKeyId', AWS_SECRET_ACCESS_KEY: 'mySecretAccessKey', - AWS_REGION: 'eu-west-1' - }) + AWS_REGION: 'eu-west-1', + }); }); after(() => restore()); @@ -42,7 +39,10 @@ describe('testing the lambda handler', () => { const index = rewire('../src/index.js'); const readResultsFromS3 = index.__get__('readResultsFromS3'); - const actual = await readResultsFromS3(mockS3Client, {bucket: 'myBucket', key: 'myKey'}); + const actual = await readResultsFromS3(mockS3Client, { + bucket: 'myBucket', + key: 'myKey', + }); assert.deepEqual(actual, expectedDefaultReadResultsFromS3); }); @@ -50,555 +50,563 @@ describe('testing the lambda handler', () => { const index = rewire('../src/index.js'); const readResultsFromS3 = index.__get__('readResultsFromS3'); - const actual = await readResultsFromS3(mockS3Client, {bucket: 'myBucket', key: 'myKey', pagination: {start: 2, end: 4}}); + const actual = await readResultsFromS3(mockS3Client, { + bucket: 'myBucket', + key: 'myKey', + pagination: {start: 2, end: 4}, + }); assert.deepEqual(actual, expectedPaginatedReadResultsFromS3); }); - }); describe('fetchPaginatedResults', () => { - it('should get cost items for paginated request', async () => { const index = rewire('../src/index.js'); - const fetchPaginatedResults = index.__get__('fetchPaginatedResults'); + const fetchPaginatedResults = index.__get__( + 'fetchPaginatedResults' + ); - const actual = await fetchPaginatedResults(mockS3Client, { - bucket: 'myBucket', - key: 'myKey', - pagination: {start: 2, end: 4}}, + const actual = await fetchPaginatedResults( + mockS3Client, + { + bucket: 'myBucket', + key: 'myKey', + pagination: {start: 2, end: 4}, + }, { - "resultCount": 9, - "pagination": { - "start": 0, - "end": 100 + resultCount: 9, + pagination: { + start: 0, + end: 100, }, - "s3Bucket": "myBucket", - "s3Key": "myKey" + s3Bucket: 'myBucket', + s3Key: 'myKey', } ); - const {costItems, queryDetails} = expectedPaginatedReadResultsFromS3; + const {costItems, queryDetails} = + expectedPaginatedReadResultsFromS3; assert.deepEqual(actual, {costItems, queryDetails}); }); - }); - }); describe('testing the athena query builder', () => { + describe('getResourcesByCostQuery', () => { + it('should return a valid sql query string that Athena can process', async () => { + const getResourcesByCostQuery = athenaQueryBuilder.__get__( + 'getResourcesByCostQuery' + ); - describe('getResourcesByCostQuery', () => { - - it('should return a valid sql query string that Athena can process', async () => { - const getResourcesByCostQuery = athenaQueryBuilder.__get__( - 'getResourcesByCostQuery' - ); - - const accountIds = ['123456789012', '123456789013', '123456789014']; - const regions = ['eu-west-1', 'us-east-1']; - const athenaTableName = 'test-table'; - const from = '2020-01-01 00:00:00.000'; - const to = '2020-01-21 00:00:00.000'; - - const queryResult = `SELECT line_item_resource_id, product_servicename, line_item_usage_account_id, Array_join(Array_distinct(Array_agg(product_region)), '|') AS region, pricing_term, sum(line_item_unblended_cost) AS cost, line_item_currency_code FROM test-table WHERE line_item_usage_account_id IN ('123456789012','123456789013','123456789014') AND product_region IN ('eu-west-1','us-east-1') AND line_item_usage_start_date >= TIMESTAMP '2020-01-01 00:00:00.000' AND line_item_usage_end_date <= TIMESTAMP '2020-01-21 00:00:00.000' GROUP BY line_item_resource_id, product_servicename, pricing_term, line_item_usage_account_id, line_item_currency_code HAVING sum(line_item_unblended_cost) > 0 ORDER BY cost DESC;`; - const actual = getResourcesByCostQuery({ - cache: getRegions(), - accountIds: accountIds, - regions: regions, - athenaTableName: athenaTableName, - period: { from: from, to: to }, - }); - - assert.deepEqual(actual, queryResult); - }); + const accountIds = ['123456789012', '123456789013', '123456789014']; + const regions = ['eu-west-1', 'us-east-1']; + const athenaTableName = 'test-table'; + const from = '2020-01-01 00:00:00.000'; + const to = '2020-01-21 00:00:00.000'; + + const queryResult = `SELECT line_item_resource_id, product_servicename, line_item_usage_account_id, Array_join(Array_distinct(Array_agg(product_region)), '|') AS region, pricing_term, sum(line_item_unblended_cost) AS cost, line_item_currency_code FROM test-table WHERE line_item_usage_account_id IN ('123456789012','123456789013','123456789014') AND product_region IN ('eu-west-1','us-east-1') AND line_item_usage_start_date >= TIMESTAMP '2020-01-01 00:00:00.000' AND line_item_usage_end_date <= TIMESTAMP '2020-01-21 00:00:00.000' GROUP BY line_item_resource_id, product_servicename, pricing_term, line_item_usage_account_id, line_item_currency_code HAVING sum(line_item_unblended_cost) > 0 ORDER BY cost DESC;`; + const actual = getResourcesByCostQuery({ + cache: getRegions(), + accountIds: accountIds, + regions: regions, + athenaTableName: athenaTableName, + period: {from: from, to: to}, + }); + + assert.deepEqual(actual, queryResult); + }); - it('should throw an Error as the from date is invalid', async () => { - const getResourcesByCostQuery = athenaQueryBuilder.__get__( - 'getResourcesByCostQuery' - ); - - const accountIds = ['123456789012', '123456789013', '123456789014']; - const regions = ['eu-west-1', 'us-east-1']; - const athenaTableName = 'test-table'; - const from = ';Select * from nastypasty'; - const to = '2020-01-02 00:00:00.000'; - - assert.throws( - () => - getResourcesByCostQuery({ - cache: getRegions(), - accountIds: accountIds, - regions: regions, - athenaTableName: athenaTableName, - period: { from: from, to: to }, - }), - Error, - `Cannot build query` - ); - }); + it('should throw an Error as the from date is invalid', async () => { + const getResourcesByCostQuery = athenaQueryBuilder.__get__( + 'getResourcesByCostQuery' + ); - it('should throw an Error as the to date is invalid', async () => { - const getResourcesByCostQuery = athenaQueryBuilder.__get__( - 'getResourcesByCostQuery' - ); - - const accountIds = ['123456789012', '123456789013', '123456789014']; - const regions = ['eu-west-1', 'us-east-1']; - const athenaTableName = 'test-table'; - const from = '2020-01-01 00:00:00.000'; - const to = ';Select * from nastypasty'; - - assert.throws( - () => - getResourcesByCostQuery({ - cache: getRegions(), - accountIds: accountIds, - regions: regions, - athenaTableName: athenaTableName, - period: { from: from, to: to }, - }), - Error, - `Cannot build query` - ); - }); + const accountIds = ['123456789012', '123456789013', '123456789014']; + const regions = ['eu-west-1', 'us-east-1']; + const athenaTableName = 'test-table'; + const from = ';Select * from nastypasty'; + const to = '2020-01-02 00:00:00.000'; + + assert.throws( + () => + getResourcesByCostQuery({ + cache: getRegions(), + accountIds: accountIds, + regions: regions, + athenaTableName: athenaTableName, + period: {from: from, to: to}, + }), + Error, + `Cannot build query` + ); + }); - it('should throw an Error as the to region is invalid', async () => { - const getResourcesByCostQuery = athenaQueryBuilder.__get__( - 'getResourcesByCostQuery' - ); - - const accountIds = ['123456789012', '123456789013', '123456789014']; - const regions = ['eu-west-1', ';Select * From nastypasty']; - const athenaTableName = 'test-table'; - const from = '2020-01-01 00:00:00.000'; - const to = '2020-01-02 00:00:00.000'; - - assert.throws( - () => - getResourcesByCostQuery({ - cache: getRegions(), - accountIds: accountIds, - regions: regions, - athenaTableName: athenaTableName, - period: { from: from, to: to }, - }), - Error, - `Cannot build query` - ); - }); + it('should throw an Error as the to date is invalid', async () => { + const getResourcesByCostQuery = athenaQueryBuilder.__get__( + 'getResourcesByCostQuery' + ); - it('should throw an Error as the accountId date is invalid', async () => { - const getResourcesByCostQuery = athenaQueryBuilder.__get__( - 'getResourcesByCostQuery' - ); - - const accountIds = [ - ';Select * from nastypasty', - '123456789013', - '123456789014', - ]; - const regions = ['eu-west-1', 'us-east-1']; - const athenaTableName = 'test-table'; - const from = '2020-01-01 00:00:00.000'; - const to = ';Select * from nastypasty'; - - assert.throws( - () => - getResourcesByCostQuery({ - cache: getRegions(), - accountIds: accountIds, - regions: regions, - athenaTableName: athenaTableName, - period: { from: from, to: to }, - }), - Error, - `Cannot build query` - ); - }); + const accountIds = ['123456789012', '123456789013', '123456789014']; + const regions = ['eu-west-1', 'us-east-1']; + const athenaTableName = 'test-table'; + const from = '2020-01-01 00:00:00.000'; + const to = ';Select * from nastypasty'; + + assert.throws( + () => + getResourcesByCostQuery({ + cache: getRegions(), + accountIds: accountIds, + regions: regions, + athenaTableName: athenaTableName, + period: {from: from, to: to}, + }), + Error, + `Cannot build query` + ); + }); - it('should throw a Error when passed an empty object', async () => { - const getResourcesByCostQuery = athenaQueryBuilder.__get__( - 'getResourcesByCostQuery' - ); + it('should throw an Error as the to region is invalid', async () => { + const getResourcesByCostQuery = athenaQueryBuilder.__get__( + 'getResourcesByCostQuery' + ); - assert.throws( - () => getResourcesByCostQuery({}), - Error, - `Cannot build query` - ); - }); - }); - - describe('byServiceQuery', () => { - it('should return a valid sql query string that Athena can process', async () => { - const byServiceQuery = athenaQueryBuilder.__get__('byServiceQuery'); - - const accountIds = ['123456789012', '123456789013', '123456789014']; - const regions = ['eu-west-1', 'us-east-1']; - const serviceName = 'some-random-name-of a service 2.0'; - const athenaTableName = 'test-table'; - const from = '2020-01-01 00:00:00.000'; - const to = '2020-01-21 00:00:00.000'; - - const queryResult = `SELECT product_servicename, line_item_usage_account_id, Array_join(Array_distinct(Array_agg(product_region)), '|') AS region, pricing_term, sum(line_item_unblended_cost) AS cost, line_item_currency_code FROM test-table WHERE line_item_usage_account_id IN ('123456789012','123456789013','123456789014') AND product_region IN ('eu-west-1','us-east-1') AND product_servicename LIKE '%some-random-name-of a service 2.0%' AND line_item_usage_start_date >= TIMESTAMP '2020-01-01 00:00:00.000' AND line_item_usage_end_date <= TIMESTAMP '2020-01-21 00:00:00.000' GROUP BY product_servicename, line_item_usage_account_id, pricing_term, line_item_currency_code HAVING sum(line_item_unblended_cost) > 0 ORDER BY cost DESC;`; - - const actual = byServiceQuery({ - cache: getRegions(), - accountIds: accountIds, - serviceName: serviceName, - regions: regions, - athenaTableName: athenaTableName, - period: { from: from, to: to }, - }); - - assert.deepEqual(actual, queryResult); - }); + const accountIds = ['123456789012', '123456789013', '123456789014']; + const regions = ['eu-west-1', ';Select * From nastypasty']; + const athenaTableName = 'test-table'; + const from = '2020-01-01 00:00:00.000'; + const to = '2020-01-02 00:00:00.000'; + + assert.throws( + () => + getResourcesByCostQuery({ + cache: getRegions(), + accountIds: accountIds, + regions: regions, + athenaTableName: athenaTableName, + period: {from: from, to: to}, + }), + Error, + `Cannot build query` + ); + }); - it('should throw an Error as the accountId is invalid', async () => { - const byServiceQuery = athenaQueryBuilder.__get__('byServiceQuery'); - - const accountIds = [ - ';Select * from nastypasty;', - '123456789013', - '123456789014', - ]; - const regions = ['eu-west-1', 'us-east-1']; - const serviceName = 'some-random-name-of a service 2.0'; - const athenaTableName = 'test-table'; - const from = '2020-01-01 00:00:00.000'; - const to = '2020-01-21 00:00:00.000'; - - assert.throws( - () => - byServiceQuery({ - cache: getRegions(), - accountIds: accountIds, - serviceName: serviceName, - regions: regions, - athenaTableName: athenaTableName, - period: { from: from, to: to }, - }), - Error, - `Cannot build query` - ); - }); + it('should throw an Error as the accountId date is invalid', async () => { + const getResourcesByCostQuery = athenaQueryBuilder.__get__( + 'getResourcesByCostQuery' + ); - it('should throw an Error as the region is invalid', async () => { - const byServiceQuery = athenaQueryBuilder.__get__('byServiceQuery'); - - const accountIds = ['123456789012', '123456789013', '123456789014']; - const regions = ['eu-west-1', ');Select * from nastypasty']; - const serviceName = 'some-random-name-of a service 2.0'; - const athenaTableName = 'test-table'; - const from = '2020-01-01 00:00:00.000'; - const to = '2020-01-21 00:00:00.000'; - - assert.throws( - () => - byServiceQuery({ - cache: getRegions(), - accountIds: accountIds, - serviceName: serviceName, - regions: regions, - athenaTableName: athenaTableName, - period: { from: from, to: to }, - }), - Error, - `Cannot build query` - ); - }); + const accountIds = [ + ';Select * from nastypasty', + '123456789013', + '123456789014', + ]; + const regions = ['eu-west-1', 'us-east-1']; + const athenaTableName = 'test-table'; + const from = '2020-01-01 00:00:00.000'; + const to = ';Select * from nastypasty'; + + assert.throws( + () => + getResourcesByCostQuery({ + cache: getRegions(), + accountIds: accountIds, + regions: regions, + athenaTableName: athenaTableName, + period: {from: from, to: to}, + }), + Error, + `Cannot build query` + ); + }); - it('should throw an Error as the serviceName is invalid', async () => { - const byServiceQuery = athenaQueryBuilder.__get__('byServiceQuery'); - - const accountIds = ['123456789012', '123456789013', '123456789014']; - const regions = ['eu-west-1', 'us-east-1']; - const serviceName = ');Select * from nastypasty'; - const athenaTableName = 'test-table'; - const from = '2020-01-01 00:00:00.000'; - const to = '2020-01-21 00:00:00.000'; - - assert.throws( - () => - byServiceQuery({ - cache: getRegions(), - accountIds: accountIds, - serviceName: serviceName, - regions: regions, - athenaTableName: athenaTableName, - period: { from: from, to: to }, - }), - Error, - `Cannot build query` - ); - }); + it('should throw a Error when passed an empty object', async () => { + const getResourcesByCostQuery = athenaQueryBuilder.__get__( + 'getResourcesByCostQuery' + ); - it('should throw an Error as the to date is invalid', async () => { - const byServiceQuery = athenaQueryBuilder.__get__('byServiceQuery'); - - const accountIds = ['123456789012', '123456789013', '123456789014']; - const regions = ['eu-west-1', 'us-east-1']; - const serviceName = ');Select * from nastypasty'; - const athenaTableName = 'test-table'; - const from = '2020-01-01 00:00:00.000'; - const to = ';Select * from nastypasty'; - - assert.throws( - () => - byServiceQuery({ - cache: getRegions(), - accountIds: accountIds, - serviceName: serviceName, - regions: regions, - athenaTableName: athenaTableName, - period: { from: from, to: to }, - }), - Error, - `Cannot build query` - ); + assert.throws( + () => getResourcesByCostQuery({}), + Error, + `Cannot build query` + ); + }); }); - it('should throw an Error as the from date is invalid', async () => { - const byServiceQuery = athenaQueryBuilder.__get__('byServiceQuery'); - - const accountIds = ['123456789012', '123456789013', '123456789014']; - const regions = ['eu-west-1', 'us-east-1']; - const serviceName = ');Select * from nastypasty'; - const athenaTableName = 'test-table'; - const from = ';Select * from nastypasty'; - const to = '2020-01-02 00:00:00.000'; - - assert.throws( - () => - byServiceQuery({ - cache: getRegions(), - accountIds: accountIds, - serviceName: serviceName, - regions: regions, - athenaTableName: athenaTableName, - period: { from: from, to: to }, - }), - Error, - `Cannot build query` - ); - }); + describe('byServiceQuery', () => { + it('should return a valid sql query string that Athena can process', async () => { + const byServiceQuery = athenaQueryBuilder.__get__('byServiceQuery'); + + const accountIds = ['123456789012', '123456789013', '123456789014']; + const regions = ['eu-west-1', 'us-east-1']; + const serviceName = 'some-random-name-of a service 2.0'; + const athenaTableName = 'test-table'; + const from = '2020-01-01 00:00:00.000'; + const to = '2020-01-21 00:00:00.000'; + + const queryResult = `SELECT product_servicename, line_item_usage_account_id, Array_join(Array_distinct(Array_agg(product_region)), '|') AS region, pricing_term, sum(line_item_unblended_cost) AS cost, line_item_currency_code FROM test-table WHERE line_item_usage_account_id IN ('123456789012','123456789013','123456789014') AND product_region IN ('eu-west-1','us-east-1') AND product_servicename LIKE '%some-random-name-of a service 2.0%' AND line_item_usage_start_date >= TIMESTAMP '2020-01-01 00:00:00.000' AND line_item_usage_end_date <= TIMESTAMP '2020-01-21 00:00:00.000' GROUP BY product_servicename, line_item_usage_account_id, pricing_term, line_item_currency_code HAVING sum(line_item_unblended_cost) > 0 ORDER BY cost DESC;`; + + const actual = byServiceQuery({ + cache: getRegions(), + accountIds: accountIds, + serviceName: serviceName, + regions: regions, + athenaTableName: athenaTableName, + period: {from: from, to: to}, + }); + + assert.deepEqual(actual, queryResult); + }); - it('should throw a Error when passed an empty object', async () => { - const getResourcesByCostQuery = athenaQueryBuilder.__get__( - 'getResourcesByCostQuery' - ); + it('should throw an Error as the accountId is invalid', async () => { + const byServiceQuery = athenaQueryBuilder.__get__('byServiceQuery'); + + const accountIds = [ + ';Select * from nastypasty;', + '123456789013', + '123456789014', + ]; + const regions = ['eu-west-1', 'us-east-1']; + const serviceName = 'some-random-name-of a service 2.0'; + const athenaTableName = 'test-table'; + const from = '2020-01-01 00:00:00.000'; + const to = '2020-01-21 00:00:00.000'; + + assert.throws( + () => + byServiceQuery({ + cache: getRegions(), + accountIds: accountIds, + serviceName: serviceName, + regions: regions, + athenaTableName: athenaTableName, + period: {from: from, to: to}, + }), + Error, + `Cannot build query` + ); + }); - assert.throws( - () => getResourcesByCostQuery({}), - Error, - `Cannot build query` - ); - }); - }); - - describe('byResourceIdQuery', () => { - it('should return a valid sql query string that Athena can process', async () => { - const byResourceIdQuery = athenaQueryBuilder.__get__('byResourceIdQuery'); - - const resourceIds = [ - 'arn:aws:lambda:eu-west-2:XXXXXXXXXXXX:function:aws-perspective-XXXXXXXXXX-PerspectiveCostFunction-s4c66HdWdGhk', - 'arn:aws:lambda:eu-west-2:XXXXXXXXXXXX:function:aws-perspective-XXXXXXXXXX-PerspectiveCostFunction-s4c66HdWdGhj', - 'arn:aws:lambda:eu-west-2:XXXXXXXXXXXX:function:aws-perspective-XXXXXXXXXX-PerspectiveCostFunction-s4c66HdWdGhl', - 'vol-012b559287dd97d1e', - ]; - const athenaTableName = 'test-table'; - const from = '2020-01-01 00:00:00.000'; - const to = '2020-01-21 00:00:00.000'; - - const queryResult = `SELECT line_item_resource_id, product_servicename, line_item_usage_account_id, Array_join(Array_distinct(Array_agg(product_region)), '|') AS region, pricing_term, sum(line_item_unblended_cost) AS cost, line_item_currency_code FROM test-table WHERE line_item_resource_id IN ('arn:aws:lambda:eu-west-2:XXXXXXXXXXXX:function:aws-perspective-XXXXXXXXXX-PerspectiveCostFunction-s4c66HdWdGhk','arn:aws:lambda:eu-west-2:XXXXXXXXXXXX:function:aws-perspective-XXXXXXXXXX-PerspectiveCostFunction-s4c66HdWdGhj','arn:aws:lambda:eu-west-2:XXXXXXXXXXXX:function:aws-perspective-XXXXXXXXXX-PerspectiveCostFunction-s4c66HdWdGhl','vol-012b559287dd97d1e') AND line_item_usage_start_date >= TIMESTAMP '2020-01-01 00:00:00.000' AND line_item_usage_end_date <= TIMESTAMP '2020-01-21 00:00:00.000' GROUP BY line_item_resource_id, product_servicename, line_item_usage_account_id, pricing_term, line_item_currency_code HAVING sum(line_item_unblended_cost) > 0 ORDER BY cost DESC;`; - - const actual = byResourceIdQuery({ - resourceIds: resourceIds, - athenaTableName: athenaTableName, - period: { from: from, to: to }, - }); - - assert.deepEqual(actual, queryResult); - }); + it('should throw an Error as the region is invalid', async () => { + const byServiceQuery = athenaQueryBuilder.__get__('byServiceQuery'); + + const accountIds = ['123456789012', '123456789013', '123456789014']; + const regions = ['eu-west-1', ');Select * from nastypasty']; + const serviceName = 'some-random-name-of a service 2.0'; + const athenaTableName = 'test-table'; + const from = '2020-01-01 00:00:00.000'; + const to = '2020-01-21 00:00:00.000'; + + assert.throws( + () => + byServiceQuery({ + cache: getRegions(), + accountIds: accountIds, + serviceName: serviceName, + regions: regions, + athenaTableName: athenaTableName, + period: {from: from, to: to}, + }), + Error, + `Cannot build query` + ); + }); - it('should throw an Error as the from date is invalid', async () => { - const byResourceIdQuery = athenaQueryBuilder.__get__('byResourceIdQuery'); - const resourceIds = [ - 'arn:aws:lambda:eu-west-2:XXXXXXXXXXXX:function:aws-perspective-XXXXXXXXXX-PerspectiveCostFunction-s4c66HdWdGhk', - 'arn:aws:lambda:eu-west-2:XXXXXXXXXXXX:function:aws-perspective-XXXXXXXXXX-PerspectiveCostFunction-s4c66HdWdGhj', - 'arn:aws:lambda:eu-west-2:XXXXXXXXXXXX:function:aws-perspective-XXXXXXXXXX-PerspectiveCostFunction-s4c66HdWdGhl', - 'vol-012b559287dd97d1e', - ]; - const athenaTableName = 'test-table'; - const from = ';Select * from nastypasty'; - const to = '2020-01-02 00:00:00.000'; - - assert.throws( - () => - byResourceIdQuery({ - resourceIds: resourceIds, - athenaTableName: athenaTableName, - period: { from: from, to: to }, - }), - Error, - `Cannot build query` - ); - }); + it('should throw an Error as the serviceName is invalid', async () => { + const byServiceQuery = athenaQueryBuilder.__get__('byServiceQuery'); + + const accountIds = ['123456789012', '123456789013', '123456789014']; + const regions = ['eu-west-1', 'us-east-1']; + const serviceName = ');Select * from nastypasty'; + const athenaTableName = 'test-table'; + const from = '2020-01-01 00:00:00.000'; + const to = '2020-01-21 00:00:00.000'; + + assert.throws( + () => + byServiceQuery({ + cache: getRegions(), + accountIds: accountIds, + serviceName: serviceName, + regions: regions, + athenaTableName: athenaTableName, + period: {from: from, to: to}, + }), + Error, + `Cannot build query` + ); + }); - it('should throw an Error as the to date is invalid', async () => { - const byResourceIdQuery = athenaQueryBuilder.__get__('byResourceIdQuery'); - - const resourceIds = [ - 'arn:aws:lambda:eu-west-2:XXXXXXXXXXXX:function:aws-perspective-XXXXXXXXXX-PerspectiveCostFunction-s4c66HdWdGhk', - 'arn:aws:lambda:eu-west-2:XXXXXXXXXXXX:function:aws-perspective-XXXXXXXXXX-PerspectiveCostFunction-s4c66HdWdGhj', - 'arn:aws:lambda:eu-west-2:XXXXXXXXXXXX:function:aws-perspective-XXXXXXXXXX-PerspectiveCostFunction-s4c66HdWdGhl', - 'vol-012b559287dd97d1e', - ]; - const athenaTableName = 'test-table'; - const from = '2020-01-01 00:00:00.000'; - const to = ';Select * from nastypasty'; - - assert.throws( - () => - byResourceIdQuery({ - resourceIds: resourceIds, - athenaTableName: athenaTableName, - period: { from: from, to: to }, - }), - Error, - `Cannot build query` - ); - }); + it('should throw an Error as the to date is invalid', async () => { + const byServiceQuery = athenaQueryBuilder.__get__('byServiceQuery'); + + const accountIds = ['123456789012', '123456789013', '123456789014']; + const regions = ['eu-west-1', 'us-east-1']; + const serviceName = ');Select * from nastypasty'; + const athenaTableName = 'test-table'; + const from = '2020-01-01 00:00:00.000'; + const to = ';Select * from nastypasty'; + + assert.throws( + () => + byServiceQuery({ + cache: getRegions(), + accountIds: accountIds, + serviceName: serviceName, + regions: regions, + athenaTableName: athenaTableName, + period: {from: from, to: to}, + }), + Error, + `Cannot build query` + ); + }); - it('should return a query with only the valid ids', async () => { - const byResourceIdQuery = athenaQueryBuilder.__get__('byResourceIdQuery'); + it('should throw an Error as the from date is invalid', async () => { + const byServiceQuery = athenaQueryBuilder.__get__('byServiceQuery'); + + const accountIds = ['123456789012', '123456789013', '123456789014']; + const regions = ['eu-west-1', 'us-east-1']; + const serviceName = ');Select * from nastypasty'; + const athenaTableName = 'test-table'; + const from = ';Select * from nastypasty'; + const to = '2020-01-02 00:00:00.000'; + + assert.throws( + () => + byServiceQuery({ + cache: getRegions(), + accountIds: accountIds, + serviceName: serviceName, + regions: regions, + athenaTableName: athenaTableName, + period: {from: from, to: to}, + }), + Error, + `Cannot build query` + ); + }); - const resourceIds = [ - '; Select * from nastypasty', - 'arn:aws:lambda:eu-west-2:XXXXXXXXXXXX:function:aws-perspective-XXXXXXXXXX-PerspectiveCostFunction-s4c66HdWdGhj', - 'arn:aws:lambda:eu-west-2:XXXXXXXXXXXX:function:aws-perspective-XXXXXXXXXX-PerspectiveCostFunction-s4c66HdWdGhl', - 'vol-012b559287dd97d1e', - ]; - const athenaTableName = 'test-table'; - const from = '2020-01-01 00:00:00.000'; - const to = '2020-01-02 00:00:00.000'; + it('should throw a Error when passed an empty object', async () => { + const getResourcesByCostQuery = athenaQueryBuilder.__get__( + 'getResourcesByCostQuery' + ); - const queryResult = `SELECT line_item_resource_id, product_servicename, line_item_usage_account_id, Array_join(Array_distinct(Array_agg(product_region)), '|') AS region, pricing_term, sum(line_item_unblended_cost) AS cost, line_item_currency_code FROM test-table WHERE line_item_resource_id IN ('arn:aws:lambda:eu-west-2:XXXXXXXXXXXX:function:aws-perspective-XXXXXXXXXX-PerspectiveCostFunction-s4c66HdWdGhj','arn:aws:lambda:eu-west-2:XXXXXXXXXXXX:function:aws-perspective-XXXXXXXXXX-PerspectiveCostFunction-s4c66HdWdGhl','vol-012b559287dd97d1e') AND line_item_usage_start_date >= TIMESTAMP '2020-01-01 00:00:00.000' AND line_item_usage_end_date <= TIMESTAMP '2020-01-02 00:00:00.000' GROUP BY line_item_resource_id, product_servicename, line_item_usage_account_id, pricing_term, line_item_currency_code HAVING sum(line_item_unblended_cost) > 0 ORDER BY cost DESC;`; + assert.throws( + () => getResourcesByCostQuery({}), + Error, + `Cannot build query` + ); + }); + }); - const actual = byResourceIdQuery({ - resourceIds: resourceIds, - athenaTableName: athenaTableName, - period: { from: from, to: to }, - }); + describe('byResourceIdQuery', () => { + it('should return a valid sql query string that Athena can process', async () => { + const byResourceIdQuery = + athenaQueryBuilder.__get__('byResourceIdQuery'); + + const resourceIds = [ + 'arn:aws:lambda:eu-west-2:XXXXXXXXXXXX:function:aws-perspective-XXXXXXXXXX-PerspectiveCostFunction-s4c66HdWdGhk', + 'arn:aws:lambda:eu-west-2:XXXXXXXXXXXX:function:aws-perspective-XXXXXXXXXX-PerspectiveCostFunction-s4c66HdWdGhj', + 'arn:aws:lambda:eu-west-2:XXXXXXXXXXXX:function:aws-perspective-XXXXXXXXXX-PerspectiveCostFunction-s4c66HdWdGhl', + 'vol-012b559287dd97d1e', + ]; + const athenaTableName = 'test-table'; + const from = '2020-01-01 00:00:00.000'; + const to = '2020-01-21 00:00:00.000'; + + const queryResult = `SELECT line_item_resource_id, product_servicename, line_item_usage_account_id, Array_join(Array_distinct(Array_agg(product_region)), '|') AS region, pricing_term, sum(line_item_unblended_cost) AS cost, line_item_currency_code FROM test-table WHERE line_item_resource_id IN ('arn:aws:lambda:eu-west-2:XXXXXXXXXXXX:function:aws-perspective-XXXXXXXXXX-PerspectiveCostFunction-s4c66HdWdGhk','arn:aws:lambda:eu-west-2:XXXXXXXXXXXX:function:aws-perspective-XXXXXXXXXX-PerspectiveCostFunction-s4c66HdWdGhj','arn:aws:lambda:eu-west-2:XXXXXXXXXXXX:function:aws-perspective-XXXXXXXXXX-PerspectiveCostFunction-s4c66HdWdGhl','vol-012b559287dd97d1e') AND line_item_usage_start_date >= TIMESTAMP '2020-01-01 00:00:00.000' AND line_item_usage_end_date <= TIMESTAMP '2020-01-21 00:00:00.000' GROUP BY line_item_resource_id, product_servicename, line_item_usage_account_id, pricing_term, line_item_currency_code HAVING sum(line_item_unblended_cost) > 0 ORDER BY cost DESC;`; + + const actual = byResourceIdQuery({ + resourceIds: resourceIds, + athenaTableName: athenaTableName, + period: {from: from, to: to}, + }); + + assert.deepEqual(actual, queryResult); + }); - assert.deepEqual(actual, queryResult); - }); - }); - - describe('byResourceIdOrderedByDayQuery', () => { - it('should return a valid sql query string that Athena can process', async () => { - const byResourceIdOrderedByDayQuery = athenaQueryBuilder.__get__( - 'byResourceIdOrderedByDayQuery' - ); - - const resourceIds = [ - 'arn:aws:lambda:eu-west-2:XXXXXXXXXXXX:function:aws-perspective-XXXXXXXXXX-PerspectiveCostFunction-s4c66HdWdGhk', - 'arn:aws:lambda:eu-west-2:XXXXXXXXXXXX:function:aws-perspective-XXXXXXXXXX-PerspectiveCostFunction-s4c66HdWdGhj', - 'arn:aws:lambda:eu-west-2:XXXXXXXXXXXX:function:aws-perspective-XXXXXXXXXX-PerspectiveCostFunction-s4c66HdWdGhl', - 'vol-012b559287dd97d1e', - ]; - const athenaTableName = 'test-table'; - const from = '2020-01-01 00:00:00.000'; - const to = '2020-01-21 00:00:00.000'; - - const queryResult = `SELECT line_item_resource_id, product_servicename, line_item_usage_account_id, Array_join(Array_distinct(Array_agg(product_region)), '|') AS region, pricing_term, line_item_usage_start_date, sum(line_item_unblended_cost) AS cost, line_item_currency_code FROM test-table WHERE line_item_resource_id IN ('arn:aws:lambda:eu-west-2:XXXXXXXXXXXX:function:aws-perspective-XXXXXXXXXX-PerspectiveCostFunction-s4c66HdWdGhk','arn:aws:lambda:eu-west-2:XXXXXXXXXXXX:function:aws-perspective-XXXXXXXXXX-PerspectiveCostFunction-s4c66HdWdGhj','arn:aws:lambda:eu-west-2:XXXXXXXXXXXX:function:aws-perspective-XXXXXXXXXX-PerspectiveCostFunction-s4c66HdWdGhl','vol-012b559287dd97d1e') AND line_item_usage_start_date >= TIMESTAMP '2020-01-01 00:00:00.000' AND line_item_usage_end_date <= TIMESTAMP '2020-01-21 00:00:00.000' GROUP BY line_item_resource_id, product_servicename, line_item_usage_account_id, pricing_term, line_item_usage_start_date, line_item_currency_code HAVING sum(line_item_unblended_cost) > 0 ORDER BY line_item_usage_start_date DESC;`; - - const actual = byResourceIdOrderedByDayQuery({ - resourceIds: resourceIds, - athenaTableName: athenaTableName, - period: { from: from, to: to }, - }); - - assert.deepEqual(actual, queryResult); - }); + it('should throw an Error as the from date is invalid', async () => { + const byResourceIdQuery = + athenaQueryBuilder.__get__('byResourceIdQuery'); + const resourceIds = [ + 'arn:aws:lambda:eu-west-2:XXXXXXXXXXXX:function:aws-perspective-XXXXXXXXXX-PerspectiveCostFunction-s4c66HdWdGhk', + 'arn:aws:lambda:eu-west-2:XXXXXXXXXXXX:function:aws-perspective-XXXXXXXXXX-PerspectiveCostFunction-s4c66HdWdGhj', + 'arn:aws:lambda:eu-west-2:XXXXXXXXXXXX:function:aws-perspective-XXXXXXXXXX-PerspectiveCostFunction-s4c66HdWdGhl', + 'vol-012b559287dd97d1e', + ]; + const athenaTableName = 'test-table'; + const from = ';Select * from nastypasty'; + const to = '2020-01-02 00:00:00.000'; + + assert.throws( + () => + byResourceIdQuery({ + resourceIds: resourceIds, + athenaTableName: athenaTableName, + period: {from: from, to: to}, + }), + Error, + `Cannot build query` + ); + }); - it('should throw an Error as the from date is invalid', async () => { - const byResourceIdOrderedByDayQuery = athenaQueryBuilder.__get__( - 'byResourceIdOrderedByDayQuery' - ); - const resourceIds = [ - 'arn:aws:lambda:eu-west-2:XXXXXXXXXXXX:function:aws-perspective-XXXXXXXXXX-PerspectiveCostFunction-s4c66HdWdGhk', - 'arn:aws:lambda:eu-west-2:XXXXXXXXXXXX:function:aws-perspective-XXXXXXXXXX-PerspectiveCostFunction-s4c66HdWdGhj', - 'arn:aws:lambda:eu-west-2:XXXXXXXXXXXX:function:aws-perspective-XXXXXXXXXX-PerspectiveCostFunction-s4c66HdWdGhl', - 'vol-012b559287dd97d1e', - ]; - const athenaTableName = 'test-table'; - const from = ';Select * from nastypasty'; - const to = '2020-01-02 00:00:00.000'; - - assert.throws( - () => - byResourceIdOrderedByDayQuery({ - resourceIds: resourceIds, - athenaTableName: athenaTableName, - period: { from: from, to: to }, - }), - Error, - `Cannot build query` - ); - }); + it('should throw an Error as the to date is invalid', async () => { + const byResourceIdQuery = + athenaQueryBuilder.__get__('byResourceIdQuery'); + + const resourceIds = [ + 'arn:aws:lambda:eu-west-2:XXXXXXXXXXXX:function:aws-perspective-XXXXXXXXXX-PerspectiveCostFunction-s4c66HdWdGhk', + 'arn:aws:lambda:eu-west-2:XXXXXXXXXXXX:function:aws-perspective-XXXXXXXXXX-PerspectiveCostFunction-s4c66HdWdGhj', + 'arn:aws:lambda:eu-west-2:XXXXXXXXXXXX:function:aws-perspective-XXXXXXXXXX-PerspectiveCostFunction-s4c66HdWdGhl', + 'vol-012b559287dd97d1e', + ]; + const athenaTableName = 'test-table'; + const from = '2020-01-01 00:00:00.000'; + const to = ';Select * from nastypasty'; + + assert.throws( + () => + byResourceIdQuery({ + resourceIds: resourceIds, + athenaTableName: athenaTableName, + period: {from: from, to: to}, + }), + Error, + `Cannot build query` + ); + }); - it('should throw an Error as the to date is invalid', async () => { - const byResourceIdOrderedByDayQuery = athenaQueryBuilder.__get__( - 'byResourceIdOrderedByDayQuery' - ); - - const resourceIds = [ - 'arn:aws:lambda:eu-west-2:XXXXXXXXXXXX:function:aws-perspective-XXXXXXXXXX-PerspectiveCostFunction-s4c66HdWdGhk', - 'arn:aws:lambda:eu-west-2:XXXXXXXXXXXX:function:aws-perspective-XXXXXXXXXX-PerspectiveCostFunction-s4c66HdWdGhj', - 'arn:aws:lambda:eu-west-2:XXXXXXXXXXXX:function:aws-perspective-XXXXXXXXXX-PerspectiveCostFunction-s4c66HdWdGhl', - 'vol-012b559287dd97d1e', - ]; - const athenaTableName = 'test-table'; - const from = '2020-01-01 00:00:00.000'; - const to = ';Select * from nastypasty'; - - assert.throws( - () => - byResourceIdOrderedByDayQuery({ - resourceIds: resourceIds, - athenaTableName: athenaTableName, - period: { from: from, to: to }, - }), - Error, - `Cannot build query` - ); + it('should return a query with only the valid ids', async () => { + const byResourceIdQuery = + athenaQueryBuilder.__get__('byResourceIdQuery'); + + const resourceIds = [ + '; Select * from nastypasty', + 'arn:aws:lambda:eu-west-2:XXXXXXXXXXXX:function:aws-perspective-XXXXXXXXXX-PerspectiveCostFunction-s4c66HdWdGhj', + 'arn:aws:lambda:eu-west-2:XXXXXXXXXXXX:function:aws-perspective-XXXXXXXXXX-PerspectiveCostFunction-s4c66HdWdGhl', + 'vol-012b559287dd97d1e', + ]; + const athenaTableName = 'test-table'; + const from = '2020-01-01 00:00:00.000'; + const to = '2020-01-02 00:00:00.000'; + + const queryResult = `SELECT line_item_resource_id, product_servicename, line_item_usage_account_id, Array_join(Array_distinct(Array_agg(product_region)), '|') AS region, pricing_term, sum(line_item_unblended_cost) AS cost, line_item_currency_code FROM test-table WHERE line_item_resource_id IN ('arn:aws:lambda:eu-west-2:XXXXXXXXXXXX:function:aws-perspective-XXXXXXXXXX-PerspectiveCostFunction-s4c66HdWdGhj','arn:aws:lambda:eu-west-2:XXXXXXXXXXXX:function:aws-perspective-XXXXXXXXXX-PerspectiveCostFunction-s4c66HdWdGhl','vol-012b559287dd97d1e') AND line_item_usage_start_date >= TIMESTAMP '2020-01-01 00:00:00.000' AND line_item_usage_end_date <= TIMESTAMP '2020-01-02 00:00:00.000' GROUP BY line_item_resource_id, product_servicename, line_item_usage_account_id, pricing_term, line_item_currency_code HAVING sum(line_item_unblended_cost) > 0 ORDER BY cost DESC;`; + + const actual = byResourceIdQuery({ + resourceIds: resourceIds, + athenaTableName: athenaTableName, + period: {from: from, to: to}, + }); + + assert.deepEqual(actual, queryResult); + }); }); - it('should build a query with only the valid ids', async () => { - const byResourceIdOrderedByDayQuery = athenaQueryBuilder.__get__( - 'byResourceIdOrderedByDayQuery' - ); - - const resourceIds = [ - '; Select * from nastypasty', - 'arn:aws:lambda:eu-west-2:XXXXXXXXXXXX:function:aws-perspective-XXXXXXXXXX-PerspectiveCostFunction-s4c66HdWdGhj', - 'arn:aws:lambda:eu-west-2:XXXXXXXXXXXX:function:aws-perspective-XXXXXXXXXX-PerspectiveCostFunction-s4c66HdWdGhl', - 'vol-012b559287dd97d1e', - ]; - const athenaTableName = 'test-table'; - const from = '2020-01-01 00:00:00.000'; - const to = '2020-01-02 00:00:00.000'; - - const queryResult = `SELECT line_item_resource_id, product_servicename, line_item_usage_account_id, Array_join(Array_distinct(Array_agg(product_region)), '|') AS region, pricing_term, line_item_usage_start_date, sum(line_item_unblended_cost) AS cost, line_item_currency_code FROM test-table WHERE line_item_resource_id IN ('arn:aws:lambda:eu-west-2:XXXXXXXXXXXX:function:aws-perspective-XXXXXXXXXX-PerspectiveCostFunction-s4c66HdWdGhj','arn:aws:lambda:eu-west-2:XXXXXXXXXXXX:function:aws-perspective-XXXXXXXXXX-PerspectiveCostFunction-s4c66HdWdGhl','vol-012b559287dd97d1e') AND line_item_usage_start_date >= TIMESTAMP '2020-01-01 00:00:00.000' AND line_item_usage_end_date <= TIMESTAMP '2020-01-02 00:00:00.000' GROUP BY line_item_resource_id, product_servicename, line_item_usage_account_id, pricing_term, line_item_usage_start_date, line_item_currency_code HAVING sum(line_item_unblended_cost) > 0 ORDER BY line_item_usage_start_date DESC;`; - - const actual = byResourceIdOrderedByDayQuery({ - resourceIds: resourceIds, - athenaTableName: athenaTableName, - period: { from: from, to: to }, - }); - assert.deepEqual(actual, queryResult); + describe('byResourceIdOrderedByDayQuery', () => { + it('should return a valid sql query string that Athena can process', async () => { + const byResourceIdOrderedByDayQuery = athenaQueryBuilder.__get__( + 'byResourceIdOrderedByDayQuery' + ); + + const resourceIds = [ + 'arn:aws:lambda:eu-west-2:XXXXXXXXXXXX:function:aws-perspective-XXXXXXXXXX-PerspectiveCostFunction-s4c66HdWdGhk', + 'arn:aws:lambda:eu-west-2:XXXXXXXXXXXX:function:aws-perspective-XXXXXXXXXX-PerspectiveCostFunction-s4c66HdWdGhj', + 'arn:aws:lambda:eu-west-2:XXXXXXXXXXXX:function:aws-perspective-XXXXXXXXXX-PerspectiveCostFunction-s4c66HdWdGhl', + 'vol-012b559287dd97d1e', + ]; + const athenaTableName = 'test-table'; + const from = '2020-01-01 00:00:00.000'; + const to = '2020-01-21 00:00:00.000'; + + const queryResult = `SELECT line_item_resource_id, product_servicename, line_item_usage_account_id, Array_join(Array_distinct(Array_agg(product_region)), '|') AS region, pricing_term, line_item_usage_start_date, sum(line_item_unblended_cost) AS cost, line_item_currency_code FROM test-table WHERE line_item_resource_id IN ('arn:aws:lambda:eu-west-2:XXXXXXXXXXXX:function:aws-perspective-XXXXXXXXXX-PerspectiveCostFunction-s4c66HdWdGhk','arn:aws:lambda:eu-west-2:XXXXXXXXXXXX:function:aws-perspective-XXXXXXXXXX-PerspectiveCostFunction-s4c66HdWdGhj','arn:aws:lambda:eu-west-2:XXXXXXXXXXXX:function:aws-perspective-XXXXXXXXXX-PerspectiveCostFunction-s4c66HdWdGhl','vol-012b559287dd97d1e') AND line_item_usage_start_date >= TIMESTAMP '2020-01-01 00:00:00.000' AND line_item_usage_end_date <= TIMESTAMP '2020-01-21 00:00:00.000' GROUP BY line_item_resource_id, product_servicename, line_item_usage_account_id, pricing_term, line_item_usage_start_date, line_item_currency_code HAVING sum(line_item_unblended_cost) > 0 ORDER BY line_item_usage_start_date DESC;`; + + const actual = byResourceIdOrderedByDayQuery({ + resourceIds: resourceIds, + athenaTableName: athenaTableName, + period: {from: from, to: to}, + }); + + assert.deepEqual(actual, queryResult); + }); + + it('should throw an Error as the from date is invalid', async () => { + const byResourceIdOrderedByDayQuery = athenaQueryBuilder.__get__( + 'byResourceIdOrderedByDayQuery' + ); + const resourceIds = [ + 'arn:aws:lambda:eu-west-2:XXXXXXXXXXXX:function:aws-perspective-XXXXXXXXXX-PerspectiveCostFunction-s4c66HdWdGhk', + 'arn:aws:lambda:eu-west-2:XXXXXXXXXXXX:function:aws-perspective-XXXXXXXXXX-PerspectiveCostFunction-s4c66HdWdGhj', + 'arn:aws:lambda:eu-west-2:XXXXXXXXXXXX:function:aws-perspective-XXXXXXXXXX-PerspectiveCostFunction-s4c66HdWdGhl', + 'vol-012b559287dd97d1e', + ]; + const athenaTableName = 'test-table'; + const from = ';Select * from nastypasty'; + const to = '2020-01-02 00:00:00.000'; + + assert.throws( + () => + byResourceIdOrderedByDayQuery({ + resourceIds: resourceIds, + athenaTableName: athenaTableName, + period: {from: from, to: to}, + }), + Error, + `Cannot build query` + ); + }); + + it('should throw an Error as the to date is invalid', async () => { + const byResourceIdOrderedByDayQuery = athenaQueryBuilder.__get__( + 'byResourceIdOrderedByDayQuery' + ); + + const resourceIds = [ + 'arn:aws:lambda:eu-west-2:XXXXXXXXXXXX:function:aws-perspective-XXXXXXXXXX-PerspectiveCostFunction-s4c66HdWdGhk', + 'arn:aws:lambda:eu-west-2:XXXXXXXXXXXX:function:aws-perspective-XXXXXXXXXX-PerspectiveCostFunction-s4c66HdWdGhj', + 'arn:aws:lambda:eu-west-2:XXXXXXXXXXXX:function:aws-perspective-XXXXXXXXXX-PerspectiveCostFunction-s4c66HdWdGhl', + 'vol-012b559287dd97d1e', + ]; + const athenaTableName = 'test-table'; + const from = '2020-01-01 00:00:00.000'; + const to = ';Select * from nastypasty'; + + assert.throws( + () => + byResourceIdOrderedByDayQuery({ + resourceIds: resourceIds, + athenaTableName: athenaTableName, + period: {from: from, to: to}, + }), + Error, + `Cannot build query` + ); + }); + + it('should build a query with only the valid ids', async () => { + const byResourceIdOrderedByDayQuery = athenaQueryBuilder.__get__( + 'byResourceIdOrderedByDayQuery' + ); + + const resourceIds = [ + '; Select * from nastypasty', + 'arn:aws:lambda:eu-west-2:XXXXXXXXXXXX:function:aws-perspective-XXXXXXXXXX-PerspectiveCostFunction-s4c66HdWdGhj', + 'arn:aws:lambda:eu-west-2:XXXXXXXXXXXX:function:aws-perspective-XXXXXXXXXX-PerspectiveCostFunction-s4c66HdWdGhl', + 'vol-012b559287dd97d1e', + ]; + const athenaTableName = 'test-table'; + const from = '2020-01-01 00:00:00.000'; + const to = '2020-01-02 00:00:00.000'; + + const queryResult = `SELECT line_item_resource_id, product_servicename, line_item_usage_account_id, Array_join(Array_distinct(Array_agg(product_region)), '|') AS region, pricing_term, line_item_usage_start_date, sum(line_item_unblended_cost) AS cost, line_item_currency_code FROM test-table WHERE line_item_resource_id IN ('arn:aws:lambda:eu-west-2:XXXXXXXXXXXX:function:aws-perspective-XXXXXXXXXX-PerspectiveCostFunction-s4c66HdWdGhj','arn:aws:lambda:eu-west-2:XXXXXXXXXXXX:function:aws-perspective-XXXXXXXXXX-PerspectiveCostFunction-s4c66HdWdGhl','vol-012b559287dd97d1e') AND line_item_usage_start_date >= TIMESTAMP '2020-01-01 00:00:00.000' AND line_item_usage_end_date <= TIMESTAMP '2020-01-02 00:00:00.000' GROUP BY line_item_resource_id, product_servicename, line_item_usage_account_id, pricing_term, line_item_usage_start_date, line_item_currency_code HAVING sum(line_item_unblended_cost) > 0 ORDER BY line_item_usage_start_date DESC;`; + + const actual = byResourceIdOrderedByDayQuery({ + resourceIds: resourceIds, + athenaTableName: athenaTableName, + period: {from: from, to: to}, + }); + assert.deepEqual(actual, queryResult); + }); }); - }); }); diff --git a/source/backend/functions/cur-notification/package-lock.json b/source/backend/functions/cur-notification/package-lock.json index 868ebb8a..48757aab 100644 --- a/source/backend/functions/cur-notification/package-lock.json +++ b/source/backend/functions/cur-notification/package-lock.json @@ -1,3384 +1,2834 @@ { "name": "wd-cur-notification", - "version": "2.1.15", + "version": "2.2.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "wd-cur-notification", - "version": "2.1.15", + "version": "2.2.0", "license": "Apache-2.0", "dependencies": { - "aws-sdk": "2.1605.0", - "ramda": "0.28.0" + "@aws-sdk/client-s3": "^3.645.0" }, "devDependencies": { - "chai": "^4.3.10", - "mocha": "^10.2.0", - "nyc": "^15.1.0", - "rewire": "^7.0.0", - "sinon": "^17.0.0" - } - }, - "node_modules/@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", - "dev": true, - "engines": { - "node": ">=0.10.0" + "@vitest/coverage-v8": "^1.6.0", + "vitest": "^1.6.0" } }, - "node_modules/@babel/code-frame": { - "version": "7.22.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", - "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", "dev": true, "dependencies": { - "@babel/highlight": "^7.22.13", - "chalk": "^2.4.2" + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { - "node": ">=6.9.0" + "node": ">=6.0.0" } }, - "node_modules/@babel/code-frame/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==", - "dev": true, + "node_modules/@aws-crypto/crc32": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-5.2.0.tgz", + "integrity": "sha512-nLbCWqQNgUiwwtFsen1AdzAtvuLRsQS8rYgMuxCrdKf9kOssamGLuPwyTY9wyYblNr9+1XM8v6zoDTPPSIeANg==", "dependencies": { - "color-convert": "^1.9.0" + "@aws-crypto/util": "^5.2.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=4" + "node": ">=16.0.0" } }, - "node_modules/@babel/code-frame/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==", - "dev": true, + "node_modules/@aws-crypto/crc32c": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/crc32c/-/crc32c-5.2.0.tgz", + "integrity": "sha512-+iWb8qaHLYKrNvGRbiYRHSdKRWhto5XlZUEBwDjYNf+ly5SVYG6zEoYIdxvf5R3zyeP16w4PLBn3rH1xc74Rag==", "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" + "@aws-crypto/util": "^5.2.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^2.6.2" } }, - "node_modules/@babel/code-frame/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==", - "dev": true, + "node_modules/@aws-crypto/sha1-browser": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha1-browser/-/sha1-browser-5.2.0.tgz", + "integrity": "sha512-OH6lveCFfcDjX4dbAvCFSYUjJZjDr/3XJ3xHtjn3Oj5b9RjojQo8npoLeA/bNwkOkrSQ0wgrHzXk4tDRxGKJeg==", "dependencies": { - "color-name": "1.1.3" + "@aws-crypto/supports-web-crypto": "^5.2.0", + "@aws-crypto/util": "^5.2.0", + "@aws-sdk/types": "^3.222.0", + "@aws-sdk/util-locate-window": "^3.0.0", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.6.2" } }, - "node_modules/@babel/code-frame/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/@babel/code-frame/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": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, + "node_modules/@aws-crypto/sha1-browser/node_modules/@smithy/is-array-buffer": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz", + "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==", + "dependencies": { + "tslib": "^2.6.2" + }, "engines": { - "node": ">=0.8.0" + "node": ">=14.0.0" } }, - "node_modules/@babel/code-frame/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, + "node_modules/@aws-crypto/sha1-browser/node_modules/@smithy/util-buffer-from": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz", + "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==", + "dependencies": { + "@smithy/is-array-buffer": "^2.2.0", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=4" + "node": ">=14.0.0" } }, - "node_modules/@babel/code-frame/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==", - "dev": true, + "node_modules/@aws-crypto/sha1-browser/node_modules/@smithy/util-utf8": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz", + "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==", "dependencies": { - "has-flag": "^3.0.0" + "@smithy/util-buffer-from": "^2.2.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=4" + "node": ">=14.0.0" } }, - "node_modules/@babel/compat-data": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.15.0.tgz", - "integrity": "sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA==", - "dev": true, - "engines": { - "node": ">=6.9.0" + "node_modules/@aws-crypto/sha256-browser": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-5.2.0.tgz", + "integrity": "sha512-AXfN/lGotSQwu6HNcEsIASo7kWXZ5HYWvfOmSNKDsEqC4OashTp8alTmaz+F7TC2L083SFv5RdB+qU3Vs1kZqw==", + "dependencies": { + "@aws-crypto/sha256-js": "^5.2.0", + "@aws-crypto/supports-web-crypto": "^5.2.0", + "@aws-crypto/util": "^5.2.0", + "@aws-sdk/types": "^3.222.0", + "@aws-sdk/util-locate-window": "^3.0.0", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.6.2" } }, - "node_modules/@babel/core": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.0.tgz", - "integrity": "sha512-tXtmTminrze5HEUPn/a0JtOzzfp0nk+UEXQ/tqIJo3WDGypl/2OFQEMll/zSFU8f/lfmfLXvTaORHF3cfXIQMw==", - "dev": true, + "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/is-array-buffer": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz", + "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==", "dependencies": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.15.0", - "@babel/helper-compilation-targets": "^7.15.0", - "@babel/helper-module-transforms": "^7.15.0", - "@babel/helpers": "^7.14.8", - "@babel/parser": "^7.15.0", - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.15.0", - "@babel/types": "^7.15.0", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.1.2", - "semver": "^6.3.0", - "source-map": "^0.5.0" + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" + "node": ">=14.0.0" } }, - "node_modules/@babel/generator": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", - "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", - "dev": true, + "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/util-buffer-from": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz", + "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==", "dependencies": { - "@babel/types": "^7.23.0", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" + "@smithy/is-array-buffer": "^2.2.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.9.0" + "node": ">=14.0.0" } }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.0.tgz", - "integrity": "sha512-h+/9t0ncd4jfZ8wsdAsoIxSa61qhBYlycXiHWqJaQBCXAhDCMbPRSMTGnZIkkmt1u4ag+UQmuqcILwqKzZ4N2A==", - "dev": true, + "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/util-utf8": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz", + "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==", "dependencies": { - "@babel/compat-data": "^7.15.0", - "@babel/helper-validator-option": "^7.14.5", - "browserslist": "^4.16.6", - "semver": "^6.3.0" + "@smithy/util-buffer-from": "^2.2.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "node": ">=14.0.0" } }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", - "dev": true, + "node_modules/@aws-crypto/sha256-js": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-5.2.0.tgz", + "integrity": "sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA==", + "dependencies": { + "@aws-crypto/util": "^5.2.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=6.9.0" + "node": ">=16.0.0" } }, - "node_modules/@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", - "dev": true, + "node_modules/@aws-crypto/supports-web-crypto": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-5.2.0.tgz", + "integrity": "sha512-iAvUotm021kM33eCdNfwIN//F77/IADDSs58i+MDaOqFrVjZo9bAal0NK7HurRuWLLpF1iLX7gbWrjHjeo+YFg==", "dependencies": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" - }, - "engines": { - "node": ">=6.9.0" + "tslib": "^2.6.2" } }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "dev": true, + "node_modules/@aws-crypto/util": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-5.2.0.tgz", + "integrity": "sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==", "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" + "@aws-sdk/types": "^3.222.0", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.6.2" } }, - "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.0.tgz", - "integrity": "sha512-Jq8H8U2kYiafuj2xMTPQwkTBnEEdGKpT35lJEQsRRjnG0LW3neucsaMWLgKcwu3OHKNeYugfw+Z20BXBSEs2Lg==", - "dev": true, + "node_modules/@aws-crypto/util/node_modules/@smithy/is-array-buffer": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz", + "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==", "dependencies": { - "@babel/types": "^7.15.0" + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.9.0" + "node": ">=14.0.0" } }, - "node_modules/@babel/helper-module-imports": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz", - "integrity": "sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ==", - "dev": true, + "node_modules/@aws-crypto/util/node_modules/@smithy/util-buffer-from": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz", + "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==", "dependencies": { - "@babel/types": "^7.14.5" + "@smithy/is-array-buffer": "^2.2.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.9.0" + "node": ">=14.0.0" } }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.0.tgz", - "integrity": "sha512-RkGiW5Rer7fpXv9m1B3iHIFDZdItnO2/BLfWVW/9q7+KqQSDY5kUfQEbzdXM1MVhJGcugKV7kRrNVzNxmk7NBg==", - "dev": true, + "node_modules/@aws-crypto/util/node_modules/@smithy/util-utf8": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz", + "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==", + "dependencies": { + "@smithy/util-buffer-from": "^2.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/client-s3": { + "version": "3.645.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.645.0.tgz", + "integrity": "sha512-RjT/mfNv4yr1uv/+aEXgSIxC5EB+yHPSU7hH0KZOZrvZEFASLl0i4FeoHzbMEOH5KdKGAi0uu3zRP3D1y45sKg==", + "dependencies": { + "@aws-crypto/sha1-browser": "5.2.0", + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/client-sso-oidc": "3.645.0", + "@aws-sdk/client-sts": "3.645.0", + "@aws-sdk/core": "3.635.0", + "@aws-sdk/credential-provider-node": "3.645.0", + "@aws-sdk/middleware-bucket-endpoint": "3.620.0", + "@aws-sdk/middleware-expect-continue": "3.620.0", + "@aws-sdk/middleware-flexible-checksums": "3.620.0", + "@aws-sdk/middleware-host-header": "3.620.0", + "@aws-sdk/middleware-location-constraint": "3.609.0", + "@aws-sdk/middleware-logger": "3.609.0", + "@aws-sdk/middleware-recursion-detection": "3.620.0", + "@aws-sdk/middleware-sdk-s3": "3.635.0", + "@aws-sdk/middleware-ssec": "3.609.0", + "@aws-sdk/middleware-user-agent": "3.645.0", + "@aws-sdk/region-config-resolver": "3.614.0", + "@aws-sdk/signature-v4-multi-region": "3.635.0", + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.645.0", + "@aws-sdk/util-user-agent-browser": "3.609.0", + "@aws-sdk/util-user-agent-node": "3.614.0", + "@aws-sdk/xml-builder": "3.609.0", + "@smithy/config-resolver": "^3.0.5", + "@smithy/core": "^2.4.0", + "@smithy/eventstream-serde-browser": "^3.0.6", + "@smithy/eventstream-serde-config-resolver": "^3.0.3", + "@smithy/eventstream-serde-node": "^3.0.5", + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/hash-blob-browser": "^3.1.2", + "@smithy/hash-node": "^3.0.3", + "@smithy/hash-stream-node": "^3.1.2", + "@smithy/invalid-dependency": "^3.0.3", + "@smithy/md5-js": "^3.0.3", + "@smithy/middleware-content-length": "^3.0.5", + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-retry": "^3.0.15", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.2.0", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.15", + "@smithy/util-defaults-mode-node": "^3.0.15", + "@smithy/util-endpoints": "^2.0.5", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "@smithy/util-stream": "^3.1.3", + "@smithy/util-utf8": "^3.0.0", + "@smithy/util-waiter": "^3.1.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/client-sso": { + "version": "3.645.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.645.0.tgz", + "integrity": "sha512-2rc8TjnsNddOeKQ/pfNN7deNvGLXAeKeYtHtGDAiM2qfTKxd2sNcAsZ+JCDLyshuD4xLM5fpUyR0X8As9EAouQ==", + "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "3.635.0", + "@aws-sdk/middleware-host-header": "3.620.0", + "@aws-sdk/middleware-logger": "3.609.0", + "@aws-sdk/middleware-recursion-detection": "3.620.0", + "@aws-sdk/middleware-user-agent": "3.645.0", + "@aws-sdk/region-config-resolver": "3.614.0", + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.645.0", + "@aws-sdk/util-user-agent-browser": "3.609.0", + "@aws-sdk/util-user-agent-node": "3.614.0", + "@smithy/config-resolver": "^3.0.5", + "@smithy/core": "^2.4.0", + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/hash-node": "^3.0.3", + "@smithy/invalid-dependency": "^3.0.3", + "@smithy/middleware-content-length": "^3.0.5", + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-retry": "^3.0.15", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.2.0", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.15", + "@smithy/util-defaults-mode-node": "^3.0.15", + "@smithy/util-endpoints": "^2.0.5", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/client-sso-oidc": { + "version": "3.645.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.645.0.tgz", + "integrity": "sha512-X9ULtdk3cO+1ysurEkJ1MSnu6U00qodXx+IVual+1jXX4RYY1WmQmfo7uDKf6FFkz7wW1DAqU+GJIBNQr0YH8A==", + "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "3.635.0", + "@aws-sdk/credential-provider-node": "3.645.0", + "@aws-sdk/middleware-host-header": "3.620.0", + "@aws-sdk/middleware-logger": "3.609.0", + "@aws-sdk/middleware-recursion-detection": "3.620.0", + "@aws-sdk/middleware-user-agent": "3.645.0", + "@aws-sdk/region-config-resolver": "3.614.0", + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.645.0", + "@aws-sdk/util-user-agent-browser": "3.609.0", + "@aws-sdk/util-user-agent-node": "3.614.0", + "@smithy/config-resolver": "^3.0.5", + "@smithy/core": "^2.4.0", + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/hash-node": "^3.0.3", + "@smithy/invalid-dependency": "^3.0.3", + "@smithy/middleware-content-length": "^3.0.5", + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-retry": "^3.0.15", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.2.0", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.15", + "@smithy/util-defaults-mode-node": "^3.0.15", + "@smithy/util-endpoints": "^2.0.5", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "@aws-sdk/client-sts": "^3.645.0" + } + }, + "node_modules/@aws-sdk/client-sts": { + "version": "3.645.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.645.0.tgz", + "integrity": "sha512-6azXYtvtnAsPf2ShN9vKynIYVcJOpo6IoVmoMAVgNaBJyllP+s/RORzranYZzckqfmrudSxtct4rVapjLWuAMg==", + "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/client-sso-oidc": "3.645.0", + "@aws-sdk/core": "3.635.0", + "@aws-sdk/credential-provider-node": "3.645.0", + "@aws-sdk/middleware-host-header": "3.620.0", + "@aws-sdk/middleware-logger": "3.609.0", + "@aws-sdk/middleware-recursion-detection": "3.620.0", + "@aws-sdk/middleware-user-agent": "3.645.0", + "@aws-sdk/region-config-resolver": "3.614.0", + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.645.0", + "@aws-sdk/util-user-agent-browser": "3.609.0", + "@aws-sdk/util-user-agent-node": "3.614.0", + "@smithy/config-resolver": "^3.0.5", + "@smithy/core": "^2.4.0", + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/hash-node": "^3.0.3", + "@smithy/invalid-dependency": "^3.0.3", + "@smithy/middleware-content-length": "^3.0.5", + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-retry": "^3.0.15", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.2.0", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.15", + "@smithy/util-defaults-mode-node": "^3.0.15", + "@smithy/util-endpoints": "^2.0.5", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/core": { + "version": "3.635.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.635.0.tgz", + "integrity": "sha512-i1x/E/sgA+liUE1XJ7rj1dhyXpAKO1UKFUcTTHXok2ARjWTvszHnSXMOsB77aPbmn0fUp1JTx2kHUAZ1LVt5Bg==", + "dependencies": { + "@smithy/core": "^2.4.0", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/property-provider": "^3.1.3", + "@smithy/protocol-http": "^4.1.0", + "@smithy/signature-v4": "^4.1.0", + "@smithy/smithy-client": "^3.2.0", + "@smithy/types": "^3.3.0", + "@smithy/util-middleware": "^3.0.3", + "fast-xml-parser": "4.4.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-env": { + "version": "3.620.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.620.1.tgz", + "integrity": "sha512-ExuILJ2qLW5ZO+rgkNRj0xiAipKT16Rk77buvPP8csR7kkCflT/gXTyzRe/uzIiETTxM7tr8xuO9MP/DQXqkfg==", + "dependencies": { + "@aws-sdk/types": "3.609.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-http": { + "version": "3.635.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.635.0.tgz", + "integrity": "sha512-iJyRgEjOCQlBMXqtwPLIKYc7Bsc6nqjrZybdMDenPDa+kmLg7xh8LxHsu9088e+2/wtLicE34FsJJIfzu3L82g==", + "dependencies": { + "@aws-sdk/types": "3.609.0", + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/property-provider": "^3.1.3", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.2.0", + "@smithy/types": "^3.3.0", + "@smithy/util-stream": "^3.1.3", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-ini": { + "version": "3.645.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.645.0.tgz", + "integrity": "sha512-LlZW0qwUwNlTaAIDCNpLbPsyXvS42pRIwF92fgtCQedmdnpN3XRUC6hcwSYI7Xru3GGKp3RnceOvsdOaRJORsw==", + "dependencies": { + "@aws-sdk/credential-provider-env": "3.620.1", + "@aws-sdk/credential-provider-http": "3.635.0", + "@aws-sdk/credential-provider-process": "3.620.1", + "@aws-sdk/credential-provider-sso": "3.645.0", + "@aws-sdk/credential-provider-web-identity": "3.621.0", + "@aws-sdk/types": "3.609.0", + "@smithy/credential-provider-imds": "^3.2.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "@aws-sdk/client-sts": "^3.645.0" + } + }, + "node_modules/@aws-sdk/credential-provider-node": { + "version": "3.645.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.645.0.tgz", + "integrity": "sha512-eGFFuNvLeXjCJf5OCIuSEflxUowmK+bCS+lK4M8ofsYOEGAivdx7C0UPxNjHpvM8wKd8vpMl5phTeS9BWX5jMQ==", "dependencies": { - "@babel/helper-module-imports": "^7.14.5", - "@babel/helper-replace-supers": "^7.15.0", - "@babel/helper-simple-access": "^7.14.8", - "@babel/helper-split-export-declaration": "^7.14.5", - "@babel/helper-validator-identifier": "^7.14.9", - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.15.0", - "@babel/types": "^7.15.0" + "@aws-sdk/credential-provider-env": "3.620.1", + "@aws-sdk/credential-provider-http": "3.635.0", + "@aws-sdk/credential-provider-ini": "3.645.0", + "@aws-sdk/credential-provider-process": "3.620.1", + "@aws-sdk/credential-provider-sso": "3.645.0", + "@aws-sdk/credential-provider-web-identity": "3.621.0", + "@aws-sdk/types": "3.609.0", + "@smithy/credential-provider-imds": "^3.2.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.9.0" + "node": ">=16.0.0" } }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz", - "integrity": "sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA==", - "dev": true, + "node_modules/@aws-sdk/credential-provider-process": { + "version": "3.620.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.620.1.tgz", + "integrity": "sha512-hWqFMidqLAkaV9G460+1at6qa9vySbjQKKc04p59OT7lZ5cO5VH5S4aI05e+m4j364MBROjjk2ugNvfNf/8ILg==", "dependencies": { - "@babel/types": "^7.14.5" + "@aws-sdk/types": "3.609.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.9.0" + "node": ">=16.0.0" } }, - "node_modules/@babel/helper-replace-supers": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.0.tgz", - "integrity": "sha512-6O+eWrhx+HEra/uJnifCwhwMd6Bp5+ZfZeJwbqUTuqkhIT6YcRhiZCOOFChRypOIe0cV46kFrRBlm+t5vHCEaA==", - "dev": true, + "node_modules/@aws-sdk/credential-provider-sso": { + "version": "3.645.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.645.0.tgz", + "integrity": "sha512-d6XuChAl5NCsCrUexc6AFb4efPmb9+66iwPylKG+iMTMYgO1ackfy1Q2/f35jdn0jolkPkzKsVyfzsEVoID6ew==", "dependencies": { - "@babel/helper-member-expression-to-functions": "^7.15.0", - "@babel/helper-optimise-call-expression": "^7.14.5", - "@babel/traverse": "^7.15.0", - "@babel/types": "^7.15.0" + "@aws-sdk/client-sso": "3.645.0", + "@aws-sdk/token-providers": "3.614.0", + "@aws-sdk/types": "3.609.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.9.0" + "node": ">=16.0.0" } }, - "node_modules/@babel/helper-simple-access": { - "version": "7.14.8", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.14.8.tgz", - "integrity": "sha512-TrFN4RHh9gnWEU+s7JloIho2T76GPwRHhdzOWLqTrMnlas8T9O7ec+oEDNsRXndOmru9ymH9DFrEOxpzPoSbdg==", - "dev": true, + "node_modules/@aws-sdk/credential-provider-web-identity": { + "version": "3.621.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.621.0.tgz", + "integrity": "sha512-w7ASSyfNvcx7+bYGep3VBgC3K6vEdLmlpjT7nSIHxxQf+WSdvy+HynwJosrpZax0sK5q0D1Jpn/5q+r5lwwW6w==", "dependencies": { - "@babel/types": "^7.14.8" + "@aws-sdk/types": "3.609.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.9.0" + "node": ">=16.0.0" + }, + "peerDependencies": { + "@aws-sdk/client-sts": "^3.621.0" } }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", - "dev": true, + "node_modules/@aws-sdk/middleware-bucket-endpoint": { + "version": "3.620.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.620.0.tgz", + "integrity": "sha512-eGLL0W6L3HDb3OACyetZYOWpHJ+gLo0TehQKeQyy2G8vTYXqNTeqYhuI6up9HVjBzU9eQiULVQETmgQs7TFaRg==", "dependencies": { - "@babel/types": "^7.22.5" + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-arn-parser": "3.568.0", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "@smithy/util-config-provider": "^3.0.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.9.0" + "node": ">=16.0.0" } }, - "node_modules/@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", - "dev": true, + "node_modules/@aws-sdk/middleware-expect-continue": { + "version": "3.620.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.620.0.tgz", + "integrity": "sha512-QXeRFMLfyQ31nAHLbiTLtk0oHzG9QLMaof5jIfqcUwnOkO8YnQdeqzakrg1Alpy/VQ7aqzIi8qypkBe2KXZz0A==", + "dependencies": { + "@aws-sdk/types": "3.609.0", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=6.9.0" + "node": ">=16.0.0" } }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", - "dev": true, + "node_modules/@aws-sdk/middleware-flexible-checksums": { + "version": "3.620.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.620.0.tgz", + "integrity": "sha512-ftz+NW7qka2sVuwnnO1IzBku5ccP+s5qZGeRTPgrKB7OzRW85gthvIo1vQR2w+OwHFk7WJbbhhWwbCbktnP4UA==", + "dependencies": { + "@aws-crypto/crc32": "5.2.0", + "@aws-crypto/crc32c": "5.2.0", + "@aws-sdk/types": "3.609.0", + "@smithy/is-array-buffer": "^3.0.0", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=6.9.0" + "node": ">=16.0.0" } }, - "node_modules/@babel/helper-validator-option": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz", - "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==", - "dev": true, + "node_modules/@aws-sdk/middleware-host-header": { + "version": "3.620.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.620.0.tgz", + "integrity": "sha512-VMtPEZwqYrII/oUkffYsNWY9PZ9xpNJpMgmyU0rlDQ25O1c0Hk3fJmZRe6pEkAJ0omD7kLrqGl1DUjQVxpd/Rg==", + "dependencies": { + "@aws-sdk/types": "3.609.0", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=6.9.0" + "node": ">=16.0.0" } }, - "node_modules/@babel/helpers": { - "version": "7.14.8", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.14.8.tgz", - "integrity": "sha512-ZRDmI56pnV+p1dH6d+UN6GINGz7Krps3+270qqI9UJ4wxYThfAIcI5i7j5vXC4FJ3Wap+S9qcebxeYiqn87DZw==", - "dev": true, + "node_modules/@aws-sdk/middleware-location-constraint": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.609.0.tgz", + "integrity": "sha512-xzsdoTkszGVqGVPjUmgoP7TORiByLueMHieI1fhQL888WPdqctwAx3ES6d/bA9Q/i8jnc6hs+Fjhy8UvBTkE9A==", "dependencies": { - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.14.8", - "@babel/types": "^7.14.8" + "@aws-sdk/types": "3.609.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.9.0" + "node": ">=16.0.0" } }, - "node_modules/@babel/highlight": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", - "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", - "dev": true, + "node_modules/@aws-sdk/middleware-logger": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.609.0.tgz", + "integrity": "sha512-S62U2dy4jMDhDFDK5gZ4VxFdWzCtLzwbYyFZx2uvPYTECkepLUfzLic2BHg2Qvtu4QjX+oGE3P/7fwaGIsGNuQ==", "dependencies": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" + "@aws-sdk/types": "3.609.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.9.0" + "node": ">=16.0.0" } }, - "node_modules/@babel/highlight/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==", - "dev": true, + "node_modules/@aws-sdk/middleware-recursion-detection": { + "version": "3.620.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.620.0.tgz", + "integrity": "sha512-nh91S7aGK3e/o1ck64sA/CyoFw+gAYj2BDOnoNa6ouyCrVJED96ZXWbhye/fz9SgmNUZR2g7GdVpiLpMKZoI5w==", "dependencies": { - "color-convert": "^1.9.0" + "@aws-sdk/types": "3.609.0", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=4" + "node": ">=16.0.0" } }, - "node_modules/@babel/highlight/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==", - "dev": true, + "node_modules/@aws-sdk/middleware-sdk-s3": { + "version": "3.635.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.635.0.tgz", + "integrity": "sha512-RLdYJPEV4JL/7NBoFUs7VlP90X++5FlJdxHz0DzCjmiD3qCviKy+Cym3qg1gBgHwucs5XisuClxDrGokhAdTQw==", "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "@aws-sdk/core": "3.635.0", + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-arn-parser": "3.568.0", + "@smithy/core": "^2.4.0", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/signature-v4": "^4.1.0", + "@smithy/smithy-client": "^3.2.0", + "@smithy/types": "^3.3.0", + "@smithy/util-config-provider": "^3.0.0", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-stream": "^3.1.3", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=4" + "node": ">=16.0.0" } }, - "node_modules/@babel/highlight/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==", - "dev": true, + "node_modules/@aws-sdk/middleware-ssec": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.609.0.tgz", + "integrity": "sha512-GZSD1s7+JswWOTamVap79QiDaIV7byJFssBW68GYjyRS5EBjNfwA/8s+6uE6g39R3ojyTbYOmvcANoZEhSULXg==", "dependencies": { - "color-name": "1.1.3" + "@aws-sdk/types": "3.609.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" } }, - "node_modules/@babel/highlight/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "node_modules/@babel/highlight/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=", - "dev": true, + "node_modules/@aws-sdk/middleware-user-agent": { + "version": "3.645.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.645.0.tgz", + "integrity": "sha512-NpTAtqWK+49lRuxfz7st9for80r4NriCMK0RfdJSoPFVntjsSQiQ7+2nW2XL05uVY633e9DvCAw8YatX3zd1mw==", + "dependencies": { + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.645.0", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=0.8.0" + "node": ">=16.0.0" } }, - "node_modules/@babel/highlight/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true, + "node_modules/@aws-sdk/region-config-resolver": { + "version": "3.614.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.614.0.tgz", + "integrity": "sha512-vDCeMXvic/LU0KFIUjpC3RiSTIkkvESsEfbVHiHH0YINfl8HnEqR5rj+L8+phsCeVg2+LmYwYxd5NRz4PHxt5g==", + "dependencies": { + "@aws-sdk/types": "3.609.0", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/types": "^3.3.0", + "@smithy/util-config-provider": "^3.0.0", + "@smithy/util-middleware": "^3.0.3", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=4" + "node": ">=16.0.0" } }, - "node_modules/@babel/highlight/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==", - "dev": true, + "node_modules/@aws-sdk/signature-v4-multi-region": { + "version": "3.635.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.635.0.tgz", + "integrity": "sha512-J6QY4/invOkpogCHjSaDON1hF03viPpOnsrzVuCvJMmclS/iG62R4EY0wq1alYll0YmSdmKlpJwHMWwGtqK63Q==", "dependencies": { - "has-flag": "^3.0.0" + "@aws-sdk/middleware-sdk-s3": "3.635.0", + "@aws-sdk/types": "3.609.0", + "@smithy/protocol-http": "^4.1.0", + "@smithy/signature-v4": "^4.1.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=4" + "node": ">=16.0.0" } }, - "node_modules/@babel/parser": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", - "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", - "dev": true, - "bin": { - "parser": "bin/babel-parser.js" + "node_modules/@aws-sdk/token-providers": { + "version": "3.614.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.614.0.tgz", + "integrity": "sha512-okItqyY6L9IHdxqs+Z116y5/nda7rHxLvROxtAJdLavWTYDydxrZstImNgGWTeVdmc0xX2gJCI77UYUTQWnhRw==", + "dependencies": { + "@aws-sdk/types": "3.609.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.0.0" + "node": ">=16.0.0" + }, + "peerDependencies": { + "@aws-sdk/client-sso-oidc": "^3.614.0" } }, - "node_modules/@babel/template": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", - "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", - "dev": true, + "node_modules/@aws-sdk/types": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", + "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/parser": "^7.22.15", - "@babel/types": "^7.22.15" + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.9.0" + "node": ">=16.0.0" } }, - "node_modules/@babel/traverse": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", - "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", - "dev": true, + "node_modules/@aws-sdk/util-arn-parser": { + "version": "3.568.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.568.0.tgz", + "integrity": "sha512-XUKJWWo+KOB7fbnPP0+g/o5Ulku/X53t7i/h+sPHr5xxYTJJ9CYnbToo95mzxe7xWvkLrsNtJ8L+MnNn9INs2w==", "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.23.0", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.0", - "@babel/types": "^7.23.0", - "debug": "^4.1.0", - "globals": "^11.1.0" + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.9.0" + "node": ">=16.0.0" } }, - "node_modules/@babel/types": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", - "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", - "dev": true, + "node_modules/@aws-sdk/util-endpoints": { + "version": "3.645.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.645.0.tgz", + "integrity": "sha512-Oe+xaU4ic4PB1k3pb5VTC1/MWES13IlgpaQw01bVHGfwP6Yv6zZOxizRzca2Y3E+AyR+nKD7vXtHRY+w3bi4bg==", "dependencies": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.20", - "to-fast-properties": "^2.0.0" + "@aws-sdk/types": "3.609.0", + "@smithy/types": "^3.3.0", + "@smithy/util-endpoints": "^2.0.5", + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.9.0" + "node": ">=16.0.0" } }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", - "dev": true, + "node_modules/@aws-sdk/util-locate-window": { + "version": "3.568.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.568.0.tgz", + "integrity": "sha512-3nh4TINkXYr+H41QaPelCceEB2FXP3fxp93YZXB/kqJvX0U9j0N0Uk45gvsjmEPzG8XxkPEeLIfT2I1M7A6Lig==", "dependencies": { - "eslint-visitor-keys": "^3.3.0" + "tslib": "^2.6.2" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + "node": ">=16.0.0" } }, - "node_modules/@eslint-community/regexpp": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.9.1.tgz", - "integrity": "sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==", - "dev": true, - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + "node_modules/@aws-sdk/util-user-agent-browser": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.609.0.tgz", + "integrity": "sha512-fojPU+mNahzQ0YHYBsx0ZIhmMA96H+ZIZ665ObU9tl+SGdbLneVZVikGve+NmHTQwHzwkFsZYYnVKAkreJLAtA==", + "dependencies": { + "@aws-sdk/types": "3.609.0", + "@smithy/types": "^3.3.0", + "bowser": "^2.11.0", + "tslib": "^2.6.2" } }, - "node_modules/@eslint/eslintrc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", - "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", - "dev": true, + "node_modules/@aws-sdk/util-user-agent-node": { + "version": "3.614.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.614.0.tgz", + "integrity": "sha512-15ElZT88peoHnq5TEoEtZwoXTXRxNrk60TZNdpl/TUBJ5oNJ9Dqb5Z4ryb8ofN6nm9aFf59GVAerFDz8iUoHBA==", "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" + "@aws-sdk/types": "3.609.0", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=16.0.0" }, - "funding": { - "url": "https://opencollective.com/eslint" + "peerDependencies": { + "aws-crt": ">=1.0.0" + }, + "peerDependenciesMeta": { + "aws-crt": { + "optional": true + } } }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.23.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", - "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", - "dev": true, + "node_modules/@aws-sdk/xml-builder": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.609.0.tgz", + "integrity": "sha512-l9XxNcA4HX98rwCC2/KoiWcmEiRfZe4G+mYwDbCFT87JIMj6GBhLDkAzr/W8KAaA2IDr8Vc6J8fZPgVulxxfMA==", "dependencies": { - "type-fest": "^0.20.2" + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=16.0.0" } }, - "node_modules/@eslint/eslintrc/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==", + "node_modules/@babel/helper-string-parser": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.7.tgz", + "integrity": "sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==", "dev": true, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=6.9.0" } }, - "node_modules/@eslint/js": { - "version": "8.51.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.51.0.tgz", - "integrity": "sha512-HxjQ8Qn+4SI3/AFv6sOrDB+g6PpUTDwSJiQqOrnneEk8L71161srI9gjzzZvYVbzHiVg/BvcH95+cK/zfIt4pg==", + "node_modules/@babel/helper-validator-identifier": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", "dev": true, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=6.9.0" } }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.11.13", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", - "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==", + "node_modules/@babel/parser": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.7.tgz", + "integrity": "sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==", "dev": true, - "dependencies": { - "@humanwhocodes/object-schema": "^2.0.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" + "bin": { + "parser": "bin/babel-parser.js" }, "engines": { - "node": ">=10.10.0" + "node": ">=6.0.0" } }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "node_modules/@babel/types": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.7.tgz", + "integrity": "sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==", "dev": true, - "engines": { - "node": ">=12.22" + "dependencies": { + "@babel/helper-string-parser": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7", + "to-fast-properties": "^2.0.0" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" + "engines": { + "node": ">=6.9.0" } }, - "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz", - "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==", + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", "dev": true }, - "node_modules/@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "node_modules/@esbuild/aix-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", + "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", + "cpu": [ + "ppc64" + ], "dev": true, - "dependencies": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, + "optional": true, + "os": [ + "aix" + ], "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "node_modules/@esbuild/android-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", + "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", + "cpu": [ + "arm" + ], "dev": true, - "dependencies": { - "sprintf-js": "~1.0.2" + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "node_modules/@esbuild/android-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", + "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/@istanbuljs/load-nyc-config/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==", + "node_modules/@esbuild/android-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", + "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "node_modules/@esbuild/darwin-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", + "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "node_modules/@esbuild/darwin-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", + "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=12" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", + "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "node_modules/@esbuild/freebsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", + "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", + "cpu": [ + "x64" + ], "dev": true, + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", - "dev": true, - "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", - "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "node_modules/@esbuild/linux-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", + "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", + "cpu": [ + "arm" + ], "dev": true, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.0.0" + "node": ">=12" } }, - "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "node_modules/@esbuild/linux-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", + "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", + "cpu": [ + "arm64" + ], "dev": true, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.0.0" + "node": ">=12" } }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "dev": true - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.20", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", - "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", + "node_modules/@esbuild/linux-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", + "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", + "cpu": [ + "ia32" + ], "dev": true, - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "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==", + "node_modules/@esbuild/linux-loong64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", + "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", + "cpu": [ + "loong64" + ], "dev": true, - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">= 8" + "node": ">=12" } }, - "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==", + "node_modules/@esbuild/linux-mips64el": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", + "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", + "cpu": [ + "mips64el" + ], "dev": true, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">= 8" + "node": ">=12" } }, - "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==", + "node_modules/@esbuild/linux-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", + "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", + "cpu": [ + "ppc64" + ], "dev": true, - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">= 8" + "node": ">=12" } }, - "node_modules/@sinonjs/commons": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", - "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", + "node_modules/@esbuild/linux-riscv64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", + "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", + "cpu": [ + "riscv64" + ], "dev": true, - "dependencies": { - "type-detect": "4.0.8" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "node_modules/@sinonjs/fake-timers": { - "version": "11.2.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-11.2.2.tgz", - "integrity": "sha512-G2piCSxQ7oWOxwGSAyFHfPIsyeJGXYtc6mFbnFA+kRXkiEnTl8c/8jul2S329iFBnDI9HGoeWWAZvuvOkZccgw==", + "node_modules/@esbuild/linux-s390x": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", + "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", + "cpu": [ + "s390x" + ], "dev": true, - "dependencies": { - "@sinonjs/commons": "^3.0.0" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "node_modules/@sinonjs/samsam": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-8.0.0.tgz", - "integrity": "sha512-Bp8KUVlLp8ibJZrnvq2foVhP0IVX2CIprMJPK0vqGqgrDa0OHVKeZyBykqskkrdxV6yKBPmGasO8LVjAKR3Gew==", + "node_modules/@esbuild/linux-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", + "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "@sinonjs/commons": "^2.0.0", - "lodash.get": "^4.4.2", - "type-detect": "^4.0.8" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "node_modules/@sinonjs/samsam/node_modules/@sinonjs/commons": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", - "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", + "node_modules/@esbuild/netbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", + "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "type-detect": "4.0.8" + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" } }, - "node_modules/@sinonjs/text-encoding": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.2.tgz", - "integrity": "sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ==", - "dev": true - }, - "node_modules/acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "node_modules/@esbuild/openbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", + "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", + "cpu": [ + "x64" + ], "dev": true, - "bin": { - "acorn": "bin/acorn" - }, + "optional": true, + "os": [ + "openbsd" + ], "engines": { - "node": ">=0.4.0" + "node": ">=12" } }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "node_modules/@esbuild/sunos-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", + "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", + "cpu": [ + "x64" + ], "dev": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" } }, - "node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "node_modules/@esbuild/win32-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", + "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "node_modules/@esbuild/win32-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", + "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", + "cpu": [ + "ia32" + ], "dev": true, - "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" + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" } }, - "node_modules/ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "node_modules/@esbuild/win32-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", + "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", + "cpu": [ + "x64" + ], "dev": true, + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=6" + "node": ">=12" } }, - "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==", + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", "dev": true, "engines": { "node": ">=8" } }, - "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==", + "node_modules/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "@sinclair/typebox": "^0.27.8" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", "dev": true, "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { - "node": ">= 8" + "node": ">=6.0.0" } }, - "node_modules/append-transform": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz", - "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==", + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", "dev": true, - "dependencies": { - "default-require-extensions": "^3.0.0" - }, "engines": { - "node": ">=8" + "node": ">=6.0.0" } }, - "node_modules/archy": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", - "dev": true - }, - "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/assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", "dev": true, "engines": { - "node": "*" + "node": ">=6.0.0" } }, - "node_modules/available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true }, - "node_modules/aws-sdk": { - "version": "2.1605.0", - "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1605.0.tgz", - "integrity": "sha512-/wtOuF7WgkbN6YL3xJ+FB54kvIAfnP/DQVDaE6rSYv6ft0xr01Si94NgQWhb5OcFkFfRAC4auZX8PiFNtOi9xQ==", - "hasInstallScript": true, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, "dependencies": { - "buffer": "4.9.2", - "events": "1.1.1", - "ieee754": "1.1.13", - "jmespath": "0.16.0", - "querystring": "0.2.0", - "sax": "1.2.1", - "url": "0.10.3", - "util": "^0.12.4", - "uuid": "8.0.0", - "xml2js": "0.6.2" - }, - "engines": { - "node": ">= 10.0.0" + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "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==", - "dev": true - }, - "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/@rollup/rollup-android-arm-eabi": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.22.4.tgz", + "integrity": "sha512-Fxamp4aEZnfPOcGA8KSNEohV8hX7zVHOemC8jVBoBUHu5zpJK/Eu3uJwt6BMgy9fkvzxDaurgj96F/NiLukF2w==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" ] }, - "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==", + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.22.4.tgz", + "integrity": "sha512-VXoK5UMrgECLYaMuGuVTOx5kcuap1Jm8g/M83RnCHBKOqvPPmROFJGQaZhGccnsFtfXQ3XYa4/jMCJvZnbJBdA==", + "cpu": [ + "arm64" + ], "dev": true, - "engines": { - "node": ">=8" - } + "license": "MIT", + "optional": true, + "os": [ + "android" + ] }, - "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==", + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.22.4.tgz", + "integrity": "sha512-xMM9ORBqu81jyMKCDP+SZDhnX2QEVQzTcC6G18KlTQEzWK8r/oNZtKuZaCcHhnsa6fEeOBionoyl5JsAbE/36Q==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] }, - "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.22.4.tgz", + "integrity": "sha512-aJJyYKQwbHuhTUrjWjxEvGnNNBCnmpHDvrb8JFDbeSH3m2XdHcxDd3jthAzvmoI8w/kSjd2y0udT+4okADsZIw==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "fill-range": "^7.1.1" - }, - "engines": { - "node": ">=8" - } + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] }, - "node_modules/browser-stdout": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", - "dev": true + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.22.4.tgz", + "integrity": "sha512-j63YtCIRAzbO+gC2L9dWXRh5BFetsv0j0va0Wi9epXDgU/XUi5dJKo4USTttVyK7fGw2nPWK0PbAvyliz50SCQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/browserslist": { - "version": "4.16.7", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.7.tgz", - "integrity": "sha512-7I4qVwqZltJ7j37wObBe3SoTz+nS8APaNcrBOlgoirb6/HbEU2XxW/LpUDTCngM6iauwFqmRTuOMfyKnFGY5JA==", + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.22.4.tgz", + "integrity": "sha512-dJnWUgwWBX1YBRsuKKMOlXCzh2Wu1mlHzv20TpqEsfdZLb3WoJW2kIEsGwLkroYf24IrPAvOT/ZQ2OYMV6vlrg==", + "cpu": [ + "arm" + ], "dev": true, - "dependencies": { - "caniuse-lite": "^1.0.30001248", - "colorette": "^1.2.2", - "electron-to-chromium": "^1.3.793", - "escalade": "^3.1.1", - "node-releases": "^1.1.73" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - } + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "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/@rollup/rollup-linux-arm64-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.22.4.tgz", + "integrity": "sha512-AdPRoNi3NKVLolCN/Sp4F4N1d98c4SBnHMKoLuiG6RXgoZ4sllseuGioszumnPGmPM2O7qaAX/IJdeDU8f26Aw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/caching-transform": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz", - "integrity": "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==", + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.22.4.tgz", + "integrity": "sha512-Gl0AxBtDg8uoAn5CCqQDMqAx22Wx22pjDOjBdmG0VIWX3qUBHzYmOKh8KXHL4UpogfJ14G4wk16EQogF+v8hmA==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "hasha": "^5.0.0", - "make-dir": "^3.0.0", - "package-hash": "^4.0.0", - "write-file-atomic": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001249", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001249.tgz", - "integrity": "sha512-vcX4U8lwVXPdqzPWi6cAJ3FnQaqXbBqy/GZseKNQzRj37J7qZdGcBtxq/QLFNLLlfsoXLUdHw8Iwenri86Tagw==", - "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - } - }, - "node_modules/chai": { - "version": "4.3.10", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.10.tgz", - "integrity": "sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g==", - "dev": true, - "dependencies": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.3", - "deep-eql": "^4.1.3", - "get-func-name": "^2.0.2", - "loupe": "^2.3.6", - "pathval": "^1.1.1", - "type-detect": "^4.0.8" - }, - "engines": { - "node": ">=4" - } - }, - "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" - } + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "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==", + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.22.4.tgz", + "integrity": "sha512-3aVCK9xfWW1oGQpTsYJJPF6bfpWfhbRnhdlyhak2ZiyFLDaayz0EP5j9V1RVLAAxlmWKTDfS9wyRyY3hvhPoOg==", + "cpu": [ + "ppc64" + ], "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/check-error": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", - "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.22.4.tgz", + "integrity": "sha512-ePYIir6VYnhgv2C5Xe9u+ico4t8sZWXschR6fMgoPUK31yQu7hTEJb7bCqivHECwIClJfKgE7zYsh1qTP3WHUA==", + "cpu": [ + "riscv64" + ], "dev": true, - "dependencies": { - "get-func-name": "^2.0.2" - }, - "engines": { - "node": "*" - } + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.22.4.tgz", + "integrity": "sha512-GqFJ9wLlbB9daxhVlrTe61vJtEY99/xB3C8e4ULVsVfflcpmR6c8UZXjtkMA6FhNONhj2eA5Tk9uAVw5orEs4Q==", + "cpu": [ + "s390x" ], - "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/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", "dev": true, - "engines": { - "node": ">=6" - } + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.22.4.tgz", + "integrity": "sha512-87v0ol2sH9GE3cLQLNEy0K/R0pz1nvg76o8M5nhMR0+Q+BBGLnb35P0fVz4CQxHYXaAOhE8HhlkaZfsdUOlHwg==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "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==", + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.22.4.tgz", + "integrity": "sha512-UV6FZMUgePDZrFjrNGIWzDo/vABebuXBhJEqrHxrGiU6HikPy0Z3LfdtciIttEUQfuDdCn8fqh7wiFJjCNwO+g==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "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/colorette": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", - "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==", - "dev": true - }, - "node_modules/commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "dev": true - }, - "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=", - "dev": true + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/convert-source-map": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.22.4.tgz", + "integrity": "sha512-BjI+NVVEGAXjGWYHz/vv0pBqfGoUH0IGZ0cICTn7kB9PyjrATSkX+8WkguNjWoj2qSr1im/+tTGRaY+4/PdcQw==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "safe-buffer": "~5.1.1" - } + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.22.4.tgz", + "integrity": "sha512-SiWG/1TuUdPvYmzmYnmd3IEifzR61Tragkbx9D3+R8mzQqDBz8v+BvZNDlkiTtI9T15KYZhP0ehn3Dld4n9J5g==", + "cpu": [ + "ia32" + ], "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.22.4.tgz", + "integrity": "sha512-j8pPKp53/lq9lMXN57S8cFz0MynJk8OWNuUnXct/9KCpKU7DgU3bYMJhwWmcqC0UU29p8Lr0/7KEVcaM6bf47Q==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] }, - "node_modules/debug/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/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", "dev": true }, - "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/deep-eql": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", - "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", - "dev": true, + "node_modules/@smithy/abort-controller": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-3.1.1.tgz", + "integrity": "sha512-MBJBiidoe+0cTFhyxT8g+9g7CeVccLM0IOKKUMCNQ1CNMJ/eIfoo0RTfVrXOONEI1UCN1W+zkiHSbzUNE9dZtQ==", "dependencies": { - "type-detect": "^4.0.0" + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=6" + "node": ">=16.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/default-require-extensions": { + "node_modules/@smithy/chunked-blob-reader": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.0.tgz", - "integrity": "sha512-ek6DpXq/SCpvjhpFsLFRVtIxJCRw6fUR42lYMVZuUMK7n8eMz4Uh5clckdBjEpLhn/gEBZo7hDJnJcwdKLKQjg==", - "dev": true, + "resolved": "https://registry.npmjs.org/@smithy/chunked-blob-reader/-/chunked-blob-reader-3.0.0.tgz", + "integrity": "sha512-sbnURCwjF0gSToGlsBiAmd1lRCmSn72nu9axfJu5lIx6RUEgHu6GwTMbqCdhQSi0Pumcm5vFxsi9XWXb2mTaoA==", "dependencies": { - "strip-bom": "^4.0.0" - }, - "engines": { - "node": ">=8" + "tslib": "^2.6.2" } }, - "node_modules/diff": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", - "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", - "dev": true, - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/doctrine": { + "node_modules/@smithy/chunked-blob-reader-native": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, + "resolved": "https://registry.npmjs.org/@smithy/chunked-blob-reader-native/-/chunked-blob-reader-native-3.0.0.tgz", + "integrity": "sha512-VDkpCYW+peSuM4zJip5WDfqvg2Mo/e8yxOv3VF1m11y7B8KKMKVFtmZWDe36Fvk8rGuWrPZHHXZ7rR7uM5yWyg==", "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/electron-to-chromium": { - "version": "1.3.798", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.798.tgz", - "integrity": "sha512-fwsr6oXAORoV9a6Ak2vMCdXfmHIpAGgpOGesulS1cbGgJmrMl3H+GicUyRG3t+z9uHTMrIuMTleFDW+EUFYT3g==", - "dev": true - }, - "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==", - "dev": true - }, - "node_modules/es6-error": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", - "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", - "dev": true - }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "@smithy/util-base64": "^3.0.0", + "tslib": "^2.6.2" } }, - "node_modules/eslint": { - "version": "8.51.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.51.0.tgz", - "integrity": "sha512-2WuxRZBrlwnXi+/vFSJyjMqrNjtJqiasMzehF0shoLaW7DzS3/9Yvrmq5JiT66+pNjiX4UBnLDiKHcWAr/OInA==", - "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "8.51.0", - "@humanwhocodes/config-array": "^0.11.11", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" + "node_modules/@smithy/config-resolver": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-3.0.5.tgz", + "integrity": "sha512-SkW5LxfkSI1bUC74OtfBbdz+grQXYiPYolyu8VfpLIjEoN/sHVBlLeGXMQ1vX4ejkgfv6sxVbQJ32yF2cl1veA==", + "dependencies": { + "@smithy/node-config-provider": "^3.1.4", + "@smithy/types": "^3.3.0", + "@smithy/util-config-provider": "^3.0.0", + "@smithy/util-middleware": "^3.0.3", + "tslib": "^2.6.2" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": ">=16.0.0" } }, - "node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", - "dev": true, + "node_modules/@smithy/core": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@smithy/core/-/core-2.4.0.tgz", + "integrity": "sha512-cHXq+FneIF/KJbt4q4pjN186+Jf4ZB0ZOqEaZMBhT79srEyGDDBV31NqBRBjazz8ppQ1bJbDJMY9ba5wKFV36w==", "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-retry": "^3.0.15", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.2.0", + "@smithy/types": "^3.3.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": ">=16.0.0" } }, - "node_modules/eslint/node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, + "node_modules/@smithy/credential-provider-imds": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-3.2.0.tgz", + "integrity": "sha512-0SCIzgd8LYZ9EJxUjLXBmEKSZR/P/w6l7Rz/pab9culE/RWuqelAKGJvn5qUOl8BgX8Yj5HWM50A5hiB/RzsgA==", "dependencies": { - "is-glob": "^4.0.3" + "@smithy/node-config-provider": "^3.1.4", + "@smithy/property-provider": "^3.1.3", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "tslib": "^2.6.2" }, "engines": { - "node": ">=10.13.0" + "node": ">=16.0.0" } }, - "node_modules/eslint/node_modules/globals": { - "version": "13.23.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", - "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", - "dev": true, + "node_modules/@smithy/eventstream-codec": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-3.1.2.tgz", + "integrity": "sha512-0mBcu49JWt4MXhrhRAlxASNy0IjDRFU+aWNDRal9OtUJvJNiwDuyKMUONSOjLjSCeGwZaE0wOErdqULer8r7yw==", "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "@aws-crypto/crc32": "5.2.0", + "@smithy/types": "^3.3.0", + "@smithy/util-hex-encoding": "^3.0.0", + "tslib": "^2.6.2" } }, - "node_modules/eslint/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", - "dev": true, - "dependencies": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "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==", - "dev": true, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", - "dev": true, - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "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/events": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", - "integrity": "sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw==", - "engines": { - "node": ">=0.4.x" - } - }, - "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==", - "dev": true - }, - "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==", - "dev": true - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true - }, - "node_modules/fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", - "dev": true, - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-cache-dir": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", - "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", - "dev": true, - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/avajs/find-cache-dir?sponsor=1" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", - "dev": true, - "bin": { - "flat": "cli.js" - } - }, - "node_modules/flat-cache": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.1.tgz", - "integrity": "sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==", - "dev": true, - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/flatted": { - "version": "3.2.9", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", - "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", - "dev": true - }, - "node_modules/for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "dependencies": { - "is-callable": "^1.1.3" - } - }, - "node_modules/foreground-child": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz", - "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/fromentries": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz", - "integrity": "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==", - "dev": true, - "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/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true, - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-func-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", - "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/get-intrinsic": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", - "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", - "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "dev": true, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "dev": true, - "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==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "dependencies": { - "get-intrinsic": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==", - "dev": true - }, - "node_modules/graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "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/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/hasha": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz", - "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==", - "dev": true, - "dependencies": { - "is-stream": "^2.0.0", - "type-fest": "^0.8.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true, - "bin": { - "he": "bin/he" - } - }, - "node_modules/html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true - }, - "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.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/import-fresh/node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true, - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "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/is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==", - "dev": true, - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-generator-function": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==", - "dev": true, - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-typed-array": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", - "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", - "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, - "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==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/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==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "node_modules/istanbul-lib-coverage": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", - "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", - "dev": true, + "node_modules/@smithy/eventstream-serde-browser": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-3.0.6.tgz", + "integrity": "sha512-2hM54UWQUOrki4BtsUI1WzmD13/SeaqT/AB3EUJKbcver/WgKNaiJ5y5F5XXuVe6UekffVzuUDrBZVAA3AWRpQ==", + "dependencies": { + "@smithy/eventstream-serde-universal": "^3.0.5", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=8" + "node": ">=16.0.0" } }, - "node_modules/istanbul-lib-hook": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz", - "integrity": "sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==", - "dev": true, + "node_modules/@smithy/eventstream-serde-config-resolver": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.0.3.tgz", + "integrity": "sha512-NVTYjOuYpGfrN/VbRQgn31x73KDLfCXCsFdad8DiIc3IcdxL+dYA9zEQPyOP7Fy2QL8CPy2WE4WCUD+ZsLNfaQ==", "dependencies": { - "append-transform": "^2.0.0" + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=8" + "node": ">=16.0.0" } }, - "node_modules/istanbul-lib-instrument": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", - "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", - "dev": true, + "node_modules/@smithy/eventstream-serde-node": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-node/-/eventstream-serde-node-3.0.5.tgz", + "integrity": "sha512-+upXvnHNyZP095s11jF5dhGw/Ihzqwl5G+/KtMnoQOpdfC3B5HYCcDVG9EmgkhJMXJlM64PyN5gjJl0uXFQehQ==", "dependencies": { - "@babel/core": "^7.7.5", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.0.0", - "semver": "^6.3.0" + "@smithy/eventstream-serde-universal": "^3.0.5", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=8" + "node": ">=16.0.0" } }, - "node_modules/istanbul-lib-processinfo": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.2.tgz", - "integrity": "sha512-kOwpa7z9hme+IBPZMzQ5vdQj8srYgAtaRqeI48NGmAQ+/5yKiHLV0QbYqQpxsdEF0+w14SoB8YbnHKcXE2KnYw==", - "dev": true, + "node_modules/@smithy/eventstream-serde-universal": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-3.0.5.tgz", + "integrity": "sha512-5u/nXbyoh1s4QxrvNre9V6vfyoLWuiVvvd5TlZjGThIikc3G+uNiG9uOTCWweSRjv1asdDIWK7nOmN7le4RYHQ==", "dependencies": { - "archy": "^1.0.0", - "cross-spawn": "^7.0.0", - "istanbul-lib-coverage": "^3.0.0-alpha.1", - "make-dir": "^3.0.0", - "p-map": "^3.0.0", - "rimraf": "^3.0.0", - "uuid": "^3.3.3" + "@smithy/eventstream-codec": "^3.1.2", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=8" + "node": ">=16.0.0" } }, - "node_modules/istanbul-lib-processinfo/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.", - "dev": true, - "bin": { - "uuid": "bin/uuid" + "node_modules/@smithy/fetch-http-handler": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-3.2.4.tgz", + "integrity": "sha512-kBprh5Gs5h7ug4nBWZi1FZthdqSM+T7zMmsZxx0IBvWUn7dK3diz2SHn7Bs4dQGFDk8plDv375gzenDoNwrXjg==", + "dependencies": { + "@smithy/protocol-http": "^4.1.0", + "@smithy/querystring-builder": "^3.0.3", + "@smithy/types": "^3.3.0", + "@smithy/util-base64": "^3.0.0", + "tslib": "^2.6.2" } }, - "node_modules/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", - "dev": true, + "node_modules/@smithy/hash-blob-browser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@smithy/hash-blob-browser/-/hash-blob-browser-3.1.2.tgz", + "integrity": "sha512-hAbfqN2UbISltakCC2TP0kx4LqXBttEv2MqSPE98gVuDFMf05lU+TpC41QtqGP3Ff5A3GwZMPfKnEy0VmEUpmg==", "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" + "@smithy/chunked-blob-reader": "^3.0.0", + "@smithy/chunked-blob-reader-native": "^3.0.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@smithy/hash-node": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-3.0.3.tgz", + "integrity": "sha512-2ctBXpPMG+B3BtWSGNnKELJ7SH9e4TNefJS0cd2eSkOOROeBnnVBnAy9LtJ8tY4vUEoe55N4CNPxzbWvR39iBw==", + "dependencies": { + "@smithy/types": "^3.3.0", + "@smithy/util-buffer-from": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=8" + "node": ">=16.0.0" } }, - "node_modules/istanbul-lib-report/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, + "node_modules/@smithy/hash-stream-node": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@smithy/hash-stream-node/-/hash-stream-node-3.1.2.tgz", + "integrity": "sha512-PBgDMeEdDzi6JxKwbfBtwQG9eT9cVwsf0dZzLXoJF4sHKHs5HEo/3lJWpn6jibfJwT34I1EBXpBnZE8AxAft6g==", "dependencies": { - "has-flag": "^4.0.0" + "@smithy/types": "^3.3.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=8" + "node": ">=16.0.0" } }, - "node_modules/istanbul-lib-source-maps": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz", - "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==", - "dev": true, + "node_modules/@smithy/invalid-dependency": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-3.0.3.tgz", + "integrity": "sha512-ID1eL/zpDULmHJbflb864k72/SNOZCADRc9i7Exq3RUNJw6raWUSlFEQ+3PX3EYs++bTxZB2dE9mEHTQLv61tw==", "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@smithy/is-array-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", + "dependencies": { + "tslib": "^2.6.2" }, "engines": { - "node": ">=8" + "node": ">=16.0.0" } }, - "node_modules/istanbul-lib-source-maps/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, - "engines": { - "node": ">=0.10.0" + "node_modules/@smithy/md5-js": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/md5-js/-/md5-js-3.0.3.tgz", + "integrity": "sha512-O/SAkGVwpWmelpj/8yDtsaVe6sINHLB1q8YE/+ZQbDxIw3SRLbTZuRaI10K12sVoENdnHqzPp5i3/H+BcZ3m3Q==", + "dependencies": { + "@smithy/types": "^3.3.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" } }, - "node_modules/istanbul-reports": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz", - "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==", - "dev": true, + "node_modules/@smithy/middleware-content-length": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-3.0.5.tgz", + "integrity": "sha512-ILEzC2eyxx6ncej3zZSwMpB5RJ0zuqH7eMptxC4KN3f+v9bqT8ohssKbhNR78k/2tWW+KS5Spw+tbPF4Ejyqvw==", "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=8" + "node": ">=16.0.0" } }, - "node_modules/jmespath": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.16.0.tgz", - "integrity": "sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==", + "node_modules/@smithy/middleware-endpoint": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-3.1.0.tgz", + "integrity": "sha512-5y5aiKCEwg9TDPB4yFE7H6tYvGFf1OJHNczeY10/EFF8Ir8jZbNntQJxMWNfeQjC1mxPsaQ6mR9cvQbf+0YeMw==", + "dependencies": { + "@smithy/middleware-serde": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-middleware": "^3.0.3", + "tslib": "^2.6.2" + }, "engines": { - "node": ">= 0.6.0" + "node": ">=16.0.0" } }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "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, + "node_modules/@smithy/middleware-retry": { + "version": "3.0.15", + "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-3.0.15.tgz", + "integrity": "sha512-iTMedvNt1ApdvkaoE8aSDuwaoc+BhvHqttbA/FO4Ty+y/S5hW6Ci/CTScG7vam4RYJWZxdTElc3MEfHRVH6cgQ==", "dependencies": { - "argparse": "^2.0.1" + "@smithy/node-config-provider": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/service-error-classification": "^3.0.3", + "@smithy/smithy-client": "^3.2.0", + "@smithy/types": "^3.3.0", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "tslib": "^2.6.2", + "uuid": "^9.0.1" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "engines": { + "node": ">=16.0.0" } }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true, + "node_modules/@smithy/middleware-retry/node_modules/uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], "bin": { - "jsesc": "bin/jsesc" + "uuid": "dist/bin/uuid" + } + }, + "node_modules/@smithy/middleware-serde": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-3.0.3.tgz", + "integrity": "sha512-puUbyJQBcg9eSErFXjKNiGILJGtiqmuuNKEYNYfUD57fUl4i9+mfmThtQhvFXU0hCVG0iEJhvQUipUf+/SsFdA==", + "dependencies": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=4" + "node": ">=16.0.0" } }, - "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/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==", - "dev": true - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "bin": { - "json5": "lib/cli.js" + "node_modules/@smithy/middleware-stack": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-3.0.3.tgz", + "integrity": "sha512-r4klY9nFudB0r9UdSMaGSyjyQK5adUyPnQN/ZM6M75phTxOdnc/AhpvGD1fQUvgmqjQEBGCwpnPbDm8pH5PapA==", + "dependencies": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=6" + "node": ">=16.0.0" } }, - "node_modules/just-extend": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.2.1.tgz", - "integrity": "sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg==", - "dev": true - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, + "node_modules/@smithy/node-config-provider": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-3.1.4.tgz", + "integrity": "sha512-YvnElQy8HR4vDcAjoy7Xkx9YT8xZP4cBXcbJSgm/kxmiQu08DwUwj8rkGnyoJTpfl/3xYHH+d8zE+eHqoDCSdQ==", "dependencies": { - "json-buffer": "3.0.1" + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" } }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, + "node_modules/@smithy/node-http-handler": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-3.1.4.tgz", + "integrity": "sha512-+UmxgixgOr/yLsUxcEKGH0fMNVteJFGkmRltYFHnBMlogyFdpzn2CwqWmxOrfJELhV34v0WSlaqG1UtE1uXlJg==", "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" + "@smithy/abort-controller": "^3.1.1", + "@smithy/protocol-http": "^4.1.0", + "@smithy/querystring-builder": "^3.0.3", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">= 0.8.0" + "node": ">=16.0.0" } }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, + "node_modules/@smithy/property-provider": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-3.1.3.tgz", + "integrity": "sha512-zahyOVR9Q4PEoguJ/NrFP4O7SMAfYO1HLhB18M+q+Z4KFd4V2obiMnlVoUFzFLSPeVt1POyNWneHHrZaTMoc/g==", "dependencies": { - "p-locate": "^5.0.0" + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=16.0.0" } }, - "node_modules/lodash.flattendeep": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", - "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=", - "dev": true - }, - "node_modules/lodash.get": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", - "dev": true - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, - "node_modules/log-symbols": { + "node_modules/@smithy/protocol-http": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", - "dev": true, + "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-4.1.0.tgz", + "integrity": "sha512-dPVoHYQ2wcHooGXg3LQisa1hH0e4y0pAddPMeeUPipI1tEOqL6A4N0/G7abeq+K8wrwSgjk4C0wnD1XZpJm5aA==", "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=16.0.0" } }, - "node_modules/loupe": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz", - "integrity": "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==", - "dev": true, + "node_modules/@smithy/querystring-builder": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-3.0.3.tgz", + "integrity": "sha512-vyWckeUeesFKzCDaRwWLUA1Xym9McaA6XpFfAK5qI9DKJ4M33ooQGqvM4J+LalH4u/Dq9nFiC8U6Qn1qi0+9zw==", "dependencies": { - "get-func-name": "^2.0.0" + "@smithy/types": "^3.3.0", + "@smithy/util-uri-escape": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" } }, - "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, + "node_modules/@smithy/querystring-parser": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-3.0.3.tgz", + "integrity": "sha512-zahM1lQv2YjmznnfQsWbYojFe55l0SLG/988brlLv1i8z3dubloLF+75ATRsqPBboUXsW6I9CPGE5rQgLfY0vQ==", "dependencies": { - "semver": "^6.0.0" + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=16.0.0" } }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, + "node_modules/@smithy/service-error-classification": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.3.tgz", + "integrity": "sha512-Jn39sSl8cim/VlkLsUhRFq/dKDnRUFlfRkvhOJaUbLBXUsLRLNf9WaxDv/z9BjuQ3A6k/qE8af1lsqcwm7+DaQ==", "dependencies": { - "brace-expansion": "^1.1.7" + "@smithy/types": "^3.3.0" }, "engines": { - "node": "*" + "node": ">=16.0.0" } }, - "node_modules/mocha": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz", - "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==", - "dev": true, - "dependencies": { - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", - "chokidar": "3.5.3", - "debug": "4.3.4", - "diff": "5.0.0", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "7.2.0", - "he": "1.2.0", - "js-yaml": "4.1.0", - "log-symbols": "4.1.0", - "minimatch": "5.0.1", - "ms": "2.1.3", - "nanoid": "3.3.3", - "serialize-javascript": "6.0.0", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "workerpool": "6.2.1", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", - "yargs-unparser": "2.0.0" - }, - "bin": { - "_mocha": "bin/_mocha", - "mocha": "bin/mocha.js" + "node_modules/@smithy/shared-ini-file-loader": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.4.tgz", + "integrity": "sha512-qMxS4hBGB8FY2GQqshcRUy1K6k8aBWP5vwm8qKkCT3A9K2dawUwOIJfqh9Yste/Bl0J2lzosVyrXDj68kLcHXQ==", + "dependencies": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">= 14.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mochajs" + "node": ">=16.0.0" } }, - "node_modules/mocha/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, + "node_modules/@smithy/signature-v4": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-4.1.0.tgz", + "integrity": "sha512-aRryp2XNZeRcOtuJoxjydO6QTaVhxx/vjaR+gx7ZjaFgrgPRyZ3HCTbfwqYj6ZWEBHkCSUfcaymKPURaByukag==", "dependencies": { - "balanced-match": "^1.0.0" + "@smithy/is-array-buffer": "^3.0.0", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "@smithy/util-hex-encoding": "^3.0.0", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-uri-escape": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" } }, - "node_modules/mocha/node_modules/minimatch": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", - "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", - "dev": true, + "node_modules/@smithy/smithy-client": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-3.2.0.tgz", + "integrity": "sha512-pDbtxs8WOhJLJSeaF/eAbPgXg4VVYFlRcL/zoNYA5WbG3wBL06CHtBSg53ppkttDpAJ/hdiede+xApip1CwSLw==", "dependencies": { - "brace-expansion": "^2.0.1" + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "@smithy/util-stream": "^3.1.3", + "tslib": "^2.6.2" }, "engines": { - "node": ">=10" + "node": ">=16.0.0" } }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - }, - "node_modules/nanoid": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", - "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", - "dev": true, - "bin": { - "nanoid": "bin/nanoid.cjs" + "node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "dependencies": { + "tslib": "^2.6.2" }, "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + "node": ">=16.0.0" } }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "node_modules/nise": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.5.tgz", - "integrity": "sha512-VJuPIfUFaXNRzETTQEEItTOP8Y171ijr+JLq42wHes3DiryR8vT+1TXQW/Rx8JNUhyYYWyIvjXTU6dOhJcs9Nw==", - "dev": true, + "node_modules/@smithy/url-parser": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-3.0.3.tgz", + "integrity": "sha512-pw3VtZtX2rg+s6HMs6/+u9+hu6oY6U7IohGhVNnjbgKy86wcIsSZwgHrFR+t67Uyxvp4Xz3p3kGXXIpTNisq8A==", "dependencies": { - "@sinonjs/commons": "^2.0.0", - "@sinonjs/fake-timers": "^10.0.2", - "@sinonjs/text-encoding": "^0.7.1", - "just-extend": "^4.0.2", - "path-to-regexp": "^1.7.0" + "@smithy/querystring-parser": "^3.0.3", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" } }, - "node_modules/nise/node_modules/@sinonjs/commons": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", - "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", - "dev": true, + "node_modules/@smithy/util-base64": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-3.0.0.tgz", + "integrity": "sha512-Kxvoh5Qtt0CDsfajiZOCpJxgtPHXOKwmM+Zy4waD43UoEMA+qPxxa98aE/7ZhdnBFZFXMOiBR5xbcaMhLtznQQ==", "dependencies": { - "type-detect": "4.0.8" + "@smithy/util-buffer-from": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" } }, - "node_modules/nise/node_modules/@sinonjs/fake-timers": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", - "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", - "dev": true, + "node_modules/@smithy/util-body-length-browser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-3.0.0.tgz", + "integrity": "sha512-cbjJs2A1mLYmqmyVl80uoLTJhAcfzMOyPgjwAYusWKMdLeNtzmMz9YxNl3/jRLoxSS3wkqkf0jwNdtXWtyEBaQ==", "dependencies": { - "@sinonjs/commons": "^3.0.0" + "tslib": "^2.6.2" } }, - "node_modules/nise/node_modules/@sinonjs/fake-timers/node_modules/@sinonjs/commons": { + "node_modules/@smithy/util-body-length-node": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", - "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", - "dev": true, + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-3.0.0.tgz", + "integrity": "sha512-Tj7pZ4bUloNUP6PzwhN7K386tmSmEET9QtQg0TgdNOnxhZvCssHji+oZTUIuzxECRfG8rdm2PMw2WCFs6eIYkA==", "dependencies": { - "type-detect": "4.0.8" + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" } }, - "node_modules/node-preload": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz", - "integrity": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==", - "dev": true, + "node_modules/@smithy/util-buffer-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", "dependencies": { - "process-on-spawn": "^1.0.0" + "@smithy/is-array-buffer": "^3.0.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=8" + "node": ">=16.0.0" } }, - "node_modules/node-releases": { - "version": "1.1.73", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.73.tgz", - "integrity": "sha512-uW7fodD6pyW2FZNZnp/Z3hvWKeEW1Y8R1+1CnErE8cXFXzl5blBOoVB41CvMer6P6Q0S5FXDwcHgFd1Wj0U9zg==", - "dev": true - }, - "node_modules/normalize-path": { + "node_modules/@smithy/util-config-provider": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, + "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-3.0.0.tgz", + "integrity": "sha512-pbjk4s0fwq3Di/ANL+rCvJMKM5bzAQdE5S/6RL5NXgMExFAi6UgQMPOm5yPaIWPpr+EOXKXRonJ3FoxKf4mCJQ==", + "dependencies": { + "tslib": "^2.6.2" + }, "engines": { - "node": ">=0.10.0" + "node": ">=16.0.0" } }, - "node_modules/nyc": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz", - "integrity": "sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==", - "dev": true, + "node_modules/@smithy/util-defaults-mode-browser": { + "version": "3.0.15", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-3.0.15.tgz", + "integrity": "sha512-FZ4Psa3vjp8kOXcd3HJOiDPBCWtiilLl57r0cnNtq/Ga9RSDrM5ERL6xt+tO43+2af6Pn5Yp92x2n5vPuduNfg==", "dependencies": { - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "caching-transform": "^4.0.0", - "convert-source-map": "^1.7.0", - "decamelize": "^1.2.0", - "find-cache-dir": "^3.2.0", - "find-up": "^4.1.0", - "foreground-child": "^2.0.0", - "get-package-type": "^0.1.0", - "glob": "^7.1.6", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-hook": "^3.0.0", - "istanbul-lib-instrument": "^4.0.0", - "istanbul-lib-processinfo": "^2.0.2", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.0.2", - "make-dir": "^3.0.0", - "node-preload": "^0.2.1", - "p-map": "^3.0.0", - "process-on-spawn": "^1.0.0", - "resolve-from": "^5.0.0", - "rimraf": "^3.0.0", - "signal-exit": "^3.0.2", - "spawn-wrap": "^2.0.0", - "test-exclude": "^6.0.0", - "yargs": "^15.0.2" - }, - "bin": { - "nyc": "bin/nyc.js" + "@smithy/property-provider": "^3.1.3", + "@smithy/smithy-client": "^3.2.0", + "@smithy/types": "^3.3.0", + "bowser": "^2.11.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=8.9" + "node": ">= 10.0.0" } }, - "node_modules/nyc/node_modules/cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, + "node_modules/@smithy/util-defaults-mode-node": { + "version": "3.0.15", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-3.0.15.tgz", + "integrity": "sha512-KSyAAx2q6d0t6f/S4XB2+3+6aQacm3aLMhs9aLMqn18uYGUepbdssfogW5JQZpc6lXNBnp0tEnR5e9CEKmEd7A==", "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" + "@smithy/config-resolver": "^3.0.5", + "@smithy/credential-provider-imds": "^3.2.0", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/property-provider": "^3.1.3", + "@smithy/smithy-client": "^3.2.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">= 10.0.0" } }, - "node_modules/nyc/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, + "node_modules/@smithy/util-endpoints": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-2.0.5.tgz", + "integrity": "sha512-ReQP0BWihIE68OAblC/WQmDD40Gx+QY1Ez8mTdFMXpmjfxSyz2fVQu3A4zXRfQU9sZXtewk3GmhfOHswvX+eNg==", "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" + "@smithy/node-config-provider": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=8" + "node": ">=16.0.0" } }, - "node_modules/nyc/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, + "node_modules/@smithy/util-hex-encoding": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-3.0.0.tgz", + "integrity": "sha512-eFndh1WEK5YMUYvy3lPlVmYY/fZcQE1D8oSf41Id2vCeIkKJXPcYDCZD+4+xViI6b1XSd7tE+s5AmXzz5ilabQ==", "dependencies": { - "p-locate": "^4.1.0" + "tslib": "^2.6.2" }, "engines": { - "node": ">=8" + "node": ">=16.0.0" } }, - "node_modules/nyc/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, + "node_modules/@smithy/util-middleware": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-3.0.3.tgz", + "integrity": "sha512-l+StyYYK/eO3DlVPbU+4Bi06Jjal+PFLSMmlWM1BEwyLxZ3aKkf1ROnoIakfaA7mC6uw3ny7JBkau4Yc+5zfWw==", "dependencies": { - "p-try": "^2.0.0" + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=16.0.0" } }, - "node_modules/nyc/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, + "node_modules/@smithy/util-retry": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-3.0.3.tgz", + "integrity": "sha512-AFw+hjpbtVApzpNDhbjNG5NA3kyoMs7vx0gsgmlJF4s+yz1Zlepde7J58zpIRIsdjc+emhpAITxA88qLkPF26w==", "dependencies": { - "p-limit": "^2.2.0" + "@smithy/service-error-classification": "^3.0.3", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=8" + "node": ">=16.0.0" } }, - "node_modules/nyc/node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, + "node_modules/@smithy/util-stream": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-3.1.3.tgz", + "integrity": "sha512-FIv/bRhIlAxC0U7xM1BCnF2aDRPq0UaelqBHkM2lsCp26mcBbgI0tCVTv+jGdsQLUmAMybua/bjDsSu8RQHbmw==", "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/types": "^3.3.0", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-buffer-from": "^3.0.0", + "@smithy/util-hex-encoding": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=8" + "node": ">=16.0.0" } }, - "node_modules/nyc/node_modules/y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "dev": true - }, - "node_modules/nyc/node_modules/yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "dev": true, + "node_modules/@smithy/util-uri-escape": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-3.0.0.tgz", + "integrity": "sha512-LqR7qYLgZTD7nWLBecUi4aqolw8Mhza9ArpNEQ881MJJIU2sE5iHCK6TdyqqzcDLy0OPe10IY4T8ctVdtynubg==", "dependencies": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" + "tslib": "^2.6.2" }, "engines": { - "node": ">=8" + "node": ">=16.0.0" } }, - "node_modules/nyc/node_modules/yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, + "node_modules/@smithy/util-utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", + "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" + "@smithy/util-buffer-from": "^3.0.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=6" + "node": ">=16.0.0" } }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, + "node_modules/@smithy/util-waiter": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@smithy/util-waiter/-/util-waiter-3.1.2.tgz", + "integrity": "sha512-4pP0EV3iTsexDx+8PPGAKCQpd/6hsQBaQhqWzU4hqKPHN5epPsxKbvUTIiYIHTxaKt6/kEaqPBpu/ufvfbrRzw==", "dependencies": { - "wrappy": "1" + "@smithy/abort-controller": "^3.1.1", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true + }, + "node_modules/@vitest/coverage-v8": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-1.6.0.tgz", + "integrity": "sha512-KvapcbMY/8GYIG0rlwwOKCVNRc0OL20rrhFkg/CHNzncV03TE2XWvO5w9uZYoxNiMEBacAJt3unSOiZ7svePew==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.1", + "@bcoe/v8-coverage": "^0.2.3", + "debug": "^4.3.4", + "istanbul-lib-coverage": "^3.2.2", + "istanbul-lib-report": "^3.0.1", + "istanbul-lib-source-maps": "^5.0.4", + "istanbul-reports": "^3.1.6", + "magic-string": "^0.30.5", + "magicast": "^0.3.3", + "picocolors": "^1.0.0", + "std-env": "^3.5.0", + "strip-literal": "^2.0.0", + "test-exclude": "^6.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "vitest": "1.6.0" } }, - "node_modules/optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "node_modules/@vitest/coverage-v8/node_modules/istanbul-lib-source-maps": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-5.0.4.tgz", + "integrity": "sha512-wHOoEsNJTVltaJp8eVkm8w+GVkVNHT2YDYo53YdzQEL2gWm1hBX5cGFR9hQJtuGLebidVX7et3+dmDZrmclduw==", "dev": true, "dependencies": { - "@aashutoshrathi/word-wrap": "^1.2.3", - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" + "@jridgewell/trace-mapping": "^0.3.23", + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">=10" } }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "node_modules/@vitest/expect": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.6.0.tgz", + "integrity": "sha512-ixEvFVQjycy/oNgHjqsL6AZCDduC+tflRluaHIzKIsdbzkLn2U/iBnVeJwB6HsIjQBdfMR8Z0tRxKUsvFJEeWQ==", "dev": true, "dependencies": { - "yocto-queue": "^0.1.0" + "@vitest/spy": "1.6.0", + "@vitest/utils": "1.6.0", + "chai": "^4.3.10" }, - "engines": { - "node": ">=10" + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/runner": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.6.0.tgz", + "integrity": "sha512-P4xgwPjwesuBiHisAVz/LSSZtDjOTPYZVmNAnpHHSR6ONrf8eCJOFRvUwdHn30F5M1fxhqtl7QZQUk2dprIXAg==", + "dev": true, + "dependencies": { + "@vitest/utils": "1.6.0", + "p-limit": "^5.0.0", + "pathe": "^1.1.1" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://opencollective.com/vitest" } }, - "node_modules/p-locate": { + "node_modules/@vitest/runner/node_modules/p-limit": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-5.0.0.tgz", + "integrity": "sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==", "dev": true, "dependencies": { - "p-limit": "^3.0.2" + "yocto-queue": "^1.0.0" }, "engines": { - "node": ">=10" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/p-map": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", - "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", + "node_modules/@vitest/runner/node_modules/yocto-queue": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", + "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", "dev": true, - "dependencies": { - "aggregate-error": "^3.0.0" - }, "engines": { - "node": ">=8" + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/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==", + "node_modules/@vitest/snapshot": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.6.0.tgz", + "integrity": "sha512-+Hx43f8Chus+DCmygqqfetcAZrDJwvTj0ymqjQq4CvmpKFSTVteEOBzCusu1x2tt4OJcvBflyHUE0DZSLgEMtQ==", "dev": true, - "engines": { - "node": ">=6" + "dependencies": { + "magic-string": "^0.30.5", + "pathe": "^1.1.1", + "pretty-format": "^29.7.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" } }, - "node_modules/package-hash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz", - "integrity": "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==", + "node_modules/@vitest/spy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.6.0.tgz", + "integrity": "sha512-leUTap6B/cqi/bQkXUu6bQV5TZPx7pmMBKBQiI0rJA8c3pB56ZsaTbREnF7CJfmvAS4V2cXIBAh/3rVwrrCYgw==", "dev": true, "dependencies": { - "graceful-fs": "^4.1.15", - "hasha": "^5.0.0", - "lodash.flattendeep": "^4.4.0", - "release-zalgo": "^1.0.0" + "tinyspy": "^2.2.0" }, - "engines": { - "node": ">=8" + "funding": { + "url": "https://opencollective.com/vitest" } }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "node_modules/@vitest/utils": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.6.0.tgz", + "integrity": "sha512-21cPiuGMoMZwiOHa2i4LXkMkMkCGzA+MVFV70jRwHo95dL4x/ts5GZhML1QWuy7yfp3WzK3lRvZi3JnXTYqrBw==", "dev": true, "dependencies": { - "callsites": "^3.0.0" + "diff-sequences": "^29.6.3", + "estree-walker": "^3.0.3", + "loupe": "^2.3.7", + "pretty-format": "^29.7.0" }, - "engines": { - "node": ">=6" + "funding": { + "url": "https://opencollective.com/vitest" } }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "node_modules/acorn": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.0.tgz", + "integrity": "sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==", "dev": true, + "bin": { + "acorn": "bin/acorn" + }, "engines": { - "node": ">=8" + "node": ">=0.4.0" } }, - "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=", + "node_modules/acorn-walk": { + "version": "8.3.3", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.3.tgz", + "integrity": "sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==", "dev": true, + "dependencies": { + "acorn": "^8.11.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=0.4.0" } }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "node_modules/assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", "dev": true, "engines": { - "node": ">=8" + "node": "*" } }, - "node_modules/path-to-regexp": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.9.0.tgz", - "integrity": "sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==", + "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==", + "dev": true + }, + "node_modules/bowser": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", + "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==" + }, + "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==", "dev": true, - "license": "MIT", "dependencies": { - "isarray": "0.0.1" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/path-to-regexp/node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", - "dev": true - }, - "node_modules/pathval": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", - "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "node_modules/cac": { + "version": "6.7.14", + "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", + "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", "dev": true, "engines": { - "node": "*" + "node": ">=8" } }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "node_modules/chai": { + "version": "4.3.10", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.10.tgz", + "integrity": "sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g==", "dev": true, - "engines": { - "node": ">=8.6" + "dependencies": { + "assertion-error": "^1.1.0", + "check-error": "^1.0.3", + "deep-eql": "^4.1.3", + "get-func-name": "^2.0.2", + "loupe": "^2.3.6", + "pathval": "^1.1.1", + "type-detect": "^4.0.8" }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "engines": { + "node": ">=4" } }, - "node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "node_modules/check-error": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", + "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", "dev": true, "dependencies": { - "find-up": "^4.0.0" + "get-func-name": "^2.0.2" }, "engines": { - "node": ">=8" + "node": "*" } }, - "node_modules/pkg-dir/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "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=", + "dev": true + }, + "node_modules/confbox": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.7.tgz", + "integrity": "sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==", + "dev": true + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, + "license": "MIT", "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" }, "engines": { - "node": ">=8" + "node": ">= 8" } }, - "node_modules/pkg-dir/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, "dependencies": { - "p-locate": "^4.1.0" + "ms": "2.1.2" }, "engines": { - "node": ">=8" + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/pkg-dir/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "node_modules/debug/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==", + "dev": true + }, + "node_modules/deep-eql": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", + "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", "dev": true, "dependencies": { - "p-try": "^2.0.0" + "type-detect": "^4.0.0" }, "engines": { "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/pkg-dir/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "node_modules/diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "node_modules/esbuild": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, "engines": { - "node": ">= 0.8.0" + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" + } + }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dev": true, + "dependencies": { + "@types/estree": "^1.0.0" } }, - "node_modules/process-on-spawn": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz", - "integrity": "sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==", + "node_modules/execa": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", "dev": true, "dependencies": { - "fromentries": "^1.2.0" + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" }, "engines": { - "node": ">=8" + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "node_modules/execa/node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", "dev": true, "engines": { - "node": ">=6" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==", - "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", + "node_modules/execa/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, "engines": { - "node": ">=0.4.x" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "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==", - "dev": true, + "node_modules/fast-xml-parser": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.4.1.tgz", + "integrity": "sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==", "funding": [ { "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" + "url": "https://github.com/sponsors/NaturalIntelligence" }, { - "type": "consulting", - "url": "https://feross.org/support" + "type": "paypal", + "url": "https://paypal.me/naturalintelligence" } - ] - }, - "node_modules/ramda": { - "version": "0.28.0", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.28.0.tgz", - "integrity": "sha512-9QnLuG/kPVgWvMQ4aODhsBUFKOUmnbUnsSXACv+NCQZcHbeb+v8Lodp8OVxtRULN1/xOyYLLaL6npE6dMq5QTA==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/ramda" - } - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, + ], "dependencies": { - "picomatch": "^2.2.1" + "strnum": "^1.0.5" }, - "engines": { - "node": ">=8.10.0" + "bin": { + "fxparser": "src/cli/cli.js" } }, - "node_modules/release-zalgo": { + "node_modules/fs.realpath": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz", - "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=", - "dev": true, - "dependencies": { - "es6-error": "^4.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, - "node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=8" + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "node_modules/get-func-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", + "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", "dev": true, "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" + "node": "*" } }, - "node_modules/rewire": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/rewire/-/rewire-7.0.0.tgz", - "integrity": "sha512-DyyNyzwMtGYgu0Zl/ya0PR/oaunM+VuCuBxCuhYJHHaV0V+YvYa3bBGxb5OZ71vndgmp1pYY8F4YOwQo1siRGw==", + "node_modules/get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", "dev": true, - "dependencies": { - "eslint": "^8.47.0" + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "node_modules/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", "dev": true, "dependencies": { - "glob": "^7.1.3" + "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" }, - "bin": { - "rimraf": "bin.js" + "engines": { + "node": "*" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, - "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==", + "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, - "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" + "engines": { + "node": ">=8" } }, - "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/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "dev": true }, - "node_modules/sax": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz", - "integrity": "sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA==" - }, - "node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "node_modules/human-signals": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", "dev": true, - "bin": { - "semver": "bin/semver.js" + "engines": { + "node": ">=16.17.0" } }, - "node_modules/serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "dependencies": { - "randombytes": "^2.1.0" + "once": "^1.3.0", + "wrappy": "1" } }, - "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=", + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, - "node_modules/shebang-command": { + "node_modules/isexe": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, "engines": { "node": ">=8" } }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", "dev": true, + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", - "dev": true - }, - "node_modules/sinon": { - "version": "17.0.0", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-17.0.0.tgz", - "integrity": "sha512-p4lJiYKBoOEVUxxVIC9H1MM2znG1/c8gud++I2BauJA5hsz7hHsst35eurNWXTusBsIq66FzOQbZ/uMdpvbPIQ==", + "node_modules/istanbul-lib-report/node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", "dev": true, "dependencies": { - "@sinonjs/commons": "^3.0.0", - "@sinonjs/fake-timers": "^11.2.2", - "@sinonjs/samsam": "^8.0.0", - "diff": "^5.1.0", - "nise": "^5.1.5", - "supports-color": "^7.2.0" + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/sinon" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/sinon/node_modules/diff": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", - "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==", + "node_modules/istanbul-lib-report/node_modules/semver": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", "dev": true, + "bin": { + "semver": "bin/semver.js" + }, "engines": { - "node": ">=0.3.1" + "node": ">=10" } }, - "node_modules/sinon/node_modules/supports-color": { + "node_modules/istanbul-lib-report/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==", @@ -3390,2887 +2840,2938 @@ "node": ">=8" } }, - "node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "node_modules/istanbul-reports": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", + "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", "dev": true, + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/spawn-wrap": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz", - "integrity": "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==", + "node_modules/local-pkg": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.0.tgz", + "integrity": "sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==", "dev": true, "dependencies": { - "foreground-child": "^2.0.0", - "is-windows": "^1.0.2", - "make-dir": "^3.0.0", - "rimraf": "^3.0.0", - "signal-exit": "^3.0.2", - "which": "^2.0.1" + "mlly": "^1.4.2", + "pkg-types": "^1.0.3" }, "engines": { - "node": ">=8" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" } }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, - "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==", + "node_modules/loupe": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", + "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", "dev": true, "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" + "get-func-name": "^2.0.1" } }, - "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==", + "node_modules/magic-string": { + "version": "0.30.10", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.10.tgz", + "integrity": "sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==", "dev": true, "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" + "@jridgewell/sourcemap-codec": "^1.4.15" } }, - "node_modules/strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "node_modules/magicast": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.3.4.tgz", + "integrity": "sha512-TyDF/Pn36bBji9rWKHlZe+PZb6Mx5V8IHCSxk7X4aljM4e/vyDvZZYwHewdVaqiA0nb3ghfHU/6AUpDxWoER2Q==", "dev": true, - "engines": { - "node": ">=8" + "dependencies": { + "@babel/parser": "^7.24.4", + "@babel/types": "^7.24.0", + "source-map-js": "^1.2.0" } }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", "dev": true, "engines": { - "node": ">=8" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "node": "*" } }, - "node_modules/test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "node_modules/mlly": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.7.1.tgz", + "integrity": "sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA==", "dev": true, "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" + "acorn": "^8.11.3", + "pathe": "^1.1.2", + "pkg-types": "^1.1.1", + "ufo": "^1.5.3" + } + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" }, "engines": { - "node": ">=8" + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true + "node_modules/npm-run-path": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", + "dev": true, + "dependencies": { + "path-key": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "node_modules/npm-run-path/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", "dev": true, "engines": { - "node": ">=4" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" + "wrappy": "1" } }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", "dev": true, "dependencies": { - "prelude-ls": "^1.2.1" + "mimic-fn": "^4.0.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "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=", "dev": true, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, "engines": { "node": ">=8" } }, - "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==", + "node_modules/pathe": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", + "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", + "dev": true + }, + "node_modules/pathval": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", "dev": true, - "dependencies": { - "is-typedarray": "^1.0.0" + "engines": { + "node": "*" } }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "node_modules/picocolors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", + "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==", + "dev": true, + "license": "ISC" + }, + "node_modules/pkg-types": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.1.1.tgz", + "integrity": "sha512-ko14TjmDuQJ14zsotODv7dBlwxKhUKQEhuhmbqo1uCi9BB0Z2alo/wAXg6q1dTR5TyuqYyWhjtfe/Tsh+X28jQ==", "dev": true, "dependencies": { - "punycode": "^2.1.0" + "confbox": "^0.1.7", + "mlly": "^1.7.0", + "pathe": "^1.1.2" } }, - "node_modules/url": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz", - "integrity": "sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ==", + "node_modules/postcss": { + "version": "8.4.47", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", + "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", "dependencies": { - "punycode": "1.3.2", - "querystring": "0.2.0" + "nanoid": "^3.3.7", + "picocolors": "^1.1.0", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" } }, - "node_modules/url/node_modules/punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==" - }, - "node_modules/util": { - "version": "0.12.5", - "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", - "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", + "node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, "dependencies": { - "inherits": "^2.0.3", - "is-arguments": "^1.0.4", - "is-generator-function": "^1.0.7", - "is-typed-array": "^1.1.3", - "which-typed-array": "^1.1.2" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/uuid": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.0.0.tgz", - "integrity": "sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw==", - "bin": { - "uuid": "dist/bin/uuid" + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true + }, + "node_modules/rollup": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.22.4.tgz", + "integrity": "sha512-vD8HJ5raRcWOyymsR6Z3o6+RzfEPCnVLMFJ6vRslO1jt4LO6dUo5Qnpg7y4RkZFM2DMe3WUirkI5c16onjrc6A==", "dev": true, + "license": "MIT", "dependencies": { - "isexe": "^2.0.0" + "@types/estree": "1.0.5" }, "bin": { - "node-which": "bin/node-which" + "rollup": "dist/bin/rollup" }, "engines": { - "node": ">= 8" + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.22.4", + "@rollup/rollup-android-arm64": "4.22.4", + "@rollup/rollup-darwin-arm64": "4.22.4", + "@rollup/rollup-darwin-x64": "4.22.4", + "@rollup/rollup-linux-arm-gnueabihf": "4.22.4", + "@rollup/rollup-linux-arm-musleabihf": "4.22.4", + "@rollup/rollup-linux-arm64-gnu": "4.22.4", + "@rollup/rollup-linux-arm64-musl": "4.22.4", + "@rollup/rollup-linux-powerpc64le-gnu": "4.22.4", + "@rollup/rollup-linux-riscv64-gnu": "4.22.4", + "@rollup/rollup-linux-s390x-gnu": "4.22.4", + "@rollup/rollup-linux-x64-gnu": "4.22.4", + "@rollup/rollup-linux-x64-musl": "4.22.4", + "@rollup/rollup-win32-arm64-msvc": "4.22.4", + "@rollup/rollup-win32-ia32-msvc": "4.22.4", + "@rollup/rollup-win32-x64-msvc": "4.22.4", + "fsevents": "~2.3.2" } }, - "node_modules/which-module": { + "node_modules/shebang-command": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, - "node_modules/which-typed-array": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", - "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0", - "is-typed-array": "^1.1.10" + "shebang-regex": "^3.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/siginfo": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", + "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", + "dev": true + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/workerpool": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", - "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==", + "node_modules/stackback": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", + "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", + "dev": true + }, + "node_modules/std-env": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz", + "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==", "dev": true }, - "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==", + "node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, "engines": { - "node": ">=10" + "node": ">=12" }, "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "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==", + "node_modules/strip-literal": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-2.1.0.tgz", + "integrity": "sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==", "dev": true, "dependencies": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" + "js-tokens": "^9.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" } }, - "node_modules/xml2js": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.6.2.tgz", - "integrity": "sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA==", + "node_modules/strip-literal/node_modules/js-tokens": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.0.tgz", + "integrity": "sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==", + "dev": true + }, + "node_modules/strnum": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", + "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" + }, + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, "dependencies": { - "sax": ">=0.6.0", - "xmlbuilder": "~11.0.0" + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" }, "engines": { - "node": ">=4.0.0" + "node": ">=8" } }, - "node_modules/xmlbuilder": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", - "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", - "engines": { - "node": ">=4.0" - } + "node_modules/tinybench": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.8.0.tgz", + "integrity": "sha512-1/eK7zUnIklz4JUUlL+658n58XO2hHLQfSk1Zf2LKieUjxidN16eKFEoDEfjHc3ohofSSqK3X5yO6VGb6iW8Lw==", + "dev": true }, - "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "node_modules/tinypool": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.8.4.tgz", + "integrity": "sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ==", "dev": true, "engines": { - "node": ">=10" + "node": ">=14.0.0" } }, - "node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "node_modules/tinyspy": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-2.2.1.tgz", + "integrity": "sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==", "dev": true, - "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, "engines": { - "node": ">=10" + "node": ">=14.0.0" } }, - "node_modules/yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", "dev": true, "engines": { - "node": ">=10" + "node": ">=4" } }, - "node_modules/yargs-unparser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", - "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", + "node_modules/tslib": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==" + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", "dev": true, - "dependencies": { - "camelcase": "^6.0.0", - "decamelize": "^4.0.0", - "flat": "^5.0.2", - "is-plain-obj": "^2.1.0" - }, "engines": { - "node": ">=10" + "node": ">=4" } }, - "node_modules/yargs-unparser/node_modules/camelcase": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", - "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", + "node_modules/ufo": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.5.3.tgz", + "integrity": "sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==", + "dev": true + }, + "node_modules/vite": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.6.tgz", + "integrity": "sha512-IeL5f8OO5nylsgzd9tq4qD2QqI0k2CQLGrWD0rCN0EQJZpBK5vJAx0I+GDkMOXxQX/OfFHMuLIx6ddAxGX/k+Q==", "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.21.3", + "postcss": "^8.4.43", + "rollup": "^4.20.0" + }, + "bin": { + "vite": "bin/vite.js" + }, "engines": { - "node": ">=10" + "node": "^18.0.0 || >=20.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } } }, - "node_modules/yargs-unparser/node_modules/decamelize": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", - "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", + "node_modules/vite-node": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.6.0.tgz", + "integrity": "sha512-de6HJgzC+TFzOu0NTC4RAIsyf/DY/ibWDYQUcuEA84EMHhcefTUGkjFHKKEJhQN4A+6I0u++kr3l36ZF2d7XRw==", "dev": true, + "dependencies": { + "cac": "^6.7.14", + "debug": "^4.3.4", + "pathe": "^1.1.1", + "picocolors": "^1.0.0", + "vite": "^5.0.0" + }, + "bin": { + "vite-node": "vite-node.mjs" + }, "engines": { - "node": ">=10" + "node": "^18.0.0 || >=20.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://opencollective.com/vitest" } }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "node_modules/vitest": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.6.0.tgz", + "integrity": "sha512-H5r/dN06swuFnzNFhq/dnz37bPXnq8xB2xB5JOVk8K09rUtoeNN+LHWkoQ0A/i3hvbUKKcCei9KpbxqHMLhLLA==", "dev": true, + "dependencies": { + "@vitest/expect": "1.6.0", + "@vitest/runner": "1.6.0", + "@vitest/snapshot": "1.6.0", + "@vitest/spy": "1.6.0", + "@vitest/utils": "1.6.0", + "acorn-walk": "^8.3.2", + "chai": "^4.3.10", + "debug": "^4.3.4", + "execa": "^8.0.1", + "local-pkg": "^0.5.0", + "magic-string": "^0.30.5", + "pathe": "^1.1.1", + "picocolors": "^1.0.0", + "std-env": "^3.5.0", + "strip-literal": "^2.0.0", + "tinybench": "^2.5.1", + "tinypool": "^0.8.3", + "vite": "^5.0.0", + "vite-node": "1.6.0", + "why-is-node-running": "^2.2.2" + }, + "bin": { + "vitest": "vitest.mjs" + }, "engines": { - "node": ">=10" + "node": "^18.0.0 || >=20.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - }, - "dependencies": { - "@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", - "dev": true - }, - "@babel/code-frame": { - "version": "7.22.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", - "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", - "dev": true, - "requires": { - "@babel/highlight": "^7.22.13", - "chalk": "^2.4.2" + "url": "https://opencollective.com/vitest" }, - "dependencies": { - "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==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } + "peerDependencies": { + "@edge-runtime/vm": "*", + "@types/node": "^18.0.0 || >=20.0.0", + "@vitest/browser": "1.6.0", + "@vitest/ui": "1.6.0", + "happy-dom": "*", + "jsdom": "*" + }, + "peerDependenciesMeta": { + "@edge-runtime/vm": { + "optional": true }, - "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==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } + "@types/node": { + "optional": true }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true + "@vitest/browser": { + "optional": true }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true + "@vitest/ui": { + "optional": true }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true + "happy-dom": { + "optional": true }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } + "jsdom": { + "optional": true } } }, - "@babel/compat-data": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.15.0.tgz", - "integrity": "sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA==", - "dev": true - }, - "@babel/core": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.0.tgz", - "integrity": "sha512-tXtmTminrze5HEUPn/a0JtOzzfp0nk+UEXQ/tqIJo3WDGypl/2OFQEMll/zSFU8f/lfmfLXvTaORHF3cfXIQMw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.15.0", - "@babel/helper-compilation-targets": "^7.15.0", - "@babel/helper-module-transforms": "^7.15.0", - "@babel/helpers": "^7.14.8", - "@babel/parser": "^7.15.0", - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.15.0", - "@babel/types": "^7.15.0", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.1.2", - "semver": "^6.3.0", - "source-map": "^0.5.0" - } - }, - "@babel/generator": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", - "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, - "requires": { - "@babel/types": "^7.23.0", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" } }, - "@babel/helper-compilation-targets": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.0.tgz", - "integrity": "sha512-h+/9t0ncd4jfZ8wsdAsoIxSa61qhBYlycXiHWqJaQBCXAhDCMbPRSMTGnZIkkmt1u4ag+UQmuqcILwqKzZ4N2A==", + "node_modules/why-is-node-running": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.2.2.tgz", + "integrity": "sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==", "dev": true, - "requires": { - "@babel/compat-data": "^7.15.0", - "@babel/helper-validator-option": "^7.14.5", - "browserslist": "^4.16.6", - "semver": "^6.3.0" + "dependencies": { + "siginfo": "^2.0.0", + "stackback": "0.0.2" + }, + "bin": { + "why-is-node-running": "cli.js" + }, + "engines": { + "node": ">=8" } }, - "@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true - }, - "@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", - "dev": true, - "requires": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.0.tgz", - "integrity": "sha512-Jq8H8U2kYiafuj2xMTPQwkTBnEEdGKpT35lJEQsRRjnG0LW3neucsaMWLgKcwu3OHKNeYugfw+Z20BXBSEs2Lg==", - "dev": true, - "requires": { - "@babel/types": "^7.15.0" - } - }, - "@babel/helper-module-imports": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz", - "integrity": "sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ==", - "dev": true, - "requires": { - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-module-transforms": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.0.tgz", - "integrity": "sha512-RkGiW5Rer7fpXv9m1B3iHIFDZdItnO2/BLfWVW/9q7+KqQSDY5kUfQEbzdXM1MVhJGcugKV7kRrNVzNxmk7NBg==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.14.5", - "@babel/helper-replace-supers": "^7.15.0", - "@babel/helper-simple-access": "^7.14.8", - "@babel/helper-split-export-declaration": "^7.14.5", - "@babel/helper-validator-identifier": "^7.14.9", - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.15.0", - "@babel/types": "^7.15.0" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz", - "integrity": "sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA==", - "dev": true, - "requires": { - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-replace-supers": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.0.tgz", - "integrity": "sha512-6O+eWrhx+HEra/uJnifCwhwMd6Bp5+ZfZeJwbqUTuqkhIT6YcRhiZCOOFChRypOIe0cV46kFrRBlm+t5vHCEaA==", - "dev": true, - "requires": { - "@babel/helper-member-expression-to-functions": "^7.15.0", - "@babel/helper-optimise-call-expression": "^7.14.5", - "@babel/traverse": "^7.15.0", - "@babel/types": "^7.15.0" - } - }, - "@babel/helper-simple-access": { - "version": "7.14.8", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.14.8.tgz", - "integrity": "sha512-TrFN4RHh9gnWEU+s7JloIho2T76GPwRHhdzOWLqTrMnlas8T9O7ec+oEDNsRXndOmru9ymH9DFrEOxpzPoSbdg==", + } + }, + "dependencies": { + "@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", "dev": true, "requires": { - "@babel/types": "^7.14.8" + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" } }, - "@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", - "dev": true, + "@aws-crypto/crc32": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-5.2.0.tgz", + "integrity": "sha512-nLbCWqQNgUiwwtFsen1AdzAtvuLRsQS8rYgMuxCrdKf9kOssamGLuPwyTY9wyYblNr9+1XM8v6zoDTPPSIeANg==", "requires": { - "@babel/types": "^7.22.5" + "@aws-crypto/util": "^5.2.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^2.6.2" } }, - "@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", - "dev": true - }, - "@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", - "dev": true - }, - "@babel/helper-validator-option": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz", - "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==", - "dev": true - }, - "@babel/helpers": { - "version": "7.14.8", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.14.8.tgz", - "integrity": "sha512-ZRDmI56pnV+p1dH6d+UN6GINGz7Krps3+270qqI9UJ4wxYThfAIcI5i7j5vXC4FJ3Wap+S9qcebxeYiqn87DZw==", - "dev": true, + "@aws-crypto/crc32c": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/crc32c/-/crc32c-5.2.0.tgz", + "integrity": "sha512-+iWb8qaHLYKrNvGRbiYRHSdKRWhto5XlZUEBwDjYNf+ly5SVYG6zEoYIdxvf5R3zyeP16w4PLBn3rH1xc74Rag==", "requires": { - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.14.8", - "@babel/types": "^7.14.8" + "@aws-crypto/util": "^5.2.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^2.6.2" } }, - "@babel/highlight": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", - "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", - "dev": true, + "@aws-crypto/sha1-browser": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha1-browser/-/sha1-browser-5.2.0.tgz", + "integrity": "sha512-OH6lveCFfcDjX4dbAvCFSYUjJZjDr/3XJ3xHtjn3Oj5b9RjojQo8npoLeA/bNwkOkrSQ0wgrHzXk4tDRxGKJeg==", "requires": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" + "@aws-crypto/supports-web-crypto": "^5.2.0", + "@aws-crypto/util": "^5.2.0", + "@aws-sdk/types": "^3.222.0", + "@aws-sdk/util-locate-window": "^3.0.0", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.6.2" }, "dependencies": { - "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==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, + "@smithy/is-array-buffer": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz", + "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==", "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "tslib": "^2.6.2" } }, - "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==", - "dev": true, + "@smithy/util-buffer-from": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz", + "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==", "requires": { - "color-name": "1.1.3" + "@smithy/is-array-buffer": "^2.2.0", + "tslib": "^2.6.2" } }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "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=", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, + "@smithy/util-utf8": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz", + "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==", "requires": { - "has-flag": "^3.0.0" + "@smithy/util-buffer-from": "^2.2.0", + "tslib": "^2.6.2" } } } }, - "@babel/parser": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", - "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", - "dev": true - }, - "@babel/template": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", - "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.22.13", - "@babel/parser": "^7.22.15", - "@babel/types": "^7.22.15" - } - }, - "@babel/traverse": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", - "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.23.0", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.0", - "@babel/types": "^7.23.0", - "debug": "^4.1.0", - "globals": "^11.1.0" - } - }, - "@babel/types": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", - "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", - "dev": true, - "requires": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.20", - "to-fast-properties": "^2.0.0" - } - }, - "@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^3.3.0" - } - }, - "@eslint-community/regexpp": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.9.1.tgz", - "integrity": "sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==", - "dev": true - }, - "@eslint/eslintrc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", - "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", - "dev": true, + "@aws-crypto/sha256-browser": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-5.2.0.tgz", + "integrity": "sha512-AXfN/lGotSQwu6HNcEsIASo7kWXZ5HYWvfOmSNKDsEqC4OashTp8alTmaz+F7TC2L083SFv5RdB+qU3Vs1kZqw==", "requires": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" + "@aws-crypto/sha256-js": "^5.2.0", + "@aws-crypto/supports-web-crypto": "^5.2.0", + "@aws-crypto/util": "^5.2.0", + "@aws-sdk/types": "^3.222.0", + "@aws-sdk/util-locate-window": "^3.0.0", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.6.2" }, "dependencies": { - "globals": { - "version": "13.23.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", - "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", - "dev": true, + "@smithy/is-array-buffer": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz", + "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==", "requires": { - "type-fest": "^0.20.2" + "tslib": "^2.6.2" } }, - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true + "@smithy/util-buffer-from": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz", + "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==", + "requires": { + "@smithy/is-array-buffer": "^2.2.0", + "tslib": "^2.6.2" + } + }, + "@smithy/util-utf8": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz", + "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==", + "requires": { + "@smithy/util-buffer-from": "^2.2.0", + "tslib": "^2.6.2" + } } } }, - "@eslint/js": { - "version": "8.51.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.51.0.tgz", - "integrity": "sha512-HxjQ8Qn+4SI3/AFv6sOrDB+g6PpUTDwSJiQqOrnneEk8L71161srI9gjzzZvYVbzHiVg/BvcH95+cK/zfIt4pg==", - "dev": true - }, - "@humanwhocodes/config-array": { - "version": "0.11.13", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", - "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==", - "dev": true, + "@aws-crypto/sha256-js": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-5.2.0.tgz", + "integrity": "sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA==", "requires": { - "@humanwhocodes/object-schema": "^2.0.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" + "@aws-crypto/util": "^5.2.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^2.6.2" } }, - "@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true - }, - "@humanwhocodes/object-schema": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz", - "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==", - "dev": true + "@aws-crypto/supports-web-crypto": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-5.2.0.tgz", + "integrity": "sha512-iAvUotm021kM33eCdNfwIN//F77/IADDSs58i+MDaOqFrVjZo9bAal0NK7HurRuWLLpF1iLX7gbWrjHjeo+YFg==", + "requires": { + "tslib": "^2.6.2" + } }, - "@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "dev": true, + "@aws-crypto/util": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-5.2.0.tgz", + "integrity": "sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==", "requires": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" + "@aws-sdk/types": "^3.222.0", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.6.2" }, "dependencies": { - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "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==", - "dev": true, + "@smithy/is-array-buffer": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz", + "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==", "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "tslib": "^2.6.2" } }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, + "@smithy/util-buffer-from": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz", + "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==", "requires": { - "p-locate": "^4.1.0" + "@smithy/is-array-buffer": "^2.2.0", + "tslib": "^2.6.2" } }, - "p-limit": { + "@smithy/util-utf8": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz", + "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==", "requires": { - "p-limit": "^2.2.0" + "@smithy/util-buffer-from": "^2.2.0", + "tslib": "^2.6.2" } } } }, - "@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", - "dev": true + "@aws-sdk/client-s3": { + "version": "3.645.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.645.0.tgz", + "integrity": "sha512-RjT/mfNv4yr1uv/+aEXgSIxC5EB+yHPSU7hH0KZOZrvZEFASLl0i4FeoHzbMEOH5KdKGAi0uu3zRP3D1y45sKg==", + "requires": { + "@aws-crypto/sha1-browser": "5.2.0", + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/client-sso-oidc": "3.645.0", + "@aws-sdk/client-sts": "3.645.0", + "@aws-sdk/core": "3.635.0", + "@aws-sdk/credential-provider-node": "3.645.0", + "@aws-sdk/middleware-bucket-endpoint": "3.620.0", + "@aws-sdk/middleware-expect-continue": "3.620.0", + "@aws-sdk/middleware-flexible-checksums": "3.620.0", + "@aws-sdk/middleware-host-header": "3.620.0", + "@aws-sdk/middleware-location-constraint": "3.609.0", + "@aws-sdk/middleware-logger": "3.609.0", + "@aws-sdk/middleware-recursion-detection": "3.620.0", + "@aws-sdk/middleware-sdk-s3": "3.635.0", + "@aws-sdk/middleware-ssec": "3.609.0", + "@aws-sdk/middleware-user-agent": "3.645.0", + "@aws-sdk/region-config-resolver": "3.614.0", + "@aws-sdk/signature-v4-multi-region": "3.635.0", + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.645.0", + "@aws-sdk/util-user-agent-browser": "3.609.0", + "@aws-sdk/util-user-agent-node": "3.614.0", + "@aws-sdk/xml-builder": "3.609.0", + "@smithy/config-resolver": "^3.0.5", + "@smithy/core": "^2.4.0", + "@smithy/eventstream-serde-browser": "^3.0.6", + "@smithy/eventstream-serde-config-resolver": "^3.0.3", + "@smithy/eventstream-serde-node": "^3.0.5", + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/hash-blob-browser": "^3.1.2", + "@smithy/hash-node": "^3.0.3", + "@smithy/hash-stream-node": "^3.1.2", + "@smithy/invalid-dependency": "^3.0.3", + "@smithy/md5-js": "^3.0.3", + "@smithy/middleware-content-length": "^3.0.5", + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-retry": "^3.0.15", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.2.0", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.15", + "@smithy/util-defaults-mode-node": "^3.0.15", + "@smithy/util-endpoints": "^2.0.5", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "@smithy/util-stream": "^3.1.3", + "@smithy/util-utf8": "^3.0.0", + "@smithy/util-waiter": "^3.1.2", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/client-sso": { + "version": "3.645.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.645.0.tgz", + "integrity": "sha512-2rc8TjnsNddOeKQ/pfNN7deNvGLXAeKeYtHtGDAiM2qfTKxd2sNcAsZ+JCDLyshuD4xLM5fpUyR0X8As9EAouQ==", + "requires": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "3.635.0", + "@aws-sdk/middleware-host-header": "3.620.0", + "@aws-sdk/middleware-logger": "3.609.0", + "@aws-sdk/middleware-recursion-detection": "3.620.0", + "@aws-sdk/middleware-user-agent": "3.645.0", + "@aws-sdk/region-config-resolver": "3.614.0", + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.645.0", + "@aws-sdk/util-user-agent-browser": "3.609.0", + "@aws-sdk/util-user-agent-node": "3.614.0", + "@smithy/config-resolver": "^3.0.5", + "@smithy/core": "^2.4.0", + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/hash-node": "^3.0.3", + "@smithy/invalid-dependency": "^3.0.3", + "@smithy/middleware-content-length": "^3.0.5", + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-retry": "^3.0.15", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.2.0", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.15", + "@smithy/util-defaults-mode-node": "^3.0.15", + "@smithy/util-endpoints": "^2.0.5", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/client-sso-oidc": { + "version": "3.645.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.645.0.tgz", + "integrity": "sha512-X9ULtdk3cO+1ysurEkJ1MSnu6U00qodXx+IVual+1jXX4RYY1WmQmfo7uDKf6FFkz7wW1DAqU+GJIBNQr0YH8A==", + "requires": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "3.635.0", + "@aws-sdk/credential-provider-node": "3.645.0", + "@aws-sdk/middleware-host-header": "3.620.0", + "@aws-sdk/middleware-logger": "3.609.0", + "@aws-sdk/middleware-recursion-detection": "3.620.0", + "@aws-sdk/middleware-user-agent": "3.645.0", + "@aws-sdk/region-config-resolver": "3.614.0", + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.645.0", + "@aws-sdk/util-user-agent-browser": "3.609.0", + "@aws-sdk/util-user-agent-node": "3.614.0", + "@smithy/config-resolver": "^3.0.5", + "@smithy/core": "^2.4.0", + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/hash-node": "^3.0.3", + "@smithy/invalid-dependency": "^3.0.3", + "@smithy/middleware-content-length": "^3.0.5", + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-retry": "^3.0.15", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.2.0", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.15", + "@smithy/util-defaults-mode-node": "^3.0.15", + "@smithy/util-endpoints": "^2.0.5", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/client-sts": { + "version": "3.645.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.645.0.tgz", + "integrity": "sha512-6azXYtvtnAsPf2ShN9vKynIYVcJOpo6IoVmoMAVgNaBJyllP+s/RORzranYZzckqfmrudSxtct4rVapjLWuAMg==", + "requires": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/client-sso-oidc": "3.645.0", + "@aws-sdk/core": "3.635.0", + "@aws-sdk/credential-provider-node": "3.645.0", + "@aws-sdk/middleware-host-header": "3.620.0", + "@aws-sdk/middleware-logger": "3.609.0", + "@aws-sdk/middleware-recursion-detection": "3.620.0", + "@aws-sdk/middleware-user-agent": "3.645.0", + "@aws-sdk/region-config-resolver": "3.614.0", + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.645.0", + "@aws-sdk/util-user-agent-browser": "3.609.0", + "@aws-sdk/util-user-agent-node": "3.614.0", + "@smithy/config-resolver": "^3.0.5", + "@smithy/core": "^2.4.0", + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/hash-node": "^3.0.3", + "@smithy/invalid-dependency": "^3.0.3", + "@smithy/middleware-content-length": "^3.0.5", + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-retry": "^3.0.15", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.2.0", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.15", + "@smithy/util-defaults-mode-node": "^3.0.15", + "@smithy/util-endpoints": "^2.0.5", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/core": { + "version": "3.635.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.635.0.tgz", + "integrity": "sha512-i1x/E/sgA+liUE1XJ7rj1dhyXpAKO1UKFUcTTHXok2ARjWTvszHnSXMOsB77aPbmn0fUp1JTx2kHUAZ1LVt5Bg==", + "requires": { + "@smithy/core": "^2.4.0", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/property-provider": "^3.1.3", + "@smithy/protocol-http": "^4.1.0", + "@smithy/signature-v4": "^4.1.0", + "@smithy/smithy-client": "^3.2.0", + "@smithy/types": "^3.3.0", + "@smithy/util-middleware": "^3.0.3", + "fast-xml-parser": "4.4.1", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/credential-provider-env": { + "version": "3.620.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.620.1.tgz", + "integrity": "sha512-ExuILJ2qLW5ZO+rgkNRj0xiAipKT16Rk77buvPP8csR7kkCflT/gXTyzRe/uzIiETTxM7tr8xuO9MP/DQXqkfg==", + "requires": { + "@aws-sdk/types": "3.609.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/credential-provider-http": { + "version": "3.635.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.635.0.tgz", + "integrity": "sha512-iJyRgEjOCQlBMXqtwPLIKYc7Bsc6nqjrZybdMDenPDa+kmLg7xh8LxHsu9088e+2/wtLicE34FsJJIfzu3L82g==", + "requires": { + "@aws-sdk/types": "3.609.0", + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/property-provider": "^3.1.3", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.2.0", + "@smithy/types": "^3.3.0", + "@smithy/util-stream": "^3.1.3", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/credential-provider-ini": { + "version": "3.645.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.645.0.tgz", + "integrity": "sha512-LlZW0qwUwNlTaAIDCNpLbPsyXvS42pRIwF92fgtCQedmdnpN3XRUC6hcwSYI7Xru3GGKp3RnceOvsdOaRJORsw==", + "requires": { + "@aws-sdk/credential-provider-env": "3.620.1", + "@aws-sdk/credential-provider-http": "3.635.0", + "@aws-sdk/credential-provider-process": "3.620.1", + "@aws-sdk/credential-provider-sso": "3.645.0", + "@aws-sdk/credential-provider-web-identity": "3.621.0", + "@aws-sdk/types": "3.609.0", + "@smithy/credential-provider-imds": "^3.2.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/credential-provider-node": { + "version": "3.645.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.645.0.tgz", + "integrity": "sha512-eGFFuNvLeXjCJf5OCIuSEflxUowmK+bCS+lK4M8ofsYOEGAivdx7C0UPxNjHpvM8wKd8vpMl5phTeS9BWX5jMQ==", + "requires": { + "@aws-sdk/credential-provider-env": "3.620.1", + "@aws-sdk/credential-provider-http": "3.635.0", + "@aws-sdk/credential-provider-ini": "3.645.0", + "@aws-sdk/credential-provider-process": "3.620.1", + "@aws-sdk/credential-provider-sso": "3.645.0", + "@aws-sdk/credential-provider-web-identity": "3.621.0", + "@aws-sdk/types": "3.609.0", + "@smithy/credential-provider-imds": "^3.2.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/credential-provider-process": { + "version": "3.620.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.620.1.tgz", + "integrity": "sha512-hWqFMidqLAkaV9G460+1at6qa9vySbjQKKc04p59OT7lZ5cO5VH5S4aI05e+m4j364MBROjjk2ugNvfNf/8ILg==", + "requires": { + "@aws-sdk/types": "3.609.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/credential-provider-sso": { + "version": "3.645.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.645.0.tgz", + "integrity": "sha512-d6XuChAl5NCsCrUexc6AFb4efPmb9+66iwPylKG+iMTMYgO1ackfy1Q2/f35jdn0jolkPkzKsVyfzsEVoID6ew==", + "requires": { + "@aws-sdk/client-sso": "3.645.0", + "@aws-sdk/token-providers": "3.614.0", + "@aws-sdk/types": "3.609.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/credential-provider-web-identity": { + "version": "3.621.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.621.0.tgz", + "integrity": "sha512-w7ASSyfNvcx7+bYGep3VBgC3K6vEdLmlpjT7nSIHxxQf+WSdvy+HynwJosrpZax0sK5q0D1Jpn/5q+r5lwwW6w==", + "requires": { + "@aws-sdk/types": "3.609.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/middleware-bucket-endpoint": { + "version": "3.620.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.620.0.tgz", + "integrity": "sha512-eGLL0W6L3HDb3OACyetZYOWpHJ+gLo0TehQKeQyy2G8vTYXqNTeqYhuI6up9HVjBzU9eQiULVQETmgQs7TFaRg==", + "requires": { + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-arn-parser": "3.568.0", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "@smithy/util-config-provider": "^3.0.0", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/middleware-expect-continue": { + "version": "3.620.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.620.0.tgz", + "integrity": "sha512-QXeRFMLfyQ31nAHLbiTLtk0oHzG9QLMaof5jIfqcUwnOkO8YnQdeqzakrg1Alpy/VQ7aqzIi8qypkBe2KXZz0A==", + "requires": { + "@aws-sdk/types": "3.609.0", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/middleware-flexible-checksums": { + "version": "3.620.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.620.0.tgz", + "integrity": "sha512-ftz+NW7qka2sVuwnnO1IzBku5ccP+s5qZGeRTPgrKB7OzRW85gthvIo1vQR2w+OwHFk7WJbbhhWwbCbktnP4UA==", + "requires": { + "@aws-crypto/crc32": "5.2.0", + "@aws-crypto/crc32c": "5.2.0", + "@aws-sdk/types": "3.609.0", + "@smithy/is-array-buffer": "^3.0.0", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/middleware-host-header": { + "version": "3.620.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.620.0.tgz", + "integrity": "sha512-VMtPEZwqYrII/oUkffYsNWY9PZ9xpNJpMgmyU0rlDQ25O1c0Hk3fJmZRe6pEkAJ0omD7kLrqGl1DUjQVxpd/Rg==", + "requires": { + "@aws-sdk/types": "3.609.0", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/middleware-location-constraint": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.609.0.tgz", + "integrity": "sha512-xzsdoTkszGVqGVPjUmgoP7TORiByLueMHieI1fhQL888WPdqctwAx3ES6d/bA9Q/i8jnc6hs+Fjhy8UvBTkE9A==", + "requires": { + "@aws-sdk/types": "3.609.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/middleware-logger": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.609.0.tgz", + "integrity": "sha512-S62U2dy4jMDhDFDK5gZ4VxFdWzCtLzwbYyFZx2uvPYTECkepLUfzLic2BHg2Qvtu4QjX+oGE3P/7fwaGIsGNuQ==", + "requires": { + "@aws-sdk/types": "3.609.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/middleware-recursion-detection": { + "version": "3.620.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.620.0.tgz", + "integrity": "sha512-nh91S7aGK3e/o1ck64sA/CyoFw+gAYj2BDOnoNa6ouyCrVJED96ZXWbhye/fz9SgmNUZR2g7GdVpiLpMKZoI5w==", + "requires": { + "@aws-sdk/types": "3.609.0", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } }, - "@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", - "dev": true, + "@aws-sdk/middleware-sdk-s3": { + "version": "3.635.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.635.0.tgz", + "integrity": "sha512-RLdYJPEV4JL/7NBoFUs7VlP90X++5FlJdxHz0DzCjmiD3qCviKy+Cym3qg1gBgHwucs5XisuClxDrGokhAdTQw==", "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" + "@aws-sdk/core": "3.635.0", + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-arn-parser": "3.568.0", + "@smithy/core": "^2.4.0", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/signature-v4": "^4.1.0", + "@smithy/smithy-client": "^3.2.0", + "@smithy/types": "^3.3.0", + "@smithy/util-config-provider": "^3.0.0", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-stream": "^3.1.3", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" } }, - "@jridgewell/resolve-uri": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", - "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", - "dev": true - }, - "@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "dev": true - }, - "@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "dev": true - }, - "@jridgewell/trace-mapping": { - "version": "0.3.20", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", - "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", - "dev": true, + "@aws-sdk/middleware-ssec": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.609.0.tgz", + "integrity": "sha512-GZSD1s7+JswWOTamVap79QiDaIV7byJFssBW68GYjyRS5EBjNfwA/8s+6uE6g39R3ojyTbYOmvcANoZEhSULXg==", "requires": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" + "@aws-sdk/types": "3.609.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" } }, - "@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==", - "dev": true, + "@aws-sdk/middleware-user-agent": { + "version": "3.645.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.645.0.tgz", + "integrity": "sha512-NpTAtqWK+49lRuxfz7st9for80r4NriCMK0RfdJSoPFVntjsSQiQ7+2nW2XL05uVY633e9DvCAw8YatX3zd1mw==", "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.645.0", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" } }, - "@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==", - "dev": true - }, - "@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==", - "dev": true, + "@aws-sdk/region-config-resolver": { + "version": "3.614.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.614.0.tgz", + "integrity": "sha512-vDCeMXvic/LU0KFIUjpC3RiSTIkkvESsEfbVHiHH0YINfl8HnEqR5rj+L8+phsCeVg2+LmYwYxd5NRz4PHxt5g==", "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" + "@aws-sdk/types": "3.609.0", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/types": "^3.3.0", + "@smithy/util-config-provider": "^3.0.0", + "@smithy/util-middleware": "^3.0.3", + "tslib": "^2.6.2" } }, - "@sinonjs/commons": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", - "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", - "dev": true, + "@aws-sdk/signature-v4-multi-region": { + "version": "3.635.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.635.0.tgz", + "integrity": "sha512-J6QY4/invOkpogCHjSaDON1hF03viPpOnsrzVuCvJMmclS/iG62R4EY0wq1alYll0YmSdmKlpJwHMWwGtqK63Q==", "requires": { - "type-detect": "4.0.8" + "@aws-sdk/middleware-sdk-s3": "3.635.0", + "@aws-sdk/types": "3.609.0", + "@smithy/protocol-http": "^4.1.0", + "@smithy/signature-v4": "^4.1.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" } }, - "@sinonjs/fake-timers": { - "version": "11.2.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-11.2.2.tgz", - "integrity": "sha512-G2piCSxQ7oWOxwGSAyFHfPIsyeJGXYtc6mFbnFA+kRXkiEnTl8c/8jul2S329iFBnDI9HGoeWWAZvuvOkZccgw==", - "dev": true, + "@aws-sdk/token-providers": { + "version": "3.614.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.614.0.tgz", + "integrity": "sha512-okItqyY6L9IHdxqs+Z116y5/nda7rHxLvROxtAJdLavWTYDydxrZstImNgGWTeVdmc0xX2gJCI77UYUTQWnhRw==", "requires": { - "@sinonjs/commons": "^3.0.0" + "@aws-sdk/types": "3.609.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" } }, - "@sinonjs/samsam": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-8.0.0.tgz", - "integrity": "sha512-Bp8KUVlLp8ibJZrnvq2foVhP0IVX2CIprMJPK0vqGqgrDa0OHVKeZyBykqskkrdxV6yKBPmGasO8LVjAKR3Gew==", - "dev": true, + "@aws-sdk/types": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", + "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", "requires": { - "@sinonjs/commons": "^2.0.0", - "lodash.get": "^4.4.2", - "type-detect": "^4.0.8" - }, - "dependencies": { - "@sinonjs/commons": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", - "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", - "dev": true, - "requires": { - "type-detect": "4.0.8" - } - } + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" } }, - "@sinonjs/text-encoding": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.2.tgz", - "integrity": "sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ==", - "dev": true - }, - "acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", - "dev": true - }, - "acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "requires": {} - }, - "aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dev": true, + "@aws-sdk/util-arn-parser": { + "version": "3.568.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.568.0.tgz", + "integrity": "sha512-XUKJWWo+KOB7fbnPP0+g/o5Ulku/X53t7i/h+sPHr5xxYTJJ9CYnbToo95mzxe7xWvkLrsNtJ8L+MnNn9INs2w==", "requires": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" + "tslib": "^2.6.2" } }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, + "@aws-sdk/util-endpoints": { + "version": "3.645.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.645.0.tgz", + "integrity": "sha512-Oe+xaU4ic4PB1k3pb5VTC1/MWES13IlgpaQw01bVHGfwP6Yv6zZOxizRzca2Y3E+AyR+nKD7vXtHRY+w3bi4bg==", "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "@aws-sdk/types": "3.609.0", + "@smithy/types": "^3.3.0", + "@smithy/util-endpoints": "^2.0.5", + "tslib": "^2.6.2" } }, - "ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "dev": true - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true + "@aws-sdk/util-locate-window": { + "version": "3.568.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.568.0.tgz", + "integrity": "sha512-3nh4TINkXYr+H41QaPelCceEB2FXP3fxp93YZXB/kqJvX0U9j0N0Uk45gvsjmEPzG8XxkPEeLIfT2I1M7A6Lig==", + "requires": { + "tslib": "^2.6.2" + } }, - "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, + "@aws-sdk/util-user-agent-browser": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.609.0.tgz", + "integrity": "sha512-fojPU+mNahzQ0YHYBsx0ZIhmMA96H+ZIZ665ObU9tl+SGdbLneVZVikGve+NmHTQwHzwkFsZYYnVKAkreJLAtA==", "requires": { - "color-convert": "^2.0.1" + "@aws-sdk/types": "3.609.0", + "@smithy/types": "^3.3.0", + "bowser": "^2.11.0", + "tslib": "^2.6.2" } }, - "anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dev": true, + "@aws-sdk/util-user-agent-node": { + "version": "3.614.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.614.0.tgz", + "integrity": "sha512-15ElZT88peoHnq5TEoEtZwoXTXRxNrk60TZNdpl/TUBJ5oNJ9Dqb5Z4ryb8ofN6nm9aFf59GVAerFDz8iUoHBA==", "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" + "@aws-sdk/types": "3.609.0", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" } }, - "append-transform": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz", - "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==", - "dev": true, + "@aws-sdk/xml-builder": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.609.0.tgz", + "integrity": "sha512-l9XxNcA4HX98rwCC2/KoiWcmEiRfZe4G+mYwDbCFT87JIMj6GBhLDkAzr/W8KAaA2IDr8Vc6J8fZPgVulxxfMA==", "requires": { - "default-require-extensions": "^3.0.0" + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" } }, - "archy": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", + "@babel/helper-string-parser": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.7.tgz", + "integrity": "sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==", "dev": true }, - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "@babel/helper-validator-identifier": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", "dev": true }, - "assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "@babel/parser": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.7.tgz", + "integrity": "sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==", "dev": true }, - "available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" - }, - "aws-sdk": { - "version": "2.1605.0", - "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1605.0.tgz", - "integrity": "sha512-/wtOuF7WgkbN6YL3xJ+FB54kvIAfnP/DQVDaE6rSYv6ft0xr01Si94NgQWhb5OcFkFfRAC4auZX8PiFNtOi9xQ==", - "requires": { - "buffer": "4.9.2", - "events": "1.1.1", - "ieee754": "1.1.13", - "jmespath": "0.16.0", - "querystring": "0.2.0", - "sax": "1.2.1", - "url": "0.10.3", - "util": "^0.12.4", - "uuid": "8.0.0", - "xml2js": "0.6.2" + "@babel/types": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.7.tgz", + "integrity": "sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==", + "dev": true, + "requires": { + "@babel/helper-string-parser": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7", + "to-fast-properties": "^2.0.0" } }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - }, - "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", "dev": true }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "@esbuild/aix-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", + "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } + "optional": true }, - "braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "@esbuild/android-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", + "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", "dev": true, - "requires": { - "fill-range": "^7.1.1" - } - }, - "browser-stdout": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", - "dev": true + "optional": true }, - "browserslist": { - "version": "4.16.7", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.7.tgz", - "integrity": "sha512-7I4qVwqZltJ7j37wObBe3SoTz+nS8APaNcrBOlgoirb6/HbEU2XxW/LpUDTCngM6iauwFqmRTuOMfyKnFGY5JA==", + "@esbuild/android-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", + "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001248", - "colorette": "^1.2.2", - "electron-to-chromium": "^1.3.793", - "escalade": "^3.1.1", - "node-releases": "^1.1.73" - } + "optional": true }, - "buffer": { - "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", - "isarray": "^1.0.0" - } + "@esbuild/android-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", + "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", + "dev": true, + "optional": true }, - "caching-transform": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz", - "integrity": "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==", + "@esbuild/darwin-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", + "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", "dev": true, - "requires": { - "hasha": "^5.0.0", - "make-dir": "^3.0.0", - "package-hash": "^4.0.0", - "write-file-atomic": "^3.0.0" - } + "optional": true }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } + "@esbuild/darwin-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", + "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", + "dev": true, + "optional": true }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true + "@esbuild/freebsd-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", + "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", + "dev": true, + "optional": true }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true + "@esbuild/freebsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", + "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", + "dev": true, + "optional": true }, - "caniuse-lite": { - "version": "1.0.30001249", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001249.tgz", - "integrity": "sha512-vcX4U8lwVXPdqzPWi6cAJ3FnQaqXbBqy/GZseKNQzRj37J7qZdGcBtxq/QLFNLLlfsoXLUdHw8Iwenri86Tagw==", - "dev": true + "@esbuild/linux-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", + "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", + "dev": true, + "optional": true }, - "chai": { - "version": "4.3.10", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.10.tgz", - "integrity": "sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g==", + "@esbuild/linux-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", + "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", "dev": true, - "requires": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.3", - "deep-eql": "^4.1.3", - "get-func-name": "^2.0.2", - "loupe": "^2.3.6", - "pathval": "^1.1.1", - "type-detect": "^4.0.8" - } + "optional": true }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "@esbuild/linux-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", + "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", "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" - } - } - } + "optional": true }, - "check-error": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", - "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", + "@esbuild/linux-loong64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", + "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", "dev": true, - "requires": { - "get-func-name": "^2.0.2" - } + "optional": true }, - "chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "@esbuild/linux-mips64el": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", + "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", "dev": true, - "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - } + "optional": true }, - "clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true + "@esbuild/linux-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", + "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", + "dev": true, + "optional": true }, - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "@esbuild/linux-riscv64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", + "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } + "optional": true }, - "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==", + "@esbuild/linux-s390x": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", + "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", "dev": true, - "requires": { - "color-name": "~1.1.4" - } + "optional": true }, - "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 + "@esbuild/linux-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", + "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", + "dev": true, + "optional": true }, - "colorette": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", - "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==", - "dev": true + "@esbuild/netbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", + "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", + "dev": true, + "optional": true }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "dev": true + "@esbuild/openbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", + "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", + "dev": true, + "optional": true }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true + "@esbuild/sunos-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", + "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", + "dev": true, + "optional": true }, - "convert-source-map": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", + "@esbuild/win32-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", + "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", "dev": true, - "requires": { - "safe-buffer": "~5.1.1" - } + "optional": true }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "@esbuild/win32-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", + "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } + "optional": true }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "@esbuild/win32-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", + "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", "dev": true, - "requires": { - "ms": "2.1.2" - }, - "dependencies": { - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } + "optional": true }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", "dev": true }, - "deep-eql": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", - "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", + "@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", "dev": true, "requires": { - "type-detect": "^4.0.0" + "@sinclair/typebox": "^0.27.8" } }, - "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 - }, - "default-require-extensions": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.0.tgz", - "integrity": "sha512-ek6DpXq/SCpvjhpFsLFRVtIxJCRw6fUR42lYMVZuUMK7n8eMz4Uh5clckdBjEpLhn/gEBZo7hDJnJcwdKLKQjg==", + "@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", "dev": true, "requires": { - "strip-bom": "^4.0.0" + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" } }, - "diff": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", - "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", + "@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "dev": true + }, + "@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "dev": true + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", "dev": true }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", "dev": true, "requires": { - "esutils": "^2.0.2" + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "electron-to-chromium": { - "version": "1.3.798", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.798.tgz", - "integrity": "sha512-fwsr6oXAORoV9a6Ak2vMCdXfmHIpAGgpOGesulS1cbGgJmrMl3H+GicUyRG3t+z9uHTMrIuMTleFDW+EUFYT3g==", - "dev": true - }, - "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==", - "dev": true + "@rollup/rollup-android-arm-eabi": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.22.4.tgz", + "integrity": "sha512-Fxamp4aEZnfPOcGA8KSNEohV8hX7zVHOemC8jVBoBUHu5zpJK/Eu3uJwt6BMgy9fkvzxDaurgj96F/NiLukF2w==", + "dev": true, + "optional": true }, - "es6-error": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", - "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", - "dev": true + "@rollup/rollup-android-arm64": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.22.4.tgz", + "integrity": "sha512-VXoK5UMrgECLYaMuGuVTOx5kcuap1Jm8g/M83RnCHBKOqvPPmROFJGQaZhGccnsFtfXQ3XYa4/jMCJvZnbJBdA==", + "dev": true, + "optional": true }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true + "@rollup/rollup-darwin-arm64": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.22.4.tgz", + "integrity": "sha512-xMM9ORBqu81jyMKCDP+SZDhnX2QEVQzTcC6G18KlTQEzWK8r/oNZtKuZaCcHhnsa6fEeOBionoyl5JsAbE/36Q==", + "dev": true, + "optional": true }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true + "@rollup/rollup-darwin-x64": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.22.4.tgz", + "integrity": "sha512-aJJyYKQwbHuhTUrjWjxEvGnNNBCnmpHDvrb8JFDbeSH3m2XdHcxDd3jthAzvmoI8w/kSjd2y0udT+4okADsZIw==", + "dev": true, + "optional": true }, - "eslint": { - "version": "8.51.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.51.0.tgz", - "integrity": "sha512-2WuxRZBrlwnXi+/vFSJyjMqrNjtJqiasMzehF0shoLaW7DzS3/9Yvrmq5JiT66+pNjiX4UBnLDiKHcWAr/OInA==", - "dev": true, - "requires": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "8.51.0", - "@humanwhocodes/config-array": "^0.11.11", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "dependencies": { - "glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "requires": { - "is-glob": "^4.0.3" - } - }, - "globals": { - "version": "13.23.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", - "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - } - }, - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true - } - } + "@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.22.4.tgz", + "integrity": "sha512-j63YtCIRAzbO+gC2L9dWXRh5BFetsv0j0va0Wi9epXDgU/XUi5dJKo4USTttVyK7fGw2nPWK0PbAvyliz50SCQ==", + "dev": true, + "optional": true }, - "eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "@rollup/rollup-linux-arm-musleabihf": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.22.4.tgz", + "integrity": "sha512-dJnWUgwWBX1YBRsuKKMOlXCzh2Wu1mlHzv20TpqEsfdZLb3WoJW2kIEsGwLkroYf24IrPAvOT/ZQ2OYMV6vlrg==", "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - } + "optional": true }, - "eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true + "@rollup/rollup-linux-arm64-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.22.4.tgz", + "integrity": "sha512-AdPRoNi3NKVLolCN/Sp4F4N1d98c4SBnHMKoLuiG6RXgoZ4sllseuGioszumnPGmPM2O7qaAX/IJdeDU8f26Aw==", + "dev": true, + "optional": true }, - "espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "@rollup/rollup-linux-arm64-musl": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.22.4.tgz", + "integrity": "sha512-Gl0AxBtDg8uoAn5CCqQDMqAx22Wx22pjDOjBdmG0VIWX3qUBHzYmOKh8KXHL4UpogfJ14G4wk16EQogF+v8hmA==", "dev": true, - "requires": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - } + "optional": true }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true + "@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.22.4.tgz", + "integrity": "sha512-3aVCK9xfWW1oGQpTsYJJPF6bfpWfhbRnhdlyhak2ZiyFLDaayz0EP5j9V1RVLAAxlmWKTDfS9wyRyY3hvhPoOg==", + "dev": true, + "optional": true }, - "esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "@rollup/rollup-linux-riscv64-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.22.4.tgz", + "integrity": "sha512-ePYIir6VYnhgv2C5Xe9u+ico4t8sZWXschR6fMgoPUK31yQu7hTEJb7bCqivHECwIClJfKgE7zYsh1qTP3WHUA==", "dev": true, - "requires": { - "estraverse": "^5.1.0" - } + "optional": true }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "@rollup/rollup-linux-s390x-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.22.4.tgz", + "integrity": "sha512-GqFJ9wLlbB9daxhVlrTe61vJtEY99/xB3C8e4ULVsVfflcpmR6c8UZXjtkMA6FhNONhj2eA5Tk9uAVw5orEs4Q==", "dev": true, - "requires": { - "estraverse": "^5.2.0" - } + "optional": true }, - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true + "@rollup/rollup-linux-x64-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.22.4.tgz", + "integrity": "sha512-87v0ol2sH9GE3cLQLNEy0K/R0pz1nvg76o8M5nhMR0+Q+BBGLnb35P0fVz4CQxHYXaAOhE8HhlkaZfsdUOlHwg==", + "dev": true, + "optional": true }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true + "@rollup/rollup-linux-x64-musl": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.22.4.tgz", + "integrity": "sha512-UV6FZMUgePDZrFjrNGIWzDo/vABebuXBhJEqrHxrGiU6HikPy0Z3LfdtciIttEUQfuDdCn8fqh7wiFJjCNwO+g==", + "dev": true, + "optional": true }, - "events": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", - "integrity": "sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw==" + "@rollup/rollup-win32-arm64-msvc": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.22.4.tgz", + "integrity": "sha512-BjI+NVVEGAXjGWYHz/vv0pBqfGoUH0IGZ0cICTn7kB9PyjrATSkX+8WkguNjWoj2qSr1im/+tTGRaY+4/PdcQw==", + "dev": true, + "optional": true }, - "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==", - "dev": true + "@rollup/rollup-win32-ia32-msvc": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.22.4.tgz", + "integrity": "sha512-SiWG/1TuUdPvYmzmYnmd3IEifzR61Tragkbx9D3+R8mzQqDBz8v+BvZNDlkiTtI9T15KYZhP0ehn3Dld4n9J5g==", + "dev": true, + "optional": true }, - "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==", - "dev": true + "@rollup/rollup-win32-x64-msvc": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.22.4.tgz", + "integrity": "sha512-j8pPKp53/lq9lMXN57S8cFz0MynJk8OWNuUnXct/9KCpKU7DgU3bYMJhwWmcqC0UU29p8Lr0/7KEVcaM6bf47Q==", + "dev": true, + "optional": true }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", "dev": true }, - "fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", - "dev": true, + "@smithy/abort-controller": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-3.1.1.tgz", + "integrity": "sha512-MBJBiidoe+0cTFhyxT8g+9g7CeVccLM0IOKKUMCNQ1CNMJ/eIfoo0RTfVrXOONEI1UCN1W+zkiHSbzUNE9dZtQ==", "requires": { - "reusify": "^1.0.4" + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" } }, - "file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, + "@smithy/chunked-blob-reader": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/chunked-blob-reader/-/chunked-blob-reader-3.0.0.tgz", + "integrity": "sha512-sbnURCwjF0gSToGlsBiAmd1lRCmSn72nu9axfJu5lIx6RUEgHu6GwTMbqCdhQSi0Pumcm5vFxsi9XWXb2mTaoA==", "requires": { - "flat-cache": "^3.0.4" + "tslib": "^2.6.2" } }, - "fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "dev": true, + "@smithy/chunked-blob-reader-native": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/chunked-blob-reader-native/-/chunked-blob-reader-native-3.0.0.tgz", + "integrity": "sha512-VDkpCYW+peSuM4zJip5WDfqvg2Mo/e8yxOv3VF1m11y7B8KKMKVFtmZWDe36Fvk8rGuWrPZHHXZ7rR7uM5yWyg==", "requires": { - "to-regex-range": "^5.0.1" + "@smithy/util-base64": "^3.0.0", + "tslib": "^2.6.2" } }, - "find-cache-dir": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", - "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", - "dev": true, + "@smithy/config-resolver": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-3.0.5.tgz", + "integrity": "sha512-SkW5LxfkSI1bUC74OtfBbdz+grQXYiPYolyu8VfpLIjEoN/sHVBlLeGXMQ1vX4ejkgfv6sxVbQJ32yF2cl1veA==", "requires": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" + "@smithy/node-config-provider": "^3.1.4", + "@smithy/types": "^3.3.0", + "@smithy/util-config-provider": "^3.0.0", + "@smithy/util-middleware": "^3.0.3", + "tslib": "^2.6.2" } }, - "find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, + "@smithy/core": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@smithy/core/-/core-2.4.0.tgz", + "integrity": "sha512-cHXq+FneIF/KJbt4q4pjN186+Jf4ZB0ZOqEaZMBhT79srEyGDDBV31NqBRBjazz8ppQ1bJbDJMY9ba5wKFV36w==", "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-retry": "^3.0.15", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.2.0", + "@smithy/types": "^3.3.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" } }, - "flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", - "dev": true - }, - "flat-cache": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.1.tgz", - "integrity": "sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==", - "dev": true, + "@smithy/credential-provider-imds": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-3.2.0.tgz", + "integrity": "sha512-0SCIzgd8LYZ9EJxUjLXBmEKSZR/P/w6l7Rz/pab9culE/RWuqelAKGJvn5qUOl8BgX8Yj5HWM50A5hiB/RzsgA==", "requires": { - "flatted": "^3.2.9", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" + "@smithy/node-config-provider": "^3.1.4", + "@smithy/property-provider": "^3.1.3", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "tslib": "^2.6.2" } }, - "flatted": { - "version": "3.2.9", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", - "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", - "dev": true - }, - "for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "@smithy/eventstream-codec": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-3.1.2.tgz", + "integrity": "sha512-0mBcu49JWt4MXhrhRAlxASNy0IjDRFU+aWNDRal9OtUJvJNiwDuyKMUONSOjLjSCeGwZaE0wOErdqULer8r7yw==", "requires": { - "is-callable": "^1.1.3" + "@aws-crypto/crc32": "5.2.0", + "@smithy/types": "^3.3.0", + "@smithy/util-hex-encoding": "^3.0.0", + "tslib": "^2.6.2" } }, - "foreground-child": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz", - "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==", - "dev": true, + "@smithy/eventstream-serde-browser": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-3.0.6.tgz", + "integrity": "sha512-2hM54UWQUOrki4BtsUI1WzmD13/SeaqT/AB3EUJKbcver/WgKNaiJ5y5F5XXuVe6UekffVzuUDrBZVAA3AWRpQ==", "requires": { - "cross-spawn": "^7.0.0", - "signal-exit": "^3.0.2" + "@smithy/eventstream-serde-universal": "^3.0.5", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" } }, - "fromentries": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz", - "integrity": "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==", - "dev": true + "@smithy/eventstream-serde-config-resolver": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.0.3.tgz", + "integrity": "sha512-NVTYjOuYpGfrN/VbRQgn31x73KDLfCXCsFdad8DiIc3IcdxL+dYA9zEQPyOP7Fy2QL8CPy2WE4WCUD+ZsLNfaQ==", + "requires": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true + "@smithy/eventstream-serde-node": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-node/-/eventstream-serde-node-3.0.5.tgz", + "integrity": "sha512-+upXvnHNyZP095s11jF5dhGw/Ihzqwl5G+/KtMnoQOpdfC3B5HYCcDVG9EmgkhJMXJlM64PyN5gjJl0uXFQehQ==", + "requires": { + "@smithy/eventstream-serde-universal": "^3.0.5", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "optional": true + "@smithy/eventstream-serde-universal": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-3.0.5.tgz", + "integrity": "sha512-5u/nXbyoh1s4QxrvNre9V6vfyoLWuiVvvd5TlZjGThIikc3G+uNiG9uOTCWweSRjv1asdDIWK7nOmN7le4RYHQ==", + "requires": { + "@smithy/eventstream-codec": "^3.1.2", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "@smithy/fetch-http-handler": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-3.2.4.tgz", + "integrity": "sha512-kBprh5Gs5h7ug4nBWZi1FZthdqSM+T7zMmsZxx0IBvWUn7dK3diz2SHn7Bs4dQGFDk8plDv375gzenDoNwrXjg==", + "requires": { + "@smithy/protocol-http": "^4.1.0", + "@smithy/querystring-builder": "^3.0.3", + "@smithy/types": "^3.3.0", + "@smithy/util-base64": "^3.0.0", + "tslib": "^2.6.2" + } }, - "gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true + "@smithy/hash-blob-browser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@smithy/hash-blob-browser/-/hash-blob-browser-3.1.2.tgz", + "integrity": "sha512-hAbfqN2UbISltakCC2TP0kx4LqXBttEv2MqSPE98gVuDFMf05lU+TpC41QtqGP3Ff5A3GwZMPfKnEy0VmEUpmg==", + "requires": { + "@smithy/chunked-blob-reader": "^3.0.0", + "@smithy/chunked-blob-reader-native": "^3.0.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true + "@smithy/hash-node": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-3.0.3.tgz", + "integrity": "sha512-2ctBXpPMG+B3BtWSGNnKELJ7SH9e4TNefJS0cd2eSkOOROeBnnVBnAy9LtJ8tY4vUEoe55N4CNPxzbWvR39iBw==", + "requires": { + "@smithy/types": "^3.3.0", + "@smithy/util-buffer-from": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + } }, - "get-func-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", - "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", - "dev": true + "@smithy/hash-stream-node": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@smithy/hash-stream-node/-/hash-stream-node-3.1.2.tgz", + "integrity": "sha512-PBgDMeEdDzi6JxKwbfBtwQG9eT9cVwsf0dZzLXoJF4sHKHs5HEo/3lJWpn6jibfJwT34I1EBXpBnZE8AxAft6g==", + "requires": { + "@smithy/types": "^3.3.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + } }, - "get-intrinsic": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", - "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", + "@smithy/invalid-dependency": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-3.0.3.tgz", + "integrity": "sha512-ID1eL/zpDULmHJbflb864k72/SNOZCADRc9i7Exq3RUNJw6raWUSlFEQ+3PX3EYs++bTxZB2dE9mEHTQLv61tw==", "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" } }, - "get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "dev": true + "@smithy/is-array-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", + "requires": { + "tslib": "^2.6.2" + } }, - "glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "dev": true, + "@smithy/md5-js": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/md5-js/-/md5-js-3.0.3.tgz", + "integrity": "sha512-O/SAkGVwpWmelpj/8yDtsaVe6sINHLB1q8YE/+ZQbDxIw3SRLbTZuRaI10K12sVoENdnHqzPp5i3/H+BcZ3m3Q==", "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "@smithy/types": "^3.3.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" } }, - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, + "@smithy/middleware-content-length": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-3.0.5.tgz", + "integrity": "sha512-ILEzC2eyxx6ncej3zZSwMpB5RJ0zuqH7eMptxC4KN3f+v9bqT8ohssKbhNR78k/2tWW+KS5Spw+tbPF4Ejyqvw==", "requires": { - "is-glob": "^4.0.1" + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" } }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true + "@smithy/middleware-endpoint": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-3.1.0.tgz", + "integrity": "sha512-5y5aiKCEwg9TDPB4yFE7H6tYvGFf1OJHNczeY10/EFF8Ir8jZbNntQJxMWNfeQjC1mxPsaQ6mR9cvQbf+0YeMw==", + "requires": { + "@smithy/middleware-serde": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-middleware": "^3.0.3", + "tslib": "^2.6.2" + } + }, + "@smithy/middleware-retry": { + "version": "3.0.15", + "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-3.0.15.tgz", + "integrity": "sha512-iTMedvNt1ApdvkaoE8aSDuwaoc+BhvHqttbA/FO4Ty+y/S5hW6Ci/CTScG7vam4RYJWZxdTElc3MEfHRVH6cgQ==", + "requires": { + "@smithy/node-config-provider": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/service-error-classification": "^3.0.3", + "@smithy/smithy-client": "^3.2.0", + "@smithy/types": "^3.3.0", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "tslib": "^2.6.2", + "uuid": "^9.0.1" + }, + "dependencies": { + "uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==" + } + } }, - "gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "@smithy/middleware-serde": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-3.0.3.tgz", + "integrity": "sha512-puUbyJQBcg9eSErFXjKNiGILJGtiqmuuNKEYNYfUD57fUl4i9+mfmThtQhvFXU0hCVG0iEJhvQUipUf+/SsFdA==", "requires": { - "get-intrinsic": "^1.1.3" + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" } }, - "graceful-fs": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", - "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==", - "dev": true + "@smithy/middleware-stack": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-3.0.3.tgz", + "integrity": "sha512-r4klY9nFudB0r9UdSMaGSyjyQK5adUyPnQN/ZM6M75phTxOdnc/AhpvGD1fQUvgmqjQEBGCwpnPbDm8pH5PapA==", + "requires": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } }, - "graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true + "@smithy/node-config-provider": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-3.1.4.tgz", + "integrity": "sha512-YvnElQy8HR4vDcAjoy7Xkx9YT8xZP4cBXcbJSgm/kxmiQu08DwUwj8rkGnyoJTpfl/3xYHH+d8zE+eHqoDCSdQ==", + "requires": { + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "@smithy/node-http-handler": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-3.1.4.tgz", + "integrity": "sha512-+UmxgixgOr/yLsUxcEKGH0fMNVteJFGkmRltYFHnBMlogyFdpzn2CwqWmxOrfJELhV34v0WSlaqG1UtE1uXlJg==", "requires": { - "function-bind": "^1.1.1" + "@smithy/abort-controller": "^3.1.1", + "@smithy/protocol-http": "^4.1.0", + "@smithy/querystring-builder": "^3.0.3", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" } }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true + "@smithy/property-provider": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-3.1.3.tgz", + "integrity": "sha512-zahyOVR9Q4PEoguJ/NrFP4O7SMAfYO1HLhB18M+q+Z4KFd4V2obiMnlVoUFzFLSPeVt1POyNWneHHrZaTMoc/g==", + "requires": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" + "@smithy/protocol-http": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-4.1.0.tgz", + "integrity": "sha512-dPVoHYQ2wcHooGXg3LQisa1hH0e4y0pAddPMeeUPipI1tEOqL6A4N0/G7abeq+K8wrwSgjk4C0wnD1XZpJm5aA==", + "requires": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } }, - "has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "@smithy/querystring-builder": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-3.0.3.tgz", + "integrity": "sha512-vyWckeUeesFKzCDaRwWLUA1Xym9McaA6XpFfAK5qI9DKJ4M33ooQGqvM4J+LalH4u/Dq9nFiC8U6Qn1qi0+9zw==", "requires": { - "has-symbols": "^1.0.2" + "@smithy/types": "^3.3.0", + "@smithy/util-uri-escape": "^3.0.0", + "tslib": "^2.6.2" } }, - "hasha": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz", - "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==", - "dev": true, + "@smithy/querystring-parser": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-3.0.3.tgz", + "integrity": "sha512-zahM1lQv2YjmznnfQsWbYojFe55l0SLG/988brlLv1i8z3dubloLF+75ATRsqPBboUXsW6I9CPGE5rQgLfY0vQ==", "requires": { - "is-stream": "^2.0.0", - "type-fest": "^0.8.0" + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" } }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true + "@smithy/service-error-classification": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.3.tgz", + "integrity": "sha512-Jn39sSl8cim/VlkLsUhRFq/dKDnRUFlfRkvhOJaUbLBXUsLRLNf9WaxDv/z9BjuQ3A6k/qE8af1lsqcwm7+DaQ==", + "requires": { + "@smithy/types": "^3.3.0" + } }, - "html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true + "@smithy/shared-ini-file-loader": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.4.tgz", + "integrity": "sha512-qMxS4hBGB8FY2GQqshcRUy1K6k8aBWP5vwm8qKkCT3A9K2dawUwOIJfqh9Yste/Bl0J2lzosVyrXDj68kLcHXQ==", + "requires": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } }, - "ieee754": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", - "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" + "@smithy/signature-v4": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-4.1.0.tgz", + "integrity": "sha512-aRryp2XNZeRcOtuJoxjydO6QTaVhxx/vjaR+gx7ZjaFgrgPRyZ3HCTbfwqYj6ZWEBHkCSUfcaymKPURaByukag==", + "requires": { + "@smithy/is-array-buffer": "^3.0.0", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "@smithy/util-hex-encoding": "^3.0.0", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-uri-escape": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + } }, - "ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", - "dev": true + "@smithy/smithy-client": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-3.2.0.tgz", + "integrity": "sha512-pDbtxs8WOhJLJSeaF/eAbPgXg4VVYFlRcL/zoNYA5WbG3wBL06CHtBSg53ppkttDpAJ/hdiede+xApip1CwSLw==", + "requires": { + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "@smithy/util-stream": "^3.1.3", + "tslib": "^2.6.2" + } }, - "import-fresh": { + "@smithy/types": { "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true - } + "tslib": "^2.6.2" } }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true - }, - "indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, + "@smithy/url-parser": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-3.0.3.tgz", + "integrity": "sha512-pw3VtZtX2rg+s6HMs6/+u9+hu6oY6U7IohGhVNnjbgKy86wcIsSZwgHrFR+t67Uyxvp4Xz3p3kGXXIpTNisq8A==", "requires": { - "once": "^1.3.0", - "wrappy": "1" + "@smithy/querystring-parser": "^3.0.3", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" } }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "@smithy/util-base64": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-3.0.0.tgz", + "integrity": "sha512-Kxvoh5Qtt0CDsfajiZOCpJxgtPHXOKwmM+Zy4waD43UoEMA+qPxxa98aE/7ZhdnBFZFXMOiBR5xbcaMhLtznQQ==", "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "@smithy/util-buffer-from": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" } }, - "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==", - "dev": true, + "@smithy/util-body-length-browser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-3.0.0.tgz", + "integrity": "sha512-cbjJs2A1mLYmqmyVl80uoLTJhAcfzMOyPgjwAYusWKMdLeNtzmMz9YxNl3/jRLoxSS3wkqkf0jwNdtXWtyEBaQ==", "requires": { - "binary-extensions": "^2.0.0" + "tslib": "^2.6.2" } }, - "is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==" - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true - }, - "is-fullwidth-code-point": { + "@smithy/util-body-length-node": { "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==", - "dev": true - }, - "is-generator-function": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-3.0.0.tgz", + "integrity": "sha512-Tj7pZ4bUloNUP6PzwhN7K386tmSmEET9QtQg0TgdNOnxhZvCssHji+oZTUIuzxECRfG8rdm2PMw2WCFs6eIYkA==", "requires": { - "has-tostringtag": "^1.0.0" + "tslib": "^2.6.2" } }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, + "@smithy/util-buffer-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", "requires": { - "is-extglob": "^2.1.1" + "@smithy/is-array-buffer": "^3.0.0", + "tslib": "^2.6.2" } }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - }, - "is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true - }, - "is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", - "dev": true + "@smithy/util-config-provider": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-3.0.0.tgz", + "integrity": "sha512-pbjk4s0fwq3Di/ANL+rCvJMKM5bzAQdE5S/6RL5NXgMExFAi6UgQMPOm5yPaIWPpr+EOXKXRonJ3FoxKf4mCJQ==", + "requires": { + "tslib": "^2.6.2" + } }, - "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true + "@smithy/util-defaults-mode-browser": { + "version": "3.0.15", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-3.0.15.tgz", + "integrity": "sha512-FZ4Psa3vjp8kOXcd3HJOiDPBCWtiilLl57r0cnNtq/Ga9RSDrM5ERL6xt+tO43+2af6Pn5Yp92x2n5vPuduNfg==", + "requires": { + "@smithy/property-provider": "^3.1.3", + "@smithy/smithy-client": "^3.2.0", + "@smithy/types": "^3.3.0", + "bowser": "^2.11.0", + "tslib": "^2.6.2" + } }, - "is-typed-array": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", - "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", + "@smithy/util-defaults-mode-node": { + "version": "3.0.15", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-3.0.15.tgz", + "integrity": "sha512-KSyAAx2q6d0t6f/S4XB2+3+6aQacm3aLMhs9aLMqn18uYGUepbdssfogW5JQZpc6lXNBnp0tEnR5e9CEKmEd7A==", "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" + "@smithy/config-resolver": "^3.0.5", + "@smithy/credential-provider-imds": "^3.2.0", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/property-provider": "^3.1.3", + "@smithy/smithy-client": "^3.2.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" } }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true + "@smithy/util-endpoints": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-2.0.5.tgz", + "integrity": "sha512-ReQP0BWihIE68OAblC/WQmDD40Gx+QY1Ez8mTdFMXpmjfxSyz2fVQu3A4zXRfQU9sZXtewk3GmhfOHswvX+eNg==", + "requires": { + "@smithy/node-config-provider": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } }, - "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==", - "dev": true + "@smithy/util-hex-encoding": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-3.0.0.tgz", + "integrity": "sha512-eFndh1WEK5YMUYvy3lPlVmYY/fZcQE1D8oSf41Id2vCeIkKJXPcYDCZD+4+xViI6b1XSd7tE+s5AmXzz5ilabQ==", + "requires": { + "tslib": "^2.6.2" + } }, - "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==", - "dev": true + "@smithy/util-middleware": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-3.0.3.tgz", + "integrity": "sha512-l+StyYYK/eO3DlVPbU+4Bi06Jjal+PFLSMmlWM1BEwyLxZ3aKkf1ROnoIakfaA7mC6uw3ny7JBkau4Yc+5zfWw==", + "requires": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + "@smithy/util-retry": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-3.0.3.tgz", + "integrity": "sha512-AFw+hjpbtVApzpNDhbjNG5NA3kyoMs7vx0gsgmlJF4s+yz1Zlepde7J58zpIRIsdjc+emhpAITxA88qLkPF26w==", + "requires": { + "@smithy/service-error-classification": "^3.0.3", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true + "@smithy/util-stream": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-3.1.3.tgz", + "integrity": "sha512-FIv/bRhIlAxC0U7xM1BCnF2aDRPq0UaelqBHkM2lsCp26mcBbgI0tCVTv+jGdsQLUmAMybua/bjDsSu8RQHbmw==", + "requires": { + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/types": "^3.3.0", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-buffer-from": "^3.0.0", + "@smithy/util-hex-encoding": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + } }, - "istanbul-lib-coverage": { + "@smithy/util-uri-escape": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", - "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", - "dev": true + "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-3.0.0.tgz", + "integrity": "sha512-LqR7qYLgZTD7nWLBecUi4aqolw8Mhza9ArpNEQ881MJJIU2sE5iHCK6TdyqqzcDLy0OPe10IY4T8ctVdtynubg==", + "requires": { + "tslib": "^2.6.2" + } }, - "istanbul-lib-hook": { + "@smithy/util-utf8": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz", - "integrity": "sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==", - "dev": true, + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", + "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", "requires": { - "append-transform": "^2.0.0" + "@smithy/util-buffer-from": "^3.0.0", + "tslib": "^2.6.2" } }, - "istanbul-lib-instrument": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", - "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", - "dev": true, + "@smithy/util-waiter": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@smithy/util-waiter/-/util-waiter-3.1.2.tgz", + "integrity": "sha512-4pP0EV3iTsexDx+8PPGAKCQpd/6hsQBaQhqWzU4hqKPHN5epPsxKbvUTIiYIHTxaKt6/kEaqPBpu/ufvfbrRzw==", "requires": { - "@babel/core": "^7.7.5", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.0.0", - "semver": "^6.3.0" + "@smithy/abort-controller": "^3.1.1", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" } }, - "istanbul-lib-processinfo": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.2.tgz", - "integrity": "sha512-kOwpa7z9hme+IBPZMzQ5vdQj8srYgAtaRqeI48NGmAQ+/5yKiHLV0QbYqQpxsdEF0+w14SoB8YbnHKcXE2KnYw==", + "@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true + }, + "@vitest/coverage-v8": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-1.6.0.tgz", + "integrity": "sha512-KvapcbMY/8GYIG0rlwwOKCVNRc0OL20rrhFkg/CHNzncV03TE2XWvO5w9uZYoxNiMEBacAJt3unSOiZ7svePew==", + "dev": true, + "requires": { + "@ampproject/remapping": "^2.2.1", + "@bcoe/v8-coverage": "^0.2.3", + "debug": "^4.3.4", + "istanbul-lib-coverage": "^3.2.2", + "istanbul-lib-report": "^3.0.1", + "istanbul-lib-source-maps": "^5.0.4", + "istanbul-reports": "^3.1.6", + "magic-string": "^0.30.5", + "magicast": "^0.3.3", + "picocolors": "^1.0.0", + "std-env": "^3.5.0", + "strip-literal": "^2.0.0", + "test-exclude": "^6.0.0" + }, + "dependencies": { + "istanbul-lib-source-maps": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-5.0.4.tgz", + "integrity": "sha512-wHOoEsNJTVltaJp8eVkm8w+GVkVNHT2YDYo53YdzQEL2gWm1hBX5cGFR9hQJtuGLebidVX7et3+dmDZrmclduw==", + "dev": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.23", + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0" + } + } + } + }, + "@vitest/expect": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.6.0.tgz", + "integrity": "sha512-ixEvFVQjycy/oNgHjqsL6AZCDduC+tflRluaHIzKIsdbzkLn2U/iBnVeJwB6HsIjQBdfMR8Z0tRxKUsvFJEeWQ==", "dev": true, "requires": { - "archy": "^1.0.0", - "cross-spawn": "^7.0.0", - "istanbul-lib-coverage": "^3.0.0-alpha.1", - "make-dir": "^3.0.0", - "p-map": "^3.0.0", - "rimraf": "^3.0.0", - "uuid": "^3.3.3" - }, - "dependencies": { - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "dev": true - } + "@vitest/spy": "1.6.0", + "@vitest/utils": "1.6.0", + "chai": "^4.3.10" } }, - "istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "@vitest/runner": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.6.0.tgz", + "integrity": "sha512-P4xgwPjwesuBiHisAVz/LSSZtDjOTPYZVmNAnpHHSR6ONrf8eCJOFRvUwdHn30F5M1fxhqtl7QZQUk2dprIXAg==", "dev": true, "requires": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" + "@vitest/utils": "1.6.0", + "p-limit": "^5.0.0", + "pathe": "^1.1.1" }, "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==", + "p-limit": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-5.0.0.tgz", + "integrity": "sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==", "dev": true, "requires": { - "has-flag": "^4.0.0" + "yocto-queue": "^1.0.0" } + }, + "yocto-queue": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", + "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", + "dev": true } } }, - "istanbul-lib-source-maps": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz", - "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==", + "@vitest/snapshot": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.6.0.tgz", + "integrity": "sha512-+Hx43f8Chus+DCmygqqfetcAZrDJwvTj0ymqjQq4CvmpKFSTVteEOBzCusu1x2tt4OJcvBflyHUE0DZSLgEMtQ==", "dev": true, "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, - "dependencies": { - "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 - } + "magic-string": "^0.30.5", + "pathe": "^1.1.1", + "pretty-format": "^29.7.0" } }, - "istanbul-reports": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz", - "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==", + "@vitest/spy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.6.0.tgz", + "integrity": "sha512-leUTap6B/cqi/bQkXUu6bQV5TZPx7pmMBKBQiI0rJA8c3pB56ZsaTbREnF7CJfmvAS4V2cXIBAh/3rVwrrCYgw==", "dev": true, "requires": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" + "tinyspy": "^2.2.0" } }, - "jmespath": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.16.0.tgz", - "integrity": "sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==" - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "@vitest/utils": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.6.0.tgz", + "integrity": "sha512-21cPiuGMoMZwiOHa2i4LXkMkMkCGzA+MVFV70jRwHo95dL4x/ts5GZhML1QWuy7yfp3WzK3lRvZi3JnXTYqrBw==", "dev": true, "requires": { - "argparse": "^2.0.1" + "diff-sequences": "^29.6.3", + "estree-walker": "^3.0.3", + "loupe": "^2.3.7", + "pretty-format": "^29.7.0" } }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true - }, - "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==", + "acorn": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.0.tgz", + "integrity": "sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==", "dev": true }, - "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==", - "dev": true + "acorn-walk": { + "version": "8.3.3", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.3.tgz", + "integrity": "sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==", + "dev": true, + "requires": { + "acorn": "^8.11.0" + } }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", "dev": true }, - "json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, - "just-extend": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.2.1.tgz", - "integrity": "sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg==", - "dev": true + "bowser": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", + "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==" }, - "keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "requires": { - "json-buffer": "3.0.1" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "cac": { + "version": "6.7.14", + "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", + "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", + "dev": true + }, + "chai": { + "version": "4.3.10", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.10.tgz", + "integrity": "sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g==", "dev": true, "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" + "assertion-error": "^1.1.0", + "check-error": "^1.0.3", + "deep-eql": "^4.1.3", + "get-func-name": "^2.0.2", + "loupe": "^2.3.6", + "pathval": "^1.1.1", + "type-detect": "^4.0.8" } }, - "locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "check-error": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", + "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", "dev": true, "requires": { - "p-locate": "^5.0.0" + "get-func-name": "^2.0.2" } }, - "lodash.flattendeep": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", - "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=", - "dev": true - }, - "lodash.get": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, - "lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "confbox": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.7.tgz", + "integrity": "sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==", "dev": true }, - "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==", + "cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, "requires": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" } }, - "loupe": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz", - "integrity": "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==", + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, "requires": { - "get-func-name": "^2.0.0" + "ms": "2.1.2" + }, + "dependencies": { + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "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==", + "deep-eql": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", + "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", "dev": true, "requires": { - "semver": "^6.0.0" + "type-detect": "^4.0.0" } }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "dev": true + }, + "esbuild": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", + "dev": true, + "requires": { + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" + } + }, + "estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", "dev": true, "requires": { - "brace-expansion": "^1.1.7" + "@types/estree": "^1.0.0" } }, - "mocha": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz", - "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==", - "dev": true, - "requires": { - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", - "chokidar": "3.5.3", - "debug": "4.3.4", - "diff": "5.0.0", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "7.2.0", - "he": "1.2.0", - "js-yaml": "4.1.0", - "log-symbols": "4.1.0", - "minimatch": "5.0.1", - "ms": "2.1.3", - "nanoid": "3.3.3", - "serialize-javascript": "6.0.0", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "workerpool": "6.2.1", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", - "yargs-unparser": "2.0.0" - }, - "dependencies": { - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0" - } + "execa": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" + }, + "dependencies": { + "is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true }, - "minimatch": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", - "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", - "dev": true, - "requires": { - "brace-expansion": "^2.0.1" - } + "signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true } } }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "fast-xml-parser": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.4.1.tgz", + "integrity": "sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==", + "requires": { + "strnum": "^1.0.5" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, - "nanoid": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", - "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", + "fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "optional": true + }, + "get-func-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", + "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", "dev": true }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", "dev": true }, - "nise": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.5.tgz", - "integrity": "sha512-VJuPIfUFaXNRzETTQEEItTOP8Y171ijr+JLq42wHes3DiryR8vT+1TXQW/Rx8JNUhyYYWyIvjXTU6dOhJcs9Nw==", + "glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", "dev": true, "requires": { - "@sinonjs/commons": "^2.0.0", - "@sinonjs/fake-timers": "^10.0.2", - "@sinonjs/text-encoding": "^0.7.1", - "just-extend": "^4.0.2", - "path-to-regexp": "^1.7.0" - }, - "dependencies": { - "@sinonjs/commons": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", - "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", - "dev": true, - "requires": { - "type-detect": "4.0.8" - } - }, - "@sinonjs/fake-timers": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", - "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", - "dev": true, - "requires": { - "@sinonjs/commons": "^3.0.0" - }, - "dependencies": { - "@sinonjs/commons": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", - "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", - "dev": true, - "requires": { - "type-detect": "4.0.8" - } - } - } - } + "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" } }, - "node-preload": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz", - "integrity": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==", + "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 + }, + "html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "human-signals": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "requires": { - "process-on-spawn": "^1.0.0" + "once": "^1.3.0", + "wrappy": "1" } }, - "node-releases": { - "version": "1.1.73", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.73.tgz", - "integrity": "sha512-uW7fodD6pyW2FZNZnp/Z3hvWKeEW1Y8R1+1CnErE8cXFXzl5blBOoVB41CvMer6P6Q0S5FXDwcHgFd1Wj0U9zg==", + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", "dev": true }, - "nyc": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz", - "integrity": "sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==", - "dev": true, - "requires": { - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "caching-transform": "^4.0.0", - "convert-source-map": "^1.7.0", - "decamelize": "^1.2.0", - "find-cache-dir": "^3.2.0", - "find-up": "^4.1.0", - "foreground-child": "^2.0.0", - "get-package-type": "^0.1.0", - "glob": "^7.1.6", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-hook": "^3.0.0", - "istanbul-lib-instrument": "^4.0.0", - "istanbul-lib-processinfo": "^2.0.2", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.0.2", - "make-dir": "^3.0.0", - "node-preload": "^0.2.1", - "p-map": "^3.0.0", - "process-on-spawn": "^1.0.0", - "resolve-from": "^5.0.0", - "rimraf": "^3.0.0", - "signal-exit": "^3.0.2", - "spawn-wrap": "^2.0.0", - "test-exclude": "^6.0.0", - "yargs": "^15.0.2" - }, - "dependencies": { - "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", + "dev": true + }, + "istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "dev": true, + "requires": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", "dev": true, "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "semver": "^7.5.3" } }, - "y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "semver": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", "dev": true }, - "yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "dev": true, - "requires": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - } - }, - "yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "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": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" + "has-flag": "^4.0.0" } } } }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "istanbul-reports": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", + "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", "dev": true, "requires": { - "wrappy": "1" + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" } }, - "optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "local-pkg": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.0.tgz", + "integrity": "sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==", "dev": true, "requires": { - "@aashutoshrathi/word-wrap": "^1.2.3", - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" + "mlly": "^1.4.2", + "pkg-types": "^1.0.3" } }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "loupe": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", + "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", "dev": true, "requires": { - "yocto-queue": "^0.1.0" + "get-func-name": "^2.0.1" } }, - "p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "magic-string": { + "version": "0.30.10", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.10.tgz", + "integrity": "sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==", "dev": true, "requires": { - "p-limit": "^3.0.2" + "@jridgewell/sourcemap-codec": "^1.4.15" } }, - "p-map": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", - "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", + "magicast": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.3.4.tgz", + "integrity": "sha512-TyDF/Pn36bBji9rWKHlZe+PZb6Mx5V8IHCSxk7X4aljM4e/vyDvZZYwHewdVaqiA0nb3ghfHU/6AUpDxWoER2Q==", "dev": true, "requires": { - "aggregate-error": "^3.0.0" + "@babel/parser": "^7.24.4", + "@babel/types": "^7.24.0", + "source-map-js": "^1.2.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==", + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", "dev": true }, - "package-hash": { + "mimic-fn": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz", - "integrity": "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "dev": true + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "requires": { - "graceful-fs": "^4.1.15", - "hasha": "^5.0.0", - "lodash.flattendeep": "^4.4.0", - "release-zalgo": "^1.0.0" + "brace-expansion": "^1.1.7" } }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "mlly": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.7.1.tgz", + "integrity": "sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA==", "dev": true, "requires": { - "callsites": "^3.0.0" + "acorn": "^8.11.3", + "pathe": "^1.1.2", + "pkg-types": "^1.1.1", + "ufo": "^1.5.3" } }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "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=", - "dev": true - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", "dev": true }, - "path-to-regexp": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.9.0.tgz", - "integrity": "sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==", + "npm-run-path": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", "dev": true, "requires": { - "isarray": "0.0.1" + "path-key": "^4.0.0" }, "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", "dev": true } } }, - "pathval": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", - "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", - "dev": true - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true - }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "requires": { - "find-up": "^4.0.0" - }, - "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - } + "wrappy": "1" } }, - "prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true - }, - "process-on-spawn": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz", - "integrity": "sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==", + "onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", "dev": true, "requires": { - "fromentries": "^1.2.0" + "mimic-fn": "^4.0.0" } }, - "punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", - "dev": true - }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==" - }, - "queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "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=", "dev": true }, - "ramda": { - "version": "0.28.0", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.28.0.tgz", - "integrity": "sha512-9QnLuG/kPVgWvMQ4aODhsBUFKOUmnbUnsSXACv+NCQZcHbeb+v8Lodp8OVxtRULN1/xOyYLLaL6npE6dMq5QTA==" - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "requires": { - "picomatch": "^2.2.1" - } - }, - "release-zalgo": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz", - "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=", - "dev": true, - "requires": { - "es6-error": "^4.0.1" - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "pathe": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", + "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", "dev": true }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "pathval": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", "dev": true }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "picocolors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", + "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==", "dev": true }, - "rewire": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/rewire/-/rewire-7.0.0.tgz", - "integrity": "sha512-DyyNyzwMtGYgu0Zl/ya0PR/oaunM+VuCuBxCuhYJHHaV0V+YvYa3bBGxb5OZ71vndgmp1pYY8F4YOwQo1siRGw==", + "pkg-types": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.1.1.tgz", + "integrity": "sha512-ko14TjmDuQJ14zsotODv7dBlwxKhUKQEhuhmbqo1uCi9BB0Z2alo/wAXg6q1dTR5TyuqYyWhjtfe/Tsh+X28jQ==", "dev": true, "requires": { - "eslint": "^8.47.0" + "confbox": "^0.1.7", + "mlly": "^1.7.0", + "pathe": "^1.1.2" } }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "postcss": { + "version": "8.4.47", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", + "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", "dev": true, "requires": { - "glob": "^7.1.3" + "nanoid": "^3.3.7", + "picocolors": "^1.1.0", + "source-map-js": "^1.2.1" } }, - "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==", + "pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, "requires": { - "queue-microtask": "^1.2.2" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + } } }, - "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==", - "dev": true - }, - "sax": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz", - "integrity": "sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA==" - }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - }, - "serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", - "dev": true, - "requires": { - "randombytes": "^2.1.0" + "react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true + }, + "rollup": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.22.4.tgz", + "integrity": "sha512-vD8HJ5raRcWOyymsR6Z3o6+RzfEPCnVLMFJ6vRslO1jt4LO6dUo5Qnpg7y4RkZFM2DMe3WUirkI5c16onjrc6A==", + "dev": true, + "requires": { + "@rollup/rollup-android-arm-eabi": "4.22.4", + "@rollup/rollup-android-arm64": "4.22.4", + "@rollup/rollup-darwin-arm64": "4.22.4", + "@rollup/rollup-darwin-x64": "4.22.4", + "@rollup/rollup-linux-arm-gnueabihf": "4.22.4", + "@rollup/rollup-linux-arm-musleabihf": "4.22.4", + "@rollup/rollup-linux-arm64-gnu": "4.22.4", + "@rollup/rollup-linux-arm64-musl": "4.22.4", + "@rollup/rollup-linux-powerpc64le-gnu": "4.22.4", + "@rollup/rollup-linux-riscv64-gnu": "4.22.4", + "@rollup/rollup-linux-s390x-gnu": "4.22.4", + "@rollup/rollup-linux-x64-gnu": "4.22.4", + "@rollup/rollup-linux-x64-musl": "4.22.4", + "@rollup/rollup-win32-arm64-msvc": "4.22.4", + "@rollup/rollup-win32-ia32-msvc": "4.22.4", + "@rollup/rollup-win32-x64-msvc": "4.22.4", + "@types/estree": "1.0.5", + "fsevents": "~2.3.2" } }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true - }, "shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -6286,110 +5787,58 @@ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true }, - "signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", + "siginfo": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", + "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", "dev": true }, - "sinon": { - "version": "17.0.0", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-17.0.0.tgz", - "integrity": "sha512-p4lJiYKBoOEVUxxVIC9H1MM2znG1/c8gud++I2BauJA5hsz7hHsst35eurNWXTusBsIq66FzOQbZ/uMdpvbPIQ==", - "dev": true, - "requires": { - "@sinonjs/commons": "^3.0.0", - "@sinonjs/fake-timers": "^11.2.2", - "@sinonjs/samsam": "^8.0.0", - "diff": "^5.1.0", - "nise": "^5.1.5", - "supports-color": "^7.2.0" - }, - "dependencies": { - "diff": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", - "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==", - "dev": 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==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", "dev": true }, - "spawn-wrap": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz", - "integrity": "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==", - "dev": true, - "requires": { - "foreground-child": "^2.0.0", - "is-windows": "^1.0.2", - "make-dir": "^3.0.0", - "rimraf": "^3.0.0", - "signal-exit": "^3.0.2", - "which": "^2.0.1" - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "stackback": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", + "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", "dev": true }, - "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==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "std-env": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz", + "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==", "dev": true }, - "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", "dev": true }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "strip-literal": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-2.1.0.tgz", + "integrity": "sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==", "dev": true, "requires": { - "has-flag": "^4.0.0" + "js-tokens": "^9.0.0" + }, + "dependencies": { + "js-tokens": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.0.tgz", + "integrity": "sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==", + "dev": true + } } }, + "strnum": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", + "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" + }, "test-exclude": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", @@ -6401,10 +5850,22 @@ "minimatch": "^3.0.4" } }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "tinybench": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.8.0.tgz", + "integrity": "sha512-1/eK7zUnIklz4JUUlL+658n58XO2hHLQfSk1Zf2LKieUjxidN16eKFEoDEfjHc3ohofSSqK3X5yO6VGb6iW8Lw==", + "dev": true + }, + "tinypool": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.8.4.tgz", + "integrity": "sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ==", + "dev": true + }, + "tinyspy": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-2.2.1.tgz", + "integrity": "sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==", "dev": true }, "to-fast-properties": { @@ -6413,23 +5874,10 @@ "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", "dev": true }, - "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==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - }, - "type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1" - } + "tslib": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==" }, "type-detect": { "version": "4.0.8", @@ -6437,63 +5885,65 @@ "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", "dev": true }, - "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "ufo": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.5.3.tgz", + "integrity": "sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==", "dev": true }, - "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==", + "vite": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.6.tgz", + "integrity": "sha512-IeL5f8OO5nylsgzd9tq4qD2QqI0k2CQLGrWD0rCN0EQJZpBK5vJAx0I+GDkMOXxQX/OfFHMuLIx6ddAxGX/k+Q==", "dev": true, "requires": { - "is-typedarray": "^1.0.0" + "esbuild": "^0.21.3", + "fsevents": "~2.3.3", + "postcss": "^8.4.43", + "rollup": "^4.20.0" } }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "vite-node": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.6.0.tgz", + "integrity": "sha512-de6HJgzC+TFzOu0NTC4RAIsyf/DY/ibWDYQUcuEA84EMHhcefTUGkjFHKKEJhQN4A+6I0u++kr3l36ZF2d7XRw==", "dev": true, "requires": { - "punycode": "^2.1.0" + "cac": "^6.7.14", + "debug": "^4.3.4", + "pathe": "^1.1.1", + "picocolors": "^1.0.0", + "vite": "^5.0.0" } }, - "url": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz", - "integrity": "sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ==", - "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": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==" - } - } - }, - "util": { - "version": "0.12.5", - "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", - "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", + "vitest": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.6.0.tgz", + "integrity": "sha512-H5r/dN06swuFnzNFhq/dnz37bPXnq8xB2xB5JOVk8K09rUtoeNN+LHWkoQ0A/i3hvbUKKcCei9KpbxqHMLhLLA==", + "dev": true, "requires": { - "inherits": "^2.0.3", - "is-arguments": "^1.0.4", - "is-generator-function": "^1.0.7", - "is-typed-array": "^1.1.3", - "which-typed-array": "^1.1.2" + "@vitest/expect": "1.6.0", + "@vitest/runner": "1.6.0", + "@vitest/snapshot": "1.6.0", + "@vitest/spy": "1.6.0", + "@vitest/utils": "1.6.0", + "acorn-walk": "^8.3.2", + "chai": "^4.3.10", + "debug": "^4.3.4", + "execa": "^8.0.1", + "local-pkg": "^0.5.0", + "magic-string": "^0.30.5", + "pathe": "^1.1.1", + "picocolors": "^1.0.0", + "std-env": "^3.5.0", + "strip-literal": "^2.0.0", + "tinybench": "^2.5.1", + "tinypool": "^0.8.3", + "vite": "^5.0.0", + "vite-node": "1.6.0", + "why-is-node-running": "^2.2.2" } }, - "uuid": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.0.0.tgz", - "integrity": "sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw==" - }, "which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -6503,40 +5953,14 @@ "isexe": "^2.0.0" } }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, - "which-typed-array": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", - "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", - "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0", - "is-typed-array": "^1.1.10" - } - }, - "workerpool": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", - "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==", - "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==", + "why-is-node-running": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.2.2.tgz", + "integrity": "sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==", "dev": true, "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "siginfo": "^2.0.0", + "stackback": "0.0.2" } }, "wrappy": { @@ -6544,91 +5968,6 @@ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "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" - } - }, - "xml2js": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.6.2.tgz", - "integrity": "sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA==", - "requires": { - "sax": ">=0.6.0", - "xmlbuilder": "~11.0.0" - } - }, - "xmlbuilder": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", - "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==" - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true - }, - "yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - } - }, - "yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", - "dev": true - }, - "yargs-unparser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", - "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", - "dev": true, - "requires": { - "camelcase": "^6.0.0", - "decamelize": "^4.0.0", - "flat": "^5.0.2", - "is-plain-obj": "^2.1.0" - }, - "dependencies": { - "camelcase": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", - "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", - "dev": true - }, - "decamelize": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", - "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", - "dev": true - } - } - }, - "yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true } } } diff --git a/source/backend/functions/cur-notification/package.json b/source/backend/functions/cur-notification/package.json index f812f640..1f76b1af 100644 --- a/source/backend/functions/cur-notification/package.json +++ b/source/backend/functions/cur-notification/package.json @@ -1,15 +1,15 @@ { "name": "wd-cur-notification", - "version": "2.1.15", + "version": "2.2.0", "description": "", "main": "index.js", + "type": "module", "scripts": { - "test": "mocha test/*.js", + "test": "vitest run --coverage", "clean": "rm -rf dist", "build:zip": "zip -rq --exclude=package-lock.json cur-notification.zip node_modules/ && zip -urj cur-notification.zip src/", "build:dist": "mkdir dist && mv cur-notification.zip dist/", - "build": "npm run clean && npm ci --omit=dev && npm run build:zip && npm run build:dist", - "coverage": "nyc npm test" + "build": "npm run clean && npm ci --omit=dev && npm run build:zip && npm run build:dist" }, "author": { "name": "Amazon Web Services", @@ -17,14 +17,10 @@ }, "license": "Apache-2.0", "dependencies": { - "aws-sdk": "2.1605.0", - "ramda": "0.28.0" + "@aws-sdk/client-s3": "^3.645.0" }, "devDependencies": { - "chai": "^4.3.10", - "mocha": "^10.2.0", - "nyc": "^15.1.0", - "rewire": "^7.0.0", - "sinon": "^17.0.0" + "@vitest/coverage-v8": "^1.6.0", + "vitest": "^1.6.0" } } diff --git a/source/backend/functions/cur-notification/src/cfn-response.js b/source/backend/functions/cur-notification/src/cfn-response.js deleted file mode 100644 index 02a50e8e..00000000 --- a/source/backend/functions/cur-notification/src/cfn-response.js +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 - - exports.SUCCESS = "SUCCESS"; - exports.FAILED = "FAILED"; - - exports.send = function(event, context, responseStatus, responseData, physicalResourceId, noEcho) { - - const responseBody = JSON.stringify({ - Status: responseStatus, - Reason: "See the details in CloudWatch Log Stream: " + context.logStreamName, - PhysicalResourceId: physicalResourceId || context.logStreamName, - StackId: event.StackId, - RequestId: event.RequestId, - LogicalResourceId: event.LogicalResourceId, - NoEcho: noEcho || false, - Data: responseData - }); - - console.log("Response body:\n", responseBody); - - const https = require("https"); - const url = require("url"); - - const parsedUrl = url.parse(event.ResponseURL); - const options = { - hostname: parsedUrl.hostname, - port: 443, - path: parsedUrl.path, - method: "PUT", - headers: { - "content-type": "", - "content-length": responseBody.length - } - }; - - const request = https.request(options, function(response) { - console.log("Status code: " + response.statusCode); - console.log("Status message: " + response.statusMessage); - context.done(); - }); - - request.on("error", function(error) { - console.log("send(..) failed executing https.request(..): " + error); - context.done(); - }); - - request.write(responseBody); - request.end(); - } diff --git a/source/backend/functions/cur-notification/src/index.js b/source/backend/functions/cur-notification/src/index.js deleted file mode 100644 index b9ca796e..00000000 --- a/source/backend/functions/cur-notification/src/index.js +++ /dev/null @@ -1,36 +0,0 @@ -// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 - -const AWS = require('aws-sdk'); -const response = require('./cfn-response'); - -exports.handler = function(event, context, callback) { - const s3 = new AWS.S3(); - const putConfigRequest = function(notificationConfiguration) { - return new Promise(function(resolve, reject) { - s3.putBucketNotificationConfiguration({ - Bucket: event.ResourceProperties.BucketName, - NotificationConfiguration: notificationConfiguration - }, function(err, data) { - if (err) reject({ msg: this.httpResponse.body.toString(), error: err, data: data }); - else resolve(data); - }); - }); - }; - const newNotificationConfig = {}; - if (event.RequestType !== 'Delete') { - newNotificationConfig.LambdaFunctionConfigurations = [{ - Events: [ 's3:ObjectCreated:*' ], - LambdaFunctionArn: event.ResourceProperties.TargetLambdaArn || 'missing arn', - Filter: { Key: { FilterRules: [ { Name: 'prefix', Value: 'aws-perspective' }, { Name: 'suffix', Value: '.snappy.parquet' } ] } } - }]; - } - putConfigRequest(newNotificationConfig).then(function(result) { - response.send(event, context, response.SUCCESS, result); - callback(null, result); - }).catch(function(error) { - response.send(event, context, response.FAILED, error); - console.log(error); - callback(error); - }); -}; diff --git a/source/backend/functions/cur-setup/package-lock.json b/source/backend/functions/cur-setup/package-lock.json index 0d37c4e0..cfbfe7f3 100644 --- a/source/backend/functions/cur-setup/package-lock.json +++ b/source/backend/functions/cur-setup/package-lock.json @@ -1,2991 +1,3066 @@ { "name": "wd-cur-setup", - "version": "2.1.15", + "version": "2.2.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "wd-cur-setup", - "version": "2.1.15", + "version": "2.2.0", "license": "Apache-2.0", "dependencies": { - "aws-sdk": "2.1605.0", + "@aws-sdk/client-glue": "^3.645.0", + "@aws-sdk/client-s3": "^3.645.0", "ramda": "0.28.0" }, "devDependencies": { - "chai": "^4.3.10", - "mocha": "^10.2.0", - "nyc": "^15.1.0", - "rewire": "^7.0.0", - "sinon": "^17.0.0" - } - }, - "node_modules/@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", - "dev": true, - "engines": { - "node": ">=0.10.0" + "@vitest/coverage-v8": "^1.6.0", + "vitest": "^1.6.0" } }, - "node_modules/@babel/code-frame": { - "version": "7.22.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", - "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", "dev": true, "dependencies": { - "@babel/highlight": "^7.22.13", - "chalk": "^2.4.2" + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { - "node": ">=6.9.0" + "node": ">=6.0.0" } }, - "node_modules/@babel/code-frame/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==", - "dev": true, + "node_modules/@aws-crypto/crc32": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-5.2.0.tgz", + "integrity": "sha512-nLbCWqQNgUiwwtFsen1AdzAtvuLRsQS8rYgMuxCrdKf9kOssamGLuPwyTY9wyYblNr9+1XM8v6zoDTPPSIeANg==", "dependencies": { - "color-convert": "^1.9.0" + "@aws-crypto/util": "^5.2.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=4" + "node": ">=16.0.0" } }, - "node_modules/@babel/code-frame/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==", - "dev": true, + "node_modules/@aws-crypto/crc32c": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/crc32c/-/crc32c-5.2.0.tgz", + "integrity": "sha512-+iWb8qaHLYKrNvGRbiYRHSdKRWhto5XlZUEBwDjYNf+ly5SVYG6zEoYIdxvf5R3zyeP16w4PLBn3rH1xc74Rag==", "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" + "@aws-crypto/util": "^5.2.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^2.6.2" } }, - "node_modules/@babel/code-frame/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==", - "dev": true, + "node_modules/@aws-crypto/sha1-browser": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha1-browser/-/sha1-browser-5.2.0.tgz", + "integrity": "sha512-OH6lveCFfcDjX4dbAvCFSYUjJZjDr/3XJ3xHtjn3Oj5b9RjojQo8npoLeA/bNwkOkrSQ0wgrHzXk4tDRxGKJeg==", "dependencies": { - "color-name": "1.1.3" + "@aws-crypto/supports-web-crypto": "^5.2.0", + "@aws-crypto/util": "^5.2.0", + "@aws-sdk/types": "^3.222.0", + "@aws-sdk/util-locate-window": "^3.0.0", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.6.2" } }, - "node_modules/@babel/code-frame/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/@babel/code-frame/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": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, + "node_modules/@aws-crypto/sha1-browser/node_modules/@smithy/is-array-buffer": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz", + "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==", + "dependencies": { + "tslib": "^2.6.2" + }, "engines": { - "node": ">=0.8.0" + "node": ">=14.0.0" } }, - "node_modules/@babel/code-frame/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, + "node_modules/@aws-crypto/sha1-browser/node_modules/@smithy/util-buffer-from": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz", + "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==", + "dependencies": { + "@smithy/is-array-buffer": "^2.2.0", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=4" + "node": ">=14.0.0" } }, - "node_modules/@babel/code-frame/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==", - "dev": true, + "node_modules/@aws-crypto/sha1-browser/node_modules/@smithy/util-utf8": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz", + "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==", "dependencies": { - "has-flag": "^3.0.0" + "@smithy/util-buffer-from": "^2.2.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=4" + "node": ">=14.0.0" } }, - "node_modules/@babel/compat-data": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.15.0.tgz", - "integrity": "sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA==", - "dev": true, - "engines": { - "node": ">=6.9.0" + "node_modules/@aws-crypto/sha256-browser": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-5.2.0.tgz", + "integrity": "sha512-AXfN/lGotSQwu6HNcEsIASo7kWXZ5HYWvfOmSNKDsEqC4OashTp8alTmaz+F7TC2L083SFv5RdB+qU3Vs1kZqw==", + "dependencies": { + "@aws-crypto/sha256-js": "^5.2.0", + "@aws-crypto/supports-web-crypto": "^5.2.0", + "@aws-crypto/util": "^5.2.0", + "@aws-sdk/types": "^3.222.0", + "@aws-sdk/util-locate-window": "^3.0.0", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.6.2" } }, - "node_modules/@babel/core": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.0.tgz", - "integrity": "sha512-tXtmTminrze5HEUPn/a0JtOzzfp0nk+UEXQ/tqIJo3WDGypl/2OFQEMll/zSFU8f/lfmfLXvTaORHF3cfXIQMw==", - "dev": true, + "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/is-array-buffer": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz", + "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==", "dependencies": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.15.0", - "@babel/helper-compilation-targets": "^7.15.0", - "@babel/helper-module-transforms": "^7.15.0", - "@babel/helpers": "^7.14.8", - "@babel/parser": "^7.15.0", - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.15.0", - "@babel/types": "^7.15.0", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.1.2", - "semver": "^6.3.0", - "source-map": "^0.5.0" + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" + "node": ">=14.0.0" } }, - "node_modules/@babel/generator": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", - "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", - "dev": true, + "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/util-buffer-from": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz", + "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==", "dependencies": { - "@babel/types": "^7.23.0", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" + "@smithy/is-array-buffer": "^2.2.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.9.0" + "node": ">=14.0.0" } }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.0.tgz", - "integrity": "sha512-h+/9t0ncd4jfZ8wsdAsoIxSa61qhBYlycXiHWqJaQBCXAhDCMbPRSMTGnZIkkmt1u4ag+UQmuqcILwqKzZ4N2A==", - "dev": true, + "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/util-utf8": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz", + "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==", "dependencies": { - "@babel/compat-data": "^7.15.0", - "@babel/helper-validator-option": "^7.14.5", - "browserslist": "^4.16.6", - "semver": "^6.3.0" + "@smithy/util-buffer-from": "^2.2.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "node": ">=14.0.0" } }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", - "dev": true, + "node_modules/@aws-crypto/sha256-js": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-5.2.0.tgz", + "integrity": "sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA==", + "dependencies": { + "@aws-crypto/util": "^5.2.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=6.9.0" + "node": ">=16.0.0" } }, - "node_modules/@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", - "dev": true, + "node_modules/@aws-crypto/supports-web-crypto": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-5.2.0.tgz", + "integrity": "sha512-iAvUotm021kM33eCdNfwIN//F77/IADDSs58i+MDaOqFrVjZo9bAal0NK7HurRuWLLpF1iLX7gbWrjHjeo+YFg==", "dependencies": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" - }, - "engines": { - "node": ">=6.9.0" + "tslib": "^2.6.2" } }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "dev": true, + "node_modules/@aws-crypto/util": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-5.2.0.tgz", + "integrity": "sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==", "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" + "@aws-sdk/types": "^3.222.0", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.6.2" } }, - "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.0.tgz", - "integrity": "sha512-Jq8H8U2kYiafuj2xMTPQwkTBnEEdGKpT35lJEQsRRjnG0LW3neucsaMWLgKcwu3OHKNeYugfw+Z20BXBSEs2Lg==", - "dev": true, + "node_modules/@aws-crypto/util/node_modules/@smithy/is-array-buffer": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz", + "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==", "dependencies": { - "@babel/types": "^7.15.0" + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.9.0" + "node": ">=14.0.0" } }, - "node_modules/@babel/helper-module-imports": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz", - "integrity": "sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ==", - "dev": true, + "node_modules/@aws-crypto/util/node_modules/@smithy/util-buffer-from": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz", + "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==", "dependencies": { - "@babel/types": "^7.14.5" + "@smithy/is-array-buffer": "^2.2.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.9.0" + "node": ">=14.0.0" } }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.0.tgz", - "integrity": "sha512-RkGiW5Rer7fpXv9m1B3iHIFDZdItnO2/BLfWVW/9q7+KqQSDY5kUfQEbzdXM1MVhJGcugKV7kRrNVzNxmk7NBg==", - "dev": true, + "node_modules/@aws-crypto/util/node_modules/@smithy/util-utf8": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz", + "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==", + "dependencies": { + "@smithy/util-buffer-from": "^2.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/client-glue": { + "version": "3.645.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-glue/-/client-glue-3.645.0.tgz", + "integrity": "sha512-Y+LsIX50lnS4uAm/gtUeBiPkp9cst8q3NHiamQ4lkwic0EgRsr8fwLbjaxQg0PCi7tI6J3wCh6za59dg9pRTvg==", + "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/client-sso-oidc": "3.645.0", + "@aws-sdk/client-sts": "3.645.0", + "@aws-sdk/core": "3.635.0", + "@aws-sdk/credential-provider-node": "3.645.0", + "@aws-sdk/middleware-host-header": "3.620.0", + "@aws-sdk/middleware-logger": "3.609.0", + "@aws-sdk/middleware-recursion-detection": "3.620.0", + "@aws-sdk/middleware-user-agent": "3.645.0", + "@aws-sdk/region-config-resolver": "3.614.0", + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.645.0", + "@aws-sdk/util-user-agent-browser": "3.609.0", + "@aws-sdk/util-user-agent-node": "3.614.0", + "@smithy/config-resolver": "^3.0.5", + "@smithy/core": "^2.4.0", + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/hash-node": "^3.0.3", + "@smithy/invalid-dependency": "^3.0.3", + "@smithy/middleware-content-length": "^3.0.5", + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-retry": "^3.0.15", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.2.0", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.15", + "@smithy/util-defaults-mode-node": "^3.0.15", + "@smithy/util-endpoints": "^2.0.5", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/client-s3": { + "version": "3.645.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.645.0.tgz", + "integrity": "sha512-RjT/mfNv4yr1uv/+aEXgSIxC5EB+yHPSU7hH0KZOZrvZEFASLl0i4FeoHzbMEOH5KdKGAi0uu3zRP3D1y45sKg==", + "dependencies": { + "@aws-crypto/sha1-browser": "5.2.0", + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/client-sso-oidc": "3.645.0", + "@aws-sdk/client-sts": "3.645.0", + "@aws-sdk/core": "3.635.0", + "@aws-sdk/credential-provider-node": "3.645.0", + "@aws-sdk/middleware-bucket-endpoint": "3.620.0", + "@aws-sdk/middleware-expect-continue": "3.620.0", + "@aws-sdk/middleware-flexible-checksums": "3.620.0", + "@aws-sdk/middleware-host-header": "3.620.0", + "@aws-sdk/middleware-location-constraint": "3.609.0", + "@aws-sdk/middleware-logger": "3.609.0", + "@aws-sdk/middleware-recursion-detection": "3.620.0", + "@aws-sdk/middleware-sdk-s3": "3.635.0", + "@aws-sdk/middleware-ssec": "3.609.0", + "@aws-sdk/middleware-user-agent": "3.645.0", + "@aws-sdk/region-config-resolver": "3.614.0", + "@aws-sdk/signature-v4-multi-region": "3.635.0", + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.645.0", + "@aws-sdk/util-user-agent-browser": "3.609.0", + "@aws-sdk/util-user-agent-node": "3.614.0", + "@aws-sdk/xml-builder": "3.609.0", + "@smithy/config-resolver": "^3.0.5", + "@smithy/core": "^2.4.0", + "@smithy/eventstream-serde-browser": "^3.0.6", + "@smithy/eventstream-serde-config-resolver": "^3.0.3", + "@smithy/eventstream-serde-node": "^3.0.5", + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/hash-blob-browser": "^3.1.2", + "@smithy/hash-node": "^3.0.3", + "@smithy/hash-stream-node": "^3.1.2", + "@smithy/invalid-dependency": "^3.0.3", + "@smithy/md5-js": "^3.0.3", + "@smithy/middleware-content-length": "^3.0.5", + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-retry": "^3.0.15", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.2.0", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.15", + "@smithy/util-defaults-mode-node": "^3.0.15", + "@smithy/util-endpoints": "^2.0.5", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "@smithy/util-stream": "^3.1.3", + "@smithy/util-utf8": "^3.0.0", + "@smithy/util-waiter": "^3.1.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/client-sso": { + "version": "3.645.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.645.0.tgz", + "integrity": "sha512-2rc8TjnsNddOeKQ/pfNN7deNvGLXAeKeYtHtGDAiM2qfTKxd2sNcAsZ+JCDLyshuD4xLM5fpUyR0X8As9EAouQ==", + "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "3.635.0", + "@aws-sdk/middleware-host-header": "3.620.0", + "@aws-sdk/middleware-logger": "3.609.0", + "@aws-sdk/middleware-recursion-detection": "3.620.0", + "@aws-sdk/middleware-user-agent": "3.645.0", + "@aws-sdk/region-config-resolver": "3.614.0", + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.645.0", + "@aws-sdk/util-user-agent-browser": "3.609.0", + "@aws-sdk/util-user-agent-node": "3.614.0", + "@smithy/config-resolver": "^3.0.5", + "@smithy/core": "^2.4.0", + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/hash-node": "^3.0.3", + "@smithy/invalid-dependency": "^3.0.3", + "@smithy/middleware-content-length": "^3.0.5", + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-retry": "^3.0.15", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.2.0", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.15", + "@smithy/util-defaults-mode-node": "^3.0.15", + "@smithy/util-endpoints": "^2.0.5", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/client-sso-oidc": { + "version": "3.645.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.645.0.tgz", + "integrity": "sha512-X9ULtdk3cO+1ysurEkJ1MSnu6U00qodXx+IVual+1jXX4RYY1WmQmfo7uDKf6FFkz7wW1DAqU+GJIBNQr0YH8A==", + "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "3.635.0", + "@aws-sdk/credential-provider-node": "3.645.0", + "@aws-sdk/middleware-host-header": "3.620.0", + "@aws-sdk/middleware-logger": "3.609.0", + "@aws-sdk/middleware-recursion-detection": "3.620.0", + "@aws-sdk/middleware-user-agent": "3.645.0", + "@aws-sdk/region-config-resolver": "3.614.0", + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.645.0", + "@aws-sdk/util-user-agent-browser": "3.609.0", + "@aws-sdk/util-user-agent-node": "3.614.0", + "@smithy/config-resolver": "^3.0.5", + "@smithy/core": "^2.4.0", + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/hash-node": "^3.0.3", + "@smithy/invalid-dependency": "^3.0.3", + "@smithy/middleware-content-length": "^3.0.5", + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-retry": "^3.0.15", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.2.0", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.15", + "@smithy/util-defaults-mode-node": "^3.0.15", + "@smithy/util-endpoints": "^2.0.5", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "@aws-sdk/client-sts": "^3.645.0" + } + }, + "node_modules/@aws-sdk/client-sts": { + "version": "3.645.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.645.0.tgz", + "integrity": "sha512-6azXYtvtnAsPf2ShN9vKynIYVcJOpo6IoVmoMAVgNaBJyllP+s/RORzranYZzckqfmrudSxtct4rVapjLWuAMg==", + "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/client-sso-oidc": "3.645.0", + "@aws-sdk/core": "3.635.0", + "@aws-sdk/credential-provider-node": "3.645.0", + "@aws-sdk/middleware-host-header": "3.620.0", + "@aws-sdk/middleware-logger": "3.609.0", + "@aws-sdk/middleware-recursion-detection": "3.620.0", + "@aws-sdk/middleware-user-agent": "3.645.0", + "@aws-sdk/region-config-resolver": "3.614.0", + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.645.0", + "@aws-sdk/util-user-agent-browser": "3.609.0", + "@aws-sdk/util-user-agent-node": "3.614.0", + "@smithy/config-resolver": "^3.0.5", + "@smithy/core": "^2.4.0", + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/hash-node": "^3.0.3", + "@smithy/invalid-dependency": "^3.0.3", + "@smithy/middleware-content-length": "^3.0.5", + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-retry": "^3.0.15", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.2.0", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.15", + "@smithy/util-defaults-mode-node": "^3.0.15", + "@smithy/util-endpoints": "^2.0.5", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/core": { + "version": "3.635.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.635.0.tgz", + "integrity": "sha512-i1x/E/sgA+liUE1XJ7rj1dhyXpAKO1UKFUcTTHXok2ARjWTvszHnSXMOsB77aPbmn0fUp1JTx2kHUAZ1LVt5Bg==", + "dependencies": { + "@smithy/core": "^2.4.0", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/property-provider": "^3.1.3", + "@smithy/protocol-http": "^4.1.0", + "@smithy/signature-v4": "^4.1.0", + "@smithy/smithy-client": "^3.2.0", + "@smithy/types": "^3.3.0", + "@smithy/util-middleware": "^3.0.3", + "fast-xml-parser": "4.4.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-env": { + "version": "3.620.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.620.1.tgz", + "integrity": "sha512-ExuILJ2qLW5ZO+rgkNRj0xiAipKT16Rk77buvPP8csR7kkCflT/gXTyzRe/uzIiETTxM7tr8xuO9MP/DQXqkfg==", + "dependencies": { + "@aws-sdk/types": "3.609.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-http": { + "version": "3.635.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.635.0.tgz", + "integrity": "sha512-iJyRgEjOCQlBMXqtwPLIKYc7Bsc6nqjrZybdMDenPDa+kmLg7xh8LxHsu9088e+2/wtLicE34FsJJIfzu3L82g==", + "dependencies": { + "@aws-sdk/types": "3.609.0", + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/property-provider": "^3.1.3", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.2.0", + "@smithy/types": "^3.3.0", + "@smithy/util-stream": "^3.1.3", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-ini": { + "version": "3.645.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.645.0.tgz", + "integrity": "sha512-LlZW0qwUwNlTaAIDCNpLbPsyXvS42pRIwF92fgtCQedmdnpN3XRUC6hcwSYI7Xru3GGKp3RnceOvsdOaRJORsw==", + "dependencies": { + "@aws-sdk/credential-provider-env": "3.620.1", + "@aws-sdk/credential-provider-http": "3.635.0", + "@aws-sdk/credential-provider-process": "3.620.1", + "@aws-sdk/credential-provider-sso": "3.645.0", + "@aws-sdk/credential-provider-web-identity": "3.621.0", + "@aws-sdk/types": "3.609.0", + "@smithy/credential-provider-imds": "^3.2.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "@aws-sdk/client-sts": "^3.645.0" + } + }, + "node_modules/@aws-sdk/credential-provider-node": { + "version": "3.645.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.645.0.tgz", + "integrity": "sha512-eGFFuNvLeXjCJf5OCIuSEflxUowmK+bCS+lK4M8ofsYOEGAivdx7C0UPxNjHpvM8wKd8vpMl5phTeS9BWX5jMQ==", "dependencies": { - "@babel/helper-module-imports": "^7.14.5", - "@babel/helper-replace-supers": "^7.15.0", - "@babel/helper-simple-access": "^7.14.8", - "@babel/helper-split-export-declaration": "^7.14.5", - "@babel/helper-validator-identifier": "^7.14.9", - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.15.0", - "@babel/types": "^7.15.0" + "@aws-sdk/credential-provider-env": "3.620.1", + "@aws-sdk/credential-provider-http": "3.635.0", + "@aws-sdk/credential-provider-ini": "3.645.0", + "@aws-sdk/credential-provider-process": "3.620.1", + "@aws-sdk/credential-provider-sso": "3.645.0", + "@aws-sdk/credential-provider-web-identity": "3.621.0", + "@aws-sdk/types": "3.609.0", + "@smithy/credential-provider-imds": "^3.2.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.9.0" + "node": ">=16.0.0" } }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz", - "integrity": "sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA==", - "dev": true, + "node_modules/@aws-sdk/credential-provider-process": { + "version": "3.620.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.620.1.tgz", + "integrity": "sha512-hWqFMidqLAkaV9G460+1at6qa9vySbjQKKc04p59OT7lZ5cO5VH5S4aI05e+m4j364MBROjjk2ugNvfNf/8ILg==", "dependencies": { - "@babel/types": "^7.14.5" + "@aws-sdk/types": "3.609.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.9.0" + "node": ">=16.0.0" } }, - "node_modules/@babel/helper-replace-supers": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.0.tgz", - "integrity": "sha512-6O+eWrhx+HEra/uJnifCwhwMd6Bp5+ZfZeJwbqUTuqkhIT6YcRhiZCOOFChRypOIe0cV46kFrRBlm+t5vHCEaA==", - "dev": true, + "node_modules/@aws-sdk/credential-provider-sso": { + "version": "3.645.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.645.0.tgz", + "integrity": "sha512-d6XuChAl5NCsCrUexc6AFb4efPmb9+66iwPylKG+iMTMYgO1ackfy1Q2/f35jdn0jolkPkzKsVyfzsEVoID6ew==", "dependencies": { - "@babel/helper-member-expression-to-functions": "^7.15.0", - "@babel/helper-optimise-call-expression": "^7.14.5", - "@babel/traverse": "^7.15.0", - "@babel/types": "^7.15.0" + "@aws-sdk/client-sso": "3.645.0", + "@aws-sdk/token-providers": "3.614.0", + "@aws-sdk/types": "3.609.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.9.0" + "node": ">=16.0.0" } }, - "node_modules/@babel/helper-simple-access": { - "version": "7.14.8", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.14.8.tgz", - "integrity": "sha512-TrFN4RHh9gnWEU+s7JloIho2T76GPwRHhdzOWLqTrMnlas8T9O7ec+oEDNsRXndOmru9ymH9DFrEOxpzPoSbdg==", - "dev": true, + "node_modules/@aws-sdk/credential-provider-web-identity": { + "version": "3.621.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.621.0.tgz", + "integrity": "sha512-w7ASSyfNvcx7+bYGep3VBgC3K6vEdLmlpjT7nSIHxxQf+WSdvy+HynwJosrpZax0sK5q0D1Jpn/5q+r5lwwW6w==", "dependencies": { - "@babel/types": "^7.14.8" + "@aws-sdk/types": "3.609.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.9.0" + "node": ">=16.0.0" + }, + "peerDependencies": { + "@aws-sdk/client-sts": "^3.621.0" } }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", - "dev": true, + "node_modules/@aws-sdk/middleware-bucket-endpoint": { + "version": "3.620.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.620.0.tgz", + "integrity": "sha512-eGLL0W6L3HDb3OACyetZYOWpHJ+gLo0TehQKeQyy2G8vTYXqNTeqYhuI6up9HVjBzU9eQiULVQETmgQs7TFaRg==", "dependencies": { - "@babel/types": "^7.22.5" + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-arn-parser": "3.568.0", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "@smithy/util-config-provider": "^3.0.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.9.0" + "node": ">=16.0.0" } }, - "node_modules/@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", - "dev": true, + "node_modules/@aws-sdk/middleware-expect-continue": { + "version": "3.620.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.620.0.tgz", + "integrity": "sha512-QXeRFMLfyQ31nAHLbiTLtk0oHzG9QLMaof5jIfqcUwnOkO8YnQdeqzakrg1Alpy/VQ7aqzIi8qypkBe2KXZz0A==", + "dependencies": { + "@aws-sdk/types": "3.609.0", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=6.9.0" + "node": ">=16.0.0" } }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", - "dev": true, + "node_modules/@aws-sdk/middleware-flexible-checksums": { + "version": "3.620.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.620.0.tgz", + "integrity": "sha512-ftz+NW7qka2sVuwnnO1IzBku5ccP+s5qZGeRTPgrKB7OzRW85gthvIo1vQR2w+OwHFk7WJbbhhWwbCbktnP4UA==", + "dependencies": { + "@aws-crypto/crc32": "5.2.0", + "@aws-crypto/crc32c": "5.2.0", + "@aws-sdk/types": "3.609.0", + "@smithy/is-array-buffer": "^3.0.0", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=6.9.0" + "node": ">=16.0.0" } }, - "node_modules/@babel/helper-validator-option": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz", - "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==", - "dev": true, + "node_modules/@aws-sdk/middleware-host-header": { + "version": "3.620.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.620.0.tgz", + "integrity": "sha512-VMtPEZwqYrII/oUkffYsNWY9PZ9xpNJpMgmyU0rlDQ25O1c0Hk3fJmZRe6pEkAJ0omD7kLrqGl1DUjQVxpd/Rg==", + "dependencies": { + "@aws-sdk/types": "3.609.0", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=6.9.0" + "node": ">=16.0.0" } }, - "node_modules/@babel/helpers": { - "version": "7.14.8", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.14.8.tgz", - "integrity": "sha512-ZRDmI56pnV+p1dH6d+UN6GINGz7Krps3+270qqI9UJ4wxYThfAIcI5i7j5vXC4FJ3Wap+S9qcebxeYiqn87DZw==", - "dev": true, + "node_modules/@aws-sdk/middleware-location-constraint": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.609.0.tgz", + "integrity": "sha512-xzsdoTkszGVqGVPjUmgoP7TORiByLueMHieI1fhQL888WPdqctwAx3ES6d/bA9Q/i8jnc6hs+Fjhy8UvBTkE9A==", "dependencies": { - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.14.8", - "@babel/types": "^7.14.8" + "@aws-sdk/types": "3.609.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.9.0" + "node": ">=16.0.0" } }, - "node_modules/@babel/highlight": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", - "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", - "dev": true, + "node_modules/@aws-sdk/middleware-logger": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.609.0.tgz", + "integrity": "sha512-S62U2dy4jMDhDFDK5gZ4VxFdWzCtLzwbYyFZx2uvPYTECkepLUfzLic2BHg2Qvtu4QjX+oGE3P/7fwaGIsGNuQ==", "dependencies": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" + "@aws-sdk/types": "3.609.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.9.0" + "node": ">=16.0.0" } }, - "node_modules/@babel/highlight/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==", - "dev": true, + "node_modules/@aws-sdk/middleware-recursion-detection": { + "version": "3.620.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.620.0.tgz", + "integrity": "sha512-nh91S7aGK3e/o1ck64sA/CyoFw+gAYj2BDOnoNa6ouyCrVJED96ZXWbhye/fz9SgmNUZR2g7GdVpiLpMKZoI5w==", "dependencies": { - "color-convert": "^1.9.0" + "@aws-sdk/types": "3.609.0", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=4" + "node": ">=16.0.0" } }, - "node_modules/@babel/highlight/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==", - "dev": true, + "node_modules/@aws-sdk/middleware-sdk-s3": { + "version": "3.635.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.635.0.tgz", + "integrity": "sha512-RLdYJPEV4JL/7NBoFUs7VlP90X++5FlJdxHz0DzCjmiD3qCviKy+Cym3qg1gBgHwucs5XisuClxDrGokhAdTQw==", "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "@aws-sdk/core": "3.635.0", + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-arn-parser": "3.568.0", + "@smithy/core": "^2.4.0", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/signature-v4": "^4.1.0", + "@smithy/smithy-client": "^3.2.0", + "@smithy/types": "^3.3.0", + "@smithy/util-config-provider": "^3.0.0", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-stream": "^3.1.3", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=4" + "node": ">=16.0.0" } }, - "node_modules/@babel/highlight/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==", - "dev": true, + "node_modules/@aws-sdk/middleware-ssec": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.609.0.tgz", + "integrity": "sha512-GZSD1s7+JswWOTamVap79QiDaIV7byJFssBW68GYjyRS5EBjNfwA/8s+6uE6g39R3ojyTbYOmvcANoZEhSULXg==", "dependencies": { - "color-name": "1.1.3" + "@aws-sdk/types": "3.609.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" } }, - "node_modules/@babel/highlight/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "node_modules/@babel/highlight/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=", - "dev": true, + "node_modules/@aws-sdk/middleware-user-agent": { + "version": "3.645.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.645.0.tgz", + "integrity": "sha512-NpTAtqWK+49lRuxfz7st9for80r4NriCMK0RfdJSoPFVntjsSQiQ7+2nW2XL05uVY633e9DvCAw8YatX3zd1mw==", + "dependencies": { + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.645.0", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=0.8.0" + "node": ">=16.0.0" } }, - "node_modules/@babel/highlight/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true, + "node_modules/@aws-sdk/region-config-resolver": { + "version": "3.614.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.614.0.tgz", + "integrity": "sha512-vDCeMXvic/LU0KFIUjpC3RiSTIkkvESsEfbVHiHH0YINfl8HnEqR5rj+L8+phsCeVg2+LmYwYxd5NRz4PHxt5g==", + "dependencies": { + "@aws-sdk/types": "3.609.0", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/types": "^3.3.0", + "@smithy/util-config-provider": "^3.0.0", + "@smithy/util-middleware": "^3.0.3", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=4" + "node": ">=16.0.0" } }, - "node_modules/@babel/highlight/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==", - "dev": true, + "node_modules/@aws-sdk/signature-v4-multi-region": { + "version": "3.635.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.635.0.tgz", + "integrity": "sha512-J6QY4/invOkpogCHjSaDON1hF03viPpOnsrzVuCvJMmclS/iG62R4EY0wq1alYll0YmSdmKlpJwHMWwGtqK63Q==", "dependencies": { - "has-flag": "^3.0.0" + "@aws-sdk/middleware-sdk-s3": "3.635.0", + "@aws-sdk/types": "3.609.0", + "@smithy/protocol-http": "^4.1.0", + "@smithy/signature-v4": "^4.1.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=4" + "node": ">=16.0.0" } }, - "node_modules/@babel/parser": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", - "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", - "dev": true, - "bin": { - "parser": "bin/babel-parser.js" + "node_modules/@aws-sdk/token-providers": { + "version": "3.614.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.614.0.tgz", + "integrity": "sha512-okItqyY6L9IHdxqs+Z116y5/nda7rHxLvROxtAJdLavWTYDydxrZstImNgGWTeVdmc0xX2gJCI77UYUTQWnhRw==", + "dependencies": { + "@aws-sdk/types": "3.609.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.0.0" + "node": ">=16.0.0" + }, + "peerDependencies": { + "@aws-sdk/client-sso-oidc": "^3.614.0" } }, - "node_modules/@babel/template": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", - "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", - "dev": true, + "node_modules/@aws-sdk/types": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", + "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/parser": "^7.22.15", - "@babel/types": "^7.22.15" + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.9.0" + "node": ">=16.0.0" } }, - "node_modules/@babel/traverse": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", - "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", - "dev": true, + "node_modules/@aws-sdk/util-arn-parser": { + "version": "3.568.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.568.0.tgz", + "integrity": "sha512-XUKJWWo+KOB7fbnPP0+g/o5Ulku/X53t7i/h+sPHr5xxYTJJ9CYnbToo95mzxe7xWvkLrsNtJ8L+MnNn9INs2w==", "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.23.0", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.0", - "@babel/types": "^7.23.0", - "debug": "^4.1.0", - "globals": "^11.1.0" + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.9.0" + "node": ">=16.0.0" } }, - "node_modules/@babel/types": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", - "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", - "dev": true, + "node_modules/@aws-sdk/util-endpoints": { + "version": "3.645.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.645.0.tgz", + "integrity": "sha512-Oe+xaU4ic4PB1k3pb5VTC1/MWES13IlgpaQw01bVHGfwP6Yv6zZOxizRzca2Y3E+AyR+nKD7vXtHRY+w3bi4bg==", "dependencies": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.20", - "to-fast-properties": "^2.0.0" + "@aws-sdk/types": "3.609.0", + "@smithy/types": "^3.3.0", + "@smithy/util-endpoints": "^2.0.5", + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.9.0" + "node": ">=16.0.0" } }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", - "dev": true, + "node_modules/@aws-sdk/util-locate-window": { + "version": "3.568.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.568.0.tgz", + "integrity": "sha512-3nh4TINkXYr+H41QaPelCceEB2FXP3fxp93YZXB/kqJvX0U9j0N0Uk45gvsjmEPzG8XxkPEeLIfT2I1M7A6Lig==", "dependencies": { - "eslint-visitor-keys": "^3.3.0" + "tslib": "^2.6.2" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + "node": ">=16.0.0" } }, - "node_modules/@eslint-community/regexpp": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.9.1.tgz", - "integrity": "sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==", - "dev": true, - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + "node_modules/@aws-sdk/util-user-agent-browser": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.609.0.tgz", + "integrity": "sha512-fojPU+mNahzQ0YHYBsx0ZIhmMA96H+ZIZ665ObU9tl+SGdbLneVZVikGve+NmHTQwHzwkFsZYYnVKAkreJLAtA==", + "dependencies": { + "@aws-sdk/types": "3.609.0", + "@smithy/types": "^3.3.0", + "bowser": "^2.11.0", + "tslib": "^2.6.2" } }, - "node_modules/@eslint/eslintrc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", - "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", - "dev": true, + "node_modules/@aws-sdk/util-user-agent-node": { + "version": "3.614.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.614.0.tgz", + "integrity": "sha512-15ElZT88peoHnq5TEoEtZwoXTXRxNrk60TZNdpl/TUBJ5oNJ9Dqb5Z4ryb8ofN6nm9aFf59GVAerFDz8iUoHBA==", "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" + "@aws-sdk/types": "3.609.0", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=16.0.0" }, - "funding": { - "url": "https://opencollective.com/eslint" + "peerDependencies": { + "aws-crt": ">=1.0.0" + }, + "peerDependenciesMeta": { + "aws-crt": { + "optional": true + } } }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.23.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", - "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", - "dev": true, + "node_modules/@aws-sdk/xml-builder": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.609.0.tgz", + "integrity": "sha512-l9XxNcA4HX98rwCC2/KoiWcmEiRfZe4G+mYwDbCFT87JIMj6GBhLDkAzr/W8KAaA2IDr8Vc6J8fZPgVulxxfMA==", "dependencies": { - "type-fest": "^0.20.2" + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=16.0.0" } }, - "node_modules/@eslint/eslintrc/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==", + "node_modules/@babel/helper-string-parser": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.7.tgz", + "integrity": "sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==", "dev": true, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=6.9.0" } }, - "node_modules/@eslint/js": { - "version": "8.51.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.51.0.tgz", - "integrity": "sha512-HxjQ8Qn+4SI3/AFv6sOrDB+g6PpUTDwSJiQqOrnneEk8L71161srI9gjzzZvYVbzHiVg/BvcH95+cK/zfIt4pg==", + "node_modules/@babel/helper-validator-identifier": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", "dev": true, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=6.9.0" } }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.11.13", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", - "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==", + "node_modules/@babel/parser": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.7.tgz", + "integrity": "sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==", "dev": true, - "dependencies": { - "@humanwhocodes/object-schema": "^2.0.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" + "bin": { + "parser": "bin/babel-parser.js" }, "engines": { - "node": ">=10.10.0" + "node": ">=6.0.0" } }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "node_modules/@babel/types": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.7.tgz", + "integrity": "sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==", "dev": true, - "engines": { - "node": ">=12.22" + "dependencies": { + "@babel/helper-string-parser": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7", + "to-fast-properties": "^2.0.0" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" + "engines": { + "node": ">=6.9.0" } }, - "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz", - "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==", + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", "dev": true }, - "node_modules/@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "node_modules/@esbuild/aix-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", + "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", + "cpu": [ + "ppc64" + ], "dev": true, - "dependencies": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, + "optional": true, + "os": [ + "aix" + ], "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "node_modules/@esbuild/android-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", + "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", + "cpu": [ + "arm" + ], "dev": true, - "dependencies": { - "sprintf-js": "~1.0.2" + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "node_modules/@esbuild/android-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", + "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/@istanbuljs/load-nyc-config/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==", + "node_modules/@esbuild/android-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", + "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "node_modules/@esbuild/darwin-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", + "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "node_modules/@esbuild/darwin-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", + "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=12" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", + "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "node_modules/@esbuild/freebsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", + "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", + "cpu": [ + "x64" + ], "dev": true, + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "node_modules/@esbuild/linux-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", + "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", + "cpu": [ + "arm" + ], "dev": true, - "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.0.0" + "node": ">=12" } }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", - "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "node_modules/@esbuild/linux-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", + "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", + "cpu": [ + "arm64" + ], "dev": true, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.0.0" + "node": ">=12" } }, - "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "node_modules/@esbuild/linux-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", + "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", + "cpu": [ + "ia32" + ], "dev": true, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "dev": true - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.20", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", - "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", - "dev": true, - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" + "node": ">=12" } }, - "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==", + "node_modules/@esbuild/linux-loong64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", + "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", + "cpu": [ + "loong64" + ], "dev": true, - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">= 8" + "node": ">=12" } }, - "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==", + "node_modules/@esbuild/linux-mips64el": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", + "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", + "cpu": [ + "mips64el" + ], "dev": true, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">= 8" + "node": ">=12" } }, - "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==", + "node_modules/@esbuild/linux-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", + "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", + "cpu": [ + "ppc64" + ], "dev": true, - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">= 8" + "node": ">=12" } }, - "node_modules/@sinonjs/commons": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", - "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", + "node_modules/@esbuild/linux-riscv64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", + "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", + "cpu": [ + "riscv64" + ], "dev": true, - "dependencies": { - "type-detect": "4.0.8" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "node_modules/@sinonjs/fake-timers": { - "version": "11.2.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-11.2.2.tgz", - "integrity": "sha512-G2piCSxQ7oWOxwGSAyFHfPIsyeJGXYtc6mFbnFA+kRXkiEnTl8c/8jul2S329iFBnDI9HGoeWWAZvuvOkZccgw==", + "node_modules/@esbuild/linux-s390x": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", + "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", + "cpu": [ + "s390x" + ], "dev": true, - "dependencies": { - "@sinonjs/commons": "^3.0.0" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "node_modules/@sinonjs/samsam": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-8.0.0.tgz", - "integrity": "sha512-Bp8KUVlLp8ibJZrnvq2foVhP0IVX2CIprMJPK0vqGqgrDa0OHVKeZyBykqskkrdxV6yKBPmGasO8LVjAKR3Gew==", + "node_modules/@esbuild/linux-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", + "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "@sinonjs/commons": "^2.0.0", - "lodash.get": "^4.4.2", - "type-detect": "^4.0.8" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "node_modules/@sinonjs/samsam/node_modules/@sinonjs/commons": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", - "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", + "node_modules/@esbuild/netbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", + "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "type-detect": "4.0.8" + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" } }, - "node_modules/@sinonjs/text-encoding": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.2.tgz", - "integrity": "sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ==", - "dev": true - }, - "node_modules/acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "node_modules/@esbuild/openbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", + "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", + "cpu": [ + "x64" + ], "dev": true, - "bin": { - "acorn": "bin/acorn" - }, + "optional": true, + "os": [ + "openbsd" + ], "engines": { - "node": ">=0.4.0" + "node": ">=12" } }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "node_modules/@esbuild/sunos-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", + "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", + "cpu": [ + "x64" + ], "dev": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" } }, - "node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "node_modules/@esbuild/win32-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", + "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "node_modules/@esbuild/win32-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", + "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", + "cpu": [ + "ia32" + ], "dev": true, - "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" + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" } }, - "node_modules/ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "node_modules/@esbuild/win32-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", + "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", + "cpu": [ + "x64" + ], "dev": true, + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=6" + "node": ">=12" } }, - "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==", + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", "dev": true, "engines": { "node": ">=8" } }, - "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==", + "node_modules/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "@sinclair/typebox": "^0.27.8" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", "dev": true, "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { - "node": ">= 8" + "node": ">=6.0.0" } }, - "node_modules/append-transform": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz", - "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==", + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", "dev": true, - "dependencies": { - "default-require-extensions": "^3.0.0" - }, "engines": { - "node": ">=8" + "node": ">=6.0.0" } }, - "node_modules/archy": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", - "dev": true - }, - "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/assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", "dev": true, "engines": { - "node": "*" + "node": ">=6.0.0" } }, - "node_modules/available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true }, - "node_modules/aws-sdk": { - "version": "2.1605.0", - "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1605.0.tgz", - "integrity": "sha512-/wtOuF7WgkbN6YL3xJ+FB54kvIAfnP/DQVDaE6rSYv6ft0xr01Si94NgQWhb5OcFkFfRAC4auZX8PiFNtOi9xQ==", - "hasInstallScript": true, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, "dependencies": { - "buffer": "4.9.2", - "events": "1.1.1", - "ieee754": "1.1.13", - "jmespath": "0.16.0", - "querystring": "0.2.0", - "sax": "1.2.1", - "url": "0.10.3", - "util": "^0.12.4", - "uuid": "8.0.0", - "xml2js": "0.6.2" - }, - "engines": { - "node": ">= 10.0.0" + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "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==", - "dev": true - }, - "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/@rollup/rollup-android-arm-eabi": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.22.4.tgz", + "integrity": "sha512-Fxamp4aEZnfPOcGA8KSNEohV8hX7zVHOemC8jVBoBUHu5zpJK/Eu3uJwt6BMgy9fkvzxDaurgj96F/NiLukF2w==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" ] }, - "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==", + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.22.4.tgz", + "integrity": "sha512-VXoK5UMrgECLYaMuGuVTOx5kcuap1Jm8g/M83RnCHBKOqvPPmROFJGQaZhGccnsFtfXQ3XYa4/jMCJvZnbJBdA==", + "cpu": [ + "arm64" + ], "dev": true, - "engines": { - "node": ">=8" - } + "license": "MIT", + "optional": true, + "os": [ + "android" + ] }, - "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==", + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.22.4.tgz", + "integrity": "sha512-xMM9ORBqu81jyMKCDP+SZDhnX2QEVQzTcC6G18KlTQEzWK8r/oNZtKuZaCcHhnsa6fEeOBionoyl5JsAbE/36Q==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] }, - "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.22.4.tgz", + "integrity": "sha512-aJJyYKQwbHuhTUrjWjxEvGnNNBCnmpHDvrb8JFDbeSH3m2XdHcxDd3jthAzvmoI8w/kSjd2y0udT+4okADsZIw==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "fill-range": "^7.1.1" - }, - "engines": { - "node": ">=8" - } + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] }, - "node_modules/browser-stdout": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", - "dev": true + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.22.4.tgz", + "integrity": "sha512-j63YtCIRAzbO+gC2L9dWXRh5BFetsv0j0va0Wi9epXDgU/XUi5dJKo4USTttVyK7fGw2nPWK0PbAvyliz50SCQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/browserslist": { - "version": "4.16.7", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.7.tgz", - "integrity": "sha512-7I4qVwqZltJ7j37wObBe3SoTz+nS8APaNcrBOlgoirb6/HbEU2XxW/LpUDTCngM6iauwFqmRTuOMfyKnFGY5JA==", + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.22.4.tgz", + "integrity": "sha512-dJnWUgwWBX1YBRsuKKMOlXCzh2Wu1mlHzv20TpqEsfdZLb3WoJW2kIEsGwLkroYf24IrPAvOT/ZQ2OYMV6vlrg==", + "cpu": [ + "arm" + ], "dev": true, - "dependencies": { - "caniuse-lite": "^1.0.30001248", - "colorette": "^1.2.2", - "electron-to-chromium": "^1.3.793", - "escalade": "^3.1.1", - "node-releases": "^1.1.73" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - } + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "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/@rollup/rollup-linux-arm64-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.22.4.tgz", + "integrity": "sha512-AdPRoNi3NKVLolCN/Sp4F4N1d98c4SBnHMKoLuiG6RXgoZ4sllseuGioszumnPGmPM2O7qaAX/IJdeDU8f26Aw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/caching-transform": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz", - "integrity": "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==", + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.22.4.tgz", + "integrity": "sha512-Gl0AxBtDg8uoAn5CCqQDMqAx22Wx22pjDOjBdmG0VIWX3qUBHzYmOKh8KXHL4UpogfJ14G4wk16EQogF+v8hmA==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "hasha": "^5.0.0", - "make-dir": "^3.0.0", - "package-hash": "^4.0.0", - "write-file-atomic": "^3.0.0" - }, - "engines": { - "node": ">=8" - } + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.22.4.tgz", + "integrity": "sha512-3aVCK9xfWW1oGQpTsYJJPF6bfpWfhbRnhdlyhak2ZiyFLDaayz0EP5j9V1RVLAAxlmWKTDfS9wyRyY3hvhPoOg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.22.4.tgz", + "integrity": "sha512-ePYIir6VYnhgv2C5Xe9u+ico4t8sZWXschR6fMgoPUK31yQu7hTEJb7bCqivHECwIClJfKgE7zYsh1qTP3WHUA==", + "cpu": [ + "riscv64" + ], "dev": true, - "engines": { - "node": ">=6" - } + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.22.4.tgz", + "integrity": "sha512-GqFJ9wLlbB9daxhVlrTe61vJtEY99/xB3C8e4ULVsVfflcpmR6c8UZXjtkMA6FhNONhj2eA5Tk9uAVw5orEs4Q==", + "cpu": [ + "s390x" + ], "dev": true, - "engines": { - "node": ">=6" - } + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/caniuse-lite": { - "version": "1.0.30001249", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001249.tgz", - "integrity": "sha512-vcX4U8lwVXPdqzPWi6cAJ3FnQaqXbBqy/GZseKNQzRj37J7qZdGcBtxq/QLFNLLlfsoXLUdHw8Iwenri86Tagw==", + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.22.4.tgz", + "integrity": "sha512-87v0ol2sH9GE3cLQLNEy0K/R0pz1nvg76o8M5nhMR0+Q+BBGLnb35P0fVz4CQxHYXaAOhE8HhlkaZfsdUOlHwg==", + "cpu": [ + "x64" + ], "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - } + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/chai": { - "version": "4.3.10", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.10.tgz", - "integrity": "sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g==", + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.22.4.tgz", + "integrity": "sha512-UV6FZMUgePDZrFjrNGIWzDo/vABebuXBhJEqrHxrGiU6HikPy0Z3LfdtciIttEUQfuDdCn8fqh7wiFJjCNwO+g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.22.4.tgz", + "integrity": "sha512-BjI+NVVEGAXjGWYHz/vv0pBqfGoUH0IGZ0cICTn7kB9PyjrATSkX+8WkguNjWoj2qSr1im/+tTGRaY+4/PdcQw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.22.4.tgz", + "integrity": "sha512-SiWG/1TuUdPvYmzmYnmd3IEifzR61Tragkbx9D3+R8mzQqDBz8v+BvZNDlkiTtI9T15KYZhP0ehn3Dld4n9J5g==", + "cpu": [ + "ia32" + ], "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.22.4.tgz", + "integrity": "sha512-j8pPKp53/lq9lMXN57S8cFz0MynJk8OWNuUnXct/9KCpKU7DgU3bYMJhwWmcqC0UU29p8Lr0/7KEVcaM6bf47Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true + }, + "node_modules/@smithy/abort-controller": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-3.1.1.tgz", + "integrity": "sha512-MBJBiidoe+0cTFhyxT8g+9g7CeVccLM0IOKKUMCNQ1CNMJ/eIfoo0RTfVrXOONEI1UCN1W+zkiHSbzUNE9dZtQ==", "dependencies": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.3", - "deep-eql": "^4.1.3", - "get-func-name": "^2.0.2", - "loupe": "^2.3.6", - "pathval": "^1.1.1", - "type-detect": "^4.0.8" + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=4" + "node": ">=16.0.0" } }, - "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, + "node_modules/@smithy/chunked-blob-reader": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/chunked-blob-reader/-/chunked-blob-reader-3.0.0.tgz", + "integrity": "sha512-sbnURCwjF0gSToGlsBiAmd1lRCmSn72nu9axfJu5lIx6RUEgHu6GwTMbqCdhQSi0Pumcm5vFxsi9XWXb2mTaoA==", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "tslib": "^2.6.2" } }, - "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, + "node_modules/@smithy/chunked-blob-reader-native": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/chunked-blob-reader-native/-/chunked-blob-reader-native-3.0.0.tgz", + "integrity": "sha512-VDkpCYW+peSuM4zJip5WDfqvg2Mo/e8yxOv3VF1m11y7B8KKMKVFtmZWDe36Fvk8rGuWrPZHHXZ7rR7uM5yWyg==", "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" + "@smithy/util-base64": "^3.0.0", + "tslib": "^2.6.2" } }, - "node_modules/check-error": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", - "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", - "dev": true, + "node_modules/@smithy/config-resolver": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-3.0.5.tgz", + "integrity": "sha512-SkW5LxfkSI1bUC74OtfBbdz+grQXYiPYolyu8VfpLIjEoN/sHVBlLeGXMQ1vX4ejkgfv6sxVbQJ32yF2cl1veA==", "dependencies": { - "get-func-name": "^2.0.2" + "@smithy/node-config-provider": "^3.1.4", + "@smithy/types": "^3.3.0", + "@smithy/util-config-provider": "^3.0.0", + "@smithy/util-middleware": "^3.0.3", + "tslib": "^2.6.2" }, "engines": { - "node": "*" + "node": ">=16.0.0" } }, - "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], + "node_modules/@smithy/core": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@smithy/core/-/core-2.4.0.tgz", + "integrity": "sha512-cHXq+FneIF/KJbt4q4pjN186+Jf4ZB0ZOqEaZMBhT79srEyGDDBV31NqBRBjazz8ppQ1bJbDJMY9ba5wKFV36w==", "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" + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-retry": "^3.0.15", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.2.0", + "@smithy/types": "^3.3.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "node": ">=16.0.0" } }, - "node_modules/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true, + "node_modules/@smithy/credential-provider-imds": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-3.2.0.tgz", + "integrity": "sha512-0SCIzgd8LYZ9EJxUjLXBmEKSZR/P/w6l7Rz/pab9culE/RWuqelAKGJvn5qUOl8BgX8Yj5HWM50A5hiB/RzsgA==", + "dependencies": { + "@smithy/node-config-provider": "^3.1.4", + "@smithy/property-provider": "^3.1.3", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=6" + "node": ">=16.0.0" } }, - "node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, + "node_modules/@smithy/eventstream-codec": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-3.1.2.tgz", + "integrity": "sha512-0mBcu49JWt4MXhrhRAlxASNy0IjDRFU+aWNDRal9OtUJvJNiwDuyKMUONSOjLjSCeGwZaE0wOErdqULer8r7yw==", "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" + "@aws-crypto/crc32": "5.2.0", + "@smithy/types": "^3.3.0", + "@smithy/util-hex-encoding": "^3.0.0", + "tslib": "^2.6.2" } }, - "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, + "node_modules/@smithy/eventstream-serde-browser": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-3.0.6.tgz", + "integrity": "sha512-2hM54UWQUOrki4BtsUI1WzmD13/SeaqT/AB3EUJKbcver/WgKNaiJ5y5F5XXuVe6UekffVzuUDrBZVAA3AWRpQ==", "dependencies": { - "color-name": "~1.1.4" + "@smithy/eventstream-serde-universal": "^3.0.5", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=7.0.0" + "node": ">=16.0.0" } }, - "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/colorette": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", - "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==", - "dev": true - }, - "node_modules/commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "dev": true - }, - "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=", - "dev": true - }, - "node_modules/convert-source-map": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", - "dev": true, + "node_modules/@smithy/eventstream-serde-config-resolver": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.0.3.tgz", + "integrity": "sha512-NVTYjOuYpGfrN/VbRQgn31x73KDLfCXCsFdad8DiIc3IcdxL+dYA9zEQPyOP7Fy2QL8CPy2WE4WCUD+ZsLNfaQ==", "dependencies": { - "safe-buffer": "~5.1.1" + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" } }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, + "node_modules/@smithy/eventstream-serde-node": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-node/-/eventstream-serde-node-3.0.5.tgz", + "integrity": "sha512-+upXvnHNyZP095s11jF5dhGw/Ihzqwl5G+/KtMnoQOpdfC3B5HYCcDVG9EmgkhJMXJlM64PyN5gjJl0uXFQehQ==", "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" + "@smithy/eventstream-serde-universal": "^3.0.5", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">= 8" + "node": ">=16.0.0" } }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, + "node_modules/@smithy/eventstream-serde-universal": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-3.0.5.tgz", + "integrity": "sha512-5u/nXbyoh1s4QxrvNre9V6vfyoLWuiVvvd5TlZjGThIikc3G+uNiG9uOTCWweSRjv1asdDIWK7nOmN7le4RYHQ==", "dependencies": { - "ms": "2.1.2" + "@smithy/eventstream-codec": "^3.1.2", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "node": ">=16.0.0" } }, - "node_modules/debug/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==", - "dev": true + "node_modules/@smithy/fetch-http-handler": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-3.2.4.tgz", + "integrity": "sha512-kBprh5Gs5h7ug4nBWZi1FZthdqSM+T7zMmsZxx0IBvWUn7dK3diz2SHn7Bs4dQGFDk8plDv375gzenDoNwrXjg==", + "dependencies": { + "@smithy/protocol-http": "^4.1.0", + "@smithy/querystring-builder": "^3.0.3", + "@smithy/types": "^3.3.0", + "@smithy/util-base64": "^3.0.0", + "tslib": "^2.6.2" + } }, - "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true, - "engines": { - "node": ">=0.10.0" + "node_modules/@smithy/hash-blob-browser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@smithy/hash-blob-browser/-/hash-blob-browser-3.1.2.tgz", + "integrity": "sha512-hAbfqN2UbISltakCC2TP0kx4LqXBttEv2MqSPE98gVuDFMf05lU+TpC41QtqGP3Ff5A3GwZMPfKnEy0VmEUpmg==", + "dependencies": { + "@smithy/chunked-blob-reader": "^3.0.0", + "@smithy/chunked-blob-reader-native": "^3.0.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" } }, - "node_modules/deep-eql": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", - "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", - "dev": true, + "node_modules/@smithy/hash-node": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-3.0.3.tgz", + "integrity": "sha512-2ctBXpPMG+B3BtWSGNnKELJ7SH9e4TNefJS0cd2eSkOOROeBnnVBnAy9LtJ8tY4vUEoe55N4CNPxzbWvR39iBw==", "dependencies": { - "type-detect": "^4.0.0" + "@smithy/types": "^3.3.0", + "@smithy/util-buffer-from": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=6" + "node": ">=16.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/default-require-extensions": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.0.tgz", - "integrity": "sha512-ek6DpXq/SCpvjhpFsLFRVtIxJCRw6fUR42lYMVZuUMK7n8eMz4Uh5clckdBjEpLhn/gEBZo7hDJnJcwdKLKQjg==", - "dev": true, + "node_modules/@smithy/hash-stream-node": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@smithy/hash-stream-node/-/hash-stream-node-3.1.2.tgz", + "integrity": "sha512-PBgDMeEdDzi6JxKwbfBtwQG9eT9cVwsf0dZzLXoJF4sHKHs5HEo/3lJWpn6jibfJwT34I1EBXpBnZE8AxAft6g==", "dependencies": { - "strip-bom": "^4.0.0" + "@smithy/types": "^3.3.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=8" + "node": ">=16.0.0" } }, - "node_modules/diff": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", - "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", - "dev": true, - "engines": { - "node": ">=0.3.1" + "node_modules/@smithy/invalid-dependency": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-3.0.3.tgz", + "integrity": "sha512-ID1eL/zpDULmHJbflb864k72/SNOZCADRc9i7Exq3RUNJw6raWUSlFEQ+3PX3EYs++bTxZB2dE9mEHTQLv61tw==", + "dependencies": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" } }, - "node_modules/doctrine": { + "node_modules/@smithy/is-array-buffer": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", "dependencies": { - "esutils": "^2.0.2" + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.0.0" + "node": ">=16.0.0" } }, - "node_modules/electron-to-chromium": { - "version": "1.3.798", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.798.tgz", - "integrity": "sha512-fwsr6oXAORoV9a6Ak2vMCdXfmHIpAGgpOGesulS1cbGgJmrMl3H+GicUyRG3t+z9uHTMrIuMTleFDW+EUFYT3g==", - "dev": true - }, - "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==", - "dev": true - }, - "node_modules/es6-error": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", - "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", - "dev": true - }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true, - "engines": { - "node": ">=6" + "node_modules/@smithy/md5-js": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/md5-js/-/md5-js-3.0.3.tgz", + "integrity": "sha512-O/SAkGVwpWmelpj/8yDtsaVe6sINHLB1q8YE/+ZQbDxIw3SRLbTZuRaI10K12sVoENdnHqzPp5i3/H+BcZ3m3Q==", + "dependencies": { + "@smithy/types": "^3.3.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" } }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "engines": { - "node": ">=10" + "node_modules/@smithy/middleware-content-length": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-3.0.5.tgz", + "integrity": "sha512-ILEzC2eyxx6ncej3zZSwMpB5RJ0zuqH7eMptxC4KN3f+v9bqT8ohssKbhNR78k/2tWW+KS5Spw+tbPF4Ejyqvw==", + "dependencies": { + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=16.0.0" } }, - "node_modules/eslint": { - "version": "8.51.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.51.0.tgz", - "integrity": "sha512-2WuxRZBrlwnXi+/vFSJyjMqrNjtJqiasMzehF0shoLaW7DzS3/9Yvrmq5JiT66+pNjiX4UBnLDiKHcWAr/OInA==", - "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "8.51.0", - "@humanwhocodes/config-array": "^0.11.11", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" + "node_modules/@smithy/middleware-endpoint": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-3.1.0.tgz", + "integrity": "sha512-5y5aiKCEwg9TDPB4yFE7H6tYvGFf1OJHNczeY10/EFF8Ir8jZbNntQJxMWNfeQjC1mxPsaQ6mR9cvQbf+0YeMw==", + "dependencies": { + "@smithy/middleware-serde": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-middleware": "^3.0.3", + "tslib": "^2.6.2" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": ">=16.0.0" } }, - "node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", - "dev": true, + "node_modules/@smithy/middleware-retry": { + "version": "3.0.15", + "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-3.0.15.tgz", + "integrity": "sha512-iTMedvNt1ApdvkaoE8aSDuwaoc+BhvHqttbA/FO4Ty+y/S5hW6Ci/CTScG7vam4RYJWZxdTElc3MEfHRVH6cgQ==", "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" + "@smithy/node-config-provider": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/service-error-classification": "^3.0.3", + "@smithy/smithy-client": "^3.2.0", + "@smithy/types": "^3.3.0", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "tslib": "^2.6.2", + "uuid": "^9.0.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": ">=16.0.0" } }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node_modules/@smithy/middleware-retry/node_modules/uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "bin": { + "uuid": "dist/bin/uuid" } }, - "node_modules/eslint/node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, + "node_modules/@smithy/middleware-serde": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-3.0.3.tgz", + "integrity": "sha512-puUbyJQBcg9eSErFXjKNiGILJGtiqmuuNKEYNYfUD57fUl4i9+mfmThtQhvFXU0hCVG0iEJhvQUipUf+/SsFdA==", "dependencies": { - "is-glob": "^4.0.3" + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=10.13.0" + "node": ">=16.0.0" } }, - "node_modules/eslint/node_modules/globals": { - "version": "13.23.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", - "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", - "dev": true, + "node_modules/@smithy/middleware-stack": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-3.0.3.tgz", + "integrity": "sha512-r4klY9nFudB0r9UdSMaGSyjyQK5adUyPnQN/ZM6M75phTxOdnc/AhpvGD1fQUvgmqjQEBGCwpnPbDm8pH5PapA==", "dependencies": { - "type-fest": "^0.20.2" + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=16.0.0" } }, - "node_modules/eslint/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "engines": { - "node": ">=10" + "node_modules/@smithy/node-config-provider": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-3.1.4.tgz", + "integrity": "sha512-YvnElQy8HR4vDcAjoy7Xkx9YT8xZP4cBXcbJSgm/kxmiQu08DwUwj8rkGnyoJTpfl/3xYHH+d8zE+eHqoDCSdQ==", + "dependencies": { + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=16.0.0" } }, - "node_modules/espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", - "dev": true, + "node_modules/@smithy/node-http-handler": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-3.1.4.tgz", + "integrity": "sha512-+UmxgixgOr/yLsUxcEKGH0fMNVteJFGkmRltYFHnBMlogyFdpzn2CwqWmxOrfJELhV34v0WSlaqG1UtE1uXlJg==", "dependencies": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" + "@smithy/abort-controller": "^3.1.1", + "@smithy/protocol-http": "^4.1.0", + "@smithy/querystring-builder": "^3.0.3", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": ">=16.0.0" } }, - "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==", - "dev": true, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" + "node_modules/@smithy/property-provider": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-3.1.3.tgz", + "integrity": "sha512-zahyOVR9Q4PEoguJ/NrFP4O7SMAfYO1HLhB18M+q+Z4KFd4V2obiMnlVoUFzFLSPeVt1POyNWneHHrZaTMoc/g==", + "dependencies": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=4" + "node": ">=16.0.0" } }, - "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", - "dev": true, + "node_modules/@smithy/protocol-http": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-4.1.0.tgz", + "integrity": "sha512-dPVoHYQ2wcHooGXg3LQisa1hH0e4y0pAddPMeeUPipI1tEOqL6A4N0/G7abeq+K8wrwSgjk4C0wnD1XZpJm5aA==", "dependencies": { - "estraverse": "^5.1.0" + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=0.10" + "node": ">=16.0.0" } }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, + "node_modules/@smithy/querystring-builder": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-3.0.3.tgz", + "integrity": "sha512-vyWckeUeesFKzCDaRwWLUA1Xym9McaA6XpFfAK5qI9DKJ4M33ooQGqvM4J+LalH4u/Dq9nFiC8U6Qn1qi0+9zw==", "dependencies": { - "estraverse": "^5.2.0" + "@smithy/types": "^3.3.0", + "@smithy/util-uri-escape": "^3.0.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" + "node": ">=16.0.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/events": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", - "integrity": "sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw==", + "node_modules/@smithy/querystring-parser": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-3.0.3.tgz", + "integrity": "sha512-zahM1lQv2YjmznnfQsWbYojFe55l0SLG/988brlLv1i8z3dubloLF+75ATRsqPBboUXsW6I9CPGE5rQgLfY0vQ==", + "dependencies": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=0.4.x" + "node": ">=16.0.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==", - "dev": true - }, - "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==", - "dev": true - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true - }, - "node_modules/fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", - "dev": true, + "node_modules/@smithy/service-error-classification": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.3.tgz", + "integrity": "sha512-Jn39sSl8cim/VlkLsUhRFq/dKDnRUFlfRkvhOJaUbLBXUsLRLNf9WaxDv/z9BjuQ3A6k/qE8af1lsqcwm7+DaQ==", "dependencies": { - "reusify": "^1.0.4" + "@smithy/types": "^3.3.0" + }, + "engines": { + "node": ">=16.0.0" } }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, + "node_modules/@smithy/shared-ini-file-loader": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.4.tgz", + "integrity": "sha512-qMxS4hBGB8FY2GQqshcRUy1K6k8aBWP5vwm8qKkCT3A9K2dawUwOIJfqh9Yste/Bl0J2lzosVyrXDj68kLcHXQ==", "dependencies": { - "flat-cache": "^3.0.4" + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=16.0.0" } }, - "node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "dev": true, + "node_modules/@smithy/signature-v4": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-4.1.0.tgz", + "integrity": "sha512-aRryp2XNZeRcOtuJoxjydO6QTaVhxx/vjaR+gx7ZjaFgrgPRyZ3HCTbfwqYj6ZWEBHkCSUfcaymKPURaByukag==", "dependencies": { - "to-regex-range": "^5.0.1" + "@smithy/is-array-buffer": "^3.0.0", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "@smithy/util-hex-encoding": "^3.0.0", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-uri-escape": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=8" + "node": ">=16.0.0" } }, - "node_modules/find-cache-dir": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", - "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", - "dev": true, + "node_modules/@smithy/smithy-client": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-3.2.0.tgz", + "integrity": "sha512-pDbtxs8WOhJLJSeaF/eAbPgXg4VVYFlRcL/zoNYA5WbG3wBL06CHtBSg53ppkttDpAJ/hdiede+xApip1CwSLw==", "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "@smithy/util-stream": "^3.1.3", + "tslib": "^2.6.2" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + "node": ">=16.0.0" } }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, + "node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" + "tslib": "^2.6.2" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=16.0.0" } }, - "node_modules/flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", - "dev": true, - "bin": { - "flat": "cli.js" + "node_modules/@smithy/url-parser": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-3.0.3.tgz", + "integrity": "sha512-pw3VtZtX2rg+s6HMs6/+u9+hu6oY6U7IohGhVNnjbgKy86wcIsSZwgHrFR+t67Uyxvp4Xz3p3kGXXIpTNisq8A==", + "dependencies": { + "@smithy/querystring-parser": "^3.0.3", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" } }, - "node_modules/flat-cache": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.1.tgz", - "integrity": "sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==", - "dev": true, + "node_modules/@smithy/util-base64": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-3.0.0.tgz", + "integrity": "sha512-Kxvoh5Qtt0CDsfajiZOCpJxgtPHXOKwmM+Zy4waD43UoEMA+qPxxa98aE/7ZhdnBFZFXMOiBR5xbcaMhLtznQQ==", "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" + "@smithy/util-buffer-from": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=12.0.0" + "node": ">=16.0.0" } }, - "node_modules/flatted": { - "version": "3.2.9", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", - "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", - "dev": true - }, - "node_modules/for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "node_modules/@smithy/util-body-length-browser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-3.0.0.tgz", + "integrity": "sha512-cbjJs2A1mLYmqmyVl80uoLTJhAcfzMOyPgjwAYusWKMdLeNtzmMz9YxNl3/jRLoxSS3wkqkf0jwNdtXWtyEBaQ==", "dependencies": { - "is-callable": "^1.1.3" + "tslib": "^2.6.2" } }, - "node_modules/foreground-child": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz", - "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==", - "dev": true, + "node_modules/@smithy/util-body-length-node": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-3.0.0.tgz", + "integrity": "sha512-Tj7pZ4bUloNUP6PzwhN7K386tmSmEET9QtQg0TgdNOnxhZvCssHji+oZTUIuzxECRfG8rdm2PMw2WCFs6eIYkA==", "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^3.0.2" + "tslib": "^2.6.2" }, "engines": { - "node": ">=8.0.0" + "node": ">=16.0.0" } }, - "node_modules/fromentries": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz", - "integrity": "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==", - "dev": true, - "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/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], + "node_modules/@smithy/util-buffer-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", + "dependencies": { + "@smithy/is-array-buffer": "^3.0.0", + "tslib": "^2.6.2" + }, "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + "node": ">=16.0.0" } }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, + "node_modules/@smithy/util-config-provider": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-3.0.0.tgz", + "integrity": "sha512-pbjk4s0fwq3Di/ANL+rCvJMKM5bzAQdE5S/6RL5NXgMExFAi6UgQMPOm5yPaIWPpr+EOXKXRonJ3FoxKf4mCJQ==", + "dependencies": { + "tslib": "^2.6.2" + }, "engines": { - "node": ">=6.9.0" + "node": ">=16.0.0" } }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true, + "node_modules/@smithy/util-defaults-mode-browser": { + "version": "3.0.15", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-3.0.15.tgz", + "integrity": "sha512-FZ4Psa3vjp8kOXcd3HJOiDPBCWtiilLl57r0cnNtq/Ga9RSDrM5ERL6xt+tO43+2af6Pn5Yp92x2n5vPuduNfg==", + "dependencies": { + "@smithy/property-provider": "^3.1.3", + "@smithy/smithy-client": "^3.2.0", + "@smithy/types": "^3.3.0", + "bowser": "^2.11.0", + "tslib": "^2.6.2" + }, "engines": { - "node": "6.* || 8.* || >= 10.*" + "node": ">= 10.0.0" } }, - "node_modules/get-func-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", - "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", - "dev": true, + "node_modules/@smithy/util-defaults-mode-node": { + "version": "3.0.15", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-3.0.15.tgz", + "integrity": "sha512-KSyAAx2q6d0t6f/S4XB2+3+6aQacm3aLMhs9aLMqn18uYGUepbdssfogW5JQZpc6lXNBnp0tEnR5e9CEKmEd7A==", + "dependencies": { + "@smithy/config-resolver": "^3.0.5", + "@smithy/credential-provider-imds": "^3.2.0", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/property-provider": "^3.1.3", + "@smithy/smithy-client": "^3.2.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, "engines": { - "node": "*" + "node": ">= 10.0.0" } }, - "node_modules/get-intrinsic": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", - "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", + "node_modules/@smithy/util-endpoints": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-2.0.5.tgz", + "integrity": "sha512-ReQP0BWihIE68OAblC/WQmDD40Gx+QY1Ez8mTdFMXpmjfxSyz2fVQu3A4zXRfQU9sZXtewk3GmhfOHswvX+eNg==", "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" + "@smithy/node-config-provider": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=16.0.0" } }, - "node_modules/get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "dev": true, + "node_modules/@smithy/util-hex-encoding": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-3.0.0.tgz", + "integrity": "sha512-eFndh1WEK5YMUYvy3lPlVmYY/fZcQE1D8oSf41Id2vCeIkKJXPcYDCZD+4+xViI6b1XSd7tE+s5AmXzz5ilabQ==", + "dependencies": { + "tslib": "^2.6.2" + }, "engines": { - "node": ">=8.0.0" + "node": ">=16.0.0" } }, - "node_modules/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "dev": true, + "node_modules/@smithy/util-middleware": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-3.0.3.tgz", + "integrity": "sha512-l+StyYYK/eO3DlVPbU+4Bi06Jjal+PFLSMmlWM1BEwyLxZ3aKkf1ROnoIakfaA7mC6uw3ny7JBkau4Yc+5zfWw==", "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" + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=16.0.0" } }, - "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==", - "dev": true, + "node_modules/@smithy/util-retry": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-3.0.3.tgz", + "integrity": "sha512-AFw+hjpbtVApzpNDhbjNG5NA3kyoMs7vx0gsgmlJF4s+yz1Zlepde7J58zpIRIsdjc+emhpAITxA88qLkPF26w==", "dependencies": { - "is-glob": "^4.0.1" + "@smithy/service-error-classification": "^3.0.3", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">= 6" + "node": ">=16.0.0" } }, - "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, + "node_modules/@smithy/util-stream": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-3.1.3.tgz", + "integrity": "sha512-FIv/bRhIlAxC0U7xM1BCnF2aDRPq0UaelqBHkM2lsCp26mcBbgI0tCVTv+jGdsQLUmAMybua/bjDsSu8RQHbmw==", + "dependencies": { + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/types": "^3.3.0", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-buffer-from": "^3.0.0", + "@smithy/util-hex-encoding": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=4" + "node": ">=16.0.0" } }, - "node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "node_modules/@smithy/util-uri-escape": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-3.0.0.tgz", + "integrity": "sha512-LqR7qYLgZTD7nWLBecUi4aqolw8Mhza9ArpNEQ881MJJIU2sE5iHCK6TdyqqzcDLy0OPe10IY4T8ctVdtynubg==", "dependencies": { - "get-intrinsic": "^1.1.3" + "tslib": "^2.6.2" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=16.0.0" } }, - "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==", - "dev": true - }, - "node_modules/graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "node_modules/@smithy/util-utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", + "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", "dependencies": { - "function-bind": "^1.1.1" + "@smithy/util-buffer-from": "^3.0.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">= 0.4.0" + "node": ">=16.0.0" } }, - "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, + "node_modules/@smithy/util-waiter": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@smithy/util-waiter/-/util-waiter-3.1.2.tgz", + "integrity": "sha512-4pP0EV3iTsexDx+8PPGAKCQpd/6hsQBaQhqWzU4hqKPHN5epPsxKbvUTIiYIHTxaKt6/kEaqPBpu/ufvfbrRzw==", + "dependencies": { + "@smithy/abort-controller": "^3.1.1", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=8" + "node": ">=16.0.0" } }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "engines": { - "node": ">= 0.4" + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true + }, + "node_modules/@vitest/coverage-v8": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-1.6.0.tgz", + "integrity": "sha512-KvapcbMY/8GYIG0rlwwOKCVNRc0OL20rrhFkg/CHNzncV03TE2XWvO5w9uZYoxNiMEBacAJt3unSOiZ7svePew==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.1", + "@bcoe/v8-coverage": "^0.2.3", + "debug": "^4.3.4", + "istanbul-lib-coverage": "^3.2.2", + "istanbul-lib-report": "^3.0.1", + "istanbul-lib-source-maps": "^5.0.4", + "istanbul-reports": "^3.1.6", + "magic-string": "^0.30.5", + "magicast": "^0.3.3", + "picocolors": "^1.0.0", + "std-env": "^3.5.0", + "strip-literal": "^2.0.0", + "test-exclude": "^6.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "vitest": "1.6.0" } }, - "node_modules/has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "node_modules/@vitest/coverage-v8/node_modules/istanbul-lib-source-maps": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-5.0.4.tgz", + "integrity": "sha512-wHOoEsNJTVltaJp8eVkm8w+GVkVNHT2YDYo53YdzQEL2gWm1hBX5cGFR9hQJtuGLebidVX7et3+dmDZrmclduw==", + "dev": true, "dependencies": { - "has-symbols": "^1.0.2" + "@jridgewell/trace-mapping": "^0.3.23", + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=10" } }, - "node_modules/hasha": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz", - "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==", + "node_modules/@vitest/expect": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.6.0.tgz", + "integrity": "sha512-ixEvFVQjycy/oNgHjqsL6AZCDduC+tflRluaHIzKIsdbzkLn2U/iBnVeJwB6HsIjQBdfMR8Z0tRxKUsvFJEeWQ==", "dev": true, "dependencies": { - "is-stream": "^2.0.0", - "type-fest": "^0.8.0" - }, - "engines": { - "node": ">=8" + "@vitest/spy": "1.6.0", + "@vitest/utils": "1.6.0", + "chai": "^4.3.10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true, - "bin": { - "he": "bin/he" + "url": "https://opencollective.com/vitest" } }, - "node_modules/html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true - }, - "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.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "node_modules/@vitest/runner": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.6.0.tgz", + "integrity": "sha512-P4xgwPjwesuBiHisAVz/LSSZtDjOTPYZVmNAnpHHSR6ONrf8eCJOFRvUwdHn30F5M1fxhqtl7QZQUk2dprIXAg==", "dev": true, - "engines": { - "node": ">= 4" + "dependencies": { + "@vitest/utils": "1.6.0", + "p-limit": "^5.0.0", + "pathe": "^1.1.1" + }, + "funding": { + "url": "https://opencollective.com/vitest" } }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "node_modules/@vitest/runner/node_modules/p-limit": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-5.0.0.tgz", + "integrity": "sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==", "dev": true, "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" + "yocto-queue": "^1.0.0" }, "engines": { - "node": ">=6" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/import-fresh/node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true, - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "node_modules/@vitest/runner/node_modules/yocto-queue": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", + "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", "dev": true, "engines": { - "node": ">=8" + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "node_modules/@vitest/snapshot": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.6.0.tgz", + "integrity": "sha512-+Hx43f8Chus+DCmygqqfetcAZrDJwvTj0ymqjQq4CvmpKFSTVteEOBzCusu1x2tt4OJcvBflyHUE0DZSLgEMtQ==", "dev": true, "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/is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" + "magic-string": "^0.30.5", + "pathe": "^1.1.1", + "pretty-format": "^29.7.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://opencollective.com/vitest" } }, - "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==", + "node_modules/@vitest/spy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.6.0.tgz", + "integrity": "sha512-leUTap6B/cqi/bQkXUu6bQV5TZPx7pmMBKBQiI0rJA8c3pB56ZsaTbREnF7CJfmvAS4V2cXIBAh/3rVwrrCYgw==", "dev": true, "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "engines": { - "node": ">= 0.4" + "tinyspy": "^2.2.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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=", - "dev": true, - "engines": { - "node": ">=0.10.0" + "url": "https://opencollective.com/vitest" } }, - "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==", + "node_modules/@vitest/utils": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.6.0.tgz", + "integrity": "sha512-21cPiuGMoMZwiOHa2i4LXkMkMkCGzA+MVFV70jRwHo95dL4x/ts5GZhML1QWuy7yfp3WzK3lRvZi3JnXTYqrBw==", "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-generator-function": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" + "diff-sequences": "^29.6.3", + "estree-walker": "^3.0.3", + "loupe": "^2.3.7", + "pretty-format": "^29.7.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://opencollective.com/vitest" } }, - "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==", + "node_modules/acorn": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.0.tgz", + "integrity": "sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==", "dev": true, - "dependencies": { - "is-extglob": "^2.1.1" + "bin": { + "acorn": "bin/acorn" }, "engines": { - "node": ">=0.10.0" + "node": ">=0.4.0" } }, - "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==", + "node_modules/acorn-walk": { + "version": "8.3.3", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.3.tgz", + "integrity": "sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==", "dev": true, + "dependencies": { + "acorn": "^8.11.0" + }, "engines": { - "node": ">=0.12.0" + "node": ">=0.4.0" } }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "node_modules/assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", "dev": true, "engines": { - "node": ">=8" + "node": "*" } }, - "node_modules/is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "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==", + "dev": true + }, + "node_modules/bowser": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", + "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==" + }, + "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==", "dev": true, - "engines": { - "node": ">=8" + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "node_modules/cac": { + "version": "6.7.14", + "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", + "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", "dev": true, "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-typed-array": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", - "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", + "node_modules/chai": { + "version": "4.3.10", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.10.tgz", + "integrity": "sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g==", + "dev": true, "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" + "assertion-error": "^1.1.0", + "check-error": "^1.0.3", + "deep-eql": "^4.1.3", + "get-func-name": "^2.0.2", + "loupe": "^2.3.6", + "pathval": "^1.1.1", + "type-detect": "^4.0.8" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=4" } }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, - "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==", + "node_modules/check-error": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", + "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", "dev": true, - "engines": { - "node": ">=10" + "dependencies": { + "get-func-name": "^2.0.2" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/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==", - "dev": true, "engines": { - "node": ">=0.10.0" + "node": "*" } }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "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/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, - "node_modules/istanbul-lib-coverage": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", - "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", - "dev": true, - "engines": { - "node": ">=8" - } + "node_modules/confbox": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.7.tgz", + "integrity": "sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==", + "dev": true }, - "node_modules/istanbul-lib-hook": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz", - "integrity": "sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==", + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, + "license": "MIT", "dependencies": { - "append-transform": "^2.0.0" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" }, "engines": { - "node": ">=8" + "node": ">= 8" } }, - "node_modules/istanbul-lib-instrument": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", - "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, "dependencies": { - "@babel/core": "^7.7.5", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.0.0", - "semver": "^6.3.0" + "ms": "2.1.2" }, "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-processinfo": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.2.tgz", - "integrity": "sha512-kOwpa7z9hme+IBPZMzQ5vdQj8srYgAtaRqeI48NGmAQ+/5yKiHLV0QbYqQpxsdEF0+w14SoB8YbnHKcXE2KnYw==", - "dev": true, - "dependencies": { - "archy": "^1.0.0", - "cross-spawn": "^7.0.0", - "istanbul-lib-coverage": "^3.0.0-alpha.1", - "make-dir": "^3.0.0", - "p-map": "^3.0.0", - "rimraf": "^3.0.0", - "uuid": "^3.3.3" + "node": ">=6.0" }, - "engines": { - "node": ">=8" + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/istanbul-lib-processinfo/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.", - "dev": true, - "bin": { - "uuid": "bin/uuid" - } + "node_modules/debug/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==", + "dev": true }, - "node_modules/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "node_modules/deep-eql": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", + "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", "dev": true, "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" + "type-detect": "^4.0.0" }, "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/istanbul-lib-report/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==", + "node_modules/diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/istanbul-lib-source-maps": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz", - "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==", + "node_modules/esbuild": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", "dev": true, - "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" }, "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-source-maps/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==", + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" + } + }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", "dev": true, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "@types/estree": "^1.0.0" } }, - "node_modules/istanbul-reports": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz", - "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==", + "node_modules/execa": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", "dev": true, "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" }, "engines": { - "node": ">=8" + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/jmespath": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.16.0.tgz", - "integrity": "sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==", + "node_modules/execa/node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true, "engines": { - "node": ">= 0.6.0" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "node_modules/js-yaml": { + "node_modules/execa/node_modules/signal-exit": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true, - "dependencies": { - "argparse": "^2.0.1" + "engines": { + "node": ">=14" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" + "node_modules/fast-xml-parser": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.4.1.tgz", + "integrity": "sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + }, + { + "type": "paypal", + "url": "https://paypal.me/naturalintelligence" + } + ], + "dependencies": { + "strnum": "^1.0.5" }, - "engines": { - "node": ">=4" - } - }, - "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/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==", - "dev": true - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" + "fxparser": "src/cli/cli.js" } }, - "node_modules/just-extend": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.2.1.tgz", - "integrity": "sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg==", + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "dev": true, - "dependencies": { - "json-buffer": "3.0.1" + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "node_modules/get-func-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", + "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, "engines": { - "node": ">= 0.8.0" + "node": "*" } }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "node_modules/get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", "dev": true, - "dependencies": { - "p-locate": "^5.0.0" - }, "engines": { - "node": ">=10" + "node": ">=16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/lodash.flattendeep": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", - "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=", - "dev": true - }, - "node_modules/lodash.get": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", - "dev": true - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, - "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==", + "node_modules/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", "dev": true, "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" + "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": ">=10" + "node": "*" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/loupe": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz", - "integrity": "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==", + "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, - "dependencies": { - "get-func-name": "^2.0.0" + "engines": { + "node": ">=8" } }, - "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==", + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "node_modules/human-signals": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", "dev": true, - "dependencies": { - "semver": "^6.0.0" - }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=16.17.0" } }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/mocha": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz", - "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==", - "dev": true, - "dependencies": { - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", - "chokidar": "3.5.3", - "debug": "4.3.4", - "diff": "5.0.0", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "7.2.0", - "he": "1.2.0", - "js-yaml": "4.1.0", - "log-symbols": "4.1.0", - "minimatch": "5.0.1", - "ms": "2.1.3", - "nanoid": "3.3.3", - "serialize-javascript": "6.0.0", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "workerpool": "6.2.1", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", - "yargs-unparser": "2.0.0" - }, - "bin": { - "_mocha": "bin/_mocha", - "mocha": "bin/mocha.js" - }, - "engines": { - "node": ">= 14.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mochajs" - } - }, - "node_modules/mocha/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/mocha/node_modules/minimatch": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", - "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - }, - "node_modules/nanoid": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", - "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", - "dev": true, - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + "once": "^1.3.0", + "wrappy": "1" } }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, - "node_modules/nise": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.5.tgz", - "integrity": "sha512-VJuPIfUFaXNRzETTQEEItTOP8Y171ijr+JLq42wHes3DiryR8vT+1TXQW/Rx8JNUhyYYWyIvjXTU6dOhJcs9Nw==", - "dev": true, - "dependencies": { - "@sinonjs/commons": "^2.0.0", - "@sinonjs/fake-timers": "^10.0.2", - "@sinonjs/text-encoding": "^0.7.1", - "just-extend": "^4.0.2", - "path-to-regexp": "^1.7.0" - } - }, - "node_modules/nise/node_modules/@sinonjs/commons": { + "node_modules/isexe": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", - "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", - "dev": true, - "dependencies": { - "type-detect": "4.0.8" - } - }, - "node_modules/nise/node_modules/@sinonjs/fake-timers": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", - "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", - "dev": true, - "dependencies": { - "@sinonjs/commons": "^3.0.0" - } + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true }, - "node_modules/nise/node_modules/@sinonjs/fake-timers/node_modules/@sinonjs/commons": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", - "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", + "node_modules/istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", "dev": true, - "dependencies": { - "type-detect": "4.0.8" + "engines": { + "node": ">=8" } }, - "node_modules/node-preload": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz", - "integrity": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==", + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", "dev": true, "dependencies": { - "process-on-spawn": "^1.0.0" + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/node-releases": { - "version": "1.1.73", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.73.tgz", - "integrity": "sha512-uW7fodD6pyW2FZNZnp/Z3hvWKeEW1Y8R1+1CnErE8cXFXzl5blBOoVB41CvMer6P6Q0S5FXDwcHgFd1Wj0U9zg==", - "dev": 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==", + "node_modules/istanbul-lib-report/node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", "dev": true, + "dependencies": { + "semver": "^7.5.3" + }, "engines": { - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/nyc": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz", - "integrity": "sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==", + "node_modules/istanbul-lib-report/node_modules/semver": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", "dev": true, - "dependencies": { - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "caching-transform": "^4.0.0", - "convert-source-map": "^1.7.0", - "decamelize": "^1.2.0", - "find-cache-dir": "^3.2.0", - "find-up": "^4.1.0", - "foreground-child": "^2.0.0", - "get-package-type": "^0.1.0", - "glob": "^7.1.6", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-hook": "^3.0.0", - "istanbul-lib-instrument": "^4.0.0", - "istanbul-lib-processinfo": "^2.0.2", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.0.2", - "make-dir": "^3.0.0", - "node-preload": "^0.2.1", - "p-map": "^3.0.0", - "process-on-spawn": "^1.0.0", - "resolve-from": "^5.0.0", - "rimraf": "^3.0.0", - "signal-exit": "^3.0.2", - "spawn-wrap": "^2.0.0", - "test-exclude": "^6.0.0", - "yargs": "^15.0.2" - }, "bin": { - "nyc": "bin/nyc.js" + "semver": "bin/semver.js" }, "engines": { - "node": ">=8.9" - } - }, - "node_modules/nyc/node_modules/cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" + "node": ">=10" } }, - "node_modules/nyc/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "node_modules/istanbul-lib-report/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": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" + "has-flag": "^4.0.0" }, "engines": { "node": ">=8" } }, - "node_modules/nyc/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "node_modules/istanbul-reports": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", + "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", "dev": true, "dependencies": { - "p-locate": "^4.1.0" + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" }, "engines": { "node": ">=8" } }, - "node_modules/nyc/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "node_modules/local-pkg": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.0.tgz", + "integrity": "sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==", "dev": true, "dependencies": { - "p-try": "^2.0.0" + "mlly": "^1.4.2", + "pkg-types": "^1.0.3" }, "engines": { - "node": ">=6" + "node": ">=14" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/antfu" } }, - "node_modules/nyc/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "node_modules/loupe": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", + "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", "dev": true, "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" + "get-func-name": "^2.0.1" } }, - "node_modules/nyc/node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "node_modules/magic-string": { + "version": "0.30.10", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.10.tgz", + "integrity": "sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==", "dev": true, "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" + "@jridgewell/sourcemap-codec": "^1.4.15" + } + }, + "node_modules/magicast": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.3.4.tgz", + "integrity": "sha512-TyDF/Pn36bBji9rWKHlZe+PZb6Mx5V8IHCSxk7X4aljM4e/vyDvZZYwHewdVaqiA0nb3ghfHU/6AUpDxWoER2Q==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.24.4", + "@babel/types": "^7.24.0", + "source-map-js": "^1.2.0" } }, - "node_modules/nyc/node_modules/y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", "dev": true }, - "node_modules/nyc/node_modules/yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", "dev": true, - "dependencies": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - }, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/nyc/node_modules/yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=6" + "node": "*" } }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "node_modules/mlly": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.7.1.tgz", + "integrity": "sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA==", "dev": true, "dependencies": { - "wrappy": "1" + "acorn": "^8.11.3", + "pathe": "^1.1.2", + "pkg-types": "^1.1.1", + "ufo": "^1.5.3" } }, - "node_modules/optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", "dev": true, - "dependencies": { - "@aashutoshrathi/word-wrap": "^1.2.3", - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" }, "engines": { - "node": ">= 0.8.0" + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "node_modules/npm-run-path": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", "dev": true, "dependencies": { - "yocto-queue": "^0.1.0" + "path-key": "^4.0.0" }, "engines": { - "node": ">=10" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "node_modules/npm-run-path/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", "dev": true, - "dependencies": { - "p-limit": "^3.0.2" - }, "engines": { - "node": ">=10" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/p-map": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", - "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "dependencies": { - "aggregate-error": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/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==", - "dev": true, - "engines": { - "node": ">=6" + "wrappy": "1" } }, - "node_modules/package-hash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz", - "integrity": "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==", + "node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", "dev": true, "dependencies": { - "graceful-fs": "^4.1.15", - "hasha": "^5.0.0", - "lodash.flattendeep": "^4.4.0", - "release-zalgo": "^1.0.0" + "mimic-fn": "^4.0.0" }, "engines": { - "node": ">=8" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "dependencies": { - "callsites": "^3.0.0" + "node": ">=12" }, - "engines": { - "node": ">=6" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/path-is-absolute": { @@ -3006,20 +3081,10 @@ "node": ">=8" } }, - "node_modules/path-to-regexp": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.9.0.tgz", - "integrity": "sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==", - "dev": true, - "license": "MIT", - "dependencies": { - "isarray": "0.0.1" - } - }, - "node_modules/path-to-regexp/node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "node_modules/pathe": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", + "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", "dev": true }, "node_modules/pathval": { @@ -3031,299 +3096,130 @@ "node": "*" } }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "node_modules/picocolors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", + "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==", "dev": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } + "license": "ISC" }, - "node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "node_modules/pkg-types": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.1.1.tgz", + "integrity": "sha512-ko14TjmDuQJ14zsotODv7dBlwxKhUKQEhuhmbqo1uCi9BB0Z2alo/wAXg6q1dTR5TyuqYyWhjtfe/Tsh+X28jQ==", "dev": true, "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" + "confbox": "^0.1.7", + "mlly": "^1.7.0", + "pathe": "^1.1.2" } }, - "node_modules/pkg-dir/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "node_modules/postcss": { + "version": "8.4.47", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", + "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" + "nanoid": "^3.3.7", + "picocolors": "^1.1.0", + "source-map-js": "^1.2.1" }, "engines": { - "node": ">=8" + "node": "^10 || ^12 || >=14" } }, - "node_modules/pkg-dir/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, "dependencies": { - "p-locate": "^4.1.0" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/pkg-dir/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, "engines": { - "node": ">=6" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/pkg-dir/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" + "node_modules/ramda": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.28.0.tgz", + "integrity": "sha512-9QnLuG/kPVgWvMQ4aODhsBUFKOUmnbUnsSXACv+NCQZcHbeb+v8Lodp8OVxtRULN1/xOyYLLaL6npE6dMq5QTA==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/ramda" } }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } + "node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true }, - "node_modules/process-on-spawn": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz", - "integrity": "sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==", + "node_modules/rollup": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.22.4.tgz", + "integrity": "sha512-vD8HJ5raRcWOyymsR6Z3o6+RzfEPCnVLMFJ6vRslO1jt4LO6dUo5Qnpg7y4RkZFM2DMe3WUirkI5c16onjrc6A==", "dev": true, + "license": "MIT", "dependencies": { - "fromentries": "^1.2.0" + "@types/estree": "1.0.5" + }, + "bin": { + "rollup": "dist/bin/rollup" }, "engines": { - "node": ">=8" + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.22.4", + "@rollup/rollup-android-arm64": "4.22.4", + "@rollup/rollup-darwin-arm64": "4.22.4", + "@rollup/rollup-darwin-x64": "4.22.4", + "@rollup/rollup-linux-arm-gnueabihf": "4.22.4", + "@rollup/rollup-linux-arm-musleabihf": "4.22.4", + "@rollup/rollup-linux-arm64-gnu": "4.22.4", + "@rollup/rollup-linux-arm64-musl": "4.22.4", + "@rollup/rollup-linux-powerpc64le-gnu": "4.22.4", + "@rollup/rollup-linux-riscv64-gnu": "4.22.4", + "@rollup/rollup-linux-s390x-gnu": "4.22.4", + "@rollup/rollup-linux-x64-gnu": "4.22.4", + "@rollup/rollup-linux-x64-musl": "4.22.4", + "@rollup/rollup-win32-arm64-msvc": "4.22.4", + "@rollup/rollup-win32-ia32-msvc": "4.22.4", + "@rollup/rollup-win32-x64-msvc": "4.22.4", + "fsevents": "~2.3.2" } }, - "node_modules/punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==", - "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==", - "dev": true, - "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/ramda": { - "version": "0.28.0", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.28.0.tgz", - "integrity": "sha512-9QnLuG/kPVgWvMQ4aODhsBUFKOUmnbUnsSXACv+NCQZcHbeb+v8Lodp8OVxtRULN1/xOyYLLaL6npE6dMq5QTA==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/ramda" - } - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/release-zalgo": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz", - "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=", - "dev": true, - "dependencies": { - "es6-error": "^4.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, - "node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true, - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rewire": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/rewire/-/rewire-7.0.0.tgz", - "integrity": "sha512-DyyNyzwMtGYgu0Zl/ya0PR/oaunM+VuCuBxCuhYJHHaV0V+YvYa3bBGxb5OZ71vndgmp1pYY8F4YOwQo1siRGw==", - "dev": true, - "dependencies": { - "eslint": "^8.47.0" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "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==", - "dev": true, - "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/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==", - "dev": true - }, - "node_modules/sax": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz", - "integrity": "sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA==" - }, - "node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", - "dev": true, - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "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=", - "dev": true - }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -3345,145 +3241,69 @@ "node": ">=8" } }, - "node_modules/signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", + "node_modules/siginfo": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", + "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", "dev": true }, - "node_modules/sinon": { - "version": "17.0.0", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-17.0.0.tgz", - "integrity": "sha512-p4lJiYKBoOEVUxxVIC9H1MM2znG1/c8gud++I2BauJA5hsz7hHsst35eurNWXTusBsIq66FzOQbZ/uMdpvbPIQ==", - "dev": true, - "dependencies": { - "@sinonjs/commons": "^3.0.0", - "@sinonjs/fake-timers": "^11.2.2", - "@sinonjs/samsam": "^8.0.0", - "diff": "^5.1.0", - "nise": "^5.1.5", - "supports-color": "^7.2.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/sinon" - } - }, - "node_modules/sinon/node_modules/diff": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", - "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==", - "dev": true, - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/sinon/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/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, - "node_modules/spawn-wrap": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz", - "integrity": "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==", - "dev": true, - "dependencies": { - "foreground-child": "^2.0.0", - "is-windows": "^1.0.2", - "make-dir": "^3.0.0", - "rimraf": "^3.0.0", - "signal-exit": "^3.0.2", - "which": "^2.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "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/stackback": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", + "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", "dev": true }, - "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==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "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==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true, - "engines": { - "node": ">=8" - } + "node_modules/std-env": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz", + "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==", + "dev": true }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", "dev": true, "engines": { - "node": ">=8" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", + "node_modules/strip-literal": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-2.1.0.tgz", + "integrity": "sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==", "dev": true, "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" + "js-tokens": "^9.0.0" }, "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "url": "https://github.com/sponsors/antfu" } }, + "node_modules/strip-literal/node_modules/js-tokens": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.0.tgz", + "integrity": "sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==", + "dev": true + }, + "node_modules/strnum": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", + "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" + }, "node_modules/test-exclude": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", @@ -3498,45 +3318,44 @@ "node": ">=8" } }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "node_modules/tinybench": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.8.0.tgz", + "integrity": "sha512-1/eK7zUnIklz4JUUlL+658n58XO2hHLQfSk1Zf2LKieUjxidN16eKFEoDEfjHc3ohofSSqK3X5yO6VGb6iW8Lw==", "dev": true }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "node_modules/tinypool": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.8.4.tgz", + "integrity": "sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ==", "dev": true, "engines": { - "node": ">=4" + "node": ">=14.0.0" } }, - "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==", + "node_modules/tinyspy": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-2.2.1.tgz", + "integrity": "sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==", "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, "engines": { - "node": ">=8.0" + "node": ">=14.0.0" } }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1" - }, "engines": { - "node": ">= 0.8.0" + "node": ">=4" } }, + "node_modules/tslib": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==" + }, "node_modules/type-detect": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", @@ -3546,2731 +3365,2528 @@ "node": ">=4" } }, - "node_modules/type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "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==", - "dev": true, - "dependencies": { - "is-typedarray": "^1.0.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/url": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz", - "integrity": "sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ==", - "dependencies": { - "punycode": "1.3.2", - "querystring": "0.2.0" - } - }, - "node_modules/url/node_modules/punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==" - }, - "node_modules/util": { - "version": "0.12.5", - "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", - "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", - "dependencies": { - "inherits": "^2.0.3", - "is-arguments": "^1.0.4", - "is-generator-function": "^1.0.7", - "is-typed-array": "^1.1.3", - "which-typed-array": "^1.1.2" - } - }, - "node_modules/uuid": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.0.0.tgz", - "integrity": "sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw==", - "bin": { - "uuid": "dist/bin/uuid" - } + "node_modules/ufo": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.5.3.tgz", + "integrity": "sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==", + "dev": true }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "node_modules/vite": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.6.tgz", + "integrity": "sha512-IeL5f8OO5nylsgzd9tq4qD2QqI0k2CQLGrWD0rCN0EQJZpBK5vJAx0I+GDkMOXxQX/OfFHMuLIx6ddAxGX/k+Q==", "dev": true, + "license": "MIT", "dependencies": { - "isexe": "^2.0.0" + "esbuild": "^0.21.3", + "postcss": "^8.4.43", + "rollup": "^4.20.0" }, "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, - "node_modules/which-typed-array": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", - "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", - "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0", - "is-typed-array": "^1.1.10" + "vite": "bin/vite.js" }, "engines": { - "node": ">= 0.4" + "node": "^18.0.0 || >=20.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/workerpool": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", - "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==", - "dev": true - }, - "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==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "url": "https://github.com/vitejs/vite?sponsor=1" }, - "engines": { - "node": ">=10" + "optionalDependencies": { + "fsevents": "~2.3.3" }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "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/xml2js": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.6.2.tgz", - "integrity": "sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA==", - "dependencies": { - "sax": ">=0.6.0", - "xmlbuilder": "~11.0.0" + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/xmlbuilder": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", - "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, - "engines": { - "node": ">=10" + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } } }, - "node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "node_modules/vite-node": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.6.0.tgz", + "integrity": "sha512-de6HJgzC+TFzOu0NTC4RAIsyf/DY/ibWDYQUcuEA84EMHhcefTUGkjFHKKEJhQN4A+6I0u++kr3l36ZF2d7XRw==", "dev": true, "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" + "cac": "^6.7.14", + "debug": "^4.3.4", + "pathe": "^1.1.1", + "picocolors": "^1.0.0", + "vite": "^5.0.0" }, - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs-unparser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", - "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", - "dev": true, - "dependencies": { - "camelcase": "^6.0.0", - "decamelize": "^4.0.0", - "flat": "^5.0.2", - "is-plain-obj": "^2.1.0" + "bin": { + "vite-node": "vite-node.mjs" }, "engines": { - "node": ">=10" - } - }, - "node_modules/yargs-unparser/node_modules/camelcase": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", - "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", - "dev": true, - "engines": { - "node": ">=10" + "node": "^18.0.0 || >=20.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://opencollective.com/vitest" } }, - "node_modules/yargs-unparser/node_modules/decamelize": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", - "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", + "node_modules/vitest": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.6.0.tgz", + "integrity": "sha512-H5r/dN06swuFnzNFhq/dnz37bPXnq8xB2xB5JOVk8K09rUtoeNN+LHWkoQ0A/i3hvbUKKcCei9KpbxqHMLhLLA==", "dev": true, - "engines": { - "node": ">=10" + "dependencies": { + "@vitest/expect": "1.6.0", + "@vitest/runner": "1.6.0", + "@vitest/snapshot": "1.6.0", + "@vitest/spy": "1.6.0", + "@vitest/utils": "1.6.0", + "acorn-walk": "^8.3.2", + "chai": "^4.3.10", + "debug": "^4.3.4", + "execa": "^8.0.1", + "local-pkg": "^0.5.0", + "magic-string": "^0.30.5", + "pathe": "^1.1.1", + "picocolors": "^1.0.0", + "std-env": "^3.5.0", + "strip-literal": "^2.0.0", + "tinybench": "^2.5.1", + "tinypool": "^0.8.3", + "vite": "^5.0.0", + "vite-node": "1.6.0", + "why-is-node-running": "^2.2.2" + }, + "bin": { + "vitest": "vitest.mjs" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, "engines": { - "node": ">=10" + "node": "^18.0.0 || >=20.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - }, - "dependencies": { - "@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", - "dev": true - }, - "@babel/code-frame": { - "version": "7.22.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", - "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", - "dev": true, - "requires": { - "@babel/highlight": "^7.22.13", - "chalk": "^2.4.2" + "url": "https://opencollective.com/vitest" }, - "dependencies": { - "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==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } + "peerDependencies": { + "@edge-runtime/vm": "*", + "@types/node": "^18.0.0 || >=20.0.0", + "@vitest/browser": "1.6.0", + "@vitest/ui": "1.6.0", + "happy-dom": "*", + "jsdom": "*" + }, + "peerDependenciesMeta": { + "@edge-runtime/vm": { + "optional": true }, - "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==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } + "@types/node": { + "optional": true }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true + "@vitest/browser": { + "optional": true }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true + "@vitest/ui": { + "optional": true }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true + "happy-dom": { + "optional": true }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } + "jsdom": { + "optional": true } } }, - "@babel/compat-data": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.15.0.tgz", - "integrity": "sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA==", - "dev": true - }, - "@babel/core": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.0.tgz", - "integrity": "sha512-tXtmTminrze5HEUPn/a0JtOzzfp0nk+UEXQ/tqIJo3WDGypl/2OFQEMll/zSFU8f/lfmfLXvTaORHF3cfXIQMw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.15.0", - "@babel/helper-compilation-targets": "^7.15.0", - "@babel/helper-module-transforms": "^7.15.0", - "@babel/helpers": "^7.14.8", - "@babel/parser": "^7.15.0", - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.15.0", - "@babel/types": "^7.15.0", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.1.2", - "semver": "^6.3.0", - "source-map": "^0.5.0" - } - }, - "@babel/generator": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", - "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, - "requires": { - "@babel/types": "^7.23.0", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" } }, - "@babel/helper-compilation-targets": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.0.tgz", - "integrity": "sha512-h+/9t0ncd4jfZ8wsdAsoIxSa61qhBYlycXiHWqJaQBCXAhDCMbPRSMTGnZIkkmt1u4ag+UQmuqcILwqKzZ4N2A==", + "node_modules/why-is-node-running": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.2.2.tgz", + "integrity": "sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==", "dev": true, - "requires": { - "@babel/compat-data": "^7.15.0", - "@babel/helper-validator-option": "^7.14.5", - "browserslist": "^4.16.6", - "semver": "^6.3.0" + "dependencies": { + "siginfo": "^2.0.0", + "stackback": "0.0.2" + }, + "bin": { + "why-is-node-running": "cli.js" + }, + "engines": { + "node": ">=8" } }, - "@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true - }, - "@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", - "dev": true, - "requires": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.0.tgz", - "integrity": "sha512-Jq8H8U2kYiafuj2xMTPQwkTBnEEdGKpT35lJEQsRRjnG0LW3neucsaMWLgKcwu3OHKNeYugfw+Z20BXBSEs2Lg==", - "dev": true, - "requires": { - "@babel/types": "^7.15.0" - } - }, - "@babel/helper-module-imports": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz", - "integrity": "sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ==", - "dev": true, - "requires": { - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-module-transforms": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.0.tgz", - "integrity": "sha512-RkGiW5Rer7fpXv9m1B3iHIFDZdItnO2/BLfWVW/9q7+KqQSDY5kUfQEbzdXM1MVhJGcugKV7kRrNVzNxmk7NBg==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.14.5", - "@babel/helper-replace-supers": "^7.15.0", - "@babel/helper-simple-access": "^7.14.8", - "@babel/helper-split-export-declaration": "^7.14.5", - "@babel/helper-validator-identifier": "^7.14.9", - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.15.0", - "@babel/types": "^7.15.0" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz", - "integrity": "sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA==", - "dev": true, - "requires": { - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-replace-supers": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.0.tgz", - "integrity": "sha512-6O+eWrhx+HEra/uJnifCwhwMd6Bp5+ZfZeJwbqUTuqkhIT6YcRhiZCOOFChRypOIe0cV46kFrRBlm+t5vHCEaA==", - "dev": true, - "requires": { - "@babel/helper-member-expression-to-functions": "^7.15.0", - "@babel/helper-optimise-call-expression": "^7.14.5", - "@babel/traverse": "^7.15.0", - "@babel/types": "^7.15.0" - } - }, - "@babel/helper-simple-access": { - "version": "7.14.8", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.14.8.tgz", - "integrity": "sha512-TrFN4RHh9gnWEU+s7JloIho2T76GPwRHhdzOWLqTrMnlas8T9O7ec+oEDNsRXndOmru9ymH9DFrEOxpzPoSbdg==", + } + }, + "dependencies": { + "@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", "dev": true, "requires": { - "@babel/types": "^7.14.8" + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" } }, - "@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", - "dev": true, + "@aws-crypto/crc32": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-5.2.0.tgz", + "integrity": "sha512-nLbCWqQNgUiwwtFsen1AdzAtvuLRsQS8rYgMuxCrdKf9kOssamGLuPwyTY9wyYblNr9+1XM8v6zoDTPPSIeANg==", "requires": { - "@babel/types": "^7.22.5" + "@aws-crypto/util": "^5.2.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^2.6.2" } }, - "@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", - "dev": true - }, - "@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", - "dev": true - }, - "@babel/helper-validator-option": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz", - "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==", - "dev": true - }, - "@babel/helpers": { - "version": "7.14.8", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.14.8.tgz", - "integrity": "sha512-ZRDmI56pnV+p1dH6d+UN6GINGz7Krps3+270qqI9UJ4wxYThfAIcI5i7j5vXC4FJ3Wap+S9qcebxeYiqn87DZw==", - "dev": true, + "@aws-crypto/crc32c": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/crc32c/-/crc32c-5.2.0.tgz", + "integrity": "sha512-+iWb8qaHLYKrNvGRbiYRHSdKRWhto5XlZUEBwDjYNf+ly5SVYG6zEoYIdxvf5R3zyeP16w4PLBn3rH1xc74Rag==", "requires": { - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.14.8", - "@babel/types": "^7.14.8" + "@aws-crypto/util": "^5.2.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^2.6.2" } }, - "@babel/highlight": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", - "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", - "dev": true, + "@aws-crypto/sha1-browser": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha1-browser/-/sha1-browser-5.2.0.tgz", + "integrity": "sha512-OH6lveCFfcDjX4dbAvCFSYUjJZjDr/3XJ3xHtjn3Oj5b9RjojQo8npoLeA/bNwkOkrSQ0wgrHzXk4tDRxGKJeg==", "requires": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" + "@aws-crypto/supports-web-crypto": "^5.2.0", + "@aws-crypto/util": "^5.2.0", + "@aws-sdk/types": "^3.222.0", + "@aws-sdk/util-locate-window": "^3.0.0", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.6.2" }, "dependencies": { - "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==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, + "@smithy/is-array-buffer": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz", + "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==", "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "tslib": "^2.6.2" } }, - "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==", - "dev": true, + "@smithy/util-buffer-from": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz", + "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==", "requires": { - "color-name": "1.1.3" + "@smithy/is-array-buffer": "^2.2.0", + "tslib": "^2.6.2" } }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "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=", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, + "@smithy/util-utf8": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz", + "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==", "requires": { - "has-flag": "^3.0.0" + "@smithy/util-buffer-from": "^2.2.0", + "tslib": "^2.6.2" } } } }, - "@babel/parser": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", - "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", - "dev": true - }, - "@babel/template": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", - "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.22.13", - "@babel/parser": "^7.22.15", - "@babel/types": "^7.22.15" - } - }, - "@babel/traverse": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", - "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.23.0", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.0", - "@babel/types": "^7.23.0", - "debug": "^4.1.0", - "globals": "^11.1.0" - } - }, - "@babel/types": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", - "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", - "dev": true, - "requires": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.20", - "to-fast-properties": "^2.0.0" - } - }, - "@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^3.3.0" - } - }, - "@eslint-community/regexpp": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.9.1.tgz", - "integrity": "sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==", - "dev": true - }, - "@eslint/eslintrc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", - "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", - "dev": true, + "@aws-crypto/sha256-browser": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-5.2.0.tgz", + "integrity": "sha512-AXfN/lGotSQwu6HNcEsIASo7kWXZ5HYWvfOmSNKDsEqC4OashTp8alTmaz+F7TC2L083SFv5RdB+qU3Vs1kZqw==", "requires": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" + "@aws-crypto/sha256-js": "^5.2.0", + "@aws-crypto/supports-web-crypto": "^5.2.0", + "@aws-crypto/util": "^5.2.0", + "@aws-sdk/types": "^3.222.0", + "@aws-sdk/util-locate-window": "^3.0.0", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.6.2" }, "dependencies": { - "globals": { - "version": "13.23.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", - "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", - "dev": true, + "@smithy/is-array-buffer": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz", + "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==", "requires": { - "type-fest": "^0.20.2" + "tslib": "^2.6.2" } }, - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true + "@smithy/util-buffer-from": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz", + "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==", + "requires": { + "@smithy/is-array-buffer": "^2.2.0", + "tslib": "^2.6.2" + } + }, + "@smithy/util-utf8": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz", + "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==", + "requires": { + "@smithy/util-buffer-from": "^2.2.0", + "tslib": "^2.6.2" + } } } }, - "@eslint/js": { - "version": "8.51.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.51.0.tgz", - "integrity": "sha512-HxjQ8Qn+4SI3/AFv6sOrDB+g6PpUTDwSJiQqOrnneEk8L71161srI9gjzzZvYVbzHiVg/BvcH95+cK/zfIt4pg==", - "dev": true - }, - "@humanwhocodes/config-array": { - "version": "0.11.13", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", - "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==", - "dev": true, + "@aws-crypto/sha256-js": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-5.2.0.tgz", + "integrity": "sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA==", "requires": { - "@humanwhocodes/object-schema": "^2.0.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" + "@aws-crypto/util": "^5.2.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^2.6.2" } }, - "@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true - }, - "@humanwhocodes/object-schema": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz", - "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==", - "dev": true + "@aws-crypto/supports-web-crypto": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-5.2.0.tgz", + "integrity": "sha512-iAvUotm021kM33eCdNfwIN//F77/IADDSs58i+MDaOqFrVjZo9bAal0NK7HurRuWLLpF1iLX7gbWrjHjeo+YFg==", + "requires": { + "tslib": "^2.6.2" + } }, - "@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "dev": true, + "@aws-crypto/util": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-5.2.0.tgz", + "integrity": "sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==", "requires": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, - "dependencies": { - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "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==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, + "@aws-sdk/types": "^3.222.0", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.6.2" + }, + "dependencies": { + "@smithy/is-array-buffer": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz", + "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==", "requires": { - "p-locate": "^4.1.0" + "tslib": "^2.6.2" } }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, + "@smithy/util-buffer-from": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz", + "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==", "requires": { - "p-try": "^2.0.0" + "@smithy/is-array-buffer": "^2.2.0", + "tslib": "^2.6.2" } }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, + "@smithy/util-utf8": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz", + "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==", "requires": { - "p-limit": "^2.2.0" + "@smithy/util-buffer-from": "^2.2.0", + "tslib": "^2.6.2" } } } }, - "@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", - "dev": true + "@aws-sdk/client-glue": { + "version": "3.645.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-glue/-/client-glue-3.645.0.tgz", + "integrity": "sha512-Y+LsIX50lnS4uAm/gtUeBiPkp9cst8q3NHiamQ4lkwic0EgRsr8fwLbjaxQg0PCi7tI6J3wCh6za59dg9pRTvg==", + "requires": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/client-sso-oidc": "3.645.0", + "@aws-sdk/client-sts": "3.645.0", + "@aws-sdk/core": "3.635.0", + "@aws-sdk/credential-provider-node": "3.645.0", + "@aws-sdk/middleware-host-header": "3.620.0", + "@aws-sdk/middleware-logger": "3.609.0", + "@aws-sdk/middleware-recursion-detection": "3.620.0", + "@aws-sdk/middleware-user-agent": "3.645.0", + "@aws-sdk/region-config-resolver": "3.614.0", + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.645.0", + "@aws-sdk/util-user-agent-browser": "3.609.0", + "@aws-sdk/util-user-agent-node": "3.614.0", + "@smithy/config-resolver": "^3.0.5", + "@smithy/core": "^2.4.0", + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/hash-node": "^3.0.3", + "@smithy/invalid-dependency": "^3.0.3", + "@smithy/middleware-content-length": "^3.0.5", + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-retry": "^3.0.15", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.2.0", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.15", + "@smithy/util-defaults-mode-node": "^3.0.15", + "@smithy/util-endpoints": "^2.0.5", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/client-s3": { + "version": "3.645.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.645.0.tgz", + "integrity": "sha512-RjT/mfNv4yr1uv/+aEXgSIxC5EB+yHPSU7hH0KZOZrvZEFASLl0i4FeoHzbMEOH5KdKGAi0uu3zRP3D1y45sKg==", + "requires": { + "@aws-crypto/sha1-browser": "5.2.0", + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/client-sso-oidc": "3.645.0", + "@aws-sdk/client-sts": "3.645.0", + "@aws-sdk/core": "3.635.0", + "@aws-sdk/credential-provider-node": "3.645.0", + "@aws-sdk/middleware-bucket-endpoint": "3.620.0", + "@aws-sdk/middleware-expect-continue": "3.620.0", + "@aws-sdk/middleware-flexible-checksums": "3.620.0", + "@aws-sdk/middleware-host-header": "3.620.0", + "@aws-sdk/middleware-location-constraint": "3.609.0", + "@aws-sdk/middleware-logger": "3.609.0", + "@aws-sdk/middleware-recursion-detection": "3.620.0", + "@aws-sdk/middleware-sdk-s3": "3.635.0", + "@aws-sdk/middleware-ssec": "3.609.0", + "@aws-sdk/middleware-user-agent": "3.645.0", + "@aws-sdk/region-config-resolver": "3.614.0", + "@aws-sdk/signature-v4-multi-region": "3.635.0", + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.645.0", + "@aws-sdk/util-user-agent-browser": "3.609.0", + "@aws-sdk/util-user-agent-node": "3.614.0", + "@aws-sdk/xml-builder": "3.609.0", + "@smithy/config-resolver": "^3.0.5", + "@smithy/core": "^2.4.0", + "@smithy/eventstream-serde-browser": "^3.0.6", + "@smithy/eventstream-serde-config-resolver": "^3.0.3", + "@smithy/eventstream-serde-node": "^3.0.5", + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/hash-blob-browser": "^3.1.2", + "@smithy/hash-node": "^3.0.3", + "@smithy/hash-stream-node": "^3.1.2", + "@smithy/invalid-dependency": "^3.0.3", + "@smithy/md5-js": "^3.0.3", + "@smithy/middleware-content-length": "^3.0.5", + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-retry": "^3.0.15", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.2.0", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.15", + "@smithy/util-defaults-mode-node": "^3.0.15", + "@smithy/util-endpoints": "^2.0.5", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "@smithy/util-stream": "^3.1.3", + "@smithy/util-utf8": "^3.0.0", + "@smithy/util-waiter": "^3.1.2", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/client-sso": { + "version": "3.645.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.645.0.tgz", + "integrity": "sha512-2rc8TjnsNddOeKQ/pfNN7deNvGLXAeKeYtHtGDAiM2qfTKxd2sNcAsZ+JCDLyshuD4xLM5fpUyR0X8As9EAouQ==", + "requires": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "3.635.0", + "@aws-sdk/middleware-host-header": "3.620.0", + "@aws-sdk/middleware-logger": "3.609.0", + "@aws-sdk/middleware-recursion-detection": "3.620.0", + "@aws-sdk/middleware-user-agent": "3.645.0", + "@aws-sdk/region-config-resolver": "3.614.0", + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.645.0", + "@aws-sdk/util-user-agent-browser": "3.609.0", + "@aws-sdk/util-user-agent-node": "3.614.0", + "@smithy/config-resolver": "^3.0.5", + "@smithy/core": "^2.4.0", + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/hash-node": "^3.0.3", + "@smithy/invalid-dependency": "^3.0.3", + "@smithy/middleware-content-length": "^3.0.5", + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-retry": "^3.0.15", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.2.0", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.15", + "@smithy/util-defaults-mode-node": "^3.0.15", + "@smithy/util-endpoints": "^2.0.5", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/client-sso-oidc": { + "version": "3.645.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.645.0.tgz", + "integrity": "sha512-X9ULtdk3cO+1ysurEkJ1MSnu6U00qodXx+IVual+1jXX4RYY1WmQmfo7uDKf6FFkz7wW1DAqU+GJIBNQr0YH8A==", + "requires": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "3.635.0", + "@aws-sdk/credential-provider-node": "3.645.0", + "@aws-sdk/middleware-host-header": "3.620.0", + "@aws-sdk/middleware-logger": "3.609.0", + "@aws-sdk/middleware-recursion-detection": "3.620.0", + "@aws-sdk/middleware-user-agent": "3.645.0", + "@aws-sdk/region-config-resolver": "3.614.0", + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.645.0", + "@aws-sdk/util-user-agent-browser": "3.609.0", + "@aws-sdk/util-user-agent-node": "3.614.0", + "@smithy/config-resolver": "^3.0.5", + "@smithy/core": "^2.4.0", + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/hash-node": "^3.0.3", + "@smithy/invalid-dependency": "^3.0.3", + "@smithy/middleware-content-length": "^3.0.5", + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-retry": "^3.0.15", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.2.0", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.15", + "@smithy/util-defaults-mode-node": "^3.0.15", + "@smithy/util-endpoints": "^2.0.5", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/client-sts": { + "version": "3.645.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.645.0.tgz", + "integrity": "sha512-6azXYtvtnAsPf2ShN9vKynIYVcJOpo6IoVmoMAVgNaBJyllP+s/RORzranYZzckqfmrudSxtct4rVapjLWuAMg==", + "requires": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/client-sso-oidc": "3.645.0", + "@aws-sdk/core": "3.635.0", + "@aws-sdk/credential-provider-node": "3.645.0", + "@aws-sdk/middleware-host-header": "3.620.0", + "@aws-sdk/middleware-logger": "3.609.0", + "@aws-sdk/middleware-recursion-detection": "3.620.0", + "@aws-sdk/middleware-user-agent": "3.645.0", + "@aws-sdk/region-config-resolver": "3.614.0", + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.645.0", + "@aws-sdk/util-user-agent-browser": "3.609.0", + "@aws-sdk/util-user-agent-node": "3.614.0", + "@smithy/config-resolver": "^3.0.5", + "@smithy/core": "^2.4.0", + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/hash-node": "^3.0.3", + "@smithy/invalid-dependency": "^3.0.3", + "@smithy/middleware-content-length": "^3.0.5", + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-retry": "^3.0.15", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.2.0", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.15", + "@smithy/util-defaults-mode-node": "^3.0.15", + "@smithy/util-endpoints": "^2.0.5", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/core": { + "version": "3.635.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.635.0.tgz", + "integrity": "sha512-i1x/E/sgA+liUE1XJ7rj1dhyXpAKO1UKFUcTTHXok2ARjWTvszHnSXMOsB77aPbmn0fUp1JTx2kHUAZ1LVt5Bg==", + "requires": { + "@smithy/core": "^2.4.0", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/property-provider": "^3.1.3", + "@smithy/protocol-http": "^4.1.0", + "@smithy/signature-v4": "^4.1.0", + "@smithy/smithy-client": "^3.2.0", + "@smithy/types": "^3.3.0", + "@smithy/util-middleware": "^3.0.3", + "fast-xml-parser": "4.4.1", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/credential-provider-env": { + "version": "3.620.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.620.1.tgz", + "integrity": "sha512-ExuILJ2qLW5ZO+rgkNRj0xiAipKT16Rk77buvPP8csR7kkCflT/gXTyzRe/uzIiETTxM7tr8xuO9MP/DQXqkfg==", + "requires": { + "@aws-sdk/types": "3.609.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/credential-provider-http": { + "version": "3.635.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.635.0.tgz", + "integrity": "sha512-iJyRgEjOCQlBMXqtwPLIKYc7Bsc6nqjrZybdMDenPDa+kmLg7xh8LxHsu9088e+2/wtLicE34FsJJIfzu3L82g==", + "requires": { + "@aws-sdk/types": "3.609.0", + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/property-provider": "^3.1.3", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.2.0", + "@smithy/types": "^3.3.0", + "@smithy/util-stream": "^3.1.3", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/credential-provider-ini": { + "version": "3.645.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.645.0.tgz", + "integrity": "sha512-LlZW0qwUwNlTaAIDCNpLbPsyXvS42pRIwF92fgtCQedmdnpN3XRUC6hcwSYI7Xru3GGKp3RnceOvsdOaRJORsw==", + "requires": { + "@aws-sdk/credential-provider-env": "3.620.1", + "@aws-sdk/credential-provider-http": "3.635.0", + "@aws-sdk/credential-provider-process": "3.620.1", + "@aws-sdk/credential-provider-sso": "3.645.0", + "@aws-sdk/credential-provider-web-identity": "3.621.0", + "@aws-sdk/types": "3.609.0", + "@smithy/credential-provider-imds": "^3.2.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/credential-provider-node": { + "version": "3.645.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.645.0.tgz", + "integrity": "sha512-eGFFuNvLeXjCJf5OCIuSEflxUowmK+bCS+lK4M8ofsYOEGAivdx7C0UPxNjHpvM8wKd8vpMl5phTeS9BWX5jMQ==", + "requires": { + "@aws-sdk/credential-provider-env": "3.620.1", + "@aws-sdk/credential-provider-http": "3.635.0", + "@aws-sdk/credential-provider-ini": "3.645.0", + "@aws-sdk/credential-provider-process": "3.620.1", + "@aws-sdk/credential-provider-sso": "3.645.0", + "@aws-sdk/credential-provider-web-identity": "3.621.0", + "@aws-sdk/types": "3.609.0", + "@smithy/credential-provider-imds": "^3.2.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/credential-provider-process": { + "version": "3.620.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.620.1.tgz", + "integrity": "sha512-hWqFMidqLAkaV9G460+1at6qa9vySbjQKKc04p59OT7lZ5cO5VH5S4aI05e+m4j364MBROjjk2ugNvfNf/8ILg==", + "requires": { + "@aws-sdk/types": "3.609.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/credential-provider-sso": { + "version": "3.645.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.645.0.tgz", + "integrity": "sha512-d6XuChAl5NCsCrUexc6AFb4efPmb9+66iwPylKG+iMTMYgO1ackfy1Q2/f35jdn0jolkPkzKsVyfzsEVoID6ew==", + "requires": { + "@aws-sdk/client-sso": "3.645.0", + "@aws-sdk/token-providers": "3.614.0", + "@aws-sdk/types": "3.609.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/credential-provider-web-identity": { + "version": "3.621.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.621.0.tgz", + "integrity": "sha512-w7ASSyfNvcx7+bYGep3VBgC3K6vEdLmlpjT7nSIHxxQf+WSdvy+HynwJosrpZax0sK5q0D1Jpn/5q+r5lwwW6w==", + "requires": { + "@aws-sdk/types": "3.609.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/middleware-bucket-endpoint": { + "version": "3.620.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.620.0.tgz", + "integrity": "sha512-eGLL0W6L3HDb3OACyetZYOWpHJ+gLo0TehQKeQyy2G8vTYXqNTeqYhuI6up9HVjBzU9eQiULVQETmgQs7TFaRg==", + "requires": { + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-arn-parser": "3.568.0", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "@smithy/util-config-provider": "^3.0.0", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/middleware-expect-continue": { + "version": "3.620.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.620.0.tgz", + "integrity": "sha512-QXeRFMLfyQ31nAHLbiTLtk0oHzG9QLMaof5jIfqcUwnOkO8YnQdeqzakrg1Alpy/VQ7aqzIi8qypkBe2KXZz0A==", + "requires": { + "@aws-sdk/types": "3.609.0", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/middleware-flexible-checksums": { + "version": "3.620.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.620.0.tgz", + "integrity": "sha512-ftz+NW7qka2sVuwnnO1IzBku5ccP+s5qZGeRTPgrKB7OzRW85gthvIo1vQR2w+OwHFk7WJbbhhWwbCbktnP4UA==", + "requires": { + "@aws-crypto/crc32": "5.2.0", + "@aws-crypto/crc32c": "5.2.0", + "@aws-sdk/types": "3.609.0", + "@smithy/is-array-buffer": "^3.0.0", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/middleware-host-header": { + "version": "3.620.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.620.0.tgz", + "integrity": "sha512-VMtPEZwqYrII/oUkffYsNWY9PZ9xpNJpMgmyU0rlDQ25O1c0Hk3fJmZRe6pEkAJ0omD7kLrqGl1DUjQVxpd/Rg==", + "requires": { + "@aws-sdk/types": "3.609.0", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/middleware-location-constraint": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.609.0.tgz", + "integrity": "sha512-xzsdoTkszGVqGVPjUmgoP7TORiByLueMHieI1fhQL888WPdqctwAx3ES6d/bA9Q/i8jnc6hs+Fjhy8UvBTkE9A==", + "requires": { + "@aws-sdk/types": "3.609.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/middleware-logger": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.609.0.tgz", + "integrity": "sha512-S62U2dy4jMDhDFDK5gZ4VxFdWzCtLzwbYyFZx2uvPYTECkepLUfzLic2BHg2Qvtu4QjX+oGE3P/7fwaGIsGNuQ==", + "requires": { + "@aws-sdk/types": "3.609.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/middleware-recursion-detection": { + "version": "3.620.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.620.0.tgz", + "integrity": "sha512-nh91S7aGK3e/o1ck64sA/CyoFw+gAYj2BDOnoNa6ouyCrVJED96ZXWbhye/fz9SgmNUZR2g7GdVpiLpMKZoI5w==", + "requires": { + "@aws-sdk/types": "3.609.0", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } }, - "@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", - "dev": true, + "@aws-sdk/middleware-sdk-s3": { + "version": "3.635.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.635.0.tgz", + "integrity": "sha512-RLdYJPEV4JL/7NBoFUs7VlP90X++5FlJdxHz0DzCjmiD3qCviKy+Cym3qg1gBgHwucs5XisuClxDrGokhAdTQw==", "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" + "@aws-sdk/core": "3.635.0", + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-arn-parser": "3.568.0", + "@smithy/core": "^2.4.0", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/signature-v4": "^4.1.0", + "@smithy/smithy-client": "^3.2.0", + "@smithy/types": "^3.3.0", + "@smithy/util-config-provider": "^3.0.0", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-stream": "^3.1.3", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" } }, - "@jridgewell/resolve-uri": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", - "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", - "dev": true - }, - "@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "dev": true - }, - "@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "dev": true - }, - "@jridgewell/trace-mapping": { - "version": "0.3.20", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", - "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", - "dev": true, + "@aws-sdk/middleware-ssec": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.609.0.tgz", + "integrity": "sha512-GZSD1s7+JswWOTamVap79QiDaIV7byJFssBW68GYjyRS5EBjNfwA/8s+6uE6g39R3ojyTbYOmvcANoZEhSULXg==", "requires": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" + "@aws-sdk/types": "3.609.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" } }, - "@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==", - "dev": true, + "@aws-sdk/middleware-user-agent": { + "version": "3.645.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.645.0.tgz", + "integrity": "sha512-NpTAtqWK+49lRuxfz7st9for80r4NriCMK0RfdJSoPFVntjsSQiQ7+2nW2XL05uVY633e9DvCAw8YatX3zd1mw==", "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.645.0", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" } }, - "@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==", - "dev": true - }, - "@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==", - "dev": true, + "@aws-sdk/region-config-resolver": { + "version": "3.614.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.614.0.tgz", + "integrity": "sha512-vDCeMXvic/LU0KFIUjpC3RiSTIkkvESsEfbVHiHH0YINfl8HnEqR5rj+L8+phsCeVg2+LmYwYxd5NRz4PHxt5g==", "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" + "@aws-sdk/types": "3.609.0", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/types": "^3.3.0", + "@smithy/util-config-provider": "^3.0.0", + "@smithy/util-middleware": "^3.0.3", + "tslib": "^2.6.2" } }, - "@sinonjs/commons": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", - "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", - "dev": true, + "@aws-sdk/signature-v4-multi-region": { + "version": "3.635.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.635.0.tgz", + "integrity": "sha512-J6QY4/invOkpogCHjSaDON1hF03viPpOnsrzVuCvJMmclS/iG62R4EY0wq1alYll0YmSdmKlpJwHMWwGtqK63Q==", "requires": { - "type-detect": "4.0.8" + "@aws-sdk/middleware-sdk-s3": "3.635.0", + "@aws-sdk/types": "3.609.0", + "@smithy/protocol-http": "^4.1.0", + "@smithy/signature-v4": "^4.1.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" } }, - "@sinonjs/fake-timers": { - "version": "11.2.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-11.2.2.tgz", - "integrity": "sha512-G2piCSxQ7oWOxwGSAyFHfPIsyeJGXYtc6mFbnFA+kRXkiEnTl8c/8jul2S329iFBnDI9HGoeWWAZvuvOkZccgw==", - "dev": true, + "@aws-sdk/token-providers": { + "version": "3.614.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.614.0.tgz", + "integrity": "sha512-okItqyY6L9IHdxqs+Z116y5/nda7rHxLvROxtAJdLavWTYDydxrZstImNgGWTeVdmc0xX2gJCI77UYUTQWnhRw==", "requires": { - "@sinonjs/commons": "^3.0.0" + "@aws-sdk/types": "3.609.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" } }, - "@sinonjs/samsam": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-8.0.0.tgz", - "integrity": "sha512-Bp8KUVlLp8ibJZrnvq2foVhP0IVX2CIprMJPK0vqGqgrDa0OHVKeZyBykqskkrdxV6yKBPmGasO8LVjAKR3Gew==", - "dev": true, + "@aws-sdk/types": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", + "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", "requires": { - "@sinonjs/commons": "^2.0.0", - "lodash.get": "^4.4.2", - "type-detect": "^4.0.8" - }, - "dependencies": { - "@sinonjs/commons": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", - "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", - "dev": true, - "requires": { - "type-detect": "4.0.8" - } - } + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" } }, - "@sinonjs/text-encoding": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.2.tgz", - "integrity": "sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ==", - "dev": true - }, - "acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", - "dev": true - }, - "acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "requires": {} - }, - "aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dev": true, + "@aws-sdk/util-arn-parser": { + "version": "3.568.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.568.0.tgz", + "integrity": "sha512-XUKJWWo+KOB7fbnPP0+g/o5Ulku/X53t7i/h+sPHr5xxYTJJ9CYnbToo95mzxe7xWvkLrsNtJ8L+MnNn9INs2w==", "requires": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" + "tslib": "^2.6.2" } }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, + "@aws-sdk/util-endpoints": { + "version": "3.645.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.645.0.tgz", + "integrity": "sha512-Oe+xaU4ic4PB1k3pb5VTC1/MWES13IlgpaQw01bVHGfwP6Yv6zZOxizRzca2Y3E+AyR+nKD7vXtHRY+w3bi4bg==", "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "@aws-sdk/types": "3.609.0", + "@smithy/types": "^3.3.0", + "@smithy/util-endpoints": "^2.0.5", + "tslib": "^2.6.2" } }, - "ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "dev": true - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true + "@aws-sdk/util-locate-window": { + "version": "3.568.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.568.0.tgz", + "integrity": "sha512-3nh4TINkXYr+H41QaPelCceEB2FXP3fxp93YZXB/kqJvX0U9j0N0Uk45gvsjmEPzG8XxkPEeLIfT2I1M7A6Lig==", + "requires": { + "tslib": "^2.6.2" + } }, - "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, + "@aws-sdk/util-user-agent-browser": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.609.0.tgz", + "integrity": "sha512-fojPU+mNahzQ0YHYBsx0ZIhmMA96H+ZIZ665ObU9tl+SGdbLneVZVikGve+NmHTQwHzwkFsZYYnVKAkreJLAtA==", "requires": { - "color-convert": "^2.0.1" + "@aws-sdk/types": "3.609.0", + "@smithy/types": "^3.3.0", + "bowser": "^2.11.0", + "tslib": "^2.6.2" } }, - "anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dev": true, + "@aws-sdk/util-user-agent-node": { + "version": "3.614.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.614.0.tgz", + "integrity": "sha512-15ElZT88peoHnq5TEoEtZwoXTXRxNrk60TZNdpl/TUBJ5oNJ9Dqb5Z4ryb8ofN6nm9aFf59GVAerFDz8iUoHBA==", "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" + "@aws-sdk/types": "3.609.0", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" } }, - "append-transform": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz", - "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==", - "dev": true, + "@aws-sdk/xml-builder": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.609.0.tgz", + "integrity": "sha512-l9XxNcA4HX98rwCC2/KoiWcmEiRfZe4G+mYwDbCFT87JIMj6GBhLDkAzr/W8KAaA2IDr8Vc6J8fZPgVulxxfMA==", "requires": { - "default-require-extensions": "^3.0.0" + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" } }, - "archy": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", + "@babel/helper-string-parser": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.7.tgz", + "integrity": "sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==", "dev": true }, - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "@babel/helper-validator-identifier": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", "dev": true }, - "assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "@babel/parser": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.7.tgz", + "integrity": "sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==", "dev": true }, - "available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" - }, - "aws-sdk": { - "version": "2.1605.0", - "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1605.0.tgz", - "integrity": "sha512-/wtOuF7WgkbN6YL3xJ+FB54kvIAfnP/DQVDaE6rSYv6ft0xr01Si94NgQWhb5OcFkFfRAC4auZX8PiFNtOi9xQ==", - "requires": { - "buffer": "4.9.2", - "events": "1.1.1", - "ieee754": "1.1.13", - "jmespath": "0.16.0", - "querystring": "0.2.0", - "sax": "1.2.1", - "url": "0.10.3", - "util": "^0.12.4", - "uuid": "8.0.0", - "xml2js": "0.6.2" + "@babel/types": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.7.tgz", + "integrity": "sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==", + "dev": true, + "requires": { + "@babel/helper-string-parser": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7", + "to-fast-properties": "^2.0.0" } }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - }, - "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", "dev": true }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "@esbuild/aix-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", + "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } + "optional": true }, - "braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "@esbuild/android-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", + "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", "dev": true, - "requires": { - "fill-range": "^7.1.1" - } - }, - "browser-stdout": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", - "dev": true + "optional": true }, - "browserslist": { - "version": "4.16.7", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.7.tgz", - "integrity": "sha512-7I4qVwqZltJ7j37wObBe3SoTz+nS8APaNcrBOlgoirb6/HbEU2XxW/LpUDTCngM6iauwFqmRTuOMfyKnFGY5JA==", + "@esbuild/android-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", + "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001248", - "colorette": "^1.2.2", - "electron-to-chromium": "^1.3.793", - "escalade": "^3.1.1", - "node-releases": "^1.1.73" - } + "optional": true }, - "buffer": { - "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", - "isarray": "^1.0.0" - } + "@esbuild/android-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", + "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", + "dev": true, + "optional": true }, - "caching-transform": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz", - "integrity": "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==", + "@esbuild/darwin-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", + "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", "dev": true, - "requires": { - "hasha": "^5.0.0", - "make-dir": "^3.0.0", - "package-hash": "^4.0.0", - "write-file-atomic": "^3.0.0" - } + "optional": true }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } + "@esbuild/darwin-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", + "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", + "dev": true, + "optional": true }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true + "@esbuild/freebsd-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", + "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", + "dev": true, + "optional": true }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true + "@esbuild/freebsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", + "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", + "dev": true, + "optional": true }, - "caniuse-lite": { - "version": "1.0.30001249", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001249.tgz", - "integrity": "sha512-vcX4U8lwVXPdqzPWi6cAJ3FnQaqXbBqy/GZseKNQzRj37J7qZdGcBtxq/QLFNLLlfsoXLUdHw8Iwenri86Tagw==", - "dev": true + "@esbuild/linux-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", + "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", + "dev": true, + "optional": true }, - "chai": { - "version": "4.3.10", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.10.tgz", - "integrity": "sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g==", + "@esbuild/linux-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", + "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", "dev": true, - "requires": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.3", - "deep-eql": "^4.1.3", - "get-func-name": "^2.0.2", - "loupe": "^2.3.6", - "pathval": "^1.1.1", - "type-detect": "^4.0.8" - } + "optional": true }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "@esbuild/linux-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", + "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", "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" - } - } - } + "optional": true }, - "check-error": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", - "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", + "@esbuild/linux-loong64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", + "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", "dev": true, - "requires": { - "get-func-name": "^2.0.2" - } + "optional": true }, - "chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "@esbuild/linux-mips64el": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", + "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", "dev": true, - "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - } + "optional": true }, - "clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true + "@esbuild/linux-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", + "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", + "dev": true, + "optional": true }, - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "@esbuild/linux-riscv64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", + "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } + "optional": true }, - "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==", + "@esbuild/linux-s390x": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", + "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", "dev": true, - "requires": { - "color-name": "~1.1.4" - } + "optional": true }, - "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 + "@esbuild/linux-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", + "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", + "dev": true, + "optional": true }, - "colorette": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", - "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==", - "dev": true + "@esbuild/netbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", + "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", + "dev": true, + "optional": true }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "dev": true + "@esbuild/openbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", + "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", + "dev": true, + "optional": true }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true + "@esbuild/sunos-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", + "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", + "dev": true, + "optional": true }, - "convert-source-map": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", + "@esbuild/win32-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", + "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", "dev": true, - "requires": { - "safe-buffer": "~5.1.1" - } + "optional": true }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "@esbuild/win32-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", + "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } + "optional": true }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "@esbuild/win32-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", + "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", "dev": true, - "requires": { - "ms": "2.1.2" - }, - "dependencies": { - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } + "optional": true }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", "dev": true }, - "deep-eql": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", - "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", + "@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", "dev": true, "requires": { - "type-detect": "^4.0.0" + "@sinclair/typebox": "^0.27.8" } }, - "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 - }, - "default-require-extensions": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.0.tgz", - "integrity": "sha512-ek6DpXq/SCpvjhpFsLFRVtIxJCRw6fUR42lYMVZuUMK7n8eMz4Uh5clckdBjEpLhn/gEBZo7hDJnJcwdKLKQjg==", + "@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", "dev": true, "requires": { - "strip-bom": "^4.0.0" + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" } }, - "diff": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", - "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", + "@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "dev": true + }, + "@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "dev": true + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", "dev": true }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", "dev": true, "requires": { - "esutils": "^2.0.2" + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "electron-to-chromium": { - "version": "1.3.798", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.798.tgz", - "integrity": "sha512-fwsr6oXAORoV9a6Ak2vMCdXfmHIpAGgpOGesulS1cbGgJmrMl3H+GicUyRG3t+z9uHTMrIuMTleFDW+EUFYT3g==", - "dev": true - }, - "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==", - "dev": true + "@rollup/rollup-android-arm-eabi": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.22.4.tgz", + "integrity": "sha512-Fxamp4aEZnfPOcGA8KSNEohV8hX7zVHOemC8jVBoBUHu5zpJK/Eu3uJwt6BMgy9fkvzxDaurgj96F/NiLukF2w==", + "dev": true, + "optional": true }, - "es6-error": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", - "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", - "dev": true + "@rollup/rollup-android-arm64": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.22.4.tgz", + "integrity": "sha512-VXoK5UMrgECLYaMuGuVTOx5kcuap1Jm8g/M83RnCHBKOqvPPmROFJGQaZhGccnsFtfXQ3XYa4/jMCJvZnbJBdA==", + "dev": true, + "optional": true }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true + "@rollup/rollup-darwin-arm64": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.22.4.tgz", + "integrity": "sha512-xMM9ORBqu81jyMKCDP+SZDhnX2QEVQzTcC6G18KlTQEzWK8r/oNZtKuZaCcHhnsa6fEeOBionoyl5JsAbE/36Q==", + "dev": true, + "optional": true }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true + "@rollup/rollup-darwin-x64": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.22.4.tgz", + "integrity": "sha512-aJJyYKQwbHuhTUrjWjxEvGnNNBCnmpHDvrb8JFDbeSH3m2XdHcxDd3jthAzvmoI8w/kSjd2y0udT+4okADsZIw==", + "dev": true, + "optional": true }, - "eslint": { - "version": "8.51.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.51.0.tgz", - "integrity": "sha512-2WuxRZBrlwnXi+/vFSJyjMqrNjtJqiasMzehF0shoLaW7DzS3/9Yvrmq5JiT66+pNjiX4UBnLDiKHcWAr/OInA==", - "dev": true, - "requires": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "8.51.0", - "@humanwhocodes/config-array": "^0.11.11", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "dependencies": { - "glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "requires": { - "is-glob": "^4.0.3" - } - }, - "globals": { - "version": "13.23.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", - "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - } - }, - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true - } - } + "@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.22.4.tgz", + "integrity": "sha512-j63YtCIRAzbO+gC2L9dWXRh5BFetsv0j0va0Wi9epXDgU/XUi5dJKo4USTttVyK7fGw2nPWK0PbAvyliz50SCQ==", + "dev": true, + "optional": true }, - "eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "@rollup/rollup-linux-arm-musleabihf": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.22.4.tgz", + "integrity": "sha512-dJnWUgwWBX1YBRsuKKMOlXCzh2Wu1mlHzv20TpqEsfdZLb3WoJW2kIEsGwLkroYf24IrPAvOT/ZQ2OYMV6vlrg==", "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - } + "optional": true }, - "eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true + "@rollup/rollup-linux-arm64-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.22.4.tgz", + "integrity": "sha512-AdPRoNi3NKVLolCN/Sp4F4N1d98c4SBnHMKoLuiG6RXgoZ4sllseuGioszumnPGmPM2O7qaAX/IJdeDU8f26Aw==", + "dev": true, + "optional": true }, - "espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "@rollup/rollup-linux-arm64-musl": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.22.4.tgz", + "integrity": "sha512-Gl0AxBtDg8uoAn5CCqQDMqAx22Wx22pjDOjBdmG0VIWX3qUBHzYmOKh8KXHL4UpogfJ14G4wk16EQogF+v8hmA==", "dev": true, - "requires": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - } + "optional": true }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true + "@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.22.4.tgz", + "integrity": "sha512-3aVCK9xfWW1oGQpTsYJJPF6bfpWfhbRnhdlyhak2ZiyFLDaayz0EP5j9V1RVLAAxlmWKTDfS9wyRyY3hvhPoOg==", + "dev": true, + "optional": true }, - "esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "@rollup/rollup-linux-riscv64-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.22.4.tgz", + "integrity": "sha512-ePYIir6VYnhgv2C5Xe9u+ico4t8sZWXschR6fMgoPUK31yQu7hTEJb7bCqivHECwIClJfKgE7zYsh1qTP3WHUA==", "dev": true, - "requires": { - "estraverse": "^5.1.0" - } + "optional": true }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "@rollup/rollup-linux-s390x-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.22.4.tgz", + "integrity": "sha512-GqFJ9wLlbB9daxhVlrTe61vJtEY99/xB3C8e4ULVsVfflcpmR6c8UZXjtkMA6FhNONhj2eA5Tk9uAVw5orEs4Q==", "dev": true, - "requires": { - "estraverse": "^5.2.0" - } + "optional": true }, - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true + "@rollup/rollup-linux-x64-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.22.4.tgz", + "integrity": "sha512-87v0ol2sH9GE3cLQLNEy0K/R0pz1nvg76o8M5nhMR0+Q+BBGLnb35P0fVz4CQxHYXaAOhE8HhlkaZfsdUOlHwg==", + "dev": true, + "optional": true }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true + "@rollup/rollup-linux-x64-musl": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.22.4.tgz", + "integrity": "sha512-UV6FZMUgePDZrFjrNGIWzDo/vABebuXBhJEqrHxrGiU6HikPy0Z3LfdtciIttEUQfuDdCn8fqh7wiFJjCNwO+g==", + "dev": true, + "optional": true }, - "events": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", - "integrity": "sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw==" + "@rollup/rollup-win32-arm64-msvc": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.22.4.tgz", + "integrity": "sha512-BjI+NVVEGAXjGWYHz/vv0pBqfGoUH0IGZ0cICTn7kB9PyjrATSkX+8WkguNjWoj2qSr1im/+tTGRaY+4/PdcQw==", + "dev": true, + "optional": true }, - "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==", - "dev": true + "@rollup/rollup-win32-ia32-msvc": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.22.4.tgz", + "integrity": "sha512-SiWG/1TuUdPvYmzmYnmd3IEifzR61Tragkbx9D3+R8mzQqDBz8v+BvZNDlkiTtI9T15KYZhP0ehn3Dld4n9J5g==", + "dev": true, + "optional": true }, - "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==", - "dev": true + "@rollup/rollup-win32-x64-msvc": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.22.4.tgz", + "integrity": "sha512-j8pPKp53/lq9lMXN57S8cFz0MynJk8OWNuUnXct/9KCpKU7DgU3bYMJhwWmcqC0UU29p8Lr0/7KEVcaM6bf47Q==", + "dev": true, + "optional": true }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", "dev": true }, - "fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", - "dev": true, + "@smithy/abort-controller": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-3.1.1.tgz", + "integrity": "sha512-MBJBiidoe+0cTFhyxT8g+9g7CeVccLM0IOKKUMCNQ1CNMJ/eIfoo0RTfVrXOONEI1UCN1W+zkiHSbzUNE9dZtQ==", "requires": { - "reusify": "^1.0.4" + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" } }, - "file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, + "@smithy/chunked-blob-reader": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/chunked-blob-reader/-/chunked-blob-reader-3.0.0.tgz", + "integrity": "sha512-sbnURCwjF0gSToGlsBiAmd1lRCmSn72nu9axfJu5lIx6RUEgHu6GwTMbqCdhQSi0Pumcm5vFxsi9XWXb2mTaoA==", "requires": { - "flat-cache": "^3.0.4" + "tslib": "^2.6.2" } }, - "fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "dev": true, + "@smithy/chunked-blob-reader-native": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/chunked-blob-reader-native/-/chunked-blob-reader-native-3.0.0.tgz", + "integrity": "sha512-VDkpCYW+peSuM4zJip5WDfqvg2Mo/e8yxOv3VF1m11y7B8KKMKVFtmZWDe36Fvk8rGuWrPZHHXZ7rR7uM5yWyg==", "requires": { - "to-regex-range": "^5.0.1" + "@smithy/util-base64": "^3.0.0", + "tslib": "^2.6.2" } }, - "find-cache-dir": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", - "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", - "dev": true, + "@smithy/config-resolver": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-3.0.5.tgz", + "integrity": "sha512-SkW5LxfkSI1bUC74OtfBbdz+grQXYiPYolyu8VfpLIjEoN/sHVBlLeGXMQ1vX4ejkgfv6sxVbQJ32yF2cl1veA==", "requires": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" + "@smithy/node-config-provider": "^3.1.4", + "@smithy/types": "^3.3.0", + "@smithy/util-config-provider": "^3.0.0", + "@smithy/util-middleware": "^3.0.3", + "tslib": "^2.6.2" } }, - "find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, + "@smithy/core": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@smithy/core/-/core-2.4.0.tgz", + "integrity": "sha512-cHXq+FneIF/KJbt4q4pjN186+Jf4ZB0ZOqEaZMBhT79srEyGDDBV31NqBRBjazz8ppQ1bJbDJMY9ba5wKFV36w==", "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-retry": "^3.0.15", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.2.0", + "@smithy/types": "^3.3.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" } }, - "flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", - "dev": true - }, - "flat-cache": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.1.tgz", - "integrity": "sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==", - "dev": true, + "@smithy/credential-provider-imds": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-3.2.0.tgz", + "integrity": "sha512-0SCIzgd8LYZ9EJxUjLXBmEKSZR/P/w6l7Rz/pab9culE/RWuqelAKGJvn5qUOl8BgX8Yj5HWM50A5hiB/RzsgA==", "requires": { - "flatted": "^3.2.9", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" + "@smithy/node-config-provider": "^3.1.4", + "@smithy/property-provider": "^3.1.3", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "tslib": "^2.6.2" } }, - "flatted": { - "version": "3.2.9", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", - "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", - "dev": true - }, - "for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "@smithy/eventstream-codec": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-3.1.2.tgz", + "integrity": "sha512-0mBcu49JWt4MXhrhRAlxASNy0IjDRFU+aWNDRal9OtUJvJNiwDuyKMUONSOjLjSCeGwZaE0wOErdqULer8r7yw==", "requires": { - "is-callable": "^1.1.3" + "@aws-crypto/crc32": "5.2.0", + "@smithy/types": "^3.3.0", + "@smithy/util-hex-encoding": "^3.0.0", + "tslib": "^2.6.2" } }, - "foreground-child": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz", - "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==", - "dev": true, + "@smithy/eventstream-serde-browser": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-3.0.6.tgz", + "integrity": "sha512-2hM54UWQUOrki4BtsUI1WzmD13/SeaqT/AB3EUJKbcver/WgKNaiJ5y5F5XXuVe6UekffVzuUDrBZVAA3AWRpQ==", "requires": { - "cross-spawn": "^7.0.0", - "signal-exit": "^3.0.2" + "@smithy/eventstream-serde-universal": "^3.0.5", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" } }, - "fromentries": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz", - "integrity": "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==", - "dev": true + "@smithy/eventstream-serde-config-resolver": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.0.3.tgz", + "integrity": "sha512-NVTYjOuYpGfrN/VbRQgn31x73KDLfCXCsFdad8DiIc3IcdxL+dYA9zEQPyOP7Fy2QL8CPy2WE4WCUD+ZsLNfaQ==", + "requires": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true + "@smithy/eventstream-serde-node": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-node/-/eventstream-serde-node-3.0.5.tgz", + "integrity": "sha512-+upXvnHNyZP095s11jF5dhGw/Ihzqwl5G+/KtMnoQOpdfC3B5HYCcDVG9EmgkhJMXJlM64PyN5gjJl0uXFQehQ==", + "requires": { + "@smithy/eventstream-serde-universal": "^3.0.5", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "optional": true + "@smithy/eventstream-serde-universal": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-3.0.5.tgz", + "integrity": "sha512-5u/nXbyoh1s4QxrvNre9V6vfyoLWuiVvvd5TlZjGThIikc3G+uNiG9uOTCWweSRjv1asdDIWK7nOmN7le4RYHQ==", + "requires": { + "@smithy/eventstream-codec": "^3.1.2", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "@smithy/fetch-http-handler": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-3.2.4.tgz", + "integrity": "sha512-kBprh5Gs5h7ug4nBWZi1FZthdqSM+T7zMmsZxx0IBvWUn7dK3diz2SHn7Bs4dQGFDk8plDv375gzenDoNwrXjg==", + "requires": { + "@smithy/protocol-http": "^4.1.0", + "@smithy/querystring-builder": "^3.0.3", + "@smithy/types": "^3.3.0", + "@smithy/util-base64": "^3.0.0", + "tslib": "^2.6.2" + } }, - "gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true + "@smithy/hash-blob-browser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@smithy/hash-blob-browser/-/hash-blob-browser-3.1.2.tgz", + "integrity": "sha512-hAbfqN2UbISltakCC2TP0kx4LqXBttEv2MqSPE98gVuDFMf05lU+TpC41QtqGP3Ff5A3GwZMPfKnEy0VmEUpmg==", + "requires": { + "@smithy/chunked-blob-reader": "^3.0.0", + "@smithy/chunked-blob-reader-native": "^3.0.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true + "@smithy/hash-node": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-3.0.3.tgz", + "integrity": "sha512-2ctBXpPMG+B3BtWSGNnKELJ7SH9e4TNefJS0cd2eSkOOROeBnnVBnAy9LtJ8tY4vUEoe55N4CNPxzbWvR39iBw==", + "requires": { + "@smithy/types": "^3.3.0", + "@smithy/util-buffer-from": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + } }, - "get-func-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", - "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", - "dev": true + "@smithy/hash-stream-node": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@smithy/hash-stream-node/-/hash-stream-node-3.1.2.tgz", + "integrity": "sha512-PBgDMeEdDzi6JxKwbfBtwQG9eT9cVwsf0dZzLXoJF4sHKHs5HEo/3lJWpn6jibfJwT34I1EBXpBnZE8AxAft6g==", + "requires": { + "@smithy/types": "^3.3.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + } }, - "get-intrinsic": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", - "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", + "@smithy/invalid-dependency": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-3.0.3.tgz", + "integrity": "sha512-ID1eL/zpDULmHJbflb864k72/SNOZCADRc9i7Exq3RUNJw6raWUSlFEQ+3PX3EYs++bTxZB2dE9mEHTQLv61tw==", "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" } }, - "get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "dev": true + "@smithy/is-array-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", + "requires": { + "tslib": "^2.6.2" + } }, - "glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "dev": true, + "@smithy/md5-js": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/md5-js/-/md5-js-3.0.3.tgz", + "integrity": "sha512-O/SAkGVwpWmelpj/8yDtsaVe6sINHLB1q8YE/+ZQbDxIw3SRLbTZuRaI10K12sVoENdnHqzPp5i3/H+BcZ3m3Q==", "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "@smithy/types": "^3.3.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" } }, - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, + "@smithy/middleware-content-length": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-3.0.5.tgz", + "integrity": "sha512-ILEzC2eyxx6ncej3zZSwMpB5RJ0zuqH7eMptxC4KN3f+v9bqT8ohssKbhNR78k/2tWW+KS5Spw+tbPF4Ejyqvw==", "requires": { - "is-glob": "^4.0.1" + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" } }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true + "@smithy/middleware-endpoint": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-3.1.0.tgz", + "integrity": "sha512-5y5aiKCEwg9TDPB4yFE7H6tYvGFf1OJHNczeY10/EFF8Ir8jZbNntQJxMWNfeQjC1mxPsaQ6mR9cvQbf+0YeMw==", + "requires": { + "@smithy/middleware-serde": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-middleware": "^3.0.3", + "tslib": "^2.6.2" + } + }, + "@smithy/middleware-retry": { + "version": "3.0.15", + "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-3.0.15.tgz", + "integrity": "sha512-iTMedvNt1ApdvkaoE8aSDuwaoc+BhvHqttbA/FO4Ty+y/S5hW6Ci/CTScG7vam4RYJWZxdTElc3MEfHRVH6cgQ==", + "requires": { + "@smithy/node-config-provider": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/service-error-classification": "^3.0.3", + "@smithy/smithy-client": "^3.2.0", + "@smithy/types": "^3.3.0", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "tslib": "^2.6.2", + "uuid": "^9.0.1" + }, + "dependencies": { + "uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==" + } + } }, - "gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "@smithy/middleware-serde": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-3.0.3.tgz", + "integrity": "sha512-puUbyJQBcg9eSErFXjKNiGILJGtiqmuuNKEYNYfUD57fUl4i9+mfmThtQhvFXU0hCVG0iEJhvQUipUf+/SsFdA==", "requires": { - "get-intrinsic": "^1.1.3" + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" } }, - "graceful-fs": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", - "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==", - "dev": true + "@smithy/middleware-stack": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-3.0.3.tgz", + "integrity": "sha512-r4klY9nFudB0r9UdSMaGSyjyQK5adUyPnQN/ZM6M75phTxOdnc/AhpvGD1fQUvgmqjQEBGCwpnPbDm8pH5PapA==", + "requires": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } }, - "graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true + "@smithy/node-config-provider": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-3.1.4.tgz", + "integrity": "sha512-YvnElQy8HR4vDcAjoy7Xkx9YT8xZP4cBXcbJSgm/kxmiQu08DwUwj8rkGnyoJTpfl/3xYHH+d8zE+eHqoDCSdQ==", + "requires": { + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "@smithy/node-http-handler": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-3.1.4.tgz", + "integrity": "sha512-+UmxgixgOr/yLsUxcEKGH0fMNVteJFGkmRltYFHnBMlogyFdpzn2CwqWmxOrfJELhV34v0WSlaqG1UtE1uXlJg==", "requires": { - "function-bind": "^1.1.1" + "@smithy/abort-controller": "^3.1.1", + "@smithy/protocol-http": "^4.1.0", + "@smithy/querystring-builder": "^3.0.3", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" } }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true + "@smithy/property-provider": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-3.1.3.tgz", + "integrity": "sha512-zahyOVR9Q4PEoguJ/NrFP4O7SMAfYO1HLhB18M+q+Z4KFd4V2obiMnlVoUFzFLSPeVt1POyNWneHHrZaTMoc/g==", + "requires": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" + "@smithy/protocol-http": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-4.1.0.tgz", + "integrity": "sha512-dPVoHYQ2wcHooGXg3LQisa1hH0e4y0pAddPMeeUPipI1tEOqL6A4N0/G7abeq+K8wrwSgjk4C0wnD1XZpJm5aA==", + "requires": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } }, - "has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "@smithy/querystring-builder": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-3.0.3.tgz", + "integrity": "sha512-vyWckeUeesFKzCDaRwWLUA1Xym9McaA6XpFfAK5qI9DKJ4M33ooQGqvM4J+LalH4u/Dq9nFiC8U6Qn1qi0+9zw==", "requires": { - "has-symbols": "^1.0.2" + "@smithy/types": "^3.3.0", + "@smithy/util-uri-escape": "^3.0.0", + "tslib": "^2.6.2" } }, - "hasha": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz", - "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==", - "dev": true, + "@smithy/querystring-parser": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-3.0.3.tgz", + "integrity": "sha512-zahM1lQv2YjmznnfQsWbYojFe55l0SLG/988brlLv1i8z3dubloLF+75ATRsqPBboUXsW6I9CPGE5rQgLfY0vQ==", "requires": { - "is-stream": "^2.0.0", - "type-fest": "^0.8.0" + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" } }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true + "@smithy/service-error-classification": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.3.tgz", + "integrity": "sha512-Jn39sSl8cim/VlkLsUhRFq/dKDnRUFlfRkvhOJaUbLBXUsLRLNf9WaxDv/z9BjuQ3A6k/qE8af1lsqcwm7+DaQ==", + "requires": { + "@smithy/types": "^3.3.0" + } }, - "html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true + "@smithy/shared-ini-file-loader": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.4.tgz", + "integrity": "sha512-qMxS4hBGB8FY2GQqshcRUy1K6k8aBWP5vwm8qKkCT3A9K2dawUwOIJfqh9Yste/Bl0J2lzosVyrXDj68kLcHXQ==", + "requires": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } }, - "ieee754": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", - "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" + "@smithy/signature-v4": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-4.1.0.tgz", + "integrity": "sha512-aRryp2XNZeRcOtuJoxjydO6QTaVhxx/vjaR+gx7ZjaFgrgPRyZ3HCTbfwqYj6ZWEBHkCSUfcaymKPURaByukag==", + "requires": { + "@smithy/is-array-buffer": "^3.0.0", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "@smithy/util-hex-encoding": "^3.0.0", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-uri-escape": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + } }, - "ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", - "dev": true + "@smithy/smithy-client": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-3.2.0.tgz", + "integrity": "sha512-pDbtxs8WOhJLJSeaF/eAbPgXg4VVYFlRcL/zoNYA5WbG3wBL06CHtBSg53ppkttDpAJ/hdiede+xApip1CwSLw==", + "requires": { + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "@smithy/util-stream": "^3.1.3", + "tslib": "^2.6.2" + } }, - "import-fresh": { + "@smithy/types": { "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true - } + "tslib": "^2.6.2" } }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true - }, - "indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, + "@smithy/url-parser": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-3.0.3.tgz", + "integrity": "sha512-pw3VtZtX2rg+s6HMs6/+u9+hu6oY6U7IohGhVNnjbgKy86wcIsSZwgHrFR+t67Uyxvp4Xz3p3kGXXIpTNisq8A==", "requires": { - "once": "^1.3.0", - "wrappy": "1" + "@smithy/querystring-parser": "^3.0.3", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" } }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "@smithy/util-base64": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-3.0.0.tgz", + "integrity": "sha512-Kxvoh5Qtt0CDsfajiZOCpJxgtPHXOKwmM+Zy4waD43UoEMA+qPxxa98aE/7ZhdnBFZFXMOiBR5xbcaMhLtznQQ==", "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "@smithy/util-buffer-from": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" } }, - "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==", - "dev": true, + "@smithy/util-body-length-browser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-3.0.0.tgz", + "integrity": "sha512-cbjJs2A1mLYmqmyVl80uoLTJhAcfzMOyPgjwAYusWKMdLeNtzmMz9YxNl3/jRLoxSS3wkqkf0jwNdtXWtyEBaQ==", "requires": { - "binary-extensions": "^2.0.0" + "tslib": "^2.6.2" } }, - "is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==" - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true - }, - "is-fullwidth-code-point": { + "@smithy/util-body-length-node": { "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==", - "dev": true - }, - "is-generator-function": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-3.0.0.tgz", + "integrity": "sha512-Tj7pZ4bUloNUP6PzwhN7K386tmSmEET9QtQg0TgdNOnxhZvCssHji+oZTUIuzxECRfG8rdm2PMw2WCFs6eIYkA==", "requires": { - "has-tostringtag": "^1.0.0" + "tslib": "^2.6.2" } }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, + "@smithy/util-buffer-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", "requires": { - "is-extglob": "^2.1.1" + "@smithy/is-array-buffer": "^3.0.0", + "tslib": "^2.6.2" } }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - }, - "is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true - }, - "is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", - "dev": true + "@smithy/util-config-provider": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-3.0.0.tgz", + "integrity": "sha512-pbjk4s0fwq3Di/ANL+rCvJMKM5bzAQdE5S/6RL5NXgMExFAi6UgQMPOm5yPaIWPpr+EOXKXRonJ3FoxKf4mCJQ==", + "requires": { + "tslib": "^2.6.2" + } }, - "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true + "@smithy/util-defaults-mode-browser": { + "version": "3.0.15", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-3.0.15.tgz", + "integrity": "sha512-FZ4Psa3vjp8kOXcd3HJOiDPBCWtiilLl57r0cnNtq/Ga9RSDrM5ERL6xt+tO43+2af6Pn5Yp92x2n5vPuduNfg==", + "requires": { + "@smithy/property-provider": "^3.1.3", + "@smithy/smithy-client": "^3.2.0", + "@smithy/types": "^3.3.0", + "bowser": "^2.11.0", + "tslib": "^2.6.2" + } }, - "is-typed-array": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", - "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", + "@smithy/util-defaults-mode-node": { + "version": "3.0.15", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-3.0.15.tgz", + "integrity": "sha512-KSyAAx2q6d0t6f/S4XB2+3+6aQacm3aLMhs9aLMqn18uYGUepbdssfogW5JQZpc6lXNBnp0tEnR5e9CEKmEd7A==", "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" + "@smithy/config-resolver": "^3.0.5", + "@smithy/credential-provider-imds": "^3.2.0", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/property-provider": "^3.1.3", + "@smithy/smithy-client": "^3.2.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" } }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true + "@smithy/util-endpoints": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-2.0.5.tgz", + "integrity": "sha512-ReQP0BWihIE68OAblC/WQmDD40Gx+QY1Ez8mTdFMXpmjfxSyz2fVQu3A4zXRfQU9sZXtewk3GmhfOHswvX+eNg==", + "requires": { + "@smithy/node-config-provider": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } }, - "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==", - "dev": true + "@smithy/util-hex-encoding": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-3.0.0.tgz", + "integrity": "sha512-eFndh1WEK5YMUYvy3lPlVmYY/fZcQE1D8oSf41Id2vCeIkKJXPcYDCZD+4+xViI6b1XSd7tE+s5AmXzz5ilabQ==", + "requires": { + "tslib": "^2.6.2" + } }, - "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==", - "dev": true + "@smithy/util-middleware": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-3.0.3.tgz", + "integrity": "sha512-l+StyYYK/eO3DlVPbU+4Bi06Jjal+PFLSMmlWM1BEwyLxZ3aKkf1ROnoIakfaA7mC6uw3ny7JBkau4Yc+5zfWw==", + "requires": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + "@smithy/util-retry": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-3.0.3.tgz", + "integrity": "sha512-AFw+hjpbtVApzpNDhbjNG5NA3kyoMs7vx0gsgmlJF4s+yz1Zlepde7J58zpIRIsdjc+emhpAITxA88qLkPF26w==", + "requires": { + "@smithy/service-error-classification": "^3.0.3", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true + "@smithy/util-stream": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-3.1.3.tgz", + "integrity": "sha512-FIv/bRhIlAxC0U7xM1BCnF2aDRPq0UaelqBHkM2lsCp26mcBbgI0tCVTv+jGdsQLUmAMybua/bjDsSu8RQHbmw==", + "requires": { + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/types": "^3.3.0", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-buffer-from": "^3.0.0", + "@smithy/util-hex-encoding": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + } }, - "istanbul-lib-coverage": { + "@smithy/util-uri-escape": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", - "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", - "dev": true + "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-3.0.0.tgz", + "integrity": "sha512-LqR7qYLgZTD7nWLBecUi4aqolw8Mhza9ArpNEQ881MJJIU2sE5iHCK6TdyqqzcDLy0OPe10IY4T8ctVdtynubg==", + "requires": { + "tslib": "^2.6.2" + } }, - "istanbul-lib-hook": { + "@smithy/util-utf8": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz", - "integrity": "sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==", - "dev": true, + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", + "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", "requires": { - "append-transform": "^2.0.0" + "@smithy/util-buffer-from": "^3.0.0", + "tslib": "^2.6.2" } }, - "istanbul-lib-instrument": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", - "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", - "dev": true, + "@smithy/util-waiter": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@smithy/util-waiter/-/util-waiter-3.1.2.tgz", + "integrity": "sha512-4pP0EV3iTsexDx+8PPGAKCQpd/6hsQBaQhqWzU4hqKPHN5epPsxKbvUTIiYIHTxaKt6/kEaqPBpu/ufvfbrRzw==", "requires": { - "@babel/core": "^7.7.5", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.0.0", - "semver": "^6.3.0" + "@smithy/abort-controller": "^3.1.1", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" } }, - "istanbul-lib-processinfo": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.2.tgz", - "integrity": "sha512-kOwpa7z9hme+IBPZMzQ5vdQj8srYgAtaRqeI48NGmAQ+/5yKiHLV0QbYqQpxsdEF0+w14SoB8YbnHKcXE2KnYw==", + "@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true + }, + "@vitest/coverage-v8": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-1.6.0.tgz", + "integrity": "sha512-KvapcbMY/8GYIG0rlwwOKCVNRc0OL20rrhFkg/CHNzncV03TE2XWvO5w9uZYoxNiMEBacAJt3unSOiZ7svePew==", + "dev": true, + "requires": { + "@ampproject/remapping": "^2.2.1", + "@bcoe/v8-coverage": "^0.2.3", + "debug": "^4.3.4", + "istanbul-lib-coverage": "^3.2.2", + "istanbul-lib-report": "^3.0.1", + "istanbul-lib-source-maps": "^5.0.4", + "istanbul-reports": "^3.1.6", + "magic-string": "^0.30.5", + "magicast": "^0.3.3", + "picocolors": "^1.0.0", + "std-env": "^3.5.0", + "strip-literal": "^2.0.0", + "test-exclude": "^6.0.0" + }, + "dependencies": { + "istanbul-lib-source-maps": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-5.0.4.tgz", + "integrity": "sha512-wHOoEsNJTVltaJp8eVkm8w+GVkVNHT2YDYo53YdzQEL2gWm1hBX5cGFR9hQJtuGLebidVX7et3+dmDZrmclduw==", + "dev": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.23", + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0" + } + } + } + }, + "@vitest/expect": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.6.0.tgz", + "integrity": "sha512-ixEvFVQjycy/oNgHjqsL6AZCDduC+tflRluaHIzKIsdbzkLn2U/iBnVeJwB6HsIjQBdfMR8Z0tRxKUsvFJEeWQ==", "dev": true, "requires": { - "archy": "^1.0.0", - "cross-spawn": "^7.0.0", - "istanbul-lib-coverage": "^3.0.0-alpha.1", - "make-dir": "^3.0.0", - "p-map": "^3.0.0", - "rimraf": "^3.0.0", - "uuid": "^3.3.3" - }, - "dependencies": { - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "dev": true - } + "@vitest/spy": "1.6.0", + "@vitest/utils": "1.6.0", + "chai": "^4.3.10" } }, - "istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "@vitest/runner": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.6.0.tgz", + "integrity": "sha512-P4xgwPjwesuBiHisAVz/LSSZtDjOTPYZVmNAnpHHSR6ONrf8eCJOFRvUwdHn30F5M1fxhqtl7QZQUk2dprIXAg==", "dev": true, "requires": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" + "@vitest/utils": "1.6.0", + "p-limit": "^5.0.0", + "pathe": "^1.1.1" }, "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==", + "p-limit": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-5.0.0.tgz", + "integrity": "sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==", "dev": true, "requires": { - "has-flag": "^4.0.0" + "yocto-queue": "^1.0.0" } + }, + "yocto-queue": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", + "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", + "dev": true } } }, - "istanbul-lib-source-maps": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz", - "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==", + "@vitest/snapshot": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.6.0.tgz", + "integrity": "sha512-+Hx43f8Chus+DCmygqqfetcAZrDJwvTj0ymqjQq4CvmpKFSTVteEOBzCusu1x2tt4OJcvBflyHUE0DZSLgEMtQ==", "dev": true, "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, - "dependencies": { - "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 - } + "magic-string": "^0.30.5", + "pathe": "^1.1.1", + "pretty-format": "^29.7.0" } }, - "istanbul-reports": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz", - "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==", + "@vitest/spy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.6.0.tgz", + "integrity": "sha512-leUTap6B/cqi/bQkXUu6bQV5TZPx7pmMBKBQiI0rJA8c3pB56ZsaTbREnF7CJfmvAS4V2cXIBAh/3rVwrrCYgw==", "dev": true, "requires": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" + "tinyspy": "^2.2.0" } }, - "jmespath": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.16.0.tgz", - "integrity": "sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==" - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "@vitest/utils": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.6.0.tgz", + "integrity": "sha512-21cPiuGMoMZwiOHa2i4LXkMkMkCGzA+MVFV70jRwHo95dL4x/ts5GZhML1QWuy7yfp3WzK3lRvZi3JnXTYqrBw==", "dev": true, "requires": { - "argparse": "^2.0.1" + "diff-sequences": "^29.6.3", + "estree-walker": "^3.0.3", + "loupe": "^2.3.7", + "pretty-format": "^29.7.0" } }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true - }, - "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==", + "acorn": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.0.tgz", + "integrity": "sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==", "dev": true }, - "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==", - "dev": true + "acorn-walk": { + "version": "8.3.3", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.3.tgz", + "integrity": "sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==", + "dev": true, + "requires": { + "acorn": "^8.11.0" + } }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", "dev": true }, - "json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, - "just-extend": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.2.1.tgz", - "integrity": "sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg==", - "dev": true + "bowser": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", + "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==" }, - "keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "requires": { - "json-buffer": "3.0.1" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "cac": { + "version": "6.7.14", + "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", + "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", + "dev": true + }, + "chai": { + "version": "4.3.10", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.10.tgz", + "integrity": "sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g==", "dev": true, "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" + "assertion-error": "^1.1.0", + "check-error": "^1.0.3", + "deep-eql": "^4.1.3", + "get-func-name": "^2.0.2", + "loupe": "^2.3.6", + "pathval": "^1.1.1", + "type-detect": "^4.0.8" } }, - "locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "check-error": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", + "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", "dev": true, "requires": { - "p-locate": "^5.0.0" + "get-func-name": "^2.0.2" } }, - "lodash.flattendeep": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", - "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=", - "dev": true - }, - "lodash.get": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, - "lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "confbox": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.7.tgz", + "integrity": "sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==", "dev": true }, - "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==", + "cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, "requires": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" } }, - "loupe": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz", - "integrity": "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==", + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, "requires": { - "get-func-name": "^2.0.0" + "ms": "2.1.2" + }, + "dependencies": { + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "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==", + "deep-eql": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", + "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", "dev": true, "requires": { - "semver": "^6.0.0" + "type-detect": "^4.0.0" } }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "dev": true + }, + "esbuild": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", + "dev": true, + "requires": { + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" + } + }, + "estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", "dev": true, "requires": { - "brace-expansion": "^1.1.7" + "@types/estree": "^1.0.0" } }, - "mocha": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz", - "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==", - "dev": true, - "requires": { - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", - "chokidar": "3.5.3", - "debug": "4.3.4", - "diff": "5.0.0", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "7.2.0", - "he": "1.2.0", - "js-yaml": "4.1.0", - "log-symbols": "4.1.0", - "minimatch": "5.0.1", - "ms": "2.1.3", - "nanoid": "3.3.3", - "serialize-javascript": "6.0.0", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "workerpool": "6.2.1", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", - "yargs-unparser": "2.0.0" - }, - "dependencies": { - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0" - } + "execa": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" + }, + "dependencies": { + "is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true }, - "minimatch": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", - "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", - "dev": true, - "requires": { - "brace-expansion": "^2.0.1" - } + "signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true } } }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "fast-xml-parser": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.4.1.tgz", + "integrity": "sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==", + "requires": { + "strnum": "^1.0.5" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, - "nanoid": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", - "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", + "fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "optional": true + }, + "get-func-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", + "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", "dev": true }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", "dev": true }, - "nise": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.5.tgz", - "integrity": "sha512-VJuPIfUFaXNRzETTQEEItTOP8Y171ijr+JLq42wHes3DiryR8vT+1TXQW/Rx8JNUhyYYWyIvjXTU6dOhJcs9Nw==", + "glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", "dev": true, "requires": { - "@sinonjs/commons": "^2.0.0", - "@sinonjs/fake-timers": "^10.0.2", - "@sinonjs/text-encoding": "^0.7.1", - "just-extend": "^4.0.2", - "path-to-regexp": "^1.7.0" - }, - "dependencies": { - "@sinonjs/commons": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", - "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", - "dev": true, - "requires": { - "type-detect": "4.0.8" - } - }, - "@sinonjs/fake-timers": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", - "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", - "dev": true, - "requires": { - "@sinonjs/commons": "^3.0.0" - }, - "dependencies": { - "@sinonjs/commons": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", - "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", - "dev": true, - "requires": { - "type-detect": "4.0.8" - } - } - } - } + "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" } }, - "node-preload": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz", - "integrity": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==", + "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 + }, + "html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "human-signals": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "requires": { - "process-on-spawn": "^1.0.0" + "once": "^1.3.0", + "wrappy": "1" } }, - "node-releases": { - "version": "1.1.73", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.73.tgz", - "integrity": "sha512-uW7fodD6pyW2FZNZnp/Z3hvWKeEW1Y8R1+1CnErE8cXFXzl5blBOoVB41CvMer6P6Q0S5FXDwcHgFd1Wj0U9zg==", + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", "dev": true }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", "dev": true }, - "nyc": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz", - "integrity": "sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==", + "istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", "dev": true, "requires": { - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "caching-transform": "^4.0.0", - "convert-source-map": "^1.7.0", - "decamelize": "^1.2.0", - "find-cache-dir": "^3.2.0", - "find-up": "^4.1.0", - "foreground-child": "^2.0.0", - "get-package-type": "^0.1.0", - "glob": "^7.1.6", "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-hook": "^3.0.0", - "istanbul-lib-instrument": "^4.0.0", - "istanbul-lib-processinfo": "^2.0.2", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.0.2", - "make-dir": "^3.0.0", - "node-preload": "^0.2.1", - "p-map": "^3.0.0", - "process-on-spawn": "^1.0.0", - "resolve-from": "^5.0.0", - "rimraf": "^3.0.0", - "signal-exit": "^3.0.2", - "spawn-wrap": "^2.0.0", - "test-exclude": "^6.0.0", - "yargs": "^15.0.2" - }, - "dependencies": { - "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", "dev": true, "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "semver": "^7.5.3" } }, - "y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "semver": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", "dev": true }, - "yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "dev": true, - "requires": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - } - }, - "yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "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": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" + "has-flag": "^4.0.0" } } } }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "istanbul-reports": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", + "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", "dev": true, "requires": { - "wrappy": "1" + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" } }, - "optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "local-pkg": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.0.tgz", + "integrity": "sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==", "dev": true, "requires": { - "@aashutoshrathi/word-wrap": "^1.2.3", - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" + "mlly": "^1.4.2", + "pkg-types": "^1.0.3" } }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "loupe": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", + "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", "dev": true, "requires": { - "yocto-queue": "^0.1.0" + "get-func-name": "^2.0.1" } }, - "p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "magic-string": { + "version": "0.30.10", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.10.tgz", + "integrity": "sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==", "dev": true, "requires": { - "p-limit": "^3.0.2" + "@jridgewell/sourcemap-codec": "^1.4.15" } }, - "p-map": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", - "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", + "magicast": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.3.4.tgz", + "integrity": "sha512-TyDF/Pn36bBji9rWKHlZe+PZb6Mx5V8IHCSxk7X4aljM4e/vyDvZZYwHewdVaqiA0nb3ghfHU/6AUpDxWoER2Q==", "dev": true, "requires": { - "aggregate-error": "^3.0.0" + "@babel/parser": "^7.24.4", + "@babel/types": "^7.24.0", + "source-map-js": "^1.2.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==", + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", "dev": true }, - "package-hash": { + "mimic-fn": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz", - "integrity": "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "dev": true + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "requires": { - "graceful-fs": "^4.1.15", - "hasha": "^5.0.0", - "lodash.flattendeep": "^4.4.0", - "release-zalgo": "^1.0.0" + "brace-expansion": "^1.1.7" } }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "mlly": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.7.1.tgz", + "integrity": "sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA==", "dev": true, "requires": { - "callsites": "^3.0.0" + "acorn": "^8.11.3", + "pathe": "^1.1.2", + "pkg-types": "^1.1.1", + "ufo": "^1.5.3" } }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "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=", - "dev": true - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", "dev": true }, - "path-to-regexp": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.9.0.tgz", - "integrity": "sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==", + "npm-run-path": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", "dev": true, "requires": { - "isarray": "0.0.1" + "path-key": "^4.0.0" }, "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", "dev": true } } }, - "pathval": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", - "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", - "dev": true - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true - }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "requires": { - "find-up": "^4.0.0" - }, - "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - } + "wrappy": "1" } }, - "prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true - }, - "process-on-spawn": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz", - "integrity": "sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==", + "onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", "dev": true, "requires": { - "fromentries": "^1.2.0" + "mimic-fn": "^4.0.0" } }, - "punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", - "dev": true - }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==" - }, - "queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "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=", "dev": true }, - "ramda": { - "version": "0.28.0", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.28.0.tgz", - "integrity": "sha512-9QnLuG/kPVgWvMQ4aODhsBUFKOUmnbUnsSXACv+NCQZcHbeb+v8Lodp8OVxtRULN1/xOyYLLaL6npE6dMq5QTA==" - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "requires": { - "picomatch": "^2.2.1" - } - }, - "release-zalgo": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz", - "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=", - "dev": true, - "requires": { - "es6-error": "^4.0.1" - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "pathe": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", + "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", "dev": true }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "pathval": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", "dev": true }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "picocolors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", + "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==", "dev": true }, - "rewire": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/rewire/-/rewire-7.0.0.tgz", - "integrity": "sha512-DyyNyzwMtGYgu0Zl/ya0PR/oaunM+VuCuBxCuhYJHHaV0V+YvYa3bBGxb5OZ71vndgmp1pYY8F4YOwQo1siRGw==", + "pkg-types": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.1.1.tgz", + "integrity": "sha512-ko14TjmDuQJ14zsotODv7dBlwxKhUKQEhuhmbqo1uCi9BB0Z2alo/wAXg6q1dTR5TyuqYyWhjtfe/Tsh+X28jQ==", "dev": true, "requires": { - "eslint": "^8.47.0" + "confbox": "^0.1.7", + "mlly": "^1.7.0", + "pathe": "^1.1.2" } }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "postcss": { + "version": "8.4.47", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", + "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", "dev": true, "requires": { - "glob": "^7.1.3" + "nanoid": "^3.3.7", + "picocolors": "^1.1.0", + "source-map-js": "^1.2.1" } }, - "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==", + "pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, "requires": { - "queue-microtask": "^1.2.2" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + } } }, - "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==", - "dev": true - }, - "sax": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz", - "integrity": "sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA==" - }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true + "ramda": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.28.0.tgz", + "integrity": "sha512-9QnLuG/kPVgWvMQ4aODhsBUFKOUmnbUnsSXACv+NCQZcHbeb+v8Lodp8OVxtRULN1/xOyYLLaL6npE6dMq5QTA==" }, - "serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", - "dev": true, - "requires": { - "randombytes": "^2.1.0" + "react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true + }, + "rollup": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.22.4.tgz", + "integrity": "sha512-vD8HJ5raRcWOyymsR6Z3o6+RzfEPCnVLMFJ6vRslO1jt4LO6dUo5Qnpg7y4RkZFM2DMe3WUirkI5c16onjrc6A==", + "dev": true, + "requires": { + "@rollup/rollup-android-arm-eabi": "4.22.4", + "@rollup/rollup-android-arm64": "4.22.4", + "@rollup/rollup-darwin-arm64": "4.22.4", + "@rollup/rollup-darwin-x64": "4.22.4", + "@rollup/rollup-linux-arm-gnueabihf": "4.22.4", + "@rollup/rollup-linux-arm-musleabihf": "4.22.4", + "@rollup/rollup-linux-arm64-gnu": "4.22.4", + "@rollup/rollup-linux-arm64-musl": "4.22.4", + "@rollup/rollup-linux-powerpc64le-gnu": "4.22.4", + "@rollup/rollup-linux-riscv64-gnu": "4.22.4", + "@rollup/rollup-linux-s390x-gnu": "4.22.4", + "@rollup/rollup-linux-x64-gnu": "4.22.4", + "@rollup/rollup-linux-x64-musl": "4.22.4", + "@rollup/rollup-win32-arm64-msvc": "4.22.4", + "@rollup/rollup-win32-ia32-msvc": "4.22.4", + "@rollup/rollup-win32-x64-msvc": "4.22.4", + "@types/estree": "1.0.5", + "fsevents": "~2.3.2" } }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true - }, "shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -6286,110 +5902,58 @@ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true }, - "signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", + "siginfo": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", + "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", "dev": true }, - "sinon": { - "version": "17.0.0", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-17.0.0.tgz", - "integrity": "sha512-p4lJiYKBoOEVUxxVIC9H1MM2znG1/c8gud++I2BauJA5hsz7hHsst35eurNWXTusBsIq66FzOQbZ/uMdpvbPIQ==", - "dev": true, - "requires": { - "@sinonjs/commons": "^3.0.0", - "@sinonjs/fake-timers": "^11.2.2", - "@sinonjs/samsam": "^8.0.0", - "diff": "^5.1.0", - "nise": "^5.1.5", - "supports-color": "^7.2.0" - }, - "dependencies": { - "diff": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", - "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==", - "dev": 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==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", "dev": true }, - "spawn-wrap": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz", - "integrity": "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==", - "dev": true, - "requires": { - "foreground-child": "^2.0.0", - "is-windows": "^1.0.2", - "make-dir": "^3.0.0", - "rimraf": "^3.0.0", - "signal-exit": "^3.0.2", - "which": "^2.0.1" - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "stackback": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", + "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", "dev": true }, - "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==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "std-env": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz", + "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==", "dev": true }, - "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", "dev": true }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "strip-literal": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-2.1.0.tgz", + "integrity": "sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==", "dev": true, "requires": { - "has-flag": "^4.0.0" + "js-tokens": "^9.0.0" + }, + "dependencies": { + "js-tokens": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.0.tgz", + "integrity": "sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==", + "dev": true + } } }, + "strnum": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", + "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" + }, "test-exclude": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", @@ -6401,10 +5965,22 @@ "minimatch": "^3.0.4" } }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "tinybench": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.8.0.tgz", + "integrity": "sha512-1/eK7zUnIklz4JUUlL+658n58XO2hHLQfSk1Zf2LKieUjxidN16eKFEoDEfjHc3ohofSSqK3X5yO6VGb6iW8Lw==", + "dev": true + }, + "tinypool": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.8.4.tgz", + "integrity": "sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ==", + "dev": true + }, + "tinyspy": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-2.2.1.tgz", + "integrity": "sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==", "dev": true }, "to-fast-properties": { @@ -6413,23 +5989,10 @@ "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", "dev": true }, - "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==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - }, - "type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1" - } + "tslib": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==" }, "type-detect": { "version": "4.0.8", @@ -6437,63 +6000,65 @@ "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", "dev": true }, - "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "ufo": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.5.3.tgz", + "integrity": "sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==", "dev": true }, - "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==", + "vite": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.6.tgz", + "integrity": "sha512-IeL5f8OO5nylsgzd9tq4qD2QqI0k2CQLGrWD0rCN0EQJZpBK5vJAx0I+GDkMOXxQX/OfFHMuLIx6ddAxGX/k+Q==", "dev": true, "requires": { - "is-typedarray": "^1.0.0" + "esbuild": "^0.21.3", + "fsevents": "~2.3.3", + "postcss": "^8.4.43", + "rollup": "^4.20.0" } }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "vite-node": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.6.0.tgz", + "integrity": "sha512-de6HJgzC+TFzOu0NTC4RAIsyf/DY/ibWDYQUcuEA84EMHhcefTUGkjFHKKEJhQN4A+6I0u++kr3l36ZF2d7XRw==", "dev": true, "requires": { - "punycode": "^2.1.0" + "cac": "^6.7.14", + "debug": "^4.3.4", + "pathe": "^1.1.1", + "picocolors": "^1.0.0", + "vite": "^5.0.0" } }, - "url": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz", - "integrity": "sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ==", - "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": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==" - } - } - }, - "util": { - "version": "0.12.5", - "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", - "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", + "vitest": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.6.0.tgz", + "integrity": "sha512-H5r/dN06swuFnzNFhq/dnz37bPXnq8xB2xB5JOVk8K09rUtoeNN+LHWkoQ0A/i3hvbUKKcCei9KpbxqHMLhLLA==", + "dev": true, "requires": { - "inherits": "^2.0.3", - "is-arguments": "^1.0.4", - "is-generator-function": "^1.0.7", - "is-typed-array": "^1.1.3", - "which-typed-array": "^1.1.2" + "@vitest/expect": "1.6.0", + "@vitest/runner": "1.6.0", + "@vitest/snapshot": "1.6.0", + "@vitest/spy": "1.6.0", + "@vitest/utils": "1.6.0", + "acorn-walk": "^8.3.2", + "chai": "^4.3.10", + "debug": "^4.3.4", + "execa": "^8.0.1", + "local-pkg": "^0.5.0", + "magic-string": "^0.30.5", + "pathe": "^1.1.1", + "picocolors": "^1.0.0", + "std-env": "^3.5.0", + "strip-literal": "^2.0.0", + "tinybench": "^2.5.1", + "tinypool": "^0.8.3", + "vite": "^5.0.0", + "vite-node": "1.6.0", + "why-is-node-running": "^2.2.2" } }, - "uuid": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.0.0.tgz", - "integrity": "sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw==" - }, "which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -6503,40 +6068,14 @@ "isexe": "^2.0.0" } }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, - "which-typed-array": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", - "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", - "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0", - "is-typed-array": "^1.1.10" - } - }, - "workerpool": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", - "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==", - "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==", + "why-is-node-running": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.2.2.tgz", + "integrity": "sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==", "dev": true, "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "siginfo": "^2.0.0", + "stackback": "0.0.2" } }, "wrappy": { @@ -6544,91 +6083,6 @@ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "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" - } - }, - "xml2js": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.6.2.tgz", - "integrity": "sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA==", - "requires": { - "sax": ">=0.6.0", - "xmlbuilder": "~11.0.0" - } - }, - "xmlbuilder": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", - "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==" - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true - }, - "yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - } - }, - "yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", - "dev": true - }, - "yargs-unparser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", - "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", - "dev": true, - "requires": { - "camelcase": "^6.0.0", - "decamelize": "^4.0.0", - "flat": "^5.0.2", - "is-plain-obj": "^2.1.0" - }, - "dependencies": { - "camelcase": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", - "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", - "dev": true - }, - "decamelize": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", - "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", - "dev": true - } - } - }, - "yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true } } } diff --git a/source/backend/functions/cur-setup/package.json b/source/backend/functions/cur-setup/package.json index 9760363a..4d1f901a 100644 --- a/source/backend/functions/cur-setup/package.json +++ b/source/backend/functions/cur-setup/package.json @@ -1,15 +1,15 @@ { "name": "wd-cur-setup", - "version": "2.1.15", + "version": "2.2.0", "description": "", "main": "index.js", + "type": "module", "scripts": { - "test": "mocha test/*.js", + "test": "vitest run --coverage", "clean": "rm -rf dist", "build:zip": "zip -rq --exclude=package-lock.json cur-setup.zip node_modules/ && zip -urj cur-setup.zip src/", "build:dist": "mkdir dist && mv cur-setup.zip dist/", - "build": "npm run clean && npm ci --omit=dev && npm run build:zip && npm run build:dist", - "coverage": "nyc npm test" + "build": "npm run clean && npm ci --omit=dev && npm run build:zip && npm run build:dist" }, "author": { "name": "Amazon Web Services", @@ -17,14 +17,12 @@ }, "license": "Apache-2.0", "dependencies": { - "aws-sdk": "2.1605.0", + "@aws-sdk/client-glue": "^3.645.0", + "@aws-sdk/client-s3": "^3.645.0", "ramda": "0.28.0" }, "devDependencies": { - "chai": "^4.3.10", - "mocha": "^10.2.0", - "nyc": "^15.1.0", - "rewire": "^7.0.0", - "sinon": "^17.0.0" + "@vitest/coverage-v8": "^1.6.0", + "vitest": "^1.6.0" } } diff --git a/source/backend/functions/cur-setup/src/cfn-response.js b/source/backend/functions/cur-setup/src/cfn-response.js deleted file mode 100644 index f3384bc2..00000000 --- a/source/backend/functions/cur-setup/src/cfn-response.js +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 - - exports.SUCCESS = "SUCCESS"; - exports.FAILED = "FAILED"; - - exports.send = function(event, context, responseStatus, responseData, physicalResourceId, noEcho) { - - var responseBody = JSON.stringify({ - Status: responseStatus, - Reason: "See the details in CloudWatch Log Stream: " + context.logStreamName, - PhysicalResourceId: physicalResourceId || context.logStreamName, - StackId: event.StackId, - RequestId: event.RequestId, - LogicalResourceId: event.LogicalResourceId, - NoEcho: noEcho || false, - Data: responseData - }); - - console.log("Response body:\n", responseBody); - - var https = require("https"); - var url = require("url"); - - var parsedUrl = url.parse(event.ResponseURL); - var options = { - hostname: parsedUrl.hostname, - port: 443, - path: parsedUrl.path, - method: "PUT", - headers: { - "content-type": "", - "content-length": responseBody.length - } - }; - - var request = https.request(options, function(response) { - console.log("Status code: " + response.statusCode); - console.log("Status message: " + response.statusMessage); - context.done(); - }); - - request.on("error", function(error) { - console.log("send(..) failed executing https.request(..): " + error); - context.done(); - }); - - request.write(responseBody); - request.end(); - } diff --git a/source/backend/functions/cur-setup/src/index.js b/source/backend/functions/cur-setup/src/index.js deleted file mode 100644 index d5cc88d3..00000000 --- a/source/backend/functions/cur-setup/src/index.js +++ /dev/null @@ -1,71 +0,0 @@ -// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 - -const AWS = require('aws-sdk'); -const response = require('./cfn-response'); -const R = require('ramda'); -const s3 = new AWS.S3(); - -const { CURCrawlerKey: cURCrawlerKey } = process.env; - -exports.handler = function (event, context, callback) { - if (event.RequestType === 'Delete') { - response.send(event, context, response.SUCCESS); - } else { - if (event.Records) { - R.forEach((record) => { - console.log(JSON.stringify(record)); - console.log( - `Downloading from ${record.s3.bucket.name}/${record.s3.object.key}` - ); - const year = decodeURIComponent(R.split('/', record.s3.object.key)[3]); - const month = decodeURIComponent(R.split('/', record.s3.object.key)[4]); - const name = R.last(R.split('/', record.s3.object.key)); - console.log(`Name is ${name}`); - console.log(`Month is ${month}`); - console.log(`Year is ${year}`); - console.log(`Uploading to ${record.s3.bucket.name}/${cURCrawlerKey}`); - if (R.endsWith('.parquet', name)) { - var params = { - Bucket: record.s3.bucket.name, - CopySource: `${record.s3.bucket.name}/${record.s3.object.key}`, - Key: `${cURCrawlerKey}/${year}/${month}/${name}`, - }; - s3.copyObject(params, function (err, data) { - if (err) console.error(err, err.stack); - // an error occurred - else console.log('CUR Copied successfully'); // successful response - }); - } - }, event.Records); - } - - const glue = new AWS.Glue(); - glue.startCrawler( - { Name: 'AWSCURCrawler-aws-perspective-cost-and-usage' }, - function (err, data) { - if (err) { - const responseData = JSON.parse(this.httpResponse.body); - if (responseData['__type'] == 'CrawlerRunningException') { - callback(null, responseData.Message); - } else { - const responseString = JSON.stringify(responseData); - if (event.ResponseURL) { - response.send(event, context, response.FAILED, { - msg: responseString, - }); - } else { - callback(responseString); - } - } - } else { - if (event.ResponseURL) { - response.send(event, context, response.SUCCESS); - } else { - callback(null, response.SUCCESS); - } - } - } - ); - } -}; diff --git a/source/backend/functions/graph-api/package-lock.json b/source/backend/functions/graph-api/package-lock.json index 8f1a9ca3..5a1088b1 100644 --- a/source/backend/functions/graph-api/package-lock.json +++ b/source/backend/functions/graph-api/package-lock.json @@ -1,14 +1,15 @@ { "name": "wd-graph-api", - "version": "2.1.15", - "lockfileVersion": 2, + "version": "2.2.0", + "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "wd-graph-api", - "version": "2.1.15", + "version": "2.2.0", "license": "Apache-2.0", "dependencies": { + "@aws-lambda-powertools/logger": "2.10.0", "gremlin": "3.5.2", "neptune-lambda-client": "1.0.0", "pino": "8.16.1", @@ -16,6071 +17,1734 @@ "ramda": "0.28.0" }, "devDependencies": { - "chai": "^4.3.10", - "mocha": "^10.2.0", - "nyc": "^15.1.0", - "nyc-report-lcov-absolute": "^1.0.0", - "rewire": "^7.0.0", - "sinon": "^17.0.0" - } - }, - "node_modules/@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", - "dev": true, - "engines": { - "node": ">=0.10.0" + "@vitest/coverage-v8": "^2.1.1", + "sinon": "^17.0.0", + "vitest": "^2.1.1" } }, "node_modules/@ampproject/remapping": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", - "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", "dev": true, "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { "node": ">=6.0.0" } }, - "node_modules/@babel/code-frame": { - "version": "7.22.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", - "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", - "dev": true, + "node_modules/@aws-lambda-powertools/commons": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@aws-lambda-powertools/commons/-/commons-2.10.0.tgz", + "integrity": "sha512-XHC0FW/k33JWc2SZ9pbOJQPzNCMoRGnRuX/Cx1CYXRvRnaLYkPNRPrPYvGWy1OInAS3GSK6zxP1Asx0k4uaqSw==", + "license": "MIT-0" + }, + "node_modules/@aws-lambda-powertools/logger": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@aws-lambda-powertools/logger/-/logger-2.10.0.tgz", + "integrity": "sha512-QsVnoCBf6gKneGmSrIj1nxf34jWWOyDu4PO3I+VwkaH60lph2dIVcF1pP1zZagxUoYt9WWiddHcGQ7ORo0z5iw==", + "license": "MIT-0", "dependencies": { - "@babel/highlight": "^7.22.13", - "chalk": "^2.4.2" + "@aws-lambda-powertools/commons": "^2.10.0", + "lodash.merge": "^4.6.2" + }, + "peerDependencies": { + "@middy/core": "4.x || 5.x" }, + "peerDependenciesMeta": { + "@middy/core": { + "optional": true + } + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.7.tgz", + "integrity": "sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==", + "dev": true, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/code-frame/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==", + "node_modules/@babel/helper-validator-identifier": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, "engines": { - "node": ">=4" + "node": ">=6.9.0" } }, - "node_modules/@babel/code-frame/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==", + "node_modules/@babel/parser": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.7.tgz", + "integrity": "sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==", "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "bin": { + "parser": "bin/babel-parser.js" }, "engines": { - "node": ">=4" + "node": ">=6.0.0" } }, - "node_modules/@babel/code-frame/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==", + "node_modules/@babel/types": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.7.tgz", + "integrity": "sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==", "dev": true, "dependencies": { - "color-name": "1.1.3" + "@babel/helper-string-parser": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" } }, - "node_modules/@babel/code-frame/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", "dev": true }, - "node_modules/@babel/code-frame/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": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "node_modules/@esbuild/aix-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", + "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", + "cpu": [ + "ppc64" + ], "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], "engines": { - "node": ">=0.8.0" + "node": ">=12" } }, - "node_modules/@babel/code-frame/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "node_modules/@esbuild/android-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", + "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", + "cpu": [ + "arm" + ], "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=4" + "node": ">=12" } }, - "node_modules/@babel/code-frame/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==", + "node_modules/@esbuild/android-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", + "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=4" + "node": ">=12" } }, - "node_modules/@babel/compat-data": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.4.tgz", - "integrity": "sha512-/DYyDpeCfaVinT40FPGdkkb+lYSKvsVuMjDAG7jPOWWiM1ibOaB9CXJAlc4d1QpP/U2q2P9jbrSlClKSErd55g==", + "node_modules/@esbuild/android-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", + "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", + "cpu": [ + "x64" + ], "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/core": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.21.4.tgz", - "integrity": "sha512-qt/YV149Jman/6AfmlxJ04LMIu8bMoyl3RB91yTFrxQmgbrSvQMy7cI8Q62FHx1t8wJ8B5fu0UDoLwHAhUo1QA==", + "node_modules/@esbuild/darwin-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", + "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.21.4", - "@babel/generator": "^7.21.4", - "@babel/helper-compilation-targets": "^7.21.4", - "@babel/helper-module-transforms": "^7.21.2", - "@babel/helpers": "^7.21.0", - "@babel/parser": "^7.21.4", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.4", - "@babel/types": "^7.21.4", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", - "semver": "^6.3.0" - }, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" + "node": ">=12" } }, - "node_modules/@babel/generator": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", - "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", + "node_modules/@esbuild/darwin-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", + "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "@babel/types": "^7.23.0", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - }, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.4.tgz", - "integrity": "sha512-Fa0tTuOXZ1iL8IeDFUWCzjZcn+sJGd9RZdH9esYVjEejGmzf+FFYQpMi/kZUk2kPy/q1H3/GPw7np8qar/stfg==", + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", + "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "@babel/compat-data": "^7.21.4", - "@babel/helper-validator-option": "^7.21.0", - "browserslist": "^4.21.3", - "lru-cache": "^5.1.1", - "semver": "^6.3.0" - }, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "node": ">=12" } }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", + "node_modules/@esbuild/freebsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", + "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", + "cpu": [ + "x64" + ], "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", + "node_modules/@esbuild/linux-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", + "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", + "cpu": [ + "arm" + ], "dev": true, - "dependencies": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" - }, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "node_modules/@esbuild/linux-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", + "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-module-imports": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz", - "integrity": "sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==", + "node_modules/@esbuild/linux-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", + "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", + "cpu": [ + "ia32" + ], "dev": true, - "dependencies": { - "@babel/types": "^7.21.4" - }, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.21.2", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz", - "integrity": "sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==", + "node_modules/@esbuild/linux-loong64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", + "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", + "cpu": [ + "loong64" + ], "dev": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.20.2", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.19.1", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.2", - "@babel/types": "^7.21.2" - }, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-simple-access": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", - "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", + "node_modules/@esbuild/linux-mips64el": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", + "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", + "cpu": [ + "mips64el" + ], "dev": true, - "dependencies": { - "@babel/types": "^7.20.2" - }, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "node_modules/@esbuild/linux-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", + "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", + "cpu": [ + "ppc64" + ], "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", + "node_modules/@esbuild/linux-riscv64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", + "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", + "cpu": [ + "riscv64" + ], "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "node_modules/@esbuild/linux-s390x": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", + "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", + "cpu": [ + "s390x" + ], "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-validator-option": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz", - "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==", + "node_modules/@esbuild/linux-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", + "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", + "cpu": [ + "x64" + ], "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helpers": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.0.tgz", - "integrity": "sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==", + "node_modules/@esbuild/netbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", + "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.0", - "@babel/types": "^7.21.0" - }, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/highlight": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", - "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", + "node_modules/@esbuild/openbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", + "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" - }, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/highlight/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==", + "node_modules/@esbuild/sunos-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", + "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], "engines": { - "node": ">=4" + "node": ">=12" } }, - "node_modules/@babel/highlight/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==", + "node_modules/@esbuild/win32-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", + "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=4" + "node": ">=12" } }, - "node_modules/@babel/highlight/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==", + "node_modules/@esbuild/win32-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", + "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", + "cpu": [ + "ia32" + ], "dev": true, - "dependencies": { - "color-name": "1.1.3" + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" } }, - "node_modules/@babel/highlight/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true + "node_modules/@esbuild/win32-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", + "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } }, - "node_modules/@babel/highlight/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": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, "engines": { - "node": ">=0.8.0" + "node": ">=12" } }, - "node_modules/@babel/highlight/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", "dev": true, + "license": "MIT", "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/@babel/highlight/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==", + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", "dev": true, "dependencies": { - "has-flag": "^3.0.0" + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { - "node": ">=4" + "node": ">=6.0.0" } }, - "node_modules/@babel/parser": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", - "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", "dev": true, - "bin": { - "parser": "bin/babel-parser.js" - }, "engines": { "node": ">=6.0.0" } }, - "node_modules/@babel/template": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", - "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", "dev": true, - "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/parser": "^7.22.15", - "@babel/types": "^7.22.15" - }, "engines": { - "node": ">=6.9.0" + "node": ">=6.0.0" } }, - "node_modules/@babel/traverse": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", - "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.23.0", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.0", - "@babel/types": "^7.23.0", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@babel/types": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", - "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", "dev": true, - "dependencies": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.20", - "to-fast-properties": "^2.0.0" - }, + "license": "MIT", + "optional": true, "engines": { - "node": ">=6.9.0" + "node": ">=14" } }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.9.1.tgz", - "integrity": "sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==", - "dev": true, - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", - "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", - "dev": true, - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.23.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", - "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", - "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@eslint/eslintrc/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/@eslint/eslintrc/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@eslint/js": { - "version": "8.51.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.51.0.tgz", - "integrity": "sha512-HxjQ8Qn+4SI3/AFv6sOrDB+g6PpUTDwSJiQqOrnneEk8L71161srI9gjzzZvYVbzHiVg/BvcH95+cK/zfIt4pg==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.11.13", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", - "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==", - "dev": true, - "dependencies": { - "@humanwhocodes/object-schema": "^2.0.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" - }, - "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/@humanwhocodes/config-array/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz", - "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==", - "dev": true - }, - "node_modules/@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "dev": true, - "dependencies": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/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==", - "dev": true, - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true - }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", - "dev": true, - "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "dev": true - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.18", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", - "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", - "dev": true, - "dependencies": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" - } - }, - "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "dev": true - }, - "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==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "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==", - "dev": true, - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@sinonjs/commons": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", - "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", - "dev": true, - "dependencies": { - "type-detect": "4.0.8" - } - }, - "node_modules/@sinonjs/fake-timers": { - "version": "11.2.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-11.2.2.tgz", - "integrity": "sha512-G2piCSxQ7oWOxwGSAyFHfPIsyeJGXYtc6mFbnFA+kRXkiEnTl8c/8jul2S329iFBnDI9HGoeWWAZvuvOkZccgw==", - "dev": true, - "dependencies": { - "@sinonjs/commons": "^3.0.0" - } - }, - "node_modules/@sinonjs/samsam": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-8.0.0.tgz", - "integrity": "sha512-Bp8KUVlLp8ibJZrnvq2foVhP0IVX2CIprMJPK0vqGqgrDa0OHVKeZyBykqskkrdxV6yKBPmGasO8LVjAKR3Gew==", - "dev": true, - "dependencies": { - "@sinonjs/commons": "^2.0.0", - "lodash.get": "^4.4.2", - "type-detect": "^4.0.8" - } - }, - "node_modules/@sinonjs/samsam/node_modules/@sinonjs/commons": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", - "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", - "dev": true, - "dependencies": { - "type-detect": "4.0.8" - } - }, - "node_modules/@sinonjs/text-encoding": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.2.tgz", - "integrity": "sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ==", - "dev": true - }, - "node_modules/abort-controller": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", - "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", - "dependencies": { - "event-target-shim": "^5.0.0" - }, - "engines": { - "node": ">=6.5" - } - }, - "node_modules/acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dev": true, - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "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/ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "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/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/append-transform": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz", - "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==", - "dev": true, - "dependencies": { - "default-require-extensions": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/archy": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==", - "dev": true - }, - "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/assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/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==" - }, - "node_modules/async-retry": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/async-retry/-/async-retry-1.3.3.tgz", - "integrity": "sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==", - "dependencies": { - "retry": "0.13.1" - } - }, - "node_modules/atomic-sleep": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/atomic-sleep/-/atomic-sleep-1.0.0.tgz", - "integrity": "sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==", - "engines": { - "node": ">=8.0.0" - } - }, - "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/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "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/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "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==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "dev": true, - "dependencies": { - "fill-range": "^7.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browser-stdout": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", - "dev": true - }, - "node_modules/browserslist": { - "version": "4.21.5", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", - "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - ], - "dependencies": { - "caniuse-lite": "^1.0.30001449", - "electron-to-chromium": "^1.4.284", - "node-releases": "^2.0.8", - "update-browserslist-db": "^1.0.10" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "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.2.1" - } - }, - "node_modules/caching-transform": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz", - "integrity": "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==", - "dev": true, - "dependencies": { - "hasha": "^5.0.0", - "make-dir": "^3.0.0", - "package-hash": "^4.0.0", - "write-file-atomic": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001480", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001480.tgz", - "integrity": "sha512-q7cpoPPvZYgtyC4VaBSN0Bt+PJ4c4EYRf0DrduInOz2SkFpHD5p3LnvEpqBp7UnJn+8x1Ogl1s38saUxe+ihQQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ] - }, - "node_modules/chai": { - "version": "4.3.10", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.10.tgz", - "integrity": "sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g==", - "dev": true, - "dependencies": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.3", - "deep-eql": "^4.1.3", - "get-func-name": "^2.0.2", - "loupe": "^2.3.6", - "pathval": "^1.1.1", - "type-detect": "^4.0.8" - }, - "engines": { - "node": ">=4" - } - }, - "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/check-error": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", - "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", - "dev": true, - "dependencies": { - "get-func-name": "^2.0.2" - }, - "engines": { - "node": "*" - } - }, - "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], - "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/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "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/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/commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", - "dev": true - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "node_modules/convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "dev": true - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/debug/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==", - "dev": true - }, - "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/deep-eql": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", - "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", - "dev": true, - "dependencies": { - "type-detect": "^4.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "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/default-require-extensions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.1.tgz", - "integrity": "sha512-eXTJmRbm2TIt9MgWTsOH1wEuhew6XGZcMeGKCtLedIg/NCsg1iBePXkceTdK4Fii7pzmN9tGsZhKzZ4h7O/fxw==", - "dev": true, - "dependencies": { - "strip-bom": "^4.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/diff": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", - "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", - "dev": true, - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/electron-to-chromium": { - "version": "1.4.368", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.368.tgz", - "integrity": "sha512-e2aeCAixCj9M7nJxdB/wDjO6mbYX+lJJxSJCXDzlr5YPGYVofuJwGN9nKg2o6wWInjX6XmxRinn3AeJMK81ltw==", - "dev": true - }, - "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==", - "dev": true - }, - "node_modules/es6-error": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", - "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", - "dev": true - }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "8.51.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.51.0.tgz", - "integrity": "sha512-2WuxRZBrlwnXi+/vFSJyjMqrNjtJqiasMzehF0shoLaW7DzS3/9Yvrmq5JiT66+pNjiX4UBnLDiKHcWAr/OInA==", - "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "8.51.0", - "@humanwhocodes/config-array": "^0.11.11", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint/node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/eslint/node_modules/globals": { - "version": "13.23.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", - "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", - "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/eslint/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", - "dev": true, - "dependencies": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "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==", - "dev": true, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", - "dev": true, - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "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-target-shim": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", - "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "engines": { - "node": ">=0.8.x" - } - }, - "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==", - "dev": true - }, - "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==", - "dev": true - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true - }, - "node_modules/fast-redact": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/fast-redact/-/fast-redact-3.1.2.tgz", - "integrity": "sha512-+0em+Iya9fKGfEQGcd62Yv6onjBmmhV1uh86XVfOU8VwAe6kaFdQCWI9s0/Nnugx5Vd9tdbZ7e6gE2tR9dzXdw==", - "engines": { - "node": ">=6" - } - }, - "node_modules/fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", - "dev": true, - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", - "dev": true, - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/avajs/find-cache-dir?sponsor=1" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", - "dev": true, - "bin": { - "flat": "cli.js" - } - }, - "node_modules/flat-cache": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.1.tgz", - "integrity": "sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==", - "dev": true, - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/flatted": { - "version": "3.2.9", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", - "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", - "dev": true - }, - "node_modules/foreground-child": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz", - "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/fromentries": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz", - "integrity": "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==", - "dev": true, - "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/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true, - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-func-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", - "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "dev": true, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "dev": true, - "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==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/glob/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true - }, - "node_modules/graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true - }, - "node_modules/gremlin": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/gremlin/-/gremlin-3.5.2.tgz", - "integrity": "sha512-GPFevKxQZwOSweuMDDyy1+bwQ7bDc1+41DRYeoYJOgkbiR5fbQslFCjOuWvsVF+FEQr/De4pG8ZqVP6wJMrYMQ==", - "dependencies": { - "ws": "^6.2.2" - }, - "engines": { - "node": ">=10" - } - }, - "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/hasha": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz", - "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==", - "dev": true, - "dependencies": { - "is-stream": "^2.0.0", - "type-fest": "^0.8.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true, - "bin": { - "he": "bin/he" - } - }, - "node_modules/html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true - }, - "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/ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/import-fresh/node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dev": true, - "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==", - "dev": true - }, - "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==", - "dev": true, - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "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==", - "dev": true, - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", - "dev": true - }, - "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==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/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==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", - "dev": true - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "node_modules/istanbul-lib-coverage": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-hook": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz", - "integrity": "sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==", - "dev": true, - "dependencies": { - "append-transform": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-instrument": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", - "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", - "dev": true, - "dependencies": { - "@babel/core": "^7.7.5", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.0.0", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-processinfo": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.3.tgz", - "integrity": "sha512-NkwHbo3E00oybX6NGJi6ar0B29vxyvNwoC7eJ4G4Yq28UfY758Hgn/heV8VRFhevPED4LXfFz0DQ8z/0kw9zMg==", - "dev": true, - "dependencies": { - "archy": "^1.0.0", - "cross-spawn": "^7.0.3", - "istanbul-lib-coverage": "^3.2.0", - "p-map": "^3.0.0", - "rimraf": "^3.0.0", - "uuid": "^8.3.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", - "dev": true, - "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", - "dev": true, - "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/istanbul-reports": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", - "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", - "dev": true, - "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "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/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, - "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/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==", - "dev": true - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/just-extend": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.2.1.tgz", - "integrity": "sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg==", - "dev": true - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash.flattendeep": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", - "integrity": "sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ==", - "dev": true - }, - "node_modules/lodash.get": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", - "dev": true - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, - "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==", - "dev": true, - "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/loupe": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz", - "integrity": "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==", - "dev": true, - "dependencies": { - "get-func-name": "^2.0.0" - } - }, - "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "dependencies": { - "yallist": "^3.0.2" - } - }, - "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/minimatch": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", - "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/minimatch/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/mocha": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz", - "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==", - "dev": true, - "dependencies": { - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", - "chokidar": "3.5.3", - "debug": "4.3.4", - "diff": "5.0.0", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "7.2.0", - "he": "1.2.0", - "js-yaml": "4.1.0", - "log-symbols": "4.1.0", - "minimatch": "5.0.1", - "ms": "2.1.3", - "nanoid": "3.3.3", - "serialize-javascript": "6.0.0", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "workerpool": "6.2.1", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", - "yargs-unparser": "2.0.0" - }, - "bin": { - "_mocha": "bin/_mocha", - "mocha": "bin/mocha.js" - }, - "engines": { - "node": ">= 14.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mochajs" - } - }, - "node_modules/mocha/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/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - }, - "node_modules/nanoid": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", - "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", - "dev": true, - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "node_modules/neptune-lambda-client": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/neptune-lambda-client/-/neptune-lambda-client-1.0.0.tgz", - "integrity": "sha512-t/muF2+qSgeJdW1wKIh2yWy/CzztHxvqIICVKDDYJcWMr3glMo1onG87X6P43VCAUvTm2Kmjl6UGnYMVzW3jzA==", - "dependencies": { - "async-retry": "1.3.3", - "aws4": "1.11.0", - "gremlin": "3.5.2" - } - }, - "node_modules/nise": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.5.tgz", - "integrity": "sha512-VJuPIfUFaXNRzETTQEEItTOP8Y171ijr+JLq42wHes3DiryR8vT+1TXQW/Rx8JNUhyYYWyIvjXTU6dOhJcs9Nw==", - "dev": true, - "dependencies": { - "@sinonjs/commons": "^2.0.0", - "@sinonjs/fake-timers": "^10.0.2", - "@sinonjs/text-encoding": "^0.7.1", - "just-extend": "^4.0.2", - "path-to-regexp": "^1.7.0" - } - }, - "node_modules/nise/node_modules/@sinonjs/commons": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", - "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", - "dev": true, - "dependencies": { - "type-detect": "4.0.8" - } - }, - "node_modules/nise/node_modules/@sinonjs/fake-timers": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", - "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", - "dev": true, - "dependencies": { - "@sinonjs/commons": "^3.0.0" - } - }, - "node_modules/nise/node_modules/@sinonjs/fake-timers/node_modules/@sinonjs/commons": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", - "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", - "dev": true, - "dependencies": { - "type-detect": "4.0.8" - } - }, - "node_modules/node-preload": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz", - "integrity": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==", - "dev": true, - "dependencies": { - "process-on-spawn": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/node-releases": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz", - "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==", - "dev": 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==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/nyc": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz", - "integrity": "sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==", - "dev": true, - "dependencies": { - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "caching-transform": "^4.0.0", - "convert-source-map": "^1.7.0", - "decamelize": "^1.2.0", - "find-cache-dir": "^3.2.0", - "find-up": "^4.1.0", - "foreground-child": "^2.0.0", - "get-package-type": "^0.1.0", - "glob": "^7.1.6", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-hook": "^3.0.0", - "istanbul-lib-instrument": "^4.0.0", - "istanbul-lib-processinfo": "^2.0.2", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.0.2", - "make-dir": "^3.0.0", - "node-preload": "^0.2.1", - "p-map": "^3.0.0", - "process-on-spawn": "^1.0.0", - "resolve-from": "^5.0.0", - "rimraf": "^3.0.0", - "signal-exit": "^3.0.2", - "spawn-wrap": "^2.0.0", - "test-exclude": "^6.0.0", - "yargs": "^15.0.2" - }, - "bin": { - "nyc": "bin/nyc.js" - }, - "engines": { - "node": ">=8.9" - } - }, - "node_modules/nyc-report-lcov-absolute": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/nyc-report-lcov-absolute/-/nyc-report-lcov-absolute-1.0.0.tgz", - "integrity": "sha512-sDq0XM0on9casPNySxGD/WSy17m95+e8xEhObNHoxVRsTIZZt8akop4WWisnjzEWRARGW91Ip6oRhIWmy4qcPw==", - "dev": true, - "peerDependencies": { - "istanbul-reports": "^3.0.0" - } - }, - "node_modules/nyc/node_modules/cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "node_modules/nyc/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/nyc/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/nyc/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/nyc/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/nyc/node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/nyc/node_modules/y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "dev": true - }, - "node_modules/nyc/node_modules/yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "dev": true, - "dependencies": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/nyc/node_modules/yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/on-exit-leak-free": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/on-exit-leak-free/-/on-exit-leak-free-2.1.2.tgz", - "integrity": "sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==", - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", - "dev": true, - "dependencies": { - "@aashutoshrathi/word-wrap": "^1.2.3", - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-map": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", - "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", - "dev": true, - "dependencies": { - "aggregate-error": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/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==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/package-hash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz", - "integrity": "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.15", - "hasha": "^5.0.0", - "lodash.flattendeep": "^4.4.0", - "release-zalgo": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "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": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-to-regexp": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.9.0.tgz", - "integrity": "sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==", - "dev": true, - "license": "MIT", - "dependencies": { - "isarray": "0.0.1" - } - }, - "node_modules/pathval": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", - "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pino": { - "version": "8.16.1", - "resolved": "https://registry.npmjs.org/pino/-/pino-8.16.1.tgz", - "integrity": "sha512-3bKsVhBmgPjGV9pyn4fO/8RtoVDR8ssW1ev819FsRXlRNgW8gR/9Kx+gCK4UPWd4JjrRDLWpzd/pb1AyWm3MGA==", - "dependencies": { - "atomic-sleep": "^1.0.0", - "fast-redact": "^3.1.1", - "on-exit-leak-free": "^2.1.0", - "pino-abstract-transport": "v1.1.0", - "pino-std-serializers": "^6.0.0", - "process-warning": "^2.0.0", - "quick-format-unescaped": "^4.0.3", - "real-require": "^0.2.0", - "safe-stable-stringify": "^2.3.1", - "sonic-boom": "^3.7.0", - "thread-stream": "^2.0.0" - }, - "bin": { - "pino": "bin.js" - } - }, - "node_modules/pino-abstract-transport": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-1.1.0.tgz", - "integrity": "sha512-lsleG3/2a/JIWUtf9Q5gUNErBqwIu1tUKTT3dUzaf5DySw9ra1wcqKjJjLX1VTY64Wk1eEOYsVGSaGfCK85ekA==", - "dependencies": { - "readable-stream": "^4.0.0", - "split2": "^4.0.0" - } - }, - "node_modules/pino-lambda": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/pino-lambda/-/pino-lambda-4.2.1.tgz", - "integrity": "sha512-brM1YRsGcH6RG0vQ8BJIFZ2M4MAvFwtBnAPR4Ds6LzDOlHOVoIL3uvDRATUsMM3KpfFya3NWTiELBugsC1I+kg==", - "peerDependencies": { - "pino": ">=6.0.0" - } - }, - "node_modules/pino-std-serializers": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-6.2.2.tgz", - "integrity": "sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==" - }, - "node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-dir/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", - "engines": { - "node": ">= 0.6.0" - } - }, - "node_modules/process-on-spawn": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz", - "integrity": "sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==", - "dev": true, - "dependencies": { - "fromentries": "^1.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/process-warning": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-2.3.0.tgz", - "integrity": "sha512-N6mp1+2jpQr3oCFMz6SeHRGbv6Slb20bRhj4v3xR99HqNToAcOe1MFOp4tytyzOfJn+QtN8Rf7U/h2KAn4kC6g==" - }, - "node_modules/punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "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==", - "dev": true, - "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-format-unescaped": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz", - "integrity": "sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==" - }, - "node_modules/ramda": { - "version": "0.28.0", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.28.0.tgz", - "integrity": "sha512-9QnLuG/kPVgWvMQ4aODhsBUFKOUmnbUnsSXACv+NCQZcHbeb+v8Lodp8OVxtRULN1/xOyYLLaL6npE6dMq5QTA==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/ramda" - } - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/readable-stream": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.4.2.tgz", - "integrity": "sha512-Lk/fICSyIhodxy1IDK2HazkeGjSmezAWX2egdtJnYhtzKEsBPJowlI6F6LPb5tqIQILrMbx22S5o3GuJavPusA==", - "dependencies": { - "abort-controller": "^3.0.0", - "buffer": "^6.0.3", - "events": "^3.3.0", - "process": "^0.11.10", - "string_decoder": "^1.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/real-require": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/real-require/-/real-require-0.2.0.tgz", - "integrity": "sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==", - "engines": { - "node": ">= 12.13.0" - } - }, - "node_modules/release-zalgo": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz", - "integrity": "sha512-gUAyHVHPPC5wdqX/LG4LWtRYtgjxyX78oanFNTMMyFEfOqdC54s3eE82imuWKbOeqYht2CrNf64Qb8vgmmtZGA==", - "dev": true, - "dependencies": { - "es6-error": "^4.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, - "node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/retry": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", - "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", - "engines": { - "node": ">= 4" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true, - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rewire": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/rewire/-/rewire-7.0.0.tgz", - "integrity": "sha512-DyyNyzwMtGYgu0Zl/ya0PR/oaunM+VuCuBxCuhYJHHaV0V+YvYa3bBGxb5OZ71vndgmp1pYY8F4YOwQo1siRGw==", - "dev": true, - "dependencies": { - "eslint": "^8.47.0" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "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==", - "dev": true, - "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/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": "2.4.3", - "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz", - "integrity": "sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==", - "engines": { - "node": ">=10" - } - }, - "node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", - "dev": true, - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", - "dev": true - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, - "node_modules/sinon": { - "version": "17.0.0", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-17.0.0.tgz", - "integrity": "sha512-p4lJiYKBoOEVUxxVIC9H1MM2znG1/c8gud++I2BauJA5hsz7hHsst35eurNWXTusBsIq66FzOQbZ/uMdpvbPIQ==", - "dev": true, - "dependencies": { - "@sinonjs/commons": "^3.0.0", - "@sinonjs/fake-timers": "^11.2.2", - "@sinonjs/samsam": "^8.0.0", - "diff": "^5.1.0", - "nise": "^5.1.5", - "supports-color": "^7.2.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/sinon" - } - }, - "node_modules/sinon/node_modules/diff": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", - "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==", - "dev": true, - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/sonic-boom": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-3.7.0.tgz", - "integrity": "sha512-IudtNvSqA/ObjN97tfgNmOKyDOs4dNcg4cUUsHDebqsgb8wGBBwb31LIgShNO8fye0dFI52X1+tFoKKI6Rq1Gg==", - "dependencies": { - "atomic-sleep": "^1.0.0" - } - }, - "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, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/spawn-wrap": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz", - "integrity": "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==", - "dev": true, - "dependencies": { - "foreground-child": "^2.0.0", - "is-windows": "^1.0.2", - "make-dir": "^3.0.0", - "rimraf": "^3.0.0", - "signal-exit": "^3.0.2", - "which": "^2.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/split2": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", - "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", - "engines": { - "node": ">= 10.x" - } - }, - "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==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "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==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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/test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "dev": true, - "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/test-exclude/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true - }, - "node_modules/thread-stream": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/thread-stream/-/thread-stream-2.4.1.tgz", - "integrity": "sha512-d/Ex2iWd1whipbT681JmTINKw0ZwOUBZm7+Gjs64DHuX34mmw8vJL2bFAaNacaW72zYiTJxSHi5abUuOi5nsfg==", - "dependencies": { - "real-require": "^0.2.0" - } - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "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==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "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==", - "dev": true, - "dependencies": { - "is-typedarray": "^1.0.0" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", - "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "dependencies": { - "punycode": "^2.1.0" - } - }, - "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/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==", - "dev": true - }, - "node_modules/workerpool": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", - "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==", - "dev": true - }, - "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==", - "dev": true, - "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/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true - }, - "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/ws": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.3.tgz", - "integrity": "sha512-jmTjYU0j60B+vHey6TfR3Z7RD61z/hmxBS3VMSGIrroOWXQEneK1zNuotOUrGyBHQj0yrpsLHPWtigEFd13ndA==", - "dependencies": { - "async-limiter": "~1.0.0" - } - }, - "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - }, - "node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs-unparser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", - "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", - "dev": true, - "dependencies": { - "camelcase": "^6.0.0", - "decamelize": "^4.0.0", - "flat": "^5.0.2", - "is-plain-obj": "^2.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs-unparser/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/yargs-unparser/node_modules/decamelize": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", - "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - }, - "dependencies": { - "@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", - "dev": true - }, - "@ampproject/remapping": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", - "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", - "dev": true, - "requires": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@babel/code-frame": { - "version": "7.22.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", - "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", - "dev": true, - "requires": { - "@babel/highlight": "^7.22.13", - "chalk": "^2.4.2" - }, - "dependencies": { - "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==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "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==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "@babel/compat-data": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.4.tgz", - "integrity": "sha512-/DYyDpeCfaVinT40FPGdkkb+lYSKvsVuMjDAG7jPOWWiM1ibOaB9CXJAlc4d1QpP/U2q2P9jbrSlClKSErd55g==", - "dev": true - }, - "@babel/core": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.21.4.tgz", - "integrity": "sha512-qt/YV149Jman/6AfmlxJ04LMIu8bMoyl3RB91yTFrxQmgbrSvQMy7cI8Q62FHx1t8wJ8B5fu0UDoLwHAhUo1QA==", - "dev": true, - "requires": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.21.4", - "@babel/generator": "^7.21.4", - "@babel/helper-compilation-targets": "^7.21.4", - "@babel/helper-module-transforms": "^7.21.2", - "@babel/helpers": "^7.21.0", - "@babel/parser": "^7.21.4", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.4", - "@babel/types": "^7.21.4", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", - "semver": "^6.3.0" - } - }, - "@babel/generator": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", - "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", - "dev": true, - "requires": { - "@babel/types": "^7.23.0", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.4.tgz", - "integrity": "sha512-Fa0tTuOXZ1iL8IeDFUWCzjZcn+sJGd9RZdH9esYVjEejGmzf+FFYQpMi/kZUk2kPy/q1H3/GPw7np8qar/stfg==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.21.4", - "@babel/helper-validator-option": "^7.21.0", - "browserslist": "^4.21.3", - "lru-cache": "^5.1.1", - "semver": "^6.3.0" - } - }, - "@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", - "dev": true - }, - "@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.22.4.tgz", + "integrity": "sha512-Fxamp4aEZnfPOcGA8KSNEohV8hX7zVHOemC8jVBoBUHu5zpJK/Eu3uJwt6BMgy9fkvzxDaurgj96F/NiLukF2w==", + "cpu": [ + "arm" + ], "dev": true, - "requires": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" - } + "license": "MIT", + "optional": true, + "os": [ + "android" + ] }, - "@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.22.4.tgz", + "integrity": "sha512-VXoK5UMrgECLYaMuGuVTOx5kcuap1Jm8g/M83RnCHBKOqvPPmROFJGQaZhGccnsFtfXQ3XYa4/jMCJvZnbJBdA==", + "cpu": [ + "arm64" + ], "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } + "license": "MIT", + "optional": true, + "os": [ + "android" + ] }, - "@babel/helper-module-imports": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz", - "integrity": "sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==", + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.22.4.tgz", + "integrity": "sha512-xMM9ORBqu81jyMKCDP+SZDhnX2QEVQzTcC6G18KlTQEzWK8r/oNZtKuZaCcHhnsa6fEeOBionoyl5JsAbE/36Q==", + "cpu": [ + "arm64" + ], "dev": true, - "requires": { - "@babel/types": "^7.21.4" - } + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] }, - "@babel/helper-module-transforms": { - "version": "7.21.2", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz", - "integrity": "sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==", + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.22.4.tgz", + "integrity": "sha512-aJJyYKQwbHuhTUrjWjxEvGnNNBCnmpHDvrb8JFDbeSH3m2XdHcxDd3jthAzvmoI8w/kSjd2y0udT+4okADsZIw==", + "cpu": [ + "x64" + ], "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.20.2", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.19.1", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.2", - "@babel/types": "^7.21.2" - } + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] }, - "@babel/helper-simple-access": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", - "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.22.4.tgz", + "integrity": "sha512-j63YtCIRAzbO+gC2L9dWXRh5BFetsv0j0va0Wi9epXDgU/XUi5dJKo4USTttVyK7fGw2nPWK0PbAvyliz50SCQ==", + "cpu": [ + "arm" + ], "dev": true, - "requires": { - "@babel/types": "^7.20.2" - } + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.22.4.tgz", + "integrity": "sha512-dJnWUgwWBX1YBRsuKKMOlXCzh2Wu1mlHzv20TpqEsfdZLb3WoJW2kIEsGwLkroYf24IrPAvOT/ZQ2OYMV6vlrg==", + "cpu": [ + "arm" + ], "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", - "dev": true - }, - "@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", - "dev": true - }, - "@babel/helper-validator-option": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz", - "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==", - "dev": true + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "@babel/helpers": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.0.tgz", - "integrity": "sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==", + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.22.4.tgz", + "integrity": "sha512-AdPRoNi3NKVLolCN/Sp4F4N1d98c4SBnHMKoLuiG6RXgoZ4sllseuGioszumnPGmPM2O7qaAX/IJdeDU8f26Aw==", + "cpu": [ + "arm64" + ], "dev": true, - "requires": { - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.0", - "@babel/types": "^7.21.0" - } + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "@babel/highlight": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", - "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.22.4.tgz", + "integrity": "sha512-Gl0AxBtDg8uoAn5CCqQDMqAx22Wx22pjDOjBdmG0VIWX3qUBHzYmOKh8KXHL4UpogfJ14G4wk16EQogF+v8hmA==", + "cpu": [ + "arm64" + ], "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" - }, - "dependencies": { - "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==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "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==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "@babel/parser": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", - "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", - "dev": true - }, - "@babel/template": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", - "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.22.13", - "@babel/parser": "^7.22.15", - "@babel/types": "^7.22.15" - } - }, - "@babel/traverse": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", - "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.23.0", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.0", - "@babel/types": "^7.23.0", - "debug": "^4.1.0", - "globals": "^11.1.0" - } - }, - "@babel/types": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", - "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", - "dev": true, - "requires": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.20", - "to-fast-properties": "^2.0.0" - } + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.22.4.tgz", + "integrity": "sha512-3aVCK9xfWW1oGQpTsYJJPF6bfpWfhbRnhdlyhak2ZiyFLDaayz0EP5j9V1RVLAAxlmWKTDfS9wyRyY3hvhPoOg==", + "cpu": [ + "ppc64" + ], "dev": true, - "requires": { - "eslint-visitor-keys": "^3.3.0" - } - }, - "@eslint-community/regexpp": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.9.1.tgz", - "integrity": "sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==", - "dev": true - }, - "@eslint/eslintrc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", - "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", - "dev": true, - "requires": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "dependencies": { - "globals": { - "version": "13.23.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", - "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true - } - } - }, - "@eslint/js": { - "version": "8.51.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.51.0.tgz", - "integrity": "sha512-HxjQ8Qn+4SI3/AFv6sOrDB+g6PpUTDwSJiQqOrnneEk8L71161srI9gjzzZvYVbzHiVg/BvcH95+cK/zfIt4pg==", - "dev": true + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "@humanwhocodes/config-array": { - "version": "0.11.13", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", - "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==", + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.22.4.tgz", + "integrity": "sha512-ePYIir6VYnhgv2C5Xe9u+ico4t8sZWXschR6fMgoPUK31yQu7hTEJb7bCqivHECwIClJfKgE7zYsh1qTP3WHUA==", + "cpu": [ + "riscv64" + ], "dev": true, - "requires": { - "@humanwhocodes/object-schema": "^2.0.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" - }, - "dependencies": { - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } - } - }, - "@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true - }, - "@humanwhocodes/object-schema": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz", - "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==", - "dev": true - }, - "@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "dev": true, - "requires": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, - "dependencies": { - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "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==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true - } - } - }, - "@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", - "dev": true + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.22.4.tgz", + "integrity": "sha512-GqFJ9wLlbB9daxhVlrTe61vJtEY99/xB3C8e4ULVsVfflcpmR6c8UZXjtkMA6FhNONhj2eA5Tk9uAVw5orEs4Q==", + "cpu": [ + "s390x" + ], "dev": true, - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", - "dev": true - }, - "@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "dev": true + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "dev": true + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.22.4.tgz", + "integrity": "sha512-87v0ol2sH9GE3cLQLNEy0K/R0pz1nvg76o8M5nhMR0+Q+BBGLnb35P0fVz4CQxHYXaAOhE8HhlkaZfsdUOlHwg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "@jridgewell/trace-mapping": { - "version": "0.3.18", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", - "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.22.4.tgz", + "integrity": "sha512-UV6FZMUgePDZrFjrNGIWzDo/vABebuXBhJEqrHxrGiU6HikPy0Z3LfdtciIttEUQfuDdCn8fqh7wiFJjCNwO+g==", + "cpu": [ + "x64" + ], "dev": true, - "requires": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" - }, - "dependencies": { - "@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "dev": true - } - } + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "@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==", + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.22.4.tgz", + "integrity": "sha512-BjI+NVVEGAXjGWYHz/vv0pBqfGoUH0IGZ0cICTn7kB9PyjrATSkX+8WkguNjWoj2qSr1im/+tTGRaY+4/PdcQw==", + "cpu": [ + "arm64" + ], "dev": true, - "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - } + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] }, - "@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==", - "dev": true + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.22.4.tgz", + "integrity": "sha512-SiWG/1TuUdPvYmzmYnmd3IEifzR61Tragkbx9D3+R8mzQqDBz8v+BvZNDlkiTtI9T15KYZhP0ehn3Dld4n9J5g==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] }, - "@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==", + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.22.4.tgz", + "integrity": "sha512-j8pPKp53/lq9lMXN57S8cFz0MynJk8OWNuUnXct/9KCpKU7DgU3bYMJhwWmcqC0UU29p8Lr0/7KEVcaM6bf47Q==", + "cpu": [ + "x64" + ], "dev": true, - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - } + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] }, - "@sinonjs/commons": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", - "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", + "node_modules/@sinonjs/commons": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", + "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", "dev": true, - "requires": { + "dependencies": { "type-detect": "4.0.8" } }, - "@sinonjs/fake-timers": { + "node_modules/@sinonjs/fake-timers": { "version": "11.2.2", "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-11.2.2.tgz", "integrity": "sha512-G2piCSxQ7oWOxwGSAyFHfPIsyeJGXYtc6mFbnFA+kRXkiEnTl8c/8jul2S329iFBnDI9HGoeWWAZvuvOkZccgw==", "dev": true, - "requires": { + "dependencies": { "@sinonjs/commons": "^3.0.0" } }, - "@sinonjs/samsam": { + "node_modules/@sinonjs/samsam": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-8.0.0.tgz", "integrity": "sha512-Bp8KUVlLp8ibJZrnvq2foVhP0IVX2CIprMJPK0vqGqgrDa0OHVKeZyBykqskkrdxV6yKBPmGasO8LVjAKR3Gew==", "dev": true, - "requires": { + "dependencies": { "@sinonjs/commons": "^2.0.0", "lodash.get": "^4.4.2", "type-detect": "^4.0.8" - }, + } + }, + "node_modules/@sinonjs/samsam/node_modules/@sinonjs/commons": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", + "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", + "dev": true, "dependencies": { - "@sinonjs/commons": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", - "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", - "dev": true, - "requires": { - "type-detect": "4.0.8" - } - } + "type-detect": "4.0.8" } }, - "@sinonjs/text-encoding": { + "node_modules/@sinonjs/text-encoding": { "version": "0.7.2", "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.2.tgz", "integrity": "sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ==", "dev": true }, - "abort-controller": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", - "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", - "requires": { - "event-target-shim": "^5.0.0" - } + "node_modules/@types/estree": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", + "dev": true, + "license": "MIT" }, - "acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", - "dev": true + "node_modules/@vitest/coverage-v8": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-2.1.1.tgz", + "integrity": "sha512-md/A7A3c42oTT8JUHSqjP5uKTWJejzUW4jalpvs+rZ27gsURsMU8DEb+8Jf8C6Kj2gwfSHJqobDNBuoqlm0cFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.3.0", + "@bcoe/v8-coverage": "^0.2.3", + "debug": "^4.3.6", + "istanbul-lib-coverage": "^3.2.2", + "istanbul-lib-report": "^3.0.1", + "istanbul-lib-source-maps": "^5.0.6", + "istanbul-reports": "^3.1.7", + "magic-string": "^0.30.11", + "magicast": "^0.3.4", + "std-env": "^3.7.0", + "test-exclude": "^7.0.1", + "tinyrainbow": "^1.2.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@vitest/browser": "2.1.1", + "vitest": "2.1.1" + }, + "peerDependenciesMeta": { + "@vitest/browser": { + "optional": true + } + } }, - "acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "node_modules/@vitest/expect": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-2.1.1.tgz", + "integrity": "sha512-YeueunS0HiHiQxk+KEOnq/QMzlUuOzbU1Go+PgAsHvvv3tUkJPm9xWt+6ITNTlzsMXUjmgm5T+U7KBPK2qQV6w==", "dev": true, - "requires": {} + "license": "MIT", + "dependencies": { + "@vitest/spy": "2.1.1", + "@vitest/utils": "2.1.1", + "chai": "^5.1.1", + "tinyrainbow": "^1.2.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } }, - "aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "node_modules/@vitest/mocker": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-2.1.1.tgz", + "integrity": "sha512-LNN5VwOEdJqCmJ/2XJBywB11DLlkbY0ooDJW3uRX5cZyYCrc4PI/ePX0iQhE3BiEGiQmK4GE7Q/PqCkkaiPnrA==", "dev": true, - "requires": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" + "license": "MIT", + "dependencies": { + "@vitest/spy": "^2.1.0-beta.1", + "estree-walker": "^3.0.3", + "magic-string": "^0.30.11" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@vitest/spy": "2.1.1", + "msw": "^2.3.5", + "vite": "^5.0.0" + }, + "peerDependenciesMeta": { + "msw": { + "optional": true + }, + "vite": { + "optional": true + } } }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "node_modules/@vitest/pretty-format": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-2.1.1.tgz", + "integrity": "sha512-SjxPFOtuINDUW8/UkElJYQSFtnWX7tMksSGW0vfjxMneFqxVr8YJ979QpMbDW7g+BIiq88RAGDjf7en6rvLPPQ==", "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "license": "MIT", + "dependencies": { + "tinyrainbow": "^1.2.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" } }, - "ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "dev": true + "node_modules/@vitest/runner": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-2.1.1.tgz", + "integrity": "sha512-uTPuY6PWOYitIkLPidaY5L3t0JJITdGTSwBtwMjKzo5O6RCOEncz9PUN+0pDidX8kTHYjO0EwUIvhlGpnGpxmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/utils": "2.1.1", + "pathe": "^1.1.2" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true + "node_modules/@vitest/snapshot": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-2.1.1.tgz", + "integrity": "sha512-BnSku1WFy7r4mm96ha2FzN99AZJgpZOWrAhtQfoxjUU5YMRpq1zmHRq7a5K9/NjqonebO7iVDla+VvZS8BOWMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/pretty-format": "2.1.1", + "magic-string": "^0.30.11", + "pathe": "^1.1.2" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/@vitest/spy": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-2.1.1.tgz", + "integrity": "sha512-ZM39BnZ9t/xZ/nF4UwRH5il0Sw93QnZXd9NAZGRpIgj0yvVwPpLd702s/Cx955rGaMlyBQkZJ2Ir7qyY48VZ+g==", "dev": true, - "requires": { - "color-convert": "^2.0.1" + "license": "MIT", + "dependencies": { + "tinyspy": "^3.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" } }, - "anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "node_modules/@vitest/utils": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-2.1.1.tgz", + "integrity": "sha512-Y6Q9TsI+qJ2CC0ZKj6VBb+T8UPz593N113nnUykqwANqhgf3QkZeHFlusgKLTqrnVHbj/XDKZcDHol+dxVT+rQ==", "dev": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" + "license": "MIT", + "dependencies": { + "@vitest/pretty-format": "2.1.1", + "loupe": "^3.1.1", + "tinyrainbow": "^1.2.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" } }, - "append-transform": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz", - "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==", + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, + "node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", "dev": true, - "requires": { - "default-require-extensions": "^3.0.0" + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "archy": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==", - "dev": true + "node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } }, - "argparse": { + "node_modules/assertion-error": { "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 - }, - "assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", - "dev": true + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", + "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + } }, - "async-limiter": { + "node_modules/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==" }, - "async-retry": { + "node_modules/async-retry": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/async-retry/-/async-retry-1.3.3.tgz", "integrity": "sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==", - "requires": { + "dependencies": { "retry": "0.13.1" } }, - "atomic-sleep": { + "node_modules/atomic-sleep": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/atomic-sleep/-/atomic-sleep-1.0.0.tgz", - "integrity": "sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==" + "integrity": "sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==", + "engines": { + "node": ">=8.0.0" + } }, - "aws4": { + "node_modules/aws4": { "version": "1.11.0", "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" }, - "balanced-match": { + "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==", - "dev": true + "dev": true, + "license": "MIT" }, - "base64-js": { + "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==" - }, - "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "dev": true, - "requires": { - "fill-range": "^7.1.1" - } - }, - "browser-stdout": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", - "dev": true + "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" + } + ] }, - "browserslist": { - "version": "4.21.5", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", - "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001449", - "electron-to-chromium": "^1.4.284", - "node-releases": "^2.0.8", - "update-browserslist-db": "^1.0.10" + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" } }, - "buffer": { + "node_modules/buffer": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "requires": { + "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.2.1" } }, - "caching-transform": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz", - "integrity": "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==", - "dev": true, - "requires": { - "hasha": "^5.0.0", - "make-dir": "^3.0.0", - "package-hash": "^4.0.0", - "write-file-atomic": "^3.0.0" - } - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, - "caniuse-lite": { - "version": "1.0.30001480", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001480.tgz", - "integrity": "sha512-q7cpoPPvZYgtyC4VaBSN0Bt+PJ4c4EYRf0DrduInOz2SkFpHD5p3LnvEpqBp7UnJn+8x1Ogl1s38saUxe+ihQQ==", - "dev": true - }, - "chai": { - "version": "4.3.10", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.10.tgz", - "integrity": "sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g==", - "dev": true, - "requires": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.3", - "deep-eql": "^4.1.3", - "get-func-name": "^2.0.2", - "loupe": "^2.3.6", - "pathval": "^1.1.1", - "type-detect": "^4.0.8" - } - }, - "chalk": { - "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" - } - }, - "check-error": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", - "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", + "node_modules/cac": { + "version": "6.7.14", + "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", + "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", "dev": true, - "requires": { - "get-func-name": "^2.0.2" + "license": "MIT", + "engines": { + "node": ">=8" } }, - "chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "node_modules/chai": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/chai/-/chai-5.1.1.tgz", + "integrity": "sha512-pT1ZgP8rPNqUgieVaEY+ryQr6Q4HXNg8Ei9UnLUrjN4IA7dvQC5JB+/kxVcPNDHyBcc/26CXPkbNzq3qwrOEKA==", "dev": true, - "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" + "license": "MIT", + "dependencies": { + "assertion-error": "^2.0.1", + "check-error": "^2.1.1", + "deep-eql": "^5.0.1", + "loupe": "^3.1.0", + "pathval": "^2.0.0" + }, + "engines": { + "node": ">=12" } }, - "clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true - }, - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "node_modules/check-error": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz", + "integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==", "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" + "license": "MIT", + "engines": { + "node": ">= 16" } }, - "color-convert": { + "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, - "requires": { + "license": "MIT", + "dependencies": { "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "color-name": { + "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 - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "dev": true + "dev": true, + "license": "MIT" }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" - } - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" }, - "dependencies": { - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", - "dev": true - }, - "deep-eql": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", - "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", - "dev": true, - "requires": { - "type-detect": "^4.0.0" - } - }, - "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 - }, - "default-require-extensions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.1.tgz", - "integrity": "sha512-eXTJmRbm2TIt9MgWTsOH1wEuhew6XGZcMeGKCtLedIg/NCsg1iBePXkceTdK4Fii7pzmN9tGsZhKzZ4h7O/fxw==", - "dev": true, - "requires": { - "strip-bom": "^4.0.0" + "engines": { + "node": ">= 8" } }, - "diff": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", - "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", - "dev": true - }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "electron-to-chromium": { - "version": "1.4.368", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.368.tgz", - "integrity": "sha512-e2aeCAixCj9M7nJxdB/wDjO6mbYX+lJJxSJCXDzlr5YPGYVofuJwGN9nKg2o6wWInjX6XmxRinn3AeJMK81ltw==", - "dev": true - }, - "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==", - "dev": true - }, - "es6-error": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", - "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", - "dev": true - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true - }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true - }, - "eslint": { - "version": "8.51.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.51.0.tgz", - "integrity": "sha512-2WuxRZBrlwnXi+/vFSJyjMqrNjtJqiasMzehF0shoLaW7DzS3/9Yvrmq5JiT66+pNjiX4UBnLDiKHcWAr/OInA==", - "dev": true, - "requires": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "8.51.0", - "@humanwhocodes/config-array": "^0.11.11", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, + "license": "MIT", "dependencies": { - "glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "requires": { - "is-glob": "^4.0.3" - } - }, - "globals": { - "version": "13.23.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", - "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true } } }, - "eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "node_modules/deep-eql": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz", + "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==", "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" + "license": "MIT", + "engines": { + "node": ">=6" } }, - "eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true - }, - "espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", "dev": true, - "requires": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true + "license": "MIT" }, - "esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", "dev": true, - "requires": { - "estraverse": "^5.1.0" - } + "license": "MIT" }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "node_modules/esbuild": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" + } + }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", "dev": true, - "requires": { - "estraverse": "^5.2.0" + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" } }, - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true - }, - "event-target-shim": { + "node_modules/event-target-shim": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", - "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==" + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "engines": { + "node": ">=6" + } }, - "events": { + "node_modules/events": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" - }, - "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==", - "dev": true - }, - "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==", - "dev": true - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true - }, - "fast-redact": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/fast-redact/-/fast-redact-3.1.2.tgz", - "integrity": "sha512-+0em+Iya9fKGfEQGcd62Yv6onjBmmhV1uh86XVfOU8VwAe6kaFdQCWI9s0/Nnugx5Vd9tdbZ7e6gE2tR9dzXdw==" - }, - "fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", - "dev": true, - "requires": { - "reusify": "^1.0.4" - } - }, - "file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "requires": { - "flat-cache": "^3.0.4" - } - }, - "fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - } - }, - "find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "engines": { + "node": ">=0.8.x" } }, - "flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", - "dev": true - }, - "flat-cache": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.1.tgz", - "integrity": "sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==", - "dev": true, - "requires": { - "flatted": "^3.2.9", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" + "node_modules/fast-redact": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/fast-redact/-/fast-redact-3.5.0.tgz", + "integrity": "sha512-dwsoQlS7h9hMeYUq1W++23NDcBLV4KqONnITDV9DjfS3q1SgDGVrBdvvTLUotWtPSD7asWDV9/CmsZPy8Hf70A==", + "engines": { + "node": ">=6" } }, - "flatted": { - "version": "3.2.9", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", - "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", - "dev": true - }, - "foreground-child": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz", - "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==", + "node_modules/foreground-child": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", "dev": true, - "requires": { + "license": "ISC", + "dependencies": { "cross-spawn": "^7.0.0", - "signal-exit": "^3.0.2" + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "fromentries": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz", - "integrity": "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==", - "dev": true - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true - }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "dev": true, - "optional": true - }, - "gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } }, - "get-func-name": { + "node_modules/get-func-name": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", - "dev": true - }, - "get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "dev": true - }, - "glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "dependencies": { - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } + "dev": true, + "license": "MIT", + "engines": { + "node": "*" } }, - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", "dev": true, - "requires": { - "is-glob": "^4.0.1" + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true - }, - "graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true - }, - "graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true - }, - "gremlin": { + "node_modules/gremlin": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/gremlin/-/gremlin-3.5.2.tgz", "integrity": "sha512-GPFevKxQZwOSweuMDDyy1+bwQ7bDc1+41DRYeoYJOgkbiR5fbQslFCjOuWvsVF+FEQr/De4pG8ZqVP6wJMrYMQ==", - "requires": { - "ws": "^6.2.2" + "dependencies": { + "ws": "^6.2.3" + }, + "engines": { + "node": ">=10" } }, - "has-flag": { + "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 - }, - "hasha": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz", - "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==", "dev": true, - "requires": { - "is-stream": "^2.0.0", - "type-fest": "^0.8.0" + "engines": { + "node": ">=8" } }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true - }, - "html-escaper": { + "node_modules/html-escaper": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "dev": true }, - "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" - }, - "ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", - "dev": true - }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true - } - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true - }, - "indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true + "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" + } + ] }, - "is-fullwidth-code-point": { + "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==", - "dev": true - }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, - "requires": { - "is-extglob": "^2.1.1" + "license": "MIT", + "engines": { + "node": ">=8" } }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - }, - "is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true - }, - "is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", - "dev": true - }, - "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", - "dev": true - }, - "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==", - "dev": true - }, - "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==", - "dev": true - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", - "dev": true - }, - "isexe": { + "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "istanbul-lib-coverage": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", - "dev": true - }, - "istanbul-lib-hook": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz", - "integrity": "sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==", - "dev": true, - "requires": { - "append-transform": "^2.0.0" - } - }, - "istanbul-lib-instrument": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", - "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", "dev": true, - "requires": { - "@babel/core": "^7.7.5", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.0.0", - "semver": "^6.3.0" - } + "license": "ISC" }, - "istanbul-lib-processinfo": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.3.tgz", - "integrity": "sha512-NkwHbo3E00oybX6NGJi6ar0B29vxyvNwoC7eJ4G4Yq28UfY758Hgn/heV8VRFhevPED4LXfFz0DQ8z/0kw9zMg==", + "node_modules/istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", "dev": true, - "requires": { - "archy": "^1.0.0", - "cross-spawn": "^7.0.3", - "istanbul-lib-coverage": "^3.2.0", - "p-map": "^3.0.0", - "rimraf": "^3.0.0", - "uuid": "^8.3.2" + "engines": { + "node": ">=8" } }, - "istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", "dev": true, - "requires": { + "dependencies": { "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", + "make-dir": "^4.0.0", "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" } }, - "istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "node_modules/istanbul-lib-source-maps": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-5.0.6.tgz", + "integrity": "sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==", "dev": true, - "requires": { + "license": "BSD-3-Clause", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.23", "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" + "istanbul-lib-coverage": "^3.0.0" + }, + "engines": { + "node": ">=10" } }, - "istanbul-reports": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", - "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", + "node_modules/istanbul-reports": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", + "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", "dev": true, - "requires": { + "dependencies": { "html-escaper": "^2.0.0", "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" } }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "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" - } - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true - }, - "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 - }, - "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==", - "dev": true - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true - }, - "json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true - }, - "just-extend": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.2.1.tgz", - "integrity": "sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg==", - "dev": true - }, - "keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "requires": { - "json-buffer": "3.0.1" - } - }, - "levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - } - }, - "locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", "dev": true, - "requires": { - "p-locate": "^5.0.0" + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" } }, - "lodash.flattendeep": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", - "integrity": "sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ==", + "node_modules/just-extend": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-6.2.0.tgz", + "integrity": "sha512-cYofQu2Xpom82S6qD778jBDpwvvy39s1l/hrYij2u9AMdQcGRpaBu6kY4mVhuno5kJVi1DAz4aiphA2WI1/OAw==", "dev": true }, - "lodash.get": { + "node_modules/lodash.get": { "version": "4.4.2", "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", "dev": true }, - "lodash.merge": { + "node_modules/lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true + "license": "MIT" }, - "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==", + "node_modules/loupe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.1.tgz", + "integrity": "sha512-edNu/8D5MKVfGVFRhFf8aAxiTM6Wumfz5XsaatSxlD3w4R1d/WEKUTydCdPGbl9K7QG/Ca3GnDV2sIKIpXRQcw==", "dev": true, - "requires": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" + "license": "MIT", + "dependencies": { + "get-func-name": "^2.0.1" } }, - "loupe": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz", - "integrity": "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==", + "node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/magic-string": { + "version": "0.30.11", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz", + "integrity": "sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==", "dev": true, - "requires": { - "get-func-name": "^2.0.0" + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" } }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "node_modules/magicast": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.3.4.tgz", + "integrity": "sha512-TyDF/Pn36bBji9rWKHlZe+PZb6Mx5V8IHCSxk7X4aljM4e/vyDvZZYwHewdVaqiA0nb3ghfHU/6AUpDxWoER2Q==", "dev": true, - "requires": { - "yallist": "^3.0.2" + "dependencies": { + "@babel/parser": "^7.24.4", + "@babel/types": "^7.24.0", + "source-map-js": "^1.2.0" } }, - "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==", + "node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", "dev": true, - "requires": { - "semver": "^6.0.0" + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "minimatch": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", - "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", + "node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, - "requires": { + "license": "ISC", + "dependencies": { "brace-expansion": "^2.0.1" }, - "dependencies": { - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0" - } - } + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "mocha": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz", - "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==", - "dev": true, - "requires": { - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", - "chokidar": "3.5.3", - "debug": "4.3.4", - "diff": "5.0.0", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "7.2.0", - "he": "1.2.0", - "js-yaml": "4.1.0", - "log-symbols": "4.1.0", - "minimatch": "5.0.1", - "ms": "2.1.3", - "nanoid": "3.3.3", - "serialize-javascript": "6.0.0", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "workerpool": "6.2.1", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", - "yargs-unparser": "2.0.0" - }, - "dependencies": { - "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" - } - } + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" } }, - "ms": { + "node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - }, - "nanoid": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", - "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", - "dev": true + "dev": true, + "license": "MIT" }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } }, - "neptune-lambda-client": { + "node_modules/neptune-lambda-client": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/neptune-lambda-client/-/neptune-lambda-client-1.0.0.tgz", "integrity": "sha512-t/muF2+qSgeJdW1wKIh2yWy/CzztHxvqIICVKDDYJcWMr3glMo1onG87X6P43VCAUvTm2Kmjl6UGnYMVzW3jzA==", - "requires": { + "dependencies": { "async-retry": "1.3.3", "aws4": "1.11.0", "gremlin": "3.5.2" } }, - "nise": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.5.tgz", - "integrity": "sha512-VJuPIfUFaXNRzETTQEEItTOP8Y171ijr+JLq42wHes3DiryR8vT+1TXQW/Rx8JNUhyYYWyIvjXTU6dOhJcs9Nw==", - "dev": true, - "requires": { - "@sinonjs/commons": "^2.0.0", - "@sinonjs/fake-timers": "^10.0.2", - "@sinonjs/text-encoding": "^0.7.1", - "just-extend": "^4.0.2", - "path-to-regexp": "^1.7.0" - }, - "dependencies": { - "@sinonjs/commons": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", - "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", - "dev": true, - "requires": { - "type-detect": "4.0.8" - } - }, - "@sinonjs/fake-timers": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", - "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", - "dev": true, - "requires": { - "@sinonjs/commons": "^3.0.0" - }, - "dependencies": { - "@sinonjs/commons": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", - "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", - "dev": true, - "requires": { - "type-detect": "4.0.8" - } - } - } - } - } - }, - "node-preload": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz", - "integrity": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==", - "dev": true, - "requires": { - "process-on-spawn": "^1.0.0" - } - }, - "node-releases": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz", - "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==", - "dev": true - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true - }, - "nyc": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz", - "integrity": "sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==", + "node_modules/nise": { + "version": "5.1.9", + "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.9.tgz", + "integrity": "sha512-qOnoujW4SV6e40dYxJOb3uvuoPHtmLzIk4TFo+j0jPJoC+5Z9xja5qH5JZobEPsa8+YYphMrOSwnrshEhG2qww==", "dev": true, - "requires": { - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "caching-transform": "^4.0.0", - "convert-source-map": "^1.7.0", - "decamelize": "^1.2.0", - "find-cache-dir": "^3.2.0", - "find-up": "^4.1.0", - "foreground-child": "^2.0.0", - "get-package-type": "^0.1.0", - "glob": "^7.1.6", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-hook": "^3.0.0", - "istanbul-lib-instrument": "^4.0.0", - "istanbul-lib-processinfo": "^2.0.2", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.0.2", - "make-dir": "^3.0.0", - "node-preload": "^0.2.1", - "p-map": "^3.0.0", - "process-on-spawn": "^1.0.0", - "resolve-from": "^5.0.0", - "rimraf": "^3.0.0", - "signal-exit": "^3.0.2", - "spawn-wrap": "^2.0.0", - "test-exclude": "^6.0.0", - "yargs": "^15.0.2" - }, "dependencies": { - "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "dev": true - }, - "yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "dev": true, - "requires": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - } - }, - "yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } + "@sinonjs/commons": "^3.0.0", + "@sinonjs/fake-timers": "^11.2.2", + "@sinonjs/text-encoding": "^0.7.2", + "just-extend": "^6.2.0", + "path-to-regexp": "^6.2.1" } }, - "nyc-report-lcov-absolute": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/nyc-report-lcov-absolute/-/nyc-report-lcov-absolute-1.0.0.tgz", - "integrity": "sha512-sDq0XM0on9casPNySxGD/WSy17m95+e8xEhObNHoxVRsTIZZt8akop4WWisnjzEWRARGW91Ip6oRhIWmy4qcPw==", - "dev": true, - "requires": {} - }, - "on-exit-leak-free": { + "node_modules/on-exit-leak-free": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/on-exit-leak-free/-/on-exit-leak-free-2.1.2.tgz", - "integrity": "sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==" - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", - "dev": true, - "requires": { - "@aashutoshrathi/word-wrap": "^1.2.3", - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" + "integrity": "sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==", + "engines": { + "node": ">=14.0.0" } }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "node_modules/package-json-from-dist": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", + "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==", "dev": true, - "requires": { - "yocto-queue": "^0.1.0" - } + "license": "BlueOak-1.0.0" }, - "p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, - "requires": { - "p-limit": "^3.0.2" + "license": "MIT", + "engines": { + "node": ">=8" } }, - "p-map": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", - "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", "dev": true, - "requires": { - "aggregate-error": "^3.0.0" + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "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==", - "dev": true - }, - "package-hash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz", - "integrity": "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==", + "node_modules/path-to-regexp": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.3.0.tgz", + "integrity": "sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==", "dev": true, - "requires": { - "graceful-fs": "^4.1.15", - "hasha": "^5.0.0", - "lodash.flattendeep": "^4.4.0", - "release-zalgo": "^1.0.0" - } + "license": "MIT" }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "node_modules/pathe": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", + "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", "dev": true, - "requires": { - "callsites": "^3.0.0" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true + "license": "MIT" }, - "path-to-regexp": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.9.0.tgz", - "integrity": "sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==", + "node_modules/pathval": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.0.tgz", + "integrity": "sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==", "dev": true, - "requires": { - "isarray": "0.0.1" + "license": "MIT", + "engines": { + "node": ">= 14.16" } }, - "pathval": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", - "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", - "dev": true - }, - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true + "node_modules/picocolors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", + "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==", + "dev": true, + "license": "ISC" }, - "pino": { + "node_modules/pino": { "version": "8.16.1", "resolved": "https://registry.npmjs.org/pino/-/pino-8.16.1.tgz", "integrity": "sha512-3bKsVhBmgPjGV9pyn4fO/8RtoVDR8ssW1ev819FsRXlRNgW8gR/9Kx+gCK4UPWd4JjrRDLWpzd/pb1AyWm3MGA==", - "requires": { + "dependencies": { "atomic-sleep": "^1.0.0", "fast-redact": "^3.1.1", "on-exit-leak-free": "^2.1.0", @@ -6092,281 +1756,251 @@ "safe-stable-stringify": "^2.3.1", "sonic-boom": "^3.7.0", "thread-stream": "^2.0.0" + }, + "bin": { + "pino": "bin.js" } }, - "pino-abstract-transport": { + "node_modules/pino-abstract-transport": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-1.1.0.tgz", "integrity": "sha512-lsleG3/2a/JIWUtf9Q5gUNErBqwIu1tUKTT3dUzaf5DySw9ra1wcqKjJjLX1VTY64Wk1eEOYsVGSaGfCK85ekA==", - "requires": { + "dependencies": { "readable-stream": "^4.0.0", "split2": "^4.0.0" } }, - "pino-lambda": { + "node_modules/pino-lambda": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/pino-lambda/-/pino-lambda-4.2.1.tgz", "integrity": "sha512-brM1YRsGcH6RG0vQ8BJIFZ2M4MAvFwtBnAPR4Ds6LzDOlHOVoIL3uvDRATUsMM3KpfFya3NWTiELBugsC1I+kg==", - "requires": {} + "peerDependencies": { + "pino": ">=6.0.0" + } }, - "pino-std-serializers": { + "node_modules/pino-std-serializers": { "version": "6.2.2", "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-6.2.2.tgz", "integrity": "sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==" }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "node_modules/postcss": { + "version": "8.4.47", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", + "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", "dev": true, - "requires": { - "find-up": "^4.0.0" - }, - "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } + { + "type": "github", + "url": "https://github.com/sponsors/ai" } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.1.0", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" } }, - "prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true - }, - "process": { + "node_modules/process": { "version": "0.11.10", "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==" - }, - "process-on-spawn": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz", - "integrity": "sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==", - "dev": true, - "requires": { - "fromentries": "^1.2.0" + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "engines": { + "node": ">= 0.6.0" } }, - "process-warning": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-2.3.0.tgz", - "integrity": "sha512-N6mp1+2jpQr3oCFMz6SeHRGbv6Slb20bRhj4v3xR99HqNToAcOe1MFOp4tytyzOfJn+QtN8Rf7U/h2KAn4kC6g==" - }, - "punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", - "dev": true - }, - "queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true + "node_modules/process-warning": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-2.3.2.tgz", + "integrity": "sha512-n9wh8tvBe5sFmsqlg+XQhaQLumwpqoAUruLwjCopgTmUBjJ/fjtBsJzKleCaIGBOMXYEhp1YfKl4d7rJ5ZKJGA==" }, - "quick-format-unescaped": { + "node_modules/quick-format-unescaped": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz", "integrity": "sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==" }, - "ramda": { + "node_modules/ramda": { "version": "0.28.0", "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.28.0.tgz", - "integrity": "sha512-9QnLuG/kPVgWvMQ4aODhsBUFKOUmnbUnsSXACv+NCQZcHbeb+v8Lodp8OVxtRULN1/xOyYLLaL6npE6dMq5QTA==" - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "requires": { - "safe-buffer": "^5.1.0" + "integrity": "sha512-9QnLuG/kPVgWvMQ4aODhsBUFKOUmnbUnsSXACv+NCQZcHbeb+v8Lodp8OVxtRULN1/xOyYLLaL6npE6dMq5QTA==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/ramda" } }, - "readable-stream": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.4.2.tgz", - "integrity": "sha512-Lk/fICSyIhodxy1IDK2HazkeGjSmezAWX2egdtJnYhtzKEsBPJowlI6F6LPb5tqIQILrMbx22S5o3GuJavPusA==", - "requires": { + "node_modules/readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "dependencies": { "abort-controller": "^3.0.0", "buffer": "^6.0.3", "events": "^3.3.0", "process": "^0.11.10", "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "requires": { - "picomatch": "^2.2.1" - } - }, - "real-require": { + "node_modules/real-require": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/real-require/-/real-require-0.2.0.tgz", - "integrity": "sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==" - }, - "release-zalgo": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz", - "integrity": "sha512-gUAyHVHPPC5wdqX/LG4LWtRYtgjxyX78oanFNTMMyFEfOqdC54s3eE82imuWKbOeqYht2CrNf64Qb8vgmmtZGA==", - "dev": true, - "requires": { - "es6-error": "^4.0.1" + "integrity": "sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==", + "engines": { + "node": ">= 12.13.0" } }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true - }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true - }, - "retry": { + "node_modules/retry": { "version": "0.13.1", "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", - "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==" - }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true - }, - "rewire": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/rewire/-/rewire-7.0.0.tgz", - "integrity": "sha512-DyyNyzwMtGYgu0Zl/ya0PR/oaunM+VuCuBxCuhYJHHaV0V+YvYa3bBGxb5OZ71vndgmp1pYY8F4YOwQo1siRGw==", - "dev": true, - "requires": { - "eslint": "^8.47.0" + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "engines": { + "node": ">= 4" } }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "node_modules/rollup": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.22.4.tgz", + "integrity": "sha512-vD8HJ5raRcWOyymsR6Z3o6+RzfEPCnVLMFJ6vRslO1jt4LO6dUo5Qnpg7y4RkZFM2DMe3WUirkI5c16onjrc6A==", "dev": true, - "requires": { - "glob": "^7.1.3" + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.5" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.22.4", + "@rollup/rollup-android-arm64": "4.22.4", + "@rollup/rollup-darwin-arm64": "4.22.4", + "@rollup/rollup-darwin-x64": "4.22.4", + "@rollup/rollup-linux-arm-gnueabihf": "4.22.4", + "@rollup/rollup-linux-arm-musleabihf": "4.22.4", + "@rollup/rollup-linux-arm64-gnu": "4.22.4", + "@rollup/rollup-linux-arm64-musl": "4.22.4", + "@rollup/rollup-linux-powerpc64le-gnu": "4.22.4", + "@rollup/rollup-linux-riscv64-gnu": "4.22.4", + "@rollup/rollup-linux-s390x-gnu": "4.22.4", + "@rollup/rollup-linux-x64-gnu": "4.22.4", + "@rollup/rollup-linux-x64-musl": "4.22.4", + "@rollup/rollup-win32-arm64-msvc": "4.22.4", + "@rollup/rollup-win32-ia32-msvc": "4.22.4", + "@rollup/rollup-win32-x64-msvc": "4.22.4", + "fsevents": "~2.3.2" } }, - "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==", + "node_modules/rollup/node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", "dev": true, - "requires": { - "queue-microtask": "^1.2.2" - } + "license": "MIT" }, - "safe-buffer": { + "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==" + "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" + } + ] }, - "safe-stable-stringify": { + "node_modules/safe-stable-stringify": { "version": "2.4.3", "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz", - "integrity": "sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==" - }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true + "integrity": "sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==", + "engines": { + "node": ">=10" + } }, - "serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "node_modules/semver": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", "dev": true, - "requires": { - "randombytes": "^2.1.0" + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", - "dev": true - }, - "shebang-command": { + "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" } }, - "shebang-regex": { + "node_modules/shebang-regex": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true + "node_modules/siginfo": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", + "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", + "dev": true, + "license": "ISC" + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } }, - "sinon": { - "version": "17.0.0", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-17.0.0.tgz", - "integrity": "sha512-p4lJiYKBoOEVUxxVIC9H1MM2znG1/c8gud++I2BauJA5hsz7hHsst35eurNWXTusBsIq66FzOQbZ/uMdpvbPIQ==", + "node_modules/sinon": { + "version": "17.0.1", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-17.0.1.tgz", + "integrity": "sha512-wmwE19Lie0MLT+ZYNpDymasPHUKTaZHUH/pKEubRXIzySv9Atnlw+BUMGCzWgV7b7wO+Hw6f1TEOr0IUnmU8/g==", "dev": true, - "requires": { + "dependencies": { "@sinonjs/commons": "^3.0.0", "@sinonjs/fake-timers": "^11.2.2", "@sinonjs/samsam": "^8.0.0", @@ -6374,325 +2008,554 @@ "nise": "^5.1.5", "supports-color": "^7.2.0" }, - "dependencies": { - "diff": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", - "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==", - "dev": true - } + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/sinon" } }, - "sonic-boom": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-3.7.0.tgz", - "integrity": "sha512-IudtNvSqA/ObjN97tfgNmOKyDOs4dNcg4cUUsHDebqsgb8wGBBwb31LIgShNO8fye0dFI52X1+tFoKKI6Rq1Gg==", - "requires": { - "atomic-sleep": "^1.0.0" + "node_modules/sinon/node_modules/diff": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz", + "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", + "dev": true, + "engines": { + "node": ">=0.3.1" } }, - "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 + "node_modules/sonic-boom": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-3.8.1.tgz", + "integrity": "sha512-y4Z8LCDBuum+PBP3lSV7RHrXscqksve/bi0as7mhwVnBW+/wUqKT/2Kb7um8yqcFy0duYbbPxzt89Zy2nOCaxg==", + "dependencies": { + "atomic-sleep": "^1.0.0" + } }, - "spawn-wrap": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz", - "integrity": "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==", - "dev": true, - "requires": { - "foreground-child": "^2.0.0", - "is-windows": "^1.0.2", - "make-dir": "^3.0.0", - "rimraf": "^3.0.0", - "signal-exit": "^3.0.2", - "which": "^2.0.1" + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" } }, - "split2": { + "node_modules/split2": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", - "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==" + "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", + "engines": { + "node": ">= 10.x" + } }, - "string_decoder": { + "node_modules/stackback": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", + "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", + "dev": true, + "license": "MIT" + }, + "node_modules/std-env": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz", + "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==", + "dev": true, + "license": "MIT" + }, + "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==", - "requires": { + "dependencies": { "safe-buffer": "~5.2.0" } }, - "string-width": { + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "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==", "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "license": "MIT", + "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-cjs/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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/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==", + "dev": true, + "license": "MIT" + }, + "node_modules/string-width-cjs/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==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "strip-ansi": { + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, - "strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true - }, - "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true + "node_modules/strip-ansi-cjs/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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "supports-color": { + "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, - "requires": { + "dependencies": { "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "node_modules/test-exclude": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-7.0.1.tgz", + "integrity": "sha512-pFYqmTw68LXVjeWJMST4+borgQP2AyMNbg1BpZh9LbyhUeNkeaPF9gzfPGUAnSMV3qPYdWUwDIjjCLiSDOl7vg==", "dev": true, - "requires": { + "license": "ISC", + "dependencies": { "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" + "glob": "^10.4.1", + "minimatch": "^9.0.4" }, + "engines": { + "node": ">=18" + } + }, + "node_modules/thread-stream": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/thread-stream/-/thread-stream-2.7.0.tgz", + "integrity": "sha512-qQiRWsU/wvNolI6tbbCKd9iKaTnCXsTwVxhhKM6nctPdujTyztjlbUkUTUymidWcMnZ5pWR0ej4a0tjsW021vw==", "dependencies": { - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } + "real-require": "^0.2.0" } }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true + "node_modules/tinybench": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", + "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", + "dev": true, + "license": "MIT" }, - "thread-stream": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/thread-stream/-/thread-stream-2.4.1.tgz", - "integrity": "sha512-d/Ex2iWd1whipbT681JmTINKw0ZwOUBZm7+Gjs64DHuX34mmw8vJL2bFAaNacaW72zYiTJxSHi5abUuOi5nsfg==", - "requires": { - "real-require": "^0.2.0" + "node_modules/tinyexec": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.0.tgz", + "integrity": "sha512-tVGE0mVJPGb0chKhqmsoosjsS+qUnJVGJpZgsHYQcGoPlG3B51R3PouqTgEGH2Dc9jjFyOqOpix6ZHNMXp1FZg==", + "dev": true, + "license": "MIT" + }, + "node_modules/tinypool": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.0.1.tgz", + "integrity": "sha512-URZYihUbRPcGv95En+sz6MfghfIc2OJ1sv/RmhWZLouPY0/8Vo80viwPvg3dlaS9fuq7fQMEfgRRK7BBZThBEA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.0.0 || >=20.0.0" } }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true + "node_modules/tinyrainbow": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-1.2.0.tgz", + "integrity": "sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.0.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==", + "node_modules/tinyspy": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-3.0.2.tgz", + "integrity": "sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==", "dev": true, - "requires": { - "is-number": "^7.0.0" + "license": "MIT", + "engines": { + "node": ">=14.0.0" } }, - "type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", "dev": true, - "requires": { - "prelude-ls": "^1.2.1" + "engines": { + "node": ">=4" } }, - "type-detect": { + "node_modules/type-detect": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true - }, - "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true - }, - "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==", "dev": true, - "requires": { - "is-typedarray": "^1.0.0" + "engines": { + "node": ">=4" } }, - "update-browserslist-db": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", - "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", + "node_modules/vite": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.6.tgz", + "integrity": "sha512-IeL5f8OO5nylsgzd9tq4qD2QqI0k2CQLGrWD0rCN0EQJZpBK5vJAx0I+GDkMOXxQX/OfFHMuLIx6ddAxGX/k+Q==", "dev": true, - "requires": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" + "license": "MIT", + "dependencies": { + "esbuild": "^0.21.3", + "postcss": "^8.4.43", + "rollup": "^4.20.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } } }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "node_modules/vite-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-2.1.1.tgz", + "integrity": "sha512-N/mGckI1suG/5wQI35XeR9rsMsPqKXzq1CdUndzVstBj/HvyxxGctwnK6WX43NGt5L3Z5tcRf83g4TITKJhPrA==", "dev": true, - "requires": { - "punycode": "^2.1.0" + "license": "MIT", + "dependencies": { + "cac": "^6.7.14", + "debug": "^4.3.6", + "pathe": "^1.1.2", + "vite": "^5.0.0" + }, + "bin": { + "vite-node": "vite-node.mjs" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" } }, - "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 + "node_modules/vitest": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-2.1.1.tgz", + "integrity": "sha512-97We7/VC0e9X5zBVkvt7SGQMGrRtn3KtySFQG5fpaMlS+l62eeXRQO633AYhSTC3z7IMebnPPNjGXVGNRFlxBA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/expect": "2.1.1", + "@vitest/mocker": "2.1.1", + "@vitest/pretty-format": "^2.1.1", + "@vitest/runner": "2.1.1", + "@vitest/snapshot": "2.1.1", + "@vitest/spy": "2.1.1", + "@vitest/utils": "2.1.1", + "chai": "^5.1.1", + "debug": "^4.3.6", + "magic-string": "^0.30.11", + "pathe": "^1.1.2", + "std-env": "^3.7.0", + "tinybench": "^2.9.0", + "tinyexec": "^0.3.0", + "tinypool": "^1.0.0", + "tinyrainbow": "^1.2.0", + "vite": "^5.0.0", + "vite-node": "2.1.1", + "why-is-node-running": "^2.3.0" + }, + "bin": { + "vitest": "vitest.mjs" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@edge-runtime/vm": "*", + "@types/node": "^18.0.0 || >=20.0.0", + "@vitest/browser": "2.1.1", + "@vitest/ui": "2.1.1", + "happy-dom": "*", + "jsdom": "*" + }, + "peerDependenciesMeta": { + "@edge-runtime/vm": { + "optional": true + }, + "@types/node": { + "optional": true + }, + "@vitest/browser": { + "optional": true + }, + "@vitest/ui": { + "optional": true + }, + "happy-dom": { + "optional": true + }, + "jsdom": { + "optional": true + } + } }, - "which": { + "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, - "requires": { + "license": "ISC", + "dependencies": { "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" } }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==", - "dev": true + "node_modules/why-is-node-running": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", + "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", + "dev": true, + "license": "MIT", + "dependencies": { + "siginfo": "^2.0.0", + "stackback": "0.0.2" + }, + "bin": { + "why-is-node-running": "cli.js" + }, + "engines": { + "node": ">=8" + } }, - "workerpool": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", - "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==", - "dev": true + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } }, - "wrap-ansi": { + "node_modules/wrap-ansi-cjs": { + "name": "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==", "dev": true, - "requires": { + "license": "MIT", + "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" } }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "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==", + "node_modules/wrap-ansi-cjs/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==", "dev": true, - "requires": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" + "license": "MIT", + "engines": { + "node": ">=8" } }, - "ws": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.3.tgz", - "integrity": "sha512-jmTjYU0j60B+vHey6TfR3Z7RD61z/hmxBS3VMSGIrroOWXQEneK1zNuotOUrGyBHQj0yrpsLHPWtigEFd13ndA==", - "requires": { - "async-limiter": "~1.0.0" + "node_modules/wrap-ansi-cjs/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, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - }, - "yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - } - }, - "yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", - "dev": true + "node_modules/wrap-ansi-cjs/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==", + "dev": true, + "license": "MIT" }, - "yargs-unparser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", - "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", - "dev": true, - "requires": { - "camelcase": "^6.0.0", - "decamelize": "^4.0.0", - "flat": "^5.0.2", - "is-plain-obj": "^2.1.0" + "node_modules/wrap-ansi-cjs/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==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/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==", + "dev": true, + "license": "MIT", "dependencies": { - "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true - }, - "decamelize": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", - "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", - "dev": true - } + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, - "yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true + "node_modules/ws": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.3.tgz", + "integrity": "sha512-jmTjYU0j60B+vHey6TfR3Z7RD61z/hmxBS3VMSGIrroOWXQEneK1zNuotOUrGyBHQj0yrpsLHPWtigEFd13ndA==", + "dependencies": { + "async-limiter": "~1.0.0" + } } } } diff --git a/source/backend/functions/graph-api/package.json b/source/backend/functions/graph-api/package.json index 350b691d..898ee452 100644 --- a/source/backend/functions/graph-api/package.json +++ b/source/backend/functions/graph-api/package.json @@ -1,18 +1,17 @@ { "name": "wd-graph-api", - "version": "2.1.15", + "version": "2.2.0", "description": "The lambda function that queries the Neptune database", - "main": "src/index.js", + "main": "src/index.mjs", + "type": "module", "scripts": { "pretest": "npm i", - "test": "nyc --reporter=html --reporter=text mocha test", - "test:ci": "npm ci && nyc --reporter=nyc-report-lcov-absolute mocha --forbid-only test", - "posttest:ci": "echo \"$(awk '{gsub(/SF:.*\\/source\\//, \"SF:source/\")}1' coverage/lcov.info)\" > coverage/lcov.info", + "test": "vitest run --coverage", + "test:ci": "npm ci && vitest run --coverage --allowOnly false", "clean": "rm -rf dist", "build:zip": "zip -rq --exclude=test/* --exclude=package-lock.json graph-api.zip node_modules/ && zip -urj graph-api.zip src/", "build:dist": "mkdir dist && mv graph-api.zip dist/", - "build": "npm run clean && npm ci --omit=dev && npm run build:zip && npm run build:dist", - "coverage": "nyc npm test" + "build": "npm run clean && npm ci --omit=dev && npm run build:zip && npm run build:dist" }, "author": { "name": "Amazon Web Services", @@ -20,6 +19,7 @@ }, "license": "Apache-2.0", "dependencies": { + "@aws-lambda-powertools/logger": "2.10.0", "gremlin": "3.5.2", "neptune-lambda-client": "1.0.0", "pino": "8.16.1", @@ -27,11 +27,8 @@ "ramda": "0.28.0" }, "devDependencies": { - "chai": "^4.3.10", - "mocha": "^10.2.0", - "nyc": "^15.1.0", - "nyc-report-lcov-absolute": "^1.0.0", - "rewire": "^7.0.0", - "sinon": "^17.0.0" + "@vitest/coverage-v8": "^2.1.1", + "sinon": "^17.0.0", + "vitest": "^2.1.1" } } diff --git a/source/backend/functions/graph-api/src/index.js b/source/backend/functions/graph-api/src/index.js deleted file mode 100644 index 3eb2f658..00000000 --- a/source/backend/functions/graph-api/src/index.js +++ /dev/null @@ -1,222 +0,0 @@ -// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 - -const gremlin = require('gremlin'); -const R = require('ramda'); -const {lambdaRequestTracker} = require('pino-lambda'); -const __ = gremlin.process.statics; -const c = gremlin.process.column -const p = gremlin.process.P; -const {local} = gremlin.process.scope; -const {cardinality: {single}, t} = gremlin.process; -const logger = require('./logger'); -const {create: createGremlinClient} = require('neptune-lambda-client'); - -const gremlinClient = createGremlinClient(process.env.neptuneConnectURL, process.env.neptunePort); - -const withRequest = lambdaRequestTracker(); - -function getResourceGraph({query}, {ids, pagination: {start, end}}) { - return query(async g => { - if(R.isEmpty(ids)) { - return {nodes: [], edges: []} - } - - return g.with_('Neptune#enableResultCacheWithTTL', 30) - .V(...ids).aggregate('nodes') - .bothE().aggregate('edges').otherV().aggregate('nodes') - .outE('IS_CONTAINED_IN_VPC', 'IS_ASSOCIATED_WITH_VPC', 'IS_CONTAINED_IN_SUBNET', 'IS_ASSOCIATED_WITH_SUBNET').aggregate('edges').inV().aggregate('nodes') - .cap('nodes', 'edges') - .fold() - .select('nodes', 'edges') - .by(__.unfold().dedup().elementMap().fold().range(local, start, end)) - .by(__.unfold().dedup() - .project('id', 'label', 'target','source') - .by(t.id) - .by(t.label) - .by(__.inV()) - .by(__.outV()) - .fold().range(local, start, end)) - .next() - .then(x => x.value) - .then(({nodes, edges}) => { - return { - edges, - nodes: nodes.map(({id, label, md5Hash, ...properties}) => { - return { - id, - label, - md5Hash, - properties - }; - }) - }; - }); - }); -} - -function createAccountPredicates(accounts) { - return accounts.map(({accountId, regions}) => { - return regions == null ? - __.has('accountId', accountId) : - __.has('accountId', accountId).has('awsRegion', p.within(R.pluck('name', regions))) - - } - ); -} - -function getResources({query}, {resourceTypes = [], accounts = [], pagination: {start, end}}) { - return query(async g => { - let q = g.with_('Neptune#enableResultCacheWithTTL', 60).V(); - - if (!R.isEmpty(resourceTypes)) q = q.hasLabel(...resourceTypes.map(R.replace(/::/g, '_'))); - - if (!R.isEmpty(accounts)) { - q = q.or(...createAccountPredicates(accounts)); - } - - return q.range(start, end).elementMap().toList() - .then(R.map(({id, label, md5Hash, ...properties}) => { - return { - id, label: label.replace(/_/g, '::'), md5Hash, properties - }; - })); - }); -} - -function addResources({query}, resources) { - return query(async g => { - return g.inject(resources).unfold().as('nodes') - .addV(__.select('nodes').select('label')).as('v') - .property(t.id, __.select('nodes').select('id')) - .property('md5Hash', __.select('nodes').select('md5Hash')) - .select('nodes').select('properties').unfold().as('kv') - .select('v').property(__.select('kv').by(c.keys), __.select('kv').by(c.values)) - .toList(); - }); -} - -function updateResources({query}, resources) { - return query(async g => { - return resources.reduce((q, {id, md5Hash, properties}) => { - return Object.entries(properties).reduce((acc, [k, v]) => { - acc.property(single, k, v); - return acc; - }, q.V(id).property(single, 'md5Hash', md5Hash)); - }, g) - .next() - .then(() => resources.map(R.pick(['id']))); - }); -} - -function addRelationships({query}, relationships) { - return query(async g => { - if (R.isEmpty(relationships)) return []; - - return relationships.reduce((q, {source, label, target}) => { - return q.V(source) - .addE(label).to(__.V(target)) - .project('id', 'label', 'target','source') - .by(t.id) - .by(t.label) - .by(__.inV()) - .by(__.outV()) - .aggregate('edges') - }, g) - .select('edges') - .next() - .then(x => x.value) - }); -} - -function getRelationships({query}, {pagination: {start, end}}) { - return query(async g => { - return g.with_('Neptune#enableResultCacheWithTTL', 60) - .E() - .range(start, end) - .project('id', 'label', 'target','source') - .by(t.id) - .by(t.label) - .by(__.inV()) - .by(__.outV()) - .toList() - }); -} - -function deleteRelationships({query}, relationshipIds) { - return query(async g => { - return g.E(...relationshipIds) - .drop() - .next() - .then(() => relationshipIds); - }); -} - -function deleteAllResources({query}) { - return query(async g => { - return g.V().drop().next(); - }); -} - -function deleteResources({query}, resourceIds) { - return query(async g => { - return g.V(...resourceIds) - .drop() - .next() - .then(() => resourceIds); - }); -} - -const isArn = R.test(/arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):.*/); -const MAX_PAGE_SIZE = 2500; - -function handler(gremlinClient) { - return async (event, context) => { - withRequest(event, context); - - const args = event.arguments; - const fieldName = event.info.fieldName; - - logger.info({arguments: args, operation: fieldName}, 'GraphQL arguments:'); - - const pagination = args?.pagination ?? {start: 0, end: 1000}; - - if((pagination.end - pagination.start) > MAX_PAGE_SIZE) { - return Promise.reject(new Error(`Maximum page size is ${MAX_PAGE_SIZE}.`)); - } - - switch (fieldName) { - case 'addRelationships': - return addRelationships(gremlinClient, args.relationships); - case 'deleteRelationships': - return deleteRelationships(gremlinClient, args.relationshipIds); - case 'getRelationships': - return getRelationships(gremlinClient, {pagination}); - case 'addResources': - return addResources(gremlinClient, args.resources); - case 'deleteAllResources': - return deleteAllResources(gremlinClient); - case 'deleteResources': - if(R.isEmpty(args.resourceIds)) return []; - return deleteResources(gremlinClient, args.resourceIds); - case 'getResources': - if (R.isEmpty(args.resourceTypes)) return [] - const resourceTypes = args.resourceTypes ?? []; - const accounts = args.accounts ?? [] - return getResources(gremlinClient, {pagination, resourceTypes, accounts}); - case 'getResourceGraph': - const invalidArns = R.filter(id => !isArn(id), args.ids); - if (!R.isEmpty(invalidArns)) { - logger.error({invalidArns}, 'Invalid ARNs provided. '); - throw new Error('The following ARNs are invalid: ' + invalidArns); - } - return getResourceGraph(gremlinClient, {ids: args.ids, pagination}); - case 'updateResources': - return updateResources(gremlinClient, args.resources); - default: - return Promise.reject(new Error(`Unknown field, unable to resolve ${event.info.fieldName}.`)); - } - } -} - -exports.handler = handler(gremlinClient); diff --git a/source/backend/functions/graph-api/src/logger.js b/source/backend/functions/graph-api/src/logger.js deleted file mode 100644 index ebb04904..00000000 --- a/source/backend/functions/graph-api/src/logger.js +++ /dev/null @@ -1,12 +0,0 @@ -// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 - -const pino = require('pino'); -const {pinoLambdaDestination} = require('pino-lambda'); - -const level = ('info' ?? process.env.LOG_LEVEL).toLowerCase(); - -const destination = pinoLambdaDestination(); -const logger = pino({level}, destination); - -module.exports = logger; \ No newline at end of file diff --git a/source/backend/functions/graph-api/test/fixtures/getResources/lambdas-input.json b/source/backend/functions/graph-api/test/fixtures/getResources/lambdas-input.json index f0211680..e4b539f7 100644 --- a/source/backend/functions/graph-api/test/fixtures/getResources/lambdas-input.json +++ b/source/backend/functions/graph-api/test/fixtures/getResources/lambdas-input.json @@ -1,47 +1,47 @@ [ - { - "id": "arn:aws:lambda:eu-west-1:xxxxxx:function:function0", - "label": "AWS_Lambda_Function", - "md5Hash": "", - "accountId": "accountId", - "awsRegion": "eu-west-1", - "prop1": "prop1", - "prop2": "prop2" - }, - { - "id": "arn:aws:lambda:eu-west-1:xxxxxx:function:function1", - "label": "AWS_Lambda_Function", - "md5Hash": "", - "accountId": "accountId", - "awsRegion": "eu-west-1", - "prop1": "prop1", - "prop2": "prop2" - }, - { - "id": "arn:aws:lambda:eu-west-1:xxxxxx:function:function2", - "label": "AWS_Lambda_Function", - "md5Hash": "", - "accountId": "accountId", - "awsRegion": "eu-west-1", - "prop1": "prop1", - "prop2": "prop2" - }, - { - "id": "arn:aws:lambda:eu-west-1:xxxxxx:function:function3", - "label": "AWS_Lambda_Function", - "md5Hash": "", - "accountId": "accountId", - "awsRegion": "eu-west-1", - "prop1": "prop1", - "prop2": "prop2" - }, - { - "id": "arn:aws:lambda:eu-west-1:xxxxxx:function:function4", - "label": "AWS_Lambda_Function", - "md5Hash": "", - "accountId": "accountId", - "awsRegion": "eu-west-1", - "prop1": "prop1", - "prop2": "prop2" - } -] \ No newline at end of file + { + "id": "arn:aws:lambda:eu-west-1:xxxxxx:function:function0", + "label": "AWS_Lambda_Function", + "md5Hash": "", + "accountId": "accountId", + "awsRegion": "eu-west-1", + "prop1": "prop1", + "prop2": "prop2" + }, + { + "id": "arn:aws:lambda:eu-west-1:xxxxxx:function:function1", + "label": "AWS_Lambda_Function", + "md5Hash": "", + "accountId": "accountId", + "awsRegion": "eu-west-1", + "prop1": "prop1", + "prop2": "prop2" + }, + { + "id": "arn:aws:lambda:eu-west-1:xxxxxx:function:function2", + "label": "AWS_Lambda_Function", + "md5Hash": "", + "accountId": "accountId", + "awsRegion": "eu-west-1", + "prop1": "prop1", + "prop2": "prop2" + }, + { + "id": "arn:aws:lambda:eu-west-1:xxxxxx:function:function3", + "label": "AWS_Lambda_Function", + "md5Hash": "", + "accountId": "accountId", + "awsRegion": "eu-west-1", + "prop1": "prop1", + "prop2": "prop2" + }, + { + "id": "arn:aws:lambda:eu-west-1:xxxxxx:function:function4", + "label": "AWS_Lambda_Function", + "md5Hash": "", + "accountId": "accountId", + "awsRegion": "eu-west-1", + "prop1": "prop1", + "prop2": "prop2" + } +] diff --git a/source/backend/functions/graph-api/test/fixtures/getResources/lambdas-output.json b/source/backend/functions/graph-api/test/fixtures/getResources/lambdas-output.json index d2f55e09..b3a72d7b 100644 --- a/source/backend/functions/graph-api/test/fixtures/getResources/lambdas-output.json +++ b/source/backend/functions/graph-api/test/fixtures/getResources/lambdas-output.json @@ -1,57 +1,57 @@ [ - { - "id": "arn:aws:lambda:eu-west-1:xxxxxx:function:function0", - "label": "AWS::Lambda::Function", - "md5Hash": "", - "properties": { - "accountId": "accountId", - "awsRegion": "eu-west-1", - "prop1": "prop1", - "prop2": "prop2" + { + "id": "arn:aws:lambda:eu-west-1:xxxxxx:function:function0", + "label": "AWS::Lambda::Function", + "md5Hash": "", + "properties": { + "accountId": "accountId", + "awsRegion": "eu-west-1", + "prop1": "prop1", + "prop2": "prop2" + } + }, + { + "id": "arn:aws:lambda:eu-west-1:xxxxxx:function:function1", + "label": "AWS::Lambda::Function", + "md5Hash": "", + "properties": { + "accountId": "accountId", + "awsRegion": "eu-west-1", + "prop1": "prop1", + "prop2": "prop2" + } + }, + { + "id": "arn:aws:lambda:eu-west-1:xxxxxx:function:function2", + "label": "AWS::Lambda::Function", + "md5Hash": "", + "properties": { + "accountId": "accountId", + "awsRegion": "eu-west-1", + "prop1": "prop1", + "prop2": "prop2" + } + }, + { + "id": "arn:aws:lambda:eu-west-1:xxxxxx:function:function3", + "label": "AWS::Lambda::Function", + "md5Hash": "", + "properties": { + "accountId": "accountId", + "awsRegion": "eu-west-1", + "prop1": "prop1", + "prop2": "prop2" + } + }, + { + "id": "arn:aws:lambda:eu-west-1:xxxxxx:function:function4", + "label": "AWS::Lambda::Function", + "md5Hash": "", + "properties": { + "accountId": "accountId", + "awsRegion": "eu-west-1", + "prop1": "prop1", + "prop2": "prop2" + } } - }, - { - "id": "arn:aws:lambda:eu-west-1:xxxxxx:function:function1", - "label": "AWS::Lambda::Function", - "md5Hash": "", - "properties": { - "accountId": "accountId", - "awsRegion": "eu-west-1", - "prop1": "prop1", - "prop2": "prop2" - } - }, - { - "id": "arn:aws:lambda:eu-west-1:xxxxxx:function:function2", - "label": "AWS::Lambda::Function", - "md5Hash": "", - "properties": { - "accountId": "accountId", - "awsRegion": "eu-west-1", - "prop1": "prop1", - "prop2": "prop2" - } - }, - { - "id": "arn:aws:lambda:eu-west-1:xxxxxx:function:function3", - "label": "AWS::Lambda::Function", - "md5Hash": "", - "properties": { - "accountId": "accountId", - "awsRegion": "eu-west-1", - "prop1": "prop1", - "prop2": "prop2" - } - }, - { - "id": "arn:aws:lambda:eu-west-1:xxxxxx:function:function4", - "label": "AWS::Lambda::Function", - "md5Hash": "", - "properties": { - "accountId": "accountId", - "awsRegion": "eu-west-1", - "prop1": "prop1", - "prop2": "prop2" - } - } -] \ No newline at end of file +] diff --git a/source/backend/functions/graph-api/test/index.js b/source/backend/functions/graph-api/test/index.js deleted file mode 100644 index 76b977cf..00000000 --- a/source/backend/functions/graph-api/test/index.js +++ /dev/null @@ -1,444 +0,0 @@ -// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 - -const rewire = require('rewire'); -const sinon = require('sinon'); -const {assert} = require('chai'); -const index = rewire('../src/index'); - -describe('index.js', () => { - - describe('handler', () => { - - const handler = index.__get__('handler'); - - function createMockGremlinClient({nextValues = [], nextValue, toListValue}) { - const nextValuesStub = sinon.stub(); - - nextValues.forEach((value, i) => nextValuesStub.onCall(i).resolves({value})); - - const g = { - E: sinon.stub().returnsThis(), - V: sinon.stub().returnsThis(), - with_: sinon.stub().returnsThis(), - aggregate: sinon.stub().returnsThis(), - cap: sinon.stub().returnsThis(), - addE: sinon.stub().returnsThis(), - by: sinon.stub().returnsThis(), - both: sinon.stub().returnsThis(), - bothE: sinon.stub().returnsThis(), - or: sinon.stub().returnsThis(), - outE: sinon.stub().returnsThis(), - inV: sinon.stub().returnsThis(), - otherV: sinon.stub().returnsThis(), - to: sinon.stub().returnsThis(), - has: sinon.stub().returnsThis(), - hasLabel: sinon.stub().returnsThis(), - fold: sinon.stub().returnsThis(), - unfold: sinon.stub().returnsThis(), - group: sinon.stub().returnsThis(), - property: sinon.stub().returnsThis(), - groupCount: sinon.stub().returnsThis(), - select: sinon.stub().returnsThis(), - range: sinon.stub().returnsThis(), - elementMap: sinon.stub().returnsThis(), - project: sinon.stub().returnsThis(), - drop: sinon.stub().returnsThis(), - next: nextValues.length === 0 ? - sinon.stub().resolves({value: nextValue}) : nextValuesStub, - toList: sinon.stub().resolves(toListValue) - } - - return { - query: f => f(g), - g - } - } - - describe('getResources', () => { - - const getResourcesTests = { - lambda: { - input: require('./fixtures/getResources/lambdas-input.json'), - expected: require('./fixtures/getResources/lambdas-output.json') - } - }; - - it('should return no resources when resourceTypes is empty', async () => { - const mockGremlinClient = createMockGremlinClient({toListValue: {}}); - - const actual = await handler(mockGremlinClient)({ - info: { - fieldName: 'getResources', - }, - arguments: { - resourceTypes: [] - } - }, {}); - - assert.deepEqual(actual, []); - }); - - it('should get resources', async () => { - const mockGremlinClient = createMockGremlinClient({toListValue: getResourcesTests.lambda.input}); - - const actual = await handler(mockGremlinClient)({ - info: { - fieldName: 'getResources', - }, - arguments: { - } - }, {}); - - assert.deepEqual(actual, getResourcesTests.lambda.expected); - }); - - it('should get resources with accounts and resource filters', async () => { - const mockGremlinClient = createMockGremlinClient({toListValue: getResourcesTests.lambda.input}); - - const actual = await handler(mockGremlinClient)({ - info: { - fieldName: 'getResources', - }, - arguments: { - resourceTypes: ['AWS::Lambda::Function'], - accounts: [{accountId: 'accountId', regions: ['eu-west-1']}] - } - }, {}); - - assert.deepEqual(actual, getResourcesTests.lambda.expected); - }); - - }); - - describe('deleteResources', () => { - - it('should handle empty list of ids', async () => { - const mockGremlinClient = createMockGremlinClient({nextValue: {}}); - - const ids = []; - - const actual = await handler(mockGremlinClient)({ - info: { - fieldName: 'deleteResources', - }, - arguments: { - resourceIds: ids - } - }, {}); - - assert.notStrictEqual(actual, ids); - assert.deepEqual(actual, ids); - }); - - it('should return ids of deleted relationships', async () => { - const mockGremlinClient = createMockGremlinClient({nextValue: {}}); - - const ids = [ - 'id1', - 'id2', - 'id3' - ]; - - const actual = await handler(mockGremlinClient)({ - info: { - fieldName: 'deleteResources', - }, - arguments: { - resourceIds: ids - } - }, {}); - - assert.deepEqual(actual, ids); - }); - - }); - - describe('deleteRelationships', () => { - - it('should return ids of deleted relationships', async () => { - const mockGremlinClient = createMockGremlinClient({nextValue: {}}); - - const ids = [ - 'id1', - 'id2', - 'id3' - ]; - - const actual = await handler(mockGremlinClient)({ - info: { - fieldName: 'deleteRelationships', - }, - arguments: { - relationshipIds: ids - } - }, {}); - - assert.deepEqual(actual, ids); - - }); - - }); - - describe('addRelationships', () => { - - it('should handle empty relationships field', async () => { - const mockGremlinClient = createMockGremlinClient({nextValue: {}}); - - const actual = await handler(mockGremlinClient)({ - info: { - fieldName: 'addRelationships', - }, - arguments: { - relationships: [] - } - }, {}); - - assert.deepEqual(actual, []); - - }); - - it('should extract value on resolution', async () => { - const mockGremlinClient = createMockGremlinClient({nextValue: 'relResult'}); - - const actual = await handler(mockGremlinClient)({ - info: { - fieldName: 'addRelationships', - }, - arguments: { - relationships: [ - {source: 'sourceArn', label: 'CONTAINS', target: 'targetArn'} - ] - } - }, {}); - - assert.deepEqual(actual, 'relResult'); - - }); - - }); - - describe('getRelationships', () => { - - it('ensure caching is enabled', async () => { - const mockGremlinClient = createMockGremlinClient({toListValue: ['toListValue']}); - - const actual = await handler(mockGremlinClient)({ - info: { - fieldName: 'getRelationships', - }, - arguments: { - } - }, {}); - - sinon.assert.calledWith(mockGremlinClient.g.with_, 'Neptune#enableResultCacheWithTTL'); - assert.deepEqual(actual, ['toListValue']); - }); - - }); - - describe('updateResources', () => { - - it('should return ids after updating resources', async () => { - const mockGremlinClient = createMockGremlinClient({nextValue: {}}); - - const actual = await handler(mockGremlinClient)({ - info: { - fieldName: 'updateResources', - }, - arguments: { - resources: [ - {id: 'arn1', md5Hash: 'hash', properties: {a: 1}}, - {id: 'arn2', md5Hash: '', properties: {b: 2}}, - ] - } - }, {}); - - assert.deepEqual(actual, [{id: 'arn1'}, {id: 'arn2'}]); - }); - - }); - - describe('getResourceGraph', () => { - - it('should reject invalid arns', async () => { - const mockGremlinClient = createMockGremlinClient({ - nextValues: [] - }); - - return handler(mockGremlinClient)({ - info: { - fieldName: 'getResourceGraph', - }, - arguments: { - ids: [ - 'notArn1', - 'notArn2' - ] - } - }, {}).catch(err => assert.deepEqual(err.message, 'The following ARNs are invalid: notArn1,notArn2')); - }); - - it('should handle empty list of ids', async () => { - const mockGremlinClient = createMockGremlinClient({ - nextValues: ['should not be returned'] - }); - - const actual = await handler(mockGremlinClient)({ - info: { - fieldName: 'getResourceGraph', - }, - arguments: { - ids: [] - } - }, {}); - - assert.deepEqual(actual, {nodes: [], edges: []}); - }); - - it('should return nodes and edges related to the supplied ids', async () => { - const mockGremlinClient = createMockGremlinClient({ - nextValue: { - nodes: [{ - id: 'arn:aws:lambda:eu-west-1:xxxxxx:function:function1', - label: 'AWS_LAMBDA_FUNCTION', - md5Hash: '', - prop1: 'prop1Val', - prop2: 'prop2Val' - }, { - id: 'arn:aws:lambda:eu-west-1:xxxxxx:function:function2', - label: 'AWS_LAMBDA_FUNCTION', - md5Hash: '', - prop1: 'prop1Val', - prop2: 'prop2Val' - }, { - id: 'iamRoleArn', - label: 'AWS_IAM_ROLE', - md5Hash: '', - prop1: 'prop1IamVal', - prop2: 'prop2IamVal' - } - ], - edges: [{ - id: 'edgeId1', - label: 'CONTAINED_IN', - source: { - id: 'arn:aws:lambda:eu-west-1:xxxxxx:function:function1', - label: 'AWS_LAMBDA_FUNCTION' - }, - target: {id: 'vpcArn', label: 'AWS_EC2_VPC'} - }, { - id: 'edgeId2', - label: 'IS_ASSOCIATED_WITH', - source: { - id: 'arn:aws:lambda:eu-west-1:xxxxxx:function:function1', - label: 'AWS_LAMBDA_FUNCTION' - }, - target: {id: 'iamRoleArn', label: 'AWS_IAM_ROLE'} - }] - } - }); - - const ids = [ - 'arn:aws:lambda:eu-west-1:xxxxxx:function:function1', - 'arn:aws:lambda:eu-west-1:xxxxxx:function:function2' - ]; - - const actual = await handler(mockGremlinClient)({ - info: { - fieldName: 'getResourceGraph', - }, - arguments: { - ids - } - }, {}); - - assert.deepEqual(actual.edges, [{ - id: 'edgeId1', - label: 'CONTAINED_IN', - source: { - id: 'arn:aws:lambda:eu-west-1:xxxxxx:function:function1', - label: 'AWS_LAMBDA_FUNCTION' - }, - target: {id: 'vpcArn', label: 'AWS_EC2_VPC'} - }, { - id: 'edgeId2', - label: 'IS_ASSOCIATED_WITH', - source: { - id: 'arn:aws:lambda:eu-west-1:xxxxxx:function:function1', - label: 'AWS_LAMBDA_FUNCTION' - }, - target: {id: 'iamRoleArn', label: 'AWS_IAM_ROLE'} - }]); - - assert.deepEqual(actual.nodes, [ - { - id: 'arn:aws:lambda:eu-west-1:xxxxxx:function:function1', - label: 'AWS_LAMBDA_FUNCTION', - md5Hash: '', - properties: { - prop1: 'prop1Val', - prop2: 'prop2Val' - } - }, - { - id: 'arn:aws:lambda:eu-west-1:xxxxxx:function:function2', - label: 'AWS_LAMBDA_FUNCTION', - md5Hash: '', - properties: { - prop1: 'prop1Val', - prop2: 'prop2Val' - } - }, - { - id: 'iamRoleArn', - label: 'AWS_IAM_ROLE', - md5Hash: '', - properties: { - prop1: 'prop1IamVal', - prop2: 'prop2IamVal' - } - } - ]) - - }); - - }); - - describe('unknown query', () => { - - it('should reject payloads with unknown query', async () => { - const mockGremlinClient = createMockGremlinClient({nextValue: {}}); - - return handler(mockGremlinClient)({ - info: { - fieldName: 'foo', - } - }, {}).catch(err => assert.strictEqual(err.message, 'Unknown field, unable to resolve foo.')); - }); - - }); - - describe('max page', () => { - - it('should reject payloads with page size greater than 2500', async () => { - const mockGremlinClient = createMockGremlinClient({nextValue: {}}); - - return handler(mockGremlinClient)({ - arguments: { - pagination: { - start: 0, - end: 3000 - } - }, - info: { - fieldName: 'getResources', - } - }, {}).catch(err => assert.strictEqual(err.message, 'Maximum page size is 2500.')); - }); - - }); - - }); - -}); \ No newline at end of file diff --git a/source/backend/functions/lambda-layers/cr_helper/requirements.txt b/source/backend/functions/lambda-layers/cr_helper/requirements.txt index 7d06eea8..cfc30108 100644 --- a/source/backend/functions/lambda-layers/cr_helper/requirements.txt +++ b/source/backend/functions/lambda-layers/cr_helper/requirements.txt @@ -1 +1 @@ -crhelper==2.0.5 +crhelper==2.0.11 diff --git a/source/backend/functions/metrics/package-lock.json b/source/backend/functions/metrics/package-lock.json index 086f2f86..31338b02 100644 --- a/source/backend/functions/metrics/package-lock.json +++ b/source/backend/functions/metrics/package-lock.json @@ -1,43 +1,45 @@ { "name": "metrics", - "version": "2.1.15", + "version": "2.2.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "metrics", - "version": "2.1.15", + "version": "2.2.0", "license": "Apache-2.0", "dependencies": { + "@aws-lambda-powertools/logger": "2.2.0", "@aws-sdk/client-s3": "3.621.0", - "@aws-sdk/client-ssm": "3.621.0", - "@aws-sdk/credential-providers": "3.621.0", - "aws4": "1.12.0", - "axios": "1.7.4" + "aws4": "1.13.0", + "ramda": "0.30.1", + "zod": "3.23.8" }, "devDependencies": { - "@types/aws4": "^1.11.3", - "@types/chai": "^4.3.9", - "@types/mocha": "^10.0.1", + "@mswjs/data": "^0.16.1", + "@types/aws4": "^1.11.6", + "@types/chai": "^4.3.16", + "@types/mocha": "^10.0.6", "@types/node": "^20.4.1", + "@types/ramda": "^0.30.0", + "@vitest/coverage-v8": "^2.1.1", "aws-sdk-client-mock": "^3.0.0", - "axios-mock-adapter": "^1.21.5", - "chai": "^4.3.10", - "mocha": "^10.2.0", - "nyc": "^15.1.0", - "nyc-report-lcov-absolute": "^1.0.0", - "ts-node": "10.9.1", - "typescript": "5.1.3" + "chai": "^5.1.1", + "msw": "^2.3.1", + "sinon": "^18.0.0", + "tsx": "^4.15.6", + "typescript": "5.4.5", + "vitest": "^2.1.1" } }, "node_modules/@ampproject/remapping": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", - "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", "dev": true, "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { "node": ">=6.0.0" @@ -245,56 +247,26 @@ "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-cognito-identity": { - "version": "3.621.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.621.0.tgz", - "integrity": "sha512-FpXia5qFf6ijcNDWenVq+mP9r1LbiW/+52i9wrv2+Afi6Nn1ROf8W7St8WvE9TEZ3t78y+vis4CwqfGts+uiKA==", - "license": "Apache-2.0", + "node_modules/@aws-lambda-powertools/commons": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@aws-lambda-powertools/commons/-/commons-2.2.0.tgz", + "integrity": "sha512-ZBJ+1ccaP6u9fYrGVWOJYLcseUPZr66/JmL3Z8TcirFTvpb74+Fasn6fdJyh+GgbDDlxsmv62SDum09rKOMBfg==" + }, + "node_modules/@aws-lambda-powertools/logger": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@aws-lambda-powertools/logger/-/logger-2.2.0.tgz", + "integrity": "sha512-/qD15Q67ztTRJKKKmYProSIEnMRMByw/jH80ZTrOIYf0K0hCujl3cUfN2yDLBkRyoDfiIz22LfRoVYKJfYjc7Q==", "dependencies": { - "@aws-crypto/sha256-browser": "5.2.0", - "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/client-sso-oidc": "3.621.0", - "@aws-sdk/client-sts": "3.621.0", - "@aws-sdk/core": "3.621.0", - "@aws-sdk/credential-provider-node": "3.621.0", - "@aws-sdk/middleware-host-header": "3.620.0", - "@aws-sdk/middleware-logger": "3.609.0", - "@aws-sdk/middleware-recursion-detection": "3.620.0", - "@aws-sdk/middleware-user-agent": "3.620.0", - "@aws-sdk/region-config-resolver": "3.614.0", - "@aws-sdk/types": "3.609.0", - "@aws-sdk/util-endpoints": "3.614.0", - "@aws-sdk/util-user-agent-browser": "3.609.0", - "@aws-sdk/util-user-agent-node": "3.614.0", - "@smithy/config-resolver": "^3.0.5", - "@smithy/core": "^2.3.1", - "@smithy/fetch-http-handler": "^3.2.4", - "@smithy/hash-node": "^3.0.3", - "@smithy/invalid-dependency": "^3.0.3", - "@smithy/middleware-content-length": "^3.0.5", - "@smithy/middleware-endpoint": "^3.1.0", - "@smithy/middleware-retry": "^3.0.13", - "@smithy/middleware-serde": "^3.0.3", - "@smithy/middleware-stack": "^3.0.3", - "@smithy/node-config-provider": "^3.1.4", - "@smithy/node-http-handler": "^3.1.4", - "@smithy/protocol-http": "^4.1.0", - "@smithy/smithy-client": "^3.1.11", - "@smithy/types": "^3.3.0", - "@smithy/url-parser": "^3.0.3", - "@smithy/util-base64": "^3.0.0", - "@smithy/util-body-length-browser": "^3.0.0", - "@smithy/util-body-length-node": "^3.0.0", - "@smithy/util-defaults-mode-browser": "^3.0.13", - "@smithy/util-defaults-mode-node": "^3.0.13", - "@smithy/util-endpoints": "^2.0.5", - "@smithy/util-middleware": "^3.0.3", - "@smithy/util-retry": "^3.0.3", - "@smithy/util-utf8": "^3.0.0", - "tslib": "^2.6.2" + "@aws-lambda-powertools/commons": "^2.2.0", + "lodash.merge": "^4.6.2" }, - "engines": { - "node": ">=16.0.0" + "peerDependencies": { + "@middy/core": ">=3.x" + }, + "peerDependenciesMeta": { + "@middy/core": { + "optional": true + } } }, "node_modules/@aws-sdk/client-s3": { @@ -366,73 +338,6 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-ssm": { - "version": "3.621.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-ssm/-/client-ssm-3.621.0.tgz", - "integrity": "sha512-E4OM7HH9qU2TZGDrX2MlBlBr9gVgDm573Qa1CTFih58dUZyaPEOiZSYLUNOyw4nMyVLyDMR/5zQ4wAorNwKVPw==", - "license": "Apache-2.0", - "dependencies": { - "@aws-crypto/sha256-browser": "5.2.0", - "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/client-sso-oidc": "3.621.0", - "@aws-sdk/client-sts": "3.621.0", - "@aws-sdk/core": "3.621.0", - "@aws-sdk/credential-provider-node": "3.621.0", - "@aws-sdk/middleware-host-header": "3.620.0", - "@aws-sdk/middleware-logger": "3.609.0", - "@aws-sdk/middleware-recursion-detection": "3.620.0", - "@aws-sdk/middleware-user-agent": "3.620.0", - "@aws-sdk/region-config-resolver": "3.614.0", - "@aws-sdk/types": "3.609.0", - "@aws-sdk/util-endpoints": "3.614.0", - "@aws-sdk/util-user-agent-browser": "3.609.0", - "@aws-sdk/util-user-agent-node": "3.614.0", - "@smithy/config-resolver": "^3.0.5", - "@smithy/core": "^2.3.1", - "@smithy/fetch-http-handler": "^3.2.4", - "@smithy/hash-node": "^3.0.3", - "@smithy/invalid-dependency": "^3.0.3", - "@smithy/middleware-content-length": "^3.0.5", - "@smithy/middleware-endpoint": "^3.1.0", - "@smithy/middleware-retry": "^3.0.13", - "@smithy/middleware-serde": "^3.0.3", - "@smithy/middleware-stack": "^3.0.3", - "@smithy/node-config-provider": "^3.1.4", - "@smithy/node-http-handler": "^3.1.4", - "@smithy/protocol-http": "^4.1.0", - "@smithy/smithy-client": "^3.1.11", - "@smithy/types": "^3.3.0", - "@smithy/url-parser": "^3.0.3", - "@smithy/util-base64": "^3.0.0", - "@smithy/util-body-length-browser": "^3.0.0", - "@smithy/util-body-length-node": "^3.0.0", - "@smithy/util-defaults-mode-browser": "^3.0.13", - "@smithy/util-defaults-mode-node": "^3.0.13", - "@smithy/util-endpoints": "^2.0.5", - "@smithy/util-middleware": "^3.0.3", - "@smithy/util-retry": "^3.0.3", - "@smithy/util-utf8": "^3.0.0", - "@smithy/util-waiter": "^3.1.2", - "tslib": "^2.6.2", - "uuid": "^9.0.1" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-ssm/node_modules/uuid": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", - "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", - "funding": [ - "https://github.com/sponsors/broofa", - "https://github.com/sponsors/ctavan" - ], - "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" - } - }, "node_modules/@aws-sdk/client-sso": { "version": "3.621.0", "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.621.0.tgz", @@ -606,22 +511,6 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-cognito-identity": { - "version": "3.621.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.621.0.tgz", - "integrity": "sha512-Q+3awvTVJSqIGRjCUQflRwKPKlZ0TfmL3EQHgFLhZZrToeBapEA62+FY+T70aTKAZZZZprlvYeFPtBloNd5ziA==", - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/client-cognito-identity": "3.621.0", - "@aws-sdk/types": "3.609.0", - "@smithy/property-provider": "^3.1.3", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, "node_modules/@aws-sdk/credential-provider-env": { "version": "3.620.1", "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.620.1.tgz", @@ -757,33 +646,6 @@ "@aws-sdk/client-sts": "^3.621.0" } }, - "node_modules/@aws-sdk/credential-providers": { - "version": "3.621.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.621.0.tgz", - "integrity": "sha512-FQbC7I8ae/72ZekLBa45jWJ+Q3d+YPhc3bW/rCks6RrldM6RgLTGr8pTOPCxHl828ky10RjkBiBmVU818rliyw==", - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/client-cognito-identity": "3.621.0", - "@aws-sdk/client-sso": "3.621.0", - "@aws-sdk/client-sts": "3.621.0", - "@aws-sdk/credential-provider-cognito-identity": "3.621.0", - "@aws-sdk/credential-provider-env": "3.620.1", - "@aws-sdk/credential-provider-http": "3.621.0", - "@aws-sdk/credential-provider-ini": "3.621.0", - "@aws-sdk/credential-provider-node": "3.621.0", - "@aws-sdk/credential-provider-process": "3.620.1", - "@aws-sdk/credential-provider-sso": "3.621.0", - "@aws-sdk/credential-provider-web-identity": "3.621.0", - "@aws-sdk/types": "3.609.0", - "@smithy/credential-provider-imds": "^3.2.0", - "@smithy/property-provider": "^3.1.3", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, "node_modules/@aws-sdk/middleware-bucket-endpoint": { "version": "3.620.0", "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.620.0.tgz", @@ -1117,549 +979,636 @@ "node": ">=16.0.0" } }, - "node_modules/@babel/code-frame": { - "version": "7.22.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", - "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", + "node_modules/@babel/helper-string-parser": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.7.tgz", + "integrity": "sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==", "dev": true, - "dependencies": { - "@babel/highlight": "^7.22.13", - "chalk": "^2.4.2" - }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/code-frame/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==", + "node_modules/@babel/helper-validator-identifier": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", "dev": true, - "dependencies": { - "color-convert": "^1.9.0" + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.7.tgz", + "integrity": "sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" }, "engines": { - "node": ">=4" + "node": ">=6.0.0" } }, - "node_modules/@babel/code-frame/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==", + "node_modules/@babel/runtime": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.7.tgz", + "integrity": "sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==", "dev": true, "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "regenerator-runtime": "^0.14.0" }, "engines": { - "node": ">=4" + "node": ">=6.9.0" } }, - "node_modules/@babel/code-frame/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==", + "node_modules/@babel/types": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.7.tgz", + "integrity": "sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==", "dev": true, "dependencies": { - "color-name": "1.1.3" + "@babel/helper-string-parser": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" } }, - "node_modules/@babel/code-frame/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", "dev": true }, - "node_modules/@babel/code-frame/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": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "node_modules/@bundled-es-modules/cookie": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@bundled-es-modules/cookie/-/cookie-2.0.1.tgz", + "integrity": "sha512-8o+5fRPLNbjbdGRRmJj3h6Hh1AQJf2dk3qQ/5ZFb+PXkRNiSoMGGUKlsgLfrxneb72axVJyIYji64E2+nNfYyw==", "dev": true, - "engines": { - "node": ">=0.8.0" + "license": "ISC", + "dependencies": { + "cookie": "^0.7.2" } }, - "node_modules/@babel/code-frame/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "node_modules/@bundled-es-modules/statuses": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@bundled-es-modules/statuses/-/statuses-1.0.1.tgz", + "integrity": "sha512-yn7BklA5acgcBr+7w064fGV+SGIFySjCKpqjcWgBAIfrAkY+4GQTJJHQMeT3V/sgz23VTEVV8TtOmkvJAhFVfg==", "dev": true, - "engines": { - "node": ">=4" + "dependencies": { + "statuses": "^2.0.1" } }, - "node_modules/@babel/code-frame/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==", + "node_modules/@bundled-es-modules/tough-cookie": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/@bundled-es-modules/tough-cookie/-/tough-cookie-0.1.6.tgz", + "integrity": "sha512-dvMHbL464C0zI+Yqxbz6kZ5TOEp7GLW+pry/RWndAR8MJQAXZ2rPmIs8tziTZjeIyhSNZgZbCePtfSbdWqStJw==", "dev": true, + "license": "ISC", "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" + "@types/tough-cookie": "^4.0.5", + "tough-cookie": "^4.1.4" } }, - "node_modules/@babel/compat-data": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.5.tgz", - "integrity": "sha512-4Jc/YuIaYqKnDDz892kPIledykKg12Aw1PYX5i/TY28anJtacvM1Rrr8wbieB9GfEJwlzqT0hUEao0CxEebiDA==", + "node_modules/@esbuild/aix-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", + "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", + "cpu": [ + "ppc64" + ], "dev": true, + "optional": true, + "os": [ + "aix" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/core": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.5.tgz", - "integrity": "sha512-SBuTAjg91A3eKOvD+bPEz3LlhHZRNu1nFOVts9lzDJTXshHTjII0BAtDS3Y2DAkdZdDKWVZGVwkDfc4Clxn1dg==", + "node_modules/@esbuild/android-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", + "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", + "cpu": [ + "arm" + ], "dev": true, - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.22.5", - "@babel/generator": "^7.22.5", - "@babel/helper-compilation-targets": "^7.22.5", - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helpers": "^7.22.5", - "@babel/parser": "^7.22.5", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", - "@babel/types": "^7.22.5", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", - "semver": "^6.3.0" - }, + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" + "node": ">=12" } }, - "node_modules/@babel/generator": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", - "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", + "node_modules/@esbuild/android-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", + "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "@babel/types": "^7.23.0", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - }, + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.5.tgz", - "integrity": "sha512-Ji+ywpHeuqxB8WDxraCiqR0xfhYjiDE/e6k7FuIaANnoOFxAHskHChz4vA1mJC9Lbm01s1PVAGhQY4FUKSkGZw==", + "node_modules/@esbuild/android-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", + "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "@babel/compat-data": "^7.22.5", - "@babel/helper-validator-option": "^7.22.5", - "browserslist": "^4.21.3", - "lru-cache": "^5.1.1", - "semver": "^6.3.0" - }, + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "node": ">=12" } }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", + "node_modules/@esbuild/darwin-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", + "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", + "cpu": [ + "arm64" + ], "dev": true, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", + "node_modules/@esbuild/darwin-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", + "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" - }, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", + "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-module-imports": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", - "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", + "node_modules/@esbuild/freebsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", + "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.5.tgz", - "integrity": "sha512-+hGKDt/Ze8GFExiVHno/2dvG5IdstpzCq0y4Qc9OJ25D4q3pKfiIP/4Vp3/JvhDkLKsDK2api3q3fpIgiIF5bw==", + "node_modules/@esbuild/linux-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", + "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", + "cpu": [ + "arm" + ], "dev": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-module-imports": "^7.22.5", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", - "@babel/types": "^7.22.5" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-simple-access": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "node_modules/@esbuild/linux-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", + "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "node_modules/@esbuild/linux-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", + "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", + "cpu": [ + "ia32" + ], "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", + "node_modules/@esbuild/linux-loong64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", + "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", + "cpu": [ + "loong64" + ], "dev": true, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "node_modules/@esbuild/linux-mips64el": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", + "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", + "cpu": [ + "mips64el" + ], "dev": true, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-validator-option": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", - "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==", + "node_modules/@esbuild/linux-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", + "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", + "cpu": [ + "ppc64" + ], "dev": true, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helpers": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.5.tgz", - "integrity": "sha512-pSXRmfE1vzcUIDFQcSGA5Mr+GxBV9oiRKDuDxXvWQQBCh8HoIjs/2DlDB7H8smac1IVrB9/xdXj2N3Wol9Cr+Q==", + "node_modules/@esbuild/linux-riscv64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", + "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", + "cpu": [ + "riscv64" + ], "dev": true, - "dependencies": { - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", - "@babel/types": "^7.22.5" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/highlight": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", - "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", + "node_modules/@esbuild/linux-s390x": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", + "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", + "cpu": [ + "s390x" + ], "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/highlight/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==", + "node_modules/@esbuild/linux-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", + "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=4" + "node": ">=12" } }, - "node_modules/@babel/highlight/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==", + "node_modules/@esbuild/netbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", + "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, + "optional": true, + "os": [ + "netbsd" + ], "engines": { - "node": ">=4" + "node": ">=12" } }, - "node_modules/@babel/highlight/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==", + "node_modules/@esbuild/openbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", + "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "color-name": "1.1.3" + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" } }, - "node_modules/@babel/highlight/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/@babel/highlight/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": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "node_modules/@esbuild/sunos-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", + "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", + "cpu": [ + "x64" + ], "dev": true, + "optional": true, + "os": [ + "sunos" + ], "engines": { - "node": ">=0.8.0" + "node": ">=12" } }, - "node_modules/@babel/highlight/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "node_modules/@esbuild/win32-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", + "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", + "cpu": [ + "arm64" + ], "dev": true, + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=4" + "node": ">=12" } }, - "node_modules/@babel/highlight/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==", + "node_modules/@esbuild/win32-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", + "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", + "cpu": [ + "ia32" + ], "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=4" + "node": ">=12" } }, - "node_modules/@babel/parser": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", - "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", + "node_modules/@esbuild/win32-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", + "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", + "cpu": [ + "x64" + ], "dev": true, - "bin": { - "parser": "bin/babel-parser.js" - }, + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=6.0.0" + "node": ">=12" } }, - "node_modules/@babel/template": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", - "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", + "node_modules/@inquirer/confirm": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-3.1.9.tgz", + "integrity": "sha512-UF09aejxCi4Xqm6N/jJAiFXArXfi9al52AFaSD+2uIHnhZGtd1d6lIGTRMPouVSJxbGEi+HkOWSYaiEY/+szUw==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/parser": "^7.22.15", - "@babel/types": "^7.22.15" + "@inquirer/core": "^8.2.2", + "@inquirer/type": "^1.3.3" }, "engines": { - "node": ">=6.9.0" + "node": ">=18" } }, - "node_modules/@babel/traverse": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", - "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", + "node_modules/@inquirer/core": { + "version": "8.2.2", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-8.2.2.tgz", + "integrity": "sha512-K8SuNX45jEFlX3EBJpu9B+S2TISzMPGXZIuJ9ME924SqbdW6Pt6fIkKvXg7mOEOKJ4WxpQsxj0UTfcL/A434Ww==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.23.0", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.0", - "@babel/types": "^7.23.0", - "debug": "^4.1.0", - "globals": "^11.1.0" + "@inquirer/figures": "^1.0.3", + "@inquirer/type": "^1.3.3", + "@types/mute-stream": "^0.0.4", + "@types/node": "^20.12.13", + "@types/wrap-ansi": "^3.0.0", + "ansi-escapes": "^4.3.2", + "chalk": "^4.1.2", + "cli-spinners": "^2.9.2", + "cli-width": "^4.1.0", + "mute-stream": "^1.0.0", + "signal-exit": "^4.1.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^6.2.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=18" } }, - "node_modules/@babel/types": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", - "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", + "node_modules/@inquirer/core/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", "dev": true, "dependencies": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.20", - "to-fast-properties": "^2.0.0" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=8" } }, - "node_modules/@cspotcode/source-map-support": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", - "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "node_modules/@inquirer/figures": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.3.tgz", + "integrity": "sha512-ErXXzENMH5pJt5/ssXV0DfWUZqly8nGzf0UcBV9xTnP+KyffE2mqyxIMBrZ8ijQck2nU0TQm40EQB53YreyWHw==", "dev": true, - "dependencies": { - "@jridgewell/trace-mapping": "0.3.9" - }, "engines": { - "node": ">=12" + "node": ">=18" } }, - "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "node_modules/@inquirer/type": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-1.3.3.tgz", + "integrity": "sha512-xTUt0NulylX27/zMx04ZYar/kr1raaiFTVvQ5feljQsiAgdm0WPj4S73/ye0fbslh+15QrIuDvfCXTek7pMY5A==", "dev": true, - "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" + "engines": { + "node": ">=18" } }, - "node_modules/@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", "dev": true, + "license": "ISC", "dependencies": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" }, "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", "dev": true, - "dependencies": { - "sprintf-js": "~1.0.2" + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "node_modules/@isaacs/cliui/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@istanbuljs/load-nyc-config/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==", + "node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", "dev": true, - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } + "license": "MIT" }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "dev": true, + "license": "MIT", "dependencies": { - "p-locate": "^4.1.0" + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" }, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, + "license": "MIT", "dependencies": { - "p-try": "^2.0.0" + "ansi-regex": "^6.0.1" }, "engines": { - "node": ">=6" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", "dev": true, + "license": "MIT", "dependencies": { - "p-limit": "^2.2.0" + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" }, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, "node_modules/@istanbuljs/schema": { @@ -1667,19 +1616,20 @@ "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", "dev": true, "dependencies": { - "@jridgewell/set-array": "^1.0.1", + "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { "node": ">=6.0.0" @@ -1695,110 +1645,407 @@ } }, "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", "dev": true, "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "dev": true + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "dev": true, + "license": "MIT" }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.18", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", - "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", "dev": true, "dependencies": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "dev": true - }, - "node_modules/@sinonjs/commons": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", - "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", + "node_modules/@mswjs/data": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@mswjs/data/-/data-0.16.1.tgz", + "integrity": "sha512-VhJvL/VmgAuU9/tDOcKcxHfNd+8nxYntZnrkaQEQPvZZnFwQQR9bzI1FTRROGxCHVoyfv9v84AEkl/7CIw4FAg==", "dev": true, "dependencies": { - "type-detect": "4.0.8" + "@types/lodash": "^4.14.172", + "@types/md5": "^2.3.0", + "@types/pluralize": "^0.0.29", + "@types/uuid": "^8.3.0", + "date-fns": "^2.21.1", + "debug": "^4.3.1", + "graphql": "^16.8.1", + "lodash": "^4.17.21", + "md5": "^2.3.0", + "outvariant": "^1.2.1", + "pluralize": "^8.0.0", + "strict-event-emitter": "^0.5.0", + "uuid": "^8.3.1" + }, + "optionalDependencies": { + "msw": "^2.0.8" } }, - "node_modules/@sinonjs/fake-timers": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz", - "integrity": "sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==", + "node_modules/@mswjs/interceptors": { + "version": "0.35.8", + "resolved": "https://registry.npmjs.org/@mswjs/interceptors/-/interceptors-0.35.8.tgz", + "integrity": "sha512-PFfqpHplKa7KMdoQdj5td03uG05VK2Ng1dG0sP4pT9h0dGSX2v9txYt/AnrzPb/vAmfyBBC0NQV7VaBEX+efgQ==", "dev": true, + "license": "MIT", "dependencies": { - "@sinonjs/commons": "^1.7.0" + "@open-draft/deferred-promise": "^2.2.0", + "@open-draft/logger": "^0.3.0", + "@open-draft/until": "^2.0.0", + "is-node-process": "^1.2.0", + "outvariant": "^1.4.3", + "strict-event-emitter": "^0.5.1" + }, + "engines": { + "node": ">=18" } }, - "node_modules/@sinonjs/fake-timers/node_modules/@sinonjs/commons": { - "version": "1.8.6", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", - "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", + "node_modules/@open-draft/deferred-promise": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@open-draft/deferred-promise/-/deferred-promise-2.2.0.tgz", + "integrity": "sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA==", "dev": true, - "dependencies": { - "type-detect": "4.0.8" - } + "license": "MIT" }, - "node_modules/@sinonjs/samsam": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-7.0.1.tgz", - "integrity": "sha512-zsAk2Jkiq89mhZovB2LLOdTCxJF4hqqTToGP0ASWlhp4I1hqOjcfmZGafXntCN7MDC6yySH0mFHrYtHceOeLmw==", + "node_modules/@open-draft/logger": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@open-draft/logger/-/logger-0.3.0.tgz", + "integrity": "sha512-X2g45fzhxH238HKO4xbSr7+wBS8Fvw6ixhTDuvLd5mqh6bJJCFAPwU9mPDxbcrRtfxv4u5IHCEH77BmxvXmmxQ==", "dev": true, + "license": "MIT", "dependencies": { - "@sinonjs/commons": "^2.0.0", - "lodash.get": "^4.4.2", - "type-detect": "^4.0.8" + "is-node-process": "^1.2.0", + "outvariant": "^1.4.0" } }, - "node_modules/@sinonjs/text-encoding": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.2.tgz", - "integrity": "sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ==", - "dev": true + "node_modules/@open-draft/until": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@open-draft/until/-/until-2.1.0.tgz", + "integrity": "sha512-U69T3ItWHvLwGg5eJ0n3I62nWuE6ilHlmz7zM0npLBRvPRd7e6NYmg54vvRtP5mZG7kZqZCFVdsTWo7BPtBujg==", + "dev": true, + "license": "MIT" }, - "node_modules/@smithy/abort-controller": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-3.1.1.tgz", - "integrity": "sha512-MBJBiidoe+0cTFhyxT8g+9g7CeVccLM0IOKKUMCNQ1CNMJ/eIfoo0RTfVrXOONEI1UCN1W+zkiHSbzUNE9dZtQ==", - "license": "Apache-2.0", - "dependencies": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "license": "MIT", + "optional": true, "engines": { - "node": ">=16.0.0" + "node": ">=14" } }, - "node_modules/@smithy/chunked-blob-reader": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/chunked-blob-reader/-/chunked-blob-reader-3.0.0.tgz", - "integrity": "sha512-sbnURCwjF0gSToGlsBiAmd1lRCmSn72nu9axfJu5lIx6RUEgHu6GwTMbqCdhQSi0Pumcm5vFxsi9XWXb2mTaoA==", - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.6.2" - } + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.22.4.tgz", + "integrity": "sha512-Fxamp4aEZnfPOcGA8KSNEohV8hX7zVHOemC8jVBoBUHu5zpJK/Eu3uJwt6BMgy9fkvzxDaurgj96F/NiLukF2w==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] }, - "node_modules/@smithy/chunked-blob-reader-native": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/chunked-blob-reader-native/-/chunked-blob-reader-native-3.0.0.tgz", - "integrity": "sha512-VDkpCYW+peSuM4zJip5WDfqvg2Mo/e8yxOv3VF1m11y7B8KKMKVFtmZWDe36Fvk8rGuWrPZHHXZ7rR7uM5yWyg==", - "license": "Apache-2.0", - "dependencies": { - "@smithy/util-base64": "^3.0.0", - "tslib": "^2.6.2" + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.22.4.tgz", + "integrity": "sha512-VXoK5UMrgECLYaMuGuVTOx5kcuap1Jm8g/M83RnCHBKOqvPPmROFJGQaZhGccnsFtfXQ3XYa4/jMCJvZnbJBdA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.22.4.tgz", + "integrity": "sha512-xMM9ORBqu81jyMKCDP+SZDhnX2QEVQzTcC6G18KlTQEzWK8r/oNZtKuZaCcHhnsa6fEeOBionoyl5JsAbE/36Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.22.4.tgz", + "integrity": "sha512-aJJyYKQwbHuhTUrjWjxEvGnNNBCnmpHDvrb8JFDbeSH3m2XdHcxDd3jthAzvmoI8w/kSjd2y0udT+4okADsZIw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.22.4.tgz", + "integrity": "sha512-j63YtCIRAzbO+gC2L9dWXRh5BFetsv0j0va0Wi9epXDgU/XUi5dJKo4USTttVyK7fGw2nPWK0PbAvyliz50SCQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.22.4.tgz", + "integrity": "sha512-dJnWUgwWBX1YBRsuKKMOlXCzh2Wu1mlHzv20TpqEsfdZLb3WoJW2kIEsGwLkroYf24IrPAvOT/ZQ2OYMV6vlrg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.22.4.tgz", + "integrity": "sha512-AdPRoNi3NKVLolCN/Sp4F4N1d98c4SBnHMKoLuiG6RXgoZ4sllseuGioszumnPGmPM2O7qaAX/IJdeDU8f26Aw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.22.4.tgz", + "integrity": "sha512-Gl0AxBtDg8uoAn5CCqQDMqAx22Wx22pjDOjBdmG0VIWX3qUBHzYmOKh8KXHL4UpogfJ14G4wk16EQogF+v8hmA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.22.4.tgz", + "integrity": "sha512-3aVCK9xfWW1oGQpTsYJJPF6bfpWfhbRnhdlyhak2ZiyFLDaayz0EP5j9V1RVLAAxlmWKTDfS9wyRyY3hvhPoOg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.22.4.tgz", + "integrity": "sha512-ePYIir6VYnhgv2C5Xe9u+ico4t8sZWXschR6fMgoPUK31yQu7hTEJb7bCqivHECwIClJfKgE7zYsh1qTP3WHUA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.22.4.tgz", + "integrity": "sha512-GqFJ9wLlbB9daxhVlrTe61vJtEY99/xB3C8e4ULVsVfflcpmR6c8UZXjtkMA6FhNONhj2eA5Tk9uAVw5orEs4Q==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.22.4.tgz", + "integrity": "sha512-87v0ol2sH9GE3cLQLNEy0K/R0pz1nvg76o8M5nhMR0+Q+BBGLnb35P0fVz4CQxHYXaAOhE8HhlkaZfsdUOlHwg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.22.4.tgz", + "integrity": "sha512-UV6FZMUgePDZrFjrNGIWzDo/vABebuXBhJEqrHxrGiU6HikPy0Z3LfdtciIttEUQfuDdCn8fqh7wiFJjCNwO+g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.22.4.tgz", + "integrity": "sha512-BjI+NVVEGAXjGWYHz/vv0pBqfGoUH0IGZ0cICTn7kB9PyjrATSkX+8WkguNjWoj2qSr1im/+tTGRaY+4/PdcQw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.22.4.tgz", + "integrity": "sha512-SiWG/1TuUdPvYmzmYnmd3IEifzR61Tragkbx9D3+R8mzQqDBz8v+BvZNDlkiTtI9T15KYZhP0ehn3Dld4n9J5g==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.22.4.tgz", + "integrity": "sha512-j8pPKp53/lq9lMXN57S8cFz0MynJk8OWNuUnXct/9KCpKU7DgU3bYMJhwWmcqC0UU29p8Lr0/7KEVcaM6bf47Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@sinonjs/commons": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", + "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", + "dev": true, + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "11.2.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-11.2.2.tgz", + "integrity": "sha512-G2piCSxQ7oWOxwGSAyFHfPIsyeJGXYtc6mFbnFA+kRXkiEnTl8c/8jul2S329iFBnDI9HGoeWWAZvuvOkZccgw==", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^3.0.0" + } + }, + "node_modules/@sinonjs/samsam": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-8.0.0.tgz", + "integrity": "sha512-Bp8KUVlLp8ibJZrnvq2foVhP0IVX2CIprMJPK0vqGqgrDa0OHVKeZyBykqskkrdxV6yKBPmGasO8LVjAKR3Gew==", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^2.0.0", + "lodash.get": "^4.4.2", + "type-detect": "^4.0.8" + } + }, + "node_modules/@sinonjs/samsam/node_modules/@sinonjs/commons": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", + "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", + "dev": true, + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/text-encoding": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.2.tgz", + "integrity": "sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ==", + "dev": true + }, + "node_modules/@smithy/abort-controller": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-3.1.1.tgz", + "integrity": "sha512-MBJBiidoe+0cTFhyxT8g+9g7CeVccLM0IOKKUMCNQ1CNMJ/eIfoo0RTfVrXOONEI1UCN1W+zkiHSbzUNE9dZtQ==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/chunked-blob-reader": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/chunked-blob-reader/-/chunked-blob-reader-3.0.0.tgz", + "integrity": "sha512-sbnURCwjF0gSToGlsBiAmd1lRCmSn72nu9axfJu5lIx6RUEgHu6GwTMbqCdhQSi0Pumcm5vFxsi9XWXb2mTaoA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + } + }, + "node_modules/@smithy/chunked-blob-reader-native": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/chunked-blob-reader-native/-/chunked-blob-reader-native-3.0.0.tgz", + "integrity": "sha512-VDkpCYW+peSuM4zJip5WDfqvg2Mo/e8yxOv3VF1m11y7B8KKMKVFtmZWDe36Fvk8rGuWrPZHHXZ7rR7uM5yWyg==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/util-base64": "^3.0.0", + "tslib": "^2.6.2" } }, "node_modules/@smithy/config-resolver": { @@ -2470,56 +2717,84 @@ "node": ">=16.0.0" } }, - "node_modules/@tsconfig/node10": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", - "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", + "node_modules/@types/aws4": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@types/aws4/-/aws4-1.11.6.tgz", + "integrity": "sha512-5CnVUkHNyLGpD9AnOcK66YyP0qvIh6nhJJoeK8zSl5YKikUcUbdB7SlHevUYVqicgeh6j5AJa1qa/h08dSZHoA==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/chai": { + "version": "4.3.16", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.16.tgz", + "integrity": "sha512-PatH4iOdyh3MyWtmHVFXLWCCIhUbopaltqddG9BzB+gMIzee2MJrvd+jouii9Z3wzQJruGWAm7WOMjgfG8hQlQ==", "dev": true }, - "node_modules/@tsconfig/node12": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", - "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "node_modules/@types/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==", "dev": true }, - "node_modules/@tsconfig/node14": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", - "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "node_modules/@types/estree": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/lodash": { + "version": "4.17.5", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.5.tgz", + "integrity": "sha512-MBIOHVZqVqgfro1euRDWX7OO0fBVUUMrN6Pwm8LQsz8cWhEpihlvR70ENj3f40j58TNxZaWv2ndSkInykNBBJw==", "dev": true }, - "node_modules/@tsconfig/node16": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", - "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", + "node_modules/@types/md5": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@types/md5/-/md5-2.3.5.tgz", + "integrity": "sha512-/i42wjYNgE6wf0j2bcTX6kuowmdL/6PE4IVitMpm2eYKBUuYCprdcWVK+xEF0gcV6ufMCRhtxmReGfc6hIK7Jw==", "dev": true }, - "node_modules/@types/aws4": { - "version": "1.11.3", - "resolved": "https://registry.npmjs.org/@types/aws4/-/aws4-1.11.3.tgz", - "integrity": "sha512-Ka2xKf04xZUH0N7wIYpqcNdavgfPQnaJ1T6GieZs1ydo21vao93aCbHyrA6uKXnaTXzvBcMJkgMsBfT9XvypFQ==", + "node_modules/@types/mocha": { + "version": "10.0.6", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.6.tgz", + "integrity": "sha512-dJvrYWxP/UcXm36Qn36fxhUKu8A/xMRXVT2cliFF1Z7UA9liG5Psj3ezNSZw+5puH2czDXRLcXQxf8JbJt0ejg==", + "dev": true + }, + "node_modules/@types/mute-stream": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/@types/mute-stream/-/mute-stream-0.0.4.tgz", + "integrity": "sha512-CPM9nzrCPPJHQNA9keH9CVkVI+WR5kMa+7XEs5jcGQ0VoAGnLv242w8lIVgwAEfmE4oufJRaTc9PNLQl0ioAow==", "dev": true, "dependencies": { "@types/node": "*" } }, - "node_modules/@types/chai": { - "version": "4.3.9", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.9.tgz", - "integrity": "sha512-69TtiDzu0bcmKQv3yg1Zx409/Kd7r0b5F1PfpYJfSHzLGtB53547V4u+9iqKYsTu/O2ai6KTb0TInNpvuQ3qmg==", - "dev": true + "node_modules/@types/node": { + "version": "20.14.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.2.tgz", + "integrity": "sha512-xyu6WAMVwv6AKFLB+e/7ySZVr/0zLCzOa7rSpq6jNwpqOrUbcACDWC+53d4n2QHOnDou0fbIsg8wZu/sxrnI4Q==", + "dev": true, + "dependencies": { + "undici-types": "~5.26.4" + } }, - "node_modules/@types/mocha": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.1.tgz", - "integrity": "sha512-/fvYntiO1GeICvqbQ3doGDIP97vWmvFt83GKguJ6prmQM2iXZfFcq6YE8KteFyRtX2/h5Hf91BYvPodJKFYv5Q==", + "node_modules/@types/pluralize": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/pluralize/-/pluralize-0.0.29.tgz", + "integrity": "sha512-BYOID+l2Aco2nBik+iYS4SZX0Lf20KPILP5RGmM1IgzdwNdTs0eebiFriOPcej1sX9mLnSoiNte5zcFxssgpGA==", "dev": true }, - "node_modules/@types/node": { - "version": "20.4.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.4.1.tgz", - "integrity": "sha512-JIzsAvJeA/5iY6Y/OxZbv1lUcc8dNSE77lb2gnBH+/PJ3lFR1Ccvgwl5JWnHAkNHcRsT0TbpVOsiMKZ1F/yyJg==", - "dev": true + "node_modules/@types/ramda": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/@types/ramda/-/ramda-0.30.0.tgz", + "integrity": "sha512-DQtfqUbSB18iM9NHbQ++kVUDuBWHMr6T2FpW1XTiksYRGjq4WnNPZLt712OEHEBJs7aMyJ68Mf2kGMOP1srVVw==", + "dev": true, + "dependencies": { + "types-ramda": "^0.30.0" + } }, "node_modules/@types/sinon": { "version": "10.0.15", @@ -2536,130 +2811,238 @@ "integrity": "sha512-9GcLXF0/v3t80caGs5p2rRfkB+a8VBGLJZVih6CNFkx8IZ994wiKKLSRs9nuFwk1HevWs/1mnUmkApGrSGsShA==", "dev": true }, - "node_modules/acorn": { - "version": "8.8.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", - "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } + "node_modules/@types/statuses": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@types/statuses/-/statuses-2.0.5.tgz", + "integrity": "sha512-jmIUGWrAiwu3dZpxntxieC+1n/5c3mjrImkmOSQ2NC5uP6cYO4aAZDdSmRcI5C1oiTmqlZGHC+/NmJrKogbP5A==", + "dev": true }, - "node_modules/acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "node_modules/@types/tough-cookie": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz", + "integrity": "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==", "dev": true, - "engines": { - "node": ">=0.4.0" - } + "license": "MIT" }, - "node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dev": true, - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "engines": { - "node": ">=8" - } + "node_modules/@types/uuid": { + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz", + "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==", + "dev": true }, - "node_modules/ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "dev": true, - "engines": { - "node": ">=6" - } + "node_modules/@types/wrap-ansi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/wrap-ansi/-/wrap-ansi-3.0.0.tgz", + "integrity": "sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g==", + "dev": true }, - "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==", + "node_modules/@vitest/coverage-v8": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-2.1.1.tgz", + "integrity": "sha512-md/A7A3c42oTT8JUHSqjP5uKTWJejzUW4jalpvs+rZ27gsURsMU8DEb+8Jf8C6Kj2gwfSHJqobDNBuoqlm0cFw==", "dev": true, - "engines": { - "node": ">=8" + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.3.0", + "@bcoe/v8-coverage": "^0.2.3", + "debug": "^4.3.6", + "istanbul-lib-coverage": "^3.2.2", + "istanbul-lib-report": "^3.0.1", + "istanbul-lib-source-maps": "^5.0.6", + "istanbul-reports": "^3.1.7", + "magic-string": "^0.30.11", + "magicast": "^0.3.4", + "std-env": "^3.7.0", + "test-exclude": "^7.0.1", + "tinyrainbow": "^1.2.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@vitest/browser": "2.1.1", + "vitest": "2.1.1" + }, + "peerDependenciesMeta": { + "@vitest/browser": { + "optional": true + } } }, - "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==", + "node_modules/@vitest/expect": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-2.1.1.tgz", + "integrity": "sha512-YeueunS0HiHiQxk+KEOnq/QMzlUuOzbU1Go+PgAsHvvv3tUkJPm9xWt+6ITNTlzsMXUjmgm5T+U7KBPK2qQV6w==", "dev": true, + "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" + "@vitest/spy": "2.1.1", + "@vitest/utils": "2.1.1", + "chai": "^5.1.1", + "tinyrainbow": "^1.2.0" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://opencollective.com/vitest" } }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "node_modules/@vitest/mocker": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-2.1.1.tgz", + "integrity": "sha512-LNN5VwOEdJqCmJ/2XJBywB11DLlkbY0ooDJW3uRX5cZyYCrc4PI/ePX0iQhE3BiEGiQmK4GE7Q/PqCkkaiPnrA==", "dev": true, + "license": "MIT", "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" + "@vitest/spy": "^2.1.0-beta.1", + "estree-walker": "^3.0.3", + "magic-string": "^0.30.11" }, - "engines": { - "node": ">= 8" + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@vitest/spy": "2.1.1", + "msw": "^2.3.5", + "vite": "^5.0.0" + }, + "peerDependenciesMeta": { + "msw": { + "optional": true + }, + "vite": { + "optional": true + } } }, - "node_modules/append-transform": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz", - "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==", + "node_modules/@vitest/pretty-format": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-2.1.1.tgz", + "integrity": "sha512-SjxPFOtuINDUW8/UkElJYQSFtnWX7tMksSGW0vfjxMneFqxVr8YJ979QpMbDW7g+BIiq88RAGDjf7en6rvLPPQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "tinyrainbow": "^1.2.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/runner": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-2.1.1.tgz", + "integrity": "sha512-uTPuY6PWOYitIkLPidaY5L3t0JJITdGTSwBtwMjKzo5O6RCOEncz9PUN+0pDidX8kTHYjO0EwUIvhlGpnGpxmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/utils": "2.1.1", + "pathe": "^1.1.2" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/snapshot": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-2.1.1.tgz", + "integrity": "sha512-BnSku1WFy7r4mm96ha2FzN99AZJgpZOWrAhtQfoxjUU5YMRpq1zmHRq7a5K9/NjqonebO7iVDla+VvZS8BOWMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/pretty-format": "2.1.1", + "magic-string": "^0.30.11", + "pathe": "^1.1.2" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/spy": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-2.1.1.tgz", + "integrity": "sha512-ZM39BnZ9t/xZ/nF4UwRH5il0Sw93QnZXd9NAZGRpIgj0yvVwPpLd702s/Cx955rGaMlyBQkZJ2Ir7qyY48VZ+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "tinyspy": "^3.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/utils": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-2.1.1.tgz", + "integrity": "sha512-Y6Q9TsI+qJ2CC0ZKj6VBb+T8UPz593N113nnUykqwANqhgf3QkZeHFlusgKLTqrnVHbj/XDKZcDHol+dxVT+rQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/pretty-format": "2.1.1", + "loupe": "^3.1.1", + "tinyrainbow": "^1.2.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "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==", "dev": true, "dependencies": { - "default-require-extensions": "^3.0.0" + "type-fest": "^0.21.3" }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/archy": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==", - "dev": true + "node_modules/ansi-escapes/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==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "node_modules/arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": true + "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==", + "dev": true, + "engines": { + "node": ">=8" + } }, - "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/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/assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", + "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", "dev": true, "engines": { - "node": "*" + "node": ">=12" } }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, "node_modules/aws-sdk-client-mock": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/aws-sdk-client-mock/-/aws-sdk-client-mock-3.0.0.tgz", @@ -2671,176 +3054,146 @@ "tslib": "^2.1.0" } }, - "node_modules/aws4": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", - "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==" - }, - "node_modules/axios": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.4.tgz", - "integrity": "sha512-DukmaFRnY6AzAALSH4J2M3k6PkaC+MfaAGdEERRWcC9q3/TWQwLpHR8ZRLKTdQ3aBDL64EdluRDjJqKw+BPZEw==", - "license": "MIT", + "node_modules/aws-sdk-client-mock/node_modules/@sinonjs/commons": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", + "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", + "dev": true, "dependencies": { - "follow-redirects": "^1.15.6", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" + "type-detect": "4.0.8" } }, - "node_modules/axios-mock-adapter": { - "version": "1.21.5", - "resolved": "https://registry.npmjs.org/axios-mock-adapter/-/axios-mock-adapter-1.21.5.tgz", - "integrity": "sha512-5NI1V/VK+8+JeTF8niqOowuysA4b8mGzdlMN/QnTnoXbYh4HZSNiopsDclN2g/m85+G++IrEtUdZaQ3GnaMsSA==", + "node_modules/aws-sdk-client-mock/node_modules/@sinonjs/fake-timers": { + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz", + "integrity": "sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==", "dev": true, "dependencies": { - "fast-deep-equal": "^3.1.3", - "is-buffer": "^2.0.5" - }, - "peerDependencies": { - "axios": ">= 0.17.0" + "@sinonjs/commons": "^1.7.0" } }, - "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==", - "dev": true - }, - "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==", + "node_modules/aws-sdk-client-mock/node_modules/@sinonjs/fake-timers/node_modules/@sinonjs/commons": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", + "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", "dev": true, - "engines": { - "node": ">=8" + "dependencies": { + "type-detect": "4.0.8" } }, - "node_modules/bowser": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", - "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==", - "license": "MIT" - }, - "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==", + "node_modules/aws-sdk-client-mock/node_modules/@sinonjs/samsam": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-7.0.1.tgz", + "integrity": "sha512-zsAk2Jkiq89mhZovB2LLOdTCxJF4hqqTToGP0ASWlhp4I1hqOjcfmZGafXntCN7MDC6yySH0mFHrYtHceOeLmw==", "dev": true, "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "@sinonjs/commons": "^2.0.0", + "lodash.get": "^4.4.2", + "type-detect": "^4.0.8" } }, - "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "node_modules/aws-sdk-client-mock/node_modules/nise": { + "version": "5.1.9", + "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.9.tgz", + "integrity": "sha512-qOnoujW4SV6e40dYxJOb3uvuoPHtmLzIk4TFo+j0jPJoC+5Z9xja5qH5JZobEPsa8+YYphMrOSwnrshEhG2qww==", "dev": true, "dependencies": { - "fill-range": "^7.1.1" - }, - "engines": { - "node": ">=8" + "@sinonjs/commons": "^3.0.0", + "@sinonjs/fake-timers": "^11.2.2", + "@sinonjs/text-encoding": "^0.7.2", + "just-extend": "^6.2.0", + "path-to-regexp": "^6.2.1" } }, - "node_modules/browser-stdout": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", - "dev": true + "node_modules/aws-sdk-client-mock/node_modules/nise/node_modules/@sinonjs/commons": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", + "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", + "dev": true, + "dependencies": { + "type-detect": "4.0.8" + } }, - "node_modules/browserslist": { - "version": "4.21.9", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.9.tgz", - "integrity": "sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg==", + "node_modules/aws-sdk-client-mock/node_modules/nise/node_modules/@sinonjs/fake-timers": { + "version": "11.2.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-11.2.2.tgz", + "integrity": "sha512-G2piCSxQ7oWOxwGSAyFHfPIsyeJGXYtc6mFbnFA+kRXkiEnTl8c/8jul2S329iFBnDI9HGoeWWAZvuvOkZccgw==", "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], "dependencies": { - "caniuse-lite": "^1.0.30001503", - "electron-to-chromium": "^1.4.431", - "node-releases": "^2.0.12", - "update-browserslist-db": "^1.0.11" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + "@sinonjs/commons": "^3.0.0" } }, - "node_modules/caching-transform": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz", - "integrity": "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==", + "node_modules/aws-sdk-client-mock/node_modules/sinon": { + "version": "14.0.2", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-14.0.2.tgz", + "integrity": "sha512-PDpV0ZI3ZCS3pEqx0vpNp6kzPhHrLx72wA0G+ZLaaJjLIYeE0n8INlgaohKuGy7hP0as5tbUd23QWu5U233t+w==", + "deprecated": "16.1.1", "dev": true, "dependencies": { - "hasha": "^5.0.0", - "make-dir": "^3.0.0", - "package-hash": "^4.0.0", - "write-file-atomic": "^3.0.0" + "@sinonjs/commons": "^2.0.0", + "@sinonjs/fake-timers": "^9.1.2", + "@sinonjs/samsam": "^7.0.1", + "diff": "^5.0.0", + "nise": "^5.1.2", + "supports-color": "^7.2.0" }, - "engines": { - "node": ">=8" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/sinon" } }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "node_modules/aws4": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.13.0.tgz", + "integrity": "sha512-3AungXC4I8kKsS9PuS4JH2nc+0bVY/mjgrephHTIi8fpEeGsTHBUJeosp0Wc1myYMElmD0B3Oc4XL/HVJ4PV2g==" + }, + "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==", "dev": true, - "engines": { - "node": ">=6" + "license": "MIT" + }, + "node_modules/bowser": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", + "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==", + "license": "MIT" + }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" } }, - "node_modules/caniuse-lite": { - "version": "1.0.30001503", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001503.tgz", - "integrity": "sha512-Sf9NiF+wZxPfzv8Z3iS0rXM1Do+iOy2Lxvib38glFX+08TCYYYGR5fRJXk4d77C4AYwhUjgYgMsMudbh2TqCKw==", + "node_modules/cac": { + "version": "6.7.14", + "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", + "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ] + "license": "MIT", + "engines": { + "node": ">=8" + } }, "node_modules/chai": { - "version": "4.3.10", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.10.tgz", - "integrity": "sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/chai/-/chai-5.1.1.tgz", + "integrity": "sha512-pT1ZgP8rPNqUgieVaEY+ryQr6Q4HXNg8Ei9UnLUrjN4IA7dvQC5JB+/kxVcPNDHyBcc/26CXPkbNzq3qwrOEKA==", "dev": true, "dependencies": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.3", - "deep-eql": "^4.1.3", - "get-func-name": "^2.0.2", - "loupe": "^2.3.6", - "pathval": "^1.1.1", - "type-detect": "^4.0.8" + "assertion-error": "^2.0.1", + "check-error": "^2.1.1", + "deep-eql": "^5.0.1", + "loupe": "^3.1.0", + "pathval": "^2.0.0" }, "engines": { - "node": ">=4" + "node": ">=12" } }, "node_modules/chalk": { @@ -2859,63 +3212,43 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/check-error": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", - "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", + "node_modules/charenc": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", + "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==", "dev": true, - "dependencies": { - "get-func-name": "^2.0.2" - }, "engines": { "node": "*" } }, - "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "node_modules/check-error": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz", + "integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], - "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": ">= 16" } }, - "node_modules/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "node_modules/cli-spinners": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", "dev": true, "engines": { "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "node_modules/cli-width": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz", + "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==", "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" + "engines": { + "node": ">= 12" } }, "node_modules/color-convert": { @@ -2936,46 +3269,22 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "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" - }, + "node_modules/cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "dev": true, + "license": "MIT", "engines": { - "node": ">= 0.8" + "node": ">= 0.6" } }, - "node_modules/commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", - "dev": true - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "node_modules/convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "dev": true - }, - "node_modules/create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", - "dev": true - }, "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, + "license": "MIT", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -2985,87 +3294,73 @@ "node": ">= 8" } }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/debug/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==", - "dev": true - }, - "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "node_modules/crypt": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", + "integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": "*" } }, - "node_modules/deep-eql": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", - "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", + "node_modules/date-fns": { + "version": "2.30.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", + "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", "dev": true, "dependencies": { - "type-detect": "^4.0.0" + "@babel/runtime": "^7.21.0" }, "engines": { - "node": ">=6" + "node": ">=0.11" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/date-fns" } }, - "node_modules/default-require-extensions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.1.tgz", - "integrity": "sha512-eXTJmRbm2TIt9MgWTsOH1wEuhew6XGZcMeGKCtLedIg/NCsg1iBePXkceTdK4Fii7pzmN9tGsZhKzZ4h7O/fxw==", + "node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", "dev": true, + "license": "MIT", "dependencies": { - "strip-bom": "^4.0.0" + "ms": "^2.1.3" }, "engines": { - "node": ">=8" + "node": ">=6.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "node_modules/deep-eql": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz", + "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==", + "dev": true, "engines": { - "node": ">=0.4.0" + "node": ">=6" } }, "node_modules/diff": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", - "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz", + "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", "dev": true, "engines": { "node": ">=0.3.1" } }, - "node_modules/electron-to-chromium": { - "version": "1.4.431", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.431.tgz", - "integrity": "sha512-m232JTVmCawA2vG+1azVxhKZ9Sv1Q//xxNv5PkP5rWxGgQE8c3CiZFrh8Xnp+d1NmNxlu3QQrGIfdeW5TtXX5w==", - "dev": true + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true, + "license": "MIT" }, "node_modules/emoji-regex": { "version": "8.0.0", @@ -3073,52 +3368,63 @@ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, - "node_modules/es6-error": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", - "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", - "dev": true - }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "node_modules/esbuild": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, "engines": { - "node": ">=6" + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" } }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "node_modules/escalade": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", "dev": true, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=6" } }, - "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==", + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", "dev": true, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.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==", - "dev": true - }, "node_modules/fast-xml-parser": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.4.1.tgz", @@ -3141,135 +3447,27 @@ "fxparser": "src/cli/cli.js" } }, - "node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", - "dev": true, - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/avajs/find-cache-dir?sponsor=1" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", - "dev": true, - "bin": { - "flat": "cli.js" - } - }, - "node_modules/follow-redirects": { - "version": "1.15.6", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", - "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, "node_modules/foreground-child": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz", - "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", "dev": true, + "license": "ISC", "dependencies": { "cross-spawn": "^7.0.0", - "signal-exit": "^3.0.2" + "signal-exit": "^4.0.1" }, "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" + "node": ">=14" }, - "engines": { - "node": ">= 6" + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/fromentries": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz", - "integrity": "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==", - "dev": true, - "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/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true - }, "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "dev": true, "hasInstallScript": true, "optional": true, @@ -3280,15 +3478,6 @@ "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", @@ -3307,74 +3496,48 @@ "node": "*" } }, - "node_modules/get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "dev": true, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "node_modules/get-tsconfig": { + "version": "4.7.5", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.5.tgz", + "integrity": "sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw==", "dev": true, "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": "*" + "resolve-pkg-maps": "^1.0.0" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" } }, - "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==", + "node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", "dev": true, + "license": "ISC", "dependencies": { - "is-glob": "^4.0.1" + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/glob/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" + "bin": { + "glob": "dist/esm/bin.mjs" }, - "engines": { - "node": "*" + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "node_modules/graphql": { + "version": "16.8.2", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.8.2.tgz", + "integrity": "sha512-cvVIBILwuoSyD54U4cF/UXDh5yAobhNV/tPygI4lZhgOIJQE/WLWC4waBRb4I6bDVYb3OVx3lfHbaQOEoUD5sg==", "dev": true, "engines": { - "node": ">=4" + "node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0" } }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true - }, "node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -3384,30 +3547,11 @@ "node": ">=8" } }, - "node_modules/hasha": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz", - "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==", - "dev": true, - "dependencies": { - "is-stream": "^2.0.0", - "type-fest": "^0.8.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true, - "bin": { - "he": "bin/he" - } + "node_modules/headers-polyfill": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/headers-polyfill/-/headers-polyfill-4.0.3.tgz", + "integrity": "sha512-IScLbePpkvO846sIwOtOTDjutRMWdXdJmXdMvk6gCBHxFO8d+QKOQedyZSxFTTFYRSmlgSTDtXqqq4pcenBXLQ==", + "dev": true }, "node_modules/html-escaper": { "version": "2.0.2", @@ -3415,1419 +3559,1094 @@ "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "dev": true }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "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==", "dev": true, "engines": { - "node": ">=0.8.19" + "node": ">=8" } }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "node_modules/is-node-process": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-node-process/-/is-node-process-1.2.0.tgz", + "integrity": "sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw==", + "dev": true, + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", "dev": true, "engines": { "node": ">=8" } }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", "dev": true, "dependencies": { - "once": "^1.3.0", - "wrappy": "1" + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" } }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "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==", + "node_modules/istanbul-lib-report/node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", "dev": true, "dependencies": { - "binary-extensions": "^2.0.0" + "semver": "^7.5.3" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", + "node_modules/istanbul-lib-report/node_modules/semver": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], + "bin": { + "semver": "bin/semver.js" + }, "engines": { - "node": ">=4" + "node": ">=10" } }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "node_modules/istanbul-lib-source-maps": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-5.0.6.tgz", + "integrity": "sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==", "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.23", + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "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==", + "node_modules/istanbul-reports": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", + "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", "dev": true, + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, "engines": { "node": ">=8" } }, - "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==", + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", "dev": true, + "license": "BlueOak-1.0.0", "dependencies": { - "is-extglob": "^2.1.1" + "@isaacs/cliui": "^8.0.2" }, - "engines": { - "node": ">=0.10.0" + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" } }, - "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==", + "node_modules/just-extend": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-6.2.0.tgz", + "integrity": "sha512-cYofQu2Xpom82S6qD778jBDpwvvy39s1l/hrYij2u9AMdQcGRpaBu6kY4mVhuno5kJVi1DAz4aiphA2WI1/OAw==", + "dev": true + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", + "dev": true + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + }, + "node_modules/loupe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.1.tgz", + "integrity": "sha512-edNu/8D5MKVfGVFRhFf8aAxiTM6Wumfz5XsaatSxlD3w4R1d/WEKUTydCdPGbl9K7QG/Ca3GnDV2sIKIpXRQcw==", "dev": true, - "engines": { - "node": ">=0.12.0" + "dependencies": { + "get-func-name": "^2.0.1" } }, - "node_modules/is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", "dev": true, - "engines": { - "node": ">=8" - } + "license": "ISC" }, - "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "node_modules/magic-string": { + "version": "0.30.11", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz", + "integrity": "sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==", "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" } }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", - "dev": true - }, - "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==", + "node_modules/magicast": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.3.4.tgz", + "integrity": "sha512-TyDF/Pn36bBji9rWKHlZe+PZb6Mx5V8IHCSxk7X4aljM4e/vyDvZZYwHewdVaqiA0nb3ghfHU/6AUpDxWoER2Q==", "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "dependencies": { + "@babel/parser": "^7.24.4", + "@babel/types": "^7.24.0", + "source-map-js": "^1.2.0" } }, - "node_modules/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==", + "node_modules/md5": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz", + "integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==", "dev": true, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "charenc": "0.0.2", + "crypt": "0.0.2", + "is-buffer": "~1.1.6" } }, - "node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", - "dev": true - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "node_modules/md5/node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", "dev": true }, - "node_modules/istanbul-lib-coverage": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-hook": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz", - "integrity": "sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==", + "node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, + "license": "ISC", "dependencies": { - "append-transform": "^2.0.0" + "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=8" + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/istanbul-lib-instrument": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", - "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", "dev": true, - "dependencies": { - "@babel/core": "^7.7.5", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.0.0", - "semver": "^6.3.0" - }, + "license": "ISC", "engines": { - "node": ">=8" + "node": ">=16 || 14 >=14.17" } }, - "node_modules/istanbul-lib-processinfo": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.3.tgz", - "integrity": "sha512-NkwHbo3E00oybX6NGJi6ar0B29vxyvNwoC7eJ4G4Yq28UfY758Hgn/heV8VRFhevPED4LXfFz0DQ8z/0kw9zMg==", + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/msw": { + "version": "2.4.9", + "resolved": "https://registry.npmjs.org/msw/-/msw-2.4.9.tgz", + "integrity": "sha512-1m8xccT6ipN4PTqLinPwmzhxQREuxaEJYdx4nIbggxP8aM7r1e71vE7RtOUSQoAm1LydjGfZKy7370XD/tsuYg==", "dev": true, + "hasInstallScript": true, + "license": "MIT", "dependencies": { - "archy": "^1.0.0", - "cross-spawn": "^7.0.3", - "istanbul-lib-coverage": "^3.2.0", - "p-map": "^3.0.0", - "rimraf": "^3.0.0", - "uuid": "^8.3.2" + "@bundled-es-modules/cookie": "^2.0.0", + "@bundled-es-modules/statuses": "^1.0.1", + "@bundled-es-modules/tough-cookie": "^0.1.6", + "@inquirer/confirm": "^3.0.0", + "@mswjs/interceptors": "^0.35.8", + "@open-draft/until": "^2.1.0", + "@types/cookie": "^0.6.0", + "@types/statuses": "^2.0.4", + "chalk": "^4.1.2", + "graphql": "^16.8.1", + "headers-polyfill": "^4.0.2", + "is-node-process": "^1.2.0", + "outvariant": "^1.4.2", + "path-to-regexp": "^6.3.0", + "strict-event-emitter": "^0.5.1", + "type-fest": "^4.9.0", + "yargs": "^17.7.2" + }, + "bin": { + "msw": "cli/index.js" }, "engines": { - "node": ">=8" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/mswjs" + }, + "peerDependencies": { + "typescript": ">= 4.8.x" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "node_modules/msw/node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dev": true, "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" }, "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "node_modules/msw/node_modules/type-fest": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.20.0.tgz", + "integrity": "sha512-MBh+PHUHHisjXf4tlx0CFWoMdjx8zCMLJHOjnV1prABYZFHqtFOyauCIK2/7w4oIfwkF8iNhLtnJEfVY2vn3iw==", "dev": true, - "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, "engines": { - "node": ">=10" + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/istanbul-reports": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", - "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", + "node_modules/msw/node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" }, "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "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==", + "node_modules/msw/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "engines": { + "node": ">=12" } }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "node_modules/mute-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-1.0.0.tgz", + "integrity": "sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==", "dev": true, - "bin": { - "jsesc": "bin/jsesc" - }, "engines": { - "node": ">=4" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", "bin": { - "json5": "lib/cli.js" + "nanoid": "bin/nanoid.cjs" }, "engines": { - "node": ">=6" + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "node_modules/just-extend": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.2.1.tgz", - "integrity": "sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg==", - "dev": true - }, - "node_modules/locate-path": { + "node_modules/nise": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "resolved": "https://registry.npmjs.org/nise/-/nise-6.0.0.tgz", + "integrity": "sha512-K8ePqo9BFvN31HXwEtTNGzgrPpmvgciDsFz8aztFjt4LqKO/JeFD8tBOeuDiCMXrIl/m1YvfH8auSpxfaD09wg==", "dev": true, "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "@sinonjs/commons": "^3.0.0", + "@sinonjs/fake-timers": "^11.2.2", + "@sinonjs/text-encoding": "^0.7.2", + "just-extend": "^6.2.0", + "path-to-regexp": "^6.2.1" } }, - "node_modules/lodash.flattendeep": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", - "integrity": "sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ==", - "dev": true + "node_modules/outvariant": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/outvariant/-/outvariant-1.4.3.tgz", + "integrity": "sha512-+Sl2UErvtsoajRDKCE5/dBz4DIvHXQQnAxtQTF04OJxY0+DyZXSo5P5Bb7XYWOh81syohlYL24hbDwxedPUJCA==", + "dev": true, + "license": "MIT" }, - "node_modules/lodash.get": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", - "dev": true + "node_modules/package-json-from-dist": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", + "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==", + "dev": true, + "license": "BlueOak-1.0.0" }, - "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==", + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", "dev": true, + "license": "BlueOak-1.0.0", "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" }, "engines": { - "node": ">=10" + "node": ">=16 || 14 >=14.18" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/loupe": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz", - "integrity": "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==", + "node_modules/path-to-regexp": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.3.0.tgz", + "integrity": "sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==", "dev": true, - "dependencies": { - "get-func-name": "^2.0.0" - } + "license": "MIT" }, - "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "node_modules/pathe": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", + "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", "dev": true, - "dependencies": { - "yallist": "^3.0.2" - } + "license": "MIT" }, - "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==", + "node_modules/pathval": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.0.tgz", + "integrity": "sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==", "dev": true, - "dependencies": { - "semver": "^6.0.0" - }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 14.16" } }, - "node_modules/make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true + "node_modules/picocolors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", + "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==", + "dev": true, + "license": "ISC" }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "node_modules/pluralize": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", + "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", + "dev": true, "engines": { - "node": ">= 0.6" + "node": ">=4" } }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "node_modules/postcss": { + "version": "8.4.47", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", + "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", "dependencies": { - "mime-db": "1.52.0" + "nanoid": "^3.3.7", + "picocolors": "^1.1.0", + "source-map-js": "^1.2.1" }, "engines": { - "node": ">= 0.6" + "node": "^10 || ^12 || >=14" } }, - "node_modules/minimatch": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", - "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", + "node_modules/psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, + "license": "MIT" + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "license": "MIT", "engines": { - "node": ">=10" + "node": ">=6" } }, - "node_modules/minimatch/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } + "license": "MIT" }, - "node_modules/mocha": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz", - "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==", - "dev": true, - "dependencies": { - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", - "chokidar": "3.5.3", - "debug": "4.3.4", - "diff": "5.0.0", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "7.2.0", - "he": "1.2.0", - "js-yaml": "4.1.0", - "log-symbols": "4.1.0", - "minimatch": "5.0.1", - "ms": "2.1.3", - "nanoid": "3.3.3", - "serialize-javascript": "6.0.0", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "workerpool": "6.2.1", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", - "yargs-unparser": "2.0.0" - }, - "bin": { - "_mocha": "bin/_mocha", - "mocha": "bin/mocha.js" - }, - "engines": { - "node": ">= 14.0.0" - }, + "node_modules/ramda": { + "version": "0.30.1", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.30.1.tgz", + "integrity": "sha512-tEF5I22zJnuclswcZMc8bDIrwRHRzf+NqVEmqg50ShAZMP7MWeR/RGDthfM/p+BlqvF2fXAzpn8i+SJcYD3alw==", "funding": { "type": "opencollective", - "url": "https://opencollective.com/mochajs" + "url": "https://opencollective.com/ramda" } }, - "node_modules/mocha/node_modules/diff": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", - "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", - "dev": true, - "engines": { - "node": ">=0.3.1" - } + "node_modules/regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", + "dev": true }, - "node_modules/mocha/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==", + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "node": ">=0.10.0" } }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true, + "license": "MIT" }, - "node_modules/nanoid": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", - "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", + "node_modules/resolve-pkg-maps": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", "dev": true, - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + "funding": { + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" } }, - "node_modules/nise": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.4.tgz", - "integrity": "sha512-8+Ib8rRJ4L0o3kfmyVCL7gzrohyDe0cMFTBa2d364yIrEGMEoetznKJx899YxjybU6bL9SQkYPSBBs1gyYs8Xg==", + "node_modules/rollup": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.22.4.tgz", + "integrity": "sha512-vD8HJ5raRcWOyymsR6Z3o6+RzfEPCnVLMFJ6vRslO1jt4LO6dUo5Qnpg7y4RkZFM2DMe3WUirkI5c16onjrc6A==", "dev": true, + "license": "MIT", "dependencies": { - "@sinonjs/commons": "^2.0.0", - "@sinonjs/fake-timers": "^10.0.2", - "@sinonjs/text-encoding": "^0.7.1", - "just-extend": "^4.0.2", - "path-to-regexp": "^1.7.0" + "@types/estree": "1.0.5" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.22.4", + "@rollup/rollup-android-arm64": "4.22.4", + "@rollup/rollup-darwin-arm64": "4.22.4", + "@rollup/rollup-darwin-x64": "4.22.4", + "@rollup/rollup-linux-arm-gnueabihf": "4.22.4", + "@rollup/rollup-linux-arm-musleabihf": "4.22.4", + "@rollup/rollup-linux-arm64-gnu": "4.22.4", + "@rollup/rollup-linux-arm64-musl": "4.22.4", + "@rollup/rollup-linux-powerpc64le-gnu": "4.22.4", + "@rollup/rollup-linux-riscv64-gnu": "4.22.4", + "@rollup/rollup-linux-s390x-gnu": "4.22.4", + "@rollup/rollup-linux-x64-gnu": "4.22.4", + "@rollup/rollup-linux-x64-musl": "4.22.4", + "@rollup/rollup-win32-arm64-msvc": "4.22.4", + "@rollup/rollup-win32-ia32-msvc": "4.22.4", + "@rollup/rollup-win32-x64-msvc": "4.22.4", + "fsevents": "~2.3.2" } }, - "node_modules/nise/node_modules/@sinonjs/fake-timers": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.1.0.tgz", - "integrity": "sha512-w1qd368vtrwttm1PRJWPW1QHlbmHrVDGs1eBH/jZvRPUFS4MNXV9Q33EQdjOdeAxZ7O8+3wM7zxztm2nfUSyKw==", + "node_modules/rollup/node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", "dev": true, - "dependencies": { - "@sinonjs/commons": "^3.0.0" - } + "license": "MIT" }, - "node_modules/nise/node_modules/@sinonjs/fake-timers/node_modules/@sinonjs/commons": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", - "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, + "license": "MIT", "dependencies": { - "type-detect": "4.0.8" + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/node-preload": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz", - "integrity": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==", + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, - "dependencies": { - "process-on-spawn": "^1.0.0" - }, + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/node-releases": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.12.tgz", - "integrity": "sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==", - "dev": true + "node_modules/siginfo": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", + "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", + "dev": true, + "license": "ISC" }, - "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==", + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true, + "license": "ISC", "engines": { - "node": ">=0.10.0" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/nyc": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz", - "integrity": "sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==", + "node_modules/sinon": { + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-18.0.0.tgz", + "integrity": "sha512-+dXDXzD1sBO6HlmZDd7mXZCR/y5ECiEiGCBSGuFD/kZ0bDTofPYc6JaeGmPSF+1j1MejGUWkORbYOLDyvqCWpA==", "dev": true, "dependencies": { - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "caching-transform": "^4.0.0", - "convert-source-map": "^1.7.0", - "decamelize": "^1.2.0", - "find-cache-dir": "^3.2.0", - "find-up": "^4.1.0", - "foreground-child": "^2.0.0", - "get-package-type": "^0.1.0", - "glob": "^7.1.6", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-hook": "^3.0.0", - "istanbul-lib-instrument": "^4.0.0", - "istanbul-lib-processinfo": "^2.0.2", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.0.2", - "make-dir": "^3.0.0", - "node-preload": "^0.2.1", - "p-map": "^3.0.0", - "process-on-spawn": "^1.0.0", - "resolve-from": "^5.0.0", - "rimraf": "^3.0.0", - "signal-exit": "^3.0.2", - "spawn-wrap": "^2.0.0", - "test-exclude": "^6.0.0", - "yargs": "^15.0.2" - }, - "bin": { - "nyc": "bin/nyc.js" + "@sinonjs/commons": "^3.0.1", + "@sinonjs/fake-timers": "^11.2.2", + "@sinonjs/samsam": "^8.0.0", + "diff": "^5.2.0", + "nise": "^6.0.0", + "supports-color": "^7" }, - "engines": { - "node": ">=8.9" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/sinon" } }, - "node_modules/nyc-report-lcov-absolute": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/nyc-report-lcov-absolute/-/nyc-report-lcov-absolute-1.0.0.tgz", - "integrity": "sha512-sDq0XM0on9casPNySxGD/WSy17m95+e8xEhObNHoxVRsTIZZt8akop4WWisnjzEWRARGW91Ip6oRhIWmy4qcPw==", + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", "dev": true, - "peerDependencies": { - "istanbul-reports": "^3.0.0" + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/nyc/node_modules/cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "node_modules/stackback": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", + "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } + "license": "MIT" }, - "node_modules/nyc/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, "engines": { - "node": ">=8" + "node": ">= 0.8" } }, - "node_modules/nyc/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "node_modules/std-env": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz", + "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==", + "dev": true + }, + "node_modules/strict-event-emitter": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/strict-event-emitter/-/strict-event-emitter-0.5.1.tgz", + "integrity": "sha512-vMgjE/GGEPEFnhFub6pa4FmJBRBVOLpIII2hvCZ8Kzb7K0hlHo7mQv6xYrBvCL2LtAIBwFUK8wvuJgTVSQ5MFQ==", + "dev": true + }, + "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==", "dev": true, "dependencies": { - "p-locate": "^4.1.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { "node": ">=8" } }, - "node_modules/nyc/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "node_modules/string-width-cjs": { + "name": "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==", "dev": true, + "license": "MIT", "dependencies": { - "p-try": "^2.0.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/nyc/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "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==", "dev": true, "dependencies": { - "p-limit": "^2.2.0" + "ansi-regex": "^5.0.1" }, "engines": { "node": ">=8" } }, - "node_modules/nyc/node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, + "license": "MIT", "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "ansi-regex": "^5.0.1" }, "engines": { "node": ">=8" } }, - "node_modules/nyc/node_modules/y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "dev": true + "node_modules/strnum": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", + "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==", + "license": "MIT" }, - "node_modules/nyc/node_modules/yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "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": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" + "has-flag": "^4.0.0" }, "engines": { "node": ">=8" } }, - "node_modules/nyc/node_modules/yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "node_modules/test-exclude": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-7.0.1.tgz", + "integrity": "sha512-pFYqmTw68LXVjeWJMST4+borgQP2AyMNbg1BpZh9LbyhUeNkeaPF9gzfPGUAnSMV3qPYdWUwDIjjCLiSDOl7vg==", "dev": true, + "license": "ISC", "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" + "@istanbuljs/schema": "^0.1.2", + "glob": "^10.4.1", + "minimatch": "^9.0.4" }, "engines": { - "node": ">=6" + "node": ">=18" } }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "node_modules/tinybench": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", + "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", "dev": true, - "dependencies": { - "wrappy": "1" - } + "license": "MIT" }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "node_modules/tinyexec": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.0.tgz", + "integrity": "sha512-tVGE0mVJPGb0chKhqmsoosjsS+qUnJVGJpZgsHYQcGoPlG3B51R3PouqTgEGH2Dc9jjFyOqOpix6ZHNMXp1FZg==", "dev": true, - "dependencies": { - "yocto-queue": "^0.1.0" - }, + "license": "MIT" + }, + "node_modules/tinypool": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.0.1.tgz", + "integrity": "sha512-URZYihUbRPcGv95En+sz6MfghfIc2OJ1sv/RmhWZLouPY0/8Vo80viwPvg3dlaS9fuq7fQMEfgRRK7BBZThBEA==", + "dev": true, + "license": "MIT", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^18.0.0 || >=20.0.0" } }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "node_modules/tinyrainbow": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-1.2.0.tgz", + "integrity": "sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==", "dev": true, - "dependencies": { - "p-limit": "^3.0.2" - }, + "license": "MIT", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=14.0.0" } }, - "node_modules/p-map": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", - "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", + "node_modules/tinyspy": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-3.0.2.tgz", + "integrity": "sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==", "dev": true, - "dependencies": { - "aggregate-error": "^3.0.0" - }, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=14.0.0" } }, - "node_modules/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==", + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", "dev": true, "engines": { - "node": ">=6" + "node": ">=4" } }, - "node_modules/package-hash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz", - "integrity": "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==", + "node_modules/tough-cookie": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", + "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "graceful-fs": "^4.1.15", - "hasha": "^5.0.0", - "lodash.flattendeep": "^4.4.0", - "release-zalgo": "^1.0.0" + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" }, "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } + "node_modules/ts-toolbelt": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/ts-toolbelt/-/ts-toolbelt-9.6.0.tgz", + "integrity": "sha512-nsZd8ZeNUzukXPlJmTBwUAuABDe/9qtVDelJeT/qW0ow3ZS3BsQJtNkan1802aM9Uf68/Y8ljw86Hu0h5IUW3w==", + "dev": true }, - "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": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "node_modules/tslib": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==" + }, + "node_modules/tsx": { + "version": "4.15.6", + "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.15.6.tgz", + "integrity": "sha512-is0VQQlfNZRHEuSSTKA6m4xw74IU4AizmuB6lAYLRt9XtuyeQnyJYexhNZOPCB59SqC4JzmSzPnHGBXxf3k0hA==", "dev": true, + "dependencies": { + "esbuild": "~0.21.4", + "get-tsconfig": "^4.7.5" + }, + "bin": { + "tsx": "dist/cli.mjs" + }, "engines": { - "node": ">=0.10.0" + "node": ">=18.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" } }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", "dev": true, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/path-to-regexp": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.9.0.tgz", - "integrity": "sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==", + "node_modules/types-ramda": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/types-ramda/-/types-ramda-0.30.0.tgz", + "integrity": "sha512-oVPw/KHB5M0Du0txTEKKM8xZOG9cZBRdCVXvwHYuNJUVkAiJ9oWyqkA+9Bj2gjMsHgkkhsYevobQBWs8I2/Xvw==", "dev": true, - "license": "MIT", "dependencies": { - "isarray": "0.0.1" + "ts-toolbelt": "^9.6.0" } }, - "node_modules/pathval": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", - "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "node_modules/typescript": { + "version": "5.4.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", + "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, "engines": { - "node": "*" + "node": ">=14.17" } }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", "dev": true }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "node_modules/universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", "dev": true, + "license": "MIT", "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "node": ">= 4.0.0" } }, - "node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "node_modules/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", "dev": true, + "license": "MIT", "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" } }, - "node_modules/pkg-dir/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "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, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" + "bin": { + "uuid": "dist/bin/uuid" } }, - "node_modules/pkg-dir/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-dir/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/process-on-spawn": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz", - "integrity": "sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==", - "dev": true, - "dependencies": { - "fromentries": "^1.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/release-zalgo": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz", - "integrity": "sha512-gUAyHVHPPC5wdqX/LG4LWtRYtgjxyX78oanFNTMMyFEfOqdC54s3eE82imuWKbOeqYht2CrNf64Qb8vgmmtZGA==", - "dev": true, - "dependencies": { - "es6-error": "^4.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, - "node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "node_modules/vite": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.6.tgz", + "integrity": "sha512-IeL5f8OO5nylsgzd9tq4qD2QqI0k2CQLGrWD0rCN0EQJZpBK5vJAx0I+GDkMOXxQX/OfFHMuLIx6ddAxGX/k+Q==", "dev": true, + "license": "MIT", "dependencies": { - "glob": "^7.1.3" + "esbuild": "^0.21.3", + "postcss": "^8.4.43", + "rollup": "^4.20.0" }, "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "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==", - "dev": true, - "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/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", - "dev": true, - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", - "dev": true - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, - "node_modules/sinon": { - "version": "14.0.2", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-14.0.2.tgz", - "integrity": "sha512-PDpV0ZI3ZCS3pEqx0vpNp6kzPhHrLx72wA0G+ZLaaJjLIYeE0n8INlgaohKuGy7hP0as5tbUd23QWu5U233t+w==", - "dev": true, - "dependencies": { - "@sinonjs/commons": "^2.0.0", - "@sinonjs/fake-timers": "^9.1.2", - "@sinonjs/samsam": "^7.0.1", - "diff": "^5.0.0", - "nise": "^5.1.2", - "supports-color": "^7.2.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/sinon" - } - }, - "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, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/spawn-wrap": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz", - "integrity": "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==", - "dev": true, - "dependencies": { - "foreground-child": "^2.0.0", - "is-windows": "^1.0.2", - "make-dir": "^3.0.0", - "rimraf": "^3.0.0", - "signal-exit": "^3.0.2", - "which": "^2.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true - }, - "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==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "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==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" + "vite": "bin/vite.js" }, "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "engines": { - "node": ">=8" + "node": "^18.0.0 || >=20.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/strnum": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", - "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==", - "license": "MIT" - }, - "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" + "url": "https://github.com/vitejs/vite?sponsor=1" }, - "engines": { - "node": ">=8" - } - }, - "node_modules/test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "dev": true, - "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/test-exclude/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "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==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/ts-node": { - "version": "10.9.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", - "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", - "dev": true, - "dependencies": { - "@cspotcode/source-map-support": "^0.8.0", - "@tsconfig/node10": "^1.0.7", - "@tsconfig/node12": "^1.0.7", - "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.2", - "acorn": "^8.4.1", - "acorn-walk": "^8.1.1", - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.1", - "yn": "3.1.1" - }, - "bin": { - "ts-node": "dist/bin.js", - "ts-node-cwd": "dist/bin-cwd.js", - "ts-node-esm": "dist/bin-esm.js", - "ts-node-script": "dist/bin-script.js", - "ts-node-transpile-only": "dist/bin-transpile.js", - "ts-script": "dist/bin-script-deprecated.js" + "optionalDependencies": { + "fsevents": "~2.3.3" }, "peerDependencies": { - "@swc/core": ">=1.2.50", - "@swc/wasm": ">=1.2.50", - "@types/node": "*", - "typescript": ">=2.7" + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" }, "peerDependenciesMeta": { - "@swc/core": { + "@types/node": { "optional": true }, - "@swc/wasm": { + "less": { "optional": true - } - } - }, - "node_modules/ts-node/node_modules/diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true, - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/tslib": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", - "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", - "license": "0BSD" - }, - "node_modules/type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "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==", - "dev": true, - "dependencies": { - "is-typedarray": "^1.0.0" - } - }, - "node_modules/typescript": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.3.tgz", - "integrity": "sha512-XH627E9vkeqhlZFQuL+UsyAXEnibT0kWR2FWONlr4sTjvxyJYnyefgrkyECLzM5NenmKzRAy2rR/OlYLA1HkZw==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", - "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" + "lightningcss": { + "optional": true }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true } - ], + } + }, + "node_modules/vite-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-2.1.1.tgz", + "integrity": "sha512-N/mGckI1suG/5wQI35XeR9rsMsPqKXzq1CdUndzVstBj/HvyxxGctwnK6WX43NGt5L3Z5tcRf83g4TITKJhPrA==", + "dev": true, + "license": "MIT", "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" + "cac": "^6.7.14", + "debug": "^4.3.6", + "pathe": "^1.1.2", + "vite": "^5.0.0" }, "bin": { - "update-browserslist-db": "cli.js" + "vite-node": "vite-node.mjs" }, - "peerDependencies": { - "browserslist": ">= 4.21.0" + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" } }, - "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==", + "node_modules/vitest": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-2.1.1.tgz", + "integrity": "sha512-97We7/VC0e9X5zBVkvt7SGQMGrRtn3KtySFQG5fpaMlS+l62eeXRQO633AYhSTC3z7IMebnPPNjGXVGNRFlxBA==", "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/expect": "2.1.1", + "@vitest/mocker": "2.1.1", + "@vitest/pretty-format": "^2.1.1", + "@vitest/runner": "2.1.1", + "@vitest/snapshot": "2.1.1", + "@vitest/spy": "2.1.1", + "@vitest/utils": "2.1.1", + "chai": "^5.1.1", + "debug": "^4.3.6", + "magic-string": "^0.30.11", + "pathe": "^1.1.2", + "std-env": "^3.7.0", + "tinybench": "^2.9.0", + "tinyexec": "^0.3.0", + "tinypool": "^1.0.0", + "tinyrainbow": "^1.2.0", + "vite": "^5.0.0", + "vite-node": "2.1.1", + "why-is-node-running": "^2.3.0" + }, "bin": { - "uuid": "dist/bin/uuid" + "vitest": "vitest.mjs" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@edge-runtime/vm": "*", + "@types/node": "^18.0.0 || >=20.0.0", + "@vitest/browser": "2.1.1", + "@vitest/ui": "2.1.1", + "happy-dom": "*", + "jsdom": "*" + }, + "peerDependenciesMeta": { + "@edge-runtime/vm": { + "optional": true + }, + "@types/node": { + "optional": true + }, + "@vitest/browser": { + "optional": true + }, + "@vitest/ui": { + "optional": true + }, + "happy-dom": { + "optional": true + }, + "jsdom": { + "optional": true + } } }, - "node_modules/v8-compile-cache-lib": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", - "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", - "dev": true - }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, + "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -4838,17 +4657,22 @@ "node": ">= 8" } }, - "node_modules/which-module": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", - "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", - "dev": true - }, - "node_modules/workerpool": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", - "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==", - "dev": true + "node_modules/why-is-node-running": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", + "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", + "dev": true, + "license": "MIT", + "dependencies": { + "siginfo": "^2.0.0", + "stackback": "0.0.2" + }, + "bin": { + "why-is-node-running": "cli.js" + }, + "engines": { + "node": ">=8" + } }, "node_modules/wrap-ansi": { "version": "7.0.0", @@ -4867,136 +4691,52 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true - }, - "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/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - }, - "node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs-unparser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", - "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", + "node_modules/wrap-ansi-cjs": { + "name": "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==", "dev": true, + "license": "MIT", "dependencies": { - "camelcase": "^6.0.0", - "decamelize": "^4.0.0", - "flat": "^5.0.2", - "is-plain-obj": "^2.1.0" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs-unparser/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/yargs-unparser/node_modules/decamelize": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", - "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true, "engines": { "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "dev": true, - "engines": { - "node": ">=6" } }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "engines": { - "node": ">=10" - }, + "node_modules/zod": { + "version": "3.23.8", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.23.8.tgz", + "integrity": "sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==", "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/colinhacks" } } }, "dependencies": { "@ampproject/remapping": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", - "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", "dev": true, "requires": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" } }, "@aws-crypto/crc32": { @@ -5158,52 +4898,18 @@ } } }, - "@aws-sdk/client-cognito-identity": { - "version": "3.621.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.621.0.tgz", - "integrity": "sha512-FpXia5qFf6ijcNDWenVq+mP9r1LbiW/+52i9wrv2+Afi6Nn1ROf8W7St8WvE9TEZ3t78y+vis4CwqfGts+uiKA==", + "@aws-lambda-powertools/commons": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@aws-lambda-powertools/commons/-/commons-2.2.0.tgz", + "integrity": "sha512-ZBJ+1ccaP6u9fYrGVWOJYLcseUPZr66/JmL3Z8TcirFTvpb74+Fasn6fdJyh+GgbDDlxsmv62SDum09rKOMBfg==" + }, + "@aws-lambda-powertools/logger": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@aws-lambda-powertools/logger/-/logger-2.2.0.tgz", + "integrity": "sha512-/qD15Q67ztTRJKKKmYProSIEnMRMByw/jH80ZTrOIYf0K0hCujl3cUfN2yDLBkRyoDfiIz22LfRoVYKJfYjc7Q==", "requires": { - "@aws-crypto/sha256-browser": "5.2.0", - "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/client-sso-oidc": "3.621.0", - "@aws-sdk/client-sts": "3.621.0", - "@aws-sdk/core": "3.621.0", - "@aws-sdk/credential-provider-node": "3.621.0", - "@aws-sdk/middleware-host-header": "3.620.0", - "@aws-sdk/middleware-logger": "3.609.0", - "@aws-sdk/middleware-recursion-detection": "3.620.0", - "@aws-sdk/middleware-user-agent": "3.620.0", - "@aws-sdk/region-config-resolver": "3.614.0", - "@aws-sdk/types": "3.609.0", - "@aws-sdk/util-endpoints": "3.614.0", - "@aws-sdk/util-user-agent-browser": "3.609.0", - "@aws-sdk/util-user-agent-node": "3.614.0", - "@smithy/config-resolver": "^3.0.5", - "@smithy/core": "^2.3.1", - "@smithy/fetch-http-handler": "^3.2.4", - "@smithy/hash-node": "^3.0.3", - "@smithy/invalid-dependency": "^3.0.3", - "@smithy/middleware-content-length": "^3.0.5", - "@smithy/middleware-endpoint": "^3.1.0", - "@smithy/middleware-retry": "^3.0.13", - "@smithy/middleware-serde": "^3.0.3", - "@smithy/middleware-stack": "^3.0.3", - "@smithy/node-config-provider": "^3.1.4", - "@smithy/node-http-handler": "^3.1.4", - "@smithy/protocol-http": "^4.1.0", - "@smithy/smithy-client": "^3.1.11", - "@smithy/types": "^3.3.0", - "@smithy/url-parser": "^3.0.3", - "@smithy/util-base64": "^3.0.0", - "@smithy/util-body-length-browser": "^3.0.0", - "@smithy/util-body-length-node": "^3.0.0", - "@smithy/util-defaults-mode-browser": "^3.0.13", - "@smithy/util-defaults-mode-node": "^3.0.13", - "@smithy/util-endpoints": "^2.0.5", - "@smithy/util-middleware": "^3.0.3", - "@smithy/util-retry": "^3.0.3", - "@smithy/util-utf8": "^3.0.0", - "tslib": "^2.6.2" + "@aws-lambda-powertools/commons": "^2.2.0", + "lodash.merge": "^4.6.2" } }, "@aws-sdk/client-s3": { @@ -5271,63 +4977,6 @@ "tslib": "^2.6.2" } }, - "@aws-sdk/client-ssm": { - "version": "3.621.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-ssm/-/client-ssm-3.621.0.tgz", - "integrity": "sha512-E4OM7HH9qU2TZGDrX2MlBlBr9gVgDm573Qa1CTFih58dUZyaPEOiZSYLUNOyw4nMyVLyDMR/5zQ4wAorNwKVPw==", - "requires": { - "@aws-crypto/sha256-browser": "5.2.0", - "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/client-sso-oidc": "3.621.0", - "@aws-sdk/client-sts": "3.621.0", - "@aws-sdk/core": "3.621.0", - "@aws-sdk/credential-provider-node": "3.621.0", - "@aws-sdk/middleware-host-header": "3.620.0", - "@aws-sdk/middleware-logger": "3.609.0", - "@aws-sdk/middleware-recursion-detection": "3.620.0", - "@aws-sdk/middleware-user-agent": "3.620.0", - "@aws-sdk/region-config-resolver": "3.614.0", - "@aws-sdk/types": "3.609.0", - "@aws-sdk/util-endpoints": "3.614.0", - "@aws-sdk/util-user-agent-browser": "3.609.0", - "@aws-sdk/util-user-agent-node": "3.614.0", - "@smithy/config-resolver": "^3.0.5", - "@smithy/core": "^2.3.1", - "@smithy/fetch-http-handler": "^3.2.4", - "@smithy/hash-node": "^3.0.3", - "@smithy/invalid-dependency": "^3.0.3", - "@smithy/middleware-content-length": "^3.0.5", - "@smithy/middleware-endpoint": "^3.1.0", - "@smithy/middleware-retry": "^3.0.13", - "@smithy/middleware-serde": "^3.0.3", - "@smithy/middleware-stack": "^3.0.3", - "@smithy/node-config-provider": "^3.1.4", - "@smithy/node-http-handler": "^3.1.4", - "@smithy/protocol-http": "^4.1.0", - "@smithy/smithy-client": "^3.1.11", - "@smithy/types": "^3.3.0", - "@smithy/url-parser": "^3.0.3", - "@smithy/util-base64": "^3.0.0", - "@smithy/util-body-length-browser": "^3.0.0", - "@smithy/util-body-length-node": "^3.0.0", - "@smithy/util-defaults-mode-browser": "^3.0.13", - "@smithy/util-defaults-mode-node": "^3.0.13", - "@smithy/util-endpoints": "^2.0.5", - "@smithy/util-middleware": "^3.0.3", - "@smithy/util-retry": "^3.0.3", - "@smithy/util-utf8": "^3.0.0", - "@smithy/util-waiter": "^3.1.2", - "tslib": "^2.6.2", - "uuid": "^9.0.1" - }, - "dependencies": { - "uuid": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", - "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==" - } - } - }, "@aws-sdk/client-sso": { "version": "3.621.0", "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.621.0.tgz", @@ -5482,18 +5131,6 @@ "tslib": "^2.6.2" } }, - "@aws-sdk/credential-provider-cognito-identity": { - "version": "3.621.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.621.0.tgz", - "integrity": "sha512-Q+3awvTVJSqIGRjCUQflRwKPKlZ0TfmL3EQHgFLhZZrToeBapEA62+FY+T70aTKAZZZZprlvYeFPtBloNd5ziA==", - "requires": { - "@aws-sdk/client-cognito-identity": "3.621.0", - "@aws-sdk/types": "3.609.0", - "@smithy/property-provider": "^3.1.3", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - } - }, "@aws-sdk/credential-provider-env": { "version": "3.620.1", "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.620.1.tgz", @@ -5595,29 +5232,6 @@ "tslib": "^2.6.2" } }, - "@aws-sdk/credential-providers": { - "version": "3.621.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.621.0.tgz", - "integrity": "sha512-FQbC7I8ae/72ZekLBa45jWJ+Q3d+YPhc3bW/rCks6RrldM6RgLTGr8pTOPCxHl828ky10RjkBiBmVU818rliyw==", - "requires": { - "@aws-sdk/client-cognito-identity": "3.621.0", - "@aws-sdk/client-sso": "3.621.0", - "@aws-sdk/client-sts": "3.621.0", - "@aws-sdk/credential-provider-cognito-identity": "3.621.0", - "@aws-sdk/credential-provider-env": "3.620.1", - "@aws-sdk/credential-provider-http": "3.621.0", - "@aws-sdk/credential-provider-ini": "3.621.0", - "@aws-sdk/credential-provider-node": "3.621.0", - "@aws-sdk/credential-provider-process": "3.620.1", - "@aws-sdk/credential-provider-sso": "3.621.0", - "@aws-sdk/credential-provider-web-identity": "3.621.0", - "@aws-sdk/types": "3.609.0", - "@smithy/credential-provider-imds": "^3.2.0", - "@smithy/property-provider": "^3.1.3", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - } - }, "@aws-sdk/middleware-bucket-endpoint": { "version": "3.620.0", "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.620.0.tgz", @@ -5859,428 +5473,356 @@ "tslib": "^2.6.2" } }, - "@babel/code-frame": { - "version": "7.22.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", - "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", - "dev": true, - "requires": { - "@babel/highlight": "^7.22.13", - "chalk": "^2.4.2" - }, - "dependencies": { - "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==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "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==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } + "@babel/helper-string-parser": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.7.tgz", + "integrity": "sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==", + "dev": true }, - "@babel/compat-data": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.5.tgz", - "integrity": "sha512-4Jc/YuIaYqKnDDz892kPIledykKg12Aw1PYX5i/TY28anJtacvM1Rrr8wbieB9GfEJwlzqT0hUEao0CxEebiDA==", + "@babel/helper-validator-identifier": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", "dev": true }, - "@babel/core": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.5.tgz", - "integrity": "sha512-SBuTAjg91A3eKOvD+bPEz3LlhHZRNu1nFOVts9lzDJTXshHTjII0BAtDS3Y2DAkdZdDKWVZGVwkDfc4Clxn1dg==", - "dev": true, - "requires": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.22.5", - "@babel/generator": "^7.22.5", - "@babel/helper-compilation-targets": "^7.22.5", - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helpers": "^7.22.5", - "@babel/parser": "^7.22.5", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", - "@babel/types": "^7.22.5", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", - "semver": "^6.3.0" - } + "@babel/parser": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.7.tgz", + "integrity": "sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==", + "dev": true }, - "@babel/generator": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", - "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", + "@babel/runtime": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.7.tgz", + "integrity": "sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==", "dev": true, "requires": { - "@babel/types": "^7.23.0", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" + "regenerator-runtime": "^0.14.0" } }, - "@babel/helper-compilation-targets": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.5.tgz", - "integrity": "sha512-Ji+ywpHeuqxB8WDxraCiqR0xfhYjiDE/e6k7FuIaANnoOFxAHskHChz4vA1mJC9Lbm01s1PVAGhQY4FUKSkGZw==", + "@babel/types": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.7.tgz", + "integrity": "sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==", "dev": true, "requires": { - "@babel/compat-data": "^7.22.5", - "@babel/helper-validator-option": "^7.22.5", - "browserslist": "^4.21.3", - "lru-cache": "^5.1.1", - "semver": "^6.3.0" + "@babel/helper-string-parser": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7", + "to-fast-properties": "^2.0.0" } }, - "@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", + "@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", "dev": true }, - "@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", + "@bundled-es-modules/cookie": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@bundled-es-modules/cookie/-/cookie-2.0.1.tgz", + "integrity": "sha512-8o+5fRPLNbjbdGRRmJj3h6Hh1AQJf2dk3qQ/5ZFb+PXkRNiSoMGGUKlsgLfrxneb72axVJyIYji64E2+nNfYyw==", "dev": true, "requires": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" + "cookie": "^0.7.2" } }, - "@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "@bundled-es-modules/statuses": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@bundled-es-modules/statuses/-/statuses-1.0.1.tgz", + "integrity": "sha512-yn7BklA5acgcBr+7w064fGV+SGIFySjCKpqjcWgBAIfrAkY+4GQTJJHQMeT3V/sgz23VTEVV8TtOmkvJAhFVfg==", "dev": true, "requires": { - "@babel/types": "^7.22.5" + "statuses": "^2.0.1" } }, - "@babel/helper-module-imports": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", - "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", + "@bundled-es-modules/tough-cookie": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/@bundled-es-modules/tough-cookie/-/tough-cookie-0.1.6.tgz", + "integrity": "sha512-dvMHbL464C0zI+Yqxbz6kZ5TOEp7GLW+pry/RWndAR8MJQAXZ2rPmIs8tziTZjeIyhSNZgZbCePtfSbdWqStJw==", "dev": true, "requires": { - "@babel/types": "^7.22.5" + "@types/tough-cookie": "^4.0.5", + "tough-cookie": "^4.1.4" } }, - "@babel/helper-module-transforms": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.5.tgz", - "integrity": "sha512-+hGKDt/Ze8GFExiVHno/2dvG5IdstpzCq0y4Qc9OJ25D4q3pKfiIP/4Vp3/JvhDkLKsDK2api3q3fpIgiIF5bw==", + "@esbuild/aix-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", + "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-module-imports": "^7.22.5", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", - "@babel/types": "^7.22.5" - } + "optional": true }, - "@babel/helper-simple-access": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "@esbuild/android-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", + "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } + "optional": true }, - "@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "@esbuild/android-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", + "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } + "optional": true }, - "@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", - "dev": true + "@esbuild/android-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", + "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", + "dev": true, + "optional": true }, - "@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", - "dev": true + "@esbuild/darwin-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", + "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", + "dev": true, + "optional": true }, - "@babel/helper-validator-option": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", - "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==", - "dev": true + "@esbuild/darwin-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", + "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", + "dev": true, + "optional": true }, - "@babel/helpers": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.5.tgz", - "integrity": "sha512-pSXRmfE1vzcUIDFQcSGA5Mr+GxBV9oiRKDuDxXvWQQBCh8HoIjs/2DlDB7H8smac1IVrB9/xdXj2N3Wol9Cr+Q==", + "@esbuild/freebsd-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", + "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", "dev": true, - "requires": { - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", - "@babel/types": "^7.22.5" - } + "optional": true }, - "@babel/highlight": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", - "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", + "@esbuild/freebsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", + "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" - }, - "dependencies": { - "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==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "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==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } + "optional": true }, - "@babel/parser": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", - "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", - "dev": true + "@esbuild/linux-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", + "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", + "dev": true, + "optional": true }, - "@babel/template": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", - "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", + "@esbuild/linux-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", + "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", "dev": true, - "requires": { - "@babel/code-frame": "^7.22.13", - "@babel/parser": "^7.22.15", - "@babel/types": "^7.22.15" - } + "optional": true }, - "@babel/traverse": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", - "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", + "@esbuild/linux-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", + "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", "dev": true, - "requires": { - "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.23.0", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.0", - "@babel/types": "^7.23.0", - "debug": "^4.1.0", - "globals": "^11.1.0" - } + "optional": true }, - "@babel/types": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", - "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", + "@esbuild/linux-loong64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", + "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", + "dev": true, + "optional": true + }, + "@esbuild/linux-mips64el": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", + "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", + "dev": true, + "optional": true + }, + "@esbuild/linux-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", + "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", + "dev": true, + "optional": true + }, + "@esbuild/linux-riscv64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", + "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-s390x": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", + "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", + "dev": true, + "optional": true + }, + "@esbuild/linux-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", + "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", + "dev": true, + "optional": true + }, + "@esbuild/netbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", + "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", + "dev": true, + "optional": true + }, + "@esbuild/openbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", + "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", + "dev": true, + "optional": true + }, + "@esbuild/sunos-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", + "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", + "dev": true, + "optional": true + }, + "@esbuild/win32-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", + "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", + "dev": true, + "optional": true + }, + "@esbuild/win32-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", + "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", + "dev": true, + "optional": true + }, + "@esbuild/win32-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", + "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", + "dev": true, + "optional": true + }, + "@inquirer/confirm": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-3.1.9.tgz", + "integrity": "sha512-UF09aejxCi4Xqm6N/jJAiFXArXfi9al52AFaSD+2uIHnhZGtd1d6lIGTRMPouVSJxbGEi+HkOWSYaiEY/+szUw==", "dev": true, "requires": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.20", - "to-fast-properties": "^2.0.0" + "@inquirer/core": "^8.2.2", + "@inquirer/type": "^1.3.3" } }, - "@cspotcode/source-map-support": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", - "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "@inquirer/core": { + "version": "8.2.2", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-8.2.2.tgz", + "integrity": "sha512-K8SuNX45jEFlX3EBJpu9B+S2TISzMPGXZIuJ9ME924SqbdW6Pt6fIkKvXg7mOEOKJ4WxpQsxj0UTfcL/A434Ww==", "dev": true, "requires": { - "@jridgewell/trace-mapping": "0.3.9" + "@inquirer/figures": "^1.0.3", + "@inquirer/type": "^1.3.3", + "@types/mute-stream": "^0.0.4", + "@types/node": "^20.12.13", + "@types/wrap-ansi": "^3.0.0", + "ansi-escapes": "^4.3.2", + "chalk": "^4.1.2", + "cli-spinners": "^2.9.2", + "cli-width": "^4.1.0", + "mute-stream": "^1.0.0", + "signal-exit": "^4.1.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^6.2.0" }, "dependencies": { - "@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", "dev": true, "requires": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" } } } }, - "@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "@inquirer/figures": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.3.tgz", + "integrity": "sha512-ErXXzENMH5pJt5/ssXV0DfWUZqly8nGzf0UcBV9xTnP+KyffE2mqyxIMBrZ8ijQck2nU0TQm40EQB53YreyWHw==", + "dev": true + }, + "@inquirer/type": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-1.3.3.tgz", + "integrity": "sha512-xTUt0NulylX27/zMx04ZYar/kr1raaiFTVvQ5feljQsiAgdm0WPj4S73/ye0fbslh+15QrIuDvfCXTek7pMY5A==", + "dev": true + }, + "@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", "dev": true, "requires": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" }, "dependencies": { - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } + "ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } + "ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true }, - "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==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } + "emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "dev": true, "requires": { - "p-locate": "^4.1.0" + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" } }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, "requires": { - "p-try": "^2.0.0" + "ansi-regex": "^6.0.1" } }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", "dev": true, "requires": { - "p-limit": "^2.2.0" + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" } } } @@ -6292,14 +5834,14 @@ "dev": true }, "@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", "dev": true, "requires": { - "@jridgewell/set-array": "^1.0.1", + "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/trace-mapping": "^0.3.24" } }, "@jridgewell/resolve-uri": { @@ -6309,57 +5851,237 @@ "dev": true }, "@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", "dev": true }, "@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", "dev": true }, "@jridgewell/trace-mapping": { - "version": "0.3.18", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", - "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", "dev": true, "requires": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" - }, - "dependencies": { - "@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "dev": true - } + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "@mswjs/data": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@mswjs/data/-/data-0.16.1.tgz", + "integrity": "sha512-VhJvL/VmgAuU9/tDOcKcxHfNd+8nxYntZnrkaQEQPvZZnFwQQR9bzI1FTRROGxCHVoyfv9v84AEkl/7CIw4FAg==", + "dev": true, + "requires": { + "@types/lodash": "^4.14.172", + "@types/md5": "^2.3.0", + "@types/pluralize": "^0.0.29", + "@types/uuid": "^8.3.0", + "date-fns": "^2.21.1", + "debug": "^4.3.1", + "graphql": "^16.8.1", + "lodash": "^4.17.21", + "md5": "^2.3.0", + "msw": "^2.0.8", + "outvariant": "^1.2.1", + "pluralize": "^8.0.0", + "strict-event-emitter": "^0.5.0", + "uuid": "^8.3.1" + } + }, + "@mswjs/interceptors": { + "version": "0.35.8", + "resolved": "https://registry.npmjs.org/@mswjs/interceptors/-/interceptors-0.35.8.tgz", + "integrity": "sha512-PFfqpHplKa7KMdoQdj5td03uG05VK2Ng1dG0sP4pT9h0dGSX2v9txYt/AnrzPb/vAmfyBBC0NQV7VaBEX+efgQ==", + "dev": true, + "requires": { + "@open-draft/deferred-promise": "^2.2.0", + "@open-draft/logger": "^0.3.0", + "@open-draft/until": "^2.0.0", + "is-node-process": "^1.2.0", + "outvariant": "^1.4.3", + "strict-event-emitter": "^0.5.1" + } + }, + "@open-draft/deferred-promise": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@open-draft/deferred-promise/-/deferred-promise-2.2.0.tgz", + "integrity": "sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA==", + "dev": true + }, + "@open-draft/logger": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@open-draft/logger/-/logger-0.3.0.tgz", + "integrity": "sha512-X2g45fzhxH238HKO4xbSr7+wBS8Fvw6ixhTDuvLd5mqh6bJJCFAPwU9mPDxbcrRtfxv4u5IHCEH77BmxvXmmxQ==", + "dev": true, + "requires": { + "is-node-process": "^1.2.0", + "outvariant": "^1.4.0" } }, + "@open-draft/until": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@open-draft/until/-/until-2.1.0.tgz", + "integrity": "sha512-U69T3ItWHvLwGg5eJ0n3I62nWuE6ilHlmz7zM0npLBRvPRd7e6NYmg54vvRtP5mZG7kZqZCFVdsTWo7BPtBujg==", + "dev": true + }, + "@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true + }, + "@rollup/rollup-android-arm-eabi": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.22.4.tgz", + "integrity": "sha512-Fxamp4aEZnfPOcGA8KSNEohV8hX7zVHOemC8jVBoBUHu5zpJK/Eu3uJwt6BMgy9fkvzxDaurgj96F/NiLukF2w==", + "dev": true, + "optional": true + }, + "@rollup/rollup-android-arm64": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.22.4.tgz", + "integrity": "sha512-VXoK5UMrgECLYaMuGuVTOx5kcuap1Jm8g/M83RnCHBKOqvPPmROFJGQaZhGccnsFtfXQ3XYa4/jMCJvZnbJBdA==", + "dev": true, + "optional": true + }, + "@rollup/rollup-darwin-arm64": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.22.4.tgz", + "integrity": "sha512-xMM9ORBqu81jyMKCDP+SZDhnX2QEVQzTcC6G18KlTQEzWK8r/oNZtKuZaCcHhnsa6fEeOBionoyl5JsAbE/36Q==", + "dev": true, + "optional": true + }, + "@rollup/rollup-darwin-x64": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.22.4.tgz", + "integrity": "sha512-aJJyYKQwbHuhTUrjWjxEvGnNNBCnmpHDvrb8JFDbeSH3m2XdHcxDd3jthAzvmoI8w/kSjd2y0udT+4okADsZIw==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.22.4.tgz", + "integrity": "sha512-j63YtCIRAzbO+gC2L9dWXRh5BFetsv0j0va0Wi9epXDgU/XUi5dJKo4USTttVyK7fGw2nPWK0PbAvyliz50SCQ==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-arm-musleabihf": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.22.4.tgz", + "integrity": "sha512-dJnWUgwWBX1YBRsuKKMOlXCzh2Wu1mlHzv20TpqEsfdZLb3WoJW2kIEsGwLkroYf24IrPAvOT/ZQ2OYMV6vlrg==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-arm64-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.22.4.tgz", + "integrity": "sha512-AdPRoNi3NKVLolCN/Sp4F4N1d98c4SBnHMKoLuiG6RXgoZ4sllseuGioszumnPGmPM2O7qaAX/IJdeDU8f26Aw==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-arm64-musl": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.22.4.tgz", + "integrity": "sha512-Gl0AxBtDg8uoAn5CCqQDMqAx22Wx22pjDOjBdmG0VIWX3qUBHzYmOKh8KXHL4UpogfJ14G4wk16EQogF+v8hmA==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.22.4.tgz", + "integrity": "sha512-3aVCK9xfWW1oGQpTsYJJPF6bfpWfhbRnhdlyhak2ZiyFLDaayz0EP5j9V1RVLAAxlmWKTDfS9wyRyY3hvhPoOg==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-riscv64-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.22.4.tgz", + "integrity": "sha512-ePYIir6VYnhgv2C5Xe9u+ico4t8sZWXschR6fMgoPUK31yQu7hTEJb7bCqivHECwIClJfKgE7zYsh1qTP3WHUA==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-s390x-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.22.4.tgz", + "integrity": "sha512-GqFJ9wLlbB9daxhVlrTe61vJtEY99/xB3C8e4ULVsVfflcpmR6c8UZXjtkMA6FhNONhj2eA5Tk9uAVw5orEs4Q==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-x64-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.22.4.tgz", + "integrity": "sha512-87v0ol2sH9GE3cLQLNEy0K/R0pz1nvg76o8M5nhMR0+Q+BBGLnb35P0fVz4CQxHYXaAOhE8HhlkaZfsdUOlHwg==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-x64-musl": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.22.4.tgz", + "integrity": "sha512-UV6FZMUgePDZrFjrNGIWzDo/vABebuXBhJEqrHxrGiU6HikPy0Z3LfdtciIttEUQfuDdCn8fqh7wiFJjCNwO+g==", + "dev": true, + "optional": true + }, + "@rollup/rollup-win32-arm64-msvc": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.22.4.tgz", + "integrity": "sha512-BjI+NVVEGAXjGWYHz/vv0pBqfGoUH0IGZ0cICTn7kB9PyjrATSkX+8WkguNjWoj2qSr1im/+tTGRaY+4/PdcQw==", + "dev": true, + "optional": true + }, + "@rollup/rollup-win32-ia32-msvc": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.22.4.tgz", + "integrity": "sha512-SiWG/1TuUdPvYmzmYnmd3IEifzR61Tragkbx9D3+R8mzQqDBz8v+BvZNDlkiTtI9T15KYZhP0ehn3Dld4n9J5g==", + "dev": true, + "optional": true + }, + "@rollup/rollup-win32-x64-msvc": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.22.4.tgz", + "integrity": "sha512-j8pPKp53/lq9lMXN57S8cFz0MynJk8OWNuUnXct/9KCpKU7DgU3bYMJhwWmcqC0UU29p8Lr0/7KEVcaM6bf47Q==", + "dev": true, + "optional": true + }, "@sinonjs/commons": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", - "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", + "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", "dev": true, "requires": { "type-detect": "4.0.8" } }, "@sinonjs/fake-timers": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz", - "integrity": "sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==", + "version": "11.2.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-11.2.2.tgz", + "integrity": "sha512-G2piCSxQ7oWOxwGSAyFHfPIsyeJGXYtc6mFbnFA+kRXkiEnTl8c/8jul2S329iFBnDI9HGoeWWAZvuvOkZccgw==", + "dev": true, + "requires": { + "@sinonjs/commons": "^3.0.0" + } + }, + "@sinonjs/samsam": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-8.0.0.tgz", + "integrity": "sha512-Bp8KUVlLp8ibJZrnvq2foVhP0IVX2CIprMJPK0vqGqgrDa0OHVKeZyBykqskkrdxV6yKBPmGasO8LVjAKR3Gew==", "dev": true, "requires": { - "@sinonjs/commons": "^1.7.0" + "@sinonjs/commons": "^2.0.0", + "lodash.get": "^4.4.2", + "type-detect": "^4.0.8" }, "dependencies": { "@sinonjs/commons": { - "version": "1.8.6", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", - "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", + "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", "dev": true, "requires": { "type-detect": "4.0.8" @@ -6367,17 +6089,6 @@ } } }, - "@sinonjs/samsam": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-7.0.1.tgz", - "integrity": "sha512-zsAk2Jkiq89mhZovB2LLOdTCxJF4hqqTToGP0ASWlhp4I1hqOjcfmZGafXntCN7MDC6yySH0mFHrYtHceOeLmw==", - "dev": true, - "requires": { - "@sinonjs/commons": "^2.0.0", - "lodash.get": "^4.4.2", - "type-detect": "^4.0.8" - } - }, "@sinonjs/text-encoding": { "version": "0.7.2", "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.2.tgz", @@ -6896,1501 +6607,1073 @@ "tslib": "^2.6.2" } }, - "@smithy/util-waiter": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@smithy/util-waiter/-/util-waiter-3.1.2.tgz", - "integrity": "sha512-4pP0EV3iTsexDx+8PPGAKCQpd/6hsQBaQhqWzU4hqKPHN5epPsxKbvUTIiYIHTxaKt6/kEaqPBpu/ufvfbrRzw==", - "requires": { - "@smithy/abort-controller": "^3.1.1", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - } - }, - "@tsconfig/node10": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", - "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", - "dev": true - }, - "@tsconfig/node12": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", - "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", - "dev": true - }, - "@tsconfig/node14": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", - "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", - "dev": true - }, - "@tsconfig/node16": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", - "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", - "dev": true - }, - "@types/aws4": { - "version": "1.11.3", - "resolved": "https://registry.npmjs.org/@types/aws4/-/aws4-1.11.3.tgz", - "integrity": "sha512-Ka2xKf04xZUH0N7wIYpqcNdavgfPQnaJ1T6GieZs1ydo21vao93aCbHyrA6uKXnaTXzvBcMJkgMsBfT9XvypFQ==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/chai": { - "version": "4.3.9", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.9.tgz", - "integrity": "sha512-69TtiDzu0bcmKQv3yg1Zx409/Kd7r0b5F1PfpYJfSHzLGtB53547V4u+9iqKYsTu/O2ai6KTb0TInNpvuQ3qmg==", - "dev": true - }, - "@types/mocha": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.1.tgz", - "integrity": "sha512-/fvYntiO1GeICvqbQ3doGDIP97vWmvFt83GKguJ6prmQM2iXZfFcq6YE8KteFyRtX2/h5Hf91BYvPodJKFYv5Q==", - "dev": true - }, - "@types/node": { - "version": "20.4.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.4.1.tgz", - "integrity": "sha512-JIzsAvJeA/5iY6Y/OxZbv1lUcc8dNSE77lb2gnBH+/PJ3lFR1Ccvgwl5JWnHAkNHcRsT0TbpVOsiMKZ1F/yyJg==", - "dev": true - }, - "@types/sinon": { - "version": "10.0.15", - "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-10.0.15.tgz", - "integrity": "sha512-3lrFNQG0Kr2LDzvjyjB6AMJk4ge+8iYhQfdnSwIwlG88FUOV43kPcQqDZkDa/h3WSZy6i8Fr0BSjfQtB1B3xuQ==", - "dev": true, - "requires": { - "@types/sinonjs__fake-timers": "*" - } - }, - "@types/sinonjs__fake-timers": { - "version": "8.1.2", - "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.2.tgz", - "integrity": "sha512-9GcLXF0/v3t80caGs5p2rRfkB+a8VBGLJZVih6CNFkx8IZ994wiKKLSRs9nuFwk1HevWs/1mnUmkApGrSGsShA==", - "dev": true - }, - "acorn": { - "version": "8.8.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", - "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", - "dev": true - }, - "acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", - "dev": true - }, - "aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dev": true, - "requires": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - } - }, - "ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "dev": true - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "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, - "requires": { - "color-convert": "^2.0.1" - } - }, - "anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "append-transform": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz", - "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==", - "dev": true, - "requires": { - "default-require-extensions": "^3.0.0" - } - }, - "archy": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==", - "dev": true - }, - "arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": true - }, - "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 - }, - "assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", - "dev": true - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, - "aws-sdk-client-mock": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/aws-sdk-client-mock/-/aws-sdk-client-mock-3.0.0.tgz", - "integrity": "sha512-4mBiWhuLYLZe1+K/iB8eYy5SAZyW2se+Keyh5u9QouMt6/qJ5SRZhss68xvUX5g3ApzROJ06QPRziYHP6buuvQ==", - "dev": true, - "requires": { - "@types/sinon": "^10.0.10", - "sinon": "^14.0.2", - "tslib": "^2.1.0" - } - }, - "aws4": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", - "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==" - }, - "axios": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.4.tgz", - "integrity": "sha512-DukmaFRnY6AzAALSH4J2M3k6PkaC+MfaAGdEERRWcC9q3/TWQwLpHR8ZRLKTdQ3aBDL64EdluRDjJqKw+BPZEw==", - "requires": { - "follow-redirects": "^1.15.6", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - } - }, - "axios-mock-adapter": { - "version": "1.21.5", - "resolved": "https://registry.npmjs.org/axios-mock-adapter/-/axios-mock-adapter-1.21.5.tgz", - "integrity": "sha512-5NI1V/VK+8+JeTF8niqOowuysA4b8mGzdlMN/QnTnoXbYh4HZSNiopsDclN2g/m85+G++IrEtUdZaQ3GnaMsSA==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.3", - "is-buffer": "^2.0.5" - } - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true - }, - "bowser": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", - "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==" - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "dev": true, - "requires": { - "fill-range": "^7.1.1" - } - }, - "browser-stdout": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", - "dev": true - }, - "browserslist": { - "version": "4.21.9", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.9.tgz", - "integrity": "sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001503", - "electron-to-chromium": "^1.4.431", - "node-releases": "^2.0.12", - "update-browserslist-db": "^1.0.11" - } - }, - "caching-transform": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz", - "integrity": "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==", - "dev": true, - "requires": { - "hasha": "^5.0.0", - "make-dir": "^3.0.0", - "package-hash": "^4.0.0", - "write-file-atomic": "^3.0.0" - } - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, - "caniuse-lite": { - "version": "1.0.30001503", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001503.tgz", - "integrity": "sha512-Sf9NiF+wZxPfzv8Z3iS0rXM1Do+iOy2Lxvib38glFX+08TCYYYGR5fRJXk4d77C4AYwhUjgYgMsMudbh2TqCKw==", - "dev": true - }, - "chai": { - "version": "4.3.10", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.10.tgz", - "integrity": "sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g==", - "dev": true, - "requires": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.3", - "deep-eql": "^4.1.3", - "get-func-name": "^2.0.2", - "loupe": "^2.3.6", - "pathval": "^1.1.1", - "type-detect": "^4.0.8" - } - }, - "chalk": { - "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" - } - }, - "check-error": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", - "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", - "dev": true, - "requires": { - "get-func-name": "^2.0.2" - } - }, - "chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "dev": true, - "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - } - }, - "clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true - }, - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.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": { - "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==", - "dev": true - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "dev": true - }, - "create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", - "dev": true - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - }, - "dependencies": { - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", - "dev": true - }, - "deep-eql": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", - "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", - "dev": true, + "@smithy/util-waiter": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@smithy/util-waiter/-/util-waiter-3.1.2.tgz", + "integrity": "sha512-4pP0EV3iTsexDx+8PPGAKCQpd/6hsQBaQhqWzU4hqKPHN5epPsxKbvUTIiYIHTxaKt6/kEaqPBpu/ufvfbrRzw==", "requires": { - "type-detect": "^4.0.0" + "@smithy/abort-controller": "^3.1.1", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" } }, - "default-require-extensions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.1.tgz", - "integrity": "sha512-eXTJmRbm2TIt9MgWTsOH1wEuhew6XGZcMeGKCtLedIg/NCsg1iBePXkceTdK4Fii7pzmN9tGsZhKzZ4h7O/fxw==", + "@types/aws4": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@types/aws4/-/aws4-1.11.6.tgz", + "integrity": "sha512-5CnVUkHNyLGpD9AnOcK66YyP0qvIh6nhJJoeK8zSl5YKikUcUbdB7SlHevUYVqicgeh6j5AJa1qa/h08dSZHoA==", "dev": true, "requires": { - "strip-bom": "^4.0.0" + "@types/node": "*" } }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" - }, - "diff": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", - "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==", - "dev": true - }, - "electron-to-chromium": { - "version": "1.4.431", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.431.tgz", - "integrity": "sha512-m232JTVmCawA2vG+1azVxhKZ9Sv1Q//xxNv5PkP5rWxGgQE8c3CiZFrh8Xnp+d1NmNxlu3QQrGIfdeW5TtXX5w==", - "dev": true - }, - "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==", + "@types/chai": { + "version": "4.3.16", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.16.tgz", + "integrity": "sha512-PatH4iOdyh3MyWtmHVFXLWCCIhUbopaltqddG9BzB+gMIzee2MJrvd+jouii9Z3wzQJruGWAm7WOMjgfG8hQlQ==", "dev": true }, - "es6-error": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", - "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", + "@types/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==", "dev": true }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "@types/estree": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", "dev": true }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "@types/lodash": { + "version": "4.17.5", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.5.tgz", + "integrity": "sha512-MBIOHVZqVqgfro1euRDWX7OO0fBVUUMrN6Pwm8LQsz8cWhEpihlvR70ENj3f40j58TNxZaWv2ndSkInykNBBJw==", "dev": true }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "@types/md5": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@types/md5/-/md5-2.3.5.tgz", + "integrity": "sha512-/i42wjYNgE6wf0j2bcTX6kuowmdL/6PE4IVitMpm2eYKBUuYCprdcWVK+xEF0gcV6ufMCRhtxmReGfc6hIK7Jw==", "dev": true }, - "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==", + "@types/mocha": { + "version": "10.0.6", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.6.tgz", + "integrity": "sha512-dJvrYWxP/UcXm36Qn36fxhUKu8A/xMRXVT2cliFF1Z7UA9liG5Psj3ezNSZw+5puH2czDXRLcXQxf8JbJt0ejg==", "dev": true }, - "fast-xml-parser": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.4.1.tgz", - "integrity": "sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==", - "requires": { - "strnum": "^1.0.5" - } - }, - "fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "@types/mute-stream": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/@types/mute-stream/-/mute-stream-0.0.4.tgz", + "integrity": "sha512-CPM9nzrCPPJHQNA9keH9CVkVI+WR5kMa+7XEs5jcGQ0VoAGnLv242w8lIVgwAEfmE4oufJRaTc9PNLQl0ioAow==", "dev": true, "requires": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" + "@types/node": "*" } }, - "find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "@types/node": { + "version": "20.14.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.2.tgz", + "integrity": "sha512-xyu6WAMVwv6AKFLB+e/7ySZVr/0zLCzOa7rSpq6jNwpqOrUbcACDWC+53d4n2QHOnDou0fbIsg8wZu/sxrnI4Q==", "dev": true, "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" + "undici-types": "~5.26.4" } }, - "flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "@types/pluralize": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/pluralize/-/pluralize-0.0.29.tgz", + "integrity": "sha512-BYOID+l2Aco2nBik+iYS4SZX0Lf20KPILP5RGmM1IgzdwNdTs0eebiFriOPcej1sX9mLnSoiNte5zcFxssgpGA==", "dev": true }, - "follow-redirects": { - "version": "1.15.6", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", - "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==" - }, - "foreground-child": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz", - "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==", + "@types/ramda": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/@types/ramda/-/ramda-0.30.0.tgz", + "integrity": "sha512-DQtfqUbSB18iM9NHbQ++kVUDuBWHMr6T2FpW1XTiksYRGjq4WnNPZLt712OEHEBJs7aMyJ68Mf2kGMOP1srVVw==", "dev": true, "requires": { - "cross-spawn": "^7.0.0", - "signal-exit": "^3.0.2" + "types-ramda": "^0.30.0" } }, - "form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "@types/sinon": { + "version": "10.0.15", + "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-10.0.15.tgz", + "integrity": "sha512-3lrFNQG0Kr2LDzvjyjB6AMJk4ge+8iYhQfdnSwIwlG88FUOV43kPcQqDZkDa/h3WSZy6i8Fr0BSjfQtB1B3xuQ==", + "dev": true, "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" + "@types/sinonjs__fake-timers": "*" } }, - "fromentries": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz", - "integrity": "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==", - "dev": true - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "@types/sinonjs__fake-timers": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.2.tgz", + "integrity": "sha512-9GcLXF0/v3t80caGs5p2rRfkB+a8VBGLJZVih6CNFkx8IZ994wiKKLSRs9nuFwk1HevWs/1mnUmkApGrSGsShA==", "dev": true }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "optional": true - }, - "gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "@types/statuses": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@types/statuses/-/statuses-2.0.5.tgz", + "integrity": "sha512-jmIUGWrAiwu3dZpxntxieC+1n/5c3mjrImkmOSQ2NC5uP6cYO4aAZDdSmRcI5C1oiTmqlZGHC+/NmJrKogbP5A==", "dev": true }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "@types/tough-cookie": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz", + "integrity": "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==", "dev": true }, - "get-func-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", - "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", + "@types/uuid": { + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz", + "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==", "dev": true }, - "get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "@types/wrap-ansi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/wrap-ansi/-/wrap-ansi-3.0.0.tgz", + "integrity": "sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g==", "dev": true }, - "glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "@vitest/coverage-v8": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-2.1.1.tgz", + "integrity": "sha512-md/A7A3c42oTT8JUHSqjP5uKTWJejzUW4jalpvs+rZ27gsURsMU8DEb+8Jf8C6Kj2gwfSHJqobDNBuoqlm0cFw==", "dev": true, "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "dependencies": { - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } + "@ampproject/remapping": "^2.3.0", + "@bcoe/v8-coverage": "^0.2.3", + "debug": "^4.3.6", + "istanbul-lib-coverage": "^3.2.2", + "istanbul-lib-report": "^3.0.1", + "istanbul-lib-source-maps": "^5.0.6", + "istanbul-reports": "^3.1.7", + "magic-string": "^0.30.11", + "magicast": "^0.3.4", + "std-env": "^3.7.0", + "test-exclude": "^7.0.1", + "tinyrainbow": "^1.2.0" } }, - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "@vitest/expect": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-2.1.1.tgz", + "integrity": "sha512-YeueunS0HiHiQxk+KEOnq/QMzlUuOzbU1Go+PgAsHvvv3tUkJPm9xWt+6ITNTlzsMXUjmgm5T+U7KBPK2qQV6w==", "dev": true, "requires": { - "is-glob": "^4.0.1" + "@vitest/spy": "2.1.1", + "@vitest/utils": "2.1.1", + "chai": "^5.1.1", + "tinyrainbow": "^1.2.0" } }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true - }, - "graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": 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==", - "dev": true - }, - "hasha": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz", - "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==", + "@vitest/mocker": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-2.1.1.tgz", + "integrity": "sha512-LNN5VwOEdJqCmJ/2XJBywB11DLlkbY0ooDJW3uRX5cZyYCrc4PI/ePX0iQhE3BiEGiQmK4GE7Q/PqCkkaiPnrA==", "dev": true, "requires": { - "is-stream": "^2.0.0", - "type-fest": "^0.8.0" + "@vitest/spy": "^2.1.0-beta.1", + "estree-walker": "^3.0.3", + "magic-string": "^0.30.11" } }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true - }, - "html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true - }, - "indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "@vitest/pretty-format": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-2.1.1.tgz", + "integrity": "sha512-SjxPFOtuINDUW8/UkElJYQSFtnWX7tMksSGW0vfjxMneFqxVr8YJ979QpMbDW7g+BIiq88RAGDjf7en6rvLPPQ==", "dev": true, "requires": { - "once": "^1.3.0", - "wrappy": "1" + "tinyrainbow": "^1.2.0" } }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "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==", + "@vitest/runner": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-2.1.1.tgz", + "integrity": "sha512-uTPuY6PWOYitIkLPidaY5L3t0JJITdGTSwBtwMjKzo5O6RCOEncz9PUN+0pDidX8kTHYjO0EwUIvhlGpnGpxmA==", "dev": true, "requires": { - "binary-extensions": "^2.0.0" + "@vitest/utils": "2.1.1", + "pathe": "^1.1.2" } }, - "is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", - "dev": true + "@vitest/snapshot": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-2.1.1.tgz", + "integrity": "sha512-BnSku1WFy7r4mm96ha2FzN99AZJgpZOWrAhtQfoxjUU5YMRpq1zmHRq7a5K9/NjqonebO7iVDla+VvZS8BOWMw==", + "dev": true, + "requires": { + "@vitest/pretty-format": "2.1.1", + "magic-string": "^0.30.11", + "pathe": "^1.1.2" + } }, - "is-extglob": { + "@vitest/spy": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-2.1.1.tgz", + "integrity": "sha512-ZM39BnZ9t/xZ/nF4UwRH5il0Sw93QnZXd9NAZGRpIgj0yvVwPpLd702s/Cx955rGaMlyBQkZJ2Ir7qyY48VZ+g==", + "dev": true, + "requires": { + "tinyspy": "^3.0.0" + } }, - "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==", - "dev": true + "@vitest/utils": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-2.1.1.tgz", + "integrity": "sha512-Y6Q9TsI+qJ2CC0ZKj6VBb+T8UPz593N113nnUykqwANqhgf3QkZeHFlusgKLTqrnVHbj/XDKZcDHol+dxVT+rQ==", + "dev": true, + "requires": { + "@vitest/pretty-format": "2.1.1", + "loupe": "^3.1.1", + "tinyrainbow": "^1.2.0" + } }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "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==", "dev": true, "requires": { - "is-extglob": "^2.1.1" + "type-fest": "^0.21.3" + }, + "dependencies": { + "type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true + } } }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true }, - "is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", - "dev": true + "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, + "requires": { + "color-convert": "^2.0.1" + } }, - "is-stream": { + "assertion-error": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", - "dev": true - }, - "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==", - "dev": true - }, - "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==", - "dev": true - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "istanbul-lib-coverage": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", + "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", "dev": true }, - "istanbul-lib-hook": { + "aws-sdk-client-mock": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz", - "integrity": "sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==", + "resolved": "https://registry.npmjs.org/aws-sdk-client-mock/-/aws-sdk-client-mock-3.0.0.tgz", + "integrity": "sha512-4mBiWhuLYLZe1+K/iB8eYy5SAZyW2se+Keyh5u9QouMt6/qJ5SRZhss68xvUX5g3ApzROJ06QPRziYHP6buuvQ==", "dev": true, "requires": { - "append-transform": "^2.0.0" + "@types/sinon": "^10.0.10", + "sinon": "^14.0.2", + "tslib": "^2.1.0" + }, + "dependencies": { + "@sinonjs/commons": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", + "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", + "dev": true, + "requires": { + "type-detect": "4.0.8" + } + }, + "@sinonjs/fake-timers": { + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz", + "integrity": "sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==", + "dev": true, + "requires": { + "@sinonjs/commons": "^1.7.0" + }, + "dependencies": { + "@sinonjs/commons": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", + "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", + "dev": true, + "requires": { + "type-detect": "4.0.8" + } + } + } + }, + "@sinonjs/samsam": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-7.0.1.tgz", + "integrity": "sha512-zsAk2Jkiq89mhZovB2LLOdTCxJF4hqqTToGP0ASWlhp4I1hqOjcfmZGafXntCN7MDC6yySH0mFHrYtHceOeLmw==", + "dev": true, + "requires": { + "@sinonjs/commons": "^2.0.0", + "lodash.get": "^4.4.2", + "type-detect": "^4.0.8" + } + }, + "nise": { + "version": "5.1.9", + "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.9.tgz", + "integrity": "sha512-qOnoujW4SV6e40dYxJOb3uvuoPHtmLzIk4TFo+j0jPJoC+5Z9xja5qH5JZobEPsa8+YYphMrOSwnrshEhG2qww==", + "dev": true, + "requires": { + "@sinonjs/commons": "^3.0.0", + "@sinonjs/fake-timers": "^11.2.2", + "@sinonjs/text-encoding": "^0.7.2", + "just-extend": "^6.2.0", + "path-to-regexp": "^6.2.1" + }, + "dependencies": { + "@sinonjs/commons": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", + "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", + "dev": true, + "requires": { + "type-detect": "4.0.8" + } + }, + "@sinonjs/fake-timers": { + "version": "11.2.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-11.2.2.tgz", + "integrity": "sha512-G2piCSxQ7oWOxwGSAyFHfPIsyeJGXYtc6mFbnFA+kRXkiEnTl8c/8jul2S329iFBnDI9HGoeWWAZvuvOkZccgw==", + "dev": true, + "requires": { + "@sinonjs/commons": "^3.0.0" + } + } + } + }, + "sinon": { + "version": "14.0.2", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-14.0.2.tgz", + "integrity": "sha512-PDpV0ZI3ZCS3pEqx0vpNp6kzPhHrLx72wA0G+ZLaaJjLIYeE0n8INlgaohKuGy7hP0as5tbUd23QWu5U233t+w==", + "dev": true, + "requires": { + "@sinonjs/commons": "^2.0.0", + "@sinonjs/fake-timers": "^9.1.2", + "@sinonjs/samsam": "^7.0.1", + "diff": "^5.0.0", + "nise": "^5.1.2", + "supports-color": "^7.2.0" + } + } } }, - "istanbul-lib-instrument": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", - "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", - "dev": true, - "requires": { - "@babel/core": "^7.7.5", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.0.0", - "semver": "^6.3.0" - } + "aws4": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.13.0.tgz", + "integrity": "sha512-3AungXC4I8kKsS9PuS4JH2nc+0bVY/mjgrephHTIi8fpEeGsTHBUJeosp0Wc1myYMElmD0B3Oc4XL/HVJ4PV2g==" }, - "istanbul-lib-processinfo": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.3.tgz", - "integrity": "sha512-NkwHbo3E00oybX6NGJi6ar0B29vxyvNwoC7eJ4G4Yq28UfY758Hgn/heV8VRFhevPED4LXfFz0DQ8z/0kw9zMg==", - "dev": true, - "requires": { - "archy": "^1.0.0", - "cross-spawn": "^7.0.3", - "istanbul-lib-coverage": "^3.2.0", - "p-map": "^3.0.0", - "rimraf": "^3.0.0", - "uuid": "^8.3.2" - } + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true }, - "istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "bowser": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", + "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==" + }, + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, "requires": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" + "balanced-match": "^1.0.0" } }, - "istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "cac": { + "version": "6.7.14", + "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", + "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", + "dev": true + }, + "chai": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/chai/-/chai-5.1.1.tgz", + "integrity": "sha512-pT1ZgP8rPNqUgieVaEY+ryQr6Q4HXNg8Ei9UnLUrjN4IA7dvQC5JB+/kxVcPNDHyBcc/26CXPkbNzq3qwrOEKA==", "dev": true, "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" + "assertion-error": "^2.0.1", + "check-error": "^2.1.1", + "deep-eql": "^5.0.1", + "loupe": "^3.1.0", + "pathval": "^2.0.0" } }, - "istanbul-reports": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", - "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "requires": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" } }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "charenc": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", + "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==", "dev": true }, - "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" - } - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "check-error": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz", + "integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==", "dev": true }, - "json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "cli-spinners": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", "dev": true }, - "just-extend": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.2.1.tgz", - "integrity": "sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg==", + "cli-width": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz", + "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==", "dev": true }, - "locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "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": { - "p-locate": "^5.0.0" + "color-name": "~1.1.4" } }, - "lodash.flattendeep": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", - "integrity": "sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ==", + "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 }, - "lodash.get": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", + "cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", "dev": true }, - "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==", + "cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, "requires": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" } }, - "loupe": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz", - "integrity": "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==", + "crypt": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", + "integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==", + "dev": true + }, + "date-fns": { + "version": "2.30.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", + "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", "dev": true, "requires": { - "get-func-name": "^2.0.0" + "@babel/runtime": "^7.21.0" } }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", "dev": true, "requires": { - "yallist": "^3.0.2" + "ms": "^2.1.3" } }, - "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" + "deep-eql": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz", + "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==", + "dev": true + }, + "diff": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz", + "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", + "dev": true + }, + "eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, + "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==", + "dev": true + }, + "esbuild": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", + "dev": true, + "requires": { + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" } }, - "make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "escalade": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", "dev": true }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + "estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dev": true, + "requires": { + "@types/estree": "^1.0.0" + } }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "fast-xml-parser": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.4.1.tgz", + "integrity": "sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==", "requires": { - "mime-db": "1.52.0" + "strnum": "^1.0.5" } }, - "minimatch": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", - "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", + "foreground-child": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", "dev": true, "requires": { - "brace-expansion": "^2.0.1" - }, - "dependencies": { - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0" - } - } + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" } }, - "mocha": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz", - "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==", - "dev": true, - "requires": { - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", - "chokidar": "3.5.3", - "debug": "4.3.4", - "diff": "5.0.0", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "7.2.0", - "he": "1.2.0", - "js-yaml": "4.1.0", - "log-symbols": "4.1.0", - "minimatch": "5.0.1", - "ms": "2.1.3", - "nanoid": "3.3.3", - "serialize-javascript": "6.0.0", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "workerpool": "6.2.1", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", - "yargs-unparser": "2.0.0" - }, - "dependencies": { - "diff": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", - "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", - "dev": true - }, - "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" - } - } - } + "fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "optional": true }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true }, - "nanoid": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", - "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", + "get-func-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", + "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", "dev": true }, - "nise": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.4.tgz", - "integrity": "sha512-8+Ib8rRJ4L0o3kfmyVCL7gzrohyDe0cMFTBa2d364yIrEGMEoetznKJx899YxjybU6bL9SQkYPSBBs1gyYs8Xg==", + "get-tsconfig": { + "version": "4.7.5", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.5.tgz", + "integrity": "sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw==", "dev": true, "requires": { - "@sinonjs/commons": "^2.0.0", - "@sinonjs/fake-timers": "^10.0.2", - "@sinonjs/text-encoding": "^0.7.1", - "just-extend": "^4.0.2", - "path-to-regexp": "^1.7.0" - }, - "dependencies": { - "@sinonjs/fake-timers": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.1.0.tgz", - "integrity": "sha512-w1qd368vtrwttm1PRJWPW1QHlbmHrVDGs1eBH/jZvRPUFS4MNXV9Q33EQdjOdeAxZ7O8+3wM7zxztm2nfUSyKw==", - "dev": true, - "requires": { - "@sinonjs/commons": "^3.0.0" - }, - "dependencies": { - "@sinonjs/commons": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", - "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", - "dev": true, - "requires": { - "type-detect": "4.0.8" - } - } - } - } + "resolve-pkg-maps": "^1.0.0" } }, - "node-preload": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz", - "integrity": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==", + "glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", "dev": true, "requires": { - "process-on-spawn": "^1.0.0" + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" } }, - "node-releases": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.12.tgz", - "integrity": "sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==", + "graphql": { + "version": "16.8.2", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.8.2.tgz", + "integrity": "sha512-cvVIBILwuoSyD54U4cF/UXDh5yAobhNV/tPygI4lZhgOIJQE/WLWC4waBRb4I6bDVYb3OVx3lfHbaQOEoUD5sg==", + "dev": 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==", + "dev": true + }, + "headers-polyfill": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/headers-polyfill/-/headers-polyfill-4.0.3.tgz", + "integrity": "sha512-IScLbePpkvO846sIwOtOTDjutRMWdXdJmXdMvk6gCBHxFO8d+QKOQedyZSxFTTFYRSmlgSTDtXqqq4pcenBXLQ==", + "dev": true + }, + "html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "dev": true }, - "normalize-path": { + "is-fullwidth-code-point": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "is-node-process": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-node-process/-/is-node-process-1.2.0.tgz", + "integrity": "sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw==", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true }, - "nyc": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz", - "integrity": "sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==", + "istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", + "dev": true + }, + "istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", "dev": true, "requires": { - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "caching-transform": "^4.0.0", - "convert-source-map": "^1.7.0", - "decamelize": "^1.2.0", - "find-cache-dir": "^3.2.0", - "find-up": "^4.1.0", - "foreground-child": "^2.0.0", - "get-package-type": "^0.1.0", - "glob": "^7.1.6", "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-hook": "^3.0.0", - "istanbul-lib-instrument": "^4.0.0", - "istanbul-lib-processinfo": "^2.0.2", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.0.2", - "make-dir": "^3.0.0", - "node-preload": "^0.2.1", - "p-map": "^3.0.0", - "process-on-spawn": "^1.0.0", - "resolve-from": "^5.0.0", - "rimraf": "^3.0.0", - "signal-exit": "^3.0.2", - "spawn-wrap": "^2.0.0", - "test-exclude": "^6.0.0", - "yargs": "^15.0.2" + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" }, "dependencies": { - "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", "dev": true, "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "semver": "^7.5.3" } }, - "y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "semver": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", "dev": true - }, - "yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "dev": true, - "requires": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - } - }, - "yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } } } }, - "nyc-report-lcov-absolute": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/nyc-report-lcov-absolute/-/nyc-report-lcov-absolute-1.0.0.tgz", - "integrity": "sha512-sDq0XM0on9casPNySxGD/WSy17m95+e8xEhObNHoxVRsTIZZt8akop4WWisnjzEWRARGW91Ip6oRhIWmy4qcPw==", - "dev": true, - "requires": {} - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "istanbul-lib-source-maps": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-5.0.6.tgz", + "integrity": "sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==", "dev": true, "requires": { - "yocto-queue": "^0.1.0" + "@jridgewell/trace-mapping": "^0.3.23", + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0" } }, - "p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "istanbul-reports": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", + "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", "dev": true, "requires": { - "p-limit": "^3.0.2" + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" } }, - "p-map": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", - "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", + "jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", "dev": true, "requires": { - "aggregate-error": "^3.0.0" + "@isaacs/cliui": "^8.0.2", + "@pkgjs/parseargs": "^0.11.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==", + "just-extend": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-6.2.0.tgz", + "integrity": "sha512-cYofQu2Xpom82S6qD778jBDpwvvy39s1l/hrYij2u9AMdQcGRpaBu6kY4mVhuno5kJVi1DAz4aiphA2WI1/OAw==", "dev": true }, - "package-hash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz", - "integrity": "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.15", - "hasha": "^5.0.0", - "lodash.flattendeep": "^4.4.0", - "release-zalgo": "^1.0.0" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", "dev": true }, - "path-key": { + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + }, + "loupe": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.1.tgz", + "integrity": "sha512-edNu/8D5MKVfGVFRhFf8aAxiTM6Wumfz5XsaatSxlD3w4R1d/WEKUTydCdPGbl9K7QG/Ca3GnDV2sIKIpXRQcw==", + "dev": true, + "requires": { + "get-func-name": "^2.0.1" + } + }, + "lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", "dev": true }, - "path-to-regexp": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.9.0.tgz", - "integrity": "sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==", + "magic-string": { + "version": "0.30.11", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz", + "integrity": "sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==", "dev": true, "requires": { - "isarray": "0.0.1" + "@jridgewell/sourcemap-codec": "^1.5.0" } }, - "pathval": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", - "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", - "dev": true + "magicast": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.3.4.tgz", + "integrity": "sha512-TyDF/Pn36bBji9rWKHlZe+PZb6Mx5V8IHCSxk7X4aljM4e/vyDvZZYwHewdVaqiA0nb3ghfHU/6AUpDxWoER2Q==", + "dev": true, + "requires": { + "@babel/parser": "^7.24.4", + "@babel/types": "^7.24.0", + "source-map-js": "^1.2.0" + } }, - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "md5": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz", + "integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==", + "dev": true, + "requires": { + "charenc": "0.0.2", + "crypt": "0.0.2", + "is-buffer": "~1.1.6" + }, + "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==", + "dev": true + } + } + }, + "minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + }, + "minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", "dev": true }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "msw": { + "version": "2.4.9", + "resolved": "https://registry.npmjs.org/msw/-/msw-2.4.9.tgz", + "integrity": "sha512-1m8xccT6ipN4PTqLinPwmzhxQREuxaEJYdx4nIbggxP8aM7r1e71vE7RtOUSQoAm1LydjGfZKy7370XD/tsuYg==", "dev": true, "requires": { - "find-up": "^4.0.0" + "@bundled-es-modules/cookie": "^2.0.0", + "@bundled-es-modules/statuses": "^1.0.1", + "@bundled-es-modules/tough-cookie": "^0.1.6", + "@inquirer/confirm": "^3.0.0", + "@mswjs/interceptors": "^0.35.8", + "@open-draft/until": "^2.1.0", + "@types/cookie": "^0.6.0", + "@types/statuses": "^2.0.4", + "chalk": "^4.1.2", + "graphql": "^16.8.1", + "headers-polyfill": "^4.0.2", + "is-node-process": "^1.2.0", + "outvariant": "^1.4.2", + "path-to-regexp": "^6.3.0", + "strict-event-emitter": "^0.5.1", + "type-fest": "^4.9.0", + "yargs": "^17.7.2" }, "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dev": true, "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" } }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } + "type-fest": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.20.0.tgz", + "integrity": "sha512-MBh+PHUHHisjXf4tlx0CFWoMdjx8zCMLJHOjnV1prABYZFHqtFOyauCIK2/7w4oIfwkF8iNhLtnJEfVY2vn3iw==", + "dev": true }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, "requires": { - "p-try": "^2.0.0" + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" } }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } + "yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true } } }, - "process-on-spawn": { + "mute-stream": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz", - "integrity": "sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==", - "dev": true, - "requires": { - "fromentries": "^1.2.0" - } + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-1.0.0.tgz", + "integrity": "sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==", + "dev": true }, - "proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + "nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "dev": true }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "nise": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/nise/-/nise-6.0.0.tgz", + "integrity": "sha512-K8ePqo9BFvN31HXwEtTNGzgrPpmvgciDsFz8aztFjt4LqKO/JeFD8tBOeuDiCMXrIl/m1YvfH8auSpxfaD09wg==", "dev": true, "requires": { - "safe-buffer": "^5.1.0" + "@sinonjs/commons": "^3.0.0", + "@sinonjs/fake-timers": "^11.2.2", + "@sinonjs/text-encoding": "^0.7.2", + "just-extend": "^6.2.0", + "path-to-regexp": "^6.2.1" } }, - "readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "requires": { - "picomatch": "^2.2.1" - } + "outvariant": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/outvariant/-/outvariant-1.4.3.tgz", + "integrity": "sha512-+Sl2UErvtsoajRDKCE5/dBz4DIvHXQQnAxtQTF04OJxY0+DyZXSo5P5Bb7XYWOh81syohlYL24hbDwxedPUJCA==", + "dev": true }, - "release-zalgo": { + "package-json-from-dist": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz", - "integrity": "sha512-gUAyHVHPPC5wdqX/LG4LWtRYtgjxyX78oanFNTMMyFEfOqdC54s3eE82imuWKbOeqYht2CrNf64Qb8vgmmtZGA==", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", + "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", "dev": true, "requires": { - "es6-error": "^4.0.1" + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" } }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "path-to-regexp": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.3.0.tgz", + "integrity": "sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==", + "dev": true + }, + "pathe": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", + "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", "dev": true }, - "require-main-filename": { + "pathval": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.0.tgz", + "integrity": "sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==", "dev": true }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "picocolors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", + "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==", "dev": true }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "pluralize": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", + "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", + "dev": true + }, + "postcss": { + "version": "8.4.47", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", + "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", "dev": true, "requires": { - "glob": "^7.1.3" + "nanoid": "^3.3.7", + "picocolors": "^1.1.0", + "source-map-js": "^1.2.1" } }, - "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==", + "psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", "dev": true }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "dev": true }, - "serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", - "dev": true, - "requires": { - "randombytes": "^2.1.0" - } + "querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "dev": true }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "ramda": { + "version": "0.30.1", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.30.1.tgz", + "integrity": "sha512-tEF5I22zJnuclswcZMc8bDIrwRHRzf+NqVEmqg50ShAZMP7MWeR/RGDthfM/p+BlqvF2fXAzpn8i+SJcYD3alw==" + }, + "regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", + "dev": true + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", "dev": true }, + "resolve-pkg-maps": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", + "dev": true + }, + "rollup": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.22.4.tgz", + "integrity": "sha512-vD8HJ5raRcWOyymsR6Z3o6+RzfEPCnVLMFJ6vRslO1jt4LO6dUo5Qnpg7y4RkZFM2DMe3WUirkI5c16onjrc6A==", + "dev": true, + "requires": { + "@rollup/rollup-android-arm-eabi": "4.22.4", + "@rollup/rollup-android-arm64": "4.22.4", + "@rollup/rollup-darwin-arm64": "4.22.4", + "@rollup/rollup-darwin-x64": "4.22.4", + "@rollup/rollup-linux-arm-gnueabihf": "4.22.4", + "@rollup/rollup-linux-arm-musleabihf": "4.22.4", + "@rollup/rollup-linux-arm64-gnu": "4.22.4", + "@rollup/rollup-linux-arm64-musl": "4.22.4", + "@rollup/rollup-linux-powerpc64le-gnu": "4.22.4", + "@rollup/rollup-linux-riscv64-gnu": "4.22.4", + "@rollup/rollup-linux-s390x-gnu": "4.22.4", + "@rollup/rollup-linux-x64-gnu": "4.22.4", + "@rollup/rollup-linux-x64-musl": "4.22.4", + "@rollup/rollup-win32-arm64-msvc": "4.22.4", + "@rollup/rollup-win32-ia32-msvc": "4.22.4", + "@rollup/rollup-win32-x64-msvc": "4.22.4", + "@types/estree": "1.0.5", + "fsevents": "~2.3.2" + }, + "dependencies": { + "@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true + } + } + }, "shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -8406,50 +7689,60 @@ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true }, + "siginfo": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", + "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", + "dev": true + }, "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true }, "sinon": { - "version": "14.0.2", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-14.0.2.tgz", - "integrity": "sha512-PDpV0ZI3ZCS3pEqx0vpNp6kzPhHrLx72wA0G+ZLaaJjLIYeE0n8INlgaohKuGy7hP0as5tbUd23QWu5U233t+w==", + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-18.0.0.tgz", + "integrity": "sha512-+dXDXzD1sBO6HlmZDd7mXZCR/y5ECiEiGCBSGuFD/kZ0bDTofPYc6JaeGmPSF+1j1MejGUWkORbYOLDyvqCWpA==", "dev": true, "requires": { - "@sinonjs/commons": "^2.0.0", - "@sinonjs/fake-timers": "^9.1.2", - "@sinonjs/samsam": "^7.0.1", - "diff": "^5.0.0", - "nise": "^5.1.2", - "supports-color": "^7.2.0" + "@sinonjs/commons": "^3.0.1", + "@sinonjs/fake-timers": "^11.2.2", + "@sinonjs/samsam": "^8.0.0", + "diff": "^5.2.0", + "nise": "^6.0.0", + "supports-color": "^7" } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", "dev": true }, - "spawn-wrap": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz", - "integrity": "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==", - "dev": true, - "requires": { - "foreground-child": "^2.0.0", - "is-windows": "^1.0.2", - "make-dir": "^3.0.0", - "rimraf": "^3.0.0", - "signal-exit": "^3.0.2", - "which": "^2.0.1" - } + "stackback": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", + "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", + "dev": true }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true + }, + "std-env": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz", + "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==", + "dev": true + }, + "strict-event-emitter": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/strict-event-emitter/-/strict-event-emitter-0.5.1.tgz", + "integrity": "sha512-vMgjE/GGEPEFnhFub6pa4FmJBRBVOLpIII2hvCZ8Kzb7K0hlHo7mQv6xYrBvCL2LtAIBwFUK8wvuJgTVSQ5MFQ==", "dev": true }, "string-width": { @@ -8463,6 +7756,17 @@ "strip-ansi": "^6.0.1" } }, + "string-width-cjs": { + "version": "npm:string-width@4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, "strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", @@ -8472,17 +7776,14 @@ "ansi-regex": "^5.0.1" } }, - "strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true - }, - "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true + "strip-ansi-cjs": { + "version": "npm:strip-ansi@6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } }, "strnum": { "version": "1.0.5", @@ -8499,111 +7800,127 @@ } }, "test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-7.0.1.tgz", + "integrity": "sha512-pFYqmTw68LXVjeWJMST4+borgQP2AyMNbg1BpZh9LbyhUeNkeaPF9gzfPGUAnSMV3qPYdWUwDIjjCLiSDOl7vg==", "dev": true, "requires": { "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, - "dependencies": { - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } + "glob": "^10.4.1", + "minimatch": "^9.0.4" } }, + "tinybench": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", + "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", + "dev": true + }, + "tinyexec": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.0.tgz", + "integrity": "sha512-tVGE0mVJPGb0chKhqmsoosjsS+qUnJVGJpZgsHYQcGoPlG3B51R3PouqTgEGH2Dc9jjFyOqOpix6ZHNMXp1FZg==", + "dev": true + }, + "tinypool": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.0.1.tgz", + "integrity": "sha512-URZYihUbRPcGv95En+sz6MfghfIc2OJ1sv/RmhWZLouPY0/8Vo80viwPvg3dlaS9fuq7fQMEfgRRK7BBZThBEA==", + "dev": true + }, + "tinyrainbow": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-1.2.0.tgz", + "integrity": "sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==", + "dev": true + }, + "tinyspy": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-3.0.2.tgz", + "integrity": "sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==", + "dev": true + }, "to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", "dev": true }, - "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==", + "tough-cookie": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", + "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", "dev": true, "requires": { - "is-number": "^7.0.0" + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" } }, - "ts-node": { - "version": "10.9.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", - "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", - "dev": true, - "requires": { - "@cspotcode/source-map-support": "^0.8.0", - "@tsconfig/node10": "^1.0.7", - "@tsconfig/node12": "^1.0.7", - "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.2", - "acorn": "^8.4.1", - "acorn-walk": "^8.1.1", - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.1", - "yn": "3.1.1" - }, - "dependencies": { - "diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true - } - } + "ts-toolbelt": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/ts-toolbelt/-/ts-toolbelt-9.6.0.tgz", + "integrity": "sha512-nsZd8ZeNUzukXPlJmTBwUAuABDe/9qtVDelJeT/qW0ow3ZS3BsQJtNkan1802aM9Uf68/Y8ljw86Hu0h5IUW3w==", + "dev": true }, "tslib": { "version": "2.6.3", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==" }, + "tsx": { + "version": "4.15.6", + "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.15.6.tgz", + "integrity": "sha512-is0VQQlfNZRHEuSSTKA6m4xw74IU4AizmuB6lAYLRt9XtuyeQnyJYexhNZOPCB59SqC4JzmSzPnHGBXxf3k0hA==", + "dev": true, + "requires": { + "esbuild": "~0.21.4", + "fsevents": "~2.3.3", + "get-tsconfig": "^4.7.5" + } + }, "type-detect": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", "dev": true }, - "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true - }, - "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==", + "types-ramda": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/types-ramda/-/types-ramda-0.30.0.tgz", + "integrity": "sha512-oVPw/KHB5M0Du0txTEKKM8xZOG9cZBRdCVXvwHYuNJUVkAiJ9oWyqkA+9Bj2gjMsHgkkhsYevobQBWs8I2/Xvw==", "dev": true, "requires": { - "is-typedarray": "^1.0.0" + "ts-toolbelt": "^9.6.0" } }, "typescript": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.3.tgz", - "integrity": "sha512-XH627E9vkeqhlZFQuL+UsyAXEnibT0kWR2FWONlr4sTjvxyJYnyefgrkyECLzM5NenmKzRAy2rR/OlYLA1HkZw==", + "version": "5.4.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", + "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", + "dev": true + }, + "undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", "dev": true }, - "update-browserslist-db": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", - "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", + "universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "dev": true + }, + "url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", "dev": true, "requires": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" } }, "uuid": { @@ -8612,11 +7929,56 @@ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", "dev": true }, - "v8-compile-cache-lib": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", - "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", - "dev": true + "vite": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.6.tgz", + "integrity": "sha512-IeL5f8OO5nylsgzd9tq4qD2QqI0k2CQLGrWD0rCN0EQJZpBK5vJAx0I+GDkMOXxQX/OfFHMuLIx6ddAxGX/k+Q==", + "dev": true, + "requires": { + "esbuild": "^0.21.3", + "fsevents": "~2.3.3", + "postcss": "^8.4.43", + "rollup": "^4.20.0" + } + }, + "vite-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-2.1.1.tgz", + "integrity": "sha512-N/mGckI1suG/5wQI35XeR9rsMsPqKXzq1CdUndzVstBj/HvyxxGctwnK6WX43NGt5L3Z5tcRf83g4TITKJhPrA==", + "dev": true, + "requires": { + "cac": "^6.7.14", + "debug": "^4.3.6", + "pathe": "^1.1.2", + "vite": "^5.0.0" + } + }, + "vitest": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-2.1.1.tgz", + "integrity": "sha512-97We7/VC0e9X5zBVkvt7SGQMGrRtn3KtySFQG5fpaMlS+l62eeXRQO633AYhSTC3z7IMebnPPNjGXVGNRFlxBA==", + "dev": true, + "requires": { + "@vitest/expect": "2.1.1", + "@vitest/mocker": "2.1.1", + "@vitest/pretty-format": "^2.1.1", + "@vitest/runner": "2.1.1", + "@vitest/snapshot": "2.1.1", + "@vitest/spy": "2.1.1", + "@vitest/utils": "2.1.1", + "chai": "^5.1.1", + "debug": "^4.3.6", + "magic-string": "^0.30.11", + "pathe": "^1.1.2", + "std-env": "^3.7.0", + "tinybench": "^2.9.0", + "tinyexec": "^0.3.0", + "tinypool": "^1.0.0", + "tinyrainbow": "^1.2.0", + "vite": "^5.0.0", + "vite-node": "2.1.1", + "why-is-node-running": "^2.3.0" + } }, "which": { "version": "2.0.2", @@ -8627,17 +7989,15 @@ "isexe": "^2.0.0" } }, - "which-module": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", - "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", - "dev": true - }, - "workerpool": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", - "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==", - "dev": true + "why-is-node-running": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", + "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", + "dev": true, + "requires": { + "siginfo": "^2.0.0", + "stackback": "0.0.2" + } }, "wrap-ansi": { "version": "7.0.0", @@ -8650,22 +8010,15 @@ "strip-ansi": "^6.0.0" } }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "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==", + "wrap-ansi-cjs": { + "version": "npm:wrap-ansi@7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, "requires": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" } }, "y18n": { @@ -8674,70 +8027,10 @@ "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - }, - "yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - } - }, - "yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", - "dev": true - }, - "yargs-unparser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", - "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", - "dev": true, - "requires": { - "camelcase": "^6.0.0", - "decamelize": "^4.0.0", - "flat": "^5.0.2", - "is-plain-obj": "^2.1.0" - }, - "dependencies": { - "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true - }, - "decamelize": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", - "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", - "dev": true - } - } - }, - "yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "dev": true - }, - "yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true + "zod": { + "version": "3.23.8", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.23.8.tgz", + "integrity": "sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==" } } } diff --git a/source/backend/functions/metrics/package.json b/source/backend/functions/metrics/package.json index 142af1f5..0330e78f 100644 --- a/source/backend/functions/metrics/package.json +++ b/source/backend/functions/metrics/package.json @@ -1,16 +1,18 @@ { "name": "metrics", - "version": "2.1.15", + "version": "2.2.0", "description": "", "main": "index.js", + "type": "module", "scripts": { "clean": "rm -rf dist", - "build": "npm run clean && npm ci && tsc && mv src/index.js . && npm run build:zip && npm run build:dist && rm index.js", - "build:zip": "zip -rq metrics.zip .", - "build:dist": "mkdir dist && mv metrics.zip dist/", - "test": "nyc --reporter=html --reporter=text mocha -r ts-node/register test/*", - "test:ci": "npm ci && nyc --reporter=nyc-report-lcov-absolute mocha -r ts-node/register --forbid-only test/*", - "posttest:ci": "echo \"$(awk '{gsub(/SF:.*\\/source\\//, \"SF:source/\")}1' coverage/lcov.info)\" > coverage/lcov.info" + "compile": "tsc", + "test": "vitest run --coverage", + "pretest:ci": "npm ci", + "test:ci": "vitest run --coverage --allowOnly false", + "prebuild": "npm run clean", + "build": "npm ci && npm run compile && npm prune --omit dev && npm run build:zip", + "build:zip": "zip -rq metrics.zip node_modules/ && mv metrics.zip dist && cd dist && zip -rq metrics.zip ." }, "author": { "name": "Amazon Web Services", @@ -18,24 +20,26 @@ }, "license": "Apache-2.0", "dependencies": { + "@aws-lambda-powertools/logger": "2.2.0", "@aws-sdk/client-s3": "3.621.0", - "@aws-sdk/client-ssm": "3.621.0", - "@aws-sdk/credential-providers": "3.621.0", - "aws4": "1.12.0", - "axios": "1.7.4" + "aws4": "1.13.0", + "ramda": "0.30.1", + "zod": "3.23.8" }, "devDependencies": { - "@types/aws4": "^1.11.3", - "@types/chai": "^4.3.9", - "@types/mocha": "^10.0.1", + "@mswjs/data": "^0.16.1", + "@types/aws4": "^1.11.6", + "@types/chai": "^4.3.16", + "@types/mocha": "^10.0.6", "@types/node": "^20.4.1", + "@types/ramda": "^0.30.0", + "@vitest/coverage-v8": "^2.1.1", "aws-sdk-client-mock": "^3.0.0", - "axios-mock-adapter": "^1.21.5", - "chai": "^4.3.10", - "mocha": "^10.2.0", - "nyc": "^15.1.0", - "nyc-report-lcov-absolute": "^1.0.0", - "ts-node": "10.9.1", - "typescript": "5.1.3" + "chai": "^5.1.1", + "msw": "^2.3.1", + "sinon": "^18.0.0", + "tsx": "^4.15.6", + "typescript": "5.4.5", + "vitest": "^2.1.1" } } diff --git a/source/backend/functions/metrics/src/index.ts b/source/backend/functions/metrics/src/index.ts index 671a92b2..1b94d2bd 100644 --- a/source/backend/functions/metrics/src/index.ts +++ b/source/backend/functions/metrics/src/index.ts @@ -1,199 +1,351 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import { randomUUID } from "crypto"; -import { S3Client, paginateListObjectsV2, HeadObjectCommand } from "@aws-sdk/client-s3"; -import { SSMClient, GetParameterCommand, PutParameterCommand } from "@aws-sdk/client-ssm"; -import axios from 'axios'; -import { fromNodeProviderChain } from '@aws-sdk/credential-providers'; import aws4 from 'aws4'; +import * as R from 'ramda'; +import z from 'zod'; +import {S3Client, S3, paginateListObjectsV2} from '@aws-sdk/client-s3'; +import {Logger} from '@aws-lambda-powertools/logger'; -const {REGION: region} = process.env; -const s3Client = new S3Client({region}); -const ssmClient = new SSMClient({region}); -const metrics_parameter_name = '/Solutions/WorkloadDiscovery/anonymous_metrics_uuid'; - -type Metric = { - numberOfDiagrams: number, - costFeatureEnabled: boolean, - numberOfAccounts: number, - crossAccountDiscovery: string | undefined, - numberOfResources: number -} +const logger = new Logger({serviceName: 'WdMetricsLambda'}); -type Usage = { - Solution: string, - UUID: string, - TimeStamp: string, - Data: Metric, - Version: string -} +const s3Client = new S3(); -export const handler = async () => { - const {CROSS_ACCOUNT_DISCOVERY: crossAccountDiscovery} = process.env; - let [ numberOfDiagrams, costFeatureEnabled ] = await Promise.all([getDiagramCount(), checkCostFeature()]) - let {numberOfAccounts, numberOfResources}: any = await getAccountAndResourceCount(); - await sendMetrics({ - numberOfDiagrams, - costFeatureEnabled, - crossAccountDiscovery, - numberOfAccounts, - numberOfResources - }); +const METRIC_EVENT_VERSION = '1'; + +type DeploymentMetric = { + costFeatureEnabled: boolean; + crossAccountDiscovery: string; + openSearchInstanceType: string; + neptuneInstanceClass: string; }; -async function getDiagramCount() { - let diagramsCount: number = 0; - - for await (const s3Page of paginateListObjectsV2({ - client: s3Client, - pageSize: 100 - },{ - Bucket: process.env.diagramBucket, - Prefix: "private/" - })) { - if (s3Page.KeyCount) { - diagramsCount += s3Page?.KeyCount; - } - } - for await (const s3Page of paginateListObjectsV2({ - client: s3Client, - pageSize: 100 - }, { - Bucket: process.env.diagramBucket, - Prefix: "public/" - })) { - if (s3Page.KeyCount) { - diagramsCount += s3Page.KeyCount; +type DiagramMetric = { + totalDiagrams: number; +}; + +type AccountMetric = { + totalAccounts: number; + totalResources: number; + medianAccountResources: number; + averageAccountResources: number; + maxAccountResources: number; +}; + +type Metric = AccountMetric & DiagramMetric & DeploymentMetric; + +type MetricMetadata = { + metricsUuid: string; + solutionId: string; + solutionVersion: string; +}; + +export type MetricsPayload = { + event_name: string; + solution: string; + timestamp: string; + context: Metric; + context_version: string; + uuid: string; + version: string; +}; + +const envSchema = z.object({ + COST_BUCKET: z.string(), + CROSS_ACCOUNT_DISCOVERY: z.string(), + DIAGRAMS_BUCKET: z.string(), + GRAPHQL_API_ENDPOINT: z.string().url(), + METRICS_URL: z.string().url(), + METRICS_UUID: z.string().uuid(), + SOLUTION_ID: z.string(), + SOLUTION_VERSION: z.string(), + OPENSEARCH_INSTANCE_TYPE: z.string(), + NEPTUNE_INSTANCE_CLASS: z.string(), +}); + +function createMetricPayload( + {metricsUuid, solutionId, solutionVersion}: MetricMetadata, + type: string, + metric: Metric +): MetricsPayload { + return { + event_name: type, + solution: solutionId, + timestamp: new Date().toISOString().replace('T', ' ').substring(0, 21), + uuid: metricsUuid, + version: solutionVersion, + context_version: METRIC_EVENT_VERSION, + context: metric, + }; +} + +export async function handler(): Promise { + const { + CROSS_ACCOUNT_DISCOVERY: crossAccountDiscovery, + METRICS_URL: metricsUrl, + METRICS_UUID: metricsUuid, + SOLUTION_ID: solutionId, + SOLUTION_VERSION: solutionVersion, + GRAPHQL_API_ENDPOINT: graphQlApiEndpoint, + DIAGRAMS_BUCKET: diagramsBucket, + COST_BUCKET: costBucket, + NEPTUNE_INSTANCE_CLASS: neptuneInstanceClass, + OPENSEARCH_INSTANCE_TYPE: openSearchInstanceType, + } = envSchema.parse(process.env); + + const [totalDiagrams, costFeatureEnabled, accountMetric] = + await Promise.all([ + getDiagramsCount(diagramsBucket), + checkCostFeature(costBucket), + getAccountAndResourceCount(graphQlApiEndpoint), + ]); + + const metricsPayload = createMetricPayload( + { + metricsUuid, + solutionId, + solutionVersion, + }, + 'DeploymentInfoEvent', + { + totalDiagrams, + costFeatureEnabled, + crossAccountDiscovery, + openSearchInstanceType, + neptuneInstanceClass, + ...accountMetric, } + ); + + return sendMetrics(metricsUrl, metricsPayload) + .then(() => metricsPayload) + .then( + R.tap(payload => logger.info('Metric sent successfully', {payload})) + ); +} + +async function countS3Objects(Bucket: string, Prefix: string): Promise { + let count = 0; + + const listObjectsV2Paginator = paginateListObjectsV2( + { + client: new S3Client(), + pageSize: 100, + }, + {Prefix, Bucket} + ); + + for await (const s3Page of listObjectsV2Paginator) { + count += s3Page?.KeyCount ?? 0; } - return diagramsCount + return count; } -async function checkCostFeature() { - const getCostFileCommand = new HeadObjectCommand({ - Bucket: process.env.costFeatureBucket, - Key: "aws-programmatic-access-test-object" - }) - try { - await s3Client.send(getCostFileCommand) - } - catch { - return false - } - return true +async function getDiagramsCount(diagramsBucket: string): Promise { + logger.info('Retrieving diagram counts.'); + const [publicDiagramsCount, privateDiagramsCount] = await Promise.all([ + countS3Objects(diagramsBucket, 'public/'), + countS3Objects(diagramsBucket, 'private/'), + ]); + + const diagramsCount = publicDiagramsCount + privateDiagramsCount; + logger.info(`${diagramsCount} diagrams retrieved.`); + return diagramsCount; } -async function getAccountAndResourceCount(): Promise { - const GRAPHQL_ENDPOINT = process.env.GRAPHQL_API_ENDPOINT as string; - const CredentialsProvider = fromNodeProviderChain(); - const method = 'POST'; - const query = /* GraphQL */ ` - query MyQuery { - getResourcesAccountMetadata { - accountId - count - } - } - `; - let credentials = await CredentialsProvider(); - const url = new URL(GRAPHQL_ENDPOINT) - const region = process.env.REGION; - - const signingOptions = { - method, - host: url.hostname, - path: url.pathname, - region, - body: JSON.stringify({ - query - }), - service: 'appsync' - }; - - const sig = aws4.sign(signingOptions, credentials); - - const response = await axios.request({ - url: GRAPHQL_ENDPOINT, - method: method, - headers: sig.headers, - data: signingOptions.body - }) - - let results: any = { - numberOfAccounts: 0, - numberOfResources: 0 - } - - let resourcesCount = 0; - - const accountData = response.data.data.getResourcesAccountMetadata - if (accountData) { - - for(const accountIndex in accountData) { - resourcesCount += accountData[accountIndex]["count"] - } +async function checkCostFeature(Bucket: string): Promise { + return s3Client + .headObject({ + Bucket, + Key: 'aws-programmatic-access-test-object', + }) + .then(() => true) + .catch(() => false) + .then( + R.tap(enabled => + logger.info( + `The cost feature is ${enabled ? '' : 'not'} enabled` + ) + ) + ); +} - results.numberOfResources = resourcesCount; +type GraphQlError = { + path: string[]; + errorType: string; + locations: {line: string; column: string}[]; + message: string; +}; + +class AppSyncError extends Error { + errors: GraphQlError[]; - if (accountData.length >= 2) { - let foundIndex = accountData.findIndex((data: any) => data.accountId == "aws") - if (foundIndex != -1) { - accountData.splice(foundIndex,1) - } + constructor(msg: string, errors: GraphQlError[]) { + super(msg); + this.errors = errors; } +} - results.numberOfAccounts = accountData.length; - } +type Account = { + accountId: string; +}; - return results; +type getAccountsResponse = { + getAccounts: Account[]; +}; + +export type AccountMetadata = { + accountId: string; + count: number; +}; + +type getResourcesAccountMetadataResponse = { + getResourcesAccountMetadata: AccountMetadata[]; +}; + +type GqlData = getAccountsResponse | getResourcesAccountMetadataResponse; + +type GqlResponse = { + data?: GqlData; + errors?: GraphQlError[]; +}; + +function assertErrorsIsNull( + gqlResponse: GqlResponse +): asserts gqlResponse is {data: GqlData} { + const {errors, data} = gqlResponse; + if (data == null && errors != null) + throw new AppSyncError('There was an error making the request', errors); } -async function getAnonymousUuid(): Promise { - try { - const input = new GetParameterCommand({ - Name: metrics_parameter_name - }); - let response = await ssmClient.send(input); - return response.Parameter?.Value as string - } - catch(error: any) { - if (error.name == 'ParameterNotFound') { - const uuid = randomUUID(); - await updateAnonymousUuid(uuid); - return uuid; - } - throw error; - } - } - - async function updateAnonymousUuid(uuid: string) { - const input = new PutParameterCommand({ - Name: metrics_parameter_name, - Description:'Unique Id for anonymous metrics collection', - Value: uuid, - Type:'String' +type GqlVariables = {accounts: Account[]} | Record; + +async function makeGqlRequest( + url: string, + query: string, + variables: GqlVariables +): Promise { + const method = 'POST'; + const {hostname, pathname} = new URL(url); + + const signingOptions = { + method, + host: hostname, + path: pathname, + region: process.env.AWS_REGION, + body: JSON.stringify({ + query, + variables, + }), + service: 'appsync', + }; + + const sig = aws4.sign(signingOptions); + + const response: GqlResponse = await fetch(url, { + method: method, + headers: sig.headers as HeadersInit, + body: signingOptions.body, + }).then(res => res.json()); + + assertErrorsIsNull(response); + + return response.data; +} + +function assertIsGetAccountsResponse( + data: GqlData +): asserts data is getAccountsResponse { + if (!Boolean('getAccounts' in data)) + throw new Error('getAccounts response malformed'); +} + +async function getAccounts(url: string): Promise { + const query = /* GraphQL */ ` + query GetAccounts { + getAccounts { + accountId + } + } + `; + + return makeGqlRequest(url, query, {}).then(data => { + assertIsGetAccountsResponse(data); + return data.getAccounts; }); - return ssmClient.send(input); - } - -async function sendMetrics(metric: Metric) { - const UUID = await getAnonymousUuid(); - return postToMetricsApi({ - Solution: 'SO0075', - UUID, - TimeStamp: new Date().toISOString().replace("T"," ").substring(0, 21), - Data: metric, - Version: process.env.SOLUTION_VERSION as string +} + +function assertIsGetResourcesAccountMetadataResponse( + data: GqlData +): asserts data is getResourcesAccountMetadataResponse { + if (!Boolean('getResourcesAccountMetadata' in data)) + throw new Error('getResourcesAccountMetadata response malformed'); +} + +async function getResourcesAccountMetadata( + url: string, + accounts: Account[] +): Promise { + const query = /* GraphQL */ ` + query GetResourcesAccountMetadata($accounts: [AccountInput]) { + getResourcesAccountMetadata(accounts: $accounts) { + accountId + count + } + } + `; + + return makeGqlRequest(url, query, {accounts}).then(data => { + assertIsGetResourcesAccountMetadataResponse(data); + return data.getResourcesAccountMetadata; }); } -async function postToMetricsApi(usage: Usage) { - const url = 'https://metrics.awssolutionsbuilder.com/generic'; - return axios.post(url, usage, { - headers: { - "Content-Type": "application/json" - } - }) +async function getAccountAndResourceCount(url: string): Promise { + const BATCH_SIZE = 50; + logger.info('Retrieving account list'); + return getAccounts(url) + .then(R.tap(() => logger.info('Accounts retrieved'))) + .then(R.reject((x: Account): boolean => x.accountId === 'aws')) + .then(xs => R.splitEvery(BATCH_SIZE, xs)) + .then( + R.tap(xs => + logger.info( + `Retrieving account metadata in ${xs.length} batches of ${BATCH_SIZE}` + ) + ) + ) + .then( + R.map((batch: Account[]): Promise => { + return getResourcesAccountMetadata(url, batch); + }) + ) + .then(ps => Promise.all(ps)) + .then(R.tap(() => logger.info('Accounts metadata retrieved'))) + .then( + R.chain((accounts: AccountMetadata[]): number[] => + accounts.map(x => x.count) + ) + ) + .then((counts: number[]) => { + return { + totalAccounts: counts.length, + totalResources: R.sum(counts), + medianAccountResources: R.median(counts), + averageAccountResources: R.mean(counts), + maxAccountResources: Math.max(...counts), + }; + }); +} + +async function sendMetrics(url: string, payload: MetricsPayload) { + const response = await fetch(url, { + method: 'POST', + body: JSON.stringify(payload), + headers: { + 'Content-Type': 'application/json', + }, + }); + return response.json(); } diff --git a/source/backend/functions/metrics/test/index.test.ts b/source/backend/functions/metrics/test/index.test.ts index c90bbf59..06fd84db 100644 --- a/source/backend/functions/metrics/test/index.test.ts +++ b/source/backend/functions/metrics/test/index.test.ts @@ -1,141 +1,114 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import chai from 'chai'; +import {afterAll, describe, it, beforeAll, beforeEach} from 'vitest'; +import {assert} from 'chai'; import {mockClient} from 'aws-sdk-client-mock'; -import axios from 'axios'; -import MockAdapter from 'axios-mock-adapter'; -import { S3Client, HeadObjectCommand, ListObjectsV2Command } from "@aws-sdk/client-s3"; -import { handler } from '../src/index'; -import { GetParameterCommand, PutParameterCommand, SSMClient } from '@aws-sdk/client-ssm'; +import { + S3Client, + HeadObjectCommand, + ListObjectsV2Command, +} from '@aws-sdk/client-s3'; +import {server} from './mocks/node.js'; +import {handler, MetricsPayload} from '../src/index.js'; +import * as sinon from 'sinon'; +import { + METRICS_URL, + METRICS_UUID, + SOLUTION_ID, + SOLUTION_VERSION, +} from './constants.js'; -const axiosMock = new MockAdapter(axios); const s3Mock = mockClient(S3Client); -const ssmMock = mockClient(SSMClient); process.env = { ...process.env, - REGION: "us-east-2", - costFeatureBucket: "testCostFeatureBucket", - diagramBucket: "testDiagramBucket", - GRAPHQL_API_ENDPOINT: "https://mock.appsync-api.us-east-2.amazonaws.com/graphql", - AWS_ACCESS_KEY_ID: "mock-access-key-id", - AWS_SECRET_ACCESS_KEY: "mock-secret-access-key-id", - CROSS_ACCOUNT_DISCOVERY: "AWS_ORGANIZATIONS" -} - -beforeEach(() => { - axiosMock.reset() - s3Mock.reset() - ssmMock -}) + METRICS_UUID, + METRICS_URL, + SOLUTION_ID, + SOLUTION_VERSION, + REGION: 'us-east-2', + COST_BUCKET: 'testCostFeatureBucket', + DIAGRAMS_BUCKET: 'testDiagramBucket', + GRAPHQL_API_ENDPOINT: + 'https://mock.appsync-api.us-east-2.amazonaws.com/graphql', + AWS_ACCESS_KEY_ID: 'mock-access-key-id', + AWS_SECRET_ACCESS_KEY: 'mock-secret-access-key-id', + CROSS_ACCOUNT_DISCOVERY: 'AWS_ORGANIZATIONS', + OPENSEARCH_INSTANCE_TYPE: 'db.t3.medium', + NEPTUNE_INSTANCE_CLASS: 't3.small.search', +}; describe('index.js', () => { - + beforeAll(() => { + server.listen(); + }); + + afterAll(() => { + server.close(); + }); + + beforeEach(() => { + s3Mock.reset(); + sinon.reset(); + }); + describe('handler', () => { - it('should send metric data as expected', async () => { - s3Mock.on(ListObjectsV2Command, { - Bucket: process.env.diagramBucket, - Prefix: "private/" - }).resolvesOnce({ - Contents: [{Key: "test"}, {Key: "test2"}], - KeyCount: 2 + it('should send metric data in v2 event format', async () => { + s3Mock + .on(ListObjectsV2Command, { + Bucket: process.env.DIAGRAMS_BUCKET, + Prefix: 'private/', }) - s3Mock.on(ListObjectsV2Command,{ - Bucket: process.env.diagramBucket, - Prefix: "public/" - }).resolvesOnce({ - Contents: [{Key: "test"}, {Key: "test2"}], - KeyCount: 2 + .resolvesOnce({ + Contents: [{Key: 'test'}, {Key: 'test2'}], + KeyCount: 2, + }); + s3Mock + .on(ListObjectsV2Command, { + Bucket: process.env.DIAGRAMS_BUCKET, + Prefix: 'public/', }) - s3Mock.on(HeadObjectCommand, { - Bucket: process.env.costFeatureBucket, - Key: "aws-programmatic-access-test-object" - }).resolves({ - ContentLength: 500 + .resolvesOnce({ + Contents: [{Key: 'test'}, {Key: 'test2'}], + KeyCount: 2, + }); + s3Mock + .on(HeadObjectCommand, { + Bucket: process.env.COST_BUCKET, + Key: 'aws-programmatic-access-test-object', }) - ssmMock.on(GetParameterCommand, { - Name: "/Solutions/WorkloadDiscovery/anonymous_metrics_uuid" - }).resolvesOnce({ - Parameter: { - Value: "Test" - } - }) - axiosMock.onPost(process.env.GRAPHQL_API_ENDPOINT).reply(200, { - data: { - getResourcesAccountMetadata: [ - { - "accountId": "aws", - "count": 31 - }, - { - "accountId": "xxxxxxxxxxxx", - "count": 1195 - } - ] - } - }) - axiosMock.onPost('https://metrics.awssolutionsbuilder.com/generic').replyOnce(200) - await handler(); - chai.expect(axiosMock.history.post.length).to.eql(2) - let sentData = JSON.parse(axiosMock.history.post[1].data) - chai.expect(sentData.Data).to.eql({ - "numberOfDiagrams": 4, - "costFeatureEnabled": true, - "crossAccountDiscovery": "AWS_ORGANIZATIONS", - "numberOfAccounts": 1, - "numberOfResources": 1226 - }) - }); + .resolves({ + ContentLength: 500, + }); - it('should create new UUID when it doesnt exist', async () => { - s3Mock.on(ListObjectsV2Command, { - Bucket: process.env.diagramBucket, - Prefix: "private/" - }).resolves({ - Contents: [{Key: "test"}, {Key: "test2"}], - KeyCount: 2 - }) - s3Mock.on(ListObjectsV2Command,{ - Bucket: process.env.diagramBucket, - Prefix: "public/" - }).resolves({ - Contents: [{Key: "test"}, {Key: "test2"}], - KeyCount: 2 - }) - s3Mock.on(HeadObjectCommand, { - Bucket: process.env.costFeatureBucket, - Key: "aws-programmatic-access-test-object" - }).resolves({ - ContentLength: 500 - }) - ssmMock.on(GetParameterCommand, { - Name: "/Solutions/WorkloadDiscovery/anonymous_metrics_uuid" - }).rejects({ - name: "ParameterNotFound" - }) - ssmMock.on(PutParameterCommand, { - Name: "/Solutions/WorkloadDiscovery/anonymous_metrics_uuid" - }).resolvesOnce({}) + const mockedDate = new Date('2024-01-01'); + sinon.useFakeTimers(mockedDate); - axiosMock.onPost(process.env.GRAPHQL_API_ENDPOINT).reply(200, { - data: { - getResourcesAccountMetadata: [ - { - "accountId": "aws", - "count": 31 - }, - { - "accountId": "xxxxxxxxxxxx", - "count": 1195 - } - ] - } - }) - axiosMock.onPost('https://metrics.awssolutionsbuilder.com/generic').replyOnce(200) - await handler(); - let sentData = JSON.parse(axiosMock.history.post[1].data) - chai.expect(sentData.UUID).to.not.eql("Test") + const actual = await handler(); + + const expected: MetricsPayload = { + event_name: 'DeploymentInfoEvent', + solution: SOLUTION_ID, + timestamp: '2024-01-01 00:00:00.0', + uuid: METRICS_UUID, + version: SOLUTION_VERSION, + context_version: '1', + context: { + totalDiagrams: 4, + costFeatureEnabled: true, + crossAccountDiscovery: 'AWS_ORGANIZATIONS', + totalAccounts: 100, + totalResources: 495000, + medianAccountResources: 4950, + averageAccountResources: 4950, + maxAccountResources: 9900, + neptuneInstanceClass: 't3.small.search', + openSearchInstanceType: 'db.t3.medium', + }, + }; + + assert.deepEqual(actual, expected); + }); }); -}) -}); \ No newline at end of file +}); diff --git a/source/backend/functions/metrics/tsconfig.json b/source/backend/functions/metrics/tsconfig.json index fa38fdfa..e9084dec 100644 --- a/source/backend/functions/metrics/tsconfig.json +++ b/source/backend/functions/metrics/tsconfig.json @@ -1,12 +1,18 @@ { "compilerOptions": { - "target": "es2016", - "module": "CommonJS", + "target": "ES2022", + "module": "NodeNext", + "moduleResolution": "NodeNext", "resolveJsonModule": true, "noEmitOnError": true, "esModuleInterop": true, "forceConsistentCasingInFileNames": true, "strict": true, - "skipLibCheck": true - } + "skipLibCheck": true, + "sourceMap": true, + "outDir": "dist" + }, + "include": [ + "src/**/*.ts", "package.json" + ] } diff --git a/source/backend/functions/opensearch-setup/package-lock.json b/source/backend/functions/opensearch-setup/package-lock.json index 68748ec0..808b1aa6 100644 --- a/source/backend/functions/opensearch-setup/package-lock.json +++ b/source/backend/functions/opensearch-setup/package-lock.json @@ -1,789 +1,2191 @@ { "name": "opensearch-setup", - "version": "2.1.15", + "version": "2.2.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "opensearch-setup", - "version": "2.1.15", + "version": "2.2.0", "license": "Apache-2.0", "dependencies": { + "@aws-sdk/credential-provider-node": "^3.645.0", "@opensearch-project/opensearch": "2.3.1", - "aws-opensearch-connector": "1.0.0", "cfn-response-promise": "1.1.0" } }, - "node_modules/@opensearch-project/opensearch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/@opensearch-project/opensearch/-/opensearch-2.3.1.tgz", - "integrity": "sha512-Kg8tddAx6sinStnNi6IeGilfvLWlonIxaRdVNiJcNPr1yMqd0c9TSegn18zKr0Pb0IM9xBIGBSkRPuh67ZN6Hw==", + "node_modules/@aws-crypto/sha256-browser": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-5.2.0.tgz", + "integrity": "sha512-AXfN/lGotSQwu6HNcEsIASo7kWXZ5HYWvfOmSNKDsEqC4OashTp8alTmaz+F7TC2L083SFv5RdB+qU3Vs1kZqw==", "dependencies": { - "aws4": "^1.11.0", - "debug": "^4.3.1", - "hpagent": "^1.2.0", - "ms": "^2.1.3", - "secure-json-parse": "^2.4.0" + "@aws-crypto/sha256-js": "^5.2.0", + "@aws-crypto/supports-web-crypto": "^5.2.0", + "@aws-crypto/util": "^5.2.0", + "@aws-sdk/types": "^3.222.0", + "@aws-sdk/util-locate-window": "^3.0.0", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/is-array-buffer": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz", + "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==", + "dependencies": { + "tslib": "^2.6.2" }, "engines": { - "node": ">=10", - "yarn": "^1.22.10" + "node": ">=14.0.0" } }, - "node_modules/available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", - "peer": true, - "engines": { - "node": ">= 0.4" + "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/util-buffer-from": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz", + "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==", + "dependencies": { + "@smithy/is-array-buffer": "^2.2.0", + "tslib": "^2.6.2" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=14.0.0" } }, - "node_modules/aws-opensearch-connector": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/aws-opensearch-connector/-/aws-opensearch-connector-1.0.0.tgz", - "integrity": "sha512-6e6qqt14qloNdWyiEKsOXdEolvPGemFi5yRmwP79erhcVSP4vf5dW1DER7zqblJAYM9n3B2Ij8hH5sv3SNHv+g==", + "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/util-utf8": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz", + "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==", "dependencies": { - "aws4": "^1.11.0" + "@smithy/util-buffer-from": "^2.2.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">= 10" - }, - "peerDependencies": { - "@opensearch-project/opensearch": ">=1.0.0", - "aws-sdk": "^2.683.0" + "node": ">=14.0.0" } }, - "node_modules/aws-sdk": { - "version": "2.1413.0", - "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1413.0.tgz", - "integrity": "sha512-vKpjC7iRwOhgv7P0xw90mVGO//2rqVPJKyYIs7uxLzSV0JzriVD+yqktOu/Hz6/phOmAd1cMIeFgpEC9ynrppg==", - "peer": true, + "node_modules/@aws-crypto/sha256-js": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-5.2.0.tgz", + "integrity": "sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA==", "dependencies": { - "buffer": "4.9.2", - "events": "1.1.1", - "ieee754": "1.1.13", - "jmespath": "0.16.0", - "querystring": "0.2.0", - "sax": "1.2.1", - "url": "0.10.3", - "util": "^0.12.4", - "uuid": "8.0.0", - "xml2js": "0.5.0" + "@aws-crypto/util": "^5.2.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">= 10.0.0" + "node": ">=16.0.0" } }, - "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/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" - } - ], - "peer": true + "node_modules/@aws-crypto/supports-web-crypto": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-5.2.0.tgz", + "integrity": "sha512-iAvUotm021kM33eCdNfwIN//F77/IADDSs58i+MDaOqFrVjZo9bAal0NK7HurRuWLLpF1iLX7gbWrjHjeo+YFg==", + "dependencies": { + "tslib": "^2.6.2" + } }, - "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==", - "peer": true, + "node_modules/@aws-crypto/util": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-5.2.0.tgz", + "integrity": "sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==", "dependencies": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" + "@aws-sdk/types": "^3.222.0", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.6.2" } }, - "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "peer": true, + "node_modules/@aws-crypto/util/node_modules/@smithy/is-array-buffer": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz", + "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==", "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" + "tslib": "^2.6.2" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=14.0.0" } }, - "node_modules/cfn-response-promise": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/cfn-response-promise/-/cfn-response-promise-1.1.0.tgz", - "integrity": "sha512-PHmokAJ5nKYiLTVAn2gxm9wz8h756niJj5h5SgthaDNnicZq0TOnVP5vtj6EGPwBvt14o8HgI/gXOKEcKiwZWw==", + "node_modules/@aws-crypto/util/node_modules/@smithy/util-buffer-from": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz", + "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==", + "dependencies": { + "@smithy/is-array-buffer": "^2.2.0", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=8.1.0" + "node": ">=14.0.0" } }, - "node_modules/debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "node_modules/@aws-crypto/util/node_modules/@smithy/util-utf8": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz", + "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==", "dependencies": { - "ms": "2.1.2" + "@smithy/util-buffer-from": "^2.2.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "node": ">=14.0.0" } }, - "node_modules/debug/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/events": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", - "integrity": "sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw==", - "peer": true, + "node_modules/@aws-sdk/client-sso": { + "version": "3.645.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.645.0.tgz", + "integrity": "sha512-2rc8TjnsNddOeKQ/pfNN7deNvGLXAeKeYtHtGDAiM2qfTKxd2sNcAsZ+JCDLyshuD4xLM5fpUyR0X8As9EAouQ==", + "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "3.635.0", + "@aws-sdk/middleware-host-header": "3.620.0", + "@aws-sdk/middleware-logger": "3.609.0", + "@aws-sdk/middleware-recursion-detection": "3.620.0", + "@aws-sdk/middleware-user-agent": "3.645.0", + "@aws-sdk/region-config-resolver": "3.614.0", + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.645.0", + "@aws-sdk/util-user-agent-browser": "3.609.0", + "@aws-sdk/util-user-agent-node": "3.614.0", + "@smithy/config-resolver": "^3.0.5", + "@smithy/core": "^2.4.0", + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/hash-node": "^3.0.3", + "@smithy/invalid-dependency": "^3.0.3", + "@smithy/middleware-content-length": "^3.0.5", + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-retry": "^3.0.15", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.2.0", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.15", + "@smithy/util-defaults-mode-node": "^3.0.15", + "@smithy/util-endpoints": "^2.0.5", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=0.4.x" + "node": ">=16.0.0" } }, - "node_modules/for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "node_modules/@aws-sdk/client-sso-oidc": { + "version": "3.645.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.645.0.tgz", + "integrity": "sha512-X9ULtdk3cO+1ysurEkJ1MSnu6U00qodXx+IVual+1jXX4RYY1WmQmfo7uDKf6FFkz7wW1DAqU+GJIBNQr0YH8A==", "peer": true, "dependencies": { - "is-callable": "^1.1.3" + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "3.635.0", + "@aws-sdk/credential-provider-node": "3.645.0", + "@aws-sdk/middleware-host-header": "3.620.0", + "@aws-sdk/middleware-logger": "3.609.0", + "@aws-sdk/middleware-recursion-detection": "3.620.0", + "@aws-sdk/middleware-user-agent": "3.645.0", + "@aws-sdk/region-config-resolver": "3.614.0", + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.645.0", + "@aws-sdk/util-user-agent-browser": "3.609.0", + "@aws-sdk/util-user-agent-node": "3.614.0", + "@smithy/config-resolver": "^3.0.5", + "@smithy/core": "^2.4.0", + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/hash-node": "^3.0.3", + "@smithy/invalid-dependency": "^3.0.3", + "@smithy/middleware-content-length": "^3.0.5", + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-retry": "^3.0.15", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.2.0", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.15", + "@smithy/util-defaults-mode-node": "^3.0.15", + "@smithy/util-endpoints": "^2.0.5", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "@aws-sdk/client-sts": "^3.645.0" } }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "peer": true - }, - "node_modules/get-intrinsic": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", - "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "node_modules/@aws-sdk/client-sts": { + "version": "3.645.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.645.0.tgz", + "integrity": "sha512-6azXYtvtnAsPf2ShN9vKynIYVcJOpo6IoVmoMAVgNaBJyllP+s/RORzranYZzckqfmrudSxtct4rVapjLWuAMg==", "peer": true, "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/client-sso-oidc": "3.645.0", + "@aws-sdk/core": "3.635.0", + "@aws-sdk/credential-provider-node": "3.645.0", + "@aws-sdk/middleware-host-header": "3.620.0", + "@aws-sdk/middleware-logger": "3.609.0", + "@aws-sdk/middleware-recursion-detection": "3.620.0", + "@aws-sdk/middleware-user-agent": "3.645.0", + "@aws-sdk/region-config-resolver": "3.614.0", + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.645.0", + "@aws-sdk/util-user-agent-browser": "3.609.0", + "@aws-sdk/util-user-agent-node": "3.614.0", + "@smithy/config-resolver": "^3.0.5", + "@smithy/core": "^2.4.0", + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/hash-node": "^3.0.3", + "@smithy/invalid-dependency": "^3.0.3", + "@smithy/middleware-content-length": "^3.0.5", + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-retry": "^3.0.15", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.2.0", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.15", + "@smithy/util-defaults-mode-node": "^3.0.15", + "@smithy/util-endpoints": "^2.0.5", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=16.0.0" } }, - "node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "peer": true, + "node_modules/@aws-sdk/core": { + "version": "3.635.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.635.0.tgz", + "integrity": "sha512-i1x/E/sgA+liUE1XJ7rj1dhyXpAKO1UKFUcTTHXok2ARjWTvszHnSXMOsB77aPbmn0fUp1JTx2kHUAZ1LVt5Bg==", "dependencies": { - "get-intrinsic": "^1.1.3" + "@smithy/core": "^2.4.0", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/property-provider": "^3.1.3", + "@smithy/protocol-http": "^4.1.0", + "@smithy/signature-v4": "^4.1.0", + "@smithy/smithy-client": "^3.2.0", + "@smithy/types": "^3.3.0", + "@smithy/util-middleware": "^3.0.3", + "fast-xml-parser": "4.4.1", + "tslib": "^2.6.2" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=16.0.0" } }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "peer": true, + "node_modules/@aws-sdk/credential-provider-env": { + "version": "3.620.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.620.1.tgz", + "integrity": "sha512-ExuILJ2qLW5ZO+rgkNRj0xiAipKT16Rk77buvPP8csR7kkCflT/gXTyzRe/uzIiETTxM7tr8xuO9MP/DQXqkfg==", "dependencies": { - "function-bind": "^1.1.1" + "@aws-sdk/types": "3.609.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">= 0.4.0" + "node": ">=16.0.0" } }, - "node_modules/has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", - "peer": true, - "engines": { - "node": ">= 0.4" + "node_modules/@aws-sdk/credential-provider-http": { + "version": "3.635.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.635.0.tgz", + "integrity": "sha512-iJyRgEjOCQlBMXqtwPLIKYc7Bsc6nqjrZybdMDenPDa+kmLg7xh8LxHsu9088e+2/wtLicE34FsJJIfzu3L82g==", + "dependencies": { + "@aws-sdk/types": "3.609.0", + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/property-provider": "^3.1.3", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.2.0", + "@smithy/types": "^3.3.0", + "@smithy/util-stream": "^3.1.3", + "tslib": "^2.6.2" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=16.0.0" } }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "peer": true, + "node_modules/@aws-sdk/credential-provider-ini": { + "version": "3.645.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.645.0.tgz", + "integrity": "sha512-LlZW0qwUwNlTaAIDCNpLbPsyXvS42pRIwF92fgtCQedmdnpN3XRUC6hcwSYI7Xru3GGKp3RnceOvsdOaRJORsw==", + "dependencies": { + "@aws-sdk/credential-provider-env": "3.620.1", + "@aws-sdk/credential-provider-http": "3.635.0", + "@aws-sdk/credential-provider-process": "3.620.1", + "@aws-sdk/credential-provider-sso": "3.645.0", + "@aws-sdk/credential-provider-web-identity": "3.621.0", + "@aws-sdk/types": "3.609.0", + "@smithy/credential-provider-imds": "^3.2.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, "engines": { - "node": ">= 0.4" + "node": ">=16.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "@aws-sdk/client-sts": "^3.645.0" } }, - "node_modules/has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "peer": true, + "node_modules/@aws-sdk/credential-provider-node": { + "version": "3.645.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.645.0.tgz", + "integrity": "sha512-eGFFuNvLeXjCJf5OCIuSEflxUowmK+bCS+lK4M8ofsYOEGAivdx7C0UPxNjHpvM8wKd8vpMl5phTeS9BWX5jMQ==", "dependencies": { - "has-symbols": "^1.0.2" + "@aws-sdk/credential-provider-env": "3.620.1", + "@aws-sdk/credential-provider-http": "3.635.0", + "@aws-sdk/credential-provider-ini": "3.645.0", + "@aws-sdk/credential-provider-process": "3.620.1", + "@aws-sdk/credential-provider-sso": "3.645.0", + "@aws-sdk/credential-provider-web-identity": "3.621.0", + "@aws-sdk/types": "3.609.0", + "@smithy/credential-provider-imds": "^3.2.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=16.0.0" } }, - "node_modules/hpagent": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/hpagent/-/hpagent-1.2.0.tgz", - "integrity": "sha512-A91dYTeIB6NoXG+PxTQpCCDDnfHsW9kc06Lvpu1TEe9gnd6ZFeiBoRO9JvzEv6xK7EX97/dUE8g/vBMTqTS3CA==", + "node_modules/@aws-sdk/credential-provider-process": { + "version": "3.620.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.620.1.tgz", + "integrity": "sha512-hWqFMidqLAkaV9G460+1at6qa9vySbjQKKc04p59OT7lZ5cO5VH5S4aI05e+m4j364MBROjjk2ugNvfNf/8ILg==", + "dependencies": { + "@aws-sdk/types": "3.609.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=14" + "node": ">=16.0.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==", - "peer": true - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "peer": true - }, - "node_modules/is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "peer": true, + "node_modules/@aws-sdk/credential-provider-sso": { + "version": "3.645.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.645.0.tgz", + "integrity": "sha512-d6XuChAl5NCsCrUexc6AFb4efPmb9+66iwPylKG+iMTMYgO1ackfy1Q2/f35jdn0jolkPkzKsVyfzsEVoID6ew==", "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "@aws-sdk/client-sso": "3.645.0", + "@aws-sdk/token-providers": "3.614.0", + "@aws-sdk/types": "3.609.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=16.0.0" } }, - "node_modules/is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "peer": true, + "node_modules/@aws-sdk/credential-provider-web-identity": { + "version": "3.621.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.621.0.tgz", + "integrity": "sha512-w7ASSyfNvcx7+bYGep3VBgC3K6vEdLmlpjT7nSIHxxQf+WSdvy+HynwJosrpZax0sK5q0D1Jpn/5q+r5lwwW6w==", + "dependencies": { + "@aws-sdk/types": "3.609.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, "engines": { - "node": ">= 0.4" + "node": ">=16.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "@aws-sdk/client-sts": "^3.621.0" } }, - "node_modules/is-generator-function": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", - "peer": true, + "node_modules/@aws-sdk/middleware-host-header": { + "version": "3.620.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.620.0.tgz", + "integrity": "sha512-VMtPEZwqYrII/oUkffYsNWY9PZ9xpNJpMgmyU0rlDQ25O1c0Hk3fJmZRe6pEkAJ0omD7kLrqGl1DUjQVxpd/Rg==", "dependencies": { - "has-tostringtag": "^1.0.0" + "@aws-sdk/types": "3.609.0", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=16.0.0" } }, - "node_modules/is-typed-array": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", - "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", - "peer": true, + "node_modules/@aws-sdk/middleware-logger": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.609.0.tgz", + "integrity": "sha512-S62U2dy4jMDhDFDK5gZ4VxFdWzCtLzwbYyFZx2uvPYTECkepLUfzLic2BHg2Qvtu4QjX+oGE3P/7fwaGIsGNuQ==", "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" + "@aws-sdk/types": "3.609.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=16.0.0" } }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "peer": true - }, - "node_modules/jmespath": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.16.0.tgz", - "integrity": "sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==", - "peer": true, + "node_modules/@aws-sdk/middleware-recursion-detection": { + "version": "3.620.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.620.0.tgz", + "integrity": "sha512-nh91S7aGK3e/o1ck64sA/CyoFw+gAYj2BDOnoNa6ouyCrVJED96ZXWbhye/fz9SgmNUZR2g7GdVpiLpMKZoI5w==", + "dependencies": { + "@aws-sdk/types": "3.609.0", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, "engines": { - "node": ">= 0.6.0" + "node": ">=16.0.0" } }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - }, - "node_modules/punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==", - "peer": true - }, - "node_modules/querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==", - "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", - "peer": true, + "node_modules/@aws-sdk/middleware-user-agent": { + "version": "3.645.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.645.0.tgz", + "integrity": "sha512-NpTAtqWK+49lRuxfz7st9for80r4NriCMK0RfdJSoPFVntjsSQiQ7+2nW2XL05uVY633e9DvCAw8YatX3zd1mw==", + "dependencies": { + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.645.0", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=0.4.x" + "node": ">=16.0.0" } }, - "node_modules/sax": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz", - "integrity": "sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA==", - "peer": true - }, - "node_modules/secure-json-parse": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/secure-json-parse/-/secure-json-parse-2.4.0.tgz", - "integrity": "sha512-Q5Z/97nbON5t/L/sH6mY2EacfjVGwrCcSi5D3btRO2GZ8pf1K1UN7Z9H5J57hjVU2Qzxr1xO+FmBhOvEkzCMmg==" - }, - "node_modules/url": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz", - "integrity": "sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ==", - "peer": true, + "node_modules/@aws-sdk/region-config-resolver": { + "version": "3.614.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.614.0.tgz", + "integrity": "sha512-vDCeMXvic/LU0KFIUjpC3RiSTIkkvESsEfbVHiHH0YINfl8HnEqR5rj+L8+phsCeVg2+LmYwYxd5NRz4PHxt5g==", "dependencies": { - "punycode": "1.3.2", - "querystring": "0.2.0" + "@aws-sdk/types": "3.609.0", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/types": "^3.3.0", + "@smithy/util-config-provider": "^3.0.0", + "@smithy/util-middleware": "^3.0.3", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" } }, - "node_modules/util": { - "version": "0.12.5", - "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", - "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", - "peer": true, + "node_modules/@aws-sdk/token-providers": { + "version": "3.614.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.614.0.tgz", + "integrity": "sha512-okItqyY6L9IHdxqs+Z116y5/nda7rHxLvROxtAJdLavWTYDydxrZstImNgGWTeVdmc0xX2gJCI77UYUTQWnhRw==", "dependencies": { - "inherits": "^2.0.3", - "is-arguments": "^1.0.4", - "is-generator-function": "^1.0.7", - "is-typed-array": "^1.1.3", - "which-typed-array": "^1.1.2" + "@aws-sdk/types": "3.609.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "@aws-sdk/client-sso-oidc": "^3.614.0" } }, - "node_modules/uuid": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.0.0.tgz", - "integrity": "sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw==", - "peer": true, - "bin": { - "uuid": "dist/bin/uuid" + "node_modules/@aws-sdk/types": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", + "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", + "dependencies": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" } }, - "node_modules/which-typed-array": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", - "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", - "peer": true, + "node_modules/@aws-sdk/util-endpoints": { + "version": "3.645.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.645.0.tgz", + "integrity": "sha512-Oe+xaU4ic4PB1k3pb5VTC1/MWES13IlgpaQw01bVHGfwP6Yv6zZOxizRzca2Y3E+AyR+nKD7vXtHRY+w3bi4bg==", "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0", - "is-typed-array": "^1.1.10" + "@aws-sdk/types": "3.609.0", + "@smithy/types": "^3.3.0", + "@smithy/util-endpoints": "^2.0.5", + "tslib": "^2.6.2" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=16.0.0" } }, - "node_modules/xml2js": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.5.0.tgz", - "integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==", - "peer": true, + "node_modules/@aws-sdk/util-locate-window": { + "version": "3.568.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.568.0.tgz", + "integrity": "sha512-3nh4TINkXYr+H41QaPelCceEB2FXP3fxp93YZXB/kqJvX0U9j0N0Uk45gvsjmEPzG8XxkPEeLIfT2I1M7A6Lig==", "dependencies": { - "sax": ">=0.6.0", - "xmlbuilder": "~11.0.0" + "tslib": "^2.6.2" }, "engines": { - "node": ">=4.0.0" + "node": ">=16.0.0" } }, - "node_modules/xmlbuilder": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", - "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", - "peer": true, + "node_modules/@aws-sdk/util-user-agent-browser": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.609.0.tgz", + "integrity": "sha512-fojPU+mNahzQ0YHYBsx0ZIhmMA96H+ZIZ665ObU9tl+SGdbLneVZVikGve+NmHTQwHzwkFsZYYnVKAkreJLAtA==", + "dependencies": { + "@aws-sdk/types": "3.609.0", + "@smithy/types": "^3.3.0", + "bowser": "^2.11.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@aws-sdk/util-user-agent-node": { + "version": "3.614.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.614.0.tgz", + "integrity": "sha512-15ElZT88peoHnq5TEoEtZwoXTXRxNrk60TZNdpl/TUBJ5oNJ9Dqb5Z4ryb8ofN6nm9aFf59GVAerFDz8iUoHBA==", + "dependencies": { + "@aws-sdk/types": "3.609.0", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=4.0" + "node": ">=16.0.0" + }, + "peerDependencies": { + "aws-crt": ">=1.0.0" + }, + "peerDependenciesMeta": { + "aws-crt": { + "optional": true + } } - } - }, - "dependencies": { - "@opensearch-project/opensearch": { + }, + "node_modules/@opensearch-project/opensearch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/@opensearch-project/opensearch/-/opensearch-2.3.1.tgz", "integrity": "sha512-Kg8tddAx6sinStnNi6IeGilfvLWlonIxaRdVNiJcNPr1yMqd0c9TSegn18zKr0Pb0IM9xBIGBSkRPuh67ZN6Hw==", - "requires": { + "dependencies": { "aws4": "^1.11.0", "debug": "^4.3.1", "hpagent": "^1.2.0", "ms": "^2.1.3", "secure-json-parse": "^2.4.0" + }, + "engines": { + "node": ">=10", + "yarn": "^1.22.10" } }, - "available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", - "peer": true - }, - "aws-opensearch-connector": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/aws-opensearch-connector/-/aws-opensearch-connector-1.0.0.tgz", - "integrity": "sha512-6e6qqt14qloNdWyiEKsOXdEolvPGemFi5yRmwP79erhcVSP4vf5dW1DER7zqblJAYM9n3B2Ij8hH5sv3SNHv+g==", - "requires": { - "aws4": "^1.11.0" + "node_modules/@smithy/abort-controller": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-3.1.1.tgz", + "integrity": "sha512-MBJBiidoe+0cTFhyxT8g+9g7CeVccLM0IOKKUMCNQ1CNMJ/eIfoo0RTfVrXOONEI1UCN1W+zkiHSbzUNE9dZtQ==", + "dependencies": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" } }, - "aws-sdk": { - "version": "2.1413.0", - "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1413.0.tgz", - "integrity": "sha512-vKpjC7iRwOhgv7P0xw90mVGO//2rqVPJKyYIs7uxLzSV0JzriVD+yqktOu/Hz6/phOmAd1cMIeFgpEC9ynrppg==", - "peer": true, - "requires": { - "buffer": "4.9.2", - "events": "1.1.1", - "ieee754": "1.1.13", - "jmespath": "0.16.0", - "querystring": "0.2.0", - "sax": "1.2.1", - "url": "0.10.3", - "util": "^0.12.4", - "uuid": "8.0.0", - "xml2js": "0.5.0" + "node_modules/@smithy/config-resolver": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-3.0.5.tgz", + "integrity": "sha512-SkW5LxfkSI1bUC74OtfBbdz+grQXYiPYolyu8VfpLIjEoN/sHVBlLeGXMQ1vX4ejkgfv6sxVbQJ32yF2cl1veA==", + "dependencies": { + "@smithy/node-config-provider": "^3.1.4", + "@smithy/types": "^3.3.0", + "@smithy/util-config-provider": "^3.0.0", + "@smithy/util-middleware": "^3.0.3", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" } }, - "aws4": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "peer": true - }, - "buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", - "peer": true, - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" + "node_modules/@smithy/core": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@smithy/core/-/core-2.4.0.tgz", + "integrity": "sha512-cHXq+FneIF/KJbt4q4pjN186+Jf4ZB0ZOqEaZMBhT79srEyGDDBV31NqBRBjazz8ppQ1bJbDJMY9ba5wKFV36w==", + "dependencies": { + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-retry": "^3.0.15", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.2.0", + "@smithy/types": "^3.3.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" } }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "peer": true, - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" + "node_modules/@smithy/credential-provider-imds": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-3.2.0.tgz", + "integrity": "sha512-0SCIzgd8LYZ9EJxUjLXBmEKSZR/P/w6l7Rz/pab9culE/RWuqelAKGJvn5qUOl8BgX8Yj5HWM50A5hiB/RzsgA==", + "dependencies": { + "@smithy/node-config-provider": "^3.1.4", + "@smithy/property-provider": "^3.1.3", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" } }, - "cfn-response-promise": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/cfn-response-promise/-/cfn-response-promise-1.1.0.tgz", - "integrity": "sha512-PHmokAJ5nKYiLTVAn2gxm9wz8h756niJj5h5SgthaDNnicZq0TOnVP5vtj6EGPwBvt14o8HgI/gXOKEcKiwZWw==" + "node_modules/@smithy/fetch-http-handler": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-3.2.4.tgz", + "integrity": "sha512-kBprh5Gs5h7ug4nBWZi1FZthdqSM+T7zMmsZxx0IBvWUn7dK3diz2SHn7Bs4dQGFDk8plDv375gzenDoNwrXjg==", + "dependencies": { + "@smithy/protocol-http": "^4.1.0", + "@smithy/querystring-builder": "^3.0.3", + "@smithy/types": "^3.3.0", + "@smithy/util-base64": "^3.0.0", + "tslib": "^2.6.2" + } }, - "debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "requires": { - "ms": "2.1.2" + "node_modules/@smithy/hash-node": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-3.0.3.tgz", + "integrity": "sha512-2ctBXpPMG+B3BtWSGNnKELJ7SH9e4TNefJS0cd2eSkOOROeBnnVBnAy9LtJ8tY4vUEoe55N4CNPxzbWvR39iBw==", + "dependencies": { + "@smithy/types": "^3.3.0", + "@smithy/util-buffer-from": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/invalid-dependency": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-3.0.3.tgz", + "integrity": "sha512-ID1eL/zpDULmHJbflb864k72/SNOZCADRc9i7Exq3RUNJw6raWUSlFEQ+3PX3EYs++bTxZB2dE9mEHTQLv61tw==", "dependencies": { - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" } }, - "events": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", - "integrity": "sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw==", - "peer": true + "node_modules/@smithy/is-array-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } }, - "for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "peer": true, - "requires": { - "is-callable": "^1.1.3" + "node_modules/@smithy/middleware-content-length": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-3.0.5.tgz", + "integrity": "sha512-ILEzC2eyxx6ncej3zZSwMpB5RJ0zuqH7eMptxC4KN3f+v9bqT8ohssKbhNR78k/2tWW+KS5Spw+tbPF4Ejyqvw==", + "dependencies": { + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" } }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "peer": true + "node_modules/@smithy/middleware-endpoint": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-3.1.0.tgz", + "integrity": "sha512-5y5aiKCEwg9TDPB4yFE7H6tYvGFf1OJHNczeY10/EFF8Ir8jZbNntQJxMWNfeQjC1mxPsaQ6mR9cvQbf+0YeMw==", + "dependencies": { + "@smithy/middleware-serde": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-middleware": "^3.0.3", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } }, - "get-intrinsic": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", - "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", - "peer": true, - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" + "node_modules/@smithy/middleware-retry": { + "version": "3.0.15", + "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-3.0.15.tgz", + "integrity": "sha512-iTMedvNt1ApdvkaoE8aSDuwaoc+BhvHqttbA/FO4Ty+y/S5hW6Ci/CTScG7vam4RYJWZxdTElc3MEfHRVH6cgQ==", + "dependencies": { + "@smithy/node-config-provider": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/service-error-classification": "^3.0.3", + "@smithy/smithy-client": "^3.2.0", + "@smithy/types": "^3.3.0", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "tslib": "^2.6.2", + "uuid": "^9.0.1" + }, + "engines": { + "node": ">=16.0.0" } }, - "gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "peer": true, - "requires": { - "get-intrinsic": "^1.1.3" + "node_modules/@smithy/middleware-retry/node_modules/uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "bin": { + "uuid": "dist/bin/uuid" } }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "peer": true, - "requires": { - "function-bind": "^1.1.1" + "node_modules/@smithy/middleware-serde": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-3.0.3.tgz", + "integrity": "sha512-puUbyJQBcg9eSErFXjKNiGILJGtiqmuuNKEYNYfUD57fUl4i9+mfmThtQhvFXU0hCVG0iEJhvQUipUf+/SsFdA==", + "dependencies": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" } }, - "has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", - "peer": true + "node_modules/@smithy/middleware-stack": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-3.0.3.tgz", + "integrity": "sha512-r4klY9nFudB0r9UdSMaGSyjyQK5adUyPnQN/ZM6M75phTxOdnc/AhpvGD1fQUvgmqjQEBGCwpnPbDm8pH5PapA==", + "dependencies": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "peer": true + "node_modules/@smithy/node-config-provider": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-3.1.4.tgz", + "integrity": "sha512-YvnElQy8HR4vDcAjoy7Xkx9YT8xZP4cBXcbJSgm/kxmiQu08DwUwj8rkGnyoJTpfl/3xYHH+d8zE+eHqoDCSdQ==", + "dependencies": { + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } }, - "has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "peer": true, - "requires": { - "has-symbols": "^1.0.2" + "node_modules/@smithy/node-http-handler": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-3.1.4.tgz", + "integrity": "sha512-+UmxgixgOr/yLsUxcEKGH0fMNVteJFGkmRltYFHnBMlogyFdpzn2CwqWmxOrfJELhV34v0WSlaqG1UtE1uXlJg==", + "dependencies": { + "@smithy/abort-controller": "^3.1.1", + "@smithy/protocol-http": "^4.1.0", + "@smithy/querystring-builder": "^3.0.3", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" } }, - "hpagent": { + "node_modules/@smithy/property-provider": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-3.1.3.tgz", + "integrity": "sha512-zahyOVR9Q4PEoguJ/NrFP4O7SMAfYO1HLhB18M+q+Z4KFd4V2obiMnlVoUFzFLSPeVt1POyNWneHHrZaTMoc/g==", + "dependencies": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/protocol-http": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-4.1.0.tgz", + "integrity": "sha512-dPVoHYQ2wcHooGXg3LQisa1hH0e4y0pAddPMeeUPipI1tEOqL6A4N0/G7abeq+K8wrwSgjk4C0wnD1XZpJm5aA==", + "dependencies": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/querystring-builder": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-3.0.3.tgz", + "integrity": "sha512-vyWckeUeesFKzCDaRwWLUA1Xym9McaA6XpFfAK5qI9DKJ4M33ooQGqvM4J+LalH4u/Dq9nFiC8U6Qn1qi0+9zw==", + "dependencies": { + "@smithy/types": "^3.3.0", + "@smithy/util-uri-escape": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/querystring-parser": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-3.0.3.tgz", + "integrity": "sha512-zahM1lQv2YjmznnfQsWbYojFe55l0SLG/988brlLv1i8z3dubloLF+75ATRsqPBboUXsW6I9CPGE5rQgLfY0vQ==", + "dependencies": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/service-error-classification": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.3.tgz", + "integrity": "sha512-Jn39sSl8cim/VlkLsUhRFq/dKDnRUFlfRkvhOJaUbLBXUsLRLNf9WaxDv/z9BjuQ3A6k/qE8af1lsqcwm7+DaQ==", + "dependencies": { + "@smithy/types": "^3.3.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/shared-ini-file-loader": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.4.tgz", + "integrity": "sha512-qMxS4hBGB8FY2GQqshcRUy1K6k8aBWP5vwm8qKkCT3A9K2dawUwOIJfqh9Yste/Bl0J2lzosVyrXDj68kLcHXQ==", + "dependencies": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/signature-v4": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-4.1.0.tgz", + "integrity": "sha512-aRryp2XNZeRcOtuJoxjydO6QTaVhxx/vjaR+gx7ZjaFgrgPRyZ3HCTbfwqYj6ZWEBHkCSUfcaymKPURaByukag==", + "dependencies": { + "@smithy/is-array-buffer": "^3.0.0", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "@smithy/util-hex-encoding": "^3.0.0", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-uri-escape": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/smithy-client": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-3.2.0.tgz", + "integrity": "sha512-pDbtxs8WOhJLJSeaF/eAbPgXg4VVYFlRcL/zoNYA5WbG3wBL06CHtBSg53ppkttDpAJ/hdiede+xApip1CwSLw==", + "dependencies": { + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "@smithy/util-stream": "^3.1.3", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/url-parser": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-3.0.3.tgz", + "integrity": "sha512-pw3VtZtX2rg+s6HMs6/+u9+hu6oY6U7IohGhVNnjbgKy86wcIsSZwgHrFR+t67Uyxvp4Xz3p3kGXXIpTNisq8A==", + "dependencies": { + "@smithy/querystring-parser": "^3.0.3", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@smithy/util-base64": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-3.0.0.tgz", + "integrity": "sha512-Kxvoh5Qtt0CDsfajiZOCpJxgtPHXOKwmM+Zy4waD43UoEMA+qPxxa98aE/7ZhdnBFZFXMOiBR5xbcaMhLtznQQ==", + "dependencies": { + "@smithy/util-buffer-from": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-body-length-browser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-3.0.0.tgz", + "integrity": "sha512-cbjJs2A1mLYmqmyVl80uoLTJhAcfzMOyPgjwAYusWKMdLeNtzmMz9YxNl3/jRLoxSS3wkqkf0jwNdtXWtyEBaQ==", + "dependencies": { + "tslib": "^2.6.2" + } + }, + "node_modules/@smithy/util-body-length-node": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-3.0.0.tgz", + "integrity": "sha512-Tj7pZ4bUloNUP6PzwhN7K386tmSmEET9QtQg0TgdNOnxhZvCssHji+oZTUIuzxECRfG8rdm2PMw2WCFs6eIYkA==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-buffer-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", + "dependencies": { + "@smithy/is-array-buffer": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-config-provider": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-3.0.0.tgz", + "integrity": "sha512-pbjk4s0fwq3Di/ANL+rCvJMKM5bzAQdE5S/6RL5NXgMExFAi6UgQMPOm5yPaIWPpr+EOXKXRonJ3FoxKf4mCJQ==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-defaults-mode-browser": { + "version": "3.0.15", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-3.0.15.tgz", + "integrity": "sha512-FZ4Psa3vjp8kOXcd3HJOiDPBCWtiilLl57r0cnNtq/Ga9RSDrM5ERL6xt+tO43+2af6Pn5Yp92x2n5vPuduNfg==", + "dependencies": { + "@smithy/property-provider": "^3.1.3", + "@smithy/smithy-client": "^3.2.0", + "@smithy/types": "^3.3.0", + "bowser": "^2.11.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@smithy/util-defaults-mode-node": { + "version": "3.0.15", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-3.0.15.tgz", + "integrity": "sha512-KSyAAx2q6d0t6f/S4XB2+3+6aQacm3aLMhs9aLMqn18uYGUepbdssfogW5JQZpc6lXNBnp0tEnR5e9CEKmEd7A==", + "dependencies": { + "@smithy/config-resolver": "^3.0.5", + "@smithy/credential-provider-imds": "^3.2.0", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/property-provider": "^3.1.3", + "@smithy/smithy-client": "^3.2.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@smithy/util-endpoints": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-2.0.5.tgz", + "integrity": "sha512-ReQP0BWihIE68OAblC/WQmDD40Gx+QY1Ez8mTdFMXpmjfxSyz2fVQu3A4zXRfQU9sZXtewk3GmhfOHswvX+eNg==", + "dependencies": { + "@smithy/node-config-provider": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-hex-encoding": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-3.0.0.tgz", + "integrity": "sha512-eFndh1WEK5YMUYvy3lPlVmYY/fZcQE1D8oSf41Id2vCeIkKJXPcYDCZD+4+xViI6b1XSd7tE+s5AmXzz5ilabQ==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-middleware": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-3.0.3.tgz", + "integrity": "sha512-l+StyYYK/eO3DlVPbU+4Bi06Jjal+PFLSMmlWM1BEwyLxZ3aKkf1ROnoIakfaA7mC6uw3ny7JBkau4Yc+5zfWw==", + "dependencies": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-retry": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-3.0.3.tgz", + "integrity": "sha512-AFw+hjpbtVApzpNDhbjNG5NA3kyoMs7vx0gsgmlJF4s+yz1Zlepde7J58zpIRIsdjc+emhpAITxA88qLkPF26w==", + "dependencies": { + "@smithy/service-error-classification": "^3.0.3", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-stream": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-3.1.3.tgz", + "integrity": "sha512-FIv/bRhIlAxC0U7xM1BCnF2aDRPq0UaelqBHkM2lsCp26mcBbgI0tCVTv+jGdsQLUmAMybua/bjDsSu8RQHbmw==", + "dependencies": { + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/types": "^3.3.0", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-buffer-from": "^3.0.0", + "@smithy/util-hex-encoding": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-uri-escape": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-3.0.0.tgz", + "integrity": "sha512-LqR7qYLgZTD7nWLBecUi4aqolw8Mhza9ArpNEQ881MJJIU2sE5iHCK6TdyqqzcDLy0OPe10IY4T8ctVdtynubg==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", + "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", + "dependencies": { + "@smithy/util-buffer-from": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "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/bowser": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", + "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==" + }, + "node_modules/cfn-response-promise": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/cfn-response-promise/-/cfn-response-promise-1.1.0.tgz", + "integrity": "sha512-PHmokAJ5nKYiLTVAn2gxm9wz8h756niJj5h5SgthaDNnicZq0TOnVP5vtj6EGPwBvt14o8HgI/gXOKEcKiwZWw==", + "engines": { + "node": ">=8.1.0" + } + }, + "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/debug/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/fast-xml-parser": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.4.1.tgz", + "integrity": "sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + }, + { + "type": "paypal", + "url": "https://paypal.me/naturalintelligence" + } + ], + "dependencies": { + "strnum": "^1.0.5" + }, + "bin": { + "fxparser": "src/cli/cli.js" + } + }, + "node_modules/hpagent": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/hpagent/-/hpagent-1.2.0.tgz", - "integrity": "sha512-A91dYTeIB6NoXG+PxTQpCCDDnfHsW9kc06Lvpu1TEe9gnd6ZFeiBoRO9JvzEv6xK7EX97/dUE8g/vBMTqTS3CA==" + "integrity": "sha512-A91dYTeIB6NoXG+PxTQpCCDDnfHsW9kc06Lvpu1TEe9gnd6ZFeiBoRO9JvzEv6xK7EX97/dUE8g/vBMTqTS3CA==", + "engines": { + "node": ">=14" + } }, - "ieee754": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", - "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==", - "peer": true - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "peer": true - }, - "is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "peer": true, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/secure-json-parse": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/secure-json-parse/-/secure-json-parse-2.4.0.tgz", + "integrity": "sha512-Q5Z/97nbON5t/L/sH6mY2EacfjVGwrCcSi5D3btRO2GZ8pf1K1UN7Z9H5J57hjVU2Qzxr1xO+FmBhOvEkzCMmg==" + }, + "node_modules/strnum": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", + "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" + }, + "node_modules/tslib": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==" + } + }, + "dependencies": { + "@aws-crypto/sha256-browser": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-5.2.0.tgz", + "integrity": "sha512-AXfN/lGotSQwu6HNcEsIASo7kWXZ5HYWvfOmSNKDsEqC4OashTp8alTmaz+F7TC2L083SFv5RdB+qU3Vs1kZqw==", + "requires": { + "@aws-crypto/sha256-js": "^5.2.0", + "@aws-crypto/supports-web-crypto": "^5.2.0", + "@aws-crypto/util": "^5.2.0", + "@aws-sdk/types": "^3.222.0", + "@aws-sdk/util-locate-window": "^3.0.0", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.6.2" + }, + "dependencies": { + "@smithy/is-array-buffer": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz", + "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==", + "requires": { + "tslib": "^2.6.2" + } + }, + "@smithy/util-buffer-from": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz", + "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==", + "requires": { + "@smithy/is-array-buffer": "^2.2.0", + "tslib": "^2.6.2" + } + }, + "@smithy/util-utf8": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz", + "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==", + "requires": { + "@smithy/util-buffer-from": "^2.2.0", + "tslib": "^2.6.2" + } + } + } + }, + "@aws-crypto/sha256-js": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-5.2.0.tgz", + "integrity": "sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA==", "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "@aws-crypto/util": "^5.2.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^2.6.2" } }, - "is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "peer": true + "@aws-crypto/supports-web-crypto": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-5.2.0.tgz", + "integrity": "sha512-iAvUotm021kM33eCdNfwIN//F77/IADDSs58i+MDaOqFrVjZo9bAal0NK7HurRuWLLpF1iLX7gbWrjHjeo+YFg==", + "requires": { + "tslib": "^2.6.2" + } }, - "is-generator-function": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "@aws-crypto/util": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-5.2.0.tgz", + "integrity": "sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==", + "requires": { + "@aws-sdk/types": "^3.222.0", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.6.2" + }, + "dependencies": { + "@smithy/is-array-buffer": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz", + "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==", + "requires": { + "tslib": "^2.6.2" + } + }, + "@smithy/util-buffer-from": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz", + "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==", + "requires": { + "@smithy/is-array-buffer": "^2.2.0", + "tslib": "^2.6.2" + } + }, + "@smithy/util-utf8": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz", + "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==", + "requires": { + "@smithy/util-buffer-from": "^2.2.0", + "tslib": "^2.6.2" + } + } + } + }, + "@aws-sdk/client-sso": { + "version": "3.645.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.645.0.tgz", + "integrity": "sha512-2rc8TjnsNddOeKQ/pfNN7deNvGLXAeKeYtHtGDAiM2qfTKxd2sNcAsZ+JCDLyshuD4xLM5fpUyR0X8As9EAouQ==", + "requires": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "3.635.0", + "@aws-sdk/middleware-host-header": "3.620.0", + "@aws-sdk/middleware-logger": "3.609.0", + "@aws-sdk/middleware-recursion-detection": "3.620.0", + "@aws-sdk/middleware-user-agent": "3.645.0", + "@aws-sdk/region-config-resolver": "3.614.0", + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.645.0", + "@aws-sdk/util-user-agent-browser": "3.609.0", + "@aws-sdk/util-user-agent-node": "3.614.0", + "@smithy/config-resolver": "^3.0.5", + "@smithy/core": "^2.4.0", + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/hash-node": "^3.0.3", + "@smithy/invalid-dependency": "^3.0.3", + "@smithy/middleware-content-length": "^3.0.5", + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-retry": "^3.0.15", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.2.0", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.15", + "@smithy/util-defaults-mode-node": "^3.0.15", + "@smithy/util-endpoints": "^2.0.5", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/client-sso-oidc": { + "version": "3.645.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.645.0.tgz", + "integrity": "sha512-X9ULtdk3cO+1ysurEkJ1MSnu6U00qodXx+IVual+1jXX4RYY1WmQmfo7uDKf6FFkz7wW1DAqU+GJIBNQr0YH8A==", "peer": true, "requires": { - "has-tostringtag": "^1.0.0" + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "3.635.0", + "@aws-sdk/credential-provider-node": "3.645.0", + "@aws-sdk/middleware-host-header": "3.620.0", + "@aws-sdk/middleware-logger": "3.609.0", + "@aws-sdk/middleware-recursion-detection": "3.620.0", + "@aws-sdk/middleware-user-agent": "3.645.0", + "@aws-sdk/region-config-resolver": "3.614.0", + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.645.0", + "@aws-sdk/util-user-agent-browser": "3.609.0", + "@aws-sdk/util-user-agent-node": "3.614.0", + "@smithy/config-resolver": "^3.0.5", + "@smithy/core": "^2.4.0", + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/hash-node": "^3.0.3", + "@smithy/invalid-dependency": "^3.0.3", + "@smithy/middleware-content-length": "^3.0.5", + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-retry": "^3.0.15", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.2.0", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.15", + "@smithy/util-defaults-mode-node": "^3.0.15", + "@smithy/util-endpoints": "^2.0.5", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" } }, - "is-typed-array": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", - "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", + "@aws-sdk/client-sts": { + "version": "3.645.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.645.0.tgz", + "integrity": "sha512-6azXYtvtnAsPf2ShN9vKynIYVcJOpo6IoVmoMAVgNaBJyllP+s/RORzranYZzckqfmrudSxtct4rVapjLWuAMg==", "peer": true, "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/client-sso-oidc": "3.645.0", + "@aws-sdk/core": "3.635.0", + "@aws-sdk/credential-provider-node": "3.645.0", + "@aws-sdk/middleware-host-header": "3.620.0", + "@aws-sdk/middleware-logger": "3.609.0", + "@aws-sdk/middleware-recursion-detection": "3.620.0", + "@aws-sdk/middleware-user-agent": "3.645.0", + "@aws-sdk/region-config-resolver": "3.614.0", + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.645.0", + "@aws-sdk/util-user-agent-browser": "3.609.0", + "@aws-sdk/util-user-agent-node": "3.614.0", + "@smithy/config-resolver": "^3.0.5", + "@smithy/core": "^2.4.0", + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/hash-node": "^3.0.3", + "@smithy/invalid-dependency": "^3.0.3", + "@smithy/middleware-content-length": "^3.0.5", + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-retry": "^3.0.15", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.2.0", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.15", + "@smithy/util-defaults-mode-node": "^3.0.15", + "@smithy/util-endpoints": "^2.0.5", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" } }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "peer": true + "@aws-sdk/core": { + "version": "3.635.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.635.0.tgz", + "integrity": "sha512-i1x/E/sgA+liUE1XJ7rj1dhyXpAKO1UKFUcTTHXok2ARjWTvszHnSXMOsB77aPbmn0fUp1JTx2kHUAZ1LVt5Bg==", + "requires": { + "@smithy/core": "^2.4.0", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/property-provider": "^3.1.3", + "@smithy/protocol-http": "^4.1.0", + "@smithy/signature-v4": "^4.1.0", + "@smithy/smithy-client": "^3.2.0", + "@smithy/types": "^3.3.0", + "@smithy/util-middleware": "^3.0.3", + "fast-xml-parser": "4.4.1", + "tslib": "^2.6.2" + } }, - "jmespath": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.16.0.tgz", - "integrity": "sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==", - "peer": true + "@aws-sdk/credential-provider-env": { + "version": "3.620.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.620.1.tgz", + "integrity": "sha512-ExuILJ2qLW5ZO+rgkNRj0xiAipKT16Rk77buvPP8csR7kkCflT/gXTyzRe/uzIiETTxM7tr8xuO9MP/DQXqkfg==", + "requires": { + "@aws-sdk/types": "3.609.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + "@aws-sdk/credential-provider-http": { + "version": "3.635.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.635.0.tgz", + "integrity": "sha512-iJyRgEjOCQlBMXqtwPLIKYc7Bsc6nqjrZybdMDenPDa+kmLg7xh8LxHsu9088e+2/wtLicE34FsJJIfzu3L82g==", + "requires": { + "@aws-sdk/types": "3.609.0", + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/property-provider": "^3.1.3", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.2.0", + "@smithy/types": "^3.3.0", + "@smithy/util-stream": "^3.1.3", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/credential-provider-ini": { + "version": "3.645.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.645.0.tgz", + "integrity": "sha512-LlZW0qwUwNlTaAIDCNpLbPsyXvS42pRIwF92fgtCQedmdnpN3XRUC6hcwSYI7Xru3GGKp3RnceOvsdOaRJORsw==", + "requires": { + "@aws-sdk/credential-provider-env": "3.620.1", + "@aws-sdk/credential-provider-http": "3.635.0", + "@aws-sdk/credential-provider-process": "3.620.1", + "@aws-sdk/credential-provider-sso": "3.645.0", + "@aws-sdk/credential-provider-web-identity": "3.621.0", + "@aws-sdk/types": "3.609.0", + "@smithy/credential-provider-imds": "^3.2.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/credential-provider-node": { + "version": "3.645.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.645.0.tgz", + "integrity": "sha512-eGFFuNvLeXjCJf5OCIuSEflxUowmK+bCS+lK4M8ofsYOEGAivdx7C0UPxNjHpvM8wKd8vpMl5phTeS9BWX5jMQ==", + "requires": { + "@aws-sdk/credential-provider-env": "3.620.1", + "@aws-sdk/credential-provider-http": "3.635.0", + "@aws-sdk/credential-provider-ini": "3.645.0", + "@aws-sdk/credential-provider-process": "3.620.1", + "@aws-sdk/credential-provider-sso": "3.645.0", + "@aws-sdk/credential-provider-web-identity": "3.621.0", + "@aws-sdk/types": "3.609.0", + "@smithy/credential-provider-imds": "^3.2.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } }, - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==", - "peer": true + "@aws-sdk/credential-provider-process": { + "version": "3.620.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.620.1.tgz", + "integrity": "sha512-hWqFMidqLAkaV9G460+1at6qa9vySbjQKKc04p59OT7lZ5cO5VH5S4aI05e+m4j364MBROjjk2ugNvfNf/8ILg==", + "requires": { + "@aws-sdk/types": "3.609.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==", - "peer": true + "@aws-sdk/credential-provider-sso": { + "version": "3.645.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.645.0.tgz", + "integrity": "sha512-d6XuChAl5NCsCrUexc6AFb4efPmb9+66iwPylKG+iMTMYgO1ackfy1Q2/f35jdn0jolkPkzKsVyfzsEVoID6ew==", + "requires": { + "@aws-sdk/client-sso": "3.645.0", + "@aws-sdk/token-providers": "3.614.0", + "@aws-sdk/types": "3.609.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } }, - "sax": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz", - "integrity": "sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA==", - "peer": true + "@aws-sdk/credential-provider-web-identity": { + "version": "3.621.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.621.0.tgz", + "integrity": "sha512-w7ASSyfNvcx7+bYGep3VBgC3K6vEdLmlpjT7nSIHxxQf+WSdvy+HynwJosrpZax0sK5q0D1Jpn/5q+r5lwwW6w==", + "requires": { + "@aws-sdk/types": "3.609.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } }, - "secure-json-parse": { + "@aws-sdk/middleware-host-header": { + "version": "3.620.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.620.0.tgz", + "integrity": "sha512-VMtPEZwqYrII/oUkffYsNWY9PZ9xpNJpMgmyU0rlDQ25O1c0Hk3fJmZRe6pEkAJ0omD7kLrqGl1DUjQVxpd/Rg==", + "requires": { + "@aws-sdk/types": "3.609.0", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/middleware-logger": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.609.0.tgz", + "integrity": "sha512-S62U2dy4jMDhDFDK5gZ4VxFdWzCtLzwbYyFZx2uvPYTECkepLUfzLic2BHg2Qvtu4QjX+oGE3P/7fwaGIsGNuQ==", + "requires": { + "@aws-sdk/types": "3.609.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/middleware-recursion-detection": { + "version": "3.620.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.620.0.tgz", + "integrity": "sha512-nh91S7aGK3e/o1ck64sA/CyoFw+gAYj2BDOnoNa6ouyCrVJED96ZXWbhye/fz9SgmNUZR2g7GdVpiLpMKZoI5w==", + "requires": { + "@aws-sdk/types": "3.609.0", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/middleware-user-agent": { + "version": "3.645.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.645.0.tgz", + "integrity": "sha512-NpTAtqWK+49lRuxfz7st9for80r4NriCMK0RfdJSoPFVntjsSQiQ7+2nW2XL05uVY633e9DvCAw8YatX3zd1mw==", + "requires": { + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.645.0", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/region-config-resolver": { + "version": "3.614.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.614.0.tgz", + "integrity": "sha512-vDCeMXvic/LU0KFIUjpC3RiSTIkkvESsEfbVHiHH0YINfl8HnEqR5rj+L8+phsCeVg2+LmYwYxd5NRz4PHxt5g==", + "requires": { + "@aws-sdk/types": "3.609.0", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/types": "^3.3.0", + "@smithy/util-config-provider": "^3.0.0", + "@smithy/util-middleware": "^3.0.3", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/token-providers": { + "version": "3.614.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.614.0.tgz", + "integrity": "sha512-okItqyY6L9IHdxqs+Z116y5/nda7rHxLvROxtAJdLavWTYDydxrZstImNgGWTeVdmc0xX2gJCI77UYUTQWnhRw==", + "requires": { + "@aws-sdk/types": "3.609.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/types": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", + "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", + "requires": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/util-endpoints": { + "version": "3.645.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.645.0.tgz", + "integrity": "sha512-Oe+xaU4ic4PB1k3pb5VTC1/MWES13IlgpaQw01bVHGfwP6Yv6zZOxizRzca2Y3E+AyR+nKD7vXtHRY+w3bi4bg==", + "requires": { + "@aws-sdk/types": "3.609.0", + "@smithy/types": "^3.3.0", + "@smithy/util-endpoints": "^2.0.5", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/util-locate-window": { + "version": "3.568.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.568.0.tgz", + "integrity": "sha512-3nh4TINkXYr+H41QaPelCceEB2FXP3fxp93YZXB/kqJvX0U9j0N0Uk45gvsjmEPzG8XxkPEeLIfT2I1M7A6Lig==", + "requires": { + "tslib": "^2.6.2" + } + }, + "@aws-sdk/util-user-agent-browser": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.609.0.tgz", + "integrity": "sha512-fojPU+mNahzQ0YHYBsx0ZIhmMA96H+ZIZ665ObU9tl+SGdbLneVZVikGve+NmHTQwHzwkFsZYYnVKAkreJLAtA==", + "requires": { + "@aws-sdk/types": "3.609.0", + "@smithy/types": "^3.3.0", + "bowser": "^2.11.0", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/util-user-agent-node": { + "version": "3.614.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.614.0.tgz", + "integrity": "sha512-15ElZT88peoHnq5TEoEtZwoXTXRxNrk60TZNdpl/TUBJ5oNJ9Dqb5Z4ryb8ofN6nm9aFf59GVAerFDz8iUoHBA==", + "requires": { + "@aws-sdk/types": "3.609.0", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@opensearch-project/opensearch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@opensearch-project/opensearch/-/opensearch-2.3.1.tgz", + "integrity": "sha512-Kg8tddAx6sinStnNi6IeGilfvLWlonIxaRdVNiJcNPr1yMqd0c9TSegn18zKr0Pb0IM9xBIGBSkRPuh67ZN6Hw==", + "requires": { + "aws4": "^1.11.0", + "debug": "^4.3.1", + "hpagent": "^1.2.0", + "ms": "^2.1.3", + "secure-json-parse": "^2.4.0" + } + }, + "@smithy/abort-controller": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-3.1.1.tgz", + "integrity": "sha512-MBJBiidoe+0cTFhyxT8g+9g7CeVccLM0IOKKUMCNQ1CNMJ/eIfoo0RTfVrXOONEI1UCN1W+zkiHSbzUNE9dZtQ==", + "requires": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@smithy/config-resolver": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-3.0.5.tgz", + "integrity": "sha512-SkW5LxfkSI1bUC74OtfBbdz+grQXYiPYolyu8VfpLIjEoN/sHVBlLeGXMQ1vX4ejkgfv6sxVbQJ32yF2cl1veA==", + "requires": { + "@smithy/node-config-provider": "^3.1.4", + "@smithy/types": "^3.3.0", + "@smithy/util-config-provider": "^3.0.0", + "@smithy/util-middleware": "^3.0.3", + "tslib": "^2.6.2" + } + }, + "@smithy/core": { "version": "2.4.0", - "resolved": "https://registry.npmjs.org/secure-json-parse/-/secure-json-parse-2.4.0.tgz", - "integrity": "sha512-Q5Z/97nbON5t/L/sH6mY2EacfjVGwrCcSi5D3btRO2GZ8pf1K1UN7Z9H5J57hjVU2Qzxr1xO+FmBhOvEkzCMmg==" + "resolved": "https://registry.npmjs.org/@smithy/core/-/core-2.4.0.tgz", + "integrity": "sha512-cHXq+FneIF/KJbt4q4pjN186+Jf4ZB0ZOqEaZMBhT79srEyGDDBV31NqBRBjazz8ppQ1bJbDJMY9ba5wKFV36w==", + "requires": { + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-retry": "^3.0.15", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.2.0", + "@smithy/types": "^3.3.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + } }, - "url": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz", - "integrity": "sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ==", - "peer": true, + "@smithy/credential-provider-imds": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-3.2.0.tgz", + "integrity": "sha512-0SCIzgd8LYZ9EJxUjLXBmEKSZR/P/w6l7Rz/pab9culE/RWuqelAKGJvn5qUOl8BgX8Yj5HWM50A5hiB/RzsgA==", "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" + "@smithy/node-config-provider": "^3.1.4", + "@smithy/property-provider": "^3.1.3", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "tslib": "^2.6.2" } }, - "util": { - "version": "0.12.5", - "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", - "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", - "peer": true, + "@smithy/fetch-http-handler": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-3.2.4.tgz", + "integrity": "sha512-kBprh5Gs5h7ug4nBWZi1FZthdqSM+T7zMmsZxx0IBvWUn7dK3diz2SHn7Bs4dQGFDk8plDv375gzenDoNwrXjg==", "requires": { - "inherits": "^2.0.3", - "is-arguments": "^1.0.4", - "is-generator-function": "^1.0.7", - "is-typed-array": "^1.1.3", - "which-typed-array": "^1.1.2" + "@smithy/protocol-http": "^4.1.0", + "@smithy/querystring-builder": "^3.0.3", + "@smithy/types": "^3.3.0", + "@smithy/util-base64": "^3.0.0", + "tslib": "^2.6.2" } }, - "uuid": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.0.0.tgz", - "integrity": "sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw==", - "peer": true + "@smithy/hash-node": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-3.0.3.tgz", + "integrity": "sha512-2ctBXpPMG+B3BtWSGNnKELJ7SH9e4TNefJS0cd2eSkOOROeBnnVBnAy9LtJ8tY4vUEoe55N4CNPxzbWvR39iBw==", + "requires": { + "@smithy/types": "^3.3.0", + "@smithy/util-buffer-from": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + } }, - "which-typed-array": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", - "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", - "peer": true, + "@smithy/invalid-dependency": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-3.0.3.tgz", + "integrity": "sha512-ID1eL/zpDULmHJbflb864k72/SNOZCADRc9i7Exq3RUNJw6raWUSlFEQ+3PX3EYs++bTxZB2dE9mEHTQLv61tw==", "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0", - "is-typed-array": "^1.1.10" + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" } }, - "xml2js": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.5.0.tgz", - "integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==", - "peer": true, + "@smithy/is-array-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", + "requires": { + "tslib": "^2.6.2" + } + }, + "@smithy/middleware-content-length": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-3.0.5.tgz", + "integrity": "sha512-ILEzC2eyxx6ncej3zZSwMpB5RJ0zuqH7eMptxC4KN3f+v9bqT8ohssKbhNR78k/2tWW+KS5Spw+tbPF4Ejyqvw==", + "requires": { + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@smithy/middleware-endpoint": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-3.1.0.tgz", + "integrity": "sha512-5y5aiKCEwg9TDPB4yFE7H6tYvGFf1OJHNczeY10/EFF8Ir8jZbNntQJxMWNfeQjC1mxPsaQ6mR9cvQbf+0YeMw==", + "requires": { + "@smithy/middleware-serde": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-middleware": "^3.0.3", + "tslib": "^2.6.2" + } + }, + "@smithy/middleware-retry": { + "version": "3.0.15", + "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-3.0.15.tgz", + "integrity": "sha512-iTMedvNt1ApdvkaoE8aSDuwaoc+BhvHqttbA/FO4Ty+y/S5hW6Ci/CTScG7vam4RYJWZxdTElc3MEfHRVH6cgQ==", + "requires": { + "@smithy/node-config-provider": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/service-error-classification": "^3.0.3", + "@smithy/smithy-client": "^3.2.0", + "@smithy/types": "^3.3.0", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "tslib": "^2.6.2", + "uuid": "^9.0.1" + }, + "dependencies": { + "uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==" + } + } + }, + "@smithy/middleware-serde": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-3.0.3.tgz", + "integrity": "sha512-puUbyJQBcg9eSErFXjKNiGILJGtiqmuuNKEYNYfUD57fUl4i9+mfmThtQhvFXU0hCVG0iEJhvQUipUf+/SsFdA==", + "requires": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@smithy/middleware-stack": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-3.0.3.tgz", + "integrity": "sha512-r4klY9nFudB0r9UdSMaGSyjyQK5adUyPnQN/ZM6M75phTxOdnc/AhpvGD1fQUvgmqjQEBGCwpnPbDm8pH5PapA==", + "requires": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@smithy/node-config-provider": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-3.1.4.tgz", + "integrity": "sha512-YvnElQy8HR4vDcAjoy7Xkx9YT8xZP4cBXcbJSgm/kxmiQu08DwUwj8rkGnyoJTpfl/3xYHH+d8zE+eHqoDCSdQ==", "requires": { - "sax": ">=0.6.0", - "xmlbuilder": "~11.0.0" + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" } }, - "xmlbuilder": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", - "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", - "peer": true + "@smithy/node-http-handler": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-3.1.4.tgz", + "integrity": "sha512-+UmxgixgOr/yLsUxcEKGH0fMNVteJFGkmRltYFHnBMlogyFdpzn2CwqWmxOrfJELhV34v0WSlaqG1UtE1uXlJg==", + "requires": { + "@smithy/abort-controller": "^3.1.1", + "@smithy/protocol-http": "^4.1.0", + "@smithy/querystring-builder": "^3.0.3", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@smithy/property-provider": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-3.1.3.tgz", + "integrity": "sha512-zahyOVR9Q4PEoguJ/NrFP4O7SMAfYO1HLhB18M+q+Z4KFd4V2obiMnlVoUFzFLSPeVt1POyNWneHHrZaTMoc/g==", + "requires": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@smithy/protocol-http": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-4.1.0.tgz", + "integrity": "sha512-dPVoHYQ2wcHooGXg3LQisa1hH0e4y0pAddPMeeUPipI1tEOqL6A4N0/G7abeq+K8wrwSgjk4C0wnD1XZpJm5aA==", + "requires": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@smithy/querystring-builder": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-3.0.3.tgz", + "integrity": "sha512-vyWckeUeesFKzCDaRwWLUA1Xym9McaA6XpFfAK5qI9DKJ4M33ooQGqvM4J+LalH4u/Dq9nFiC8U6Qn1qi0+9zw==", + "requires": { + "@smithy/types": "^3.3.0", + "@smithy/util-uri-escape": "^3.0.0", + "tslib": "^2.6.2" + } + }, + "@smithy/querystring-parser": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-3.0.3.tgz", + "integrity": "sha512-zahM1lQv2YjmznnfQsWbYojFe55l0SLG/988brlLv1i8z3dubloLF+75ATRsqPBboUXsW6I9CPGE5rQgLfY0vQ==", + "requires": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@smithy/service-error-classification": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.3.tgz", + "integrity": "sha512-Jn39sSl8cim/VlkLsUhRFq/dKDnRUFlfRkvhOJaUbLBXUsLRLNf9WaxDv/z9BjuQ3A6k/qE8af1lsqcwm7+DaQ==", + "requires": { + "@smithy/types": "^3.3.0" + } + }, + "@smithy/shared-ini-file-loader": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.4.tgz", + "integrity": "sha512-qMxS4hBGB8FY2GQqshcRUy1K6k8aBWP5vwm8qKkCT3A9K2dawUwOIJfqh9Yste/Bl0J2lzosVyrXDj68kLcHXQ==", + "requires": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@smithy/signature-v4": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-4.1.0.tgz", + "integrity": "sha512-aRryp2XNZeRcOtuJoxjydO6QTaVhxx/vjaR+gx7ZjaFgrgPRyZ3HCTbfwqYj6ZWEBHkCSUfcaymKPURaByukag==", + "requires": { + "@smithy/is-array-buffer": "^3.0.0", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "@smithy/util-hex-encoding": "^3.0.0", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-uri-escape": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + } + }, + "@smithy/smithy-client": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-3.2.0.tgz", + "integrity": "sha512-pDbtxs8WOhJLJSeaF/eAbPgXg4VVYFlRcL/zoNYA5WbG3wBL06CHtBSg53ppkttDpAJ/hdiede+xApip1CwSLw==", + "requires": { + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "@smithy/util-stream": "^3.1.3", + "tslib": "^2.6.2" + } + }, + "@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "requires": { + "tslib": "^2.6.2" + } + }, + "@smithy/url-parser": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-3.0.3.tgz", + "integrity": "sha512-pw3VtZtX2rg+s6HMs6/+u9+hu6oY6U7IohGhVNnjbgKy86wcIsSZwgHrFR+t67Uyxvp4Xz3p3kGXXIpTNisq8A==", + "requires": { + "@smithy/querystring-parser": "^3.0.3", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@smithy/util-base64": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-3.0.0.tgz", + "integrity": "sha512-Kxvoh5Qtt0CDsfajiZOCpJxgtPHXOKwmM+Zy4waD43UoEMA+qPxxa98aE/7ZhdnBFZFXMOiBR5xbcaMhLtznQQ==", + "requires": { + "@smithy/util-buffer-from": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + } + }, + "@smithy/util-body-length-browser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-3.0.0.tgz", + "integrity": "sha512-cbjJs2A1mLYmqmyVl80uoLTJhAcfzMOyPgjwAYusWKMdLeNtzmMz9YxNl3/jRLoxSS3wkqkf0jwNdtXWtyEBaQ==", + "requires": { + "tslib": "^2.6.2" + } + }, + "@smithy/util-body-length-node": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-3.0.0.tgz", + "integrity": "sha512-Tj7pZ4bUloNUP6PzwhN7K386tmSmEET9QtQg0TgdNOnxhZvCssHji+oZTUIuzxECRfG8rdm2PMw2WCFs6eIYkA==", + "requires": { + "tslib": "^2.6.2" + } + }, + "@smithy/util-buffer-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", + "requires": { + "@smithy/is-array-buffer": "^3.0.0", + "tslib": "^2.6.2" + } + }, + "@smithy/util-config-provider": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-3.0.0.tgz", + "integrity": "sha512-pbjk4s0fwq3Di/ANL+rCvJMKM5bzAQdE5S/6RL5NXgMExFAi6UgQMPOm5yPaIWPpr+EOXKXRonJ3FoxKf4mCJQ==", + "requires": { + "tslib": "^2.6.2" + } + }, + "@smithy/util-defaults-mode-browser": { + "version": "3.0.15", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-3.0.15.tgz", + "integrity": "sha512-FZ4Psa3vjp8kOXcd3HJOiDPBCWtiilLl57r0cnNtq/Ga9RSDrM5ERL6xt+tO43+2af6Pn5Yp92x2n5vPuduNfg==", + "requires": { + "@smithy/property-provider": "^3.1.3", + "@smithy/smithy-client": "^3.2.0", + "@smithy/types": "^3.3.0", + "bowser": "^2.11.0", + "tslib": "^2.6.2" + } + }, + "@smithy/util-defaults-mode-node": { + "version": "3.0.15", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-3.0.15.tgz", + "integrity": "sha512-KSyAAx2q6d0t6f/S4XB2+3+6aQacm3aLMhs9aLMqn18uYGUepbdssfogW5JQZpc6lXNBnp0tEnR5e9CEKmEd7A==", + "requires": { + "@smithy/config-resolver": "^3.0.5", + "@smithy/credential-provider-imds": "^3.2.0", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/property-provider": "^3.1.3", + "@smithy/smithy-client": "^3.2.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@smithy/util-endpoints": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-2.0.5.tgz", + "integrity": "sha512-ReQP0BWihIE68OAblC/WQmDD40Gx+QY1Ez8mTdFMXpmjfxSyz2fVQu3A4zXRfQU9sZXtewk3GmhfOHswvX+eNg==", + "requires": { + "@smithy/node-config-provider": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@smithy/util-hex-encoding": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-3.0.0.tgz", + "integrity": "sha512-eFndh1WEK5YMUYvy3lPlVmYY/fZcQE1D8oSf41Id2vCeIkKJXPcYDCZD+4+xViI6b1XSd7tE+s5AmXzz5ilabQ==", + "requires": { + "tslib": "^2.6.2" + } + }, + "@smithy/util-middleware": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-3.0.3.tgz", + "integrity": "sha512-l+StyYYK/eO3DlVPbU+4Bi06Jjal+PFLSMmlWM1BEwyLxZ3aKkf1ROnoIakfaA7mC6uw3ny7JBkau4Yc+5zfWw==", + "requires": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@smithy/util-retry": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-3.0.3.tgz", + "integrity": "sha512-AFw+hjpbtVApzpNDhbjNG5NA3kyoMs7vx0gsgmlJF4s+yz1Zlepde7J58zpIRIsdjc+emhpAITxA88qLkPF26w==", + "requires": { + "@smithy/service-error-classification": "^3.0.3", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@smithy/util-stream": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-3.1.3.tgz", + "integrity": "sha512-FIv/bRhIlAxC0U7xM1BCnF2aDRPq0UaelqBHkM2lsCp26mcBbgI0tCVTv+jGdsQLUmAMybua/bjDsSu8RQHbmw==", + "requires": { + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/types": "^3.3.0", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-buffer-from": "^3.0.0", + "@smithy/util-hex-encoding": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + } + }, + "@smithy/util-uri-escape": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-3.0.0.tgz", + "integrity": "sha512-LqR7qYLgZTD7nWLBecUi4aqolw8Mhza9ArpNEQ881MJJIU2sE5iHCK6TdyqqzcDLy0OPe10IY4T8ctVdtynubg==", + "requires": { + "tslib": "^2.6.2" + } + }, + "@smithy/util-utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", + "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", + "requires": { + "@smithy/util-buffer-from": "^3.0.0", + "tslib": "^2.6.2" + } + }, + "aws4": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" + }, + "bowser": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", + "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==" + }, + "cfn-response-promise": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/cfn-response-promise/-/cfn-response-promise-1.1.0.tgz", + "integrity": "sha512-PHmokAJ5nKYiLTVAn2gxm9wz8h756niJj5h5SgthaDNnicZq0TOnVP5vtj6EGPwBvt14o8HgI/gXOKEcKiwZWw==" + }, + "debug": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "requires": { + "ms": "2.1.2" + }, + "dependencies": { + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, + "fast-xml-parser": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.4.1.tgz", + "integrity": "sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==", + "requires": { + "strnum": "^1.0.5" + } + }, + "hpagent": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/hpagent/-/hpagent-1.2.0.tgz", + "integrity": "sha512-A91dYTeIB6NoXG+PxTQpCCDDnfHsW9kc06Lvpu1TEe9gnd6ZFeiBoRO9JvzEv6xK7EX97/dUE8g/vBMTqTS3CA==" + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "secure-json-parse": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/secure-json-parse/-/secure-json-parse-2.4.0.tgz", + "integrity": "sha512-Q5Z/97nbON5t/L/sH6mY2EacfjVGwrCcSi5D3btRO2GZ8pf1K1UN7Z9H5J57hjVU2Qzxr1xO+FmBhOvEkzCMmg==" + }, + "strnum": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", + "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" + }, + "tslib": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==" } } } diff --git a/source/backend/functions/opensearch-setup/package.json b/source/backend/functions/opensearch-setup/package.json index 69f7af15..04285d2f 100644 --- a/source/backend/functions/opensearch-setup/package.json +++ b/source/backend/functions/opensearch-setup/package.json @@ -1,6 +1,6 @@ { "name": "opensearch-setup", - "version": "2.1.15", + "version": "2.2.0", "description": "Custom resource that creates index in OpenSearch.", "main": "src/index.js", "scripts": { @@ -17,8 +17,8 @@ }, "license": "Apache-2.0", "dependencies": { + "@aws-sdk/credential-provider-node": "^3.645.0", "@opensearch-project/opensearch": "2.3.1", - "aws-opensearch-connector": "1.0.0", "cfn-response-promise": "1.1.0" } } diff --git a/source/backend/functions/opensearch-setup/src/index.js b/source/backend/functions/opensearch-setup/src/index.js index 711dec23..6d5f9ab9 100644 --- a/source/backend/functions/opensearch-setup/src/index.js +++ b/source/backend/functions/opensearch-setup/src/index.js @@ -1,55 +1,74 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -const AWS = require('aws-sdk'); const response = require('cfn-response-promise'); const {Client} = require('@opensearch-project/opensearch'); -const createAwsOpensearchConnector = require('aws-opensearch-connector'); - -const domain = process.env.ES_DOMAIN; +const {AwsSigv4Signer} = require('@opensearch-project/opensearch/aws'); +const {defaultProvider} = require('@aws-sdk/credential-provider-node'); +const {AWS_REGION, ES_DOMAIN} = process.env; const INDEX = 'data'; const osClient = new Client({ - ...createAwsOpensearchConnector(AWS.config), - node: `https://${domain}` + ...AwsSigv4Signer({ + region: AWS_REGION, + service: 'es', + getCredentials: () => { + const credentialsProvider = defaultProvider(); + return credentialsProvider(); + }, + }), + node: `https://${ES_DOMAIN}`, }); function isClusterHealthy() { async function isHealthyRec(count = 0) { - if(count > 60) return false; + if (count > 60) return false; // OpenSearch clusters with only 1 node (the default config for WD) will only ever have yellow status. The // cluster health API here will return for any status above yellow so we cover multi-node clusters too - const {body: {status}} = await osClient.cluster.health({ level: 'cluster', waitForStatus: 'yellow', timeout: '1s' }); - return ['yellow', 'green'].includes(status) ? true : isHealthyRec(count + 1); + const { + body: {status}, + } = await osClient.cluster.health({ + level: 'cluster', + waitForStatus: 'yellow', + timeout: '1s', + }); + return ['yellow', 'green'].includes(status) + ? true + : isHealthyRec(count + 1); } return isHealthyRec(); } exports.handler = async function (event, context) { - console.log(event) + console.log(event); try { if (event.RequestType === 'Delete') { return response.send(event, context, response.SUCCESS); - } else { // we will try to recreate the index on an update because there may have been a destructive OpenSearch update + } else { + // we will try to recreate the index on an update because there may have been a destructive OpenSearch update const isHealthy = await isClusterHealthy(); - if(!isHealthy) { - console.log('Cluster was not healthy after 60s.') - return response.send(event, context, response.FAILED, {message: 'Cluster was not healthy after 60s.'}); + if (!isHealthy) { + console.log('Cluster was not healthy after 60s.'); + return response.send(event, context, response.FAILED, { + message: 'Cluster was not healthy after 60s.', + }); } else { - const {body: indexExists} = await osClient.indices.exists({index: INDEX}); + const {body: indexExists} = await osClient.indices.exists({ + index: INDEX, + }); console.log(`Index does ${indexExists ? '' : 'not'} exist.`); - if(!indexExists) { + if (!indexExists) { await osClient.indices.create({index: INDEX}); console.log('Index created.'); } return response.send(event, context, response.SUCCESS, { - message: `Index ${indexExists ? 'already existed' : 'was created'}.` + message: `Index ${indexExists ? 'already existed' : 'was created'}.`, }); } } - } catch(err) { - console.log(err) + } catch (err) { + console.log(err); return response.send(event, context, response.FAILED, err); } -} +}; diff --git a/source/backend/functions/search-api/package-lock.json b/source/backend/functions/search-api/package-lock.json index c2ebf673..3bf2e218 100644 --- a/source/backend/functions/search-api/package-lock.json +++ b/source/backend/functions/search-api/package-lock.json @@ -1,5965 +1,3153 @@ { "name": "wd-search-api", - "version": "2.1.15", + "version": "2.2.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "wd-search-api", - "version": "2.1.15", + "version": "2.2.0", "license": "Apache-2.0", "dependencies": { - "@opensearch-project/opensearch": "2.3.1", - "aws-opensearch-connector": "1.1.0", + "@aws-lambda-powertools/logger": "2.10.0", + "@opensearch-project/opensearch": "2.8.0", + "aws-opensearch-connector": "1.2.0", "ramda": "0.28.0" }, "devDependencies": { - "chai": "^4.3.10", - "mocha": "^10.2.0", - "nyc": "^15.1.0", - "nyc-report-lcov-absolute": "^1.0.0", - "rewire": "^7.0.0", - "sinon": "^17.0.0" - } - }, - "node_modules/@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", - "dev": true, - "engines": { - "node": ">=0.10.0" + "@vitest/coverage-v8": "^2.1.1", + "vitest": "^2.1.1" } }, "node_modules/@ampproject/remapping": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", - "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { "node": ">=6.0.0" } }, - "node_modules/@babel/code-frame": { - "version": "7.22.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", - "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", - "dev": true, + "node_modules/@aws-lambda-powertools/commons": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@aws-lambda-powertools/commons/-/commons-2.10.0.tgz", + "integrity": "sha512-XHC0FW/k33JWc2SZ9pbOJQPzNCMoRGnRuX/Cx1CYXRvRnaLYkPNRPrPYvGWy1OInAS3GSK6zxP1Asx0k4uaqSw==", + "license": "MIT-0" + }, + "node_modules/@aws-lambda-powertools/logger": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@aws-lambda-powertools/logger/-/logger-2.10.0.tgz", + "integrity": "sha512-QsVnoCBf6gKneGmSrIj1nxf34jWWOyDu4PO3I+VwkaH60lph2dIVcF1pP1zZagxUoYt9WWiddHcGQ7ORo0z5iw==", + "license": "MIT-0", "dependencies": { - "@babel/highlight": "^7.22.13", - "chalk": "^2.4.2" + "@aws-lambda-powertools/commons": "^2.10.0", + "lodash.merge": "^4.6.2" + }, + "peerDependencies": { + "@middy/core": "4.x || 5.x" }, + "peerDependenciesMeta": { + "@middy/core": { + "optional": true + } + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.7.tgz", + "integrity": "sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==", + "dev": true, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/code-frame/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==", + "node_modules/@babel/helper-validator-identifier": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, "engines": { - "node": ">=4" + "node": ">=6.9.0" } }, - "node_modules/@babel/code-frame/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==", + "node_modules/@babel/parser": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.7.tgz", + "integrity": "sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==", "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "bin": { + "parser": "bin/babel-parser.js" }, "engines": { - "node": ">=4" + "node": ">=6.0.0" } }, - "node_modules/@babel/code-frame/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==", + "node_modules/@babel/types": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.7.tgz", + "integrity": "sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==", "dev": true, "dependencies": { - "color-name": "1.1.3" + "@babel/helper-string-parser": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" } }, - "node_modules/@babel/code-frame/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", "dev": true }, - "node_modules/@babel/code-frame/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": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "node_modules/@esbuild/aix-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", + "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", + "cpu": [ + "ppc64" + ], "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], "engines": { - "node": ">=0.8.0" + "node": ">=12" } }, - "node_modules/@babel/code-frame/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "node_modules/@esbuild/android-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", + "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", + "cpu": [ + "arm" + ], "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=4" + "node": ">=12" } }, - "node_modules/@babel/code-frame/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==", + "node_modules/@esbuild/android-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", + "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=4" + "node": ">=12" } }, - "node_modules/@babel/compat-data": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.4.tgz", - "integrity": "sha512-/DYyDpeCfaVinT40FPGdkkb+lYSKvsVuMjDAG7jPOWWiM1ibOaB9CXJAlc4d1QpP/U2q2P9jbrSlClKSErd55g==", + "node_modules/@esbuild/android-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", + "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", + "cpu": [ + "x64" + ], "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/core": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.21.4.tgz", - "integrity": "sha512-qt/YV149Jman/6AfmlxJ04LMIu8bMoyl3RB91yTFrxQmgbrSvQMy7cI8Q62FHx1t8wJ8B5fu0UDoLwHAhUo1QA==", + "node_modules/@esbuild/darwin-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", + "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.21.4", - "@babel/generator": "^7.21.4", - "@babel/helper-compilation-targets": "^7.21.4", - "@babel/helper-module-transforms": "^7.21.2", - "@babel/helpers": "^7.21.0", - "@babel/parser": "^7.21.4", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.4", - "@babel/types": "^7.21.4", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", - "semver": "^6.3.0" - }, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" + "node": ">=12" } }, - "node_modules/@babel/generator": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", - "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", + "node_modules/@esbuild/darwin-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", + "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "@babel/types": "^7.23.0", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - }, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.4.tgz", - "integrity": "sha512-Fa0tTuOXZ1iL8IeDFUWCzjZcn+sJGd9RZdH9esYVjEejGmzf+FFYQpMi/kZUk2kPy/q1H3/GPw7np8qar/stfg==", + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", + "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "@babel/compat-data": "^7.21.4", - "@babel/helper-validator-option": "^7.21.0", - "browserslist": "^4.21.3", - "lru-cache": "^5.1.1", - "semver": "^6.3.0" - }, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "node": ">=12" } }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", + "node_modules/@esbuild/freebsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", + "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", + "cpu": [ + "x64" + ], "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", + "node_modules/@esbuild/linux-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", + "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", + "cpu": [ + "arm" + ], "dev": true, - "dependencies": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" - }, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "node_modules/@esbuild/linux-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", + "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-module-imports": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz", - "integrity": "sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==", + "node_modules/@esbuild/linux-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", + "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", + "cpu": [ + "ia32" + ], "dev": true, - "dependencies": { - "@babel/types": "^7.21.4" - }, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.21.2", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz", - "integrity": "sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==", + "node_modules/@esbuild/linux-loong64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", + "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", + "cpu": [ + "loong64" + ], "dev": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.20.2", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.19.1", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.2", - "@babel/types": "^7.21.2" - }, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-simple-access": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", - "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", + "node_modules/@esbuild/linux-mips64el": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", + "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", + "cpu": [ + "mips64el" + ], "dev": true, - "dependencies": { - "@babel/types": "^7.20.2" - }, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "node_modules/@esbuild/linux-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", + "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", + "cpu": [ + "ppc64" + ], "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", + "node_modules/@esbuild/linux-riscv64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", + "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", + "cpu": [ + "riscv64" + ], "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "node_modules/@esbuild/linux-s390x": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", + "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", + "cpu": [ + "s390x" + ], "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-validator-option": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz", - "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==", + "node_modules/@esbuild/linux-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", + "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", + "cpu": [ + "x64" + ], "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helpers": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.0.tgz", - "integrity": "sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==", + "node_modules/@esbuild/netbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", + "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.0", - "@babel/types": "^7.21.0" - }, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/highlight": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", - "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", + "node_modules/@esbuild/openbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", + "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" - }, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/highlight/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==", + "node_modules/@esbuild/sunos-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", + "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], "engines": { - "node": ">=4" + "node": ">=12" } }, - "node_modules/@babel/highlight/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==", + "node_modules/@esbuild/win32-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", + "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/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==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" + "node": ">=12" } }, - "node_modules/@babel/highlight/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/@babel/highlight/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": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "node_modules/@esbuild/win32-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", + "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", + "cpu": [ + "ia32" + ], "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=0.8.0" + "node": ">=12" } }, - "node_modules/@babel/highlight/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "node_modules/@esbuild/win32-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", + "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", + "cpu": [ + "x64" + ], "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=4" + "node": ">=12" } }, - "node_modules/@babel/highlight/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==", + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", "dev": true, + "license": "ISC", "dependencies": { - "has-flag": "^3.0.0" + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" }, "engines": { - "node": ">=4" + "node": ">=12" } }, - "node_modules/@babel/parser": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", - "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", "dev": true, - "bin": { - "parser": "bin/babel-parser.js" - }, + "license": "MIT", "engines": { - "node": ">=6.0.0" + "node": ">=8" } }, - "node_modules/@babel/template": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", - "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/parser": "^7.22.15", - "@babel/types": "^7.22.15" + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { - "node": ">=6.9.0" + "node": ">=6.0.0" } }, - "node_modules/@babel/traverse": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", - "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", "dev": true, - "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.23.0", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.0", - "@babel/types": "^7.23.0", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, + "license": "MIT", "engines": { - "node": ">=6.9.0" + "node": ">=6.0.0" } }, - "node_modules/@babel/types": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", - "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", "dev": true, - "dependencies": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.20", - "to-fast-properties": "^2.0.0" - }, + "license": "MIT", "engines": { - "node": ">=6.9.0" + "node": ">=6.0.0" } }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", "dev": true, - "dependencies": { - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } + "license": "MIT" }, - "node_modules/@eslint-community/regexpp": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.9.1.tgz", - "integrity": "sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==", + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", "dev": true, - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@eslint/eslintrc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", - "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", - "dev": true, + "node_modules/@opensearch-project/opensearch": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/@opensearch-project/opensearch/-/opensearch-2.8.0.tgz", + "integrity": "sha512-VgYq5WQCHHotUlk8fUXAkisCjeiw6eNKg/z9elBHuFnNVEUEhSzl3UAuPS3Y9TUd9uTvUbAZ8kkuA5y3Te9rsw==", "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" + "aws4": "^1.11.0", + "debug": "^4.3.1", + "hpagent": "^1.2.0", + "ms": "^2.1.3", + "secure-json-parse": "^2.4.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": ">=10", + "yarn": "^1.22.10" } }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.23.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", - "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, + "license": "MIT", + "optional": true, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=14" } }, - "node_modules/@eslint/eslintrc/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.22.4.tgz", + "integrity": "sha512-Fxamp4aEZnfPOcGA8KSNEohV8hX7zVHOemC8jVBoBUHu5zpJK/Eu3uJwt6BMgy9fkvzxDaurgj96F/NiLukF2w==", + "cpu": [ + "arm" + ], "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } + "license": "MIT", + "optional": true, + "os": [ + "android" + ] }, - "node_modules/@eslint/eslintrc/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==", + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.22.4.tgz", + "integrity": "sha512-VXoK5UMrgECLYaMuGuVTOx5kcuap1Jm8g/M83RnCHBKOqvPPmROFJGQaZhGccnsFtfXQ3XYa4/jMCJvZnbJBdA==", + "cpu": [ + "arm64" + ], "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "license": "MIT", + "optional": true, + "os": [ + "android" + ] }, - "node_modules/@eslint/js": { - "version": "8.51.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.51.0.tgz", - "integrity": "sha512-HxjQ8Qn+4SI3/AFv6sOrDB+g6PpUTDwSJiQqOrnneEk8L71161srI9gjzzZvYVbzHiVg/BvcH95+cK/zfIt4pg==", + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.22.4.tgz", + "integrity": "sha512-xMM9ORBqu81jyMKCDP+SZDhnX2QEVQzTcC6G18KlTQEzWK8r/oNZtKuZaCcHhnsa6fEeOBionoyl5JsAbE/36Q==", + "cpu": [ + "arm64" + ], "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.22.4.tgz", + "integrity": "sha512-aJJyYKQwbHuhTUrjWjxEvGnNNBCnmpHDvrb8JFDbeSH3m2XdHcxDd3jthAzvmoI8w/kSjd2y0udT+4okADsZIw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.22.4.tgz", + "integrity": "sha512-j63YtCIRAzbO+gC2L9dWXRh5BFetsv0j0va0Wi9epXDgU/XUi5dJKo4USTttVyK7fGw2nPWK0PbAvyliz50SCQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.22.4.tgz", + "integrity": "sha512-dJnWUgwWBX1YBRsuKKMOlXCzh2Wu1mlHzv20TpqEsfdZLb3WoJW2kIEsGwLkroYf24IrPAvOT/ZQ2OYMV6vlrg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.22.4.tgz", + "integrity": "sha512-AdPRoNi3NKVLolCN/Sp4F4N1d98c4SBnHMKoLuiG6RXgoZ4sllseuGioszumnPGmPM2O7qaAX/IJdeDU8f26Aw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.22.4.tgz", + "integrity": "sha512-Gl0AxBtDg8uoAn5CCqQDMqAx22Wx22pjDOjBdmG0VIWX3qUBHzYmOKh8KXHL4UpogfJ14G4wk16EQogF+v8hmA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.22.4.tgz", + "integrity": "sha512-3aVCK9xfWW1oGQpTsYJJPF6bfpWfhbRnhdlyhak2ZiyFLDaayz0EP5j9V1RVLAAxlmWKTDfS9wyRyY3hvhPoOg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.22.4.tgz", + "integrity": "sha512-ePYIir6VYnhgv2C5Xe9u+ico4t8sZWXschR6fMgoPUK31yQu7hTEJb7bCqivHECwIClJfKgE7zYsh1qTP3WHUA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.22.4.tgz", + "integrity": "sha512-GqFJ9wLlbB9daxhVlrTe61vJtEY99/xB3C8e4ULVsVfflcpmR6c8UZXjtkMA6FhNONhj2eA5Tk9uAVw5orEs4Q==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.22.4.tgz", + "integrity": "sha512-87v0ol2sH9GE3cLQLNEy0K/R0pz1nvg76o8M5nhMR0+Q+BBGLnb35P0fVz4CQxHYXaAOhE8HhlkaZfsdUOlHwg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.22.4.tgz", + "integrity": "sha512-UV6FZMUgePDZrFjrNGIWzDo/vABebuXBhJEqrHxrGiU6HikPy0Z3LfdtciIttEUQfuDdCn8fqh7wiFJjCNwO+g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.11.13", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", - "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==", + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.22.4.tgz", + "integrity": "sha512-BjI+NVVEGAXjGWYHz/vv0pBqfGoUH0IGZ0cICTn7kB9PyjrATSkX+8WkguNjWoj2qSr1im/+tTGRaY+4/PdcQw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.22.4.tgz", + "integrity": "sha512-SiWG/1TuUdPvYmzmYnmd3IEifzR61Tragkbx9D3+R8mzQqDBz8v+BvZNDlkiTtI9T15KYZhP0ehn3Dld4n9J5g==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.22.4.tgz", + "integrity": "sha512-j8pPKp53/lq9lMXN57S8cFz0MynJk8OWNuUnXct/9KCpKU7DgU3bYMJhwWmcqC0UU29p8Lr0/7KEVcaM6bf47Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@types/estree": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vitest/coverage-v8": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-2.1.1.tgz", + "integrity": "sha512-md/A7A3c42oTT8JUHSqjP5uKTWJejzUW4jalpvs+rZ27gsURsMU8DEb+8Jf8C6Kj2gwfSHJqobDNBuoqlm0cFw==", "dev": true, + "license": "MIT", "dependencies": { - "@humanwhocodes/object-schema": "^2.0.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" + "@ampproject/remapping": "^2.3.0", + "@bcoe/v8-coverage": "^0.2.3", + "debug": "^4.3.6", + "istanbul-lib-coverage": "^3.2.2", + "istanbul-lib-report": "^3.0.1", + "istanbul-lib-source-maps": "^5.0.6", + "istanbul-reports": "^3.1.7", + "magic-string": "^0.30.11", + "magicast": "^0.3.4", + "std-env": "^3.7.0", + "test-exclude": "^7.0.1", + "tinyrainbow": "^1.2.0" }, - "engines": { - "node": ">=10.10.0" + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@vitest/browser": "2.1.1", + "vitest": "2.1.1" + }, + "peerDependenciesMeta": { + "@vitest/browser": { + "optional": true + } } }, - "node_modules/@humanwhocodes/config-array/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "node_modules/@vitest/expect": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-2.1.1.tgz", + "integrity": "sha512-YeueunS0HiHiQxk+KEOnq/QMzlUuOzbU1Go+PgAsHvvv3tUkJPm9xWt+6ITNTlzsMXUjmgm5T+U7KBPK2qQV6w==", "dev": true, + "license": "MIT", "dependencies": { - "brace-expansion": "^1.1.7" + "@vitest/spy": "2.1.1", + "@vitest/utils": "2.1.1", + "chai": "^5.1.1", + "tinyrainbow": "^1.2.0" }, - "engines": { - "node": "*" + "funding": { + "url": "https://opencollective.com/vitest" } }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "node_modules/@vitest/mocker": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-2.1.1.tgz", + "integrity": "sha512-LNN5VwOEdJqCmJ/2XJBywB11DLlkbY0ooDJW3uRX5cZyYCrc4PI/ePX0iQhE3BiEGiQmK4GE7Q/PqCkkaiPnrA==", "dev": true, - "engines": { - "node": ">=12.22" + "license": "MIT", + "dependencies": { + "@vitest/spy": "^2.1.0-beta.1", + "estree-walker": "^3.0.3", + "magic-string": "^0.30.11" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@vitest/spy": "2.1.1", + "msw": "^2.3.5", + "vite": "^5.0.0" + }, + "peerDependenciesMeta": { + "msw": { + "optional": true + }, + "vite": { + "optional": true + } } }, - "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz", - "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==", - "dev": true - }, - "node_modules/@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "node_modules/@vitest/pretty-format": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-2.1.1.tgz", + "integrity": "sha512-SjxPFOtuINDUW8/UkElJYQSFtnWX7tMksSGW0vfjxMneFqxVr8YJ979QpMbDW7g+BIiq88RAGDjf7en6rvLPPQ==", "dev": true, + "license": "MIT", "dependencies": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" + "tinyrainbow": "^1.2.0" }, - "engines": { - "node": ">=8" + "funding": { + "url": "https://opencollective.com/vitest" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "node_modules/@vitest/runner": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-2.1.1.tgz", + "integrity": "sha512-uTPuY6PWOYitIkLPidaY5L3t0JJITdGTSwBtwMjKzo5O6RCOEncz9PUN+0pDidX8kTHYjO0EwUIvhlGpnGpxmA==", "dev": true, + "license": "MIT", "dependencies": { - "sprintf-js": "~1.0.2" + "@vitest/utils": "2.1.1", + "pathe": "^1.1.2" + }, + "funding": { + "url": "https://opencollective.com/vitest" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "node_modules/@vitest/snapshot": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-2.1.1.tgz", + "integrity": "sha512-BnSku1WFy7r4mm96ha2FzN99AZJgpZOWrAhtQfoxjUU5YMRpq1zmHRq7a5K9/NjqonebO7iVDla+VvZS8BOWMw==", "dev": true, + "license": "MIT", "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" + "@vitest/pretty-format": "2.1.1", + "magic-string": "^0.30.11", + "pathe": "^1.1.2" }, - "engines": { - "node": ">=8" + "funding": { + "url": "https://opencollective.com/vitest" } }, - "node_modules/@istanbuljs/load-nyc-config/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==", + "node_modules/@vitest/spy": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-2.1.1.tgz", + "integrity": "sha512-ZM39BnZ9t/xZ/nF4UwRH5il0Sw93QnZXd9NAZGRpIgj0yvVwPpLd702s/Cx955rGaMlyBQkZJ2Ir7qyY48VZ+g==", "dev": true, + "license": "MIT", "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "tinyspy": "^3.0.0" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "funding": { + "url": "https://opencollective.com/vitest" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "node_modules/@vitest/utils": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-2.1.1.tgz", + "integrity": "sha512-Y6Q9TsI+qJ2CC0ZKj6VBb+T8UPz593N113nnUykqwANqhgf3QkZeHFlusgKLTqrnVHbj/XDKZcDHol+dxVT+rQ==", "dev": true, + "license": "MIT", "dependencies": { - "p-locate": "^4.1.0" + "@vitest/pretty-format": "2.1.1", + "loupe": "^3.1.1", + "tinyrainbow": "^1.2.0" }, - "engines": { - "node": ">=8" + "funding": { + "url": "https://opencollective.com/vitest" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, + "license": "MIT", "engines": { - "node": ">=6" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "node_modules/assertion-error": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", + "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", "dev": true, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", - "dev": true, + "node_modules/aws-opensearch-connector": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aws-opensearch-connector/-/aws-opensearch-connector-1.2.0.tgz", + "integrity": "sha512-Jex72kdNtkpXdBFkA8n/VkWqI+S0AjqY6xGN8I8qA7W2CAjppBEh6PVRER1zLa/Q+/dqxou15uZ5Qz6NFfmqFQ==", "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" + "aws4": "^1.11.0" }, "engines": { - "node": ">=6.0.0" + "node": ">= 10" + }, + "peerDependencies": { + "@opensearch-project/opensearch": ">=1.0.0" } }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } + "node_modules/aws4": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", + "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==" }, - "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "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==", "dev": true, - "engines": { - "node": ">=6.0.0" - } + "license": "MIT" }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "dev": true - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.18", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", - "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, + "license": "MIT", "dependencies": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" + "balanced-match": "^1.0.0" } }, - "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "dev": true + "node_modules/cac": { + "version": "6.7.14", + "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", + "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "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==", + "node_modules/chai": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/chai/-/chai-5.1.1.tgz", + "integrity": "sha512-pT1ZgP8rPNqUgieVaEY+ryQr6Q4HXNg8Ei9UnLUrjN4IA7dvQC5JB+/kxVcPNDHyBcc/26CXPkbNzq3qwrOEKA==", "dev": true, + "license": "MIT", "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" + "assertion-error": "^2.0.1", + "check-error": "^2.1.1", + "deep-eql": "^5.0.1", + "loupe": "^3.1.0", + "pathval": "^2.0.0" }, "engines": { - "node": ">= 8" + "node": ">=12" } }, - "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==", + "node_modules/check-error": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz", + "integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==", "dev": true, + "license": "MIT", "engines": { - "node": ">= 8" + "node": ">= 16" } }, - "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==", + "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, + "license": "MIT", "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" + "color-name": "~1.1.4" }, "engines": { - "node": ">= 8" + "node": ">=7.0.0" } }, - "node_modules/@opensearch-project/opensearch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/@opensearch-project/opensearch/-/opensearch-2.3.1.tgz", - "integrity": "sha512-Kg8tddAx6sinStnNi6IeGilfvLWlonIxaRdVNiJcNPr1yMqd0c9TSegn18zKr0Pb0IM9xBIGBSkRPuh67ZN6Hw==", + "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, + "license": "MIT" + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", "dependencies": { - "aws4": "^1.11.0", - "debug": "^4.3.1", - "hpagent": "^1.2.0", - "ms": "^2.1.3", - "secure-json-parse": "^2.4.0" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" }, "engines": { - "node": ">=10", - "yarn": "^1.22.10" + "node": ">= 8" } }, - "node_modules/@sinonjs/commons": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", - "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", - "dev": true, + "node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "license": "MIT", "dependencies": { - "type-detect": "4.0.8" + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/@sinonjs/fake-timers": { - "version": "11.2.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-11.2.2.tgz", - "integrity": "sha512-G2piCSxQ7oWOxwGSAyFHfPIsyeJGXYtc6mFbnFA+kRXkiEnTl8c/8jul2S329iFBnDI9HGoeWWAZvuvOkZccgw==", + "node_modules/deep-eql": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz", + "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==", "dev": true, - "dependencies": { - "@sinonjs/commons": "^3.0.0" + "license": "MIT", + "engines": { + "node": ">=6" } }, - "node_modules/@sinonjs/samsam": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-8.0.0.tgz", - "integrity": "sha512-Bp8KUVlLp8ibJZrnvq2foVhP0IVX2CIprMJPK0vqGqgrDa0OHVKeZyBykqskkrdxV6yKBPmGasO8LVjAKR3Gew==", + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", "dev": true, - "dependencies": { - "@sinonjs/commons": "^2.0.0", - "lodash.get": "^4.4.2", - "type-detect": "^4.0.8" - } + "license": "MIT" }, - "node_modules/@sinonjs/samsam/node_modules/@sinonjs/commons": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", - "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", "dev": true, - "dependencies": { - "type-detect": "4.0.8" - } - }, - "node_modules/@sinonjs/text-encoding": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.2.tgz", - "integrity": "sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ==", - "dev": true + "license": "MIT" }, - "node_modules/acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "node_modules/esbuild": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", "dev": true, + "hasInstallScript": true, + "license": "MIT", "bin": { - "acorn": "bin/acorn" + "esbuild": "bin/esbuild" }, "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" + } + }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", "dev": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" } }, - "node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "node_modules/foreground-child": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", "dev": true, + "license": "ISC", "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" }, "engines": { - "node": ">=8" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "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" + "node": ">=14" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=6" + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "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==", + "node_modules/get-func-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", + "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", "dev": true, + "license": "MIT", "engines": { - "node": ">=8" + "node": "*" } }, - "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==", + "node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", "dev": true, + "license": "ISC", "dependencies": { - "color-convert": "^2.0.1" + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" }, - "engines": { - "node": ">=8" + "bin": { + "glob": "dist/esm/bin.mjs" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "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, - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, "engines": { - "node": ">= 8" + "node": ">=8" } }, - "node_modules/append-transform": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz", - "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==", - "dev": true, - "dependencies": { - "default-require-extensions": "^3.0.0" - }, + "node_modules/hpagent": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/hpagent/-/hpagent-1.2.0.tgz", + "integrity": "sha512-A91dYTeIB6NoXG+PxTQpCCDDnfHsW9kc06Lvpu1TEe9gnd6ZFeiBoRO9JvzEv6xK7EX97/dUE8g/vBMTqTS3CA==", "engines": { - "node": ">=8" + "node": ">=14" } }, - "node_modules/archy": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==", - "dev": true - }, - "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/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "dev": true }, - "node_modules/assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "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==", "dev": true, + "license": "MIT", "engines": { - "node": "*" - } - }, - "node_modules/aws-opensearch-connector": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/aws-opensearch-connector/-/aws-opensearch-connector-1.1.0.tgz", - "integrity": "sha512-e3rHl5JVdukB40qfuu5sq4WB0E1jO2WkiA1lYOfvc1ol1tJayw8eFqCilO//O+8OH7ypbiDO0ayKI3aEWjaZWQ==", - "dependencies": { - "aws4": "^1.11.0" - }, - "engines": { - "node": ">= 10" - }, - "peerDependencies": { - "@opensearch-project/opensearch": ">=1.0.0" + "node": ">=8" } }, - "node_modules/aws4": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", - "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==" - }, - "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==", - "dev": true + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" }, - "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==", + "node_modules/istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", "dev": true, "engines": { "node": ">=8" } }, - "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==", + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", "dev": true, "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" } }, - "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "node_modules/istanbul-lib-report/node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", "dev": true, "dependencies": { - "fill-range": "^7.1.1" + "semver": "^7.5.3" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/browser-stdout": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", - "dev": true - }, - "node_modules/browserslist": { - "version": "4.21.5", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", - "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", + "node_modules/istanbul-lib-report/node_modules/semver": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - ], - "dependencies": { - "caniuse-lite": "^1.0.30001449", - "electron-to-chromium": "^1.4.284", - "node-releases": "^2.0.8", - "update-browserslist-db": "^1.0.10" - }, "bin": { - "browserslist": "cli.js" + "semver": "bin/semver.js" }, "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + "node": ">=10" } }, - "node_modules/caching-transform": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz", - "integrity": "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==", + "node_modules/istanbul-lib-source-maps": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-5.0.6.tgz", + "integrity": "sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "hasha": "^5.0.0", - "make-dir": "^3.0.0", - "package-hash": "^4.0.0", - "write-file-atomic": "^3.0.0" + "@jridgewell/trace-mapping": "^0.3.23", + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "node_modules/istanbul-reports": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", + "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", "dev": true, + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", "dev": true, - "engines": { - "node": ">=6" + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" } }, - "node_modules/caniuse-lite": { - "version": "1.0.30001480", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001480.tgz", - "integrity": "sha512-q7cpoPPvZYgtyC4VaBSN0Bt+PJ4c4EYRf0DrduInOz2SkFpHD5p3LnvEpqBp7UnJn+8x1Ogl1s38saUxe+ihQQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ] + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "license": "MIT" }, - "node_modules/chai": { - "version": "4.3.10", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.10.tgz", - "integrity": "sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g==", + "node_modules/loupe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.1.tgz", + "integrity": "sha512-edNu/8D5MKVfGVFRhFf8aAxiTM6Wumfz5XsaatSxlD3w4R1d/WEKUTydCdPGbl9K7QG/Ca3GnDV2sIKIpXRQcw==", "dev": true, + "license": "MIT", "dependencies": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.3", - "deep-eql": "^4.1.3", - "get-func-name": "^2.0.2", - "loupe": "^2.3.6", - "pathval": "^1.1.1", - "type-detect": "^4.0.8" - }, - "engines": { - "node": ">=4" + "get-func-name": "^2.0.1" } }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/magic-string": { + "version": "0.30.11", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz", + "integrity": "sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==", "dev": true, + "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "@jridgewell/sourcemap-codec": "^1.5.0" } }, - "node_modules/check-error": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", - "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", + "node_modules/magicast": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.3.4.tgz", + "integrity": "sha512-TyDF/Pn36bBji9rWKHlZe+PZb6Mx5V8IHCSxk7X4aljM4e/vyDvZZYwHewdVaqiA0nb3ghfHU/6AUpDxWoER2Q==", "dev": true, "dependencies": { - "get-func-name": "^2.0.2" - }, - "engines": { - "node": "*" + "@babel/parser": "^7.24.4", + "@babel/types": "^7.24.0", + "source-map-js": "^1.2.0" } }, - "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], + "license": "ISC", "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" + "brace-expansion": "^2.0.1" }, "engines": { - "node": ">= 8.10.0" + "node": ">=16 || 14 >=14.17" }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", "dev": true, + "license": "ISC", "engines": { - "node": ">=6" + "node": ">=16 || 14 >=14.17" } }, - "node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" }, - "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==", + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", "dev": true, - "dependencies": { - "color-name": "~1.1.4" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" }, "engines": { - "node": ">=7.0.0" + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "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/commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", - "dev": true - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "node_modules/convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "dev": true + "node_modules/package-json-from-dist": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", + "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==", + "dev": true, + "license": "BlueOak-1.0.0" }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, + "license": "MIT", "engines": { - "node": ">= 8" + "node": ">=8" } }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, + "license": "BlueOak-1.0.0", "dependencies": { - "ms": "2.1.2" + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" }, "engines": { - "node": ">=6.0" + "node": ">=16 || 14 >=14.18" }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/debug/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/pathe": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", + "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", + "dev": true, + "license": "MIT" }, - "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "node_modules/pathval": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.0.tgz", + "integrity": "sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==", "dev": true, + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">= 14.16" } }, - "node_modules/deep-eql": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", - "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", + "node_modules/picocolors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", + "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==", + "dev": true, + "license": "ISC" + }, + "node_modules/postcss": { + "version": "8.4.47", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", + "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", "dependencies": { - "type-detect": "^4.0.0" + "nanoid": "^3.3.7", + "picocolors": "^1.1.0", + "source-map-js": "^1.2.1" }, "engines": { - "node": ">=6" + "node": "^10 || ^12 || >=14" } }, - "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/ramda": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.28.0.tgz", + "integrity": "sha512-9QnLuG/kPVgWvMQ4aODhsBUFKOUmnbUnsSXACv+NCQZcHbeb+v8Lodp8OVxtRULN1/xOyYLLaL6npE6dMq5QTA==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/ramda" + } }, - "node_modules/default-require-extensions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.1.tgz", - "integrity": "sha512-eXTJmRbm2TIt9MgWTsOH1wEuhew6XGZcMeGKCtLedIg/NCsg1iBePXkceTdK4Fii7pzmN9tGsZhKzZ4h7O/fxw==", + "node_modules/rollup": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.22.4.tgz", + "integrity": "sha512-vD8HJ5raRcWOyymsR6Z3o6+RzfEPCnVLMFJ6vRslO1jt4LO6dUo5Qnpg7y4RkZFM2DMe3WUirkI5c16onjrc6A==", "dev": true, + "license": "MIT", "dependencies": { - "strip-bom": "^4.0.0" + "@types/estree": "1.0.5" + }, + "bin": { + "rollup": "dist/bin/rollup" }, "engines": { - "node": ">=8" + "node": ">=18.0.0", + "npm": ">=8.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.22.4", + "@rollup/rollup-android-arm64": "4.22.4", + "@rollup/rollup-darwin-arm64": "4.22.4", + "@rollup/rollup-darwin-x64": "4.22.4", + "@rollup/rollup-linux-arm-gnueabihf": "4.22.4", + "@rollup/rollup-linux-arm-musleabihf": "4.22.4", + "@rollup/rollup-linux-arm64-gnu": "4.22.4", + "@rollup/rollup-linux-arm64-musl": "4.22.4", + "@rollup/rollup-linux-powerpc64le-gnu": "4.22.4", + "@rollup/rollup-linux-riscv64-gnu": "4.22.4", + "@rollup/rollup-linux-s390x-gnu": "4.22.4", + "@rollup/rollup-linux-x64-gnu": "4.22.4", + "@rollup/rollup-linux-x64-musl": "4.22.4", + "@rollup/rollup-win32-arm64-msvc": "4.22.4", + "@rollup/rollup-win32-ia32-msvc": "4.22.4", + "@rollup/rollup-win32-x64-msvc": "4.22.4", + "fsevents": "~2.3.2" } }, - "node_modules/diff": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", - "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", + "node_modules/rollup/node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", "dev": true, - "engines": { - "node": ">=0.3.1" - } + "license": "MIT" }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "node_modules/secure-json-parse": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/secure-json-parse/-/secure-json-parse-2.7.0.tgz", + "integrity": "sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, + "license": "MIT", "dependencies": { - "esutils": "^2.0.2" + "shebang-regex": "^3.0.0" }, "engines": { - "node": ">=6.0.0" + "node": ">=8" } }, - "node_modules/electron-to-chromium": { - "version": "1.4.368", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.368.tgz", - "integrity": "sha512-e2aeCAixCj9M7nJxdB/wDjO6mbYX+lJJxSJCXDzlr5YPGYVofuJwGN9nKg2o6wWInjX6XmxRinn3AeJMK81ltw==", - "dev": true - }, - "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==", - "dev": true - }, - "node_modules/es6-error": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", - "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", - "dev": true - }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, + "license": "MIT", "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "node_modules/siginfo": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", + "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", + "dev": true, + "license": "ISC" + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true, + "license": "ISC", "engines": { - "node": ">=10" + "node": ">=14" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/eslint": { - "version": "8.51.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.51.0.tgz", - "integrity": "sha512-2WuxRZBrlwnXi+/vFSJyjMqrNjtJqiasMzehF0shoLaW7DzS3/9Yvrmq5JiT66+pNjiX4UBnLDiKHcWAr/OInA==", + "node_modules/stackback": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", + "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", + "dev": true, + "license": "MIT" + }, + "node_modules/std-env": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz", + "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==", + "dev": true, + "license": "MIT" + }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "dev": true, + "license": "MIT", "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "8.51.0", - "@humanwhocodes/config-array": "^0.11.11", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=12" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "node_modules/string-width-cjs": { + "name": "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==", "dev": true, + "license": "MIT", "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": ">=8" } }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "node_modules/string-width-cjs/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==", "dev": true, + "license": "MIT", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": ">=8" } }, - "node_modules/eslint/node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "node_modules/string-width-cjs/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==", + "dev": true, + "license": "MIT" + }, + "node_modules/string-width-cjs/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==", "dev": true, + "license": "MIT", "dependencies": { - "is-glob": "^4.0.3" + "ansi-regex": "^5.0.1" }, "engines": { - "node": ">=10.13.0" + "node": ">=8" } }, - "node_modules/eslint/node_modules/globals": { - "version": "13.23.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", - "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", + "node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, + "license": "MIT", "dependencies": { - "type-fest": "^0.20.2" + "ansi-regex": "^6.0.1" }, "engines": { - "node": ">=8" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/eslint/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, + "license": "MIT", "dependencies": { - "brace-expansion": "^1.1.7" + "ansi-regex": "^5.0.1" }, "engines": { - "node": "*" + "node": ">=8" } }, - "node_modules/eslint/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "node_modules/strip-ansi-cjs/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==", "dev": true, - "dependencies": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - }, + "license": "MIT", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": ">=8" } }, - "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==", + "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, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" + "dependencies": { + "has-flag": "^4.0.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "node_modules/test-exclude": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-7.0.1.tgz", + "integrity": "sha512-pFYqmTw68LXVjeWJMST4+borgQP2AyMNbg1BpZh9LbyhUeNkeaPF9gzfPGUAnSMV3qPYdWUwDIjjCLiSDOl7vg==", "dev": true, + "license": "ISC", "dependencies": { - "estraverse": "^5.1.0" + "@istanbuljs/schema": "^0.1.2", + "glob": "^10.4.1", + "minimatch": "^9.0.4" }, "engines": { - "node": ">=0.10" + "node": ">=18" } }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "node_modules/tinybench": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", + "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", "dev": true, - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } + "license": "MIT" }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "node_modules/tinyexec": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.0.tgz", + "integrity": "sha512-tVGE0mVJPGb0chKhqmsoosjsS+qUnJVGJpZgsHYQcGoPlG3B51R3PouqTgEGH2Dc9jjFyOqOpix6ZHNMXp1FZg==", "dev": true, - "engines": { - "node": ">=4.0" - } + "license": "MIT" }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "node_modules/tinypool": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.0.1.tgz", + "integrity": "sha512-URZYihUbRPcGv95En+sz6MfghfIc2OJ1sv/RmhWZLouPY0/8Vo80viwPvg3dlaS9fuq7fQMEfgRRK7BBZThBEA==", "dev": true, + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": "^18.0.0 || >=20.0.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==", - "dev": true - }, - "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==", - "dev": true - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true - }, - "node_modules/fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "node_modules/tinyrainbow": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-1.2.0.tgz", + "integrity": "sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==", "dev": true, - "dependencies": { - "reusify": "^1.0.4" + "license": "MIT", + "engines": { + "node": ">=14.0.0" } }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "node_modules/tinyspy": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-3.0.2.tgz", + "integrity": "sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==", "dev": true, - "dependencies": { - "flat-cache": "^3.0.4" - }, + "license": "MIT", "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=14.0.0" } }, - "node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "node_modules/vite": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.6.tgz", + "integrity": "sha512-IeL5f8OO5nylsgzd9tq4qD2QqI0k2CQLGrWD0rCN0EQJZpBK5vJAx0I+GDkMOXxQX/OfFHMuLIx6ddAxGX/k+Q==", "dev": true, + "license": "MIT", "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" + "esbuild": "^0.21.3", + "postcss": "^8.4.43", + "rollup": "^4.20.0" + }, + "bin": { + "vite": "bin/vite.js" }, "engines": { - "node": ">=8" + "node": "^18.0.0 || >=20.0.0" }, "funding": { - "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } } }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "node_modules/vite-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-2.1.1.tgz", + "integrity": "sha512-N/mGckI1suG/5wQI35XeR9rsMsPqKXzq1CdUndzVstBj/HvyxxGctwnK6WX43NGt5L3Z5tcRf83g4TITKJhPrA==", "dev": true, + "license": "MIT", "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" + "cac": "^6.7.14", + "debug": "^4.3.6", + "pathe": "^1.1.2", + "vite": "^5.0.0" + }, + "bin": { + "vite-node": "vite-node.mjs" }, "engines": { - "node": ">=10" + "node": "^18.0.0 || >=20.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", - "dev": true, - "bin": { - "flat": "cli.js" + "url": "https://opencollective.com/vitest" } }, - "node_modules/flat-cache": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.1.tgz", - "integrity": "sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==", + "node_modules/vitest": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-2.1.1.tgz", + "integrity": "sha512-97We7/VC0e9X5zBVkvt7SGQMGrRtn3KtySFQG5fpaMlS+l62eeXRQO633AYhSTC3z7IMebnPPNjGXVGNRFlxBA==", "dev": true, + "license": "MIT", "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" + "@vitest/expect": "2.1.1", + "@vitest/mocker": "2.1.1", + "@vitest/pretty-format": "^2.1.1", + "@vitest/runner": "2.1.1", + "@vitest/snapshot": "2.1.1", + "@vitest/spy": "2.1.1", + "@vitest/utils": "2.1.1", + "chai": "^5.1.1", + "debug": "^4.3.6", + "magic-string": "^0.30.11", + "pathe": "^1.1.2", + "std-env": "^3.7.0", + "tinybench": "^2.9.0", + "tinyexec": "^0.3.0", + "tinypool": "^1.0.0", + "tinyrainbow": "^1.2.0", + "vite": "^5.0.0", + "vite-node": "2.1.1", + "why-is-node-running": "^2.3.0" }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/flatted": { - "version": "3.2.9", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", - "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", - "dev": true - }, - "node_modules/foreground-child": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz", - "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^3.0.2" + "bin": { + "vitest": "vitest.mjs" }, "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/fromentries": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz", - "integrity": "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@edge-runtime/vm": "*", + "@types/node": "^18.0.0 || >=20.0.0", + "@vitest/browser": "2.1.1", + "@vitest/ui": "2.1.1", + "happy-dom": "*", + "jsdom": "*" + }, + "peerDependenciesMeta": { + "@edge-runtime/vm": { + "optional": true }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" + "@types/node": { + "optional": true }, - { - "type": "consulting", - "url": "https://feross.org/support" + "@vitest/browser": { + "optional": true + }, + "@vitest/ui": { + "optional": true + }, + "happy-dom": { + "optional": true + }, + "jsdom": { + "optional": true } - ] - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true, - "engines": { - "node": "6.* || 8.* || >= 10.*" } }, - "node_modules/get-func-name": { + "node_modules/which": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", - "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, "engines": { - "node": "*" + "node": ">= 8" } }, - "node_modules/get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "node_modules/why-is-node-running": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", + "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", "dev": true, + "license": "MIT", + "dependencies": { + "siginfo": "^2.0.0", + "stackback": "0.0.2" + }, + "bin": { + "why-is-node-running": "cli.js" + }, "engines": { - "node": ">=8.0.0" + "node": ">=8" } }, - "node_modules/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", "dev": true, + "license": "MIT", "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" + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" }, "engines": { - "node": "*" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "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==", + "node_modules/wrap-ansi-cjs": { + "name": "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==", "dev": true, + "license": "MIT", "dependencies": { - "is-glob": "^4.0.1" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">= 6" - } - }, - "node_modules/glob/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" + "node": ">=10" }, - "engines": { - "node": "*" - } - }, - "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, - "engines": { - "node": ">=4" + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true - }, - "node_modules/graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true - }, - "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==", + "node_modules/wrap-ansi-cjs/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==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/hasha": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz", - "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==", + "node_modules/wrap-ansi-cjs/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, + "license": "MIT", "dependencies": { - "is-stream": "^2.0.0", - "type-fest": "^0.8.0" + "color-convert": "^2.0.1" }, "engines": { "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true, - "bin": { - "he": "bin/he" - } - }, - "node_modules/hpagent": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/hpagent/-/hpagent-1.2.0.tgz", - "integrity": "sha512-A91dYTeIB6NoXG+PxTQpCCDDnfHsW9kc06Lvpu1TEe9gnd6ZFeiBoRO9JvzEv6xK7EX97/dUE8g/vBMTqTS3CA==", - "engines": { - "node": ">=14" - } - }, - "node_modules/html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true - }, - "node_modules/ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/import-fresh/node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dev": true, - "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==", - "dev": true - }, - "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==", - "dev": true, - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "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==", - "dev": true, - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", - "dev": true - }, - "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==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/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==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", - "dev": true - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "node_modules/istanbul-lib-coverage": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-hook": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz", - "integrity": "sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==", - "dev": true, - "dependencies": { - "append-transform": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-instrument": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", - "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", - "dev": true, - "dependencies": { - "@babel/core": "^7.7.5", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.0.0", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-processinfo": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.3.tgz", - "integrity": "sha512-NkwHbo3E00oybX6NGJi6ar0B29vxyvNwoC7eJ4G4Yq28UfY758Hgn/heV8VRFhevPED4LXfFz0DQ8z/0kw9zMg==", - "dev": true, - "dependencies": { - "archy": "^1.0.0", - "cross-spawn": "^7.0.3", - "istanbul-lib-coverage": "^3.2.0", - "p-map": "^3.0.0", - "rimraf": "^3.0.0", - "uuid": "^8.3.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-processinfo/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/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", - "dev": true, - "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", - "dev": true, - "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/istanbul-reports": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", - "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", - "dev": true, - "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "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/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, - "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/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==", - "dev": true - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/just-extend": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.2.1.tgz", - "integrity": "sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg==", - "dev": true - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash.flattendeep": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", - "integrity": "sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ==", - "dev": true - }, - "node_modules/lodash.get": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", - "dev": true - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, - "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==", - "dev": true, - "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/loupe": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz", - "integrity": "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==", - "dev": true, - "dependencies": { - "get-func-name": "^2.0.0" - } - }, - "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "dependencies": { - "yallist": "^3.0.2" - } - }, - "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/minimatch": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", - "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/minimatch/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/mocha": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz", - "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==", - "dev": true, - "dependencies": { - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", - "chokidar": "3.5.3", - "debug": "4.3.4", - "diff": "5.0.0", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "7.2.0", - "he": "1.2.0", - "js-yaml": "4.1.0", - "log-symbols": "4.1.0", - "minimatch": "5.0.1", - "ms": "2.1.3", - "nanoid": "3.3.3", - "serialize-javascript": "6.0.0", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "workerpool": "6.2.1", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", - "yargs-unparser": "2.0.0" - }, - "bin": { - "_mocha": "bin/_mocha", - "mocha": "bin/mocha.js" - }, - "engines": { - "node": ">= 14.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mochajs" - } - }, - "node_modules/mocha/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/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - }, - "node_modules/nanoid": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", - "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", - "dev": true, - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "node_modules/nise": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.5.tgz", - "integrity": "sha512-VJuPIfUFaXNRzETTQEEItTOP8Y171ijr+JLq42wHes3DiryR8vT+1TXQW/Rx8JNUhyYYWyIvjXTU6dOhJcs9Nw==", - "dev": true, - "dependencies": { - "@sinonjs/commons": "^2.0.0", - "@sinonjs/fake-timers": "^10.0.2", - "@sinonjs/text-encoding": "^0.7.1", - "just-extend": "^4.0.2", - "path-to-regexp": "^1.7.0" - } - }, - "node_modules/nise/node_modules/@sinonjs/commons": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", - "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", - "dev": true, - "dependencies": { - "type-detect": "4.0.8" - } - }, - "node_modules/nise/node_modules/@sinonjs/fake-timers": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", - "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", - "dev": true, - "dependencies": { - "@sinonjs/commons": "^3.0.0" - } - }, - "node_modules/nise/node_modules/@sinonjs/fake-timers/node_modules/@sinonjs/commons": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", - "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", - "dev": true, - "dependencies": { - "type-detect": "4.0.8" - } - }, - "node_modules/node-preload": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz", - "integrity": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==", - "dev": true, - "dependencies": { - "process-on-spawn": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/node-releases": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz", - "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==", - "dev": 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==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/nyc": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz", - "integrity": "sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==", - "dev": true, - "dependencies": { - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "caching-transform": "^4.0.0", - "convert-source-map": "^1.7.0", - "decamelize": "^1.2.0", - "find-cache-dir": "^3.2.0", - "find-up": "^4.1.0", - "foreground-child": "^2.0.0", - "get-package-type": "^0.1.0", - "glob": "^7.1.6", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-hook": "^3.0.0", - "istanbul-lib-instrument": "^4.0.0", - "istanbul-lib-processinfo": "^2.0.2", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.0.2", - "make-dir": "^3.0.0", - "node-preload": "^0.2.1", - "p-map": "^3.0.0", - "process-on-spawn": "^1.0.0", - "resolve-from": "^5.0.0", - "rimraf": "^3.0.0", - "signal-exit": "^3.0.2", - "spawn-wrap": "^2.0.0", - "test-exclude": "^6.0.0", - "yargs": "^15.0.2" - }, - "bin": { - "nyc": "bin/nyc.js" - }, - "engines": { - "node": ">=8.9" - } - }, - "node_modules/nyc-report-lcov-absolute": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/nyc-report-lcov-absolute/-/nyc-report-lcov-absolute-1.0.0.tgz", - "integrity": "sha512-sDq0XM0on9casPNySxGD/WSy17m95+e8xEhObNHoxVRsTIZZt8akop4WWisnjzEWRARGW91Ip6oRhIWmy4qcPw==", - "dev": true, - "peerDependencies": { - "istanbul-reports": "^3.0.0" - } - }, - "node_modules/nyc/node_modules/cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "node_modules/nyc/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/nyc/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/nyc/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/nyc/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/nyc/node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/nyc/node_modules/y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "dev": true - }, - "node_modules/nyc/node_modules/yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "dev": true, - "dependencies": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/nyc/node_modules/yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", - "dev": true, - "dependencies": { - "@aashutoshrathi/word-wrap": "^1.2.3", - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-map": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", - "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", - "dev": true, - "dependencies": { - "aggregate-error": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/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==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/package-hash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz", - "integrity": "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.15", - "hasha": "^5.0.0", - "lodash.flattendeep": "^4.4.0", - "release-zalgo": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "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": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-to-regexp": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.9.0.tgz", - "integrity": "sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==", - "dev": true, - "license": "MIT", - "dependencies": { - "isarray": "0.0.1" - } - }, - "node_modules/pathval": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", - "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-dir/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/process-on-spawn": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz", - "integrity": "sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==", - "dev": true, - "dependencies": { - "fromentries": "^1.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "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==", - "dev": true, - "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/ramda": { - "version": "0.28.0", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.28.0.tgz", - "integrity": "sha512-9QnLuG/kPVgWvMQ4aODhsBUFKOUmnbUnsSXACv+NCQZcHbeb+v8Lodp8OVxtRULN1/xOyYLLaL6npE6dMq5QTA==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/ramda" - } - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/release-zalgo": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz", - "integrity": "sha512-gUAyHVHPPC5wdqX/LG4LWtRYtgjxyX78oanFNTMMyFEfOqdC54s3eE82imuWKbOeqYht2CrNf64Qb8vgmmtZGA==", - "dev": true, - "dependencies": { - "es6-error": "^4.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, - "node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true, - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rewire": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/rewire/-/rewire-7.0.0.tgz", - "integrity": "sha512-DyyNyzwMtGYgu0Zl/ya0PR/oaunM+VuCuBxCuhYJHHaV0V+YvYa3bBGxb5OZ71vndgmp1pYY8F4YOwQo1siRGw==", - "dev": true, - "dependencies": { - "eslint": "^8.47.0" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "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==", - "dev": true, - "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/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==", - "dev": true, - "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/secure-json-parse": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/secure-json-parse/-/secure-json-parse-2.7.0.tgz", - "integrity": "sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==" - }, - "node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", - "dev": true, - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", - "dev": true - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, - "node_modules/sinon": { - "version": "17.0.0", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-17.0.0.tgz", - "integrity": "sha512-p4lJiYKBoOEVUxxVIC9H1MM2znG1/c8gud++I2BauJA5hsz7hHsst35eurNWXTusBsIq66FzOQbZ/uMdpvbPIQ==", - "dev": true, - "dependencies": { - "@sinonjs/commons": "^3.0.0", - "@sinonjs/fake-timers": "^11.2.2", - "@sinonjs/samsam": "^8.0.0", - "diff": "^5.1.0", - "nise": "^5.1.5", - "supports-color": "^7.2.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/sinon" - } - }, - "node_modules/sinon/node_modules/diff": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", - "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==", - "dev": true, - "engines": { - "node": ">=0.3.1" - } - }, - "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, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/spawn-wrap": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz", - "integrity": "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==", - "dev": true, - "dependencies": { - "foreground-child": "^2.0.0", - "is-windows": "^1.0.2", - "make-dir": "^3.0.0", - "rimraf": "^3.0.0", - "signal-exit": "^3.0.2", - "which": "^2.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true - }, - "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==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "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==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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/test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "dev": true, - "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/test-exclude/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "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==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "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==", - "dev": true, - "dependencies": { - "is-typedarray": "^1.0.0" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", - "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==", - "dev": true - }, - "node_modules/workerpool": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", - "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==", - "dev": true - }, - "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==", - "dev": true, - "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/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true - }, - "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/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - }, - "node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs-unparser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", - "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", - "dev": true, - "dependencies": { - "camelcase": "^6.0.0", - "decamelize": "^4.0.0", - "flat": "^5.0.2", - "is-plain-obj": "^2.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs-unparser/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/yargs-unparser/node_modules/decamelize": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", - "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - }, - "dependencies": { - "@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", - "dev": true - }, - "@ampproject/remapping": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", - "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", - "dev": true, - "requires": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@babel/code-frame": { - "version": "7.22.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", - "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", - "dev": true, - "requires": { - "@babel/highlight": "^7.22.13", - "chalk": "^2.4.2" - }, - "dependencies": { - "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==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "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==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "@babel/compat-data": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.4.tgz", - "integrity": "sha512-/DYyDpeCfaVinT40FPGdkkb+lYSKvsVuMjDAG7jPOWWiM1ibOaB9CXJAlc4d1QpP/U2q2P9jbrSlClKSErd55g==", - "dev": true - }, - "@babel/core": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.21.4.tgz", - "integrity": "sha512-qt/YV149Jman/6AfmlxJ04LMIu8bMoyl3RB91yTFrxQmgbrSvQMy7cI8Q62FHx1t8wJ8B5fu0UDoLwHAhUo1QA==", - "dev": true, - "requires": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.21.4", - "@babel/generator": "^7.21.4", - "@babel/helper-compilation-targets": "^7.21.4", - "@babel/helper-module-transforms": "^7.21.2", - "@babel/helpers": "^7.21.0", - "@babel/parser": "^7.21.4", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.4", - "@babel/types": "^7.21.4", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", - "semver": "^6.3.0" - } - }, - "@babel/generator": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", - "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", - "dev": true, - "requires": { - "@babel/types": "^7.23.0", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.4.tgz", - "integrity": "sha512-Fa0tTuOXZ1iL8IeDFUWCzjZcn+sJGd9RZdH9esYVjEejGmzf+FFYQpMi/kZUk2kPy/q1H3/GPw7np8qar/stfg==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.21.4", - "@babel/helper-validator-option": "^7.21.0", - "browserslist": "^4.21.3", - "lru-cache": "^5.1.1", - "semver": "^6.3.0" - } - }, - "@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", - "dev": true - }, - "@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", - "dev": true, - "requires": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-module-imports": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz", - "integrity": "sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==", - "dev": true, - "requires": { - "@babel/types": "^7.21.4" - } - }, - "@babel/helper-module-transforms": { - "version": "7.21.2", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz", - "integrity": "sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.20.2", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.19.1", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.2", - "@babel/types": "^7.21.2" - } - }, - "@babel/helper-simple-access": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", - "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", - "dev": true, - "requires": { - "@babel/types": "^7.20.2" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", - "dev": true - }, - "@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", - "dev": true - }, - "@babel/helper-validator-option": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz", - "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==", - "dev": true - }, - "@babel/helpers": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.0.tgz", - "integrity": "sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==", - "dev": true, - "requires": { - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.0", - "@babel/types": "^7.21.0" - } - }, - "@babel/highlight": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", - "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" - }, - "dependencies": { - "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==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "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==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "@babel/parser": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", - "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", - "dev": true - }, - "@babel/template": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", - "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.22.13", - "@babel/parser": "^7.22.15", - "@babel/types": "^7.22.15" - } - }, - "@babel/traverse": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", - "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.23.0", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.0", - "@babel/types": "^7.23.0", - "debug": "^4.1.0", - "globals": "^11.1.0" - } - }, - "@babel/types": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", - "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", - "dev": true, - "requires": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.20", - "to-fast-properties": "^2.0.0" - } - }, - "@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^3.3.0" - } - }, - "@eslint-community/regexpp": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.9.1.tgz", - "integrity": "sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==", - "dev": true - }, - "@eslint/eslintrc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", - "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", - "dev": true, - "requires": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "dependencies": { - "globals": { - "version": "13.23.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", - "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true - } - } - }, - "@eslint/js": { - "version": "8.51.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.51.0.tgz", - "integrity": "sha512-HxjQ8Qn+4SI3/AFv6sOrDB+g6PpUTDwSJiQqOrnneEk8L71161srI9gjzzZvYVbzHiVg/BvcH95+cK/zfIt4pg==", - "dev": true - }, - "@humanwhocodes/config-array": { - "version": "0.11.13", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", - "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==", - "dev": true, - "requires": { - "@humanwhocodes/object-schema": "^2.0.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" - }, - "dependencies": { - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } - } - }, - "@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true - }, - "@humanwhocodes/object-schema": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz", - "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==", - "dev": true - }, - "@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "dev": true, - "requires": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, - "dependencies": { - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "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==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - } - } - }, - "@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", - "dev": true - }, - "@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", - "dev": true, - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", - "dev": true - }, - "@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "dev": true - }, - "@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "dev": true - }, - "@jridgewell/trace-mapping": { - "version": "0.3.18", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", - "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", - "dev": true, - "requires": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" - }, - "dependencies": { - "@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "dev": true - } - } - }, - "@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==", - "dev": true, - "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==", - "dev": true - }, - "@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==", - "dev": true, - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - } - }, - "@opensearch-project/opensearch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/@opensearch-project/opensearch/-/opensearch-2.3.1.tgz", - "integrity": "sha512-Kg8tddAx6sinStnNi6IeGilfvLWlonIxaRdVNiJcNPr1yMqd0c9TSegn18zKr0Pb0IM9xBIGBSkRPuh67ZN6Hw==", - "requires": { - "aws4": "^1.11.0", - "debug": "^4.3.1", - "hpagent": "^1.2.0", - "ms": "^2.1.3", - "secure-json-parse": "^2.4.0" - } - }, - "@sinonjs/commons": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", - "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", - "dev": true, - "requires": { - "type-detect": "4.0.8" - } - }, - "@sinonjs/fake-timers": { - "version": "11.2.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-11.2.2.tgz", - "integrity": "sha512-G2piCSxQ7oWOxwGSAyFHfPIsyeJGXYtc6mFbnFA+kRXkiEnTl8c/8jul2S329iFBnDI9HGoeWWAZvuvOkZccgw==", - "dev": true, - "requires": { - "@sinonjs/commons": "^3.0.0" - } - }, - "@sinonjs/samsam": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-8.0.0.tgz", - "integrity": "sha512-Bp8KUVlLp8ibJZrnvq2foVhP0IVX2CIprMJPK0vqGqgrDa0OHVKeZyBykqskkrdxV6yKBPmGasO8LVjAKR3Gew==", - "dev": true, - "requires": { - "@sinonjs/commons": "^2.0.0", - "lodash.get": "^4.4.2", - "type-detect": "^4.0.8" - }, - "dependencies": { - "@sinonjs/commons": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", - "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", - "dev": true, - "requires": { - "type-detect": "4.0.8" - } - } - } - }, - "@sinonjs/text-encoding": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.2.tgz", - "integrity": "sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ==", - "dev": true - }, - "acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", - "dev": true - }, - "acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "requires": {} - }, - "aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dev": true, - "requires": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - } - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "dev": true - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "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, - "requires": { - "color-convert": "^2.0.1" - } - }, - "anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "append-transform": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz", - "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==", - "dev": true, - "requires": { - "default-require-extensions": "^3.0.0" - } - }, - "archy": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==", - "dev": true - }, - "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 - }, - "assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", - "dev": true - }, - "aws-opensearch-connector": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/aws-opensearch-connector/-/aws-opensearch-connector-1.1.0.tgz", - "integrity": "sha512-e3rHl5JVdukB40qfuu5sq4WB0E1jO2WkiA1lYOfvc1ol1tJayw8eFqCilO//O+8OH7ypbiDO0ayKI3aEWjaZWQ==", - "requires": { - "aws4": "^1.11.0" - } - }, - "aws4": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", - "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==" - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "dev": true, - "requires": { - "fill-range": "^7.1.1" - } - }, - "browser-stdout": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", - "dev": true - }, - "browserslist": { - "version": "4.21.5", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", - "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001449", - "electron-to-chromium": "^1.4.284", - "node-releases": "^2.0.8", - "update-browserslist-db": "^1.0.10" - } - }, - "caching-transform": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz", - "integrity": "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==", - "dev": true, - "requires": { - "hasha": "^5.0.0", - "make-dir": "^3.0.0", - "package-hash": "^4.0.0", - "write-file-atomic": "^3.0.0" - } - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, - "caniuse-lite": { - "version": "1.0.30001480", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001480.tgz", - "integrity": "sha512-q7cpoPPvZYgtyC4VaBSN0Bt+PJ4c4EYRf0DrduInOz2SkFpHD5p3LnvEpqBp7UnJn+8x1Ogl1s38saUxe+ihQQ==", - "dev": true - }, - "chai": { - "version": "4.3.10", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.10.tgz", - "integrity": "sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g==", - "dev": true, - "requires": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.3", - "deep-eql": "^4.1.3", - "get-func-name": "^2.0.2", - "loupe": "^2.3.6", - "pathval": "^1.1.1", - "type-detect": "^4.0.8" - } - }, - "chalk": { - "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" - } - }, - "check-error": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", - "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", - "dev": true, - "requires": { - "get-func-name": "^2.0.2" - } - }, - "chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "dev": true, - "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - } - }, - "clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true - }, - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.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": { - "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==", - "dev": true - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "dev": true - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - }, - "dependencies": { - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", - "dev": true + "node_modules/wrap-ansi-cjs/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==", + "dev": true, + "license": "MIT" }, - "deep-eql": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", - "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", + "node_modules/wrap-ansi-cjs/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==", "dev": true, - "requires": { - "type-detect": "^4.0.0" + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" } }, - "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 - }, - "default-require-extensions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.1.tgz", - "integrity": "sha512-eXTJmRbm2TIt9MgWTsOH1wEuhew6XGZcMeGKCtLedIg/NCsg1iBePXkceTdK4Fii7pzmN9tGsZhKzZ4h7O/fxw==", + "node_modules/wrap-ansi-cjs/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==", "dev": true, - "requires": { - "strip-bom": "^4.0.0" + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" } - }, - "diff": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", - "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", - "dev": true - }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + } + }, + "dependencies": { + "@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", "dev": true, "requires": { - "esutils": "^2.0.2" + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" } }, - "electron-to-chromium": { - "version": "1.4.368", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.368.tgz", - "integrity": "sha512-e2aeCAixCj9M7nJxdB/wDjO6mbYX+lJJxSJCXDzlr5YPGYVofuJwGN9nKg2o6wWInjX6XmxRinn3AeJMK81ltw==", - "dev": true + "@aws-lambda-powertools/commons": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@aws-lambda-powertools/commons/-/commons-2.10.0.tgz", + "integrity": "sha512-XHC0FW/k33JWc2SZ9pbOJQPzNCMoRGnRuX/Cx1CYXRvRnaLYkPNRPrPYvGWy1OInAS3GSK6zxP1Asx0k4uaqSw==" }, - "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==", - "dev": true + "@aws-lambda-powertools/logger": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@aws-lambda-powertools/logger/-/logger-2.10.0.tgz", + "integrity": "sha512-QsVnoCBf6gKneGmSrIj1nxf34jWWOyDu4PO3I+VwkaH60lph2dIVcF1pP1zZagxUoYt9WWiddHcGQ7ORo0z5iw==", + "requires": { + "@aws-lambda-powertools/commons": "^2.10.0", + "lodash.merge": "^4.6.2" + } }, - "es6-error": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", - "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", + "@babel/helper-string-parser": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.7.tgz", + "integrity": "sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==", "dev": true }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "@babel/helper-validator-identifier": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", "dev": true }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "@babel/parser": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.7.tgz", + "integrity": "sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==", "dev": true }, - "eslint": { - "version": "8.51.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.51.0.tgz", - "integrity": "sha512-2WuxRZBrlwnXi+/vFSJyjMqrNjtJqiasMzehF0shoLaW7DzS3/9Yvrmq5JiT66+pNjiX4UBnLDiKHcWAr/OInA==", - "dev": true, - "requires": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "8.51.0", - "@humanwhocodes/config-array": "^0.11.11", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "dependencies": { - "glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "requires": { - "is-glob": "^4.0.3" - } - }, - "globals": { - "version": "13.23.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", - "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true - } - } - }, - "eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "@babel/types": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.7.tgz", + "integrity": "sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==", "dev": true, "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" + "@babel/helper-string-parser": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7", + "to-fast-properties": "^2.0.0" } }, - "eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", "dev": true }, - "espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "@esbuild/aix-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", + "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", "dev": true, - "requires": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true + "optional": true }, - "esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "@esbuild/android-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", + "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", "dev": true, - "requires": { - "estraverse": "^5.1.0" - } + "optional": true }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "@esbuild/android-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", + "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", "dev": true, - "requires": { - "estraverse": "^5.2.0" - } - }, - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true + "optional": true }, - "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==", - "dev": true + "@esbuild/android-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", + "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", + "dev": true, + "optional": true }, - "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==", - "dev": true + "@esbuild/darwin-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", + "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", + "dev": true, + "optional": true }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true + "@esbuild/darwin-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", + "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", + "dev": true, + "optional": true }, - "fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "@esbuild/freebsd-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", + "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", "dev": true, - "requires": { - "reusify": "^1.0.4" - } + "optional": true }, - "file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "@esbuild/freebsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", + "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", "dev": true, - "requires": { - "flat-cache": "^3.0.4" - } + "optional": true }, - "fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "@esbuild/linux-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", + "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } + "optional": true }, - "find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "@esbuild/linux-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", + "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - } + "optional": true }, - "find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "@esbuild/linux-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", + "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", "dev": true, - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } + "optional": true }, - "flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", - "dev": true + "@esbuild/linux-loong64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", + "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", + "dev": true, + "optional": true }, - "flat-cache": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.1.tgz", - "integrity": "sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==", + "@esbuild/linux-mips64el": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", + "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", "dev": true, - "requires": { - "flatted": "^3.2.9", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" - } + "optional": true }, - "flatted": { - "version": "3.2.9", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", - "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", - "dev": true + "@esbuild/linux-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", + "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", + "dev": true, + "optional": true }, - "foreground-child": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz", - "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==", + "@esbuild/linux-riscv64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", + "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", "dev": true, - "requires": { - "cross-spawn": "^7.0.0", - "signal-exit": "^3.0.2" - } + "optional": true }, - "fromentries": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz", - "integrity": "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==", - "dev": true + "@esbuild/linux-s390x": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", + "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", + "dev": true, + "optional": true }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true + "@esbuild/linux-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", + "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", + "dev": true, + "optional": true }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "@esbuild/netbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", + "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", "dev": true, "optional": true }, - "gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true + "@esbuild/openbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", + "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", + "dev": true, + "optional": true }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true + "@esbuild/sunos-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", + "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", + "dev": true, + "optional": true }, - "get-func-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", - "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", - "dev": true + "@esbuild/win32-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", + "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", + "dev": true, + "optional": true }, - "get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "dev": true + "@esbuild/win32-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", + "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", + "dev": true, + "optional": true }, - "glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "@esbuild/win32-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", + "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "dependencies": { - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } - } + "optional": true }, - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", "dev": true, "requires": { - "is-glob": "^4.0.1" + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" } }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true - }, - "graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true - }, - "graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": 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==", + "@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", "dev": true }, - "hasha": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz", - "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==", + "@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", "dev": true, "requires": { - "is-stream": "^2.0.0", - "type-fest": "^0.8.0" + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" } }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", "dev": true }, - "hpagent": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/hpagent/-/hpagent-1.2.0.tgz", - "integrity": "sha512-A91dYTeIB6NoXG+PxTQpCCDDnfHsW9kc06Lvpu1TEe9gnd6ZFeiBoRO9JvzEv6xK7EX97/dUE8g/vBMTqTS3CA==" - }, - "html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", "dev": true }, - "ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", "dev": true }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", "dev": true, "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true - } + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true + "@opensearch-project/opensearch": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/@opensearch-project/opensearch/-/opensearch-2.8.0.tgz", + "integrity": "sha512-VgYq5WQCHHotUlk8fUXAkisCjeiw6eNKg/z9elBHuFnNVEUEhSzl3UAuPS3Y9TUd9uTvUbAZ8kkuA5y3Te9rsw==", + "requires": { + "aws4": "^1.11.0", + "debug": "^4.3.1", + "hpagent": "^1.2.0", + "ms": "^2.1.3", + "secure-json-parse": "^2.4.0" + } }, - "indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true + "@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "@rollup/rollup-android-arm-eabi": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.22.4.tgz", + "integrity": "sha512-Fxamp4aEZnfPOcGA8KSNEohV8hX7zVHOemC8jVBoBUHu5zpJK/Eu3uJwt6BMgy9fkvzxDaurgj96F/NiLukF2w==", "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } + "optional": true }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "@rollup/rollup-android-arm64": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.22.4.tgz", + "integrity": "sha512-VXoK5UMrgECLYaMuGuVTOx5kcuap1Jm8g/M83RnCHBKOqvPPmROFJGQaZhGccnsFtfXQ3XYa4/jMCJvZnbJBdA==", + "dev": true, + "optional": true }, - "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==", + "@rollup/rollup-darwin-arm64": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.22.4.tgz", + "integrity": "sha512-xMM9ORBqu81jyMKCDP+SZDhnX2QEVQzTcC6G18KlTQEzWK8r/oNZtKuZaCcHhnsa6fEeOBionoyl5JsAbE/36Q==", "dev": true, - "requires": { - "binary-extensions": "^2.0.0" - } + "optional": true }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true + "@rollup/rollup-darwin-x64": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.22.4.tgz", + "integrity": "sha512-aJJyYKQwbHuhTUrjWjxEvGnNNBCnmpHDvrb8JFDbeSH3m2XdHcxDd3jthAzvmoI8w/kSjd2y0udT+4okADsZIw==", + "dev": true, + "optional": true }, - "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==", - "dev": true + "@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.22.4.tgz", + "integrity": "sha512-j63YtCIRAzbO+gC2L9dWXRh5BFetsv0j0va0Wi9epXDgU/XUi5dJKo4USTttVyK7fGw2nPWK0PbAvyliz50SCQ==", + "dev": true, + "optional": true }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "@rollup/rollup-linux-arm-musleabihf": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.22.4.tgz", + "integrity": "sha512-dJnWUgwWBX1YBRsuKKMOlXCzh2Wu1mlHzv20TpqEsfdZLb3WoJW2kIEsGwLkroYf24IrPAvOT/ZQ2OYMV6vlrg==", "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } + "optional": true }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true + "@rollup/rollup-linux-arm64-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.22.4.tgz", + "integrity": "sha512-AdPRoNi3NKVLolCN/Sp4F4N1d98c4SBnHMKoLuiG6RXgoZ4sllseuGioszumnPGmPM2O7qaAX/IJdeDU8f26Aw==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-arm64-musl": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.22.4.tgz", + "integrity": "sha512-Gl0AxBtDg8uoAn5CCqQDMqAx22Wx22pjDOjBdmG0VIWX3qUBHzYmOKh8KXHL4UpogfJ14G4wk16EQogF+v8hmA==", + "dev": true, + "optional": true }, - "is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true + "@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.22.4.tgz", + "integrity": "sha512-3aVCK9xfWW1oGQpTsYJJPF6bfpWfhbRnhdlyhak2ZiyFLDaayz0EP5j9V1RVLAAxlmWKTDfS9wyRyY3hvhPoOg==", + "dev": true, + "optional": true }, - "is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", - "dev": true + "@rollup/rollup-linux-riscv64-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.22.4.tgz", + "integrity": "sha512-ePYIir6VYnhgv2C5Xe9u+ico4t8sZWXschR6fMgoPUK31yQu7hTEJb7bCqivHECwIClJfKgE7zYsh1qTP3WHUA==", + "dev": true, + "optional": true }, - "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true + "@rollup/rollup-linux-s390x-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.22.4.tgz", + "integrity": "sha512-GqFJ9wLlbB9daxhVlrTe61vJtEY99/xB3C8e4ULVsVfflcpmR6c8UZXjtkMA6FhNONhj2eA5Tk9uAVw5orEs4Q==", + "dev": true, + "optional": true }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", - "dev": true + "@rollup/rollup-linux-x64-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.22.4.tgz", + "integrity": "sha512-87v0ol2sH9GE3cLQLNEy0K/R0pz1nvg76o8M5nhMR0+Q+BBGLnb35P0fVz4CQxHYXaAOhE8HhlkaZfsdUOlHwg==", + "dev": true, + "optional": true }, - "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==", - "dev": true + "@rollup/rollup-linux-x64-musl": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.22.4.tgz", + "integrity": "sha512-UV6FZMUgePDZrFjrNGIWzDo/vABebuXBhJEqrHxrGiU6HikPy0Z3LfdtciIttEUQfuDdCn8fqh7wiFJjCNwO+g==", + "dev": true, + "optional": true }, - "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==", - "dev": true + "@rollup/rollup-win32-arm64-msvc": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.22.4.tgz", + "integrity": "sha512-BjI+NVVEGAXjGWYHz/vv0pBqfGoUH0IGZ0cICTn7kB9PyjrATSkX+8WkguNjWoj2qSr1im/+tTGRaY+4/PdcQw==", + "dev": true, + "optional": true }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", - "dev": true + "@rollup/rollup-win32-ia32-msvc": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.22.4.tgz", + "integrity": "sha512-SiWG/1TuUdPvYmzmYnmd3IEifzR61Tragkbx9D3+R8mzQqDBz8v+BvZNDlkiTtI9T15KYZhP0ehn3Dld4n9J5g==", + "dev": true, + "optional": true }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true + "@rollup/rollup-win32-x64-msvc": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.22.4.tgz", + "integrity": "sha512-j8pPKp53/lq9lMXN57S8cFz0MynJk8OWNuUnXct/9KCpKU7DgU3bYMJhwWmcqC0UU29p8Lr0/7KEVcaM6bf47Q==", + "dev": true, + "optional": true }, - "istanbul-lib-coverage": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "@types/estree": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", "dev": true }, - "istanbul-lib-hook": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz", - "integrity": "sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==", + "@vitest/coverage-v8": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-2.1.1.tgz", + "integrity": "sha512-md/A7A3c42oTT8JUHSqjP5uKTWJejzUW4jalpvs+rZ27gsURsMU8DEb+8Jf8C6Kj2gwfSHJqobDNBuoqlm0cFw==", "dev": true, "requires": { - "append-transform": "^2.0.0" + "@ampproject/remapping": "^2.3.0", + "@bcoe/v8-coverage": "^0.2.3", + "debug": "^4.3.6", + "istanbul-lib-coverage": "^3.2.2", + "istanbul-lib-report": "^3.0.1", + "istanbul-lib-source-maps": "^5.0.6", + "istanbul-reports": "^3.1.7", + "magic-string": "^0.30.11", + "magicast": "^0.3.4", + "std-env": "^3.7.0", + "test-exclude": "^7.0.1", + "tinyrainbow": "^1.2.0" } }, - "istanbul-lib-instrument": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", - "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", + "@vitest/expect": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-2.1.1.tgz", + "integrity": "sha512-YeueunS0HiHiQxk+KEOnq/QMzlUuOzbU1Go+PgAsHvvv3tUkJPm9xWt+6ITNTlzsMXUjmgm5T+U7KBPK2qQV6w==", "dev": true, "requires": { - "@babel/core": "^7.7.5", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.0.0", - "semver": "^6.3.0" + "@vitest/spy": "2.1.1", + "@vitest/utils": "2.1.1", + "chai": "^5.1.1", + "tinyrainbow": "^1.2.0" } }, - "istanbul-lib-processinfo": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.3.tgz", - "integrity": "sha512-NkwHbo3E00oybX6NGJi6ar0B29vxyvNwoC7eJ4G4Yq28UfY758Hgn/heV8VRFhevPED4LXfFz0DQ8z/0kw9zMg==", + "@vitest/mocker": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-2.1.1.tgz", + "integrity": "sha512-LNN5VwOEdJqCmJ/2XJBywB11DLlkbY0ooDJW3uRX5cZyYCrc4PI/ePX0iQhE3BiEGiQmK4GE7Q/PqCkkaiPnrA==", "dev": true, "requires": { - "archy": "^1.0.0", - "cross-spawn": "^7.0.3", - "istanbul-lib-coverage": "^3.2.0", - "p-map": "^3.0.0", - "rimraf": "^3.0.0", - "uuid": "^8.3.2" - }, - "dependencies": { - "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 - } + "@vitest/spy": "^2.1.0-beta.1", + "estree-walker": "^3.0.3", + "magic-string": "^0.30.11" } }, - "istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "@vitest/pretty-format": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-2.1.1.tgz", + "integrity": "sha512-SjxPFOtuINDUW8/UkElJYQSFtnWX7tMksSGW0vfjxMneFqxVr8YJ979QpMbDW7g+BIiq88RAGDjf7en6rvLPPQ==", "dev": true, "requires": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" + "tinyrainbow": "^1.2.0" } }, - "istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "@vitest/runner": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-2.1.1.tgz", + "integrity": "sha512-uTPuY6PWOYitIkLPidaY5L3t0JJITdGTSwBtwMjKzo5O6RCOEncz9PUN+0pDidX8kTHYjO0EwUIvhlGpnGpxmA==", "dev": true, "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" + "@vitest/utils": "2.1.1", + "pathe": "^1.1.2" } }, - "istanbul-reports": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", - "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", + "@vitest/snapshot": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-2.1.1.tgz", + "integrity": "sha512-BnSku1WFy7r4mm96ha2FzN99AZJgpZOWrAhtQfoxjUU5YMRpq1zmHRq7a5K9/NjqonebO7iVDla+VvZS8BOWMw==", "dev": true, "requires": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" + "@vitest/pretty-format": "2.1.1", + "magic-string": "^0.30.11", + "pathe": "^1.1.2" } }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true + "@vitest/spy": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-2.1.1.tgz", + "integrity": "sha512-ZM39BnZ9t/xZ/nF4UwRH5il0Sw93QnZXd9NAZGRpIgj0yvVwPpLd702s/Cx955rGaMlyBQkZJ2Ir7qyY48VZ+g==", + "dev": true, + "requires": { + "tinyspy": "^3.0.0" + } }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "@vitest/utils": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-2.1.1.tgz", + "integrity": "sha512-Y6Q9TsI+qJ2CC0ZKj6VBb+T8UPz593N113nnUykqwANqhgf3QkZeHFlusgKLTqrnVHbj/XDKZcDHol+dxVT+rQ==", "dev": true, "requires": { - "argparse": "^2.0.1" + "@vitest/pretty-format": "2.1.1", + "loupe": "^3.1.1", + "tinyrainbow": "^1.2.0" } }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", "dev": true }, - "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==", + "ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "dev": true }, - "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==", + "assertion-error": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", + "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", "dev": true }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true + "aws-opensearch-connector": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aws-opensearch-connector/-/aws-opensearch-connector-1.2.0.tgz", + "integrity": "sha512-Jex72kdNtkpXdBFkA8n/VkWqI+S0AjqY6xGN8I8qA7W2CAjppBEh6PVRER1zLa/Q+/dqxou15uZ5Qz6NFfmqFQ==", + "requires": { + "aws4": "^1.11.0" + } }, - "json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true + "aws4": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", + "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==" }, - "just-extend": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.2.1.tgz", - "integrity": "sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg==", + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, - "keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, "requires": { - "json-buffer": "3.0.1" + "balanced-match": "^1.0.0" } }, - "levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - } + "cac": { + "version": "6.7.14", + "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", + "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", + "dev": true }, - "locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "chai": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/chai/-/chai-5.1.1.tgz", + "integrity": "sha512-pT1ZgP8rPNqUgieVaEY+ryQr6Q4HXNg8Ei9UnLUrjN4IA7dvQC5JB+/kxVcPNDHyBcc/26CXPkbNzq3qwrOEKA==", "dev": true, "requires": { - "p-locate": "^5.0.0" + "assertion-error": "^2.0.1", + "check-error": "^2.1.1", + "deep-eql": "^5.0.1", + "loupe": "^3.1.0", + "pathval": "^2.0.0" } }, - "lodash.flattendeep": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", - "integrity": "sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ==", - "dev": true - }, - "lodash.get": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", - "dev": true - }, - "lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "check-error": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz", + "integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==", "dev": true }, - "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==", + "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": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" + "color-name": "~1.1.4" } }, - "loupe": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz", - "integrity": "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==", - "dev": true, - "requires": { - "get-func-name": "^2.0.0" - } + "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 }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, "requires": { - "yallist": "^3.0.2" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" } }, - "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, + "debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", "requires": { - "semver": "^6.0.0" + "ms": "^2.1.3" } }, - "minimatch": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", - "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", + "deep-eql": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz", + "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==", + "dev": true + }, + "eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, + "emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "esbuild": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", + "dev": true, + "requires": { + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" + } + }, + "estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", "dev": true, "requires": { - "brace-expansion": "^2.0.1" - }, - "dependencies": { - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0" - } - } + "@types/estree": "^1.0.0" } }, - "mocha": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz", - "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==", + "foreground-child": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", "dev": true, "requires": { - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", - "chokidar": "3.5.3", - "debug": "4.3.4", - "diff": "5.0.0", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "7.2.0", - "he": "1.2.0", - "js-yaml": "4.1.0", - "log-symbols": "4.1.0", - "minimatch": "5.0.1", - "ms": "2.1.3", - "nanoid": "3.3.3", - "serialize-javascript": "6.0.0", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "workerpool": "6.2.1", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", - "yargs-unparser": "2.0.0" - }, - "dependencies": { - "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" - } - } + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" } }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - }, - "nanoid": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", - "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", - "dev": true + "fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "optional": true }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "get-func-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", + "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", "dev": true }, - "nise": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.5.tgz", - "integrity": "sha512-VJuPIfUFaXNRzETTQEEItTOP8Y171ijr+JLq42wHes3DiryR8vT+1TXQW/Rx8JNUhyYYWyIvjXTU6dOhJcs9Nw==", + "glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", "dev": true, "requires": { - "@sinonjs/commons": "^2.0.0", - "@sinonjs/fake-timers": "^10.0.2", - "@sinonjs/text-encoding": "^0.7.1", - "just-extend": "^4.0.2", - "path-to-regexp": "^1.7.0" - }, - "dependencies": { - "@sinonjs/commons": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", - "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", - "dev": true, - "requires": { - "type-detect": "4.0.8" - } - }, - "@sinonjs/fake-timers": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", - "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", - "dev": true, - "requires": { - "@sinonjs/commons": "^3.0.0" - }, - "dependencies": { - "@sinonjs/commons": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", - "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", - "dev": true, - "requires": { - "type-detect": "4.0.8" - } - } - } - } + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" } }, - "node-preload": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz", - "integrity": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==", - "dev": true, - "requires": { - "process-on-spawn": "^1.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 }, - "node-releases": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz", - "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==", + "hpagent": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/hpagent/-/hpagent-1.2.0.tgz", + "integrity": "sha512-A91dYTeIB6NoXG+PxTQpCCDDnfHsW9kc06Lvpu1TEe9gnd6ZFeiBoRO9JvzEv6xK7EX97/dUE8g/vBMTqTS3CA==" + }, + "html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "dev": true }, - "normalize-path": { + "is-fullwidth-code-point": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", "dev": true }, - "nyc": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz", - "integrity": "sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==", + "istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", "dev": true, "requires": { - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "caching-transform": "^4.0.0", - "convert-source-map": "^1.7.0", - "decamelize": "^1.2.0", - "find-cache-dir": "^3.2.0", - "find-up": "^4.1.0", - "foreground-child": "^2.0.0", - "get-package-type": "^0.1.0", - "glob": "^7.1.6", "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-hook": "^3.0.0", - "istanbul-lib-instrument": "^4.0.0", - "istanbul-lib-processinfo": "^2.0.2", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.0.2", - "make-dir": "^3.0.0", - "node-preload": "^0.2.1", - "p-map": "^3.0.0", - "process-on-spawn": "^1.0.0", - "resolve-from": "^5.0.0", - "rimraf": "^3.0.0", - "signal-exit": "^3.0.2", - "spawn-wrap": "^2.0.0", - "test-exclude": "^6.0.0", - "yargs": "^15.0.2" + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" }, "dependencies": { - "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "dev": true - }, - "yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "dev": true, - "requires": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - } - }, - "yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", "dev": true, "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" + "semver": "^7.5.3" } - } - } - }, - "nyc-report-lcov-absolute": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/nyc-report-lcov-absolute/-/nyc-report-lcov-absolute-1.0.0.tgz", - "integrity": "sha512-sDq0XM0on9casPNySxGD/WSy17m95+e8xEhObNHoxVRsTIZZt8akop4WWisnjzEWRARGW91Ip6oRhIWmy4qcPw==", - "dev": true, - "requires": {} - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "requires": { - "wrappy": "1" + }, + "semver": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "dev": true + } } }, - "optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "istanbul-lib-source-maps": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-5.0.6.tgz", + "integrity": "sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==", "dev": true, "requires": { - "@aashutoshrathi/word-wrap": "^1.2.3", - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" + "@jridgewell/trace-mapping": "^0.3.23", + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0" } }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "istanbul-reports": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", + "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", "dev": true, "requires": { - "yocto-queue": "^0.1.0" + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" } }, - "p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", "dev": true, "requires": { - "p-limit": "^3.0.2" + "@isaacs/cliui": "^8.0.2", + "@pkgjs/parseargs": "^0.11.0" } }, - "p-map": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", - "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + }, + "loupe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.1.tgz", + "integrity": "sha512-edNu/8D5MKVfGVFRhFf8aAxiTM6Wumfz5XsaatSxlD3w4R1d/WEKUTydCdPGbl9K7QG/Ca3GnDV2sIKIpXRQcw==", "dev": true, "requires": { - "aggregate-error": "^3.0.0" + "get-func-name": "^2.0.1" } }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", "dev": true }, - "package-hash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz", - "integrity": "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==", + "magic-string": { + "version": "0.30.11", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz", + "integrity": "sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==", "dev": true, "requires": { - "graceful-fs": "^4.1.15", - "hasha": "^5.0.0", - "lodash.flattendeep": "^4.4.0", - "release-zalgo": "^1.0.0" + "@jridgewell/sourcemap-codec": "^1.5.0" } }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "magicast": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.3.4.tgz", + "integrity": "sha512-TyDF/Pn36bBji9rWKHlZe+PZb6Mx5V8IHCSxk7X4aljM4e/vyDvZZYwHewdVaqiA0nb3ghfHU/6AUpDxWoER2Q==", "dev": true, "requires": { - "callsites": "^3.0.0" + "@babel/parser": "^7.24.4", + "@babel/types": "^7.24.0", + "source-map-js": "^1.2.0" } }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, - "path-to-regexp": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.9.0.tgz", - "integrity": "sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==", + "minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, "requires": { - "isarray": "0.0.1" + "brace-expansion": "^2.0.1" } }, - "pathval": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", - "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", - "dev": true - }, - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", "dev": true }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "requires": { - "find-up": "^4.0.0" - }, - "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - } - } + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" }, - "prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", "dev": true }, - "process-on-spawn": { + "package-json-from-dist": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz", - "integrity": "sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==", - "dev": true, - "requires": { - "fromentries": "^1.2.0" - } - }, - "punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", + "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==", "dev": true }, - "queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true }, - "ramda": { - "version": "0.28.0", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.28.0.tgz", - "integrity": "sha512-9QnLuG/kPVgWvMQ4aODhsBUFKOUmnbUnsSXACv+NCQZcHbeb+v8Lodp8OVxtRULN1/xOyYLLaL6npE6dMq5QTA==" - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "requires": { - "picomatch": "^2.2.1" - } - }, - "release-zalgo": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz", - "integrity": "sha512-gUAyHVHPPC5wdqX/LG4LWtRYtgjxyX78oanFNTMMyFEfOqdC54s3eE82imuWKbOeqYht2CrNf64Qb8vgmmtZGA==", + "path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", "dev": true, "requires": { - "es6-error": "^4.0.1" + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" } }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "pathe": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", + "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", "dev": true }, - "require-main-filename": { + "pathval": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.0.tgz", + "integrity": "sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==", "dev": true }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "picocolors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", + "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==", "dev": true }, - "rewire": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/rewire/-/rewire-7.0.0.tgz", - "integrity": "sha512-DyyNyzwMtGYgu0Zl/ya0PR/oaunM+VuCuBxCuhYJHHaV0V+YvYa3bBGxb5OZ71vndgmp1pYY8F4YOwQo1siRGw==", + "postcss": { + "version": "8.4.47", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", + "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", "dev": true, "requires": { - "eslint": "^8.47.0" + "nanoid": "^3.3.7", + "picocolors": "^1.1.0", + "source-map-js": "^1.2.1" } }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } + "ramda": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.28.0.tgz", + "integrity": "sha512-9QnLuG/kPVgWvMQ4aODhsBUFKOUmnbUnsSXACv+NCQZcHbeb+v8Lodp8OVxtRULN1/xOyYLLaL6npE6dMq5QTA==" }, - "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==", - "dev": true, - "requires": { - "queue-microtask": "^1.2.2" + "rollup": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.22.4.tgz", + "integrity": "sha512-vD8HJ5raRcWOyymsR6Z3o6+RzfEPCnVLMFJ6vRslO1jt4LO6dUo5Qnpg7y4RkZFM2DMe3WUirkI5c16onjrc6A==", + "dev": true, + "requires": { + "@rollup/rollup-android-arm-eabi": "4.22.4", + "@rollup/rollup-android-arm64": "4.22.4", + "@rollup/rollup-darwin-arm64": "4.22.4", + "@rollup/rollup-darwin-x64": "4.22.4", + "@rollup/rollup-linux-arm-gnueabihf": "4.22.4", + "@rollup/rollup-linux-arm-musleabihf": "4.22.4", + "@rollup/rollup-linux-arm64-gnu": "4.22.4", + "@rollup/rollup-linux-arm64-musl": "4.22.4", + "@rollup/rollup-linux-powerpc64le-gnu": "4.22.4", + "@rollup/rollup-linux-riscv64-gnu": "4.22.4", + "@rollup/rollup-linux-s390x-gnu": "4.22.4", + "@rollup/rollup-linux-x64-gnu": "4.22.4", + "@rollup/rollup-linux-x64-musl": "4.22.4", + "@rollup/rollup-win32-arm64-msvc": "4.22.4", + "@rollup/rollup-win32-ia32-msvc": "4.22.4", + "@rollup/rollup-win32-x64-msvc": "4.22.4", + "@types/estree": "1.0.5", + "fsevents": "~2.3.2" + }, + "dependencies": { + "@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true + } } }, - "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==", - "dev": true - }, "secure-json-parse": { "version": "2.7.0", "resolved": "https://registry.npmjs.org/secure-json-parse/-/secure-json-parse-2.7.0.tgz", "integrity": "sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==" }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - }, - "serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", - "dev": true, - "requires": { - "randombytes": "^2.1.0" - } - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", - "dev": true - }, "shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -5975,62 +3163,49 @@ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true }, + "siginfo": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", + "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", + "dev": true + }, "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true }, - "sinon": { - "version": "17.0.0", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-17.0.0.tgz", - "integrity": "sha512-p4lJiYKBoOEVUxxVIC9H1MM2znG1/c8gud++I2BauJA5hsz7hHsst35eurNWXTusBsIq66FzOQbZ/uMdpvbPIQ==", - "dev": true, - "requires": { - "@sinonjs/commons": "^3.0.0", - "@sinonjs/fake-timers": "^11.2.2", - "@sinonjs/samsam": "^8.0.0", - "diff": "^5.1.0", - "nise": "^5.1.5", - "supports-color": "^7.2.0" - }, - "dependencies": { - "diff": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", - "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==", - "dev": true - } - } + "source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "dev": true }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "stackback": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", + "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", "dev": true }, - "spawn-wrap": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz", - "integrity": "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==", + "std-env": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz", + "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==", + "dev": true + }, + "string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "dev": true, "requires": { - "foreground-child": "^2.0.0", - "is-windows": "^1.0.2", - "make-dir": "^3.0.0", - "rimraf": "^3.0.0", - "signal-exit": "^3.0.2", - "which": "^2.0.1" + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" } }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true - }, - "string-width": { - "version": "4.2.3", + "string-width-cjs": { + "version": "npm:string-width@4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, @@ -6038,29 +3213,57 @@ "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "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==", + "dev": true + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + } } }, "strip-ansi": { - "version": "6.0.1", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "requires": { + "ansi-regex": "^6.0.1" + } + }, + "strip-ansi-cjs": { + "version": "npm:strip-ansi@6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "requires": { "ansi-regex": "^5.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + } } }, - "strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true - }, - "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true - }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -6071,95 +3274,101 @@ } }, "test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-7.0.1.tgz", + "integrity": "sha512-pFYqmTw68LXVjeWJMST4+borgQP2AyMNbg1BpZh9LbyhUeNkeaPF9gzfPGUAnSMV3qPYdWUwDIjjCLiSDOl7vg==", "dev": true, "requires": { "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, - "dependencies": { - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } + "glob": "^10.4.1", + "minimatch": "^9.0.4" } }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "tinybench": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", + "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", "dev": true }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "tinyexec": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.0.tgz", + "integrity": "sha512-tVGE0mVJPGb0chKhqmsoosjsS+qUnJVGJpZgsHYQcGoPlG3B51R3PouqTgEGH2Dc9jjFyOqOpix6ZHNMXp1FZg==", "dev": true }, - "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==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } + "tinypool": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.0.1.tgz", + "integrity": "sha512-URZYihUbRPcGv95En+sz6MfghfIc2OJ1sv/RmhWZLouPY0/8Vo80viwPvg3dlaS9fuq7fQMEfgRRK7BBZThBEA==", + "dev": true }, - "type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1" - } + "tinyrainbow": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-1.2.0.tgz", + "integrity": "sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==", + "dev": true }, - "type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "tinyspy": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-3.0.2.tgz", + "integrity": "sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==", "dev": true }, - "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", "dev": true }, - "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==", + "vite": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.6.tgz", + "integrity": "sha512-IeL5f8OO5nylsgzd9tq4qD2QqI0k2CQLGrWD0rCN0EQJZpBK5vJAx0I+GDkMOXxQX/OfFHMuLIx6ddAxGX/k+Q==", "dev": true, "requires": { - "is-typedarray": "^1.0.0" + "esbuild": "^0.21.3", + "fsevents": "~2.3.3", + "postcss": "^8.4.43", + "rollup": "^4.20.0" } }, - "update-browserslist-db": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", - "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", + "vite-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-2.1.1.tgz", + "integrity": "sha512-N/mGckI1suG/5wQI35XeR9rsMsPqKXzq1CdUndzVstBj/HvyxxGctwnK6WX43NGt5L3Z5tcRf83g4TITKJhPrA==", "dev": true, "requires": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" + "cac": "^6.7.14", + "debug": "^4.3.6", + "pathe": "^1.1.2", + "vite": "^5.0.0" } }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "requires": { - "punycode": "^2.1.0" + "vitest": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-2.1.1.tgz", + "integrity": "sha512-97We7/VC0e9X5zBVkvt7SGQMGrRtn3KtySFQG5fpaMlS+l62eeXRQO633AYhSTC3z7IMebnPPNjGXVGNRFlxBA==", + "dev": true, + "requires": { + "@vitest/expect": "2.1.1", + "@vitest/mocker": "2.1.1", + "@vitest/pretty-format": "^2.1.1", + "@vitest/runner": "2.1.1", + "@vitest/snapshot": "2.1.1", + "@vitest/spy": "2.1.1", + "@vitest/utils": "2.1.1", + "chai": "^5.1.1", + "debug": "^4.3.6", + "magic-string": "^0.30.11", + "pathe": "^1.1.2", + "std-env": "^3.7.0", + "tinybench": "^2.9.0", + "tinyexec": "^0.3.0", + "tinypool": "^1.0.0", + "tinyrainbow": "^1.2.0", + "vite": "^5.0.0", + "vite-node": "2.1.1", + "why-is-node-running": "^2.3.0" } }, "which": { @@ -6171,111 +3380,80 @@ "isexe": "^2.0.0" } }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==", - "dev": true - }, - "workerpool": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", - "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==", - "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==", + "why-is-node-running": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", + "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", "dev": true, "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "siginfo": "^2.0.0", + "stackback": "0.0.2" } }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "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==", + "wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", "dev": true, "requires": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" } }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - }, - "yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - } - }, - "yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", - "dev": true - }, - "yargs-unparser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", - "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", + "wrap-ansi-cjs": { + "version": "npm:wrap-ansi@7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, "requires": { - "camelcase": "^6.0.0", - "decamelize": "^4.0.0", - "flat": "^5.0.2", - "is-plain-obj": "^2.1.0" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "dependencies": { - "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true }, - "decamelize": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", - "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", + "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, + "requires": { + "color-convert": "^2.0.1" + } + }, + "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==", "dev": true + }, + "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==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } } } - }, - "yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true } } } diff --git a/source/backend/functions/search-api/package.json b/source/backend/functions/search-api/package.json index 632a9f9d..d09ab144 100644 --- a/source/backend/functions/search-api/package.json +++ b/source/backend/functions/search-api/package.json @@ -1,18 +1,17 @@ { "name": "wd-search-api", - "version": "2.1.15", + "version": "2.2.0", "description": "The lambda function that queries the OpenSearch database", - "main": "src/index.js", + "main": "src/index.mjs", + "type": "module", "scripts": { "pretest": "npm i", - "test": "nyc --reporter=html --reporter=text mocha test", - "test:ci": "npm ci && nyc --reporter=nyc-report-lcov-absolute mocha --forbid-only test", - "posttest:ci": "echo \"$(awk '{gsub(/SF:.*\\/source\\//, \"SF:source/\")}1' coverage/lcov.info)\" > coverage/lcov.info", + "test": "vitest run --coverage", + "test:ci": "npm ci && vitest run --coverage --allowOnly false", "clean": "rm -rf dist", "build:zip": "zip -rq --exclude=*tests* --exclude=package-lock.json search-api.zip node_modules/ && zip -urj search-api.zip src/", "build:dist": "mkdir dist && mv search-api.zip dist/", - "build": "npm run clean && npm ci --legacy-peer-deps --omit=dev && npm run build:zip && npm run build:dist", - "coverage": "nyc npm test" + "build": "npm run clean && npm ci --legacy-peer-deps --omit=dev && npm run build:zip && npm run build:dist" }, "author": { "name": "Amazon Web Services", @@ -20,16 +19,13 @@ }, "license": "Apache-2.0", "dependencies": { - "@opensearch-project/opensearch": "2.3.1", - "aws-opensearch-connector": "1.1.0", + "@aws-lambda-powertools/logger": "2.10.0", + "@opensearch-project/opensearch": "2.8.0", + "aws-opensearch-connector": "1.2.0", "ramda": "0.28.0" }, "devDependencies": { - "chai": "^4.3.10", - "mocha": "^10.2.0", - "nyc": "^15.1.0", - "nyc-report-lcov-absolute": "^1.0.0", - "rewire": "^7.0.0", - "sinon": "^17.0.0" + "@vitest/coverage-v8": "^2.1.1", + "vitest": "^2.1.1" } } diff --git a/source/backend/functions/search-api/src/index.js b/source/backend/functions/search-api/src/index.js deleted file mode 100644 index 98291988..00000000 --- a/source/backend/functions/search-api/src/index.js +++ /dev/null @@ -1,198 +0,0 @@ -// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 - -const {Client} = require('@opensearch-project/opensearch'); -const createAwsOpensearchConnector = require('aws-opensearch-connector'); -const R = require('ramda'); - -const domain = process.env.ES_DOMAIN; // e.g. search-domain.region.es.amazonaws.com - -const INDEX = 'data'; -const docType = '_doc'; - -const osClient = new Client({ - ...createAwsOpensearchConnector({}), - node: `https://${domain}` -}); - -function unprocessedResourcesHandler(key, items) { - return items.reduce((acc, {[key]: {error, _id}}) => { - if (error != null) { - console.log('Error writing item to index: ' + JSON.stringify(error)); - acc.push(_id); - } - return acc; - }, []); -} - -async function indexResources(osClient, resources) { - const body = resources.flatMap(doc => { - return [{index: {_index: INDEX, _type: docType, _id: doc.id}}, doc]; - }); - - const {body: {errors, items}} = await osClient.bulk({body}); - - const unprocessedResources = errors === false ? [] : unprocessedResourcesHandler('index', items); - - return {unprocessedResources}; -} - -async function updateResources(osClient, resources) { - const body = resources.flatMap(doc => { - return [{update: {_index: INDEX, _type: docType, _id: doc.id}}, {doc}]; - }); - - const {body: {errors, items}} = await osClient.bulk({body}); - - const unprocessedResources = errors === false ? [] : unprocessedResourcesHandler('update', items); - - return {unprocessedResources}; -} - -async function deleteIndexedResources(osClient, resourceIds) { - const body = resourceIds.map(id => { - return {delete: {_index: INDEX, _type: docType, _id: id}}; - }); - - const {body: {errors, items}} = await osClient.bulk({body}); - - const unprocessedResources = errors === false ? [] : unprocessedResourcesHandler('delete', items); - - return {unprocessedResources}; -} - -function createProperties(properties) { - return { - accountId: properties.accountId, - arn: properties.arn, - availabilityZone: properties.availabilityZone, - awsRegion: properties.awsRegion, - configuration: properties.configuration ?? '{}', - loggedInURL: properties.loggedInURL ?? 'N/A', - loginURL: properties.loginURL ?? 'N/A', - resourceId: properties.resourceId, - private: properties.private, - resourceName: properties.resourceName, - resourceType: properties.resourceType, - resourceValue: properties.resourceValue, - state: properties.state ?? 'N/A', - subnetId: properties.subnetId, - tags: properties.tags, - title: properties.title, - vpcId: properties.vpcId - }; -} - -async function searchResources(osClient, text, {start = 0, end = 25}, accounts, resourceTypes) { - const accountsBoolQuery = accounts.map(({accountId, regions}) => { - const regionQuery = R.isNil(regions) ? [] : [{ - terms: { - 'properties.awsRegion.keyword': regions.map(x => x.name) - } - }] - - return { - bool: { - must: [{ - term: { - 'properties.accountId.keyword': accountId - } - }, ...regionQuery] - } - } - }); - - const accountsQuery = R.isEmpty(accountsBoolQuery) ? [] : [{ - bool: { - should: accountsBoolQuery - } - }]; - - const resourceTypeQuery = R.isEmpty(resourceTypes) ? [] : [{terms: {'properties.resourceType.keyword': resourceTypes}}]; - - return osClient.search({ - index: INDEX, - type: docType, - from: start, - size: end - start, - body: { - min_score: 0.1, - query: { - bool: { - should: [{ - multi_match: {query: text} - }, { - wildcard: { - 'properties.resourceId': `*${text}*` - } - }, { - wildcard: { - 'properties.resourceName': `*${text}*` - } - }, { - wildcard: { - 'properties.arn': `*${text}*` - } - }, { - wildcard: { - 'label': `*${text}*` - } - }], - filter: [...accountsQuery, ...resourceTypeQuery] - } - } - } - }) - .then(({body: {hits}}) => { - const resources = (hits.hits ?? []).map(({_source}) => { - const {id, label, md5hash = '', properties} = _source; - return { - id, - label, - md5hash, - properties: createProperties(properties) - } - }); - - return { - count: hits.total.value, - resources - } - }); -} - -function deleteIndex(osClient, index) { - return osClient.indices.delete({index}); -} - -const MAX_PAGE_SIZE = 1000; - -function handler(osClient) { - return async event => { - const args = event.arguments; - console.log(JSON.stringify(args)); - switch (event.info.fieldName) { - case 'indexResources': - return indexResources(osClient, args.resources); - case 'deleteIndex': - return deleteIndex(osClient, INDEX); - case 'deleteIndexedResources': - return deleteIndexedResources(osClient, args.resourceIds); - case 'searchResources': - const pagination = args.pagination ?? {start: 0, end: 25}; - - if((pagination.end - pagination.start) > MAX_PAGE_SIZE) { - return Promise.reject(new Error(`Maximum page size is ${MAX_PAGE_SIZE}.`)); - } - const resourceTypes = args.resourceTypes ?? []; - const accounts = args.accounts ?? []; - return searchResources(osClient, args.text, pagination, accounts, resourceTypes); - case 'updateIndexedResources': - return updateResources(osClient, args.resources); - default: - return Promise.reject(new Error(`Unknown field, unable to resolve ${event.info.fieldName}.`)); - } - } -} - -exports.handler = handler(osClient); diff --git a/source/backend/functions/search-api/test/fixtures/searchResources.json b/source/backend/functions/search-api/test/fixtures/searchResources.json index fc638992..3e161b1f 100644 --- a/source/backend/functions/search-api/test/fixtures/searchResources.json +++ b/source/backend/functions/search-api/test/fixtures/searchResources.json @@ -1,42 +1,42 @@ { - "body": { - "hits": { - "total": { - "value": 1, - "relation": "eq" - }, - "max_score": 3, - "hits": [ - { - "_index": "data", - "_type": "_doc", - "_id": "lambdaArn", - "_score": 3, - "_source": { - "id": "lambdaArn", - "label": "AWS_Lambda_Function", - "md5Hash": "", - "properties": { - "accountId": "xxxxxxxxxxxx", - "arn": "lambdaArn", - "availabilityZone": "eu-west-1a,eu-west-1b", - "awsRegion": "eu-west-1", - "configuration": "{}", - "configurationItemCaptureTime": "2022-10-14T09:54:51.596Z", - "configurationItemStatus": "OK", - "relationships": "[]", - "resourceId": "lambdaResourceId", - "resourceName": "lambdaResourceName", - "resourceType": "AWS::Lambda::Function", - "tags": "[]", - "version": "1.3", - "vpcId": "lambdaVpcId", - "title": "lambdaTitle", - "loginURL": "lambdaLoginUrl" - } - } + "body": { + "hits": { + "total": { + "value": 1, + "relation": "eq" + }, + "max_score": 3, + "hits": [ + { + "_index": "data", + "_type": "_doc", + "_id": "lambdaArn", + "_score": 3, + "_source": { + "id": "lambdaArn", + "label": "AWS_Lambda_Function", + "md5Hash": "", + "properties": { + "accountId": "xxxxxxxxxxxx", + "arn": "lambdaArn", + "availabilityZone": "eu-west-1a,eu-west-1b", + "awsRegion": "eu-west-1", + "configuration": "{}", + "configurationItemCaptureTime": "2022-10-14T09:54:51.596Z", + "configurationItemStatus": "OK", + "relationships": "[]", + "resourceId": "lambdaResourceId", + "resourceName": "lambdaResourceName", + "resourceType": "AWS::Lambda::Function", + "tags": "[]", + "version": "1.3", + "vpcId": "lambdaVpcId", + "title": "lambdaTitle", + "loginURL": "lambdaLoginUrl" + } + } + } + ] } - ] } - } -} \ No newline at end of file +} diff --git a/source/backend/functions/search-api/test/index.js b/source/backend/functions/search-api/test/index.js deleted file mode 100644 index 0df28307..00000000 --- a/source/backend/functions/search-api/test/index.js +++ /dev/null @@ -1,234 +0,0 @@ -// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 - -const rewire = require('rewire'); -const sinon = require('sinon'); -const {assert} = require('chai'); -const results = require("./fixtures/searchResources.json"); - -const index = rewire('../src/index'); - -describe('index.js', () => { - - describe('handler', () => { - const handler_ = index.__get__('handler'); - - describe('indexResources', () => { - - it('should handle errors from indexing resources', async () => { - const handler = handler_({ - bulk: async () => { - return { - body: { - errors: true, items: [ - { - index: { - _index: "index1", - _id: "1", - "error": {} - } - }, { - index: { - _index: "index1", - _id: "2", - "error": {} - } - } - ] - } - } - } - }); - - const actual = await handler({ - arguments: { - resources: [{id: 1, foo: '1'}, {id: 2, bar: '2'}] - }, - info: { - fieldName: 'indexResources' - } - }); - - assert.deepEqual(actual, { - unprocessedResources: ['1', '2'] - }); - }); - - }); - - describe('deleteIndexedResources', () => { - - it('should handle errors from deleting resources', async () => { - const handler = handler_({ - bulk: async () => { - return { - body: { - errors: true, items: [ - { - delete: { - _index: "index1", - _id: "1", - "error": {} - } - }, { - delete: { - _index: "index1", - _id: "2", - "error": {} - } - } - ] - } - } - } - }); - - const actual = await handler({ - arguments: { - resourceIds: [1, 2] - }, - info: { - fieldName: 'deleteIndexedResources' - } - }); - - assert.deepEqual(actual, { - unprocessedResources: ['1', '2'] - }); - }); - - }); - - describe('updateIndexedResources', () => { - - it('should handle errors from updating resources', async () => { - const handler = handler_({ - bulk: async () => { - return { - body: { - errors: true, items: [ - { - update: { - _index: "index1", - _id: "1", - "error": {} - } - }, { - update: { - _index: "index1", - _id: "2", - "error": {} - } - } - ] - } - } - } - }); - - const actual = await handler({ - arguments: { - resources: [{id: 1, foo: '1'}, {id: 2, bar: '2'}] - }, - info: { - fieldName: 'updateIndexedResources' - } - }); - - assert.deepEqual(actual, { - unprocessedResources: ['1', '2'] - }); - }); - - }); - - describe('searchResources', () => { - - it('should reject requests with a page size of over 1000', async () => { - const handler = handler_({ - search: async () => { - return {}; - } - }); - - return handler({ - arguments: { - text: 'lambdaArn', - accounts: [{accountId: 'xxxxxxxxxxx', regions: [{name: 'eu-west-1'}]}], - resourceTypes: ['AWS::Lambda::Function'], - pagination: {start: 0, end: 2000} - }, - info: { - fieldName: 'searchResources' - } - }).catch(err => assert.strictEqual(err.message, 'Maximum page size is 1000.')); - }); - - it('should return search values in same format as neptune', async () => { - const results = require('./fixtures/searchResources.json') - const handler = handler_({ - search: async () => { - return results; - } - }); - - const actual = await handler({ - arguments: { - text: 'lambdaArn', - accounts: [{accountId: 'xxxxxxxxxxx', regions: [{name: 'eu-west-1'}]}], - resourceTypes: ['AWS::Lambda::Function'] - }, - info: { - fieldName: 'searchResources' - } - }); - - assert.deepEqual(actual, { - count: 1, - resources: [{ - id: 'lambdaArn', - label: 'AWS_Lambda_Function', - md5hash: '', - properties: { - accountId: 'xxxxxxxxxxxx', - arn: 'lambdaArn', - availabilityZone: 'eu-west-1a,eu-west-1b', - awsRegion: 'eu-west-1', - configuration: '{}', - loggedInURL: 'N/A', - private: void 0, - loginURL: 'lambdaLoginUrl', - resourceId: 'lambdaResourceId', - resourceName: 'lambdaResourceName', - resourceType: 'AWS::Lambda::Function', - resourceValue: void 0, - state: 'N/A', - tags: '[]', - title: 'lambdaTitle', - vpcId: 'lambdaVpcId', - subnetId: void 0 - } - }] - }); - }); - - }); - - describe('unknown field', () => { - - it('should reject payloads with unknown query', async () => { - const handler = index.__get__('handler')({}); - - return handler({ - arguments: {}, - info: { - fieldName: 'foo' - } - }).catch(err => assert.strictEqual(err.message, 'Unknown field, unable to resolve foo.')); - }); - - }); - - }); - -}); \ No newline at end of file diff --git a/source/backend/functions/settings/package-lock.json b/source/backend/functions/settings/package-lock.json index 922bb267..7ee05bf8 100644 --- a/source/backend/functions/settings/package-lock.json +++ b/source/backend/functions/settings/package-lock.json @@ -1,51 +1,41 @@ { "name": "wd-settings", - "version": "2.1.15", + "version": "2.2.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "wd-settings", - "version": "2.1.15", + "version": "2.2.0", "license": "Apache-2.0", "dependencies": { + "@aws-lambda-powertools/logger": "2.10.0", "@aws-sdk/client-config-service": "3.621.0", "@aws-sdk/client-dynamodb": "3.621.0", "@aws-sdk/client-ec2": "3.621.0", "@aws-sdk/client-organizations": "3.621.0", - "@aws-sdk/lib-dynamodb": "3.621.0", + "@aws-sdk/lib-dynamodb": "3.359.0", "@tuplo/dynoexpr": "3.4.0", "aws-xray-sdk-core": "3.5.1", "ramda": "0.28.0" }, "devDependencies": { + "@vitest/coverage-v8": "^2.1.1", "aws-sdk-client-mock": "^3.0.0", - "chai": "^4.3.10", "dynamo-db-local": "^9.2.0", - "mocha": "^10.2.0", - "nyc": "^15.1.0", - "nyc-report-lcov-absolute": "^1.0.0", - "rewire": "^7.0.0", - "sinon": "^17.0.0" - } - }, - "node_modules/@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", - "dev": true, - "engines": { - "node": ">=0.10.0" + "sinon": "^17.0.0", + "vitest": "^2.1.1" } }, "node_modules/@ampproject/remapping": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", - "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { "node": ">=6.0.0" @@ -176,6 +166,43 @@ "node": ">=14.0.0" } }, + "node_modules/@aws-lambda-powertools/commons": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@aws-lambda-powertools/commons/-/commons-2.10.0.tgz", + "integrity": "sha512-XHC0FW/k33JWc2SZ9pbOJQPzNCMoRGnRuX/Cx1CYXRvRnaLYkPNRPrPYvGWy1OInAS3GSK6zxP1Asx0k4uaqSw==", + "license": "MIT-0" + }, + "node_modules/@aws-lambda-powertools/logger": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@aws-lambda-powertools/logger/-/logger-2.10.0.tgz", + "integrity": "sha512-QsVnoCBf6gKneGmSrIj1nxf34jWWOyDu4PO3I+VwkaH60lph2dIVcF1pP1zZagxUoYt9WWiddHcGQ7ORo0z5iw==", + "license": "MIT-0", + "dependencies": { + "@aws-lambda-powertools/commons": "^2.10.0", + "lodash.merge": "^4.6.2" + }, + "peerDependencies": { + "@middy/core": "4.x || 5.x" + }, + "peerDependenciesMeta": { + "@middy/core": { + "optional": true + } + } + }, + "node_modules/@aws-sdk/abort-controller": { + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.357.0.tgz", + "integrity": "sha512-nQYDJon87quPwt2JZJwUN2GFKJnvE5kWb6tZP4xb5biSGUKBqDQo06oYed7yokatCuCMouIXV462aN0fWODtOw==", + "peer": true, + "dependencies": { + "@aws-sdk/types": "3.357.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, "node_modules/@aws-sdk/client-config-service": { "version": "3.621.0", "resolved": "https://registry.npmjs.org/@aws-sdk/client-config-service/-/client-config-service-3.621.0.tgz", @@ -241,6 +268,18 @@ "node": ">=16.0.0" } }, + "node_modules/@aws-sdk/client-config-service/node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@aws-sdk/client-dynamodb": { "version": "3.621.0", "resolved": "https://registry.npmjs.org/@aws-sdk/client-dynamodb/-/client-dynamodb-3.621.0.tgz", @@ -309,17 +348,16 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-dynamodb/node_modules/uuid": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", - "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", - "funding": [ - "https://github.com/sponsors/broofa", - "https://github.com/sponsors/ctavan" - ], - "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" + "node_modules/@aws-sdk/client-dynamodb/node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" } }, "node_modules/@aws-sdk/client-ec2": { @@ -390,17 +428,16 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-ec2/node_modules/uuid": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", - "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", - "funding": [ - "https://github.com/sponsors/broofa", - "https://github.com/sponsors/ctavan" - ], - "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" + "node_modules/@aws-sdk/client-ec2/node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" } }, "node_modules/@aws-sdk/client-organizations": { @@ -468,6 +505,18 @@ "node": ">=16.0.0" } }, + "node_modules/@aws-sdk/client-organizations/node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@aws-sdk/client-sso": { "version": "3.621.0", "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.621.0.tgz", @@ -583,6 +632,18 @@ "node": ">=16.0.0" } }, + "node_modules/@aws-sdk/client-sso-oidc/node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/types": { "version": "3.609.0", "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", @@ -596,6 +657,18 @@ "node": ">=16.0.0" } }, + "node_modules/@aws-sdk/client-sso/node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@aws-sdk/client-sts": { "version": "3.621.0", "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.621.0.tgz", @@ -660,6 +733,18 @@ "node": ">=16.0.0" } }, + "node_modules/@aws-sdk/client-sts/node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@aws-sdk/core": { "version": "3.621.0", "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.621.0.tgz", @@ -680,6 +765,18 @@ "node": ">=16.0.0" } }, + "node_modules/@aws-sdk/core/node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@aws-sdk/credential-provider-env": { "version": "3.620.1", "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.620.1.tgz", @@ -708,6 +805,18 @@ "node": ">=16.0.0" } }, + "node_modules/@aws-sdk/credential-provider-env/node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@aws-sdk/credential-provider-http": { "version": "3.621.0", "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.621.0.tgz", @@ -741,6 +850,18 @@ "node": ">=16.0.0" } }, + "node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@aws-sdk/credential-provider-ini": { "version": "3.621.0", "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.621.0.tgz", @@ -779,6 +900,18 @@ "node": ">=16.0.0" } }, + "node_modules/@aws-sdk/credential-provider-ini/node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@aws-sdk/credential-provider-node": { "version": "3.621.0", "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.621.0.tgz", @@ -815,6 +948,18 @@ "node": ">=16.0.0" } }, + "node_modules/@aws-sdk/credential-provider-node/node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@aws-sdk/credential-provider-process": { "version": "3.620.1", "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.620.1.tgz", @@ -844,6 +989,18 @@ "node": ">=16.0.0" } }, + "node_modules/@aws-sdk/credential-provider-process/node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@aws-sdk/credential-provider-sso": { "version": "3.621.0", "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.621.0.tgz", @@ -875,6 +1032,18 @@ "node": ">=16.0.0" } }, + "node_modules/@aws-sdk/credential-provider-sso/node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@aws-sdk/credential-provider-web-identity": { "version": "3.621.0", "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.621.0.tgz", @@ -906,6 +1075,18 @@ "node": ">=16.0.0" } }, + "node_modules/@aws-sdk/credential-provider-web-identity/node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@aws-sdk/endpoint-cache": { "version": "3.572.0", "resolved": "https://registry.npmjs.org/@aws-sdk/endpoint-cache/-/endpoint-cache-3.572.0.tgz", @@ -919,22 +1100,46 @@ "node": ">=16.0.0" } }, + "node_modules/@aws-sdk/fetch-http-handler": { + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.357.0.tgz", + "integrity": "sha512-5sPloTO8y8fAnS/6/Sfp/aVoL9zuhzkLdWBORNzMazdynVNEzWKWCPZ27RQpgkaCDHiXjqUY4kfuFXAGkvFfDQ==", + "peer": true, + "dependencies": { + "@aws-sdk/protocol-http": "3.357.0", + "@aws-sdk/querystring-builder": "3.357.0", + "@aws-sdk/types": "3.357.0", + "@aws-sdk/util-base64": "3.310.0", + "tslib": "^2.5.0" + } + }, + "node_modules/@aws-sdk/is-array-buffer": { + "version": "3.310.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.310.0.tgz", + "integrity": "sha512-urnbcCR+h9NWUnmOtet/s4ghvzsidFmspfhYaHAmSRdy9yDjdjBJMFjjsn85A1ODUktztm+cVncXjQ38WCMjMQ==", + "peer": true, + "dependencies": { + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, "node_modules/@aws-sdk/lib-dynamodb": { - "version": "3.621.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/lib-dynamodb/-/lib-dynamodb-3.621.0.tgz", - "integrity": "sha512-RJJwaR15BLSTtegf2kgJjlJofvxeR+0Jm0rnEbJmRZ/HZhjow1LawrMbCR0YxfcWKUMsDw9tp8BDkLlrH1+RJQ==", - "license": "Apache-2.0", + "version": "3.359.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/lib-dynamodb/-/lib-dynamodb-3.359.0.tgz", + "integrity": "sha512-O5aajgyqH4xf4aBhKNwgM+HG58nJZS0shTd5gxesI51WlTrssciDgfZO9y57TnkgJd4i87GlqVvC2BQj8iPx8g==", "dependencies": { - "@aws-sdk/util-dynamodb": "3.621.0", - "@smithy/smithy-client": "^3.1.11", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" + "@aws-sdk/util-dynamodb": "3.359.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">=16.0.0" + "node": ">=14.0.0" }, "peerDependencies": { - "@aws-sdk/client-dynamodb": "^3.621.0" + "@aws-sdk/client-dynamodb": "^3.0.0", + "@aws-sdk/smithy-client": "^3.0.0", + "@aws-sdk/types": "^3.0.0" } }, "node_modules/@aws-sdk/middleware-endpoint-discovery": { @@ -967,6 +1172,18 @@ "node": ">=16.0.0" } }, + "node_modules/@aws-sdk/middleware-endpoint-discovery/node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@aws-sdk/middleware-host-header": { "version": "3.620.0", "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.620.0.tgz", @@ -995,6 +1212,18 @@ "node": ">=16.0.0" } }, + "node_modules/@aws-sdk/middleware-host-header/node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@aws-sdk/middleware-logger": { "version": "3.609.0", "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.609.0.tgz", @@ -1022,13 +1251,25 @@ "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/middleware-recursion-detection": { - "version": "3.620.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.620.0.tgz", - "integrity": "sha512-nh91S7aGK3e/o1ck64sA/CyoFw+gAYj2BDOnoNa6ouyCrVJED96ZXWbhye/fz9SgmNUZR2g7GdVpiLpMKZoI5w==", + "node_modules/@aws-sdk/middleware-logger/node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/types": "3.609.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/middleware-recursion-detection": { + "version": "3.620.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.620.0.tgz", + "integrity": "sha512-nh91S7aGK3e/o1ck64sA/CyoFw+gAYj2BDOnoNa6ouyCrVJED96ZXWbhye/fz9SgmNUZR2g7GdVpiLpMKZoI5w==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.609.0", "@smithy/protocol-http": "^4.1.0", "@smithy/types": "^3.3.0", "tslib": "^2.6.2" @@ -1050,6 +1291,18 @@ "node": ">=16.0.0" } }, + "node_modules/@aws-sdk/middleware-recursion-detection/node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@aws-sdk/middleware-sdk-ec2": { "version": "3.621.0", "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-ec2/-/middleware-sdk-ec2-3.621.0.tgz", @@ -1082,6 +1335,30 @@ "node": ">=16.0.0" } }, + "node_modules/@aws-sdk/middleware-sdk-ec2/node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/middleware-stack": { + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.357.0.tgz", + "integrity": "sha512-nNV+jfwGwmbOGZujAY/U8AW3EbVlxa9DJDLz3TPp/39o6Vu5KEzHJyDDNreo2k9V/TMvV+nOzHafufgPdagv7w==", + "peer": true, + "dependencies": { + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, "node_modules/@aws-sdk/middleware-user-agent": { "version": "3.620.0", "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.620.0.tgz", @@ -1111,6 +1388,61 @@ "node": ">=16.0.0" } }, + "node_modules/@aws-sdk/middleware-user-agent/node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/node-http-handler": { + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.357.0.tgz", + "integrity": "sha512-uoab4xIJux+Q9hQ9A/vWEAjojtBQ0U4K7xEQVa0BXEv7MHH5zv51H+VtrelU1Ed6hsHq4Sx0bxBMFpbbWhNyjA==", + "peer": true, + "dependencies": { + "@aws-sdk/abort-controller": "3.357.0", + "@aws-sdk/protocol-http": "3.357.0", + "@aws-sdk/querystring-builder": "3.357.0", + "@aws-sdk/types": "3.357.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/protocol-http": { + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.357.0.tgz", + "integrity": "sha512-w1JHiI50VEea7duDeAspUiKJmmdIQblvRyjVMOqWA6FIQAyDVuEiPX7/MdQr0ScxhtRQxHbP0I4MFyl7ctRQvA==", + "peer": true, + "dependencies": { + "@aws-sdk/types": "3.357.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/querystring-builder": { + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.357.0.tgz", + "integrity": "sha512-aQcicqB6Y2cNaXPPwunz612a01SMiQQPsdz632F/3Lzn0ua82BJKobHOtaiTUlmVJ5Q4/EAeNfwZgL7tTUNtDQ==", + "peer": true, + "dependencies": { + "@aws-sdk/types": "3.357.0", + "@aws-sdk/util-uri-escape": "3.310.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, "node_modules/@aws-sdk/region-config-resolver": { "version": "3.614.0", "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.614.0.tgz", @@ -1141,6 +1473,18 @@ "node": ">=16.0.0" } }, + "node_modules/@aws-sdk/region-config-resolver/node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@aws-sdk/service-error-classification": { "version": "3.357.0", "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.357.0.tgz", @@ -1149,6 +1493,22 @@ "node": ">=14.0.0" } }, + "node_modules/@aws-sdk/smithy-client": { + "version": "3.358.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.358.0.tgz", + "integrity": "sha512-oqctxWb9yAqCh4ENwUkt9MC01l5uKoy+QCiSUUhQ76k7R3lyGOge9ycyRyoKl+oZWvEpnjZevXQFqEfGzkL7bA==", + "peer": true, + "dependencies": { + "@aws-sdk/middleware-stack": "3.357.0", + "@aws-sdk/types": "3.357.0", + "@aws-sdk/util-stream": "3.358.0", + "@smithy/types": "^1.0.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, "node_modules/@aws-sdk/token-providers": { "version": "3.614.0", "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.614.0.tgz", @@ -1181,6 +1541,18 @@ "node": ">=16.0.0" } }, + "node_modules/@aws-sdk/token-providers/node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@aws-sdk/types": { "version": "3.357.0", "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.357.0.tgz", @@ -1192,19 +1564,41 @@ "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/util-dynamodb": { - "version": "3.621.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-dynamodb/-/util-dynamodb-3.621.0.tgz", - "integrity": "sha512-/3qEmZ52FdP4+3AUsUX0/wKcCF3jvAG+avVKuSCUYIdKgSIYKSeYfH8F3/r6DE3czaFevBwHRiuKHEihCMApGw==", - "license": "Apache-2.0", + "node_modules/@aws-sdk/util-base64": { + "version": "3.310.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64/-/util-base64-3.310.0.tgz", + "integrity": "sha512-v3+HBKQvqgdzcbL+pFswlx5HQsd9L6ZTlyPVL2LS9nNXnCcR3XgGz9jRskikRUuUvUXtkSG1J88GAOnJ/apTPg==", + "peer": true, "dependencies": { - "tslib": "^2.6.2" + "@aws-sdk/util-buffer-from": "3.310.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">=16.0.0" + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/util-buffer-from": { + "version": "3.310.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.310.0.tgz", + "integrity": "sha512-i6LVeXFtGih5Zs8enLrt+ExXY92QV25jtEnTKHsmlFqFAuL3VBeod6boeMXkN2p9lbSVVQ1sAOOYZOHYbYkntw==", + "peer": true, + "dependencies": { + "@aws-sdk/is-array-buffer": "3.310.0", + "tslib": "^2.5.0" }, - "peerDependencies": { - "@aws-sdk/client-dynamodb": "^3.621.0" + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/util-dynamodb": { + "version": "3.359.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-dynamodb/-/util-dynamodb-3.359.0.tgz", + "integrity": "sha512-Mrx+fFJToYT37AUApxJ1wE8EiMdxcMK4x/vXndok/8ISt37jdm1P0At8ahRHas+UABTKcP7X44qU2BcObDrTxg==", + "dependencies": { + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/util-endpoints": { @@ -1235,6 +1629,18 @@ "node": ">=16.0.0" } }, + "node_modules/@aws-sdk/util-endpoints/node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@aws-sdk/util-format-url": { "version": "3.609.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-format-url/-/util-format-url-3.609.0.tgz", @@ -1263,6 +1669,30 @@ "node": ">=16.0.0" } }, + "node_modules/@aws-sdk/util-format-url/node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/util-hex-encoding": { + "version": "3.310.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.310.0.tgz", + "integrity": "sha512-sVN7mcCCDSJ67pI1ZMtk84SKGqyix6/0A1Ab163YKn+lFBQRMKexleZzpYzNGxYzmQS6VanP/cfU7NiLQOaSfA==", + "peer": true, + "dependencies": { + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, "node_modules/@aws-sdk/util-locate-window": { "version": "3.568.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.568.0.tgz", @@ -1275,6 +1705,37 @@ "node": ">=16.0.0" } }, + "node_modules/@aws-sdk/util-stream": { + "version": "3.358.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-stream/-/util-stream-3.358.0.tgz", + "integrity": "sha512-zUhpjxAXV2+0eALlTU6uXRYMs10XYpcYzl3NtLRe4wWgnrOOOZnF/t5LQDoKXOfaMdzwZ+i90+PYr+6JQ58+7g==", + "peer": true, + "dependencies": { + "@aws-sdk/fetch-http-handler": "3.357.0", + "@aws-sdk/node-http-handler": "3.357.0", + "@aws-sdk/types": "3.357.0", + "@aws-sdk/util-base64": "3.310.0", + "@aws-sdk/util-buffer-from": "3.310.0", + "@aws-sdk/util-hex-encoding": "3.310.0", + "@aws-sdk/util-utf8": "3.310.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/util-uri-escape": { + "version": "3.310.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.310.0.tgz", + "integrity": "sha512-drzt+aB2qo2LgtDoiy/3sVG8w63cgLkqFIa2NFlGpUgHFWTXkqtbgf4L5QdjRGKWhmZsnqkbtL7vkSWEcYDJ4Q==", + "peer": true, + "dependencies": { + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, "node_modules/@aws-sdk/util-user-agent-browser": { "version": "3.609.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.609.0.tgz", @@ -1300,6 +1761,18 @@ "node": ">=16.0.0" } }, + "node_modules/@aws-sdk/util-user-agent-browser/node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@aws-sdk/util-user-agent-node": { "version": "3.614.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.614.0.tgz", @@ -1336,784 +1809,787 @@ "node": ">=16.0.0" } }, - "node_modules/@babel/code-frame": { - "version": "7.22.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", - "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", - "dev": true, + "node_modules/@aws-sdk/util-user-agent-node/node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "license": "Apache-2.0", "dependencies": { - "@babel/highlight": "^7.22.13", - "chalk": "^2.4.2" + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.9.0" + "node": ">=16.0.0" } }, - "node_modules/@babel/code-frame/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==", - "dev": true, + "node_modules/@aws-sdk/util-utf8": { + "version": "3.310.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8/-/util-utf8-3.310.0.tgz", + "integrity": "sha512-DnLfFT8uCO22uOJc0pt0DsSNau1GTisngBCDw8jQuWT5CqogMJu4b/uXmwEqfj8B3GX6Xsz8zOd6JpRlPftQoA==", + "peer": true, "dependencies": { - "color-convert": "^1.9.0" + "@aws-sdk/util-buffer-from": "3.310.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">=4" + "node": ">=14.0.0" } }, - "node_modules/@babel/code-frame/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==", + "node_modules/@babel/helper-string-parser": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.7.tgz", + "integrity": "sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==", "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/code-frame/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==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" + "node": ">=6.9.0" } }, - "node_modules/@babel/code-frame/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/@babel/code-frame/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": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "node_modules/@babel/helper-validator-identifier": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", "dev": true, "engines": { - "node": ">=0.8.0" + "node": ">=6.9.0" } }, - "node_modules/@babel/code-frame/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "node_modules/@babel/parser": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.7.tgz", + "integrity": "sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==", "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, "engines": { - "node": ">=4" + "node": ">=6.0.0" } }, - "node_modules/@babel/code-frame/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==", + "node_modules/@babel/types": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.7.tgz", + "integrity": "sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==", "dev": true, "dependencies": { - "has-flag": "^3.0.0" + "@babel/helper-string-parser": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7", + "to-fast-properties": "^2.0.0" }, "engines": { - "node": ">=4" + "node": ">=6.9.0" } }, - "node_modules/@babel/compat-data": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.5.tgz", - "integrity": "sha512-4Jc/YuIaYqKnDDz892kPIledykKg12Aw1PYX5i/TY28anJtacvM1Rrr8wbieB9GfEJwlzqT0hUEao0CxEebiDA==", + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", + "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", + "cpu": [ + "ppc64" + ], "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/core": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.5.tgz", - "integrity": "sha512-SBuTAjg91A3eKOvD+bPEz3LlhHZRNu1nFOVts9lzDJTXshHTjII0BAtDS3Y2DAkdZdDKWVZGVwkDfc4Clxn1dg==", + "node_modules/@esbuild/android-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", + "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", + "cpu": [ + "arm" + ], "dev": true, - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.22.5", - "@babel/generator": "^7.22.5", - "@babel/helper-compilation-targets": "^7.22.5", - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helpers": "^7.22.5", - "@babel/parser": "^7.22.5", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", - "@babel/types": "^7.22.5", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", - "semver": "^6.3.0" - }, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" + "node": ">=12" } }, - "node_modules/@babel/core/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "node_modules/@esbuild/android-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", + "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", + "cpu": [ + "arm64" + ], "dev": true, - "bin": { - "semver": "bin/semver.js" + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" } }, - "node_modules/@babel/generator": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", - "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", + "node_modules/@esbuild/android-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", + "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "@babel/types": "^7.23.0", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - }, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.5.tgz", - "integrity": "sha512-Ji+ywpHeuqxB8WDxraCiqR0xfhYjiDE/e6k7FuIaANnoOFxAHskHChz4vA1mJC9Lbm01s1PVAGhQY4FUKSkGZw==", + "node_modules/@esbuild/darwin-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", + "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "@babel/compat-data": "^7.22.5", - "@babel/helper-validator-option": "^7.22.5", - "browserslist": "^4.21.3", - "lru-cache": "^5.1.1", - "semver": "^6.3.0" - }, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" + "node": ">=12" } }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", + "node_modules/@esbuild/darwin-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", + "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", + "cpu": [ + "x64" + ], "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", + "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" - }, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "node_modules/@esbuild/freebsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", + "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-module-imports": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", - "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", + "node_modules/@esbuild/linux-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", + "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", + "cpu": [ + "arm" + ], "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.5.tgz", - "integrity": "sha512-+hGKDt/Ze8GFExiVHno/2dvG5IdstpzCq0y4Qc9OJ25D4q3pKfiIP/4Vp3/JvhDkLKsDK2api3q3fpIgiIF5bw==", + "node_modules/@esbuild/linux-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", + "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-module-imports": "^7.22.5", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", - "@babel/types": "^7.22.5" - }, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-simple-access": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "node_modules/@esbuild/linux-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", + "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", + "cpu": [ + "ia32" + ], "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "node_modules/@esbuild/linux-loong64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", + "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", + "cpu": [ + "loong64" + ], "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", + "node_modules/@esbuild/linux-mips64el": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", + "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", + "cpu": [ + "mips64el" + ], "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "node_modules/@esbuild/linux-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", + "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", + "cpu": [ + "ppc64" + ], "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helper-validator-option": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", - "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==", + "node_modules/@esbuild/linux-riscv64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", + "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", + "cpu": [ + "riscv64" + ], "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/helpers": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.5.tgz", - "integrity": "sha512-pSXRmfE1vzcUIDFQcSGA5Mr+GxBV9oiRKDuDxXvWQQBCh8HoIjs/2DlDB7H8smac1IVrB9/xdXj2N3Wol9Cr+Q==", + "node_modules/@esbuild/linux-s390x": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", + "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", + "cpu": [ + "s390x" + ], "dev": true, - "dependencies": { - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", - "@babel/types": "^7.22.5" - }, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/highlight": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", - "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", + "node_modules/@esbuild/linux-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", + "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" - }, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/highlight/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==", + "node_modules/@esbuild/netbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", + "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], "engines": { - "node": ">=4" + "node": ">=12" } }, - "node_modules/@babel/highlight/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==", + "node_modules/@esbuild/openbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", + "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/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==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" + "node": ">=12" } }, - "node_modules/@babel/highlight/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/@babel/highlight/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": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "node_modules/@esbuild/sunos-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", + "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", + "cpu": [ + "x64" + ], "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], "engines": { - "node": ">=0.8.0" + "node": ">=12" } }, - "node_modules/@babel/highlight/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "node_modules/@esbuild/win32-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", + "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", + "cpu": [ + "arm64" + ], "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=4" + "node": ">=12" } }, - "node_modules/@babel/highlight/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==", + "node_modules/@esbuild/win32-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", + "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", + "cpu": [ + "ia32" + ], "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=4" + "node": ">=12" } }, - "node_modules/@babel/parser": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", - "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", + "node_modules/@esbuild/win32-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", + "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", + "cpu": [ + "x64" + ], "dev": true, - "bin": { - "parser": "bin/babel-parser.js" - }, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=6.0.0" + "node": ">=12" } }, - "node_modules/@babel/template": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", - "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", "dev": true, + "license": "ISC", "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/parser": "^7.22.15", - "@babel/types": "^7.22.15" + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/traverse": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", - "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", "dev": true, - "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.23.0", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.0", - "@babel/types": "^7.23.0", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, + "license": "MIT", "engines": { - "node": ">=6.9.0" + "node": ">=8" } }, - "node_modules/@babel/types": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", - "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.20", - "to-fast-properties": "^2.0.0" + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { - "node": ">=6.9.0" + "node": ">=6.0.0" } }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", "dev": true, - "dependencies": { - "eslint-visitor-keys": "^3.3.0" - }, + "license": "MIT", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + "node": ">=6.0.0" } }, - "node_modules/@eslint-community/regexpp": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.9.1.tgz", - "integrity": "sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==", + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", "dev": true, + "license": "MIT", "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + "node": ">=6.0.0" } }, - "node_modules/@eslint/eslintrc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", - "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", "dev": true, - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } + "license": "MIT" }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.23.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", - "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", "dev": true, + "license": "MIT", "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@eslint/eslintrc/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, + "license": "MIT", + "optional": true, "engines": { - "node": "*" + "node": ">=14" } }, - "node_modules/@eslint/eslintrc/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==", + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.22.4.tgz", + "integrity": "sha512-Fxamp4aEZnfPOcGA8KSNEohV8hX7zVHOemC8jVBoBUHu5zpJK/Eu3uJwt6BMgy9fkvzxDaurgj96F/NiLukF2w==", + "cpu": [ + "arm" + ], "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "license": "MIT", + "optional": true, + "os": [ + "android" + ] }, - "node_modules/@eslint/js": { - "version": "8.51.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.51.0.tgz", - "integrity": "sha512-HxjQ8Qn+4SI3/AFv6sOrDB+g6PpUTDwSJiQqOrnneEk8L71161srI9gjzzZvYVbzHiVg/BvcH95+cK/zfIt4pg==", + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.22.4.tgz", + "integrity": "sha512-VXoK5UMrgECLYaMuGuVTOx5kcuap1Jm8g/M83RnCHBKOqvPPmROFJGQaZhGccnsFtfXQ3XYa4/jMCJvZnbJBdA==", + "cpu": [ + "arm64" + ], "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } + "license": "MIT", + "optional": true, + "os": [ + "android" + ] }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.11.13", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", - "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==", + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.22.4.tgz", + "integrity": "sha512-xMM9ORBqu81jyMKCDP+SZDhnX2QEVQzTcC6G18KlTQEzWK8r/oNZtKuZaCcHhnsa6fEeOBionoyl5JsAbE/36Q==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "@humanwhocodes/object-schema": "^2.0.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" - }, - "engines": { - "node": ">=10.10.0" - } + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] }, - "node_modules/@humanwhocodes/config-array/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.22.4.tgz", + "integrity": "sha512-aJJyYKQwbHuhTUrjWjxEvGnNNBCnmpHDvrb8JFDbeSH3m2XdHcxDd3jthAzvmoI8w/kSjd2y0udT+4okADsZIw==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.22.4.tgz", + "integrity": "sha512-j63YtCIRAzbO+gC2L9dWXRh5BFetsv0j0va0Wi9epXDgU/XUi5dJKo4USTttVyK7fGw2nPWK0PbAvyliz50SCQ==", + "cpu": [ + "arm" + ], "dev": true, - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz", - "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==", - "dev": true - }, - "node_modules/@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "dev": true, - "dependencies": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/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==", - "dev": true, - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.22.4.tgz", + "integrity": "sha512-dJnWUgwWBX1YBRsuKKMOlXCzh2Wu1mlHzv20TpqEsfdZLb3WoJW2kIEsGwLkroYf24IrPAvOT/ZQ2OYMV6vlrg==", + "cpu": [ + "arm" + ], "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.22.4.tgz", + "integrity": "sha512-AdPRoNi3NKVLolCN/Sp4F4N1d98c4SBnHMKoLuiG6RXgoZ4sllseuGioszumnPGmPM2O7qaAX/IJdeDU8f26Aw==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.22.4.tgz", + "integrity": "sha512-Gl0AxBtDg8uoAn5CCqQDMqAx22Wx22pjDOjBdmG0VIWX3qUBHzYmOKh8KXHL4UpogfJ14G4wk16EQogF+v8hmA==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.22.4.tgz", + "integrity": "sha512-3aVCK9xfWW1oGQpTsYJJPF6bfpWfhbRnhdlyhak2ZiyFLDaayz0EP5j9V1RVLAAxlmWKTDfS9wyRyY3hvhPoOg==", + "cpu": [ + "ppc64" + ], "dev": true, - "engines": { - "node": ">=8" - } + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.22.4.tgz", + "integrity": "sha512-ePYIir6VYnhgv2C5Xe9u+ico4t8sZWXschR6fMgoPUK31yQu7hTEJb7bCqivHECwIClJfKgE7zYsh1qTP3WHUA==", + "cpu": [ + "riscv64" + ], "dev": true, - "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.22.4.tgz", + "integrity": "sha512-GqFJ9wLlbB9daxhVlrTe61vJtEY99/xB3C8e4ULVsVfflcpmR6c8UZXjtkMA6FhNONhj2eA5Tk9uAVw5orEs4Q==", + "cpu": [ + "s390x" + ], "dev": true, - "engines": { - "node": ">=6.0.0" - } + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.22.4.tgz", + "integrity": "sha512-87v0ol2sH9GE3cLQLNEy0K/R0pz1nvg76o8M5nhMR0+Q+BBGLnb35P0fVz4CQxHYXaAOhE8HhlkaZfsdUOlHwg==", + "cpu": [ + "x64" + ], "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "dev": true + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.18", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", - "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.22.4.tgz", + "integrity": "sha512-UV6FZMUgePDZrFjrNGIWzDo/vABebuXBhJEqrHxrGiU6HikPy0Z3LfdtciIttEUQfuDdCn8fqh7wiFJjCNwO+g==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" - } - }, - "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "dev": true + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "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==", + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.22.4.tgz", + "integrity": "sha512-BjI+NVVEGAXjGWYHz/vv0pBqfGoUH0IGZ0cICTn7kB9PyjrATSkX+8WkguNjWoj2qSr1im/+tTGRaY+4/PdcQw==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] }, - "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==", + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.22.4.tgz", + "integrity": "sha512-SiWG/1TuUdPvYmzmYnmd3IEifzR61Tragkbx9D3+R8mzQqDBz8v+BvZNDlkiTtI9T15KYZhP0ehn3Dld4n9J5g==", + "cpu": [ + "ia32" + ], "dev": true, - "engines": { - "node": ">= 8" - } + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] }, - "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==", + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.22.4.tgz", + "integrity": "sha512-j8pPKp53/lq9lMXN57S8cFz0MynJk8OWNuUnXct/9KCpKU7DgU3bYMJhwWmcqC0UU29p8Lr0/7KEVcaM6bf47Q==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] }, "node_modules/@sinonjs/commons": { "version": "1.8.6", @@ -2172,6 +2648,18 @@ "node": ">=16.0.0" } }, + "node_modules/@smithy/abort-controller/node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@smithy/config-resolver": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-3.0.5.tgz", @@ -2188,6 +2676,18 @@ "node": ">=16.0.0" } }, + "node_modules/@smithy/config-resolver/node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@smithy/core": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/@smithy/core/-/core-2.3.1.tgz", @@ -2207,6 +2707,18 @@ "node": ">=16.0.0" } }, + "node_modules/@smithy/core/node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@smithy/credential-provider-imds": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-3.2.0.tgz", @@ -2223,6 +2735,18 @@ "node": ">=16.0.0" } }, + "node_modules/@smithy/credential-provider-imds/node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@smithy/fetch-http-handler": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-3.2.4.tgz", @@ -2236,6 +2760,18 @@ "tslib": "^2.6.2" } }, + "node_modules/@smithy/fetch-http-handler/node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@smithy/hash-node": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-3.0.3.tgz", @@ -2251,6 +2787,18 @@ "node": ">=16.0.0" } }, + "node_modules/@smithy/hash-node/node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@smithy/invalid-dependency": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-3.0.3.tgz", @@ -2261,6 +2809,18 @@ "tslib": "^2.6.2" } }, + "node_modules/@smithy/invalid-dependency/node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@smithy/is-array-buffer": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", @@ -2287,6 +2847,18 @@ "node": ">=16.0.0" } }, + "node_modules/@smithy/middleware-content-length/node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@smithy/middleware-endpoint": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-3.1.0.tgz", @@ -2305,6 +2877,18 @@ "node": ">=16.0.0" } }, + "node_modules/@smithy/middleware-endpoint/node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@smithy/middleware-retry": { "version": "3.0.13", "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-3.0.13.tgz", @@ -2325,17 +2909,16 @@ "node": ">=16.0.0" } }, - "node_modules/@smithy/middleware-retry/node_modules/uuid": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", - "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", - "funding": [ - "https://github.com/sponsors/broofa", - "https://github.com/sponsors/ctavan" - ], - "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" + "node_modules/@smithy/middleware-retry/node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" } }, "node_modules/@smithy/middleware-serde": { @@ -2351,6 +2934,18 @@ "node": ">=16.0.0" } }, + "node_modules/@smithy/middleware-serde/node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@smithy/middleware-stack": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-3.0.3.tgz", @@ -2364,6 +2959,18 @@ "node": ">=16.0.0" } }, + "node_modules/@smithy/middleware-stack/node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@smithy/node-config-provider": { "version": "3.1.4", "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-3.1.4.tgz", @@ -2379,6 +2986,18 @@ "node": ">=16.0.0" } }, + "node_modules/@smithy/node-config-provider/node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@smithy/node-http-handler": { "version": "3.1.4", "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-3.1.4.tgz", @@ -2395,6 +3014,18 @@ "node": ">=16.0.0" } }, + "node_modules/@smithy/node-http-handler/node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@smithy/property-provider": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-3.1.3.tgz", @@ -2408,6 +3039,18 @@ "node": ">=16.0.0" } }, + "node_modules/@smithy/property-provider/node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@smithy/protocol-http": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-4.1.0.tgz", @@ -2421,6 +3064,18 @@ "node": ">=16.0.0" } }, + "node_modules/@smithy/protocol-http/node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@smithy/querystring-builder": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-3.0.3.tgz", @@ -2435,6 +3090,18 @@ "node": ">=16.0.0" } }, + "node_modules/@smithy/querystring-builder/node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@smithy/querystring-parser": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-3.0.3.tgz", @@ -2448,6 +3115,18 @@ "node": ">=16.0.0" } }, + "node_modules/@smithy/querystring-parser/node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@smithy/service-error-classification": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.3.tgz", @@ -2460,6 +3139,18 @@ "node": ">=16.0.0" } }, + "node_modules/@smithy/service-error-classification/node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@smithy/shared-ini-file-loader": { "version": "3.1.4", "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.4.tgz", @@ -2473,6 +3164,18 @@ "node": ">=16.0.0" } }, + "node_modules/@smithy/shared-ini-file-loader/node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@smithy/signature-v4": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-4.1.0.tgz", @@ -2492,6 +3195,18 @@ "node": ">=16.0.0" } }, + "node_modules/@smithy/signature-v4/node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@smithy/smithy-client": { "version": "3.1.11", "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-3.1.11.tgz", @@ -2509,7 +3224,7 @@ "node": ">=16.0.0" } }, - "node_modules/@smithy/types": { + "node_modules/@smithy/smithy-client/node_modules/@smithy/types": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", @@ -2521,6 +3236,18 @@ "node": ">=16.0.0" } }, + "node_modules/@smithy/types": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-1.0.0.tgz", + "integrity": "sha512-kc1m5wPBHQCTixwuaOh9vnak/iJm21DrSf9UK6yDE5S3mQQ4u11pqAUiKWnlrZnYkeLfAI9UEHj9OaMT1v5Umg==", + "peer": true, + "dependencies": { + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, "node_modules/@smithy/url-parser": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-3.0.3.tgz", @@ -2532,6 +3259,18 @@ "tslib": "^2.6.2" } }, + "node_modules/@smithy/url-parser/node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@smithy/util-base64": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-3.0.0.tgz", @@ -2608,6 +3347,18 @@ "node": ">= 10.0.0" } }, + "node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@smithy/util-defaults-mode-node": { "version": "3.0.13", "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-3.0.13.tgz", @@ -2626,6 +3377,18 @@ "node": ">= 10.0.0" } }, + "node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@smithy/util-endpoints": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-2.0.5.tgz", @@ -2640,6 +3403,18 @@ "node": ">=16.0.0" } }, + "node_modules/@smithy/util-endpoints/node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@smithy/util-hex-encoding": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-3.0.0.tgz", @@ -2665,6 +3440,18 @@ "node": ">=16.0.0" } }, + "node_modules/@smithy/util-middleware/node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@smithy/util-retry": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-3.0.3.tgz", @@ -2679,6 +3466,18 @@ "node": ">=16.0.0" } }, + "node_modules/@smithy/util-retry/node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@smithy/util-stream": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-3.1.3.tgz", @@ -2698,6 +3497,18 @@ "node": ">=16.0.0" } }, + "node_modules/@smithy/util-stream/node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@smithy/util-uri-escape": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-3.0.0.tgz", @@ -2737,6 +3548,18 @@ "node": ">=16.0.0" } }, + "node_modules/@smithy/util-waiter/node_modules/@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@tuplo/dynoexpr": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/@tuplo/dynoexpr/-/dynoexpr-3.4.0.tgz", @@ -2753,6 +3576,13 @@ "@types/node": "*" } }, + "node_modules/@types/estree": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/node": { "version": "18.15.11", "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz", @@ -2767,133 +3597,187 @@ "@sinonjs/fake-timers": "^7.1.0" } }, - "node_modules/acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "node_modules/@vitest/coverage-v8": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-2.1.1.tgz", + "integrity": "sha512-md/A7A3c42oTT8JUHSqjP5uKTWJejzUW4jalpvs+rZ27gsURsMU8DEb+8Jf8C6Kj2gwfSHJqobDNBuoqlm0cFw==", "dev": true, - "bin": { - "acorn": "bin/acorn" + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.3.0", + "@bcoe/v8-coverage": "^0.2.3", + "debug": "^4.3.6", + "istanbul-lib-coverage": "^3.2.2", + "istanbul-lib-report": "^3.0.1", + "istanbul-lib-source-maps": "^5.0.6", + "istanbul-reports": "^3.1.7", + "magic-string": "^0.30.11", + "magicast": "^0.3.4", + "std-env": "^3.7.0", + "test-exclude": "^7.0.1", + "tinyrainbow": "^1.2.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + "@vitest/browser": "2.1.1", + "vitest": "2.1.1" + }, + "peerDependenciesMeta": { + "@vitest/browser": { + "optional": true + } } }, - "node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "node_modules/@vitest/expect": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-2.1.1.tgz", + "integrity": "sha512-YeueunS0HiHiQxk+KEOnq/QMzlUuOzbU1Go+PgAsHvvv3tUkJPm9xWt+6ITNTlzsMXUjmgm5T+U7KBPK2qQV6w==", "dev": true, + "license": "MIT", "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" + "@vitest/spy": "2.1.1", + "@vitest/utils": "2.1.1", + "chai": "^5.1.1", + "tinyrainbow": "^1.2.0" }, - "engines": { - "node": ">=8" + "funding": { + "url": "https://opencollective.com/vitest" } }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "node_modules/@vitest/mocker": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-2.1.1.tgz", + "integrity": "sha512-LNN5VwOEdJqCmJ/2XJBywB11DLlkbY0ooDJW3uRX5cZyYCrc4PI/ePX0iQhE3BiEGiQmK4GE7Q/PqCkkaiPnrA==", "dev": true, + "license": "MIT", "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" + "@vitest/spy": "^2.1.0-beta.1", + "estree-walker": "^3.0.3", + "magic-string": "^0.30.11" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@vitest/spy": "2.1.1", + "msw": "^2.3.5", + "vite": "^5.0.0" + }, + "peerDependenciesMeta": { + "msw": { + "optional": true + }, + "vite": { + "optional": true + } } }, - "node_modules/ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "node_modules/@vitest/pretty-format": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-2.1.1.tgz", + "integrity": "sha512-SjxPFOtuINDUW8/UkElJYQSFtnWX7tMksSGW0vfjxMneFqxVr8YJ979QpMbDW7g+BIiq88RAGDjf7en6rvLPPQ==", "dev": true, - "engines": { - "node": ">=6" + "license": "MIT", + "dependencies": { + "tinyrainbow": "^1.2.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" } }, - "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==", + "node_modules/@vitest/runner": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-2.1.1.tgz", + "integrity": "sha512-uTPuY6PWOYitIkLPidaY5L3t0JJITdGTSwBtwMjKzo5O6RCOEncz9PUN+0pDidX8kTHYjO0EwUIvhlGpnGpxmA==", "dev": true, - "engines": { - "node": ">=8" + "license": "MIT", + "dependencies": { + "@vitest/utils": "2.1.1", + "pathe": "^1.1.2" + }, + "funding": { + "url": "https://opencollective.com/vitest" } }, - "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==", + "node_modules/@vitest/snapshot": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-2.1.1.tgz", + "integrity": "sha512-BnSku1WFy7r4mm96ha2FzN99AZJgpZOWrAhtQfoxjUU5YMRpq1zmHRq7a5K9/NjqonebO7iVDla+VvZS8BOWMw==", "dev": true, + "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" + "@vitest/pretty-format": "2.1.1", + "magic-string": "^0.30.11", + "pathe": "^1.1.2" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://opencollective.com/vitest" } }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "node_modules/@vitest/spy": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-2.1.1.tgz", + "integrity": "sha512-ZM39BnZ9t/xZ/nF4UwRH5il0Sw93QnZXd9NAZGRpIgj0yvVwPpLd702s/Cx955rGaMlyBQkZJ2Ir7qyY48VZ+g==", "dev": true, + "license": "MIT", "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" + "tinyspy": "^3.0.0" }, - "engines": { - "node": ">= 8" + "funding": { + "url": "https://opencollective.com/vitest" } }, - "node_modules/append-transform": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz", - "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==", + "node_modules/@vitest/utils": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-2.1.1.tgz", + "integrity": "sha512-Y6Q9TsI+qJ2CC0ZKj6VBb+T8UPz593N113nnUykqwANqhgf3QkZeHFlusgKLTqrnVHbj/XDKZcDHol+dxVT+rQ==", "dev": true, + "license": "MIT", "dependencies": { - "default-require-extensions": "^3.0.0" + "@vitest/pretty-format": "2.1.1", + "loupe": "^3.1.1", + "tinyrainbow": "^1.2.0" }, - "engines": { - "node": ">=8" + "funding": { + "url": "https://opencollective.com/vitest" } }, - "node_modules/archy": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==", - "dev": true + "node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } }, - "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/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } }, "node_modules/assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", + "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", "dev": true, + "license": "MIT", "engines": { - "node": "*" + "node": ">=12" } }, "node_modules/async-hook-jl": { @@ -2999,16 +3883,8 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "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==", "dev": true, - "engines": { - "node": ">=8" - } + "license": "MIT" }, "node_modules/bowser": { "version": "2.11.0", @@ -3017,205 +3893,50 @@ "license": "MIT" }, "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==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "dev": true, - "dependencies": { - "fill-range": "^7.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browser-stdout": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", - "dev": true - }, - "node_modules/browserslist": { - "version": "4.21.5", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", - "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - ], + "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001449", - "electron-to-chromium": "^1.4.284", - "node-releases": "^2.0.8", - "update-browserslist-db": "^1.0.10" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + "balanced-match": "^1.0.0" } }, - "node_modules/caching-transform": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz", - "integrity": "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==", + "node_modules/cac": { + "version": "6.7.14", + "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", + "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", "dev": true, - "dependencies": { - "hasha": "^5.0.0", - "make-dir": "^3.0.0", - "package-hash": "^4.0.0", - "write-file-atomic": "^3.0.0" - }, + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001480", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001480.tgz", - "integrity": "sha512-q7cpoPPvZYgtyC4VaBSN0Bt+PJ4c4EYRf0DrduInOz2SkFpHD5p3LnvEpqBp7UnJn+8x1Ogl1s38saUxe+ihQQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ] - }, "node_modules/chai": { - "version": "4.3.10", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.10.tgz", - "integrity": "sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g==", - "dev": true, - "dependencies": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.3", - "deep-eql": "^4.1.3", - "get-func-name": "^2.0.2", - "loupe": "^2.3.6", - "pathval": "^1.1.1", - "type-detect": "^4.0.8" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/chai/-/chai-5.1.1.tgz", + "integrity": "sha512-pT1ZgP8rPNqUgieVaEY+ryQr6Q4HXNg8Ei9UnLUrjN4IA7dvQC5JB+/kxVcPNDHyBcc/26CXPkbNzq3qwrOEKA==", "dev": true, + "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "assertion-error": "^2.0.1", + "check-error": "^2.1.1", + "deep-eql": "^5.0.1", + "loupe": "^3.1.0", + "pathval": "^2.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">=12" } }, "node_modules/check-error": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", - "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", - "dev": true, - "dependencies": { - "get-func-name": "^2.0.2" - }, - "engines": { - "node": "*" - } - }, - "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], - "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/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz", + "integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==", "dev": true, + "license": "MIT", "engines": { - "node": ">=6" - } - }, - "node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" + "node": ">= 16" } }, "node_modules/cls-hooked": { @@ -3244,6 +3965,7 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -3255,31 +3977,15 @@ "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/commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", - "dev": true - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "node_modules/convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, + "license": "MIT", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -3290,12 +3996,13 @@ } }, "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", "dev": true, + "license": "MIT", "dependencies": { - "ms": "2.1.2" + "ms": "^2.1.3" }, "engines": { "node": ">=6.0" @@ -3306,54 +4013,16 @@ } } }, - "node_modules/debug/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==", - "dev": true - }, - "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/deep-eql": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", - "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz", + "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==", "dev": true, - "dependencies": { - "type-detect": "^4.0.0" - }, + "license": "MIT", "engines": { "node": ">=6" } }, - "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/default-require-extensions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.1.tgz", - "integrity": "sha512-eXTJmRbm2TIt9MgWTsOH1wEuhew6XGZcMeGKCtLedIg/NCsg1iBePXkceTdK4Fii7pzmN9tGsZhKzZ4h7O/fxw==", - "dev": true, - "dependencies": { - "strip-bom": "^4.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/diff": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", @@ -3363,18 +4032,6 @@ "node": ">=0.3.1" } }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/dynamo-db-local": { "version": "9.2.1", "resolved": "https://registry.npmjs.org/dynamo-db-local/-/dynamo-db-local-9.2.1.tgz", @@ -3388,11 +4045,12 @@ "node": ">=18.2.0" } }, - "node_modules/electron-to-chromium": { - "version": "1.4.368", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.368.tgz", - "integrity": "sha512-e2aeCAixCj9M7nJxdB/wDjO6mbYX+lJJxSJCXDzlr5YPGYVofuJwGN9nKg2o6wWInjX6XmxRinn3AeJMK81ltw==", - "dev": true + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true, + "license": "MIT" }, "node_modules/emitter-listener": { "version": "1.1.2", @@ -3403,3361 +4061,1405 @@ } }, "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==", - "dev": true - }, - "node_modules/es6-error": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", - "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", - "dev": true - }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", "dev": true, - "engines": { - "node": ">=6" - } + "license": "MIT" }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "node_modules/esbuild": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", "dev": true, - "engines": { - "node": ">=10" + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" + } + }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" } }, - "node_modules/eslint": { - "version": "8.51.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.51.0.tgz", - "integrity": "sha512-2WuxRZBrlwnXi+/vFSJyjMqrNjtJqiasMzehF0shoLaW7DzS3/9Yvrmq5JiT66+pNjiX4UBnLDiKHcWAr/OInA==", - "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "8.51.0", - "@humanwhocodes/config-array": "^0.11.11", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" + "node_modules/fast-xml-parser": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.4.1.tgz", + "integrity": "sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + }, + { + "type": "paypal", + "url": "https://paypal.me/naturalintelligence" + } + ], + "license": "MIT", + "dependencies": { + "strnum": "^1.0.5" }, "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "fxparser": "src/cli/cli.js" } }, - "node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "node_modules/foreground-child": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", "dev": true, + "license": "ISC", "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=14" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/eslint/node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "node_modules/get-func-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", + "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", "dev": true, - "dependencies": { - "is-glob": "^4.0.3" - }, + "license": "MIT", "engines": { - "node": ">=10.13.0" + "node": "*" } }, - "node_modules/eslint/node_modules/globals": { - "version": "13.23.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", - "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", + "node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", "dev": true, + "license": "ISC", "dependencies": { - "type-fest": "^0.20.2" + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" }, - "engines": { - "node": ">=8" + "bin": { + "glob": "dist/esm/bin.mjs" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/eslint/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "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, - "dependencies": { - "brace-expansion": "^1.1.7" - }, "engines": { - "node": "*" + "node": ">=8" } }, - "node_modules/eslint/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==", + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "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==", "dev": true, + "license": "MIT", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "dev": true + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", "dev": true, - "dependencies": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": ">=8" } }, - "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==", + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", "dev": true, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=4" + "node": ">=10" } }, - "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "node_modules/istanbul-lib-report/node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", "dev": true, "dependencies": { - "estraverse": "^5.1.0" + "semver": "^7.5.3" }, "engines": { - "node": ">=0.10" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "node_modules/istanbul-lib-source-maps": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-5.0.6.tgz", + "integrity": "sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "estraverse": "^5.2.0" + "@jridgewell/trace-mapping": "^0.3.23", + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0" }, "engines": { - "node": ">=4.0" + "node": ">=10" } }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "node_modules/istanbul-reports": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", + "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", "dev": true, + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, "engines": { - "node": ">=4.0" + "node": ">=8" } }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", "dev": true, - "engines": { - "node": ">=0.10.0" + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.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/just-extend": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.2.1.tgz", + "integrity": "sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg==", "dev": true }, - "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/lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", "dev": true }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "license": "MIT" }, - "node_modules/fast-xml-parser": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.4.1.tgz", - "integrity": "sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/NaturalIntelligence" - }, - { - "type": "paypal", - "url": "https://paypal.me/naturalintelligence" - } - ], + "node_modules/loupe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.1.tgz", + "integrity": "sha512-edNu/8D5MKVfGVFRhFf8aAxiTM6Wumfz5XsaatSxlD3w4R1d/WEKUTydCdPGbl9K7QG/Ca3GnDV2sIKIpXRQcw==", + "dev": true, "license": "MIT", "dependencies": { - "strnum": "^1.0.5" - }, - "bin": { - "fxparser": "src/cli/cli.js" + "get-func-name": "^2.0.1" } }, - "node_modules/fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", "dev": true, - "dependencies": { - "reusify": "^1.0.4" - } + "license": "ISC" }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "node_modules/magic-string": { + "version": "0.30.11", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz", + "integrity": "sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==", "dev": true, + "license": "MIT", "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" + "@jridgewell/sourcemap-codec": "^1.5.0" } }, - "node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "node_modules/magicast": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.3.4.tgz", + "integrity": "sha512-TyDF/Pn36bBji9rWKHlZe+PZb6Mx5V8IHCSxk7X4aljM4e/vyDvZZYwHewdVaqiA0nb3ghfHU/6AUpDxWoER2Q==", "dev": true, "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" + "@babel/parser": "^7.24.4", + "@babel/types": "^7.24.0", + "source-map-js": "^1.2.0" } }, - "node_modules/find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, + "license": "ISC", "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" + "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=8" + "node": ">=16 || 14 >=14.17" }, "funding": { - "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", "dev": true, - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, + "license": "ISC", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=16 || 14 >=14.17" } }, - "node_modules/flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", - "dev": true, - "bin": { - "flat": "cli.js" - } - }, - "node_modules/flat-cache": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.1.tgz", - "integrity": "sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==", - "dev": true, + "node_modules/mnemonist": { + "version": "0.38.3", + "resolved": "https://registry.npmjs.org/mnemonist/-/mnemonist-0.38.3.tgz", + "integrity": "sha512-2K9QYubXx/NAjv4VLq1d1Ly8pWNC5L3BrixtdkyTegXWJIqY+zLNDhhX/A+ZwWt70tB1S8H4BE8FLYEFyNoOBw==", + "license": "MIT", "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" - }, - "engines": { - "node": ">=12.0.0" + "obliterator": "^1.6.1" } }, - "node_modules/flatted": { - "version": "3.2.9", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", - "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", - "dev": true - }, - "node_modules/foreground-child": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz", - "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==", + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true, - "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8.0.0" - } + "license": "MIT" }, - "node_modules/fromentries": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz", - "integrity": "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==", + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", "dev": true, "funding": [ { "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" + "url": "https://github.com/sponsors/ai" } - ] - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "node_modules/nise": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.5.tgz", + "integrity": "sha512-VJuPIfUFaXNRzETTQEEItTOP8Y171ijr+JLq42wHes3DiryR8vT+1TXQW/Rx8JNUhyYYWyIvjXTU6dOhJcs9Nw==", "dev": true, - "engines": { - "node": ">=6.9.0" + "dependencies": { + "@sinonjs/commons": "^2.0.0", + "@sinonjs/fake-timers": "^10.0.2", + "@sinonjs/text-encoding": "^0.7.1", + "just-extend": "^4.0.2", + "path-to-regexp": "^1.7.0" } }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "node_modules/nise/node_modules/@sinonjs/commons": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", + "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", "dev": true, - "engines": { - "node": "6.* || 8.* || >= 10.*" + "dependencies": { + "type-detect": "4.0.8" } }, - "node_modules/get-func-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", - "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", + "node_modules/nise/node_modules/@sinonjs/fake-timers": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", "dev": true, - "engines": { - "node": "*" + "dependencies": { + "@sinonjs/commons": "^3.0.0" + } + }, + "node_modules/nise/node_modules/@sinonjs/fake-timers/node_modules/@sinonjs/commons": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", + "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", + "dev": true, + "dependencies": { + "type-detect": "4.0.8" } }, - "node_modules/get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "node_modules/obliterator": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/obliterator/-/obliterator-1.6.1.tgz", + "integrity": "sha512-9WXswnqINnnhOG/5SLimUlzuU1hFJUc8zkwyD59Sd+dPOMf05PmnYG/d6Q7HZ+KmgkZJa1PxRso6QdM3sTNHig==", + "license": "MIT" + }, + "node_modules/package-json-from-dist": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", + "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==", + "dev": true, + "license": "BlueOak-1.0.0" + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, + "license": "MIT", "engines": { - "node": ">=8.0.0" + "node": ">=8" } }, - "node_modules/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", "dev": true, + "license": "BlueOak-1.0.0", "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" + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" }, "engines": { - "node": "*" + "node": ">=16 || 14 >=14.18" }, "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==", + "node_modules/path-to-regexp": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.9.0.tgz", + "integrity": "sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==", "dev": true, + "license": "MIT", "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" + "isarray": "0.0.1" } }, - "node_modules/glob/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "node_modules/pathe": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", + "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } + "license": "MIT" }, - "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "node_modules/pathval": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.0.tgz", + "integrity": "sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==", "dev": true, + "license": "MIT", "engines": { - "node": ">=4" + "node": ">= 14.16" } }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true - }, - "node_modules/graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true - }, - "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==", + "node_modules/picocolors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", + "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==", "dev": true, - "engines": { - "node": ">=8" - } + "license": "ISC" }, - "node_modules/hasha": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz", - "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==", + "node_modules/postcss": { + "version": "8.4.47", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", + "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", "dependencies": { - "is-stream": "^2.0.0", - "type-fest": "^0.8.0" + "nanoid": "^3.3.7", + "picocolors": "^1.1.0", + "source-map-js": "^1.2.1" }, "engines": { - "node": ">=8" - }, + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/ramda": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.28.0.tgz", + "integrity": "sha512-9QnLuG/kPVgWvMQ4aODhsBUFKOUmnbUnsSXACv+NCQZcHbeb+v8Lodp8OVxtRULN1/xOyYLLaL6npE6dMq5QTA==", "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/ramda" } }, - "node_modules/he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "node_modules/rollup": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.22.4.tgz", + "integrity": "sha512-vD8HJ5raRcWOyymsR6Z3o6+RzfEPCnVLMFJ6vRslO1jt4LO6dUo5Qnpg7y4RkZFM2DMe3WUirkI5c16onjrc6A==", "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.5" + }, "bin": { - "he": "bin/he" + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.22.4", + "@rollup/rollup-android-arm64": "4.22.4", + "@rollup/rollup-darwin-arm64": "4.22.4", + "@rollup/rollup-darwin-x64": "4.22.4", + "@rollup/rollup-linux-arm-gnueabihf": "4.22.4", + "@rollup/rollup-linux-arm-musleabihf": "4.22.4", + "@rollup/rollup-linux-arm64-gnu": "4.22.4", + "@rollup/rollup-linux-arm64-musl": "4.22.4", + "@rollup/rollup-linux-powerpc64le-gnu": "4.22.4", + "@rollup/rollup-linux-riscv64-gnu": "4.22.4", + "@rollup/rollup-linux-s390x-gnu": "4.22.4", + "@rollup/rollup-linux-x64-gnu": "4.22.4", + "@rollup/rollup-linux-x64-musl": "4.22.4", + "@rollup/rollup-win32-arm64-msvc": "4.22.4", + "@rollup/rollup-win32-ia32-msvc": "4.22.4", + "@rollup/rollup-win32-x64-msvc": "4.22.4", + "fsevents": "~2.3.2" } }, - "node_modules/html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true - }, - "node_modules/ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "node_modules/rollup/node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", "dev": true, + "license": "MIT" + }, + "node_modules/semver": { + "version": "7.5.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz", + "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, "engines": { - "node": ">= 4" + "node": ">=10" } }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, + "node_modules/semver/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": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" + "yallist": "^4.0.0" }, "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=10" } }, - "node_modules/import-fresh/node_modules/resolve-from": { + "node_modules/semver/node_modules/yallist": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "engines": { - "node": ">=4" - } + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, "engines": { - "node": ">=0.8.19" + "node": ">=8" } }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dev": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } + "node_modules/shimmer": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/shimmer/-/shimmer-1.2.1.tgz", + "integrity": "sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==" }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "node_modules/siginfo": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", + "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", + "dev": true, + "license": "ISC" }, - "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==", + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true, - "dependencies": { - "binary-extensions": "^2.0.0" - }, + "license": "ISC", "engines": { - "node": ">=8" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "node_modules/sinon": { + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-17.0.0.tgz", + "integrity": "sha512-p4lJiYKBoOEVUxxVIC9H1MM2znG1/c8gud++I2BauJA5hsz7hHsst35eurNWXTusBsIq66FzOQbZ/uMdpvbPIQ==", "dev": true, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "@sinonjs/commons": "^3.0.0", + "@sinonjs/fake-timers": "^11.2.2", + "@sinonjs/samsam": "^8.0.0", + "diff": "^5.1.0", + "nise": "^5.1.5", + "supports-color": "^7.2.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/sinon" } }, - "node_modules/is-fullwidth-code-point": { + "node_modules/sinon/node_modules/@sinonjs/commons": { "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==", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", + "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", "dev": true, - "engines": { - "node": ">=8" + "dependencies": { + "type-detect": "4.0.8" } }, - "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==", + "node_modules/sinon/node_modules/@sinonjs/fake-timers": { + "version": "11.2.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-11.2.2.tgz", + "integrity": "sha512-G2piCSxQ7oWOxwGSAyFHfPIsyeJGXYtc6mFbnFA+kRXkiEnTl8c/8jul2S329iFBnDI9HGoeWWAZvuvOkZccgw==", "dev": true, "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" + "@sinonjs/commons": "^3.0.0" } }, - "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==", + "node_modules/sinon/node_modules/diff": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", + "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==", "dev": true, "engines": { - "node": ">=0.12.0" + "node": ">=0.3.1" } }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", "dev": true, + "license": "BSD-3-Clause", "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "node_modules/stack-chain": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/stack-chain/-/stack-chain-1.3.7.tgz", + "integrity": "sha512-D8cWtWVdIe/jBA7v5p5Hwl5yOSOrmZPWDPe2KxQ5UAGD+nxbxU0lKXA4h85Ta6+qgdKVL3vUxsbIZjc1kBG7ug==" + }, + "node_modules/stackback": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", + "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", "dev": true, - "engines": { - "node": ">=8" - } + "license": "MIT" }, - "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "node_modules/std-env": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz", + "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==", "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", - "dev": true + "license": "MIT" }, - "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==", + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "dev": true, + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, "engines": { - "node": ">=10" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/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==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", - "dev": true - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "node_modules/istanbul-lib-coverage": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-hook": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz", - "integrity": "sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==", + "node_modules/string-width-cjs": { + "name": "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==", "dev": true, + "license": "MIT", "dependencies": { - "append-transform": "^2.0.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { "node": ">=8" } }, - "node_modules/istanbul-lib-instrument": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", - "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", + "node_modules/string-width-cjs/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==", "dev": true, - "dependencies": { - "@babel/core": "^7.7.5", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.0.0", - "semver": "^6.3.0" - }, + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/istanbul-lib-instrument/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "node_modules/string-width-cjs/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==", "dev": true, - "bin": { - "semver": "bin/semver.js" - } + "license": "MIT" }, - "node_modules/istanbul-lib-processinfo": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.3.tgz", - "integrity": "sha512-NkwHbo3E00oybX6NGJi6ar0B29vxyvNwoC7eJ4G4Yq28UfY758Hgn/heV8VRFhevPED4LXfFz0DQ8z/0kw9zMg==", + "node_modules/string-width-cjs/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==", "dev": true, + "license": "MIT", "dependencies": { - "archy": "^1.0.0", - "cross-spawn": "^7.0.3", - "istanbul-lib-coverage": "^3.2.0", - "p-map": "^3.0.0", - "rimraf": "^3.0.0", - "uuid": "^8.3.2" + "ansi-regex": "^5.0.1" }, "engines": { "node": ">=8" } }, - "node_modules/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, + "license": "MIT", "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" + "ansi-regex": "^6.0.1" }, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, + "license": "MIT", "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" + "ansi-regex": "^5.0.1" }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/istanbul-reports": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", - "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", + "node_modules/strip-ansi-cjs/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==", "dev": true, - "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - }, + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true + "node_modules/strnum": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", + "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==", + "license": "MIT" }, - "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==", + "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": { - "argparse": "^2.0.1" + "has-flag": "^4.0.0" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "engines": { + "node": ">=8" } }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "node_modules/test-exclude": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-7.0.1.tgz", + "integrity": "sha512-pFYqmTw68LXVjeWJMST4+borgQP2AyMNbg1BpZh9LbyhUeNkeaPF9gzfPGUAnSMV3qPYdWUwDIjjCLiSDOl7vg==", "dev": true, - "bin": { - "jsesc": "bin/jsesc" + "license": "ISC", + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^10.4.1", + "minimatch": "^9.0.4" }, "engines": { - "node": ">=4" + "node": ">=18" } }, - "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/tinybench": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", + "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", + "dev": true, + "license": "MIT" }, - "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==", - "dev": true + "node_modules/tinyexec": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.0.tgz", + "integrity": "sha512-tVGE0mVJPGb0chKhqmsoosjsS+qUnJVGJpZgsHYQcGoPlG3B51R3PouqTgEGH2Dc9jjFyOqOpix6ZHNMXp1FZg==", + "dev": true, + "license": "MIT" }, - "node_modules/json-stable-stringify-without-jsonify": { + "node_modules/tinypool": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.0.1.tgz", + "integrity": "sha512-URZYihUbRPcGv95En+sz6MfghfIc2OJ1sv/RmhWZLouPY0/8Vo80viwPvg3dlaS9fuq7fQMEfgRRK7BBZThBEA==", "dev": true, - "bin": { - "json5": "lib/cli.js" - }, + "license": "MIT", "engines": { - "node": ">=6" + "node": "^18.0.0 || >=20.0.0" } }, - "node_modules/just-extend": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.2.1.tgz", - "integrity": "sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg==", - "dev": true - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "node_modules/tinyrainbow": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-1.2.0.tgz", + "integrity": "sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==", "dev": true, - "dependencies": { - "json-buffer": "3.0.1" + "license": "MIT", + "engines": { + "node": ">=14.0.0" } }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "node_modules/tinyspy": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-3.0.2.tgz", + "integrity": "sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==", "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, + "license": "MIT", "engines": { - "node": ">= 0.8.0" + "node": ">=14.0.0" } }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", "dev": true, - "dependencies": { - "p-locate": "^5.0.0" - }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4" } }, - "node_modules/lodash.flattendeep": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", - "integrity": "sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ==", - "dev": true - }, - "node_modules/lodash.get": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", - "dev": true - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true + "node_modules/tslib": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" }, - "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==", + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", "dev": true, - "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/loupe": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz", - "integrity": "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==", - "dev": true, - "dependencies": { - "get-func-name": "^2.0.0" + "node": ">=4" } }, - "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "dependencies": { - "yallist": "^3.0.2" + "node_modules/uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" } }, - "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==", + "node_modules/vite": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.6.tgz", + "integrity": "sha512-IeL5f8OO5nylsgzd9tq4qD2QqI0k2CQLGrWD0rCN0EQJZpBK5vJAx0I+GDkMOXxQX/OfFHMuLIx6ddAxGX/k+Q==", "dev": true, + "license": "MIT", "dependencies": { - "semver": "^6.0.0" + "esbuild": "^0.21.3", + "postcss": "^8.4.43", + "rollup": "^4.20.0" + }, + "bin": { + "vite": "bin/vite.js" }, "engines": { - "node": ">=8" + "node": "^18.0.0 || >=20.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/make-dir/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } } }, - "node_modules/minimatch": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", - "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", + "node_modules/vite-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-2.1.1.tgz", + "integrity": "sha512-N/mGckI1suG/5wQI35XeR9rsMsPqKXzq1CdUndzVstBj/HvyxxGctwnK6WX43NGt5L3Z5tcRf83g4TITKJhPrA==", "dev": true, + "license": "MIT", "dependencies": { - "brace-expansion": "^2.0.1" + "cac": "^6.7.14", + "debug": "^4.3.6", + "pathe": "^1.1.2", + "vite": "^5.0.0" + }, + "bin": { + "vite-node": "vite-node.mjs" }, "engines": { - "node": ">=10" + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" } }, - "node_modules/minimatch/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "node_modules/vitest": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-2.1.1.tgz", + "integrity": "sha512-97We7/VC0e9X5zBVkvt7SGQMGrRtn3KtySFQG5fpaMlS+l62eeXRQO633AYhSTC3z7IMebnPPNjGXVGNRFlxBA==", "dev": true, + "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/mnemonist": { - "version": "0.38.3", - "resolved": "https://registry.npmjs.org/mnemonist/-/mnemonist-0.38.3.tgz", - "integrity": "sha512-2K9QYubXx/NAjv4VLq1d1Ly8pWNC5L3BrixtdkyTegXWJIqY+zLNDhhX/A+ZwWt70tB1S8H4BE8FLYEFyNoOBw==", - "license": "MIT", - "dependencies": { - "obliterator": "^1.6.1" - } - }, - "node_modules/mocha": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz", - "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==", - "dev": true, - "dependencies": { - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", - "chokidar": "3.5.3", - "debug": "4.3.4", - "diff": "5.0.0", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "7.2.0", - "he": "1.2.0", - "js-yaml": "4.1.0", - "log-symbols": "4.1.0", - "minimatch": "5.0.1", - "ms": "2.1.3", - "nanoid": "3.3.3", - "serialize-javascript": "6.0.0", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "workerpool": "6.2.1", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", - "yargs-unparser": "2.0.0" + "@vitest/expect": "2.1.1", + "@vitest/mocker": "2.1.1", + "@vitest/pretty-format": "^2.1.1", + "@vitest/runner": "2.1.1", + "@vitest/snapshot": "2.1.1", + "@vitest/spy": "2.1.1", + "@vitest/utils": "2.1.1", + "chai": "^5.1.1", + "debug": "^4.3.6", + "magic-string": "^0.30.11", + "pathe": "^1.1.2", + "std-env": "^3.7.0", + "tinybench": "^2.9.0", + "tinyexec": "^0.3.0", + "tinypool": "^1.0.0", + "tinyrainbow": "^1.2.0", + "vite": "^5.0.0", + "vite-node": "2.1.1", + "why-is-node-running": "^2.3.0" }, "bin": { - "_mocha": "bin/_mocha", - "mocha": "bin/mocha.js" - }, - "engines": { - "node": ">= 14.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mochajs" - } - }, - "node_modules/mocha/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" + "vitest": "vitest.mjs" }, "engines": { - "node": ">=10" + "node": "^18.0.0 || >=20.0.0" }, "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - }, - "node_modules/nanoid": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", - "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", - "dev": true, - "bin": { - "nanoid": "bin/nanoid.cjs" + "url": "https://opencollective.com/vitest" }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "node_modules/nise": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.5.tgz", - "integrity": "sha512-VJuPIfUFaXNRzETTQEEItTOP8Y171ijr+JLq42wHes3DiryR8vT+1TXQW/Rx8JNUhyYYWyIvjXTU6dOhJcs9Nw==", - "dev": true, - "dependencies": { - "@sinonjs/commons": "^2.0.0", - "@sinonjs/fake-timers": "^10.0.2", - "@sinonjs/text-encoding": "^0.7.1", - "just-extend": "^4.0.2", - "path-to-regexp": "^1.7.0" - } - }, - "node_modules/nise/node_modules/@sinonjs/commons": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", - "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", - "dev": true, - "dependencies": { - "type-detect": "4.0.8" - } - }, - "node_modules/nise/node_modules/@sinonjs/fake-timers": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", - "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", - "dev": true, - "dependencies": { - "@sinonjs/commons": "^3.0.0" - } - }, - "node_modules/nise/node_modules/@sinonjs/fake-timers/node_modules/@sinonjs/commons": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", - "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", - "dev": true, - "dependencies": { - "type-detect": "4.0.8" - } - }, - "node_modules/node-preload": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz", - "integrity": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==", - "dev": true, - "dependencies": { - "process-on-spawn": "^1.0.0" + "peerDependencies": { + "@edge-runtime/vm": "*", + "@types/node": "^18.0.0 || >=20.0.0", + "@vitest/browser": "2.1.1", + "@vitest/ui": "2.1.1", + "happy-dom": "*", + "jsdom": "*" }, - "engines": { - "node": ">=8" - } - }, - "node_modules/node-releases": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz", - "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==", - "dev": 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==", - "dev": true, - "engines": { - "node": ">=0.10.0" + "peerDependenciesMeta": { + "@edge-runtime/vm": { + "optional": true + }, + "@types/node": { + "optional": true + }, + "@vitest/browser": { + "optional": true + }, + "@vitest/ui": { + "optional": true + }, + "happy-dom": { + "optional": true + }, + "jsdom": { + "optional": true + } } }, - "node_modules/nyc": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz", - "integrity": "sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==", + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, + "license": "ISC", "dependencies": { - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "caching-transform": "^4.0.0", - "convert-source-map": "^1.7.0", - "decamelize": "^1.2.0", - "find-cache-dir": "^3.2.0", - "find-up": "^4.1.0", - "foreground-child": "^2.0.0", - "get-package-type": "^0.1.0", - "glob": "^7.1.6", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-hook": "^3.0.0", - "istanbul-lib-instrument": "^4.0.0", - "istanbul-lib-processinfo": "^2.0.2", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.0.2", - "make-dir": "^3.0.0", - "node-preload": "^0.2.1", - "p-map": "^3.0.0", - "process-on-spawn": "^1.0.0", - "resolve-from": "^5.0.0", - "rimraf": "^3.0.0", - "signal-exit": "^3.0.2", - "spawn-wrap": "^2.0.0", - "test-exclude": "^6.0.0", - "yargs": "^15.0.2" + "isexe": "^2.0.0" }, "bin": { - "nyc": "bin/nyc.js" + "node-which": "bin/node-which" }, "engines": { - "node": ">=8.9" - } - }, - "node_modules/nyc-report-lcov-absolute": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/nyc-report-lcov-absolute/-/nyc-report-lcov-absolute-1.0.0.tgz", - "integrity": "sha512-sDq0XM0on9casPNySxGD/WSy17m95+e8xEhObNHoxVRsTIZZt8akop4WWisnjzEWRARGW91Ip6oRhIWmy4qcPw==", - "dev": true, - "peerDependencies": { - "istanbul-reports": "^3.0.0" - } - }, - "node_modules/nyc/node_modules/cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" + "node": ">= 8" } }, - "node_modules/nyc/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "node_modules/why-is-node-running": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", + "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", "dev": true, + "license": "MIT", "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" + "siginfo": "^2.0.0", + "stackback": "0.0.2" }, - "engines": { - "node": ">=8" - } - }, - "node_modules/nyc/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" + "bin": { + "why-is-node-running": "cli.js" }, "engines": { "node": ">=8" } }, - "node_modules/nyc/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", "dev": true, + "license": "MIT", "dependencies": { - "p-try": "^2.0.0" + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" }, "engines": { - "node": ">=6" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/nyc/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/nyc/node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "node_modules/wrap-ansi-cjs": { + "name": "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==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" }, - "engines": { - "node": ">=8" - } - }, - "node_modules/nyc/node_modules/y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "dev": true - }, - "node_modules/nyc/node_modules/yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "dev": true, - "dependencies": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/nyc/node_modules/yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/obliterator": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/obliterator/-/obliterator-1.6.1.tgz", - "integrity": "sha512-9WXswnqINnnhOG/5SLimUlzuU1hFJUc8zkwyD59Sd+dPOMf05PmnYG/d6Q7HZ+KmgkZJa1PxRso6QdM3sTNHig==", - "license": "MIT" - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", - "dev": true, - "dependencies": { - "@aashutoshrathi/word-wrap": "^1.2.3", - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "dependencies": { - "yocto-queue": "^0.1.0" - }, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "node_modules/wrap-ansi-cjs/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==", "dev": true, - "dependencies": { - "p-limit": "^3.0.2" - }, + "license": "MIT", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/p-map": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", - "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", + "node_modules/wrap-ansi-cjs/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, + "license": "MIT", "dependencies": { - "aggregate-error": "^3.0.0" + "color-convert": "^2.0.1" }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/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==", + "node_modules/wrap-ansi-cjs/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==", "dev": true, - "engines": { - "node": ">=6" - } + "license": "MIT" }, - "node_modules/package-hash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz", - "integrity": "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==", + "node_modules/wrap-ansi-cjs/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==", "dev": true, + "license": "MIT", "dependencies": { - "graceful-fs": "^4.1.15", - "hasha": "^5.0.0", - "lodash.flattendeep": "^4.4.0", - "release-zalgo": "^1.0.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { "node": ">=8" } }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "node_modules/wrap-ansi-cjs/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==", "dev": true, + "license": "MIT", "dependencies": { - "callsites": "^3.0.0" + "ansi-regex": "^5.0.1" }, - "engines": { - "node": ">=6" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, "engines": { "node": ">=8" } - }, - "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": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + } + }, + "dependencies": { + "@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", "dev": true, - "engines": { - "node": ">=0.10.0" + "requires": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" } }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-to-regexp": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.9.0.tgz", - "integrity": "sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==", - "dev": true, - "license": "MIT", - "dependencies": { - "isarray": "0.0.1" - } - }, - "node_modules/pathval": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", - "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-dir/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/process-on-spawn": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz", - "integrity": "sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==", - "dev": true, - "dependencies": { - "fromentries": "^1.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "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==", - "dev": true, - "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/ramda": { - "version": "0.28.0", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.28.0.tgz", - "integrity": "sha512-9QnLuG/kPVgWvMQ4aODhsBUFKOUmnbUnsSXACv+NCQZcHbeb+v8Lodp8OVxtRULN1/xOyYLLaL6npE6dMq5QTA==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/ramda" - } - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/release-zalgo": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz", - "integrity": "sha512-gUAyHVHPPC5wdqX/LG4LWtRYtgjxyX78oanFNTMMyFEfOqdC54s3eE82imuWKbOeqYht2CrNf64Qb8vgmmtZGA==", - "dev": true, - "dependencies": { - "es6-error": "^4.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, - "node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true, - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rewire": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/rewire/-/rewire-7.0.0.tgz", - "integrity": "sha512-DyyNyzwMtGYgu0Zl/ya0PR/oaunM+VuCuBxCuhYJHHaV0V+YvYa3bBGxb5OZ71vndgmp1pYY8F4YOwQo1siRGw==", - "dev": true, - "dependencies": { - "eslint": "^8.47.0" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "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==", - "dev": true, - "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/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==", - "dev": true, - "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/semver": { - "version": "7.5.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz", - "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver/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/semver/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/serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", - "dev": true, - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", - "dev": true - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/shimmer": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/shimmer/-/shimmer-1.2.1.tgz", - "integrity": "sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==" - }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, - "node_modules/sinon": { - "version": "17.0.0", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-17.0.0.tgz", - "integrity": "sha512-p4lJiYKBoOEVUxxVIC9H1MM2znG1/c8gud++I2BauJA5hsz7hHsst35eurNWXTusBsIq66FzOQbZ/uMdpvbPIQ==", - "dev": true, - "dependencies": { - "@sinonjs/commons": "^3.0.0", - "@sinonjs/fake-timers": "^11.2.2", - "@sinonjs/samsam": "^8.0.0", - "diff": "^5.1.0", - "nise": "^5.1.5", - "supports-color": "^7.2.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/sinon" - } - }, - "node_modules/sinon/node_modules/@sinonjs/commons": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", - "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", - "dev": true, - "dependencies": { - "type-detect": "4.0.8" - } - }, - "node_modules/sinon/node_modules/@sinonjs/fake-timers": { - "version": "11.2.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-11.2.2.tgz", - "integrity": "sha512-G2piCSxQ7oWOxwGSAyFHfPIsyeJGXYtc6mFbnFA+kRXkiEnTl8c/8jul2S329iFBnDI9HGoeWWAZvuvOkZccgw==", - "dev": true, - "dependencies": { - "@sinonjs/commons": "^3.0.0" - } - }, - "node_modules/sinon/node_modules/diff": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", - "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==", - "dev": true, - "engines": { - "node": ">=0.3.1" - } - }, - "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, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/spawn-wrap": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz", - "integrity": "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==", - "dev": true, - "dependencies": { - "foreground-child": "^2.0.0", - "is-windows": "^1.0.2", - "make-dir": "^3.0.0", - "rimraf": "^3.0.0", - "signal-exit": "^3.0.2", - "which": "^2.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true - }, - "node_modules/stack-chain": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/stack-chain/-/stack-chain-1.3.7.tgz", - "integrity": "sha512-D8cWtWVdIe/jBA7v5p5Hwl5yOSOrmZPWDPe2KxQ5UAGD+nxbxU0lKXA4h85Ta6+qgdKVL3vUxsbIZjc1kBG7ug==" - }, - "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==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "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==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/strnum": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", - "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==", - "license": "MIT" - }, - "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/test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "dev": true, - "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/test-exclude/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "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==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/tslib": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", - "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", - "license": "0BSD" - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "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==", - "dev": true, - "dependencies": { - "is-typedarray": "^1.0.0" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", - "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "dependencies": { - "punycode": "^2.1.0" - } - }, - "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/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==", - "dev": true - }, - "node_modules/workerpool": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", - "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==", - "dev": true - }, - "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==", - "dev": true, - "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/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true - }, - "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/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - }, - "node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs-unparser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", - "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", - "dev": true, - "dependencies": { - "camelcase": "^6.0.0", - "decamelize": "^4.0.0", - "flat": "^5.0.2", - "is-plain-obj": "^2.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs-unparser/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/yargs-unparser/node_modules/decamelize": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", - "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - }, - "dependencies": { - "@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", - "dev": true - }, - "@ampproject/remapping": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", - "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", - "dev": true, - "requires": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@aws-crypto/sha256-browser": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-5.2.0.tgz", - "integrity": "sha512-AXfN/lGotSQwu6HNcEsIASo7kWXZ5HYWvfOmSNKDsEqC4OashTp8alTmaz+F7TC2L083SFv5RdB+qU3Vs1kZqw==", - "requires": { - "@aws-crypto/sha256-js": "^5.2.0", - "@aws-crypto/supports-web-crypto": "^5.2.0", - "@aws-crypto/util": "^5.2.0", - "@aws-sdk/types": "^3.222.0", - "@aws-sdk/util-locate-window": "^3.0.0", - "@smithy/util-utf8": "^2.0.0", - "tslib": "^2.6.2" - }, - "dependencies": { - "@smithy/is-array-buffer": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz", - "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==", - "requires": { - "tslib": "^2.6.2" - } - }, - "@smithy/util-buffer-from": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz", - "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==", - "requires": { - "@smithy/is-array-buffer": "^2.2.0", - "tslib": "^2.6.2" - } - }, - "@smithy/util-utf8": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz", - "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==", - "requires": { - "@smithy/util-buffer-from": "^2.2.0", - "tslib": "^2.6.2" - } - } - } - }, - "@aws-crypto/sha256-js": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-5.2.0.tgz", - "integrity": "sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA==", - "requires": { - "@aws-crypto/util": "^5.2.0", - "@aws-sdk/types": "^3.222.0", - "tslib": "^2.6.2" - } - }, - "@aws-crypto/supports-web-crypto": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-5.2.0.tgz", - "integrity": "sha512-iAvUotm021kM33eCdNfwIN//F77/IADDSs58i+MDaOqFrVjZo9bAal0NK7HurRuWLLpF1iLX7gbWrjHjeo+YFg==", - "requires": { - "tslib": "^2.6.2" - } - }, - "@aws-crypto/util": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-5.2.0.tgz", - "integrity": "sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==", - "requires": { - "@aws-sdk/types": "^3.222.0", - "@smithy/util-utf8": "^2.0.0", - "tslib": "^2.6.2" - }, - "dependencies": { - "@smithy/is-array-buffer": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz", - "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==", - "requires": { - "tslib": "^2.6.2" - } - }, - "@smithy/util-buffer-from": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz", - "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==", - "requires": { - "@smithy/is-array-buffer": "^2.2.0", - "tslib": "^2.6.2" - } - }, - "@smithy/util-utf8": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz", - "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==", - "requires": { - "@smithy/util-buffer-from": "^2.2.0", - "tslib": "^2.6.2" - } - } - } - }, - "@aws-sdk/client-config-service": { - "version": "3.621.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-config-service/-/client-config-service-3.621.0.tgz", - "integrity": "sha512-6hqRpwrQXAhmSLwAawqVYu0/az56TF1/YUoFDGlsuB1Dd8cXRBXK5o5J8diYLUNa9I40+7hV72xceu4fyrEoCQ==", - "requires": { - "@aws-crypto/sha256-browser": "5.2.0", - "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/client-sso-oidc": "3.621.0", - "@aws-sdk/client-sts": "3.621.0", - "@aws-sdk/core": "3.621.0", - "@aws-sdk/credential-provider-node": "3.621.0", - "@aws-sdk/middleware-host-header": "3.620.0", - "@aws-sdk/middleware-logger": "3.609.0", - "@aws-sdk/middleware-recursion-detection": "3.620.0", - "@aws-sdk/middleware-user-agent": "3.620.0", - "@aws-sdk/region-config-resolver": "3.614.0", - "@aws-sdk/types": "3.609.0", - "@aws-sdk/util-endpoints": "3.614.0", - "@aws-sdk/util-user-agent-browser": "3.609.0", - "@aws-sdk/util-user-agent-node": "3.614.0", - "@smithy/config-resolver": "^3.0.5", - "@smithy/core": "^2.3.1", - "@smithy/fetch-http-handler": "^3.2.4", - "@smithy/hash-node": "^3.0.3", - "@smithy/invalid-dependency": "^3.0.3", - "@smithy/middleware-content-length": "^3.0.5", - "@smithy/middleware-endpoint": "^3.1.0", - "@smithy/middleware-retry": "^3.0.13", - "@smithy/middleware-serde": "^3.0.3", - "@smithy/middleware-stack": "^3.0.3", - "@smithy/node-config-provider": "^3.1.4", - "@smithy/node-http-handler": "^3.1.4", - "@smithy/protocol-http": "^4.1.0", - "@smithy/smithy-client": "^3.1.11", - "@smithy/types": "^3.3.0", - "@smithy/url-parser": "^3.0.3", - "@smithy/util-base64": "^3.0.0", - "@smithy/util-body-length-browser": "^3.0.0", - "@smithy/util-body-length-node": "^3.0.0", - "@smithy/util-defaults-mode-browser": "^3.0.13", - "@smithy/util-defaults-mode-node": "^3.0.13", - "@smithy/util-endpoints": "^2.0.5", - "@smithy/util-middleware": "^3.0.3", - "@smithy/util-retry": "^3.0.3", - "@smithy/util-utf8": "^3.0.0", - "tslib": "^2.6.2" - }, - "dependencies": { - "@aws-sdk/types": { - "version": "3.609.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", - "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", - "requires": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - } - } - } - }, - "@aws-sdk/client-dynamodb": { - "version": "3.621.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-dynamodb/-/client-dynamodb-3.621.0.tgz", - "integrity": "sha512-aczOoVyufYwBCc/zZKJOP/xwbnojKQJ6Y8O7ZAZnxMPRyZXKXpoAxmlxLfOU6GUzXqzXdvj+Ir3VBd7MWB4KuQ==", - "requires": { - "@aws-crypto/sha256-browser": "5.2.0", - "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/client-sso-oidc": "3.621.0", - "@aws-sdk/client-sts": "3.621.0", - "@aws-sdk/core": "3.621.0", - "@aws-sdk/credential-provider-node": "3.621.0", - "@aws-sdk/middleware-endpoint-discovery": "3.620.0", - "@aws-sdk/middleware-host-header": "3.620.0", - "@aws-sdk/middleware-logger": "3.609.0", - "@aws-sdk/middleware-recursion-detection": "3.620.0", - "@aws-sdk/middleware-user-agent": "3.620.0", - "@aws-sdk/region-config-resolver": "3.614.0", - "@aws-sdk/types": "3.609.0", - "@aws-sdk/util-endpoints": "3.614.0", - "@aws-sdk/util-user-agent-browser": "3.609.0", - "@aws-sdk/util-user-agent-node": "3.614.0", - "@smithy/config-resolver": "^3.0.5", - "@smithy/core": "^2.3.1", - "@smithy/fetch-http-handler": "^3.2.4", - "@smithy/hash-node": "^3.0.3", - "@smithy/invalid-dependency": "^3.0.3", - "@smithy/middleware-content-length": "^3.0.5", - "@smithy/middleware-endpoint": "^3.1.0", - "@smithy/middleware-retry": "^3.0.13", - "@smithy/middleware-serde": "^3.0.3", - "@smithy/middleware-stack": "^3.0.3", - "@smithy/node-config-provider": "^3.1.4", - "@smithy/node-http-handler": "^3.1.4", - "@smithy/protocol-http": "^4.1.0", - "@smithy/smithy-client": "^3.1.11", - "@smithy/types": "^3.3.0", - "@smithy/url-parser": "^3.0.3", - "@smithy/util-base64": "^3.0.0", - "@smithy/util-body-length-browser": "^3.0.0", - "@smithy/util-body-length-node": "^3.0.0", - "@smithy/util-defaults-mode-browser": "^3.0.13", - "@smithy/util-defaults-mode-node": "^3.0.13", - "@smithy/util-endpoints": "^2.0.5", - "@smithy/util-middleware": "^3.0.3", - "@smithy/util-retry": "^3.0.3", - "@smithy/util-utf8": "^3.0.0", - "@smithy/util-waiter": "^3.1.2", - "tslib": "^2.6.2", - "uuid": "^9.0.1" - }, - "dependencies": { - "@aws-sdk/types": { - "version": "3.609.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", - "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", - "requires": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - } - }, - "uuid": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", - "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==" - } - } - }, - "@aws-sdk/client-ec2": { - "version": "3.621.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-ec2/-/client-ec2-3.621.0.tgz", - "integrity": "sha512-6gMfJL0LgoY0PE3Sw56JHA5qcP2Z+Xz+TPTuDmdOPwFyZI6A1hsf7XBeb9Ye8QRmBxoiflChaiBn7obANAj5tw==", - "requires": { - "@aws-crypto/sha256-browser": "5.2.0", - "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/client-sso-oidc": "3.621.0", - "@aws-sdk/client-sts": "3.621.0", - "@aws-sdk/core": "3.621.0", - "@aws-sdk/credential-provider-node": "3.621.0", - "@aws-sdk/middleware-host-header": "3.620.0", - "@aws-sdk/middleware-logger": "3.609.0", - "@aws-sdk/middleware-recursion-detection": "3.620.0", - "@aws-sdk/middleware-sdk-ec2": "3.621.0", - "@aws-sdk/middleware-user-agent": "3.620.0", - "@aws-sdk/region-config-resolver": "3.614.0", - "@aws-sdk/types": "3.609.0", - "@aws-sdk/util-endpoints": "3.614.0", - "@aws-sdk/util-user-agent-browser": "3.609.0", - "@aws-sdk/util-user-agent-node": "3.614.0", - "@smithy/config-resolver": "^3.0.5", - "@smithy/core": "^2.3.1", - "@smithy/fetch-http-handler": "^3.2.4", - "@smithy/hash-node": "^3.0.3", - "@smithy/invalid-dependency": "^3.0.3", - "@smithy/middleware-content-length": "^3.0.5", - "@smithy/middleware-endpoint": "^3.1.0", - "@smithy/middleware-retry": "^3.0.13", - "@smithy/middleware-serde": "^3.0.3", - "@smithy/middleware-stack": "^3.0.3", - "@smithy/node-config-provider": "^3.1.4", - "@smithy/node-http-handler": "^3.1.4", - "@smithy/protocol-http": "^4.1.0", - "@smithy/smithy-client": "^3.1.11", - "@smithy/types": "^3.3.0", - "@smithy/url-parser": "^3.0.3", - "@smithy/util-base64": "^3.0.0", - "@smithy/util-body-length-browser": "^3.0.0", - "@smithy/util-body-length-node": "^3.0.0", - "@smithy/util-defaults-mode-browser": "^3.0.13", - "@smithy/util-defaults-mode-node": "^3.0.13", - "@smithy/util-endpoints": "^2.0.5", - "@smithy/util-middleware": "^3.0.3", - "@smithy/util-retry": "^3.0.3", - "@smithy/util-utf8": "^3.0.0", - "@smithy/util-waiter": "^3.1.2", - "tslib": "^2.6.2", - "uuid": "^9.0.1" - }, - "dependencies": { - "@aws-sdk/types": { - "version": "3.609.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", - "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", - "requires": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - } - }, - "uuid": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", - "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==" - } - } - }, - "@aws-sdk/client-organizations": { - "version": "3.621.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-organizations/-/client-organizations-3.621.0.tgz", - "integrity": "sha512-yzQPgzVDtDxhzdAVMlW95lyy2576OmVUs6xCNO10aalD3a6H4E1zwyX0o6/wLyLP0pVjCY+4uzmNtOb4Wann9g==", - "requires": { - "@aws-crypto/sha256-browser": "5.2.0", - "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/client-sso-oidc": "3.621.0", - "@aws-sdk/client-sts": "3.621.0", - "@aws-sdk/core": "3.621.0", - "@aws-sdk/credential-provider-node": "3.621.0", - "@aws-sdk/middleware-host-header": "3.620.0", - "@aws-sdk/middleware-logger": "3.609.0", - "@aws-sdk/middleware-recursion-detection": "3.620.0", - "@aws-sdk/middleware-user-agent": "3.620.0", - "@aws-sdk/region-config-resolver": "3.614.0", - "@aws-sdk/types": "3.609.0", - "@aws-sdk/util-endpoints": "3.614.0", - "@aws-sdk/util-user-agent-browser": "3.609.0", - "@aws-sdk/util-user-agent-node": "3.614.0", - "@smithy/config-resolver": "^3.0.5", - "@smithy/core": "^2.3.1", - "@smithy/fetch-http-handler": "^3.2.4", - "@smithy/hash-node": "^3.0.3", - "@smithy/invalid-dependency": "^3.0.3", - "@smithy/middleware-content-length": "^3.0.5", - "@smithy/middleware-endpoint": "^3.1.0", - "@smithy/middleware-retry": "^3.0.13", - "@smithy/middleware-serde": "^3.0.3", - "@smithy/middleware-stack": "^3.0.3", - "@smithy/node-config-provider": "^3.1.4", - "@smithy/node-http-handler": "^3.1.4", - "@smithy/protocol-http": "^4.1.0", - "@smithy/smithy-client": "^3.1.11", - "@smithy/types": "^3.3.0", - "@smithy/url-parser": "^3.0.3", - "@smithy/util-base64": "^3.0.0", - "@smithy/util-body-length-browser": "^3.0.0", - "@smithy/util-body-length-node": "^3.0.0", - "@smithy/util-defaults-mode-browser": "^3.0.13", - "@smithy/util-defaults-mode-node": "^3.0.13", - "@smithy/util-endpoints": "^2.0.5", - "@smithy/util-middleware": "^3.0.3", - "@smithy/util-retry": "^3.0.3", - "@smithy/util-utf8": "^3.0.0", - "tslib": "^2.6.2" - }, - "dependencies": { - "@aws-sdk/types": { - "version": "3.609.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", - "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", - "requires": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - } - } - } - }, - "@aws-sdk/client-sso": { - "version": "3.621.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.621.0.tgz", - "integrity": "sha512-xpKfikN4u0BaUYZA9FGUMkkDmfoIP0Q03+A86WjqDWhcOoqNA1DkHsE4kZ+r064ifkPUfcNuUvlkVTEoBZoFjA==", - "requires": { - "@aws-crypto/sha256-browser": "5.2.0", - "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/core": "3.621.0", - "@aws-sdk/middleware-host-header": "3.620.0", - "@aws-sdk/middleware-logger": "3.609.0", - "@aws-sdk/middleware-recursion-detection": "3.620.0", - "@aws-sdk/middleware-user-agent": "3.620.0", - "@aws-sdk/region-config-resolver": "3.614.0", - "@aws-sdk/types": "3.609.0", - "@aws-sdk/util-endpoints": "3.614.0", - "@aws-sdk/util-user-agent-browser": "3.609.0", - "@aws-sdk/util-user-agent-node": "3.614.0", - "@smithy/config-resolver": "^3.0.5", - "@smithy/core": "^2.3.1", - "@smithy/fetch-http-handler": "^3.2.4", - "@smithy/hash-node": "^3.0.3", - "@smithy/invalid-dependency": "^3.0.3", - "@smithy/middleware-content-length": "^3.0.5", - "@smithy/middleware-endpoint": "^3.1.0", - "@smithy/middleware-retry": "^3.0.13", - "@smithy/middleware-serde": "^3.0.3", - "@smithy/middleware-stack": "^3.0.3", - "@smithy/node-config-provider": "^3.1.4", - "@smithy/node-http-handler": "^3.1.4", - "@smithy/protocol-http": "^4.1.0", - "@smithy/smithy-client": "^3.1.11", - "@smithy/types": "^3.3.0", - "@smithy/url-parser": "^3.0.3", - "@smithy/util-base64": "^3.0.0", - "@smithy/util-body-length-browser": "^3.0.0", - "@smithy/util-body-length-node": "^3.0.0", - "@smithy/util-defaults-mode-browser": "^3.0.13", - "@smithy/util-defaults-mode-node": "^3.0.13", - "@smithy/util-endpoints": "^2.0.5", - "@smithy/util-middleware": "^3.0.3", - "@smithy/util-retry": "^3.0.3", - "@smithy/util-utf8": "^3.0.0", - "tslib": "^2.6.2" - }, - "dependencies": { - "@aws-sdk/types": { - "version": "3.609.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", - "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", - "requires": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - } - } - } - }, - "@aws-sdk/client-sso-oidc": { - "version": "3.621.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.621.0.tgz", - "integrity": "sha512-mMjk3mFUwV2Y68POf1BQMTF+F6qxt5tPu6daEUCNGC9Cenk3h2YXQQoS4/eSyYzuBiYk3vx49VgleRvdvkg8rg==", - "requires": { - "@aws-crypto/sha256-browser": "5.2.0", - "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/core": "3.621.0", - "@aws-sdk/credential-provider-node": "3.621.0", - "@aws-sdk/middleware-host-header": "3.620.0", - "@aws-sdk/middleware-logger": "3.609.0", - "@aws-sdk/middleware-recursion-detection": "3.620.0", - "@aws-sdk/middleware-user-agent": "3.620.0", - "@aws-sdk/region-config-resolver": "3.614.0", - "@aws-sdk/types": "3.609.0", - "@aws-sdk/util-endpoints": "3.614.0", - "@aws-sdk/util-user-agent-browser": "3.609.0", - "@aws-sdk/util-user-agent-node": "3.614.0", - "@smithy/config-resolver": "^3.0.5", - "@smithy/core": "^2.3.1", - "@smithy/fetch-http-handler": "^3.2.4", - "@smithy/hash-node": "^3.0.3", - "@smithy/invalid-dependency": "^3.0.3", - "@smithy/middleware-content-length": "^3.0.5", - "@smithy/middleware-endpoint": "^3.1.0", - "@smithy/middleware-retry": "^3.0.13", - "@smithy/middleware-serde": "^3.0.3", - "@smithy/middleware-stack": "^3.0.3", - "@smithy/node-config-provider": "^3.1.4", - "@smithy/node-http-handler": "^3.1.4", - "@smithy/protocol-http": "^4.1.0", - "@smithy/smithy-client": "^3.1.11", - "@smithy/types": "^3.3.0", - "@smithy/url-parser": "^3.0.3", - "@smithy/util-base64": "^3.0.0", - "@smithy/util-body-length-browser": "^3.0.0", - "@smithy/util-body-length-node": "^3.0.0", - "@smithy/util-defaults-mode-browser": "^3.0.13", - "@smithy/util-defaults-mode-node": "^3.0.13", - "@smithy/util-endpoints": "^2.0.5", - "@smithy/util-middleware": "^3.0.3", - "@smithy/util-retry": "^3.0.3", - "@smithy/util-utf8": "^3.0.0", - "tslib": "^2.6.2" - }, - "dependencies": { - "@aws-sdk/types": { - "version": "3.609.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", - "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", - "requires": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - } - } - } - }, - "@aws-sdk/client-sts": { - "version": "3.621.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.621.0.tgz", - "integrity": "sha512-707uiuReSt+nAx6d0c21xLjLm2lxeKc7padxjv92CIrIocnQSlJPxSCM7r5zBhwiahJA6MNQwmTl2xznU67KgA==", - "requires": { - "@aws-crypto/sha256-browser": "5.2.0", - "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/client-sso-oidc": "3.621.0", - "@aws-sdk/core": "3.621.0", - "@aws-sdk/credential-provider-node": "3.621.0", - "@aws-sdk/middleware-host-header": "3.620.0", - "@aws-sdk/middleware-logger": "3.609.0", - "@aws-sdk/middleware-recursion-detection": "3.620.0", - "@aws-sdk/middleware-user-agent": "3.620.0", - "@aws-sdk/region-config-resolver": "3.614.0", - "@aws-sdk/types": "3.609.0", - "@aws-sdk/util-endpoints": "3.614.0", - "@aws-sdk/util-user-agent-browser": "3.609.0", - "@aws-sdk/util-user-agent-node": "3.614.0", - "@smithy/config-resolver": "^3.0.5", - "@smithy/core": "^2.3.1", - "@smithy/fetch-http-handler": "^3.2.4", - "@smithy/hash-node": "^3.0.3", - "@smithy/invalid-dependency": "^3.0.3", - "@smithy/middleware-content-length": "^3.0.5", - "@smithy/middleware-endpoint": "^3.1.0", - "@smithy/middleware-retry": "^3.0.13", - "@smithy/middleware-serde": "^3.0.3", - "@smithy/middleware-stack": "^3.0.3", - "@smithy/node-config-provider": "^3.1.4", - "@smithy/node-http-handler": "^3.1.4", - "@smithy/protocol-http": "^4.1.0", - "@smithy/smithy-client": "^3.1.11", - "@smithy/types": "^3.3.0", - "@smithy/url-parser": "^3.0.3", - "@smithy/util-base64": "^3.0.0", - "@smithy/util-body-length-browser": "^3.0.0", - "@smithy/util-body-length-node": "^3.0.0", - "@smithy/util-defaults-mode-browser": "^3.0.13", - "@smithy/util-defaults-mode-node": "^3.0.13", - "@smithy/util-endpoints": "^2.0.5", - "@smithy/util-middleware": "^3.0.3", - "@smithy/util-retry": "^3.0.3", - "@smithy/util-utf8": "^3.0.0", - "tslib": "^2.6.2" - }, - "dependencies": { - "@aws-sdk/types": { - "version": "3.609.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", - "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", - "requires": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - } - } - } - }, - "@aws-sdk/core": { - "version": "3.621.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.621.0.tgz", - "integrity": "sha512-CtOwWmDdEiINkGXD93iGfXjN0WmCp9l45cDWHHGa8lRgEDyhuL7bwd/pH5aSzj0j8SiQBG2k0S7DHbd5RaqvbQ==", - "requires": { - "@smithy/core": "^2.3.1", - "@smithy/node-config-provider": "^3.1.4", - "@smithy/protocol-http": "^4.1.0", - "@smithy/signature-v4": "^4.1.0", - "@smithy/smithy-client": "^3.1.11", - "@smithy/types": "^3.3.0", - "@smithy/util-middleware": "^3.0.3", - "fast-xml-parser": "4.4.1", - "tslib": "^2.6.2" - } - }, - "@aws-sdk/credential-provider-env": { - "version": "3.620.1", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.620.1.tgz", - "integrity": "sha512-ExuILJ2qLW5ZO+rgkNRj0xiAipKT16Rk77buvPP8csR7kkCflT/gXTyzRe/uzIiETTxM7tr8xuO9MP/DQXqkfg==", - "requires": { - "@aws-sdk/types": "3.609.0", - "@smithy/property-provider": "^3.1.3", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "dependencies": { - "@aws-sdk/types": { - "version": "3.609.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", - "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", - "requires": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - } - } - } - }, - "@aws-sdk/credential-provider-http": { - "version": "3.621.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.621.0.tgz", - "integrity": "sha512-/jc2tEsdkT1QQAI5Dvoci50DbSxtJrevemwFsm0B73pwCcOQZ5ZwwSdVqGsPutzYzUVx3bcXg3LRL7jLACqRIg==", - "requires": { - "@aws-sdk/types": "3.609.0", - "@smithy/fetch-http-handler": "^3.2.4", - "@smithy/node-http-handler": "^3.1.4", - "@smithy/property-provider": "^3.1.3", - "@smithy/protocol-http": "^4.1.0", - "@smithy/smithy-client": "^3.1.11", - "@smithy/types": "^3.3.0", - "@smithy/util-stream": "^3.1.3", - "tslib": "^2.6.2" - }, - "dependencies": { - "@aws-sdk/types": { - "version": "3.609.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", - "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", - "requires": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - } - } - } - }, - "@aws-sdk/credential-provider-ini": { - "version": "3.621.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.621.0.tgz", - "integrity": "sha512-0EWVnSc+JQn5HLnF5Xv405M8n4zfdx9gyGdpnCmAmFqEDHA8LmBdxJdpUk1Ovp/I5oPANhjojxabIW5f1uU0RA==", - "requires": { - "@aws-sdk/credential-provider-env": "3.620.1", - "@aws-sdk/credential-provider-http": "3.621.0", - "@aws-sdk/credential-provider-process": "3.620.1", - "@aws-sdk/credential-provider-sso": "3.621.0", - "@aws-sdk/credential-provider-web-identity": "3.621.0", - "@aws-sdk/types": "3.609.0", - "@smithy/credential-provider-imds": "^3.2.0", - "@smithy/property-provider": "^3.1.3", - "@smithy/shared-ini-file-loader": "^3.1.4", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "dependencies": { - "@aws-sdk/types": { - "version": "3.609.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", - "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", - "requires": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - } - } - } - }, - "@aws-sdk/credential-provider-node": { - "version": "3.621.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.621.0.tgz", - "integrity": "sha512-4JqpccUgz5Snanpt2+53hbOBbJQrSFq7E1sAAbgY6BKVQUsW5qyXqnjvSF32kDeKa5JpBl3bBWLZl04IadcPHw==", - "requires": { - "@aws-sdk/credential-provider-env": "3.620.1", - "@aws-sdk/credential-provider-http": "3.621.0", - "@aws-sdk/credential-provider-ini": "3.621.0", - "@aws-sdk/credential-provider-process": "3.620.1", - "@aws-sdk/credential-provider-sso": "3.621.0", - "@aws-sdk/credential-provider-web-identity": "3.621.0", - "@aws-sdk/types": "3.609.0", - "@smithy/credential-provider-imds": "^3.2.0", - "@smithy/property-provider": "^3.1.3", - "@smithy/shared-ini-file-loader": "^3.1.4", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "dependencies": { - "@aws-sdk/types": { - "version": "3.609.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", - "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", - "requires": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - } - } - } - }, - "@aws-sdk/credential-provider-process": { - "version": "3.620.1", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.620.1.tgz", - "integrity": "sha512-hWqFMidqLAkaV9G460+1at6qa9vySbjQKKc04p59OT7lZ5cO5VH5S4aI05e+m4j364MBROjjk2ugNvfNf/8ILg==", - "requires": { - "@aws-sdk/types": "3.609.0", - "@smithy/property-provider": "^3.1.3", - "@smithy/shared-ini-file-loader": "^3.1.4", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "dependencies": { - "@aws-sdk/types": { - "version": "3.609.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", - "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", - "requires": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - } - } - } - }, - "@aws-sdk/credential-provider-sso": { - "version": "3.621.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.621.0.tgz", - "integrity": "sha512-Kza0jcFeA/GEL6xJlzR2KFf1PfZKMFnxfGzJzl5yN7EjoGdMijl34KaRyVnfRjnCWcsUpBWKNIDk9WZVMY9yiw==", - "requires": { - "@aws-sdk/client-sso": "3.621.0", - "@aws-sdk/token-providers": "3.614.0", - "@aws-sdk/types": "3.609.0", - "@smithy/property-provider": "^3.1.3", - "@smithy/shared-ini-file-loader": "^3.1.4", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "dependencies": { - "@aws-sdk/types": { - "version": "3.609.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", - "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", - "requires": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - } - } - } - }, - "@aws-sdk/credential-provider-web-identity": { - "version": "3.621.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.621.0.tgz", - "integrity": "sha512-w7ASSyfNvcx7+bYGep3VBgC3K6vEdLmlpjT7nSIHxxQf+WSdvy+HynwJosrpZax0sK5q0D1Jpn/5q+r5lwwW6w==", - "requires": { - "@aws-sdk/types": "3.609.0", - "@smithy/property-provider": "^3.1.3", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "dependencies": { - "@aws-sdk/types": { - "version": "3.609.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", - "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", - "requires": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - } - } - } - }, - "@aws-sdk/endpoint-cache": { - "version": "3.572.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/endpoint-cache/-/endpoint-cache-3.572.0.tgz", - "integrity": "sha512-CzuRWMj/xtN9p9eP915nlPmlyniTzke732Ow/M60++gGgB3W+RtZyFftw3TEx+NzNhd1tH54dEcGiWdiNaBz3Q==", - "requires": { - "mnemonist": "0.38.3", - "tslib": "^2.6.2" - } - }, - "@aws-sdk/lib-dynamodb": { - "version": "3.621.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/lib-dynamodb/-/lib-dynamodb-3.621.0.tgz", - "integrity": "sha512-RJJwaR15BLSTtegf2kgJjlJofvxeR+0Jm0rnEbJmRZ/HZhjow1LawrMbCR0YxfcWKUMsDw9tp8BDkLlrH1+RJQ==", - "requires": { - "@aws-sdk/util-dynamodb": "3.621.0", - "@smithy/smithy-client": "^3.1.11", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - } - }, - "@aws-sdk/middleware-endpoint-discovery": { - "version": "3.620.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-endpoint-discovery/-/middleware-endpoint-discovery-3.620.0.tgz", - "integrity": "sha512-T6kuydHBF4BPP5CVH53Fze7c2b9rqxWP88XrGtmNMXXdY4sXur1v/itGdS2l3gqRjxKo0LsmjmuQm9zL4vGneQ==", - "requires": { - "@aws-sdk/endpoint-cache": "3.572.0", - "@aws-sdk/types": "3.609.0", - "@smithy/node-config-provider": "^3.1.4", - "@smithy/protocol-http": "^4.1.0", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "dependencies": { - "@aws-sdk/types": { - "version": "3.609.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", - "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", - "requires": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - } - } - } - }, - "@aws-sdk/middleware-host-header": { - "version": "3.620.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.620.0.tgz", - "integrity": "sha512-VMtPEZwqYrII/oUkffYsNWY9PZ9xpNJpMgmyU0rlDQ25O1c0Hk3fJmZRe6pEkAJ0omD7kLrqGl1DUjQVxpd/Rg==", - "requires": { - "@aws-sdk/types": "3.609.0", - "@smithy/protocol-http": "^4.1.0", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "dependencies": { - "@aws-sdk/types": { - "version": "3.609.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", - "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", - "requires": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - } - } - } - }, - "@aws-sdk/middleware-logger": { - "version": "3.609.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.609.0.tgz", - "integrity": "sha512-S62U2dy4jMDhDFDK5gZ4VxFdWzCtLzwbYyFZx2uvPYTECkepLUfzLic2BHg2Qvtu4QjX+oGE3P/7fwaGIsGNuQ==", + "@aws-crypto/sha256-browser": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-5.2.0.tgz", + "integrity": "sha512-AXfN/lGotSQwu6HNcEsIASo7kWXZ5HYWvfOmSNKDsEqC4OashTp8alTmaz+F7TC2L083SFv5RdB+qU3Vs1kZqw==", "requires": { - "@aws-sdk/types": "3.609.0", - "@smithy/types": "^3.3.0", + "@aws-crypto/sha256-js": "^5.2.0", + "@aws-crypto/supports-web-crypto": "^5.2.0", + "@aws-crypto/util": "^5.2.0", + "@aws-sdk/types": "^3.222.0", + "@aws-sdk/util-locate-window": "^3.0.0", + "@smithy/util-utf8": "^2.0.0", "tslib": "^2.6.2" }, "dependencies": { - "@aws-sdk/types": { - "version": "3.609.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", - "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", + "@smithy/is-array-buffer": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz", + "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==", "requires": { - "@smithy/types": "^3.3.0", "tslib": "^2.6.2" } - } - } - }, - "@aws-sdk/middleware-recursion-detection": { - "version": "3.620.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.620.0.tgz", - "integrity": "sha512-nh91S7aGK3e/o1ck64sA/CyoFw+gAYj2BDOnoNa6ouyCrVJED96ZXWbhye/fz9SgmNUZR2g7GdVpiLpMKZoI5w==", - "requires": { - "@aws-sdk/types": "3.609.0", - "@smithy/protocol-http": "^4.1.0", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "dependencies": { - "@aws-sdk/types": { - "version": "3.609.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", - "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", + }, + "@smithy/util-buffer-from": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz", + "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==", "requires": { - "@smithy/types": "^3.3.0", + "@smithy/is-array-buffer": "^2.2.0", "tslib": "^2.6.2" } - } - } - }, - "@aws-sdk/middleware-sdk-ec2": { - "version": "3.621.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-ec2/-/middleware-sdk-ec2-3.621.0.tgz", - "integrity": "sha512-JL43dM6TZ922b6Z9jSt4bUoq9ZiTOwaw9F3Us0e6ZDcX6Su377+InUWtIqmtLfaTQhFo8FY6xmbpo0bPLMAxQA==", - "requires": { - "@aws-sdk/types": "3.609.0", - "@aws-sdk/util-format-url": "3.609.0", - "@smithy/middleware-endpoint": "^3.1.0", - "@smithy/protocol-http": "^4.1.0", - "@smithy/signature-v4": "^4.1.0", - "@smithy/smithy-client": "^3.1.11", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "dependencies": { - "@aws-sdk/types": { - "version": "3.609.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", - "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", + }, + "@smithy/util-utf8": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz", + "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==", "requires": { - "@smithy/types": "^3.3.0", + "@smithy/util-buffer-from": "^2.2.0", "tslib": "^2.6.2" } } } }, - "@aws-sdk/middleware-user-agent": { - "version": "3.620.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.620.0.tgz", - "integrity": "sha512-bvS6etn+KsuL32ubY5D3xNof1qkenpbJXf/ugGXbg0n98DvDFQ/F+SMLxHgbnER5dsKYchNnhmtI6/FC3HFu/A==", + "@aws-crypto/sha256-js": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-5.2.0.tgz", + "integrity": "sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA==", "requires": { - "@aws-sdk/types": "3.609.0", - "@aws-sdk/util-endpoints": "3.614.0", - "@smithy/protocol-http": "^4.1.0", - "@smithy/types": "^3.3.0", + "@aws-crypto/util": "^5.2.0", + "@aws-sdk/types": "^3.222.0", "tslib": "^2.6.2" - }, - "dependencies": { - "@aws-sdk/types": { - "version": "3.609.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", - "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", - "requires": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - } - } } }, - "@aws-sdk/region-config-resolver": { - "version": "3.614.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.614.0.tgz", - "integrity": "sha512-vDCeMXvic/LU0KFIUjpC3RiSTIkkvESsEfbVHiHH0YINfl8HnEqR5rj+L8+phsCeVg2+LmYwYxd5NRz4PHxt5g==", + "@aws-crypto/supports-web-crypto": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-5.2.0.tgz", + "integrity": "sha512-iAvUotm021kM33eCdNfwIN//F77/IADDSs58i+MDaOqFrVjZo9bAal0NK7HurRuWLLpF1iLX7gbWrjHjeo+YFg==", "requires": { - "@aws-sdk/types": "3.609.0", - "@smithy/node-config-provider": "^3.1.4", - "@smithy/types": "^3.3.0", - "@smithy/util-config-provider": "^3.0.0", - "@smithy/util-middleware": "^3.0.3", "tslib": "^2.6.2" - }, - "dependencies": { - "@aws-sdk/types": { - "version": "3.609.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", - "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", - "requires": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - } - } } }, - "@aws-sdk/service-error-classification": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.357.0.tgz", - "integrity": "sha512-VuXeL4g5vKO9HjgCZlxmH8Uv1FcqUSjmbPpQkbNtYIDck6u0qzM0rG+n0/1EjyQbPSr3MhW/pkWs5nx2Nljlyg==" - }, - "@aws-sdk/token-providers": { - "version": "3.614.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.614.0.tgz", - "integrity": "sha512-okItqyY6L9IHdxqs+Z116y5/nda7rHxLvROxtAJdLavWTYDydxrZstImNgGWTeVdmc0xX2gJCI77UYUTQWnhRw==", + "@aws-crypto/util": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-5.2.0.tgz", + "integrity": "sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==", "requires": { - "@aws-sdk/types": "3.609.0", - "@smithy/property-provider": "^3.1.3", - "@smithy/shared-ini-file-loader": "^3.1.4", - "@smithy/types": "^3.3.0", + "@aws-sdk/types": "^3.222.0", + "@smithy/util-utf8": "^2.0.0", "tslib": "^2.6.2" }, "dependencies": { - "@aws-sdk/types": { - "version": "3.609.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", - "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", + "@smithy/is-array-buffer": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz", + "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==", "requires": { - "@smithy/types": "^3.3.0", "tslib": "^2.6.2" } - } - } - }, - "@aws-sdk/types": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.357.0.tgz", - "integrity": "sha512-/riCRaXg3p71BeWnShrai0y0QTdXcouPSM0Cn1olZbzTf7s71aLEewrc96qFrL70XhY4XvnxMpqQh+r43XIL3g==", - "requires": { - "tslib": "^2.5.0" - } - }, - "@aws-sdk/util-dynamodb": { - "version": "3.621.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-dynamodb/-/util-dynamodb-3.621.0.tgz", - "integrity": "sha512-/3qEmZ52FdP4+3AUsUX0/wKcCF3jvAG+avVKuSCUYIdKgSIYKSeYfH8F3/r6DE3czaFevBwHRiuKHEihCMApGw==", - "requires": { - "tslib": "^2.6.2" - } - }, - "@aws-sdk/util-endpoints": { - "version": "3.614.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.614.0.tgz", - "integrity": "sha512-wK2cdrXHH4oz4IomV/yrGkftU9A+ITB6nFL+rxxyO78is2ifHJpFdV4aqk4LSkXYPi6CXWNru/Dqc7yiKXgJPw==", - "requires": { - "@aws-sdk/types": "3.609.0", - "@smithy/types": "^3.3.0", - "@smithy/util-endpoints": "^2.0.5", - "tslib": "^2.6.2" - }, - "dependencies": { - "@aws-sdk/types": { - "version": "3.609.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", - "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", + }, + "@smithy/util-buffer-from": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz", + "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==", "requires": { - "@smithy/types": "^3.3.0", + "@smithy/is-array-buffer": "^2.2.0", "tslib": "^2.6.2" } - } - } - }, - "@aws-sdk/util-format-url": { - "version": "3.609.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-format-url/-/util-format-url-3.609.0.tgz", - "integrity": "sha512-fuk29BI/oLQlJ7pfm6iJ4gkEpHdavffAALZwXh9eaY1vQ0ip0aKfRTiNudPoJjyyahnz5yJ1HkmlcDitlzsOrQ==", - "requires": { - "@aws-sdk/types": "3.609.0", - "@smithy/querystring-builder": "^3.0.3", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - }, - "dependencies": { - "@aws-sdk/types": { - "version": "3.609.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", - "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", + }, + "@smithy/util-utf8": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz", + "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==", "requires": { - "@smithy/types": "^3.3.0", + "@smithy/util-buffer-from": "^2.2.0", "tslib": "^2.6.2" } } } }, - "@aws-sdk/util-locate-window": { - "version": "3.568.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.568.0.tgz", - "integrity": "sha512-3nh4TINkXYr+H41QaPelCceEB2FXP3fxp93YZXB/kqJvX0U9j0N0Uk45gvsjmEPzG8XxkPEeLIfT2I1M7A6Lig==", + "@aws-lambda-powertools/commons": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@aws-lambda-powertools/commons/-/commons-2.10.0.tgz", + "integrity": "sha512-XHC0FW/k33JWc2SZ9pbOJQPzNCMoRGnRuX/Cx1CYXRvRnaLYkPNRPrPYvGWy1OInAS3GSK6zxP1Asx0k4uaqSw==" + }, + "@aws-lambda-powertools/logger": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@aws-lambda-powertools/logger/-/logger-2.10.0.tgz", + "integrity": "sha512-QsVnoCBf6gKneGmSrIj1nxf34jWWOyDu4PO3I+VwkaH60lph2dIVcF1pP1zZagxUoYt9WWiddHcGQ7ORo0z5iw==", "requires": { - "tslib": "^2.6.2" + "@aws-lambda-powertools/commons": "^2.10.0", + "lodash.merge": "^4.6.2" } }, - "@aws-sdk/util-user-agent-browser": { - "version": "3.609.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.609.0.tgz", - "integrity": "sha512-fojPU+mNahzQ0YHYBsx0ZIhmMA96H+ZIZ665ObU9tl+SGdbLneVZVikGve+NmHTQwHzwkFsZYYnVKAkreJLAtA==", + "@aws-sdk/abort-controller": { + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.357.0.tgz", + "integrity": "sha512-nQYDJon87quPwt2JZJwUN2GFKJnvE5kWb6tZP4xb5biSGUKBqDQo06oYed7yokatCuCMouIXV462aN0fWODtOw==", + "peer": true, + "requires": { + "@aws-sdk/types": "3.357.0", + "tslib": "^2.5.0" + } + }, + "@aws-sdk/client-config-service": { + "version": "3.621.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-config-service/-/client-config-service-3.621.0.tgz", + "integrity": "sha512-6hqRpwrQXAhmSLwAawqVYu0/az56TF1/YUoFDGlsuB1Dd8cXRBXK5o5J8diYLUNa9I40+7hV72xceu4fyrEoCQ==", "requires": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/client-sso-oidc": "3.621.0", + "@aws-sdk/client-sts": "3.621.0", + "@aws-sdk/core": "3.621.0", + "@aws-sdk/credential-provider-node": "3.621.0", + "@aws-sdk/middleware-host-header": "3.620.0", + "@aws-sdk/middleware-logger": "3.609.0", + "@aws-sdk/middleware-recursion-detection": "3.620.0", + "@aws-sdk/middleware-user-agent": "3.620.0", + "@aws-sdk/region-config-resolver": "3.614.0", "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.614.0", + "@aws-sdk/util-user-agent-browser": "3.609.0", + "@aws-sdk/util-user-agent-node": "3.614.0", + "@smithy/config-resolver": "^3.0.5", + "@smithy/core": "^2.3.1", + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/hash-node": "^3.0.3", + "@smithy/invalid-dependency": "^3.0.3", + "@smithy/middleware-content-length": "^3.0.5", + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-retry": "^3.0.13", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.1.11", "@smithy/types": "^3.3.0", - "bowser": "^2.11.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.13", + "@smithy/util-defaults-mode-node": "^3.0.13", + "@smithy/util-endpoints": "^2.0.5", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "@smithy/util-utf8": "^3.0.0", "tslib": "^2.6.2" }, "dependencies": { @@ -6769,18 +5471,66 @@ "@smithy/types": "^3.3.0", "tslib": "^2.6.2" } + }, + "@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "requires": { + "tslib": "^2.6.2" + } } } }, - "@aws-sdk/util-user-agent-node": { - "version": "3.614.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.614.0.tgz", - "integrity": "sha512-15ElZT88peoHnq5TEoEtZwoXTXRxNrk60TZNdpl/TUBJ5oNJ9Dqb5Z4ryb8ofN6nm9aFf59GVAerFDz8iUoHBA==", + "@aws-sdk/client-dynamodb": { + "version": "3.621.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-dynamodb/-/client-dynamodb-3.621.0.tgz", + "integrity": "sha512-aczOoVyufYwBCc/zZKJOP/xwbnojKQJ6Y8O7ZAZnxMPRyZXKXpoAxmlxLfOU6GUzXqzXdvj+Ir3VBd7MWB4KuQ==", "requires": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/client-sso-oidc": "3.621.0", + "@aws-sdk/client-sts": "3.621.0", + "@aws-sdk/core": "3.621.0", + "@aws-sdk/credential-provider-node": "3.621.0", + "@aws-sdk/middleware-endpoint-discovery": "3.620.0", + "@aws-sdk/middleware-host-header": "3.620.0", + "@aws-sdk/middleware-logger": "3.609.0", + "@aws-sdk/middleware-recursion-detection": "3.620.0", + "@aws-sdk/middleware-user-agent": "3.620.0", + "@aws-sdk/region-config-resolver": "3.614.0", "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.614.0", + "@aws-sdk/util-user-agent-browser": "3.609.0", + "@aws-sdk/util-user-agent-node": "3.614.0", + "@smithy/config-resolver": "^3.0.5", + "@smithy/core": "^2.3.1", + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/hash-node": "^3.0.3", + "@smithy/invalid-dependency": "^3.0.3", + "@smithy/middleware-content-length": "^3.0.5", + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-retry": "^3.0.13", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/middleware-stack": "^3.0.3", "@smithy/node-config-provider": "^3.1.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.1.11", "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" + "@smithy/url-parser": "^3.0.3", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.13", + "@smithy/util-defaults-mode-node": "^3.0.13", + "@smithy/util-endpoints": "^2.0.5", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "@smithy/util-utf8": "^3.0.0", + "@smithy/util-waiter": "^3.1.2", + "tslib": "^2.6.2", + "uuid": "^9.0.1" }, "dependencies": { "@aws-sdk/types": { @@ -6791,1219 +5541,1568 @@ "@smithy/types": "^3.3.0", "tslib": "^2.6.2" } - } - } - }, - "@babel/code-frame": { - "version": "7.22.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", - "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", - "dev": true, - "requires": { - "@babel/highlight": "^7.22.13", - "chalk": "^2.4.2" - }, - "dependencies": { - "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==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "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==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, + "@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", "requires": { - "has-flag": "^3.0.0" + "tslib": "^2.6.2" } } } }, - "@babel/compat-data": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.5.tgz", - "integrity": "sha512-4Jc/YuIaYqKnDDz892kPIledykKg12Aw1PYX5i/TY28anJtacvM1Rrr8wbieB9GfEJwlzqT0hUEao0CxEebiDA==", - "dev": true - }, - "@babel/core": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.5.tgz", - "integrity": "sha512-SBuTAjg91A3eKOvD+bPEz3LlhHZRNu1nFOVts9lzDJTXshHTjII0BAtDS3Y2DAkdZdDKWVZGVwkDfc4Clxn1dg==", - "dev": true, - "requires": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.22.5", - "@babel/generator": "^7.22.5", - "@babel/helper-compilation-targets": "^7.22.5", - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helpers": "^7.22.5", - "@babel/parser": "^7.22.5", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", - "@babel/types": "^7.22.5", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "@babel/generator": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", - "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", - "dev": true, - "requires": { - "@babel/types": "^7.23.0", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.5.tgz", - "integrity": "sha512-Ji+ywpHeuqxB8WDxraCiqR0xfhYjiDE/e6k7FuIaANnoOFxAHskHChz4vA1mJC9Lbm01s1PVAGhQY4FUKSkGZw==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.22.5", - "@babel/helper-validator-option": "^7.22.5", - "browserslist": "^4.21.3", - "lru-cache": "^5.1.1", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", - "dev": true - }, - "@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", - "dev": true, - "requires": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-module-imports": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", - "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-module-transforms": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.5.tgz", - "integrity": "sha512-+hGKDt/Ze8GFExiVHno/2dvG5IdstpzCq0y4Qc9OJ25D4q3pKfiIP/4Vp3/JvhDkLKsDK2api3q3fpIgiIF5bw==", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-module-imports": "^7.22.5", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-simple-access": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", - "dev": true - }, - "@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", - "dev": true - }, - "@babel/helper-validator-option": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", - "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==", - "dev": true - }, - "@babel/helpers": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.5.tgz", - "integrity": "sha512-pSXRmfE1vzcUIDFQcSGA5Mr+GxBV9oiRKDuDxXvWQQBCh8HoIjs/2DlDB7H8smac1IVrB9/xdXj2N3Wol9Cr+Q==", - "dev": true, - "requires": { - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", - "@babel/types": "^7.22.5" - } - }, - "@babel/highlight": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", - "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", - "dev": true, + "@aws-sdk/client-ec2": { + "version": "3.621.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-ec2/-/client-ec2-3.621.0.tgz", + "integrity": "sha512-6gMfJL0LgoY0PE3Sw56JHA5qcP2Z+Xz+TPTuDmdOPwFyZI6A1hsf7XBeb9Ye8QRmBxoiflChaiBn7obANAj5tw==", "requires": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/client-sso-oidc": "3.621.0", + "@aws-sdk/client-sts": "3.621.0", + "@aws-sdk/core": "3.621.0", + "@aws-sdk/credential-provider-node": "3.621.0", + "@aws-sdk/middleware-host-header": "3.620.0", + "@aws-sdk/middleware-logger": "3.609.0", + "@aws-sdk/middleware-recursion-detection": "3.620.0", + "@aws-sdk/middleware-sdk-ec2": "3.621.0", + "@aws-sdk/middleware-user-agent": "3.620.0", + "@aws-sdk/region-config-resolver": "3.614.0", + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.614.0", + "@aws-sdk/util-user-agent-browser": "3.609.0", + "@aws-sdk/util-user-agent-node": "3.614.0", + "@smithy/config-resolver": "^3.0.5", + "@smithy/core": "^2.3.1", + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/hash-node": "^3.0.3", + "@smithy/invalid-dependency": "^3.0.3", + "@smithy/middleware-content-length": "^3.0.5", + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-retry": "^3.0.13", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.1.11", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.13", + "@smithy/util-defaults-mode-node": "^3.0.13", + "@smithy/util-endpoints": "^2.0.5", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "@smithy/util-utf8": "^3.0.0", + "@smithy/util-waiter": "^3.1.2", + "tslib": "^2.6.2", + "uuid": "^9.0.1" }, "dependencies": { - "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==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "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==", - "dev": true, + "@aws-sdk/types": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", + "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", "requires": { - "color-name": "1.1.3" + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" } }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, + "@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", "requires": { - "has-flag": "^3.0.0" + "tslib": "^2.6.2" } } } }, - "@babel/parser": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", - "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", - "dev": true - }, - "@babel/template": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", - "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.22.13", - "@babel/parser": "^7.22.15", - "@babel/types": "^7.22.15" - } - }, - "@babel/traverse": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", - "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.23.0", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.0", - "@babel/types": "^7.23.0", - "debug": "^4.1.0", - "globals": "^11.1.0" - } - }, - "@babel/types": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", - "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", - "dev": true, - "requires": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.20", - "to-fast-properties": "^2.0.0" - } - }, - "@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^3.3.0" - } - }, - "@eslint-community/regexpp": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.9.1.tgz", - "integrity": "sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==", - "dev": true - }, - "@eslint/eslintrc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", - "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", - "dev": true, + "@aws-sdk/client-organizations": { + "version": "3.621.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-organizations/-/client-organizations-3.621.0.tgz", + "integrity": "sha512-yzQPgzVDtDxhzdAVMlW95lyy2576OmVUs6xCNO10aalD3a6H4E1zwyX0o6/wLyLP0pVjCY+4uzmNtOb4Wann9g==", "requires": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/client-sso-oidc": "3.621.0", + "@aws-sdk/client-sts": "3.621.0", + "@aws-sdk/core": "3.621.0", + "@aws-sdk/credential-provider-node": "3.621.0", + "@aws-sdk/middleware-host-header": "3.620.0", + "@aws-sdk/middleware-logger": "3.609.0", + "@aws-sdk/middleware-recursion-detection": "3.620.0", + "@aws-sdk/middleware-user-agent": "3.620.0", + "@aws-sdk/region-config-resolver": "3.614.0", + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.614.0", + "@aws-sdk/util-user-agent-browser": "3.609.0", + "@aws-sdk/util-user-agent-node": "3.614.0", + "@smithy/config-resolver": "^3.0.5", + "@smithy/core": "^2.3.1", + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/hash-node": "^3.0.3", + "@smithy/invalid-dependency": "^3.0.3", + "@smithy/middleware-content-length": "^3.0.5", + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-retry": "^3.0.13", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.1.11", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.13", + "@smithy/util-defaults-mode-node": "^3.0.13", + "@smithy/util-endpoints": "^2.0.5", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" }, "dependencies": { - "globals": { - "version": "13.23.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", - "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", - "dev": true, + "@aws-sdk/types": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", + "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", "requires": { - "type-fest": "^0.20.2" + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" } }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, + "@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", "requires": { - "brace-expansion": "^1.1.7" + "tslib": "^2.6.2" } - }, - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true } } }, - "@eslint/js": { - "version": "8.51.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.51.0.tgz", - "integrity": "sha512-HxjQ8Qn+4SI3/AFv6sOrDB+g6PpUTDwSJiQqOrnneEk8L71161srI9gjzzZvYVbzHiVg/BvcH95+cK/zfIt4pg==", - "dev": true - }, - "@humanwhocodes/config-array": { - "version": "0.11.13", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", - "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==", - "dev": true, + "@aws-sdk/client-sso": { + "version": "3.621.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.621.0.tgz", + "integrity": "sha512-xpKfikN4u0BaUYZA9FGUMkkDmfoIP0Q03+A86WjqDWhcOoqNA1DkHsE4kZ+r064ifkPUfcNuUvlkVTEoBZoFjA==", "requires": { - "@humanwhocodes/object-schema": "^2.0.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "3.621.0", + "@aws-sdk/middleware-host-header": "3.620.0", + "@aws-sdk/middleware-logger": "3.609.0", + "@aws-sdk/middleware-recursion-detection": "3.620.0", + "@aws-sdk/middleware-user-agent": "3.620.0", + "@aws-sdk/region-config-resolver": "3.614.0", + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.614.0", + "@aws-sdk/util-user-agent-browser": "3.609.0", + "@aws-sdk/util-user-agent-node": "3.614.0", + "@smithy/config-resolver": "^3.0.5", + "@smithy/core": "^2.3.1", + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/hash-node": "^3.0.3", + "@smithy/invalid-dependency": "^3.0.3", + "@smithy/middleware-content-length": "^3.0.5", + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-retry": "^3.0.13", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.1.11", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.13", + "@smithy/util-defaults-mode-node": "^3.0.13", + "@smithy/util-endpoints": "^2.0.5", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" }, "dependencies": { - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, + "@aws-sdk/types": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", + "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", "requires": { - "brace-expansion": "^1.1.7" + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "requires": { + "tslib": "^2.6.2" } } } }, - "@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true - }, - "@humanwhocodes/object-schema": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz", - "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==", - "dev": true - }, - "@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "dev": true, + "@aws-sdk/client-sso-oidc": { + "version": "3.621.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.621.0.tgz", + "integrity": "sha512-mMjk3mFUwV2Y68POf1BQMTF+F6qxt5tPu6daEUCNGC9Cenk3h2YXQQoS4/eSyYzuBiYk3vx49VgleRvdvkg8rg==", "requires": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "3.621.0", + "@aws-sdk/credential-provider-node": "3.621.0", + "@aws-sdk/middleware-host-header": "3.620.0", + "@aws-sdk/middleware-logger": "3.609.0", + "@aws-sdk/middleware-recursion-detection": "3.620.0", + "@aws-sdk/middleware-user-agent": "3.620.0", + "@aws-sdk/region-config-resolver": "3.614.0", + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.614.0", + "@aws-sdk/util-user-agent-browser": "3.609.0", + "@aws-sdk/util-user-agent-node": "3.614.0", + "@smithy/config-resolver": "^3.0.5", + "@smithy/core": "^2.3.1", + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/hash-node": "^3.0.3", + "@smithy/invalid-dependency": "^3.0.3", + "@smithy/middleware-content-length": "^3.0.5", + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-retry": "^3.0.13", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.1.11", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.13", + "@smithy/util-defaults-mode-node": "^3.0.13", + "@smithy/util-endpoints": "^2.0.5", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" }, "dependencies": { - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "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==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, + "@aws-sdk/types": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", + "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", "requires": { - "p-try": "^2.0.0" + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" } }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, + "@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", "requires": { - "p-limit": "^2.2.0" + "tslib": "^2.6.2" } } } }, - "@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", - "dev": true - }, - "@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", - "dev": true, - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", - "dev": true - }, - "@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "dev": true - }, - "@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "dev": true - }, - "@jridgewell/trace-mapping": { - "version": "0.3.18", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", - "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", - "dev": true, + "@aws-sdk/client-sts": { + "version": "3.621.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.621.0.tgz", + "integrity": "sha512-707uiuReSt+nAx6d0c21xLjLm2lxeKc7padxjv92CIrIocnQSlJPxSCM7r5zBhwiahJA6MNQwmTl2xznU67KgA==", "requires": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/client-sso-oidc": "3.621.0", + "@aws-sdk/core": "3.621.0", + "@aws-sdk/credential-provider-node": "3.621.0", + "@aws-sdk/middleware-host-header": "3.620.0", + "@aws-sdk/middleware-logger": "3.609.0", + "@aws-sdk/middleware-recursion-detection": "3.620.0", + "@aws-sdk/middleware-user-agent": "3.620.0", + "@aws-sdk/region-config-resolver": "3.614.0", + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.614.0", + "@aws-sdk/util-user-agent-browser": "3.609.0", + "@aws-sdk/util-user-agent-node": "3.614.0", + "@smithy/config-resolver": "^3.0.5", + "@smithy/core": "^2.3.1", + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/hash-node": "^3.0.3", + "@smithy/invalid-dependency": "^3.0.3", + "@smithy/middleware-content-length": "^3.0.5", + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-retry": "^3.0.13", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.1.11", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.13", + "@smithy/util-defaults-mode-node": "^3.0.13", + "@smithy/util-endpoints": "^2.0.5", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" }, "dependencies": { - "@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "dev": true + "@aws-sdk/types": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", + "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", + "requires": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "requires": { + "tslib": "^2.6.2" + } } } }, - "@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==", - "dev": true, - "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==", - "dev": true - }, - "@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==", - "dev": true, - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - } - }, - "@sinonjs/commons": { - "version": "1.8.6", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", - "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", - "dev": true, - "requires": { - "type-detect": "4.0.8" - } - }, - "@sinonjs/fake-timers": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz", - "integrity": "sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg==", - "dev": true, + "@aws-sdk/core": { + "version": "3.621.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.621.0.tgz", + "integrity": "sha512-CtOwWmDdEiINkGXD93iGfXjN0WmCp9l45cDWHHGa8lRgEDyhuL7bwd/pH5aSzj0j8SiQBG2k0S7DHbd5RaqvbQ==", "requires": { - "@sinonjs/commons": "^1.7.0" + "@smithy/core": "^2.3.1", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/signature-v4": "^4.1.0", + "@smithy/smithy-client": "^3.1.11", + "@smithy/types": "^3.3.0", + "@smithy/util-middleware": "^3.0.3", + "fast-xml-parser": "4.4.1", + "tslib": "^2.6.2" + }, + "dependencies": { + "@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "requires": { + "tslib": "^2.6.2" + } + } } }, - "@sinonjs/samsam": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-8.0.0.tgz", - "integrity": "sha512-Bp8KUVlLp8ibJZrnvq2foVhP0IVX2CIprMJPK0vqGqgrDa0OHVKeZyBykqskkrdxV6yKBPmGasO8LVjAKR3Gew==", - "dev": true, + "@aws-sdk/credential-provider-env": { + "version": "3.620.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.620.1.tgz", + "integrity": "sha512-ExuILJ2qLW5ZO+rgkNRj0xiAipKT16Rk77buvPP8csR7kkCflT/gXTyzRe/uzIiETTxM7tr8xuO9MP/DQXqkfg==", "requires": { - "@sinonjs/commons": "^2.0.0", - "lodash.get": "^4.4.2", - "type-detect": "^4.0.8" + "@aws-sdk/types": "3.609.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "dependencies": { - "@sinonjs/commons": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", - "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", - "dev": true, + "@aws-sdk/types": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", + "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", "requires": { - "type-detect": "4.0.8" + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "requires": { + "tslib": "^2.6.2" } } } }, - "@sinonjs/text-encoding": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.2.tgz", - "integrity": "sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ==", - "dev": true - }, - "@smithy/abort-controller": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-3.1.1.tgz", - "integrity": "sha512-MBJBiidoe+0cTFhyxT8g+9g7CeVccLM0IOKKUMCNQ1CNMJ/eIfoo0RTfVrXOONEI1UCN1W+zkiHSbzUNE9dZtQ==", + "@aws-sdk/credential-provider-http": { + "version": "3.621.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.621.0.tgz", + "integrity": "sha512-/jc2tEsdkT1QQAI5Dvoci50DbSxtJrevemwFsm0B73pwCcOQZ5ZwwSdVqGsPutzYzUVx3bcXg3LRL7jLACqRIg==", "requires": { + "@aws-sdk/types": "3.609.0", + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/property-provider": "^3.1.3", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.1.11", "@smithy/types": "^3.3.0", + "@smithy/util-stream": "^3.1.3", "tslib": "^2.6.2" + }, + "dependencies": { + "@aws-sdk/types": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", + "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", + "requires": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "requires": { + "tslib": "^2.6.2" + } + } } }, - "@smithy/config-resolver": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-3.0.5.tgz", - "integrity": "sha512-SkW5LxfkSI1bUC74OtfBbdz+grQXYiPYolyu8VfpLIjEoN/sHVBlLeGXMQ1vX4ejkgfv6sxVbQJ32yF2cl1veA==", + "@aws-sdk/credential-provider-ini": { + "version": "3.621.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.621.0.tgz", + "integrity": "sha512-0EWVnSc+JQn5HLnF5Xv405M8n4zfdx9gyGdpnCmAmFqEDHA8LmBdxJdpUk1Ovp/I5oPANhjojxabIW5f1uU0RA==", "requires": { - "@smithy/node-config-provider": "^3.1.4", + "@aws-sdk/credential-provider-env": "3.620.1", + "@aws-sdk/credential-provider-http": "3.621.0", + "@aws-sdk/credential-provider-process": "3.620.1", + "@aws-sdk/credential-provider-sso": "3.621.0", + "@aws-sdk/credential-provider-web-identity": "3.621.0", + "@aws-sdk/types": "3.609.0", + "@smithy/credential-provider-imds": "^3.2.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", "@smithy/types": "^3.3.0", - "@smithy/util-config-provider": "^3.0.0", - "@smithy/util-middleware": "^3.0.3", "tslib": "^2.6.2" + }, + "dependencies": { + "@aws-sdk/types": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", + "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", + "requires": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "requires": { + "tslib": "^2.6.2" + } + } } }, - "@smithy/core": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/@smithy/core/-/core-2.3.1.tgz", - "integrity": "sha512-BC7VMXx/1BCmRPCVzzn4HGWAtsrb7/0758EtwOGFJQrlSwJBEjCcDLNZLFoL/68JexYa2s+KmgL/UfmXdG6v1w==", + "@aws-sdk/credential-provider-node": { + "version": "3.621.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.621.0.tgz", + "integrity": "sha512-4JqpccUgz5Snanpt2+53hbOBbJQrSFq7E1sAAbgY6BKVQUsW5qyXqnjvSF32kDeKa5JpBl3bBWLZl04IadcPHw==", "requires": { - "@smithy/middleware-endpoint": "^3.1.0", - "@smithy/middleware-retry": "^3.0.13", - "@smithy/middleware-serde": "^3.0.3", - "@smithy/protocol-http": "^4.1.0", - "@smithy/smithy-client": "^3.1.11", + "@aws-sdk/credential-provider-env": "3.620.1", + "@aws-sdk/credential-provider-http": "3.621.0", + "@aws-sdk/credential-provider-ini": "3.621.0", + "@aws-sdk/credential-provider-process": "3.620.1", + "@aws-sdk/credential-provider-sso": "3.621.0", + "@aws-sdk/credential-provider-web-identity": "3.621.0", + "@aws-sdk/types": "3.609.0", + "@smithy/credential-provider-imds": "^3.2.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", "@smithy/types": "^3.3.0", - "@smithy/util-middleware": "^3.0.3", "tslib": "^2.6.2" + }, + "dependencies": { + "@aws-sdk/types": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", + "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", + "requires": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "requires": { + "tslib": "^2.6.2" + } + } } }, - "@smithy/credential-provider-imds": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-3.2.0.tgz", - "integrity": "sha512-0SCIzgd8LYZ9EJxUjLXBmEKSZR/P/w6l7Rz/pab9culE/RWuqelAKGJvn5qUOl8BgX8Yj5HWM50A5hiB/RzsgA==", + "@aws-sdk/credential-provider-process": { + "version": "3.620.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.620.1.tgz", + "integrity": "sha512-hWqFMidqLAkaV9G460+1at6qa9vySbjQKKc04p59OT7lZ5cO5VH5S4aI05e+m4j364MBROjjk2ugNvfNf/8ILg==", "requires": { - "@smithy/node-config-provider": "^3.1.4", + "@aws-sdk/types": "3.609.0", "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", "@smithy/types": "^3.3.0", - "@smithy/url-parser": "^3.0.3", "tslib": "^2.6.2" + }, + "dependencies": { + "@aws-sdk/types": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", + "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", + "requires": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "requires": { + "tslib": "^2.6.2" + } + } } }, - "@smithy/fetch-http-handler": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-3.2.4.tgz", - "integrity": "sha512-kBprh5Gs5h7ug4nBWZi1FZthdqSM+T7zMmsZxx0IBvWUn7dK3diz2SHn7Bs4dQGFDk8plDv375gzenDoNwrXjg==", + "@aws-sdk/credential-provider-sso": { + "version": "3.621.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.621.0.tgz", + "integrity": "sha512-Kza0jcFeA/GEL6xJlzR2KFf1PfZKMFnxfGzJzl5yN7EjoGdMijl34KaRyVnfRjnCWcsUpBWKNIDk9WZVMY9yiw==", "requires": { - "@smithy/protocol-http": "^4.1.0", - "@smithy/querystring-builder": "^3.0.3", + "@aws-sdk/client-sso": "3.621.0", + "@aws-sdk/token-providers": "3.614.0", + "@aws-sdk/types": "3.609.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", "@smithy/types": "^3.3.0", - "@smithy/util-base64": "^3.0.0", "tslib": "^2.6.2" + }, + "dependencies": { + "@aws-sdk/types": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", + "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", + "requires": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "requires": { + "tslib": "^2.6.2" + } + } } }, - "@smithy/hash-node": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-3.0.3.tgz", - "integrity": "sha512-2ctBXpPMG+B3BtWSGNnKELJ7SH9e4TNefJS0cd2eSkOOROeBnnVBnAy9LtJ8tY4vUEoe55N4CNPxzbWvR39iBw==", + "@aws-sdk/credential-provider-web-identity": { + "version": "3.621.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.621.0.tgz", + "integrity": "sha512-w7ASSyfNvcx7+bYGep3VBgC3K6vEdLmlpjT7nSIHxxQf+WSdvy+HynwJosrpZax0sK5q0D1Jpn/5q+r5lwwW6w==", "requires": { + "@aws-sdk/types": "3.609.0", + "@smithy/property-provider": "^3.1.3", "@smithy/types": "^3.3.0", - "@smithy/util-buffer-from": "^3.0.0", - "@smithy/util-utf8": "^3.0.0", "tslib": "^2.6.2" + }, + "dependencies": { + "@aws-sdk/types": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", + "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", + "requires": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "requires": { + "tslib": "^2.6.2" + } + } } }, - "@smithy/invalid-dependency": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-3.0.3.tgz", - "integrity": "sha512-ID1eL/zpDULmHJbflb864k72/SNOZCADRc9i7Exq3RUNJw6raWUSlFEQ+3PX3EYs++bTxZB2dE9mEHTQLv61tw==", + "@aws-sdk/endpoint-cache": { + "version": "3.572.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/endpoint-cache/-/endpoint-cache-3.572.0.tgz", + "integrity": "sha512-CzuRWMj/xtN9p9eP915nlPmlyniTzke732Ow/M60++gGgB3W+RtZyFftw3TEx+NzNhd1tH54dEcGiWdiNaBz3Q==", "requires": { - "@smithy/types": "^3.3.0", + "mnemonist": "0.38.3", "tslib": "^2.6.2" } }, - "@smithy/is-array-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", - "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", - "requires": { - "tslib": "^2.6.2" + "@aws-sdk/fetch-http-handler": { + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.357.0.tgz", + "integrity": "sha512-5sPloTO8y8fAnS/6/Sfp/aVoL9zuhzkLdWBORNzMazdynVNEzWKWCPZ27RQpgkaCDHiXjqUY4kfuFXAGkvFfDQ==", + "peer": true, + "requires": { + "@aws-sdk/protocol-http": "3.357.0", + "@aws-sdk/querystring-builder": "3.357.0", + "@aws-sdk/types": "3.357.0", + "@aws-sdk/util-base64": "3.310.0", + "tslib": "^2.5.0" } }, - "@smithy/middleware-content-length": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-3.0.5.tgz", - "integrity": "sha512-ILEzC2eyxx6ncej3zZSwMpB5RJ0zuqH7eMptxC4KN3f+v9bqT8ohssKbhNR78k/2tWW+KS5Spw+tbPF4Ejyqvw==", + "@aws-sdk/is-array-buffer": { + "version": "3.310.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.310.0.tgz", + "integrity": "sha512-urnbcCR+h9NWUnmOtet/s4ghvzsidFmspfhYaHAmSRdy9yDjdjBJMFjjsn85A1ODUktztm+cVncXjQ38WCMjMQ==", + "peer": true, "requires": { - "@smithy/protocol-http": "^4.1.0", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" + "tslib": "^2.5.0" } }, - "@smithy/middleware-endpoint": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-3.1.0.tgz", - "integrity": "sha512-5y5aiKCEwg9TDPB4yFE7H6tYvGFf1OJHNczeY10/EFF8Ir8jZbNntQJxMWNfeQjC1mxPsaQ6mR9cvQbf+0YeMw==", + "@aws-sdk/lib-dynamodb": { + "version": "3.359.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/lib-dynamodb/-/lib-dynamodb-3.359.0.tgz", + "integrity": "sha512-O5aajgyqH4xf4aBhKNwgM+HG58nJZS0shTd5gxesI51WlTrssciDgfZO9y57TnkgJd4i87GlqVvC2BQj8iPx8g==", "requires": { - "@smithy/middleware-serde": "^3.0.3", - "@smithy/node-config-provider": "^3.1.4", - "@smithy/shared-ini-file-loader": "^3.1.4", - "@smithy/types": "^3.3.0", - "@smithy/url-parser": "^3.0.3", - "@smithy/util-middleware": "^3.0.3", - "tslib": "^2.6.2" + "@aws-sdk/util-dynamodb": "3.359.0", + "tslib": "^2.5.0" } }, - "@smithy/middleware-retry": { - "version": "3.0.13", - "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-3.0.13.tgz", - "integrity": "sha512-zvCLfaRYCaUmjbF2yxShGZdolSHft7NNCTA28HVN9hKcEbOH+g5irr1X9s+in8EpambclGnevZY4A3lYpvDCFw==", + "@aws-sdk/middleware-endpoint-discovery": { + "version": "3.620.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-endpoint-discovery/-/middleware-endpoint-discovery-3.620.0.tgz", + "integrity": "sha512-T6kuydHBF4BPP5CVH53Fze7c2b9rqxWP88XrGtmNMXXdY4sXur1v/itGdS2l3gqRjxKo0LsmjmuQm9zL4vGneQ==", "requires": { + "@aws-sdk/endpoint-cache": "3.572.0", + "@aws-sdk/types": "3.609.0", "@smithy/node-config-provider": "^3.1.4", "@smithy/protocol-http": "^4.1.0", - "@smithy/service-error-classification": "^3.0.3", - "@smithy/smithy-client": "^3.1.11", "@smithy/types": "^3.3.0", - "@smithy/util-middleware": "^3.0.3", - "@smithy/util-retry": "^3.0.3", - "tslib": "^2.6.2", - "uuid": "^9.0.1" + "tslib": "^2.6.2" }, "dependencies": { - "uuid": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", - "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==" + "@aws-sdk/types": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", + "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", + "requires": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "requires": { + "tslib": "^2.6.2" + } } } }, - "@smithy/middleware-serde": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-3.0.3.tgz", - "integrity": "sha512-puUbyJQBcg9eSErFXjKNiGILJGtiqmuuNKEYNYfUD57fUl4i9+mfmThtQhvFXU0hCVG0iEJhvQUipUf+/SsFdA==", - "requires": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" - } - }, - "@smithy/middleware-stack": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-3.0.3.tgz", - "integrity": "sha512-r4klY9nFudB0r9UdSMaGSyjyQK5adUyPnQN/ZM6M75phTxOdnc/AhpvGD1fQUvgmqjQEBGCwpnPbDm8pH5PapA==", + "@aws-sdk/middleware-host-header": { + "version": "3.620.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.620.0.tgz", + "integrity": "sha512-VMtPEZwqYrII/oUkffYsNWY9PZ9xpNJpMgmyU0rlDQ25O1c0Hk3fJmZRe6pEkAJ0omD7kLrqGl1DUjQVxpd/Rg==", "requires": { + "@aws-sdk/types": "3.609.0", + "@smithy/protocol-http": "^4.1.0", "@smithy/types": "^3.3.0", "tslib": "^2.6.2" + }, + "dependencies": { + "@aws-sdk/types": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", + "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", + "requires": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "requires": { + "tslib": "^2.6.2" + } + } } }, - "@smithy/node-config-provider": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-3.1.4.tgz", - "integrity": "sha512-YvnElQy8HR4vDcAjoy7Xkx9YT8xZP4cBXcbJSgm/kxmiQu08DwUwj8rkGnyoJTpfl/3xYHH+d8zE+eHqoDCSdQ==", + "@aws-sdk/middleware-logger": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.609.0.tgz", + "integrity": "sha512-S62U2dy4jMDhDFDK5gZ4VxFdWzCtLzwbYyFZx2uvPYTECkepLUfzLic2BHg2Qvtu4QjX+oGE3P/7fwaGIsGNuQ==", "requires": { - "@smithy/property-provider": "^3.1.3", - "@smithy/shared-ini-file-loader": "^3.1.4", + "@aws-sdk/types": "3.609.0", "@smithy/types": "^3.3.0", "tslib": "^2.6.2" + }, + "dependencies": { + "@aws-sdk/types": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", + "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", + "requires": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "requires": { + "tslib": "^2.6.2" + } + } } }, - "@smithy/node-http-handler": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-3.1.4.tgz", - "integrity": "sha512-+UmxgixgOr/yLsUxcEKGH0fMNVteJFGkmRltYFHnBMlogyFdpzn2CwqWmxOrfJELhV34v0WSlaqG1UtE1uXlJg==", + "@aws-sdk/middleware-recursion-detection": { + "version": "3.620.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.620.0.tgz", + "integrity": "sha512-nh91S7aGK3e/o1ck64sA/CyoFw+gAYj2BDOnoNa6ouyCrVJED96ZXWbhye/fz9SgmNUZR2g7GdVpiLpMKZoI5w==", "requires": { - "@smithy/abort-controller": "^3.1.1", + "@aws-sdk/types": "3.609.0", "@smithy/protocol-http": "^4.1.0", - "@smithy/querystring-builder": "^3.0.3", "@smithy/types": "^3.3.0", "tslib": "^2.6.2" + }, + "dependencies": { + "@aws-sdk/types": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", + "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", + "requires": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "requires": { + "tslib": "^2.6.2" + } + } } }, - "@smithy/property-provider": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-3.1.3.tgz", - "integrity": "sha512-zahyOVR9Q4PEoguJ/NrFP4O7SMAfYO1HLhB18M+q+Z4KFd4V2obiMnlVoUFzFLSPeVt1POyNWneHHrZaTMoc/g==", + "@aws-sdk/middleware-sdk-ec2": { + "version": "3.621.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-ec2/-/middleware-sdk-ec2-3.621.0.tgz", + "integrity": "sha512-JL43dM6TZ922b6Z9jSt4bUoq9ZiTOwaw9F3Us0e6ZDcX6Su377+InUWtIqmtLfaTQhFo8FY6xmbpo0bPLMAxQA==", "requires": { + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-format-url": "3.609.0", + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/protocol-http": "^4.1.0", + "@smithy/signature-v4": "^4.1.0", + "@smithy/smithy-client": "^3.1.11", "@smithy/types": "^3.3.0", "tslib": "^2.6.2" + }, + "dependencies": { + "@aws-sdk/types": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", + "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", + "requires": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "requires": { + "tslib": "^2.6.2" + } + } } }, - "@smithy/protocol-http": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-4.1.0.tgz", - "integrity": "sha512-dPVoHYQ2wcHooGXg3LQisa1hH0e4y0pAddPMeeUPipI1tEOqL6A4N0/G7abeq+K8wrwSgjk4C0wnD1XZpJm5aA==", + "@aws-sdk/middleware-stack": { + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.357.0.tgz", + "integrity": "sha512-nNV+jfwGwmbOGZujAY/U8AW3EbVlxa9DJDLz3TPp/39o6Vu5KEzHJyDDNreo2k9V/TMvV+nOzHafufgPdagv7w==", + "peer": true, "requires": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" + "tslib": "^2.5.0" } }, - "@smithy/querystring-builder": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-3.0.3.tgz", - "integrity": "sha512-vyWckeUeesFKzCDaRwWLUA1Xym9McaA6XpFfAK5qI9DKJ4M33ooQGqvM4J+LalH4u/Dq9nFiC8U6Qn1qi0+9zw==", + "@aws-sdk/middleware-user-agent": { + "version": "3.620.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.620.0.tgz", + "integrity": "sha512-bvS6etn+KsuL32ubY5D3xNof1qkenpbJXf/ugGXbg0n98DvDFQ/F+SMLxHgbnER5dsKYchNnhmtI6/FC3HFu/A==", "requires": { + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.614.0", + "@smithy/protocol-http": "^4.1.0", "@smithy/types": "^3.3.0", - "@smithy/util-uri-escape": "^3.0.0", "tslib": "^2.6.2" + }, + "dependencies": { + "@aws-sdk/types": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", + "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", + "requires": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "requires": { + "tslib": "^2.6.2" + } + } } }, - "@smithy/querystring-parser": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-3.0.3.tgz", - "integrity": "sha512-zahM1lQv2YjmznnfQsWbYojFe55l0SLG/988brlLv1i8z3dubloLF+75ATRsqPBboUXsW6I9CPGE5rQgLfY0vQ==", - "requires": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" + "@aws-sdk/node-http-handler": { + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.357.0.tgz", + "integrity": "sha512-uoab4xIJux+Q9hQ9A/vWEAjojtBQ0U4K7xEQVa0BXEv7MHH5zv51H+VtrelU1Ed6hsHq4Sx0bxBMFpbbWhNyjA==", + "peer": true, + "requires": { + "@aws-sdk/abort-controller": "3.357.0", + "@aws-sdk/protocol-http": "3.357.0", + "@aws-sdk/querystring-builder": "3.357.0", + "@aws-sdk/types": "3.357.0", + "tslib": "^2.5.0" } }, - "@smithy/service-error-classification": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.3.tgz", - "integrity": "sha512-Jn39sSl8cim/VlkLsUhRFq/dKDnRUFlfRkvhOJaUbLBXUsLRLNf9WaxDv/z9BjuQ3A6k/qE8af1lsqcwm7+DaQ==", + "@aws-sdk/protocol-http": { + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.357.0.tgz", + "integrity": "sha512-w1JHiI50VEea7duDeAspUiKJmmdIQblvRyjVMOqWA6FIQAyDVuEiPX7/MdQr0ScxhtRQxHbP0I4MFyl7ctRQvA==", + "peer": true, "requires": { - "@smithy/types": "^3.3.0" + "@aws-sdk/types": "3.357.0", + "tslib": "^2.5.0" } }, - "@smithy/shared-ini-file-loader": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.4.tgz", - "integrity": "sha512-qMxS4hBGB8FY2GQqshcRUy1K6k8aBWP5vwm8qKkCT3A9K2dawUwOIJfqh9Yste/Bl0J2lzosVyrXDj68kLcHXQ==", + "@aws-sdk/querystring-builder": { + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.357.0.tgz", + "integrity": "sha512-aQcicqB6Y2cNaXPPwunz612a01SMiQQPsdz632F/3Lzn0ua82BJKobHOtaiTUlmVJ5Q4/EAeNfwZgL7tTUNtDQ==", + "peer": true, "requires": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" + "@aws-sdk/types": "3.357.0", + "@aws-sdk/util-uri-escape": "3.310.0", + "tslib": "^2.5.0" } }, - "@smithy/signature-v4": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-4.1.0.tgz", - "integrity": "sha512-aRryp2XNZeRcOtuJoxjydO6QTaVhxx/vjaR+gx7ZjaFgrgPRyZ3HCTbfwqYj6ZWEBHkCSUfcaymKPURaByukag==", + "@aws-sdk/region-config-resolver": { + "version": "3.614.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.614.0.tgz", + "integrity": "sha512-vDCeMXvic/LU0KFIUjpC3RiSTIkkvESsEfbVHiHH0YINfl8HnEqR5rj+L8+phsCeVg2+LmYwYxd5NRz4PHxt5g==", "requires": { - "@smithy/is-array-buffer": "^3.0.0", - "@smithy/protocol-http": "^4.1.0", + "@aws-sdk/types": "3.609.0", + "@smithy/node-config-provider": "^3.1.4", "@smithy/types": "^3.3.0", - "@smithy/util-hex-encoding": "^3.0.0", + "@smithy/util-config-provider": "^3.0.0", "@smithy/util-middleware": "^3.0.3", - "@smithy/util-uri-escape": "^3.0.0", - "@smithy/util-utf8": "^3.0.0", "tslib": "^2.6.2" + }, + "dependencies": { + "@aws-sdk/types": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", + "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", + "requires": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "requires": { + "tslib": "^2.6.2" + } + } } }, - "@smithy/smithy-client": { - "version": "3.1.11", - "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-3.1.11.tgz", - "integrity": "sha512-l0BpyYkciNyMaS+PnFFz4aO5sBcXvGLoJd7mX9xrMBIm2nIQBVvYgp2ZpPDMzwjKCavsXu06iuCm0F6ZJZc6yQ==", - "requires": { - "@smithy/middleware-endpoint": "^3.1.0", - "@smithy/middleware-stack": "^3.0.3", - "@smithy/protocol-http": "^4.1.0", - "@smithy/types": "^3.3.0", - "@smithy/util-stream": "^3.1.3", - "tslib": "^2.6.2" - } + "@aws-sdk/service-error-classification": { + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.357.0.tgz", + "integrity": "sha512-VuXeL4g5vKO9HjgCZlxmH8Uv1FcqUSjmbPpQkbNtYIDck6u0qzM0rG+n0/1EjyQbPSr3MhW/pkWs5nx2Nljlyg==" }, - "@smithy/types": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", - "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "@aws-sdk/smithy-client": { + "version": "3.358.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.358.0.tgz", + "integrity": "sha512-oqctxWb9yAqCh4ENwUkt9MC01l5uKoy+QCiSUUhQ76k7R3lyGOge9ycyRyoKl+oZWvEpnjZevXQFqEfGzkL7bA==", + "peer": true, "requires": { - "tslib": "^2.6.2" + "@aws-sdk/middleware-stack": "3.357.0", + "@aws-sdk/types": "3.357.0", + "@aws-sdk/util-stream": "3.358.0", + "@smithy/types": "^1.0.0", + "tslib": "^2.5.0" } }, - "@smithy/url-parser": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-3.0.3.tgz", - "integrity": "sha512-pw3VtZtX2rg+s6HMs6/+u9+hu6oY6U7IohGhVNnjbgKy86wcIsSZwgHrFR+t67Uyxvp4Xz3p3kGXXIpTNisq8A==", + "@aws-sdk/token-providers": { + "version": "3.614.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.614.0.tgz", + "integrity": "sha512-okItqyY6L9IHdxqs+Z116y5/nda7rHxLvROxtAJdLavWTYDydxrZstImNgGWTeVdmc0xX2gJCI77UYUTQWnhRw==", "requires": { - "@smithy/querystring-parser": "^3.0.3", + "@aws-sdk/types": "3.609.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", "@smithy/types": "^3.3.0", "tslib": "^2.6.2" + }, + "dependencies": { + "@aws-sdk/types": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", + "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", + "requires": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "requires": { + "tslib": "^2.6.2" + } + } } }, - "@smithy/util-base64": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-3.0.0.tgz", - "integrity": "sha512-Kxvoh5Qtt0CDsfajiZOCpJxgtPHXOKwmM+Zy4waD43UoEMA+qPxxa98aE/7ZhdnBFZFXMOiBR5xbcaMhLtznQQ==", - "requires": { - "@smithy/util-buffer-from": "^3.0.0", - "@smithy/util-utf8": "^3.0.0", - "tslib": "^2.6.2" - } - }, - "@smithy/util-body-length-browser": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-3.0.0.tgz", - "integrity": "sha512-cbjJs2A1mLYmqmyVl80uoLTJhAcfzMOyPgjwAYusWKMdLeNtzmMz9YxNl3/jRLoxSS3wkqkf0jwNdtXWtyEBaQ==", + "@aws-sdk/types": { + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.357.0.tgz", + "integrity": "sha512-/riCRaXg3p71BeWnShrai0y0QTdXcouPSM0Cn1olZbzTf7s71aLEewrc96qFrL70XhY4XvnxMpqQh+r43XIL3g==", "requires": { - "tslib": "^2.6.2" + "tslib": "^2.5.0" } }, - "@smithy/util-body-length-node": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-3.0.0.tgz", - "integrity": "sha512-Tj7pZ4bUloNUP6PzwhN7K386tmSmEET9QtQg0TgdNOnxhZvCssHji+oZTUIuzxECRfG8rdm2PMw2WCFs6eIYkA==", + "@aws-sdk/util-base64": { + "version": "3.310.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64/-/util-base64-3.310.0.tgz", + "integrity": "sha512-v3+HBKQvqgdzcbL+pFswlx5HQsd9L6ZTlyPVL2LS9nNXnCcR3XgGz9jRskikRUuUvUXtkSG1J88GAOnJ/apTPg==", + "peer": true, "requires": { - "tslib": "^2.6.2" + "@aws-sdk/util-buffer-from": "3.310.0", + "tslib": "^2.5.0" } }, - "@smithy/util-buffer-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", - "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", + "@aws-sdk/util-buffer-from": { + "version": "3.310.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.310.0.tgz", + "integrity": "sha512-i6LVeXFtGih5Zs8enLrt+ExXY92QV25jtEnTKHsmlFqFAuL3VBeod6boeMXkN2p9lbSVVQ1sAOOYZOHYbYkntw==", + "peer": true, "requires": { - "@smithy/is-array-buffer": "^3.0.0", - "tslib": "^2.6.2" + "@aws-sdk/is-array-buffer": "3.310.0", + "tslib": "^2.5.0" } }, - "@smithy/util-config-provider": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-3.0.0.tgz", - "integrity": "sha512-pbjk4s0fwq3Di/ANL+rCvJMKM5bzAQdE5S/6RL5NXgMExFAi6UgQMPOm5yPaIWPpr+EOXKXRonJ3FoxKf4mCJQ==", + "@aws-sdk/util-dynamodb": { + "version": "3.359.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-dynamodb/-/util-dynamodb-3.359.0.tgz", + "integrity": "sha512-Mrx+fFJToYT37AUApxJ1wE8EiMdxcMK4x/vXndok/8ISt37jdm1P0At8ahRHas+UABTKcP7X44qU2BcObDrTxg==", "requires": { - "tslib": "^2.6.2" + "tslib": "^2.5.0" } }, - "@smithy/util-defaults-mode-browser": { - "version": "3.0.13", - "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-3.0.13.tgz", - "integrity": "sha512-ZIRSUsnnMRStOP6OKtW+gCSiVFkwnfQF2xtf32QKAbHR6ACjhbAybDvry+3L5qQYdh3H6+7yD/AiUE45n8mTTw==", + "@aws-sdk/util-endpoints": { + "version": "3.614.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.614.0.tgz", + "integrity": "sha512-wK2cdrXHH4oz4IomV/yrGkftU9A+ITB6nFL+rxxyO78is2ifHJpFdV4aqk4LSkXYPi6CXWNru/Dqc7yiKXgJPw==", "requires": { - "@smithy/property-provider": "^3.1.3", - "@smithy/smithy-client": "^3.1.11", + "@aws-sdk/types": "3.609.0", "@smithy/types": "^3.3.0", - "bowser": "^2.11.0", + "@smithy/util-endpoints": "^2.0.5", "tslib": "^2.6.2" + }, + "dependencies": { + "@aws-sdk/types": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", + "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", + "requires": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "requires": { + "tslib": "^2.6.2" + } + } } }, - "@smithy/util-defaults-mode-node": { - "version": "3.0.13", - "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-3.0.13.tgz", - "integrity": "sha512-voUa8TFJGfD+U12tlNNLCDlXibt9vRdNzRX45Onk/WxZe7TS+hTOZouEZRa7oARGicdgeXvt1A0W45qLGYdy+g==", + "@aws-sdk/util-format-url": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-format-url/-/util-format-url-3.609.0.tgz", + "integrity": "sha512-fuk29BI/oLQlJ7pfm6iJ4gkEpHdavffAALZwXh9eaY1vQ0ip0aKfRTiNudPoJjyyahnz5yJ1HkmlcDitlzsOrQ==", "requires": { - "@smithy/config-resolver": "^3.0.5", - "@smithy/credential-provider-imds": "^3.2.0", - "@smithy/node-config-provider": "^3.1.4", - "@smithy/property-provider": "^3.1.3", - "@smithy/smithy-client": "^3.1.11", + "@aws-sdk/types": "3.609.0", + "@smithy/querystring-builder": "^3.0.3", "@smithy/types": "^3.3.0", "tslib": "^2.6.2" + }, + "dependencies": { + "@aws-sdk/types": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", + "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", + "requires": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "requires": { + "tslib": "^2.6.2" + } + } } }, - "@smithy/util-endpoints": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-2.0.5.tgz", - "integrity": "sha512-ReQP0BWihIE68OAblC/WQmDD40Gx+QY1Ez8mTdFMXpmjfxSyz2fVQu3A4zXRfQU9sZXtewk3GmhfOHswvX+eNg==", + "@aws-sdk/util-hex-encoding": { + "version": "3.310.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.310.0.tgz", + "integrity": "sha512-sVN7mcCCDSJ67pI1ZMtk84SKGqyix6/0A1Ab163YKn+lFBQRMKexleZzpYzNGxYzmQS6VanP/cfU7NiLQOaSfA==", + "peer": true, "requires": { - "@smithy/node-config-provider": "^3.1.4", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" + "tslib": "^2.5.0" } }, - "@smithy/util-hex-encoding": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-3.0.0.tgz", - "integrity": "sha512-eFndh1WEK5YMUYvy3lPlVmYY/fZcQE1D8oSf41Id2vCeIkKJXPcYDCZD+4+xViI6b1XSd7tE+s5AmXzz5ilabQ==", + "@aws-sdk/util-locate-window": { + "version": "3.568.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.568.0.tgz", + "integrity": "sha512-3nh4TINkXYr+H41QaPelCceEB2FXP3fxp93YZXB/kqJvX0U9j0N0Uk45gvsjmEPzG8XxkPEeLIfT2I1M7A6Lig==", "requires": { "tslib": "^2.6.2" } }, - "@smithy/util-middleware": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-3.0.3.tgz", - "integrity": "sha512-l+StyYYK/eO3DlVPbU+4Bi06Jjal+PFLSMmlWM1BEwyLxZ3aKkf1ROnoIakfaA7mC6uw3ny7JBkau4Yc+5zfWw==", + "@aws-sdk/util-stream": { + "version": "3.358.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-stream/-/util-stream-3.358.0.tgz", + "integrity": "sha512-zUhpjxAXV2+0eALlTU6uXRYMs10XYpcYzl3NtLRe4wWgnrOOOZnF/t5LQDoKXOfaMdzwZ+i90+PYr+6JQ58+7g==", + "peer": true, "requires": { - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" + "@aws-sdk/fetch-http-handler": "3.357.0", + "@aws-sdk/node-http-handler": "3.357.0", + "@aws-sdk/types": "3.357.0", + "@aws-sdk/util-base64": "3.310.0", + "@aws-sdk/util-buffer-from": "3.310.0", + "@aws-sdk/util-hex-encoding": "3.310.0", + "@aws-sdk/util-utf8": "3.310.0", + "tslib": "^2.5.0" } }, - "@smithy/util-retry": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-3.0.3.tgz", - "integrity": "sha512-AFw+hjpbtVApzpNDhbjNG5NA3kyoMs7vx0gsgmlJF4s+yz1Zlepde7J58zpIRIsdjc+emhpAITxA88qLkPF26w==", + "@aws-sdk/util-uri-escape": { + "version": "3.310.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.310.0.tgz", + "integrity": "sha512-drzt+aB2qo2LgtDoiy/3sVG8w63cgLkqFIa2NFlGpUgHFWTXkqtbgf4L5QdjRGKWhmZsnqkbtL7vkSWEcYDJ4Q==", + "peer": true, "requires": { - "@smithy/service-error-classification": "^3.0.3", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" + "tslib": "^2.5.0" } }, - "@smithy/util-stream": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-3.1.3.tgz", - "integrity": "sha512-FIv/bRhIlAxC0U7xM1BCnF2aDRPq0UaelqBHkM2lsCp26mcBbgI0tCVTv+jGdsQLUmAMybua/bjDsSu8RQHbmw==", + "@aws-sdk/util-user-agent-browser": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.609.0.tgz", + "integrity": "sha512-fojPU+mNahzQ0YHYBsx0ZIhmMA96H+ZIZ665ObU9tl+SGdbLneVZVikGve+NmHTQwHzwkFsZYYnVKAkreJLAtA==", "requires": { - "@smithy/fetch-http-handler": "^3.2.4", - "@smithy/node-http-handler": "^3.1.4", + "@aws-sdk/types": "3.609.0", "@smithy/types": "^3.3.0", - "@smithy/util-base64": "^3.0.0", - "@smithy/util-buffer-from": "^3.0.0", - "@smithy/util-hex-encoding": "^3.0.0", - "@smithy/util-utf8": "^3.0.0", - "tslib": "^2.6.2" - } - }, - "@smithy/util-uri-escape": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-3.0.0.tgz", - "integrity": "sha512-LqR7qYLgZTD7nWLBecUi4aqolw8Mhza9ArpNEQ881MJJIU2sE5iHCK6TdyqqzcDLy0OPe10IY4T8ctVdtynubg==", - "requires": { + "bowser": "^2.11.0", "tslib": "^2.6.2" + }, + "dependencies": { + "@aws-sdk/types": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", + "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", + "requires": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "requires": { + "tslib": "^2.6.2" + } + } } }, - "@smithy/util-utf8": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", - "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", + "@aws-sdk/util-user-agent-node": { + "version": "3.614.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.614.0.tgz", + "integrity": "sha512-15ElZT88peoHnq5TEoEtZwoXTXRxNrk60TZNdpl/TUBJ5oNJ9Dqb5Z4ryb8ofN6nm9aFf59GVAerFDz8iUoHBA==", "requires": { - "@smithy/util-buffer-from": "^3.0.0", + "@aws-sdk/types": "3.609.0", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" + }, + "dependencies": { + "@aws-sdk/types": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", + "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", + "requires": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + } + }, + "@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "requires": { + "tslib": "^2.6.2" + } + } } }, - "@smithy/util-waiter": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@smithy/util-waiter/-/util-waiter-3.1.2.tgz", - "integrity": "sha512-4pP0EV3iTsexDx+8PPGAKCQpd/6hsQBaQhqWzU4hqKPHN5epPsxKbvUTIiYIHTxaKt6/kEaqPBpu/ufvfbrRzw==", + "@aws-sdk/util-utf8": { + "version": "3.310.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8/-/util-utf8-3.310.0.tgz", + "integrity": "sha512-DnLfFT8uCO22uOJc0pt0DsSNau1GTisngBCDw8jQuWT5CqogMJu4b/uXmwEqfj8B3GX6Xsz8zOd6JpRlPftQoA==", + "peer": true, "requires": { - "@smithy/abort-controller": "^3.1.1", - "@smithy/types": "^3.3.0", - "tslib": "^2.6.2" + "@aws-sdk/util-buffer-from": "3.310.0", + "tslib": "^2.5.0" } }, - "@tuplo/dynoexpr": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@tuplo/dynoexpr/-/dynoexpr-3.4.0.tgz", - "integrity": "sha512-kHNiuGxNImdJPZGgV8x8GtDgGYsQuLzO5erdyvmcBmIiHb9aU/HEsE069IqlByVGMyRRpNgOTb7ZLtCbvqUAqQ==" + "@babel/helper-string-parser": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.7.tgz", + "integrity": "sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==", + "dev": true }, - "@types/cls-hooked": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/@types/cls-hooked/-/cls-hooked-4.3.3.tgz", - "integrity": "sha512-gNstDTb/ty5h6gJd6YpSPgsLX9LmRpaKJqGFp7MRlYxhwp4vXXKlJ9+bt1TZ9KbVNXE+Mbxy2AYXcpY21DDtJw==", - "requires": { - "@types/node": "*" - } + "@babel/helper-validator-identifier": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", + "dev": true }, - "@types/node": { - "version": "18.15.11", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz", - "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==" + "@babel/parser": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.7.tgz", + "integrity": "sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==", + "dev": true }, - "@types/sinon": { - "version": "10.0.10", - "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-10.0.10.tgz", - "integrity": "sha512-US5E539UfeL2DiWALzCyk0c4zKh6sCv86V/0lpda/afMJJ0oEm2SrKgedH5optvFWstnJ8e1MNYhLmPhAy4rvQ==", + "@babel/types": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.7.tgz", + "integrity": "sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==", "dev": true, "requires": { - "@sinonjs/fake-timers": "^7.1.0" + "@babel/helper-string-parser": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7", + "to-fast-properties": "^2.0.0" } }, - "acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", "dev": true }, - "acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "@esbuild/aix-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", + "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", "dev": true, - "requires": {} + "optional": true }, - "aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "@esbuild/android-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", + "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", + "dev": true, + "optional": true + }, + "@esbuild/android-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", + "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", + "dev": true, + "optional": true + }, + "@esbuild/android-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", + "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", + "dev": true, + "optional": true + }, + "@esbuild/darwin-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", + "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", + "dev": true, + "optional": true + }, + "@esbuild/darwin-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", + "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", + "dev": true, + "optional": true + }, + "@esbuild/freebsd-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", + "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", + "dev": true, + "optional": true + }, + "@esbuild/freebsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", + "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", + "dev": true, + "optional": true + }, + "@esbuild/linux-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", + "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", + "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", + "dev": true, + "optional": true + }, + "@esbuild/linux-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", + "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", + "dev": true, + "optional": true + }, + "@esbuild/linux-loong64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", + "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", + "dev": true, + "optional": true + }, + "@esbuild/linux-mips64el": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", + "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", + "dev": true, + "optional": true + }, + "@esbuild/linux-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", + "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", + "dev": true, + "optional": true + }, + "@esbuild/linux-riscv64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", + "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-s390x": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", + "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", + "dev": true, + "optional": true + }, + "@esbuild/linux-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", + "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", + "dev": true, + "optional": true + }, + "@esbuild/netbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", + "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", + "dev": true, + "optional": true + }, + "@esbuild/openbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", + "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", + "dev": true, + "optional": true + }, + "@esbuild/sunos-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", + "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", + "dev": true, + "optional": true + }, + "@esbuild/win32-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", + "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", + "dev": true, + "optional": true + }, + "@esbuild/win32-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", + "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", + "dev": true, + "optional": true + }, + "@esbuild/win32-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", + "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", + "dev": true, + "optional": true + }, + "@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", "dev": true, "requires": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" } }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true + }, + "@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", "dev": true, "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" } }, - "ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", "dev": true }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", "dev": true }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "dev": true + }, + "@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", "dev": true, "requires": { - "color-convert": "^2.0.1" + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", "dev": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } + "optional": true }, - "append-transform": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz", - "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==", + "@rollup/rollup-android-arm-eabi": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.22.4.tgz", + "integrity": "sha512-Fxamp4aEZnfPOcGA8KSNEohV8hX7zVHOemC8jVBoBUHu5zpJK/Eu3uJwt6BMgy9fkvzxDaurgj96F/NiLukF2w==", "dev": true, - "requires": { - "default-require-extensions": "^3.0.0" - } + "optional": true }, - "archy": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==", - "dev": true + "@rollup/rollup-android-arm64": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.22.4.tgz", + "integrity": "sha512-VXoK5UMrgECLYaMuGuVTOx5kcuap1Jm8g/M83RnCHBKOqvPPmROFJGQaZhGccnsFtfXQ3XYa4/jMCJvZnbJBdA==", + "dev": true, + "optional": true }, - "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 + "@rollup/rollup-darwin-arm64": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.22.4.tgz", + "integrity": "sha512-xMM9ORBqu81jyMKCDP+SZDhnX2QEVQzTcC6G18KlTQEzWK8r/oNZtKuZaCcHhnsa6fEeOBionoyl5JsAbE/36Q==", + "dev": true, + "optional": true }, - "assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", - "dev": true + "@rollup/rollup-darwin-x64": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.22.4.tgz", + "integrity": "sha512-aJJyYKQwbHuhTUrjWjxEvGnNNBCnmpHDvrb8JFDbeSH3m2XdHcxDd3jthAzvmoI8w/kSjd2y0udT+4okADsZIw==", + "dev": true, + "optional": true }, - "async-hook-jl": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/async-hook-jl/-/async-hook-jl-1.7.6.tgz", - "integrity": "sha512-gFaHkFfSxTjvoxDMYqDuGHlcRyUuamF8s+ZTtJdDzqjws4mCt7v0vuV79/E2Wr2/riMQgtG4/yUtXWs1gZ7JMg==", + "@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.22.4.tgz", + "integrity": "sha512-j63YtCIRAzbO+gC2L9dWXRh5BFetsv0j0va0Wi9epXDgU/XUi5dJKo4USTttVyK7fGw2nPWK0PbAvyliz50SCQ==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-arm-musleabihf": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.22.4.tgz", + "integrity": "sha512-dJnWUgwWBX1YBRsuKKMOlXCzh2Wu1mlHzv20TpqEsfdZLb3WoJW2kIEsGwLkroYf24IrPAvOT/ZQ2OYMV6vlrg==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-arm64-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.22.4.tgz", + "integrity": "sha512-AdPRoNi3NKVLolCN/Sp4F4N1d98c4SBnHMKoLuiG6RXgoZ4sllseuGioszumnPGmPM2O7qaAX/IJdeDU8f26Aw==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-arm64-musl": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.22.4.tgz", + "integrity": "sha512-Gl0AxBtDg8uoAn5CCqQDMqAx22Wx22pjDOjBdmG0VIWX3qUBHzYmOKh8KXHL4UpogfJ14G4wk16EQogF+v8hmA==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.22.4.tgz", + "integrity": "sha512-3aVCK9xfWW1oGQpTsYJJPF6bfpWfhbRnhdlyhak2ZiyFLDaayz0EP5j9V1RVLAAxlmWKTDfS9wyRyY3hvhPoOg==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-riscv64-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.22.4.tgz", + "integrity": "sha512-ePYIir6VYnhgv2C5Xe9u+ico4t8sZWXschR6fMgoPUK31yQu7hTEJb7bCqivHECwIClJfKgE7zYsh1qTP3WHUA==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-s390x-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.22.4.tgz", + "integrity": "sha512-GqFJ9wLlbB9daxhVlrTe61vJtEY99/xB3C8e4ULVsVfflcpmR6c8UZXjtkMA6FhNONhj2eA5Tk9uAVw5orEs4Q==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-x64-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.22.4.tgz", + "integrity": "sha512-87v0ol2sH9GE3cLQLNEy0K/R0pz1nvg76o8M5nhMR0+Q+BBGLnb35P0fVz4CQxHYXaAOhE8HhlkaZfsdUOlHwg==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-x64-musl": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.22.4.tgz", + "integrity": "sha512-UV6FZMUgePDZrFjrNGIWzDo/vABebuXBhJEqrHxrGiU6HikPy0Z3LfdtciIttEUQfuDdCn8fqh7wiFJjCNwO+g==", + "dev": true, + "optional": true + }, + "@rollup/rollup-win32-arm64-msvc": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.22.4.tgz", + "integrity": "sha512-BjI+NVVEGAXjGWYHz/vv0pBqfGoUH0IGZ0cICTn7kB9PyjrATSkX+8WkguNjWoj2qSr1im/+tTGRaY+4/PdcQw==", + "dev": true, + "optional": true + }, + "@rollup/rollup-win32-ia32-msvc": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.22.4.tgz", + "integrity": "sha512-SiWG/1TuUdPvYmzmYnmd3IEifzR61Tragkbx9D3+R8mzQqDBz8v+BvZNDlkiTtI9T15KYZhP0ehn3Dld4n9J5g==", + "dev": true, + "optional": true + }, + "@rollup/rollup-win32-x64-msvc": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.22.4.tgz", + "integrity": "sha512-j8pPKp53/lq9lMXN57S8cFz0MynJk8OWNuUnXct/9KCpKU7DgU3bYMJhwWmcqC0UU29p8Lr0/7KEVcaM6bf47Q==", + "dev": true, + "optional": true + }, + "@sinonjs/commons": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", + "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", + "dev": true, "requires": { - "stack-chain": "^1.3.7" + "type-detect": "4.0.8" } }, - "atomic-batcher": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/atomic-batcher/-/atomic-batcher-1.0.2.tgz", - "integrity": "sha512-EFGCRj4kLX1dHv1cDzTk+xbjBFj1GnJDpui52YmEcxxHHEWjYyT6l51U7n6WQ28osZH4S9gSybxe56Vm7vB61Q==" + "@sinonjs/fake-timers": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz", + "integrity": "sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg==", + "dev": true, + "requires": { + "@sinonjs/commons": "^1.7.0" + } }, - "aws-sdk-client-mock": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/aws-sdk-client-mock/-/aws-sdk-client-mock-3.0.0.tgz", - "integrity": "sha512-4mBiWhuLYLZe1+K/iB8eYy5SAZyW2se+Keyh5u9QouMt6/qJ5SRZhss68xvUX5g3ApzROJ06QPRziYHP6buuvQ==", + "@sinonjs/samsam": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-8.0.0.tgz", + "integrity": "sha512-Bp8KUVlLp8ibJZrnvq2foVhP0IVX2CIprMJPK0vqGqgrDa0OHVKeZyBykqskkrdxV6yKBPmGasO8LVjAKR3Gew==", "dev": true, "requires": { - "@types/sinon": "^10.0.10", - "sinon": "^14.0.2", - "tslib": "^2.1.0" + "@sinonjs/commons": "^2.0.0", + "lodash.get": "^4.4.2", + "type-detect": "^4.0.8" }, "dependencies": { "@sinonjs/commons": { @@ -8014,1700 +7113,1517 @@ "requires": { "type-detect": "4.0.8" } - }, - "@sinonjs/fake-timers": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz", - "integrity": "sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==", - "dev": true, + } + } + }, + "@sinonjs/text-encoding": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.2.tgz", + "integrity": "sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ==", + "dev": true + }, + "@smithy/abort-controller": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-3.1.1.tgz", + "integrity": "sha512-MBJBiidoe+0cTFhyxT8g+9g7CeVccLM0IOKKUMCNQ1CNMJ/eIfoo0RTfVrXOONEI1UCN1W+zkiHSbzUNE9dZtQ==", + "requires": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "dependencies": { + "@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", "requires": { - "@sinonjs/commons": "^1.7.0" - }, - "dependencies": { - "@sinonjs/commons": { - "version": "1.8.6", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", - "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", - "dev": true, - "requires": { - "type-detect": "4.0.8" - } - } + "tslib": "^2.6.2" } - }, - "@sinonjs/samsam": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-7.0.1.tgz", - "integrity": "sha512-zsAk2Jkiq89mhZovB2LLOdTCxJF4hqqTToGP0ASWlhp4I1hqOjcfmZGafXntCN7MDC6yySH0mFHrYtHceOeLmw==", - "dev": true, + } + } + }, + "@smithy/config-resolver": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-3.0.5.tgz", + "integrity": "sha512-SkW5LxfkSI1bUC74OtfBbdz+grQXYiPYolyu8VfpLIjEoN/sHVBlLeGXMQ1vX4ejkgfv6sxVbQJ32yF2cl1veA==", + "requires": { + "@smithy/node-config-provider": "^3.1.4", + "@smithy/types": "^3.3.0", + "@smithy/util-config-provider": "^3.0.0", + "@smithy/util-middleware": "^3.0.3", + "tslib": "^2.6.2" + }, + "dependencies": { + "@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", "requires": { - "@sinonjs/commons": "^2.0.0", - "lodash.get": "^4.4.2", - "type-detect": "^4.0.8" + "tslib": "^2.6.2" } - }, - "sinon": { - "version": "14.0.2", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-14.0.2.tgz", - "integrity": "sha512-PDpV0ZI3ZCS3pEqx0vpNp6kzPhHrLx72wA0G+ZLaaJjLIYeE0n8INlgaohKuGy7hP0as5tbUd23QWu5U233t+w==", - "dev": true, + } + } + }, + "@smithy/core": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@smithy/core/-/core-2.3.1.tgz", + "integrity": "sha512-BC7VMXx/1BCmRPCVzzn4HGWAtsrb7/0758EtwOGFJQrlSwJBEjCcDLNZLFoL/68JexYa2s+KmgL/UfmXdG6v1w==", + "requires": { + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-retry": "^3.0.13", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.1.11", + "@smithy/types": "^3.3.0", + "@smithy/util-middleware": "^3.0.3", + "tslib": "^2.6.2" + }, + "dependencies": { + "@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", "requires": { - "@sinonjs/commons": "^2.0.0", - "@sinonjs/fake-timers": "^9.1.2", - "@sinonjs/samsam": "^7.0.1", - "diff": "^5.0.0", - "nise": "^5.1.2", - "supports-color": "^7.2.0" + "tslib": "^2.6.2" } } } }, - "aws-xray-sdk-core": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/aws-xray-sdk-core/-/aws-xray-sdk-core-3.5.1.tgz", - "integrity": "sha512-Q3S+K/UkDw/M9NnRZbyXNXsjB3amsv+6XhPdomtfzAdyNkf6q+GOQVuWpaLGHunBz91VzpGBzP9Qg0/elm6Cwg==", + "@smithy/credential-provider-imds": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-3.2.0.tgz", + "integrity": "sha512-0SCIzgd8LYZ9EJxUjLXBmEKSZR/P/w6l7Rz/pab9culE/RWuqelAKGJvn5qUOl8BgX8Yj5HWM50A5hiB/RzsgA==", "requires": { - "@aws-sdk/service-error-classification": "^3.4.1", - "@aws-sdk/types": "^3.4.1", - "@types/cls-hooked": "^4.3.3", - "atomic-batcher": "^1.0.2", - "cls-hooked": "^4.2.2", - "semver": "^7.5.3" + "@smithy/node-config-provider": "^3.1.4", + "@smithy/property-provider": "^3.1.3", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "tslib": "^2.6.2" + }, + "dependencies": { + "@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "requires": { + "tslib": "^2.6.2" + } + } } }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true - }, - "bowser": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", - "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==" - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, + "@smithy/fetch-http-handler": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-3.2.4.tgz", + "integrity": "sha512-kBprh5Gs5h7ug4nBWZi1FZthdqSM+T7zMmsZxx0IBvWUn7dK3diz2SHn7Bs4dQGFDk8plDv375gzenDoNwrXjg==", "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "@smithy/protocol-http": "^4.1.0", + "@smithy/querystring-builder": "^3.0.3", + "@smithy/types": "^3.3.0", + "@smithy/util-base64": "^3.0.0", + "tslib": "^2.6.2" + }, + "dependencies": { + "@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "requires": { + "tslib": "^2.6.2" + } + } } }, - "braces": { + "@smithy/hash-node": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "dev": true, + "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-3.0.3.tgz", + "integrity": "sha512-2ctBXpPMG+B3BtWSGNnKELJ7SH9e4TNefJS0cd2eSkOOROeBnnVBnAy9LtJ8tY4vUEoe55N4CNPxzbWvR39iBw==", "requires": { - "fill-range": "^7.1.1" + "@smithy/types": "^3.3.0", + "@smithy/util-buffer-from": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + }, + "dependencies": { + "@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "requires": { + "tslib": "^2.6.2" + } + } } }, - "browser-stdout": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", - "dev": true + "@smithy/invalid-dependency": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-3.0.3.tgz", + "integrity": "sha512-ID1eL/zpDULmHJbflb864k72/SNOZCADRc9i7Exq3RUNJw6raWUSlFEQ+3PX3EYs++bTxZB2dE9mEHTQLv61tw==", + "requires": { + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "dependencies": { + "@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "requires": { + "tslib": "^2.6.2" + } + } + } }, - "browserslist": { - "version": "4.21.5", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", - "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", - "dev": true, + "@smithy/is-array-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", "requires": { - "caniuse-lite": "^1.0.30001449", - "electron-to-chromium": "^1.4.284", - "node-releases": "^2.0.8", - "update-browserslist-db": "^1.0.10" + "tslib": "^2.6.2" } }, - "caching-transform": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz", - "integrity": "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==", - "dev": true, + "@smithy/middleware-content-length": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-3.0.5.tgz", + "integrity": "sha512-ILEzC2eyxx6ncej3zZSwMpB5RJ0zuqH7eMptxC4KN3f+v9bqT8ohssKbhNR78k/2tWW+KS5Spw+tbPF4Ejyqvw==", "requires": { - "hasha": "^5.0.0", - "make-dir": "^3.0.0", - "package-hash": "^4.0.0", - "write-file-atomic": "^3.0.0" + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "dependencies": { + "@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "requires": { + "tslib": "^2.6.2" + } + } } }, - "callsites": { + "@smithy/middleware-endpoint": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true + "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-3.1.0.tgz", + "integrity": "sha512-5y5aiKCEwg9TDPB4yFE7H6tYvGFf1OJHNczeY10/EFF8Ir8jZbNntQJxMWNfeQjC1mxPsaQ6mR9cvQbf+0YeMw==", + "requires": { + "@smithy/middleware-serde": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-middleware": "^3.0.3", + "tslib": "^2.6.2" + }, + "dependencies": { + "@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "requires": { + "tslib": "^2.6.2" + } + } + } }, - "caniuse-lite": { - "version": "1.0.30001480", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001480.tgz", - "integrity": "sha512-q7cpoPPvZYgtyC4VaBSN0Bt+PJ4c4EYRf0DrduInOz2SkFpHD5p3LnvEpqBp7UnJn+8x1Ogl1s38saUxe+ihQQ==", - "dev": true + "@smithy/middleware-retry": { + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-3.0.13.tgz", + "integrity": "sha512-zvCLfaRYCaUmjbF2yxShGZdolSHft7NNCTA28HVN9hKcEbOH+g5irr1X9s+in8EpambclGnevZY4A3lYpvDCFw==", + "requires": { + "@smithy/node-config-provider": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/service-error-classification": "^3.0.3", + "@smithy/smithy-client": "^3.1.11", + "@smithy/types": "^3.3.0", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "tslib": "^2.6.2", + "uuid": "^9.0.1" + }, + "dependencies": { + "@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "requires": { + "tslib": "^2.6.2" + } + } + } }, - "chai": { - "version": "4.3.10", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.10.tgz", - "integrity": "sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g==", - "dev": true, + "@smithy/middleware-serde": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-3.0.3.tgz", + "integrity": "sha512-puUbyJQBcg9eSErFXjKNiGILJGtiqmuuNKEYNYfUD57fUl4i9+mfmThtQhvFXU0hCVG0iEJhvQUipUf+/SsFdA==", "requires": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.3", - "deep-eql": "^4.1.3", - "get-func-name": "^2.0.2", - "loupe": "^2.3.6", - "pathval": "^1.1.1", - "type-detect": "^4.0.8" + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "dependencies": { + "@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "requires": { + "tslib": "^2.6.2" + } + } } }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, + "@smithy/middleware-stack": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-3.0.3.tgz", + "integrity": "sha512-r4klY9nFudB0r9UdSMaGSyjyQK5adUyPnQN/ZM6M75phTxOdnc/AhpvGD1fQUvgmqjQEBGCwpnPbDm8pH5PapA==", "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "dependencies": { + "@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "requires": { + "tslib": "^2.6.2" + } + } } }, - "check-error": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", - "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", - "dev": true, + "@smithy/node-config-provider": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-3.1.4.tgz", + "integrity": "sha512-YvnElQy8HR4vDcAjoy7Xkx9YT8xZP4cBXcbJSgm/kxmiQu08DwUwj8rkGnyoJTpfl/3xYHH+d8zE+eHqoDCSdQ==", "requires": { - "get-func-name": "^2.0.2" + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "dependencies": { + "@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "requires": { + "tslib": "^2.6.2" + } + } } }, - "chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "dev": true, + "@smithy/node-http-handler": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-3.1.4.tgz", + "integrity": "sha512-+UmxgixgOr/yLsUxcEKGH0fMNVteJFGkmRltYFHnBMlogyFdpzn2CwqWmxOrfJELhV34v0WSlaqG1UtE1uXlJg==", "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" + "@smithy/abort-controller": "^3.1.1", + "@smithy/protocol-http": "^4.1.0", + "@smithy/querystring-builder": "^3.0.3", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "dependencies": { + "@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "requires": { + "tslib": "^2.6.2" + } + } } }, - "clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true - }, - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, + "@smithy/property-provider": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-3.1.3.tgz", + "integrity": "sha512-zahyOVR9Q4PEoguJ/NrFP4O7SMAfYO1HLhB18M+q+Z4KFd4V2obiMnlVoUFzFLSPeVt1POyNWneHHrZaTMoc/g==", "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "dependencies": { + "@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "requires": { + "tslib": "^2.6.2" + } + } } }, - "cls-hooked": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/cls-hooked/-/cls-hooked-4.2.2.tgz", - "integrity": "sha512-J4Xj5f5wq/4jAvcdgoGsL3G103BtWpZrMo8NEinRltN+xpTZdI+M38pyQqhuFU/P792xkMFvnKSf+Lm81U1bxw==", + "@smithy/protocol-http": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-4.1.0.tgz", + "integrity": "sha512-dPVoHYQ2wcHooGXg3LQisa1hH0e4y0pAddPMeeUPipI1tEOqL6A4N0/G7abeq+K8wrwSgjk4C0wnD1XZpJm5aA==", "requires": { - "async-hook-jl": "^1.7.6", - "emitter-listener": "^1.0.1", - "semver": "^5.4.1" + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "dependencies": { - "semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" + "@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "requires": { + "tslib": "^2.6.2" + } } } }, - "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, + "@smithy/querystring-builder": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-3.0.3.tgz", + "integrity": "sha512-vyWckeUeesFKzCDaRwWLUA1Xym9McaA6XpFfAK5qI9DKJ4M33ooQGqvM4J+LalH4u/Dq9nFiC8U6Qn1qi0+9zw==", "requires": { - "color-name": "~1.1.4" + "@smithy/types": "^3.3.0", + "@smithy/util-uri-escape": "^3.0.0", + "tslib": "^2.6.2" + }, + "dependencies": { + "@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "requires": { + "tslib": "^2.6.2" + } + } } }, - "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 - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "dev": true - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, + "@smithy/querystring-parser": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-3.0.3.tgz", + "integrity": "sha512-zahM1lQv2YjmznnfQsWbYojFe55l0SLG/988brlLv1i8z3dubloLF+75ATRsqPBboUXsW6I9CPGE5rQgLfY0vQ==", "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "dependencies": { + "@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "requires": { + "tslib": "^2.6.2" + } + } } }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, + "@smithy/service-error-classification": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.3.tgz", + "integrity": "sha512-Jn39sSl8cim/VlkLsUhRFq/dKDnRUFlfRkvhOJaUbLBXUsLRLNf9WaxDv/z9BjuQ3A6k/qE8af1lsqcwm7+DaQ==", "requires": { - "ms": "2.1.2" + "@smithy/types": "^3.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==", - "dev": true + "@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "requires": { + "tslib": "^2.6.2" + } } } }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", - "dev": true - }, - "deep-eql": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", - "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", - "dev": true, + "@smithy/shared-ini-file-loader": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.4.tgz", + "integrity": "sha512-qMxS4hBGB8FY2GQqshcRUy1K6k8aBWP5vwm8qKkCT3A9K2dawUwOIJfqh9Yste/Bl0J2lzosVyrXDj68kLcHXQ==", "requires": { - "type-detect": "^4.0.0" + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "dependencies": { + "@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "requires": { + "tslib": "^2.6.2" + } + } } }, - "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 - }, - "default-require-extensions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.1.tgz", - "integrity": "sha512-eXTJmRbm2TIt9MgWTsOH1wEuhew6XGZcMeGKCtLedIg/NCsg1iBePXkceTdK4Fii7pzmN9tGsZhKzZ4h7O/fxw==", - "dev": true, + "@smithy/signature-v4": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-4.1.0.tgz", + "integrity": "sha512-aRryp2XNZeRcOtuJoxjydO6QTaVhxx/vjaR+gx7ZjaFgrgPRyZ3HCTbfwqYj6ZWEBHkCSUfcaymKPURaByukag==", "requires": { - "strip-bom": "^4.0.0" + "@smithy/is-array-buffer": "^3.0.0", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "@smithy/util-hex-encoding": "^3.0.0", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-uri-escape": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + }, + "dependencies": { + "@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "requires": { + "tslib": "^2.6.2" + } + } } }, - "diff": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", - "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", - "dev": true - }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, + "@smithy/smithy-client": { + "version": "3.1.11", + "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-3.1.11.tgz", + "integrity": "sha512-l0BpyYkciNyMaS+PnFFz4aO5sBcXvGLoJd7mX9xrMBIm2nIQBVvYgp2ZpPDMzwjKCavsXu06iuCm0F6ZJZc6yQ==", "requires": { - "esutils": "^2.0.2" + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "@smithy/util-stream": "^3.1.3", + "tslib": "^2.6.2" + }, + "dependencies": { + "@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "requires": { + "tslib": "^2.6.2" + } + } } }, - "dynamo-db-local": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/dynamo-db-local/-/dynamo-db-local-9.2.1.tgz", - "integrity": "sha512-n88Xzwned4xr96FVetzRSgD4BzhK5PPJVYebFF0w/4ZkLclLVHOl/ZpjNbLlxn5pZhB91iOyzNUAei9fhy88LA==", - "dev": true, + "@smithy/types": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-1.0.0.tgz", + "integrity": "sha512-kc1m5wPBHQCTixwuaOh9vnak/iJm21DrSf9UK6yDE5S3mQQ4u11pqAUiKWnlrZnYkeLfAI9UEHj9OaMT1v5Umg==", + "peer": true, "requires": { - "tslib": "^2.7.0" + "tslib": "^2.5.0" } }, - "electron-to-chromium": { - "version": "1.4.368", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.368.tgz", - "integrity": "sha512-e2aeCAixCj9M7nJxdB/wDjO6mbYX+lJJxSJCXDzlr5YPGYVofuJwGN9nKg2o6wWInjX6XmxRinn3AeJMK81ltw==", - "dev": true - }, - "emitter-listener": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/emitter-listener/-/emitter-listener-1.1.2.tgz", - "integrity": "sha512-Bt1sBAGFHY9DKY+4/2cV6izcKJUf5T7/gkdmkxzX/qv9CcGH8xSwVRW5mtX03SWJtRTWSOpzCuWN9rBFYZepZQ==", + "@smithy/url-parser": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-3.0.3.tgz", + "integrity": "sha512-pw3VtZtX2rg+s6HMs6/+u9+hu6oY6U7IohGhVNnjbgKy86wcIsSZwgHrFR+t67Uyxvp4Xz3p3kGXXIpTNisq8A==", "requires": { - "shimmer": "^1.2.0" - } - }, - "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==", - "dev": true - }, - "es6-error": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", - "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", - "dev": true - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true - }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true - }, - "eslint": { - "version": "8.51.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.51.0.tgz", - "integrity": "sha512-2WuxRZBrlwnXi+/vFSJyjMqrNjtJqiasMzehF0shoLaW7DzS3/9Yvrmq5JiT66+pNjiX4UBnLDiKHcWAr/OInA==", - "dev": true, - "requires": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "8.51.0", - "@humanwhocodes/config-array": "^0.11.11", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "dependencies": { - "glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "requires": { - "is-glob": "^4.0.3" - } - }, - "globals": { - "version": "13.23.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", - "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, + "@smithy/querystring-parser": "^3.0.3", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "dependencies": { + "@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", "requires": { - "brace-expansion": "^1.1.7" + "tslib": "^2.6.2" } - }, - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true } } }, - "eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", - "dev": true, + "@smithy/util-base64": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-3.0.0.tgz", + "integrity": "sha512-Kxvoh5Qtt0CDsfajiZOCpJxgtPHXOKwmM+Zy4waD43UoEMA+qPxxa98aE/7ZhdnBFZFXMOiBR5xbcaMhLtznQQ==", "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" + "@smithy/util-buffer-from": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" } }, - "eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true - }, - "espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", - "dev": true, + "@smithy/util-body-length-browser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-3.0.0.tgz", + "integrity": "sha512-cbjJs2A1mLYmqmyVl80uoLTJhAcfzMOyPgjwAYusWKMdLeNtzmMz9YxNl3/jRLoxSS3wkqkf0jwNdtXWtyEBaQ==", "requires": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" + "tslib": "^2.6.2" } }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - }, - "esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", - "dev": true, + "@smithy/util-body-length-node": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-3.0.0.tgz", + "integrity": "sha512-Tj7pZ4bUloNUP6PzwhN7K386tmSmEET9QtQg0TgdNOnxhZvCssHji+oZTUIuzxECRfG8rdm2PMw2WCFs6eIYkA==", "requires": { - "estraverse": "^5.1.0" + "tslib": "^2.6.2" } }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, + "@smithy/util-buffer-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", "requires": { - "estraverse": "^5.2.0" + "@smithy/is-array-buffer": "^3.0.0", + "tslib": "^2.6.2" } }, - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true - }, - "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==", - "dev": true - }, - "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==", - "dev": true - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true - }, - "fast-xml-parser": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.4.1.tgz", - "integrity": "sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==", + "@smithy/util-config-provider": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-3.0.0.tgz", + "integrity": "sha512-pbjk4s0fwq3Di/ANL+rCvJMKM5bzAQdE5S/6RL5NXgMExFAi6UgQMPOm5yPaIWPpr+EOXKXRonJ3FoxKf4mCJQ==", "requires": { - "strnum": "^1.0.5" + "tslib": "^2.6.2" } }, - "fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", - "dev": true, + "@smithy/util-defaults-mode-browser": { + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-3.0.13.tgz", + "integrity": "sha512-ZIRSUsnnMRStOP6OKtW+gCSiVFkwnfQF2xtf32QKAbHR6ACjhbAybDvry+3L5qQYdh3H6+7yD/AiUE45n8mTTw==", "requires": { - "reusify": "^1.0.4" + "@smithy/property-provider": "^3.1.3", + "@smithy/smithy-client": "^3.1.11", + "@smithy/types": "^3.3.0", + "bowser": "^2.11.0", + "tslib": "^2.6.2" + }, + "dependencies": { + "@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "requires": { + "tslib": "^2.6.2" + } + } } }, - "file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, + "@smithy/util-defaults-mode-node": { + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-3.0.13.tgz", + "integrity": "sha512-voUa8TFJGfD+U12tlNNLCDlXibt9vRdNzRX45Onk/WxZe7TS+hTOZouEZRa7oARGicdgeXvt1A0W45qLGYdy+g==", "requires": { - "flat-cache": "^3.0.4" + "@smithy/config-resolver": "^3.0.5", + "@smithy/credential-provider-imds": "^3.2.0", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/property-provider": "^3.1.3", + "@smithy/smithy-client": "^3.1.11", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "dependencies": { + "@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "requires": { + "tslib": "^2.6.2" + } + } } }, - "fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "dev": true, + "@smithy/util-endpoints": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-2.0.5.tgz", + "integrity": "sha512-ReQP0BWihIE68OAblC/WQmDD40Gx+QY1Ez8mTdFMXpmjfxSyz2fVQu3A4zXRfQU9sZXtewk3GmhfOHswvX+eNg==", "requires": { - "to-regex-range": "^5.0.1" + "@smithy/node-config-provider": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "dependencies": { + "@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "requires": { + "tslib": "^2.6.2" + } + } } }, - "find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", - "dev": true, + "@smithy/util-hex-encoding": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-3.0.0.tgz", + "integrity": "sha512-eFndh1WEK5YMUYvy3lPlVmYY/fZcQE1D8oSf41Id2vCeIkKJXPcYDCZD+4+xViI6b1XSd7tE+s5AmXzz5ilabQ==", "requires": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" + "tslib": "^2.6.2" } }, - "find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, + "@smithy/util-middleware": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-3.0.3.tgz", + "integrity": "sha512-l+StyYYK/eO3DlVPbU+4Bi06Jjal+PFLSMmlWM1BEwyLxZ3aKkf1ROnoIakfaA7mC6uw3ny7JBkau4Yc+5zfWw==", "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "dependencies": { + "@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "requires": { + "tslib": "^2.6.2" + } + } } }, - "flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", - "dev": true - }, - "flat-cache": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.1.tgz", - "integrity": "sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==", - "dev": true, + "@smithy/util-retry": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-3.0.3.tgz", + "integrity": "sha512-AFw+hjpbtVApzpNDhbjNG5NA3kyoMs7vx0gsgmlJF4s+yz1Zlepde7J58zpIRIsdjc+emhpAITxA88qLkPF26w==", "requires": { - "flatted": "^3.2.9", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" + "@smithy/service-error-classification": "^3.0.3", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "dependencies": { + "@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "requires": { + "tslib": "^2.6.2" + } + } } }, - "flatted": { - "version": "3.2.9", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", - "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", - "dev": true - }, - "foreground-child": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz", - "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==", - "dev": true, + "@smithy/util-stream": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-3.1.3.tgz", + "integrity": "sha512-FIv/bRhIlAxC0U7xM1BCnF2aDRPq0UaelqBHkM2lsCp26mcBbgI0tCVTv+jGdsQLUmAMybua/bjDsSu8RQHbmw==", "requires": { - "cross-spawn": "^7.0.0", - "signal-exit": "^3.0.2" + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/types": "^3.3.0", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-buffer-from": "^3.0.0", + "@smithy/util-hex-encoding": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + }, + "dependencies": { + "@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", + "requires": { + "tslib": "^2.6.2" + } + } } }, - "fromentries": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz", - "integrity": "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==", - "dev": true - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true - }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "optional": true - }, - "gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true - }, - "get-func-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", - "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", - "dev": true + "@smithy/util-uri-escape": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-3.0.0.tgz", + "integrity": "sha512-LqR7qYLgZTD7nWLBecUi4aqolw8Mhza9ArpNEQ881MJJIU2sE5iHCK6TdyqqzcDLy0OPe10IY4T8ctVdtynubg==", + "requires": { + "tslib": "^2.6.2" + } }, - "get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "dev": true + "@smithy/util-utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", + "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", + "requires": { + "@smithy/util-buffer-from": "^3.0.0", + "tslib": "^2.6.2" + } }, - "glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "dev": true, + "@smithy/util-waiter": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@smithy/util-waiter/-/util-waiter-3.1.2.tgz", + "integrity": "sha512-4pP0EV3iTsexDx+8PPGAKCQpd/6hsQBaQhqWzU4hqKPHN5epPsxKbvUTIiYIHTxaKt6/kEaqPBpu/ufvfbrRzw==", "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "@smithy/abort-controller": "^3.1.1", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, "dependencies": { - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, + "@smithy/types": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", "requires": { - "brace-expansion": "^1.1.7" + "tslib": "^2.6.2" } } } }, - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, + "@tuplo/dynoexpr": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@tuplo/dynoexpr/-/dynoexpr-3.4.0.tgz", + "integrity": "sha512-kHNiuGxNImdJPZGgV8x8GtDgGYsQuLzO5erdyvmcBmIiHb9aU/HEsE069IqlByVGMyRRpNgOTb7ZLtCbvqUAqQ==" + }, + "@types/cls-hooked": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@types/cls-hooked/-/cls-hooked-4.3.3.tgz", + "integrity": "sha512-gNstDTb/ty5h6gJd6YpSPgsLX9LmRpaKJqGFp7MRlYxhwp4vXXKlJ9+bt1TZ9KbVNXE+Mbxy2AYXcpY21DDtJw==", "requires": { - "is-glob": "^4.0.1" + "@types/node": "*" } }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "@types/estree": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", "dev": true }, - "graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true + "@types/node": { + "version": "18.15.11", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz", + "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==" }, - "graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true + "@types/sinon": { + "version": "10.0.10", + "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-10.0.10.tgz", + "integrity": "sha512-US5E539UfeL2DiWALzCyk0c4zKh6sCv86V/0lpda/afMJJ0oEm2SrKgedH5optvFWstnJ8e1MNYhLmPhAy4rvQ==", + "dev": true, + "requires": { + "@sinonjs/fake-timers": "^7.1.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 + "@vitest/coverage-v8": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-2.1.1.tgz", + "integrity": "sha512-md/A7A3c42oTT8JUHSqjP5uKTWJejzUW4jalpvs+rZ27gsURsMU8DEb+8Jf8C6Kj2gwfSHJqobDNBuoqlm0cFw==", + "dev": true, + "requires": { + "@ampproject/remapping": "^2.3.0", + "@bcoe/v8-coverage": "^0.2.3", + "debug": "^4.3.6", + "istanbul-lib-coverage": "^3.2.2", + "istanbul-lib-report": "^3.0.1", + "istanbul-lib-source-maps": "^5.0.6", + "istanbul-reports": "^3.1.7", + "magic-string": "^0.30.11", + "magicast": "^0.3.4", + "std-env": "^3.7.0", + "test-exclude": "^7.0.1", + "tinyrainbow": "^1.2.0" + } }, - "hasha": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz", - "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==", + "@vitest/expect": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-2.1.1.tgz", + "integrity": "sha512-YeueunS0HiHiQxk+KEOnq/QMzlUuOzbU1Go+PgAsHvvv3tUkJPm9xWt+6ITNTlzsMXUjmgm5T+U7KBPK2qQV6w==", "dev": true, "requires": { - "is-stream": "^2.0.0", - "type-fest": "^0.8.0" + "@vitest/spy": "2.1.1", + "@vitest/utils": "2.1.1", + "chai": "^5.1.1", + "tinyrainbow": "^1.2.0" } }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true - }, - "html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true - }, - "ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", - "dev": true - }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "@vitest/mocker": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-2.1.1.tgz", + "integrity": "sha512-LNN5VwOEdJqCmJ/2XJBywB11DLlkbY0ooDJW3uRX5cZyYCrc4PI/ePX0iQhE3BiEGiQmK4GE7Q/PqCkkaiPnrA==", "dev": true, "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true - } + "@vitest/spy": "^2.1.0-beta.1", + "estree-walker": "^3.0.3", + "magic-string": "^0.30.11" } }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true - }, - "indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "@vitest/pretty-format": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-2.1.1.tgz", + "integrity": "sha512-SjxPFOtuINDUW8/UkElJYQSFtnWX7tMksSGW0vfjxMneFqxVr8YJ979QpMbDW7g+BIiq88RAGDjf7en6rvLPPQ==", "dev": true, "requires": { - "once": "^1.3.0", - "wrappy": "1" + "tinyrainbow": "^1.2.0" } }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "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==", + "@vitest/runner": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-2.1.1.tgz", + "integrity": "sha512-uTPuY6PWOYitIkLPidaY5L3t0JJITdGTSwBtwMjKzo5O6RCOEncz9PUN+0pDidX8kTHYjO0EwUIvhlGpnGpxmA==", "dev": true, "requires": { - "binary-extensions": "^2.0.0" + "@vitest/utils": "2.1.1", + "pathe": "^1.1.2" } }, - "is-extglob": { + "@vitest/snapshot": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true - }, - "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==", - "dev": true + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-2.1.1.tgz", + "integrity": "sha512-BnSku1WFy7r4mm96ha2FzN99AZJgpZOWrAhtQfoxjUU5YMRpq1zmHRq7a5K9/NjqonebO7iVDla+VvZS8BOWMw==", + "dev": true, + "requires": { + "@vitest/pretty-format": "2.1.1", + "magic-string": "^0.30.11", + "pathe": "^1.1.2" + } }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "@vitest/spy": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-2.1.1.tgz", + "integrity": "sha512-ZM39BnZ9t/xZ/nF4UwRH5il0Sw93QnZXd9NAZGRpIgj0yvVwPpLd702s/Cx955rGaMlyBQkZJ2Ir7qyY48VZ+g==", "dev": true, "requires": { - "is-extglob": "^2.1.1" + "tinyspy": "^3.0.0" } }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true + "@vitest/utils": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-2.1.1.tgz", + "integrity": "sha512-Y6Q9TsI+qJ2CC0ZKj6VBb+T8UPz593N113nnUykqwANqhgf3QkZeHFlusgKLTqrnVHbj/XDKZcDHol+dxVT+rQ==", + "dev": true, + "requires": { + "@vitest/pretty-format": "2.1.1", + "loupe": "^3.1.1", + "tinyrainbow": "^1.2.0" + } }, - "is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", "dev": true }, - "is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "dev": true }, - "is-stream": { + "assertion-error": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", + "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", "dev": true }, - "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==", - "dev": true + "async-hook-jl": { + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/async-hook-jl/-/async-hook-jl-1.7.6.tgz", + "integrity": "sha512-gFaHkFfSxTjvoxDMYqDuGHlcRyUuamF8s+ZTtJdDzqjws4mCt7v0vuV79/E2Wr2/riMQgtG4/yUtXWs1gZ7JMg==", + "requires": { + "stack-chain": "^1.3.7" + } }, - "is-windows": { + "atomic-batcher": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "istanbul-lib-coverage": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", - "dev": true + "resolved": "https://registry.npmjs.org/atomic-batcher/-/atomic-batcher-1.0.2.tgz", + "integrity": "sha512-EFGCRj4kLX1dHv1cDzTk+xbjBFj1GnJDpui52YmEcxxHHEWjYyT6l51U7n6WQ28osZH4S9gSybxe56Vm7vB61Q==" }, - "istanbul-lib-hook": { + "aws-sdk-client-mock": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz", - "integrity": "sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==", - "dev": true, - "requires": { - "append-transform": "^2.0.0" - } - }, - "istanbul-lib-instrument": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", - "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", + "resolved": "https://registry.npmjs.org/aws-sdk-client-mock/-/aws-sdk-client-mock-3.0.0.tgz", + "integrity": "sha512-4mBiWhuLYLZe1+K/iB8eYy5SAZyW2se+Keyh5u9QouMt6/qJ5SRZhss68xvUX5g3ApzROJ06QPRziYHP6buuvQ==", "dev": true, "requires": { - "@babel/core": "^7.7.5", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.0.0", - "semver": "^6.3.0" + "@types/sinon": "^10.0.10", + "sinon": "^14.0.2", + "tslib": "^2.1.0" }, "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true + "@sinonjs/commons": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", + "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", + "dev": true, + "requires": { + "type-detect": "4.0.8" + } + }, + "@sinonjs/fake-timers": { + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz", + "integrity": "sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==", + "dev": true, + "requires": { + "@sinonjs/commons": "^1.7.0" + }, + "dependencies": { + "@sinonjs/commons": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", + "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", + "dev": true, + "requires": { + "type-detect": "4.0.8" + } + } + } + }, + "@sinonjs/samsam": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-7.0.1.tgz", + "integrity": "sha512-zsAk2Jkiq89mhZovB2LLOdTCxJF4hqqTToGP0ASWlhp4I1hqOjcfmZGafXntCN7MDC6yySH0mFHrYtHceOeLmw==", + "dev": true, + "requires": { + "@sinonjs/commons": "^2.0.0", + "lodash.get": "^4.4.2", + "type-detect": "^4.0.8" + } + }, + "sinon": { + "version": "14.0.2", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-14.0.2.tgz", + "integrity": "sha512-PDpV0ZI3ZCS3pEqx0vpNp6kzPhHrLx72wA0G+ZLaaJjLIYeE0n8INlgaohKuGy7hP0as5tbUd23QWu5U233t+w==", + "dev": true, + "requires": { + "@sinonjs/commons": "^2.0.0", + "@sinonjs/fake-timers": "^9.1.2", + "@sinonjs/samsam": "^7.0.1", + "diff": "^5.0.0", + "nise": "^5.1.2", + "supports-color": "^7.2.0" + } } } }, - "istanbul-lib-processinfo": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.3.tgz", - "integrity": "sha512-NkwHbo3E00oybX6NGJi6ar0B29vxyvNwoC7eJ4G4Yq28UfY758Hgn/heV8VRFhevPED4LXfFz0DQ8z/0kw9zMg==", - "dev": true, + "aws-xray-sdk-core": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/aws-xray-sdk-core/-/aws-xray-sdk-core-3.5.1.tgz", + "integrity": "sha512-Q3S+K/UkDw/M9NnRZbyXNXsjB3amsv+6XhPdomtfzAdyNkf6q+GOQVuWpaLGHunBz91VzpGBzP9Qg0/elm6Cwg==", "requires": { - "archy": "^1.0.0", - "cross-spawn": "^7.0.3", - "istanbul-lib-coverage": "^3.2.0", - "p-map": "^3.0.0", - "rimraf": "^3.0.0", - "uuid": "^8.3.2" + "@aws-sdk/service-error-classification": "^3.4.1", + "@aws-sdk/types": "^3.4.1", + "@types/cls-hooked": "^4.3.3", + "atomic-batcher": "^1.0.2", + "cls-hooked": "^4.2.2", + "semver": "^7.5.3" } }, - "istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", - "dev": true, - "requires": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" - } + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true }, - "istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", - "dev": true, - "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - } + "bowser": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", + "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==" }, - "istanbul-reports": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", - "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, "requires": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" + "balanced-match": "^1.0.0" } }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "cac": { + "version": "6.7.14", + "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", + "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", "dev": true }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "chai": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/chai/-/chai-5.1.1.tgz", + "integrity": "sha512-pT1ZgP8rPNqUgieVaEY+ryQr6Q4HXNg8Ei9UnLUrjN4IA7dvQC5JB+/kxVcPNDHyBcc/26CXPkbNzq3qwrOEKA==", "dev": true, "requires": { - "argparse": "^2.0.1" + "assertion-error": "^2.0.1", + "check-error": "^2.1.1", + "deep-eql": "^5.0.1", + "loupe": "^3.1.0", + "pathval": "^2.0.0" } }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true - }, - "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 - }, - "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==", - "dev": true - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true - }, - "json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "check-error": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz", + "integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==", "dev": true }, - "just-extend": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.2.1.tgz", - "integrity": "sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg==", - "dev": true + "cls-hooked": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/cls-hooked/-/cls-hooked-4.2.2.tgz", + "integrity": "sha512-J4Xj5f5wq/4jAvcdgoGsL3G103BtWpZrMo8NEinRltN+xpTZdI+M38pyQqhuFU/P792xkMFvnKSf+Lm81U1bxw==", + "requires": { + "async-hook-jl": "^1.7.6", + "emitter-listener": "^1.0.1", + "semver": "^5.4.1" + }, + "dependencies": { + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" + } + } }, - "keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "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": { - "json-buffer": "3.0.1" + "color-name": "~1.1.4" } }, - "levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "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 + }, + "cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" } }, - "locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", "dev": true, "requires": { - "p-locate": "^5.0.0" + "ms": "^2.1.3" } }, - "lodash.flattendeep": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", - "integrity": "sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ==", - "dev": true - }, - "lodash.get": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", + "deep-eql": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz", + "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==", "dev": true }, - "lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "diff": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", + "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", "dev": true }, - "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==", + "dynamo-db-local": { + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/dynamo-db-local/-/dynamo-db-local-9.2.1.tgz", + "integrity": "sha512-n88Xzwned4xr96FVetzRSgD4BzhK5PPJVYebFF0w/4ZkLclLVHOl/ZpjNbLlxn5pZhB91iOyzNUAei9fhy88LA==", "dev": true, "requires": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" + "tslib": "^2.7.0" } }, - "loupe": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz", - "integrity": "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==", - "dev": true, + "eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, + "emitter-listener": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/emitter-listener/-/emitter-listener-1.1.2.tgz", + "integrity": "sha512-Bt1sBAGFHY9DKY+4/2cV6izcKJUf5T7/gkdmkxzX/qv9CcGH8xSwVRW5mtX03SWJtRTWSOpzCuWN9rBFYZepZQ==", "requires": { - "get-func-name": "^2.0.0" + "shimmer": "^1.2.0" } }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "esbuild": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", + "dev": true, + "requires": { + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" + } + }, + "estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", "dev": true, "requires": { - "yallist": "^3.0.2" + "@types/estree": "^1.0.0" } }, - "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, + "fast-xml-parser": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.4.1.tgz", + "integrity": "sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==", "requires": { - "semver": "^6.0.0" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } + "strnum": "^1.0.5" } }, - "minimatch": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", - "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", + "foreground-child": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", "dev": true, "requires": { - "brace-expansion": "^2.0.1" - }, - "dependencies": { - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0" - } - } + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" } }, - "mnemonist": { - "version": "0.38.3", - "resolved": "https://registry.npmjs.org/mnemonist/-/mnemonist-0.38.3.tgz", - "integrity": "sha512-2K9QYubXx/NAjv4VLq1d1Ly8pWNC5L3BrixtdkyTegXWJIqY+zLNDhhX/A+ZwWt70tB1S8H4BE8FLYEFyNoOBw==", - "requires": { - "obliterator": "^1.6.1" - } + "fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "optional": true }, - "mocha": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz", - "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==", - "dev": true, - "requires": { - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", - "chokidar": "3.5.3", - "debug": "4.3.4", - "diff": "5.0.0", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "7.2.0", - "he": "1.2.0", - "js-yaml": "4.1.0", - "log-symbols": "4.1.0", - "minimatch": "5.0.1", - "ms": "2.1.3", - "nanoid": "3.3.3", - "serialize-javascript": "6.0.0", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "workerpool": "6.2.1", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", - "yargs-unparser": "2.0.0" - }, - "dependencies": { - "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" - } - } + "get-func-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", + "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", + "dev": true + }, + "glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dev": true, + "requires": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" } }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "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 }, - "nanoid": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", - "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", + "html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "dev": true }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "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==", "dev": true }, - "nise": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.5.tgz", - "integrity": "sha512-VJuPIfUFaXNRzETTQEEItTOP8Y171ijr+JLq42wHes3DiryR8vT+1TXQW/Rx8JNUhyYYWyIvjXTU6dOhJcs9Nw==", - "dev": true, - "requires": { - "@sinonjs/commons": "^2.0.0", - "@sinonjs/fake-timers": "^10.0.2", - "@sinonjs/text-encoding": "^0.7.1", - "just-extend": "^4.0.2", - "path-to-regexp": "^1.7.0" - }, - "dependencies": { - "@sinonjs/commons": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", - "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", - "dev": true, - "requires": { - "type-detect": "4.0.8" - } - }, - "@sinonjs/fake-timers": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", - "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", - "dev": true, - "requires": { - "@sinonjs/commons": "^3.0.0" - }, - "dependencies": { - "@sinonjs/commons": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", - "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", - "dev": true, - "requires": { - "type-detect": "4.0.8" - } - } - } - } - } - }, - "node-preload": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz", - "integrity": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==", - "dev": true, - "requires": { - "process-on-spawn": "^1.0.0" - } + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "dev": true }, - "node-releases": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz", - "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==", + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", "dev": true }, - "nyc": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz", - "integrity": "sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==", + "istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", "dev": true, "requires": { - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "caching-transform": "^4.0.0", - "convert-source-map": "^1.7.0", - "decamelize": "^1.2.0", - "find-cache-dir": "^3.2.0", - "find-up": "^4.1.0", - "foreground-child": "^2.0.0", - "get-package-type": "^0.1.0", - "glob": "^7.1.6", "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-hook": "^3.0.0", - "istanbul-lib-instrument": "^4.0.0", - "istanbul-lib-processinfo": "^2.0.2", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.0.2", - "make-dir": "^3.0.0", - "node-preload": "^0.2.1", - "p-map": "^3.0.0", - "process-on-spawn": "^1.0.0", - "resolve-from": "^5.0.0", - "rimraf": "^3.0.0", - "signal-exit": "^3.0.2", - "spawn-wrap": "^2.0.0", - "test-exclude": "^6.0.0", - "yargs": "^15.0.2" - }, - "dependencies": { - "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "dev": true - }, - "yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "dev": true, - "requires": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - } - }, - "yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", "dev": true, "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" + "semver": "^7.5.3" } } } }, - "nyc-report-lcov-absolute": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/nyc-report-lcov-absolute/-/nyc-report-lcov-absolute-1.0.0.tgz", - "integrity": "sha512-sDq0XM0on9casPNySxGD/WSy17m95+e8xEhObNHoxVRsTIZZt8akop4WWisnjzEWRARGW91Ip6oRhIWmy4qcPw==", - "dev": true, - "requires": {} - }, - "obliterator": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/obliterator/-/obliterator-1.6.1.tgz", - "integrity": "sha512-9WXswnqINnnhOG/5SLimUlzuU1hFJUc8zkwyD59Sd+dPOMf05PmnYG/d6Q7HZ+KmgkZJa1PxRso6QdM3sTNHig==" - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "istanbul-lib-source-maps": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-5.0.6.tgz", + "integrity": "sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==", "dev": true, "requires": { - "wrappy": "1" + "@jridgewell/trace-mapping": "^0.3.23", + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0" } }, - "optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "istanbul-reports": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", + "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", "dev": true, "requires": { - "@aashutoshrathi/word-wrap": "^1.2.3", - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" } }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", "dev": true, "requires": { - "yocto-queue": "^0.1.0" + "@isaacs/cliui": "^8.0.2", + "@pkgjs/parseargs": "^0.11.0" } }, - "p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "requires": { - "p-limit": "^3.0.2" - } + "just-extend": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.2.1.tgz", + "integrity": "sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg==", + "dev": true }, - "p-map": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", - "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", + "lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", + "dev": true + }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + }, + "loupe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.1.tgz", + "integrity": "sha512-edNu/8D5MKVfGVFRhFf8aAxiTM6Wumfz5XsaatSxlD3w4R1d/WEKUTydCdPGbl9K7QG/Ca3GnDV2sIKIpXRQcw==", "dev": true, "requires": { - "aggregate-error": "^3.0.0" + "get-func-name": "^2.0.1" } }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", "dev": true }, - "package-hash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz", - "integrity": "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==", + "magic-string": { + "version": "0.30.11", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz", + "integrity": "sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==", "dev": true, "requires": { - "graceful-fs": "^4.1.15", - "hasha": "^5.0.0", - "lodash.flattendeep": "^4.4.0", - "release-zalgo": "^1.0.0" + "@jridgewell/sourcemap-codec": "^1.5.0" } }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "magicast": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.3.4.tgz", + "integrity": "sha512-TyDF/Pn36bBji9rWKHlZe+PZb6Mx5V8IHCSxk7X4aljM4e/vyDvZZYwHewdVaqiA0nb3ghfHU/6AUpDxWoER2Q==", "dev": true, "requires": { - "callsites": "^3.0.0" + "@babel/parser": "^7.24.4", + "@babel/types": "^7.24.0", + "source-map-js": "^1.2.0" } }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, - "path-to-regexp": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.9.0.tgz", - "integrity": "sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==", + "minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, "requires": { - "isarray": "0.0.1" + "brace-expansion": "^2.0.1" } }, - "pathval": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", - "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", "dev": true }, - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "mnemonist": { + "version": "0.38.3", + "resolved": "https://registry.npmjs.org/mnemonist/-/mnemonist-0.38.3.tgz", + "integrity": "sha512-2K9QYubXx/NAjv4VLq1d1Ly8pWNC5L3BrixtdkyTegXWJIqY+zLNDhhX/A+ZwWt70tB1S8H4BE8FLYEFyNoOBw==", + "requires": { + "obliterator": "^1.6.1" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", "dev": true }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "nise": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.5.tgz", + "integrity": "sha512-VJuPIfUFaXNRzETTQEEItTOP8Y171ijr+JLq42wHes3DiryR8vT+1TXQW/Rx8JNUhyYYWyIvjXTU6dOhJcs9Nw==", "dev": true, "requires": { - "find-up": "^4.0.0" + "@sinonjs/commons": "^2.0.0", + "@sinonjs/fake-timers": "^10.0.2", + "@sinonjs/text-encoding": "^0.7.1", + "just-extend": "^4.0.2", + "path-to-regexp": "^1.7.0" }, "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "@sinonjs/commons": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", + "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", "dev": true, "requires": { - "p-try": "^2.0.0" + "type-detect": "4.0.8" } }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "@sinonjs/fake-timers": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", "dev": true, "requires": { - "p-limit": "^2.2.0" + "@sinonjs/commons": "^3.0.0" + }, + "dependencies": { + "@sinonjs/commons": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", + "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", + "dev": true, + "requires": { + "type-detect": "4.0.8" + } + } } } } }, - "prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true + "obliterator": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/obliterator/-/obliterator-1.6.1.tgz", + "integrity": "sha512-9WXswnqINnnhOG/5SLimUlzuU1hFJUc8zkwyD59Sd+dPOMf05PmnYG/d6Q7HZ+KmgkZJa1PxRso6QdM3sTNHig==" }, - "process-on-spawn": { + "package-json-from-dist": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz", - "integrity": "sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==", - "dev": true, - "requires": { - "fromentries": "^1.2.0" - } - }, - "punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", + "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==", "dev": true }, - "queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true }, - "ramda": { - "version": "0.28.0", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.28.0.tgz", - "integrity": "sha512-9QnLuG/kPVgWvMQ4aODhsBUFKOUmnbUnsSXACv+NCQZcHbeb+v8Lodp8OVxtRULN1/xOyYLLaL6npE6dMq5QTA==" - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", "dev": true, "requires": { - "picomatch": "^2.2.1" + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" } }, - "release-zalgo": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz", - "integrity": "sha512-gUAyHVHPPC5wdqX/LG4LWtRYtgjxyX78oanFNTMMyFEfOqdC54s3eE82imuWKbOeqYht2CrNf64Qb8vgmmtZGA==", + "path-to-regexp": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.9.0.tgz", + "integrity": "sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==", "dev": true, "requires": { - "es6-error": "^4.0.1" + "isarray": "0.0.1" } }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "pathe": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", + "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", "dev": true }, - "require-main-filename": { + "pathval": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.0.tgz", + "integrity": "sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==", "dev": true }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "picocolors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", + "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==", "dev": true }, - "rewire": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/rewire/-/rewire-7.0.0.tgz", - "integrity": "sha512-DyyNyzwMtGYgu0Zl/ya0PR/oaunM+VuCuBxCuhYJHHaV0V+YvYa3bBGxb5OZ71vndgmp1pYY8F4YOwQo1siRGw==", + "postcss": { + "version": "8.4.47", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", + "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", "dev": true, "requires": { - "eslint": "^8.47.0" + "nanoid": "^3.3.7", + "picocolors": "^1.1.0", + "source-map-js": "^1.2.1" } }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } + "ramda": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.28.0.tgz", + "integrity": "sha512-9QnLuG/kPVgWvMQ4aODhsBUFKOUmnbUnsSXACv+NCQZcHbeb+v8Lodp8OVxtRULN1/xOyYLLaL6npE6dMq5QTA==" }, - "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==", - "dev": true, - "requires": { - "queue-microtask": "^1.2.2" + "rollup": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.22.4.tgz", + "integrity": "sha512-vD8HJ5raRcWOyymsR6Z3o6+RzfEPCnVLMFJ6vRslO1jt4LO6dUo5Qnpg7y4RkZFM2DMe3WUirkI5c16onjrc6A==", + "dev": true, + "requires": { + "@rollup/rollup-android-arm-eabi": "4.22.4", + "@rollup/rollup-android-arm64": "4.22.4", + "@rollup/rollup-darwin-arm64": "4.22.4", + "@rollup/rollup-darwin-x64": "4.22.4", + "@rollup/rollup-linux-arm-gnueabihf": "4.22.4", + "@rollup/rollup-linux-arm-musleabihf": "4.22.4", + "@rollup/rollup-linux-arm64-gnu": "4.22.4", + "@rollup/rollup-linux-arm64-musl": "4.22.4", + "@rollup/rollup-linux-powerpc64le-gnu": "4.22.4", + "@rollup/rollup-linux-riscv64-gnu": "4.22.4", + "@rollup/rollup-linux-s390x-gnu": "4.22.4", + "@rollup/rollup-linux-x64-gnu": "4.22.4", + "@rollup/rollup-linux-x64-musl": "4.22.4", + "@rollup/rollup-win32-arm64-msvc": "4.22.4", + "@rollup/rollup-win32-ia32-msvc": "4.22.4", + "@rollup/rollup-win32-x64-msvc": "4.22.4", + "@types/estree": "1.0.5", + "fsevents": "~2.3.2" + }, + "dependencies": { + "@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true + } } }, - "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==", - "dev": true - }, "semver": { "version": "7.5.3", "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz", @@ -9731,21 +8647,6 @@ } } }, - "serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", - "dev": true, - "requires": { - "randombytes": "^2.1.0" - } - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", - "dev": true - }, "shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -9766,10 +8667,16 @@ "resolved": "https://registry.npmjs.org/shimmer/-/shimmer-1.2.1.tgz", "integrity": "sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==" }, + "siginfo": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", + "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", + "dev": true + }, "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true }, "sinon": { @@ -9812,30 +8719,10 @@ } } }, - "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 - }, - "spawn-wrap": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz", - "integrity": "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==", - "dev": true, - "requires": { - "foreground-child": "^2.0.0", - "is-windows": "^1.0.2", - "make-dir": "^3.0.0", - "rimraf": "^3.0.0", - "signal-exit": "^3.0.2", - "which": "^2.0.1" - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", "dev": true }, "stack-chain": { @@ -9843,8 +8730,31 @@ "resolved": "https://registry.npmjs.org/stack-chain/-/stack-chain-1.3.7.tgz", "integrity": "sha512-D8cWtWVdIe/jBA7v5p5Hwl5yOSOrmZPWDPe2KxQ5UAGD+nxbxU0lKXA4h85Ta6+qgdKVL3vUxsbIZjc1kBG7ug==" }, + "stackback": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", + "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", + "dev": true + }, + "std-env": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz", + "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==", + "dev": true + }, "string-width": { - "version": "4.2.3", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "requires": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + } + }, + "string-width-cjs": { + "version": "npm:string-width@4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, @@ -9852,29 +8762,57 @@ "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "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==", + "dev": true + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + } } }, "strip-ansi": { - "version": "6.0.1", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "requires": { + "ansi-regex": "^6.0.1" + } + }, + "strip-ansi-cjs": { + "version": "npm:strip-ansi@6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "requires": { "ansi-regex": "^5.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + } } }, - "strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true - }, - "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true - }, "strnum": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", @@ -9890,31 +8828,44 @@ } }, "test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-7.0.1.tgz", + "integrity": "sha512-pFYqmTw68LXVjeWJMST4+borgQP2AyMNbg1BpZh9LbyhUeNkeaPF9gzfPGUAnSMV3qPYdWUwDIjjCLiSDOl7vg==", "dev": true, "requires": { "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, - "dependencies": { - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } + "glob": "^10.4.1", + "minimatch": "^9.0.4" } }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "tinybench": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", + "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", + "dev": true + }, + "tinyexec": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.0.tgz", + "integrity": "sha512-tVGE0mVJPGb0chKhqmsoosjsS+qUnJVGJpZgsHYQcGoPlG3B51R3PouqTgEGH2Dc9jjFyOqOpix6ZHNMXp1FZg==", + "dev": true + }, + "tinypool": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.0.1.tgz", + "integrity": "sha512-URZYihUbRPcGv95En+sz6MfghfIc2OJ1sv/RmhWZLouPY0/8Vo80viwPvg3dlaS9fuq7fQMEfgRRK7BBZThBEA==", + "dev": true + }, + "tinyrainbow": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-1.2.0.tgz", + "integrity": "sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==", + "dev": true + }, + "tinyspy": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-3.0.2.tgz", + "integrity": "sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==", "dev": true }, "to-fast-properties": { @@ -9923,75 +8874,73 @@ "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", "dev": true }, - "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==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - }, "tslib": { "version": "2.7.0", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==" }, - "type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1" - } - }, "type-detect": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", "dev": true }, - "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true + "uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==" }, - "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==", + "vite": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.6.tgz", + "integrity": "sha512-IeL5f8OO5nylsgzd9tq4qD2QqI0k2CQLGrWD0rCN0EQJZpBK5vJAx0I+GDkMOXxQX/OfFHMuLIx6ddAxGX/k+Q==", "dev": true, "requires": { - "is-typedarray": "^1.0.0" + "esbuild": "^0.21.3", + "fsevents": "~2.3.3", + "postcss": "^8.4.43", + "rollup": "^4.20.0" } }, - "update-browserslist-db": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", - "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", + "vite-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-2.1.1.tgz", + "integrity": "sha512-N/mGckI1suG/5wQI35XeR9rsMsPqKXzq1CdUndzVstBj/HvyxxGctwnK6WX43NGt5L3Z5tcRf83g4TITKJhPrA==", "dev": true, "requires": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" + "cac": "^6.7.14", + "debug": "^4.3.6", + "pathe": "^1.1.2", + "vite": "^5.0.0" } }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "requires": { - "punycode": "^2.1.0" + "vitest": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-2.1.1.tgz", + "integrity": "sha512-97We7/VC0e9X5zBVkvt7SGQMGrRtn3KtySFQG5fpaMlS+l62eeXRQO633AYhSTC3z7IMebnPPNjGXVGNRFlxBA==", + "dev": true, + "requires": { + "@vitest/expect": "2.1.1", + "@vitest/mocker": "2.1.1", + "@vitest/pretty-format": "^2.1.1", + "@vitest/runner": "2.1.1", + "@vitest/snapshot": "2.1.1", + "@vitest/spy": "2.1.1", + "@vitest/utils": "2.1.1", + "chai": "^5.1.1", + "debug": "^4.3.6", + "magic-string": "^0.30.11", + "pathe": "^1.1.2", + "std-env": "^3.7.0", + "tinybench": "^2.9.0", + "tinyexec": "^0.3.0", + "tinypool": "^1.0.0", + "tinyrainbow": "^1.2.0", + "vite": "^5.0.0", + "vite-node": "2.1.1", + "why-is-node-running": "^2.3.0" } }, - "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 - }, "which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -10001,111 +8950,80 @@ "isexe": "^2.0.0" } }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==", - "dev": true - }, - "workerpool": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", - "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==", - "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==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "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==", + "why-is-node-running": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", + "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", "dev": true, "requires": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" + "siginfo": "^2.0.0", + "stackback": "0.0.2" } }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - }, - "yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", "dev": true, "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" } }, - "yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", - "dev": true - }, - "yargs-unparser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", - "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", + "wrap-ansi-cjs": { + "version": "npm:wrap-ansi@7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, "requires": { - "camelcase": "^6.0.0", - "decamelize": "^4.0.0", - "flat": "^5.0.2", - "is-plain-obj": "^2.1.0" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "dependencies": { - "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true }, - "decamelize": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", - "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", + "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, + "requires": { + "color-convert": "^2.0.1" + } + }, + "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==", "dev": true + }, + "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==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } } } - }, - "yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true } } } diff --git a/source/backend/functions/settings/package.json b/source/backend/functions/settings/package.json index 370b5448..7515c171 100644 --- a/source/backend/functions/settings/package.json +++ b/source/backend/functions/settings/package.json @@ -1,18 +1,17 @@ { "name": "wd-settings", - "version": "2.1.15", + "version": "2.2.0", "description": "Lambda function that stores WD configuration data in DynamoDB", "main": "index.js", + "type": "module", "scripts": { "pretest": "npm i", - "test": "nyc --reporter=html --reporter=text mocha test", - "test:ci": "npm ci && nyc --reporter=nyc-report-lcov-absolute mocha --forbid-only test", - "posttest:ci": "echo \"$(awk '{gsub(/SF:.*\\/source\\//, \"SF:source/\")}1' coverage/lcov.info)\" > coverage/lcov.info", + "test": "vitest run --coverage", + "test:ci": "npm ci && vitest run --coverage --allowOnly false", "clean": "rm -rf dist", "build:zip": "zip -rq --exclude=package-lock.json settings.zip node_modules/ && zip -urj settings.zip src/", "build:dist": "mkdir dist && mv settings.zip dist/", - "build": "npm run clean && npm ci --omit=dev && npm run build:zip && npm run build:dist", - "coverage": "nyc npm test" + "build": "npm run clean && npm ci --omit=dev && npm run build:zip && npm run build:dist" }, "author": { "name": "Amazon Web Services", @@ -20,23 +19,21 @@ }, "license": "Apache-2.0", "dependencies": { + "@aws-lambda-powertools/logger": "2.10.0", "@aws-sdk/client-config-service": "3.621.0", "@aws-sdk/client-dynamodb": "3.621.0", "@aws-sdk/client-ec2": "3.621.0", "@aws-sdk/client-organizations": "3.621.0", - "@aws-sdk/lib-dynamodb": "3.621.0", + "@aws-sdk/lib-dynamodb": "3.359.0", "@tuplo/dynoexpr": "3.4.0", "aws-xray-sdk-core": "3.5.1", "ramda": "0.28.0" }, "devDependencies": { + "@vitest/coverage-v8": "^2.1.1", "aws-sdk-client-mock": "^3.0.0", - "chai": "^4.3.10", "dynamo-db-local": "^9.2.0", - "mocha": "^10.2.0", - "nyc": "^15.1.0", - "nyc-report-lcov-absolute": "^1.0.0", - "rewire": "^7.0.0", - "sinon": "^17.0.0" + "sinon": "^17.0.0", + "vitest": "^2.1.1" } } diff --git a/source/backend/functions/settings/src/index.js b/source/backend/functions/settings/src/index.js deleted file mode 100644 index 86067a26..00000000 --- a/source/backend/functions/settings/src/index.js +++ /dev/null @@ -1,617 +0,0 @@ -// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 - -const R = require('ramda'); -const dynoexpr = require('@tuplo/dynoexpr'); -const AWSXRay = require('aws-xray-sdk-core'); -const {ConfigService} = require("@aws-sdk/client-config-service"); -const { DynamoDB } = require("@aws-sdk/client-dynamodb"); -const { EC2 } = require("@aws-sdk/client-ec2"); -const { DynamoDBDocument } = require("@aws-sdk/lib-dynamodb"); - -const {CUSTOM_USER_AGENT: customUserAgent} = process.env; - -const configService = new ConfigService({customUserAgent}); - -const ec2Client = new EC2({customUserAgent}); - -const dbClient = AWSXRay.captureAWSv3Client(new DynamoDB({customUserAgent})); -const docClient = DynamoDBDocument.from(dbClient); - -const AWS_ORGANIZATIONS = 'AWS_ORGANIZATIONS'; -const DUPLICATE_ACCOUNTS_ERROR = - 'Your configuration aggregator contains duplicate accounts. Delete the duplicate accounts and try again.'; - -function handleAwsConfigErrors(err) { - if ([DUPLICATE_ACCOUNTS_ERROR].includes(err.message)) { - console.log(err); - } else { - throw err; - } -} - -const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms)); -const all = (ps) => Promise.all(ps); - -const query = R.curry(async (docClient, TableName, query) => { - function query_(params, items = []) { - return docClient.query(params) - .then(({Items, LastEvaluatedKey}) => { - items.push(...Items); - return LastEvaluatedKey == null - ? {Items: items} : query_({ ExclusiveStartKey: LastEvaluatedKey, TableName, ...query }, items); - }); - } - - return query_({ TableName, ...query }); -}); - -const batchWrite = R.curry((docClient, retryDelay, writes) => { - function batchWrite_(writes, attempt) { - return docClient - .batchWrite(writes) - .then(async ({ UnprocessedItems }) => { - if (attempt > 3 || R.isEmpty(R.keys(UnprocessedItems))) { - return {UnprocessedItems}; - } - await sleep(attempt * retryDelay); - return batchWrite_({ RequestItems: UnprocessedItems }, attempt + 1); - }); - } - - return batchWrite_(writes, 0); -}); - -const batchGet = R.curry((docClient, retryDelay, gets) => { - function batchGet_(gets, attempt, Items = []) { - return docClient - .batchGet(gets) - .then(async ({ Responses, UnprocessedKeys }) => { - Items.push(...Object.values(Responses).flat()); - if (attempt > 3 || R.isEmpty(R.keys(UnprocessedKeys))) { - return { Items, UnprocessedKeys }; - } - await sleep(attempt * retryDelay); - return batchGet_({ RequestItems: UnprocessedKeys }, attempt + 1, Items); - }); - } - - return batchGet_(gets, 0); -}); - -const createDeleteRequest = ({ PK, SK }) => ({ - DeleteRequest: { Key: { PK, SK } }, -}); - -const createPutRequest = (query) => ({ PutRequest: { Item: query } }); - -const createBatchWriteRequest = (TableName) => (writes) => ({ - RequestItems: { [TableName]: writes }, -}); - -const getUnprocessedItems = (TableName) => - R.pathOr([], ['UnprocessedItems', TableName]); - -const DEFAULT_ACCOUNT_PROJECTION_EXPR = - 'accountId, #name, regions, isIamRoleDeployed, organizationId, isManagementAccount, lastCrawled'; - -const DEFAULT_EXPRESSION_ATT_NAMES = { - '#name': 'name' -} - -function getAllAccountsFromDb(docClient, TableName, {ProjectionExpression, ExpressionAttributeNames}) { - return Promise.resolve({ - KeyConditionExpression: 'PK = :PK', - ProjectionExpression, - ...(R.isEmpty(ExpressionAttributeNames) ? ExpressionAttributeNames : {ExpressionAttributeNames}), - ExpressionAttributeValues: { - ':PK': 'Account', - } - }) - .then(query(docClient, TableName)) - .then(R.prop('Items')) -} - -function getFilteredAccountsFromDb(docClient, TableName, { - ProjectionExpression, ExpressionAttributeNames = {}, accountFilters = [], retryTime -}) { - return Promise.resolve(R.splitEvery(100, accountFilters)) - .then(R.map(accountIds => { - return { - RequestItems: { - [TableName]: { - Keys: accountIds.map(accountId => ({PK: 'Account', SK: accountId})), - ProjectionExpression, - ...(R.isEmpty(ExpressionAttributeNames) ? ExpressionAttributeNames : {ExpressionAttributeNames}), - } - } - } - })) - .then(R.map(batchGet(docClient, retryTime))) - .then(all) - .then(R.chain(x => x.Items)) -} - -function getAccountsFromDb(docClient, TableName, { - ProjectionExpression, ExpressionAttributeNames = {}, accountFilters = [], retryTime -}) { - return R.isEmpty(accountFilters) - ? getAllAccountsFromDb(docClient, TableName, {ProjectionExpression, ExpressionAttributeNames}) - : getFilteredAccountsFromDb(docClient, TableName, { - ProjectionExpression, ExpressionAttributeNames, accountFilters: accountFilters, retryTime - }); -} - -function deleteAccounts( - docClient, - configService, - TableName, - { defaultAccountId, defaultRegion, configAggregator, isUsingOrganizations, accountIds, retryTime } -) { - return getAccountsFromDb(docClient, TableName, {ProjectionExpression: DEFAULT_ACCOUNT_PROJECTION_EXPR, ExpressionAttributeNames: DEFAULT_EXPRESSION_ATT_NAMES}) - .then(dbAccounts => { - const accountsToDelete = new Set(accountIds); - return R.reject(({accountId}) => accountsToDelete.has(accountId), dbAccounts); - }) - .then(accounts => { - const AccountIds = R.pluck('accountId', accounts); - const AwsRegions = R.uniq(accounts.flatMap(x => R.pluck('name', x.regions))); - return {AccountIds, AwsRegions}; - }) - .then(async ({AccountIds, AwsRegions}) => { - if(isUsingOrganizations) return; - - // The putConfigurationAggregator API requires that AccountIds and AsRegions be arrays of at least - // length 1. If a user deletes all their accounts an error occurs and the accounts are not deleted. - // To mitigate this, we supply the default region and account where the config aggregator is deployed. - return configService - .putConfigurationAggregator({ - ConfigurationAggregatorName: configAggregator, - AccountAggregationSources: [ - { - AccountIds: R.isEmpty(AccountIds) ? [defaultAccountId] : AccountIds, - AllAwsRegions: false, - AwsRegions: R.isEmpty(AwsRegions) ? [defaultRegion]: AwsRegions, - }, - ], - }) - }) - .catch(handleAwsConfigErrors) - .then(() => accountIds.map(id => ({PK: 'Account', SK: id}))) - .then(R.map(createDeleteRequest)) - .then(R.splitEvery(25)) - .then(R.map(createBatchWriteRequest(TableName))) - .then(R.map(batchWrite(docClient, retryTime))) - .then(all) - .then(R.chain(getUnprocessedItems(TableName))) - .then(R.map(R.path(['DeleteRequest', 'Key', 'SK']))) - .then((unprocessedAccounts) => ({ unprocessedAccounts })); -} - -function handleUpdateItemNotExistsError(err) { - if (err.code === 'ConditionalCheckFailedException') { - throw new Error('Cannot update item that does not exist'); - } - throw err; -} - -function updateAccount(docClient, TableName, { accountId, ...Update }) { - const dynamoArg = {PK: 'Account', SK: accountId}; - return docClient - .update(dynoexpr({ - TableName, - Key: dynamoArg, - Condition: dynamoArg, - Update, - })) - .then(() => ({accountId, ...Update})) - .catch(handleUpdateItemNotExistsError); -} - -function updateRegions(docClient, TableName, { accountId, regions }) { - // This is a naive implementation because it doesn't take into consideration - // the race condition that could occur between getting the region list and - // then updating it. This is very unlikely but if it becomes an issue, we - // can make a more robust implementation. - return docClient.get({TableName, Key: {PK: 'Account', SK: accountId}, ProjectionExpression: 'regions'}) - .then(({Item: {regions: dbRegions}}) => { - return R.uniqBy(R.prop('name'), regions).reduce((acc, region) => { - const i = dbRegions.findIndex(r => r.name === region.name); - if(i !== -1) acc.push({i, region}); - return acc - }, []); - }) - .then(updatedRegions => { - const {PK, SK} = {PK: 'Account', SK: accountId}; - - const ExpressionAttributeValues = updatedRegions.reduce((acc, {i, region}) => { - acc[':region' + i] = region; - return acc; - }, {':PK': PK, ':SK': SK}); - - const updateExprssion = updatedRegions.map(({i, region}) => { - return `#regions[${i}] = :region${i}`; - }); - - return docClient - .update({ - TableName, - Key: { - PK, - SK, - }, - ConditionExpression: '(#PK = :PK) AND (#SK = :SK)', - ExpressionAttributeNames: { - '#PK': 'PK', - '#SK': "SK", - '#regions': "regions" - }, - ExpressionAttributeValues, - UpdateExpression: `SET ${updateExprssion.join(',')}` - }); - }) - .catch(handleUpdateItemNotExistsError) - .then(() => ({ accountId, regions })); -} - -function getAccount(docClient, TableName, {accountId}) { - return Promise.resolve({ - KeyConditionExpression: 'PK = :PK AND SK = :SK', - ProjectionExpression: DEFAULT_ACCOUNT_PROJECTION_EXPR, - ExpressionAttributeNames:{ - '#name': 'name' - }, - ExpressionAttributeValues: { - ':PK': 'Account', - ':SK': accountId - } - }) - .then(query(docClient, TableName)) - .then(({Items}) => R.head(Items) ?? []) -} - -function getAccounts(docClient, TableName) { - return getAccountsFromDb(docClient, TableName, {ProjectionExpression: DEFAULT_ACCOUNT_PROJECTION_EXPR, ExpressionAttributeNames: DEFAULT_EXPRESSION_ATT_NAMES}) ; -} - -function addAccounts( - docClient, - configService, - TableName, - {accounts, configAggregator, isUsingOrganizations, retryTime} -) { - const depudedAccounts = R.map(R.evolve({ - regions: R.uniqBy(R.prop('name')) - }), accounts); - - return getAccountsFromDb(docClient, TableName, {ProjectionExpression: DEFAULT_ACCOUNT_PROJECTION_EXPR, ExpressionAttributeNames: DEFAULT_EXPRESSION_ATT_NAMES}) - .then(R.reduce((acc, {regions, accountId}) => { - acc[accountId] = {regions, accountId}; - return acc; - }, {})) - .then(dbAccounts => { - const newAccounts = depudedAccounts.reduce((acc, {regions, accountId}) => { - acc[accountId] = {regions, accountId}; - return acc; - }, {}); - return R.mergeRight(dbAccounts, newAccounts) - }) - .then(accountObj => { - const AccountIds = R.keys(accountObj); - const AwsRegions = R.uniq(R.values(accountObj).flatMap(x => R.pluck('name', x.regions))); - return {AccountIds, AwsRegions}; - }) - .then(async ({AccountIds, AwsRegions}) => { - if(isUsingOrganizations) return; - - return configService - .putConfigurationAggregator({ - ConfigurationAggregatorName: configAggregator, - AccountAggregationSources: [{ - AccountIds, - AllAwsRegions: false, - AwsRegions - }] - }); - }) - .catch(handleAwsConfigErrors) - .then(() => depudedAccounts) - .then(R.map(account => ({ - PK: 'Account', - SK: account.accountId, - type: 'account', - ...account - }))) - .then(R.map(createPutRequest)) - .then(R.splitEvery(25)) - .then(R.map(createBatchWriteRequest(TableName))) - .then(R.map(batchWrite(docClient, retryTime))) - .then(all) - .then(R.chain(getUnprocessedItems(TableName))) - .then(R.map(R.path(['PutRequest', 'Item', 'accountId']))) - .then((unprocessedAccounts) => ({ unprocessedAccounts })); -} - -function handleRegions(accountHandler) { - return (docClient, configService, TableName, {accountId, regions, configAggregator, isUsingOrganizations}) => { - return getAccountsFromDb(docClient, TableName, { - ProjectionExpression: DEFAULT_ACCOUNT_PROJECTION_EXPR, ExpressionAttributeNames: DEFAULT_EXPRESSION_ATT_NAMES - }) - .then(R.map(accountHandler(regions, accountId))) - .then(accounts => { - const AccountIds = R.pluck('accountId', accounts); - const AwsRegions = R.uniq(accounts.flatMap(x => R.pluck('name', x.regions))); - return {AccountIds, AwsRegions, accounts}; - }) - .then(async ({AccountIds, AwsRegions, accounts}) => { - if(!isUsingOrganizations) { - await configService - .putConfigurationAggregator({ - ConfigurationAggregatorName: configAggregator, - AccountAggregationSources: [{ - AccountIds, - AllAwsRegions: false, - AwsRegions - }] - }); - } - return accounts; - }) - .catch((err) => { - console.log(err); - if (err.message !== DUPLICATE_ACCOUNTS_ERROR) throw err; - }) - .then(accounts => { - const dynamoArg = {PK: 'Account', SK: accountId}; - const account = accounts.find(x => x.accountId === accountId); - - return docClient - .update(dynoexpr({ - TableName, - Key: dynamoArg, - Condition: dynamoArg, - Update: {regions: account.regions}, - ReturnValues: 'ALL_NEW' - })); - }) - .catch(handleUpdateItemNotExistsError) - .then(({Attributes}) => R.pick(['accountId', 'regions', 'name', 'lastCrawled'], Attributes)); - }; -} - -const addRegions = handleRegions(R.curry((regions, accountId, account) => { - const newRegions = R.uniqBy(R.prop('name'), [...regions, ...account.regions]); - return account.accountId === accountId ? {...account, ...{regions: newRegions}} : account; -})); - -const deleteRegions = handleRegions(R.curry((regions, accountId, account) => { - const toRemove = new Set(R.pluck('name', regions)); - const newRegions = R.reject(({name}) => toRemove.has(name), account.regions); - - if(R.isEmpty(newRegions)) { - throw new Error('Unable to delete region(s), an account must have at least one region.'); - } - - return account.accountId === accountId ? {...account, ...{regions: newRegions}} : account; -})); - -function getResourcesMetadata(docClient, TableName, {retryTime}) { - console.time('getResourcesMetadata elapsed time'); - - return getAccountsFromDb(docClient, TableName, { - ProjectionExpression: 'accountId, regions, resourcesRegionMetadata', retryTime - }) - .then(R.reject(x => x.resourcesRegionMetadata == null)) - .then(dbResponse => { - const accounts = R.map(R.pick(['accountId', 'regions']), dbResponse); - - const resourcesRegionMetadata = dbResponse - .map(x => x.resourcesRegionMetadata) - - const count = resourcesRegionMetadata.reduce((acc, {count}) => acc + count, 0); - - const resourceTypesObj = resourcesRegionMetadata.reduce((acc, {regions}) => { - regions.forEach(({resourceTypes}) => { - resourceTypes.forEach(({count, type}) => { - if(acc[type] == null) { - acc[type] = { - count: 0, - type - } - } - acc[type].count = acc[type].count + count; - }); - }); - return acc; - }, {}); - - return { - count, accounts, resourceTypes: Object.values(resourceTypesObj) - } - }).then(R.tap(() => console.timeEnd('getResourcesMetadata elapsed time'))); -} - -function getResourcesAccountMetadata(docClient, TableName, {retryTime, accounts = []}) { - const accountsMap = new Map(accounts.map(({accountId, regions = []}) => [accountId, { - accountId, regions: new Set(regions.map(x => x.name)) - }])); - - console.time('getResourcesAccountMetadata elapsed time'); - return getAccountsFromDb(docClient, TableName, { - ProjectionExpression :'resourcesRegionMetadata', accountFilters: accounts.map(x => x.accountId), retryTime - }) - .then(R.chain(({resourcesRegionMetadata}) => { - if(resourcesRegionMetadata == null) return []; - - const {accountId, regions} = resourcesRegionMetadata; - let totalCount = 0; - - const resourceTypesObj = regions - .filter(({name}) => { - if(accountsMap.has(accountId)) { - const regionSet = accountsMap.get(accountId).regions; - return regionSet.size === 0 || regionSet.has(name); - } - return true; - }) - .reduce((acc, {resourceTypes}) => { - resourceTypes.forEach(({count, type}) => { - if (acc[type] == null) { - acc[type] = { - count: 0, - type - } - } - - const resourceType = acc[type]; - - resourceType.count = resourceType.count + count; - totalCount = totalCount + count; - }); - return acc; - }, {}); - - return [{ - accountId, - count: totalCount, - resourceTypes: Object.values(resourceTypesObj) - }] - })) - .then(R.tap(() => console.timeEnd('getResourcesAccountMetadata elapsed time'))); -} - -function getResourcesRegionMetadata(docClient, TableName, {retryTime, accounts = []}) { - const accountsMap = new Map(accounts.map(({accountId, regions = []}) => [accountId, { - accountId, regions: new Set(regions.map(x => x.name)) - }])); - - console.time('getResourcesRegionMetadata elapsed time'); - return getAccountsFromDb(docClient, TableName, { - ProjectionExpression :'resourcesRegionMetadata', accountFilters: accounts.map(x => x.accountId), retryTime - }) - .then(R.reject(R.isEmpty)) - .then(R.map(({resourcesRegionMetadata}) => { - if(accountsMap.size === 0) return resourcesRegionMetadata; - - const {accountId, regions, count} = resourcesRegionMetadata; - - const {regions: regionsSet} = accountsMap.get(accountId); - - const filteredRegions = regionsSet.size === 0 ? regions : regions.filter(x => regionsSet.has(x.name)); - const filteredCount = regionsSet.size === 0 ? count : filteredRegions.reduce((acc, {count}) => acc + count, 0); - - return { - accountId, - count: filteredCount, - regions: filteredRegions - }; - })) - .then(R.tap(() => console.timeEnd('getResourcesRegionMetadata elapsed time'))); -} - -const isAccountNumber = R.test(/^(\d{12})$/); - -function validateAccountIds({accountId, accountIds, accounts}) { - if(accountId != null && !isAccountNumber(accountId)) { - throw new Error(`${accountId} is not a valid AWS account id.`); - } - - const invalidAccountIds = (accountIds ?? accounts?.map(x => x.accountId) ?? []) - .filter(accountId => { - // this is a special account where AWS managed policies live - if(accountId === 'aws') return false; - return !isAccountNumber(accountId); - }); - - if (!R.isEmpty(invalidAccountIds)) { - throw new Error('The following account ids are invalid: ' + invalidAccountIds); - } -} - -function validateRegions(regionSet, {accounts, regions}) { - const invalidRegions = (regions ?? accounts?.flatMap(a => a.regions ?? []) ?? []) - .map(r => r.name) - .filter(r => !regionSet.has(r)); - - if (!R.isEmpty(invalidRegions)) { - throw new Error('The following regions are invalid: ' + invalidRegions); - } -} - -async function getRegions(ec2Client) { - // make call to aws api to get regions - const { Regions } = await ec2Client.describeRegions({}); - const regionsSet = new Set(R.pluck('RegionName', Regions)); - regionsSet.add('global'); - return regionsSet; -} - -const cache = {}; - -function handler(ec2Client, docClient, configService, { - ACCOUNT_ID: defaultAccountId, AWS_REGION: defaultRegion, - DB_TABLE: TableName, CONFIG_AGGREGATOR: configAggregator, - CROSS_ACCOUNT_DISCOVERY: crossAccountDiscovery, RETRY_TIME: retryTime = 1000 -}) { - return async (event, _) => { - if (R.isNil(cache.regions)) cache.regions = await getRegions(ec2Client); - - const isUsingOrganizations = crossAccountDiscovery === AWS_ORGANIZATIONS; - - const args = R.reject(R.isNil, event.arguments); - const fieldName = event.info.fieldName; - console.log(JSON.stringify({arguments: args, operation: fieldName})); - - validateAccountIds(args); - validateRegions(cache.regions, args); - - switch (fieldName) { - case 'addAccounts': - return addAccounts(docClient, configService, TableName, { - configAggregator, - isUsingOrganizations, - retryTime, - ...R.evolve({accounts: R.uniqBy(R.prop('accountId'))}, args), - }); - case 'addRegions': - return addRegions(docClient, configService, TableName, { - configAggregator, - isUsingOrganizations, - ...args, - }); - case 'deleteAccounts': - return deleteAccounts(docClient, configService, TableName, { - defaultAccountId, - defaultRegion, - configAggregator, - isUsingOrganizations, - retryTime, - ...args, - }); - case 'deleteRegions': - return deleteRegions(docClient, configService, TableName, { - configAggregator, - isUsingOrganizations, - ...args, - }); - case 'getAccount': - return getAccount(docClient, TableName, args); - case 'getAccounts': - return getAccounts(docClient, TableName); - case 'updateAccount': - return updateAccount(docClient, TableName, args); - case 'updateRegions': - return updateRegions(docClient, TableName, args); - case 'getResourcesMetadata': - return getResourcesMetadata(docClient, TableName, {retryTime}); - case 'getResourcesAccountMetadata': - return getResourcesAccountMetadata(docClient, TableName, {retryTime, ...args}); - case 'getResourcesRegionMetadata': - return getResourcesRegionMetadata(docClient, TableName, {retryTime, ...args}); - default: - return Promise.reject(new Error(`Unknown field, unable to resolve ${fieldName}.`)); - } - }; -} - -exports.handler = handler(ec2Client, docClient, configService, process.env); diff --git a/source/backend/functions/settings/test/fixtures/getResourcesAccountMetadata/account-filter-expected.json b/source/backend/functions/settings/test/fixtures/getResourcesAccountMetadata/account-filter-expected.json index 577fe139..bfb8842d 100644 --- a/source/backend/functions/settings/test/fixtures/getResourcesAccountMetadata/account-filter-expected.json +++ b/source/backend/functions/settings/test/fixtures/getResourcesAccountMetadata/account-filter-expected.json @@ -1,52 +1,52 @@ [ - { - "accountId": "111111111111", - "count": 87, - "resourceTypes": [ - { - "count": 6, - "type": "AWS::CloudFormation::Stack" - }, - { - "count": 3, - "type": "AWS::SNS::Topic" - }, - { - "count": 7, - "type": "AWS::Events::Rule" - }, - { - "count": 7, - "type": "AWS::Lambda::Function" - }, - { - "count": 4, - "type": "AWS::Cassandra::Keyspace" - }, - { - "count": 1, - "type": "AWS::Config::ConfigurationRecorder" - }, - { - "count": 1, - "type": "AWS::EventSchemas::Registry" - }, - { - "count": 1, - "type": "AWS::Events::EventBus" - }, - { - "count": 20, - "type": "AWS::IAM::Role" - }, - { - "count": 16, - "type": "AWS::IAM::InlinePolicy" - }, - { - "count": 21, - "type": "AWS::Tags::Tag" - } - ] - } -] \ No newline at end of file + { + "accountId": "111111111111", + "count": 87, + "resourceTypes": [ + { + "count": 6, + "type": "AWS::CloudFormation::Stack" + }, + { + "count": 3, + "type": "AWS::SNS::Topic" + }, + { + "count": 7, + "type": "AWS::Events::Rule" + }, + { + "count": 7, + "type": "AWS::Lambda::Function" + }, + { + "count": 4, + "type": "AWS::Cassandra::Keyspace" + }, + { + "count": 1, + "type": "AWS::Config::ConfigurationRecorder" + }, + { + "count": 1, + "type": "AWS::EventSchemas::Registry" + }, + { + "count": 1, + "type": "AWS::Events::EventBus" + }, + { + "count": 20, + "type": "AWS::IAM::Role" + }, + { + "count": 16, + "type": "AWS::IAM::InlinePolicy" + }, + { + "count": 21, + "type": "AWS::Tags::Tag" + } + ] + } +] diff --git a/source/backend/functions/settings/test/fixtures/getResourcesAccountMetadata/account-region-filter-expected.json b/source/backend/functions/settings/test/fixtures/getResourcesAccountMetadata/account-region-filter-expected.json index 906fe793..57a46372 100644 --- a/source/backend/functions/settings/test/fixtures/getResourcesAccountMetadata/account-region-filter-expected.json +++ b/source/backend/functions/settings/test/fixtures/getResourcesAccountMetadata/account-region-filter-expected.json @@ -1,82 +1,82 @@ [ - { - "accountId": "111111111111", - "count": 21, - "resourceTypes": [ - { - "count": 6, - "type": "AWS::CloudFormation::Stack" - }, - { - "count": 3, - "type": "AWS::SNS::Topic" - }, - { - "count": 1, - "type": "AWS::Events::Rule" - }, - { - "count": 7, - "type": "AWS::Lambda::Function" - }, - { - "count": 4, - "type": "AWS::Cassandra::Keyspace" - } - ] - }, - { - "accountId": "222222222222", - "count": 31, - "resourceTypes": [ - { - "count": 5, - "type": "AWS::KMS::Key" - }, - { - "count": 1, - "type": "AWS::S3::AccountPublicAccessBlock" - }, - { - "count": 4, - "type": "AWS::AppConfig::DeploymentStrategy" - }, - { - "count": 4, - "type": "AWS::Events::Rule" - }, - { - "count": 3, - "type": "AWS::Lambda::Function" - }, - { - "count": 1, - "type": "AWS::EC2::NetworkAcl" - }, - { - "count": 1, - "type": "AWS::EventSchemas::Registry" - }, - { - "count": 3, - "type": "AWS::S3::Bucket" - }, - { - "count": 1, - "type": "AWS::EC2::RouteTable" - }, - { - "count": 1, - "type": "AWS::EC2::SecurityGroup" - }, - { - "count": 6, - "type": "AWS::EC2::Subnet" - }, - { - "count": 1, - "type": "AWS::EC2::VPC" - } - ] - } -] \ No newline at end of file + { + "accountId": "111111111111", + "count": 21, + "resourceTypes": [ + { + "count": 6, + "type": "AWS::CloudFormation::Stack" + }, + { + "count": 3, + "type": "AWS::SNS::Topic" + }, + { + "count": 1, + "type": "AWS::Events::Rule" + }, + { + "count": 7, + "type": "AWS::Lambda::Function" + }, + { + "count": 4, + "type": "AWS::Cassandra::Keyspace" + } + ] + }, + { + "accountId": "222222222222", + "count": 31, + "resourceTypes": [ + { + "count": 5, + "type": "AWS::KMS::Key" + }, + { + "count": 1, + "type": "AWS::S3::AccountPublicAccessBlock" + }, + { + "count": 4, + "type": "AWS::AppConfig::DeploymentStrategy" + }, + { + "count": 4, + "type": "AWS::Events::Rule" + }, + { + "count": 3, + "type": "AWS::Lambda::Function" + }, + { + "count": 1, + "type": "AWS::EC2::NetworkAcl" + }, + { + "count": 1, + "type": "AWS::EventSchemas::Registry" + }, + { + "count": 3, + "type": "AWS::S3::Bucket" + }, + { + "count": 1, + "type": "AWS::EC2::RouteTable" + }, + { + "count": 1, + "type": "AWS::EC2::SecurityGroup" + }, + { + "count": 6, + "type": "AWS::EC2::Subnet" + }, + { + "count": 1, + "type": "AWS::EC2::VPC" + } + ] + } +] diff --git a/source/backend/functions/settings/test/fixtures/getResourcesAccountMetadata/default-expected.json b/source/backend/functions/settings/test/fixtures/getResourcesAccountMetadata/default-expected.json index 2af54614..261d46c5 100644 --- a/source/backend/functions/settings/test/fixtures/getResourcesAccountMetadata/default-expected.json +++ b/source/backend/functions/settings/test/fixtures/getResourcesAccountMetadata/default-expected.json @@ -1,106 +1,106 @@ [ - { - "accountId": "111111111111", - "count": 87, - "resourceTypes": [ - { - "count": 6, - "type": "AWS::CloudFormation::Stack" - }, - { - "count": 3, - "type": "AWS::SNS::Topic" - }, - { - "count": 7, - "type": "AWS::Events::Rule" - }, - { - "count": 7, - "type": "AWS::Lambda::Function" - }, - { - "count": 4, - "type": "AWS::Cassandra::Keyspace" - }, - { - "count": 1, - "type": "AWS::Config::ConfigurationRecorder" - }, - { - "count": 1, - "type": "AWS::EventSchemas::Registry" - }, - { - "count": 1, - "type": "AWS::Events::EventBus" - }, - { - "count": 20, - "type": "AWS::IAM::Role" - }, - { - "count": 16, - "type": "AWS::IAM::InlinePolicy" - }, - { - "count": 21, - "type": "AWS::Tags::Tag" - } - ] - }, - { - "accountId": "222222222222", - "count": 31, - "resourceTypes": [ - { - "count": 5, - "type": "AWS::KMS::Key" - }, - { - "count": 1, - "type": "AWS::S3::AccountPublicAccessBlock" - }, - { - "count": 4, - "type": "AWS::AppConfig::DeploymentStrategy" - }, - { - "count": 4, - "type": "AWS::Events::Rule" - }, - { - "count": 3, - "type": "AWS::Lambda::Function" - }, - { - "count": 1, - "type": "AWS::EC2::NetworkAcl" - }, - { - "count": 1, - "type": "AWS::EventSchemas::Registry" - }, - { - "count": 3, - "type": "AWS::S3::Bucket" - }, - { - "count": 1, - "type": "AWS::EC2::RouteTable" - }, - { - "count": 1, - "type": "AWS::EC2::SecurityGroup" - }, - { - "count": 6, - "type": "AWS::EC2::Subnet" - }, - { - "count": 1, - "type": "AWS::EC2::VPC" - } - ] - } -] \ No newline at end of file + { + "accountId": "111111111111", + "count": 87, + "resourceTypes": [ + { + "count": 6, + "type": "AWS::CloudFormation::Stack" + }, + { + "count": 3, + "type": "AWS::SNS::Topic" + }, + { + "count": 7, + "type": "AWS::Events::Rule" + }, + { + "count": 7, + "type": "AWS::Lambda::Function" + }, + { + "count": 4, + "type": "AWS::Cassandra::Keyspace" + }, + { + "count": 1, + "type": "AWS::Config::ConfigurationRecorder" + }, + { + "count": 1, + "type": "AWS::EventSchemas::Registry" + }, + { + "count": 1, + "type": "AWS::Events::EventBus" + }, + { + "count": 20, + "type": "AWS::IAM::Role" + }, + { + "count": 16, + "type": "AWS::IAM::InlinePolicy" + }, + { + "count": 21, + "type": "AWS::Tags::Tag" + } + ] + }, + { + "accountId": "222222222222", + "count": 31, + "resourceTypes": [ + { + "count": 5, + "type": "AWS::KMS::Key" + }, + { + "count": 1, + "type": "AWS::S3::AccountPublicAccessBlock" + }, + { + "count": 4, + "type": "AWS::AppConfig::DeploymentStrategy" + }, + { + "count": 4, + "type": "AWS::Events::Rule" + }, + { + "count": 3, + "type": "AWS::Lambda::Function" + }, + { + "count": 1, + "type": "AWS::EC2::NetworkAcl" + }, + { + "count": 1, + "type": "AWS::EventSchemas::Registry" + }, + { + "count": 3, + "type": "AWS::S3::Bucket" + }, + { + "count": 1, + "type": "AWS::EC2::RouteTable" + }, + { + "count": 1, + "type": "AWS::EC2::SecurityGroup" + }, + { + "count": 6, + "type": "AWS::EC2::Subnet" + }, + { + "count": 1, + "type": "AWS::EC2::VPC" + } + ] + } +] diff --git a/source/backend/functions/settings/test/fixtures/getResourcesAccountMetadata/no-metadata-expected.json b/source/backend/functions/settings/test/fixtures/getResourcesAccountMetadata/no-metadata-expected.json index 6fe56e7c..a2330a7f 100644 --- a/source/backend/functions/settings/test/fixtures/getResourcesAccountMetadata/no-metadata-expected.json +++ b/source/backend/functions/settings/test/fixtures/getResourcesAccountMetadata/no-metadata-expected.json @@ -1,56 +1,56 @@ [ - { - "accountId": "222222222222", - "count": 31, - "resourceTypes": [ - { - "count": 5, - "type": "AWS::KMS::Key" - }, - { - "count": 1, - "type": "AWS::S3::AccountPublicAccessBlock" - }, - { - "count": 4, - "type": "AWS::AppConfig::DeploymentStrategy" - }, - { - "count": 4, - "type": "AWS::Events::Rule" - }, - { - "count": 3, - "type": "AWS::Lambda::Function" - }, - { - "count": 1, - "type": "AWS::EC2::NetworkAcl" - }, - { - "count": 1, - "type": "AWS::EventSchemas::Registry" - }, - { - "count": 3, - "type": "AWS::S3::Bucket" - }, - { - "count": 1, - "type": "AWS::EC2::RouteTable" - }, - { - "count": 1, - "type": "AWS::EC2::SecurityGroup" - }, - { - "count": 6, - "type": "AWS::EC2::Subnet" - }, - { - "count": 1, - "type": "AWS::EC2::VPC" - } - ] - } -] \ No newline at end of file + { + "accountId": "222222222222", + "count": 31, + "resourceTypes": [ + { + "count": 5, + "type": "AWS::KMS::Key" + }, + { + "count": 1, + "type": "AWS::S3::AccountPublicAccessBlock" + }, + { + "count": 4, + "type": "AWS::AppConfig::DeploymentStrategy" + }, + { + "count": 4, + "type": "AWS::Events::Rule" + }, + { + "count": 3, + "type": "AWS::Lambda::Function" + }, + { + "count": 1, + "type": "AWS::EC2::NetworkAcl" + }, + { + "count": 1, + "type": "AWS::EventSchemas::Registry" + }, + { + "count": 3, + "type": "AWS::S3::Bucket" + }, + { + "count": 1, + "type": "AWS::EC2::RouteTable" + }, + { + "count": 1, + "type": "AWS::EC2::SecurityGroup" + }, + { + "count": 6, + "type": "AWS::EC2::Subnet" + }, + { + "count": 1, + "type": "AWS::EC2::VPC" + } + ] + } +] diff --git a/source/backend/functions/settings/test/fixtures/getResourcesMetadata/default-expected.json b/source/backend/functions/settings/test/fixtures/getResourcesMetadata/default-expected.json index 4f872be9..cd69c1eb 100644 --- a/source/backend/functions/settings/test/fixtures/getResourcesMetadata/default-expected.json +++ b/source/backend/functions/settings/test/fixtures/getResourcesMetadata/default-expected.json @@ -1,106 +1,106 @@ { - "count": 118, - "accounts": [ - { - "accountId": "111111111111", - "regions": [ + "count": 118, + "accounts": [ { - "name": "eu-west-1" + "accountId": "111111111111", + "regions": [ + { + "name": "eu-west-1" + }, + { + "name": "eu-west-2" + } + ] }, { - "name": "eu-west-2" + "accountId": "222222222222", + "regions": [ + { + "name": "us-east-1" + } + ] } - ] - }, - { - "accountId": "222222222222", - "regions": [ + ], + "resourceTypes": [ { - "name": "us-east-1" + "count": 6, + "type": "AWS::CloudFormation::Stack" + }, + { + "count": 3, + "type": "AWS::SNS::Topic" + }, + { + "count": 11, + "type": "AWS::Events::Rule" + }, + { + "count": 10, + "type": "AWS::Lambda::Function" + }, + { + "count": 4, + "type": "AWS::Cassandra::Keyspace" + }, + { + "count": 1, + "type": "AWS::Config::ConfigurationRecorder" + }, + { + "count": 2, + "type": "AWS::EventSchemas::Registry" + }, + { + "count": 1, + "type": "AWS::Events::EventBus" + }, + { + "count": 20, + "type": "AWS::IAM::Role" + }, + { + "count": 16, + "type": "AWS::IAM::InlinePolicy" + }, + { + "count": 21, + "type": "AWS::Tags::Tag" + }, + { + "count": 5, + "type": "AWS::KMS::Key" + }, + { + "count": 1, + "type": "AWS::S3::AccountPublicAccessBlock" + }, + { + "count": 4, + "type": "AWS::AppConfig::DeploymentStrategy" + }, + { + "count": 1, + "type": "AWS::EC2::NetworkAcl" + }, + { + "count": 3, + "type": "AWS::S3::Bucket" + }, + { + "count": 1, + "type": "AWS::EC2::RouteTable" + }, + { + "count": 1, + "type": "AWS::EC2::SecurityGroup" + }, + { + "count": 6, + "type": "AWS::EC2::Subnet" + }, + { + "count": 1, + "type": "AWS::EC2::VPC" } - ] - } - ], - "resourceTypes": [ - { - "count": 6, - "type": "AWS::CloudFormation::Stack" - }, - { - "count": 3, - "type": "AWS::SNS::Topic" - }, - { - "count": 11, - "type": "AWS::Events::Rule" - }, - { - "count": 10, - "type": "AWS::Lambda::Function" - }, - { - "count": 4, - "type": "AWS::Cassandra::Keyspace" - }, - { - "count": 1, - "type": "AWS::Config::ConfigurationRecorder" - }, - { - "count": 2, - "type": "AWS::EventSchemas::Registry" - }, - { - "count": 1, - "type": "AWS::Events::EventBus" - }, - { - "count": 20, - "type": "AWS::IAM::Role" - }, - { - "count": 16, - "type": "AWS::IAM::InlinePolicy" - }, - { - "count": 21, - "type": "AWS::Tags::Tag" - }, - { - "count": 5, - "type": "AWS::KMS::Key" - }, - { - "count": 1, - "type": "AWS::S3::AccountPublicAccessBlock" - }, - { - "count": 4, - "type": "AWS::AppConfig::DeploymentStrategy" - }, - { - "count": 1, - "type": "AWS::EC2::NetworkAcl" - }, - { - "count": 3, - "type": "AWS::S3::Bucket" - }, - { - "count": 1, - "type": "AWS::EC2::RouteTable" - }, - { - "count": 1, - "type": "AWS::EC2::SecurityGroup" - }, - { - "count": 6, - "type": "AWS::EC2::Subnet" - }, - { - "count": 1, - "type": "AWS::EC2::VPC" - } - ] -} \ No newline at end of file + ] +} diff --git a/source/backend/functions/settings/test/fixtures/getResourcesMetadata/no-metadata-expected.json b/source/backend/functions/settings/test/fixtures/getResourcesMetadata/no-metadata-expected.json index b51046d3..b3cd75fc 100644 --- a/source/backend/functions/settings/test/fixtures/getResourcesMetadata/no-metadata-expected.json +++ b/source/backend/functions/settings/test/fixtures/getResourcesMetadata/no-metadata-expected.json @@ -1,62 +1,62 @@ { - "count": 87, - "accounts": [ - { - "accountId": "111111111111", - "regions": [ + "count": 87, + "accounts": [ { - "name": "eu-west-1" + "accountId": "111111111111", + "regions": [ + { + "name": "eu-west-1" + }, + { + "name": "eu-west-2" + } + ] + } + ], + "resourceTypes": [ + { + "count": 6, + "type": "AWS::CloudFormation::Stack" + }, + { + "count": 3, + "type": "AWS::SNS::Topic" + }, + { + "count": 7, + "type": "AWS::Events::Rule" + }, + { + "count": 7, + "type": "AWS::Lambda::Function" + }, + { + "count": 4, + "type": "AWS::Cassandra::Keyspace" + }, + { + "count": 1, + "type": "AWS::Config::ConfigurationRecorder" + }, + { + "count": 1, + "type": "AWS::EventSchemas::Registry" + }, + { + "count": 1, + "type": "AWS::Events::EventBus" + }, + { + "count": 20, + "type": "AWS::IAM::Role" + }, + { + "count": 16, + "type": "AWS::IAM::InlinePolicy" }, { - "name": "eu-west-2" + "count": 21, + "type": "AWS::Tags::Tag" } - ] - } - ], - "resourceTypes": [ - { - "count": 6, - "type": "AWS::CloudFormation::Stack" - }, - { - "count": 3, - "type": "AWS::SNS::Topic" - }, - { - "count": 7, - "type": "AWS::Events::Rule" - }, - { - "count": 7, - "type": "AWS::Lambda::Function" - }, - { - "count": 4, - "type": "AWS::Cassandra::Keyspace" - }, - { - "count": 1, - "type": "AWS::Config::ConfigurationRecorder" - }, - { - "count": 1, - "type": "AWS::EventSchemas::Registry" - }, - { - "count": 1, - "type": "AWS::Events::EventBus" - }, - { - "count": 20, - "type": "AWS::IAM::Role" - }, - { - "count": 16, - "type": "AWS::IAM::InlinePolicy" - }, - { - "count": 21, - "type": "AWS::Tags::Tag" - } - ] -} \ No newline at end of file + ] +} diff --git a/source/backend/functions/settings/test/fixtures/getResourcesRegionMetadata/account-filter-expected.json b/source/backend/functions/settings/test/fixtures/getResourcesRegionMetadata/account-filter-expected.json index 830f4e1d..9bdcb7f9 100644 --- a/source/backend/functions/settings/test/fixtures/getResourcesRegionMetadata/account-filter-expected.json +++ b/source/backend/functions/settings/test/fixtures/getResourcesRegionMetadata/account-filter-expected.json @@ -1,74 +1,74 @@ [ - { - "accountId": "111111111111", - "count": 87, - "regions": [ - { - "count": 21, - "name": "eu-west-1", - "resourceTypes": [ - { - "count": 6, - "type": "AWS::CloudFormation::Stack" - }, - { - "count": 3, - "type": "AWS::SNS::Topic" - }, - { - "count": 1, - "type": "AWS::Events::Rule" - }, - { - "count": 7, - "type": "AWS::Lambda::Function" - }, - { - "count": 4, - "type": "AWS::Cassandra::Keyspace" - } + { + "accountId": "111111111111", + "count": 87, + "regions": [ + { + "count": 21, + "name": "eu-west-1", + "resourceTypes": [ + { + "count": 6, + "type": "AWS::CloudFormation::Stack" + }, + { + "count": 3, + "type": "AWS::SNS::Topic" + }, + { + "count": 1, + "type": "AWS::Events::Rule" + }, + { + "count": 7, + "type": "AWS::Lambda::Function" + }, + { + "count": 4, + "type": "AWS::Cassandra::Keyspace" + } + ] + }, + { + "count": 9, + "name": "eu-west-2", + "resourceTypes": [ + { + "count": 1, + "type": "AWS::Config::ConfigurationRecorder" + }, + { + "count": 6, + "type": "AWS::Events::Rule" + }, + { + "count": 1, + "type": "AWS::EventSchemas::Registry" + }, + { + "count": 1, + "type": "AWS::Events::EventBus" + } + ] + }, + { + "count": 57, + "name": "global", + "resourceTypes": [ + { + "count": 20, + "type": "AWS::IAM::Role" + }, + { + "count": 16, + "type": "AWS::IAM::InlinePolicy" + }, + { + "count": 21, + "type": "AWS::Tags::Tag" + } + ] + } ] - }, - { - "count": 9, - "name": "eu-west-2", - "resourceTypes": [ - { - "count": 1, - "type": "AWS::Config::ConfigurationRecorder" - }, - { - "count": 6, - "type": "AWS::Events::Rule" - }, - { - "count": 1, - "type": "AWS::EventSchemas::Registry" - }, - { - "count": 1, - "type": "AWS::Events::EventBus" - } - ] - }, - { - "count": 57, - "name": "global", - "resourceTypes": [ - { - "count": 20, - "type": "AWS::IAM::Role" - }, - { - "count": 16, - "type": "AWS::IAM::InlinePolicy" - }, - { - "count": 21, - "type": "AWS::Tags::Tag" - } - ] - } - ] - } -] \ No newline at end of file + } +] diff --git a/source/backend/functions/settings/test/fixtures/getResourcesRegionMetadata/account-region-filter-expected.json b/source/backend/functions/settings/test/fixtures/getResourcesRegionMetadata/account-region-filter-expected.json index ebaf66bb..510af576 100644 --- a/source/backend/functions/settings/test/fixtures/getResourcesRegionMetadata/account-region-filter-expected.json +++ b/source/backend/functions/settings/test/fixtures/getResourcesRegionMetadata/account-region-filter-expected.json @@ -1,94 +1,94 @@ [ - { - "accountId": "111111111111", - "count": 21, - "regions": [ - { + { + "accountId": "111111111111", "count": 21, - "name": "eu-west-1", - "resourceTypes": [ - { - "count": 6, - "type": "AWS::CloudFormation::Stack" - }, - { - "count": 3, - "type": "AWS::SNS::Topic" - }, - { - "count": 1, - "type": "AWS::Events::Rule" - }, - { - "count": 7, - "type": "AWS::Lambda::Function" - }, - { - "count": 4, - "type": "AWS::Cassandra::Keyspace" - } + "regions": [ + { + "count": 21, + "name": "eu-west-1", + "resourceTypes": [ + { + "count": 6, + "type": "AWS::CloudFormation::Stack" + }, + { + "count": 3, + "type": "AWS::SNS::Topic" + }, + { + "count": 1, + "type": "AWS::Events::Rule" + }, + { + "count": 7, + "type": "AWS::Lambda::Function" + }, + { + "count": 4, + "type": "AWS::Cassandra::Keyspace" + } + ] + } ] - } - ] - }, - { - "accountId": "222222222222", - "count": 31, - "regions": [ - { + }, + { + "accountId": "222222222222", "count": 31, - "name": "us-east-1", - "resourceTypes": [ - { - "count": 5, - "type": "AWS::KMS::Key" - }, - { - "count": 1, - "type": "AWS::S3::AccountPublicAccessBlock" - }, - { - "count": 4, - "type": "AWS::AppConfig::DeploymentStrategy" - }, - { - "count": 4, - "type": "AWS::Events::Rule" - }, - { - "count": 3, - "type": "AWS::Lambda::Function" - }, - { - "count": 1, - "type": "AWS::EC2::NetworkAcl" - }, - { - "count": 1, - "type": "AWS::EventSchemas::Registry" - }, - { - "count": 3, - "type": "AWS::S3::Bucket" - }, - { - "count": 1, - "type": "AWS::EC2::RouteTable" - }, - { - "count": 1, - "type": "AWS::EC2::SecurityGroup" - }, - { - "count": 6, - "type": "AWS::EC2::Subnet" - }, - { - "count": 1, - "type": "AWS::EC2::VPC" - } + "regions": [ + { + "count": 31, + "name": "us-east-1", + "resourceTypes": [ + { + "count": 5, + "type": "AWS::KMS::Key" + }, + { + "count": 1, + "type": "AWS::S3::AccountPublicAccessBlock" + }, + { + "count": 4, + "type": "AWS::AppConfig::DeploymentStrategy" + }, + { + "count": 4, + "type": "AWS::Events::Rule" + }, + { + "count": 3, + "type": "AWS::Lambda::Function" + }, + { + "count": 1, + "type": "AWS::EC2::NetworkAcl" + }, + { + "count": 1, + "type": "AWS::EventSchemas::Registry" + }, + { + "count": 3, + "type": "AWS::S3::Bucket" + }, + { + "count": 1, + "type": "AWS::EC2::RouteTable" + }, + { + "count": 1, + "type": "AWS::EC2::SecurityGroup" + }, + { + "count": 6, + "type": "AWS::EC2::Subnet" + }, + { + "count": 1, + "type": "AWS::EC2::VPC" + } + ] + } ] - } - ] - } -] \ No newline at end of file + } +] diff --git a/source/backend/functions/settings/test/fixtures/getResourcesRegionMetadata/default-expected.json b/source/backend/functions/settings/test/fixtures/getResourcesRegionMetadata/default-expected.json index 062a71e2..784ce381 100644 --- a/source/backend/functions/settings/test/fixtures/getResourcesRegionMetadata/default-expected.json +++ b/source/backend/functions/settings/test/fixtures/getResourcesRegionMetadata/default-expected.json @@ -1,134 +1,134 @@ [ - { - "count": 87, - "accountId": "111111111111", - "regions": [ - { - "count": 21, - "name": "eu-west-1", - "resourceTypes": [ - { - "count": 6, - "type": "AWS::CloudFormation::Stack" - }, - { - "count": 3, - "type": "AWS::SNS::Topic" - }, - { - "count": 1, - "type": "AWS::Events::Rule" - }, - { - "count": 7, - "type": "AWS::Lambda::Function" - }, - { - "count": 4, - "type": "AWS::Cassandra::Keyspace" - } + { + "count": 87, + "accountId": "111111111111", + "regions": [ + { + "count": 21, + "name": "eu-west-1", + "resourceTypes": [ + { + "count": 6, + "type": "AWS::CloudFormation::Stack" + }, + { + "count": 3, + "type": "AWS::SNS::Topic" + }, + { + "count": 1, + "type": "AWS::Events::Rule" + }, + { + "count": 7, + "type": "AWS::Lambda::Function" + }, + { + "count": 4, + "type": "AWS::Cassandra::Keyspace" + } + ] + }, + { + "count": 9, + "name": "eu-west-2", + "resourceTypes": [ + { + "count": 1, + "type": "AWS::Config::ConfigurationRecorder" + }, + { + "count": 6, + "type": "AWS::Events::Rule" + }, + { + "count": 1, + "type": "AWS::EventSchemas::Registry" + }, + { + "count": 1, + "type": "AWS::Events::EventBus" + } + ] + }, + { + "count": 57, + "name": "global", + "resourceTypes": [ + { + "count": 20, + "type": "AWS::IAM::Role" + }, + { + "count": 16, + "type": "AWS::IAM::InlinePolicy" + }, + { + "count": 21, + "type": "AWS::Tags::Tag" + } + ] + } ] - }, - { - "count": 9, - "name": "eu-west-2", - "resourceTypes": [ - { - "count": 1, - "type": "AWS::Config::ConfigurationRecorder" - }, - { - "count": 6, - "type": "AWS::Events::Rule" - }, - { - "count": 1, - "type": "AWS::EventSchemas::Registry" - }, - { - "count": 1, - "type": "AWS::Events::EventBus" - } - ] - }, - { - "count": 57, - "name": "global", - "resourceTypes": [ - { - "count": 20, - "type": "AWS::IAM::Role" - }, - { - "count": 16, - "type": "AWS::IAM::InlinePolicy" - }, - { - "count": 21, - "type": "AWS::Tags::Tag" - } - ] - } - ] - }, - { - "count": 31, - "accountId": "222222222222", - "regions": [ - { + }, + { "count": 31, - "name": "us-east-1", - "resourceTypes": [ - { - "count": 5, - "type": "AWS::KMS::Key" - }, - { - "count": 1, - "type": "AWS::S3::AccountPublicAccessBlock" - }, - { - "count": 4, - "type": "AWS::AppConfig::DeploymentStrategy" - }, - { - "count": 4, - "type": "AWS::Events::Rule" - }, - { - "count": 3, - "type": "AWS::Lambda::Function" - }, - { - "count": 1, - "type": "AWS::EC2::NetworkAcl" - }, - { - "count": 1, - "type": "AWS::EventSchemas::Registry" - }, - { - "count": 3, - "type": "AWS::S3::Bucket" - }, - { - "count": 1, - "type": "AWS::EC2::RouteTable" - }, - { - "count": 1, - "type": "AWS::EC2::SecurityGroup" - }, - { - "count": 6, - "type": "AWS::EC2::Subnet" - }, - { - "count": 1, - "type": "AWS::EC2::VPC" - } + "accountId": "222222222222", + "regions": [ + { + "count": 31, + "name": "us-east-1", + "resourceTypes": [ + { + "count": 5, + "type": "AWS::KMS::Key" + }, + { + "count": 1, + "type": "AWS::S3::AccountPublicAccessBlock" + }, + { + "count": 4, + "type": "AWS::AppConfig::DeploymentStrategy" + }, + { + "count": 4, + "type": "AWS::Events::Rule" + }, + { + "count": 3, + "type": "AWS::Lambda::Function" + }, + { + "count": 1, + "type": "AWS::EC2::NetworkAcl" + }, + { + "count": 1, + "type": "AWS::EventSchemas::Registry" + }, + { + "count": 3, + "type": "AWS::S3::Bucket" + }, + { + "count": 1, + "type": "AWS::EC2::RouteTable" + }, + { + "count": 1, + "type": "AWS::EC2::SecurityGroup" + }, + { + "count": 6, + "type": "AWS::EC2::Subnet" + }, + { + "count": 1, + "type": "AWS::EC2::VPC" + } + ] + } ] - } - ] - } -] \ No newline at end of file + } +] diff --git a/source/backend/functions/settings/test/fixtures/getResourcesRegionMetadata/no-metadata-expected.json b/source/backend/functions/settings/test/fixtures/getResourcesRegionMetadata/no-metadata-expected.json index 58334f07..c316e8bd 100644 --- a/source/backend/functions/settings/test/fixtures/getResourcesRegionMetadata/no-metadata-expected.json +++ b/source/backend/functions/settings/test/fixtures/getResourcesRegionMetadata/no-metadata-expected.json @@ -1,62 +1,62 @@ [ - { - "count": 31, - "accountId": "222222222222", - "regions": [ - { + { "count": 31, - "name": "us-east-1", - "resourceTypes": [ - { - "count": 5, - "type": "AWS::KMS::Key" - }, - { - "count": 1, - "type": "AWS::S3::AccountPublicAccessBlock" - }, - { - "count": 4, - "type": "AWS::AppConfig::DeploymentStrategy" - }, - { - "count": 4, - "type": "AWS::Events::Rule" - }, - { - "count": 3, - "type": "AWS::Lambda::Function" - }, - { - "count": 1, - "type": "AWS::EC2::NetworkAcl" - }, - { - "count": 1, - "type": "AWS::EventSchemas::Registry" - }, - { - "count": 3, - "type": "AWS::S3::Bucket" - }, - { - "count": 1, - "type": "AWS::EC2::RouteTable" - }, - { - "count": 1, - "type": "AWS::EC2::SecurityGroup" - }, - { - "count": 6, - "type": "AWS::EC2::Subnet" - }, - { - "count": 1, - "type": "AWS::EC2::VPC" - } + "accountId": "222222222222", + "regions": [ + { + "count": 31, + "name": "us-east-1", + "resourceTypes": [ + { + "count": 5, + "type": "AWS::KMS::Key" + }, + { + "count": 1, + "type": "AWS::S3::AccountPublicAccessBlock" + }, + { + "count": 4, + "type": "AWS::AppConfig::DeploymentStrategy" + }, + { + "count": 4, + "type": "AWS::Events::Rule" + }, + { + "count": 3, + "type": "AWS::Lambda::Function" + }, + { + "count": 1, + "type": "AWS::EC2::NetworkAcl" + }, + { + "count": 1, + "type": "AWS::EventSchemas::Registry" + }, + { + "count": 3, + "type": "AWS::S3::Bucket" + }, + { + "count": 1, + "type": "AWS::EC2::RouteTable" + }, + { + "count": 1, + "type": "AWS::EC2::SecurityGroup" + }, + { + "count": 6, + "type": "AWS::EC2::Subnet" + }, + { + "count": 1, + "type": "AWS::EC2::VPC" + } + ] + } ] - } - ] - } -] \ No newline at end of file + } +] diff --git a/source/backend/functions/settings/test/fixtures/resourceRegionMetadata/input.json b/source/backend/functions/settings/test/fixtures/resourceRegionMetadata/input.json index a883f6c0..71a67ad3 100644 --- a/source/backend/functions/settings/test/fixtures/resourceRegionMetadata/input.json +++ b/source/backend/functions/settings/test/fixtures/resourceRegionMetadata/input.json @@ -1,138 +1,138 @@ { - "111111111111": { - "resourcesRegionMetadata": { - "accountId": "111111111111", - "count": 87, - "regions": [ - { - "count": 21, - "name": "eu-west-1", - "resourceTypes": [ - { - "count": 6, - "type": "AWS::CloudFormation::Stack" - }, - { - "count": 3, - "type": "AWS::SNS::Topic" - }, - { - "count": 1, - "type": "AWS::Events::Rule" - }, - { - "count": 7, - "type": "AWS::Lambda::Function" - }, - { - "count": 4, - "type": "AWS::Cassandra::Keyspace" - } - ] - }, - { - "count": 9, - "name": "eu-west-2", - "resourceTypes": [ - { - "count": 1, - "type": "AWS::Config::ConfigurationRecorder" - }, - { - "count": 6, - "type": "AWS::Events::Rule" - }, - { - "count": 1, - "type": "AWS::EventSchemas::Registry" - }, - { - "count": 1, - "type": "AWS::Events::EventBus" - } - ] - }, - { - "count": 57, - "name": "global", - "resourceTypes": [ - { - "count": 20, - "type": "AWS::IAM::Role" - }, - { - "count": 16, - "type": "AWS::IAM::InlinePolicy" - }, - { - "count": 21, - "type": "AWS::Tags::Tag" - } - ] + "111111111111": { + "resourcesRegionMetadata": { + "accountId": "111111111111", + "count": 87, + "regions": [ + { + "count": 21, + "name": "eu-west-1", + "resourceTypes": [ + { + "count": 6, + "type": "AWS::CloudFormation::Stack" + }, + { + "count": 3, + "type": "AWS::SNS::Topic" + }, + { + "count": 1, + "type": "AWS::Events::Rule" + }, + { + "count": 7, + "type": "AWS::Lambda::Function" + }, + { + "count": 4, + "type": "AWS::Cassandra::Keyspace" + } + ] + }, + { + "count": 9, + "name": "eu-west-2", + "resourceTypes": [ + { + "count": 1, + "type": "AWS::Config::ConfigurationRecorder" + }, + { + "count": 6, + "type": "AWS::Events::Rule" + }, + { + "count": 1, + "type": "AWS::EventSchemas::Registry" + }, + { + "count": 1, + "type": "AWS::Events::EventBus" + } + ] + }, + { + "count": 57, + "name": "global", + "resourceTypes": [ + { + "count": 20, + "type": "AWS::IAM::Role" + }, + { + "count": 16, + "type": "AWS::IAM::InlinePolicy" + }, + { + "count": 21, + "type": "AWS::Tags::Tag" + } + ] + } + ] } - ] - } - }, - "222222222222": { - "resourcesRegionMetadata": { - "accountId": "222222222222", - "count": 31, - "regions": [ - { - "count": 31, - "name": "us-east-1", - "resourceTypes": [ - { - "count": 5, - "type": "AWS::KMS::Key" - }, - { - "count": 1, - "type": "AWS::S3::AccountPublicAccessBlock" - }, - { - "count": 4, - "type": "AWS::AppConfig::DeploymentStrategy" - }, - { - "count": 4, - "type": "AWS::Events::Rule" - }, - { - "count": 3, - "type": "AWS::Lambda::Function" - }, - { - "count": 1, - "type": "AWS::EC2::NetworkAcl" - }, - { - "count": 1, - "type": "AWS::EventSchemas::Registry" - }, - { - "count": 3, - "type": "AWS::S3::Bucket" - }, - { - "count": 1, - "type": "AWS::EC2::RouteTable" - }, - { - "count": 1, - "type": "AWS::EC2::SecurityGroup" - }, - { - "count": 6, - "type": "AWS::EC2::Subnet" - }, - { - "count": 1, - "type": "AWS::EC2::VPC" - } - ] + }, + "222222222222": { + "resourcesRegionMetadata": { + "accountId": "222222222222", + "count": 31, + "regions": [ + { + "count": 31, + "name": "us-east-1", + "resourceTypes": [ + { + "count": 5, + "type": "AWS::KMS::Key" + }, + { + "count": 1, + "type": "AWS::S3::AccountPublicAccessBlock" + }, + { + "count": 4, + "type": "AWS::AppConfig::DeploymentStrategy" + }, + { + "count": 4, + "type": "AWS::Events::Rule" + }, + { + "count": 3, + "type": "AWS::Lambda::Function" + }, + { + "count": 1, + "type": "AWS::EC2::NetworkAcl" + }, + { + "count": 1, + "type": "AWS::EventSchemas::Registry" + }, + { + "count": 3, + "type": "AWS::S3::Bucket" + }, + { + "count": 1, + "type": "AWS::EC2::RouteTable" + }, + { + "count": 1, + "type": "AWS::EC2::SecurityGroup" + }, + { + "count": 6, + "type": "AWS::EC2::Subnet" + }, + { + "count": 1, + "type": "AWS::EC2::VPC" + } + ] + } + ] } - ] } - } } diff --git a/source/backend/functions/settings/test/index.js b/source/backend/functions/settings/test/index.js deleted file mode 100644 index 2940cbde..00000000 --- a/source/backend/functions/settings/test/index.js +++ /dev/null @@ -1,2904 +0,0 @@ -// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 - -const rewire = require('rewire'); -const dynamoDbLocal = require('dynamo-db-local'); -const sinon = require('sinon'); -const { DynamoDB, DynamoDBClient} = require('@aws-sdk/client-dynamodb'); -const { DynamoDBDocument, BatchWriteCommand, BatchGetCommand} = require('@aws-sdk/lib-dynamodb'); -const {assert} = require('chai'); -const {mockClient} = require('aws-sdk-client-mock'); -const resourceRegionMetadataInput = require('./fixtures/resourceRegionMetadata/input.json'); -const expected = require("./fixtures/getResourcesMetadata/default-expected.json"); - -const index = rewire('../src/index'); - -const endpoint = `http://localhost:${process.env.CODEBUILD_BUILD_ID == null ? 4567 : 9000}`; - -const dbClient = new DynamoDB({ - region: 'eu-west-1', - endpoint, - credentials: { - accessKeyId: 'accessKeyId', - secretAccessKey: 'secretAccessKey' - } -}); - -const docClient = DynamoDBDocument.from(dbClient); - -const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms)); - -function createTable(TableName) { - return dbClient.createTable({ - AttributeDefinitions: [ - { - AttributeName: 'PK', - AttributeType: 'S' - }, - { - AttributeName: 'SK', - AttributeType: 'S' - } - ], - KeySchema: [ - { - AttributeName: 'PK', - KeyType: 'HASH' - }, - { - AttributeName: 'SK', - KeyType: 'RANGE' - } - ], - TableName, - BillingMode: 'PAY_PER_REQUEST' - }); -} - -describe('index.js', () => { - - describe('handler', () => { - const mockEc2Client = { - async describeRegions() { - return { - Regions: [ - {RegionName: 'eu-west-1'}, - {RegionName: 'eu-west-2'}, - {RegionName: 'eu-central-1'}, - {RegionName: 'us-east-1'}, - {RegionName: 'us-east-2'}, - ] - } - } - } - - let dynamoDbLocalProcess - before(async function() { - this.timeout(5000); - dynamoDbLocalProcess = dynamoDbLocal.spawn({ port: 4567 }); - await sleep(2000); - }); - - const handler = index.__get__('handler'); - - describe('addAccounts', () => { - const DB_TABLE = 'addAccountsTable'; - - const mockPutConfigurationAggregator = sinon.stub().resolves({}) - - const mockConfig = { - putConfigurationAggregator: mockPutConfigurationAggregator - }; - - beforeEach(async () => { - await createTable(DB_TABLE); - }); - - it('should reject invalid account ids in accounts field', async () => { - return handler(mockEc2Client, docClient, mockConfig, {DB_TABLE, CONFIG_AGGREGATOR: 'aggregrator'})({ - arguments: { - accounts: [ - { - accountId: '111111111111', - name: 'test', - regions: [ - { - name: 'eu-west-1' - }, - { - name: 'eu-west-2' - } - ] - }, - { - accountId: 'xxx', - name: 'test', - regions: [ - { - name: 'us-east-1' - }, - { - name: 'us-east-2' - } - ] - } - ] - }, - info: { - fieldName: 'addAccounts' - } - }).catch(err => { - assert.strictEqual(err.message, 'The following account ids are invalid: xxx'); - }); - }); - - it('should reject invalid regions in accounts field', async () => { - return handler(mockEc2Client, docClient, mockConfig, {DB_TABLE, CONFIG_AGGREGATOR: 'aggregrator'})({ - arguments: { - accounts: [ - { - accountId: '111111111111', - name: 'test', - regions: [ - { - name: 'eu-west-1' - }, - { - name: 'invalid-region' - } - ] - }, - { - accountId: '222222222222', - name: 'test', - regions: [ - { - name: 'us-east-1' - }, - { - name: 'us-east-2' - } - ] - } - ] - }, - info: { - fieldName: 'addAccounts' - } - }).catch(err => { - assert.strictEqual(err.message, 'The following regions are invalid: invalid-region'); - }); - }); - - it('should add account', async () => { - const actual = await handler(mockEc2Client, docClient, mockConfig, {DB_TABLE, CONFIG_AGGREGATOR: 'aggregrator'})({ - arguments: { - accounts: [ - { - accountId: '111111111111', - name: 'test', - regions: [ - { - name: 'eu-west-1' - }, - { - name: 'eu-west-2' - } - ] - }, - { - accountId: '222222222222', - name: 'test', - regions: [ - { - name: 'us-east-1' - }, - { - name: 'us-east-2' - } - ] - } - ] - }, - info: { - fieldName: 'addAccounts' - } - }); - - assert.deepEqual(actual, { - unprocessedAccounts: [] - }); - - sinon.assert.calledWith(mockConfig.putConfigurationAggregator, { - ConfigurationAggregatorName: 'aggregrator', - AccountAggregationSources: [ - { - AccountIds: [ - '111111111111', - '222222222222' - ], - AllAwsRegions: false, - AwsRegions: [ - 'eu-west-1', - 'eu-west-2', - 'us-east-1', - 'us-east-2' - ] - } - ] - }); - - const {Items: actualDb} = await docClient.query({ - TableName: DB_TABLE, - KeyConditionExpression: 'PK = :PK', - ExpressionAttributeValues: { - ':PK': 'Account' - } - }); - - assert.deepEqual(actualDb, [ - { - SK:'111111111111', - name: 'test', - accountId: '111111111111', - PK: 'Account', - regions: [ - { - name: 'eu-west-1' - }, - { - name: 'eu-west-2' - } - ], - type: 'account' - }, - { - SK: '222222222222', - name: 'test', - accountId: '222222222222', - PK: 'Account', - regions: [ - { - name: 'us-east-1' - }, - { - name: 'us-east-2' - } - ], - type: 'account' - } - ]); - }); - - it('should add account in AWS Organizations mode', async () => { - const mockConfig = { - putConfigurationAggregator: sinon.stub() - }; - - const actual = await handler(mockEc2Client, docClient, mockConfig, {DB_TABLE, CONFIG_AGGREGATOR: 'aggregrator', CROSS_ACCOUNT_DISCOVERY: 'AWS_ORGANIZATIONS'})({ - arguments: { - accounts: [ - { - accountId: '111111111111', - name: 'test', - isManagementAccount: true, - isIamRoleDeployed: true, - organizationId: 'test-org', - lastCrawled: new Date('2011-06-21').toISOString(), - regions: [ - { - name: 'eu-west-1' - }, - { - name: 'eu-west-2' - } - ] - }, - { - accountId: '222222222222', - name: 'test', - isManagementAccount: false, - isIamRoleDeployed: true, - organizationId: 'test-org', - lastCrawled: new Date('2014-04-09').toISOString(), - regions: [ - { - name: 'us-east-1' - }, - { - name: 'us-east-2' - } - ] - } - ] - }, - info: { - fieldName: 'addAccounts' - } - }); - - sinon.assert.notCalled(mockConfig.putConfigurationAggregator); - - assert.deepEqual(actual, { - unprocessedAccounts: [] - }); - - const {Items: actualDb} = await docClient.query({ - TableName: DB_TABLE, - KeyConditionExpression: 'PK = :PK', - ExpressionAttributeValues: { - ':PK': 'Account' - } - }); - - assert.deepEqual(actualDb, [ - { - SK:'111111111111', - name: 'test', - accountId: '111111111111', - PK: 'Account', - isManagementAccount: true, - isIamRoleDeployed: true, - organizationId: 'test-org', - lastCrawled: '2011-06-21T00:00:00.000Z', - regions: [ - { - name: 'eu-west-1' - }, - { - name: 'eu-west-2' - } - ], - type: 'account' - }, - { - SK: '222222222222', - name: 'test', - accountId: '222222222222', - PK: 'Account', - isManagementAccount: false, - isIamRoleDeployed: true, - organizationId: 'test-org', - lastCrawled: '2014-04-09T00:00:00.000Z', - regions: [ - { - name: 'us-east-1' - }, - { - name: 'us-east-2' - } - ], - type: 'account' - } - ]); - }); - - it('should remove duplicate regions before adding account', async () => { - const actual = await handler(mockEc2Client, docClient, mockConfig, {DB_TABLE, CONFIG_AGGREGATOR: 'aggregrator'})({ - arguments: { - accounts: [ - { - accountId: '111111111111', - name: 'test', - regions: [ - { - name: 'eu-west-1' - }, - { - name: 'eu-west-2' - }, - { - name: 'eu-west-2' - } - ] - } - ] - }, - info: { - fieldName: 'addAccounts' - } - }); - - assert.deepEqual(actual, { - unprocessedAccounts: [] - }); - - sinon.assert.calledWith(mockConfig.putConfigurationAggregator, { - ConfigurationAggregatorName: 'aggregrator', - AccountAggregationSources: [ - { - AccountIds: [ - '111111111111' - ], - AllAwsRegions: false, - AwsRegions: [ - 'eu-west-1', - 'eu-west-2' - ] - } - ] - }); - - const {Items: actualDb} = await docClient.query({ - TableName: DB_TABLE, - KeyConditionExpression: 'PK = :PK', - ExpressionAttributeValues: { - ':PK': 'Account' - } - }); - - assert.deepEqual(actualDb, [ - { - SK:'111111111111', - name: 'test', - accountId: '111111111111', - PK: 'Account', - regions: [ - { - name: 'eu-west-1' - }, - { - name: 'eu-west-2' - } - ], - type: 'account' - } - ]); - }); - - it('should overwrite account', async () => { - await docClient.put({ - TableName : DB_TABLE, - Item: { - PK: 'Account', - SK: '333333333333', - regions: [{ - name: 'eu-west-1' - }, { - name: 'eu-west-2' - }], - accountId: '333333333333', - type: 'account' - } - }); - - const actual = await handler(mockEc2Client, docClient, mockConfig, {DB_TABLE, CONFIG_AGGREGATOR: 'aggregrator'})({ - arguments: { - accounts: [ - { - accountId: '333333333333', - name: 'test', - regions: [ - { - name: 'us-east-1' - }, - { - name: 'us-east-2' - } - ] - } - ] - }, - info: { - fieldName: 'addAccounts' - } - }); - - assert.deepEqual(actual, { - unprocessedAccounts: [] - }); - - sinon.assert.calledWith(mockConfig.putConfigurationAggregator, { - ConfigurationAggregatorName: 'aggregrator', - AccountAggregationSources: [ - { - AccountIds: [ - '333333333333' - ], - AllAwsRegions: false, - AwsRegions: [ - 'us-east-1', - 'us-east-2' - ] - } - ] - }); - - const {Items: actualDb} = await docClient.query({ - TableName: DB_TABLE, - KeyConditionExpression: 'PK = :PK', - ExpressionAttributeValues: { - ':PK': 'Account' - } - }); - - assert.deepEqual(actualDb, [ - { - SK: '333333333333', - name: 'test', - accountId: '333333333333', - PK: 'Account', - regions: [ - { - name: 'us-east-1' - }, - { - name: 'us-east-2' - } - ], - type: 'account' - } - ]); - }); - - it('should ignore duplicate accounts', async () => { - const actual = await handler(mockEc2Client, docClient, mockConfig, {DB_TABLE, CONFIG_AGGREGATOR: 'aggregrator'})({ - arguments: { - accounts: [ - { - accountId: '111111111111', - name: 'test', - regions: [ - { - name: 'eu-west-1' - }, - { - name: 'eu-west-2' - } - ] - }, - { - accountId: '111111111111', - name: 'test', - regions: [ - { - name: 'us-east-1' - }, - { - name: 'us-east-2' - } - ] - } - ] - }, - info: { - fieldName: 'addAccounts' - } - }); - - assert.deepEqual(actual, { - unprocessedAccounts: [] - }); - - sinon.assert.calledWith(mockConfig.putConfigurationAggregator, { - ConfigurationAggregatorName: 'aggregrator', - AccountAggregationSources: [ - { - AccountIds: [ - '111111111111' - ], - AllAwsRegions: false, - AwsRegions: [ - 'eu-west-1', - 'eu-west-2' - ] - } - ] - }); - - const {Items: actualDb} = await docClient.query({ - TableName: DB_TABLE, - KeyConditionExpression: 'PK = :PK', - ExpressionAttributeValues: { - ':PK': 'Account' - } - }); - - assert.deepEqual(actualDb, [ - { - SK: '111111111111', - name: 'test', - accountId: '111111111111', - PK: 'Account', - regions: [ - { - name: 'eu-west-1' - }, - { - name: 'eu-west-2' - } - ], - type: 'account' - } - ]); - }); - - it('should handle unprocessed items that resolve after retry', async () => { - const dynamoDB = new DynamoDBClient({ - region: 'eu-west-1', - endpoint, - credentials: { - accessKeyId: 'accessKeyId', - secretAccessKey: 'secretAccessKey' - } - }); - - const docClient = DynamoDBDocument.from(dynamoDB); - - const ddbMock = mockClient(docClient); - - ddbMock - .on(BatchWriteCommand) - .resolvesOnce({UnprocessedItems: { - addAccountsTable: [ - { - PutRequest: { - Item: { - PK: 'Account', - SK: '111111111111', - type: 'account', - accountId: '111111111111', - name: 'test', - regions: [ - { - name: 'eu-west-1' - }, - { - name: 'eu-west-2' - } - ] - } - } - }, - { - PutRequest: { - Item: { - PK: 'Account', - SK: '222222222222', - type: 'account', - accountId: '222222222222', - name: 'test', - regions: [ - { - name: 'us-east-1' - }, - { - name: 'us-east-2' - } - ] - } - } - } - ] - }}); - - ddbMock.send.callThrough(); - - const actual = await handler(mockEc2Client, docClient, mockConfig, {DB_TABLE, CONFIG_AGGREGATOR: 'aggregrator', RETRY_TIME: 10})({ - arguments: { - accounts: [ - { - accountId: '111111111111', - name: 'test', - regions: [ - { - name: 'eu-west-1' - }, - { - name: 'eu-west-2' - } - ] - }, - { - accountId: '222222222222', - name: 'test', - regions: [ - { - name: 'us-east-1' - }, - { - name: 'us-east-2' - } - ] - } - ] - }, - info: { - fieldName: 'addAccounts' - } - }); - - assert.deepEqual(actual, { - unprocessedAccounts: [] - } - ); - - sinon.assert.calledWith(mockConfig.putConfigurationAggregator, { - ConfigurationAggregatorName: 'aggregrator', - AccountAggregationSources: [ - { - AccountIds: [ - '111111111111', - '222222222222' - ], - AllAwsRegions: false, - AwsRegions: [ - 'eu-west-1', - 'eu-west-2', - 'us-east-1', - 'us-east-2' - ] - } - ] - }); - - const {Items: actualDb} = await docClient.query({ - TableName: DB_TABLE, - KeyConditionExpression: 'PK = :PK', - ExpressionAttributeValues: { - ':PK': 'Account' - } - }); - - assert.deepEqual(actualDb, [ - { - SK:'111111111111', - name: 'test', - accountId: '111111111111', - PK: 'Account', - regions: [ - { - name: 'eu-west-1' - }, - { - name: 'eu-west-2' - } - ], - type: 'account' - }, - { - SK: '222222222222', - name: 'test', - accountId: '222222222222', - PK: 'Account', - regions: [ - { - name: 'us-east-1' - }, - { - name: 'us-east-2' - } - ], - type: 'account' - } - ]); - }); - - it('should handle unprocessed items that do not resolve after retry', async () => { - const dynamoDB = new DynamoDBClient({ - region: 'eu-west-1', - endpoint, - credentials: { - accessKeyId: 'accessKeyId', - secretAccessKey: 'secretAccessKey' - } - }); - - const docClient = DynamoDBDocument.from(dynamoDB); - - const ddbMock = mockClient(docClient); - - ddbMock - .on(BatchWriteCommand) - .resolves({UnprocessedItems: { - addAccountsTable: [ - { - PutRequest: { - Item: { - PK: 'Account', - SK: '111111111111', - type: 'account', - accountId: '111111111111', - name: 'test', - regions: [ - { - name: 'eu-west-1' - }, - { - name: 'eu-west-2' - } - ] - } - } - }, - { - PutRequest: { - Item: { - PK: 'Account', - SK: '222222222222', - type: 'account', - accountId: '222222222222', - name: 'test', - regions: [ - { - name: 'us-east-1' - }, - { - name: 'us-east-2' - } - ] - } - } - } - ] - }}); - - ddbMock.send.callThrough(); - - const actual = await handler(mockEc2Client, docClient, mockConfig, { - DB_TABLE, - RETRY_TIME: 10, - CONFIG_AGGREGATOR: 'aggregrator'})({ - arguments: { - accounts: [ - { - accountId: '111111111111', - name: 'test', - regions: [ - { - name: 'eu-west-1' - }, - { - name: 'eu-west-2' - } - ] - }, - { - accountId: '222222222222', - name: 'test', - regions: [ - { - name: 'us-east-1' - }, - { - name: 'us-east-2' - } - ] - } - ] - }, - info: { - fieldName: 'addAccounts' - } - }); - - assert.deepEqual(actual, { - unprocessedAccounts: [ - '111111111111', - '222222222222' - ] - } - ); - - sinon.assert.calledWith(mockConfig.putConfigurationAggregator, { - ConfigurationAggregatorName: 'aggregrator', - AccountAggregationSources: [ - { - AccountIds: [ - '111111111111', - '222222222222' - ], - AllAwsRegions: false, - AwsRegions: [ - 'eu-west-1', - 'eu-west-2', - 'us-east-1', - 'us-east-2' - ] - } - ] - }); - - const {Items: actualDb} = await docClient.query({ - TableName: DB_TABLE, - KeyConditionExpression: 'PK = :PK', - ExpressionAttributeValues: { - ':PK': 'Account' - } - }); - - assert.deepEqual(actualDb, []); - - }).timeout(6250); - - afterEach(async function() { - mockPutConfigurationAggregator.resetHistory(); - return dbClient.deleteTable({TableName: DB_TABLE}); - }); - - }); - - describe('addRegions', () => { - const DB_TABLE = 'addRegionsTable'; - - const mockConfig = { - putConfigurationAggregator: sinon.stub().resolves({}) - }; - - before(async () => { - await createTable(DB_TABLE); - await docClient.put({ - TableName : DB_TABLE, - Item: { - PK: 'Account', - SK: '111111111111', - name: 'testAccount', - lastCrawled: 'new Date()', - regions: [{ - name: 'eu-west-1' - }, { - name: 'eu-west-2' - }], - accountId: '111111111111', - type: 'account' - } - }); - }); - - it('should add regions', async () => { - const actual = await handler(mockEc2Client, docClient, mockConfig, {DB_TABLE, CONFIG_AGGREGATOR: 'aggregrator'})({ - arguments: { - accountId: '111111111111', - regions: [ - {name: 'eu-central-1'} - ] - }, - info: { - fieldName: 'addRegions' - } - }); - - assert.deepEqual(actual, { - accountId: '111111111111', - regions: [ - {name: 'eu-central-1'}, - {name: "eu-west-1"}, - {name: "eu-west-2"} - ], - lastCrawled: "new Date()", - name: "testAccount" - }); - - const {Item: actualDb} = await docClient.get({ - TableName: DB_TABLE, - Key: { - PK: 'Account', - SK: '111111111111' - }}); - - sinon.assert.calledWith(mockConfig.putConfigurationAggregator, { - ConfigurationAggregatorName: 'aggregrator', - AccountAggregationSources: [ - { - AccountIds: [ - '111111111111' - ], - AllAwsRegions: false, - AwsRegions: [ - 'eu-central-1', - 'eu-west-1', - 'eu-west-2' - ] - } - ] - }); - - assert.deepEqual(actualDb, { - SK:'111111111111', - accountId: '111111111111', - PK: 'Account', - regions: [ - { - name: 'eu-central-1' - }, - { - name: 'eu-west-1' - }, - { - name: 'eu-west-2' - } - ], - lastCrawled: 'new Date()', - name: 'testAccount', - type: 'account' - }); - }); - - it('should add regions in AWS organizations mode', async () => { - const mockConfig = { - putConfigurationAggregator: sinon.stub() - }; - - const actual = await handler( - mockEc2Client, - docClient, - mockConfig, - {DB_TABLE, CONFIG_AGGREGATOR: 'aggregator', CROSS_ACCOUNT_DISCOVERY: 'AWS_ORGANIZATIONS'} - )({ - arguments: { - accountId: '111111111111', - regions: [{name: 'eu-central-1'}], - }, - info: { - fieldName: 'addRegions', - }, - }); - - assert.deepEqual(actual, { - accountId: '111111111111', - regions: [ - {name: 'eu-central-1'}, - {name: 'eu-west-1'}, - {name: 'eu-west-2'}, - ], - lastCrawled: 'new Date()', - name: 'testAccount', - }); - - const {Item: actualDb} = await docClient.get({ - TableName: DB_TABLE, - Key: { - PK: 'Account', - SK: '111111111111', - }, - }); - - sinon.assert.notCalled(mockConfig.putConfigurationAggregator); - - assert.deepEqual(actualDb, { - SK: '111111111111', - accountId: '111111111111', - PK: 'Account', - regions: [ - { - name: 'eu-central-1', - }, - { - name: 'eu-west-1', - }, - { - name: 'eu-west-2', - }, - ], - lastCrawled: 'new Date()', - name: 'testAccount', - type: 'account', - }); - }); - - it('should ignore duplicates regions', async () => { - const actual = await handler(mockEc2Client, docClient, mockConfig, {DB_TABLE, CONFIG_AGGREGATOR: 'aggregrator'})({ - arguments: { - accountId: '111111111111', - regions: [ - {name: 'eu-central-1'}, - {name: 'eu-central-1'} - ] - }, - info: { - fieldName: 'addRegions' - } - }); - - assert.deepEqual(actual, { - accountId: '111111111111', - regions: [ - {name: 'eu-central-1'}, - {name: "eu-west-1"}, - {name: "eu-west-2"} - ], - lastCrawled: 'new Date()', - name: 'testAccount' - }); - - const {Item: actualDb} = await docClient.get({ - TableName: DB_TABLE, - Key: { - PK: 'Account', - SK: '111111111111' - }}); - - sinon.assert.calledWith(mockConfig.putConfigurationAggregator, { - ConfigurationAggregatorName: 'aggregrator', - AccountAggregationSources: [ - { - AccountIds: [ - '111111111111' - ], - AllAwsRegions: false, - AwsRegions: [ - 'eu-central-1', - 'eu-west-1', - 'eu-west-2' - ] - } - ] - }); - - assert.deepEqual(actualDb, { - SK:'111111111111', - accountId: '111111111111', - PK: 'Account', - lastCrawled: 'new Date()', - name: 'testAccount', - regions: [ - { - name: 'eu-central-1' - }, - { - name: 'eu-west-1' - }, - { - name: 'eu-west-2' - } - ], - type: 'account' - }); - }); - - after(async function() { - return dbClient.deleteTable({TableName: DB_TABLE}); - }); - - }); - - describe('deleteAccounts', () => { - const DB_TABLE = 'deleteAccountsTable'; - const ACCOUNT_ID = 'xxxxxxxxxxxx'; - const AWS_REGION = 'ap-south-1'; - - const mockConfig = { - putConfigurationAggregator: sinon.stub().resolves({}) - }; - - beforeEach(async () => { - await createTable(DB_TABLE); - await docClient.put({ - TableName : DB_TABLE, - Item: { - PK: 'Account', - SK: '111111111111', - regions: [{ - name: 'eu-west-1' - }, { - name: 'eu-west-2' - }], - accountId: '111111111111', - type: 'account' - } - }); - await docClient.put({ - TableName : DB_TABLE, - Item: { - PK: 'Account', - SK: '222222222222', - regions: [{ - name: 'us-west-1' - }, { - name: 'us-west-2' - }], - accountId: '222222222222', - type: 'account' - } - }); - }); - - it('should reject invalid account ids in the accountIds field', async () => { - return handler(mockEc2Client, docClient, mockConfig, { - ACCOUNT_ID, - AWS_REGION, - DB_TABLE, - RETRY_TIME: 10, - CONFIG_AGGREGATOR: 'aggregrator'})({ - arguments: { - accountIds: ['xxx', '222222222222', 'aws'] - }, - info: { - fieldName: 'deleteAccounts' - } - }).catch(err => { - assert.strictEqual(err.message, 'The following account ids are invalid: xxx'); - }); - }); - - it('should delete account', async () => { - const actual = await handler(mockEc2Client, docClient, mockConfig, { - ACCOUNT_ID, - AWS_REGION, - DB_TABLE, CONFIG_AGGREGATOR: 'aggregrator' - })({ - arguments: { - accountIds: ['222222222222'] - }, - info: { - fieldName: 'deleteAccounts' - } - }); - - assert.deepEqual(actual, { - unprocessedAccounts: [] - }); - - sinon.assert.calledWith(mockConfig.putConfigurationAggregator, { - ConfigurationAggregatorName: 'aggregrator', - AccountAggregationSources: [ - { - AccountIds: [ - '111111111111' - ], - AllAwsRegions: false, - AwsRegions: [ - 'eu-west-1', - 'eu-west-2' - ] - } - ] - }); - - const {Items: actualDb} = await docClient.query({ - TableName: DB_TABLE, - KeyConditionExpression: 'PK = :PK', - ExpressionAttributeValues: { - ':PK': 'Account' - } - }); - - assert.deepEqual(actualDb, [ - { - SK:'111111111111', - accountId: '111111111111', - PK: 'Account', - regions: [ - { - name: 'eu-west-1' - }, - { - name: 'eu-west-2' - } - ], - type: 'account' - } - ]); - }); - - it('should delete account in AWS Organizations mode', async () => { - const mockConfig = { - putConfigurationAggregator: sinon.stub() - }; - - const actual = await handler(mockEc2Client, docClient, mockConfig, { - ACCOUNT_ID, - AWS_REGION, - DB_TABLE, CONFIG_AGGREGATOR: 'aggregrator', CROSS_ACCOUNT_DISCOVERY: 'AWS_ORGANIZATIONS' - })({ - arguments: { - accountIds: ['222222222222'] - }, - info: { - fieldName: 'deleteAccounts' - } - }); - - sinon.assert.notCalled(mockConfig.putConfigurationAggregator); - - assert.deepEqual(actual, { - unprocessedAccounts: [] - }); - - const {Items: actualDb} = await docClient.query({ - TableName: DB_TABLE, - KeyConditionExpression: 'PK = :PK', - ExpressionAttributeValues: { - ':PK': 'Account' - } - }); - - assert.deepEqual(actualDb, [ - { - SK:'111111111111', - accountId: '111111111111', - PK: 'Account', - regions: [ - { - name: 'eu-west-1' - }, - { - name: 'eu-west-2' - } - ], - type: 'account' - } - ]); - }); - - it('should supply default account and region to aggregator when all accounts removed', async () => { - const actual = await handler(mockEc2Client, docClient, mockConfig, { - ACCOUNT_ID, - AWS_REGION, - DB_TABLE, - CONFIG_AGGREGATOR: 'aggregrator' - })({ - arguments: { - accountIds: ['111111111111', '222222222222'] - }, - info: { - fieldName: 'deleteAccounts' - } - }); - - assert.deepEqual(actual, { - unprocessedAccounts: [] - }); - - sinon.assert.calledWith(mockConfig.putConfigurationAggregator, { - ConfigurationAggregatorName: 'aggregrator', - AccountAggregationSources: [ - { - AccountIds: [ - 'xxxxxxxxxxxx' - ], - AllAwsRegions: false, - AwsRegions: [ - 'ap-south-1' - ] - } - ] - }); - - const {Items: actualDb} = await docClient.query({ - TableName: DB_TABLE, - KeyConditionExpression: 'PK = :PK', - ExpressionAttributeValues: { - ':PK': 'Account' - } - }); - - assert.deepEqual(actualDb, []); - }); - - it('should handle unprocessed items that resolve after retry', async () => { - const dynamoDB = new DynamoDBClient({ - region: 'eu-west-1', - endpoint, - credentials: { - accessKeyId: 'accessKeyId', - secretAccessKey: 'secretAccessKey' - } - }); - - const docClient = DynamoDBDocument.from(dynamoDB); - - const ddbMock = mockClient(docClient); - - ddbMock - .on(BatchWriteCommand) - .resolvesOnce({ - UnprocessedItems: { - deleteAccountsTable: [ - { - DeleteRequest: { - Key: { - PK: 'Account', - SK: '222222222222' - } - } - } - ] - } - }); - - ddbMock.send.callThrough(); - - const actual = await handler(mockEc2Client, docClient, mockConfig, { - ACCOUNT_ID, - AWS_REGION, - DB_TABLE, - RETRY_TIME: 10, - CONFIG_AGGREGATOR: 'aggregrator'})({ - arguments: { - accountIds: ['222222222222'] - }, - info: { - fieldName: 'deleteAccounts' - } - }); - - assert.deepEqual(actual, { - unprocessedAccounts: [] - }); - - sinon.assert.calledWith(mockConfig.putConfigurationAggregator, { - ConfigurationAggregatorName: 'aggregrator', - AccountAggregationSources: [ - { - AccountIds: [ - '111111111111' - ], - AllAwsRegions: false, - AwsRegions: [ - 'eu-west-1', - 'eu-west-2' - ] - } - ] - }); - - const {Items: actualDb} = await docClient.query({ - TableName: DB_TABLE, - KeyConditionExpression: 'PK = :PK', - ExpressionAttributeValues: { - ':PK': 'Account' - } - }); - - assert.deepEqual(actualDb, [ - { - PK: 'Account', - SK: '111111111111', - accountId: '111111111111', - regions: [ - { - 'name': 'eu-west-1' - }, - { - 'name': 'eu-west-2' - } - ], - type: 'account' - } - ]); - }); - - it('should handle unprocessed items that do not resolve after retry', async () => { - const dynamoDB = new DynamoDBClient({ - region: 'eu-west-1', - endpoint, - credentials: { - accessKeyId: 'accessKeyId', - secretAccessKey: 'secretAccessKey' - } - }); - - const docClient = DynamoDBDocument.from(dynamoDB); - - const ddbMock = mockClient(docClient); - - ddbMock - .on(BatchWriteCommand) - .resolves({ - UnprocessedItems: { - deleteAccountsTable: [ - { - DeleteRequest: { - Key: { - PK: 'Account', - SK: '222222222222' - } - } - } - ] - } - }); - ddbMock.send.callThrough(); - - const actual = await handler(mockEc2Client, docClient, mockConfig, { - ACCOUNT_ID, - AWS_REGION, - DB_TABLE, - RETRY_TIME: 10, - CONFIG_AGGREGATOR: 'aggregrator'})({ - arguments: { - accountIds: ['222222222222'] - }, - info: { - fieldName: 'deleteAccounts' - } - }); - - assert.deepEqual(actual, { - unprocessedAccounts: ['222222222222'] - }); - - sinon.assert.calledWith(mockConfig.putConfigurationAggregator, { - ConfigurationAggregatorName: 'aggregrator', - AccountAggregationSources: [ - { - AccountIds: [ - '111111111111' - ], - AllAwsRegions: false, - AwsRegions: [ - 'eu-west-1', - 'eu-west-2' - ] - } - ] - }); - - const {Items: actualDb} = await docClient.query({ - TableName: DB_TABLE, - KeyConditionExpression: 'PK = :PK', - ExpressionAttributeValues: { - ':PK': 'Account' - } - }); - - assert.deepEqual(actualDb, [ - { - PK: 'Account', - SK: '111111111111', - accountId: '111111111111', - regions: [ - { - 'name': 'eu-west-1' - }, - { - 'name': 'eu-west-2' - } - ], - type: 'account' - }, - { - PK: 'Account', - SK: '222222222222', - accountId: '222222222222', - regions: [ - { - name: 'us-west-1' - }, - { - name: 'us-west-2' - } - ], - type: 'account' - } - ]); - }); - - afterEach(async function() { - return dbClient.deleteTable({TableName: DB_TABLE}); - }); - - }); - - describe('deleteRegions', () => { - const DB_TABLE = 'deleteRegionsTable'; - - const mockConfig = { - putConfigurationAggregator: sinon.stub().resolves({}) - }; - - before(async () => { - await createTable(DB_TABLE); - await docClient.put({ - TableName : DB_TABLE, - Item: { - PK: 'Account', - SK: '111111111111', - regions: [{ - name: 'eu-west-1' - }, { - name: 'eu-west-2' - }, { - name: 'eu-central-1'} - ], - accountId: '111111111111', - type: 'account' - } - }); - }); - - it('should reject invalid account id in accountId field', async () => { - return handler(mockEc2Client, docClient, mockConfig, {DB_TABLE, CONFIG_AGGREGATOR: 'aggregrator'})({ - arguments: { - accountId: 'xxx', - regions: [ - {name: 'eu-west-2'}, - {name: 'eu-central-1'} - ] - }, - info: { - fieldName: 'deleteRegions' - } - }).catch(err => { - assert.strictEqual(err.message, 'xxx is not a valid AWS account id.'); - }); - }); - - it('should reject invalid region in regions field', async () => { - return handler(mockEc2Client, docClient, mockConfig, {DB_TABLE, CONFIG_AGGREGATOR: 'aggregrator'})({ - arguments: { - accountId: '111111111111', - regions: [ - {name: 'invalid-region'}, - {name: 'eu-central-1'} - ] - }, - info: { - fieldName: 'deleteRegions' - } - }).catch(err => { - assert.strictEqual(err.message, 'The following regions are invalid: invalid-region'); - }); - }); - - it('should reject deletions that remove all regions', async () => { - return handler(mockEc2Client, docClient, mockConfig, {DB_TABLE, CONFIG_AGGREGATOR: 'aggregrator'})({ - arguments: { - accountId: '111111111111', - regions: [{ - name: 'eu-west-1' - }, { - name: 'eu-west-2' - }, { - name: 'eu-central-1'} - ] - }, - info: { - fieldName: 'deleteRegions' - } - }).catch(err => { - assert.strictEqual(err.message, 'Unable to delete region(s), an account must have at least one region.'); - }); - }); - - it('should delete regions', async () => { - const actual = await handler(mockEc2Client, docClient, mockConfig, {DB_TABLE, CONFIG_AGGREGATOR: 'aggregrator'})({ - arguments: { - accountId: '111111111111', - regions: [ - {name: 'eu-west-2'}, - {name: 'eu-central-1'} - ] - }, - info: { - fieldName: 'deleteRegions' - } - }); - - assert.deepEqual(actual, { - accountId: '111111111111', - regions: [ - {name: 'eu-west-1'} - ] - }); - - const {Item: actualDb} = await docClient.get({ - TableName: DB_TABLE, - Key: { - PK: 'Account', - SK: '111111111111' - }}); - - sinon.assert.calledWith(mockConfig.putConfigurationAggregator, { - ConfigurationAggregatorName: 'aggregrator', - AccountAggregationSources: [ - { - AccountIds: [ - '111111111111' - ], - AllAwsRegions: false, - AwsRegions: [ - 'eu-west-1' - ] - } - ] - }); - - assert.deepEqual(actualDb, { - SK:'111111111111', - accountId: '111111111111', - PK: 'Account', - regions: [ - { - name: 'eu-west-1' - } - ], - type: 'account' - }); - }); - - it('should delete regions in AWS organizations mode', async () => { - const mockConfig = { - putConfigurationAggregator: sinon.stub() - }; - - const actual = await handler( - mockEc2Client, - docClient, - mockConfig, - {DB_TABLE, CONFIG_AGGREGATOR: 'aggregator', CROSS_ACCOUNT_DISCOVERY: 'AWS_ORGANIZATIONS'} - )({ - arguments: { - accountId: '111111111111', - regions: [{name: 'eu-west-2'}, {name: 'eu-central-1'}], - }, - info: { - fieldName: 'deleteRegions', - }, - }); - - assert.deepEqual(actual, { - accountId: '111111111111', - regions: [{name: 'eu-west-1'}], - }); - - const {Item: actualDb} = await docClient.get({ - TableName: DB_TABLE, - Key: { - PK: 'Account', - SK: '111111111111', - }, - }); - - sinon.assert.notCalled(mockConfig.putConfigurationAggregator); - - assert.deepEqual(actualDb, { - SK: '111111111111', - accountId: '111111111111', - PK: 'Account', - regions: [ - { - name: 'eu-west-1', - }, - ], - type: 'account', - }); - }); - - it('should ignore duplicate regions', async () => { - const actual = await handler(mockEc2Client, docClient, mockConfig, {DB_TABLE, CONFIG_AGGREGATOR: 'aggregrator'})({ - arguments: { - accountId: '111111111111', - regions: [ - {name: 'eu-west-2'}, - {name: 'eu-west-2'}, - {name: 'eu-central-1'} - ] - }, - info: { - fieldName: 'deleteRegions' - } - }); - - assert.deepEqual(actual, { - accountId: '111111111111', - regions: [ - {name: 'eu-west-1'} - ] - }); - - const {Item: actualDb} = await docClient.get({ - TableName: DB_TABLE, - Key: { - PK: 'Account', - SK: '111111111111' - }}); - - sinon.assert.calledWith(mockConfig.putConfigurationAggregator, { - ConfigurationAggregatorName: 'aggregrator', - AccountAggregationSources: [ - { - AccountIds: [ - '111111111111' - ], - AllAwsRegions: false, - AwsRegions: [ - 'eu-west-1' - ] - } - ] - }); - - assert.deepEqual(actualDb, { - SK:'111111111111', - accountId: '111111111111', - PK: 'Account', - regions: [ - { - name: 'eu-west-1' - } - ], - type: 'account' - }); - }); - - - after(async function() { - return dbClient.deleteTable({TableName: DB_TABLE}); - }); - - }); - - describe('getAccounts', () => { - const DB_TABLE = 'getAccountsTable'; - - const mockConfig = { - putConfigurationAggregator: sinon.stub().resolves({}) - }; - - before(async () => { - await createTable(DB_TABLE); - await docClient.put({ - TableName : DB_TABLE, - Item: { - PK: 'Account', - SK: '111111111111', - regions: [{ - name: 'eu-west-1' - }, { - name: 'eu-west-2' - }], - accountId: '111111111111', - type: 'account' - } - }); - await docClient.put({ - TableName : DB_TABLE, - Item: { - PK: 'Account', - SK: '222222222222', - regions: [{ - name: 'us-west-1' - }, { - name: 'us-west-2' - }], - accountId: '222222222222', - type: 'account' - } - }); - }); - - it('should get accounts', async () => { - const actual = await handler(mockEc2Client, docClient, mockConfig, {DB_TABLE, CONFIG_AGGREGATOR: 'aggregrator'})({ - info: { - fieldName: 'getAccounts' - }, - arguments: {} - }); - - assert.deepEqual(actual, [{ - accountId: '111111111111', - regions: [{ - name: 'eu-west-1' - }, { - name: 'eu-west-2' - }] - }, - { - accountId: '222222222222', - regions: [{ - name: 'us-west-1' - }, { - name: 'us-west-2' - }] - } - ]); - }); - - - after(async function() { - return dbClient.deleteTable({TableName: DB_TABLE}); - }); - - }); - - describe('getAccount', () => { - const DB_TABLE = 'getAccountTable'; - - const mockConfig = { - putConfigurationAggregator: sinon.stub().resolves({}) - }; - - before(async () => { - await createTable(DB_TABLE); - await docClient.put({ - TableName : DB_TABLE, - Item: { - PK: 'Account', - SK: '111111111111', - regions: [{ - name: 'eu-west-1' - }, { - name: 'eu-west-2' - }], - accountId: '111111111111', - type: 'account' - } - }); - }); - - it('should get account', async () => { - const actual = await handler(mockEc2Client, docClient, mockConfig, {DB_TABLE, CONFIG_AGGREGATOR: 'aggregrator'})({ - arguments: { - accountId: '111111111111' - }, - info: { - fieldName: 'getAccount' - } - }); - - assert.deepEqual(actual, { - accountId: '111111111111', - regions: [{ - name: 'eu-west-1' - }, { - name: 'eu-west-2' - }] - }); - }); - - - after(async function() { - return dbClient.deleteTable({TableName: DB_TABLE}); - }); - - }); - - describe('updateAccount', () => { - const DB_TABLE = 'updateAccountTable'; - - const mockConfig = { - putConfigurationAggregator: sinon.stub().resolves({}) - }; - - before(async () => { - await createTable(DB_TABLE); - await docClient.put({ - TableName : DB_TABLE, - Item: { - PK: 'Account', - SK: '111111111111', - regions: [{ - name: 'eu-west-1' - }, { - name: 'eu-west-2' - }], - accountId: '111111111111', - type: 'account' - } - }); - }); - - it('should update account', async () => { - const actual = await handler(mockEc2Client, docClient, mockConfig, {DB_TABLE, CONFIG_AGGREGATOR: 'aggregrator'})({ - arguments: { - accountId: '111111111111', - lastCrawled: 'new Date()' - }, - info: { - fieldName: 'updateAccount' - } - }); - - assert.deepEqual(actual, { - accountId: '111111111111', - lastCrawled: 'new Date()' - }); - - const {Item: actualDb} = await docClient.get({ - TableName: DB_TABLE, - Key: { - PK: 'Account', - SK: '111111111111' - }}); - - assert.deepEqual(actualDb, { - SK:'111111111111', - accountId: '111111111111', - PK: 'Account', - lastCrawled: 'new Date()', - regions: [ - { - name: 'eu-west-1' - }, - { - name: 'eu-west-2' - } - ], - type: 'account' - }); - - }); - - - after(async function() { - return dbClient.deleteTable({TableName: DB_TABLE}); - }); - - }); - - describe('updateRegions', () => { - const DB_TABLE = 'updateRegionsTable'; - - const mockConfig = { - putConfigurationAggregator: sinon.stub().resolves({}) - }; - - before(async () => { - await createTable(DB_TABLE); - await docClient.put({ - TableName : DB_TABLE, - Item: { - PK: 'Account', - SK: '111111111111', - regions: [{ - name: 'eu-west-1' - }, { - name: 'eu-west-2' - }], - accountId: '111111111111', - type: 'account' - } - }); - }); - - it('should update regions', async () => { - const actual = await handler(mockEc2Client, docClient, mockConfig, {DB_TABLE, CONFIG_AGGREGATOR: 'aggregrator'})({ - arguments: { - accountId: '111111111111', - regions: [ - {name: 'eu-west-1', lastCrawled: 'new Date()1'}, - {name: 'eu-west-2', lastCrawled: 'new Date()2'} - ] - }, - info: { - fieldName: 'updateRegions' - } - }); - - assert.deepEqual(actual, { - accountId: '111111111111', - regions: [ - {name: 'eu-west-1', lastCrawled: 'new Date()1'}, - {name: 'eu-west-2', lastCrawled: 'new Date()2'} - ] - }); - - const {Item: actualDb} = await docClient.get({ - TableName: DB_TABLE, - Key: { - PK: 'Account', - SK: '111111111111' - }}); - - assert.deepEqual(actualDb, { - SK:'111111111111', - accountId: '111111111111', - PK: 'Account', - regions: [ - { - name: 'eu-west-1', - lastCrawled: 'new Date()1' - }, - { - name: 'eu-west-2', - lastCrawled: 'new Date()2' - } - ], - type: 'account' - }); - }); - - it('should ignore duplicate regions', async () => { - const actual = await handler(mockEc2Client, docClient, mockConfig, {DB_TABLE, CONFIG_AGGREGATOR: 'aggregrator'})({ - arguments: { - accountId: '111111111111', - regions: [ - {name: 'eu-west-1', lastCrawled: 'new Date()1'}, - {name: 'eu-west-2', lastCrawled: 'new Date()2'}, - {name: 'eu-west-2', lastCrawled: 'new Date()2'} - ] - }, - info: { - fieldName: 'updateRegions' - } - }); - - assert.deepEqual(actual, { - accountId: '111111111111', - regions: [ - {name: 'eu-west-1', lastCrawled: 'new Date()1'}, - {name: 'eu-west-2', lastCrawled: 'new Date()2'}, - {name: 'eu-west-2', lastCrawled: 'new Date()2'} - ] - }); - - const {Item: actualDb} = await docClient.get({ - TableName: DB_TABLE, - Key: { - PK: 'Account', - SK: '111111111111' - }}); - - assert.deepEqual(actualDb, { - SK:'111111111111', - accountId: '111111111111', - PK: 'Account', - regions: [ - { - name: 'eu-west-1', - lastCrawled: 'new Date()1' - }, - { - name: 'eu-west-2', - lastCrawled: 'new Date()2' - } - ], - type: 'account' - }); - }); - - - after(async function() { - return dbClient.deleteTable({TableName: DB_TABLE}); - }); - - }); - - describe('getResourcesMetadata', () => { - - const DB_TABLE = 'getResourcesMetadataTable'; - - const mockConfig = { - putConfigurationAggregator: sinon.stub().resolves({}) - }; - - beforeEach(async () => { - await createTable(DB_TABLE); - }); - - afterEach(async function() { - return dbClient.deleteTable({TableName: DB_TABLE}); - }); - - it('should handle no accounts', async () => { - const actual = await handler(mockEc2Client, docClient, mockConfig, {DB_TABLE, CONFIG_AGGREGATOR: 'aggregrator'})({ - arguments: {}, - info: { - fieldName: 'getResourcesMetadata' - } - }); - - assert.deepEqual(actual, { - accounts: [], - count: 0, - resourceTypes: [] - }); - }); - - it('should ignore accounts with no metadata', async () => { - const expected = require('./fixtures/getResourcesMetadata/no-metadata-expected.json'); - - await handler(mockEc2Client, docClient, mockConfig, {DB_TABLE, CONFIG_AGGREGATOR: 'aggregrator'})({ - arguments: { - accounts: [ - { - accountId: '111111111111', - name: 'test111111111111', - regions: [ - { - name: 'eu-west-1' - }, - { - name: 'eu-west-2' - } - ], - ...resourceRegionMetadataInput['111111111111'] - }, - { - accountId: '222222222222', - name: 'test222222222222', - regions: [ - { - name: 'us-east-1' - } - ] - } - ] - }, - info: { - fieldName: 'addAccounts' - } - }); - - const actual = await handler(mockEc2Client, docClient, mockConfig, {DB_TABLE, CONFIG_AGGREGATOR: 'aggregrator'})({ - arguments: {}, - info: { - fieldName: 'getResourcesMetadata' - } - }); - - assert.deepEqual(actual, expected); - }); - - it('should return meta data broken down by account and resource type', async () => { - const expected = require('./fixtures/getResourcesMetadata/default-expected.json'); - - await handler(mockEc2Client, docClient, mockConfig, {DB_TABLE, CONFIG_AGGREGATOR: 'aggregrator'})({ - arguments: { - accounts: [ - { - accountId: '111111111111', - name: 'test111111111111', - regions: [ - { - name: 'eu-west-1' - }, - { - name: 'eu-west-2' - } - ], - ...resourceRegionMetadataInput['111111111111'] - }, - { - accountId: '222222222222', - name: 'test222222222222', - regions: [ - { - name: 'us-east-1' - } - ], - ...resourceRegionMetadataInput['222222222222'] - } - ] - }, - info: { - fieldName: 'addAccounts' - } - }); - - const actual = await handler(mockEc2Client, docClient, mockConfig, {DB_TABLE, CONFIG_AGGREGATOR: 'aggregrator'})({ - arguments: {}, - info: { - fieldName: 'getResourcesMetadata' - } - }); - - assert.deepEqual(actual, expected); - }); - - }); - - describe('getResourcesAccountMetadata', () => { - - const DB_TABLE = 'getResourcesAccountMetadataTable'; - - const mockConfig = { - putConfigurationAggregator: sinon.stub().resolves({}) - }; - - beforeEach(async () => { - await createTable(DB_TABLE); - }); - - afterEach(async function() { - return dbClient.deleteTable({TableName: DB_TABLE}); - }); - - it('should handle no accounts', async () => { - const actual = await handler(mockEc2Client, docClient, mockConfig, {DB_TABLE, CONFIG_AGGREGATOR: 'aggregrator'})({ - arguments: {}, - info: { - fieldName: 'getResourcesAccountMetadata' - } - }); - - assert.deepEqual(actual, []); - }); - - it('should ignore accounts with no metadata', async () => { - const expected = require('./fixtures/getResourcesAccountMetadata/no-metadata-expected.json'); - - await handler(mockEc2Client, docClient, mockConfig, {DB_TABLE, CONFIG_AGGREGATOR: 'aggregrator'})({ - arguments: { - accounts: [ - { - accountId: '111111111111', - name: 'test111111111111', - regions: [ - { - name: 'eu-west-1' - }, - { - name: 'eu-west-2' - } - ] - }, - { - accountId: '222222222222', - name: 'test222222222222', - regions: [ - { - name: 'us-east-1' - } - ], - ...resourceRegionMetadataInput['222222222222'] - } - ] - }, - info: { - fieldName: 'addAccounts' - } - }); - - const actual = await handler(mockEc2Client, docClient, mockConfig, {DB_TABLE, CONFIG_AGGREGATOR: 'aggregrator'})({ - arguments: { - accounts: null - }, - info: { - fieldName: 'getResourcesAccountMetadata' - } - }); - - assert.deepEqual(actual, expected); - }); - - it('should return per account metadata broken down by resource type', async () => { - const expected = require('./fixtures/getResourcesAccountMetadata/default-expected.json'); - - await handler(mockEc2Client, docClient, mockConfig, {DB_TABLE, CONFIG_AGGREGATOR: 'aggregrator'})({ - arguments: { - accounts: [ - { - accountId: '111111111111', - name: 'test111111111111', - regions: [ - { - name: 'eu-west-1' - }, - { - name: 'eu-west-2' - } - ], - ...resourceRegionMetadataInput['111111111111'] - }, - { - accountId: '222222222222', - name: 'test222222222222', - regions: [ - { - name: 'us-east-1' - } - ], - ...resourceRegionMetadataInput['222222222222'] - } - ] - }, - info: { - fieldName: 'addAccounts' - } - }); - - const actual = await handler(mockEc2Client, docClient, mockConfig, {DB_TABLE, CONFIG_AGGREGATOR: 'aggregrator'})({ - arguments: { - accounts: null - }, - info: { - fieldName: 'getResourcesAccountMetadata' - } - }); - - assert.deepEqual(actual, expected); - }); - - it('should return per account metadata broken down by resource type filtered by account', async () => { - const expected = require('./fixtures/getResourcesAccountMetadata/account-filter-expected.json'); - - await handler(mockEc2Client, docClient, mockConfig, {DB_TABLE, CONFIG_AGGREGATOR: 'aggregrator'})({ - arguments: { - accounts: [ - { - accountId: '111111111111', - name: 'test111111111111', - regions: [ - { - name: 'eu-west-1' - }, - { - name: 'eu-west-2' - } - ], - ...resourceRegionMetadataInput['111111111111'] - }, - { - accountId: '222222222222', - name: 'test222222222222', - regions: [ - { - name: 'us-east-1' - } - ], - ...resourceRegionMetadataInput['222222222222'] - } - ] - }, - info: { - fieldName: 'addAccounts' - } - }); - - const actual = await handler(mockEc2Client, docClient, mockConfig, {DB_TABLE, CONFIG_AGGREGATOR: 'aggregrator'})({ - arguments: { - accounts: [{accountId: '111111111111'}] - }, - info: { - fieldName: 'getResourcesAccountMetadata' - } - }); - - assert.deepEqual(actual, expected); - }); - - it('should handle unprocessed keys that resolve after retry', async () => { - const expected = require('./fixtures/getResourcesAccountMetadata/account-filter-expected.json'); - - const dynamoDB = new DynamoDBClient({ - region: 'eu-west-1', - endpoint, - credentials: { - accessKeyId: 'accessKeyId', - secretAccessKey: 'secretAccessKey' - } - }); - - const docClient = DynamoDBDocument.from(dynamoDB); - - const ddbMock = mockClient(docClient); - - ddbMock - .on(BatchGetCommand) - .resolvesOnce({ - Responses: { - [DB_TABLE]: [] - }, - UnprocessedKeys: { - [DB_TABLE]: { - Keys: [ - {PK: 'Account', SK: '111111111111'} - ], - ProjectionExpression: 'resourcesRegionMetadata' - } - } - }); - - ddbMock.send.callThrough(); - - await handler(mockEc2Client, docClient, mockConfig, {DB_TABLE, CONFIG_AGGREGATOR: 'aggregrator', RETRY_TIME: 10})({ - arguments: { - accounts: [ - { - accountId: '111111111111', - name: 'test111111111111', - regions: [ - { - name: 'eu-west-1' - }, - { - name: 'eu-west-2' - } - ], - ...resourceRegionMetadataInput['111111111111'] - }, - { - accountId: '222222222222', - name: 'test222222222222', - regions: [ - { - name: 'us-east-1' - } - ], - ...resourceRegionMetadataInput['222222222222'] - } - ] - }, - info: { - fieldName: 'addAccounts' - } - }); - - const actual = await handler(mockEc2Client, docClient, mockConfig, {DB_TABLE, CONFIG_AGGREGATOR: 'aggregrator'})({ - arguments: { - accounts: [{accountId: '111111111111'}] - }, - info: { - fieldName: 'getResourcesAccountMetadata' - } - }); - - assert.deepEqual(actual, expected); - }); - - it('should return per account metadata broken down by resource type filtered by account and region', async () => { - const expected = require('./fixtures/getResourcesAccountMetadata/account-region-filter-expected.json'); - - await handler(mockEc2Client, docClient, mockConfig, {DB_TABLE, CONFIG_AGGREGATOR: 'aggregrator'})({ - arguments: { - accounts: [ - { - accountId: '111111111111', - name: 'test111111111111', - regions: [ - { - name: 'eu-west-1' - }, - { - name: 'eu-west-2' - } - ], - ...resourceRegionMetadataInput['111111111111'] - }, - { - accountId: '222222222222', - name: 'test222222222222', - regions: [ - { - name: 'us-east-1' - } - ], - ...resourceRegionMetadataInput['222222222222'] - } - ] - }, - info: { - fieldName: 'addAccounts' - } - }); - - const actual = await handler(mockEc2Client, docClient, mockConfig, {DB_TABLE, CONFIG_AGGREGATOR: 'aggregrator'})({ - arguments: { - accounts: [ - {accountId: '111111111111', regions: [{name: 'eu-west-1'}]}, - {accountId: '222222222222'} - ] - }, - info: { - fieldName: 'getResourcesAccountMetadata' - } - }); - - assert.deepEqual(actual.sort((a, b) => a.accountId - b.accountId), expected); - }); - - }); - - describe('getResourcesRegionMetadata', () => { - - const DB_TABLE = 'getResourcesRegionMetadataTable'; - - const mockConfig = { - putConfigurationAggregator: sinon.stub().resolves({}) - }; - - beforeEach(async () => { - await createTable(DB_TABLE); - }); - - afterEach(async function() { - return dbClient.deleteTable({TableName: DB_TABLE}); - }); - - it('should handle no accounts', async () => { - const actual = await handler(mockEc2Client, docClient, mockConfig, {DB_TABLE, CONFIG_AGGREGATOR: 'aggregrator'})({ - arguments: {}, - info: { - fieldName: 'getResourcesRegionMetadata' - } - }); - - assert.deepEqual(actual, []); - }); - - it('should ignore accounts with no metadata', async () => { - const expected = require('./fixtures/getResourcesRegionMetadata/no-metadata-expected.json'); - - await handler(mockEc2Client, docClient, mockConfig, {DB_TABLE, CONFIG_AGGREGATOR: 'aggregrator'})({ - arguments: { - accounts: [ - { - accountId: '111111111111', - name: 'test111111111111', - regions: [ - { - name: 'eu-west-1' - }, - { - name: 'eu-west-2' - } - ] - }, - { - accountId: '222222222222', - name: 'test222222222222', - regions: [ - { - name: 'us-east-1' - } - ], - ...resourceRegionMetadataInput['222222222222'] - } - ] - }, - info: { - fieldName: 'addAccounts' - } - }); - - const actual = await handler(mockEc2Client, docClient, mockConfig, {DB_TABLE, CONFIG_AGGREGATOR: 'aggregrator'})({ - arguments: { - accounts: null - }, - info: { - fieldName: 'getResourcesRegionMetadata' - } - }); - - assert.deepEqual(actual, expected); - }); - - it('should return per account metadata broken down by resource type', async () => { - const expected = require('./fixtures/getResourcesRegionMetadata/default-expected.json'); - - await handler(mockEc2Client, docClient, mockConfig, {DB_TABLE, CONFIG_AGGREGATOR: 'aggregrator'})({ - arguments: { - accounts: [ - { - accountId: '111111111111', - name: 'test111111111111', - regions: [ - { - name: 'eu-west-1' - }, - { - name: 'eu-west-2' - } - ], - ...resourceRegionMetadataInput['111111111111'] - }, - { - accountId: '222222222222', - name: 'test222222222222', - regions: [ - { - name: 'us-east-1' - } - ], - ...resourceRegionMetadataInput['222222222222'] - } - ] - }, - info: { - fieldName: 'addAccounts' - } - }); - - const actual = await handler(mockEc2Client, docClient, mockConfig, {DB_TABLE, CONFIG_AGGREGATOR: 'aggregrator'})({ - arguments: { - accounts: null - }, - info: { - fieldName: 'getResourcesRegionMetadata' - } - }); - - assert.deepEqual(actual, expected); - }); - - it('should return per account metadata broken down by resource type filtered by account', async () => { - const expected = require('./fixtures/getResourcesRegionMetadata/account-filter-expected.json'); - - await handler(mockEc2Client, docClient, mockConfig, {DB_TABLE, CONFIG_AGGREGATOR: 'aggregrator'})({ - arguments: { - accounts: [ - { - accountId: '111111111111', - name: 'test111111111111', - regions: [ - { - name: 'eu-west-1' - }, - { - name: 'eu-west-2' - } - ], - ...resourceRegionMetadataInput['111111111111'] - }, - { - accountId: '222222222222', - name: 'test222222222222', - regions: [ - { - name: 'us-east-1' - } - ], - ...resourceRegionMetadataInput['222222222222'] - } - ] - }, - info: { - fieldName: 'addAccounts' - } - }); - - const actual = await handler(mockEc2Client, docClient, mockConfig, {DB_TABLE, CONFIG_AGGREGATOR: 'aggregrator'})({ - arguments: { - accounts: [{accountId: '111111111111'}] - }, - info: { - fieldName: 'getResourcesRegionMetadata' - } - }); - - assert.deepEqual(actual, expected); - }); - - it('should handle unprocessed keys that resolve after retry', async () => { - const expected = require('./fixtures/getResourcesRegionMetadata/account-filter-expected.json'); - - const dynamoDB = new DynamoDBClient({ - region: 'eu-west-1', - endpoint, - credentials: { - accessKeyId: 'accessKeyId', - secretAccessKey: 'secretAccessKey' - } - }); - - const docClient = DynamoDBDocument.from(dynamoDB); - - const ddbMock = mockClient(docClient); - - ddbMock - .on(BatchGetCommand) - .resolvesOnce({ - Responses: { - [DB_TABLE]: [] - }, - UnprocessedKeys: { - [DB_TABLE]: { - Keys: [ - {PK: 'Account', SK: '111111111111'} - ], - ProjectionExpression: 'resourcesRegionMetadata' - } - } - }); - - ddbMock.send.callThrough(); - - await handler(mockEc2Client, docClient, mockConfig, {DB_TABLE, CONFIG_AGGREGATOR: 'aggregrator'})({ - arguments: { - accounts: [ - { - accountId: '111111111111', - name: 'test111111111111', - regions: [ - { - name: 'eu-west-1' - }, - { - name: 'eu-west-2' - } - ], - ...resourceRegionMetadataInput['111111111111'] - }, - { - accountId: '222222222222', - name: 'test222222222222', - regions: [ - { - name: 'us-east-1' - } - ], - ...resourceRegionMetadataInput['222222222222'] - } - ] - }, - info: { - fieldName: 'addAccounts' - } - }); - - const actual = await handler(mockEc2Client, docClient, mockConfig, {DB_TABLE, CONFIG_AGGREGATOR: 'aggregrator', RETRY_TIME: 10})({ - arguments: { - accounts: [{accountId: '111111111111'}] - }, - info: { - fieldName: 'getResourcesRegionMetadata' - } - }); - - - assert.deepEqual(actual, expected); - }); - - it('should return per account metadata broken down by resource type filtered by account and region', async () => { - const expected = require('./fixtures/getResourcesRegionMetadata/account-region-filter-expected.json'); - - await handler(mockEc2Client, docClient, mockConfig, {DB_TABLE, CONFIG_AGGREGATOR: 'aggregrator'})({ - arguments: { - accounts: [ - { - accountId: '111111111111', - name: 'test111111111111', - regions: [ - { - name: 'eu-west-1' - }, - { - name: 'eu-west-2' - } - ], - ...resourceRegionMetadataInput['111111111111'] - }, - { - accountId: '222222222222', - name: 'test222222222222', - regions: [ - { - name: 'us-east-1' - } - ], - ...resourceRegionMetadataInput['222222222222'] - } - ] - }, - info: { - fieldName: 'addAccounts' - } - }); - - const actual = await handler(mockEc2Client, docClient, mockConfig, {DB_TABLE, CONFIG_AGGREGATOR: 'aggregrator'})({ - arguments: { - accounts: [ - {accountId: '111111111111', regions: [{name: 'eu-west-1'}]}, - {accountId: '222222222222'} - ] - }, - info: { - fieldName: 'getResourcesRegionMetadata' - } - }); - - assert.deepEqual(actual.sort((a, b) => a.accountId - b.accountId), expected); - }); - - }); - - describe('unknown query', () => { - - it('should reject payloads with unknown query', async () => { - - const DB_TABLE = 'dbTable'; - - const mockConfig = { - putConfigurationAggregator: sinon.stub().resolves({}) - }; - - return handler(mockEc2Client, docClient, mockConfig, {DB_TABLE, CONFIG_AGGREGATOR: 'aggregrator'})({ - arguments: {}, - info: { - fieldName: 'foo', - } - }, {}).catch(err => assert.strictEqual(err.message, 'Unknown field, unable to resolve foo.')); - }); - - }); - - after(function(done) { - dynamoDbLocalProcess.kill(); - done(); - }) - }); - -}); \ No newline at end of file diff --git a/source/backend/graphql/resolvers/default.js b/source/backend/graphql/resolvers/default.js index 3ac2c454..df319498 100644 --- a/source/backend/graphql/resolvers/default.js +++ b/source/backend/graphql/resolvers/default.js @@ -14,7 +14,8 @@ export function response(ctx) { 'X-Content-Type-Options': 'nosniff', 'Strict-Transport-Security': 'max-age=13072000; includeSubdomains; preload', 'Content-Security-Policy': "default-src 'none'; frame-ancestors 'none'", - 'X-Frame-Options': 'DENY' + 'X-Frame-Options': 'DENY', + 'Cache-Control': 'no-store, no-cache' }); if (error != null) { diff --git a/source/backend/graphql/schema/perspective-api.graphql b/source/backend/graphql/schema/perspective-api.graphql index 4e29f30e..5d84f42b 100644 --- a/source/backend/graphql/schema/perspective-api.graphql +++ b/source/backend/graphql/schema/perspective-api.graphql @@ -221,6 +221,14 @@ type Mutation { deleteRegions(accountId: String!, regions: [RegionInput]!): Account # Deletes one or more accounts to be scanned deleteAccounts(accountIds: [String]!): UnprocessedAccounts @aws_cognito_user_pools @aws_iam + # Create an application in myApplications + createApplication(name: String!, accountId: String!, region: String!, resources: [MyApplicationsResourceInput]!): CreateApplicationResponse +} + +input MyApplicationsResourceInput { + id: String + region: String + accountId: String } type Query { @@ -284,6 +292,12 @@ type Query { exportToDrawIo(nodes: [drawIoNodeInput], edges: [drawIoEdgeInput]) : String } +type CreateApplicationResponse { + applicationTag: String + name: String + unprocessedResources: [String] +} + type ResourcesResponse @aws_cognito_user_pools @aws_iam { count: Int resources: [Resource] diff --git a/source/cfn/templates/account-import-templates-resolvers.template b/source/cfn/templates/account-import-templates-resolvers.template index 4a6ed9db..4435df18 100644 --- a/source/cfn/templates/account-import-templates-resolvers.template +++ b/source/cfn/templates/account-import-templates-resolvers.template @@ -17,9 +17,18 @@ Parameters: DiscoveryRoleArn: Type: String + ExternalId: + Type: String + + MyApplicationsLambdaRoleArn: + Type: String + NodeLambdaRuntime: Type: String + SolutionVersion: + Type: String + Resources: AccountImportTemplatesApiLambdaFunctionRole: @@ -71,7 +80,10 @@ Resources: Variables: ACCOUNT_ID: !Ref AWS::AccountId DISCOVERY_ROLE_ARN: !Ref DiscoveryRoleArn + EXTERNAL_ID: !Ref ExternalId + MY_APPLICATIONS_LAMBDA_ROLE_ARN: !Ref MyApplicationsLambdaRoleArn REGION: !Ref AWS::Region + SOLUTION_VERSION: !Ref SolutionVersion AccountImportTemplatesApiInvokeRole: Type: AWS::IAM::Role diff --git a/source/cfn/templates/app-registry.template b/source/cfn/templates/app-registry.template index 366741b9..ae0a9a3f 100644 --- a/source/cfn/templates/app-registry.template +++ b/source/cfn/templates/app-registry.template @@ -19,80 +19,6 @@ Parameters: SolutionVersion: Type: String - MainStack: - Type: String - - LayerStack: - Type: String - - S3BucketsStack: - Type: String - - MetricsStack: - Type: String - Default: '' - - VpcStack: - Type: String - Default: '' - - NeptuneStack: - Type: String - - ConfigAggregatorStack: - Type: String - - OpenSearchRoleStack: - Type: String - - OpenSearchStack: - Type: String - - TaskStack: - Type: String - - CodebuildStack: - Type: String - - GremlinResolversStack: - Type: String - - SearchResolversStack: - Type: String - - DrawIoExportResolversStack: - Type: String - - AccountImportTemplatesResolversStack: - Type: String - - AppSyncApiStack: - Type: String - - CostResolversStack: - Type: String - - SettingsResolversStack: - Type: String - - AthenaGlueCrawlerStack: - Type: String - - OrganizationsGlobalResourcesStack: - Type: String - Default: '' - - WebUiStack: - Type: String - - WebUiSettingsStack: - Type: String - -Conditions: - IsOrgStackDeployed: !Not [!Equals [!Ref OrganizationsGlobalResourcesStack, '']] - IsVpcCreated: !Not [!Equals [!Ref VpcStack, '']] - IsMetricsCreated: !Not [!Equals [!Ref MetricsStack, '']] - Resources: Application: @@ -106,176 +32,13 @@ Resources: 'Solutions:SolutionVersion': !Ref SolutionVersion 'Solutions:ApplicationType': !Ref ApplicationType - DefaultApplicationAttributes: - Type: AWS::ServiceCatalogAppRegistry::AttributeGroup - Properties: - Name: !Sub ${AWS::Region}-${AWS::StackName} - Description: Attribute group for solution information. - Attributes: - ApplicationType: !Ref ApplicationType - Version: !Ref SolutionVersion - SolutionID: !Ref SolutionId - SolutionName: !Ref SolutionName - - AppRegistryApplicationAttributeAssociation: - Type: AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation - Properties: - Application: !GetAtt Application.Id - AttributeGroup: !GetAtt DefaultApplicationAttributes.Id - - AppRegistryApplicationStackAssociation: - Type: AWS::ServiceCatalogAppRegistry::ResourceAssociation - Properties: - Application: !GetAtt Application.Id - Resource: !Ref MainStack - ResourceType: CFN_STACK - - LayerStackAppRegistryApplicationStackAssociation: - Type: AWS::ServiceCatalogAppRegistry::ResourceAssociation - Properties: - Application: !GetAtt Application.Id - Resource: !Ref LayerStack - ResourceType: CFN_STACK - - S3BucketsStackAppRegistryApplicationStackAssociation: - Type: AWS::ServiceCatalogAppRegistry::ResourceAssociation - Properties: - Application: !GetAtt Application.Id - Resource: !Ref S3BucketsStack - ResourceType: CFN_STACK - - VpcStackAppRegistryApplicationStackAssociation: - Type: AWS::ServiceCatalogAppRegistry::ResourceAssociation - Condition: IsVpcCreated - Properties: - Application: !GetAtt Application.Id - Resource: !Ref VpcStack - ResourceType: CFN_STACK - - VpcStackAppRegistryApplicationStackAssociation: - Type: AWS::ServiceCatalogAppRegistry::ResourceAssociation - Condition: IsMetricsCreated - Properties: - Application: !GetAtt Application.Id - Resource: !Ref MetricsStack - ResourceType: CFN_STACK - - NeptuneStackAppRegistryApplicationStackAssociation: - Type: AWS::ServiceCatalogAppRegistry::ResourceAssociation - Properties: - Application: !GetAtt Application.Id - Resource: !Ref NeptuneStack - ResourceType: CFN_STACK - - ConfigAggregatorStackAppRegistryApplicationStackAssociation: - Type: AWS::ServiceCatalogAppRegistry::ResourceAssociation - Properties: - Application: !GetAtt Application.Id - Resource: !Ref ConfigAggregatorStack - ResourceType: CFN_STACK - - OpenSearchRoleStackAppRegistryApplicationStackAssociation: - Type: AWS::ServiceCatalogAppRegistry::ResourceAssociation - Properties: - Application: !GetAtt Application.Id - Resource: !Ref OpenSearchRoleStack - ResourceType: CFN_STACK - - OpenSearchStackAppRegistryApplicationStackAssociation: - Type: AWS::ServiceCatalogAppRegistry::ResourceAssociation - Properties: - Application: !GetAtt Application.Id - Resource: !Ref OpenSearchStack - ResourceType: CFN_STACK - - TaskStackAppRegistryApplicationStackAssociation: - Type: AWS::ServiceCatalogAppRegistry::ResourceAssociation - Properties: - Application: !GetAtt Application.Id - Resource: !Ref TaskStack - ResourceType: CFN_STACK - - CodebuildStackAppRegistryApplicationStackAssociation: - Type: AWS::ServiceCatalogAppRegistry::ResourceAssociation - Properties: - Application: !GetAtt Application.Id - Resource: !Ref CodebuildStack - ResourceType: CFN_STACK - - GremlinResolversStackAppRegistryApplicationStackAssociation: - Type: AWS::ServiceCatalogAppRegistry::ResourceAssociation - Properties: - Application: !GetAtt Application.Id - Resource: !Ref GremlinResolversStack - ResourceType: CFN_STACK - - SearchResolversStackAppRegistryApplicationStackAssociation: - Type: AWS::ServiceCatalogAppRegistry::ResourceAssociation - Properties: - Application: !GetAtt Application.Id - Resource: !Ref SearchResolversStack - ResourceType: CFN_STACK - - DrawIoExportResolversStackAppRegistryApplicationStackAssociation: - Type: AWS::ServiceCatalogAppRegistry::ResourceAssociation - Properties: - Application: !GetAtt Application.Id - Resource: !Ref DrawIoExportResolversStack - ResourceType: CFN_STACK - - AccountImportTemplatesResolversStackAppRegistryApplicationStackAssociation: - Type: AWS::ServiceCatalogAppRegistry::ResourceAssociation - Properties: - Application: !GetAtt Application.Id - Resource: !Ref AccountImportTemplatesResolversStack - ResourceType: CFN_STACK +Outputs: - AppSyncApiStackAppRegistryApplicationStackAssociation: - Type: AWS::ServiceCatalogAppRegistry::ResourceAssociation - Properties: - Application: !GetAtt Application.Id - Resource: !Ref AppSyncApiStack - ResourceType: CFN_STACK - - CostResolversStackAppRegistryApplicationStackAssociation: - Type: AWS::ServiceCatalogAppRegistry::ResourceAssociation - Properties: - Application: !GetAtt Application.Id - Resource: !Ref CostResolversStack - ResourceType: CFN_STACK + ApplicationTagKey: + Value: !GetAtt Application.ApplicationTagKey - SettingsResolversStackAppRegistryApplicationStackAssociation: - Type: AWS::ServiceCatalogAppRegistry::ResourceAssociation - Properties: - Application: !GetAtt Application.Id - Resource: !Ref SettingsResolversStack - ResourceType: CFN_STACK - - AthenaGlueCrawlerStackAppRegistryApplicationStackAssociation: - Type: AWS::ServiceCatalogAppRegistry::ResourceAssociation - Properties: - Application: !GetAtt Application.Id - Resource: !Ref AthenaGlueCrawlerStack - ResourceType: CFN_STACK + ApplicationTagValue: + Value: !GetAtt Application.ApplicationTagValue - OrganizationsGlobalResourcesStackAppRegistryApplicationStackAssociation: - Type: AWS::ServiceCatalogAppRegistry::ResourceAssociation - Condition: IsOrgStackDeployed - Properties: - Application: !GetAtt Application.Id - Resource: !Ref OrganizationsGlobalResourcesStack - ResourceType: CFN_STACK - - WebUiStackAppRegistryApplicationStackAssociation: - Type: AWS::ServiceCatalogAppRegistry::ResourceAssociation - Properties: - Application: !GetAtt Application.Id - Resource: !Ref WebUiStack - ResourceType: CFN_STACK - - WebUiSettingsStackAppRegistryApplicationStackAssociation: - Type: AWS::ServiceCatalogAppRegistry::ResourceAssociation - Properties: - Application: !GetAtt Application.Id - Resource: !Ref WebUiSettingsStack - ResourceType: CFN_STACK + ApplicationResourceGroupName: + Value: !Sub AWS_AppRegistry_AppTag_${AWS::AccountId}-${Application.ApplicationName} \ No newline at end of file diff --git a/source/cfn/templates/appsync-api.template b/source/cfn/templates/appsync-api.template index b221944c..e08a04bf 100644 --- a/source/cfn/templates/appsync-api.template +++ b/source/cfn/templates/appsync-api.template @@ -62,6 +62,9 @@ Resources: LogConfig: CloudWatchLogsRoleArn: !GetAtt PerspectiveAppSyncLoggingRole.Arn FieldLogLevel: ERROR + IntrospectionConfig: DISABLED + QueryDepthLimit: 5 + ResolverCountLimit: 1 UserPoolConfig: UserPoolId: !Ref CognitoUserPoolId AwsRegion: !Sub ${AWS::Region} @@ -163,26 +166,8 @@ Resources: VendorName: AWS Name: AWSManagedRulesAmazonIpReputationList ExcludedRules: [] - - Name: BlockGraphQLIntrospectionQuery - Priority: 4 - Action: - Block: {} - VisibilityConfig: - SampledRequestsEnabled: false - CloudWatchMetricsEnabled: true - MetricName: Workload-Discovery-Api-BlockGraphQLIntrospectionRuleMetric - Statement: - ByteMatchStatement: - FieldToMatch: - Body: - OversizeHandling: CONTINUE - PositionalConstraint: CONTAINS - SearchString: __schema - TextTransformations: - - Type: LOWERCASE - Priority: 0 - Name: AllowlistRule - Priority: 5 + Priority: 4 Action: Allow: {} VisibilityConfig: diff --git a/source/cfn/templates/cognito.template b/source/cfn/templates/cognito.template index 0107ca3b..54a7a95b 100644 --- a/source/cfn/templates/cognito.template +++ b/source/cfn/templates/cognito.template @@ -1,20 +1,101 @@ -AWSTemplateFormatVersion: "2010-09-09" +AWSTemplateFormatVersion: 2010-09-09 + +Transform: AWS::Serverless-2016-10-31 Description: Workload Discovery on AWS Amazon Cognito Stack Parameters: + + DeploymentBucket: + Type: String + + DeploymentBucketKey: + Type: String + + CognitoDomain: + Type: String + Description: The unique name that will be used to create the user domain. Must be alpha numeric 3-63 in length. AmplifyStorageBucket: Type: String Description: The bucket that will store saved maps - AdminUserEmailAddress: Type: String - WebUiUrl: Type: String -Resources: + PythonLambdaRuntime: + Type: String + + LambdaPowertoolsPythonLayer: + Type: String + + BotoUtils: + Type: String + Description: Required library + + CustomResourceHelper: + Type: String + Description: Required library + + UsesCustomIdentity: + Type: String + AllowedValues: + - 'No' + - 'Yes' + + IdentityType: + Type: String + + AttributeMapping: + Type: String + + ProviderName: + Type: String + + GoogleClientId: + Type: String + + GoogleClientSecretArn: + Type: String + + SAMLMetadataURL: + Type: String + OIDCClientId: + Type: String + + OIDCClientSecretArn: + Type: String + + OIDCIssuerURL: + Type: String + + OIDCAttributeRequestMethod: + Type: String + + CloudfrontDistributionURL: + Type: String + +Conditions: + CreateSAMLResources: !Equals [!Ref UsesCustomIdentity, 'Yes'] + CreateGoogleIdentity: !And + - !Equals [!Ref UsesCustomIdentity, 'Yes'] + - !Equals [!Ref IdentityType, 'Google'] + CreateSAMLIdentity: !And + - !Equals [!Ref UsesCustomIdentity, 'Yes'] + - !Equals [!Ref IdentityType, 'SAML'] + CreateOIDCIdentity: !And + - !Equals [!Ref UsesCustomIdentity, 'Yes'] + - !Equals [!Ref IdentityType, 'OIDC'] + RedirectForGoogleAndOIDC: !Or + - !And + - !Equals [!Ref UsesCustomIdentity, 'Yes'] + - !Equals [!Ref IdentityType, 'Google'] + - !And + - !Equals [!Ref UsesCustomIdentity, 'Yes'] + - !Equals [!Ref IdentityType, 'OIDC'] + +Resources: CognitoAuthRole: Type: AWS::IAM::Role Properties: @@ -70,6 +151,13 @@ Resources: - Action: s3:ListBucket Resource: !Sub "arn:aws:s3:::${AmplifyStorageBucket}" Effect: "Allow" + + CognitoUserPoolDomain: + Type: AWS::Cognito::UserPoolDomain + Condition: CreateSAMLResources + Properties: + Domain: !Ref CognitoDomain + UserPoolId: !Ref WDCognitoUserPool IdentityPoolRoleMap: Type: AWS::Cognito::IdentityPoolRoleAttachment @@ -94,7 +182,6 @@ Resources: Properties: AdminCreateUserConfig: AllowAdminCreateUserOnly: true - UnusedAccountValidityDays: 90 InviteMessageTemplate: EmailMessage: !Sub | @@ -128,12 +215,122 @@ Resources: UserPoolClient: Type: AWS::Cognito::UserPoolClient Properties: - ClientName: aws-perspective-client-web + UserPoolId: !Ref WDCognitoUserPool RefreshTokenValidity: 1 - UserPoolId: - Ref: WDCognitoUserPool + AccessTokenValidity: 60 + AllowedOAuthFlowsUserPoolClient: true + AllowedOAuthFlows: + - code + AllowedOAuthScopes: + - aws.cognito.signin.user.admin + - email + - openid + - phone + - profile + CallbackURLs: [!Ref CloudfrontDistributionURL] + EnableTokenRevocation: true + IdTokenValidity: 60 + LogoutURLs: [!Ref CloudfrontDistributionURL] + SupportedIdentityProviders: + Fn::If: [ CreateSAMLResources, [ Fn::If: [CreateGoogleIdentity, !GetAtt GoogleIdentityProvider.ProviderName, Fn::If: [CreateSAMLIdentity, !GetAtt SAMLIdentityProvider.ProviderName, !GetAtt OIDCIdentityProvider.ProviderName ]]], [ COGNITO ]] + TokenValidityUnits: + AccessToken: minutes + IdToken: minutes + RefreshToken: days PreventUserExistenceErrors: ENABLED + IdentityProviderCrFunction: + Metadata: + cfn_nag: + rules_to_suppress: + - id: W89 + reason: Not applicable + - id: W92 + reason: Not applicable + Type: AWS::Serverless::Function + Properties: + Handler: identity_provider.handler + CodeUri: + Bucket: !Ref DeploymentBucket + Key: !Sub ${DeploymentBucketKey}/identity-provider.zip + Runtime: !Ref PythonLambdaRuntime + Layers: + - !Ref BotoUtils + - !Ref CustomResourceHelper + - !Ref LambdaPowertoolsPythonLayer + Description: Custom Lambda resource for creating Cognito identity provider + Policies: + - Statement: + - Effect: Allow + Action: + - cognito-idp:CreateIdentityProvider + - cognito-idp:DeleteIdentityProvider + - cognito-idp:UpdateIdentityProvider + Resource: !Sub arn:${AWS::Partition}:cognito-idp:${AWS::Region}:${AWS::AccountId}:userpool/${WDCognitoUserPool} + - !If + - CreateOIDCIdentity + - Statement: + - Effect: Allow + Action: + - secretsmanager:GetSecretValue + Resource: !Ref OIDCClientSecretArn + - !Ref AWS::NoValue + - !If + - CreateGoogleIdentity + - Statement: + - Effect: Allow + Action: + - secretsmanager:GetSecretValue + Resource: !Ref GoogleClientSecretArn + - !Ref AWS::NoValue + + OIDCIdentityProvider: + Type: Custom::UserPoolIdentityProvider + Condition: CreateOIDCIdentity + Properties: + ServiceToken: !GetAtt IdentityProviderCrFunction.Arn + UserPoolId: !Ref WDCognitoUserPool + ProviderName: !Ref ProviderName + ProviderType: OIDC + ClientSecretArn: !Ref OIDCClientSecretArn + ProviderDetails: + client_id: !Ref OIDCClientId + attributes_request_method: !Ref OIDCAttributeRequestMethod + oidc_issuer: !Ref OIDCIssuerURL + authorize_scopes: email profile openid + AttributeMapping: !Ref AttributeMapping + IdpIdentifiers: + - IdpIdentifier + + GoogleIdentityProvider: + Type: Custom::UserPoolIdentityProvider + Condition: CreateGoogleIdentity + Properties: + ServiceToken: !GetAtt IdentityProviderCrFunction.Arn + UserPoolId: !Ref WDCognitoUserPool + ProviderName: !Ref ProviderName + ProviderType: Google + ClientSecretArn: !Ref GoogleClientSecretArn + ProviderDetails: + client_id: !Ref GoogleClientId + authorize_scopes: profile email openid + AttributeMapping: !Ref AttributeMapping + + SAMLIdentityProvider: + Type: Custom::UserPoolIdentityProvider + Condition: CreateSAMLIdentity + Properties: + ServiceToken: !GetAtt IdentityProviderCrFunction.Arn + UserPoolId: !Ref WDCognitoUserPool + ProviderName: !Ref ProviderName + ProviderType: SAML + ProviderDetails: + MetadataURL: !Ref SAMLMetadataURL + AttributeMapping: + email: Attribute + IdpIdentifiers: + - IdpIdentifier + Outputs: AuthPerspectiveRoleName: Value: !Ref CognitoAuthRole @@ -141,7 +338,26 @@ Outputs: Value: !Ref CognitoIdentityPool UserPoolId: Value: !Ref WDCognitoUserPool + UserPoolDomain: + Condition: CreateSAMLResources + Value: !Ref CognitoUserPoolDomain UserPoolARN: Value: !GetAtt WDCognitoUserPool.Arn WebClientId: - Value: !Ref UserPoolClient \ No newline at end of file + Value: !Ref UserPoolClient + + SAMLEntityId: + Condition: CreateSAMLIdentity + Value: !Sub urn:amazon:cognito:sp:${WDCognitoUserPool} + + SAMLReplyURL: + Condition: CreateSAMLIdentity + Value: !Sub https://${CognitoUserPoolDomain}.auth.${AWS::Region}.amazoncognito.com/saml2/idpresponse + + RedirectURI: + Condition: RedirectForGoogleAndOIDC + Value: !Sub https://${CognitoUserPoolDomain}.auth.${AWS::Region}.amazoncognito.com/oauth2/idpresponse + + GoogleJavascriptOrigin: + Condition: CreateGoogleIdentity + Value: !Sub https://${CognitoUserPoolDomain}.auth.${AWS::Region}.amazoncognito.com \ No newline at end of file diff --git a/source/cfn/templates/discovery-crawler.template b/source/cfn/templates/discovery-crawler.template index 1c93965b..da58ac66 100644 --- a/source/cfn/templates/discovery-crawler.template +++ b/source/cfn/templates/discovery-crawler.template @@ -392,6 +392,7 @@ Resources: Value: !Ref LogLevel - Name: CUSTOM_USER_AGENT Value: !Ref CustomUserAgent + ReadonlyRootFilesystem: true LogConfiguration: LogDriver: awslogs Options: @@ -468,14 +469,19 @@ Resources: - !Ref PrivateSubnet1 Outputs: - Endpoint: - Description: Cluster - Value: !Ref Cluster + + ClusterArn: + Description: WD Cluster Arn + Value: !GetAtt Cluster.Arn TaskDef: Description: Task Name Value: !Ref TaskDefinition + DiscoveryTaskLogGroup: + Description: Log group for discovery process task + Value: !Ref LogGroup + EcsRoleDef: Description: ECS Role Name Value: !GetAtt EcsTaskExecutionRole.Arn diff --git a/source/cfn/templates/layers.template b/source/cfn/templates/layers.template index bb1e8be1..5b32319b 100644 --- a/source/cfn/templates/layers.template +++ b/source/cfn/templates/layers.template @@ -66,3 +66,7 @@ Outputs: Decorators: Description: Decorators Layer Value: !Ref Decorators + + LambdaPowertoolsPython: + Description: Lambda Powertools Python Layer + Value: !Sub arn:${AWS::Partition}:lambda:${AWS::Region}:017000801446:layer:AWSLambdaPowertoolsPythonV3-python312-x86_64:2 diff --git a/source/cfn/templates/main.template b/source/cfn/templates/main.template index 3081a2cb..566600c2 100644 --- a/source/cfn/templates/main.template +++ b/source/cfn/templates/main.template @@ -252,6 +252,88 @@ Parameters: a subnet mask of /32) of the NAT gateways that allow the discovery process ECS task running in its private subnet to access the internet. NB: this allowlist does not govern access to the WebUI, only the GraphQL API. Default: 0.0.0.0/1,128.0.0.0/1 + UsesCustomIdentity: + Type: String + AllowedValues: + - 'No' + - 'Yes' + Default: 'No' + ConstraintDescription: Please specify (Yes / No) + CognitoCustomDomain: + Type: String + AllowedPattern: ^(?:[a-z0-9\-]{3,63})?$ + Default: '' + Description: Leave empty if you are not using a custom IdP, otherwise must include only lowercase letters, numbers, and hyphens. + ConstraintDescription: This string can include only lowercase letters, numbers, and hyphens. + CognitoAttributeMapping: + Type: String + Default: '{"email": "email}' + Description: | + The mapping of IdP attributes to standard and custom Cognito user pool attributes. Must be a valid JSON + string. + IdentityType: + Type: String + AllowedValues: + - 'Google' + - 'SAML' + - 'OIDC' + - '' + Default: '' + Description: Leave empty if you are not using a custom IdP + + ProviderName: + Type: String + Description: Name for the Identity Provider (Leave empty if you are not using a custom IdP.) + Default: '' + AllowedPattern: ^(?:[a-zA-Z0-9]{3,32})?$ + ConstraintDescription: The value has to be in lower case, upper case and between 3 and 32 characters. + + GoogleClientId: + Type: String + Default: '' + ConstraintDescription: Must be a valid Google Client ID. + Description: Google Client ID (Parameter only used when IdentityType is set to Google) + + GoogleClientSecret: + Type: String + Default: '' + ConstraintDescription: Must be a valid Google Client Secret. + NoEcho: true + Description: Google Client Secret (Parameter only used when IdentityType is set to Google) + + SAMLMetadataURL: + Type: String + Default: '' + ConstraintDescription: Must be a valid URL. + Description: Metadata URL for the SAML Identity Provider (Parameter only used when IdentityType is set to SAML) + + OIDCClientId: + Type: String + Description: OIDC Client ID + Default: '' + ConstraintDescription: Must be a valid OIDC Client ID. (Parameter only used when IdentityType is set to OIDC) + + OIDCClientSecret: + Type: String + Description: OIDC Client Secret + Default: '' + NoEcho: true + ConstraintDescription: Must be a valid OIDC Client Secret. (Parameter only used when IdentityType is set to OIDC) + + OIDCIssuerURL: + Type: String + Description: OIDC Issuer URL + Default: '' + ConstraintDescription: Must be a valid URL. (Parameter only used when IdentityType is set to OIDC) + + OIDCAttributeRequestMethod: + Type: String + Description: OIDC Attribute Request Method (Parameter only used when IdentityType is set to OIDC) + AllowedValues: + - 'GET' + - 'POST' + Default: 'GET' + ConstraintDescription: Must be either GET or POST. (refer to OIDC provider or leave default) Metadata: AWS::CloudFormation::Interface: @@ -305,8 +387,24 @@ Metadata: default: WAF Configuration Parameters: - ApiAllowListedRanges + - Label: + default: Custom Identity Provider Configuration - the type of external IdP, a unique name for the user pool domain, and a boolean indicating if external IdP integration is necessary + Parameters: + - CognitoCustomDomain + - UsesCustomIdentity + - IdentityType + - CognitoAttributeMapping + - ProviderName + - SAMLMetadataURL + - GoogleClientId + - GoogleClientSecret + - OIDCClientId + - OIDCClientSecret + - OIDCIssuerURL + - OIDCAttributeRequestMethod Rules: + OrganizationsRule: RuleCondition: !Equals [!Ref CrossAccountDiscovery, AWS_ORGANIZATIONS] Assertions: @@ -330,6 +428,7 @@ Rules: AssertDescription: You must provide a CIDR block when using an existing VPC Mappings: + Solution: Constants: SolutionId: SO0075 @@ -358,8 +457,15 @@ Conditions: IsUsingOrganizations: !Equals [!Ref CrossAccountDiscovery, AWS_ORGANIZATIONS] CreateVpc: !Equals [!Ref VpcId, ''] CreateAnonymizedUsageMetrics: !Equals [!FindInMap [Solution, Metrics, CollectAnonymizedUsageMetrics], 'true'] + CreateOidcSecret: !And + - !Equals [ !Ref UsesCustomIdentity, 'Yes' ] + - !Equals [ !Ref IdentityType, OIDC ] + CreateGoogleSecret: !And + - !Equals [ !Ref UsesCustomIdentity, 'Yes' ] + - !Equals [ !Ref IdentityType, Google ] Resources: + EchoFunction: Metadata: cfn_nag: @@ -390,6 +496,7 @@ Resources: ServiceToken: !GetAtt EchoFunction.Arn NodeLambdaRuntime: !FindInMap [Solution, Constants, NodeLambdaRuntime] PythonLambdaRuntime: !FindInMap [Solution, Constants, PythonLambdaRuntime] + ExternalId: !Select [2, !Split ["/", !Ref AWS::StackId]] DeploymentBucket: !Sub - https://s3.${Region}.amazonaws.com/${DeploymentBucketNamePrefix}-${Region}/${DeploymentBucketKey} - DeploymentBucketKey: !FindInMap [Solution, Constants, DeploymentBucketKey] @@ -404,6 +511,26 @@ Resources: - SolutionId: !FindInMap [ Solution, Constants, SolutionId ] Version: !FindInMap [ Solution, Constants, SolutionVersion ] + WdOidcClientSecret: + Condition: CreateOidcSecret + Type: AWS::SecretsManager::Secret + Properties: + Description: Secret used by Workload Discovery for OIDC login + SecretString: !Ref OIDCClientSecret + Tags: + - Key: !GetAtt AppRegistryStack.Outputs.ApplicationTagKey + Value: !GetAtt AppRegistryStack.Outputs.ApplicationTagValue + + WdGoogleClientSecret: + Condition: CreateGoogleSecret + Type: AWS::SecretsManager::Secret + Properties: + Description: Secret used by Workload Discovery for Google login + SecretString: !Ref GoogleClientSecret + Tags: + - Key: !GetAtt AppRegistryStack.Outputs.ApplicationTagKey + Value: !GetAtt AppRegistryStack.Outputs.ApplicationTagValue + LayerStack: Type: AWS::CloudFormation::Stack Properties: @@ -413,6 +540,9 @@ Resources: DeploymentBucketKey: !FindInMap [Solution, Constants, DeploymentBucketKey] TemplateURL: !Sub ${Variables.DeploymentBucket}/layers.template TimeoutInMinutes: 60 + Tags: + - Key: !GetAtt AppRegistryStack.Outputs.ApplicationTagKey + Value: !GetAtt AppRegistryStack.Outputs.ApplicationTagValue S3Buckets: Type: AWS::CloudFormation::Stack @@ -425,6 +555,9 @@ Resources: CustomResourceHelperLambdaLayer: !GetAtt LayerStack.Outputs.CustomResourceHelper TemplateURL: !Sub ${Variables.DeploymentBucket}/buckets.template TimeoutInMinutes: 60 + Tags: + - Key: !GetAtt AppRegistryStack.Outputs.ApplicationTagKey + Value: !GetAtt AppRegistryStack.Outputs.ApplicationTagValue VpcStack: Type: AWS::CloudFormation::Stack @@ -432,6 +565,9 @@ Resources: Properties: TemplateURL: !Sub ${Variables.DeploymentBucket}/vpc.template TimeoutInMinutes: 60 + Tags: + - Key: !GetAtt AppRegistryStack.Outputs.ApplicationTagKey + Value: !GetAtt AppRegistryStack.Outputs.ApplicationTagValue NeptuneStack: Type: AWS::CloudFormation::Stack @@ -451,6 +587,9 @@ Resources: DBInstanceClass: !Ref NeptuneInstanceClass MinNCUs: !Ref MinNCUs MaxNCUs: !Ref MaxNCUs + Tags: + - Key: !GetAtt AppRegistryStack.Outputs.ApplicationTagKey + Value: !GetAtt AppRegistryStack.Outputs.ApplicationTagValue ConfigAggregator: Type: AWS::CloudFormation::Stack @@ -462,6 +601,9 @@ Resources: ExistingConfigInstallation: !Ref AlreadyHaveConfigSetup ConfigBucket: !If [SetUpConfig, !GetAtt S3Buckets.Outputs.ConfigBucket, ''] ConfigAggregatorName: !Ref ConfigAggregatorName + Tags: + - Key: !GetAtt AppRegistryStack.Outputs.ApplicationTagKey + Value: !GetAtt AppRegistryStack.Outputs.ApplicationTagValue OrganizationsGlobalResourcesStack: Type: AWS::CloudFormation::Stack @@ -472,7 +614,12 @@ Resources: OrganizationUnitId: !Ref OrganizationUnitId AccountType: !Ref AccountType DiscoveryRoleArn: !GetAtt TaskStack.Outputs.DiscoveryRoleArn + ExternalId: !GetAtt Variables.ExternalId + MyApplicationsLambdaRoleArn: !GetAtt MyApplicationsResolversStack.Outputs.MyApplicationsLambdaRoleArn DeploymentBucket: !GetAtt Variables.DeploymentBucket + Tags: + - Key: !GetAtt AppRegistryStack.Outputs.ApplicationTagKey + Value: !GetAtt AppRegistryStack.Outputs.ApplicationTagValue OpenSearchRoleStack: Type: AWS::CloudFormation::Stack @@ -481,6 +628,9 @@ Resources: TimeoutInMinutes: 60 Parameters: CreateOpensearchServiceRole: !Ref CreateOpensearchServiceRole + Tags: + - Key: !GetAtt AppRegistryStack.Outputs.ApplicationTagKey + Value: !GetAtt AppRegistryStack.Outputs.ApplicationTagValue OpenSearchStack: Type: AWS::CloudFormation::Stack @@ -496,6 +646,9 @@ Resources: PerspectiveVPCId: !If [CreateVpc, !GetAtt VpcStack.Outputs.VPCId, !Ref VpcId, ] PerspectiveVpcCidr: !If [CreateVpc, !GetAtt VpcStack.Outputs.VpcCidr, !Ref VpcCidrBlock ] SearchLambdaIAMRoleARN: !GetAtt OpenSearchRoleStack.Outputs.OpenSearchLambdaRoleArn + Tags: + - Key: !GetAtt AppRegistryStack.Outputs.ApplicationTagKey + Value: !GetAtt AppRegistryStack.Outputs.ApplicationTagValue TaskStack: Type: AWS::CloudFormation::Stack @@ -525,6 +678,9 @@ Resources: CustomUserAgent: !GetAtt Variables.CustomUserAgent DeploymentBucketName: !GetAtt Variables.DeploymentBucketName DeploymentBucketKey: !FindInMap [ Solution, Constants, DeploymentBucketKey ] + Tags: + - Key: !GetAtt AppRegistryStack.Outputs.ApplicationTagKey + Value: !GetAtt AppRegistryStack.Outputs.ApplicationTagValue CodebuildStack: Type: AWS::CloudFormation::Stack @@ -541,6 +697,9 @@ Resources: ImageVersion: !FindInMap [Solution, Constants, ImageVersion] SolutionVersion: !FindInMap [Solution, Constants, SolutionVersion] WebUIBucket: !GetAtt S3Buckets.Outputs.WebUIBucket + Tags: + - Key: !GetAtt AppRegistryStack.Outputs.ApplicationTagKey + Value: !GetAtt AppRegistryStack.Outputs.ApplicationTagValue CognitoStack: Type: AWS::CloudFormation::Stack @@ -548,9 +707,31 @@ Resources: TemplateURL: !Sub ${Variables.DeploymentBucket}/cognito.template TimeoutInMinutes: 60 Parameters: + DeploymentBucket: !GetAtt Variables.DeploymentBucketName + DeploymentBucketKey: !FindInMap [ Solution, Constants, DeploymentBucketKey ] AdminUserEmailAddress: !Ref AdminUserEmailAddress AmplifyStorageBucket: !GetAtt S3Buckets.Outputs.AmplifyStorageBucket WebUiUrl: !GetAtt WebUiStack.Outputs.WebUiUrl + PythonLambdaRuntime: !GetAtt Variables.PythonLambdaRuntime + LambdaPowertoolsPythonLayer: !GetAtt LayerStack.Outputs.LambdaPowertoolsPython + BotoUtils: !GetAtt LayerStack.Outputs.BotoUtils + CustomResourceHelper: !GetAtt LayerStack.Outputs.CustomResourceHelper + CognitoDomain: !Ref CognitoCustomDomain + UsesCustomIdentity: !Ref UsesCustomIdentity + AttributeMapping: !Ref CognitoAttributeMapping + IdentityType: !Ref IdentityType + ProviderName: !Ref ProviderName + GoogleClientId: !Ref GoogleClientId + GoogleClientSecretArn: !If [CreateGoogleSecret, !Ref WdGoogleClientSecret, ''] + SAMLMetadataURL: !Ref SAMLMetadataURL + OIDCClientId: !Ref OIDCClientId + OIDCClientSecretArn: !If [CreateOidcSecret, !Ref WdOidcClientSecret, ''] + OIDCIssuerURL: !Ref OIDCIssuerURL + OIDCAttributeRequestMethod: !Ref OIDCAttributeRequestMethod + CloudfrontDistributionURL: !GetAtt WebUiStack.Outputs.WebUiUrl + Tags: + - Key: !GetAtt AppRegistryStack.Outputs.ApplicationTagKey + Value: !GetAtt AppRegistryStack.Outputs.ApplicationTagValue GremlinResolversStack: Type: AWS::CloudFormation::Stack @@ -573,6 +754,10 @@ Resources: DeploymentBucket: !GetAtt Variables.DeploymentBucketName DeploymentBucketKey: !FindInMap [ Solution, Constants, DeploymentBucketKey ] + Tags: + - Key: !GetAtt AppRegistryStack.Outputs.ApplicationTagKey + Value: !GetAtt AppRegistryStack.Outputs.ApplicationTagValue + SearchResolversStack: Type: AWS::CloudFormation::Stack Properties: @@ -592,6 +777,9 @@ Resources: SolutionVersion: !FindInMap [Solution, Constants, SolutionVersion] DeploymentBucket: !GetAtt Variables.DeploymentBucketName DeploymentBucketKey: !FindInMap [ Solution, Constants, DeploymentBucketKey ] + Tags: + - Key: !GetAtt AppRegistryStack.Outputs.ApplicationTagKey + Value: !GetAtt AppRegistryStack.Outputs.ApplicationTagValue DrawIoExportResolversStack: Type: AWS::CloudFormation::Stack @@ -603,6 +791,24 @@ Resources: PerspectiveAppSyncApiId: !GetAtt AppSyncApiStack.Outputs.AppSyncApiId DeploymentBucket: !GetAtt Variables.DeploymentBucketName DeploymentBucketKey: !FindInMap [ Solution, Constants, DeploymentBucketKey ] + Tags: + - Key: !GetAtt AppRegistryStack.Outputs.ApplicationTagKey + Value: !GetAtt AppRegistryStack.Outputs.ApplicationTagValue + + MyApplicationsResolversStack: + Type: AWS::CloudFormation::Stack + Properties: + TemplateURL: !Sub ${Variables.DeploymentBucket}/myapplications-resolvers.template + TimeoutInMinutes: 60 + Parameters: + NodeLambdaRuntime: !GetAtt Variables.NodeLambdaRuntime + PerspectiveAppSyncApiId: !GetAtt AppSyncApiStack.Outputs.AppSyncApiId + ExternalId: !GetAtt Variables.ExternalId + DeploymentBucket: !GetAtt Variables.DeploymentBucketName + DeploymentBucketKey: !FindInMap [ Solution, Constants, DeploymentBucketKey ] + Tags: + - Key: !GetAtt AppRegistryStack.Outputs.ApplicationTagKey + Value: !GetAtt AppRegistryStack.Outputs.ApplicationTagValue AccountImportTemplatesResolversStack: Type: AWS::CloudFormation::Stack @@ -611,10 +817,16 @@ Resources: TimeoutInMinutes: 60 Parameters: NodeLambdaRuntime: !GetAtt Variables.NodeLambdaRuntime + SolutionVersion: !FindInMap [ Solution, Constants, SolutionVersion ] PerspectiveAppSyncApiId: !GetAtt AppSyncApiStack.Outputs.AppSyncApiId DiscoveryRoleArn: !GetAtt TaskStack.Outputs.DiscoveryRoleArn + ExternalId: !GetAtt Variables.ExternalId + MyApplicationsLambdaRoleArn: !GetAtt MyApplicationsResolversStack.Outputs.MyApplicationsLambdaRoleArn DeploymentBucket: !GetAtt Variables.DeploymentBucketName DeploymentBucketKey: !FindInMap [ Solution, Constants, DeploymentBucketKey ] + Tags: + - Key: !GetAtt AppRegistryStack.Outputs.ApplicationTagKey + Value: !GetAtt AppRegistryStack.Outputs.ApplicationTagValue AppSyncApiStack: Type: AWS::CloudFormation::Stack @@ -626,6 +838,9 @@ Resources: DeploymentBucket: !GetAtt Variables.DeploymentBucketName DeploymentBucketKey: !FindInMap [ Solution, Constants, DeploymentBucketKey ] ApiAllowListedRanges: !Join [',', !Ref ApiAllowListedRanges] + Tags: + - Key: !GetAtt AppRegistryStack.Outputs.ApplicationTagKey + Value: !GetAtt AppRegistryStack.Outputs.ApplicationTagValue CostResolversStack: Type: AWS::CloudFormation::Stack @@ -640,6 +855,9 @@ Resources: PerspectiveAppSyncApiId: !GetAtt AppSyncApiStack.Outputs.AppSyncApiId DeploymentBucket: !GetAtt Variables.DeploymentBucketName DeploymentBucketKey: !FindInMap [ Solution, Constants, DeploymentBucketKey ] + Tags: + - Key: !GetAtt AppRegistryStack.Outputs.ApplicationTagKey + Value: !GetAtt AppRegistryStack.Outputs.ApplicationTagValue SettingsResolversStack: Type: AWS::CloudFormation::Stack @@ -654,6 +872,9 @@ Resources: PerspectiveAppSyncApiId: !GetAtt AppSyncApiStack.Outputs.AppSyncApiId DeploymentBucket: !GetAtt Variables.DeploymentBucketName DeploymentBucketKey: !FindInMap [ Solution, Constants, DeploymentBucketKey ] + Tags: + - Key: !GetAtt AppRegistryStack.Outputs.ApplicationTagKey + Value: !GetAtt AppRegistryStack.Outputs.ApplicationTagValue AthenaGlueCrawlerStack: Type: AWS::CloudFormation::Stack @@ -665,6 +886,9 @@ Resources: CostAndUsageBucket: !GetAtt S3Buckets.Outputs.CostAndUsageReportBucket DeploymentBucket: !GetAtt Variables.DeploymentBucketName DeploymentBucketKey: !FindInMap [ Solution, Constants, DeploymentBucketKey ] + Tags: + - Key: !GetAtt AppRegistryStack.Outputs.ApplicationTagKey + Value: !GetAtt AppRegistryStack.Outputs.ApplicationTagValue WebUiStack: Type: AWS::CloudFormation::Stack @@ -675,6 +899,9 @@ Resources: AccessLogsBucket: !GetAtt S3Buckets.Outputs.AccessLogsBucket WebUIBucket: !GetAtt S3Buckets.Outputs.WebUIBucket WebUIBucketRegionalDomainName: !GetAtt S3Buckets.Outputs.WebUIBucketRegionalDomainName + Tags: + - Key: !GetAtt AppRegistryStack.Outputs.ApplicationTagKey + Value: !GetAtt AppRegistryStack.Outputs.ApplicationTagValue WebUiSettingsStack: Type: AWS::CloudFormation::Stack @@ -690,8 +917,15 @@ Resources: CognitoIdentityPoolId: !GetAtt CognitoStack.Outputs.IdentityPoolId CognitoUserPoolId: !GetAtt CognitoStack.Outputs.UserPoolId CognitoUserPoolWebClientId: !GetAtt CognitoStack.Outputs.WebClientId + UsesCustomIdentity: !Ref UsesCustomIdentity + CognitoUserPoolCustomDomain: !Ref CognitoCustomDomain + CognitoUserPoolProviderName: !Ref ProviderName + CloudfrontDistributionURL: !GetAtt WebUiStack.Outputs.WebUiUrl SettingsObjectKey: "settings.js" SolutionVersion: !FindInMap [Solution, Constants, SolutionVersion] + Tags: + - Key: !GetAtt AppRegistryStack.Outputs.ApplicationTagKey + Value: !GetAtt AppRegistryStack.Outputs.ApplicationTagValue MetricsStack: Type: AWS::CloudFormation::Stack @@ -701,14 +935,25 @@ Resources: TimeoutInMinutes: 60 Parameters: NodeLambdaRuntime: !GetAtt Variables.NodeLambdaRuntime + PythonLambdaRuntime: !GetAtt Variables.PythonLambdaRuntime + LambdaPowertoolsPythonLayer: !GetAtt LayerStack.Outputs.LambdaPowertoolsPython + BotoUtils: !GetAtt LayerStack.Outputs.BotoUtils + CustomResourceHelperLambdaLayer: !GetAtt LayerStack.Outputs.CustomResourceHelper DeploymentBucket: !GetAtt Variables.DeploymentBucketName DeploymentBucketKey: !FindInMap [ Solution, Constants, DeploymentBucketKey ] - SolutionVersion: !FindInMap [Solution, Constants, SolutionVersion] + SolutionId: !FindInMap [ Solution, Constants, SolutionId ] + SolutionVersion: !FindInMap [ Solution, Constants, SolutionVersion ] CrossAccountDiscovery: !Ref CrossAccountDiscovery AmplifyStorageBucket: !GetAtt S3Buckets.Outputs.AmplifyStorageBucket CostAndUsageReportBucket: !GetAtt S3Buckets.Outputs.CostAndUsageReportBucket AppSyncAPIUrl: !GetAtt AppSyncApiStack.Outputs.AppSyncApiUrl AppSyncArn: !GetAtt AppSyncApiStack.Outputs.AppSyncApiArn + MyApplicationsLambdaLogGroup: !GetAtt MyApplicationsResolversStack.Outputs.MyApplicationsLambdaLogGroup + NeptuneInstanceClass: !Ref NeptuneInstanceClass + OpensearchInstanceType: !Ref OpensearchInstanceType + Tags: + - Key: !GetAtt AppRegistryStack.Outputs.ApplicationTagKey + Value: !GetAtt AppRegistryStack.Outputs.ApplicationTagValue AppRegistryStack: Type: AWS::CloudFormation::Stack @@ -721,28 +966,17 @@ Resources: SolutionId: !FindInMap [Solution, Constants, SolutionId] SolutionName: !FindInMap [Solution, Constants, SolutionName] SolutionVersion: !FindInMap [Solution, Constants, SolutionVersion] - MainStack: !Ref AWS::StackId - LayerStack: !Ref LayerStack - S3BucketsStack: !Ref S3Buckets - VpcStack: !If [CreateVpc, !Ref VpcStack, !Ref AWS::NoValue] - MetricsStack: !If [CreateAnonymizedUsageMetrics, !Ref MetricsStack, !Ref AWS::NoValue] - NeptuneStack: !Ref NeptuneStack - ConfigAggregatorStack: !Ref ConfigAggregator - OpenSearchRoleStack: !Ref OpenSearchRoleStack - OpenSearchStack: !Ref OpenSearchStack - TaskStack: !Ref TaskStack - CodebuildStack: !Ref CodebuildStack - GremlinResolversStack: !Ref GremlinResolversStack - SearchResolversStack: !Ref SearchResolversStack - DrawIoExportResolversStack: !Ref DrawIoExportResolversStack - AccountImportTemplatesResolversStack: !Ref AccountImportTemplatesResolversStack - AppSyncApiStack: !Ref AppSyncApiStack - CostResolversStack: !Ref CostResolversStack - SettingsResolversStack: !Ref SettingsResolversStack - AthenaGlueCrawlerStack: !Ref AthenaGlueCrawlerStack - OrganizationsGlobalResourcesStack: !If [IsUsingOrganizations, !Ref OrganizationsGlobalResourcesStack, !Ref AWS::NoValue] - WebUiStack: !Ref WebUiStack - WebUiSettingsStack: !Ref WebUiSettingsStack + + + AppInsightsStack: + Type: AWS::CloudFormation::Stack + Properties: + TemplateURL: !Sub ${Variables.DeploymentBucket}/application-insights.template + TimeoutInMinutes: 60 + Parameters: + ApplicationResourceGroupName: !GetAtt AppRegistryStack.Outputs.ApplicationResourceGroupName + ClusterArn: !GetAtt TaskStack.Outputs.ClusterArn + DiscoveryTaskLogGroup: !GetAtt TaskStack.Outputs.DiscoveryTaskLogGroup Outputs: diff --git a/source/cfn/templates/metrics.template b/source/cfn/templates/metrics.template index a0fc7060..0089e38d 100644 --- a/source/cfn/templates/metrics.template +++ b/source/cfn/templates/metrics.template @@ -12,6 +12,9 @@ Parameters: DeploymentBucketKey: Type: String + SolutionId: + Type: String + SolutionVersion: Type: String @@ -33,6 +36,32 @@ Parameters: CrossAccountDiscovery: Type: String + PythonLambdaRuntime: + Type: String + + LambdaPowertoolsPythonLayer: + Type: String + + BotoUtils: + Type: String + + CustomResourceHelperLambdaLayer: + Type: String + + MyApplicationsLambdaLogGroup: + Type: String + + OpensearchInstanceType: + Type: String + + NeptuneInstanceClass: + Type: String + +Mappings: + + Metrics: + Constants: + Url: https://metrics.awssolutionsbuilder.com/generic Resources: @@ -70,15 +99,6 @@ Resources: Resource: - !Sub 'arn:${AWS::Partition}:s3:::${AmplifyStorageBucket}' - !Sub 'arn:${AWS::Partition}:s3:::${CostAndUsageReportBucket}' - - PolicyName: GetUUIDFromSSM - PolicyDocument: - Version: '2012-10-17' - Statement: - - Action: - - ssm:PutParameter - - ssm:GetParameter - Effect: Allow - Resource: !Sub 'arn:${AWS::Partition}:ssm:${AWS::Region}:${AWS::AccountId}:parameter/Solutions/WorkloadDiscovery/*' - PolicyName: GetQueryFromAppsync PolicyDocument: Version: '2012-10-17' @@ -87,6 +107,39 @@ Resources: Effect: Allow Resource: !Sub '${AppSyncArn}/*' + MetricsUuidCrFunction: + Type: AWS::Serverless::Function + Metadata: + cfn_nag: + rules_to_suppress: + - id: W89 + reason: Not applicable + - id: W92 + reason: Not applicable + Properties: + CodeUri: + Bucket: !Ref DeploymentBucket + Key: !Sub ${DeploymentBucketKey}/metrics_uuid.zip + Description: Custom Lambda resource for creating metrics UUID + Runtime: !Ref PythonLambdaRuntime + Handler: metrics_uuid.handler + Layers: + - !Ref LambdaPowertoolsPythonLayer + - !Ref BotoUtils + - !Ref CustomResourceHelperLambdaLayer + Policies: + - Statement: + Action: + - ssm:PutParameter + - ssm:GetParameter + Effect: Allow + Resource: !Sub arn:${AWS::Partition}:ssm:${AWS::Region}:${AWS::AccountId}:parameter/Solutions/WorkloadDiscovery/* + + MetricsUuidCr: + Type: Custom::MetricUuid + Properties: + ServiceToken: !GetAtt MetricsUuidCrFunction.Arn + MetricsCollectionLambdaFunction: Metadata: cfn_nag: @@ -96,27 +149,60 @@ Resources: Type: AWS::Serverless::Function Properties: Role: !GetAtt MetricsCollectionLambdaRole.Arn - Handler: index.handler + Handler: src/index.handler CodeUri: Bucket: !Ref DeploymentBucket Key: !Sub ${DeploymentBucketKey}/metrics.zip Runtime: !Ref NodeLambdaRuntime Description: Lambda for Collecting Metrics - Timeout: 2 + Timeout: 300 Tracing: Active MemorySize: 512 Environment: Variables: + NODE_OPTIONS: --enable-source-maps ACCOUNT_ID: !Ref AWS::AccountId - REGION: !Ref AWS::Region + METRICS_URL: !FindInMap [Metrics, Constants, Url] + METRICS_UUID: !GetAtt MetricsUuidCr.MetricsUuid + SOLUTION_ID: !Ref SolutionId SOLUTION_VERSION: !Ref SolutionVersion GRAPHQL_API_ENDPOINT: !Ref AppSyncAPIUrl CROSS_ACCOUNT_DISCOVERY: !Ref CrossAccountDiscovery - diagramBucket: !Ref AmplifyStorageBucket - costFeatureBucket: !Ref CostAndUsageReportBucket + DIAGRAMS_BUCKET: !Ref AmplifyStorageBucket + COST_BUCKET: !Ref CostAndUsageReportBucket + NEPTUNE_INSTANCE_CLASS: !Ref NeptuneInstanceClass + OPENSEARCH_INSTANCE_TYPE: !Ref OpensearchInstanceType Events: ScheduleEventV2: Type: ScheduleV2 Properties: - ScheduleExpression: rate(6 hours) - \ No newline at end of file + ScheduleExpression: rate(24 hours) + + MyApplicationsOperationalMetricsFunction: + Type: AWS::Serverless::Function + Metadata: + cfn_nag: + rules_to_suppress: + - id: W89 + reason: This Lambda does not connect to any resources in a VPC + Properties: + Description: Handles operational metrics for myApplications resolvers + Runtime: !Ref NodeLambdaRuntime + Handler: index.handler + CodeUri: + Bucket: !Ref DeploymentBucket + Key: !Sub ${DeploymentBucketKey}/metrics-subscription-filter.zip + Timeout: 10 + MemorySize: 256 + Environment: + Variables: + METRICS_URL: !FindInMap [ Metrics, Constants, Url ] + METRICS_UUID: !GetAtt MetricsUuidCr.MetricsUuid + SOLUTION_ID: !Ref SolutionId + SOLUTION_VERSION: !Ref SolutionVersion + Events: + CWLog: + Type: CloudWatchLogs + Properties: + LogGroupName: !Ref MyApplicationsLambdaLogGroup + FilterPattern: '{$.metricEvent.type = "ApplicationCreated"}' diff --git a/source/cfn/templates/neptune.template b/source/cfn/templates/neptune.template index cdab57ee..69a50a6d 100644 --- a/source/cfn/templates/neptune.template +++ b/source/cfn/templates/neptune.template @@ -253,7 +253,7 @@ Resources: WDNeptuneDBCluster: Type: AWS::Neptune::DBCluster Properties: - EngineVersion: 1.2.1.0 + EngineVersion: 1.3.1.0 ServerlessScalingConfiguration: MinCapacity: !Ref MinNCUs MaxCapacity: !Ref MaxNCUs diff --git a/source/cfn/templates/opensearch.template b/source/cfn/templates/opensearch.template index f01f8c40..0c93d0d2 100644 --- a/source/cfn/templates/opensearch.template +++ b/source/cfn/templates/opensearch.template @@ -68,7 +68,7 @@ Resources: OpenSearchDomain: Type: AWS::OpenSearchService::Domain Properties: - EngineVersion: OpenSearch_1.3 + EngineVersion: OpenSearch_2.11 ClusterConfig: InstanceCount: !If [ZoneAwarenessEnabled, 2, 1] InstanceType: !Ref InstanceType diff --git a/source/cfn/templates/org-global-resources-stackset.template b/source/cfn/templates/org-global-resources-stackset.template index c87849a2..aa5aef7d 100644 --- a/source/cfn/templates/org-global-resources-stackset.template +++ b/source/cfn/templates/org-global-resources-stackset.template @@ -16,6 +16,12 @@ Parameters: DiscoveryRoleArn: Type: String + ExternalId: + Type: String + + MyApplicationsLambdaRoleArn: + Type: String + Conditions: IsDelegatedAdmin: !Equals [!Ref AccountType, DELEGATED_ADMIN] @@ -34,6 +40,12 @@ Resources: Parameters: - ParameterKey: WorkloadDiscoveryAccountId ParameterValue: !Ref AWS::AccountId + - ParameterKey: WorkloadDiscoveryAggregationRegion + ParameterValue: !Ref AWS::Region + - ParameterKey: MyApplicationsLambdaRoleArn + ParameterValue: !Ref MyApplicationsLambdaRoleArn + - ParameterKey: WorkloadDiscoveryExternalId + ParameterValue: !Ref ExternalId - ParameterKey: WorkloadDiscoveryDiscoveryRoleArn ParameterValue: !Ref DiscoveryRoleArn AutoDeployment: diff --git a/source/cfn/templates/org-global-resources.template b/source/cfn/templates/org-global-resources.template index dcbde86f..5f9e37b6 100644 --- a/source/cfn/templates/org-global-resources.template +++ b/source/cfn/templates/org-global-resources.template @@ -2,7 +2,7 @@ AWSTemplateFormatVersion: 2010-09-09 Description: This Cloudformation template sets up the roles needed to import data into Workload Discovery on AWS. - (SO0075b) - Solution - Import Account Template (uksb-1r0720e57) (version:v2.1.0) + (SO0075b) - Solution - Import Account Template (uksb-1r0720e57) (version:) Parameters: @@ -11,13 +11,168 @@ Parameters: Default: '<>' Description: The Workload Discovery account Id + WorkloadDiscoveryAggregationRegion: + Type: String + Default: <> + Description: The region where the Workload Discovery account was installed + WorkloadDiscoveryDiscoveryRoleArn: Type: String Default: '<>' Description: The Workload Discovery discovery IAM role ARN + WorkloadDiscoveryExternalId: + Type: String + Default: '<>' + Description: The Workload Discovery STS external ID + + MyApplicationsLambdaRoleArn: + Type: String + Default: '<>' + Description: The Workload Discovery discovery MyApplications IAM role ARN + Resources: + WorkloadDiscoveryMyApplicationsRole: + Type: AWS::IAM::Role + Properties: + RoleName: !Sub WorkloadDiscoveryMyApplicationsRole-${WorkloadDiscoveryAccountId}-${WorkloadDiscoveryAggregationRegion} + Path: '/' + AssumeRolePolicyDocument: + Statement: + - Effect: Allow + Principal: + AWS: !Ref MyApplicationsLambdaRoleArn + Action: sts:AssumeRole + Condition: + StringEquals: + 'sts:ExternalId': !Ref WorkloadDiscoveryExternalId + ManagedPolicyArns: + - arn:aws:iam::aws:policy/ResourceGroupsTaggingAPITagUntagSupportedResources + Policies: + - PolicyName: MyApplicationDenyRequestsWithMissingAppTagPolicy + PolicyDocument: + Version: 2012-10-17 + Statement: + - Effect: Deny + NotAction: + # these read APIs are required for tggging but do not have tags in the request + - apigateway:PUT + - cloudformation:DescribeStacks + - codebuild:BatchGetProjects + - s3:GetBucketTagging + - s3:GetJobTagging + - s3:GetObjectTagging + - s3:GetObjectVersionTagging + - s3:GetStorageLensConfigurationTagging + # these APIs do not support the aws:RequestTag condition + - s3:PutBucketTagging + - s3:PutObjectTagging + - s3:PutObjectVersionTagging + - tag:TagResources + # this API is not involved in tagging + - servicecatalog:CreateApplication + - iam:CreateServiceLinkedRole + Resource: '*' + Condition: + 'Null': + 'aws:RequestTag/awsApplication': true + - PolicyName: MyApplicationCreateApplicationPolicy + PolicyDocument: + Version: 2012-10-17 + Statement: + - Effect: Allow + Action: + - servicecatalog:CreateApplication + Resource: !Sub arn:${AWS::Partition}:servicecatalog:*:${AWS::AccountId}:/applications/* + - Effect: Allow + Action: + - iam:CreateServiceLinkedRole + Resource: !Sub arn:aws:iam::${AWS::AccountId}:role/aws-service-role/servicecatalog-appregistry.amazonaws.com/AWSServiceRoleForAWSServiceCatalogAppRegistry + - PolicyName: MyApplicationsS3BucketTaggingPolicy + PolicyDocument: + Version: 2012-10-17 + Statement: + - Effect: Allow + Action: + - s3:GetBucketTagging + - s3:GetObjectTagging + - s3:GetObjectVersionTagging + - s3:PutBucketTagging + - s3:PutObjectTagging + - s3:PutObjectVersionTagging + Resource: + - !Sub arn:${AWS::Partition}:s3:::* + - PolicyName: MyApplicationsS3JobTaggingPolicy + PolicyDocument: + Version: 2012-10-17 + Statement: + - Effect: Allow + Action: + - s3:GetJobTagging + Resource: + - !Sub arn:${AWS::Partition}:s3:${AWS::Region}:${AWS::AccountId}:job/* + - PolicyName: MyApplicationsS3StorageLensTaggingPolicy + PolicyDocument: + Version: 2012-10-17 + Statement: + - Effect: Allow + Action: + - s3:GetStorageLensConfigurationTagging + Resource: + - !Sub arn:${AWS::Partition}:s3:${AWS::Region}:${AWS::AccountId}:storage-lens/* + - PolicyName: MyApplicationsApiGatewayTaggingPolicy + PolicyDocument: + Version: 2012-10-17 + Statement: + - Effect: Allow + Action: + - apigateway:PUT + Resource: + - arn:aws:apigateway:*::/tags* + Condition: + 'Null': + 'aws:RequestTag/awsApplication': false + - Effect: Allow + Action: + - apigateway:PATCH + Resource: + - arn:aws:apigateway:*::/restapis* + - PolicyName: MyApplicationsCfnTaggingPolicy + PolicyDocument: + Version: 2012-10-17 + Statement: + - Effect: Allow + Action: + - cloudformation:DescribeStacks + Resource: + - !Sub arn:${AWS::Partition}:cloudformation:*:*:stack/* + - Effect: Allow + Action: + - cloudformation:UpdateStack + Resource: + - !Sub arn:${AWS::Partition}:cloudformation:*:*:stack/* + Condition: + 'Null': + 'aws:RequestTag/awsApplication': false + - PolicyName: MyApplicationsCodeBuildTaggingPolicy + PolicyDocument: + Version: 2012-10-17 + Statement: + - Effect: Allow + Action: + - codebuild:UpdateProject + Resource: + - !Sub arn:${AWS::Partition}:codebuild:*:*:project/* + Condition: + 'Null': + 'aws:RequestTag/awsApplication': false + - Effect: Allow + Action: + - codebuild:BatchGetProjects + Resource: + - !Sub arn:${AWS::Partition}:codebuild:*:*:project/* + WorkloadDiscoveryRole: Type: AWS::IAM::Role Metadata: @@ -52,6 +207,18 @@ Resources: - ec2:DescribeSpotFleetRequests - ec2:DescribeTransitGatewayAttachments Resource: '*' + - PolicyName: serviceCatalogAppRegistry + PolicyDocument: + Version: '2012-10-17' + Statement: + - Effect: Allow + Action: + - servicecatalog:GetApplication + Resource: !Sub arn:${AWS::Partition}:servicecatalog:*:${AWS::AccountId}:/applications/* + - Effect: Allow + Action: + - servicecatalog:ListApplications + Resource: '*' - PolicyName: perspectiveIAM PolicyDocument: Version: '2012-10-17' @@ -106,15 +273,6 @@ Resources: - ecs:ListContainerInstances - ecs:ListTasks Resource: '*' - - PolicyName: perspectiveCognito - PolicyDocument: - Version: '2012-10-17' - Statement: - - Effect: Allow - Action: - - cognito-idp:ListUserPools - - cognito-idp:DescribeUserPool - Resource: '*' - PolicyName: perspectiveEKS PolicyDocument: Version: '2012-10-17' @@ -141,3 +299,20 @@ Resources: Action: - dynamodb:DescribeStream Resource: !Sub arn:aws:dynamodb:*:${AWS::AccountId}:*/stream/* + - PolicyName: mediaConnect + PolicyDocument: + Version: '2012-10-17' + Statement: + - Effect: Allow + Action: + - mediaconnect:ListFlows + Resource: '*' + - PolicyName: perspectiveAppsync + PolicyDocument: + Version: '2012-10-17' + Statement: + - Effect: Allow + Action: + - appsync:ListResolvers + - appsync:ListDataSources + Resource: '*' diff --git a/source/cfn/templates/webui-settings.template b/source/cfn/templates/webui-settings.template index f47f684e..556d9dba 100644 --- a/source/cfn/templates/webui-settings.template +++ b/source/cfn/templates/webui-settings.template @@ -27,6 +27,15 @@ Parameters: SettingsObjectKey: Type: String + CognitoUserPoolCustomDomain: + Type: String + + CloudfrontDistributionURL: + Type: String + + CognitoUserPoolProviderName: + Type: String + SolutionVersion: Type: String @@ -36,6 +45,13 @@ Parameters: PythonLambdaRuntime: Type: String + UsesCustomIdentity: + Type: String + +Conditions: + + CreateCustomIdPResources: !Equals [!Ref UsesCustomIdentity, 'Yes'] + Resources: UiSettingsResource: @@ -99,36 +115,42 @@ Resources: Properties: ACL: private BucketName: !Ref WebUIBucket - Content: !Sub |- - window.amplify = { - "Auth": { - "mandatorySignIn": true, - "identityPoolId": "${CognitoIdentityPoolId}", - "region": "${AWS::Region}", - "userPoolId": "${CognitoUserPoolId}", - "userPoolWebClientId": "${CognitoUserPoolWebClientId}" - }, - "API": { - "aws_appsync_graphqlEndpoint": "${AppSyncEndpoint}", - "aws_appsync_region": "${AWS::Region}", - "aws_appsync_authenticationType": "AMAZON_COGNITO_USER_POOLS", - "endpoints": [] - }, - "Storage": { - "AWSS3": { - "bucket": "${AmplifyBucketName}", - "region": "${AWS::Region}" + Content: !Sub + - | + window.amplify = { + "Auth": { + "mandatorySignIn": true, + "identityPoolId": "${CognitoIdentityPoolId}", + "region": "${AWS::Region}", + "userPoolId": "${CognitoUserPoolId}", + "userPoolWebClientId": "${CognitoUserPoolWebClientId}", + ${FederatedIdpResource} + ${Oauth} + }, + "API": { + "aws_appsync_graphqlEndpoint": "${AppSyncEndpoint}", + "aws_appsync_region": "${AWS::Region}", + "aws_appsync_authenticationType": "AMAZON_COGNITO_USER_POOLS", + "endpoints": [] + }, + "Storage": { + "AWSS3": { + "bucket": "${AmplifyBucketName}", + "region": "${AWS::Region}" + } + } + }; + window.pinpoint = { + "Auth": {"identityPoolId": "eu-west-1:07a0c94b-d3b7-47d4-b857-3cdd288c7973", "region": "eu-west-1"}, + "Analytics": { + "autoSessionRecord": false, + "AWSPinpoint": {"appId": "81a5891dfce54202ad80c5a3308dd61c", "region": "eu-west-1"} } - } - }; - window.pinpoint = { - "Auth": {"identityPoolId": "eu-west-1:07a0c94b-d3b7-47d4-b857-3cdd288c7973", "region": "eu-west-1"}, - "Analytics": { - "autoSessionRecord": false, - "AWSPinpoint": {"appId": "81a5891dfce54202ad80c5a3308dd61c", "region": "eu-west-1"} - } - }; - window.perspectiveMetadata = {"crossAccountDiscovery": "${CrossAccountDiscovery}", "rootAccount": "${AWS::AccountId}", "rootRegion": "${AWS::Region}", "version": "${SolutionVersion}"}; + }; + window.perspectiveMetadata = {"crossAccountDiscovery": "${CrossAccountDiscovery}", "rootAccount": "${AWS::AccountId}", "rootRegion": "${AWS::Region}", "version": "${SolutionVersion}"}; + - FederatedIdpResource: !If [CreateCustomIdPResources, !Sub '"federatedIdpResource" : "${CognitoUserPoolProviderName}",', ''] + Oauth: + !If [CreateCustomIdPResources, !Sub '"oauth": { "domain": "${CognitoUserPoolCustomDomain}.auth.${AWS::Region}.amazoncognito.com","scope": ["phone","email","profile","openid","aws.cognito.signin.user.admin"],"redirectSignIn": "${CloudfrontDistributionURL}","redirectSignOut": "${CloudfrontDistributionURL}","clientId": "${CognitoUserPoolWebClientId}" ,"responseType": "code"}', ''] ContentType: text/javascript ObjectKey: !Ref SettingsObjectKey ServiceToken: !GetAtt UiSettingsResource.Arn diff --git a/source/cfn/templates/webui.template b/source/cfn/templates/webui.template index 1a3a448f..c6fbb266 100644 --- a/source/cfn/templates/webui.template +++ b/source/cfn/templates/webui.template @@ -106,7 +106,7 @@ Resources: SecurityHeadersConfig: ContentSecurityPolicy: ContentSecurityPolicy: |- - default-src 'none'; font-src https://*.cloudfront.net data:; img-src 'self' data:; script-src 'self';manifest-src 'self'; style-src 'unsafe-inline' 'self'; style-src-elem 'unsafe-inline' 'self'; object-src 'none'; connect-src https://*.amazonaws.com + default-src 'none'; font-src https://*.cloudfront.net data:; img-src 'self' data:; script-src 'self';manifest-src 'self'; style-src 'unsafe-inline' 'self'; style-src-elem 'unsafe-inline' 'self'; object-src 'none'; connect-src https://*.amazoncognito.com https://*.amazonaws.com; upgrade-insecure-requests; frame-ancestors 'none'; base-uri 'none'; Override: True ContentTypeOptions: Override: True diff --git a/source/frontend/.eslintrc.yml b/source/frontend/.eslintrc.yml index 87ac48df..691dcc18 100644 --- a/source/frontend/.eslintrc.yml +++ b/source/frontend/.eslintrc.yml @@ -1,48 +1,56 @@ env: - browser: true - node: true - es2021: true - jest: true + browser: true + node: true + es2021: true + jest: true extends: - - 'eslint:recommended' - - 'plugin:react/recommended' - - 'plugin:cypress/recommended' + - 'eslint:recommended' + - 'plugin:react/recommended' + - 'plugin:cypress/recommended' parserOptions: - ecmaFeatures: - jsx: true - ecmaVersion: 12 - sourceType: module + ecmaFeatures: + jsx: true + ecmaVersion: 12 + sourceType: module plugins: - - header - - react - - react-hooks + - header + - react + - react-hooks settings: - react: - createClass: createReactClass - pragma: React - fragment: Fragment - version: detect - flowVersion: '0.53' - propWrapperFunctions: - - forbidExtraProps - - property: freeze - object: Object - - property: myFavoriteWrapper - linkComponents: - - Hyperlink - - name: Link - linkAttribute: to + react: + createClass: createReactClass + pragma: React + fragment: Fragment + version: detect + flowVersion: '0.53' + propWrapperFunctions: + - forbidExtraProps + - property: freeze + object: Object + - property: myFavoriteWrapper + linkComponents: + - Hyperlink + - name: Link + linkAttribute: to rules: - no-unused-vars: 1 - no-empty-pattern: 1 - no-dupe-keys: 1 - react/prop-types: 0 - react/display-name: 1 - react/jsx-no-target-blank: 1 - react-hooks/exhaustive-deps: 1 - react/no-unknown-property: - - error - - ignore: - - css - header/header: [ 'error', 'line', [' Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.', ' SPDX-License-Identifier: Apache-2.0'] ] -# ['error', { ignore: ['css'] }] \ No newline at end of file + no-unused-vars: 1 + no-empty-pattern: 1 + no-dupe-keys: 1 + react/prop-types: 0 + react/display-name: 1 + react/jsx-no-target-blank: 1 + react-hooks/exhaustive-deps: 1 + react/no-unknown-property: + - error + - ignore: + - css + header/header: + [ + 'error', + 'line', + [ + ' Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.', + ' SPDX-License-Identifier: Apache-2.0', + ], + ] +# ['error', { ignore: ['css'] }] diff --git a/source/frontend/.nsprc b/source/frontend/.nsprc index 2c63c085..ca583a40 100644 --- a/source/frontend/.nsprc +++ b/source/frontend/.nsprc @@ -1,2 +1,6 @@ { + "1099846": { + "notes": "Waiting on fix to be incorporated into dependencies using cookie library", + "expiry": "2024-10-15" + } } diff --git a/source/frontend/README.md b/source/frontend/README.md index 41ec4021..4bdf2e9e 100644 --- a/source/frontend/README.md +++ b/source/frontend/README.md @@ -27,7 +27,7 @@ Your app is ready to be deployed! See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information. -*** +--- ## Releases diff --git a/source/frontend/babel.config.json b/source/frontend/babel.config.json index cee78b49..433d9969 100644 --- a/source/frontend/babel.config.json +++ b/source/frontend/babel.config.json @@ -1,13 +1,13 @@ { - "presets": [ - "@babel/preset-react", - [ - "@babel/preset-env", - { - "targets": { - "node": true - } - } + "presets": [ + "@babel/preset-react", + [ + "@babel/preset-env", + { + "targets": { + "node": true + } + } + ] ] - ] } diff --git a/source/frontend/cypress.config.mjs b/source/frontend/cypress.config.mjs index 30705777..ba8f4b24 100644 --- a/source/frontend/cypress.config.mjs +++ b/source/frontend/cypress.config.mjs @@ -1,15 +1,20 @@ -import { defineConfig } from 'cypress' -import { initPlugin } from "@frsource/cypress-plugin-visual-regression-diff/plugins"; +import {defineConfig} from 'cypress'; +import {initPlugin} from '@frsource/cypress-plugin-visual-regression-diff/plugins'; import codeCoverageTask from '@cypress/code-coverage/task.js'; export default defineConfig({ + video: true, viewportWidth: 1280, viewportHeight: 720, + env: { + IS_CODE_BUILD: process.env.CODEBUILD_BUILD_ID != null, + }, component: { devServer: { framework: 'react', - bundler: 'vite' + bundler: 'vite', }, + devServerPublicPathRoute: '', setupNodeEvents(on, config) { codeCoverageTask(on, config); initPlugin(on, config); @@ -18,5 +23,5 @@ export default defineConfig({ }, indexHtmlFile: 'cypress/support/component-index.html', supportFile: 'cypress/support/component.js', - } -}) \ No newline at end of file + }, +}); diff --git a/source/frontend/cypress/support/component-index.html b/source/frontend/cypress/support/component-index.html index 92e25b8e..0fa156b2 100644 --- a/source/frontend/cypress/support/component-index.html +++ b/source/frontend/cypress/support/component-index.html @@ -1,12 +1,12 @@ - + - - - - - Components Testing App - - -
- - \ No newline at end of file + + + + + Components Testing App + + +
+ + diff --git a/source/frontend/cypress/support/component.js b/source/frontend/cypress/support/component.js index f1afc6e6..f17bed23 100644 --- a/source/frontend/cypress/support/component.js +++ b/source/frontend/cypress/support/component.js @@ -1,66 +1,73 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import { mount } from 'cypress/react' -import {Amplify, Auth, Storage} from "aws-amplify"; +import {mount} from 'cypress/react18'; +import {Amplify, Auth, Storage} from 'aws-amplify'; import '@testing-library/cypress/add-commands'; import '@cypress/code-coverage/support'; import {worker} from '../../src/tests/mocks/browser'; -import "@frsource/cypress-plugin-visual-regression-diff"; +import '@frsource/cypress-plugin-visual-regression-diff'; -import mockStorageProvider from "../../src/tests/mocks/MockStorageProvider"; +import mockStorageProvider from '../../src/tests/mocks/MockStorageProvider'; Storage.addPluggable(mockStorageProvider); Amplify.configure({ API: { - aws_appsync_graphqlEndpoint: 'https://testgql.appsync-api.amazonaws.com/graphql', + aws_appsync_graphqlEndpoint: + 'https://testgql.appsync-api.amazonaws.com/graphql', aws_appsync_authenticationType: 'API_KEY', aws_appsync_apiKey: 'da2-xxxxxxxxxxxxxxxxxxxxxxxxxx', }, Storage: { [mockStorageProvider.getProviderName()]: { bucket: 'workload-discovery-on-aws-s3-amplifystoragebucket-qclmeyrz1x9k', - region: 'eu-central-1' - } - } + region: 'eu-central-1', + }, + }, }); Storage.configure({ - [mockStorageProvider.getProviderName()]: {} + [mockStorageProvider.getProviderName()]: {}, }); Cypress.on('test:before:run:async', async () => { await worker.start(); }); -Cypress.on('uncaught:exception', err => !err.message.includes('ResizeObserver loop completed with undelivered notifications')); +Cypress.on( + 'uncaught:exception', + err => + !err.message.includes( + 'ResizeObserver loop completed with undelivered notifications' + ) +); Cypress.Commands.add('mount', (component, options) => { // Wrap any parent components needed // ie: return mount({component}, options) - return mount(component, options) -}) + return mount(component, options); +}); Auth.currentSession = async () => { return { idToken: { jwtToken: 'idJwtToken', - payload: {} + payload: {}, }, refreshToken: { - token: 'refreshJwtToken' + token: 'refreshJwtToken', }, accessToken: { jwtToken: 'accessJwtToken', - payload: {} + payload: {}, }, - clockDrift: 0 - } + clockDrift: 0, + }; }; Auth.currentAuthenticatedUser = async () => { return { - username: 'testUser' - } -} + username: 'testUser', + }; +}; diff --git a/source/frontend/index.html b/source/frontend/index.html index 2387388a..d49a0be8 100644 --- a/source/frontend/index.html +++ b/source/frontend/index.html @@ -1,19 +1,19 @@ - + - - - - - - - - - Workload Discovery on AWS - - - - + Workload Discovery on AWS + + + + -
+
- - + + diff --git a/source/frontend/package-lock.json b/source/frontend/package-lock.json index 5e38ae99..ee62dae3 100644 --- a/source/frontend/package-lock.json +++ b/source/frontend/package-lock.json @@ -1,12 +1,12 @@ { "name": "workload-discovery-ui", - "version": "2.1.15", + "version": "2.2.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "workload-discovery-ui", - "version": "2.1.15", + "version": "2.2.0", "license": "Apache-2.0", "dependencies": { "@aws-amplify/ui-react": "5.3.2", @@ -14,6 +14,7 @@ "@cloudscape-design/components": "3.0.324", "@cloudscape-design/design-tokens": "3.0.16", "@cloudscape-design/global-styles": "1.0.11", + "@uiw/react-json-view": "1.12.2", "aws-amplify": "5.3.12", "crypto-js": "4.2.0", "currency-symbol-map": "5.0.1", @@ -32,16 +33,16 @@ "p-limit": "4.0.0", "ramda": "0.28.0", "randomcolor": "0.5.4", - "react": "17.0.2", + "react": "18.2.0", "react-cytoscapejs": "1.2.1", - "react-dom": "17.0.2", + "react-dom": "18.2.0", "react-error-boundary": "^3.1.4", - "react-json-view": "1.21.1", "react-papaparse": "3.11.1", "react-query": "^3.39.1", - "react-router-dom": "5.2.0", + "react-router-dom": "5.3.4", "react-use": "^17.4.0", "sass": "1.38.0", + "svgcanvas": "2.5.0", "ua-parser-js": "1.0.35", "valid-filename": "4.0.0" }, @@ -51,21 +52,21 @@ "@babel/plugin-transform-runtime": "^7.9.6", "@babel/preset-env": "^7.8.7", "@babel/preset-react": "^7.8.3", - "@cypress/code-coverage": "^3.10.7", - "@cypress/react": "^8.0.0", + "@cypress/code-coverage": "^3.12.36", + "@cypress/react18": "^2.0.0", "@emotion/react": "^11.9.3", "@frsource/cypress-plugin-visual-regression-diff": "^3.3.10", "@testing-library/cypress": "^10.0.1", - "@testing-library/jest-dom": "^5.16.5", - "@testing-library/react": "^12.1.5", - "@testing-library/user-event": "^12.1.5", - "@vitejs/plugin-react": "^4.2.1", - "@vitest/coverage-istanbul": "^1.2.1", - "@vitest/coverage-v8": "^1.2.1", + "@testing-library/jest-dom": "^6.4.2", + "@testing-library/react": "^14.2.1", + "@testing-library/user-event": "^14.5.2", + "@vitejs/plugin-react": "^4.3.1", + "@vitest/coverage-istanbul": "^2.1.1", + "@vitest/coverage-v8": "^2.1.1", "amplify-graphql-docs-generator": "^2.2.4", "babel-plugin-transform-imports": "^2.0.0", - "cypress": "^13.4.0", - "esbuild": "^0.16.17", + "cypress": "^13.13.1", + "esbuild": "^0.20.1", "eslint": "^8.44.0", "eslint-plugin-cypress": "^2.13.3", "eslint-plugin-header": "^3.1.1", @@ -73,39 +74,32 @@ "eslint-plugin-react-hooks": "^4.6.0", "history": "^4.10.1", "jsdom": "^22.1.0", - "msw": "^1.3.2", + "msw": "^2.4.9", "node-fetch": "^3.3.1", "nyc": "^15.1.0", "prettier": "^3.0.0", - "vite": "^4.5.3", - "vite-plugin-eslint2": "^4.4.2", + "vite": "^5.4.6", + "vite-plugin-eslint2": "^4.4.1", "vite-plugin-istanbul": "^5.0.0", "vite-plugin-svgr": "^4.2.0", - "vitest": "^1.2.1" - } - }, - "node_modules/@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", - "dev": true, - "engines": { - "node": ">=0.10.0" + "vitest": "^2.1.1" } }, "node_modules/@adobe/css-tools": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.3.2.tgz", - "integrity": "sha512-DA5a1C0gD/pLOvhv33YMrbf2FK3oUzwNl9oOJqE4XVjuEtt6XIakRcsd7eLiOSPkp1kTRQGICTA8cKra/vFbjw==", - "dev": true + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.4.0.tgz", + "integrity": "sha512-Ff9+ksdQQB3rMncgqDK78uLznstjyfIf2Arnh22pW8kBpLs6rpKDwgnZT46hin5Hl1WzazzK64DOrhSwYpS7bQ==", + "dev": true, + "license": "MIT" }, "node_modules/@ampproject/remapping": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", - "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "license": "Apache-2.0", "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { "node": ">=6.0.0" @@ -115,6 +109,7 @@ "version": "6.5.6", "resolved": "https://registry.npmjs.org/@aws-amplify/analytics/-/analytics-6.5.6.tgz", "integrity": "sha512-RsvsH5BY3geRg0eU62ZX6jPcIcrEqW2VOMrRAj2wwm1csoa7J5ww72pjuFRCsyxL/MelMaIOJjqozTKaNZhK1Q==", + "license": "Apache-2.0", "dependencies": { "@aws-amplify/cache": "5.1.12", "@aws-amplify/core": "5.8.6", @@ -131,6 +126,7 @@ "version": "3.6.1", "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.6.1.tgz", "integrity": "sha512-gZPySY6JU5gswnw3nGOEHl3tYE7vPKvtXGYoS2NRabfDKRejFvu+4/nNW6SSpoOxk6LSXsrWB39NO51k+G4PVA==", + "license": "Apache-2.0", "dependencies": { "tslib": "^1.8.0" } @@ -139,6 +135,7 @@ "version": "5.4.6", "resolved": "https://registry.npmjs.org/@aws-amplify/api/-/api-5.4.6.tgz", "integrity": "sha512-Wn9kQJ/uf0CYW1zoBueaCsoF5v3wJZpMxkpdEBYwD10GqhSt5baoghq2oW72JyDrGS8Hfq71o4a2vpXiIL/8hg==", + "license": "Apache-2.0", "dependencies": { "@aws-amplify/api-graphql": "3.4.12", "@aws-amplify/api-rest": "3.5.6", @@ -149,6 +146,7 @@ "version": "3.4.12", "resolved": "https://registry.npmjs.org/@aws-amplify/api-graphql/-/api-graphql-3.4.12.tgz", "integrity": "sha512-lEKXl0hM7nyulCRUQNIQ6I0+DCD16hR+V4XUdMmVgnlVnPVows5H17wM/Hu24lX84G1jFi/i14umH8+qvpk1fQ==", + "license": "Apache-2.0", "dependencies": { "@aws-amplify/api-rest": "3.5.6", "@aws-amplify/auth": "5.6.6", @@ -165,6 +163,7 @@ "version": "15.8.0", "resolved": "https://registry.npmjs.org/graphql/-/graphql-15.8.0.tgz", "integrity": "sha512-5gghUc24tP9HRznNpV2+FIoq3xKkj5dTQqf4v0CpdPbFVwFkWoxOM+o+2OC9ZSvjEMTjfmG9QT+gcvggTwW1zw==", + "license": "MIT", "engines": { "node": ">= 10.x" } @@ -173,6 +172,7 @@ "version": "3.5.6", "resolved": "https://registry.npmjs.org/@aws-amplify/api-rest/-/api-rest-3.5.6.tgz", "integrity": "sha512-WAv7q05G2ypE59ebVMvIih5aTIi+jOTu+ApkEI/E5mNM2Lj33TnaOrM5Vt2oja0aHT37AQHvIF1gYYf6gF1iRQ==", + "license": "Apache-2.0", "dependencies": { "@aws-amplify/core": "5.8.6", "axios": "1.6.0", @@ -183,12 +183,14 @@ "node_modules/@aws-amplify/api-rest/node_modules/punycode": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==" + "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==", + "license": "MIT" }, "node_modules/@aws-amplify/api-rest/node_modules/url": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", "integrity": "sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==", + "license": "MIT", "dependencies": { "punycode": "1.3.2", "querystring": "0.2.0" @@ -198,6 +200,7 @@ "version": "5.6.6", "resolved": "https://registry.npmjs.org/@aws-amplify/auth/-/auth-5.6.6.tgz", "integrity": "sha512-v4qiOTW7dTObEoHPjQMl0diL+E7KKk6HrKd1O+roE9f93U1ZDbcIkeY5Yih+I/U8VbS+hQ5D9oHyFbeLZWsDcg==", + "license": "Apache-2.0", "dependencies": { "@aws-amplify/core": "5.8.6", "amazon-cognito-identity-js": "6.3.7", @@ -209,12 +212,14 @@ "node_modules/@aws-amplify/auth/node_modules/punycode": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==" + "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==", + "license": "MIT" }, "node_modules/@aws-amplify/auth/node_modules/url": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", "integrity": "sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==", + "license": "MIT", "dependencies": { "punycode": "1.3.2", "querystring": "0.2.0" @@ -224,6 +229,7 @@ "version": "5.1.12", "resolved": "https://registry.npmjs.org/@aws-amplify/cache/-/cache-5.1.12.tgz", "integrity": "sha512-bOhkqABOUehPCWy5x5XHMHfJtuQ7tBOGD7gAhDo6leY1O7NIHjDBto+U6FZmCE2bS8u/QcgJ94PRZ1E5/3rsng==", + "license": "Apache-2.0", "dependencies": { "@aws-amplify/core": "5.8.6", "tslib": "^1.8.0" @@ -233,6 +239,7 @@ "version": "5.8.6", "resolved": "https://registry.npmjs.org/@aws-amplify/core/-/core-5.8.6.tgz", "integrity": "sha512-fDu4aduCagJb8uwQd+S0FBhuYgCgnpwfRsmO0/t01h68JR+KS3Cny0pQa7Qzk6cW/HY3rtPLELOqbdF6doA6oA==", + "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-js": "1.2.2", "@aws-sdk/client-cloudwatch-logs": "3.6.1", @@ -246,661 +253,566 @@ "zen-observable-ts": "0.8.19" } }, - "node_modules/@aws-amplify/core/node_modules/@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "peer": true, + "node_modules/@aws-amplify/datastore": { + "version": "4.7.6", + "resolved": "https://registry.npmjs.org/@aws-amplify/datastore/-/datastore-4.7.6.tgz", + "integrity": "sha512-vuozosYTmWUgYzR9tqBaP1CyusPQG9/caDeqQkHCDogqJRHIkWG9INon/EUZQu4bR7W5/V8y1Dv2bLqUJSUWZA==", + "license": "Apache-2.0", "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": ">= 10.14.2" + "@aws-amplify/api": "5.4.6", + "@aws-amplify/auth": "5.6.6", + "@aws-amplify/core": "5.8.6", + "@aws-amplify/pubsub": "5.5.6", + "amazon-cognito-identity-js": "6.3.7", + "buffer": "4.9.2", + "idb": "5.0.6", + "immer": "9.0.6", + "ulid": "2.3.0", + "uuid": "3.4.0", + "zen-observable-ts": "0.8.19", + "zen-push": "0.2.1" } }, - "node_modules/@aws-amplify/core/node_modules/@react-native/virtualized-lists": { - "version": "0.74.84", - "resolved": "https://registry.npmjs.org/@react-native/virtualized-lists/-/virtualized-lists-0.74.84.tgz", - "integrity": "sha512-XcV+qdqt2WihaY4iRm/M1FdSy+18lecU9mRXNmy9YK8g9Th/8XbNtmmKI0qWBx3KxyuXMH/zd0ps05YTrX16kw==", - "peer": true, + "node_modules/@aws-amplify/geo": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@aws-amplify/geo/-/geo-2.3.6.tgz", + "integrity": "sha512-Zs6bnMCfCA7Sof++tzM6kUYW5pnohmqUlchivTzSIH2n0spQypxRbgkFsMIuCBNBctga0p04VCSlE4cjG1FHSQ==", + "license": "Apache-2.0", "dependencies": { - "invariant": "^2.2.4", - "nullthrows": "^1.1.1" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@types/react": "^18.2.6", - "react": "*", - "react-native": "*" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } + "@aws-amplify/core": "5.8.6", + "@aws-sdk/client-location": "3.186.3", + "@turf/boolean-clockwise": "6.5.0", + "camelcase-keys": "6.2.2", + "tslib": "^1.8.0" } }, - "node_modules/@aws-amplify/core/node_modules/@types/react": { - "version": "18.3.3", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.3.tgz", - "integrity": "sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==", - "optional": true, - "peer": true, + "node_modules/@aws-amplify/interactions": { + "version": "5.2.12", + "resolved": "https://registry.npmjs.org/@aws-amplify/interactions/-/interactions-5.2.12.tgz", + "integrity": "sha512-T81ioWmxKpjFbgH2nUW/Fm5Saysjt2IGFrY2vfrYJ5ROaNxu52tMMP801tegCtV+pSRFsXBFV+Kex8o/dP7EqA==", + "license": "Apache-2.0", "dependencies": { - "@types/prop-types": "*", - "csstype": "^3.0.2" + "@aws-amplify/core": "5.8.6", + "@aws-sdk/client-lex-runtime-service": "3.186.3", + "@aws-sdk/client-lex-runtime-v2": "3.186.3", + "base-64": "1.0.0", + "fflate": "0.7.3", + "pako": "2.0.4", + "tslib": "^1.8.0" } }, - "node_modules/@aws-amplify/core/node_modules/@types/yargs": { - "version": "15.0.18", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.18.tgz", - "integrity": "sha512-DDi2KmvAnNsT/EvU8jp1UR7pOJojBtJ3GLZ/uw1MUq4VbbESppPWoHUY4h0OB4BbEbGJiyEsmUcuZDZtoR+ZwQ==", - "peer": true, + "node_modules/@aws-amplify/notifications": { + "version": "1.6.6", + "resolved": "https://registry.npmjs.org/@aws-amplify/notifications/-/notifications-1.6.6.tgz", + "integrity": "sha512-GLTJZ88xafzE3A3s7KFJtteYv05qSc0SiWgS3DWclsehqk40g9/M4G7sQ8BJq+hFMfVh1D1utNOz1LNc7Qve4g==", + "license": "Apache-2.0", "dependencies": { - "@types/yargs-parser": "*" + "@aws-amplify/cache": "5.1.12", + "@aws-amplify/core": "5.8.6", + "@aws-amplify/rtn-push-notification": "1.1.8", + "lodash": "^4.17.21", + "uuid": "^3.2.1" } }, - "node_modules/@aws-amplify/core/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, + "node_modules/@aws-amplify/predictions": { + "version": "5.5.6", + "resolved": "https://registry.npmjs.org/@aws-amplify/predictions/-/predictions-5.5.6.tgz", + "integrity": "sha512-QF1Qc6mHEMKHIHDEOik1L/5stUDoi5C3g/bNN0uq7kyWPLfvQRbQU73KmrAdqcKeW+sKBwyhHejv0rFCSaMMGw==", + "license": "Apache-2.0", "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "@aws-amplify/core": "5.8.6", + "@aws-amplify/storage": "5.9.6", + "@aws-sdk/client-comprehend": "3.6.1", + "@aws-sdk/client-polly": "3.6.1", + "@aws-sdk/client-rekognition": "3.6.1", + "@aws-sdk/client-textract": "3.6.1", + "@aws-sdk/client-translate": "3.6.1", + "@aws-sdk/eventstream-marshaller": "3.6.1", + "@aws-sdk/util-utf8-node": "3.6.1", + "buffer": "4.9.2", + "tslib": "^1.8.0", + "uuid": "^3.2.1" } }, - "node_modules/@aws-amplify/core/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, + "node_modules/@aws-amplify/pubsub": { + "version": "5.5.6", + "resolved": "https://registry.npmjs.org/@aws-amplify/pubsub/-/pubsub-5.5.6.tgz", + "integrity": "sha512-IxM2hjGwLQm2ICFKyr2jdpLVje5Z/m0wsLD0laDfF441NkGwSP1AEpds1I5ozAJ18ETsnxRS/6731H+nSdLVgQ==", + "license": "Apache-2.0", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "@aws-amplify/auth": "5.6.6", + "@aws-amplify/cache": "5.1.12", + "@aws-amplify/core": "5.8.6", + "buffer": "4.9.2", + "graphql": "15.8.0", + "tslib": "^1.8.0", + "url": "0.11.0", + "uuid": "^3.2.1", + "zen-observable-ts": "0.8.19" } }, - "node_modules/@aws-amplify/core/node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "peer": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, + "node_modules/@aws-amplify/pubsub/node_modules/graphql": { + "version": "15.8.0", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-15.8.0.tgz", + "integrity": "sha512-5gghUc24tP9HRznNpV2+FIoq3xKkj5dTQqf4v0CpdPbFVwFkWoxOM+o+2OC9ZSvjEMTjfmG9QT+gcvggTwW1zw==", + "license": "MIT", "engines": { - "node": ">=12" + "node": ">= 10.x" } }, - "node_modules/@aws-amplify/core/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, + "node_modules/@aws-amplify/pubsub/node_modules/punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==", + "license": "MIT" + }, + "node_modules/@aws-amplify/pubsub/node_modules/url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==", + "license": "MIT", "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" + "punycode": "1.3.2", + "querystring": "0.2.0" } }, - "node_modules/@aws-amplify/core/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/@aws-amplify/rtn-push-notification": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/@aws-amplify/rtn-push-notification/-/rtn-push-notification-1.1.8.tgz", + "integrity": "sha512-O0TnT0GVSMMLHXQ7BUh04RpNeXPQdSsw5xLtK+GyXCx3MlAZ6vfOPKKdomzzXfzxC2FUSyV1G4LlUVJAHmFP2A==", + "license": "Apache-2.0" }, - "node_modules/@aws-amplify/core/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/@aws-amplify/storage": { + "version": "5.9.6", + "resolved": "https://registry.npmjs.org/@aws-amplify/storage/-/storage-5.9.6.tgz", + "integrity": "sha512-PiSwsa3hRp8kfZ2EAK7Bd8mm0plJYtuQ39KgOQ1dalWcN4RCzfgxzVTPabTxHlq89lJWTkC03SNV/Yn2Zxj5JA==", + "license": "Apache-2.0", + "dependencies": { + "@aws-amplify/core": "5.8.6", + "@aws-sdk/md5-js": "3.6.1", + "@aws-sdk/types": "3.6.1", + "buffer": "4.9.2", + "events": "^3.1.0", + "fast-xml-parser": "^4.2.5", + "tslib": "^1.8.0" } }, - "node_modules/@aws-amplify/core/node_modules/pretty-format": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", - "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", - "peer": true, + "node_modules/@aws-amplify/ui": { + "version": "5.8.1", + "resolved": "https://registry.npmjs.org/@aws-amplify/ui/-/ui-5.8.1.tgz", + "integrity": "sha512-f7CYveXr3QzkWCjEcIzXe2ywoAc+j3cux7CBh/hS1X64dfleS8AhgHgnf1eJ+CQqNzEF51rZIJ8lrR62KBPAIQ==", + "license": "Apache-2.0", "dependencies": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" + "csstype": "^3.1.1", + "lodash": "4.17.21", + "style-dictionary": "3.7.1", + "tslib": "2.4.1" }, - "engines": { - "node": ">= 10" + "peerDependencies": { + "aws-amplify": "^5.0.1", + "xstate": "^4.33.6" + }, + "peerDependenciesMeta": { + "xstate": { + "optional": true + } } }, - "node_modules/@aws-amplify/core/node_modules/promise": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", - "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", - "peer": true, + "node_modules/@aws-amplify/ui-react": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/@aws-amplify/ui-react/-/ui-react-5.3.2.tgz", + "integrity": "sha512-CzLUb7acrXroDHloKhjOWZwLAjFfaj7F1L/HpxcG9x3hV6klwvaECgN8qthDeI675XtHQNx48Pfk2DRrViXL0w==", + "license": "Apache-2.0", "dependencies": { - "asap": "~2.0.6" + "@aws-amplify/ui": "5.8.1", + "@aws-amplify/ui-react-core": "2.1.33", + "@radix-ui/react-accordion": "1.0.0", + "@radix-ui/react-direction": "1.0.0", + "@radix-ui/react-dropdown-menu": "1.0.0", + "@radix-ui/react-slider": "1.0.0", + "@radix-ui/react-tabs": "1.0.0", + "@xstate/react": "3.0.0", + "classnames": "2.3.1", + "deepmerge": "4.2.2", + "lodash": "4.17.21", + "qrcode": "1.5.0", + "react-generate-context": "1.0.1", + "tslib": "2.4.1" + }, + "peerDependencies": { + "aws-amplify": "^5.0.1", + "react": ">= 16.14.0", + "react-dom": ">= 16.14.0" + }, + "peerDependenciesMeta": { + "aws-amplify": { + "optional": true + } } }, - "node_modules/@aws-amplify/core/node_modules/react": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", - "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", - "peer": true, + "node_modules/@aws-amplify/ui-react-core": { + "version": "2.1.33", + "resolved": "https://registry.npmjs.org/@aws-amplify/ui-react-core/-/ui-react-core-2.1.33.tgz", + "integrity": "sha512-4f+8713lRy/qzFSAwVAhboVsui9qiQE5Mu3AX9AO6VlUtTdqPAY+RZWNqojZyWmLISm/Y4wHZRhvYe5/6x1Mgw==", + "license": "Apache-2.0", "dependencies": { - "loose-envify": "^1.1.0" + "@aws-amplify/ui": "5.8.1", + "@xstate/react": "3.0.1", + "lodash": "4.17.21", + "xstate": "^4.33.6" }, - "engines": { - "node": ">=0.10.0" + "peerDependencies": { + "aws-amplify": "^5.0.1", + "react": ">= 16.14.0" } }, - "node_modules/@aws-amplify/core/node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", - "peer": true - }, - "node_modules/@aws-amplify/core/node_modules/react-native": { - "version": "0.74.2", - "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.74.2.tgz", - "integrity": "sha512-EBMBjPPL4/GjHMP4NqsZabT3gI5WU9cSmduABGAGrd8uIcmTZ5F2Ng9k6gFmRm7n8e8CULxDNu98ZpQfBjl7Bw==", - "peer": true, + "node_modules/@aws-amplify/ui-react-core/node_modules/@xstate/react": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@xstate/react/-/react-3.0.1.tgz", + "integrity": "sha512-/tq/gg92P9ke8J+yDNDBv5/PAxBvXJf2cYyGDByzgtl5wKaxKxzDT82Gj3eWlCJXkrBg4J5/V47//gRJuVH2fA==", + "license": "MIT", "dependencies": { - "@jest/create-cache-key-function": "^29.6.3", - "@react-native-community/cli": "13.6.8", - "@react-native-community/cli-platform-android": "13.6.8", - "@react-native-community/cli-platform-ios": "13.6.8", - "@react-native/assets-registry": "0.74.84", - "@react-native/codegen": "0.74.84", - "@react-native/community-cli-plugin": "0.74.84", - "@react-native/gradle-plugin": "0.74.84", - "@react-native/js-polyfills": "0.74.84", - "@react-native/normalize-colors": "0.74.84", - "@react-native/virtualized-lists": "0.74.84", - "abort-controller": "^3.0.0", - "anser": "^1.4.9", - "ansi-regex": "^5.0.0", - "base64-js": "^1.5.1", - "chalk": "^4.0.0", - "event-target-shim": "^5.0.1", - "flow-enums-runtime": "^0.0.6", - "invariant": "^2.2.4", - "jest-environment-node": "^29.6.3", - "jsc-android": "^250231.0.0", - "memoize-one": "^5.0.0", - "metro-runtime": "^0.80.3", - "metro-source-map": "^0.80.3", - "mkdirp": "^0.5.1", - "nullthrows": "^1.1.1", - "pretty-format": "^26.5.2", - "promise": "^8.3.0", - "react-devtools-core": "^5.0.0", - "react-refresh": "^0.14.0", - "react-shallow-renderer": "^16.15.0", - "regenerator-runtime": "^0.13.2", - "scheduler": "0.24.0-canary-efb381bbf-20230505", - "stacktrace-parser": "^0.1.10", - "whatwg-fetch": "^3.0.0", - "ws": "^6.2.2", - "yargs": "^17.6.2" - }, - "bin": { - "react-native": "cli.js" - }, - "engines": { - "node": ">=18" + "use-isomorphic-layout-effect": "^1.0.0", + "use-sync-external-store": "^1.0.0" }, "peerDependencies": { - "@types/react": "^18.2.6", - "react": "18.2.0" + "@xstate/fsm": "^2.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "xstate": "^4.33.0" }, "peerDependenciesMeta": { - "@types/react": { + "@xstate/fsm": { + "optional": true + }, + "xstate": { "optional": true } } }, - "node_modules/@aws-amplify/core/node_modules/react-native-url-polyfill": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/react-native-url-polyfill/-/react-native-url-polyfill-1.3.0.tgz", - "integrity": "sha512-w9JfSkvpqqlix9UjDvJjm1EjSt652zVQ6iwCIj1cVVkwXf4jQhQgTNXY6EVTwuAmUjg6BC6k9RHCBynoLFo3IQ==", + "node_modules/@aws-amplify/ui-react/node_modules/tslib": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", + "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==", + "license": "0BSD" + }, + "node_modules/@aws-amplify/ui/node_modules/tslib": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", + "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==", + "license": "0BSD" + }, + "node_modules/@aws-crypto/crc32": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-2.0.0.tgz", + "integrity": "sha512-TvE1r2CUueyXOuHdEigYjIZVesInd9KN+K/TFFNfkkxRThiNxO6i4ZqqAVMoEjAamZZ1AA8WXJkjCz7YShHPQA==", + "license": "Apache-2.0", "dependencies": { - "whatwg-url-without-unicode": "8.0.0-3" - }, - "peerDependencies": { - "react-native": "*" + "@aws-crypto/util": "^2.0.0", + "@aws-sdk/types": "^3.1.0", + "tslib": "^1.11.1" } }, - "node_modules/@aws-amplify/core/node_modules/regenerator-runtime": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", - "peer": true - }, - "node_modules/@aws-amplify/core/node_modules/scheduler": { - "version": "0.24.0-canary-efb381bbf-20230505", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.24.0-canary-efb381bbf-20230505.tgz", - "integrity": "sha512-ABvovCDe/k9IluqSh4/ISoq8tIJnW8euVAWYt5j/bg6dRnqwQwiGO1F/V4AyK96NGF/FB04FhOUDuWj8IKfABA==", - "peer": true, + "node_modules/@aws-crypto/crc32/node_modules/@aws-crypto/util": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-2.0.2.tgz", + "integrity": "sha512-Lgu5v/0e/BcrZ5m/IWqzPUf3UYFTy/PpeED+uc9SWUR1iZQL8XXbGQg10UfllwwBryO3hFF5dizK+78aoXC1eA==", + "license": "Apache-2.0", "dependencies": { - "loose-envify": "^1.1.0" + "@aws-sdk/types": "^3.110.0", + "@aws-sdk/util-utf8-browser": "^3.0.0", + "tslib": "^1.11.1" } }, - "node_modules/@aws-amplify/core/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, + "node_modules/@aws-crypto/crc32/node_modules/@aws-sdk/types": { + "version": "3.654.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.654.0.tgz", + "integrity": "sha512-VWvbED3SV+10QJIcmU/PKjsKilsTV16d1I7/on4bvD/jo1qGeMXqLDBSen3ks/tuvXZF/mFc7ZW/W2DiLVtO7A==", + "license": "Apache-2.0", "dependencies": { - "has-flag": "^4.0.0" + "@smithy/types": "^3.4.2", + "tslib": "^2.6.2" }, "engines": { - "node": ">=8" + "node": ">=16.0.0" } }, - "node_modules/@aws-amplify/core/node_modules/ws": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.3.tgz", - "integrity": "sha512-jmTjYU0j60B+vHey6TfR3Z7RD61z/hmxBS3VMSGIrroOWXQEneK1zNuotOUrGyBHQj0yrpsLHPWtigEFd13ndA==", - "peer": true, - "dependencies": { - "async-limiter": "~1.0.0" - } + "node_modules/@aws-crypto/crc32/node_modules/@aws-sdk/types/node_modules/tslib": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" }, - "node_modules/@aws-amplify/core/node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "peer": true, - "engines": { - "node": ">=10" + "node_modules/@aws-crypto/ie11-detection": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-1.0.0.tgz", + "integrity": "sha512-kCKVhCF1oDxFYgQrxXmIrS5oaWulkvRcPz+QBDMsUr2crbF4VGgGT6+uQhSwJFdUAQ2A//Vq+uT83eJrkzFgXA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^1.11.1" } }, - "node_modules/@aws-amplify/core/node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "peer": true, + "node_modules/@aws-crypto/sha256-browser": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-1.2.2.tgz", + "integrity": "sha512-0tNR4kBtJp+9S0kis4+JLab3eg6QWuIeuPhzaYoYwNUXGBgsWIkktA2mnilet+EGWzf3n1zknJXC4X4DVyyXbg==", + "license": "Apache-2.0", "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, - "engines": { - "node": ">=12" + "@aws-crypto/ie11-detection": "^1.0.0", + "@aws-crypto/sha256-js": "^1.2.2", + "@aws-crypto/supports-web-crypto": "^1.0.0", + "@aws-crypto/util": "^1.2.2", + "@aws-sdk/types": "^3.1.0", + "@aws-sdk/util-locate-window": "^3.0.0", + "tslib": "^1.11.1" } }, - "node_modules/@aws-amplify/core/node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "peer": true, - "engines": { - "node": ">=12" + "node_modules/@aws-crypto/sha256-js": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-1.2.2.tgz", + "integrity": "sha512-Nr1QJIbW/afYYGzYvrF70LtaHrIRtd4TNAglX8BvlfxJLZ45SAmueIKYl5tWoNBPzp65ymXGFK0Bb1vZUpuc9g==", + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/util": "^1.2.2", + "@aws-sdk/types": "^3.1.0", + "tslib": "^1.11.1" } }, - "node_modules/@aws-amplify/datastore": { - "version": "4.7.6", - "resolved": "https://registry.npmjs.org/@aws-amplify/datastore/-/datastore-4.7.6.tgz", - "integrity": "sha512-vuozosYTmWUgYzR9tqBaP1CyusPQG9/caDeqQkHCDogqJRHIkWG9INon/EUZQu4bR7W5/V8y1Dv2bLqUJSUWZA==", + "node_modules/@aws-crypto/supports-web-crypto": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-1.0.0.tgz", + "integrity": "sha512-IHLfv+WmVH89EW4n6a5eE8/hUlz6qkWGMn/v4r5ZgzcXdTC5nolii2z3k46y01hWRiC2PPhOdeSLzMUCUMco7g==", + "license": "Apache-2.0", "dependencies": { - "@aws-amplify/api": "5.4.6", - "@aws-amplify/auth": "5.6.6", - "@aws-amplify/core": "5.8.6", - "@aws-amplify/pubsub": "5.5.6", - "amazon-cognito-identity-js": "6.3.7", - "buffer": "4.9.2", - "idb": "5.0.6", - "immer": "9.0.6", - "ulid": "2.3.0", - "uuid": "3.4.0", - "zen-observable-ts": "0.8.19", - "zen-push": "0.2.1" + "tslib": "^1.11.1" } }, - "node_modules/@aws-amplify/geo": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/@aws-amplify/geo/-/geo-2.3.6.tgz", - "integrity": "sha512-Zs6bnMCfCA7Sof++tzM6kUYW5pnohmqUlchivTzSIH2n0spQypxRbgkFsMIuCBNBctga0p04VCSlE4cjG1FHSQ==", + "node_modules/@aws-crypto/util": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-1.2.2.tgz", + "integrity": "sha512-H8PjG5WJ4wz0UXAFXeJjWCW1vkvIJ3qUUD+rGRwJ2/hj+xT58Qle2MTql/2MGzkU+1JLAFuR6aJpLAjHwhmwwg==", + "license": "Apache-2.0", "dependencies": { - "@aws-amplify/core": "5.8.6", - "@aws-sdk/client-location": "3.186.3", - "@turf/boolean-clockwise": "6.5.0", - "camelcase-keys": "6.2.2", - "tslib": "^1.8.0" + "@aws-sdk/types": "^3.1.0", + "@aws-sdk/util-utf8-browser": "^3.0.0", + "tslib": "^1.11.1" } }, - "node_modules/@aws-amplify/interactions": { - "version": "5.2.12", - "resolved": "https://registry.npmjs.org/@aws-amplify/interactions/-/interactions-5.2.12.tgz", - "integrity": "sha512-T81ioWmxKpjFbgH2nUW/Fm5Saysjt2IGFrY2vfrYJ5ROaNxu52tMMP801tegCtV+pSRFsXBFV+Kex8o/dP7EqA==", + "node_modules/@aws-sdk/abort-controller": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.6.1.tgz", + "integrity": "sha512-X81XkxX/2Tvv9YNcEto/rcQzPIdKJHFSnl9hBl/qkSdCFV/GaQ2XNWfKm5qFXMLlZNFS0Fn5CnBJ83qnBm47vg==", + "license": "Apache-2.0", "dependencies": { - "@aws-amplify/core": "5.8.6", - "@aws-sdk/client-lex-runtime-service": "3.186.3", - "@aws-sdk/client-lex-runtime-v2": "3.186.3", - "base-64": "1.0.0", - "fflate": "0.7.3", - "pako": "2.0.4", + "@aws-sdk/types": "3.6.1", "tslib": "^1.8.0" + }, + "engines": { + "node": ">= 10.0.0" } }, - "node_modules/@aws-amplify/notifications": { - "version": "1.6.6", - "resolved": "https://registry.npmjs.org/@aws-amplify/notifications/-/notifications-1.6.6.tgz", - "integrity": "sha512-GLTJZ88xafzE3A3s7KFJtteYv05qSc0SiWgS3DWclsehqk40g9/M4G7sQ8BJq+hFMfVh1D1utNOz1LNc7Qve4g==", - "dependencies": { - "@aws-amplify/cache": "5.1.12", - "@aws-amplify/core": "5.8.6", - "@aws-amplify/rtn-push-notification": "1.1.8", - "lodash": "^4.17.21", - "uuid": "^3.2.1" - } - }, - "node_modules/@aws-amplify/predictions": { - "version": "5.5.6", - "resolved": "https://registry.npmjs.org/@aws-amplify/predictions/-/predictions-5.5.6.tgz", - "integrity": "sha512-QF1Qc6mHEMKHIHDEOik1L/5stUDoi5C3g/bNN0uq7kyWPLfvQRbQU73KmrAdqcKeW+sKBwyhHejv0rFCSaMMGw==", + "node_modules/@aws-sdk/client-cloudwatch-logs": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-cloudwatch-logs/-/client-cloudwatch-logs-3.6.1.tgz", + "integrity": "sha512-QOxIDnlVTpnwJ26Gap6RGz61cDLH6TKrIp30VqwdMeT1pCGy8mn9rWln6XA+ymkofHy/08RfpGp+VN4axwd4Lw==", + "license": "Apache-2.0", "dependencies": { - "@aws-amplify/core": "5.8.6", - "@aws-amplify/storage": "5.9.6", - "@aws-sdk/client-comprehend": "3.6.1", - "@aws-sdk/client-polly": "3.6.1", - "@aws-sdk/client-rekognition": "3.6.1", - "@aws-sdk/client-textract": "3.6.1", - "@aws-sdk/client-translate": "3.6.1", - "@aws-sdk/eventstream-marshaller": "3.6.1", + "@aws-crypto/sha256-browser": "^1.0.0", + "@aws-crypto/sha256-js": "^1.0.0", + "@aws-sdk/config-resolver": "3.6.1", + "@aws-sdk/credential-provider-node": "3.6.1", + "@aws-sdk/fetch-http-handler": "3.6.1", + "@aws-sdk/hash-node": "3.6.1", + "@aws-sdk/invalid-dependency": "3.6.1", + "@aws-sdk/middleware-content-length": "3.6.1", + "@aws-sdk/middleware-host-header": "3.6.1", + "@aws-sdk/middleware-logger": "3.6.1", + "@aws-sdk/middleware-retry": "3.6.1", + "@aws-sdk/middleware-serde": "3.6.1", + "@aws-sdk/middleware-signing": "3.6.1", + "@aws-sdk/middleware-stack": "3.6.1", + "@aws-sdk/middleware-user-agent": "3.6.1", + "@aws-sdk/node-config-provider": "3.6.1", + "@aws-sdk/node-http-handler": "3.6.1", + "@aws-sdk/protocol-http": "3.6.1", + "@aws-sdk/smithy-client": "3.6.1", + "@aws-sdk/types": "3.6.1", + "@aws-sdk/url-parser": "3.6.1", + "@aws-sdk/url-parser-native": "3.6.1", + "@aws-sdk/util-base64-browser": "3.6.1", + "@aws-sdk/util-base64-node": "3.6.1", + "@aws-sdk/util-body-length-browser": "3.6.1", + "@aws-sdk/util-body-length-node": "3.6.1", + "@aws-sdk/util-user-agent-browser": "3.6.1", + "@aws-sdk/util-user-agent-node": "3.6.1", + "@aws-sdk/util-utf8-browser": "3.6.1", "@aws-sdk/util-utf8-node": "3.6.1", - "buffer": "4.9.2", - "tslib": "^1.8.0", - "uuid": "^3.2.1" + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10.0.0" } }, - "node_modules/@aws-amplify/pubsub": { - "version": "5.5.6", - "resolved": "https://registry.npmjs.org/@aws-amplify/pubsub/-/pubsub-5.5.6.tgz", - "integrity": "sha512-IxM2hjGwLQm2ICFKyr2jdpLVje5Z/m0wsLD0laDfF441NkGwSP1AEpds1I5ozAJ18ETsnxRS/6731H+nSdLVgQ==", + "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@aws-sdk/util-utf8-browser": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.6.1.tgz", + "integrity": "sha512-gZPySY6JU5gswnw3nGOEHl3tYE7vPKvtXGYoS2NRabfDKRejFvu+4/nNW6SSpoOxk6LSXsrWB39NO51k+G4PVA==", + "license": "Apache-2.0", "dependencies": { - "@aws-amplify/auth": "5.6.6", - "@aws-amplify/cache": "5.1.12", - "@aws-amplify/core": "5.8.6", - "buffer": "4.9.2", - "graphql": "15.8.0", - "tslib": "^1.8.0", - "url": "0.11.0", - "uuid": "^3.2.1", - "zen-observable-ts": "0.8.19" + "tslib": "^1.8.0" } }, - "node_modules/@aws-amplify/pubsub/node_modules/graphql": { - "version": "15.8.0", - "resolved": "https://registry.npmjs.org/graphql/-/graphql-15.8.0.tgz", - "integrity": "sha512-5gghUc24tP9HRznNpV2+FIoq3xKkj5dTQqf4v0CpdPbFVwFkWoxOM+o+2OC9ZSvjEMTjfmG9QT+gcvggTwW1zw==", - "engines": { - "node": ">= 10.x" - } + "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@aws-sdk/util-utf8-browser/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" }, - "node_modules/@aws-amplify/pubsub/node_modules/punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==" + "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/tslib": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" }, - "node_modules/@aws-amplify/pubsub/node_modules/url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==", + "node_modules/@aws-sdk/client-comprehend": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-comprehend/-/client-comprehend-3.6.1.tgz", + "integrity": "sha512-Y2ixlSTjjAp2HJhkUArtYqC/X+zG5Qqu3Bl+Ez22u4u4YnG8HsNFD6FE1axuWSdSa5AFtWTEt+Cz2Ghj/tDySA==", + "license": "Apache-2.0", "dependencies": { - "punycode": "1.3.2", - "querystring": "0.2.0" + "@aws-crypto/sha256-browser": "^1.0.0", + "@aws-crypto/sha256-js": "^1.0.0", + "@aws-sdk/config-resolver": "3.6.1", + "@aws-sdk/credential-provider-node": "3.6.1", + "@aws-sdk/fetch-http-handler": "3.6.1", + "@aws-sdk/hash-node": "3.6.1", + "@aws-sdk/invalid-dependency": "3.6.1", + "@aws-sdk/middleware-content-length": "3.6.1", + "@aws-sdk/middleware-host-header": "3.6.1", + "@aws-sdk/middleware-logger": "3.6.1", + "@aws-sdk/middleware-retry": "3.6.1", + "@aws-sdk/middleware-serde": "3.6.1", + "@aws-sdk/middleware-signing": "3.6.1", + "@aws-sdk/middleware-stack": "3.6.1", + "@aws-sdk/middleware-user-agent": "3.6.1", + "@aws-sdk/node-config-provider": "3.6.1", + "@aws-sdk/node-http-handler": "3.6.1", + "@aws-sdk/protocol-http": "3.6.1", + "@aws-sdk/smithy-client": "3.6.1", + "@aws-sdk/types": "3.6.1", + "@aws-sdk/url-parser": "3.6.1", + "@aws-sdk/url-parser-native": "3.6.1", + "@aws-sdk/util-base64-browser": "3.6.1", + "@aws-sdk/util-base64-node": "3.6.1", + "@aws-sdk/util-body-length-browser": "3.6.1", + "@aws-sdk/util-body-length-node": "3.6.1", + "@aws-sdk/util-user-agent-browser": "3.6.1", + "@aws-sdk/util-user-agent-node": "3.6.1", + "@aws-sdk/util-utf8-browser": "3.6.1", + "@aws-sdk/util-utf8-node": "3.6.1", + "tslib": "^2.0.0", + "uuid": "^3.0.0" + }, + "engines": { + "node": ">=10.0.0" } }, - "node_modules/@aws-amplify/rtn-push-notification": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/@aws-amplify/rtn-push-notification/-/rtn-push-notification-1.1.8.tgz", - "integrity": "sha512-O0TnT0GVSMMLHXQ7BUh04RpNeXPQdSsw5xLtK+GyXCx3MlAZ6vfOPKKdomzzXfzxC2FUSyV1G4LlUVJAHmFP2A==" - }, - "node_modules/@aws-amplify/storage": { - "version": "5.9.6", - "resolved": "https://registry.npmjs.org/@aws-amplify/storage/-/storage-5.9.6.tgz", - "integrity": "sha512-PiSwsa3hRp8kfZ2EAK7Bd8mm0plJYtuQ39KgOQ1dalWcN4RCzfgxzVTPabTxHlq89lJWTkC03SNV/Yn2Zxj5JA==", + "node_modules/@aws-sdk/client-comprehend/node_modules/@aws-sdk/util-utf8-browser": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.6.1.tgz", + "integrity": "sha512-gZPySY6JU5gswnw3nGOEHl3tYE7vPKvtXGYoS2NRabfDKRejFvu+4/nNW6SSpoOxk6LSXsrWB39NO51k+G4PVA==", + "license": "Apache-2.0", "dependencies": { - "@aws-amplify/core": "5.8.6", - "@aws-sdk/md5-js": "3.6.1", - "@aws-sdk/types": "3.6.1", - "buffer": "4.9.2", - "events": "^3.1.0", - "fast-xml-parser": "^4.2.5", "tslib": "^1.8.0" } }, - "node_modules/@aws-amplify/ui": { - "version": "5.8.1", - "resolved": "https://registry.npmjs.org/@aws-amplify/ui/-/ui-5.8.1.tgz", - "integrity": "sha512-f7CYveXr3QzkWCjEcIzXe2ywoAc+j3cux7CBh/hS1X64dfleS8AhgHgnf1eJ+CQqNzEF51rZIJ8lrR62KBPAIQ==", + "node_modules/@aws-sdk/client-comprehend/node_modules/@aws-sdk/util-utf8-browser/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" + }, + "node_modules/@aws-sdk/client-comprehend/node_modules/tslib": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" + }, + "node_modules/@aws-sdk/client-firehose": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-firehose/-/client-firehose-3.6.1.tgz", + "integrity": "sha512-KhiKCm+cJmnRFuAEyO3DBpFVDNix1XcVikdxk2lvYbFWkM1oUZoBpudxaJ+fPf2W3stF3CXIAOP+TnGqSZCy9g==", + "license": "Apache-2.0", "dependencies": { - "csstype": "^3.1.1", - "lodash": "4.17.21", - "style-dictionary": "3.7.1", - "tslib": "2.4.1" - }, - "peerDependencies": { - "aws-amplify": "^5.0.1", - "xstate": "^4.33.6" + "@aws-crypto/sha256-browser": "^1.0.0", + "@aws-crypto/sha256-js": "^1.0.0", + "@aws-sdk/config-resolver": "3.6.1", + "@aws-sdk/credential-provider-node": "3.6.1", + "@aws-sdk/fetch-http-handler": "3.6.1", + "@aws-sdk/hash-node": "3.6.1", + "@aws-sdk/invalid-dependency": "3.6.1", + "@aws-sdk/middleware-content-length": "3.6.1", + "@aws-sdk/middleware-host-header": "3.6.1", + "@aws-sdk/middleware-logger": "3.6.1", + "@aws-sdk/middleware-retry": "3.6.1", + "@aws-sdk/middleware-serde": "3.6.1", + "@aws-sdk/middleware-signing": "3.6.1", + "@aws-sdk/middleware-stack": "3.6.1", + "@aws-sdk/middleware-user-agent": "3.6.1", + "@aws-sdk/node-config-provider": "3.6.1", + "@aws-sdk/node-http-handler": "3.6.1", + "@aws-sdk/protocol-http": "3.6.1", + "@aws-sdk/smithy-client": "3.6.1", + "@aws-sdk/types": "3.6.1", + "@aws-sdk/url-parser": "3.6.1", + "@aws-sdk/url-parser-native": "3.6.1", + "@aws-sdk/util-base64-browser": "3.6.1", + "@aws-sdk/util-base64-node": "3.6.1", + "@aws-sdk/util-body-length-browser": "3.6.1", + "@aws-sdk/util-body-length-node": "3.6.1", + "@aws-sdk/util-user-agent-browser": "3.6.1", + "@aws-sdk/util-user-agent-node": "3.6.1", + "@aws-sdk/util-utf8-browser": "3.6.1", + "@aws-sdk/util-utf8-node": "3.6.1", + "tslib": "^2.0.0" }, - "peerDependenciesMeta": { - "xstate": { - "optional": true - } + "engines": { + "node": ">=10.0.0" } }, - "node_modules/@aws-amplify/ui-react": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/@aws-amplify/ui-react/-/ui-react-5.3.2.tgz", - "integrity": "sha512-CzLUb7acrXroDHloKhjOWZwLAjFfaj7F1L/HpxcG9x3hV6klwvaECgN8qthDeI675XtHQNx48Pfk2DRrViXL0w==", + "node_modules/@aws-sdk/client-firehose/node_modules/@aws-sdk/util-utf8-browser": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.6.1.tgz", + "integrity": "sha512-gZPySY6JU5gswnw3nGOEHl3tYE7vPKvtXGYoS2NRabfDKRejFvu+4/nNW6SSpoOxk6LSXsrWB39NO51k+G4PVA==", + "license": "Apache-2.0", "dependencies": { - "@aws-amplify/ui": "5.8.1", - "@aws-amplify/ui-react-core": "2.1.33", - "@radix-ui/react-accordion": "1.0.0", - "@radix-ui/react-direction": "1.0.0", - "@radix-ui/react-dropdown-menu": "1.0.0", - "@radix-ui/react-slider": "1.0.0", - "@radix-ui/react-tabs": "1.0.0", - "@xstate/react": "3.0.0", - "classnames": "2.3.1", - "deepmerge": "4.2.2", - "lodash": "4.17.21", - "qrcode": "1.5.0", - "react-generate-context": "1.0.1", - "tslib": "2.4.1" - }, - "peerDependencies": { - "aws-amplify": "^5.0.1", - "react": ">= 16.14.0", - "react-dom": ">= 16.14.0" - }, - "peerDependenciesMeta": { - "aws-amplify": { - "optional": true - } - } - }, - "node_modules/@aws-amplify/ui-react-core": { - "version": "2.1.33", - "resolved": "https://registry.npmjs.org/@aws-amplify/ui-react-core/-/ui-react-core-2.1.33.tgz", - "integrity": "sha512-4f+8713lRy/qzFSAwVAhboVsui9qiQE5Mu3AX9AO6VlUtTdqPAY+RZWNqojZyWmLISm/Y4wHZRhvYe5/6x1Mgw==", - "dependencies": { - "@aws-amplify/ui": "5.8.1", - "@xstate/react": "3.0.1", - "lodash": "4.17.21", - "xstate": "^4.33.6" - }, - "peerDependencies": { - "aws-amplify": "^5.0.1", - "react": ">= 16.14.0" - } - }, - "node_modules/@aws-amplify/ui-react-core/node_modules/@xstate/react": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@xstate/react/-/react-3.0.1.tgz", - "integrity": "sha512-/tq/gg92P9ke8J+yDNDBv5/PAxBvXJf2cYyGDByzgtl5wKaxKxzDT82Gj3eWlCJXkrBg4J5/V47//gRJuVH2fA==", - "dependencies": { - "use-isomorphic-layout-effect": "^1.0.0", - "use-sync-external-store": "^1.0.0" - }, - "peerDependencies": { - "@xstate/fsm": "^2.0.0", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "xstate": "^4.33.0" - }, - "peerDependenciesMeta": { - "@xstate/fsm": { - "optional": true - }, - "xstate": { - "optional": true - } - } - }, - "node_modules/@aws-amplify/ui-react/node_modules/tslib": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", - "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==" - }, - "node_modules/@aws-amplify/ui/node_modules/tslib": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", - "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==" - }, - "node_modules/@aws-crypto/crc32": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-2.0.0.tgz", - "integrity": "sha512-TvE1r2CUueyXOuHdEigYjIZVesInd9KN+K/TFFNfkkxRThiNxO6i4ZqqAVMoEjAamZZ1AA8WXJkjCz7YShHPQA==", - "dependencies": { - "@aws-crypto/util": "^2.0.0", - "@aws-sdk/types": "^3.1.0", - "tslib": "^1.11.1" - } - }, - "node_modules/@aws-crypto/crc32/node_modules/@aws-crypto/util": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-2.0.2.tgz", - "integrity": "sha512-Lgu5v/0e/BcrZ5m/IWqzPUf3UYFTy/PpeED+uc9SWUR1iZQL8XXbGQg10UfllwwBryO3hFF5dizK+78aoXC1eA==", - "dependencies": { - "@aws-sdk/types": "^3.110.0", - "@aws-sdk/util-utf8-browser": "^3.0.0", - "tslib": "^1.11.1" - } - }, - "node_modules/@aws-crypto/crc32/node_modules/@aws-sdk/types": { - "version": "3.433.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.433.0.tgz", - "integrity": "sha512-0jEE2mSrNDd8VGFjTc1otYrwYPIkzZJEIK90ZxisKvQ/EURGBhNzWn7ejWB9XCMFT6XumYLBR0V9qq5UPisWtA==", - "dependencies": { - "@smithy/types": "^2.4.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-crypto/crc32/node_modules/@aws-sdk/types/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - }, - "node_modules/@aws-crypto/ie11-detection": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-1.0.0.tgz", - "integrity": "sha512-kCKVhCF1oDxFYgQrxXmIrS5oaWulkvRcPz+QBDMsUr2crbF4VGgGT6+uQhSwJFdUAQ2A//Vq+uT83eJrkzFgXA==", - "dependencies": { - "tslib": "^1.11.1" - } - }, - "node_modules/@aws-crypto/sha256-browser": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-1.2.2.tgz", - "integrity": "sha512-0tNR4kBtJp+9S0kis4+JLab3eg6QWuIeuPhzaYoYwNUXGBgsWIkktA2mnilet+EGWzf3n1zknJXC4X4DVyyXbg==", - "dependencies": { - "@aws-crypto/ie11-detection": "^1.0.0", - "@aws-crypto/sha256-js": "^1.2.2", - "@aws-crypto/supports-web-crypto": "^1.0.0", - "@aws-crypto/util": "^1.2.2", - "@aws-sdk/types": "^3.1.0", - "@aws-sdk/util-locate-window": "^3.0.0", - "tslib": "^1.11.1" - } - }, - "node_modules/@aws-crypto/sha256-js": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-1.2.2.tgz", - "integrity": "sha512-Nr1QJIbW/afYYGzYvrF70LtaHrIRtd4TNAglX8BvlfxJLZ45SAmueIKYl5tWoNBPzp65ymXGFK0Bb1vZUpuc9g==", - "dependencies": { - "@aws-crypto/util": "^1.2.2", - "@aws-sdk/types": "^3.1.0", - "tslib": "^1.11.1" - } - }, - "node_modules/@aws-crypto/supports-web-crypto": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-1.0.0.tgz", - "integrity": "sha512-IHLfv+WmVH89EW4n6a5eE8/hUlz6qkWGMn/v4r5ZgzcXdTC5nolii2z3k46y01hWRiC2PPhOdeSLzMUCUMco7g==", - "dependencies": { - "tslib": "^1.11.1" + "tslib": "^1.8.0" } }, - "node_modules/@aws-crypto/util": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-1.2.2.tgz", - "integrity": "sha512-H8PjG5WJ4wz0UXAFXeJjWCW1vkvIJ3qUUD+rGRwJ2/hj+xT58Qle2MTql/2MGzkU+1JLAFuR6aJpLAjHwhmwwg==", - "dependencies": { - "@aws-sdk/types": "^3.1.0", - "@aws-sdk/util-utf8-browser": "^3.0.0", - "tslib": "^1.11.1" - } + "node_modules/@aws-sdk/client-firehose/node_modules/@aws-sdk/util-utf8-browser/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" }, - "node_modules/@aws-sdk/abort-controller": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.6.1.tgz", - "integrity": "sha512-X81XkxX/2Tvv9YNcEto/rcQzPIdKJHFSnl9hBl/qkSdCFV/GaQ2XNWfKm5qFXMLlZNFS0Fn5CnBJ83qnBm47vg==", - "dependencies": { - "@aws-sdk/types": "3.6.1", - "tslib": "^1.8.0" - }, - "engines": { - "node": ">= 10.0.0" - } + "node_modules/@aws-sdk/client-firehose/node_modules/tslib": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" }, - "node_modules/@aws-sdk/client-cloudwatch-logs": { + "node_modules/@aws-sdk/client-kinesis": { "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-cloudwatch-logs/-/client-cloudwatch-logs-3.6.1.tgz", - "integrity": "sha512-QOxIDnlVTpnwJ26Gap6RGz61cDLH6TKrIp30VqwdMeT1pCGy8mn9rWln6XA+ymkofHy/08RfpGp+VN4axwd4Lw==", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-kinesis/-/client-kinesis-3.6.1.tgz", + "integrity": "sha512-Ygo+92LxHeUZmiyhiHT+k7hIOhJd6S7ckCEVUsQs2rfwe9bAygUY/3cCoZSqgWy7exFRRKsjhzStcyV6i6jrVQ==", + "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-browser": "^1.0.0", "@aws-crypto/sha256-js": "^1.0.0", "@aws-sdk/config-resolver": "3.6.1", "@aws-sdk/credential-provider-node": "3.6.1", + "@aws-sdk/eventstream-serde-browser": "3.6.1", + "@aws-sdk/eventstream-serde-config-resolver": "3.6.1", + "@aws-sdk/eventstream-serde-node": "3.6.1", "@aws-sdk/fetch-http-handler": "3.6.1", "@aws-sdk/hash-node": "3.6.1", "@aws-sdk/invalid-dependency": "3.6.1", @@ -927,260 +839,84 @@ "@aws-sdk/util-user-agent-node": "3.6.1", "@aws-sdk/util-utf8-browser": "3.6.1", "@aws-sdk/util-utf8-node": "3.6.1", + "@aws-sdk/util-waiter": "3.6.1", "tslib": "^2.0.0" }, "engines": { "node": ">=10.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@aws-sdk/util-utf8-browser": { + "node_modules/@aws-sdk/client-kinesis/node_modules/@aws-sdk/util-utf8-browser": { "version": "3.6.1", "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.6.1.tgz", "integrity": "sha512-gZPySY6JU5gswnw3nGOEHl3tYE7vPKvtXGYoS2NRabfDKRejFvu+4/nNW6SSpoOxk6LSXsrWB39NO51k+G4PVA==", + "license": "Apache-2.0", "dependencies": { "tslib": "^1.8.0" } }, - "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/@aws-sdk/util-utf8-browser/node_modules/tslib": { + "node_modules/@aws-sdk/client-kinesis/node_modules/@aws-sdk/util-utf8-browser/node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" }, - "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + "node_modules/@aws-sdk/client-kinesis/node_modules/tslib": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" }, - "node_modules/@aws-sdk/client-comprehend": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-comprehend/-/client-comprehend-3.6.1.tgz", - "integrity": "sha512-Y2ixlSTjjAp2HJhkUArtYqC/X+zG5Qqu3Bl+Ez22u4u4YnG8HsNFD6FE1axuWSdSa5AFtWTEt+Cz2Ghj/tDySA==", + "node_modules/@aws-sdk/client-lex-runtime-service": { + "version": "3.186.3", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-lex-runtime-service/-/client-lex-runtime-service-3.186.3.tgz", + "integrity": "sha512-YP+GDY9OxyW4rJDqjreaNpiDBvH1uzO3ShJKl57hT92Kw2auDQxttcMf//J8dQXvrVkW/fVXCLI9TmtxS7XJOQ==", + "license": "Apache-2.0", "dependencies": { - "@aws-crypto/sha256-browser": "^1.0.0", - "@aws-crypto/sha256-js": "^1.0.0", - "@aws-sdk/config-resolver": "3.6.1", - "@aws-sdk/credential-provider-node": "3.6.1", - "@aws-sdk/fetch-http-handler": "3.6.1", - "@aws-sdk/hash-node": "3.6.1", - "@aws-sdk/invalid-dependency": "3.6.1", - "@aws-sdk/middleware-content-length": "3.6.1", - "@aws-sdk/middleware-host-header": "3.6.1", - "@aws-sdk/middleware-logger": "3.6.1", - "@aws-sdk/middleware-retry": "3.6.1", - "@aws-sdk/middleware-serde": "3.6.1", - "@aws-sdk/middleware-signing": "3.6.1", - "@aws-sdk/middleware-stack": "3.6.1", - "@aws-sdk/middleware-user-agent": "3.6.1", - "@aws-sdk/node-config-provider": "3.6.1", - "@aws-sdk/node-http-handler": "3.6.1", - "@aws-sdk/protocol-http": "3.6.1", - "@aws-sdk/smithy-client": "3.6.1", - "@aws-sdk/types": "3.6.1", - "@aws-sdk/url-parser": "3.6.1", - "@aws-sdk/url-parser-native": "3.6.1", - "@aws-sdk/util-base64-browser": "3.6.1", - "@aws-sdk/util-base64-node": "3.6.1", - "@aws-sdk/util-body-length-browser": "3.6.1", - "@aws-sdk/util-body-length-node": "3.6.1", - "@aws-sdk/util-user-agent-browser": "3.6.1", - "@aws-sdk/util-user-agent-node": "3.6.1", - "@aws-sdk/util-utf8-browser": "3.6.1", - "@aws-sdk/util-utf8-node": "3.6.1", - "tslib": "^2.0.0", - "uuid": "^3.0.0" + "@aws-crypto/sha256-browser": "2.0.0", + "@aws-crypto/sha256-js": "2.0.0", + "@aws-sdk/client-sts": "3.186.3", + "@aws-sdk/config-resolver": "3.186.0", + "@aws-sdk/credential-provider-node": "3.186.0", + "@aws-sdk/fetch-http-handler": "3.186.0", + "@aws-sdk/hash-node": "3.186.0", + "@aws-sdk/invalid-dependency": "3.186.0", + "@aws-sdk/middleware-content-length": "3.186.0", + "@aws-sdk/middleware-host-header": "3.186.0", + "@aws-sdk/middleware-logger": "3.186.0", + "@aws-sdk/middleware-recursion-detection": "3.186.0", + "@aws-sdk/middleware-retry": "3.186.0", + "@aws-sdk/middleware-serde": "3.186.0", + "@aws-sdk/middleware-signing": "3.186.0", + "@aws-sdk/middleware-stack": "3.186.0", + "@aws-sdk/middleware-user-agent": "3.186.0", + "@aws-sdk/node-config-provider": "3.186.0", + "@aws-sdk/node-http-handler": "3.186.0", + "@aws-sdk/protocol-http": "3.186.0", + "@aws-sdk/smithy-client": "3.186.0", + "@aws-sdk/types": "3.186.0", + "@aws-sdk/url-parser": "3.186.0", + "@aws-sdk/util-base64-browser": "3.186.0", + "@aws-sdk/util-base64-node": "3.186.0", + "@aws-sdk/util-body-length-browser": "3.186.0", + "@aws-sdk/util-body-length-node": "3.186.0", + "@aws-sdk/util-defaults-mode-browser": "3.186.0", + "@aws-sdk/util-defaults-mode-node": "3.186.0", + "@aws-sdk/util-user-agent-browser": "3.186.0", + "@aws-sdk/util-user-agent-node": "3.186.0", + "@aws-sdk/util-utf8-browser": "3.186.0", + "@aws-sdk/util-utf8-node": "3.186.0", + "tslib": "^2.3.1" }, "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/@aws-sdk/client-comprehend/node_modules/@aws-sdk/util-utf8-browser": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.6.1.tgz", - "integrity": "sha512-gZPySY6JU5gswnw3nGOEHl3tYE7vPKvtXGYoS2NRabfDKRejFvu+4/nNW6SSpoOxk6LSXsrWB39NO51k+G4PVA==", - "dependencies": { - "tslib": "^1.8.0" - } - }, - "node_modules/@aws-sdk/client-comprehend/node_modules/@aws-sdk/util-utf8-browser/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/@aws-sdk/client-comprehend/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - }, - "node_modules/@aws-sdk/client-firehose": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-firehose/-/client-firehose-3.6.1.tgz", - "integrity": "sha512-KhiKCm+cJmnRFuAEyO3DBpFVDNix1XcVikdxk2lvYbFWkM1oUZoBpudxaJ+fPf2W3stF3CXIAOP+TnGqSZCy9g==", - "dependencies": { - "@aws-crypto/sha256-browser": "^1.0.0", - "@aws-crypto/sha256-js": "^1.0.0", - "@aws-sdk/config-resolver": "3.6.1", - "@aws-sdk/credential-provider-node": "3.6.1", - "@aws-sdk/fetch-http-handler": "3.6.1", - "@aws-sdk/hash-node": "3.6.1", - "@aws-sdk/invalid-dependency": "3.6.1", - "@aws-sdk/middleware-content-length": "3.6.1", - "@aws-sdk/middleware-host-header": "3.6.1", - "@aws-sdk/middleware-logger": "3.6.1", - "@aws-sdk/middleware-retry": "3.6.1", - "@aws-sdk/middleware-serde": "3.6.1", - "@aws-sdk/middleware-signing": "3.6.1", - "@aws-sdk/middleware-stack": "3.6.1", - "@aws-sdk/middleware-user-agent": "3.6.1", - "@aws-sdk/node-config-provider": "3.6.1", - "@aws-sdk/node-http-handler": "3.6.1", - "@aws-sdk/protocol-http": "3.6.1", - "@aws-sdk/smithy-client": "3.6.1", - "@aws-sdk/types": "3.6.1", - "@aws-sdk/url-parser": "3.6.1", - "@aws-sdk/url-parser-native": "3.6.1", - "@aws-sdk/util-base64-browser": "3.6.1", - "@aws-sdk/util-base64-node": "3.6.1", - "@aws-sdk/util-body-length-browser": "3.6.1", - "@aws-sdk/util-body-length-node": "3.6.1", - "@aws-sdk/util-user-agent-browser": "3.6.1", - "@aws-sdk/util-user-agent-node": "3.6.1", - "@aws-sdk/util-utf8-browser": "3.6.1", - "@aws-sdk/util-utf8-node": "3.6.1", - "tslib": "^2.0.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/@aws-sdk/client-firehose/node_modules/@aws-sdk/util-utf8-browser": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.6.1.tgz", - "integrity": "sha512-gZPySY6JU5gswnw3nGOEHl3tYE7vPKvtXGYoS2NRabfDKRejFvu+4/nNW6SSpoOxk6LSXsrWB39NO51k+G4PVA==", - "dependencies": { - "tslib": "^1.8.0" - } - }, - "node_modules/@aws-sdk/client-firehose/node_modules/@aws-sdk/util-utf8-browser/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/@aws-sdk/client-firehose/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - }, - "node_modules/@aws-sdk/client-kinesis": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-kinesis/-/client-kinesis-3.6.1.tgz", - "integrity": "sha512-Ygo+92LxHeUZmiyhiHT+k7hIOhJd6S7ckCEVUsQs2rfwe9bAygUY/3cCoZSqgWy7exFRRKsjhzStcyV6i6jrVQ==", - "dependencies": { - "@aws-crypto/sha256-browser": "^1.0.0", - "@aws-crypto/sha256-js": "^1.0.0", - "@aws-sdk/config-resolver": "3.6.1", - "@aws-sdk/credential-provider-node": "3.6.1", - "@aws-sdk/eventstream-serde-browser": "3.6.1", - "@aws-sdk/eventstream-serde-config-resolver": "3.6.1", - "@aws-sdk/eventstream-serde-node": "3.6.1", - "@aws-sdk/fetch-http-handler": "3.6.1", - "@aws-sdk/hash-node": "3.6.1", - "@aws-sdk/invalid-dependency": "3.6.1", - "@aws-sdk/middleware-content-length": "3.6.1", - "@aws-sdk/middleware-host-header": "3.6.1", - "@aws-sdk/middleware-logger": "3.6.1", - "@aws-sdk/middleware-retry": "3.6.1", - "@aws-sdk/middleware-serde": "3.6.1", - "@aws-sdk/middleware-signing": "3.6.1", - "@aws-sdk/middleware-stack": "3.6.1", - "@aws-sdk/middleware-user-agent": "3.6.1", - "@aws-sdk/node-config-provider": "3.6.1", - "@aws-sdk/node-http-handler": "3.6.1", - "@aws-sdk/protocol-http": "3.6.1", - "@aws-sdk/smithy-client": "3.6.1", - "@aws-sdk/types": "3.6.1", - "@aws-sdk/url-parser": "3.6.1", - "@aws-sdk/url-parser-native": "3.6.1", - "@aws-sdk/util-base64-browser": "3.6.1", - "@aws-sdk/util-base64-node": "3.6.1", - "@aws-sdk/util-body-length-browser": "3.6.1", - "@aws-sdk/util-body-length-node": "3.6.1", - "@aws-sdk/util-user-agent-browser": "3.6.1", - "@aws-sdk/util-user-agent-node": "3.6.1", - "@aws-sdk/util-utf8-browser": "3.6.1", - "@aws-sdk/util-utf8-node": "3.6.1", - "@aws-sdk/util-waiter": "3.6.1", - "tslib": "^2.0.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/@aws-sdk/client-kinesis/node_modules/@aws-sdk/util-utf8-browser": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.6.1.tgz", - "integrity": "sha512-gZPySY6JU5gswnw3nGOEHl3tYE7vPKvtXGYoS2NRabfDKRejFvu+4/nNW6SSpoOxk6LSXsrWB39NO51k+G4PVA==", - "dependencies": { - "tslib": "^1.8.0" - } - }, - "node_modules/@aws-sdk/client-kinesis/node_modules/@aws-sdk/util-utf8-browser/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/@aws-sdk/client-kinesis/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - }, - "node_modules/@aws-sdk/client-lex-runtime-service": { - "version": "3.186.3", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-lex-runtime-service/-/client-lex-runtime-service-3.186.3.tgz", - "integrity": "sha512-YP+GDY9OxyW4rJDqjreaNpiDBvH1uzO3ShJKl57hT92Kw2auDQxttcMf//J8dQXvrVkW/fVXCLI9TmtxS7XJOQ==", - "dependencies": { - "@aws-crypto/sha256-browser": "2.0.0", - "@aws-crypto/sha256-js": "2.0.0", - "@aws-sdk/client-sts": "3.186.3", - "@aws-sdk/config-resolver": "3.186.0", - "@aws-sdk/credential-provider-node": "3.186.0", - "@aws-sdk/fetch-http-handler": "3.186.0", - "@aws-sdk/hash-node": "3.186.0", - "@aws-sdk/invalid-dependency": "3.186.0", - "@aws-sdk/middleware-content-length": "3.186.0", - "@aws-sdk/middleware-host-header": "3.186.0", - "@aws-sdk/middleware-logger": "3.186.0", - "@aws-sdk/middleware-recursion-detection": "3.186.0", - "@aws-sdk/middleware-retry": "3.186.0", - "@aws-sdk/middleware-serde": "3.186.0", - "@aws-sdk/middleware-signing": "3.186.0", - "@aws-sdk/middleware-stack": "3.186.0", - "@aws-sdk/middleware-user-agent": "3.186.0", - "@aws-sdk/node-config-provider": "3.186.0", - "@aws-sdk/node-http-handler": "3.186.0", - "@aws-sdk/protocol-http": "3.186.0", - "@aws-sdk/smithy-client": "3.186.0", - "@aws-sdk/types": "3.186.0", - "@aws-sdk/url-parser": "3.186.0", - "@aws-sdk/util-base64-browser": "3.186.0", - "@aws-sdk/util-base64-node": "3.186.0", - "@aws-sdk/util-body-length-browser": "3.186.0", - "@aws-sdk/util-body-length-node": "3.186.0", - "@aws-sdk/util-defaults-mode-browser": "3.186.0", - "@aws-sdk/util-defaults-mode-node": "3.186.0", - "@aws-sdk/util-user-agent-browser": "3.186.0", - "@aws-sdk/util-user-agent-node": "3.186.0", - "@aws-sdk/util-utf8-browser": "3.186.0", - "@aws-sdk/util-utf8-node": "3.186.0", - "tslib": "^2.3.1" - }, - "engines": { - "node": ">=12.0.0" + "node": ">=12.0.0" } }, "node_modules/@aws-sdk/client-lex-runtime-service/node_modules/@aws-crypto/ie11-detection": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-2.0.2.tgz", "integrity": "sha512-5XDMQY98gMAf/WRTic5G++jfmS/VLM0rwpiOpaainKi4L0nqWMSB1SzsrEG5rjFZGYN6ZAefO+/Yta2dFM0kMw==", + "license": "Apache-2.0", "dependencies": { "tslib": "^1.11.1" } @@ -1188,12 +924,14 @@ "node_modules/@aws-sdk/client-lex-runtime-service/node_modules/@aws-crypto/ie11-detection/node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" }, "node_modules/@aws-sdk/client-lex-runtime-service/node_modules/@aws-crypto/sha256-browser": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-2.0.0.tgz", "integrity": "sha512-rYXOQ8BFOaqMEHJrLHul/25ckWH6GTJtdLSajhlqGMx0PmSueAuvboCuZCTqEKlxR8CQOwRarxYMZZSYlhRA1A==", + "license": "Apache-2.0", "dependencies": { "@aws-crypto/ie11-detection": "^2.0.0", "@aws-crypto/sha256-js": "^2.0.0", @@ -1208,12 +946,14 @@ "node_modules/@aws-sdk/client-lex-runtime-service/node_modules/@aws-crypto/sha256-browser/node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" }, "node_modules/@aws-sdk/client-lex-runtime-service/node_modules/@aws-crypto/sha256-js": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-2.0.0.tgz", "integrity": "sha512-VZY+mCY4Nmrs5WGfitmNqXzaE873fcIZDu54cbaDaaamsaTOP1DBImV9F4pICc3EHjQXujyE8jig+PFCaew9ig==", + "license": "Apache-2.0", "dependencies": { "@aws-crypto/util": "^2.0.0", "@aws-sdk/types": "^3.1.0", @@ -1223,12 +963,14 @@ "node_modules/@aws-sdk/client-lex-runtime-service/node_modules/@aws-crypto/sha256-js/node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" }, "node_modules/@aws-sdk/client-lex-runtime-service/node_modules/@aws-crypto/supports-web-crypto": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-2.0.2.tgz", "integrity": "sha512-6mbSsLHwZ99CTOOswvCRP3C+VCWnzBf+1SnbWxzzJ9lR0mA0JnY2JEAhp8rqmTE0GPFy88rrM27ffgp62oErMQ==", + "license": "Apache-2.0", "dependencies": { "tslib": "^1.11.1" } @@ -1236,12 +978,14 @@ "node_modules/@aws-sdk/client-lex-runtime-service/node_modules/@aws-crypto/supports-web-crypto/node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" }, "node_modules/@aws-sdk/client-lex-runtime-service/node_modules/@aws-crypto/util": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-2.0.2.tgz", "integrity": "sha512-Lgu5v/0e/BcrZ5m/IWqzPUf3UYFTy/PpeED+uc9SWUR1iZQL8XXbGQg10UfllwwBryO3hFF5dizK+78aoXC1eA==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "^3.110.0", "@aws-sdk/util-utf8-browser": "^3.0.0", @@ -1251,12 +995,14 @@ "node_modules/@aws-sdk/client-lex-runtime-service/node_modules/@aws-crypto/util/node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" }, "node_modules/@aws-sdk/client-lex-runtime-service/node_modules/@aws-sdk/abort-controller": { "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.186.0.tgz", "integrity": "sha512-JFvvvtEcbYOvVRRXasi64Dd1VcOz5kJmPvtzsJ+HzMHvPbGGs/aopOJAZQJMJttzJmJwVTay0QL6yag9Kk8nYA==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" @@ -1269,6 +1015,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.186.0.tgz", "integrity": "sha512-l8DR7Q4grEn1fgo2/KvtIfIHJS33HGKPQnht8OPxkl0dMzOJ0jxjOw/tMbrIcPnr2T3Fi7LLcj3dY1Fo1poruQ==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/signature-v4": "3.186.0", "@aws-sdk/types": "3.186.0", @@ -1284,6 +1031,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.186.0.tgz", "integrity": "sha512-N9LPAqi1lsQWgxzmU4NPvLPnCN5+IQ3Ai1IFf3wM6FFPNoSUd1kIA2c6xaf0BE7j5Kelm0raZOb4LnV3TBAv+g==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/property-provider": "3.186.0", "@aws-sdk/types": "3.186.0", @@ -1297,6 +1045,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.186.0.tgz", "integrity": "sha512-iJeC7KrEgPPAuXjCZ3ExYZrRQvzpSdTZopYgUm5TnNZ8S1NU/4nvv5xVy61JvMj3JQAeG8UDYYgC421Foc8wQw==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/node-config-provider": "3.186.0", "@aws-sdk/property-provider": "3.186.0", @@ -1312,6 +1061,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.186.0.tgz", "integrity": "sha512-ecrFh3MoZhAj5P2k/HXo/hMJQ3sfmvlommzXuZ/D1Bj2yMcyWuBhF1A83Fwd2gtYrWRrllsK3IOMM5Jr8UIVZA==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/credential-provider-env": "3.186.0", "@aws-sdk/credential-provider-imds": "3.186.0", @@ -1330,6 +1080,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.186.0.tgz", "integrity": "sha512-HIt2XhSRhEvVgRxTveLCzIkd/SzEBQfkQ6xMJhkBtfJw1o3+jeCk+VysXM0idqmXytctL0O3g9cvvTHOsUgxOA==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/credential-provider-env": "3.186.0", "@aws-sdk/credential-provider-imds": "3.186.0", @@ -1350,6 +1101,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.186.0.tgz", "integrity": "sha512-ATRU6gbXvWC1TLnjOEZugC/PBXHBoZgBADid4fDcEQY1vF5e5Ux1kmqkJxyHtV5Wl8sE2uJfwWn+FlpUHRX67g==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/property-provider": "3.186.0", "@aws-sdk/shared-ini-file-loader": "3.186.0", @@ -1364,6 +1116,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.186.0.tgz", "integrity": "sha512-k2v4AAHRD76WnLg7arH94EvIclClo/YfuqO7NoQ6/KwOxjRhs4G6TgIsAZ9E0xmqoJoV81Xqy8H8ldfy9F8LEw==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/protocol-http": "3.186.0", "@aws-sdk/querystring-builder": "3.186.0", @@ -1376,6 +1129,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.186.0.tgz", "integrity": "sha512-G3zuK8/3KExDTxqrGqko+opOMLRF0BwcwekV/wm3GKIM/NnLhHblBs2zd/yi7VsEoWmuzibfp6uzxgFpEoJ87w==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.186.0", "@aws-sdk/util-buffer-from": "3.186.0", @@ -1389,6 +1143,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.186.0.tgz", "integrity": "sha512-hjeZKqORhG2DPWYZ776lQ9YO3gjw166vZHZCZU/43kEYaCZHsF4mexHwHzreAY6RfS25cH60Um7dUh1aeVIpkw==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" @@ -1398,6 +1153,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.186.0.tgz", "integrity": "sha512-fObm+P6mjWYzxoFY4y2STHBmSdgKbIAXez0xope563mox62I8I4hhVPUCaDVydXvDpJv8tbedJMk0meJl22+xA==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.3.1" }, @@ -1409,6 +1165,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.186.0.tgz", "integrity": "sha512-Ol3c1ks3IK1s+Okc/rHIX7w2WpXofuQdoAEme37gHeml+8FtUlWH/881h62xfMdf+0YZpRuYv/eM7lBmJBPNJw==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/protocol-http": "3.186.0", "@aws-sdk/types": "3.186.0", @@ -1422,6 +1179,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.186.0.tgz", "integrity": "sha512-5bTzrRzP2IGwyF3QCyMGtSXpOOud537x32htZf344IvVjrqZF/P8CDfGTkHkeBCIH+wnJxjK+l/QBb3ypAMIqQ==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/protocol-http": "3.186.0", "@aws-sdk/types": "3.186.0", @@ -1435,6 +1193,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.186.0.tgz", "integrity": "sha512-/1gGBImQT8xYh80pB7QtyzA799TqXtLZYQUohWAsFReYB7fdh5o+mu2rX0FNzZnrLIh2zBUNs4yaWGsnab4uXg==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" @@ -1447,6 +1206,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.186.0.tgz", "integrity": "sha512-/VI9emEKhhDzlNv9lQMmkyxx3GjJ8yPfXH3HuAeOgM1wx1BjCTLRYEWnTbQwq7BDzVENdneleCsGAp7yaj80Aw==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/protocol-http": "3.186.0", "@aws-sdk/service-error-classification": "3.186.0", @@ -1463,6 +1223,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.186.0.tgz", "integrity": "sha512-6FEAz70RNf18fKL5O7CepPSwTKJEIoyG9zU6p17GzKMgPeFsxS5xO94Hcq5tV2/CqeHliebjqhKY7yi+Pgok7g==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" @@ -1475,6 +1236,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.186.0.tgz", "integrity": "sha512-riCJYG/LlF/rkgVbHkr4xJscc0/sECzDivzTaUmfb9kJhAwGxCyNqnTvg0q6UO00kxSdEB9zNZI2/iJYVBijBQ==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/property-provider": "3.186.0", "@aws-sdk/protocol-http": "3.186.0", @@ -1491,6 +1253,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.186.0.tgz", "integrity": "sha512-fENMoo0pW7UBrbuycPf+3WZ+fcUgP9PnQ0jcOK3WWZlZ9d2ewh4HNxLh4EE3NkNYj4VIUFXtTUuVNHlG8trXjQ==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.3.1" }, @@ -1502,6 +1265,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.186.0.tgz", "integrity": "sha512-fb+F2PF9DLKOVMgmhkr+ltN8ZhNJavTla9aqmbd01846OLEaN1n5xEnV7p8q5+EznVBWDF38Oz9Ae5BMt3Hs7w==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/protocol-http": "3.186.0", "@aws-sdk/types": "3.186.0", @@ -1515,6 +1279,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.186.0.tgz", "integrity": "sha512-De93mgmtuUUeoiKXU8pVHXWKPBfJQlS/lh1k2H9T2Pd9Tzi0l7p5ttddx4BsEx4gk+Pc5flNz+DeptiSjZpa4A==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/property-provider": "3.186.0", "@aws-sdk/shared-ini-file-loader": "3.186.0", @@ -1529,6 +1294,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.186.0.tgz", "integrity": "sha512-CbkbDuPZT9UNJ4dAZJWB3BV+Z65wFy7OduqGkzNNrKq6ZYMUfehthhUOTk8vU6RMe/0FkN+J0fFXlBx/bs/cHw==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/abort-controller": "3.186.0", "@aws-sdk/protocol-http": "3.186.0", @@ -1544,6 +1310,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.186.0.tgz", "integrity": "sha512-nWKqt36UW3xV23RlHUmat+yevw9up+T+953nfjcmCBKtgWlCWu/aUzewTRhKj3VRscbN+Wer95SBw9Lr/MMOlQ==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" @@ -1556,6 +1323,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.186.0.tgz", "integrity": "sha512-l/KYr/UBDUU5ginqTgHtFfHR3X6ljf/1J1ThIiUg3C3kVC/Zwztm7BEOw8hHRWnWQGU/jYasGYcrcPLdQqFZyQ==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" @@ -1568,6 +1336,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.186.0.tgz", "integrity": "sha512-mweCpuLufImxfq/rRBTEpjGuB4xhQvbokA+otjnUxlPdIobytLqEs7pCGQfLzQ7+1ZMo8LBXt70RH4A2nSX/JQ==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.186.0", "@aws-sdk/util-uri-escape": "3.186.0", @@ -1581,6 +1350,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.186.0.tgz", "integrity": "sha512-0iYfEloghzPVXJjmnzHamNx1F1jIiTW9Svy5ZF9LVqyr/uHZcQuiWYsuhWloBMLs8mfWarkZM02WfxZ8buAuhg==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" @@ -1593,6 +1363,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.186.0.tgz", "integrity": "sha512-DRl3ORk4tF+jmH5uvftlfaq0IeKKpt0UPAOAFQ/JFWe+TjOcQd/K+VC0iiIG97YFp3aeFmH1JbEgsNxd+8fdxw==", + "license": "Apache-2.0", "engines": { "node": ">= 12.0.0" } @@ -1601,6 +1372,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.186.0.tgz", "integrity": "sha512-2FZqxmICtwN9CYid4dwfJSz/gGFHyStFQ3HCOQ8DsJUf2yREMSBsVmKqsyWgOrYcQ98gPcD5GIa7QO5yl3XF6A==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" @@ -1613,6 +1385,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.186.0.tgz", "integrity": "sha512-18i96P5c4suMqwSNhnEOqhq4doqqyjH4fn0YV3F8TkekHPIWP4mtIJ0PWAN4eievqdtcKgD/GqVO6FaJG9texw==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/is-array-buffer": "3.186.0", "@aws-sdk/types": "3.186.0", @@ -1629,6 +1402,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.186.0.tgz", "integrity": "sha512-rdAxSFGSnrSprVJ6i1BXi65r4X14cuya6fYe8dSdgmFSa+U2ZevT97lb3tSINCUxBGeMXhENIzbVGkRZuMh+DQ==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/middleware-stack": "3.186.0", "@aws-sdk/types": "3.186.0", @@ -1642,6 +1416,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.186.0.tgz", "integrity": "sha512-NatmSU37U+XauMFJCdFI6nougC20JUFZar+ump5wVv0i54H+2Refg1YbFDxSs0FY28TSB9jfhWIpfFBmXgL5MQ==", + "license": "Apache-2.0", "engines": { "node": ">= 12.0.0" } @@ -1650,6 +1425,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.186.0.tgz", "integrity": "sha512-jfdJkKqJZp8qjjwEjIGDqbqTuajBsddw02f86WiL8bPqD8W13/hdqbG4Fpwc+Bm6GwR6/4MY6xWXFnk8jDUKeA==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/querystring-parser": "3.186.0", "@aws-sdk/types": "3.186.0", @@ -1660,6 +1436,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-browser/-/util-base64-browser-3.186.0.tgz", "integrity": "sha512-TpQL8opoFfzTwUDxKeon/vuc83kGXpYqjl6hR8WzmHoQgmFfdFlV+0KXZOohra1001OP3FhqvMqaYbO8p9vXVQ==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.3.1" } @@ -1668,6 +1445,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-node/-/util-base64-node-3.186.0.tgz", "integrity": "sha512-wH5Y/EQNBfGS4VkkmiMyZXU+Ak6VCoFM1GKWopV+sj03zR2D4FHexi4SxWwEBMpZCd6foMtihhbNBuPA5fnh6w==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/util-buffer-from": "3.186.0", "tslib": "^2.3.1" @@ -1680,6 +1458,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.186.0.tgz", "integrity": "sha512-zKtjkI/dkj9oGkjo+7fIz+I9KuHrVt1ROAeL4OmDESS8UZi3/O8uMDFMuCp8jft6H+WFuYH6qRVWAVwXMiasXw==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.3.1" } @@ -1688,6 +1467,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.186.0.tgz", "integrity": "sha512-U7Ii8u8Wvu9EnBWKKeuwkdrWto3c0j7LG677Spe6vtwWkvY70n9WGfiKHTgBpVeLNv8jvfcx5+H0UOPQK1o9SQ==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.3.1" }, @@ -1699,6 +1479,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.186.0.tgz", "integrity": "sha512-be2GCk2lsLWg/2V5Y+S4/9pOMXhOQo4DR4dIqBdR2R+jrMMHN9Xsr5QrkT6chcqLaJ/SBlwiAEEi3StMRmCOXA==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/is-array-buffer": "3.186.0", "tslib": "^2.3.1" @@ -1711,6 +1492,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.186.0.tgz", "integrity": "sha512-UL9rdgIZz1E/jpAfaKH8QgUxNK9VP5JPgoR0bSiaefMjnsoBh0x/VVMsfUyziOoJCMLebhJzFowtwrSKEGsxNg==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.3.1" }, @@ -1722,6 +1504,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.186.0.tgz", "integrity": "sha512-imtOrJFpIZAipAg8VmRqYwv1G/x4xzyoxOJ48ZSn1/ZGnKEEnB6n6E9gwYRebi4mlRuMSVeZwCPLq0ey5hReeQ==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.3.1" }, @@ -1733,6 +1516,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.186.0.tgz", "integrity": "sha512-fbRcTTutMk4YXY3A2LePI4jWSIeHOT8DaYavpc/9Xshz/WH9RTGMmokeVOcClRNBeDSi5cELPJJ7gx6SFD3ZlQ==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.186.0", "bowser": "^2.11.0", @@ -1743,6 +1527,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.186.0.tgz", "integrity": "sha512-oWZR7hN6NtOgnT6fUvHaafgbipQc2xJCRB93XHiF9aZGptGNLJzznIOP7uURdn0bTnF73ejbUXWLQIm8/6ue6w==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/node-config-provider": "3.186.0", "@aws-sdk/types": "3.186.0", @@ -1764,6 +1549,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.186.0.tgz", "integrity": "sha512-n+IdFYF/4qT2WxhMOCeig8LndDggaYHw3BJJtfIBZRiS16lgwcGYvOUmhCkn0aSlG1f/eyg9YZHQG0iz9eLdHQ==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.3.1" } @@ -1772,6 +1558,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-node/-/util-utf8-node-3.186.0.tgz", "integrity": "sha512-7qlE0dOVdjuRbZTb7HFywnHHCrsN7AeQiTnsWT63mjXGDbPeUWQQw3TrdI20um3cxZXnKoeudGq8K6zbXyQ4iA==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/util-buffer-from": "3.186.0", "tslib": "^2.3.1" @@ -1781,14 +1568,16 @@ } }, "node_modules/@aws-sdk/client-lex-runtime-service/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" }, "node_modules/@aws-sdk/client-lex-runtime-service/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==", + "license": "MIT", "bin": { "uuid": "dist/bin/uuid" } @@ -1797,6 +1586,7 @@ "version": "3.186.3", "resolved": "https://registry.npmjs.org/@aws-sdk/client-lex-runtime-v2/-/client-lex-runtime-v2-3.186.3.tgz", "integrity": "sha512-4MJfSnb+qM8BYW4ToCvg7sDWN0NcEqK738hCZUV89cjp7pIHZ6osJuS/PsmZEommVj+71GviZ4buu5KUCfCGFQ==", + "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-browser": "2.0.0", "@aws-crypto/sha256-js": "2.0.0", @@ -1846,6 +1636,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-2.0.2.tgz", "integrity": "sha512-5XDMQY98gMAf/WRTic5G++jfmS/VLM0rwpiOpaainKi4L0nqWMSB1SzsrEG5rjFZGYN6ZAefO+/Yta2dFM0kMw==", + "license": "Apache-2.0", "dependencies": { "tslib": "^1.11.1" } @@ -1853,12 +1644,14 @@ "node_modules/@aws-sdk/client-lex-runtime-v2/node_modules/@aws-crypto/ie11-detection/node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" }, "node_modules/@aws-sdk/client-lex-runtime-v2/node_modules/@aws-crypto/sha256-browser": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-2.0.0.tgz", "integrity": "sha512-rYXOQ8BFOaqMEHJrLHul/25ckWH6GTJtdLSajhlqGMx0PmSueAuvboCuZCTqEKlxR8CQOwRarxYMZZSYlhRA1A==", + "license": "Apache-2.0", "dependencies": { "@aws-crypto/ie11-detection": "^2.0.0", "@aws-crypto/sha256-js": "^2.0.0", @@ -1873,12 +1666,14 @@ "node_modules/@aws-sdk/client-lex-runtime-v2/node_modules/@aws-crypto/sha256-browser/node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" }, "node_modules/@aws-sdk/client-lex-runtime-v2/node_modules/@aws-crypto/sha256-js": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-2.0.0.tgz", "integrity": "sha512-VZY+mCY4Nmrs5WGfitmNqXzaE873fcIZDu54cbaDaaamsaTOP1DBImV9F4pICc3EHjQXujyE8jig+PFCaew9ig==", + "license": "Apache-2.0", "dependencies": { "@aws-crypto/util": "^2.0.0", "@aws-sdk/types": "^3.1.0", @@ -1888,12 +1683,14 @@ "node_modules/@aws-sdk/client-lex-runtime-v2/node_modules/@aws-crypto/sha256-js/node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" }, "node_modules/@aws-sdk/client-lex-runtime-v2/node_modules/@aws-crypto/supports-web-crypto": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-2.0.2.tgz", "integrity": "sha512-6mbSsLHwZ99CTOOswvCRP3C+VCWnzBf+1SnbWxzzJ9lR0mA0JnY2JEAhp8rqmTE0GPFy88rrM27ffgp62oErMQ==", + "license": "Apache-2.0", "dependencies": { "tslib": "^1.11.1" } @@ -1901,12 +1698,14 @@ "node_modules/@aws-sdk/client-lex-runtime-v2/node_modules/@aws-crypto/supports-web-crypto/node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" }, "node_modules/@aws-sdk/client-lex-runtime-v2/node_modules/@aws-crypto/util": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-2.0.2.tgz", "integrity": "sha512-Lgu5v/0e/BcrZ5m/IWqzPUf3UYFTy/PpeED+uc9SWUR1iZQL8XXbGQg10UfllwwBryO3hFF5dizK+78aoXC1eA==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "^3.110.0", "@aws-sdk/util-utf8-browser": "^3.0.0", @@ -1916,12 +1715,14 @@ "node_modules/@aws-sdk/client-lex-runtime-v2/node_modules/@aws-crypto/util/node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" }, "node_modules/@aws-sdk/client-lex-runtime-v2/node_modules/@aws-sdk/abort-controller": { "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.186.0.tgz", "integrity": "sha512-JFvvvtEcbYOvVRRXasi64Dd1VcOz5kJmPvtzsJ+HzMHvPbGGs/aopOJAZQJMJttzJmJwVTay0QL6yag9Kk8nYA==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" @@ -1934,6 +1735,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.186.0.tgz", "integrity": "sha512-l8DR7Q4grEn1fgo2/KvtIfIHJS33HGKPQnht8OPxkl0dMzOJ0jxjOw/tMbrIcPnr2T3Fi7LLcj3dY1Fo1poruQ==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/signature-v4": "3.186.0", "@aws-sdk/types": "3.186.0", @@ -1949,6 +1751,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.186.0.tgz", "integrity": "sha512-N9LPAqi1lsQWgxzmU4NPvLPnCN5+IQ3Ai1IFf3wM6FFPNoSUd1kIA2c6xaf0BE7j5Kelm0raZOb4LnV3TBAv+g==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/property-provider": "3.186.0", "@aws-sdk/types": "3.186.0", @@ -1962,6 +1765,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.186.0.tgz", "integrity": "sha512-iJeC7KrEgPPAuXjCZ3ExYZrRQvzpSdTZopYgUm5TnNZ8S1NU/4nvv5xVy61JvMj3JQAeG8UDYYgC421Foc8wQw==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/node-config-provider": "3.186.0", "@aws-sdk/property-provider": "3.186.0", @@ -1977,6 +1781,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.186.0.tgz", "integrity": "sha512-ecrFh3MoZhAj5P2k/HXo/hMJQ3sfmvlommzXuZ/D1Bj2yMcyWuBhF1A83Fwd2gtYrWRrllsK3IOMM5Jr8UIVZA==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/credential-provider-env": "3.186.0", "@aws-sdk/credential-provider-imds": "3.186.0", @@ -1995,6 +1800,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.186.0.tgz", "integrity": "sha512-HIt2XhSRhEvVgRxTveLCzIkd/SzEBQfkQ6xMJhkBtfJw1o3+jeCk+VysXM0idqmXytctL0O3g9cvvTHOsUgxOA==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/credential-provider-env": "3.186.0", "@aws-sdk/credential-provider-imds": "3.186.0", @@ -2015,6 +1821,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.186.0.tgz", "integrity": "sha512-ATRU6gbXvWC1TLnjOEZugC/PBXHBoZgBADid4fDcEQY1vF5e5Ux1kmqkJxyHtV5Wl8sE2uJfwWn+FlpUHRX67g==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/property-provider": "3.186.0", "@aws-sdk/shared-ini-file-loader": "3.186.0", @@ -2029,6 +1836,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-browser/-/eventstream-serde-browser-3.186.0.tgz", "integrity": "sha512-0r2c+yugBdkP5bglGhGOgztjeHdHTKqu2u6bvTByM0nJShNO9YyqWygqPqDUOE5axcYQE1D0aFDGzDtP3mGJhw==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/eventstream-serde-universal": "3.186.0", "@aws-sdk/types": "3.186.0", @@ -2042,6 +1850,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.186.0.tgz", "integrity": "sha512-xhwCqYrAX5c7fg9COXVw6r7Sa3BO5cCfQMSR5S1QisE7do8K1GDKEHvUCheOx+RLon+P3glLjuNBMdD0HfCVNA==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" @@ -2054,6 +1863,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-node/-/eventstream-serde-node-3.186.0.tgz", "integrity": "sha512-9p/gdukJYfmA+OEYd6MfIuufxrrfdt15lBDM3FODuc9j09LSYSRHSxthkIhiM5XYYaaUM+4R0ZlSMdaC3vFDFQ==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/eventstream-serde-universal": "3.186.0", "@aws-sdk/types": "3.186.0", @@ -2067,6 +1877,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-universal/-/eventstream-serde-universal-3.186.0.tgz", "integrity": "sha512-rIgPmwUxn2tzainBoh+cxAF+b7o01CcW+17yloXmawsi0kiR7QK7v9m/JTGQPWKtHSsPOrtRzuiWQNX57SlcsQ==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/eventstream-codec": "3.186.0", "@aws-sdk/types": "3.186.0", @@ -2080,6 +1891,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.186.0.tgz", "integrity": "sha512-k2v4AAHRD76WnLg7arH94EvIclClo/YfuqO7NoQ6/KwOxjRhs4G6TgIsAZ9E0xmqoJoV81Xqy8H8ldfy9F8LEw==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/protocol-http": "3.186.0", "@aws-sdk/querystring-builder": "3.186.0", @@ -2092,6 +1904,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.186.0.tgz", "integrity": "sha512-G3zuK8/3KExDTxqrGqko+opOMLRF0BwcwekV/wm3GKIM/NnLhHblBs2zd/yi7VsEoWmuzibfp6uzxgFpEoJ87w==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.186.0", "@aws-sdk/util-buffer-from": "3.186.0", @@ -2105,6 +1918,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.186.0.tgz", "integrity": "sha512-hjeZKqORhG2DPWYZ776lQ9YO3gjw166vZHZCZU/43kEYaCZHsF4mexHwHzreAY6RfS25cH60Um7dUh1aeVIpkw==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" @@ -2114,6 +1928,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.186.0.tgz", "integrity": "sha512-fObm+P6mjWYzxoFY4y2STHBmSdgKbIAXez0xope563mox62I8I4hhVPUCaDVydXvDpJv8tbedJMk0meJl22+xA==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.3.1" }, @@ -2125,6 +1940,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.186.0.tgz", "integrity": "sha512-Ol3c1ks3IK1s+Okc/rHIX7w2WpXofuQdoAEme37gHeml+8FtUlWH/881h62xfMdf+0YZpRuYv/eM7lBmJBPNJw==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/protocol-http": "3.186.0", "@aws-sdk/types": "3.186.0", @@ -2138,6 +1954,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.186.0.tgz", "integrity": "sha512-5bTzrRzP2IGwyF3QCyMGtSXpOOud537x32htZf344IvVjrqZF/P8CDfGTkHkeBCIH+wnJxjK+l/QBb3ypAMIqQ==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/protocol-http": "3.186.0", "@aws-sdk/types": "3.186.0", @@ -2151,6 +1968,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.186.0.tgz", "integrity": "sha512-/1gGBImQT8xYh80pB7QtyzA799TqXtLZYQUohWAsFReYB7fdh5o+mu2rX0FNzZnrLIh2zBUNs4yaWGsnab4uXg==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" @@ -2163,6 +1981,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.186.0.tgz", "integrity": "sha512-/VI9emEKhhDzlNv9lQMmkyxx3GjJ8yPfXH3HuAeOgM1wx1BjCTLRYEWnTbQwq7BDzVENdneleCsGAp7yaj80Aw==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/protocol-http": "3.186.0", "@aws-sdk/service-error-classification": "3.186.0", @@ -2179,6 +1998,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.186.0.tgz", "integrity": "sha512-6FEAz70RNf18fKL5O7CepPSwTKJEIoyG9zU6p17GzKMgPeFsxS5xO94Hcq5tV2/CqeHliebjqhKY7yi+Pgok7g==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" @@ -2191,6 +2011,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.186.0.tgz", "integrity": "sha512-riCJYG/LlF/rkgVbHkr4xJscc0/sECzDivzTaUmfb9kJhAwGxCyNqnTvg0q6UO00kxSdEB9zNZI2/iJYVBijBQ==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/property-provider": "3.186.0", "@aws-sdk/protocol-http": "3.186.0", @@ -2207,6 +2028,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.186.0.tgz", "integrity": "sha512-fENMoo0pW7UBrbuycPf+3WZ+fcUgP9PnQ0jcOK3WWZlZ9d2ewh4HNxLh4EE3NkNYj4VIUFXtTUuVNHlG8trXjQ==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.3.1" }, @@ -2218,6 +2040,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.186.0.tgz", "integrity": "sha512-fb+F2PF9DLKOVMgmhkr+ltN8ZhNJavTla9aqmbd01846OLEaN1n5xEnV7p8q5+EznVBWDF38Oz9Ae5BMt3Hs7w==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/protocol-http": "3.186.0", "@aws-sdk/types": "3.186.0", @@ -2231,6 +2054,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.186.0.tgz", "integrity": "sha512-De93mgmtuUUeoiKXU8pVHXWKPBfJQlS/lh1k2H9T2Pd9Tzi0l7p5ttddx4BsEx4gk+Pc5flNz+DeptiSjZpa4A==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/property-provider": "3.186.0", "@aws-sdk/shared-ini-file-loader": "3.186.0", @@ -2245,6 +2069,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.186.0.tgz", "integrity": "sha512-CbkbDuPZT9UNJ4dAZJWB3BV+Z65wFy7OduqGkzNNrKq6ZYMUfehthhUOTk8vU6RMe/0FkN+J0fFXlBx/bs/cHw==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/abort-controller": "3.186.0", "@aws-sdk/protocol-http": "3.186.0", @@ -2260,6 +2085,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.186.0.tgz", "integrity": "sha512-nWKqt36UW3xV23RlHUmat+yevw9up+T+953nfjcmCBKtgWlCWu/aUzewTRhKj3VRscbN+Wer95SBw9Lr/MMOlQ==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" @@ -2272,6 +2098,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.186.0.tgz", "integrity": "sha512-l/KYr/UBDUU5ginqTgHtFfHR3X6ljf/1J1ThIiUg3C3kVC/Zwztm7BEOw8hHRWnWQGU/jYasGYcrcPLdQqFZyQ==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" @@ -2284,6 +2111,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.186.0.tgz", "integrity": "sha512-mweCpuLufImxfq/rRBTEpjGuB4xhQvbokA+otjnUxlPdIobytLqEs7pCGQfLzQ7+1ZMo8LBXt70RH4A2nSX/JQ==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.186.0", "@aws-sdk/util-uri-escape": "3.186.0", @@ -2297,6 +2125,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.186.0.tgz", "integrity": "sha512-0iYfEloghzPVXJjmnzHamNx1F1jIiTW9Svy5ZF9LVqyr/uHZcQuiWYsuhWloBMLs8mfWarkZM02WfxZ8buAuhg==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" @@ -2309,6 +2138,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.186.0.tgz", "integrity": "sha512-DRl3ORk4tF+jmH5uvftlfaq0IeKKpt0UPAOAFQ/JFWe+TjOcQd/K+VC0iiIG97YFp3aeFmH1JbEgsNxd+8fdxw==", + "license": "Apache-2.0", "engines": { "node": ">= 12.0.0" } @@ -2317,6 +2147,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.186.0.tgz", "integrity": "sha512-2FZqxmICtwN9CYid4dwfJSz/gGFHyStFQ3HCOQ8DsJUf2yREMSBsVmKqsyWgOrYcQ98gPcD5GIa7QO5yl3XF6A==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" @@ -2329,6 +2160,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.186.0.tgz", "integrity": "sha512-18i96P5c4suMqwSNhnEOqhq4doqqyjH4fn0YV3F8TkekHPIWP4mtIJ0PWAN4eievqdtcKgD/GqVO6FaJG9texw==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/is-array-buffer": "3.186.0", "@aws-sdk/types": "3.186.0", @@ -2345,6 +2177,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.186.0.tgz", "integrity": "sha512-rdAxSFGSnrSprVJ6i1BXi65r4X14cuya6fYe8dSdgmFSa+U2ZevT97lb3tSINCUxBGeMXhENIzbVGkRZuMh+DQ==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/middleware-stack": "3.186.0", "@aws-sdk/types": "3.186.0", @@ -2358,6 +2191,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.186.0.tgz", "integrity": "sha512-NatmSU37U+XauMFJCdFI6nougC20JUFZar+ump5wVv0i54H+2Refg1YbFDxSs0FY28TSB9jfhWIpfFBmXgL5MQ==", + "license": "Apache-2.0", "engines": { "node": ">= 12.0.0" } @@ -2366,6 +2200,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.186.0.tgz", "integrity": "sha512-jfdJkKqJZp8qjjwEjIGDqbqTuajBsddw02f86WiL8bPqD8W13/hdqbG4Fpwc+Bm6GwR6/4MY6xWXFnk8jDUKeA==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/querystring-parser": "3.186.0", "@aws-sdk/types": "3.186.0", @@ -2376,6 +2211,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-browser/-/util-base64-browser-3.186.0.tgz", "integrity": "sha512-TpQL8opoFfzTwUDxKeon/vuc83kGXpYqjl6hR8WzmHoQgmFfdFlV+0KXZOohra1001OP3FhqvMqaYbO8p9vXVQ==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.3.1" } @@ -2384,6 +2220,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-node/-/util-base64-node-3.186.0.tgz", "integrity": "sha512-wH5Y/EQNBfGS4VkkmiMyZXU+Ak6VCoFM1GKWopV+sj03zR2D4FHexi4SxWwEBMpZCd6foMtihhbNBuPA5fnh6w==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/util-buffer-from": "3.186.0", "tslib": "^2.3.1" @@ -2396,6 +2233,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.186.0.tgz", "integrity": "sha512-zKtjkI/dkj9oGkjo+7fIz+I9KuHrVt1ROAeL4OmDESS8UZi3/O8uMDFMuCp8jft6H+WFuYH6qRVWAVwXMiasXw==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.3.1" } @@ -2404,6 +2242,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.186.0.tgz", "integrity": "sha512-U7Ii8u8Wvu9EnBWKKeuwkdrWto3c0j7LG677Spe6vtwWkvY70n9WGfiKHTgBpVeLNv8jvfcx5+H0UOPQK1o9SQ==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.3.1" }, @@ -2415,6 +2254,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.186.0.tgz", "integrity": "sha512-be2GCk2lsLWg/2V5Y+S4/9pOMXhOQo4DR4dIqBdR2R+jrMMHN9Xsr5QrkT6chcqLaJ/SBlwiAEEi3StMRmCOXA==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/is-array-buffer": "3.186.0", "tslib": "^2.3.1" @@ -2427,6 +2267,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.186.0.tgz", "integrity": "sha512-UL9rdgIZz1E/jpAfaKH8QgUxNK9VP5JPgoR0bSiaefMjnsoBh0x/VVMsfUyziOoJCMLebhJzFowtwrSKEGsxNg==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.3.1" }, @@ -2438,6 +2279,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.186.0.tgz", "integrity": "sha512-imtOrJFpIZAipAg8VmRqYwv1G/x4xzyoxOJ48ZSn1/ZGnKEEnB6n6E9gwYRebi4mlRuMSVeZwCPLq0ey5hReeQ==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.3.1" }, @@ -2449,6 +2291,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.186.0.tgz", "integrity": "sha512-fbRcTTutMk4YXY3A2LePI4jWSIeHOT8DaYavpc/9Xshz/WH9RTGMmokeVOcClRNBeDSi5cELPJJ7gx6SFD3ZlQ==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.186.0", "bowser": "^2.11.0", @@ -2459,6 +2302,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.186.0.tgz", "integrity": "sha512-oWZR7hN6NtOgnT6fUvHaafgbipQc2xJCRB93XHiF9aZGptGNLJzznIOP7uURdn0bTnF73ejbUXWLQIm8/6ue6w==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/node-config-provider": "3.186.0", "@aws-sdk/types": "3.186.0", @@ -2480,6 +2324,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.186.0.tgz", "integrity": "sha512-n+IdFYF/4qT2WxhMOCeig8LndDggaYHw3BJJtfIBZRiS16lgwcGYvOUmhCkn0aSlG1f/eyg9YZHQG0iz9eLdHQ==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.3.1" } @@ -2488,6 +2333,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-node/-/util-utf8-node-3.186.0.tgz", "integrity": "sha512-7qlE0dOVdjuRbZTb7HFywnHHCrsN7AeQiTnsWT63mjXGDbPeUWQQw3TrdI20um3cxZXnKoeudGq8K6zbXyQ4iA==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/util-buffer-from": "3.186.0", "tslib": "^2.3.1" @@ -2497,14 +2343,16 @@ } }, "node_modules/@aws-sdk/client-lex-runtime-v2/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" }, "node_modules/@aws-sdk/client-lex-runtime-v2/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==", + "license": "MIT", "bin": { "uuid": "dist/bin/uuid" } @@ -2513,6 +2361,7 @@ "version": "3.186.3", "resolved": "https://registry.npmjs.org/@aws-sdk/client-location/-/client-location-3.186.3.tgz", "integrity": "sha512-LCMFgoWfvKBnZhhtl93RLhrsHCalM7huaxErHSKoqWDBUDP0i7rOX73qW8E25j/vQ4emEkT0d6ts1rDu4EnlNw==", + "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-browser": "2.0.0", "@aws-crypto/sha256-js": "2.0.0", @@ -2557,6 +2406,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-2.0.2.tgz", "integrity": "sha512-5XDMQY98gMAf/WRTic5G++jfmS/VLM0rwpiOpaainKi4L0nqWMSB1SzsrEG5rjFZGYN6ZAefO+/Yta2dFM0kMw==", + "license": "Apache-2.0", "dependencies": { "tslib": "^1.11.1" } @@ -2564,12 +2414,14 @@ "node_modules/@aws-sdk/client-location/node_modules/@aws-crypto/ie11-detection/node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" }, "node_modules/@aws-sdk/client-location/node_modules/@aws-crypto/sha256-browser": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-2.0.0.tgz", "integrity": "sha512-rYXOQ8BFOaqMEHJrLHul/25ckWH6GTJtdLSajhlqGMx0PmSueAuvboCuZCTqEKlxR8CQOwRarxYMZZSYlhRA1A==", + "license": "Apache-2.0", "dependencies": { "@aws-crypto/ie11-detection": "^2.0.0", "@aws-crypto/sha256-js": "^2.0.0", @@ -2584,12 +2436,14 @@ "node_modules/@aws-sdk/client-location/node_modules/@aws-crypto/sha256-browser/node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" }, "node_modules/@aws-sdk/client-location/node_modules/@aws-crypto/sha256-js": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-2.0.0.tgz", "integrity": "sha512-VZY+mCY4Nmrs5WGfitmNqXzaE873fcIZDu54cbaDaaamsaTOP1DBImV9F4pICc3EHjQXujyE8jig+PFCaew9ig==", + "license": "Apache-2.0", "dependencies": { "@aws-crypto/util": "^2.0.0", "@aws-sdk/types": "^3.1.0", @@ -2599,12 +2453,14 @@ "node_modules/@aws-sdk/client-location/node_modules/@aws-crypto/sha256-js/node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" }, "node_modules/@aws-sdk/client-location/node_modules/@aws-crypto/supports-web-crypto": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-2.0.2.tgz", "integrity": "sha512-6mbSsLHwZ99CTOOswvCRP3C+VCWnzBf+1SnbWxzzJ9lR0mA0JnY2JEAhp8rqmTE0GPFy88rrM27ffgp62oErMQ==", + "license": "Apache-2.0", "dependencies": { "tslib": "^1.11.1" } @@ -2612,12 +2468,14 @@ "node_modules/@aws-sdk/client-location/node_modules/@aws-crypto/supports-web-crypto/node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" }, "node_modules/@aws-sdk/client-location/node_modules/@aws-crypto/util": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-2.0.2.tgz", "integrity": "sha512-Lgu5v/0e/BcrZ5m/IWqzPUf3UYFTy/PpeED+uc9SWUR1iZQL8XXbGQg10UfllwwBryO3hFF5dizK+78aoXC1eA==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "^3.110.0", "@aws-sdk/util-utf8-browser": "^3.0.0", @@ -2627,12 +2485,14 @@ "node_modules/@aws-sdk/client-location/node_modules/@aws-crypto/util/node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" }, "node_modules/@aws-sdk/client-location/node_modules/@aws-sdk/abort-controller": { "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.186.0.tgz", "integrity": "sha512-JFvvvtEcbYOvVRRXasi64Dd1VcOz5kJmPvtzsJ+HzMHvPbGGs/aopOJAZQJMJttzJmJwVTay0QL6yag9Kk8nYA==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" @@ -2645,6 +2505,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.186.0.tgz", "integrity": "sha512-l8DR7Q4grEn1fgo2/KvtIfIHJS33HGKPQnht8OPxkl0dMzOJ0jxjOw/tMbrIcPnr2T3Fi7LLcj3dY1Fo1poruQ==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/signature-v4": "3.186.0", "@aws-sdk/types": "3.186.0", @@ -2660,6 +2521,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.186.0.tgz", "integrity": "sha512-N9LPAqi1lsQWgxzmU4NPvLPnCN5+IQ3Ai1IFf3wM6FFPNoSUd1kIA2c6xaf0BE7j5Kelm0raZOb4LnV3TBAv+g==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/property-provider": "3.186.0", "@aws-sdk/types": "3.186.0", @@ -2673,6 +2535,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.186.0.tgz", "integrity": "sha512-iJeC7KrEgPPAuXjCZ3ExYZrRQvzpSdTZopYgUm5TnNZ8S1NU/4nvv5xVy61JvMj3JQAeG8UDYYgC421Foc8wQw==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/node-config-provider": "3.186.0", "@aws-sdk/property-provider": "3.186.0", @@ -2688,6 +2551,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.186.0.tgz", "integrity": "sha512-ecrFh3MoZhAj5P2k/HXo/hMJQ3sfmvlommzXuZ/D1Bj2yMcyWuBhF1A83Fwd2gtYrWRrllsK3IOMM5Jr8UIVZA==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/credential-provider-env": "3.186.0", "@aws-sdk/credential-provider-imds": "3.186.0", @@ -2706,6 +2570,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.186.0.tgz", "integrity": "sha512-HIt2XhSRhEvVgRxTveLCzIkd/SzEBQfkQ6xMJhkBtfJw1o3+jeCk+VysXM0idqmXytctL0O3g9cvvTHOsUgxOA==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/credential-provider-env": "3.186.0", "@aws-sdk/credential-provider-imds": "3.186.0", @@ -2726,6 +2591,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.186.0.tgz", "integrity": "sha512-ATRU6gbXvWC1TLnjOEZugC/PBXHBoZgBADid4fDcEQY1vF5e5Ux1kmqkJxyHtV5Wl8sE2uJfwWn+FlpUHRX67g==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/property-provider": "3.186.0", "@aws-sdk/shared-ini-file-loader": "3.186.0", @@ -2740,6 +2606,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.186.0.tgz", "integrity": "sha512-k2v4AAHRD76WnLg7arH94EvIclClo/YfuqO7NoQ6/KwOxjRhs4G6TgIsAZ9E0xmqoJoV81Xqy8H8ldfy9F8LEw==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/protocol-http": "3.186.0", "@aws-sdk/querystring-builder": "3.186.0", @@ -2752,6 +2619,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.186.0.tgz", "integrity": "sha512-G3zuK8/3KExDTxqrGqko+opOMLRF0BwcwekV/wm3GKIM/NnLhHblBs2zd/yi7VsEoWmuzibfp6uzxgFpEoJ87w==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.186.0", "@aws-sdk/util-buffer-from": "3.186.0", @@ -2765,6 +2633,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.186.0.tgz", "integrity": "sha512-hjeZKqORhG2DPWYZ776lQ9YO3gjw166vZHZCZU/43kEYaCZHsF4mexHwHzreAY6RfS25cH60Um7dUh1aeVIpkw==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" @@ -2774,6 +2643,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.186.0.tgz", "integrity": "sha512-fObm+P6mjWYzxoFY4y2STHBmSdgKbIAXez0xope563mox62I8I4hhVPUCaDVydXvDpJv8tbedJMk0meJl22+xA==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.3.1" }, @@ -2785,6 +2655,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.186.0.tgz", "integrity": "sha512-Ol3c1ks3IK1s+Okc/rHIX7w2WpXofuQdoAEme37gHeml+8FtUlWH/881h62xfMdf+0YZpRuYv/eM7lBmJBPNJw==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/protocol-http": "3.186.0", "@aws-sdk/types": "3.186.0", @@ -2798,6 +2669,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.186.0.tgz", "integrity": "sha512-5bTzrRzP2IGwyF3QCyMGtSXpOOud537x32htZf344IvVjrqZF/P8CDfGTkHkeBCIH+wnJxjK+l/QBb3ypAMIqQ==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/protocol-http": "3.186.0", "@aws-sdk/types": "3.186.0", @@ -2811,6 +2683,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.186.0.tgz", "integrity": "sha512-/1gGBImQT8xYh80pB7QtyzA799TqXtLZYQUohWAsFReYB7fdh5o+mu2rX0FNzZnrLIh2zBUNs4yaWGsnab4uXg==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" @@ -2823,6 +2696,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.186.0.tgz", "integrity": "sha512-/VI9emEKhhDzlNv9lQMmkyxx3GjJ8yPfXH3HuAeOgM1wx1BjCTLRYEWnTbQwq7BDzVENdneleCsGAp7yaj80Aw==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/protocol-http": "3.186.0", "@aws-sdk/service-error-classification": "3.186.0", @@ -2839,6 +2713,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.186.0.tgz", "integrity": "sha512-6FEAz70RNf18fKL5O7CepPSwTKJEIoyG9zU6p17GzKMgPeFsxS5xO94Hcq5tV2/CqeHliebjqhKY7yi+Pgok7g==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" @@ -2851,6 +2726,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.186.0.tgz", "integrity": "sha512-riCJYG/LlF/rkgVbHkr4xJscc0/sECzDivzTaUmfb9kJhAwGxCyNqnTvg0q6UO00kxSdEB9zNZI2/iJYVBijBQ==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/property-provider": "3.186.0", "@aws-sdk/protocol-http": "3.186.0", @@ -2867,6 +2743,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.186.0.tgz", "integrity": "sha512-fENMoo0pW7UBrbuycPf+3WZ+fcUgP9PnQ0jcOK3WWZlZ9d2ewh4HNxLh4EE3NkNYj4VIUFXtTUuVNHlG8trXjQ==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.3.1" }, @@ -2878,6 +2755,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.186.0.tgz", "integrity": "sha512-fb+F2PF9DLKOVMgmhkr+ltN8ZhNJavTla9aqmbd01846OLEaN1n5xEnV7p8q5+EznVBWDF38Oz9Ae5BMt3Hs7w==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/protocol-http": "3.186.0", "@aws-sdk/types": "3.186.0", @@ -2891,6 +2769,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.186.0.tgz", "integrity": "sha512-De93mgmtuUUeoiKXU8pVHXWKPBfJQlS/lh1k2H9T2Pd9Tzi0l7p5ttddx4BsEx4gk+Pc5flNz+DeptiSjZpa4A==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/property-provider": "3.186.0", "@aws-sdk/shared-ini-file-loader": "3.186.0", @@ -2905,6 +2784,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.186.0.tgz", "integrity": "sha512-CbkbDuPZT9UNJ4dAZJWB3BV+Z65wFy7OduqGkzNNrKq6ZYMUfehthhUOTk8vU6RMe/0FkN+J0fFXlBx/bs/cHw==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/abort-controller": "3.186.0", "@aws-sdk/protocol-http": "3.186.0", @@ -2920,6 +2800,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.186.0.tgz", "integrity": "sha512-nWKqt36UW3xV23RlHUmat+yevw9up+T+953nfjcmCBKtgWlCWu/aUzewTRhKj3VRscbN+Wer95SBw9Lr/MMOlQ==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" @@ -2932,6 +2813,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.186.0.tgz", "integrity": "sha512-l/KYr/UBDUU5ginqTgHtFfHR3X6ljf/1J1ThIiUg3C3kVC/Zwztm7BEOw8hHRWnWQGU/jYasGYcrcPLdQqFZyQ==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" @@ -2944,6 +2826,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.186.0.tgz", "integrity": "sha512-mweCpuLufImxfq/rRBTEpjGuB4xhQvbokA+otjnUxlPdIobytLqEs7pCGQfLzQ7+1ZMo8LBXt70RH4A2nSX/JQ==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.186.0", "@aws-sdk/util-uri-escape": "3.186.0", @@ -2957,6 +2840,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.186.0.tgz", "integrity": "sha512-0iYfEloghzPVXJjmnzHamNx1F1jIiTW9Svy5ZF9LVqyr/uHZcQuiWYsuhWloBMLs8mfWarkZM02WfxZ8buAuhg==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" @@ -2969,6 +2853,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.186.0.tgz", "integrity": "sha512-DRl3ORk4tF+jmH5uvftlfaq0IeKKpt0UPAOAFQ/JFWe+TjOcQd/K+VC0iiIG97YFp3aeFmH1JbEgsNxd+8fdxw==", + "license": "Apache-2.0", "engines": { "node": ">= 12.0.0" } @@ -2977,6 +2862,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.186.0.tgz", "integrity": "sha512-2FZqxmICtwN9CYid4dwfJSz/gGFHyStFQ3HCOQ8DsJUf2yREMSBsVmKqsyWgOrYcQ98gPcD5GIa7QO5yl3XF6A==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" @@ -2989,6 +2875,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.186.0.tgz", "integrity": "sha512-18i96P5c4suMqwSNhnEOqhq4doqqyjH4fn0YV3F8TkekHPIWP4mtIJ0PWAN4eievqdtcKgD/GqVO6FaJG9texw==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/is-array-buffer": "3.186.0", "@aws-sdk/types": "3.186.0", @@ -3005,6 +2892,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.186.0.tgz", "integrity": "sha512-rdAxSFGSnrSprVJ6i1BXi65r4X14cuya6fYe8dSdgmFSa+U2ZevT97lb3tSINCUxBGeMXhENIzbVGkRZuMh+DQ==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/middleware-stack": "3.186.0", "@aws-sdk/types": "3.186.0", @@ -3018,6 +2906,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.186.0.tgz", "integrity": "sha512-NatmSU37U+XauMFJCdFI6nougC20JUFZar+ump5wVv0i54H+2Refg1YbFDxSs0FY28TSB9jfhWIpfFBmXgL5MQ==", + "license": "Apache-2.0", "engines": { "node": ">= 12.0.0" } @@ -3026,6 +2915,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.186.0.tgz", "integrity": "sha512-jfdJkKqJZp8qjjwEjIGDqbqTuajBsddw02f86WiL8bPqD8W13/hdqbG4Fpwc+Bm6GwR6/4MY6xWXFnk8jDUKeA==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/querystring-parser": "3.186.0", "@aws-sdk/types": "3.186.0", @@ -3036,6 +2926,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-browser/-/util-base64-browser-3.186.0.tgz", "integrity": "sha512-TpQL8opoFfzTwUDxKeon/vuc83kGXpYqjl6hR8WzmHoQgmFfdFlV+0KXZOohra1001OP3FhqvMqaYbO8p9vXVQ==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.3.1" } @@ -3044,6 +2935,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-node/-/util-base64-node-3.186.0.tgz", "integrity": "sha512-wH5Y/EQNBfGS4VkkmiMyZXU+Ak6VCoFM1GKWopV+sj03zR2D4FHexi4SxWwEBMpZCd6foMtihhbNBuPA5fnh6w==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/util-buffer-from": "3.186.0", "tslib": "^2.3.1" @@ -3056,6 +2948,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.186.0.tgz", "integrity": "sha512-zKtjkI/dkj9oGkjo+7fIz+I9KuHrVt1ROAeL4OmDESS8UZi3/O8uMDFMuCp8jft6H+WFuYH6qRVWAVwXMiasXw==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.3.1" } @@ -3064,6 +2957,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.186.0.tgz", "integrity": "sha512-U7Ii8u8Wvu9EnBWKKeuwkdrWto3c0j7LG677Spe6vtwWkvY70n9WGfiKHTgBpVeLNv8jvfcx5+H0UOPQK1o9SQ==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.3.1" }, @@ -3075,6 +2969,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.186.0.tgz", "integrity": "sha512-be2GCk2lsLWg/2V5Y+S4/9pOMXhOQo4DR4dIqBdR2R+jrMMHN9Xsr5QrkT6chcqLaJ/SBlwiAEEi3StMRmCOXA==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/is-array-buffer": "3.186.0", "tslib": "^2.3.1" @@ -3087,6 +2982,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.186.0.tgz", "integrity": "sha512-UL9rdgIZz1E/jpAfaKH8QgUxNK9VP5JPgoR0bSiaefMjnsoBh0x/VVMsfUyziOoJCMLebhJzFowtwrSKEGsxNg==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.3.1" }, @@ -3098,6 +2994,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.186.0.tgz", "integrity": "sha512-imtOrJFpIZAipAg8VmRqYwv1G/x4xzyoxOJ48ZSn1/ZGnKEEnB6n6E9gwYRebi4mlRuMSVeZwCPLq0ey5hReeQ==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.3.1" }, @@ -3109,6 +3006,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.186.0.tgz", "integrity": "sha512-fbRcTTutMk4YXY3A2LePI4jWSIeHOT8DaYavpc/9Xshz/WH9RTGMmokeVOcClRNBeDSi5cELPJJ7gx6SFD3ZlQ==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.186.0", "bowser": "^2.11.0", @@ -3119,6 +3017,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.186.0.tgz", "integrity": "sha512-oWZR7hN6NtOgnT6fUvHaafgbipQc2xJCRB93XHiF9aZGptGNLJzznIOP7uURdn0bTnF73ejbUXWLQIm8/6ue6w==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/node-config-provider": "3.186.0", "@aws-sdk/types": "3.186.0", @@ -3140,6 +3039,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.186.0.tgz", "integrity": "sha512-n+IdFYF/4qT2WxhMOCeig8LndDggaYHw3BJJtfIBZRiS16lgwcGYvOUmhCkn0aSlG1f/eyg9YZHQG0iz9eLdHQ==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.3.1" } @@ -3148,6 +3048,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-node/-/util-utf8-node-3.186.0.tgz", "integrity": "sha512-7qlE0dOVdjuRbZTb7HFywnHHCrsN7AeQiTnsWT63mjXGDbPeUWQQw3TrdI20um3cxZXnKoeudGq8K6zbXyQ4iA==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/util-buffer-from": "3.186.0", "tslib": "^2.3.1" @@ -3157,14 +3058,16 @@ } }, "node_modules/@aws-sdk/client-location/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" }, "node_modules/@aws-sdk/client-location/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==", + "license": "MIT", "bin": { "uuid": "dist/bin/uuid" } @@ -3173,6 +3076,7 @@ "version": "3.6.1", "resolved": "https://registry.npmjs.org/@aws-sdk/client-personalize-events/-/client-personalize-events-3.6.1.tgz", "integrity": "sha512-x9Jl/7emSQsB6GwBvjyw5BiSO26CnH4uvjNit6n54yNMtJ26q0+oIxkplnUDyjLTfLRe373c/z5/4dQQtDffkw==", + "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-browser": "^1.0.0", "@aws-crypto/sha256-js": "^1.0.0", @@ -3214,6 +3118,7 @@ "version": "3.6.1", "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.6.1.tgz", "integrity": "sha512-gZPySY6JU5gswnw3nGOEHl3tYE7vPKvtXGYoS2NRabfDKRejFvu+4/nNW6SSpoOxk6LSXsrWB39NO51k+G4PVA==", + "license": "Apache-2.0", "dependencies": { "tslib": "^1.8.0" } @@ -3221,17 +3126,20 @@ "node_modules/@aws-sdk/client-personalize-events/node_modules/@aws-sdk/util-utf8-browser/node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" }, "node_modules/@aws-sdk/client-personalize-events/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" }, "node_modules/@aws-sdk/client-polly": { "version": "3.6.1", "resolved": "https://registry.npmjs.org/@aws-sdk/client-polly/-/client-polly-3.6.1.tgz", "integrity": "sha512-y6fxVYndGS7z2KqHViPCqagBEOsZlxBUYUJZuD6WWTiQrI0Pwe5qG02oKJVaa5OmxE20QLf6bRBWj2rQpeF4IQ==", + "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-browser": "^1.0.0", "@aws-crypto/sha256-js": "^1.0.0", @@ -3273,6 +3181,7 @@ "version": "3.6.1", "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.6.1.tgz", "integrity": "sha512-gZPySY6JU5gswnw3nGOEHl3tYE7vPKvtXGYoS2NRabfDKRejFvu+4/nNW6SSpoOxk6LSXsrWB39NO51k+G4PVA==", + "license": "Apache-2.0", "dependencies": { "tslib": "^1.8.0" } @@ -3280,17 +3189,20 @@ "node_modules/@aws-sdk/client-polly/node_modules/@aws-sdk/util-utf8-browser/node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" }, "node_modules/@aws-sdk/client-polly/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" }, "node_modules/@aws-sdk/client-rekognition": { "version": "3.6.1", "resolved": "https://registry.npmjs.org/@aws-sdk/client-rekognition/-/client-rekognition-3.6.1.tgz", "integrity": "sha512-Ia4FEog9RrI0IoDRbOJO6djwhVAAaEZutxEKrWbjrVz4bgib28L+V+yAio2SUneeirj8pNYXwBKPfoYOUqGHhA==", + "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-browser": "^1.0.0", "@aws-crypto/sha256-js": "^1.0.0", @@ -3333,6 +3245,7 @@ "version": "3.6.1", "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.6.1.tgz", "integrity": "sha512-gZPySY6JU5gswnw3nGOEHl3tYE7vPKvtXGYoS2NRabfDKRejFvu+4/nNW6SSpoOxk6LSXsrWB39NO51k+G4PVA==", + "license": "Apache-2.0", "dependencies": { "tslib": "^1.8.0" } @@ -3340,17 +3253,20 @@ "node_modules/@aws-sdk/client-rekognition/node_modules/@aws-sdk/util-utf8-browser/node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" }, "node_modules/@aws-sdk/client-rekognition/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" }, "node_modules/@aws-sdk/client-sso": { "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.186.0.tgz", "integrity": "sha512-qwLPomqq+fjvp42izzEpBEtGL2+dIlWH5pUCteV55hTEwHgo+m9LJPIrMWkPeoMBzqbNiu5n6+zihnwYlCIlEA==", + "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-browser": "2.0.0", "@aws-crypto/sha256-js": "2.0.0", @@ -3392,6 +3308,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-2.0.2.tgz", "integrity": "sha512-5XDMQY98gMAf/WRTic5G++jfmS/VLM0rwpiOpaainKi4L0nqWMSB1SzsrEG5rjFZGYN6ZAefO+/Yta2dFM0kMw==", + "license": "Apache-2.0", "dependencies": { "tslib": "^1.11.1" } @@ -3399,12 +3316,14 @@ "node_modules/@aws-sdk/client-sso/node_modules/@aws-crypto/ie11-detection/node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" }, "node_modules/@aws-sdk/client-sso/node_modules/@aws-crypto/sha256-browser": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-2.0.0.tgz", "integrity": "sha512-rYXOQ8BFOaqMEHJrLHul/25ckWH6GTJtdLSajhlqGMx0PmSueAuvboCuZCTqEKlxR8CQOwRarxYMZZSYlhRA1A==", + "license": "Apache-2.0", "dependencies": { "@aws-crypto/ie11-detection": "^2.0.0", "@aws-crypto/sha256-js": "^2.0.0", @@ -3419,12 +3338,14 @@ "node_modules/@aws-sdk/client-sso/node_modules/@aws-crypto/sha256-browser/node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" }, "node_modules/@aws-sdk/client-sso/node_modules/@aws-crypto/sha256-js": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-2.0.0.tgz", "integrity": "sha512-VZY+mCY4Nmrs5WGfitmNqXzaE873fcIZDu54cbaDaaamsaTOP1DBImV9F4pICc3EHjQXujyE8jig+PFCaew9ig==", + "license": "Apache-2.0", "dependencies": { "@aws-crypto/util": "^2.0.0", "@aws-sdk/types": "^3.1.0", @@ -3434,12 +3355,14 @@ "node_modules/@aws-sdk/client-sso/node_modules/@aws-crypto/sha256-js/node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" }, "node_modules/@aws-sdk/client-sso/node_modules/@aws-crypto/supports-web-crypto": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-2.0.2.tgz", "integrity": "sha512-6mbSsLHwZ99CTOOswvCRP3C+VCWnzBf+1SnbWxzzJ9lR0mA0JnY2JEAhp8rqmTE0GPFy88rrM27ffgp62oErMQ==", + "license": "Apache-2.0", "dependencies": { "tslib": "^1.11.1" } @@ -3447,12 +3370,14 @@ "node_modules/@aws-sdk/client-sso/node_modules/@aws-crypto/supports-web-crypto/node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" }, "node_modules/@aws-sdk/client-sso/node_modules/@aws-crypto/util": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-2.0.2.tgz", "integrity": "sha512-Lgu5v/0e/BcrZ5m/IWqzPUf3UYFTy/PpeED+uc9SWUR1iZQL8XXbGQg10UfllwwBryO3hFF5dizK+78aoXC1eA==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "^3.110.0", "@aws-sdk/util-utf8-browser": "^3.0.0", @@ -3462,12 +3387,14 @@ "node_modules/@aws-sdk/client-sso/node_modules/@aws-crypto/util/node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" }, "node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/abort-controller": { "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.186.0.tgz", "integrity": "sha512-JFvvvtEcbYOvVRRXasi64Dd1VcOz5kJmPvtzsJ+HzMHvPbGGs/aopOJAZQJMJttzJmJwVTay0QL6yag9Kk8nYA==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" @@ -3480,6 +3407,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.186.0.tgz", "integrity": "sha512-l8DR7Q4grEn1fgo2/KvtIfIHJS33HGKPQnht8OPxkl0dMzOJ0jxjOw/tMbrIcPnr2T3Fi7LLcj3dY1Fo1poruQ==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/signature-v4": "3.186.0", "@aws-sdk/types": "3.186.0", @@ -3495,6 +3423,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.186.0.tgz", "integrity": "sha512-k2v4AAHRD76WnLg7arH94EvIclClo/YfuqO7NoQ6/KwOxjRhs4G6TgIsAZ9E0xmqoJoV81Xqy8H8ldfy9F8LEw==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/protocol-http": "3.186.0", "@aws-sdk/querystring-builder": "3.186.0", @@ -3507,6 +3436,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.186.0.tgz", "integrity": "sha512-G3zuK8/3KExDTxqrGqko+opOMLRF0BwcwekV/wm3GKIM/NnLhHblBs2zd/yi7VsEoWmuzibfp6uzxgFpEoJ87w==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.186.0", "@aws-sdk/util-buffer-from": "3.186.0", @@ -3520,6 +3450,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.186.0.tgz", "integrity": "sha512-hjeZKqORhG2DPWYZ776lQ9YO3gjw166vZHZCZU/43kEYaCZHsF4mexHwHzreAY6RfS25cH60Um7dUh1aeVIpkw==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" @@ -3529,6 +3460,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.186.0.tgz", "integrity": "sha512-fObm+P6mjWYzxoFY4y2STHBmSdgKbIAXez0xope563mox62I8I4hhVPUCaDVydXvDpJv8tbedJMk0meJl22+xA==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.3.1" }, @@ -3540,6 +3472,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.186.0.tgz", "integrity": "sha512-Ol3c1ks3IK1s+Okc/rHIX7w2WpXofuQdoAEme37gHeml+8FtUlWH/881h62xfMdf+0YZpRuYv/eM7lBmJBPNJw==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/protocol-http": "3.186.0", "@aws-sdk/types": "3.186.0", @@ -3553,6 +3486,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.186.0.tgz", "integrity": "sha512-5bTzrRzP2IGwyF3QCyMGtSXpOOud537x32htZf344IvVjrqZF/P8CDfGTkHkeBCIH+wnJxjK+l/QBb3ypAMIqQ==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/protocol-http": "3.186.0", "@aws-sdk/types": "3.186.0", @@ -3566,6 +3500,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.186.0.tgz", "integrity": "sha512-/1gGBImQT8xYh80pB7QtyzA799TqXtLZYQUohWAsFReYB7fdh5o+mu2rX0FNzZnrLIh2zBUNs4yaWGsnab4uXg==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" @@ -3578,6 +3513,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.186.0.tgz", "integrity": "sha512-/VI9emEKhhDzlNv9lQMmkyxx3GjJ8yPfXH3HuAeOgM1wx1BjCTLRYEWnTbQwq7BDzVENdneleCsGAp7yaj80Aw==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/protocol-http": "3.186.0", "@aws-sdk/service-error-classification": "3.186.0", @@ -3594,6 +3530,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.186.0.tgz", "integrity": "sha512-6FEAz70RNf18fKL5O7CepPSwTKJEIoyG9zU6p17GzKMgPeFsxS5xO94Hcq5tV2/CqeHliebjqhKY7yi+Pgok7g==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" @@ -3606,6 +3543,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.186.0.tgz", "integrity": "sha512-fENMoo0pW7UBrbuycPf+3WZ+fcUgP9PnQ0jcOK3WWZlZ9d2ewh4HNxLh4EE3NkNYj4VIUFXtTUuVNHlG8trXjQ==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.3.1" }, @@ -3617,6 +3555,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.186.0.tgz", "integrity": "sha512-fb+F2PF9DLKOVMgmhkr+ltN8ZhNJavTla9aqmbd01846OLEaN1n5xEnV7p8q5+EznVBWDF38Oz9Ae5BMt3Hs7w==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/protocol-http": "3.186.0", "@aws-sdk/types": "3.186.0", @@ -3630,6 +3569,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.186.0.tgz", "integrity": "sha512-De93mgmtuUUeoiKXU8pVHXWKPBfJQlS/lh1k2H9T2Pd9Tzi0l7p5ttddx4BsEx4gk+Pc5flNz+DeptiSjZpa4A==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/property-provider": "3.186.0", "@aws-sdk/shared-ini-file-loader": "3.186.0", @@ -3644,6 +3584,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.186.0.tgz", "integrity": "sha512-CbkbDuPZT9UNJ4dAZJWB3BV+Z65wFy7OduqGkzNNrKq6ZYMUfehthhUOTk8vU6RMe/0FkN+J0fFXlBx/bs/cHw==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/abort-controller": "3.186.0", "@aws-sdk/protocol-http": "3.186.0", @@ -3659,6 +3600,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.186.0.tgz", "integrity": "sha512-nWKqt36UW3xV23RlHUmat+yevw9up+T+953nfjcmCBKtgWlCWu/aUzewTRhKj3VRscbN+Wer95SBw9Lr/MMOlQ==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" @@ -3671,6 +3613,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.186.0.tgz", "integrity": "sha512-l/KYr/UBDUU5ginqTgHtFfHR3X6ljf/1J1ThIiUg3C3kVC/Zwztm7BEOw8hHRWnWQGU/jYasGYcrcPLdQqFZyQ==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" @@ -3683,6 +3626,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.186.0.tgz", "integrity": "sha512-mweCpuLufImxfq/rRBTEpjGuB4xhQvbokA+otjnUxlPdIobytLqEs7pCGQfLzQ7+1ZMo8LBXt70RH4A2nSX/JQ==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.186.0", "@aws-sdk/util-uri-escape": "3.186.0", @@ -3696,6 +3640,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.186.0.tgz", "integrity": "sha512-0iYfEloghzPVXJjmnzHamNx1F1jIiTW9Svy5ZF9LVqyr/uHZcQuiWYsuhWloBMLs8mfWarkZM02WfxZ8buAuhg==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" @@ -3708,6 +3653,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.186.0.tgz", "integrity": "sha512-DRl3ORk4tF+jmH5uvftlfaq0IeKKpt0UPAOAFQ/JFWe+TjOcQd/K+VC0iiIG97YFp3aeFmH1JbEgsNxd+8fdxw==", + "license": "Apache-2.0", "engines": { "node": ">= 12.0.0" } @@ -3716,6 +3662,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.186.0.tgz", "integrity": "sha512-2FZqxmICtwN9CYid4dwfJSz/gGFHyStFQ3HCOQ8DsJUf2yREMSBsVmKqsyWgOrYcQ98gPcD5GIa7QO5yl3XF6A==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" @@ -3728,6 +3675,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.186.0.tgz", "integrity": "sha512-18i96P5c4suMqwSNhnEOqhq4doqqyjH4fn0YV3F8TkekHPIWP4mtIJ0PWAN4eievqdtcKgD/GqVO6FaJG9texw==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/is-array-buffer": "3.186.0", "@aws-sdk/types": "3.186.0", @@ -3744,6 +3692,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.186.0.tgz", "integrity": "sha512-rdAxSFGSnrSprVJ6i1BXi65r4X14cuya6fYe8dSdgmFSa+U2ZevT97lb3tSINCUxBGeMXhENIzbVGkRZuMh+DQ==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/middleware-stack": "3.186.0", "@aws-sdk/types": "3.186.0", @@ -3757,6 +3706,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.186.0.tgz", "integrity": "sha512-NatmSU37U+XauMFJCdFI6nougC20JUFZar+ump5wVv0i54H+2Refg1YbFDxSs0FY28TSB9jfhWIpfFBmXgL5MQ==", + "license": "Apache-2.0", "engines": { "node": ">= 12.0.0" } @@ -3765,6 +3715,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.186.0.tgz", "integrity": "sha512-jfdJkKqJZp8qjjwEjIGDqbqTuajBsddw02f86WiL8bPqD8W13/hdqbG4Fpwc+Bm6GwR6/4MY6xWXFnk8jDUKeA==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/querystring-parser": "3.186.0", "@aws-sdk/types": "3.186.0", @@ -3775,6 +3726,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-browser/-/util-base64-browser-3.186.0.tgz", "integrity": "sha512-TpQL8opoFfzTwUDxKeon/vuc83kGXpYqjl6hR8WzmHoQgmFfdFlV+0KXZOohra1001OP3FhqvMqaYbO8p9vXVQ==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.3.1" } @@ -3783,6 +3735,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-node/-/util-base64-node-3.186.0.tgz", "integrity": "sha512-wH5Y/EQNBfGS4VkkmiMyZXU+Ak6VCoFM1GKWopV+sj03zR2D4FHexi4SxWwEBMpZCd6foMtihhbNBuPA5fnh6w==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/util-buffer-from": "3.186.0", "tslib": "^2.3.1" @@ -3795,6 +3748,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.186.0.tgz", "integrity": "sha512-zKtjkI/dkj9oGkjo+7fIz+I9KuHrVt1ROAeL4OmDESS8UZi3/O8uMDFMuCp8jft6H+WFuYH6qRVWAVwXMiasXw==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.3.1" } @@ -3803,6 +3757,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.186.0.tgz", "integrity": "sha512-U7Ii8u8Wvu9EnBWKKeuwkdrWto3c0j7LG677Spe6vtwWkvY70n9WGfiKHTgBpVeLNv8jvfcx5+H0UOPQK1o9SQ==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.3.1" }, @@ -3814,6 +3769,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.186.0.tgz", "integrity": "sha512-be2GCk2lsLWg/2V5Y+S4/9pOMXhOQo4DR4dIqBdR2R+jrMMHN9Xsr5QrkT6chcqLaJ/SBlwiAEEi3StMRmCOXA==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/is-array-buffer": "3.186.0", "tslib": "^2.3.1" @@ -3826,6 +3782,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.186.0.tgz", "integrity": "sha512-UL9rdgIZz1E/jpAfaKH8QgUxNK9VP5JPgoR0bSiaefMjnsoBh0x/VVMsfUyziOoJCMLebhJzFowtwrSKEGsxNg==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.3.1" }, @@ -3837,6 +3794,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.186.0.tgz", "integrity": "sha512-imtOrJFpIZAipAg8VmRqYwv1G/x4xzyoxOJ48ZSn1/ZGnKEEnB6n6E9gwYRebi4mlRuMSVeZwCPLq0ey5hReeQ==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.3.1" }, @@ -3848,6 +3806,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.186.0.tgz", "integrity": "sha512-fbRcTTutMk4YXY3A2LePI4jWSIeHOT8DaYavpc/9Xshz/WH9RTGMmokeVOcClRNBeDSi5cELPJJ7gx6SFD3ZlQ==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.186.0", "bowser": "^2.11.0", @@ -3858,6 +3817,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.186.0.tgz", "integrity": "sha512-oWZR7hN6NtOgnT6fUvHaafgbipQc2xJCRB93XHiF9aZGptGNLJzznIOP7uURdn0bTnF73ejbUXWLQIm8/6ue6w==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/node-config-provider": "3.186.0", "@aws-sdk/types": "3.186.0", @@ -3879,6 +3839,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.186.0.tgz", "integrity": "sha512-n+IdFYF/4qT2WxhMOCeig8LndDggaYHw3BJJtfIBZRiS16lgwcGYvOUmhCkn0aSlG1f/eyg9YZHQG0iz9eLdHQ==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.3.1" } @@ -3887,6 +3848,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-node/-/util-utf8-node-3.186.0.tgz", "integrity": "sha512-7qlE0dOVdjuRbZTb7HFywnHHCrsN7AeQiTnsWT63mjXGDbPeUWQQw3TrdI20um3cxZXnKoeudGq8K6zbXyQ4iA==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/util-buffer-from": "3.186.0", "tslib": "^2.3.1" @@ -3896,14 +3858,16 @@ } }, "node_modules/@aws-sdk/client-sso/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" }, "node_modules/@aws-sdk/client-sso/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==", + "license": "MIT", "bin": { "uuid": "dist/bin/uuid" } @@ -3912,6 +3876,7 @@ "version": "3.186.3", "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.186.3.tgz", "integrity": "sha512-mnttdyYBtqO+FkDtOT3F1FGi8qD11fF5/3zYLaNuFFULqKneaIwW2YIsjFlgvPGpmoyo/tNplnZwhQ9xQtT3Sw==", + "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-browser": "2.0.0", "@aws-crypto/sha256-js": "2.0.0", @@ -3958,6 +3923,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-2.0.2.tgz", "integrity": "sha512-5XDMQY98gMAf/WRTic5G++jfmS/VLM0rwpiOpaainKi4L0nqWMSB1SzsrEG5rjFZGYN6ZAefO+/Yta2dFM0kMw==", + "license": "Apache-2.0", "dependencies": { "tslib": "^1.11.1" } @@ -3965,12 +3931,14 @@ "node_modules/@aws-sdk/client-sts/node_modules/@aws-crypto/ie11-detection/node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" }, "node_modules/@aws-sdk/client-sts/node_modules/@aws-crypto/sha256-browser": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-2.0.0.tgz", "integrity": "sha512-rYXOQ8BFOaqMEHJrLHul/25ckWH6GTJtdLSajhlqGMx0PmSueAuvboCuZCTqEKlxR8CQOwRarxYMZZSYlhRA1A==", + "license": "Apache-2.0", "dependencies": { "@aws-crypto/ie11-detection": "^2.0.0", "@aws-crypto/sha256-js": "^2.0.0", @@ -3985,12 +3953,14 @@ "node_modules/@aws-sdk/client-sts/node_modules/@aws-crypto/sha256-browser/node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" }, "node_modules/@aws-sdk/client-sts/node_modules/@aws-crypto/sha256-js": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-2.0.0.tgz", "integrity": "sha512-VZY+mCY4Nmrs5WGfitmNqXzaE873fcIZDu54cbaDaaamsaTOP1DBImV9F4pICc3EHjQXujyE8jig+PFCaew9ig==", + "license": "Apache-2.0", "dependencies": { "@aws-crypto/util": "^2.0.0", "@aws-sdk/types": "^3.1.0", @@ -4000,12 +3970,14 @@ "node_modules/@aws-sdk/client-sts/node_modules/@aws-crypto/sha256-js/node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" }, "node_modules/@aws-sdk/client-sts/node_modules/@aws-crypto/supports-web-crypto": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-2.0.2.tgz", "integrity": "sha512-6mbSsLHwZ99CTOOswvCRP3C+VCWnzBf+1SnbWxzzJ9lR0mA0JnY2JEAhp8rqmTE0GPFy88rrM27ffgp62oErMQ==", + "license": "Apache-2.0", "dependencies": { "tslib": "^1.11.1" } @@ -4013,12 +3985,14 @@ "node_modules/@aws-sdk/client-sts/node_modules/@aws-crypto/supports-web-crypto/node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" }, "node_modules/@aws-sdk/client-sts/node_modules/@aws-crypto/util": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-2.0.2.tgz", "integrity": "sha512-Lgu5v/0e/BcrZ5m/IWqzPUf3UYFTy/PpeED+uc9SWUR1iZQL8XXbGQg10UfllwwBryO3hFF5dizK+78aoXC1eA==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "^3.110.0", "@aws-sdk/util-utf8-browser": "^3.0.0", @@ -4028,12 +4002,14 @@ "node_modules/@aws-sdk/client-sts/node_modules/@aws-crypto/util/node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" }, "node_modules/@aws-sdk/client-sts/node_modules/@aws-sdk/abort-controller": { "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.186.0.tgz", "integrity": "sha512-JFvvvtEcbYOvVRRXasi64Dd1VcOz5kJmPvtzsJ+HzMHvPbGGs/aopOJAZQJMJttzJmJwVTay0QL6yag9Kk8nYA==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" @@ -4046,6 +4022,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.186.0.tgz", "integrity": "sha512-l8DR7Q4grEn1fgo2/KvtIfIHJS33HGKPQnht8OPxkl0dMzOJ0jxjOw/tMbrIcPnr2T3Fi7LLcj3dY1Fo1poruQ==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/signature-v4": "3.186.0", "@aws-sdk/types": "3.186.0", @@ -4061,6 +4038,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.186.0.tgz", "integrity": "sha512-N9LPAqi1lsQWgxzmU4NPvLPnCN5+IQ3Ai1IFf3wM6FFPNoSUd1kIA2c6xaf0BE7j5Kelm0raZOb4LnV3TBAv+g==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/property-provider": "3.186.0", "@aws-sdk/types": "3.186.0", @@ -4074,6 +4052,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.186.0.tgz", "integrity": "sha512-iJeC7KrEgPPAuXjCZ3ExYZrRQvzpSdTZopYgUm5TnNZ8S1NU/4nvv5xVy61JvMj3JQAeG8UDYYgC421Foc8wQw==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/node-config-provider": "3.186.0", "@aws-sdk/property-provider": "3.186.0", @@ -4089,6 +4068,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.186.0.tgz", "integrity": "sha512-ecrFh3MoZhAj5P2k/HXo/hMJQ3sfmvlommzXuZ/D1Bj2yMcyWuBhF1A83Fwd2gtYrWRrllsK3IOMM5Jr8UIVZA==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/credential-provider-env": "3.186.0", "@aws-sdk/credential-provider-imds": "3.186.0", @@ -4107,6 +4087,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.186.0.tgz", "integrity": "sha512-HIt2XhSRhEvVgRxTveLCzIkd/SzEBQfkQ6xMJhkBtfJw1o3+jeCk+VysXM0idqmXytctL0O3g9cvvTHOsUgxOA==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/credential-provider-env": "3.186.0", "@aws-sdk/credential-provider-imds": "3.186.0", @@ -4127,6 +4108,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.186.0.tgz", "integrity": "sha512-ATRU6gbXvWC1TLnjOEZugC/PBXHBoZgBADid4fDcEQY1vF5e5Ux1kmqkJxyHtV5Wl8sE2uJfwWn+FlpUHRX67g==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/property-provider": "3.186.0", "@aws-sdk/shared-ini-file-loader": "3.186.0", @@ -4141,6 +4123,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.186.0.tgz", "integrity": "sha512-k2v4AAHRD76WnLg7arH94EvIclClo/YfuqO7NoQ6/KwOxjRhs4G6TgIsAZ9E0xmqoJoV81Xqy8H8ldfy9F8LEw==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/protocol-http": "3.186.0", "@aws-sdk/querystring-builder": "3.186.0", @@ -4153,6 +4136,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.186.0.tgz", "integrity": "sha512-G3zuK8/3KExDTxqrGqko+opOMLRF0BwcwekV/wm3GKIM/NnLhHblBs2zd/yi7VsEoWmuzibfp6uzxgFpEoJ87w==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.186.0", "@aws-sdk/util-buffer-from": "3.186.0", @@ -4166,6 +4150,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.186.0.tgz", "integrity": "sha512-hjeZKqORhG2DPWYZ776lQ9YO3gjw166vZHZCZU/43kEYaCZHsF4mexHwHzreAY6RfS25cH60Um7dUh1aeVIpkw==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" @@ -4175,6 +4160,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.186.0.tgz", "integrity": "sha512-fObm+P6mjWYzxoFY4y2STHBmSdgKbIAXez0xope563mox62I8I4hhVPUCaDVydXvDpJv8tbedJMk0meJl22+xA==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.3.1" }, @@ -4186,6 +4172,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.186.0.tgz", "integrity": "sha512-Ol3c1ks3IK1s+Okc/rHIX7w2WpXofuQdoAEme37gHeml+8FtUlWH/881h62xfMdf+0YZpRuYv/eM7lBmJBPNJw==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/protocol-http": "3.186.0", "@aws-sdk/types": "3.186.0", @@ -4199,6 +4186,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.186.0.tgz", "integrity": "sha512-5bTzrRzP2IGwyF3QCyMGtSXpOOud537x32htZf344IvVjrqZF/P8CDfGTkHkeBCIH+wnJxjK+l/QBb3ypAMIqQ==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/protocol-http": "3.186.0", "@aws-sdk/types": "3.186.0", @@ -4212,6 +4200,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.186.0.tgz", "integrity": "sha512-/1gGBImQT8xYh80pB7QtyzA799TqXtLZYQUohWAsFReYB7fdh5o+mu2rX0FNzZnrLIh2zBUNs4yaWGsnab4uXg==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" @@ -4224,6 +4213,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.186.0.tgz", "integrity": "sha512-/VI9emEKhhDzlNv9lQMmkyxx3GjJ8yPfXH3HuAeOgM1wx1BjCTLRYEWnTbQwq7BDzVENdneleCsGAp7yaj80Aw==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/protocol-http": "3.186.0", "@aws-sdk/service-error-classification": "3.186.0", @@ -4240,6 +4230,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.186.0.tgz", "integrity": "sha512-6FEAz70RNf18fKL5O7CepPSwTKJEIoyG9zU6p17GzKMgPeFsxS5xO94Hcq5tV2/CqeHliebjqhKY7yi+Pgok7g==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" @@ -4252,6 +4243,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.186.0.tgz", "integrity": "sha512-riCJYG/LlF/rkgVbHkr4xJscc0/sECzDivzTaUmfb9kJhAwGxCyNqnTvg0q6UO00kxSdEB9zNZI2/iJYVBijBQ==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/property-provider": "3.186.0", "@aws-sdk/protocol-http": "3.186.0", @@ -4268,6 +4260,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.186.0.tgz", "integrity": "sha512-fENMoo0pW7UBrbuycPf+3WZ+fcUgP9PnQ0jcOK3WWZlZ9d2ewh4HNxLh4EE3NkNYj4VIUFXtTUuVNHlG8trXjQ==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.3.1" }, @@ -4279,6 +4272,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.186.0.tgz", "integrity": "sha512-fb+F2PF9DLKOVMgmhkr+ltN8ZhNJavTla9aqmbd01846OLEaN1n5xEnV7p8q5+EznVBWDF38Oz9Ae5BMt3Hs7w==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/protocol-http": "3.186.0", "@aws-sdk/types": "3.186.0", @@ -4292,6 +4286,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.186.0.tgz", "integrity": "sha512-De93mgmtuUUeoiKXU8pVHXWKPBfJQlS/lh1k2H9T2Pd9Tzi0l7p5ttddx4BsEx4gk+Pc5flNz+DeptiSjZpa4A==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/property-provider": "3.186.0", "@aws-sdk/shared-ini-file-loader": "3.186.0", @@ -4306,6 +4301,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.186.0.tgz", "integrity": "sha512-CbkbDuPZT9UNJ4dAZJWB3BV+Z65wFy7OduqGkzNNrKq6ZYMUfehthhUOTk8vU6RMe/0FkN+J0fFXlBx/bs/cHw==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/abort-controller": "3.186.0", "@aws-sdk/protocol-http": "3.186.0", @@ -4321,6 +4317,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.186.0.tgz", "integrity": "sha512-nWKqt36UW3xV23RlHUmat+yevw9up+T+953nfjcmCBKtgWlCWu/aUzewTRhKj3VRscbN+Wer95SBw9Lr/MMOlQ==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" @@ -4333,6 +4330,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.186.0.tgz", "integrity": "sha512-l/KYr/UBDUU5ginqTgHtFfHR3X6ljf/1J1ThIiUg3C3kVC/Zwztm7BEOw8hHRWnWQGU/jYasGYcrcPLdQqFZyQ==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" @@ -4345,6 +4343,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.186.0.tgz", "integrity": "sha512-mweCpuLufImxfq/rRBTEpjGuB4xhQvbokA+otjnUxlPdIobytLqEs7pCGQfLzQ7+1ZMo8LBXt70RH4A2nSX/JQ==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.186.0", "@aws-sdk/util-uri-escape": "3.186.0", @@ -4358,6 +4357,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.186.0.tgz", "integrity": "sha512-0iYfEloghzPVXJjmnzHamNx1F1jIiTW9Svy5ZF9LVqyr/uHZcQuiWYsuhWloBMLs8mfWarkZM02WfxZ8buAuhg==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" @@ -4370,6 +4370,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.186.0.tgz", "integrity": "sha512-DRl3ORk4tF+jmH5uvftlfaq0IeKKpt0UPAOAFQ/JFWe+TjOcQd/K+VC0iiIG97YFp3aeFmH1JbEgsNxd+8fdxw==", + "license": "Apache-2.0", "engines": { "node": ">= 12.0.0" } @@ -4378,6 +4379,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.186.0.tgz", "integrity": "sha512-2FZqxmICtwN9CYid4dwfJSz/gGFHyStFQ3HCOQ8DsJUf2yREMSBsVmKqsyWgOrYcQ98gPcD5GIa7QO5yl3XF6A==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" @@ -4390,6 +4392,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.186.0.tgz", "integrity": "sha512-18i96P5c4suMqwSNhnEOqhq4doqqyjH4fn0YV3F8TkekHPIWP4mtIJ0PWAN4eievqdtcKgD/GqVO6FaJG9texw==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/is-array-buffer": "3.186.0", "@aws-sdk/types": "3.186.0", @@ -4406,6 +4409,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.186.0.tgz", "integrity": "sha512-rdAxSFGSnrSprVJ6i1BXi65r4X14cuya6fYe8dSdgmFSa+U2ZevT97lb3tSINCUxBGeMXhENIzbVGkRZuMh+DQ==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/middleware-stack": "3.186.0", "@aws-sdk/types": "3.186.0", @@ -4419,6 +4423,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.186.0.tgz", "integrity": "sha512-NatmSU37U+XauMFJCdFI6nougC20JUFZar+ump5wVv0i54H+2Refg1YbFDxSs0FY28TSB9jfhWIpfFBmXgL5MQ==", + "license": "Apache-2.0", "engines": { "node": ">= 12.0.0" } @@ -4427,6 +4432,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.186.0.tgz", "integrity": "sha512-jfdJkKqJZp8qjjwEjIGDqbqTuajBsddw02f86WiL8bPqD8W13/hdqbG4Fpwc+Bm6GwR6/4MY6xWXFnk8jDUKeA==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/querystring-parser": "3.186.0", "@aws-sdk/types": "3.186.0", @@ -4437,6 +4443,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-browser/-/util-base64-browser-3.186.0.tgz", "integrity": "sha512-TpQL8opoFfzTwUDxKeon/vuc83kGXpYqjl6hR8WzmHoQgmFfdFlV+0KXZOohra1001OP3FhqvMqaYbO8p9vXVQ==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.3.1" } @@ -4445,6 +4452,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-node/-/util-base64-node-3.186.0.tgz", "integrity": "sha512-wH5Y/EQNBfGS4VkkmiMyZXU+Ak6VCoFM1GKWopV+sj03zR2D4FHexi4SxWwEBMpZCd6foMtihhbNBuPA5fnh6w==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/util-buffer-from": "3.186.0", "tslib": "^2.3.1" @@ -4457,6 +4465,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.186.0.tgz", "integrity": "sha512-zKtjkI/dkj9oGkjo+7fIz+I9KuHrVt1ROAeL4OmDESS8UZi3/O8uMDFMuCp8jft6H+WFuYH6qRVWAVwXMiasXw==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.3.1" } @@ -4465,6 +4474,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.186.0.tgz", "integrity": "sha512-U7Ii8u8Wvu9EnBWKKeuwkdrWto3c0j7LG677Spe6vtwWkvY70n9WGfiKHTgBpVeLNv8jvfcx5+H0UOPQK1o9SQ==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.3.1" }, @@ -4476,6 +4486,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.186.0.tgz", "integrity": "sha512-be2GCk2lsLWg/2V5Y+S4/9pOMXhOQo4DR4dIqBdR2R+jrMMHN9Xsr5QrkT6chcqLaJ/SBlwiAEEi3StMRmCOXA==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/is-array-buffer": "3.186.0", "tslib": "^2.3.1" @@ -4488,6 +4499,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.186.0.tgz", "integrity": "sha512-UL9rdgIZz1E/jpAfaKH8QgUxNK9VP5JPgoR0bSiaefMjnsoBh0x/VVMsfUyziOoJCMLebhJzFowtwrSKEGsxNg==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.3.1" }, @@ -4499,6 +4511,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.186.0.tgz", "integrity": "sha512-imtOrJFpIZAipAg8VmRqYwv1G/x4xzyoxOJ48ZSn1/ZGnKEEnB6n6E9gwYRebi4mlRuMSVeZwCPLq0ey5hReeQ==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.3.1" }, @@ -4510,6 +4523,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.186.0.tgz", "integrity": "sha512-fbRcTTutMk4YXY3A2LePI4jWSIeHOT8DaYavpc/9Xshz/WH9RTGMmokeVOcClRNBeDSi5cELPJJ7gx6SFD3ZlQ==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.186.0", "bowser": "^2.11.0", @@ -4520,6 +4534,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.186.0.tgz", "integrity": "sha512-oWZR7hN6NtOgnT6fUvHaafgbipQc2xJCRB93XHiF9aZGptGNLJzznIOP7uURdn0bTnF73ejbUXWLQIm8/6ue6w==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/node-config-provider": "3.186.0", "@aws-sdk/types": "3.186.0", @@ -4541,6 +4556,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.186.0.tgz", "integrity": "sha512-n+IdFYF/4qT2WxhMOCeig8LndDggaYHw3BJJtfIBZRiS16lgwcGYvOUmhCkn0aSlG1f/eyg9YZHQG0iz9eLdHQ==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.3.1" } @@ -4549,6 +4565,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-node/-/util-utf8-node-3.186.0.tgz", "integrity": "sha512-7qlE0dOVdjuRbZTb7HFywnHHCrsN7AeQiTnsWT63mjXGDbPeUWQQw3TrdI20um3cxZXnKoeudGq8K6zbXyQ4iA==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/util-buffer-from": "3.186.0", "tslib": "^2.3.1" @@ -4558,14 +4575,16 @@ } }, "node_modules/@aws-sdk/client-sts/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" }, "node_modules/@aws-sdk/client-sts/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==", + "license": "MIT", "bin": { "uuid": "dist/bin/uuid" } @@ -4574,6 +4593,7 @@ "version": "3.6.1", "resolved": "https://registry.npmjs.org/@aws-sdk/client-textract/-/client-textract-3.6.1.tgz", "integrity": "sha512-nLrBzWDt3ToiGVFF4lW7a/eZpI2zjdvu7lwmOWyXX8iiPzhBVVEfd5oOorRyJYBsGMslp4sqV8TBkU5Ld/a97Q==", + "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-browser": "^1.0.0", "@aws-crypto/sha256-js": "^1.0.0", @@ -4615,6 +4635,7 @@ "version": "3.6.1", "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.6.1.tgz", "integrity": "sha512-gZPySY6JU5gswnw3nGOEHl3tYE7vPKvtXGYoS2NRabfDKRejFvu+4/nNW6SSpoOxk6LSXsrWB39NO51k+G4PVA==", + "license": "Apache-2.0", "dependencies": { "tslib": "^1.8.0" } @@ -4622,17 +4643,20 @@ "node_modules/@aws-sdk/client-textract/node_modules/@aws-sdk/util-utf8-browser/node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" }, "node_modules/@aws-sdk/client-textract/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" }, "node_modules/@aws-sdk/client-translate": { "version": "3.6.1", "resolved": "https://registry.npmjs.org/@aws-sdk/client-translate/-/client-translate-3.6.1.tgz", "integrity": "sha512-RIHY+Og1i43B5aWlfUUk0ZFnNfM7j2vzlYUwOqhndawV49GFf96M3pmskR5sKEZI+5TXY77qR9TgZ/r3UxVCRQ==", + "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-browser": "^1.0.0", "@aws-crypto/sha256-js": "^1.0.0", @@ -4675,6 +4699,7 @@ "version": "3.6.1", "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.6.1.tgz", "integrity": "sha512-gZPySY6JU5gswnw3nGOEHl3tYE7vPKvtXGYoS2NRabfDKRejFvu+4/nNW6SSpoOxk6LSXsrWB39NO51k+G4PVA==", + "license": "Apache-2.0", "dependencies": { "tslib": "^1.8.0" } @@ -4682,17 +4707,20 @@ "node_modules/@aws-sdk/client-translate/node_modules/@aws-sdk/util-utf8-browser/node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" }, "node_modules/@aws-sdk/client-translate/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" }, "node_modules/@aws-sdk/config-resolver": { "version": "3.6.1", "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.6.1.tgz", "integrity": "sha512-qjP1g3jLIm+XvOIJ4J7VmZRi87vsDmTRzIFePVeG+EFWwYQLxQjTGMdIj3yKTh1WuZ0HByf47mGcpiS4HZLm1Q==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/signature-v4": "3.6.1", "@aws-sdk/types": "3.6.1", @@ -4706,6 +4734,7 @@ "version": "3.6.1", "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.6.1.tgz", "integrity": "sha512-coeFf/HnhpGidcAN1i1NuFgyFB2M6DeN1zNVy4f6s4mAh96ftr9DgWM1CcE3C+cLHEdpNqleVgC/2VQpyzOBLQ==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/property-provider": "3.6.1", "@aws-sdk/types": "3.6.1", @@ -4719,6 +4748,7 @@ "version": "3.6.1", "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.6.1.tgz", "integrity": "sha512-bf4LMI418OYcQbyLZRAW8Q5AYM2IKrNqOnIcfrFn2f17ulG7TzoWW3WN/kMOw4TC9+y+vIlCWOv87GxU1yP0Bg==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/property-provider": "3.6.1", "@aws-sdk/types": "3.6.1", @@ -4732,6 +4762,7 @@ "version": "3.6.1", "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.6.1.tgz", "integrity": "sha512-3jguW6+ttRNddRZvbrs1yb3F1jrUbqyv0UfRoHuOGthjTt+L9sDpJaJGugYnT3bS9WBu1NydLVE2kDV++mJGVw==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/property-provider": "3.6.1", "@aws-sdk/shared-ini-file-loader": "3.6.1", @@ -4746,6 +4777,7 @@ "version": "3.6.1", "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.6.1.tgz", "integrity": "sha512-VAHOcsqkPrF1k/fA62pv9c75lUWe5bHpcbFX83C3EUPd2FXV10Lfkv6bdWhyZPQy0k8T+9/yikHH3c7ZQeFE5A==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/credential-provider-env": "3.6.1", "@aws-sdk/credential-provider-imds": "3.6.1", @@ -4764,6 +4796,7 @@ "version": "3.6.1", "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.6.1.tgz", "integrity": "sha512-d0/TpMoEV4qMYkdpyyjU2Otse9X2jC1DuxWajHOWZYEw8oejMvXYTZ10hNaXZvAcNM9q214rp+k4mkt6gIcI6g==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/credential-provider-ini": "3.6.1", "@aws-sdk/property-provider": "3.6.1", @@ -4779,6 +4812,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.186.0.tgz", "integrity": "sha512-mJ+IZljgXPx99HCmuLgBVDPLepHrwqnEEC/0wigrLCx6uz3SrAWmGZsNbxSEtb2CFSAaczlTHcU/kIl7XZIyeQ==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/client-sso": "3.186.0", "@aws-sdk/property-provider": "3.186.0", @@ -4794,6 +4828,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.186.0.tgz", "integrity": "sha512-nWKqt36UW3xV23RlHUmat+yevw9up+T+953nfjcmCBKtgWlCWu/aUzewTRhKj3VRscbN+Wer95SBw9Lr/MMOlQ==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" @@ -4806,6 +4841,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.186.0.tgz", "integrity": "sha512-2FZqxmICtwN9CYid4dwfJSz/gGFHyStFQ3HCOQ8DsJUf2yREMSBsVmKqsyWgOrYcQ98gPcD5GIa7QO5yl3XF6A==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" @@ -4818,19 +4854,22 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.186.0.tgz", "integrity": "sha512-NatmSU37U+XauMFJCdFI6nougC20JUFZar+ump5wVv0i54H+2Refg1YbFDxSs0FY28TSB9jfhWIpfFBmXgL5MQ==", + "license": "Apache-2.0", "engines": { "node": ">= 12.0.0" } }, "node_modules/@aws-sdk/credential-provider-sso/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" }, "node_modules/@aws-sdk/credential-provider-web-identity": { "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.186.0.tgz", "integrity": "sha512-KqzI5eBV72FE+8SuOQAu+r53RXGVHg4AuDJmdXyo7Gc4wS/B9FNElA8jVUjjYgVnf0FSiri+l41VzQ44dCopSA==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/property-provider": "3.186.0", "@aws-sdk/types": "3.186.0", @@ -4844,6 +4883,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.186.0.tgz", "integrity": "sha512-nWKqt36UW3xV23RlHUmat+yevw9up+T+953nfjcmCBKtgWlCWu/aUzewTRhKj3VRscbN+Wer95SBw9Lr/MMOlQ==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" @@ -4856,19 +4896,22 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.186.0.tgz", "integrity": "sha512-NatmSU37U+XauMFJCdFI6nougC20JUFZar+ump5wVv0i54H+2Refg1YbFDxSs0FY28TSB9jfhWIpfFBmXgL5MQ==", + "license": "Apache-2.0", "engines": { "node": ">= 12.0.0" } }, "node_modules/@aws-sdk/credential-provider-web-identity/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" }, "node_modules/@aws-sdk/eventstream-codec": { "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-codec/-/eventstream-codec-3.186.0.tgz", "integrity": "sha512-3kLcJ0/H+zxFlhTlE1SGoFpzd/SitwXOsTSlYVwrwdISKRjooGg0BJpm1CSTkvmWnQIUlYijJvS96TAJ+fCPIA==", + "license": "Apache-2.0", "dependencies": { "@aws-crypto/crc32": "2.0.0", "@aws-sdk/types": "3.186.0", @@ -4880,6 +4923,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.186.0.tgz", "integrity": "sha512-NatmSU37U+XauMFJCdFI6nougC20JUFZar+ump5wVv0i54H+2Refg1YbFDxSs0FY28TSB9jfhWIpfFBmXgL5MQ==", + "license": "Apache-2.0", "engines": { "node": ">= 12.0.0" } @@ -4888,6 +4932,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.186.0.tgz", "integrity": "sha512-UL9rdgIZz1E/jpAfaKH8QgUxNK9VP5JPgoR0bSiaefMjnsoBh0x/VVMsfUyziOoJCMLebhJzFowtwrSKEGsxNg==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.3.1" }, @@ -4896,14 +4941,16 @@ } }, "node_modules/@aws-sdk/eventstream-codec/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" }, "node_modules/@aws-sdk/eventstream-handler-node": { "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-handler-node/-/eventstream-handler-node-3.186.0.tgz", "integrity": "sha512-S8eAxCHyFAGSH7F6GHKU2ckpiwFPwJUQwMzewISLg3wzLQeu6lmduxBxVaV3/SoEbEMsbNmrgw9EXtw3Vt/odQ==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/eventstream-codec": "3.186.0", "@aws-sdk/types": "3.186.0", @@ -4917,19 +4964,22 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.186.0.tgz", "integrity": "sha512-NatmSU37U+XauMFJCdFI6nougC20JUFZar+ump5wVv0i54H+2Refg1YbFDxSs0FY28TSB9jfhWIpfFBmXgL5MQ==", + "license": "Apache-2.0", "engines": { "node": ">= 12.0.0" } }, "node_modules/@aws-sdk/eventstream-handler-node/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" }, "node_modules/@aws-sdk/eventstream-marshaller": { "version": "3.6.1", "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-marshaller/-/eventstream-marshaller-3.6.1.tgz", "integrity": "sha512-ZvN3Nvxn2Gul08L9MOSN123LwSO0E1gF/CqmOGZtEWzPnoSX/PWM9mhPPeXubyw2KdlXylOodYYw3EAATk3OmA==", + "license": "Apache-2.0", "dependencies": { "@aws-crypto/crc32": "^1.0.0", "@aws-sdk/types": "3.6.1", @@ -4941,6 +4991,7 @@ "version": "1.2.2", "resolved": "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-1.2.2.tgz", "integrity": "sha512-8K0b1672qbv05chSoKpwGZ3fhvVp28Fg3AVHVkEHFl2lTLChO7wD/hTyyo8ING7uc31uZRt7bNra/hA74Td7Tw==", + "license": "Apache-2.0", "dependencies": { "@aws-crypto/util": "^1.2.2", "@aws-sdk/types": "^3.1.0", @@ -4951,6 +5002,7 @@ "version": "3.6.1", "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-browser/-/eventstream-serde-browser-3.6.1.tgz", "integrity": "sha512-J8B30d+YUfkBtgWRr7+9AfYiPnbG28zjMlFGsJf8Wxr/hDCfff+Z8NzlBYFEbS7McXXhRiIN8DHUvCtolJtWJQ==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/eventstream-marshaller": "3.6.1", "@aws-sdk/eventstream-serde-universal": "3.6.1", @@ -4965,6 +5017,7 @@ "version": "3.6.1", "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.6.1.tgz", "integrity": "sha512-72pCzcT/KeD4gPgRVBSQzEzz4JBim8bNwPwZCGaIYdYAsAI8YMlvp0JNdis3Ov9DFURc87YilWKQlAfw7CDJxA==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.6.1", "tslib": "^1.8.0" @@ -4977,6 +5030,7 @@ "version": "3.6.1", "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-node/-/eventstream-serde-node-3.6.1.tgz", "integrity": "sha512-rjBbJFjCrEcm2NxZctp+eJmyPxKYayG3tQZo8PEAQSViIlK5QexQI3fgqNAeCtK7l/SFAAvnOMRZF6Z3NdUY6A==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/eventstream-marshaller": "3.6.1", "@aws-sdk/eventstream-serde-universal": "3.6.1", @@ -4991,6 +5045,7 @@ "version": "3.6.1", "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-universal/-/eventstream-serde-universal-3.6.1.tgz", "integrity": "sha512-rpRu97yAGHr9GQLWMzcGICR2PxNu1dHU/MYc9Kb6UgGeZd4fod4o1zjhAJuj98cXn2xwHNFM4wMKua6B4zKrZg==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/eventstream-marshaller": "3.6.1", "@aws-sdk/types": "3.6.1", @@ -5004,6 +5059,7 @@ "version": "3.6.1", "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.6.1.tgz", "integrity": "sha512-N8l6ZbwhINuWG5hsl625lmIQmVjzsqRPmlgh061jm5D90IhsM5/3A3wUxpB/k0av1dmuMRw/m0YtBU5w4LOwvw==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/protocol-http": "3.6.1", "@aws-sdk/querystring-builder": "3.6.1", @@ -5016,6 +5072,7 @@ "version": "3.6.1", "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.6.1.tgz", "integrity": "sha512-iKEpzpyaG9PYCnaOGwTIf0lffsF/TpsXrzAfnBlfeOU/3FbgniW2z/yq5xBbtMDtLobtOYC09kUFwDnDvuveSA==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.6.1", "@aws-sdk/util-buffer-from": "3.6.1", @@ -5029,6 +5086,7 @@ "version": "3.6.1", "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.6.1.tgz", "integrity": "sha512-d0RLqK7yeDCZJKopnGmGXo2rYkQNE7sGKVmBHQD1j1kKZ9lWwRoJeWqo834JNPZzY5XRvZG5SuIjJ1kFy8LpyQ==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.6.1", "tslib": "^1.8.0" @@ -5038,6 +5096,7 @@ "version": "3.6.1", "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.6.1.tgz", "integrity": "sha512-qm2iDJmCrxlQE2dsFG+TujPe7jw4DF+4RTrsFMhk/e3lOl3MAzQ6Fc2kXtgeUcVrZVFTL8fQvXE1ByYyI6WbCw==", + "license": "Apache-2.0", "dependencies": { "tslib": "^1.8.0" }, @@ -5049,6 +5108,7 @@ "version": "3.6.1", "resolved": "https://registry.npmjs.org/@aws-sdk/md5-js/-/md5-js-3.6.1.tgz", "integrity": "sha512-lzCqkZF1sbzGFDyq1dI+lR3AmlE33rbC/JhZ5fzw3hJZvfZ6Beq3Su7YwDo65IWEu0zOKYaNywTeOloXP/CkxQ==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.6.1", "@aws-sdk/util-utf8-browser": "3.6.1", @@ -5059,6 +5119,7 @@ "version": "3.6.1", "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.6.1.tgz", "integrity": "sha512-gZPySY6JU5gswnw3nGOEHl3tYE7vPKvtXGYoS2NRabfDKRejFvu+4/nNW6SSpoOxk6LSXsrWB39NO51k+G4PVA==", + "license": "Apache-2.0", "dependencies": { "tslib": "^1.8.0" } @@ -5067,6 +5128,7 @@ "version": "3.6.1", "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.6.1.tgz", "integrity": "sha512-QRcocG9f5YjYzbjs2HjKla6ZIjvx8Y8tm1ZSFOPey81m18CLif1O7M3AtJXvxn+0zeSck9StFdhz5gfjVNYtDg==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/protocol-http": "3.6.1", "@aws-sdk/types": "3.6.1", @@ -5080,6 +5142,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-eventstream/-/middleware-eventstream-3.186.0.tgz", "integrity": "sha512-7yjFiitTGgfKL6cHK3u3HYFnld26IW5aUAFuEd6ocR/FjliysfBd8g0g1bw3bRfIMgCDD8OIOkXK8iCk2iYGWQ==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/protocol-http": "3.186.0", "@aws-sdk/types": "3.186.0", @@ -5093,6 +5156,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.186.0.tgz", "integrity": "sha512-l/KYr/UBDUU5ginqTgHtFfHR3X6ljf/1J1ThIiUg3C3kVC/Zwztm7BEOw8hHRWnWQGU/jYasGYcrcPLdQqFZyQ==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" @@ -5105,19 +5169,22 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.186.0.tgz", "integrity": "sha512-NatmSU37U+XauMFJCdFI6nougC20JUFZar+ump5wVv0i54H+2Refg1YbFDxSs0FY28TSB9jfhWIpfFBmXgL5MQ==", + "license": "Apache-2.0", "engines": { "node": ">= 12.0.0" } }, "node_modules/@aws-sdk/middleware-eventstream/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" }, "node_modules/@aws-sdk/middleware-host-header": { "version": "3.6.1", "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.6.1.tgz", "integrity": "sha512-nwq8R2fGBRZQE0Fr/jiOgqfppfiTQCUoD8hyX3qSS7Qc2uqpsDOt2TnnoZl56mpQYkF/344IvMAkp+ew6wR73w==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/protocol-http": "3.6.1", "@aws-sdk/types": "3.6.1", @@ -5131,6 +5198,7 @@ "version": "3.6.1", "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.6.1.tgz", "integrity": "sha512-zxaSLpwKlja7JvK20UsDTxPqBZUo3rbDA1uv3VWwpxzOrEWSlVZYx/KLuyGWGkx9V71ZEkf6oOWWJIstS0wyQQ==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.6.1", "tslib": "^1.8.0" @@ -5143,6 +5211,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.186.0.tgz", "integrity": "sha512-Za7k26Kovb4LuV5tmC6wcVILDCt0kwztwSlB991xk4vwNTja8kKxSt53WsYG8Q2wSaW6UOIbSoguZVyxbIY07Q==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/protocol-http": "3.186.0", "@aws-sdk/types": "3.186.0", @@ -5156,6 +5225,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.186.0.tgz", "integrity": "sha512-l/KYr/UBDUU5ginqTgHtFfHR3X6ljf/1J1ThIiUg3C3kVC/Zwztm7BEOw8hHRWnWQGU/jYasGYcrcPLdQqFZyQ==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" @@ -5168,19 +5238,22 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.186.0.tgz", "integrity": "sha512-NatmSU37U+XauMFJCdFI6nougC20JUFZar+ump5wVv0i54H+2Refg1YbFDxSs0FY28TSB9jfhWIpfFBmXgL5MQ==", + "license": "Apache-2.0", "engines": { "node": ">= 12.0.0" } }, "node_modules/@aws-sdk/middleware-recursion-detection/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" }, "node_modules/@aws-sdk/middleware-retry": { "version": "3.6.1", "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.6.1.tgz", "integrity": "sha512-WHeo4d2jsXxBP+cec2SeLb0btYXwYXuE56WLmNt0RvJYmiBzytUeGJeRa9HuwV574kgigAuHGCeHlPO36G4Y0Q==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/protocol-http": "3.6.1", "@aws-sdk/service-error-classification": "3.6.1", @@ -5193,481 +5266,179 @@ "node": ">= 10.0.0" } }, - "node_modules/@aws-sdk/middleware-retry/node_modules/@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "peer": true, + "node_modules/@aws-sdk/middleware-sdk-sts": { + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.186.0.tgz", + "integrity": "sha512-GDcK0O8rjtnd+XRGnxzheq1V2jk4Sj4HtjrxW/ROyhzLOAOyyxutBt+/zOpDD6Gba3qxc69wE+Cf/qngOkEkDw==", + "license": "Apache-2.0", "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" + "@aws-sdk/middleware-signing": "3.186.0", + "@aws-sdk/property-provider": "3.186.0", + "@aws-sdk/protocol-http": "3.186.0", + "@aws-sdk/signature-v4": "3.186.0", + "@aws-sdk/types": "3.186.0", + "tslib": "^2.3.1" }, "engines": { - "node": ">= 10.14.2" + "node": ">= 12.0.0" } }, - "node_modules/@aws-sdk/middleware-retry/node_modules/@react-native/virtualized-lists": { - "version": "0.74.84", - "resolved": "https://registry.npmjs.org/@react-native/virtualized-lists/-/virtualized-lists-0.74.84.tgz", - "integrity": "sha512-XcV+qdqt2WihaY4iRm/M1FdSy+18lecU9mRXNmy9YK8g9Th/8XbNtmmKI0qWBx3KxyuXMH/zd0ps05YTrX16kw==", - "peer": true, + "node_modules/@aws-sdk/middleware-sdk-sts/node_modules/@aws-sdk/is-array-buffer": { + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.186.0.tgz", + "integrity": "sha512-fObm+P6mjWYzxoFY4y2STHBmSdgKbIAXez0xope563mox62I8I4hhVPUCaDVydXvDpJv8tbedJMk0meJl22+xA==", + "license": "Apache-2.0", "dependencies": { - "invariant": "^2.2.4", - "nullthrows": "^1.1.1" + "tslib": "^2.3.1" }, "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@types/react": "^18.2.6", - "react": "*", - "react-native": "*" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@aws-sdk/middleware-retry/node_modules/@types/react": { - "version": "18.3.3", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.3.tgz", - "integrity": "sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==", - "optional": true, - "peer": true, - "dependencies": { - "@types/prop-types": "*", - "csstype": "^3.0.2" - } - }, - "node_modules/@aws-sdk/middleware-retry/node_modules/@types/yargs": { - "version": "15.0.18", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.18.tgz", - "integrity": "sha512-DDi2KmvAnNsT/EvU8jp1UR7pOJojBtJ3GLZ/uw1MUq4VbbESppPWoHUY4h0OB4BbEbGJiyEsmUcuZDZtoR+ZwQ==", - "peer": true, - "dependencies": { - "@types/yargs-parser": "*" + "node": ">= 12.0.0" } }, - "node_modules/@aws-sdk/middleware-retry/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, + "node_modules/@aws-sdk/middleware-sdk-sts/node_modules/@aws-sdk/middleware-signing": { + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.186.0.tgz", + "integrity": "sha512-riCJYG/LlF/rkgVbHkr4xJscc0/sECzDivzTaUmfb9kJhAwGxCyNqnTvg0q6UO00kxSdEB9zNZI2/iJYVBijBQ==", + "license": "Apache-2.0", "dependencies": { - "color-convert": "^2.0.1" + "@aws-sdk/property-provider": "3.186.0", + "@aws-sdk/protocol-http": "3.186.0", + "@aws-sdk/signature-v4": "3.186.0", + "@aws-sdk/types": "3.186.0", + "@aws-sdk/util-middleware": "3.186.0", + "tslib": "^2.3.1" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">= 12.0.0" } }, - "node_modules/@aws-sdk/middleware-retry/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, + "node_modules/@aws-sdk/middleware-sdk-sts/node_modules/@aws-sdk/property-provider": { + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.186.0.tgz", + "integrity": "sha512-nWKqt36UW3xV23RlHUmat+yevw9up+T+953nfjcmCBKtgWlCWu/aUzewTRhKj3VRscbN+Wer95SBw9Lr/MMOlQ==", + "license": "Apache-2.0", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "@aws-sdk/types": "3.186.0", + "tslib": "^2.3.1" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">= 12.0.0" } }, - "node_modules/@aws-sdk/middleware-retry/node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "peer": true, + "node_modules/@aws-sdk/middleware-sdk-sts/node_modules/@aws-sdk/protocol-http": { + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.186.0.tgz", + "integrity": "sha512-l/KYr/UBDUU5ginqTgHtFfHR3X6ljf/1J1ThIiUg3C3kVC/Zwztm7BEOw8hHRWnWQGU/jYasGYcrcPLdQqFZyQ==", + "license": "Apache-2.0", "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" + "@aws-sdk/types": "3.186.0", + "tslib": "^2.3.1" }, "engines": { - "node": ">=12" + "node": ">= 12.0.0" } }, - "node_modules/@aws-sdk/middleware-retry/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, + "node_modules/@aws-sdk/middleware-sdk-sts/node_modules/@aws-sdk/signature-v4": { + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.186.0.tgz", + "integrity": "sha512-18i96P5c4suMqwSNhnEOqhq4doqqyjH4fn0YV3F8TkekHPIWP4mtIJ0PWAN4eievqdtcKgD/GqVO6FaJG9texw==", + "license": "Apache-2.0", "dependencies": { - "color-name": "~1.1.4" + "@aws-sdk/is-array-buffer": "3.186.0", + "@aws-sdk/types": "3.186.0", + "@aws-sdk/util-hex-encoding": "3.186.0", + "@aws-sdk/util-middleware": "3.186.0", + "@aws-sdk/util-uri-escape": "3.186.0", + "tslib": "^2.3.1" }, "engines": { - "node": ">=7.0.0" + "node": ">= 12.0.0" } }, - "node_modules/@aws-sdk/middleware-retry/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/@aws-sdk/middleware-retry/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, + "node_modules/@aws-sdk/middleware-sdk-sts/node_modules/@aws-sdk/types": { + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.186.0.tgz", + "integrity": "sha512-NatmSU37U+XauMFJCdFI6nougC20JUFZar+ump5wVv0i54H+2Refg1YbFDxSs0FY28TSB9jfhWIpfFBmXgL5MQ==", + "license": "Apache-2.0", "engines": { - "node": ">=8" + "node": ">= 12.0.0" } }, - "node_modules/@aws-sdk/middleware-retry/node_modules/pretty-format": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", - "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", - "peer": true, + "node_modules/@aws-sdk/middleware-sdk-sts/node_modules/@aws-sdk/util-hex-encoding": { + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.186.0.tgz", + "integrity": "sha512-UL9rdgIZz1E/jpAfaKH8QgUxNK9VP5JPgoR0bSiaefMjnsoBh0x/VVMsfUyziOoJCMLebhJzFowtwrSKEGsxNg==", + "license": "Apache-2.0", "dependencies": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" + "tslib": "^2.3.1" }, "engines": { - "node": ">= 10" - } - }, - "node_modules/@aws-sdk/middleware-retry/node_modules/promise": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", - "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", - "peer": true, - "dependencies": { - "asap": "~2.0.6" + "node": ">= 12.0.0" } }, - "node_modules/@aws-sdk/middleware-retry/node_modules/react": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", - "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", - "peer": true, + "node_modules/@aws-sdk/middleware-sdk-sts/node_modules/@aws-sdk/util-uri-escape": { + "version": "3.186.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.186.0.tgz", + "integrity": "sha512-imtOrJFpIZAipAg8VmRqYwv1G/x4xzyoxOJ48ZSn1/ZGnKEEnB6n6E9gwYRebi4mlRuMSVeZwCPLq0ey5hReeQ==", + "license": "Apache-2.0", "dependencies": { - "loose-envify": "^1.1.0" + "tslib": "^2.3.1" }, "engines": { - "node": ">=0.10.0" + "node": ">= 12.0.0" } }, - "node_modules/@aws-sdk/middleware-retry/node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", - "peer": true + "node_modules/@aws-sdk/middleware-sdk-sts/node_modules/tslib": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" }, - "node_modules/@aws-sdk/middleware-retry/node_modules/react-native": { - "version": "0.74.2", - "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.74.2.tgz", - "integrity": "sha512-EBMBjPPL4/GjHMP4NqsZabT3gI5WU9cSmduABGAGrd8uIcmTZ5F2Ng9k6gFmRm7n8e8CULxDNu98ZpQfBjl7Bw==", - "peer": true, + "node_modules/@aws-sdk/middleware-serde": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.6.1.tgz", + "integrity": "sha512-EdQCFZRERfP3uDuWcPNuaa2WUR3qL1WFDXafhcx+7ywQxagdYqBUWKFJlLYi6njbkOKXFM+eHBzoXGF0OV3MJA==", + "license": "Apache-2.0", "dependencies": { - "@jest/create-cache-key-function": "^29.6.3", - "@react-native-community/cli": "13.6.8", - "@react-native-community/cli-platform-android": "13.6.8", - "@react-native-community/cli-platform-ios": "13.6.8", - "@react-native/assets-registry": "0.74.84", - "@react-native/codegen": "0.74.84", - "@react-native/community-cli-plugin": "0.74.84", - "@react-native/gradle-plugin": "0.74.84", - "@react-native/js-polyfills": "0.74.84", - "@react-native/normalize-colors": "0.74.84", - "@react-native/virtualized-lists": "0.74.84", - "abort-controller": "^3.0.0", - "anser": "^1.4.9", - "ansi-regex": "^5.0.0", - "base64-js": "^1.5.1", - "chalk": "^4.0.0", - "event-target-shim": "^5.0.1", - "flow-enums-runtime": "^0.0.6", - "invariant": "^2.2.4", - "jest-environment-node": "^29.6.3", - "jsc-android": "^250231.0.0", - "memoize-one": "^5.0.0", - "metro-runtime": "^0.80.3", - "metro-source-map": "^0.80.3", - "mkdirp": "^0.5.1", - "nullthrows": "^1.1.1", - "pretty-format": "^26.5.2", - "promise": "^8.3.0", - "react-devtools-core": "^5.0.0", - "react-refresh": "^0.14.0", - "react-shallow-renderer": "^16.15.0", - "regenerator-runtime": "^0.13.2", - "scheduler": "0.24.0-canary-efb381bbf-20230505", - "stacktrace-parser": "^0.1.10", - "whatwg-fetch": "^3.0.0", - "ws": "^6.2.2", - "yargs": "^17.6.2" - }, - "bin": { - "react-native": "cli.js" + "@aws-sdk/types": "3.6.1", + "tslib": "^1.8.0" }, "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@types/react": "^18.2.6", - "react": "18.2.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } + "node": ">= 10.0.0" } }, - "node_modules/@aws-sdk/middleware-retry/node_modules/react-native-get-random-values": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/react-native-get-random-values/-/react-native-get-random-values-1.9.0.tgz", - "integrity": "sha512-+29IR2oxzxNVeaRwCqGZ9ABadzMI8SLTBidrIDXPOkKnm5+kEmLt34QKM4JV+d2usPErvKyS85le0OmGTHnyWQ==", + "node_modules/@aws-sdk/middleware-signing": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.6.1.tgz", + "integrity": "sha512-1woKq+1sU3eausdl8BNdAMRZMkSYuy4mxhLsF0/qAUuLwo1eJLLUCOQp477tICawgu4O4q2OAyUHk7wMqYnQCg==", + "license": "Apache-2.0", "dependencies": { - "fast-base64-decode": "^1.0.0" + "@aws-sdk/protocol-http": "3.6.1", + "@aws-sdk/signature-v4": "3.6.1", + "@aws-sdk/types": "3.6.1", + "tslib": "^1.8.0" }, - "peerDependencies": { - "react-native": ">=0.56" + "engines": { + "node": ">= 10.0.0" } }, - "node_modules/@aws-sdk/middleware-retry/node_modules/regenerator-runtime": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", - "peer": true - }, - "node_modules/@aws-sdk/middleware-retry/node_modules/scheduler": { - "version": "0.24.0-canary-efb381bbf-20230505", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.24.0-canary-efb381bbf-20230505.tgz", - "integrity": "sha512-ABvovCDe/k9IluqSh4/ISoq8tIJnW8euVAWYt5j/bg6dRnqwQwiGO1F/V4AyK96NGF/FB04FhOUDuWj8IKfABA==", - "peer": true, + "node_modules/@aws-sdk/middleware-stack": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.6.1.tgz", + "integrity": "sha512-EPsIxMi8LtCt7YwTFpWGlVGYJc0q4kwFbOssY02qfqdCnyqi2y5wo089dH7OdxUooQ0D7CPsXM1zTTuzvm+9Fw==", + "license": "Apache-2.0", "dependencies": { - "loose-envify": "^1.1.0" - } - }, - "node_modules/@aws-sdk/middleware-retry/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/@aws-sdk/middleware-retry/node_modules/ws": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.3.tgz", - "integrity": "sha512-jmTjYU0j60B+vHey6TfR3Z7RD61z/hmxBS3VMSGIrroOWXQEneK1zNuotOUrGyBHQj0yrpsLHPWtigEFd13ndA==", - "peer": true, - "dependencies": { - "async-limiter": "~1.0.0" - } - }, - "node_modules/@aws-sdk/middleware-retry/node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "peer": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/@aws-sdk/middleware-retry/node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "peer": true, - "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@aws-sdk/middleware-retry/node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@aws-sdk/middleware-sdk-sts": { - "version": "3.186.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.186.0.tgz", - "integrity": "sha512-GDcK0O8rjtnd+XRGnxzheq1V2jk4Sj4HtjrxW/ROyhzLOAOyyxutBt+/zOpDD6Gba3qxc69wE+Cf/qngOkEkDw==", - "dependencies": { - "@aws-sdk/middleware-signing": "3.186.0", - "@aws-sdk/property-provider": "3.186.0", - "@aws-sdk/protocol-http": "3.186.0", - "@aws-sdk/signature-v4": "3.186.0", - "@aws-sdk/types": "3.186.0", - "tslib": "^2.3.1" - }, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/middleware-sdk-sts/node_modules/@aws-sdk/is-array-buffer": { - "version": "3.186.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.186.0.tgz", - "integrity": "sha512-fObm+P6mjWYzxoFY4y2STHBmSdgKbIAXez0xope563mox62I8I4hhVPUCaDVydXvDpJv8tbedJMk0meJl22+xA==", - "dependencies": { - "tslib": "^2.3.1" - }, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/middleware-sdk-sts/node_modules/@aws-sdk/middleware-signing": { - "version": "3.186.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.186.0.tgz", - "integrity": "sha512-riCJYG/LlF/rkgVbHkr4xJscc0/sECzDivzTaUmfb9kJhAwGxCyNqnTvg0q6UO00kxSdEB9zNZI2/iJYVBijBQ==", - "dependencies": { - "@aws-sdk/property-provider": "3.186.0", - "@aws-sdk/protocol-http": "3.186.0", - "@aws-sdk/signature-v4": "3.186.0", - "@aws-sdk/types": "3.186.0", - "@aws-sdk/util-middleware": "3.186.0", - "tslib": "^2.3.1" - }, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/middleware-sdk-sts/node_modules/@aws-sdk/property-provider": { - "version": "3.186.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.186.0.tgz", - "integrity": "sha512-nWKqt36UW3xV23RlHUmat+yevw9up+T+953nfjcmCBKtgWlCWu/aUzewTRhKj3VRscbN+Wer95SBw9Lr/MMOlQ==", - "dependencies": { - "@aws-sdk/types": "3.186.0", - "tslib": "^2.3.1" - }, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/middleware-sdk-sts/node_modules/@aws-sdk/protocol-http": { - "version": "3.186.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.186.0.tgz", - "integrity": "sha512-l/KYr/UBDUU5ginqTgHtFfHR3X6ljf/1J1ThIiUg3C3kVC/Zwztm7BEOw8hHRWnWQGU/jYasGYcrcPLdQqFZyQ==", - "dependencies": { - "@aws-sdk/types": "3.186.0", - "tslib": "^2.3.1" - }, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/middleware-sdk-sts/node_modules/@aws-sdk/signature-v4": { - "version": "3.186.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.186.0.tgz", - "integrity": "sha512-18i96P5c4suMqwSNhnEOqhq4doqqyjH4fn0YV3F8TkekHPIWP4mtIJ0PWAN4eievqdtcKgD/GqVO6FaJG9texw==", - "dependencies": { - "@aws-sdk/is-array-buffer": "3.186.0", - "@aws-sdk/types": "3.186.0", - "@aws-sdk/util-hex-encoding": "3.186.0", - "@aws-sdk/util-middleware": "3.186.0", - "@aws-sdk/util-uri-escape": "3.186.0", - "tslib": "^2.3.1" - }, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/middleware-sdk-sts/node_modules/@aws-sdk/types": { - "version": "3.186.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.186.0.tgz", - "integrity": "sha512-NatmSU37U+XauMFJCdFI6nougC20JUFZar+ump5wVv0i54H+2Refg1YbFDxSs0FY28TSB9jfhWIpfFBmXgL5MQ==", - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/middleware-sdk-sts/node_modules/@aws-sdk/util-hex-encoding": { - "version": "3.186.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.186.0.tgz", - "integrity": "sha512-UL9rdgIZz1E/jpAfaKH8QgUxNK9VP5JPgoR0bSiaefMjnsoBh0x/VVMsfUyziOoJCMLebhJzFowtwrSKEGsxNg==", - "dependencies": { - "tslib": "^2.3.1" - }, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/middleware-sdk-sts/node_modules/@aws-sdk/util-uri-escape": { - "version": "3.186.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.186.0.tgz", - "integrity": "sha512-imtOrJFpIZAipAg8VmRqYwv1G/x4xzyoxOJ48ZSn1/ZGnKEEnB6n6E9gwYRebi4mlRuMSVeZwCPLq0ey5hReeQ==", - "dependencies": { - "tslib": "^2.3.1" - }, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/middleware-sdk-sts/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - }, - "node_modules/@aws-sdk/middleware-serde": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.6.1.tgz", - "integrity": "sha512-EdQCFZRERfP3uDuWcPNuaa2WUR3qL1WFDXafhcx+7ywQxagdYqBUWKFJlLYi6njbkOKXFM+eHBzoXGF0OV3MJA==", - "dependencies": { - "@aws-sdk/types": "3.6.1", - "tslib": "^1.8.0" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@aws-sdk/middleware-signing": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.6.1.tgz", - "integrity": "sha512-1woKq+1sU3eausdl8BNdAMRZMkSYuy4mxhLsF0/qAUuLwo1eJLLUCOQp477tICawgu4O4q2OAyUHk7wMqYnQCg==", - "dependencies": { - "@aws-sdk/protocol-http": "3.6.1", - "@aws-sdk/signature-v4": "3.6.1", - "@aws-sdk/types": "3.6.1", - "tslib": "^1.8.0" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@aws-sdk/middleware-stack": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.6.1.tgz", - "integrity": "sha512-EPsIxMi8LtCt7YwTFpWGlVGYJc0q4kwFbOssY02qfqdCnyqi2y5wo089dH7OdxUooQ0D7CPsXM1zTTuzvm+9Fw==", - "dependencies": { - "tslib": "^1.8.0" - }, - "engines": { - "node": ">= 10.0.0" + "tslib": "^1.8.0" + }, + "engines": { + "node": ">= 10.0.0" } }, "node_modules/@aws-sdk/middleware-user-agent": { "version": "3.6.1", "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.6.1.tgz", "integrity": "sha512-YvXvwllNDVvxQ30vIqLsx+P6jjnfFEQUmhlv64n98gOme6h2BqoyQDcC3yHRGctuxRZEsR7W/H1ASTKC+iabbQ==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/protocol-http": "3.6.1", "@aws-sdk/types": "3.6.1", @@ -5681,6 +5452,7 @@ "version": "3.6.1", "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.6.1.tgz", "integrity": "sha512-x2Z7lm0ZhHYqMybvkaI5hDKfBkaLaXhTDfgrLl9TmBZ3QHO4fIHgeL82VZ90Paol+OS+jdq2AheLmzbSxv3HrA==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/property-provider": "3.6.1", "@aws-sdk/shared-ini-file-loader": "3.6.1", @@ -5695,6 +5467,7 @@ "version": "3.6.1", "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.6.1.tgz", "integrity": "sha512-6XSaoqbm9ZF6T4UdBCcs/Gn2XclwBotkdjj46AxO+9vRAgZDP+lH/8WwZsvfqJhhRhS0qxWrks98WGJwmaTG8g==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/abort-controller": "3.6.1", "@aws-sdk/protocol-http": "3.6.1", @@ -5710,6 +5483,7 @@ "version": "3.6.1", "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.6.1.tgz", "integrity": "sha512-2gR2DzDySXKFoj9iXLm1TZBVSvFIikEPJsbRmAZx5RBY+tp1IXWqZM6PESjaLdLg/ZtR0QhW2ZcRn0fyq2JfnQ==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.6.1", "tslib": "^1.8.0" @@ -5722,6 +5496,7 @@ "version": "3.6.1", "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.6.1.tgz", "integrity": "sha512-WkQz7ncVYTLvCidDfXWouDzqxgSNPZDz3Bql+7VhZeITnzAEcr4hNMyEqMAVYBVugGmkG2W6YiUqNNs1goOcDA==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.6.1", "tslib": "^1.8.0" @@ -5734,6 +5509,7 @@ "version": "3.6.1", "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.6.1.tgz", "integrity": "sha512-ESe255Yl6vB1AMNqaGSQow3TBYYnpw0AFjE40q2VyiNrkbaqKmW2EzjeCy3wEmB1IfJDHy3O12ZOMUMOnjFT8g==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.6.1", "@aws-sdk/util-uri-escape": "3.6.1", @@ -5747,6 +5523,7 @@ "version": "3.6.1", "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.6.1.tgz", "integrity": "sha512-hh6dhqamKrWWaDSuO2YULci0RGwJWygoy8hpCRxs/FpzzHIcbm6Cl6Jhrn5eKBzOBv+PhCcYwbfad0kIZZovcQ==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.6.1", "tslib": "^1.8.0" @@ -5759,6 +5536,7 @@ "version": "3.6.1", "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.6.1.tgz", "integrity": "sha512-kZ7ZhbrN1f+vrSRkTJvXsu7BlOyZgym058nPA745+1RZ1Rtv4Ax8oknf2RvJyj/1qRUi8LBaAREjzQ3C8tmLBA==", + "license": "Apache-2.0", "engines": { "node": ">= 10.0.0" } @@ -5767,6 +5545,7 @@ "version": "3.6.1", "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.6.1.tgz", "integrity": "sha512-BnLHtsNLOoow6rPV+QVi6jnovU5g1m0YzoUG0BQYZ1ALyVlWVr0VvlUX30gMDfdYoPMp+DHvF8GXdMuGINq6kQ==", + "license": "Apache-2.0", "dependencies": { "tslib": "^1.8.0" }, @@ -5778,6 +5557,7 @@ "version": "3.6.1", "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.6.1.tgz", "integrity": "sha512-EAR0qGVL4AgzodZv4t+BSuBfyOXhTNxDxom50IFI1MqidR9vI6avNZKcPHhgXbm7XVcsDGThZKbzQ2q7MZ2NTA==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/is-array-buffer": "3.6.1", "@aws-sdk/types": "3.6.1", @@ -5793,6 +5573,7 @@ "version": "3.6.1", "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.6.1.tgz", "integrity": "sha512-AVpRK4/iUxNeDdAm8UqP0ZgtgJMQeWcagTylijwelhWXyXzHUReY1sgILsWcdWnoy6gq845W7K2VBhBleni8+w==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/middleware-stack": "3.6.1", "@aws-sdk/types": "3.6.1", @@ -5806,6 +5587,7 @@ "version": "3.6.1", "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.6.1.tgz", "integrity": "sha512-4Dx3eRTrUHLxhFdLJL8zdNGzVsJfAxtxPYYGmIddUkO2Gj3WA1TGjdfG4XN/ClI6e1XonCHafQX3UYO/mgnH3g==", + "license": "Apache-2.0", "engines": { "node": ">= 10.0.0" } @@ -5814,6 +5596,7 @@ "version": "3.6.1", "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.6.1.tgz", "integrity": "sha512-pWFIePDx0PMCleQRsQDWoDl17YiijOLj0ZobN39rQt+wv5PhLSZDz9PgJsqS48nZ6hqsKgipRcjiBMhn5NtFcQ==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/querystring-parser": "3.6.1", "@aws-sdk/types": "3.6.1", @@ -5824,6 +5607,7 @@ "version": "3.6.1", "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser-native/-/url-parser-native-3.6.1.tgz", "integrity": "sha512-3O+ktsrJoE8YQCho9L41YXO8EWILXrSeES7amUaV3mgIV5w4S3SB/r4RkmylpqRpQF7Ry8LFiAnMqH1wa4WBPA==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/querystring-parser": "3.6.1", "@aws-sdk/types": "3.6.1", @@ -5838,6 +5622,7 @@ "version": "3.6.1", "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-browser/-/util-base64-browser-3.6.1.tgz", "integrity": "sha512-+DHAIgt0AFARDVC7J0Z9FkSmJhBMlkYdOPeAAgO0WaQoKj7rtsLQJ7P3v3aS1paKN5/sk5xNY7ziVB6uHtOvHA==", + "license": "Apache-2.0", "dependencies": { "tslib": "^1.8.0" } @@ -5846,6 +5631,7 @@ "version": "3.6.1", "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-node/-/util-base64-node-3.6.1.tgz", "integrity": "sha512-oiqzpsvtTSS92+cL3ykhGd7t3qBJKeHvrgOwUyEf1wFWHQ2DPJR+dIMy5rMFRXWLKCl3w7IddY2rJCkLYMjaqQ==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/util-buffer-from": "3.6.1", "tslib": "^1.8.0" @@ -5858,6 +5644,7 @@ "version": "3.6.1", "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.6.1.tgz", "integrity": "sha512-IdWwE3rm/CFDk2F+IwTZOFTnnNW5SB8y1lWiQ54cfc7y03hO6jmXNnpZGZ5goHhT+vf1oheNQt1J47m0pM/Irw==", + "license": "Apache-2.0", "dependencies": { "tslib": "^1.8.0" } @@ -5866,6 +5653,7 @@ "version": "3.6.1", "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.6.1.tgz", "integrity": "sha512-CUG3gc18bSOsqViQhB3M4AlLpAWV47RE6yWJ6rLD0J6/rSuzbwbjzxM39q0YTAVuSo/ivdbij+G9c3QCirC+QQ==", + "license": "Apache-2.0", "dependencies": { "tslib": "^1.8.0" }, @@ -5877,6 +5665,7 @@ "version": "3.6.1", "resolved": "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.6.1.tgz", "integrity": "sha512-OGUh2B5NY4h7iRabqeZ+EgsrzE1LUmNFzMyhoZv0tO4NExyfQjxIYXLQQvydeOq9DJUbCw+yrRZrj8vXNDQG+g==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/is-array-buffer": "3.6.1", "tslib": "^1.8.0" @@ -5889,6 +5678,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-config-provider/-/util-config-provider-3.186.0.tgz", "integrity": "sha512-71Qwu/PN02XsRLApyxG0EUy/NxWh/CXxtl2C7qY14t+KTiRapwbDkdJ1cMsqYqghYP4BwJoj1M+EFMQSSlkZQQ==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.3.1" }, @@ -5897,14 +5687,16 @@ } }, "node_modules/@aws-sdk/util-config-provider/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" }, "node_modules/@aws-sdk/util-defaults-mode-browser": { "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.186.0.tgz", "integrity": "sha512-U8GOfIdQ0dZ7RRVpPynGteAHx4URtEh+JfWHHVfS6xLPthPHWTbyRhkQX++K/F8Jk+T5U8Anrrqlea4TlcO2DA==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/property-provider": "3.186.0", "@aws-sdk/types": "3.186.0", @@ -5919,6 +5711,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.186.0.tgz", "integrity": "sha512-nWKqt36UW3xV23RlHUmat+yevw9up+T+953nfjcmCBKtgWlCWu/aUzewTRhKj3VRscbN+Wer95SBw9Lr/MMOlQ==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" @@ -5931,19 +5724,22 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.186.0.tgz", "integrity": "sha512-NatmSU37U+XauMFJCdFI6nougC20JUFZar+ump5wVv0i54H+2Refg1YbFDxSs0FY28TSB9jfhWIpfFBmXgL5MQ==", + "license": "Apache-2.0", "engines": { "node": ">= 12.0.0" } }, "node_modules/@aws-sdk/util-defaults-mode-browser/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" }, "node_modules/@aws-sdk/util-defaults-mode-node": { "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.186.0.tgz", "integrity": "sha512-N6O5bpwCiE4z8y7SPHd7KYlszmNOYREa+mMgtOIXRU3VXSEHVKVWTZsHKvNTTHpW0qMqtgIvjvXCo3vsch5l3A==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/config-resolver": "3.186.0", "@aws-sdk/credential-provider-imds": "3.186.0", @@ -5960,6 +5756,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.186.0.tgz", "integrity": "sha512-l8DR7Q4grEn1fgo2/KvtIfIHJS33HGKPQnht8OPxkl0dMzOJ0jxjOw/tMbrIcPnr2T3Fi7LLcj3dY1Fo1poruQ==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/signature-v4": "3.186.0", "@aws-sdk/types": "3.186.0", @@ -5975,6 +5772,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.186.0.tgz", "integrity": "sha512-iJeC7KrEgPPAuXjCZ3ExYZrRQvzpSdTZopYgUm5TnNZ8S1NU/4nvv5xVy61JvMj3JQAeG8UDYYgC421Foc8wQw==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/node-config-provider": "3.186.0", "@aws-sdk/property-provider": "3.186.0", @@ -5990,6 +5788,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.186.0.tgz", "integrity": "sha512-fObm+P6mjWYzxoFY4y2STHBmSdgKbIAXez0xope563mox62I8I4hhVPUCaDVydXvDpJv8tbedJMk0meJl22+xA==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.3.1" }, @@ -6001,6 +5800,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.186.0.tgz", "integrity": "sha512-De93mgmtuUUeoiKXU8pVHXWKPBfJQlS/lh1k2H9T2Pd9Tzi0l7p5ttddx4BsEx4gk+Pc5flNz+DeptiSjZpa4A==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/property-provider": "3.186.0", "@aws-sdk/shared-ini-file-loader": "3.186.0", @@ -6015,6 +5815,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.186.0.tgz", "integrity": "sha512-nWKqt36UW3xV23RlHUmat+yevw9up+T+953nfjcmCBKtgWlCWu/aUzewTRhKj3VRscbN+Wer95SBw9Lr/MMOlQ==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" @@ -6027,6 +5828,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.186.0.tgz", "integrity": "sha512-0iYfEloghzPVXJjmnzHamNx1F1jIiTW9Svy5ZF9LVqyr/uHZcQuiWYsuhWloBMLs8mfWarkZM02WfxZ8buAuhg==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" @@ -6039,6 +5841,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.186.0.tgz", "integrity": "sha512-2FZqxmICtwN9CYid4dwfJSz/gGFHyStFQ3HCOQ8DsJUf2yREMSBsVmKqsyWgOrYcQ98gPcD5GIa7QO5yl3XF6A==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.186.0", "tslib": "^2.3.1" @@ -6051,6 +5854,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.186.0.tgz", "integrity": "sha512-18i96P5c4suMqwSNhnEOqhq4doqqyjH4fn0YV3F8TkekHPIWP4mtIJ0PWAN4eievqdtcKgD/GqVO6FaJG9texw==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/is-array-buffer": "3.186.0", "@aws-sdk/types": "3.186.0", @@ -6067,6 +5871,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.186.0.tgz", "integrity": "sha512-NatmSU37U+XauMFJCdFI6nougC20JUFZar+ump5wVv0i54H+2Refg1YbFDxSs0FY28TSB9jfhWIpfFBmXgL5MQ==", + "license": "Apache-2.0", "engines": { "node": ">= 12.0.0" } @@ -6075,6 +5880,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.186.0.tgz", "integrity": "sha512-jfdJkKqJZp8qjjwEjIGDqbqTuajBsddw02f86WiL8bPqD8W13/hdqbG4Fpwc+Bm6GwR6/4MY6xWXFnk8jDUKeA==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/querystring-parser": "3.186.0", "@aws-sdk/types": "3.186.0", @@ -6085,6 +5891,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.186.0.tgz", "integrity": "sha512-UL9rdgIZz1E/jpAfaKH8QgUxNK9VP5JPgoR0bSiaefMjnsoBh0x/VVMsfUyziOoJCMLebhJzFowtwrSKEGsxNg==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.3.1" }, @@ -6096,6 +5903,7 @@ "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.186.0.tgz", "integrity": "sha512-imtOrJFpIZAipAg8VmRqYwv1G/x4xzyoxOJ48ZSn1/ZGnKEEnB6n6E9gwYRebi4mlRuMSVeZwCPLq0ey5hReeQ==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.3.1" }, @@ -6104,14 +5912,16 @@ } }, "node_modules/@aws-sdk/util-defaults-mode-node/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" }, "node_modules/@aws-sdk/util-hex-encoding": { "version": "3.6.1", "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.6.1.tgz", "integrity": "sha512-pzsGOHtU2eGca4NJgFg94lLaeXDOg8pcS9sVt4f9LmtUGbrqRveeyBv0XlkHeZW2n0IZBssPHipVYQFlk7iaRA==", + "license": "Apache-2.0", "dependencies": { "tslib": "^1.8.0" }, @@ -6120,25 +5930,28 @@ } }, "node_modules/@aws-sdk/util-locate-window": { - "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.310.0.tgz", - "integrity": "sha512-qo2t/vBTnoXpjKxlsC2e1gBrRm80M3bId27r0BRB2VniSSe7bL1mmzM+/HFtujm0iAxtPM+aLEflLJlJeDPg0w==", + "version": "3.568.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.568.0.tgz", + "integrity": "sha512-3nh4TINkXYr+H41QaPelCceEB2FXP3fxp93YZXB/kqJvX0U9j0N0Uk45gvsjmEPzG8XxkPEeLIfT2I1M7A6Lig==", + "license": "Apache-2.0", "dependencies": { - "tslib": "^2.5.0" + "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@aws-sdk/util-locate-window/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" }, "node_modules/@aws-sdk/util-middleware": { "version": "3.186.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.186.0.tgz", "integrity": "sha512-fddwDgXtnHyL9mEZ4s1tBBsKnVQHqTUmFbZKUUKPrg9CxOh0Y/zZxEa5Olg/8dS/LzM1tvg0ATkcyd4/kEHIhg==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.3.1" }, @@ -6147,14 +5960,16 @@ } }, "node_modules/@aws-sdk/util-middleware/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" }, "node_modules/@aws-sdk/util-uri-escape": { "version": "3.6.1", "resolved": "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.6.1.tgz", "integrity": "sha512-tgABiT71r0ScRJZ1pMX0xO0QPMMiISCtumph50IU5VDyZWYgeIxqkMhIcrL1lX0QbNCMgX0n6rZxGrrbjDNavA==", + "license": "Apache-2.0", "dependencies": { "tslib": "^1.8.0" }, @@ -6166,6 +5981,7 @@ "version": "3.6.1", "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.6.1.tgz", "integrity": "sha512-KhJ4VED4QpuBVPXoTjb5LqspX1xHWJTuL8hbPrKfxj+cAaRRW2CNEe7PPy2CfuHtPzP3dU3urtGTachbwNb0jg==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "3.6.1", "bowser": "^2.11.0", @@ -6176,6 +5992,7 @@ "version": "3.6.1", "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.6.1.tgz", "integrity": "sha512-PWwL5EDRwhkXX40m5jjgttlBmLA7vDhHBen1Jcle0RPIDFRVPSE7GgvLF3y4r3SNH0WD6hxqadT50bHQynXW6w==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/node-config-provider": "3.6.1", "@aws-sdk/types": "3.6.1", @@ -6189,19 +6006,22 @@ "version": "3.259.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.259.0.tgz", "integrity": "sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.3.1" } }, "node_modules/@aws-sdk/util-utf8-browser/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" }, "node_modules/@aws-sdk/util-utf8-node": { "version": "3.6.1", "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-node/-/util-utf8-node-3.6.1.tgz", "integrity": "sha512-4s0vYfMUn74XLn13rUUhNsmuPMh0j1d4rF58wXtjlVUU78THxonnN8mbCLC48fI3fKDHTmDDkeEqy7+IWP9VyA==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/util-buffer-from": "3.6.1", "tslib": "^1.8.0" @@ -6214,6 +6034,7 @@ "version": "3.6.1", "resolved": "https://registry.npmjs.org/@aws-sdk/util-waiter/-/util-waiter-3.6.1.tgz", "integrity": "sha512-CQMRteoxW1XZSzPBVrTsOTnfzsEGs8N/xZ8BuBnXLBjoIQmRKVxIH9lgphm1ohCtVHoSWf28XH/KoOPFULQ4Tg==", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/abort-controller": "3.6.1", "@aws-sdk/types": "3.6.1", @@ -6224,40 +6045,43 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", - "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", + "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", + "license": "MIT", "dependencies": { - "@babel/highlight": "^7.23.4", - "chalk": "^2.4.2" + "@babel/highlight": "^7.24.7", + "picocolors": "^1.0.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/compat-data": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz", - "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.4.tgz", + "integrity": "sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==", + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.23.7", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.7.tgz", - "integrity": "sha512-+UpDgowcmqe36d4NwqvKsyPMlOLNGMsfMmQ5WGCu+siCe3t3dfe9njrzGfdN4qq+bcNUt0+Vw6haRxBOycs4dw==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.2.tgz", + "integrity": "sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==", + "license": "MIT", "dependencies": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.23.5", - "@babel/generator": "^7.23.6", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helpers": "^7.23.7", - "@babel/parser": "^7.23.6", - "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.7", - "@babel/types": "^7.23.6", + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.25.0", + "@babel/helper-compilation-targets": "^7.25.2", + "@babel/helper-module-transforms": "^7.25.2", + "@babel/helpers": "^7.25.0", + "@babel/parser": "^7.25.0", + "@babel/template": "^7.25.0", + "@babel/traverse": "^7.25.2", + "@babel/types": "^7.25.2", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -6273,13 +6097,14 @@ } }, "node_modules/@babel/generator": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz", - "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.6.tgz", + "integrity": "sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==", + "license": "MIT", "dependencies": { - "@babel/types": "^7.23.6", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", + "@babel/types": "^7.25.6", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^2.5.1" }, "engines": { @@ -6287,35 +6112,39 @@ } }, "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", - "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz", + "integrity": "sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==", + "license": "MIT", "dependencies": { - "@babel/types": "^7.22.5" + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz", - "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.24.7.tgz", + "integrity": "sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA==", + "license": "MIT", "dependencies": { - "@babel/types": "^7.22.15" + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", - "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz", + "integrity": "sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==", + "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.23.5", - "@babel/helper-validator-option": "^7.23.5", - "browserslist": "^4.22.2", + "@babel/compat-data": "^7.25.2", + "@babel/helper-validator-option": "^7.24.8", + "browserslist": "^4.23.1", "lru-cache": "^5.1.1", "semver": "^6.3.1" }, @@ -6324,18 +6153,17 @@ } }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.15.tgz", - "integrity": "sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-member-expression-to-functions": "^7.22.15", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.4.tgz", + "integrity": "sha512-ro/bFs3/84MDgDmMwbcHgDa8/E6J3QKNTk4xJJnVeFtGE+tL0K26E3pNxhYz2b67fJpt7Aphw5XcploKXuCvCQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-member-expression-to-functions": "^7.24.8", + "@babel/helper-optimise-call-expression": "^7.24.7", + "@babel/helper-replace-supers": "^7.25.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/traverse": "^7.25.4", "semver": "^6.3.1" }, "engines": { @@ -6346,11 +6174,12 @@ } }, "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz", - "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.2.tgz", + "integrity": "sha512-+wqVGP+DFmqwFD3EH6TMTfUNeqDehV3E/dl+Sd54eaXqm17tEUNbEIn4sVivVowbvUpOtIGxdo3GoXyDH9N/9g==", + "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-annotate-as-pure": "^7.24.7", "regexpu-core": "^5.3.1", "semver": "^6.3.1" }, @@ -6362,9 +6191,10 @@ } }, "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.3.tgz", - "integrity": "sha512-WBrLmuPP47n7PNwsZ57pqam6G/RGo1vw/87b0Blc53tZNGZ4x7YvZ6HgQe2vo1W/FR20OgjeZuGXzudPiXHFug==", + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz", + "integrity": "sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==", + "license": "MIT", "dependencies": { "@babel/helper-compilation-targets": "^7.22.6", "@babel/helper-plugin-utils": "^7.22.5", @@ -6376,69 +6206,42 @@ "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", - "dependencies": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz", - "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.8.tgz", + "integrity": "sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA==", + "license": "MIT", "dependencies": { - "@babel/types": "^7.23.0" + "@babel/traverse": "^7.24.8", + "@babel/types": "^7.24.8" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-imports": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", - "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz", + "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==", + "license": "MIT", "dependencies": { - "@babel/types": "^7.22.15" + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", - "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.2.tgz", + "integrity": "sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==", + "license": "MIT", "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/helper-validator-identifier": "^7.22.20" + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-simple-access": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7", + "@babel/traverse": "^7.25.2" }, "engines": { "node": ">=6.9.0" @@ -6448,32 +6251,35 @@ } }, "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", - "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.24.7.tgz", + "integrity": "sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==", + "license": "MIT", "dependencies": { - "@babel/types": "^7.22.5" + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", - "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz", + "integrity": "sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==", + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz", - "integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.0.tgz", + "integrity": "sha512-NhavI2eWEIz/H9dbrG0TuOicDhNexze43i5z7lEqwYm0WEZVTwnPpA0EafUTP7+6/W79HWIP2cTe3Z5NiSTVpw==", + "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-wrap-function": "^7.22.20" + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-wrap-function": "^7.25.0", + "@babel/traverse": "^7.25.0" }, "engines": { "node": ">=6.9.0" @@ -6483,13 +6289,14 @@ } }, "node_modules/@babel/helper-replace-supers": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz", - "integrity": "sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.25.0.tgz", + "integrity": "sha512-q688zIvQVYtZu+i2PsdIu/uWGRpfxzr5WESsfpShfZECkO+d2o+WROWezCi/Q6kJ0tfPa5+pUGUlfx2HhrA3Bg==", + "license": "MIT", "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-member-expression-to-functions": "^7.22.15", - "@babel/helper-optimise-call-expression": "^7.22.5" + "@babel/helper-member-expression-to-functions": "^7.24.8", + "@babel/helper-optimise-call-expression": "^7.24.7", + "@babel/traverse": "^7.25.0" }, "engines": { "node": ">=6.9.0" @@ -6499,105 +6306,108 @@ } }, "node_modules/@babel/helper-simple-access": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz", + "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==", + "license": "MIT", "dependencies": { - "@babel/types": "^7.22.5" + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", - "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.24.7.tgz", + "integrity": "sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==", + "license": "MIT", "dependencies": { - "@babel/types": "^7.22.5" + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-string-parser": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", - "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz", + "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==", + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", - "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz", + "integrity": "sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==", + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-wrap-function": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz", - "integrity": "sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.0.tgz", + "integrity": "sha512-s6Q1ebqutSiZnEjaofc/UKDyC4SbzV5n5SrA2Gq8UawLycr3i04f1dX4OzoQVnexm6aOCh37SQNYlJ/8Ku+PMQ==", + "license": "MIT", "dependencies": { - "@babel/helper-function-name": "^7.22.5", - "@babel/template": "^7.22.15", - "@babel/types": "^7.22.19" + "@babel/template": "^7.25.0", + "@babel/traverse": "^7.25.0", + "@babel/types": "^7.25.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.23.8", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.8.tgz", - "integrity": "sha512-KDqYz4PiOWvDFrdHLPhKtCThtIcKVy6avWD2oG4GEvyQ+XDZwHD4YQd+H2vNMnq2rkdxsDkU82T+Vk8U/WXHRQ==", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.6.tgz", + "integrity": "sha512-Xg0tn4HcfTijTwfDwYlvVCl43V6h4KyVVX2aEm4qdO/PC6L2YvzLHFdmxhoeSA3eslcE6+ZVXHgWwopXYLNq4Q==", + "license": "MIT", "dependencies": { - "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.7", - "@babel/types": "^7.23.6" + "@babel/template": "^7.25.0", + "@babel/types": "^7.25.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", - "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", + "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", + "license": "MIT", "dependencies": { - "@babel/helper-validator-identifier": "^7.22.20", + "@babel/helper-validator-identifier": "^7.24.7", "chalk": "^2.4.2", - "js-tokens": "^4.0.0" + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.6.tgz", - "integrity": "sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.6.tgz", + "integrity": "sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.25.6" + }, "bin": { "parser": "bin/babel-parser.js" }, @@ -6605,12 +6415,14 @@ "node": ">=6.0.0" } }, - "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz", - "integrity": "sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==", + "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { + "version": "7.25.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.3.tgz", + "integrity": "sha512-wUrcsxZg6rqBXG05HG1FPYgsP6EvwF4WpBbxIpWIIYnH8wG0gzx3yZY3dtEHas4sTAOGkbTsc9EGPxwff8lRoA==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/traverse": "^7.25.3" }, "engines": { "node": ">=6.9.0" @@ -6619,29 +6431,28 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz", - "integrity": "sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==", + "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.0.tgz", + "integrity": "sha512-Bm4bH2qsX880b/3ziJ8KD711LT7z4u8CFudmjqle65AZj/HNUFhEf90dqYv6O86buWvSBmeQDjv0Tn2aF/bIBA==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-transform-optional-chaining": "^7.23.3" + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.13.0" + "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.3.tgz", - "integrity": "sha512-XaJak1qcityzrX0/IU5nKHb34VaibwP3saKqG6a/tppelgllOH13LUann4ZCIBcVOeE6H18K4Vx9QKkVww3z/w==", + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.0.tgz", + "integrity": "sha512-lXwdNZtTmeVOOFtwM/WDe7yg1PL8sYhRk/XH0FzbR2HDQ0xC+EnQ/JHeoMYSavtU115tnUk0q9CDyq8si+LMAA==", + "license": "MIT", "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -6650,50 +6461,49 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-proposal-async-generator-functions": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz", - "integrity": "sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==", - "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-async-generator-functions instead.", - "peer": true, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.7.tgz", + "integrity": "sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ==", + "license": "MIT", "dependencies": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-remap-async-to-generator": "^7.18.9", - "@babel/plugin-syntax-async-generators": "^7.8.4" + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/plugin-transform-optional-chaining": "^7.24.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.13.0" } }, - "node_modules/@babel/plugin-proposal-class-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", - "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", - "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.", - "peer": true, + "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.0.tgz", + "integrity": "sha512-tggFrk1AIShG/RUQbEwt2Tr/E+ObkfwrPjR6BjbRvsx24+PSjK8zrq0GWPNCjo8qpRx4DuJzlcvWJqlm+0h3kw==", + "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/traverse": "^7.25.0" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-proposal-export-default-from": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.23.3.tgz", - "integrity": "sha512-Q23MpLZfSGZL1kU7fWqV262q65svLSCIP5kZ/JCW/rKTCm/FrLjpvEd2kfUYMVeHh4QhV/xzyoRAHWrAZJrE3Q==", + "node_modules/@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.", + "license": "MIT", "peer": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-export-default-from": "^7.23.3" + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" }, "engines": { "node": ">=6.9.0" @@ -6702,15 +6512,15 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz", - "integrity": "sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==", - "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-logical-assignment-operators instead.", + "node_modules/@babel/plugin-proposal-export-default-from": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.24.7.tgz", + "integrity": "sha512-CcmFwUJ3tKhLjPdt4NP+SHMshebytF8ZTYOv5ZDpkzq2sin80Wb5vJrGt8fhPrORQCfoSa0LAxC/DW+GAC5+Hw==", + "license": "MIT", "peer": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-export-default-from": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -6724,6 +6534,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead.", + "license": "MIT", "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.18.6", @@ -6736,65 +6547,12 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-numeric-separator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", - "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", - "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-numeric-separator instead.", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-object-rest-spread": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz", - "integrity": "sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==", - "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead.", - "peer": true, - "dependencies": { - "@babel/compat-data": "^7.20.5", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.20.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-optional-catch-binding": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", - "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", - "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-catch-binding instead.", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, "node_modules/@babel/plugin-proposal-optional-chaining": { "version": "7.21.0", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz", "integrity": "sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==", "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead.", + "license": "MIT", "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.20.2", @@ -6812,6 +6570,7 @@ "version": "7.21.0-placeholder-for-preset-env.2", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "license": "MIT", "engines": { "node": ">=6.9.0" }, @@ -6823,6 +6582,7 @@ "version": "7.8.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -6834,6 +6594,7 @@ "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.12.13" }, @@ -6845,6 +6606,7 @@ "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -6859,6 +6621,7 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -6867,12 +6630,13 @@ } }, "node_modules/@babel/plugin-syntax-export-default-from": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.23.3.tgz", - "integrity": "sha512-KeENO5ck1IeZ/l2lFZNy+mpobV3D2Zy5C1YFnWm+YuY5mQiAWc4yAp13dqgguwsBsFVLh4LPCEqCa5qW13N+hw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.24.7.tgz", + "integrity": "sha512-bTPz4/635WQ9WhwsyPdxUJDVpsi/X9BMmy/8Rf/UAlOO4jSql4CxUCjWI5PiM+jG+c4LVPTScoTw80geFj9+Bw==", + "license": "MIT", "peer": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -6885,6 +6649,7 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.3" }, @@ -6893,12 +6658,13 @@ } }, "node_modules/@babel/plugin-syntax-flow": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.23.3.tgz", - "integrity": "sha512-YZiAIpkJAwQXBJLIQbRFayR5c+gJ35Vcz3bg954k7cd73zqjvhacJuL9RbrzPz8qPmZdgqP6EUKwy0PCNhaaPA==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.24.7.tgz", + "integrity": "sha512-9G8GYT/dxn/D1IIKOUBmGX0mnmj46mGH9NnZyJLwtCpgh5f7D2VbuKodb+2s9m1Yavh1s7ASQN8lf0eqrb1LTw==", + "license": "MIT", "peer": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -6908,11 +6674,12 @@ } }, "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz", - "integrity": "sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.25.6.tgz", + "integrity": "sha512-aABl0jHw9bZ2karQ/uUD6XP4u0SG22SJrOHFoL6XB1R7dTovOP4TzTlsxOYC5yQ1pdscVK2JTUnF6QL3ARoAiQ==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -6922,11 +6689,12 @@ } }, "node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.23.3.tgz", - "integrity": "sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.25.6.tgz", + "integrity": "sha512-sXaDXaJN9SNLymBdlWFA+bjzBhFD617ZaFiY13dGt7TVslVvVgA6fkZOP7Ki3IGElC45lwHdOTrCtKZGVAWeLQ==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -6939,6 +6707,7 @@ "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -6950,6 +6719,7 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -6958,11 +6728,12 @@ } }, "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz", - "integrity": "sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.7.tgz", + "integrity": "sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -6975,6 +6746,7 @@ "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -6986,6 +6758,7 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -6997,6 +6770,7 @@ "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -7008,6 +6782,7 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -7019,6 +6794,7 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -7030,6 +6806,7 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -7041,6 +6818,7 @@ "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -7055,6 +6833,7 @@ "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -7066,12 +6845,13 @@ } }, "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz", - "integrity": "sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.4.tgz", + "integrity": "sha512-uMOCoHVU52BsSWxPOMVv5qKRdeSlPuImUCB2dlPuBSU+W2/ROE7/Zg8F2Kepbk+8yBa68LlRKxO+xgEVWorsDg==", + "license": "MIT", "peer": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -7084,6 +6864,7 @@ "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "license": "MIT", "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.18.6", "@babel/helper-plugin-utils": "^7.18.6" @@ -7096,11 +6877,12 @@ } }, "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz", - "integrity": "sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.7.tgz", + "integrity": "sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -7110,14 +6892,15 @@ } }, "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.3.tgz", - "integrity": "sha512-59GsVNavGxAXCDDbakWSMJhajASb4kBCqDjqJsv+p5nKdbz7istmZ3HrX3L2LuiI80+zsOADCvooqQH3qGCucQ==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.4.tgz", + "integrity": "sha512-jz8cV2XDDTqjKPwVPJBIjORVEmSGYhdRa8e5k5+vN+uwcjSrSxUaebBRa4ko1jqNF2uxyg8G6XYk30Jv285xzg==", + "license": "MIT", "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-remap-async-to-generator": "^7.22.20", - "@babel/plugin-syntax-async-generators": "^7.8.4" + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-remap-async-to-generator": "^7.25.0", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/traverse": "^7.25.4" }, "engines": { "node": ">=6.9.0" @@ -7127,13 +6910,14 @@ } }, "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz", - "integrity": "sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.7.tgz", + "integrity": "sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA==", + "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-remap-async-to-generator": "^7.22.20" + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-remap-async-to-generator": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -7143,11 +6927,12 @@ } }, "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz", - "integrity": "sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.7.tgz", + "integrity": "sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -7157,11 +6942,12 @@ } }, "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.3.tgz", - "integrity": "sha512-QPZxHrThbQia7UdvfpaRRlq/J9ciz1J4go0k+lPBXbgaNeY7IQrBj/9ceWjvMMI07/ZBzHl/F0R/2K0qH7jCVw==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.0.tgz", + "integrity": "sha512-yBQjYoOjXlFv9nlXb3f1casSHOZkWr29NX+zChVanLg5Nc157CrbEX9D7hxxtTpuFy7Q0YzmmWfJxzvps4kXrQ==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -7171,12 +6957,13 @@ } }, "node_modules/@babel/plugin-transform-class-properties": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.23.3.tgz", - "integrity": "sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.4.tgz", + "integrity": "sha512-nZeZHyCWPfjkdU5pA/uHiTaDAFUEqkpzf1YoQT2NeSynCGYq9rxfyI3XpQbfx/a0hSnFH6TGlEXvae5Vi7GD8g==", + "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-create-class-features-plugin": "^7.25.4", + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -7186,12 +6973,13 @@ } }, "node_modules/@babel/plugin-transform-class-static-block": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.3.tgz", - "integrity": "sha512-PENDVxdr7ZxKPyi5Ffc0LjXdnJyrJxyqF5T5YjlVg4a0VFfQHW0r8iAtRiDXkfHlu1wwcvdtnndGYIeJLSuRMQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.7.tgz", + "integrity": "sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ==", + "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-class-static-block": "^7.14.5" }, "engines": { @@ -7202,18 +6990,16 @@ } }, "node_modules/@babel/plugin-transform-classes": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.3.tgz", - "integrity": "sha512-FGEQmugvAEu2QtgtU0uTASXevfLMFfBeVCIIdcQhn/uBQsMTjBajdnAtanQlOcuihWh10PZ7+HWvc7NtBwP74w==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-compilation-targets": "^7.22.15", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.20", - "@babel/helper-split-export-declaration": "^7.22.6", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.4.tgz", + "integrity": "sha512-oexUfaQle2pF/b6E0dwsxQtAol9TLSO88kQvym6HHBWFliV2lGdrPieX+WgMRLSJDVzdYywk7jXbLPuO2KLTLg==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-compilation-targets": "^7.25.2", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-replace-supers": "^7.25.0", + "@babel/traverse": "^7.25.4", "globals": "^11.1.0" }, "engines": { @@ -7224,12 +7010,13 @@ } }, "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz", - "integrity": "sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.7.tgz", + "integrity": "sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/template": "^7.22.15" + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/template": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -7239,11 +7026,12 @@ } }, "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz", - "integrity": "sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.8.tgz", + "integrity": "sha512-36e87mfY8TnRxc7yc6M9g9gOB7rKgSahqkIKwLpz4Ppk2+zC2Cy1is0uwtuSG6AE4zlTOUa+7JGz9jCJGLqQFQ==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -7253,12 +7041,13 @@ } }, "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz", - "integrity": "sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.7.tgz", + "integrity": "sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw==", + "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -7268,11 +7057,12 @@ } }, "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz", - "integrity": "sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.7.tgz", + "integrity": "sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -7281,12 +7071,29 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.0.tgz", + "integrity": "sha512-YLpb4LlYSc3sCUa35un84poXoraOiQucUTTu8X1j18JV+gNa8E0nyUf/CjZ171IRGr4jEguF+vzJU66QZhn29g==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.0", + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, "node_modules/@babel/plugin-transform-dynamic-import": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.3.tgz", - "integrity": "sha512-vTG+cTGxPFou12Rj7ll+eD5yWeNl5/8xvQvF08y5Gv3v4mZQoyFf8/n9zg4q5vvCWt5jmgymfzMAldO7orBn7A==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.7.tgz", + "integrity": "sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-dynamic-import": "^7.8.3" }, "engines": { @@ -7297,12 +7104,13 @@ } }, "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz", - "integrity": "sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.7.tgz", + "integrity": "sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ==", + "license": "MIT", "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -7312,11 +7120,12 @@ } }, "node_modules/@babel/plugin-transform-export-namespace-from": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.3.tgz", - "integrity": "sha512-yCLhW34wpJWRdTxxWtFZASJisihrfyMOTOQexhVzA78jlU+dH7Dw+zQgcPepQ5F3C6bAIiblZZ+qBggJdHiBAg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.7.tgz", + "integrity": "sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" }, "engines": { @@ -7327,13 +7136,14 @@ } }, "node_modules/@babel/plugin-transform-flow-strip-types": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.23.3.tgz", - "integrity": "sha512-26/pQTf9nQSNVJCrLB1IkHUKyPxR+lMrH2QDPG89+Znu9rAMbtrybdbWeE9bb7gzjmE5iXHEY+e0HUwM6Co93Q==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.25.2.tgz", + "integrity": "sha512-InBZ0O8tew5V0K6cHcQ+wgxlrjOw1W4wDXLkOTjLRD8GYhTSkxTVBtdy3MMtvYBrbAWa1Qm3hNoTc1620Yj+Mg==", + "license": "MIT", "peer": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-flow": "^7.23.3" + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/plugin-syntax-flow": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -7343,11 +7153,13 @@ } }, "node_modules/@babel/plugin-transform-for-of": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.3.tgz", - "integrity": "sha512-X8jSm8X1CMwxmK878qsUGJRmbysKNbdpTv/O1/v0LuY/ZkZrng5WYiekYSdg9m09OTmDDUWeEDsTE+17WYbAZw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.7.tgz", + "integrity": "sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -7357,13 +7169,14 @@ } }, "node_modules/@babel/plugin-transform-function-name": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz", - "integrity": "sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==", + "version": "7.25.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.1.tgz", + "integrity": "sha512-TVVJVdW9RKMNgJJlLtHsKDTydjZAbwIsn6ySBPQaEAUU5+gVvlJt/9nRmqVbsV/IBanRjzWoaAQKLoamWVOUuA==", + "license": "MIT", "dependencies": { - "@babel/helper-compilation-targets": "^7.22.15", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-compilation-targets": "^7.24.8", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/traverse": "^7.25.1" }, "engines": { "node": ">=6.9.0" @@ -7373,11 +7186,12 @@ } }, "node_modules/@babel/plugin-transform-json-strings": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.3.tgz", - "integrity": "sha512-H9Ej2OiISIZowZHaBwF0tsJOih1PftXJtE8EWqlEIwpc7LMTGq0rPOrywKLQ4nefzx8/HMR0D3JGXoMHYvhi0A==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.7.tgz", + "integrity": "sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-json-strings": "^7.8.3" }, "engines": { @@ -7388,11 +7202,12 @@ } }, "node_modules/@babel/plugin-transform-literals": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz", - "integrity": "sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.2.tgz", + "integrity": "sha512-HQI+HcTbm9ur3Z2DkO+jgESMAMcYLuN/A7NRw9juzxAezN9AvqvUTnpKP/9kkYANz6u7dFlAyOu44ejuGySlfw==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -7402,11 +7217,12 @@ } }, "node_modules/@babel/plugin-transform-logical-assignment-operators": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.3.tgz", - "integrity": "sha512-+pD5ZbxofyOygEp+zZAfujY2ShNCXRpDRIPOiBmTO693hhyOEteZgl876Xs9SAHPQpcV0vz8LvA/T+w8AzyX8A==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.7.tgz", + "integrity": "sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" }, "engines": { @@ -7417,11 +7233,12 @@ } }, "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz", - "integrity": "sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.7.tgz", + "integrity": "sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -7431,12 +7248,13 @@ } }, "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz", - "integrity": "sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.7.tgz", + "integrity": "sha512-9+pB1qxV3vs/8Hdmz/CulFB8w2tuu6EB94JZFsjdqxQokwGa9Unap7Bo2gGBGIvPmDIVvQrom7r5m/TCDMURhg==", + "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-module-transforms": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -7446,13 +7264,14 @@ } }, "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz", - "integrity": "sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.8.tgz", + "integrity": "sha512-WHsk9H8XxRs3JXKWFiqtQebdh9b/pTk4EgueygFzYlTKAg0Ud985mSevdNjdXdFBATSKVJGQXP1tv6aGbssLKA==", + "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-simple-access": "^7.22.5" + "@babel/helper-module-transforms": "^7.24.8", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-simple-access": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -7462,14 +7281,15 @@ } }, "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.3.tgz", - "integrity": "sha512-ZxyKGTkF9xT9YJuKQRo19ewf3pXpopuYQd8cDXqNzc3mUNbOME0RKMoZxviQk74hwzfQsEe66dE92MaZbdHKNQ==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.0.tgz", + "integrity": "sha512-YPJfjQPDXxyQWg/0+jHKj1llnY5f/R6a0p/vP4lPymxLu7Lvl4k2WMitqi08yxwQcCVUUdG9LCUj4TNEgAp3Jw==", + "license": "MIT", "dependencies": { - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.20" + "@babel/helper-module-transforms": "^7.25.0", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-validator-identifier": "^7.24.7", + "@babel/traverse": "^7.25.0" }, "engines": { "node": ">=6.9.0" @@ -7479,12 +7299,13 @@ } }, "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz", - "integrity": "sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.7.tgz", + "integrity": "sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A==", + "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-module-transforms": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -7494,12 +7315,13 @@ } }, "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", - "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.24.7.tgz", + "integrity": "sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g==", + "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -7509,11 +7331,12 @@ } }, "node_modules/@babel/plugin-transform-new-target": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz", - "integrity": "sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.7.tgz", + "integrity": "sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -7523,11 +7346,12 @@ } }, "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.3.tgz", - "integrity": "sha512-xzg24Lnld4DYIdysyf07zJ1P+iIfJpxtVFOzX4g+bsJ3Ng5Le7rXx9KwqKzuyaUeRnt+I1EICwQITqc0E2PmpA==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.7.tgz", + "integrity": "sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" }, "engines": { @@ -7538,11 +7362,12 @@ } }, "node_modules/@babel/plugin-transform-numeric-separator": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.3.tgz", - "integrity": "sha512-s9GO7fIBi/BLsZ0v3Rftr6Oe4t0ctJ8h4CCXfPoEJwmvAPMyNrfkOOJzm6b9PX9YXcCJWWQd/sBF/N26eBiMVw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.7.tgz", + "integrity": "sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-numeric-separator": "^7.10.4" }, "engines": { @@ -7553,15 +7378,15 @@ } }, "node_modules/@babel/plugin-transform-object-rest-spread": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.23.3.tgz", - "integrity": "sha512-VxHt0ANkDmu8TANdE9Kc0rndo/ccsmfe2Cx2y5sI4hu3AukHQ5wAu4cM7j3ba8B9548ijVyclBU+nuDQftZsog==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.7.tgz", + "integrity": "sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q==", + "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.23.3", - "@babel/helper-compilation-targets": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-compilation-targets": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.23.3" + "@babel/plugin-transform-parameters": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -7571,12 +7396,13 @@ } }, "node_modules/@babel/plugin-transform-object-super": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz", - "integrity": "sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.7.tgz", + "integrity": "sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.20" + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-replace-supers": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -7586,11 +7412,12 @@ } }, "node_modules/@babel/plugin-transform-optional-catch-binding": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.3.tgz", - "integrity": "sha512-LxYSb0iLjUamfm7f1D7GpiS4j0UAC8AOiehnsGAP8BEsIX8EOi3qV6bbctw8M7ZvLtcoZfZX5Z7rN9PlWk0m5A==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.7.tgz", + "integrity": "sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" }, "engines": { @@ -7601,12 +7428,13 @@ } }, "node_modules/@babel/plugin-transform-optional-chaining": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.3.tgz", - "integrity": "sha512-zvL8vIfIUgMccIAK1lxjvNv572JHFJIKb4MWBz5OGdBQA0fB0Xluix5rmOby48exiJc987neOmP/m9Fnpkz3Tg==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.8.tgz", + "integrity": "sha512-5cTOLSMs9eypEy8JUVvIKOu6NgvbJMnpG62VpIHrTmROdQ+L5mDAaI40g25k5vXti55JWNX5jCkq3HZxXBQANw==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", "@babel/plugin-syntax-optional-chaining": "^7.8.3" }, "engines": { @@ -7617,11 +7445,12 @@ } }, "node_modules/@babel/plugin-transform-parameters": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz", - "integrity": "sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.7.tgz", + "integrity": "sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -7631,12 +7460,13 @@ } }, "node_modules/@babel/plugin-transform-private-methods": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz", - "integrity": "sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.4.tgz", + "integrity": "sha512-ao8BG7E2b/URaUQGqN3Tlsg+M3KlHY6rJ1O1gXAEUnZoyNQnvKyH87Kfg+FoxSeyWUB8ISZZsC91C44ZuBFytw==", + "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-create-class-features-plugin": "^7.25.4", + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -7646,13 +7476,14 @@ } }, "node_modules/@babel/plugin-transform-private-property-in-object": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.3.tgz", - "integrity": "sha512-a5m2oLNFyje2e/rGKjVfAELTVI5mbA0FeZpBnkOWWV7eSmKQ+T/XW0Vf+29ScLzSxX+rnsarvU0oie/4m6hkxA==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.7.tgz", + "integrity": "sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA==", + "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-private-property-in-object": "^7.14.5" }, "engines": { @@ -7663,11 +7494,12 @@ } }, "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz", - "integrity": "sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.7.tgz", + "integrity": "sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -7677,11 +7509,12 @@ } }, "node_modules/@babel/plugin-transform-react-display-name": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.23.3.tgz", - "integrity": "sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.24.7.tgz", + "integrity": "sha512-H/Snz9PFxKsS1JLI4dJLtnJgCJRoo0AUm3chP6NYr+9En1JMKloheEiLIhlp5MDVznWo+H3AAC1Mc8lmUEpsgg==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -7691,15 +7524,16 @@ } }, "node_modules/@babel/plugin-transform-react-jsx": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.22.15.tgz", - "integrity": "sha512-oKckg2eZFa8771O/5vi7XeTvmM6+O9cxZu+kanTU7tD4sin5nO/G8jGJhq8Hvt2Z0kUoEDRayuZLaUlYl8QuGA==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.25.2.tgz", + "integrity": "sha512-KQsqEAVBpU82NM/B/N9j9WOdphom1SZH3R+2V7INrQUH+V9EBFwZsEJl8eBIVeQE62FxJCc70jzEZwqU7RcVqA==", + "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-jsx": "^7.22.5", - "@babel/types": "^7.22.15" + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/plugin-syntax-jsx": "^7.24.7", + "@babel/types": "^7.25.2" }, "engines": { "node": ">=6.9.0" @@ -7709,12 +7543,13 @@ } }, "node_modules/@babel/plugin-transform-react-jsx-development": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz", - "integrity": "sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.24.7.tgz", + "integrity": "sha512-QG9EnzoGn+Qar7rxuW+ZOsbWOt56FvvI93xInqsZDC5fsekx1AlIO4KIJ5M+D0p0SqSH156EpmZyXq630B8OlQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/plugin-transform-react-jsx": "^7.22.5" + "@babel/plugin-transform-react-jsx": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -7724,11 +7559,12 @@ } }, "node_modules/@babel/plugin-transform-react-jsx-self": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.23.3.tgz", - "integrity": "sha512-qXRvbeKDSfwnlJnanVRp0SfuWE5DQhwQr5xtLBzp56Wabyo+4CMosF6Kfp+eOD/4FYpql64XVJ2W0pVLlJZxOQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.24.7.tgz", + "integrity": "sha512-fOPQYbGSgH0HUp4UJO4sMBFjY6DuWq+2i8rixyUMb3CdGixs/gccURvYOAhajBdKDoGajFr3mUq5rH3phtkGzw==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -7738,11 +7574,12 @@ } }, "node_modules/@babel/plugin-transform-react-jsx-source": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.23.3.tgz", - "integrity": "sha512-91RS0MDnAWDNvGC6Wio5XYkyWI39FMFO+JK9+4AlgaTH+yWwVTsw7/sn6LK0lH7c5F+TFkpv/3LfCJ1Ydwof/g==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.24.7.tgz", + "integrity": "sha512-J2z+MWzZHVOemyLweMqngXrgGC42jQ//R0KdxqkIz/OrbVIIlhFI3WigZ5fO+nwFvBlncr4MGapd8vTyc7RPNQ==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -7752,13 +7589,14 @@ } }, "node_modules/@babel/plugin-transform-react-pure-annotations": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.23.3.tgz", - "integrity": "sha512-qMFdSS+TUhB7Q/3HVPnEdYJDQIk57jkntAwSuz9xfSE4n+3I+vHYCli3HoHawN1Z3RfCz/y1zXA/JXjG6cVImQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.24.7.tgz", + "integrity": "sha512-PLgBVk3fzbmEjBJ/u8kFzOqS9tUeDjiaWud/rRym/yjCo/M9cASPlnrd2ZmmZpQT40fOOrvR8jh+n8jikrOhNA==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -7768,11 +7606,12 @@ } }, "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz", - "integrity": "sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.7.tgz", + "integrity": "sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.7", "regenerator-transform": "^0.15.2" }, "engines": { @@ -7783,11 +7622,12 @@ } }, "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz", - "integrity": "sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.7.tgz", + "integrity": "sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -7797,15 +7637,16 @@ } }, "node_modules/@babel/plugin-transform-runtime": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.3.tgz", - "integrity": "sha512-XcQ3X58CKBdBnnZpPaQjgVMePsXtSZzHoku70q9tUAQp02ggPQNM04BF3RvlW1GSM/McbSOQAzEK4MXbS7/JFg==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.25.4.tgz", + "integrity": "sha512-8hsyG+KUYGY0coX6KUCDancA0Vw225KJ2HJO0yCNr1vq5r+lJTleDaJf0K7iOhjw4SWhu03TMBzYTJ9krmzULQ==", + "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "babel-plugin-polyfill-corejs2": "^0.4.6", - "babel-plugin-polyfill-corejs3": "^0.8.5", - "babel-plugin-polyfill-regenerator": "^0.5.3", + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.8", + "babel-plugin-polyfill-corejs2": "^0.4.10", + "babel-plugin-polyfill-corejs3": "^0.10.6", + "babel-plugin-polyfill-regenerator": "^0.6.1", "semver": "^6.3.1" }, "engines": { @@ -7816,11 +7657,12 @@ } }, "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz", - "integrity": "sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.7.tgz", + "integrity": "sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -7830,12 +7672,13 @@ } }, "node_modules/@babel/plugin-transform-spread": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz", - "integrity": "sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.7.tgz", + "integrity": "sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -7845,11 +7688,12 @@ } }, "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz", - "integrity": "sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.7.tgz", + "integrity": "sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -7859,11 +7703,12 @@ } }, "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz", - "integrity": "sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.7.tgz", + "integrity": "sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -7873,11 +7718,12 @@ } }, "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz", - "integrity": "sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.8.tgz", + "integrity": "sha512-adNTUpDCVnmAE58VEqKlAA6ZBlNkMnWD0ZcW76lyNFN3MJniyGFZfNwERVk8Ap56MCnXztmDr19T4mPTztcuaw==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -7887,15 +7733,17 @@ } }, "node_modules/@babel/plugin-transform-typescript": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.3.tgz", - "integrity": "sha512-ogV0yWnq38CFwH20l2Afz0dfKuZBx9o/Y2Rmh5vuSS0YD1hswgEgTfyTzuSrT2q9btmHRSqYoSfwFUVaC1M1Jw==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.25.2.tgz", + "integrity": "sha512-lBwRvjSmqiMYe/pS0+1gggjJleUJi7NzjvQ1Fkqtt69hBa/0t1YuW/MLQMAPixfwaQOHUXsd6jeU3Z+vdGv3+A==", + "license": "MIT", "peer": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-typescript": "^7.23.3" + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-create-class-features-plugin": "^7.25.0", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/plugin-syntax-typescript": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -7905,11 +7753,12 @@ } }, "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz", - "integrity": "sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.7.tgz", + "integrity": "sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -7919,12 +7768,13 @@ } }, "node_modules/@babel/plugin-transform-unicode-property-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.23.3.tgz", - "integrity": "sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.7.tgz", + "integrity": "sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w==", + "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -7934,12 +7784,13 @@ } }, "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz", - "integrity": "sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.7.tgz", + "integrity": "sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg==", + "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -7949,12 +7800,13 @@ } }, "node_modules/@babel/plugin-transform-unicode-sets-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.23.3.tgz", - "integrity": "sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.4.tgz", + "integrity": "sha512-qesBxiWkgN1Q+31xUE9RcMk79eOXXDCv6tfyGMRSs4RGlioSg2WVyQAm07k726cSE56pa+Kb0y9epX2qaXzTvA==", + "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-create-regexp-features-plugin": "^7.25.2", + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -7964,25 +7816,28 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.23.3.tgz", - "integrity": "sha512-ovzGc2uuyNfNAs/jyjIGxS8arOHS5FENZaNn4rtE7UdKMMkqHCvboHfcuhWLZNX5cB44QfcGNWjaevxMzzMf+Q==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.25.4.tgz", + "integrity": "sha512-W9Gyo+KmcxjGahtt3t9fb14vFRWvPpu5pT6GBlovAK6BTBcxgjfVMSQCfJl4oi35ODrxP6xx2Wr8LNST57Mraw==", + "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.23.3", - "@babel/helper-compilation-targets": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.15", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.23.3", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.23.3", - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.23.3", + "@babel/compat-data": "^7.25.4", + "@babel/helper-compilation-targets": "^7.25.2", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-validator-option": "^7.24.8", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.3", + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.0", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.0", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.7", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.25.0", "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-class-properties": "^7.12.13", "@babel/plugin-syntax-class-static-block": "^7.14.5", "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.23.3", - "@babel/plugin-syntax-import-attributes": "^7.23.3", + "@babel/plugin-syntax-import-assertions": "^7.24.7", + "@babel/plugin-syntax-import-attributes": "^7.24.7", "@babel/plugin-syntax-import-meta": "^7.10.4", "@babel/plugin-syntax-json-strings": "^7.8.3", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", @@ -7994,59 +7849,60 @@ "@babel/plugin-syntax-private-property-in-object": "^7.14.5", "@babel/plugin-syntax-top-level-await": "^7.14.5", "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", - "@babel/plugin-transform-arrow-functions": "^7.23.3", - "@babel/plugin-transform-async-generator-functions": "^7.23.3", - "@babel/plugin-transform-async-to-generator": "^7.23.3", - "@babel/plugin-transform-block-scoped-functions": "^7.23.3", - "@babel/plugin-transform-block-scoping": "^7.23.3", - "@babel/plugin-transform-class-properties": "^7.23.3", - "@babel/plugin-transform-class-static-block": "^7.23.3", - "@babel/plugin-transform-classes": "^7.23.3", - "@babel/plugin-transform-computed-properties": "^7.23.3", - "@babel/plugin-transform-destructuring": "^7.23.3", - "@babel/plugin-transform-dotall-regex": "^7.23.3", - "@babel/plugin-transform-duplicate-keys": "^7.23.3", - "@babel/plugin-transform-dynamic-import": "^7.23.3", - "@babel/plugin-transform-exponentiation-operator": "^7.23.3", - "@babel/plugin-transform-export-namespace-from": "^7.23.3", - "@babel/plugin-transform-for-of": "^7.23.3", - "@babel/plugin-transform-function-name": "^7.23.3", - "@babel/plugin-transform-json-strings": "^7.23.3", - "@babel/plugin-transform-literals": "^7.23.3", - "@babel/plugin-transform-logical-assignment-operators": "^7.23.3", - "@babel/plugin-transform-member-expression-literals": "^7.23.3", - "@babel/plugin-transform-modules-amd": "^7.23.3", - "@babel/plugin-transform-modules-commonjs": "^7.23.3", - "@babel/plugin-transform-modules-systemjs": "^7.23.3", - "@babel/plugin-transform-modules-umd": "^7.23.3", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", - "@babel/plugin-transform-new-target": "^7.23.3", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.23.3", - "@babel/plugin-transform-numeric-separator": "^7.23.3", - "@babel/plugin-transform-object-rest-spread": "^7.23.3", - "@babel/plugin-transform-object-super": "^7.23.3", - "@babel/plugin-transform-optional-catch-binding": "^7.23.3", - "@babel/plugin-transform-optional-chaining": "^7.23.3", - "@babel/plugin-transform-parameters": "^7.23.3", - "@babel/plugin-transform-private-methods": "^7.23.3", - "@babel/plugin-transform-private-property-in-object": "^7.23.3", - "@babel/plugin-transform-property-literals": "^7.23.3", - "@babel/plugin-transform-regenerator": "^7.23.3", - "@babel/plugin-transform-reserved-words": "^7.23.3", - "@babel/plugin-transform-shorthand-properties": "^7.23.3", - "@babel/plugin-transform-spread": "^7.23.3", - "@babel/plugin-transform-sticky-regex": "^7.23.3", - "@babel/plugin-transform-template-literals": "^7.23.3", - "@babel/plugin-transform-typeof-symbol": "^7.23.3", - "@babel/plugin-transform-unicode-escapes": "^7.23.3", - "@babel/plugin-transform-unicode-property-regex": "^7.23.3", - "@babel/plugin-transform-unicode-regex": "^7.23.3", - "@babel/plugin-transform-unicode-sets-regex": "^7.23.3", + "@babel/plugin-transform-arrow-functions": "^7.24.7", + "@babel/plugin-transform-async-generator-functions": "^7.25.4", + "@babel/plugin-transform-async-to-generator": "^7.24.7", + "@babel/plugin-transform-block-scoped-functions": "^7.24.7", + "@babel/plugin-transform-block-scoping": "^7.25.0", + "@babel/plugin-transform-class-properties": "^7.25.4", + "@babel/plugin-transform-class-static-block": "^7.24.7", + "@babel/plugin-transform-classes": "^7.25.4", + "@babel/plugin-transform-computed-properties": "^7.24.7", + "@babel/plugin-transform-destructuring": "^7.24.8", + "@babel/plugin-transform-dotall-regex": "^7.24.7", + "@babel/plugin-transform-duplicate-keys": "^7.24.7", + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.25.0", + "@babel/plugin-transform-dynamic-import": "^7.24.7", + "@babel/plugin-transform-exponentiation-operator": "^7.24.7", + "@babel/plugin-transform-export-namespace-from": "^7.24.7", + "@babel/plugin-transform-for-of": "^7.24.7", + "@babel/plugin-transform-function-name": "^7.25.1", + "@babel/plugin-transform-json-strings": "^7.24.7", + "@babel/plugin-transform-literals": "^7.25.2", + "@babel/plugin-transform-logical-assignment-operators": "^7.24.7", + "@babel/plugin-transform-member-expression-literals": "^7.24.7", + "@babel/plugin-transform-modules-amd": "^7.24.7", + "@babel/plugin-transform-modules-commonjs": "^7.24.8", + "@babel/plugin-transform-modules-systemjs": "^7.25.0", + "@babel/plugin-transform-modules-umd": "^7.24.7", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.24.7", + "@babel/plugin-transform-new-target": "^7.24.7", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.7", + "@babel/plugin-transform-numeric-separator": "^7.24.7", + "@babel/plugin-transform-object-rest-spread": "^7.24.7", + "@babel/plugin-transform-object-super": "^7.24.7", + "@babel/plugin-transform-optional-catch-binding": "^7.24.7", + "@babel/plugin-transform-optional-chaining": "^7.24.8", + "@babel/plugin-transform-parameters": "^7.24.7", + "@babel/plugin-transform-private-methods": "^7.25.4", + "@babel/plugin-transform-private-property-in-object": "^7.24.7", + "@babel/plugin-transform-property-literals": "^7.24.7", + "@babel/plugin-transform-regenerator": "^7.24.7", + "@babel/plugin-transform-reserved-words": "^7.24.7", + "@babel/plugin-transform-shorthand-properties": "^7.24.7", + "@babel/plugin-transform-spread": "^7.24.7", + "@babel/plugin-transform-sticky-regex": "^7.24.7", + "@babel/plugin-transform-template-literals": "^7.24.7", + "@babel/plugin-transform-typeof-symbol": "^7.24.8", + "@babel/plugin-transform-unicode-escapes": "^7.24.7", + "@babel/plugin-transform-unicode-property-regex": "^7.24.7", + "@babel/plugin-transform-unicode-regex": "^7.24.7", + "@babel/plugin-transform-unicode-sets-regex": "^7.25.4", "@babel/preset-modules": "0.1.6-no-external-plugins", - "babel-plugin-polyfill-corejs2": "^0.4.6", - "babel-plugin-polyfill-corejs3": "^0.8.5", - "babel-plugin-polyfill-regenerator": "^0.5.3", - "core-js-compat": "^3.31.0", + "babel-plugin-polyfill-corejs2": "^0.4.10", + "babel-plugin-polyfill-corejs3": "^0.10.6", + "babel-plugin-polyfill-regenerator": "^0.6.1", + "core-js-compat": "^3.37.1", "semver": "^6.3.1" }, "engines": { @@ -8057,14 +7913,15 @@ } }, "node_modules/@babel/preset-flow": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.23.3.tgz", - "integrity": "sha512-7yn6hl8RIv+KNk6iIrGZ+D06VhVY35wLVf23Cz/mMu1zOr7u4MMP4j0nZ9tLf8+4ZFpnib8cFYgB/oYg9hfswA==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.24.7.tgz", + "integrity": "sha512-NL3Lo0NorCU607zU3NwRyJbpaB6E3t0xtd3LfAQKDfkeX4/ggcDXvkmkW42QWT5owUeW/jAe4hn+2qvkV1IbfQ==", + "license": "MIT", "peer": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.15", - "@babel/plugin-transform-flow-strip-types": "^7.23.3" + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-validator-option": "^7.24.7", + "@babel/plugin-transform-flow-strip-types": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -8077,6 +7934,7 @@ "version": "0.1.6-no-external-plugins", "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@babel/types": "^7.4.4", @@ -8087,17 +7945,18 @@ } }, "node_modules/@babel/preset-react": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.23.3.tgz", - "integrity": "sha512-tbkHOS9axH6Ysf2OUEqoSZ6T3Fa2SrNH6WTWSPBboxKzdxNc9qOICeLXkNG0ZEwbQ1HY8liwOce4aN/Ceyuq6w==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.24.7.tgz", + "integrity": "sha512-AAH4lEkpmzFWrGVlHaxJB7RLH21uPQ9+He+eFLWHmF9IuFQVugz8eAsamaW0DXRrTfco5zj1wWtpdcXJUOfsag==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.15", - "@babel/plugin-transform-react-display-name": "^7.23.3", - "@babel/plugin-transform-react-jsx": "^7.22.15", - "@babel/plugin-transform-react-jsx-development": "^7.22.5", - "@babel/plugin-transform-react-pure-annotations": "^7.23.3" + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-validator-option": "^7.24.7", + "@babel/plugin-transform-react-display-name": "^7.24.7", + "@babel/plugin-transform-react-jsx": "^7.24.7", + "@babel/plugin-transform-react-jsx-development": "^7.24.7", + "@babel/plugin-transform-react-pure-annotations": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -8107,16 +7966,17 @@ } }, "node_modules/@babel/preset-typescript": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.23.3.tgz", - "integrity": "sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.24.7.tgz", + "integrity": "sha512-SyXRe3OdWwIwalxDg5UtJnJQO+YPcTfwiIY2B0Xlddh9o7jpWLvv8X1RthIeDOxQ+O1ML5BLPCONToObyVQVuQ==", + "license": "MIT", "peer": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.15", - "@babel/plugin-syntax-jsx": "^7.23.3", - "@babel/plugin-transform-modules-commonjs": "^7.23.3", - "@babel/plugin-transform-typescript": "^7.23.3" + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-validator-option": "^7.24.7", + "@babel/plugin-syntax-jsx": "^7.24.7", + "@babel/plugin-transform-modules-commonjs": "^7.24.7", + "@babel/plugin-transform-typescript": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -8126,15 +7986,16 @@ } }, "node_modules/@babel/register": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.22.15.tgz", - "integrity": "sha512-V3Q3EqoQdn65RCgTLwauZaTfd1ShhwPmbBv+1dkZV/HpCGMKVyn6oFcRlI7RaKqiDQjX2Qd3AuoEguBgdjIKlg==", + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.24.6.tgz", + "integrity": "sha512-WSuFCc2wCqMeXkz/i3yfAAsxwWflEgbVkZzivgAmXl/MxrXeoYFZOOPllbC8R8WTF7u61wSRQtDVZ1879cdu6w==", + "license": "MIT", "peer": true, "dependencies": { "clone-deep": "^4.0.1", "find-cache-dir": "^2.0.0", "make-dir": "^2.1.0", - "pirates": "^4.0.5", + "pirates": "^4.0.6", "source-map-support": "^0.5.16" }, "engines": { @@ -8148,6 +8009,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "license": "MIT", "peer": true, "dependencies": { "commondir": "^1.0.1", @@ -8162,6 +8024,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "license": "MIT", "peer": true, "dependencies": { "locate-path": "^3.0.0" @@ -8174,6 +8037,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "license": "MIT", "peer": true, "dependencies": { "p-locate": "^3.0.0", @@ -8187,6 +8051,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "license": "MIT", "peer": true, "dependencies": { "pify": "^4.0.1", @@ -8200,6 +8065,7 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "license": "MIT", "peer": true, "dependencies": { "p-try": "^2.0.0" @@ -8215,6 +8081,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "license": "MIT", "peer": true, "dependencies": { "p-limit": "^2.0.0" @@ -8227,6 +8094,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "license": "MIT", "peer": true, "engines": { "node": ">=4" @@ -8236,6 +8104,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "license": "MIT", "peer": true, "engines": { "node": ">=6" @@ -8245,6 +8114,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "license": "MIT", "peer": true, "dependencies": { "find-up": "^3.0.0" @@ -8257,6 +8127,7 @@ "version": "5.7.2", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "license": "ISC", "peer": true, "bin": { "semver": "bin/semver" @@ -8265,12 +8136,14 @@ "node_modules/@babel/regjsgen": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", - "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==" + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", + "license": "MIT" }, "node_modules/@babel/runtime": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.2.tgz", - "integrity": "sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg==", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.6.tgz", + "integrity": "sha512-VBj9MYyDb9tuLq7yzqjgzt6Q+IBQLrGZfdjOekyEirZPHxXWoTSGUTMrpsfi58Up73d13NfYLv8HT9vmznjzhQ==", + "license": "MIT", "dependencies": { "regenerator-runtime": "^0.14.0" }, @@ -8279,31 +8152,30 @@ } }, "node_modules/@babel/template": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", - "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.0.tgz", + "integrity": "sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==", + "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/parser": "^7.22.15", - "@babel/types": "^7.22.15" + "@babel/code-frame": "^7.24.7", + "@babel/parser": "^7.25.0", + "@babel/types": "^7.25.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.23.7", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.7.tgz", - "integrity": "sha512-tY3mM8rH9jM0YHFGyfC0/xf+SB5eKUu7HPj7/k3fpi9dAlsMc5YbQvDi0Sh2QTPXqMhyaAtzAr807TIyfQrmyg==", - "dependencies": { - "@babel/code-frame": "^7.23.5", - "@babel/generator": "^7.23.6", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.6", - "@babel/types": "^7.23.6", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.6.tgz", + "integrity": "sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.25.6", + "@babel/parser": "^7.25.6", + "@babel/template": "^7.25.0", + "@babel/types": "^7.25.6", "debug": "^4.3.1", "globals": "^11.1.0" }, @@ -8312,12 +8184,13 @@ } }, "node_modules/@babel/types": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.6.tgz", - "integrity": "sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.6.tgz", + "integrity": "sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==", + "license": "MIT", "dependencies": { - "@babel/helper-string-parser": "^7.23.4", - "@babel/helper-validator-identifier": "^7.22.20", + "@babel/helper-string-parser": "^7.24.8", + "@babel/helper-validator-identifier": "^7.24.7", "to-fast-properties": "^2.0.0" }, "engines": { @@ -8328,34 +8201,70 @@ "version": "0.2.3", "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", - "dev": true + "dev": true, + "license": "MIT" + }, + "node_modules/@bundled-es-modules/cookie": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@bundled-es-modules/cookie/-/cookie-2.0.0.tgz", + "integrity": "sha512-Or6YHg/kamKHpxULAdSqhGqnWFneIXu1NKvvfBBzKGwpVsYuFIQ5aBPHDnnoR3ghW1nvSkALd+EF9iMtY7Vjxw==", + "dev": true, + "license": "ISC", + "dependencies": { + "cookie": "^0.5.0" + } + }, + "node_modules/@bundled-es-modules/statuses": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@bundled-es-modules/statuses/-/statuses-1.0.1.tgz", + "integrity": "sha512-yn7BklA5acgcBr+7w064fGV+SGIFySjCKpqjcWgBAIfrAkY+4GQTJJHQMeT3V/sgz23VTEVV8TtOmkvJAhFVfg==", + "dev": true, + "license": "ISC", + "dependencies": { + "statuses": "^2.0.1" + } + }, + "node_modules/@bundled-es-modules/tough-cookie": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/@bundled-es-modules/tough-cookie/-/tough-cookie-0.1.6.tgz", + "integrity": "sha512-dvMHbL464C0zI+Yqxbz6kZ5TOEp7GLW+pry/RWndAR8MJQAXZ2rPmIs8tziTZjeIyhSNZgZbCePtfSbdWqStJw==", + "dev": true, + "license": "ISC", + "dependencies": { + "@types/tough-cookie": "^4.0.5", + "tough-cookie": "^4.1.4" + } }, "node_modules/@cloudscape-design/collection-hooks": { "version": "1.0.22", "resolved": "https://registry.npmjs.org/@cloudscape-design/collection-hooks/-/collection-hooks-1.0.22.tgz", "integrity": "sha512-U5n438CmBuh+FdpREHYlViX/qCU7WcChBJ2gDAeWllNYEtb4/jwtQ2SITuipAZ9QONahkBCQX9JQNKzDfPnPEA==", + "license": "Apache-2.0", "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, "node_modules/@cloudscape-design/component-toolkit": { - "version": "1.0.0-beta.27", - "resolved": "https://registry.npmjs.org/@cloudscape-design/component-toolkit/-/component-toolkit-1.0.0-beta.27.tgz", - "integrity": "sha512-quKhlNQjGw/+VAF8V938I/gCkmrRpfDJ1xAlsjYfTtipOUvCIYnZ5813OAwx+hGVHCFr+0pDSYR9+kAVGJGGRg==", + "version": "1.0.0-beta.72", + "resolved": "https://registry.npmjs.org/@cloudscape-design/component-toolkit/-/component-toolkit-1.0.0-beta.72.tgz", + "integrity": "sha512-i5KbV+CCI53jFFegRE9rSyoCadS591SKu50nSVbG6OQ2YAvboU+x3nhv6q8yZoYPHgz7nSV7fGgVFYhV2T5YCQ==", + "license": "Apache-2.0", "dependencies": { "@juggle/resize-observer": "^3.3.1", "tslib": "^2.3.1" } }, "node_modules/@cloudscape-design/component-toolkit/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" }, "node_modules/@cloudscape-design/components": { "version": "3.0.324", "resolved": "https://registry.npmjs.org/@cloudscape-design/components/-/components-3.0.324.tgz", "integrity": "sha512-EAZBt1x86SXr550c+XF+2leP9MKIKLaUL7fuZUJSqNiPJXLTsZSWuzAbs2TlQSjBLPx6aMvhSogH/auSpCMJYw==", + "license": "Apache-2.0", "dependencies": { "@cloudscape-design/collection-hooks": "^1.0.0", "@cloudscape-design/component-toolkit": "^1.0.0-beta", @@ -8383,66 +8292,89 @@ "react-dom": "^16.8 || ^17 || ^18" } }, + "node_modules/@cloudscape-design/components/node_modules/react-virtual": { + "version": "2.10.4", + "resolved": "https://registry.npmjs.org/react-virtual/-/react-virtual-2.10.4.tgz", + "integrity": "sha512-Ir6+oPQZTVHfa6+JL9M7cvMILstFZH/H3jqeYeKI4MSUX+rIruVwFC6nGVXw9wqAw8L0Kg2KvfXxI85OvYQdpQ==", + "funding": [ + "https://github.com/sponsors/tannerlinsley" + ], + "license": "MIT", + "dependencies": { + "@reach/observe-rect": "^1.1.0" + }, + "peerDependencies": { + "react": "^16.6.3 || ^17.0.0" + } + }, "node_modules/@cloudscape-design/components/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" }, "node_modules/@cloudscape-design/design-tokens": { "version": "3.0.16", "resolved": "https://registry.npmjs.org/@cloudscape-design/design-tokens/-/design-tokens-3.0.16.tgz", - "integrity": "sha512-jtMtEeuRQogcvoY73edd8AV2zo29AuRUcZKDmZtoWJzJ5c7AIak/J1AlW4FyRMbpYkymOHRkxU9Srf95gGq1yg==" + "integrity": "sha512-jtMtEeuRQogcvoY73edd8AV2zo29AuRUcZKDmZtoWJzJ5c7AIak/J1AlW4FyRMbpYkymOHRkxU9Srf95gGq1yg==", + "license": "Apache-2.0" }, "node_modules/@cloudscape-design/global-styles": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/@cloudscape-design/global-styles/-/global-styles-1.0.11.tgz", - "integrity": "sha512-pHGImwi5K+Dk/FUQHTvoVeEowWZAoRfTMzIEz2eri5fbK4U/Xp7UuhEqoWhNoLDtcw87/o2qHTP0We95mhVOqg==" + "integrity": "sha512-pHGImwi5K+Dk/FUQHTvoVeEowWZAoRfTMzIEz2eri5fbK4U/Xp7UuhEqoWhNoLDtcw87/o2qHTP0We95mhVOqg==", + "license": "Apache-2.0" }, "node_modules/@cloudscape-design/test-utils-core": { - "version": "1.0.17", - "resolved": "https://registry.npmjs.org/@cloudscape-design/test-utils-core/-/test-utils-core-1.0.17.tgz", - "integrity": "sha512-TjKdtw56IpBt886VUL7TST9bZskoa0B9FcsMJ3qfUJLES+iXZ9y4SdVWriXGI1H+sphZ7Kgy+/7pA7PkFdVN2g==", + "version": "1.0.42", + "resolved": "https://registry.npmjs.org/@cloudscape-design/test-utils-core/-/test-utils-core-1.0.42.tgz", + "integrity": "sha512-vNSODT+6Kp8LSI56ddorC7hLkts2O+AH3v6DYfbwhx/giHs4rDtKPNGcQ6abyrY2DLIByWgFdbHpx2hNoQgCPw==", + "license": "Apache-2.0", "dependencies": { "css-selector-tokenizer": "^0.8.0", "css.escape": "^1.5.1" } }, "node_modules/@cloudscape-design/theming-runtime": { - "version": "1.0.36", - "resolved": "https://registry.npmjs.org/@cloudscape-design/theming-runtime/-/theming-runtime-1.0.36.tgz", - "integrity": "sha512-8HbH6euBpYpXyzENsM5w7IRbrmjO6wuX/cnN6VnF6sXqY8Wyew0THRE/z+j/SNwvAQcUZZ8O6qmZZKyDl+Oh/g==", + "version": "1.0.61", + "resolved": "https://registry.npmjs.org/@cloudscape-design/theming-runtime/-/theming-runtime-1.0.61.tgz", + "integrity": "sha512-oILrY5s7GEuKFE2mUonX3mp7tUUOn9D8bzP3J6hXgRUFXPzwndH5igDCcQDTUb4KP1qCaaVhUXO3QkjCnWFZNA==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.4.0" } }, "node_modules/@cloudscape-design/theming-runtime/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" }, "node_modules/@colors/colors": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", "dev": true, + "license": "MIT", "optional": true, "engines": { "node": ">=0.1.90" } }, "node_modules/@cypress/code-coverage": { - "version": "3.12.9", - "resolved": "https://registry.npmjs.org/@cypress/code-coverage/-/code-coverage-3.12.9.tgz", - "integrity": "sha512-MIVISl2WOYzV0DgRZXs9wxYRBMM5eN2n/p4PN0wPJCATllfv8nqqyMC1TGWBrf8Di+QMikUjbSZ20w/5+9w4Lg==", + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/@cypress/code-coverage/-/code-coverage-3.13.1.tgz", + "integrity": "sha512-8OxblrX44F4MnY0y9bDybYbhqoLM1DvSuKTHfw7yZlCc2U/C8WyDoRzBoKe/z3f72qjWwO8BBhDFmU3ZPI5yEA==", "dev": true, + "license": "MIT", "dependencies": { "@cypress/webpack-preprocessor": "^6.0.0", "chalk": "4.1.2", - "dayjs": "1.11.10", - "debug": "4.3.4", + "dayjs": "1.11.13", + "debug": "4.3.7", "execa": "4.1.0", - "globby": "11.0.4", - "istanbul-lib-coverage": "3.0.0", + "globby": "11.1.0", + "istanbul-lib-coverage": "^3.0.0", "js-yaml": "4.1.0", "nyc": "15.1.0" }, @@ -8459,6 +8391,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -8474,6 +8407,7 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -8490,6 +8424,7 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -8501,19 +8436,22 @@ "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 + "dev": true, + "license": "MIT" }, "node_modules/@cypress/code-coverage/node_modules/dayjs": { - "version": "1.11.10", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz", - "integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==", - "dev": true + "version": "1.11.13", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.13.tgz", + "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==", + "dev": true, + "license": "MIT" }, "node_modules/@cypress/code-coverage/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, + "license": "MIT", "engines": { "node": ">=8" } @@ -8523,6 +8461,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -8530,16 +8469,18 @@ "node": ">=8" } }, - "node_modules/@cypress/react": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@cypress/react/-/react-8.0.0.tgz", - "integrity": "sha512-3fnW1ow+GZVCdVHikSoYBWMZCKpaRIJe76vA7a1qS7MYXSeX/xs+VgIIrZmnM1fnc23w5nHtWh4bjGCyTfWyXA==", + "node_modules/@cypress/react18": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@cypress/react18/-/react18-2.0.1.tgz", + "integrity": "sha512-T/bhFEvVDIu0lDOKXbEQqVEmmANKWc/pyFDyDoJw3OndRYv9QVEJSsE/VNXIaOQLDjWvQkKBOwd0lLe1hWF/Zg==", "dev": true, + "license": "MIT", "peerDependencies": { - "@types/react": "^16.9.16 || ^17.0.0", + "@types/react": "^18", + "@types/react-dom": "^18", "cypress": "*", - "react": "^=16.x || ^=17.x", - "react-dom": "^=16.x || ^=17.x" + "react": "^18", + "react-dom": "^18" }, "peerDependenciesMeta": { "@types/react": { @@ -8548,10 +8489,11 @@ } }, "node_modules/@cypress/request": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@cypress/request/-/request-3.0.1.tgz", - "integrity": "sha512-TWivJlJi8ZDx2wGOw1dbLuHJKUYX7bWySw377nlnGOW3hP9/MUKIsEdXT/YngWxVdgNCHRBmFlBipE+5/2ZZlQ==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@cypress/request/-/request-3.0.5.tgz", + "integrity": "sha512-v+XHd9XmWbufxF1/bTaVm2yhbxY+TB4YtWRqF2zaXBlDNMkls34KiATz0AVDLavL3iB6bQk9/7n3oY1EoLSWGA==", "dev": true, + "license": "Apache-2.0", "dependencies": { "aws-sign2": "~0.7.0", "aws4": "^1.8.0", @@ -8559,14 +8501,14 @@ "combined-stream": "~1.0.6", "extend": "~3.0.2", "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "http-signature": "~1.3.6", + "form-data": "~4.0.0", + "http-signature": "~1.4.0", "is-typedarray": "~1.0.0", "isstream": "~0.1.2", "json-stringify-safe": "~5.0.1", "mime-types": "~2.1.19", "performance-now": "^2.1.0", - "qs": "6.10.4", + "qs": "6.13.0", "safe-buffer": "^5.1.2", "tough-cookie": "^4.1.3", "tunnel-agent": "^0.6.0", @@ -8577,17 +8519,18 @@ } }, "node_modules/@cypress/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==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", "dev": true, + "license": "MIT", "dependencies": { "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", + "combined-stream": "^1.0.8", "mime-types": "^2.1.12" }, "engines": { - "node": ">= 0.12" + "node": ">= 6" } }, "node_modules/@cypress/request/node_modules/uuid": { @@ -8595,15 +8538,17 @@ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", "dev": true, + "license": "MIT", "bin": { "uuid": "dist/bin/uuid" } }, "node_modules/@cypress/webpack-preprocessor": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@cypress/webpack-preprocessor/-/webpack-preprocessor-6.0.0.tgz", - "integrity": "sha512-1AS1Et5CNPJii0+DdBZBS8e0hlM2BkBNmYRdZO4/16A3KS3em1sjPZtFw7jJF00m6DYAdB9iy6QW/lLZ2bN0gg==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@cypress/webpack-preprocessor/-/webpack-preprocessor-6.0.2.tgz", + "integrity": "sha512-0+1+4iy4W9PE6R5ywBNKAZoFp8Sf//w3UJ+CKTqkcAjA29b+dtsD0iFT70DsYE0BMqUM1PO7HXFGbXllQ+bRAA==", "dev": true, + "license": "MIT", "dependencies": { "bluebird": "3.7.1", "debug": "^4.3.4", @@ -8621,6 +8566,7 @@ "resolved": "https://registry.npmjs.org/@cypress/xvfb/-/xvfb-1.2.4.tgz", "integrity": "sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==", "dev": true, + "license": "MIT", "dependencies": { "debug": "^3.1.0", "lodash.once": "^4.1.1" @@ -8631,6 +8577,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, + "license": "MIT", "dependencies": { "ms": "^2.1.1" } @@ -8639,6 +8586,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/@dnd-kit/accessibility/-/accessibility-3.1.0.tgz", "integrity": "sha512-ea7IkhKvlJUv9iSHJOnxinBcoOI3ppGnnL+VDJ75O45Nss6HtZd8IdN8touXPDtASfeI2T2LImb8VOZcL47wjQ==", + "license": "MIT", "dependencies": { "tslib": "^2.0.0" }, @@ -8647,14 +8595,16 @@ } }, "node_modules/@dnd-kit/accessibility/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" }, "node_modules/@dnd-kit/core": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/@dnd-kit/core/-/core-6.1.0.tgz", "integrity": "sha512-J3cQBClB4TVxwGo3KEjssGEXNJqGVWx17aRTZ1ob0FliR5IjYgTxl5YJbKTzA6IzrtelotH19v6y7uoIRUZPSg==", + "license": "MIT", "dependencies": { "@dnd-kit/accessibility": "^3.1.0", "@dnd-kit/utilities": "^3.2.2", @@ -8666,14 +8616,16 @@ } }, "node_modules/@dnd-kit/core/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" }, "node_modules/@dnd-kit/sortable": { "version": "7.0.2", "resolved": "https://registry.npmjs.org/@dnd-kit/sortable/-/sortable-7.0.2.tgz", "integrity": "sha512-wDkBHHf9iCi1veM834Gbk1429bd4lHX4RpAwT0y2cHLf246GAvU2sVw/oxWNpPKQNQRQaeGXhAVgrOl1IT+iyA==", + "license": "MIT", "dependencies": { "@dnd-kit/utilities": "^3.2.0", "tslib": "^2.0.0" @@ -8684,14 +8636,16 @@ } }, "node_modules/@dnd-kit/sortable/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" }, "node_modules/@dnd-kit/utilities": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/@dnd-kit/utilities/-/utilities-3.2.2.tgz", "integrity": "sha512-+MKAJEOfaBe5SmV6t34p80MMKhjvUz0vRrvVJbPT0WElzaOJ/1xs+D+KDv+tD/NE5ujfrChEcshd4fLn0wpiqg==", + "license": "MIT", "dependencies": { "tslib": "^2.0.0" }, @@ -8700,38 +8654,42 @@ } }, "node_modules/@dnd-kit/utilities/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" }, "node_modules/@emnapi/runtime": { "version": "0.44.0", "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-0.44.0.tgz", "integrity": "sha512-ZX/etZEZw8DR7zAB1eVQT40lNo0jeqpb6dCgOvctB6FIQ5PoXfMuNY8+ayQfu8tNQbAB8gQWSSJupR8NxeiZXw==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "tslib": "^2.4.0" } }, "node_modules/@emnapi/runtime/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", "dev": true, + "license": "0BSD", "optional": true }, "node_modules/@emotion/babel-plugin": { - "version": "11.11.0", - "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.11.0.tgz", - "integrity": "sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ==", + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.12.0.tgz", + "integrity": "sha512-y2WQb+oP8Jqvvclh8Q55gLUyb7UFvgv7eJfsj7td5TToBrIUtPay2kMrZi4xjq9qw2vD0ZR5fSho0yqoFgX7Rw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-module-imports": "^7.16.7", "@babel/runtime": "^7.18.3", - "@emotion/hash": "^0.9.1", - "@emotion/memoize": "^0.8.1", - "@emotion/serialize": "^1.1.2", + "@emotion/hash": "^0.9.2", + "@emotion/memoize": "^0.9.0", + "@emotion/serialize": "^1.2.0", "babel-plugin-macros": "^3.1.0", "convert-source-map": "^1.5.0", "escape-string-regexp": "^4.0.0", @@ -8744,46 +8702,51 @@ "version": "1.9.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@emotion/cache": { - "version": "11.11.0", - "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.11.0.tgz", - "integrity": "sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ==", + "version": "11.13.1", + "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.13.1.tgz", + "integrity": "sha512-iqouYkuEblRcXmylXIwwOodiEK5Ifl7JcX7o6V4jI3iW4mLXX3dmt5xwBtIkJiQEXFAI+pC8X0i67yiPkH9Ucw==", "dev": true, + "license": "MIT", "dependencies": { - "@emotion/memoize": "^0.8.1", - "@emotion/sheet": "^1.2.2", - "@emotion/utils": "^1.2.1", - "@emotion/weak-memoize": "^0.3.1", + "@emotion/memoize": "^0.9.0", + "@emotion/sheet": "^1.4.0", + "@emotion/utils": "^1.4.0", + "@emotion/weak-memoize": "^0.4.0", "stylis": "4.2.0" } }, "node_modules/@emotion/hash": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.1.tgz", - "integrity": "sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ==", - "dev": true + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.2.tgz", + "integrity": "sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==", + "dev": true, + "license": "MIT" }, "node_modules/@emotion/memoize": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz", - "integrity": "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==", - "dev": true + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.9.0.tgz", + "integrity": "sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==", + "dev": true, + "license": "MIT" }, "node_modules/@emotion/react": { - "version": "11.11.1", - "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.11.1.tgz", - "integrity": "sha512-5mlW1DquU5HaxjLkfkGN1GA/fvVGdyHURRiX/0FHl2cfIfRxSOfmxEH5YS43edp0OldZrZ+dkBKbngxcNCdZvA==", + "version": "11.13.3", + "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.13.3.tgz", + "integrity": "sha512-lIsdU6JNrmYfJ5EbUCf4xW1ovy5wKQ2CkPRM4xogziOxH1nXxBSjpC9YqbFAP7circxMfYp+6x676BqWcEiixg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/runtime": "^7.18.3", - "@emotion/babel-plugin": "^11.11.0", - "@emotion/cache": "^11.11.0", - "@emotion/serialize": "^1.1.2", - "@emotion/use-insertion-effect-with-fallbacks": "^1.0.1", - "@emotion/utils": "^1.2.1", - "@emotion/weak-memoize": "^0.3.1", + "@emotion/babel-plugin": "^11.12.0", + "@emotion/cache": "^11.13.0", + "@emotion/serialize": "^1.3.1", + "@emotion/use-insertion-effect-with-fallbacks": "^1.1.0", + "@emotion/utils": "^1.4.0", + "@emotion/weak-memoize": "^0.4.0", "hoist-non-react-statics": "^3.3.1" }, "peerDependencies": { @@ -8796,55 +8759,61 @@ } }, "node_modules/@emotion/serialize": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.2.tgz", - "integrity": "sha512-zR6a/fkFP4EAcCMQtLOhIgpprZOwNmCldtpaISpvz348+DP4Mz8ZoKaGGCQpbzepNIUWbq4w6hNZkwDyKoS+HA==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.3.1.tgz", + "integrity": "sha512-dEPNKzBPU+vFPGa+z3axPRn8XVDetYORmDC0wAiej+TNcOZE70ZMJa0X7JdeoM6q/nWTMZeLpN/fTnD9o8MQBA==", "dev": true, + "license": "MIT", "dependencies": { - "@emotion/hash": "^0.9.1", - "@emotion/memoize": "^0.8.1", - "@emotion/unitless": "^0.8.1", - "@emotion/utils": "^1.2.1", + "@emotion/hash": "^0.9.2", + "@emotion/memoize": "^0.9.0", + "@emotion/unitless": "^0.10.0", + "@emotion/utils": "^1.4.0", "csstype": "^3.0.2" } }, "node_modules/@emotion/sheet": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.2.tgz", - "integrity": "sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA==", - "dev": true + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.4.0.tgz", + "integrity": "sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg==", + "dev": true, + "license": "MIT" }, "node_modules/@emotion/unitless": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.1.tgz", - "integrity": "sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==", - "dev": true + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.10.0.tgz", + "integrity": "sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg==", + "dev": true, + "license": "MIT" }, "node_modules/@emotion/use-insertion-effect-with-fallbacks": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz", - "integrity": "sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.1.0.tgz", + "integrity": "sha512-+wBOcIV5snwGgI2ya3u99D7/FJquOIniQT1IKyDsBmEgwvpxMNeS65Oib7OnE2d2aY+3BU4OiH+0Wchf8yk3Hw==", "dev": true, + "license": "MIT", "peerDependencies": { "react": ">=16.8.0" } }, "node_modules/@emotion/utils": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.2.1.tgz", - "integrity": "sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg==", - "dev": true + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.4.0.tgz", + "integrity": "sha512-spEnrA1b6hDR/C68lC2M7m6ALPUHZC0lIY7jAS/B/9DuuO1ZP04eov8SMv/6fwRd8pzmsn2AuJEznRREWlQrlQ==", + "dev": true, + "license": "MIT" }, "node_modules/@emotion/weak-memoize": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.1.tgz", - "integrity": "sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==", - "dev": true + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.4.0.tgz", + "integrity": "sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==", + "dev": true, + "license": "MIT" }, "node_modules/@esbuild/aix-ppc64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", - "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz", + "integrity": "sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==", "cpu": [ "ppc64" ], @@ -8859,13 +8828,14 @@ } }, "node_modules/@esbuild/android-arm": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.16.17.tgz", - "integrity": "sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.20.2.tgz", + "integrity": "sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==", "cpu": [ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" @@ -8875,13 +8845,14 @@ } }, "node_modules/@esbuild/android-arm64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.16.17.tgz", - "integrity": "sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz", + "integrity": "sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" @@ -8891,13 +8862,14 @@ } }, "node_modules/@esbuild/android-x64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.16.17.tgz", - "integrity": "sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.20.2.tgz", + "integrity": "sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" @@ -8907,13 +8879,14 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.16.17.tgz", - "integrity": "sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz", + "integrity": "sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -8923,13 +8896,14 @@ } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.16.17.tgz", - "integrity": "sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz", + "integrity": "sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -8939,13 +8913,14 @@ } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.17.tgz", - "integrity": "sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz", + "integrity": "sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "freebsd" @@ -8955,13 +8930,14 @@ } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.16.17.tgz", - "integrity": "sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz", + "integrity": "sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "freebsd" @@ -8971,13 +8947,14 @@ } }, "node_modules/@esbuild/linux-arm": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.16.17.tgz", - "integrity": "sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz", + "integrity": "sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==", "cpu": [ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -8987,13 +8964,14 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.16.17.tgz", - "integrity": "sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz", + "integrity": "sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -9003,13 +8981,14 @@ } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.16.17.tgz", - "integrity": "sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz", + "integrity": "sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==", "cpu": [ "ia32" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -9019,13 +8998,14 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.16.17.tgz", - "integrity": "sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz", + "integrity": "sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==", "cpu": [ "loong64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -9035,13 +9015,14 @@ } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.16.17.tgz", - "integrity": "sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz", + "integrity": "sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==", "cpu": [ "mips64el" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -9051,13 +9032,14 @@ } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.16.17.tgz", - "integrity": "sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz", + "integrity": "sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==", "cpu": [ "ppc64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -9067,13 +9049,14 @@ } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.16.17.tgz", - "integrity": "sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz", + "integrity": "sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==", "cpu": [ "riscv64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -9083,13 +9066,14 @@ } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.16.17.tgz", - "integrity": "sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz", + "integrity": "sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==", "cpu": [ "s390x" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -9099,13 +9083,14 @@ } }, "node_modules/@esbuild/linux-x64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.16.17.tgz", - "integrity": "sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz", + "integrity": "sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -9115,13 +9100,14 @@ } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.16.17.tgz", - "integrity": "sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz", + "integrity": "sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "netbsd" @@ -9131,13 +9117,14 @@ } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.16.17.tgz", - "integrity": "sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz", + "integrity": "sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "openbsd" @@ -9147,13 +9134,14 @@ } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.16.17.tgz", - "integrity": "sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz", + "integrity": "sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "sunos" @@ -9163,13 +9151,14 @@ } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.16.17.tgz", - "integrity": "sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz", + "integrity": "sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -9179,13 +9168,14 @@ } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.16.17.tgz", - "integrity": "sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz", + "integrity": "sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==", "cpu": [ "ia32" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -9195,13 +9185,14 @@ } }, "node_modules/@esbuild/win32-x64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.16.17.tgz", - "integrity": "sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz", + "integrity": "sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -9215,6 +9206,7 @@ "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", "dev": true, + "license": "MIT", "dependencies": { "eslint-visitor-keys": "^3.3.0" }, @@ -9226,19 +9218,21 @@ } }, "node_modules/@eslint-community/regexpp": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", - "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", + "version": "4.11.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.1.tgz", + "integrity": "sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==", "dev": true, + "license": "MIT", "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, "node_modules/@eslint/eslintrc": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.3.tgz", - "integrity": "sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", "dev": true, + "license": "MIT", "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", @@ -9258,10 +9252,11 @@ } }, "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.23.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", - "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "dev": true, + "license": "MIT", "dependencies": { "type-fest": "^0.20.2" }, @@ -9277,6 +9272,7 @@ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true, + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -9285,10 +9281,11 @@ } }, "node_modules/@eslint/js": { - "version": "8.53.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.53.0.tgz", - "integrity": "sha512-Kn7K8dx/5U6+cT1yEhpX1w4PCSg0M+XyRILPgvwcEBjerFWCwQj5sbr3/VmxqV0JGHCBCzyd6LxypEuehypY1w==", + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", + "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", "dev": true, + "license": "MIT", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } @@ -9296,12 +9293,14 @@ "node_modules/@floating-ui/core": { "version": "0.7.3", "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-0.7.3.tgz", - "integrity": "sha512-buc8BXHmG9l82+OQXOFU3Kr2XQx9ys01U/Q9HMIrZ300iLc8HLMgh7dcCqgYzAzf4BkoQvDcXf5Y+CuEZ5JBYg==" + "integrity": "sha512-buc8BXHmG9l82+OQXOFU3Kr2XQx9ys01U/Q9HMIrZ300iLc8HLMgh7dcCqgYzAzf4BkoQvDcXf5Y+CuEZ5JBYg==", + "license": "MIT" }, "node_modules/@floating-ui/dom": { "version": "0.5.4", "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-0.5.4.tgz", "integrity": "sha512-419BMceRLq0RrmTSDxn8hf9R3VCJv2K9PUfugh5JyEFmdjzDo+e8U5EdR8nzKq8Yj1htzLm3b6eQEEam3/rrtg==", + "license": "MIT", "dependencies": { "@floating-ui/core": "^0.7.3" } @@ -9310,6 +9309,7 @@ "version": "0.7.2", "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-0.7.2.tgz", "integrity": "sha512-1T0sJcpHgX/u4I1OzIEhlcrvkUN8ln39nz7fMoE/2HDHrPiMFoOGR7++GYyfUmIQHkkrTinaeQsO3XWubjSvGg==", + "license": "MIT", "dependencies": { "@floating-ui/dom": "^0.5.3", "use-isomorphic-layout-effect": "^1.1.1" @@ -9320,85 +9320,97 @@ } }, "node_modules/@formatjs/ecma402-abstract": { - "version": "1.17.3", - "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.17.3.tgz", - "integrity": "sha512-2Q4hmKQ6CM30mRG/YMdSBW8LXf32BfuOb1FZgG+uVWPC/SQMoiVFz5JaeOukt96v6TZ4ddE+bHCmd611PW38QA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-2.0.0.tgz", + "integrity": "sha512-rRqXOqdFmk7RYvj4khklyqzcfQl9vEL/usogncBHRZfZBDOwMGuSRNFl02fu5KGHXdbinju+YXyuR+Nk8xlr/g==", + "license": "MIT", "dependencies": { - "@formatjs/intl-localematcher": "0.5.0", + "@formatjs/intl-localematcher": "0.5.4", "tslib": "^2.4.0" } }, "node_modules/@formatjs/ecma402-abstract/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" }, "node_modules/@formatjs/fast-memoize": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-2.2.0.tgz", "integrity": "sha512-hnk/nY8FyrL5YxwP9e4r9dqeM6cAbo8PeU9UjyXojZMNvVad2Z06FAVHyR3Ecw6fza+0GH7vdJgiKIVXTMbSBA==", + "license": "MIT", "dependencies": { "tslib": "^2.4.0" } }, "node_modules/@formatjs/fast-memoize/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" }, "node_modules/@formatjs/icu-messageformat-parser": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.7.1.tgz", - "integrity": "sha512-ErnXyRdk8AlpGcKskKVYn23aAlWXhI1kt5ek2o3pJwVeMTcrosSESQ8baztdTtJjfQHlB4NBeocfRA5C6DKv2g==", + "version": "2.7.8", + "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.7.8.tgz", + "integrity": "sha512-nBZJYmhpcSX0WeJ5SDYUkZ42AgR3xiyhNCsQweFx3cz/ULJjym8bHAzWKvG5e2+1XO98dBYC0fWeeAECAVSwLA==", + "license": "MIT", "dependencies": { - "@formatjs/ecma402-abstract": "1.17.3", - "@formatjs/icu-skeleton-parser": "1.6.3", + "@formatjs/ecma402-abstract": "2.0.0", + "@formatjs/icu-skeleton-parser": "1.8.2", "tslib": "^2.4.0" } }, "node_modules/@formatjs/icu-messageformat-parser/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" }, "node_modules/@formatjs/icu-skeleton-parser": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.6.3.tgz", - "integrity": "sha512-Viggz4Pic7oC4uR8z2VroL8H9boiUTTB0TqEsiRb6DHZv7QEcg1BoVQZBkBdLmvxhBS7nwBNrTdbaiW8GOV58Q==", + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.8.2.tgz", + "integrity": "sha512-k4ERKgw7aKGWJZgTarIcNEmvyTVD9FYh0mTrrBMHZ1b8hUu6iOJ4SzsZlo3UNAvHYa+PnvntIwRPt1/vy4nA9Q==", + "license": "MIT", "dependencies": { - "@formatjs/ecma402-abstract": "1.17.3", + "@formatjs/ecma402-abstract": "2.0.0", "tslib": "^2.4.0" } }, "node_modules/@formatjs/icu-skeleton-parser/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" }, "node_modules/@formatjs/intl-localematcher": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.5.0.tgz", - "integrity": "sha512-K1Xpg/8oyfCMxisJQa/fILoeoeyndcM0wcN8QiNG/uM5OAe1BcO1+2yd0gIboDI2tRJEsUi/sSBEYPbgkIdq4A==", + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.5.4.tgz", + "integrity": "sha512-zTwEpWOzZ2CiKcB93BLngUX59hQkuZjT2+SAQEscSm52peDW/getsawMcWF1rGRpMCX6D7nSJA3CzJ8gn13N/g==", + "license": "MIT", "dependencies": { "tslib": "^2.4.0" } }, "node_modules/@formatjs/intl-localematcher/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" }, "node_modules/@frsource/base64": { "version": "1.0.17", "resolved": "https://registry.npmjs.org/@frsource/base64/-/base64-1.0.17.tgz", "integrity": "sha512-QyMv52jCRIMUIlDM6ysSVPc6Cp3KCTu6/YeLUyJpTEhleXssYB3CT5PqmQijGGwu4819qvan8Eu4PWJRAW5Akg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@frsource/cypress-plugin-visual-regression-diff": { "version": "3.3.10", "resolved": "https://registry.npmjs.org/@frsource/cypress-plugin-visual-regression-diff/-/cypress-plugin-visual-regression-diff-3.3.10.tgz", "integrity": "sha512-ZjfOpdmXUgNRfLpsbrYiDujUzNEgLx+3dMtvMJHO3d+Yri0wniMB3mukf5+58QUMXuw8mr1cLoBkeWr1UxCOpA==", "dev": true, + "license": "MIT", "dependencies": { "@frsource/base64": "1.0.17", "glob": "8.1.0", @@ -9419,25 +9431,29 @@ "version": "9.3.0", "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", + "license": "BSD-3-Clause", "peer": true }, "node_modules/@hapi/topo": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", + "license": "BSD-3-Clause", "peer": true, "dependencies": { "@hapi/hoek": "^9.0.0" } }, "node_modules/@humanwhocodes/config-array": { - "version": "0.11.13", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", - "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==", + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", + "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", + "deprecated": "Use @eslint/config-array instead", "dev": true, + "license": "Apache-2.0", "dependencies": { - "@humanwhocodes/object-schema": "^2.0.1", - "debug": "^4.1.1", + "@humanwhocodes/object-schema": "^2.0.3", + "debug": "^4.3.1", "minimatch": "^3.0.5" }, "engines": { @@ -9449,6 +9465,7 @@ "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=12.22" }, @@ -9458,10 +9475,12 @@ } }, "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz", - "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==", - "dev": true + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "deprecated": "Use @eslint/object-schema instead", + "dev": true, + "license": "BSD-3-Clause" }, "node_modules/@img/sharp-darwin-arm64": { "version": "0.33.0", @@ -9471,6 +9490,7 @@ "arm64" ], "dev": true, + "license": "Apache-2.0", "optional": true, "os": [ "darwin" @@ -9497,6 +9517,7 @@ "x64" ], "dev": true, + "license": "Apache-2.0", "optional": true, "os": [ "darwin" @@ -9523,6 +9544,7 @@ "arm64" ], "dev": true, + "license": "LGPL-3.0-or-later", "optional": true, "os": [ "darwin" @@ -9545,6 +9567,7 @@ "x64" ], "dev": true, + "license": "LGPL-3.0-or-later", "optional": true, "os": [ "darwin" @@ -9567,6 +9590,7 @@ "arm" ], "dev": true, + "license": "LGPL-3.0-or-later", "optional": true, "os": [ "linux" @@ -9589,6 +9613,7 @@ "arm64" ], "dev": true, + "license": "LGPL-3.0-or-later", "optional": true, "os": [ "linux" @@ -9611,6 +9636,7 @@ "s390x" ], "dev": true, + "license": "LGPL-3.0-or-later", "optional": true, "os": [ "linux" @@ -9633,6 +9659,7 @@ "x64" ], "dev": true, + "license": "LGPL-3.0-or-later", "optional": true, "os": [ "linux" @@ -9655,6 +9682,7 @@ "arm64" ], "dev": true, + "license": "LGPL-3.0-or-later", "optional": true, "os": [ "linux" @@ -9677,6 +9705,7 @@ "x64" ], "dev": true, + "license": "LGPL-3.0-or-later", "optional": true, "os": [ "linux" @@ -9699,6 +9728,7 @@ "arm" ], "dev": true, + "license": "Apache-2.0", "optional": true, "os": [ "linux" @@ -9725,6 +9755,7 @@ "arm64" ], "dev": true, + "license": "Apache-2.0", "optional": true, "os": [ "linux" @@ -9751,6 +9782,7 @@ "s390x" ], "dev": true, + "license": "Apache-2.0", "optional": true, "os": [ "linux" @@ -9777,6 +9809,7 @@ "x64" ], "dev": true, + "license": "Apache-2.0", "optional": true, "os": [ "linux" @@ -9803,6 +9836,7 @@ "arm64" ], "dev": true, + "license": "Apache-2.0", "optional": true, "os": [ "linux" @@ -9829,6 +9863,7 @@ "x64" ], "dev": true, + "license": "Apache-2.0", "optional": true, "os": [ "linux" @@ -9855,6 +9890,7 @@ "wasm32" ], "dev": true, + "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT", "optional": true, "dependencies": { "@emnapi/runtime": "^0.44.0" @@ -9877,6 +9913,7 @@ "ia32" ], "dev": true, + "license": "Apache-2.0 AND LGPL-3.0-or-later", "optional": true, "os": [ "win32" @@ -9899,6 +9936,7 @@ "x64" ], "dev": true, + "license": "Apache-2.0 AND LGPL-3.0-or-later", "optional": true, "os": [ "win32" @@ -9913,13 +9951,255 @@ "url": "https://opencollective.com/libvips" } }, - "node_modules/@isaacs/ttlcache": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@isaacs/ttlcache/-/ttlcache-1.4.1.tgz", - "integrity": "sha512-RQgQ4uQ+pLbqXfOmieB91ejmLwvSgv9nLx6sT6sD83s7umBypgg+OIBOBbEUiJXrfpnp9j0mRhYYdzp9uqq3lA==", - "peer": true, - "engines": { - "node": ">=12" + "node_modules/@inquirer/confirm": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-3.2.0.tgz", + "integrity": "sha512-oOIwPs0Dvq5220Z8lGL/6LHRTEr9TgLHmiI99Rj1PJ1p1czTys+olrgBqZk4E2qC0YTzeHprxSQmoHioVdJ7Lw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^9.1.0", + "@inquirer/type": "^1.5.3" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/core": { + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-9.2.1.tgz", + "integrity": "sha512-F2VBt7W/mwqEU4bL0RnHNZmC/OxzNx9cOYxHqnXX3MP6ruYvZUZAW9imgN9+h/uBT/oP8Gh888J2OZSbjSeWcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/figures": "^1.0.6", + "@inquirer/type": "^2.0.0", + "@types/mute-stream": "^0.0.4", + "@types/node": "^22.5.5", + "@types/wrap-ansi": "^3.0.0", + "ansi-escapes": "^4.3.2", + "cli-width": "^4.1.0", + "mute-stream": "^1.0.0", + "signal-exit": "^4.1.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^6.2.0", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/core/node_modules/@inquirer/type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-2.0.0.tgz", + "integrity": "sha512-XvJRx+2KR3YXyYtPUUy+qd9i7p+GO9Ko6VIIpWlBrpWwXDv8WLFeHTxz35CfQFUiBMLXlGHhGzys7lqit9gWag==", + "dev": true, + "license": "MIT", + "dependencies": { + "mute-stream": "^1.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/core/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, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@inquirer/core/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, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@inquirer/core/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, + "license": "MIT" + }, + "node_modules/@inquirer/core/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@inquirer/core/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@inquirer/figures": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.6.tgz", + "integrity": "sha512-yfZzps3Cso2UbM7WlxKwZQh2Hs6plrbjs1QnzQDZhK2DgyCo6D8AaHps9olkNcUFlcYERMqU3uJSp1gmy3s/qQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/type": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-1.5.5.tgz", + "integrity": "sha512-MzICLu4yS7V8AA61sANROZ9vT1H3ooca5dSmI1FjZkzq7o/koMsRfQSzRtFo+F3Ao4Sf1C0bpLKejpKB/+j6MA==", + "dev": true, + "license": "MIT", + "dependencies": { + "mute-stream": "^1.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/@isaacs/ttlcache": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@isaacs/ttlcache/-/ttlcache-1.4.1.tgz", + "integrity": "sha512-RQgQ4uQ+pLbqXfOmieB91ejmLwvSgv9nLx6sT6sD83s7umBypgg+OIBOBbEUiJXrfpnp9j0mRhYYdzp9uqq3lA==", + "license": "ISC", + "peer": true, + "engines": { + "node": ">=12" } }, "node_modules/@istanbuljs/load-nyc-config": { @@ -9927,6 +10207,7 @@ "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", "dev": true, + "license": "ISC", "dependencies": { "camelcase": "^5.3.1", "find-up": "^4.1.0", @@ -9943,6 +10224,7 @@ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, + "license": "MIT", "dependencies": { "sprintf-js": "~1.0.2" } @@ -9952,6 +10234,7 @@ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, + "license": "MIT", "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -9965,6 +10248,7 @@ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, + "license": "MIT", "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -9978,6 +10262,7 @@ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, + "license": "MIT", "dependencies": { "p-locate": "^4.1.0" }, @@ -9990,6 +10275,7 @@ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, + "license": "MIT", "dependencies": { "p-try": "^2.0.0" }, @@ -10005,6 +10291,7 @@ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, + "license": "MIT", "dependencies": { "p-limit": "^2.2.0" }, @@ -10017,6 +10304,7 @@ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -10026,6 +10314,7 @@ "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -10034,6 +10323,7 @@ "version": "29.7.0", "resolved": "https://registry.npmjs.org/@jest/create-cache-key-function/-/create-cache-key-function-29.7.0.tgz", "integrity": "sha512-4QqS3LY5PBmTRHj9sAg1HLoPzqAI0uOX6wI/TRqHIcOxlFidy6YEmCQJk6FSZjNLGCeubDMfmkWL+qaLKhSGQA==", + "license": "MIT", "peer": true, "dependencies": { "@jest/types": "^29.6.3" @@ -10046,6 +10336,7 @@ "version": "29.7.0", "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", + "license": "MIT", "peer": true, "dependencies": { "@jest/fake-timers": "^29.7.0", @@ -10057,22 +10348,11 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@jest/expect-utils": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", - "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", - "dev": true, - "dependencies": { - "jest-get-type": "^29.6.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, "node_modules/@jest/fake-timers": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", + "license": "MIT", "peer": true, "dependencies": { "@jest/types": "^29.6.3", @@ -10090,6 +10370,8 @@ "version": "29.6.3", "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "license": "MIT", + "peer": true, "dependencies": { "@sinclair/typebox": "^0.27.8" }, @@ -10101,6 +10383,8 @@ "version": "29.6.3", "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "license": "MIT", + "peer": true, "dependencies": { "@jest/schemas": "^29.6.3", "@types/istanbul-lib-coverage": "^2.0.0", @@ -10117,6 +10401,8 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "peer": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -10131,6 +10417,8 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "peer": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -10146,6 +10434,8 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "peer": true, "dependencies": { "color-name": "~1.1.4" }, @@ -10156,12 +10446,16 @@ "node_modules/@jest/types/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==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT", + "peer": true }, "node_modules/@jest/types/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==", + "license": "MIT", + "peer": true, "engines": { "node": ">=8" } @@ -10170,6 +10464,8 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -10178,53 +10474,59 @@ } }, "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "license": "MIT", "dependencies": { - "@jridgewell/set-array": "^1.0.1", + "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", - "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "license": "MIT", "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "license": "MIT", "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/source-map": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", - "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", + "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", + "license": "MIT", "peer": true, "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" } }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "license": "MIT" }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.20", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", - "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "license": "MIT", "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" @@ -10233,53 +10535,32 @@ "node_modules/@juggle/resize-observer": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/@juggle/resize-observer/-/resize-observer-3.4.0.tgz", - "integrity": "sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==" - }, - "node_modules/@mswjs/cookies": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/@mswjs/cookies/-/cookies-0.2.2.tgz", - "integrity": "sha512-mlN83YSrcFgk7Dm1Mys40DLssI1KdJji2CMKN8eOlBqsTADYzj2+jWzsANsUTFbxDMWPD5e9bfA1RGqBpS3O1g==", - "dev": true, - "dependencies": { - "@types/set-cookie-parser": "^2.4.0", - "set-cookie-parser": "^2.4.6" - }, - "engines": { - "node": ">=14" - } + "integrity": "sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==", + "license": "Apache-2.0" }, "node_modules/@mswjs/interceptors": { - "version": "0.17.10", - "resolved": "https://registry.npmjs.org/@mswjs/interceptors/-/interceptors-0.17.10.tgz", - "integrity": "sha512-N8x7eSLGcmUFNWZRxT1vsHvypzIRgQYdG0rJey/rZCy6zT/30qDt8Joj7FxzGNLSwXbeZqJOMqDurp7ra4hgbw==", + "version": "0.35.8", + "resolved": "https://registry.npmjs.org/@mswjs/interceptors/-/interceptors-0.35.8.tgz", + "integrity": "sha512-PFfqpHplKa7KMdoQdj5td03uG05VK2Ng1dG0sP4pT9h0dGSX2v9txYt/AnrzPb/vAmfyBBC0NQV7VaBEX+efgQ==", "dev": true, + "license": "MIT", "dependencies": { - "@open-draft/until": "^1.0.3", - "@types/debug": "^4.1.7", - "@xmldom/xmldom": "^0.8.3", - "debug": "^4.3.3", - "headers-polyfill": "3.2.5", - "outvariant": "^1.2.1", - "strict-event-emitter": "^0.2.4", - "web-encoding": "^1.1.5" + "@open-draft/deferred-promise": "^2.2.0", + "@open-draft/logger": "^0.3.0", + "@open-draft/until": "^2.0.0", + "is-node-process": "^1.2.0", + "outvariant": "^1.4.3", + "strict-event-emitter": "^0.5.1" }, "engines": { - "node": ">=14" - } - }, - "node_modules/@mswjs/interceptors/node_modules/strict-event-emitter": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/strict-event-emitter/-/strict-event-emitter-0.2.8.tgz", - "integrity": "sha512-KDf/ujU8Zud3YaLtMCcTI4xkZlZVIYxTLr+XIULexP+77EEVWixeXroLUXQXiVtH4XH2W7jr/3PT1v3zBuvc3A==", - "dev": true, - "dependencies": { - "events": "^3.3.0" + "node": ">=18" } }, "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==", + "license": "MIT", "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -10292,6 +10573,7 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "license": "MIT", "engines": { "node": ">= 8" } @@ -10300,6 +10582,7 @@ "version": "1.2.8", "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "license": "MIT", "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" @@ -10308,17 +10591,48 @@ "node": ">= 8" } }, - "node_modules/@open-draft/until": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@open-draft/until/-/until-1.0.3.tgz", - "integrity": "sha512-Aq58f5HiWdyDlFffbbSjAlv596h/cOnt2DO1w3DOC7OJ5EHs0hd/nycJfiu9RJbT6Yk6F1knnRRXNSpxoIVZ9Q==", - "dev": true + "node_modules/@open-draft/deferred-promise": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@open-draft/deferred-promise/-/deferred-promise-2.2.0.tgz", + "integrity": "sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA==", + "dev": true, + "license": "MIT" }, - "node_modules/@radix-ui/number": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@radix-ui/number/-/number-1.0.0.tgz", - "integrity": "sha512-Ofwh/1HX69ZfJRiRBMTy7rgjAzHmwe4kW9C9Y99HTRUcYLUuVT0KESFj15rPjRgKJs20GPq8Bm5aEDJ8DuA3vA==", - "dependencies": { + "node_modules/@open-draft/logger": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@open-draft/logger/-/logger-0.3.0.tgz", + "integrity": "sha512-X2g45fzhxH238HKO4xbSr7+wBS8Fvw6ixhTDuvLd5mqh6bJJCFAPwU9mPDxbcrRtfxv4u5IHCEH77BmxvXmmxQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-node-process": "^1.2.0", + "outvariant": "^1.4.0" + } + }, + "node_modules/@open-draft/until": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@open-draft/until/-/until-2.1.0.tgz", + "integrity": "sha512-U69T3ItWHvLwGg5eJ0n3I62nWuE6ilHlmz7zM0npLBRvPRd7e6NYmg54vvRtP5mZG7kZqZCFVdsTWo7BPtBujg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@radix-ui/number": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/number/-/number-1.0.0.tgz", + "integrity": "sha512-Ofwh/1HX69ZfJRiRBMTy7rgjAzHmwe4kW9C9Y99HTRUcYLUuVT0KESFj15rPjRgKJs20GPq8Bm5aEDJ8DuA3vA==", + "license": "MIT", + "dependencies": { "@babel/runtime": "^7.13.10" } }, @@ -10326,6 +10640,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.0.0.tgz", "integrity": "sha512-3e7rn8FDMin4CgeL7Z/49smCA3rFYY3Ha2rUQ7HRWFadS5iCRw08ZgVT1LaNTCNqgvrUiyczLflrVrF0SRQtNA==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.13.10" } @@ -10334,6 +10649,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/@radix-ui/react-accordion/-/react-accordion-1.0.0.tgz", "integrity": "sha512-F4vrzev+f1gjrWiU+IFQIzN43fYyvQ+AN0OicHYoDddis53xnPC0DKm16Ks4/XjvmqbISAR/FscYX0vymEHxcA==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.13.10", "@radix-ui/primitive": "1.0.0", @@ -10354,6 +10670,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.0.0.tgz", "integrity": "sha512-1MUuv24HCdepi41+qfv125EwMuxgQ+U+h0A9K3BjCO/J8nVRREKHHpkD9clwfnjEDk9hgGzCnff4aUKCPiRepw==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.13.10", "@radix-ui/react-primitive": "1.0.0" @@ -10367,6 +10684,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/@radix-ui/react-collapsible/-/react-collapsible-1.0.0.tgz", "integrity": "sha512-NfZqWntvPsC43szs0NvumRjmTTJTLgaDOAnmVGDZaGsg2u6LcJwUT7YeYSKnlxWRQWN4pwwEfoYdWrtoutfO8g==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.13.10", "@radix-ui/primitive": "1.0.0", @@ -10387,6 +10705,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.0.0.tgz", "integrity": "sha512-8i1pf5dKjnq90Z8udnnXKzdCEV3/FYrfw0n/b6NvB6piXEn3fO1bOh7HBcpG8XrnIXzxlYu2oCcR38QpyLS/mg==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.13.10", "@radix-ui/react-compose-refs": "1.0.0", @@ -10403,6 +10722,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.0.0.tgz", "integrity": "sha512-0KaSv6sx787/hK3eF53iOkiSLwAGlFMx5lotrqD2pTjB18KbybKoEIgkNZTKC60YECDQTKGTRcDBILwZVqVKvA==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.13.10" }, @@ -10414,6 +10734,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.0.0.tgz", "integrity": "sha512-1pVM9RfOQ+n/N5PJK33kRSKsr1glNxomxONs5c49MliinBY6Yw2Q995qfBUUo0/Mbg05B/sGA0gkgPI7kmSHBg==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.13.10" }, @@ -10425,6 +10746,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/@radix-ui/react-direction/-/react-direction-1.0.0.tgz", "integrity": "sha512-2HV05lGUgYcA6xgLQ4BKPDmtL+QbIZYH5fCOTAOOcJ5O0QbWS3i9lKaurLzliYUDhORI2Qr3pyjhJh44lKA3rQ==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.13.10" }, @@ -10436,6 +10758,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.0.0.tgz", "integrity": "sha512-n7kDRfx+LB1zLueRDvZ1Pd0bxdJWDUZNQ/GWoxDn2prnuJKRdxsjulejX/ePkOsLi2tTm6P24mDqlMSgQpsT6g==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.13.10", "@radix-ui/primitive": "1.0.0", @@ -10453,6 +10776,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/@radix-ui/react-dropdown-menu/-/react-dropdown-menu-1.0.0.tgz", "integrity": "sha512-Ptben3TxPWrZLbInO7zjAK73kmjYuStsxfg6ujgt+EywJyREoibhZYnsSNqC+UiOtl4PdW/MOHhxVDtew5fouQ==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.13.10", "@radix-ui/primitive": "1.0.0", @@ -10472,6 +10796,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-guards/-/react-focus-guards-1.0.0.tgz", "integrity": "sha512-UagjDk4ijOAnGu4WMUPj9ahi7/zJJqNZ9ZAiGPp7waUWJO0O1aWXi/udPphI0IUjvrhBsZJGSN66dR2dsueLWQ==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.13.10" }, @@ -10483,6 +10808,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.0.0.tgz", "integrity": "sha512-C4SWtsULLGf/2L4oGeIHlvWQx7Rf+7cX/vKOAD2dXW0A1b5QXwi3wWeaEgW+wn+SEVrraMUk05vLU9fZZz5HbQ==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.13.10", "@radix-ui/react-compose-refs": "1.0.0", @@ -10498,6 +10824,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.0.0.tgz", "integrity": "sha512-Q6iAB/U7Tq3NTolBBQbHTgclPmGWE3OlktGGqrClPozSw4vkQ1DfQAOtzgRPecKsMdJINE05iaoDUG8tRzCBjw==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.13.10", "@radix-ui/react-use-layout-effect": "1.0.0" @@ -10510,6 +10837,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/@radix-ui/react-menu/-/react-menu-1.0.0.tgz", "integrity": "sha512-icW4C64T6nHh3Z4Q1fxO1RlSShouFF4UpUmPV8FLaJZfphDljannKErDuALDx4ClRLihAPZ9i+PrLNPoWS2DMA==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.13.10", "@radix-ui/primitive": "1.0.0", @@ -10540,6 +10868,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.0.0.tgz", "integrity": "sha512-k2dDd+1Wl0XWAMs9ZvAxxYsB9sOsEhrFQV4CINd7IUZf0wfdye4OHen9siwxvZImbzhgVeKTJi68OQmPRvVdMg==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.13.10", "@floating-ui/react-dom": "0.7.2", @@ -10561,6 +10890,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.0.0.tgz", "integrity": "sha512-a8qyFO/Xb99d8wQdu4o7qnigNjTPG123uADNecz0eX4usnQEj7o+cG4ZX4zkqq98NYekT7UoEQIjxBNWIFuqTA==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.13.10", "@radix-ui/react-primitive": "1.0.0" @@ -10574,6 +10904,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.0.0.tgz", "integrity": "sha512-A+6XEvN01NfVWiKu38ybawfHsBjWum42MRPnEuqPsBZ4eV7e/7K321B5VgYMPv3Xx5An6o1/l9ZuDBgmcmWK3w==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.13.10", "@radix-ui/react-compose-refs": "1.0.0", @@ -10588,6 +10919,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-1.0.0.tgz", "integrity": "sha512-EyXe6mnRlHZ8b6f4ilTDrXmkLShICIuOTTj0GX4w1rp+wSxf3+TD05u1UOITC8VsJ2a9nwHvdXtOXEOl0Cw/zQ==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.13.10", "@radix-ui/react-slot": "1.0.0" @@ -10601,6 +10933,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/@radix-ui/react-roving-focus/-/react-roving-focus-1.0.0.tgz", "integrity": "sha512-lHvO4MhvoWpeNbiJAoyDsEtbKqP2jkkdwsMVJ3kfqbkC71J/aXE6Th6gkZA1xHEqSku+t+UgoDjvE7Z3gsBpcg==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.13.10", "@radix-ui/primitive": "1.0.0", @@ -10622,6 +10955,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/@radix-ui/react-slider/-/react-slider-1.0.0.tgz", "integrity": "sha512-LMZET7vn7HYwYSjsc9Jcen8Vn4cJXZZxQT7T+lGlqp+F+FofX+H86TBF2yDq+L51d99f1KLEsflTGBz9WRLSig==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.13.10", "@radix-ui/number": "1.0.0", @@ -10645,6 +10979,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.0.0.tgz", "integrity": "sha512-3mrKauI/tWXo1Ll+gN5dHcxDPdm/Df1ufcDLCecn+pnCIVcdWE7CujXo8QaXOWRJyZyQWWbpB8eFwHzWXlv5mQ==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.13.10", "@radix-ui/react-compose-refs": "1.0.0" @@ -10657,6 +10992,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/@radix-ui/react-tabs/-/react-tabs-1.0.0.tgz", "integrity": "sha512-oKUwEDsySVC0uuSEH7SHCVt1+ijmiDFAI9p+fHCtuZdqrRDKIFs09zp5nrmu4ggP6xqSx9lj1VSblnDH+n3IBA==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.13.10", "@radix-ui/primitive": "1.0.0", @@ -10677,6 +11013,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.0.0.tgz", "integrity": "sha512-GZtyzoHz95Rhs6S63D2t/eqvdFCm7I+yHMLVQheKM7nBD8mbZIt+ct1jz4536MDnaOGKIxynJ8eHTkVGVVkoTg==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.13.10" }, @@ -10688,6 +11025,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.0.0.tgz", "integrity": "sha512-FohDoZvk3mEXh9AWAVyRTYR4Sq7/gavuofglmiXB2g1aKyboUD4YtgWxKj8O5n+Uak52gXQ4wKz5IFST4vtJHg==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.13.10", "@radix-ui/react-use-callback-ref": "1.0.0" @@ -10700,6 +11038,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.0.0.tgz", "integrity": "sha512-JwfBCUIfhXRxKExgIqGa4CQsiMemo1Xt0W/B4ei3fpzpvPENKpMKQ8mZSB6Acj3ebrAEgi2xiQvcI1PAAodvyg==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.13.10", "@radix-ui/react-use-callback-ref": "1.0.0" @@ -10712,6 +11051,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.0.0.tgz", "integrity": "sha512-6Tpkq+R6LOlmQb1R5NNETLG0B4YP0wc+klfXafpUCj6JGyaUc8il7/kUZ7m59rGbXGczE9Bs+iz2qloqsZBduQ==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.13.10" }, @@ -10723,6 +11063,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/@radix-ui/react-use-previous/-/react-use-previous-1.0.0.tgz", "integrity": "sha512-RG2K8z/K7InnOKpq6YLDmT49HGjNmrK+fr82UCVKT2sW0GYfVnYp4wZWBooT/EYfQ5faA9uIjvsuMMhH61rheg==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.13.10" }, @@ -10734,6 +11075,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/@radix-ui/react-use-rect/-/react-use-rect-1.0.0.tgz", "integrity": "sha512-TB7pID8NRMEHxb/qQJpvSt3hQU4sqNPM1VCTjTRjEOa7cEop/QMuq8S6fb/5Tsz64kqSvB9WnwsDHtjnrM9qew==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.13.10", "@radix-ui/rect": "1.0.0" @@ -10746,6 +11088,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/@radix-ui/react-use-size/-/react-use-size-1.0.0.tgz", "integrity": "sha512-imZ3aYcoYCKhhgNpkNDh/aTiU05qw9hX+HHI1QDBTyIlcFjgeFlKKySNGMwTp7nYFLQg/j0VA2FmCY4WPDDHMg==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.13.10", "@radix-ui/react-use-layout-effect": "1.0.0" @@ -10758,6 +11101,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/@radix-ui/rect/-/rect-1.0.0.tgz", "integrity": "sha512-d0O68AYy/9oeEy1DdC07bz1/ZXX+DqCskRd3i4JzLSTXwefzaepQrKjXC7aNM8lTHjFLDO0pDgaEiQ7jEk+HVg==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.13.10" } @@ -10765,27 +11109,28 @@ "node_modules/@reach/observe-rect": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@reach/observe-rect/-/observe-rect-1.2.0.tgz", - "integrity": "sha512-Ba7HmkFgfQxZqqaeIWWkNK0rEhpxVQHIoVyW1YDSkGsGIXzcaW4deC8B0pZrNSSyLTdIk7y+5olKt5+g0GmFIQ==" + "integrity": "sha512-Ba7HmkFgfQxZqqaeIWWkNK0rEhpxVQHIoVyW1YDSkGsGIXzcaW4deC8B0pZrNSSyLTdIk7y+5olKt5+g0GmFIQ==", + "license": "MIT" }, "node_modules/@react-native-community/cli": { - "version": "13.6.8", - "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-13.6.8.tgz", - "integrity": "sha512-0lRdgLNaXixWY4BfFRl1J6Ao9Lapo2z+++iE7TD4GAbuxOWJSyFi+KUA8XNfSDyML4jFO02MZgyBPxAWdaminQ==", - "peer": true, - "dependencies": { - "@react-native-community/cli-clean": "13.6.8", - "@react-native-community/cli-config": "13.6.8", - "@react-native-community/cli-debugger-ui": "13.6.8", - "@react-native-community/cli-doctor": "13.6.8", - "@react-native-community/cli-hermes": "13.6.8", - "@react-native-community/cli-server-api": "13.6.8", - "@react-native-community/cli-tools": "13.6.8", - "@react-native-community/cli-types": "13.6.8", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-14.1.0.tgz", + "integrity": "sha512-k7aTdKNZIec7WMSqMJn9bDVLWPPOaYmshXcnjWy6t5ItsJnREju9p2azMTR5tXY5uIeynose3cxettbhk2Tbnw==", + "license": "MIT", + "peer": true, + "dependencies": { + "@react-native-community/cli-clean": "14.1.0", + "@react-native-community/cli-config": "14.1.0", + "@react-native-community/cli-debugger-ui": "14.1.0", + "@react-native-community/cli-doctor": "14.1.0", + "@react-native-community/cli-server-api": "14.1.0", + "@react-native-community/cli-tools": "14.1.0", + "@react-native-community/cli-types": "14.1.0", "chalk": "^4.1.2", "commander": "^9.4.1", "deepmerge": "^4.3.0", "execa": "^5.0.0", - "find-up": "^4.1.0", + "find-up": "^5.0.0", "fs-extra": "^8.1.0", "graceful-fs": "^4.1.3", "prompts": "^2.4.2", @@ -10799,12 +11144,13 @@ } }, "node_modules/@react-native-community/cli-clean": { - "version": "13.6.8", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-clean/-/cli-clean-13.6.8.tgz", - "integrity": "sha512-B1uxlm1N4BQuWFvBL3yRl3LVvydjswsdbTi7tMrHMtSxfRio1p9HjcmDzlzKco09Y+8qBGgakm3jcMZGLbhXQQ==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-clean/-/cli-clean-14.1.0.tgz", + "integrity": "sha512-/C4j1yntLo6faztNgZnsDtgpGqa6j0+GYrxOY8LqaKAN03OCnoeUUKO6w78dycbYSGglc1xjJg2RZI/M2oF2AA==", + "license": "MIT", "peer": true, "dependencies": { - "@react-native-community/cli-tools": "13.6.8", + "@react-native-community/cli-tools": "14.1.0", "chalk": "^4.1.2", "execa": "^5.0.0", "fast-glob": "^3.3.2" @@ -10814,6 +11160,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "peer": true, "dependencies": { "color-convert": "^2.0.1" @@ -10829,6 +11176,7 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "peer": true, "dependencies": { "ansi-styles": "^4.1.0", @@ -10845,6 +11193,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "peer": true, "dependencies": { "color-name": "~1.1.4" @@ -10857,12 +11206,14 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT", "peer": true }, "node_modules/@react-native-community/cli-clean/node_modules/execa": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "license": "MIT", "peer": true, "dependencies": { "cross-spawn": "^7.0.3", @@ -10886,6 +11237,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "license": "MIT", "peer": true, "engines": { "node": ">=10" @@ -10898,6 +11250,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", "peer": true, "engines": { "node": ">=8" @@ -10907,6 +11260,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "license": "Apache-2.0", "peer": true, "engines": { "node": ">=10.17.0" @@ -10916,6 +11270,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "peer": true, "dependencies": { "has-flag": "^4.0.0" @@ -10925,14 +11280,15 @@ } }, "node_modules/@react-native-community/cli-config": { - "version": "13.6.8", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-config/-/cli-config-13.6.8.tgz", - "integrity": "sha512-RabCkIsWdP4Ex/sf1uSP9qxc30utm+0uIJAjrZkNQynm7T4Lyqn/kT3LKm4yM6M0Qk61YxGguiaXF4601vAduw==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-config/-/cli-config-14.1.0.tgz", + "integrity": "sha512-P3FK2rPUJBD1fmQHLgTqpHxsc111pnMdEEFR7KeqprCNz+Qr2QpPxfNy0V7s15tGL5rAv+wpbOGcioIV50EbxA==", + "license": "MIT", "peer": true, "dependencies": { - "@react-native-community/cli-tools": "13.6.8", + "@react-native-community/cli-tools": "14.1.0", "chalk": "^4.1.2", - "cosmiconfig": "^5.1.0", + "cosmiconfig": "^9.0.0", "deepmerge": "^4.3.0", "fast-glob": "^3.3.2", "joi": "^17.2.1" @@ -10942,6 +11298,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "peer": true, "dependencies": { "color-convert": "^2.0.1" @@ -10953,19 +11310,11 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@react-native-community/cli-config/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "peer": true, - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, "node_modules/@react-native-community/cli-config/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "peer": true, "dependencies": { "ansi-styles": "^4.1.0", @@ -10982,6 +11331,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "peer": true, "dependencies": { "color-name": "~1.1.4" @@ -10994,27 +11344,41 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT", "peer": true }, "node_modules/@react-native-community/cli-config/node_modules/cosmiconfig": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", - "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", + "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==", + "license": "MIT", "peer": true, "dependencies": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.13.1", - "parse-json": "^4.0.0" + "env-paths": "^2.2.1", + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0" }, "engines": { - "node": ">=4" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, "node_modules/@react-native-community/cli-config/node_modules/deepmerge": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "license": "MIT", "peer": true, "engines": { "node": ">=0.10.0" @@ -11024,63 +11388,17 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", "peer": true, "engines": { "node": ">=8" } }, - "node_modules/@react-native-community/cli-config/node_modules/import-fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", - "integrity": "sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==", - "peer": true, - "dependencies": { - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@react-native-community/cli-config/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==", - "peer": true, - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/@react-native-community/cli-config/node_modules/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", - "peer": true, - "dependencies": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@react-native-community/cli-config/node_modules/resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==", - "peer": true, - "engines": { - "node": ">=4" - } - }, "node_modules/@react-native-community/cli-config/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==", + "license": "MIT", "peer": true, "dependencies": { "has-flag": "^4.0.0" @@ -11090,31 +11408,32 @@ } }, "node_modules/@react-native-community/cli-debugger-ui": { - "version": "13.6.8", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-13.6.8.tgz", - "integrity": "sha512-2cS+MX/Su6sVSjqpDftFOXbK7EuPg98xzsPkdPhkQnkZwvXqodK9CAMuDMbx3lBHHtrPrpMbBCpFmPN8iVOnlA==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-14.1.0.tgz", + "integrity": "sha512-+YbeCL0wLcBcqDwraJFGsqzcXu9S+bwTVrfImne/4mT6itfe3Oa93yrOVJgNbstrt5pJHuwpU76ZXfXoiuncsg==", + "license": "MIT", "peer": true, "dependencies": { "serve-static": "^1.13.1" } }, "node_modules/@react-native-community/cli-doctor": { - "version": "13.6.8", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-doctor/-/cli-doctor-13.6.8.tgz", - "integrity": "sha512-/3Vdy9J3hyiu0y3nd/CU3kBqPlTRxnLXg7V6jrA1jbTOlZAMyV9imEkrqEaGK0SMOyMhh9Pipf98Ozhk0Nl4QA==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-doctor/-/cli-doctor-14.1.0.tgz", + "integrity": "sha512-xIf0oQDRKt7lufUenRwcLYdINGc0x1FSXHaHjd7lQDGT5FJnCEYlIkYEDDgAl5tnVJSvM/IL2c6O+mffkNEPzQ==", + "license": "MIT", "peer": true, "dependencies": { - "@react-native-community/cli-config": "13.6.8", - "@react-native-community/cli-platform-android": "13.6.8", - "@react-native-community/cli-platform-apple": "13.6.8", - "@react-native-community/cli-platform-ios": "13.6.8", - "@react-native-community/cli-tools": "13.6.8", + "@react-native-community/cli-config": "14.1.0", + "@react-native-community/cli-platform-android": "14.1.0", + "@react-native-community/cli-platform-apple": "14.1.0", + "@react-native-community/cli-platform-ios": "14.1.0", + "@react-native-community/cli-tools": "14.1.0", "chalk": "^4.1.2", "command-exists": "^1.2.8", "deepmerge": "^4.3.0", - "envinfo": "^7.10.0", + "envinfo": "^7.13.0", "execa": "^5.0.0", - "hermes-profile-transformer": "^0.0.6", "node-stream-zip": "^1.9.1", "ora": "^5.4.1", "semver": "^7.5.2", @@ -11127,6 +11446,7 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "license": "MIT", "peer": true, "engines": { "node": ">=6" @@ -11136,6 +11456,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "peer": true, "dependencies": { "color-convert": "^2.0.1" @@ -11151,6 +11472,7 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "peer": true, "dependencies": { "ansi-styles": "^4.1.0", @@ -11167,6 +11489,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "peer": true, "dependencies": { "color-name": "~1.1.4" @@ -11179,12 +11502,14 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT", "peer": true }, "node_modules/@react-native-community/cli-doctor/node_modules/deepmerge": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "license": "MIT", "peer": true, "engines": { "node": ">=0.10.0" @@ -11194,6 +11519,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "license": "MIT", "peer": true, "dependencies": { "cross-spawn": "^7.0.3", @@ -11217,6 +11543,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "license": "MIT", "peer": true, "engines": { "node": ">=10" @@ -11229,6 +11556,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", "peer": true, "engines": { "node": ">=8" @@ -11238,15 +11566,17 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "license": "Apache-2.0", "peer": true, "engines": { "node": ">=10.17.0" } }, "node_modules/@react-native-community/cli-doctor/node_modules/semver": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", - "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "license": "ISC", "peer": true, "bin": { "semver": "bin/semver.js" @@ -11259,6 +11589,7 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "license": "MIT", "peer": true, "dependencies": { "ansi-regex": "^4.1.0" @@ -11271,6 +11602,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "peer": true, "dependencies": { "has-flag": "^4.0.0" @@ -11280,9 +11612,10 @@ } }, "node_modules/@react-native-community/cli-doctor/node_modules/yaml": { - "version": "2.4.5", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.5.tgz", - "integrity": "sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.1.tgz", + "integrity": "sha512-bLQOjaX/ADgQ20isPJRvF0iRUHIxVhYvr53Of7wGcWlO2jvtUlH5m87DsmulFVxRpNLOnI4tB6p/oh8D7kpn9Q==", + "license": "ISC", "peer": true, "bin": { "yaml": "bin.mjs" @@ -11291,99 +11624,18 @@ "node": ">= 14" } }, - "node_modules/@react-native-community/cli-hermes": { - "version": "13.6.8", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-hermes/-/cli-hermes-13.6.8.tgz", - "integrity": "sha512-lZi/OBFuZUj5cLK94oEgtrtmxGoqeYVRcnHXl/R5c4put9PDl+qH2bEMlGZkFiw57ae3UZKr3TMk+1s4jh3FYQ==", - "peer": true, - "dependencies": { - "@react-native-community/cli-platform-android": "13.6.8", - "@react-native-community/cli-tools": "13.6.8", - "chalk": "^4.1.2", - "hermes-profile-transformer": "^0.0.6" - } - }, - "node_modules/@react-native-community/cli-hermes/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/@react-native-community/cli-hermes/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/@react-native-community/cli-hermes/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/@react-native-community/cli-hermes/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/@react-native-community/cli-hermes/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/@react-native-community/cli-hermes/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/@react-native-community/cli-platform-android": { - "version": "13.6.8", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-13.6.8.tgz", - "integrity": "sha512-vWrqeLRRTwp2kO33nbrAgbYn8HR2c2CpIfyVJY9Ckk7HGUSwDyxdcSu7YBvt2ShdfLZH0HctWFNXsgGrfg6BDw==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-14.1.0.tgz", + "integrity": "sha512-4JnXkAV+ca8XdUhZ7xjgDhXAMwTVjQs8JqiwP7FTYVrayShXy2cBXm/C3HNDoe+oQOF5tPT2SqsDAF2vYTnKiQ==", + "license": "MIT", "peer": true, "dependencies": { - "@react-native-community/cli-tools": "13.6.8", + "@react-native-community/cli-tools": "14.1.0", "chalk": "^4.1.2", "execa": "^5.0.0", "fast-glob": "^3.3.2", - "fast-xml-parser": "^4.2.4", + "fast-xml-parser": "^4.4.1", "logkitty": "^0.7.1" } }, @@ -11391,6 +11643,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "peer": true, "dependencies": { "color-convert": "^2.0.1" @@ -11406,6 +11659,7 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "peer": true, "dependencies": { "ansi-styles": "^4.1.0", @@ -11422,6 +11676,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "peer": true, "dependencies": { "color-name": "~1.1.4" @@ -11434,12 +11689,14 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT", "peer": true }, "node_modules/@react-native-community/cli-platform-android/node_modules/execa": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "license": "MIT", "peer": true, "dependencies": { "cross-spawn": "^7.0.3", @@ -11463,6 +11720,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "license": "MIT", "peer": true, "engines": { "node": ">=10" @@ -11475,6 +11733,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", "peer": true, "engines": { "node": ">=8" @@ -11484,6 +11743,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "license": "Apache-2.0", "peer": true, "engines": { "node": ">=10.17.0" @@ -11493,6 +11753,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "peer": true, "dependencies": { "has-flag": "^4.0.0" @@ -11502,16 +11763,17 @@ } }, "node_modules/@react-native-community/cli-platform-apple": { - "version": "13.6.8", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-apple/-/cli-platform-apple-13.6.8.tgz", - "integrity": "sha512-1JPohnlXPqU44zns3ALEzIbH2cKRw6JtEDJERgLuEUbs2r2NeJgqDbKyZ7fTTO8o+pegDnn6+Rr7qGVVOuUzzg==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-apple/-/cli-platform-apple-14.1.0.tgz", + "integrity": "sha512-DExd+pZ7hHxXt8I6BBmckeYUxxq7PQ+o4YSmGIeQx0xUpi+f82obBct2WNC3VWU72Jw6obwfoN6Fwe6F7Wxp5Q==", + "license": "MIT", "peer": true, "dependencies": { - "@react-native-community/cli-tools": "13.6.8", + "@react-native-community/cli-tools": "14.1.0", "chalk": "^4.1.2", "execa": "^5.0.0", "fast-glob": "^3.3.2", - "fast-xml-parser": "^4.0.12", + "fast-xml-parser": "^4.4.1", "ora": "^5.4.1" } }, @@ -11519,6 +11781,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "peer": true, "dependencies": { "color-convert": "^2.0.1" @@ -11534,6 +11797,7 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "peer": true, "dependencies": { "ansi-styles": "^4.1.0", @@ -11550,6 +11814,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "peer": true, "dependencies": { "color-name": "~1.1.4" @@ -11562,12 +11827,14 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT", "peer": true }, "node_modules/@react-native-community/cli-platform-apple/node_modules/execa": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "license": "MIT", "peer": true, "dependencies": { "cross-spawn": "^7.0.3", @@ -11591,6 +11858,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "license": "MIT", "peer": true, "engines": { "node": ">=10" @@ -11603,6 +11871,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", "peer": true, "engines": { "node": ">=8" @@ -11612,6 +11881,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "license": "Apache-2.0", "peer": true, "engines": { "node": ">=10.17.0" @@ -11621,6 +11891,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "peer": true, "dependencies": { "has-flag": "^4.0.0" @@ -11630,35 +11901,38 @@ } }, "node_modules/@react-native-community/cli-platform-ios": { - "version": "13.6.8", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-13.6.8.tgz", - "integrity": "sha512-/IIcIRM8qaoD7iZqsvtf6Qq1AwtChWYfB9sTn3mTiolZ5Zd5bXH37g+6liPfAICRkj2Ptq3iXmjrDVUQAxrOXw==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-14.1.0.tgz", + "integrity": "sha512-ah/ZTiJXUdCVHujyRJ4OmCL5nTq8OWcURcE3UXa1z0sIIiA8io06n+v5n299T9rtPKMwRtVJlQjtO/nbODABPQ==", + "license": "MIT", "peer": true, "dependencies": { - "@react-native-community/cli-platform-apple": "13.6.8" + "@react-native-community/cli-platform-apple": "14.1.0" } }, "node_modules/@react-native-community/cli-server-api": { - "version": "13.6.8", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-server-api/-/cli-server-api-13.6.8.tgz", - "integrity": "sha512-Lx664oWTzpVfbKUTy+3GIX7e+Mt5Zn+zdkM4ehllNdik/lbB3tM9Nrg8PSvOfI+tTXs2w55+nIydLfH+0FqJVg==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-server-api/-/cli-server-api-14.1.0.tgz", + "integrity": "sha512-1k2LBQaYsy9RDWFIfKVne3frOye73O33MV6eYMoRPff7wqxHCrsX1CYJQkmwpgVigZHxYwalHj+Axtu3gpomCA==", + "license": "MIT", "peer": true, "dependencies": { - "@react-native-community/cli-debugger-ui": "13.6.8", - "@react-native-community/cli-tools": "13.6.8", + "@react-native-community/cli-debugger-ui": "14.1.0", + "@react-native-community/cli-tools": "14.1.0", "compression": "^1.7.1", "connect": "^3.6.5", "errorhandler": "^1.5.1", "nocache": "^3.0.1", "pretty-format": "^26.6.2", "serve-static": "^1.13.1", - "ws": "^6.2.2" + "ws": "^6.2.3" } }, "node_modules/@react-native-community/cli-server-api/node_modules/@jest/types": { "version": "26.6.2", "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "license": "MIT", "peer": true, "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", @@ -11675,6 +11949,7 @@ "version": "15.0.19", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.19.tgz", "integrity": "sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA==", + "license": "MIT", "peer": true, "dependencies": { "@types/yargs-parser": "*" @@ -11684,6 +11959,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "peer": true, "dependencies": { "color-convert": "^2.0.1" @@ -11699,6 +11975,7 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "peer": true, "dependencies": { "ansi-styles": "^4.1.0", @@ -11715,6 +11992,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "peer": true, "dependencies": { "color-name": "~1.1.4" @@ -11727,12 +12005,14 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT", "peer": true }, "node_modules/@react-native-community/cli-server-api/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==", + "license": "MIT", "peer": true, "engines": { "node": ">=8" @@ -11742,6 +12022,7 @@ "version": "26.6.2", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", + "license": "MIT", "peer": true, "dependencies": { "@jest/types": "^26.6.2", @@ -11757,12 +12038,14 @@ "version": "17.0.2", "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "license": "MIT", "peer": true }, "node_modules/@react-native-community/cli-server-api/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==", + "license": "MIT", "peer": true, "dependencies": { "has-flag": "^4.0.0" @@ -11775,15 +12058,17 @@ "version": "6.2.3", "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.3.tgz", "integrity": "sha512-jmTjYU0j60B+vHey6TfR3Z7RD61z/hmxBS3VMSGIrroOWXQEneK1zNuotOUrGyBHQj0yrpsLHPWtigEFd13ndA==", + "license": "MIT", "peer": true, "dependencies": { "async-limiter": "~1.0.0" } }, "node_modules/@react-native-community/cli-tools": { - "version": "13.6.8", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-tools/-/cli-tools-13.6.8.tgz", - "integrity": "sha512-1MYlae9EkbjC7DBYOGMH5xF9yDoeNYUKgEdDjL6WAUBoF2gtwiZPM6igLKi/+dhb5sCtC7fiLrLi0Oevdf+RmQ==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-tools/-/cli-tools-14.1.0.tgz", + "integrity": "sha512-r1KxSu2+OSuhWFoE//1UR7aSTXMLww/UYWQprEw4bSo/kvutGX//4r9ywgXSWp+39udpNN4jQpNTHuWhGZd/Bg==", + "license": "MIT", "peer": true, "dependencies": { "appdirsjs": "^1.2.4", @@ -11791,7 +12076,6 @@ "execa": "^5.0.0", "find-up": "^5.0.0", "mime": "^2.4.1", - "node-fetch": "^2.6.0", "open": "^6.2.0", "ora": "^5.4.1", "semver": "^7.5.2", @@ -11803,6 +12087,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "peer": true, "dependencies": { "color-convert": "^2.0.1" @@ -11818,6 +12103,7 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "peer": true, "dependencies": { "ansi-styles": "^4.1.0", @@ -11834,6 +12120,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "peer": true, "dependencies": { "color-name": "~1.1.4" @@ -11846,12 +12133,14 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT", "peer": true }, "node_modules/@react-native-community/cli-tools/node_modules/execa": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "license": "MIT", "peer": true, "dependencies": { "cross-spawn": "^7.0.3", @@ -11875,6 +12164,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "license": "MIT", "peer": true, "engines": { "node": ">=10" @@ -11887,6 +12177,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", "peer": true, "engines": { "node": ">=8" @@ -11896,35 +12187,17 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "license": "Apache-2.0", "peer": true, "engines": { "node": ">=10.17.0" } }, - "node_modules/@react-native-community/cli-tools/node_modules/node-fetch": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", - "peer": true, - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, "node_modules/@react-native-community/cli-tools/node_modules/semver": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", - "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "license": "ISC", "peer": true, "bin": { "semver": "bin/semver.js" @@ -11937,6 +12210,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "peer": true, "dependencies": { "has-flag": "^4.0.0" @@ -11945,32 +12219,11 @@ "node": ">=8" } }, - "node_modules/@react-native-community/cli-tools/node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "peer": true - }, - "node_modules/@react-native-community/cli-tools/node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "peer": true - }, - "node_modules/@react-native-community/cli-tools/node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "peer": true, - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, "node_modules/@react-native-community/cli-types": { - "version": "13.6.8", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-types/-/cli-types-13.6.8.tgz", - "integrity": "sha512-C4mVByy0i+/NPuPhdMLBR7ubEVkjVS1VwoQu/BoG1crJFNE+167QXAzH01eFbXndsjZaMWmD4Gerx7TYc6lHfA==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-types/-/cli-types-14.1.0.tgz", + "integrity": "sha512-aJwZI9mGRx3HdP8U4CGhqjt3S4r8GmeOqv4kRagC1UHDk4QNMC+bZ8JgPA4W7FrGiPey+lJQHMDPAXOo51SOUw==", + "license": "MIT", "peer": true, "dependencies": { "joi": "^17.2.1" @@ -11980,6 +12233,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "peer": true, "dependencies": { "color-convert": "^2.0.1" @@ -11995,6 +12249,7 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "peer": true, "dependencies": { "ansi-styles": "^4.1.0", @@ -12011,6 +12266,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "peer": true, "dependencies": { "color-name": "~1.1.4" @@ -12023,12 +12279,14 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT", "peer": true }, "node_modules/@react-native-community/cli/node_modules/commander": { "version": "9.5.0", "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", + "license": "MIT", "peer": true, "engines": { "node": "^12.20.0 || >=14" @@ -12038,6 +12296,7 @@ "version": "4.3.1", "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "license": "MIT", "peer": true, "engines": { "node": ">=0.10.0" @@ -12047,6 +12306,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "license": "MIT", "peer": true, "dependencies": { "cross-spawn": "^7.0.3", @@ -12066,23 +12326,11 @@ "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/@react-native-community/cli/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "peer": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/@react-native-community/cli/node_modules/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==", + "license": "MIT", "peer": true, "dependencies": { "graceful-fs": "^4.2.0", @@ -12097,6 +12345,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "license": "MIT", "peer": true, "engines": { "node": ">=10" @@ -12109,6 +12358,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", "peer": true, "engines": { "node": ">=8" @@ -12118,6 +12368,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "license": "Apache-2.0", "peer": true, "engines": { "node": ">=10.17.0" @@ -12127,54 +12378,17 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "license": "MIT", "peer": true, "optionalDependencies": { "graceful-fs": "^4.1.6" } }, - "node_modules/@react-native-community/cli/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "peer": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@react-native-community/cli/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "peer": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@react-native-community/cli/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "peer": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/@react-native-community/cli/node_modules/semver": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", - "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "license": "ISC", "peer": true, "bin": { "semver": "bin/semver.js" @@ -12187,6 +12401,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "peer": true, "dependencies": { "has-flag": "^4.0.0" @@ -12199,64 +12414,69 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "license": "MIT", "peer": true, "engines": { "node": ">= 4.0.0" } }, "node_modules/@react-native/assets-registry": { - "version": "0.74.84", - "resolved": "https://registry.npmjs.org/@react-native/assets-registry/-/assets-registry-0.74.84.tgz", - "integrity": "sha512-dzUhwyaX04QosWZ8zyaaNB/WYZIdeDN1lcpfQbqiOhZJShRH+FLTDVONE/dqlMQrP+EO7lDqF0RrlIt9lnOCQQ==", + "version": "0.75.3", + "resolved": "https://registry.npmjs.org/@react-native/assets-registry/-/assets-registry-0.75.3.tgz", + "integrity": "sha512-i7MaRbYR06WdpJWv3a0PQ2ScFBUeevwcJ0tVopnFwTg0tBWp3NFEMDIcU8lyXVy9Y59WmrP1V2ROaRDaPiESgg==", + "license": "MIT", "peer": true, "engines": { "node": ">=18" } }, "node_modules/@react-native/babel-plugin-codegen": { - "version": "0.74.84", - "resolved": "https://registry.npmjs.org/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.74.84.tgz", - "integrity": "sha512-UR4uiii5szIJA84mSC6GJOfYKDq7/ThyetOQT62+BBcyGeHVtHlNLNRzgaMeLqIQaT8Fq4pccMI+7QqLOMXzdw==", + "version": "0.75.3", + "resolved": "https://registry.npmjs.org/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.75.3.tgz", + "integrity": "sha512-8JmXEKq+Efb9AffsV48l8gmKe/ZQ2PbBygZjHdIf8DNZZhO/z5mt27J4B43MWNdp5Ww1l59T0mEaf8l/uywQUg==", + "license": "MIT", "peer": true, "dependencies": { - "@react-native/codegen": "0.74.84" + "@react-native/codegen": "0.75.3" }, "engines": { "node": ">=18" } }, "node_modules/@react-native/babel-preset": { - "version": "0.74.84", - "resolved": "https://registry.npmjs.org/@react-native/babel-preset/-/babel-preset-0.74.84.tgz", - "integrity": "sha512-WUfu6Y4aGuVdocQZvx33BJiQWFH6kRCHYbZfBn2psgFrSRLgQWEQrDCxqPFObNAVSayM0rNhp2FvI5K/Eyeqlg==", + "version": "0.75.3", + "resolved": "https://registry.npmjs.org/@react-native/babel-preset/-/babel-preset-0.75.3.tgz", + "integrity": "sha512-VZQkQEj36DKEGApXFYdVcFtqdglbnoVr7aOZpjffURSgPcIA9vWTm1b+OL4ayOaRZXTZKiDBNQCXvBX5E5AgQg==", + "license": "MIT", "peer": true, "dependencies": { "@babel/core": "^7.20.0", - "@babel/plugin-proposal-async-generator-functions": "^7.0.0", - "@babel/plugin-proposal-class-properties": "^7.18.0", "@babel/plugin-proposal-export-default-from": "^7.0.0", - "@babel/plugin-proposal-logical-assignment-operators": "^7.18.0", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.0", - "@babel/plugin-proposal-numeric-separator": "^7.0.0", - "@babel/plugin-proposal-object-rest-spread": "^7.20.0", - "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", - "@babel/plugin-proposal-optional-chaining": "^7.20.0", "@babel/plugin-syntax-dynamic-import": "^7.8.0", "@babel/plugin-syntax-export-default-from": "^7.0.0", "@babel/plugin-syntax-flow": "^7.18.0", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0", "@babel/plugin-syntax-optional-chaining": "^7.0.0", "@babel/plugin-transform-arrow-functions": "^7.0.0", + "@babel/plugin-transform-async-generator-functions": "^7.24.3", "@babel/plugin-transform-async-to-generator": "^7.20.0", "@babel/plugin-transform-block-scoping": "^7.0.0", + "@babel/plugin-transform-class-properties": "^7.24.1", "@babel/plugin-transform-classes": "^7.0.0", "@babel/plugin-transform-computed-properties": "^7.0.0", "@babel/plugin-transform-destructuring": "^7.20.0", "@babel/plugin-transform-flow-strip-types": "^7.20.0", + "@babel/plugin-transform-for-of": "^7.0.0", "@babel/plugin-transform-function-name": "^7.0.0", "@babel/plugin-transform-literals": "^7.0.0", + "@babel/plugin-transform-logical-assignment-operators": "^7.24.1", "@babel/plugin-transform-modules-commonjs": "^7.0.0", "@babel/plugin-transform-named-capturing-groups-regex": "^7.0.0", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.1", + "@babel/plugin-transform-numeric-separator": "^7.24.1", + "@babel/plugin-transform-object-rest-spread": "^7.24.5", + "@babel/plugin-transform-optional-catch-binding": "^7.24.1", + "@babel/plugin-transform-optional-chaining": "^7.24.5", "@babel/plugin-transform-parameters": "^7.0.0", "@babel/plugin-transform-private-methods": "^7.22.5", "@babel/plugin-transform-private-property-in-object": "^7.22.11", @@ -12264,6 +12484,7 @@ "@babel/plugin-transform-react-jsx": "^7.0.0", "@babel/plugin-transform-react-jsx-self": "^7.0.0", "@babel/plugin-transform-react-jsx-source": "^7.0.0", + "@babel/plugin-transform-regenerator": "^7.20.0", "@babel/plugin-transform-runtime": "^7.0.0", "@babel/plugin-transform-shorthand-properties": "^7.0.0", "@babel/plugin-transform-spread": "^7.0.0", @@ -12271,7 +12492,7 @@ "@babel/plugin-transform-typescript": "^7.5.0", "@babel/plugin-transform-unicode-regex": "^7.0.0", "@babel/template": "^7.0.0", - "@react-native/babel-plugin-codegen": "0.74.84", + "@react-native/babel-plugin-codegen": "0.75.3", "babel-plugin-transform-flow-enums": "^0.0.2", "react-refresh": "^0.14.0" }, @@ -12279,3010 +12500,2572 @@ "node": ">=18" }, "peerDependencies": { - "@babel/core": "*" - } - }, - "node_modules/@react-native/codegen": { - "version": "0.74.84", - "resolved": "https://registry.npmjs.org/@react-native/codegen/-/codegen-0.74.84.tgz", - "integrity": "sha512-0hXlnu9i0o8v+gXKQi+x6T471L85kCDwW4WrJiYAeOheWrQdNNW6rC3g8+LL7HXAf7QcHGU/8/d57iYfdVK2BQ==", - "peer": true, - "dependencies": { - "@babel/parser": "^7.20.0", - "glob": "^7.1.1", - "hermes-parser": "0.19.1", - "invariant": "^2.2.4", - "jscodeshift": "^0.14.0", - "mkdirp": "^0.5.1", - "nullthrows": "^1.1.1" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@babel/preset-env": "^7.1.6" - } - }, - "node_modules/@react-native/codegen/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", - "peer": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@react-native/community-cli-plugin": { - "version": "0.74.84", - "resolved": "https://registry.npmjs.org/@react-native/community-cli-plugin/-/community-cli-plugin-0.74.84.tgz", - "integrity": "sha512-GBKE+1sUh86fS2XXV46gMCNHMc1KetshMbYJ0AhDhldpaILZHqRBX50mdVsiYVvkzp4QjM0nmYqefuJ9NVwicQ==", - "peer": true, - "dependencies": { - "@react-native-community/cli-server-api": "13.6.8", - "@react-native-community/cli-tools": "13.6.8", - "@react-native/dev-middleware": "0.74.84", - "@react-native/metro-babel-transformer": "0.74.84", - "chalk": "^4.0.0", - "execa": "^5.1.1", - "metro": "^0.80.3", - "metro-config": "^0.80.3", - "metro-core": "^0.80.3", - "node-fetch": "^2.2.0", - "querystring": "^0.2.1", - "readline": "^1.3.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@react-native/community-cli-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==", - "peer": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@react-native/community-cli-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==", - "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/@react-native/community-cli-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==", - "peer": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@react-native/community-cli-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==", - "peer": true - }, - "node_modules/@react-native/community-cli-plugin/node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "peer": true, - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/@react-native/community-cli-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==", - "peer": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@react-native/community-cli-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==", - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@react-native/community-cli-plugin/node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "peer": true, - "engines": { - "node": ">=10.17.0" - } - }, - "node_modules/@react-native/community-cli-plugin/node_modules/node-fetch": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", - "peer": true, - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, - "node_modules/@react-native/community-cli-plugin/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.", - "peer": true, - "engines": { - "node": ">=0.4.x" - } - }, - "node_modules/@react-native/community-cli-plugin/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/@react-native/community-cli-plugin/node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "peer": true - }, - "node_modules/@react-native/community-cli-plugin/node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "peer": true - }, - "node_modules/@react-native/community-cli-plugin/node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "peer": true, - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "node_modules/@react-native/debugger-frontend": { - "version": "0.74.84", - "resolved": "https://registry.npmjs.org/@react-native/debugger-frontend/-/debugger-frontend-0.74.84.tgz", - "integrity": "sha512-YUEA03UNFbiYzHpYxlcS2D9+3eNT5YLGkl5yRg3nOSN6KbCc/OttGnNZme+tuSOJwjMN/vcvtDKYkTqjJw8U0A==", - "peer": true, - "engines": { - "node": ">=18" - } - }, - "node_modules/@react-native/dev-middleware": { - "version": "0.74.84", - "resolved": "https://registry.npmjs.org/@react-native/dev-middleware/-/dev-middleware-0.74.84.tgz", - "integrity": "sha512-veYw/WmyrAOQHUiIeULzn2duJQnXDPiKq2jZ/lcmDo6jsLirpp+Q73lx09TYgy/oVoPRuV0nfmU3x9B6EV/7qQ==", - "peer": true, - "dependencies": { - "@isaacs/ttlcache": "^1.4.1", - "@react-native/debugger-frontend": "0.74.84", - "@rnx-kit/chromium-edge-launcher": "^1.0.0", - "chrome-launcher": "^0.15.2", - "connect": "^3.6.5", - "debug": "^2.2.0", - "node-fetch": "^2.2.0", - "nullthrows": "^1.1.1", - "open": "^7.0.3", - "selfsigned": "^2.4.1", - "serve-static": "^1.13.1", - "temp-dir": "^2.0.0", - "ws": "^6.2.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@react-native/dev-middleware/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "peer": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/@react-native/dev-middleware/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==", - "peer": true, - "dependencies": { - "is-docker": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@react-native/dev-middleware/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "peer": true - }, - "node_modules/@react-native/dev-middleware/node_modules/node-fetch": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", - "peer": true, - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, - "node_modules/@react-native/dev-middleware/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==", - "peer": true, - "dependencies": { - "is-docker": "^2.0.0", - "is-wsl": "^2.1.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@react-native/dev-middleware/node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "peer": true - }, - "node_modules/@react-native/dev-middleware/node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "peer": true - }, - "node_modules/@react-native/dev-middleware/node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "peer": true, - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "node_modules/@react-native/dev-middleware/node_modules/ws": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.3.tgz", - "integrity": "sha512-jmTjYU0j60B+vHey6TfR3Z7RD61z/hmxBS3VMSGIrroOWXQEneK1zNuotOUrGyBHQj0yrpsLHPWtigEFd13ndA==", - "peer": true, - "dependencies": { - "async-limiter": "~1.0.0" - } - }, - "node_modules/@react-native/gradle-plugin": { - "version": "0.74.84", - "resolved": "https://registry.npmjs.org/@react-native/gradle-plugin/-/gradle-plugin-0.74.84.tgz", - "integrity": "sha512-wYWC5WWXqzCCe4PDogz9pNc4xH5ZamahW5XGSbrrYJ5V3walZ+7z43V6iEBJkZbLjj9YBcSttkXYGr1Xh4veAg==", - "peer": true, - "engines": { - "node": ">=18" - } - }, - "node_modules/@react-native/js-polyfills": { - "version": "0.74.84", - "resolved": "https://registry.npmjs.org/@react-native/js-polyfills/-/js-polyfills-0.74.84.tgz", - "integrity": "sha512-+PgxuUjBw9JVlz6m4ECsIJMLbDopnr4rpLmsG32hQaJrg0wMuvHtsgAY/J/aVCSG2GNUXexfjrnhc+O9yGOZXQ==", - "peer": true, - "engines": { - "node": ">=18" - } - }, - "node_modules/@react-native/metro-babel-transformer": { - "version": "0.74.84", - "resolved": "https://registry.npmjs.org/@react-native/metro-babel-transformer/-/metro-babel-transformer-0.74.84.tgz", - "integrity": "sha512-YtVGq7jkgyUECv5yt4BOFbOXyW4ddUn8+dnwGGpJKdfhXYL5o5++AxNdE+2x+SZdkj3JUVekGKPwRabFECABaw==", - "peer": true, - "dependencies": { - "@babel/core": "^7.20.0", - "@react-native/babel-preset": "0.74.84", - "hermes-parser": "0.19.1", - "nullthrows": "^1.1.1" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@babel/core": "*" - } - }, - "node_modules/@react-native/normalize-colors": { - "version": "0.74.84", - "resolved": "https://registry.npmjs.org/@react-native/normalize-colors/-/normalize-colors-0.74.84.tgz", - "integrity": "sha512-Y5W6x8cC5RuakUcTVUFNAIhUZ/tYpuqHZlRBoAuakrTwVuoNHXfQki8lj1KsYU7rW6e3VWgdEx33AfOQpdNp6A==", - "peer": true - }, - "node_modules/@rnx-kit/chromium-edge-launcher": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@rnx-kit/chromium-edge-launcher/-/chromium-edge-launcher-1.0.0.tgz", - "integrity": "sha512-lzD84av1ZQhYUS+jsGqJiCMaJO2dn9u+RTT9n9q6D3SaKVwWqv+7AoRKqBu19bkwyE+iFRl1ymr40QS90jVFYg==", - "peer": true, - "dependencies": { - "@types/node": "^18.0.0", - "escape-string-regexp": "^4.0.0", - "is-wsl": "^2.2.0", - "lighthouse-logger": "^1.0.0", - "mkdirp": "^1.0.4", - "rimraf": "^3.0.2" - }, - "engines": { - "node": ">=14.15" - } - }, - "node_modules/@rnx-kit/chromium-edge-launcher/node_modules/@types/node": { - "version": "18.19.34", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.34.tgz", - "integrity": "sha512-eXF4pfBNV5DAMKGbI02NnDtWrQ40hAN558/2vvS4gMpMIxaf6JmD7YjnZbq0Q9TDSSkKBamime8ewRoomHdt4g==", - "peer": true, - "dependencies": { - "undici-types": "~5.26.4" - } - }, - "node_modules/@rnx-kit/chromium-edge-launcher/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==", - "peer": true, - "dependencies": { - "is-docker": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@rnx-kit/chromium-edge-launcher/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "peer": true, - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.22.4.tgz", - "integrity": "sha512-Fxamp4aEZnfPOcGA8KSNEohV8hX7zVHOemC8jVBoBUHu5zpJK/Eu3uJwt6BMgy9fkvzxDaurgj96F/NiLukF2w==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-android-arm64": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.22.4.tgz", - "integrity": "sha512-VXoK5UMrgECLYaMuGuVTOx5kcuap1Jm8g/M83RnCHBKOqvPPmROFJGQaZhGccnsFtfXQ3XYa4/jMCJvZnbJBdA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.22.4.tgz", - "integrity": "sha512-xMM9ORBqu81jyMKCDP+SZDhnX2QEVQzTcC6G18KlTQEzWK8r/oNZtKuZaCcHhnsa6fEeOBionoyl5JsAbE/36Q==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.22.4.tgz", - "integrity": "sha512-aJJyYKQwbHuhTUrjWjxEvGnNNBCnmpHDvrb8JFDbeSH3m2XdHcxDd3jthAzvmoI8w/kSjd2y0udT+4okADsZIw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.22.4.tgz", - "integrity": "sha512-j63YtCIRAzbO+gC2L9dWXRh5BFetsv0j0va0Wi9epXDgU/XUi5dJKo4USTttVyK7fGw2nPWK0PbAvyliz50SCQ==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.22.4.tgz", - "integrity": "sha512-dJnWUgwWBX1YBRsuKKMOlXCzh2Wu1mlHzv20TpqEsfdZLb3WoJW2kIEsGwLkroYf24IrPAvOT/ZQ2OYMV6vlrg==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.22.4.tgz", - "integrity": "sha512-AdPRoNi3NKVLolCN/Sp4F4N1d98c4SBnHMKoLuiG6RXgoZ4sllseuGioszumnPGmPM2O7qaAX/IJdeDU8f26Aw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.22.4.tgz", - "integrity": "sha512-Gl0AxBtDg8uoAn5CCqQDMqAx22Wx22pjDOjBdmG0VIWX3qUBHzYmOKh8KXHL4UpogfJ14G4wk16EQogF+v8hmA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.22.4.tgz", - "integrity": "sha512-3aVCK9xfWW1oGQpTsYJJPF6bfpWfhbRnhdlyhak2ZiyFLDaayz0EP5j9V1RVLAAxlmWKTDfS9wyRyY3hvhPoOg==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.22.4.tgz", - "integrity": "sha512-ePYIir6VYnhgv2C5Xe9u+ico4t8sZWXschR6fMgoPUK31yQu7hTEJb7bCqivHECwIClJfKgE7zYsh1qTP3WHUA==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.22.4.tgz", - "integrity": "sha512-GqFJ9wLlbB9daxhVlrTe61vJtEY99/xB3C8e4ULVsVfflcpmR6c8UZXjtkMA6FhNONhj2eA5Tk9uAVw5orEs4Q==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.22.4.tgz", - "integrity": "sha512-87v0ol2sH9GE3cLQLNEy0K/R0pz1nvg76o8M5nhMR0+Q+BBGLnb35P0fVz4CQxHYXaAOhE8HhlkaZfsdUOlHwg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.22.4.tgz", - "integrity": "sha512-UV6FZMUgePDZrFjrNGIWzDo/vABebuXBhJEqrHxrGiU6HikPy0Z3LfdtciIttEUQfuDdCn8fqh7wiFJjCNwO+g==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.22.4.tgz", - "integrity": "sha512-BjI+NVVEGAXjGWYHz/vv0pBqfGoUH0IGZ0cICTn7kB9PyjrATSkX+8WkguNjWoj2qSr1im/+tTGRaY+4/PdcQw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.22.4.tgz", - "integrity": "sha512-SiWG/1TuUdPvYmzmYnmd3IEifzR61Tragkbx9D3+R8mzQqDBz8v+BvZNDlkiTtI9T15KYZhP0ehn3Dld4n9J5g==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] + "@babel/core": "*" + } }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.22.4.tgz", - "integrity": "sha512-j8pPKp53/lq9lMXN57S8cFz0MynJk8OWNuUnXct/9KCpKU7DgU3bYMJhwWmcqC0UU29p8Lr0/7KEVcaM6bf47Q==", - "cpu": [ - "x64" - ], - "dev": true, + "node_modules/@react-native/codegen": { + "version": "0.75.3", + "resolved": "https://registry.npmjs.org/@react-native/codegen/-/codegen-0.75.3.tgz", + "integrity": "sha512-I0bz5jwOkiR7vnhYLGoV22RGmesErUg03tjsCiQgmsMpbyCYumudEtLNN5+DplHGK56bu8KyzBqKkWXGSKSCZQ==", "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@sideway/address": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.5.tgz", - "integrity": "sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==", "peer": true, "dependencies": { - "@hapi/hoek": "^9.0.0" + "@babel/parser": "^7.20.0", + "glob": "^7.1.1", + "hermes-parser": "0.22.0", + "invariant": "^2.2.4", + "jscodeshift": "^0.14.0", + "mkdirp": "^0.5.1", + "nullthrows": "^1.1.1", + "yargs": "^17.6.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@babel/preset-env": "^7.1.6" } }, - "node_modules/@sideway/formula": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", - "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==", - "peer": true - }, - "node_modules/@sideway/pinpoint": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", - "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==", - "peer": true - }, - "node_modules/@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==" - }, - "node_modules/@sinonjs/commons": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", - "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", + "node_modules/@react-native/codegen/node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "license": "ISC", "peer": true, "dependencies": { - "type-detect": "4.0.8" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" } }, - "node_modules/@sinonjs/fake-timers": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", - "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", + "node_modules/@react-native/codegen/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "license": "ISC", "peer": true, "dependencies": { - "@sinonjs/commons": "^3.0.0" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@smithy/types": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-2.4.0.tgz", - "integrity": "sha512-iH1Xz68FWlmBJ9vvYeHifVMWJf82ONx+OybPW8ZGf5wnEv2S0UXcU4zwlwJkRXuLKpcSLHrraHbn2ucdVXLb4g==", + "node_modules/@react-native/codegen/node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "license": "ISC", + "peer": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/@react-native/codegen/node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "license": "MIT", + "peer": true, "dependencies": { - "tslib": "^2.5.0" + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" }, "engines": { - "node": ">=14.0.0" + "node": ">=12" } }, - "node_modules/@smithy/types/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - }, - "node_modules/@svgr/babel-plugin-add-jsx-attribute": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz", - "integrity": "sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==", - "dev": true, + "node_modules/@react-native/codegen/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "license": "ISC", + "peer": true, "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=12" } }, - "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz", - "integrity": "sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==", - "dev": true, - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "node_modules/@react-native/community-cli-plugin": { + "version": "0.75.3", + "resolved": "https://registry.npmjs.org/@react-native/community-cli-plugin/-/community-cli-plugin-0.75.3.tgz", + "integrity": "sha512-njsYm+jBWzfLcJcxavAY5QFzYTrmPtjbxq/64GSqwcQYzy9qAkI7LNTK/Wprq1I/4HOuHJO7Km+EddCXB+ByRQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "@react-native-community/cli-server-api": "14.1.0", + "@react-native-community/cli-tools": "14.1.0", + "@react-native/dev-middleware": "0.75.3", + "@react-native/metro-babel-transformer": "0.75.3", + "chalk": "^4.0.0", + "execa": "^5.1.1", + "metro": "^0.80.3", + "metro-config": "^0.80.3", + "metro-core": "^0.80.3", + "node-fetch": "^2.2.0", + "readline": "^1.3.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=18" } }, - "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz", - "integrity": "sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==", - "dev": true, + "node_modules/@react-native/community-cli-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==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { - "node": ">=14" + "node": ">=8" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz", - "integrity": "sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==", - "dev": true, + "node_modules/@react-native/community-cli-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==", + "license": "MIT", + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { - "node": ">=14" + "node": ">=10" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@svgr/babel-plugin-svg-dynamic-title": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz", - "integrity": "sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==", - "dev": true, - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "node_modules/@react-native/community-cli-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==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "~1.1.4" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=7.0.0" } }, - "node_modules/@svgr/babel-plugin-svg-em-dimensions": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz", - "integrity": "sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==", - "dev": true, + "node_modules/@react-native/community-cli-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==", + "license": "MIT", + "peer": true + }, + "node_modules/@react-native/community-cli-plugin/node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "license": "MIT", + "peer": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, "engines": { - "node": ">=14" + "node": ">=10" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/@svgr/babel-plugin-transform-react-native-svg": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz", - "integrity": "sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==", - "dev": true, + "node_modules/@react-native/community-cli-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==", + "license": "MIT", + "peer": true, "engines": { - "node": ">=14" + "node": ">=10" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@svgr/babel-plugin-transform-svg-component": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz", - "integrity": "sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==", - "dev": true, + "node_modules/@react-native/community-cli-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==", + "license": "MIT", + "peer": true, "engines": { - "node": ">=12" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=8" } }, - "node_modules/@svgr/babel-preset": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-8.1.0.tgz", - "integrity": "sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==", - "dev": true, + "node_modules/@react-native/community-cli-plugin/node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "license": "Apache-2.0", + "peer": true, + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/@react-native/community-cli-plugin/node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "license": "MIT", + "peer": true, "dependencies": { - "@svgr/babel-plugin-add-jsx-attribute": "8.0.0", - "@svgr/babel-plugin-remove-jsx-attribute": "8.0.0", - "@svgr/babel-plugin-remove-jsx-empty-expression": "8.0.0", - "@svgr/babel-plugin-replace-jsx-attribute-value": "8.0.0", - "@svgr/babel-plugin-svg-dynamic-title": "8.0.0", - "@svgr/babel-plugin-svg-em-dimensions": "8.0.0", - "@svgr/babel-plugin-transform-react-native-svg": "8.1.0", - "@svgr/babel-plugin-transform-svg-component": "8.0.0" + "whatwg-url": "^5.0.0" }, "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "node": "4.x || >=6.0.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } } }, - "node_modules/@svgr/core": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@svgr/core/-/core-8.1.0.tgz", - "integrity": "sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==", - "dev": true, + "node_modules/@react-native/community-cli-plugin/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==", + "license": "MIT", + "peer": true, "dependencies": { - "@babel/core": "^7.21.3", - "@svgr/babel-preset": "8.1.0", - "camelcase": "^6.2.0", - "cosmiconfig": "^8.1.3", - "snake-case": "^3.0.4" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "node": ">=8" } }, - "node_modules/@svgr/core/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true, + "node_modules/@react-native/community-cli-plugin/node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "license": "MIT", + "peer": true + }, + "node_modules/@react-native/community-cli-plugin/node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "license": "BSD-2-Clause", + "peer": true + }, + "node_modules/@react-native/community-cli-plugin/node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "license": "MIT", + "peer": true, + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/@react-native/debugger-frontend": { + "version": "0.75.3", + "resolved": "https://registry.npmjs.org/@react-native/debugger-frontend/-/debugger-frontend-0.75.3.tgz", + "integrity": "sha512-99bLQsUwsxUMNR7Wa9eV2uyR38yfd6mOEqfN+JIm8/L9sKA926oh+CZkjDy1M8RmCB6spB5N9fVFVkrVdf2yFA==", + "license": "BSD-3-Clause", + "peer": true, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=18" } }, - "node_modules/@svgr/core/node_modules/cosmiconfig": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", - "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", - "dev": true, + "node_modules/@react-native/dev-middleware": { + "version": "0.75.3", + "resolved": "https://registry.npmjs.org/@react-native/dev-middleware/-/dev-middleware-0.75.3.tgz", + "integrity": "sha512-h2/6+UGmeMWjnT43axy27jNqoDRsE1C1qpjRC3sYpD4g0bI0jSTkY1kAgj8uqGGXLnHXiHOtjLDGdbAgZrsPaA==", + "license": "MIT", + "peer": true, "dependencies": { - "import-fresh": "^3.3.0", - "js-yaml": "^4.1.0", - "parse-json": "^5.2.0", - "path-type": "^4.0.0" + "@isaacs/ttlcache": "^1.4.1", + "@react-native/debugger-frontend": "0.75.3", + "chrome-launcher": "^0.15.2", + "chromium-edge-launcher": "^0.2.0", + "connect": "^3.6.5", + "debug": "^2.2.0", + "node-fetch": "^2.2.0", + "nullthrows": "^1.1.1", + "open": "^7.0.3", + "selfsigned": "^2.4.1", + "serve-static": "^1.13.1", + "ws": "^6.2.2" }, "engines": { - "node": ">=14" + "node": ">=18" + } + }, + "node_modules/@react-native/dev-middleware/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "peer": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/@react-native/dev-middleware/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT", + "peer": true + }, + "node_modules/@react-native/dev-middleware/node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "license": "MIT", + "peer": true, + "dependencies": { + "whatwg-url": "^5.0.0" }, - "funding": { - "url": "https://github.com/sponsors/d-fischer" + "engines": { + "node": "4.x || >=6.0.0" }, "peerDependencies": { - "typescript": ">=4.9.5" + "encoding": "^0.1.0" }, "peerDependenciesMeta": { - "typescript": { + "encoding": { "optional": true } } }, - "node_modules/@svgr/hast-util-to-babel-ast": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz", - "integrity": "sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==", - "dev": true, - "dependencies": { - "@babel/types": "^7.21.3", - "entities": "^4.4.0" - }, + "node_modules/@react-native/dev-middleware/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==", + "license": "MIT", + "peer": true, + "dependencies": { + "is-docker": "^2.0.0", + "is-wsl": "^2.1.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@react-native/dev-middleware/node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "license": "MIT", + "peer": true + }, + "node_modules/@react-native/dev-middleware/node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "license": "BSD-2-Clause", + "peer": true + }, + "node_modules/@react-native/dev-middleware/node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "license": "MIT", + "peer": true, + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/@react-native/dev-middleware/node_modules/ws": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.3.tgz", + "integrity": "sha512-jmTjYU0j60B+vHey6TfR3Z7RD61z/hmxBS3VMSGIrroOWXQEneK1zNuotOUrGyBHQj0yrpsLHPWtigEFd13ndA==", + "license": "MIT", + "peer": true, + "dependencies": { + "async-limiter": "~1.0.0" + } + }, + "node_modules/@react-native/gradle-plugin": { + "version": "0.75.3", + "resolved": "https://registry.npmjs.org/@react-native/gradle-plugin/-/gradle-plugin-0.75.3.tgz", + "integrity": "sha512-mSfa/Mq/AsALuG/kvXz5ECrc6HdY5waMHal2sSfa8KA0Gt3JqYQVXF9Pdwd4yR5ClPZDI2HRa1tdE8GVlhMvPA==", + "license": "MIT", + "peer": true, "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "node": ">=18" } }, - "node_modules/@svgr/hast-util-to-babel-ast/node_modules/entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "dev": true, + "node_modules/@react-native/js-polyfills": { + "version": "0.75.3", + "resolved": "https://registry.npmjs.org/@react-native/js-polyfills/-/js-polyfills-0.75.3.tgz", + "integrity": "sha512-+JVFJ351GSJT3V7LuXscMqfnpR/UxzsAjbBjfAHBR3kqTbVqrAmBccqPCA3NLzgb/RY8khLJklwMUVlWrn8iFg==", + "license": "MIT", + "peer": true, "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" + "node": ">=18" } }, - "node_modules/@svgr/plugin-jsx": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz", - "integrity": "sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==", - "dev": true, + "node_modules/@react-native/metro-babel-transformer": { + "version": "0.75.3", + "resolved": "https://registry.npmjs.org/@react-native/metro-babel-transformer/-/metro-babel-transformer-0.75.3.tgz", + "integrity": "sha512-gDlEl6C2mwQPLxFOR+yla5MpJpDPNOFD6J5Hd9JM9+lOdUq6MNujh1Xn4ZMvglW7rfViq3nMjg4xPQeGUhDG+w==", + "license": "MIT", + "peer": true, "dependencies": { - "@babel/core": "^7.21.3", - "@svgr/babel-preset": "8.1.0", - "@svgr/hast-util-to-babel-ast": "8.0.0", - "svg-parser": "^2.0.4" + "@babel/core": "^7.20.0", + "@react-native/babel-preset": "0.75.3", + "hermes-parser": "0.22.0", + "nullthrows": "^1.1.1" }, "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "node": ">=18" }, "peerDependencies": { - "@svgr/core": "*" + "@babel/core": "*" } }, - "node_modules/@testing-library/cypress": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/@testing-library/cypress/-/cypress-10.0.1.tgz", - "integrity": "sha512-e8uswjTZIBhaIXjzEcrQQ8nHRWHgZH7XBxKuIWxZ/T7FxfWhCR48nFhUX5nfPizjVOKSThEfOSv67jquc1ASkw==", - "dev": true, + "node_modules/@react-native/normalize-colors": { + "version": "0.75.3", + "resolved": "https://registry.npmjs.org/@react-native/normalize-colors/-/normalize-colors-0.75.3.tgz", + "integrity": "sha512-3mhF8AJFfIN0E5bEs/DQ4U2LzMJYm+FPSwY5bJ1DZhrxW1PFAh24bAPrSd8PwS0iarQ7biLdr1lWf/8LFv8pDA==", + "license": "MIT", + "peer": true + }, + "node_modules/@react-native/virtualized-lists": { + "version": "0.75.3", + "resolved": "https://registry.npmjs.org/@react-native/virtualized-lists/-/virtualized-lists-0.75.3.tgz", + "integrity": "sha512-cTLm7k7Y//SvV8UK8esrDHEw5OrwwSJ4Fqc3x52Imi6ROuhshfGIPFwhtn4pmAg9nWHzHwwqiJ+9hCSVnXXX+g==", + "license": "MIT", + "peer": true, "dependencies": { - "@babel/runtime": "^7.14.6", - "@testing-library/dom": "^9.0.0" + "invariant": "^2.2.4", + "nullthrows": "^1.1.1" }, "engines": { - "node": ">=12", - "npm": ">=6" + "node": ">=18" }, "peerDependencies": { - "cypress": "^12.0.0 || ^13.0.0" + "@types/react": "^18.2.6", + "react": "*", + "react-native": "*" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, - "node_modules/@testing-library/dom": { - "version": "9.3.3", - "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-9.3.3.tgz", - "integrity": "sha512-fB0R+fa3AUqbLHWyxXa2kGVtf1Fe1ZZFr0Zp6AIbIAzXb2mKbEXl+PCQNUOaq5lbTab5tfctfXRNsWXxa2f7Aw==", + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.22.4.tgz", + "integrity": "sha512-Fxamp4aEZnfPOcGA8KSNEohV8hX7zVHOemC8jVBoBUHu5zpJK/Eu3uJwt6BMgy9fkvzxDaurgj96F/NiLukF2w==", + "cpu": [ + "arm" + ], "dev": true, - "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/runtime": "^7.12.5", - "@types/aria-query": "^5.0.1", - "aria-query": "5.1.3", - "chalk": "^4.1.0", - "dom-accessibility-api": "^0.5.9", - "lz-string": "^1.5.0", - "pretty-format": "^27.0.2" - }, - "engines": { - "node": ">=14" - } + "license": "MIT", + "optional": true, + "os": [ + "android" + ] }, - "node_modules/@testing-library/dom/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==", + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.22.4.tgz", + "integrity": "sha512-VXoK5UMrgECLYaMuGuVTOx5kcuap1Jm8g/M83RnCHBKOqvPPmROFJGQaZhGccnsFtfXQ3XYa4/jMCJvZnbJBdA==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } + "license": "MIT", + "optional": true, + "os": [ + "android" + ] }, - "node_modules/@testing-library/dom/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.22.4.tgz", + "integrity": "sha512-xMM9ORBqu81jyMKCDP+SZDhnX2QEVQzTcC6G18KlTQEzWK8r/oNZtKuZaCcHhnsa6fEeOBionoyl5JsAbE/36Q==", + "cpu": [ + "arm64" + ], "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" - } + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] }, - "node_modules/@testing-library/dom/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==", + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.22.4.tgz", + "integrity": "sha512-aJJyYKQwbHuhTUrjWjxEvGnNNBCnmpHDvrb8JFDbeSH3m2XdHcxDd3jthAzvmoI8w/kSjd2y0udT+4okADsZIw==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] }, - "node_modules/@testing-library/dom/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/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.22.4.tgz", + "integrity": "sha512-j63YtCIRAzbO+gC2L9dWXRh5BFetsv0j0va0Wi9epXDgU/XUi5dJKo4USTttVyK7fGw2nPWK0PbAvyliz50SCQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@testing-library/dom/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==", + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.22.4.tgz", + "integrity": "sha512-dJnWUgwWBX1YBRsuKKMOlXCzh2Wu1mlHzv20TpqEsfdZLb3WoJW2kIEsGwLkroYf24IrPAvOT/ZQ2OYMV6vlrg==", + "cpu": [ + "arm" + ], "dev": true, - "engines": { - "node": ">=8" - } + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@testing-library/dom/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==", + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.22.4.tgz", + "integrity": "sha512-AdPRoNi3NKVLolCN/Sp4F4N1d98c4SBnHMKoLuiG6RXgoZ4sllseuGioszumnPGmPM2O7qaAX/IJdeDU8f26Aw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.22.4.tgz", + "integrity": "sha512-Gl0AxBtDg8uoAn5CCqQDMqAx22Wx22pjDOjBdmG0VIWX3qUBHzYmOKh8KXHL4UpogfJ14G4wk16EQogF+v8hmA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.22.4.tgz", + "integrity": "sha512-3aVCK9xfWW1oGQpTsYJJPF6bfpWfhbRnhdlyhak2ZiyFLDaayz0EP5j9V1RVLAAxlmWKTDfS9wyRyY3hvhPoOg==", + "cpu": [ + "ppc64" + ], "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@testing-library/jest-dom": { - "version": "5.17.0", - "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.17.0.tgz", - "integrity": "sha512-ynmNeT7asXyH3aSVv4vvX4Rb+0qjOhdNHnO/3vuZNqPmhDpV/+rCSGwQ7bLcmU2cJ4dvoheIO85LQj0IbJHEtg==", + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.22.4.tgz", + "integrity": "sha512-ePYIir6VYnhgv2C5Xe9u+ico4t8sZWXschR6fMgoPUK31yQu7hTEJb7bCqivHECwIClJfKgE7zYsh1qTP3WHUA==", + "cpu": [ + "riscv64" + ], "dev": true, - "dependencies": { - "@adobe/css-tools": "^4.0.1", - "@babel/runtime": "^7.9.2", - "@types/testing-library__jest-dom": "^5.9.1", - "aria-query": "^5.0.0", - "chalk": "^3.0.0", - "css.escape": "^1.5.1", - "dom-accessibility-api": "^0.5.6", - "lodash": "^4.17.15", - "redent": "^3.0.0" - }, - "engines": { - "node": ">=8", - "npm": ">=6", - "yarn": ">=1" - } + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@testing-library/jest-dom/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==", + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.22.4.tgz", + "integrity": "sha512-GqFJ9wLlbB9daxhVlrTe61vJtEY99/xB3C8e4ULVsVfflcpmR6c8UZXjtkMA6FhNONhj2eA5Tk9uAVw5orEs4Q==", + "cpu": [ + "s390x" + ], "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@testing-library/jest-dom/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.22.4.tgz", + "integrity": "sha512-87v0ol2sH9GE3cLQLNEy0K/R0pz1nvg76o8M5nhMR0+Q+BBGLnb35P0fVz4CQxHYXaAOhE8HhlkaZfsdUOlHwg==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" - } + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@testing-library/jest-dom/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==", + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.22.4.tgz", + "integrity": "sha512-UV6FZMUgePDZrFjrNGIWzDo/vABebuXBhJEqrHxrGiU6HikPy0Z3LfdtciIttEUQfuDdCn8fqh7wiFJjCNwO+g==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@testing-library/jest-dom/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 + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@testing-library/jest-dom/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==", + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.22.4.tgz", + "integrity": "sha512-BjI+NVVEGAXjGWYHz/vv0pBqfGoUH0IGZ0cICTn7kB9PyjrATSkX+8WkguNjWoj2qSr1im/+tTGRaY+4/PdcQw==", + "cpu": [ + "arm64" + ], "dev": true, - "engines": { - "node": ">=8" - } + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] }, - "node_modules/@testing-library/jest-dom/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==", + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.22.4.tgz", + "integrity": "sha512-SiWG/1TuUdPvYmzmYnmd3IEifzR61Tragkbx9D3+R8mzQqDBz8v+BvZNDlkiTtI9T15KYZhP0ehn3Dld4n9J5g==", + "cpu": [ + "ia32" + ], "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] }, - "node_modules/@testing-library/react": { - "version": "12.1.5", - "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-12.1.5.tgz", - "integrity": "sha512-OfTXCJUFgjd/digLUuPxa0+/3ZxsQmE7ub9kcbW/wi96Bh3o/p5vrETcBGfP17NWPGqeYYl5LTRpwyGoMC4ysg==", + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.22.4.tgz", + "integrity": "sha512-j8pPKp53/lq9lMXN57S8cFz0MynJk8OWNuUnXct/9KCpKU7DgU3bYMJhwWmcqC0UU29p8Lr0/7KEVcaM6bf47Q==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "@babel/runtime": "^7.12.5", - "@testing-library/dom": "^8.0.0", - "@types/react-dom": "<18.0.0" - }, - "engines": { - "node": ">=12" - }, - "peerDependencies": { - "react": "<18.0.0", - "react-dom": "<18.0.0" - } + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] }, - "node_modules/@testing-library/react/node_modules/@testing-library/dom": { - "version": "8.20.1", - "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-8.20.1.tgz", - "integrity": "sha512-/DiOQ5xBxgdYRC8LNk7U+RWat0S3qRLeIw3ZIkMQ9kkVlRmwD/Eg8k8CqIpD6GW7u20JIUOfMKbxtiLutpjQ4g==", - "dev": true, + "node_modules/@sideway/address": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.5.tgz", + "integrity": "sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==", + "license": "BSD-3-Clause", + "peer": true, "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/runtime": "^7.12.5", - "@types/aria-query": "^5.0.1", - "aria-query": "5.1.3", - "chalk": "^4.1.0", - "dom-accessibility-api": "^0.5.9", - "lz-string": "^1.5.0", - "pretty-format": "^27.0.2" - }, - "engines": { - "node": ">=12" + "@hapi/hoek": "^9.0.0" } }, - "node_modules/@testing-library/react/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, + "node_modules/@sideway/formula": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", + "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==", + "license": "BSD-3-Clause", + "peer": true + }, + "node_modules/@sideway/pinpoint": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", + "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==", + "license": "BSD-3-Clause", + "peer": true + }, + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "license": "MIT", + "peer": true + }, + "node_modules/@sinonjs/commons": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", + "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", + "license": "BSD-3-Clause", + "peer": true, "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "type-detect": "4.0.8" } }, - "node_modules/@testing-library/react/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, + "node_modules/@sinonjs/fake-timers": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", + "license": "BSD-3-Clause", + "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" + "@sinonjs/commons": "^3.0.0" } }, - "node_modules/@testing-library/react/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, + "node_modules/@smithy/types": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.4.2.tgz", + "integrity": "sha512-tHiFcfcVedVBHpmHUEUHOCCih8iZbIAYn9NvPsNzaPm/237I3imdDdZoOC8c87H5HBAVEa06tTgb+OcSWV9g5w==", + "license": "Apache-2.0", "dependencies": { - "color-name": "~1.1.4" + "tslib": "^2.6.2" }, "engines": { - "node": ">=7.0.0" + "node": ">=16.0.0" } }, - "node_modules/@testing-library/react/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/@smithy/types/node_modules/tslib": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" }, - "node_modules/@testing-library/react/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==", + "node_modules/@svgr/babel-plugin-add-jsx-attribute": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz", + "integrity": "sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==", "dev": true, + "license": "MIT", "engines": { - "node": ">=8" - } - }, - "node_modules/@testing-library/react/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" + "node": ">=14" }, - "engines": { - "node": ">=8" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@testing-library/user-event": { - "version": "12.8.3", - "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-12.8.3.tgz", - "integrity": "sha512-IR0iWbFkgd56Bu5ZI/ej8yQwrkCv8Qydx6RzwbKz9faXazR/+5tvYKsZQgyXJiwgpcva127YO6JcWy7YlCfofQ==", + "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz", + "integrity": "sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==", "dev": true, - "dependencies": { - "@babel/runtime": "^7.12.5" - }, + "license": "MIT", "engines": { - "node": ">=10", - "npm": ">=6" + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" }, "peerDependencies": { - "@testing-library/dom": ">=7.21.4" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@tootallnate/once": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", - "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz", + "integrity": "sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==", "dev": true, + "license": "MIT", "engines": { - "node": ">= 10" - } - }, - "node_modules/@turf/boolean-clockwise": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@turf/boolean-clockwise/-/boolean-clockwise-6.5.0.tgz", - "integrity": "sha512-45+C7LC5RMbRWrxh3Z0Eihsc8db1VGBO5d9BLTOAwU4jR6SgsunTfRWR16X7JUwIDYlCVEmnjcXJNi/kIU3VIw==", - "dependencies": { - "@turf/helpers": "^6.5.0", - "@turf/invariant": "^6.5.0" + "node": ">=14" }, "funding": { - "url": "https://opencollective.com/turf" - } - }, - "node_modules/@turf/helpers": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@turf/helpers/-/helpers-6.5.0.tgz", - "integrity": "sha512-VbI1dV5bLFzohYYdgqwikdMVpe7pJ9X3E+dlr425wa2/sMJqYDhTO++ec38/pcPvPE6oD9WEEeU3Xu3gza+VPw==", - "funding": { - "url": "https://opencollective.com/turf" - } - }, - "node_modules/@turf/invariant": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@turf/invariant/-/invariant-6.5.0.tgz", - "integrity": "sha512-Wv8PRNCtPD31UVbdJE/KVAWKe7l6US+lJItRR/HOEW3eh+U/JwRCSUl/KZ7bmjM/C+zLNoreM2TU6OoLACs4eg==", - "dependencies": { - "@turf/helpers": "^6.5.0" + "type": "github", + "url": "https://github.com/sponsors/gregberge" }, - "funding": { - "url": "https://opencollective.com/turf" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@types/aria-query": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz", - "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==", - "dev": true - }, - "node_modules/@types/babel__core": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", - "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz", + "integrity": "sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==", "dev": true, - "dependencies": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@types/babel__generator": { - "version": "7.6.8", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", - "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", + "node_modules/@svgr/babel-plugin-svg-dynamic-title": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz", + "integrity": "sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==", "dev": true, - "dependencies": { - "@babel/types": "^7.0.0" + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@types/babel__template": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", - "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "node_modules/@svgr/babel-plugin-svg-em-dimensions": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz", + "integrity": "sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==", "dev": true, - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@types/babel__traverse": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.5.tgz", - "integrity": "sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==", + "node_modules/@svgr/babel-plugin-transform-react-native-svg": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz", + "integrity": "sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==", "dev": true, - "dependencies": { - "@babel/types": "^7.20.7" + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@types/cookie": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz", - "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==", - "dev": true - }, - "node_modules/@types/debug": { - "version": "4.1.12", - "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", - "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", + "node_modules/@svgr/babel-plugin-transform-svg-component": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz", + "integrity": "sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==", "dev": true, - "dependencies": { - "@types/ms": "*" + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@types/eslint": { - "version": "8.44.7", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.7.tgz", - "integrity": "sha512-f5ORu2hcBbKei97U73mf+l9t4zTGl74IqZ0GQk4oVea/VS8tQZYkUveSYojk+frraAVYId0V2WC9O4PTNru2FQ==", + "node_modules/@svgr/babel-preset": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-8.1.0.tgz", + "integrity": "sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==", "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "node_modules/@types/estree": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", - "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", - "dev": true - }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", - "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==" - }, - "node_modules/@types/istanbul-lib-report": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", - "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", - "dependencies": { - "@types/istanbul-lib-coverage": "*" - } - }, - "node_modules/@types/istanbul-reports": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", - "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "license": "MIT", "dependencies": { - "@types/istanbul-lib-report": "*" + "@svgr/babel-plugin-add-jsx-attribute": "8.0.0", + "@svgr/babel-plugin-remove-jsx-attribute": "8.0.0", + "@svgr/babel-plugin-remove-jsx-empty-expression": "8.0.0", + "@svgr/babel-plugin-replace-jsx-attribute-value": "8.0.0", + "@svgr/babel-plugin-svg-dynamic-title": "8.0.0", + "@svgr/babel-plugin-svg-em-dimensions": "8.0.0", + "@svgr/babel-plugin-transform-react-native-svg": "8.1.0", + "@svgr/babel-plugin-transform-svg-component": "8.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@types/jest": { - "version": "29.5.8", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.8.tgz", - "integrity": "sha512-fXEFTxMV2Co8ZF5aYFJv+YeA08RTYJfhtN5c9JSv/mFEMe+xxjufCb+PHL+bJcMs/ebPUsBu+UNTEz+ydXrR6g==", + "node_modules/@svgr/core": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-8.1.0.tgz", + "integrity": "sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==", "dev": true, + "license": "MIT", "dependencies": { - "expect": "^29.0.0", - "pretty-format": "^29.0.0" + "@babel/core": "^7.21.3", + "@svgr/babel-preset": "8.1.0", + "camelcase": "^6.2.0", + "cosmiconfig": "^8.1.3", + "snake-case": "^3.0.4" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" } }, - "node_modules/@types/jest/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "node_modules/@svgr/core/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@types/jest/node_modules/pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "node_modules/@svgr/core/node_modules/cosmiconfig": { + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", + "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", "dev": true, + "license": "MIT", "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0", + "path-type": "^4.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@types/jest/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - }, - "node_modules/@types/js-cookie": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/@types/js-cookie/-/js-cookie-2.2.7.tgz", - "integrity": "sha512-aLkWa0C0vO5b4Sr798E26QgOkss68Un0bLjs7u9qxzPT5CG+8DuNTffWES58YzJs3hrVAOs1wonycqEBqNJubA==" - }, - "node_modules/@types/js-levenshtein": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@types/js-levenshtein/-/js-levenshtein-1.1.3.tgz", - "integrity": "sha512-jd+Q+sD20Qfu9e2aEXogiO3vpOC1PYJOUdyN9gvs4Qrvkg4wF43L5OhqrPeokdv8TL0/mXoYfpkcoGZMNN2pkQ==", - "dev": true - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "node_modules/@svgr/hast-util-to-babel-ast": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz", + "integrity": "sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==", "dev": true, - "peer": true - }, - "node_modules/@types/ms": { - "version": "0.7.34", - "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.34.tgz", - "integrity": "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==", - "dev": true - }, - "node_modules/@types/node": { - "version": "20.9.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.9.0.tgz", - "integrity": "sha512-nekiGu2NDb1BcVofVcEKMIwzlx4NjHlcjhoxxKBNLtz15Y1z7MYf549DFvkHSId02Ax6kGwWntIBPC3l/JZcmw==", - "dependencies": { - "undici-types": "~5.26.4" - } - }, - "node_modules/@types/node-fetch": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.4.tgz", - "integrity": "sha512-1ZX9fcN4Rvkvgv4E6PAY5WXUFWFcRWxZa3EW83UjycOB9ljJCedb2CupIP4RZMEwF/M3eTcCihbBRgwtGbg5Rg==", + "license": "MIT", "dependencies": { - "@types/node": "*", - "form-data": "^3.0.0" + "@babel/types": "^7.21.3", + "entities": "^4.4.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" } }, - "node_modules/@types/node-forge": { - "version": "1.3.11", - "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz", - "integrity": "sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==", - "peer": true, - "dependencies": { - "@types/node": "*" + "node_modules/@svgr/hast-util-to-babel-ast/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/@types/papaparse": { - "version": "5.3.11", - "resolved": "https://registry.npmjs.org/@types/papaparse/-/papaparse-5.3.11.tgz", - "integrity": "sha512-ISil0lMkpRDrBTKRPnUgVb5IqxWwj19gWBrX/ROk3pbkkslBN3URa713r/BSfAUj+w9gTPg3S3f45aMToVfh1w==", + "node_modules/@svgr/plugin-jsx": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz", + "integrity": "sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==", + "dev": true, + "license": "MIT", "dependencies": { - "@types/node": "*" + "@babel/core": "^7.21.3", + "@svgr/babel-preset": "8.1.0", + "@svgr/hast-util-to-babel-ast": "8.0.0", + "svg-parser": "^2.0.4" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@svgr/core": "*" } }, - "node_modules/@types/parse-json": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", - "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==", - "dev": true - }, - "node_modules/@types/prop-types": { - "version": "15.7.10", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.10.tgz", - "integrity": "sha512-mxSnDQxPqsZxmeShFH+uwQ4kO4gcJcGahjjMFeLbKE95IAZiiZyiEepGZjtXJ7hN/yfu0bu9xN2ajcU0JcxX6A==", - "devOptional": true - }, - "node_modules/@types/react": { - "version": "17.0.70", - "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.70.tgz", - "integrity": "sha512-yqYMK49/cnqw+T8R9/C+RNjRddYmPDGI5lKHi3bOYceQCBAh8X2ngSbZP0gnVeyvHr0T7wEgIIGKT1usNol08w==", - "devOptional": true, + "node_modules/@testing-library/cypress": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/@testing-library/cypress/-/cypress-10.0.2.tgz", + "integrity": "sha512-dKv95Bre5fDmNb9tOIuWedhGUryxGu1GWYWtXDqUsDPcr9Ekld0fiTb+pcBvSsFpYXAZSpmyEjhoXzLbhh06yQ==", + "dev": true, + "license": "MIT", "dependencies": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" + "@babel/runtime": "^7.14.6", + "@testing-library/dom": "^10.1.0" + }, + "engines": { + "node": ">=12", + "npm": ">=6" + }, + "peerDependencies": { + "cypress": "^12.0.0 || ^13.0.0" } }, - "node_modules/@types/react-dom": { - "version": "17.0.23", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-17.0.23.tgz", - "integrity": "sha512-lnJAZfMEDxfvELeeT24w4rnUYwpzUzQAOTfJQbWYnLcx8AEfz+fXJDCbowIBqNK/Bi4D6j8ovT8Qsda2OtDApA==", + "node_modules/@testing-library/dom": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.0.tgz", + "integrity": "sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==", "dev": true, + "license": "MIT", "dependencies": { - "@types/react": "^17" + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^5.0.1", + "aria-query": "5.3.0", + "chalk": "^4.1.0", + "dom-accessibility-api": "^0.5.9", + "lz-string": "^1.5.0", + "pretty-format": "^27.0.2" + }, + "engines": { + "node": ">=18" } }, - "node_modules/@types/scheduler": { - "version": "0.16.6", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.6.tgz", - "integrity": "sha512-Vlktnchmkylvc9SnwwwozTv04L/e1NykF5vgoQ0XTmI8DD+wxfjQuHuvHS3p0r2jz2x2ghPs2h1FVeDirIteWA==", - "devOptional": true - }, - "node_modules/@types/set-cookie-parser": { - "version": "2.4.6", - "resolved": "https://registry.npmjs.org/@types/set-cookie-parser/-/set-cookie-parser-2.4.6.tgz", - "integrity": "sha512-tjIRMxGztGfIbW2/d20MdJmAPZbabtdW051cKfU+nvZXUnKKifHbY2CyL/C0EGabUB8ahIRjanYzTqJUQR8TAQ==", + "node_modules/@testing-library/dom/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, + "license": "MIT", "dependencies": { - "@types/node": "*" + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@types/sinonjs__fake-timers": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz", - "integrity": "sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==", - "dev": true - }, - "node_modules/@types/sizzle": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.6.tgz", - "integrity": "sha512-m04Om5Gz6kbjUwAQ7XJJQ30OdEFsSmAVsvn4NYwcTRyMVpKKa1aPuESw1n2CxS5fYkOQv3nHgDKeNa8e76fUkw==", - "dev": true - }, - "node_modules/@types/stack-utils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", - "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==" - }, - "node_modules/@types/testing-library__jest-dom": { - "version": "5.14.9", - "resolved": "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.9.tgz", - "integrity": "sha512-FSYhIjFlfOpGSRyVoMBMuS3ws5ehFQODymf3vlI7U1K8c7PHwWwFY7VREfmsuzHSOnoKs/9/Y983ayOs7eRzqw==", + "node_modules/@testing-library/dom/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, + "license": "MIT", "dependencies": { - "@types/jest": "*" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@types/yargs": { - "version": "17.0.31", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.31.tgz", - "integrity": "sha512-bocYSx4DI8TmdlvxqGpVNXOgCNR1Jj0gNPhhAY+iz1rgKDAaYrAYdFYnhDV1IFuiuVc9HkOwyDcFxaTElF3/wg==", + "node_modules/@testing-library/dom/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, + "license": "MIT", "dependencies": { - "@types/yargs-parser": "*" + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "node_modules/@types/yargs-parser": { - "version": "21.0.3", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", - "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==" + "node_modules/@testing-library/dom/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, + "license": "MIT" }, - "node_modules/@types/yauzl": { - "version": "2.10.3", - "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz", - "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==", + "node_modules/@testing-library/dom/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, - "optional": true, - "dependencies": { - "@types/node": "*" + "license": "MIT", + "engines": { + "node": ">=8" } }, - "node_modules/@ungap/structured-clone": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", - "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", - "dev": true + "node_modules/@testing-library/dom/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, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } }, - "node_modules/@vitejs/plugin-react": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.2.1.tgz", - "integrity": "sha512-oojO9IDc4nCUUi8qIR11KoQm0XFFLIwsRBwHRR4d/88IWghn1y6ckz/bJ8GHDCsYEJee8mDzqtJxh15/cisJNQ==", + "node_modules/@testing-library/jest-dom": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.5.0.tgz", + "integrity": "sha512-xGGHpBXYSHUUr6XsKBfs85TWlYKpTc37cSBBVrXcib2MkHLboWlkClhWF37JKlDb9KEq3dHs+f2xR7XJEWGBxA==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/core": "^7.23.5", - "@babel/plugin-transform-react-jsx-self": "^7.23.3", - "@babel/plugin-transform-react-jsx-source": "^7.23.3", - "@types/babel__core": "^7.20.5", - "react-refresh": "^0.14.0" + "@adobe/css-tools": "^4.4.0", + "aria-query": "^5.0.0", + "chalk": "^3.0.0", + "css.escape": "^1.5.1", + "dom-accessibility-api": "^0.6.3", + "lodash": "^4.17.21", + "redent": "^3.0.0" }, "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "peerDependencies": { - "vite": "^4.2.0 || ^5.0.0" + "node": ">=14", + "npm": ">=6", + "yarn": ">=1" } }, - "node_modules/@vitest/coverage-istanbul": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@vitest/coverage-istanbul/-/coverage-istanbul-1.2.1.tgz", - "integrity": "sha512-j8M4R3XbQ7cmLqJd7mfxCpEc0bQ7S6o5VIEt7c0Auri2lT1hkd89Sa/mOYDnuGasTNawamW+0d9vDRK/5uhVXw==", + "node_modules/@testing-library/jest-dom/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, + "license": "MIT", "dependencies": { - "debug": "^4.3.4", - "istanbul-lib-coverage": "^3.2.2", - "istanbul-lib-instrument": "^6.0.1", - "istanbul-lib-report": "^3.0.1", - "istanbul-lib-source-maps": "^4.0.1", - "istanbul-reports": "^3.1.6", - "magicast": "^0.3.3", - "picocolors": "^1.0.0", - "test-exclude": "^6.0.0" + "color-convert": "^2.0.1" }, - "funding": { - "url": "https://opencollective.com/vitest" + "engines": { + "node": ">=8" }, - "peerDependencies": { - "vitest": "^1.0.0" + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@vitest/coverage-istanbul/node_modules/istanbul-lib-coverage": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", - "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", + "node_modules/@testing-library/jest-dom/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { "node": ">=8" } }, - "node_modules/@vitest/coverage-istanbul/node_modules/istanbul-lib-instrument": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.1.tgz", - "integrity": "sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA==", + "node_modules/@testing-library/jest-dom/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, + "license": "MIT", "dependencies": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^7.5.4" + "color-name": "~1.1.4" }, "engines": { - "node": ">=10" + "node": ">=7.0.0" } }, - "node_modules/@vitest/coverage-istanbul/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==", + "node_modules/@testing-library/jest-dom/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, - "dependencies": { - "yallist": "^4.0.0" - }, + "license": "MIT" + }, + "node_modules/@testing-library/jest-dom/node_modules/dom-accessibility-api": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.6.3.tgz", + "integrity": "sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@testing-library/jest-dom/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, + "license": "MIT", "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/@vitest/coverage-istanbul/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "node_modules/@testing-library/jest-dom/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, + "license": "MIT", "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/@vitest/coverage-istanbul/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/@vitest/coverage-v8": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-1.2.1.tgz", - "integrity": "sha512-fJEhKaDwGMZtJUX7BRcGxooGwg1Hl0qt53mVup/ZJeznhvL5EodteVnb/mcByhEcvVWbK83ZF31c7nPEDi4LOQ==", + "node_modules/@testing-library/react": { + "version": "14.3.1", + "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-14.3.1.tgz", + "integrity": "sha512-H99XjUhWQw0lTgyMN05W3xQG1Nh4lq574D8keFf1dDoNTJgp66VbJozRaczoF+wsiaPJNt/TcnfpLGufGxSrZQ==", "dev": true, + "license": "MIT", "dependencies": { - "@ampproject/remapping": "^2.2.1", - "@bcoe/v8-coverage": "^0.2.3", - "debug": "^4.3.4", - "istanbul-lib-coverage": "^3.2.2", - "istanbul-lib-report": "^3.0.1", - "istanbul-lib-source-maps": "^4.0.1", - "istanbul-reports": "^3.1.6", - "magic-string": "^0.30.5", - "magicast": "^0.3.3", - "picocolors": "^1.0.0", - "std-env": "^3.5.0", - "test-exclude": "^6.0.0", - "v8-to-istanbul": "^9.2.0" + "@babel/runtime": "^7.12.5", + "@testing-library/dom": "^9.0.0", + "@types/react-dom": "^18.0.0" }, - "funding": { - "url": "https://opencollective.com/vitest" + "engines": { + "node": ">=14" }, "peerDependencies": { - "vitest": "^1.0.0" + "react": "^18.0.0", + "react-dom": "^18.0.0" } }, - "node_modules/@vitest/coverage-v8/node_modules/istanbul-lib-coverage": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", - "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", + "node_modules/@testing-library/react/node_modules/@testing-library/dom": { + "version": "9.3.4", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-9.3.4.tgz", + "integrity": "sha512-FlS4ZWlp97iiNWig0Muq8p+3rVDjRiYE+YKGbAqXOu9nwJFFOdL00kFpz42M+4huzYi86vAK1sOOfyOG45muIQ==", "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^5.0.1", + "aria-query": "5.1.3", + "chalk": "^4.1.0", + "dom-accessibility-api": "^0.5.9", + "lz-string": "^1.5.0", + "pretty-format": "^27.0.2" + }, "engines": { - "node": ">=8" + "node": ">=14" } }, - "node_modules/@vitest/expect": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.2.1.tgz", - "integrity": "sha512-/bqGXcHfyKgFWYwIgFr1QYDaR9e64pRKxgBNWNXPefPFRhgm+K3+a/dS0cUGEreWngets3dlr8w8SBRw2fCfFQ==", + "node_modules/@testing-library/react/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, + "license": "MIT", "dependencies": { - "@vitest/spy": "1.2.1", - "@vitest/utils": "1.2.1", - "chai": "^4.3.10" + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" }, "funding": { - "url": "https://opencollective.com/vitest" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@vitest/runner": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.2.1.tgz", - "integrity": "sha512-zc2dP5LQpzNzbpaBt7OeYAvmIsRS1KpZQw4G3WM/yqSV1cQKNKwLGmnm79GyZZjMhQGlRcSFMImLjZaUQvNVZQ==", + "node_modules/@testing-library/react/node_modules/aria-query": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", + "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "@vitest/utils": "1.2.1", - "p-limit": "^5.0.0", - "pathe": "^1.1.1" - }, - "funding": { - "url": "https://opencollective.com/vitest" + "deep-equal": "^2.0.5" } }, - "node_modules/@vitest/runner/node_modules/p-limit": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-5.0.0.tgz", - "integrity": "sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==", + "node_modules/@testing-library/react/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, + "license": "MIT", "dependencies": { - "yocto-queue": "^1.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=18" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@vitest/snapshot": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.2.1.tgz", - "integrity": "sha512-Tmp/IcYEemKaqAYCS08sh0vORLJkMr0NRV76Gl8sHGxXT5151cITJCET20063wk0Yr/1koQ6dnmP6eEqezmd/Q==", + "node_modules/@testing-library/react/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, + "license": "MIT", "dependencies": { - "magic-string": "^0.30.5", - "pathe": "^1.1.1", - "pretty-format": "^29.7.0" + "color-name": "~1.1.4" }, - "funding": { - "url": "https://opencollective.com/vitest" + "engines": { + "node": ">=7.0.0" } }, - "node_modules/@vitest/snapshot/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "node_modules/@testing-library/react/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, + "license": "MIT" + }, + "node_modules/@testing-library/react/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, + "license": "MIT", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=8" } }, - "node_modules/@vitest/snapshot/node_modules/pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "node_modules/@testing-library/react/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, + "license": "MIT", "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/@vitest/snapshot/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - }, - "node_modules/@vitest/spy": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.2.1.tgz", - "integrity": "sha512-vG3a/b7INKH7L49Lbp0IWrG6sw9j4waWAucwnksPB1r1FTJgV7nkBByd9ufzu6VWya/QTvQW4V9FShZbZIB2UQ==", + "node_modules/@testing-library/user-event": { + "version": "14.5.2", + "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-14.5.2.tgz", + "integrity": "sha512-YAh82Wh4TIrxYLmfGcixwD18oIjyC1pFQC2Y01F2lzV2HTMiYrI0nze0FD0ocB//CKS/7jIUgae+adPqxK5yCQ==", "dev": true, - "dependencies": { - "tinyspy": "^2.2.0" + "license": "MIT", + "engines": { + "node": ">=12", + "npm": ">=6" }, - "funding": { - "url": "https://opencollective.com/vitest" + "peerDependencies": { + "@testing-library/dom": ">=7.21.4" } }, - "node_modules/@vitest/utils": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.2.1.tgz", - "integrity": "sha512-bsH6WVZYe/J2v3+81M5LDU8kW76xWObKIURpPrOXm2pjBniBu2MERI/XP60GpS4PHU3jyK50LUutOwrx4CyHUg==", + "node_modules/@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/@turf/boolean-clockwise": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@turf/boolean-clockwise/-/boolean-clockwise-6.5.0.tgz", + "integrity": "sha512-45+C7LC5RMbRWrxh3Z0Eihsc8db1VGBO5d9BLTOAwU4jR6SgsunTfRWR16X7JUwIDYlCVEmnjcXJNi/kIU3VIw==", + "license": "MIT", "dependencies": { - "diff-sequences": "^29.6.3", - "estree-walker": "^3.0.3", - "loupe": "^2.3.7", - "pretty-format": "^29.7.0" + "@turf/helpers": "^6.5.0", + "@turf/invariant": "^6.5.0" }, "funding": { - "url": "https://opencollective.com/vitest" + "url": "https://opencollective.com/turf" + } + }, + "node_modules/@turf/helpers": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@turf/helpers/-/helpers-6.5.0.tgz", + "integrity": "sha512-VbI1dV5bLFzohYYdgqwikdMVpe7pJ9X3E+dlr425wa2/sMJqYDhTO++ec38/pcPvPE6oD9WEEeU3Xu3gza+VPw==", + "license": "MIT", + "funding": { + "url": "https://opencollective.com/turf" } }, - "node_modules/@vitest/utils/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" + "node_modules/@turf/invariant": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@turf/invariant/-/invariant-6.5.0.tgz", + "integrity": "sha512-Wv8PRNCtPD31UVbdJE/KVAWKe7l6US+lJItRR/HOEW3eh+U/JwRCSUl/KZ7bmjM/C+zLNoreM2TU6OoLACs4eg==", + "license": "MIT", + "dependencies": { + "@turf/helpers": "^6.5.0" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://opencollective.com/turf" } }, - "node_modules/@vitest/utils/node_modules/estree-walker": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", - "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "node_modules/@types/aria-query": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz", + "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==", "dev": true, - "dependencies": { - "@types/estree": "^1.0.0" - } + "license": "MIT" }, - "node_modules/@vitest/utils/node_modules/pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", "dev": true, + "license": "MIT", "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" } }, - "node_modules/@vitest/utils/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - }, - "node_modules/@webassemblyjs/ast": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz", - "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", + "node_modules/@types/babel__generator": { + "version": "7.6.8", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", + "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + "@babel/types": "^7.0.0" } }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", - "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", "dev": true, "license": "MIT", - "peer": true + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", - "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "node_modules/@types/babel__traverse": { + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", + "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==", "dev": true, "license": "MIT", - "peer": true + "dependencies": { + "@babel/types": "^7.20.7" + } }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", - "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==", + "node_modules/@types/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==", "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, - "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", - "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "node_modules/@types/eslint": { + "version": "8.56.12", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.12.tgz", + "integrity": "sha512-03ruubjWyOHlmljCVoxSuNDdmfZDzsrrz0P2LeJsOXr+ZwFQ+0yQIwNCwt/GYhV7Z31fgtXJTAEs+FYlEL851g==", "dev": true, "license": "MIT", + "optional": true, "peer": true, "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@xtuc/long": "4.2.2" + "@types/estree": "*", + "@types/json-schema": "*" } }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", - "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", "dev": true, + "license": "MIT" + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", "license": "MIT", "peer": true }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", - "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", - "dev": true, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", "license": "MIT", "peer": true, "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-buffer": "1.12.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.12.1" + "@types/istanbul-lib-coverage": "*" } }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", - "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", - "dev": true, + "node_modules/@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", "license": "MIT", "peer": true, "dependencies": { - "@xtuc/ieee754": "^1.2.0" + "@types/istanbul-lib-report": "*" } }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", - "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", - "dev": true, - "license": "Apache-2.0", - "peer": true, - "dependencies": { - "@xtuc/long": "4.2.2" - } + "node_modules/@types/js-cookie": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/@types/js-cookie/-/js-cookie-2.2.7.tgz", + "integrity": "sha512-aLkWa0C0vO5b4Sr798E26QgOkss68Un0bLjs7u9qxzPT5CG+8DuNTffWES58YzJs3hrVAOs1wonycqEBqNJubA==", + "license": "MIT" }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", - "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", "dev": true, "license": "MIT", "peer": true }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", - "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", + "node_modules/@types/mute-stream": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/@types/mute-stream/-/mute-stream-0.0.4.tgz", + "integrity": "sha512-CPM9nzrCPPJHQNA9keH9CVkVI+WR5kMa+7XEs5jcGQ0VoAGnLv242w8lIVgwAEfmE4oufJRaTc9PNLQl0ioAow==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-buffer": "1.12.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/helper-wasm-section": "1.12.1", - "@webassemblyjs/wasm-gen": "1.12.1", - "@webassemblyjs/wasm-opt": "1.12.1", - "@webassemblyjs/wasm-parser": "1.12.1", - "@webassemblyjs/wast-printer": "1.12.1" + "@types/node": "*" } }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", - "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", - "dev": true, + "node_modules/@types/node": { + "version": "22.5.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.5.5.tgz", + "integrity": "sha512-Xjs4y5UPO/CLdzpgR6GirZJx36yScjh73+2NlLlkFRSoQN8B0DpfXPdZGnvVmLRLOsqDpOfTNv7D9trgGhmOIA==", "license": "MIT", - "peer": true, "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" + "undici-types": "~6.19.2" } }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", - "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", - "dev": true, + "node_modules/@types/node-fetch": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.4.tgz", + "integrity": "sha512-1ZX9fcN4Rvkvgv4E6PAY5WXUFWFcRWxZa3EW83UjycOB9ljJCedb2CupIP4RZMEwF/M3eTcCihbBRgwtGbg5Rg==", "license": "MIT", - "peer": true, "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-buffer": "1.12.1", - "@webassemblyjs/wasm-gen": "1.12.1", - "@webassemblyjs/wasm-parser": "1.12.1" + "@types/node": "*", + "form-data": "^3.0.0" } }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", - "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", - "dev": true, + "node_modules/@types/node-forge": { + "version": "1.3.11", + "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz", + "integrity": "sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==", "license": "MIT", "peer": true, "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-api-error": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" + "@types/node": "*" } }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", - "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", - "dev": true, + "node_modules/@types/papaparse": { + "version": "5.3.14", + "resolved": "https://registry.npmjs.org/@types/papaparse/-/papaparse-5.3.14.tgz", + "integrity": "sha512-LxJ4iEFcpqc6METwp9f6BV6VVc43m6MfH0VqFosHvrUgfXiFe6ww7R3itkOQ+TCK6Y+Iv/+RnnvtRZnkc5Kc9g==", "license": "MIT", - "peer": true, "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@xtuc/long": "4.2.2" + "@types/node": "*" } }, - "node_modules/@xmldom/xmldom": { - "version": "0.8.10", - "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.10.tgz", - "integrity": "sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==", + "node_modules/@types/parse-json": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", + "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==", "dev": true, - "engines": { - "node": ">=10.0.0" - } + "license": "MIT" }, - "node_modules/@xobotyi/scrollbar-width": { - "version": "1.9.5", - "resolved": "https://registry.npmjs.org/@xobotyi/scrollbar-width/-/scrollbar-width-1.9.5.tgz", - "integrity": "sha512-N8tkAACJx2ww8vFMneJmaAgmjAG1tnVBZJRLRcx061tmsLRZHSEZSLuGWnwPtunsSLvSqXQ2wfp7Mgqg1I+2dQ==" + "node_modules/@types/prop-types": { + "version": "15.7.13", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.13.tgz", + "integrity": "sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/@types/react": { + "version": "18.3.8", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.8.tgz", + "integrity": "sha512-syBUrW3/XpnW4WJ41Pft+I+aPoDVbrBVQGEnbD7NijDGlVC+8gV/XKRY+7vMDlfPpbwYt0l1vd/Sj8bJGMbs9Q==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@types/prop-types": "*", + "csstype": "^3.0.2" + } }, - "node_modules/@xstate/react": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@xstate/react/-/react-3.0.0.tgz", - "integrity": "sha512-KHSCfwtb8gZ7QH2luihvmKYI+0lcdHQOmGNRUxUEs4zVgaJCyd8csCEmwPsudpliLdUmyxX2pzUBojFkINpotw==", + "node_modules/@types/react-dom": { + "version": "18.3.0", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.0.tgz", + "integrity": "sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==", + "dev": true, + "license": "MIT", "dependencies": { - "use-isomorphic-layout-effect": "^1.0.0", - "use-sync-external-store": "^1.0.0" - }, - "peerDependencies": { - "@xstate/fsm": "^2.0.0", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "xstate": "^4.31.0" - }, - "peerDependenciesMeta": { - "@xstate/fsm": { - "optional": true - }, - "xstate": { - "optional": true - } + "@types/react": "*" } }, - "node_modules/@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "node_modules/@types/sinonjs__fake-timers": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz", + "integrity": "sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==", "dev": true, - "license": "BSD-3-Clause", - "peer": true + "license": "MIT" }, - "node_modules/@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "node_modules/@types/sizzle": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.8.tgz", + "integrity": "sha512-0vWLNK2D5MT9dg0iOo8GlKguPAU02QjmZitPEsXRuJXU/OGIOt9vT9Fc26wtYuavLxtO45v9PGleoL9Z0k1LHg==", "dev": true, - "license": "Apache-2.0", + "license": "MIT" + }, + "node_modules/@types/stack-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", + "license": "MIT", "peer": true }, - "node_modules/@zxing/text-encoding": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/@zxing/text-encoding/-/text-encoding-0.9.0.tgz", - "integrity": "sha512-U/4aVJ2mxI0aDNI8Uq0wEhMgY+u4CNtEb0om3+y3+niDAsoTCOB33UF0sxpzqzdqXLqmvc+vZyAt4O8pPdfkwA==", + "node_modules/@types/statuses": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@types/statuses/-/statuses-2.0.5.tgz", + "integrity": "sha512-jmIUGWrAiwu3dZpxntxieC+1n/5c3mjrImkmOSQ2NC5uP6cYO4aAZDdSmRcI5C1oiTmqlZGHC+/NmJrKogbP5A==", "dev": true, - "optional": true + "license": "MIT" }, - "node_modules/abab": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", - "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", - "dev": true + "node_modules/@types/tough-cookie": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz", + "integrity": "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==", + "dev": true, + "license": "MIT" }, - "node_modules/abort-controller": { + "node_modules/@types/wrap-ansi": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", - "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", - "peer": true, - "dependencies": { - "event-target-shim": "^5.0.0" - }, - "engines": { - "node": ">=6.5" - } + "resolved": "https://registry.npmjs.org/@types/wrap-ansi/-/wrap-ansi-3.0.0.tgz", + "integrity": "sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g==", + "dev": true, + "license": "MIT" }, - "node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "node_modules/@types/yargs": { + "version": "17.0.33", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz", + "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==", + "license": "MIT", "peer": true, "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - }, - "engines": { - "node": ">= 0.6" + "@types/yargs-parser": "*" } }, - "node_modules/ace-builds": { - "version": "1.31.1", - "resolved": "https://registry.npmjs.org/ace-builds/-/ace-builds-1.31.1.tgz", - "integrity": "sha512-3DnE5bZF6Ji+l4F5acoLk+rV7mxrUt1C4r61Xy9owp5rVM4lj5NL8GJfoX6Jnnbhx6kKV7Vdpb+Tco+0ORTvhg==" + "node_modules/@types/yargs-parser": { + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", + "license": "MIT", + "peer": true }, - "node_modules/acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" + "node_modules/@types/yauzl": { + "version": "2.10.3", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz", + "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@types/node": "*" } }, - "node_modules/acorn-import-attributes": { - "version": "1.9.5", - "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", - "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", - "dev": true, + "node_modules/@uiw/react-json-view": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@uiw/react-json-view/-/react-json-view-1.12.2.tgz", + "integrity": "sha512-IrL7tqPMgPMgdpjsgfArUepVE37DHlgcmkNgUQ92uNcRbO2+iUHXWysNc9nNsJB6ctb+wIinI5JNRqsqwHER5g==", "license": "MIT", - "peer": true, + "dependencies": { + "@babel/runtime": "^7.22.6" + }, + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" + }, "peerDependencies": { - "acorn": "^8" + "@babel/runtime": ">=7.10.0", + "react": ">=18.0.0", + "react-dom": ">=18.0.0" } }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", "dev": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } + "license": "ISC" }, - "node_modules/acorn-walk": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", - "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", + "node_modules/@vitejs/plugin-react": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.3.1.tgz", + "integrity": "sha512-m/V2syj5CuVnaxcUJOQRel/Wr31FFXRFlnOoq1TVtkCxsY5veGMTEmpWHndrhB2U8ScHtCQB1e+4hWYExQc6Lg==", "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.24.5", + "@babel/plugin-transform-react-jsx-self": "^7.24.5", + "@babel/plugin-transform-react-jsx-source": "^7.24.1", + "@types/babel__core": "^7.20.5", + "react-refresh": "^0.14.2" + }, "engines": { - "node": ">=0.4.0" + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.2.0 || ^5.0.0" } }, - "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==", + "node_modules/@vitest/coverage-istanbul": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/coverage-istanbul/-/coverage-istanbul-2.1.1.tgz", + "integrity": "sha512-ZQM8uLinwmhmLp49fxLxIM46nC7NisCbaiydcQoV1hLvQfFL92Gg3tInRvowZyV78G0IknjN10JzH7oqPlPjZw==", "dev": true, + "license": "MIT", "dependencies": { - "debug": "4" + "@istanbuljs/schema": "^0.1.3", + "debug": "^4.3.6", + "istanbul-lib-coverage": "^3.2.2", + "istanbul-lib-instrument": "^6.0.3", + "istanbul-lib-report": "^3.0.1", + "istanbul-lib-source-maps": "^5.0.6", + "istanbul-reports": "^3.1.7", + "magicast": "^0.3.4", + "test-exclude": "^7.0.1", + "tinyrainbow": "^1.2.0" }, - "engines": { - "node": ">= 6.0.0" + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "vitest": "2.1.1" } }, - "node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "node_modules/@vitest/coverage-v8": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-2.1.1.tgz", + "integrity": "sha512-md/A7A3c42oTT8JUHSqjP5uKTWJejzUW4jalpvs+rZ27gsURsMU8DEb+8Jf8C6Kj2gwfSHJqobDNBuoqlm0cFw==", "dev": true, + "license": "MIT", "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" + "@ampproject/remapping": "^2.3.0", + "@bcoe/v8-coverage": "^0.2.3", + "debug": "^4.3.6", + "istanbul-lib-coverage": "^3.2.2", + "istanbul-lib-report": "^3.0.1", + "istanbul-lib-source-maps": "^5.0.6", + "istanbul-reports": "^3.1.7", + "magic-string": "^0.30.11", + "magicast": "^0.3.4", + "std-env": "^3.7.0", + "test-exclude": "^7.0.1", + "tinyrainbow": "^1.2.0" }, - "engines": { - "node": ">=8" + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@vitest/browser": "2.1.1", + "vitest": "2.1.1" + }, + "peerDependenciesMeta": { + "@vitest/browser": { + "optional": true + } } }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "node_modules/@vitest/expect": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-2.1.1.tgz", + "integrity": "sha512-YeueunS0HiHiQxk+KEOnq/QMzlUuOzbU1Go+PgAsHvvv3tUkJPm9xWt+6ITNTlzsMXUjmgm5T+U7KBPK2qQV6w==", "dev": true, + "license": "MIT", "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" + "@vitest/spy": "2.1.1", + "@vitest/utils": "2.1.1", + "chai": "^5.1.1", + "tinyrainbow": "^1.2.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "url": "https://opencollective.com/vitest" } }, - "node_modules/ajv-formats": { + "node_modules/@vitest/mocker": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-2.1.1.tgz", + "integrity": "sha512-LNN5VwOEdJqCmJ/2XJBywB11DLlkbY0ooDJW3uRX5cZyYCrc4PI/ePX0iQhE3BiEGiQmK4GE7Q/PqCkkaiPnrA==", "dev": true, - "peer": true, + "license": "MIT", "dependencies": { - "ajv": "^8.0.0" + "@vitest/spy": "^2.1.0-beta.1", + "estree-walker": "^3.0.3", + "magic-string": "^0.30.11" + }, + "funding": { + "url": "https://opencollective.com/vitest" }, "peerDependencies": { - "ajv": "^8.0.0" + "@vitest/spy": "2.1.1", + "msw": "^2.3.5", + "vite": "^5.0.0" }, "peerDependenciesMeta": { - "ajv": { + "msw": { + "optional": true + }, + "vite": { "optional": true } } }, - "node_modules/ajv-formats/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "node_modules/@vitest/mocker/node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", "dev": true, - "peer": true, + "license": "MIT", "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "@types/estree": "^1.0.0" } }, - "node_modules/ajv-formats/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "node_modules/@vitest/pretty-format": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-2.1.1.tgz", + "integrity": "sha512-SjxPFOtuINDUW8/UkElJYQSFtnWX7tMksSGW0vfjxMneFqxVr8YJ979QpMbDW7g+BIiq88RAGDjf7en6rvLPPQ==", "dev": true, - "peer": true + "license": "MIT", + "dependencies": { + "tinyrainbow": "^1.2.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } }, - "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==", + "node_modules/@vitest/runner": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-2.1.1.tgz", + "integrity": "sha512-uTPuY6PWOYitIkLPidaY5L3t0JJITdGTSwBtwMjKzo5O6RCOEncz9PUN+0pDidX8kTHYjO0EwUIvhlGpnGpxmA==", "dev": true, - "peer": true, - "peerDependencies": { - "ajv": "^6.9.1" + "license": "MIT", + "dependencies": { + "@vitest/utils": "2.1.1", + "pathe": "^1.1.2" + }, + "funding": { + "url": "https://opencollective.com/vitest" } }, - "node_modules/amazon-cognito-identity-js": { - "version": "6.3.7", - "resolved": "https://registry.npmjs.org/amazon-cognito-identity-js/-/amazon-cognito-identity-js-6.3.7.tgz", - "integrity": "sha512-tSjnM7KyAeOZ7UMah+oOZ6cW4Gf64FFcc7BE2l7MTcp7ekAPrXaCbpcW2xEpH1EiDS4cPcAouHzmCuc2tr72vQ==", - "dependencies": { - "@aws-crypto/sha256-js": "1.2.2", - "buffer": "4.9.2", - "fast-base64-decode": "^1.0.0", - "isomorphic-unfetch": "^3.0.0", - "js-cookie": "^2.2.1" + "node_modules/@vitest/snapshot": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-2.1.1.tgz", + "integrity": "sha512-BnSku1WFy7r4mm96ha2FzN99AZJgpZOWrAhtQfoxjUU5YMRpq1zmHRq7a5K9/NjqonebO7iVDla+VvZS8BOWMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/pretty-format": "2.1.1", + "magic-string": "^0.30.11", + "pathe": "^1.1.2" + }, + "funding": { + "url": "https://opencollective.com/vitest" } }, - "node_modules/amplify-graphql-docs-generator": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/amplify-graphql-docs-generator/-/amplify-graphql-docs-generator-2.2.4.tgz", - "integrity": "sha512-VUFJXwX6EjqF8KckEhEfNOM2WuFoIrhxLPXEcRtyCn9g69zMMTDNJgJ76DCcdEWuC/Ju7B05mcdXxUtOAYnoNA==", + "node_modules/@vitest/spy": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-2.1.1.tgz", + "integrity": "sha512-ZM39BnZ9t/xZ/nF4UwRH5il0Sw93QnZXd9NAZGRpIgj0yvVwPpLd702s/Cx955rGaMlyBQkZJ2Ir7qyY48VZ+g==", "dev": true, + "license": "MIT", "dependencies": { - "change-case": "^4.1.1", - "graphql": "^14.5.8", - "handlebars": "4.7.7", - "prettier": "^1.19.1", - "yargs": "^15.1.0" - }, - "bin": { - "amplify-graphql-docs-generator": "bin/cli" + "tinyspy": "^3.0.0" }, - "engines": { - "node": ">=12.0.0" + "funding": { + "url": "https://opencollective.com/vitest" } }, - "node_modules/amplify-graphql-docs-generator/node_modules/prettier": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", - "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", + "node_modules/@vitest/utils": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-2.1.1.tgz", + "integrity": "sha512-Y6Q9TsI+qJ2CC0ZKj6VBb+T8UPz593N113nnUykqwANqhgf3QkZeHFlusgKLTqrnVHbj/XDKZcDHol+dxVT+rQ==", "dev": true, - "bin": { - "prettier": "bin-prettier.js" + "license": "MIT", + "dependencies": { + "@vitest/pretty-format": "2.1.1", + "loupe": "^3.1.1", + "tinyrainbow": "^1.2.0" }, - "engines": { - "node": ">=4" + "funding": { + "url": "https://opencollective.com/vitest" } }, - "node_modules/anser": { - "version": "1.4.10", - "resolved": "https://registry.npmjs.org/anser/-/anser-1.4.10.tgz", - "integrity": "sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww==", + "node_modules/@webassemblyjs/ast": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz", + "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "dev": true, + "license": "MIT", "peer": true }, - "node_modules/ansi-colors": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", - "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", "dev": true, - "engines": { - "node": ">=6" - } + "license": "MIT", + "peer": true }, - "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==", + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", + "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", "dev": true, + "license": "MIT", + "peer": true, "dependencies": { - "type-fest": "^0.21.3" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" } }, - "node_modules/ansi-fragments": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/ansi-fragments/-/ansi-fragments-0.2.1.tgz", - "integrity": "sha512-DykbNHxuXQwUDRv5ibc2b0x7uw7wmwOGLBUd5RmaQ5z8Lhx19vwvKV+FAsM5rEA6dEcHxX+/Ad5s9eF2k2bB+w==", + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", + "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", + "dev": true, + "license": "MIT", "peer": true, "dependencies": { - "colorette": "^1.0.7", - "slice-ansi": "^2.0.0", - "strip-ansi": "^5.0.0" + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.12.1" } }, - "node_modules/ansi-fragments/node_modules/ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "dev": true, + "license": "MIT", "peer": true, - "engines": { - "node": ">=6" + "dependencies": { + "@xtuc/ieee754": "^1.2.0" } }, - "node_modules/ansi-fragments/node_modules/astral-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", - "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "dev": true, + "license": "Apache-2.0", "peer": true, - "engines": { - "node": ">=4" + "dependencies": { + "@xtuc/long": "4.2.2" } }, - "node_modules/ansi-fragments/node_modules/colorette": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", - "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==", + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "dev": true, + "license": "MIT", "peer": true }, - "node_modules/ansi-fragments/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": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", + "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", + "dev": true, + "license": "MIT", "peer": true, - "engines": { - "node": ">=4" + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-opt": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1", + "@webassemblyjs/wast-printer": "1.12.1" } }, - "node_modules/ansi-fragments/node_modules/slice-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", - "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", + "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", + "dev": true, + "license": "MIT", "peer": true, "dependencies": { - "ansi-styles": "^3.2.0", - "astral-regex": "^1.0.0", - "is-fullwidth-code-point": "^2.0.0" - }, - "engines": { - "node": ">=6" + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" } }, - "node_modules/ansi-fragments/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==", + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", + "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", + "dev": true, + "license": "MIT", "peer": true, "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1" } }, - "node_modules/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/@webassemblyjs/wasm-parser": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", + "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" } }, - "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==", + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", + "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", + "dev": true, + "license": "MIT", + "peer": true, "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" + "@webassemblyjs/ast": "1.12.1", + "@xtuc/long": "4.2.2" } }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "node_modules/@xobotyi/scrollbar-width": { + "version": "1.9.5", + "resolved": "https://registry.npmjs.org/@xobotyi/scrollbar-width/-/scrollbar-width-1.9.5.tgz", + "integrity": "sha512-N8tkAACJx2ww8vFMneJmaAgmjAG1tnVBZJRLRcx061tmsLRZHSEZSLuGWnwPtunsSLvSqXQ2wfp7Mgqg1I+2dQ==", + "license": "MIT" + }, + "node_modules/@xstate/react": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@xstate/react/-/react-3.0.0.tgz", + "integrity": "sha512-KHSCfwtb8gZ7QH2luihvmKYI+0lcdHQOmGNRUxUEs4zVgaJCyd8csCEmwPsudpliLdUmyxX2pzUBojFkINpotw==", + "license": "MIT", "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" + "use-isomorphic-layout-effect": "^1.0.0", + "use-sync-external-store": "^1.0.0" }, - "engines": { - "node": ">= 8" + "peerDependencies": { + "@xstate/fsm": "^2.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "xstate": "^4.31.0" + }, + "peerDependenciesMeta": { + "@xstate/fsm": { + "optional": true + }, + "xstate": { + "optional": true + } } }, - "node_modules/appdirsjs": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/appdirsjs/-/appdirsjs-1.2.7.tgz", - "integrity": "sha512-Quji6+8kLBC3NnBeo14nPDq0+2jUs5s3/xEye+udFHumHhRk4M7aAMXp/PBJqkKYGuuyR9M/6Dq7d2AViiGmhw==", + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true, + "license": "BSD-3-Clause", "peer": true }, - "node_modules/append-transform": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz", - "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==", + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", "dev": true, - "dependencies": { - "default-require-extensions": "^3.0.0" - }, - "engines": { - "node": ">=8" - } + "license": "Apache-2.0", + "peer": true }, - "node_modules/arch": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", - "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", + "node_modules/abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", + "deprecated": "Use your platform's native atob() and btoa() methods instead", "dev": true, - "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/archy": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==", - "dev": true - }, - "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 + "license": "BSD-3-Clause" }, - "node_modules/aria-hidden": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.3.tgz", - "integrity": "sha512-xcLxITLe2HYa1cnYnwCjkOO1PqUHQpozB8x9AR0OgWN2woOBi5kSDVxKfd0b7sb1hw5qFeJhXm9H1nu3xSfLeQ==", + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "license": "MIT", + "peer": true, "dependencies": { - "tslib": "^2.0.0" + "event-target-shim": "^5.0.0" }, "engines": { - "node": ">=10" + "node": ">=6.5" } }, - "node_modules/aria-hidden/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - }, - "node_modules/aria-query": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", - "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", - "dev": true, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "license": "MIT", + "peer": true, "dependencies": { - "deep-equal": "^2.0.5" + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" } }, - "node_modules/array-buffer-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", - "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "is-array-buffer": "^3.0.1" + "node_modules/ace-builds": { + "version": "1.36.2", + "resolved": "https://registry.npmjs.org/ace-builds/-/ace-builds-1.36.2.tgz", + "integrity": "sha512-eqqfbGwx/GKjM/EnFu4QtQ+d2NNBu84MGgxoG8R5iyFpcVeQ4p9YlTL+ZzdEJqhdkASqoqOxCSNNGyB6lvMm+A==", + "license": "BSD-3-Clause" + }, + "node_modules/acorn": { + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", + "license": "MIT", + "bin": { + "acorn": "bin/acorn" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=0.4.0" } }, - "node_modules/array-includes": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz", - "integrity": "sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==", + "node_modules/acorn-import-attributes": { + "version": "1.9.5", + "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", + "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1", - "is-string": "^1.0.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "license": "MIT", + "peer": true, + "peerDependencies": { + "acorn": "^8" } }, - "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==", + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true, - "engines": { - "node": ">=8" + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/array.prototype.flat": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", - "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", + "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==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" + "debug": "4" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 6.0.0" } }, - "node_modules/array.prototype.flatmap": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", - "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8" } }, - "node_modules/array.prototype.tosorted": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.2.tgz", - "integrity": "sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg==", + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0", - "get-intrinsic": "^1.2.1" + "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/arraybuffer.prototype.slice": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz", - "integrity": "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==", + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", "dev": true, + "license": "MIT", + "peer": true, "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1", - "is-array-buffer": "^3.0.2", - "is-shared-array-buffer": "^1.0.2" + "ajv": "^8.0.0" }, - "engines": { - "node": ">= 0.4" + "peerDependencies": { + "ajv": "^8.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependenciesMeta": { + "ajv": { + "optional": true + } } }, - "node_modules/asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" - }, - "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==", + "node_modules/ajv-formats/node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "dev": true, + "license": "MIT", + "peer": true, "dependencies": { - "safer-buffer": "~2.1.0" + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/assert-plus": { + "node_modules/ajv-formats/node_modules/json-schema-traverse": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "dev": true, - "engines": { - "node": ">=0.8" - } + "license": "MIT", + "peer": true }, - "node_modules/assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "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==", "dev": true, - "engines": { - "node": "*" + "license": "MIT", + "peer": true, + "peerDependencies": { + "ajv": "^6.9.1" } }, - "node_modules/ast-types": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.15.2.tgz", - "integrity": "sha512-c27loCv9QkZinsa5ProX751khO9DJl/AcB5c2KNtA6NRvHKS0PgLfcftz72KVq504vB0Gku5s2kUZzDBvQWvHg==", - "peer": true, + "node_modules/amazon-cognito-identity-js": { + "version": "6.3.7", + "resolved": "https://registry.npmjs.org/amazon-cognito-identity-js/-/amazon-cognito-identity-js-6.3.7.tgz", + "integrity": "sha512-tSjnM7KyAeOZ7UMah+oOZ6cW4Gf64FFcc7BE2l7MTcp7ekAPrXaCbpcW2xEpH1EiDS4cPcAouHzmCuc2tr72vQ==", + "license": "Apache-2.0", "dependencies": { - "tslib": "^2.0.1" - }, - "engines": { - "node": ">=4" + "@aws-crypto/sha256-js": "1.2.2", + "buffer": "4.9.2", + "fast-base64-decode": "^1.0.0", + "isomorphic-unfetch": "^3.0.0", + "js-cookie": "^2.2.1" } }, - "node_modules/ast-types/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "peer": true - }, - "node_modules/astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "node_modules/amplify-graphql-docs-generator": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/amplify-graphql-docs-generator/-/amplify-graphql-docs-generator-2.2.4.tgz", + "integrity": "sha512-VUFJXwX6EjqF8KckEhEfNOM2WuFoIrhxLPXEcRtyCn9g69zMMTDNJgJ76DCcdEWuC/Ju7B05mcdXxUtOAYnoNA==", "dev": true, + "license": "Apache-2.0", + "dependencies": { + "change-case": "^4.1.1", + "graphql": "^14.5.8", + "handlebars": "4.7.7", + "prettier": "^1.19.1", + "yargs": "^15.1.0" + }, + "bin": { + "amplify-graphql-docs-generator": "bin/cli" + }, "engines": { - "node": ">=8" + "node": ">=12.0.0" } }, - "node_modules/async": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", - "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==", - "dev": true - }, - "node_modules/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==", - "peer": true - }, - "node_modules/asynciterator.prototype": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz", - "integrity": "sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==", + "node_modules/amplify-graphql-docs-generator/node_modules/prettier": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", + "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", "dev": true, - "dependencies": { - "has-symbols": "^1.0.3" + "license": "MIT", + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=4" } }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + "node_modules/anser": { + "version": "1.4.10", + "resolved": "https://registry.npmjs.org/anser/-/anser-1.4.10.tgz", + "integrity": "sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww==", + "license": "MIT", + "peer": true }, - "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==", + "node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", "dev": true, + "license": "MIT", "engines": { - "node": ">= 4.0.0" + "node": ">=6" } }, - "node_modules/available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "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==", "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.21.3" + }, "engines": { - "node": ">= 0.4" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/aws-amplify": { - "version": "5.3.12", - "resolved": "https://registry.npmjs.org/aws-amplify/-/aws-amplify-5.3.12.tgz", - "integrity": "sha512-vJAgUvtgYBKuKmtz0zhKGnb7yXH1rLn/NE/GV2ti3ysKTFiNp1hhoE8ftz0gNXN9JFtk5AfKYdMHBCVnw8rLGQ==", + "node_modules/ansi-fragments": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/ansi-fragments/-/ansi-fragments-0.2.1.tgz", + "integrity": "sha512-DykbNHxuXQwUDRv5ibc2b0x7uw7wmwOGLBUd5RmaQ5z8Lhx19vwvKV+FAsM5rEA6dEcHxX+/Ad5s9eF2k2bB+w==", + "license": "MIT", + "peer": true, "dependencies": { - "@aws-amplify/analytics": "6.5.6", - "@aws-amplify/api": "5.4.6", - "@aws-amplify/auth": "5.6.6", - "@aws-amplify/cache": "5.1.12", - "@aws-amplify/core": "5.8.6", - "@aws-amplify/datastore": "4.7.6", - "@aws-amplify/geo": "2.3.6", - "@aws-amplify/interactions": "5.2.12", - "@aws-amplify/notifications": "1.6.6", - "@aws-amplify/predictions": "5.5.6", - "@aws-amplify/pubsub": "5.5.6", - "@aws-amplify/storage": "5.9.6", - "tslib": "^2.0.0" + "colorette": "^1.0.7", + "slice-ansi": "^2.0.0", + "strip-ansi": "^5.0.0" } }, - "node_modules/aws-amplify/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - }, - "node_modules/aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", - "dev": true, + "node_modules/ansi-fragments/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "license": "MIT", + "peer": true, "engines": { - "node": "*" + "node": ">=6" } }, - "node_modules/aws4": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", - "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==", - "dev": true - }, - "node_modules/axios": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.4.tgz", - "integrity": "sha512-DukmaFRnY6AzAALSH4J2M3k6PkaC+MfaAGdEERRWcC9q3/TWQwLpHR8ZRLKTdQ3aBDL64EdluRDjJqKw+BPZEw==", + "node_modules/ansi-fragments/node_modules/astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", "license": "MIT", - "dependencies": { - "follow-redirects": "^1.15.6", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - } - }, - "node_modules/axios/node_modules/form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, + "peer": true, "engines": { - "node": ">= 6" + "node": ">=4" } }, - "node_modules/babel-core": { - "version": "7.0.0-bridge.0", - "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", - "integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==", - "peer": true, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } + "node_modules/ansi-fragments/node_modules/colorette": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", + "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==", + "license": "MIT", + "peer": true }, - "node_modules/babel-loader": { - "version": "9.1.3", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.3.tgz", - "integrity": "sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==", - "dev": true, + "node_modules/ansi-fragments/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": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "license": "MIT", "peer": true, - "dependencies": { - "find-cache-dir": "^4.0.0", - "schema-utils": "^4.0.0" - }, "engines": { - "node": ">= 14.15.0" - }, - "peerDependencies": { - "@babel/core": "^7.12.0", - "webpack": ">=5" + "node": ">=4" } }, - "node_modules/babel-plugin-macros": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", - "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", - "dev": true, + "node_modules/ansi-fragments/node_modules/slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "license": "MIT", + "peer": true, "dependencies": { - "@babel/runtime": "^7.12.5", - "cosmiconfig": "^7.0.0", - "resolve": "^1.19.0" + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" }, "engines": { - "node": ">=10", - "npm": ">=6" + "node": ">=6" } }, - "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.6.tgz", - "integrity": "sha512-jhHiWVZIlnPbEUKSSNb9YoWcQGdlTLq7z1GHL4AjFxaoOUMuuEVJ+Y4pAaQUGOGk93YsVCKPbqbfw3m0SM6H8Q==", + "node_modules/ansi-fragments/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==", + "license": "MIT", + "peer": true, "dependencies": { - "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.4.3", - "semver": "^6.3.1" + "ansi-regex": "^4.1.0" }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + "engines": { + "node": ">=6" } }, - "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.8.6", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.6.tgz", - "integrity": "sha512-leDIc4l4tUgU7str5BWLS2h8q2N4Nf6lGZP6UrNDxdtfF2g69eJ5L0H7S8A5Ln/arfFAfHor5InAdZuIOwZdgQ==", - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.4.3", - "core-js-compat": "^3.33.1" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + "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==", + "license": "MIT", + "engines": { + "node": ">=8" } }, - "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.3.tgz", - "integrity": "sha512-8sHeDOmXC8csczMrYEOf0UTNa4yE2SxV5JGeT/LP1n0OYVDUUFPxG9vdk2AlDlIit4t+Kf0xCtpgXPBwnn/9pw==", + "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==", + "license": "MIT", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.4.3" + "color-convert": "^1.9.0" }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + "engines": { + "node": ">=4" } }, - "node_modules/babel-plugin-transform-flow-enums": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-flow-enums/-/babel-plugin-transform-flow-enums-0.0.2.tgz", - "integrity": "sha512-g4aaCrDDOsWjbm0PUUeVnkcVd6AKJsVc/MbnPhEotEpkeJQP6b8nzewohQi7+QS8UyPehOhGWn0nOwjvWpmMvQ==", - "peer": true, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "license": "ISC", "dependencies": { - "@babel/plugin-syntax-flow": "^7.12.1" + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" } }, - "node_modules/babel-plugin-transform-imports": { + "node_modules/appdirsjs": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/appdirsjs/-/appdirsjs-1.2.7.tgz", + "integrity": "sha512-Quji6+8kLBC3NnBeo14nPDq0+2jUs5s3/xEye+udFHumHhRk4M7aAMXp/PBJqkKYGuuyR9M/6Dq7d2AViiGmhw==", + "license": "MIT", + "peer": true + }, + "node_modules/append-transform": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-imports/-/babel-plugin-transform-imports-2.0.0.tgz", - "integrity": "sha512-65ewumYJ85QiXdcB/jmiU0y0jg6eL6CdnDqQAqQ8JMOKh1E52VPG3NJzbVKWcgovUR5GBH8IWpCXQ7I8Q3wjgw==", + "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz", + "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/types": "^7.4", - "is-valid-path": "^0.1.1" + "default-require-extensions": "^3.0.0" + }, + "engines": { + "node": ">=8" } }, - "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/base-64": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/base-64/-/base-64-1.0.0.tgz", - "integrity": "sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg==" - }, - "node_modules/base16": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/base16/-/base16-1.0.0.tgz", - "integrity": "sha512-pNdYkNPiJUnEhnfXV56+sQy8+AaPcG3POZAUnwr4EeqCUZFz4u2PePbo3e5Gj4ziYPCWGUZT9RHisvJKnwFuBQ==" - }, - "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==", + "node_modules/arch": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", + "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", + "dev": true, "funding": [ { "type": "github", @@ -15296,1192 +15079,1219 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, - "node_modules/bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "node_modules/archy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", + "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==", "dev": true, - "dependencies": { - "tweetnacl": "^0.14.3" - } + "license": "MIT" }, - "node_modules/big-integer": { - "version": "1.6.51", - "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz", - "integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==", - "engines": { - "node": ">=0.6" - } + "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==", + "license": "Python-2.0" }, - "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==", + "node_modules/aria-hidden": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.4.tgz", + "integrity": "sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.0" + }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "node_modules/aria-hidden/node_modules/tslib": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" + }, + "node_modules/aria-query": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", + "dev": true, + "license": "Apache-2.0", "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" + "dequal": "^2.0.3" } }, - "node_modules/bl/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" - } - ], + "node_modules/array-buffer-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", + "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", + "dev": true, + "license": "MIT", "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" + "call-bind": "^1.0.5", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/blob-util": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/blob-util/-/blob-util-2.0.2.tgz", - "integrity": "sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==", - "dev": true + "node_modules/array-includes": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", + "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/bluebird": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.1.tgz", - "integrity": "sha512-DdmyoGCleJnkbp3nkbxTLJ18rjDsE4yCggEwKNXkeV123sPNfOCYeDoeuOY+F2FrSjO1YXcTU+dsy96KMy+gcg==", - "dev": true + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "node_modules/bowser": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", - "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==" + "node_modules/array.prototype.findlast": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", + "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "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==", + "node_modules/array.prototype.flat": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", + "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", + "dev": true, + "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "node_modules/array.prototype.flatmap": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", + "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", + "dev": true, + "license": "MIT", "dependencies": { - "fill-range": "^7.1.1" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" }, "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/broadcast-channel": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/broadcast-channel/-/broadcast-channel-3.7.0.tgz", - "integrity": "sha512-cIAKJXAxGJceNZGTZSBzMxzyOn72cVgPnKx4dc6LRjQgbaJUQqhy5rzL3zbMxkMWsGKkv2hSFkPRMEXfoMZ2Mg==", + "node_modules/array.prototype.tosorted": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", + "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", + "dev": true, + "license": "MIT", "dependencies": { - "@babel/runtime": "^7.7.2", - "detect-node": "^2.1.0", - "js-sha3": "0.8.0", - "microseconds": "0.2.0", - "nano-time": "1.0.0", - "oblivious-set": "1.0.0", - "rimraf": "3.0.2", - "unload": "2.2.0" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" } }, - "node_modules/browserslist": { - "version": "4.22.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz", - "integrity": "sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", + "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", + "dev": true, + "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001565", - "electron-to-chromium": "^1.4.601", - "node-releases": "^2.0.14", - "update-browserslist-db": "^1.0.13" - }, - "bin": { - "browserslist": "cli.js" + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.2.1", + "get-intrinsic": "^1.2.3", + "is-array-buffer": "^3.0.4", + "is-shared-array-buffer": "^1.0.2" }, "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", - "peer": true, - "dependencies": { - "node-int64": "^0.4.0" - } + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", + "license": "MIT", + "peer": true }, - "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==", + "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==", + "dev": true, + "license": "MIT", "dependencies": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" + "safer-buffer": "~2.1.0" } }, - "node_modules/buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", "dev": true, + "license": "MIT", "engines": { - "node": "*" + "node": ">=0.8" } }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "peer": true + "node_modules/assertion-error": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", + "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + } }, - "node_modules/bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "node_modules/ast-types": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.15.2.tgz", + "integrity": "sha512-c27loCv9QkZinsa5ProX751khO9DJl/AcB5c2KNtA6NRvHKS0PgLfcftz72KVq504vB0Gku5s2kUZzDBvQWvHg==", + "license": "MIT", "peer": true, + "dependencies": { + "tslib": "^2.0.1" + }, "engines": { - "node": ">= 0.8" + "node": ">=4" } }, - "node_modules/cac": { - "version": "6.7.14", - "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", - "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", + "node_modules/ast-types/node_modules/tslib": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD", + "peer": true + }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/cachedir": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.4.0.tgz", - "integrity": "sha512-9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ==", + "node_modules/async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", "dev": true, - "engines": { - "node": ">=6" - } + "license": "MIT" }, - "node_modules/caching-transform": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz", - "integrity": "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==", + "node_modules/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==", + "license": "MIT", + "peer": true + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "license": "MIT" + }, + "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==", "dev": true, - "dependencies": { - "hasha": "^5.0.0", - "make-dir": "^3.0.0", - "package-hash": "^4.0.0", - "write-file-atomic": "^3.0.0" - }, + "license": "ISC", "engines": { - "node": ">=8" + "node": ">= 4.0.0" } }, - "node_modules/caching-transform/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==", + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", "dev": true, + "license": "MIT", "dependencies": { - "semver": "^6.0.0" + "possible-typed-array-names": "^1.0.0" }, "engines": { - "node": ">=8" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/call-bind": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", - "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", + "node_modules/aws-amplify": { + "version": "5.3.12", + "resolved": "https://registry.npmjs.org/aws-amplify/-/aws-amplify-5.3.12.tgz", + "integrity": "sha512-vJAgUvtgYBKuKmtz0zhKGnb7yXH1rLn/NE/GV2ti3ysKTFiNp1hhoE8ftz0gNXN9JFtk5AfKYdMHBCVnw8rLGQ==", + "license": "Apache-2.0", "dependencies": { - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.1", - "set-function-length": "^1.1.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "@aws-amplify/analytics": "6.5.6", + "@aws-amplify/api": "5.4.6", + "@aws-amplify/auth": "5.6.6", + "@aws-amplify/cache": "5.1.12", + "@aws-amplify/core": "5.8.6", + "@aws-amplify/datastore": "4.7.6", + "@aws-amplify/geo": "2.3.6", + "@aws-amplify/interactions": "5.2.12", + "@aws-amplify/notifications": "1.6.6", + "@aws-amplify/predictions": "5.5.6", + "@aws-amplify/pubsub": "5.5.6", + "@aws-amplify/storage": "5.9.6", + "tslib": "^2.0.0" } }, - "node_modules/caller-callsite": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", - "integrity": "sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==", - "peer": true, + "node_modules/aws-amplify/node_modules/tslib": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" + }, + "node_modules/aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "*" + } + }, + "node_modules/aws4": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.13.2.tgz", + "integrity": "sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw==", + "dev": true, + "license": "MIT" + }, + "node_modules/axios": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.4.tgz", + "integrity": "sha512-DukmaFRnY6AzAALSH4J2M3k6PkaC+MfaAGdEERRWcC9q3/TWQwLpHR8ZRLKTdQ3aBDL64EdluRDjJqKw+BPZEw==", + "license": "MIT", "dependencies": { - "callsites": "^2.0.0" + "follow-redirects": "^1.15.6", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/axios/node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" }, "engines": { - "node": ">=4" + "node": ">= 6" } }, - "node_modules/caller-callsite/node_modules/callsites": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", - "integrity": "sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==", + "node_modules/babel-core": { + "version": "7.0.0-bridge.0", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", + "integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==", + "license": "MIT", "peer": true, - "engines": { - "node": ">=4" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/caller-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", - "integrity": "sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==", + "node_modules/babel-loader": { + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.2.1.tgz", + "integrity": "sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA==", + "dev": true, + "license": "MIT", "peer": true, "dependencies": { - "caller-callsite": "^2.0.0" + "find-cache-dir": "^4.0.0", + "schema-utils": "^4.0.0" }, "engines": { - "node": ">=4" + "node": ">= 14.15.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0", + "webpack": ">=5" } }, - "node_modules/callsites": { + "node_modules/babel-plugin-macros": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", + "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/camel-case": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", - "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", - "dependencies": { - "pascal-case": "^3.1.2", - "tslib": "^2.0.3" - } - }, - "node_modules/camel-case/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/camelcase-keys": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", - "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", + "license": "MIT", "dependencies": { - "camelcase": "^5.3.1", - "map-obj": "^4.0.0", - "quick-lru": "^4.0.1" + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=10", + "npm": ">=6" } }, - "node_modules/caniuse-lite": { - "version": "1.0.30001579", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001579.tgz", - "integrity": "sha512-u5AUVkixruKHJjw/pj9wISlcMpgFWzSrczLZbrqBSxukQixmg0SJ5sZTpvaFvxU0HoQKd4yoyAogyrAz9pzJnA==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ] - }, - "node_modules/capital-case": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/capital-case/-/capital-case-1.0.4.tgz", - "integrity": "sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==", + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.11", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz", + "integrity": "sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==", + "license": "MIT", "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3", - "upper-case-first": "^2.0.2" + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.6.2", + "semver": "^6.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "node_modules/capital-case/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - }, - "node_modules/caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", - "dev": true - }, - "node_modules/chai": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.4.1.tgz", - "integrity": "sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==", - "dev": true, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.10.6", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz", + "integrity": "sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==", + "license": "MIT", "dependencies": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.3", - "deep-eql": "^4.1.3", - "get-func-name": "^2.0.2", - "loupe": "^2.3.6", - "pathval": "^1.1.1", - "type-detect": "^4.0.8" + "@babel/helper-define-polyfill-provider": "^0.6.2", + "core-js-compat": "^3.38.0" }, - "engines": { - "node": ">=4" + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "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==", + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz", + "integrity": "sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==", + "license": "MIT", "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "@babel/helper-define-polyfill-provider": "^0.6.2" }, - "engines": { - "node": ">=4" - } - }, - "node_modules/chalk/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": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "engines": { - "node": ">=0.8.0" + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "node_modules/change-case": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/change-case/-/change-case-4.1.2.tgz", - "integrity": "sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A==", + "node_modules/babel-plugin-transform-flow-enums": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-flow-enums/-/babel-plugin-transform-flow-enums-0.0.2.tgz", + "integrity": "sha512-g4aaCrDDOsWjbm0PUUeVnkcVd6AKJsVc/MbnPhEotEpkeJQP6b8nzewohQi7+QS8UyPehOhGWn0nOwjvWpmMvQ==", + "license": "MIT", + "peer": true, "dependencies": { - "camel-case": "^4.1.2", - "capital-case": "^1.0.4", - "constant-case": "^3.0.4", - "dot-case": "^3.0.4", - "header-case": "^2.0.4", - "no-case": "^3.0.4", - "param-case": "^3.0.4", - "pascal-case": "^3.1.2", - "path-case": "^3.0.4", - "sentence-case": "^3.0.4", - "snake-case": "^3.0.4", - "tslib": "^2.0.3" + "@babel/plugin-syntax-flow": "^7.12.1" } }, - "node_modules/change-case/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - }, - "node_modules/chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true - }, - "node_modules/check-error": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", - "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", + "node_modules/babel-plugin-transform-imports": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-imports/-/babel-plugin-transform-imports-2.0.0.tgz", + "integrity": "sha512-65ewumYJ85QiXdcB/jmiU0y0jg6eL6CdnDqQAqQ8JMOKh1E52VPG3NJzbVKWcgovUR5GBH8IWpCXQ7I8Q3wjgw==", "dev": true, + "license": "ISC", "dependencies": { - "get-func-name": "^2.0.2" - }, - "engines": { - "node": "*" + "@babel/types": "^7.4", + "is-valid-path": "^0.1.1" } }, - "node_modules/check-more-types": { - "version": "2.24.0", - "resolved": "https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz", - "integrity": "sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } + "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==", + "license": "MIT" }, - "node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "license": "MIT", - "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" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } + "node_modules/base-64": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/base-64/-/base-64-1.0.0.tgz", + "integrity": "sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg==", + "license": "MIT" }, - "node_modules/chokidar/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==", + "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" + } + ], + "license": "MIT" + }, + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" + "tweetnacl": "^0.14.3" } }, - "node_modules/chrome-launcher": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/chrome-launcher/-/chrome-launcher-0.15.2.tgz", - "integrity": "sha512-zdLEwNo3aUVzIhKhTtXfxhdvZhUghrnmkvcAq2NoDd+LeOHKf03H5jwZ8T/STsAlzyALkBVK552iaG1fGf1xVQ==", - "peer": true, - "dependencies": { - "@types/node": "*", - "escape-string-regexp": "^4.0.0", - "is-wsl": "^2.2.0", - "lighthouse-logger": "^1.0.0" - }, - "bin": { - "print-chrome-path": "bin/print-chrome-path.js" - }, + "node_modules/big-integer": { + "version": "1.6.52", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.52.tgz", + "integrity": "sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==", + "license": "Unlicense", "engines": { - "node": ">=12.13.0" + "node": ">=0.6" } }, - "node_modules/chrome-launcher/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==", - "peer": true, - "dependencies": { - "is-docker": "^2.0.0" - }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "license": "MIT", "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", - "dev": true, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "license": "MIT", "peer": true, - "engines": { - "node": ">=6.0" + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" } }, - "node_modules/ci-info": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", - "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "node_modules/bl/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/sibiraj-s" + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" } ], - "engines": { - "node": ">=8" + "license": "MIT", + "peer": true, + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" } }, - "node_modules/classnames": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.1.tgz", - "integrity": "sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA==" + "node_modules/blob-util": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/blob-util/-/blob-util-2.0.2.tgz", + "integrity": "sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==", + "dev": true, + "license": "Apache-2.0" }, - "node_modules/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "node_modules/bluebird": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.1.tgz", + "integrity": "sha512-DdmyoGCleJnkbp3nkbxTLJ18rjDsE4yCggEwKNXkeV123sPNfOCYeDoeuOY+F2FrSjO1YXcTU+dsy96KMy+gcg==", "dev": true, - "engines": { - "node": ">=6" + "license": "MIT" + }, + "node_modules/bowser": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", + "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==", + "license": "MIT" + }, + "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==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "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==", + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "license": "MIT", "dependencies": { - "restore-cursor": "^3.1.0" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" } }, - "node_modules/cli-spinners": { - "version": "2.9.1", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.1.tgz", - "integrity": "sha512-jHgecW0pxkonBJdrKsqxgRX9AcG+u/5k0Q7WPDfi8AogLAdwxEkyYYNWwZ5GvVFoFx2uiY1eNcSK00fh+1+FyQ==", - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cli-table3": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz", - "integrity": "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==", - "dev": true, + "node_modules/broadcast-channel": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/broadcast-channel/-/broadcast-channel-3.7.0.tgz", + "integrity": "sha512-cIAKJXAxGJceNZGTZSBzMxzyOn72cVgPnKx4dc6LRjQgbaJUQqhy5rzL3zbMxkMWsGKkv2hSFkPRMEXfoMZ2Mg==", + "license": "MIT", "dependencies": { - "string-width": "^4.2.0" - }, - "engines": { - "node": "10.* || >= 12.*" - }, - "optionalDependencies": { - "@colors/colors": "1.5.0" + "@babel/runtime": "^7.7.2", + "detect-node": "^2.1.0", + "js-sha3": "0.8.0", + "microseconds": "0.2.0", + "nano-time": "1.0.0", + "oblivious-set": "1.0.0", + "rimraf": "3.0.2", + "unload": "2.2.0" } }, - "node_modules/cli-truncate": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", - "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", - "dev": true, + "node_modules/browserslist": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz", + "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", "dependencies": { - "slice-ansi": "^3.0.0", - "string-width": "^4.2.0" + "caniuse-lite": "^1.0.30001646", + "electron-to-chromium": "^1.5.4", + "node-releases": "^2.0.18", + "update-browserslist-db": "^1.1.0" }, - "engines": { - "node": ">=8" + "bin": { + "browserslist": "cli.js" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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==", - "dev": true, "engines": { - "node": ">= 10" + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "node_modules/cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "license": "Apache-2.0", + "peer": true, "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" + "node-int64": "^0.4.0" } }, - "node_modules/cliui/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==", + "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==", + "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" } }, - "node_modules/cliui/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" - }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "dev": true, + "license": "MIT", "engines": { - "node": ">=7.0.0" + "node": "*" } }, - "node_modules/cliui/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/cliui/node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "license": "MIT", + "peer": true }, - "node_modules/clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "license": "MIT", + "peer": true, "engines": { - "node": ">=0.8" + "node": ">= 0.8" } }, - "node_modules/clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "peer": true, - "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - }, + "node_modules/cac": { + "version": "6.7.14", + "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", + "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", + "dev": true, + "license": "MIT", "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/clsx": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", - "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", + "node_modules/cachedir": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.4.0.tgz", + "integrity": "sha512-9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ==", + "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, - "node_modules/color": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", - "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", + "node_modules/caching-transform": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz", + "integrity": "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==", "dev": true, + "license": "MIT", "dependencies": { - "color-convert": "^2.0.1", - "color-string": "^1.9.0" + "hasha": "^5.0.0", + "make-dir": "^3.0.0", + "package-hash": "^4.0.0", + "write-file-atomic": "^3.0.0" }, "engines": { - "node": ">=12.5.0" + "node": ">=8" } }, - "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==", + "node_modules/caching-transform/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, + "license": "MIT", "dependencies": { - "color-name": "1.1.3" + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "node_modules/color-string": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", - "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", - "dev": true, + "node_modules/call-bind": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "license": "MIT", "dependencies": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/color/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, + "node_modules/caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==", + "license": "MIT", + "peer": true, "dependencies": { - "color-name": "~1.1.4" + "callsites": "^2.0.0" }, "engines": { - "node": ">=7.0.0" + "node": ">=4" } }, - "node_modules/color/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/colorette": { - "version": "2.0.20", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", - "dev": true + "node_modules/caller-callsite/node_modules/callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=4" + } }, - "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==", + "node_modules/caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==", + "license": "MIT", + "peer": true, "dependencies": { - "delayed-stream": "~1.0.0" + "caller-callsite": "^2.0.0" }, "engines": { - "node": ">= 0.8" + "node": ">=4" } }, - "node_modules/command-exists": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", - "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==", - "peer": true - }, - "node_modules/commander": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", - "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", - "dev": true, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "license": "MIT", "engines": { - "node": ">= 6" + "node": ">=6" } }, - "node_modules/common-path-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", - "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==", - "dev": true, - "peer": true - }, - "node_modules/common-tags": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", - "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", - "dev": true, - "engines": { - "node": ">=4.0.0" + "node_modules/camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "license": "MIT", + "dependencies": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" } }, - "node_modules/commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" + "node_modules/camel-case/node_modules/tslib": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" }, - "node_modules/compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "peer": true, - "dependencies": { - "mime-db": ">= 1.43.0 < 2" - }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "license": "MIT", "engines": { - "node": ">= 0.6" + "node": ">=6" } }, - "node_modules/compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", - "peer": true, + "node_modules/camelcase-keys": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", + "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", + "license": "MIT", "dependencies": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" + "camelcase": "^5.3.1", + "map-obj": "^4.0.0", + "quick-lru": "^4.0.1" }, "engines": { - "node": ">= 0.8.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/compression/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "peer": true, + "node_modules/caniuse-lite": { + "version": "1.0.30001662", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001662.tgz", + "integrity": "sha512-sgMUVwLmGseH8ZIrm1d51UbrhqMCH3jvS7gF/M6byuHOnKyLOBL7W8yz5V02OHwgLGA36o/AFhWzzh4uc5aqTA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/capital-case": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/capital-case/-/capital-case-1.0.4.tgz", + "integrity": "sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==", + "license": "MIT", "dependencies": { - "ms": "2.0.0" + "no-case": "^3.0.4", + "tslib": "^2.0.3", + "upper-case-first": "^2.0.2" } }, - "node_modules/compression/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "peer": true - }, - "node_modules/compression/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==", - "peer": true + "node_modules/capital-case/node_modules/tslib": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", + "dev": true, + "license": "Apache-2.0" }, - "node_modules/connect": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", - "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", - "peer": true, + "node_modules/chai": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/chai/-/chai-5.1.1.tgz", + "integrity": "sha512-pT1ZgP8rPNqUgieVaEY+ryQr6Q4HXNg8Ei9UnLUrjN4IA7dvQC5JB+/kxVcPNDHyBcc/26CXPkbNzq3qwrOEKA==", + "dev": true, + "license": "MIT", "dependencies": { - "debug": "2.6.9", - "finalhandler": "1.1.2", - "parseurl": "~1.3.3", - "utils-merge": "1.0.1" + "assertion-error": "^2.0.1", + "check-error": "^2.1.1", + "deep-eql": "^5.0.1", + "loupe": "^3.1.0", + "pathval": "^2.0.0" }, "engines": { - "node": ">= 0.10.0" + "node": ">=12" } }, - "node_modules/connect/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "peer": true, + "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==", + "license": "MIT", "dependencies": { - "ms": "2.0.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/connect/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "peer": true + "node_modules/chalk/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": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } }, - "node_modules/constant-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/constant-case/-/constant-case-3.0.4.tgz", - "integrity": "sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==", + "node_modules/change-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/change-case/-/change-case-4.1.2.tgz", + "integrity": "sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A==", + "license": "MIT", "dependencies": { + "camel-case": "^4.1.2", + "capital-case": "^1.0.4", + "constant-case": "^3.0.4", + "dot-case": "^3.0.4", + "header-case": "^2.0.4", "no-case": "^3.0.4", - "tslib": "^2.0.3", - "upper-case": "^2.0.2" + "param-case": "^3.0.4", + "pascal-case": "^3.1.2", + "path-case": "^3.0.4", + "sentence-case": "^3.0.4", + "snake-case": "^3.0.4", + "tslib": "^2.0.3" } }, - "node_modules/constant-case/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - }, - "node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" + "node_modules/change-case/node_modules/tslib": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" }, - "node_modules/cookie": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", - "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", + "node_modules/check-error": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz", + "integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==", + "dev": true, + "license": "MIT", "engines": { - "node": ">= 0.6" + "node": ">= 16" } }, - "node_modules/copy-to-clipboard": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz", - "integrity": "sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==", - "dependencies": { - "toggle-selection": "^1.0.6" + "node_modules/check-more-types": { + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz", + "integrity": "sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" } }, - "node_modules/core-js-compat": { - "version": "3.33.2", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.33.2.tgz", - "integrity": "sha512-axfo+wxFVxnqf8RvxTzoAlzW4gRoacrHeoFlc9n0x50+7BEyZL/Rt3hicaED1/CEd7I6tPCPVUYcJwCMO5XUYw==", + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "license": "MIT", "dependencies": { - "browserslist": "^4.22.1" + "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" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "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": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" - }, - "node_modules/cose-base": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/cose-base/-/cose-base-2.2.0.tgz", - "integrity": "sha512-AzlgcsCbUMymkADOJtQm3wO9S3ltPfYOFD5033keQn9NJzIbtnZj+UdBJe7DYml/8TdbtHJW3j58SOnKhWY/5g==", - "dependencies": { - "layout-base": "^2.0.0" + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" } }, - "node_modules/cosmiconfig": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", - "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", - "dev": true, + "node_modules/chokidar/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==", + "license": "ISC", "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" + "is-glob": "^4.0.1" }, "engines": { - "node": ">=10" - } - }, - "node_modules/cross-fetch": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.8.tgz", - "integrity": "sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==", - "dependencies": { - "node-fetch": "^2.6.12" + "node": ">= 6" } }, - "node_modules/cross-fetch/node_modules/node-fetch": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "node_modules/chrome-launcher": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/chrome-launcher/-/chrome-launcher-0.15.2.tgz", + "integrity": "sha512-zdLEwNo3aUVzIhKhTtXfxhdvZhUghrnmkvcAq2NoDd+LeOHKf03H5jwZ8T/STsAlzyALkBVK552iaG1fGf1xVQ==", + "license": "Apache-2.0", + "peer": true, "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" + "@types/node": "*", + "escape-string-regexp": "^4.0.0", + "is-wsl": "^2.2.0", + "lighthouse-logger": "^1.0.0" }, - "peerDependencies": { - "encoding": "^0.1.0" + "bin": { + "print-chrome-path": "bin/print-chrome-path.js" }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } + "engines": { + "node": ">=12.13.0" } }, - "node_modules/cross-fetch/node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" - }, - "node_modules/cross-fetch/node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + "node_modules/chrome-trace-event": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", + "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6.0" + } }, - "node_modules/cross-fetch/node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "node_modules/chromium-edge-launcher": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/chromium-edge-launcher/-/chromium-edge-launcher-0.2.0.tgz", + "integrity": "sha512-JfJjUnq25y9yg4FABRRVPmBGWPZZi+AQXT4mxupb67766/0UlhG8PAZCz6xzEMXTbW3CsSoE8PcCWA49n35mKg==", + "license": "Apache-2.0", + "peer": true, "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" + "@types/node": "*", + "escape-string-regexp": "^4.0.0", + "is-wsl": "^2.2.0", + "lighthouse-logger": "^1.0.0", + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" } }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" + "node_modules/chromium-edge-launcher/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "license": "MIT", + "peer": true, + "bin": { + "mkdirp": "bin/cmd.js" }, "engines": { - "node": ">= 8" + "node": ">=10" + } + }, + "node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" } }, - "node_modules/crypto-js": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.2.0.tgz", - "integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==" - }, - "node_modules/css-in-js-utils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/css-in-js-utils/-/css-in-js-utils-3.1.0.tgz", - "integrity": "sha512-fJAcud6B3rRu+KHYk+Bwf+WFL2MDCJJ1XG9x137tJQ0xYxor7XziQtuGFbWNdqrvF4Tk26O3H73nfVqXt/fW1A==", - "dependencies": { - "hyphenate-style-name": "^1.0.3" - } + "node_modules/classnames": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.1.tgz", + "integrity": "sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA==", + "license": "MIT" }, - "node_modules/css-selector-tokenizer": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.8.0.tgz", - "integrity": "sha512-Jd6Ig3/pe62/qe5SBPTN8h8LeUg/pT4lLgtavPf7updwwHpvFzxvOQBHYj2LZDMjUnBzgvIUSjRcf6oT5HzHFg==", - "dependencies": { - "cssesc": "^3.0.0", - "fastparse": "^1.1.2" + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" } }, - "node_modules/css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "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==", + "license": "MIT", "dependencies": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" + "restore-cursor": "^3.1.0" }, "engines": { - "node": ">=8.0.0" + "node": ">=8" } }, - "node_modules/css-tree/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==", + "node_modules/cli-spinners": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", + "license": "MIT", + "peer": true, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/css.escape": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", - "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==" - }, - "node_modules/cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "bin": { - "cssesc": "bin/cssesc" + "node": ">=6" }, - "engines": { - "node": ">=4" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/cssstyle": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-3.0.0.tgz", - "integrity": "sha512-N4u2ABATi3Qplzf0hWbVCdjenim8F3ojEXpBDF5hBpjzW182MjNGLqfmQ0SkSPeQ+V86ZXgeH8aXj6kayd4jgg==", + "node_modules/cli-table3": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.5.tgz", + "integrity": "sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==", "dev": true, + "license": "MIT", "dependencies": { - "rrweb-cssom": "^0.6.0" + "string-width": "^4.2.0" }, "engines": { - "node": ">=14" + "node": "10.* || >= 12.*" + }, + "optionalDependencies": { + "@colors/colors": "1.5.0" } }, - "node_modules/csstype": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", - "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" - }, - "node_modules/currency-symbol-map": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/currency-symbol-map/-/currency-symbol-map-5.0.1.tgz", - "integrity": "sha512-2yHvoVBPIS9Dx7fjritu9l7UHWo4Z3D2oQnQj8AYwUee2j/PAcoHB4issCqwabfbipISZ/iG6vVYsfrAoks2eA==" - }, - "node_modules/cypress": { - "version": "13.5.0", - "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.5.0.tgz", - "integrity": "sha512-oh6U7h9w8wwHfzNDJQ6wVcAeXu31DlIYlNOBvfd6U4CcB8oe4akawQmH+QJVOMZlM42eBoCne015+svVqdwdRQ==", + "node_modules/cli-truncate": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", + "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", "dev": true, - "hasInstallScript": true, + "license": "MIT", "dependencies": { - "@cypress/request": "^3.0.0", - "@cypress/xvfb": "^1.2.4", - "@types/node": "^18.17.5", - "@types/sinonjs__fake-timers": "8.1.1", - "@types/sizzle": "^2.3.2", - "arch": "^2.2.0", - "blob-util": "^2.0.2", - "bluebird": "^3.7.2", - "buffer": "^5.6.0", - "cachedir": "^2.3.0", - "chalk": "^4.1.0", - "check-more-types": "^2.24.0", - "cli-cursor": "^3.1.0", - "cli-table3": "~0.6.1", - "commander": "^6.2.1", - "common-tags": "^1.8.0", - "dayjs": "^1.10.4", - "debug": "^4.3.4", - "enquirer": "^2.3.6", - "eventemitter2": "6.4.7", - "execa": "4.1.0", - "executable": "^4.1.1", - "extract-zip": "2.0.1", - "figures": "^3.2.0", - "fs-extra": "^9.1.0", - "getos": "^3.2.1", - "is-ci": "^3.0.0", - "is-installed-globally": "~0.4.0", - "lazy-ass": "^1.6.0", - "listr2": "^3.8.3", - "lodash": "^4.17.21", - "log-symbols": "^4.0.0", - "minimist": "^1.2.8", - "ospath": "^1.2.2", - "pretty-bytes": "^5.6.0", - "process": "^0.11.10", - "proxy-from-env": "1.0.0", - "request-progress": "^3.0.0", - "semver": "^7.5.3", - "supports-color": "^8.1.1", - "tmp": "~0.2.1", - "untildify": "^4.0.0", - "yauzl": "^2.10.0" - }, - "bin": { - "cypress": "bin/cypress" + "slice-ansi": "^3.0.0", + "string-width": "^4.2.0" }, "engines": { - "node": "^16.0.0 || ^18.0.0 || >=20.0.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/cypress/node_modules/@types/node": { - "version": "18.18.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.18.9.tgz", - "integrity": "sha512-0f5klcuImLnG4Qreu9hPj/rEfFq6YRc5n2mAjSsH+ec/mJL+3voBH0+8T7o8RpFjH7ovc+TRsL/c7OYIQsPTfQ==", + "node_modules/cli-width": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz", + "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==", "dev": true, + "license": "ISC", + "engines": { + "node": ">= 12" + } + }, + "node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "license": "ISC", "dependencies": { - "undici-types": "~5.26.4" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" } }, - "node_modules/cypress/node_modules/ansi-styles": { + "node_modules/cliui/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, + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -16492,69 +16302,118 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/cypress/node_modules/bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", - "dev": true + "node_modules/cliui/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==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } }, - "node_modules/cypress/node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "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/cliui/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==", + "license": "MIT" + }, + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "license": "MIT", "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/cypress/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/clsx": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", + "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/color": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", + "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", "dev": true, + "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "color-convert": "^2.0.1", + "color-string": "^1.9.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">=12.5.0" } }, - "node_modules/cypress/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==", + "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==", + "license": "MIT", + "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": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "license": "MIT" + }, + "node_modules/color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", "dev": true, + "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" } }, - "node_modules/cypress/node_modules/color-convert": { + "node_modules/color/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, + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -16562,1674 +16421,1836 @@ "node": ">=7.0.0" } }, - "node_modules/cypress/node_modules/color-name": { + "node_modules/color/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/cypress/node_modules/dayjs": { - "version": "1.11.10", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz", - "integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==", - "dev": true - }, - "node_modules/cypress/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" - } + "license": "MIT" }, - "node_modules/cypress/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==", + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", "dev": true, + "license": "MIT" + }, + "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==", + "license": "MIT", "dependencies": { - "yallist": "^4.0.0" + "delayed-stream": "~1.0.0" }, "engines": { - "node": ">=10" + "node": ">= 0.8" } }, - "node_modules/cypress/node_modules/proxy-from-env": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", - "integrity": "sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==", - "dev": true + "node_modules/command-exists": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", + "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==", + "license": "MIT", + "peer": true }, - "node_modules/cypress/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "node_modules/commander": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", + "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, + "license": "MIT", "engines": { - "node": ">=10" + "node": ">= 6" } }, - "node_modules/cypress/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==", + "node_modules/common-path-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", + "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==", "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/cypress/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "license": "ISC", + "peer": true }, - "node_modules/cytoscape": { - "version": "3.28.1", - "resolved": "https://registry.npmjs.org/cytoscape/-/cytoscape-3.28.1.tgz", - "integrity": "sha512-xyItz4O/4zp9/239wCcH8ZcFuuZooEeF8KHRmzjDfGdXsj3OG9MFSMA0pJE0uX3uCN/ygof6hHf4L7lst+JaDg==", - "dependencies": { - "heap": "^0.2.6", - "lodash": "^4.17.21" - }, + "node_modules/common-tags": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", + "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", + "dev": true, + "license": "MIT", "engines": { - "node": ">=0.10" - } - }, - "node_modules/cytoscape-cola": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/cytoscape-cola/-/cytoscape-cola-2.5.1.tgz", - "integrity": "sha512-4/2S9bW1LvdsEPmxXN1OEAPFPbk7DvCx2c9d+TblkQAAvptGaSgtPWCByTEGgT8UxCxcVqes2aFPO5pzwo7R2w==", - "dependencies": { - "webcola": "^3.4.0" - }, - "peerDependencies": { - "cytoscape": "^3.2.0" - } - }, - "node_modules/cytoscape-expand-collapse": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cytoscape-expand-collapse/-/cytoscape-expand-collapse-4.1.0.tgz", - "integrity": "sha512-RJsoSDAC0ui6U6CeM7z2tiFzsk4Z2aPG8PgNIwKeFVykFmMr5S+5aT1YceQZ5XnwGFGH0uteZ96XyAfUAVb/fw==", - "peerDependencies": { - "cytoscape": "^3.3.0" - } - }, - "node_modules/cytoscape-fcose": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cytoscape-fcose/-/cytoscape-fcose-2.1.0.tgz", - "integrity": "sha512-Q3apPl66jf8/2sMsrCjNP247nbDkyIPjA9g5iPMMWNLZgP3/mn9aryF7EFY/oRPEpv7bKJ4jYmCoU5r5/qAc1Q==", - "dependencies": { - "cose-base": "^2.0.0" - }, - "peerDependencies": { - "cytoscape": "^3.2.0" - } - }, - "node_modules/cytoscape-grid-guide": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/cytoscape-grid-guide/-/cytoscape-grid-guide-2.3.3.tgz", - "integrity": "sha512-7EuqZgOYJY+8K9a9Tm1aFydzyA0dvZ3OLQ8ACEEuE1VgxuGala82bHfyR7B5e8kLeOloX/r4YAPoK8mYkPYcFg==", - "dependencies": { - "functional-red-black-tree": "^1.0.1" - }, - "peerDependencies": { - "cytoscape": "^3.3.0" - } - }, - "node_modules/d3-dispatch": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-1.0.6.tgz", - "integrity": "sha512-fVjoElzjhCEy+Hbn8KygnmMS7Or0a9sI2UzGwoB7cCtvI1XpVN9GpoYlnb3xt2YV66oXYb1fLJ8GMvP4hdU1RA==" - }, - "node_modules/d3-drag": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-1.2.5.tgz", - "integrity": "sha512-rD1ohlkKQwMZYkQlYVCrSFxsWPzI97+W+PaEIBNTMxRuxz9RF0Hi5nJWHGVJ3Om9d2fRTe1yOBINJyy/ahV95w==", - "dependencies": { - "d3-dispatch": "1", - "d3-selection": "1" - } - }, - "node_modules/d3-path": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-1.0.9.tgz", - "integrity": "sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==" - }, - "node_modules/d3-selection": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-1.4.2.tgz", - "integrity": "sha512-SJ0BqYihzOjDnnlfyeHT0e30k0K1+5sR3d5fNueCNeuhZTnGw4M4o8mqJchSwgKMXCNFo+e2VTChiSJ0vYtXkg==" - }, - "node_modules/d3-shape": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-1.3.7.tgz", - "integrity": "sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==", - "dependencies": { - "d3-path": "1" + "node": ">=4.0.0" } }, - "node_modules/d3-timer": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-1.0.10.tgz", - "integrity": "sha512-B1JDm0XDaQC+uvo4DT79H0XmBskgS3l6Ve+1SBCfxgmtIb1AVrPIoqd+nPSv+loMX8szQ0sVUhGngL7D5QPiXw==" + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "license": "MIT" }, - "node_modules/dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", - "dev": true, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "license": "MIT", + "peer": true, "dependencies": { - "assert-plus": "^1.0.0" + "mime-db": ">= 1.43.0 < 2" }, "engines": { - "node": ">=0.10" - } - }, - "node_modules/data-uri-to-buffer": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz", - "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==", - "dev": true, - "engines": { - "node": ">= 12" + "node": ">= 0.6" } }, - "node_modules/data-urls": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-4.0.0.tgz", - "integrity": "sha512-/mMTei/JXPqvFqQtfyTowxmJVwr2PVAeCcDxyFf6LhoOu/09TX2OX3kb2wzi4DMXcfj4OItwDOnhl5oziPnT6g==", - "dev": true, + "node_modules/compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "license": "MIT", + "peer": true, "dependencies": { - "abab": "^2.0.6", - "whatwg-mimetype": "^3.0.0", - "whatwg-url": "^12.0.0" + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" }, "engines": { - "node": ">=14" + "node": ">= 0.8.0" } }, - "node_modules/date-fns": { - "version": "2.30.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", - "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "peer": true, "dependencies": { - "@babel/runtime": "^7.21.0" - }, - "engines": { - "node": ">=0.11" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/date-fns" + "ms": "2.0.0" } }, - "node_modules/dayjs": { - "version": "1.8.28", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.8.28.tgz", - "integrity": "sha512-ccnYgKC0/hPSGXxj7Ju6AV/BP4HUkXC2u15mikXT5mX9YorEaoi1bEKOmAqdkJHN4EEkmAf97SpH66Try5Mbeg==" + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT", + "peer": true }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "node_modules/compression/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==", + "license": "MIT", + "peer": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "license": "MIT" + }, + "node_modules/connect": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", + "license": "MIT", + "peer": true, "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.0.1" }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", "engines": { - "node": ">=0.10.0" + "node": ">= 0.10.0" } }, - "node_modules/decimal.js": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", - "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", - "dev": true - }, - "node_modules/deep-eql": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", - "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", - "dev": true, + "node_modules/connect/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "peer": true, "dependencies": { - "type-detect": "^4.0.0" - }, - "engines": { - "node": ">=6" + "ms": "2.0.0" } }, - "node_modules/deep-equal": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.3.tgz", - "integrity": "sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==", - "dev": true, + "node_modules/connect/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT", + "peer": true + }, + "node_modules/constant-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/constant-case/-/constant-case-3.0.4.tgz", + "integrity": "sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==", + "license": "MIT", "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "call-bind": "^1.0.5", - "es-get-iterator": "^1.1.3", - "get-intrinsic": "^1.2.2", - "is-arguments": "^1.1.1", - "is-array-buffer": "^3.0.2", - "is-date-object": "^1.0.5", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "isarray": "^2.0.5", - "object-is": "^1.1.5", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.1", - "side-channel": "^1.0.4", - "which-boxed-primitive": "^1.0.2", - "which-collection": "^1.0.1", - "which-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "no-case": "^3.0.4", + "tslib": "^2.0.3", + "upper-case": "^2.0.2" } }, - "node_modules/deep-equal/node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true + "node_modules/constant-case/node_modules/tslib": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" }, - "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/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "license": "MIT" }, - "node_modules/deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "node_modules/cookie": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.0.tgz", + "integrity": "sha512-qCf+V4dtlNhSRXGAZatc1TasyFO6GjohcOul807YOb5ik3+kQSnb4d7iajeCL8QHaJ4uZEjCgiCJerKXwdRVlQ==", + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">= 0.6" } }, - "node_modules/default-require-extensions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.1.tgz", - "integrity": "sha512-eXTJmRbm2TIt9MgWTsOH1wEuhew6XGZcMeGKCtLedIg/NCsg1iBePXkceTdK4Fii7pzmN9tGsZhKzZ4h7O/fxw==", - "dev": true, + "node_modules/copy-to-clipboard": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz", + "integrity": "sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==", + "license": "MIT", "dependencies": { - "strip-bom": "^4.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "toggle-selection": "^1.0.6" } }, - "node_modules/defaults": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", - "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "node_modules/core-js-compat": { + "version": "3.38.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.38.1.tgz", + "integrity": "sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw==", + "license": "MIT", "dependencies": { - "clone": "^1.0.2" + "browserslist": "^4.23.3" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/core-js" } }, - "node_modules/define-data-property": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", - "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", + "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": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", + "license": "MIT" + }, + "node_modules/cose-base": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cose-base/-/cose-base-2.2.0.tgz", + "integrity": "sha512-AzlgcsCbUMymkADOJtQm3wO9S3ltPfYOFD5033keQn9NJzIbtnZj+UdBJe7DYml/8TdbtHJW3j58SOnKhWY/5g==", + "license": "MIT", "dependencies": { - "get-intrinsic": "^1.2.1", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" + "layout-base": "^2.0.0" } }, - "node_modules/define-properties": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", - "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", "dev": true, + "license": "MIT", "dependencies": { - "define-data-property": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=10" } }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "node_modules/cross-spawn": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.5.tgz", + "integrity": "sha512-ZVJrKKYunU38/76t0RMOulHOnUcbU9GbpWKAOZ0mhjr7CX6FVrH+4FrAapSOekrgFQ3f/8gwMEuIft0aKq6Hug==", + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, "engines": { - "node": ">=0.4.0" + "node": ">= 8" } }, - "node_modules/denodeify": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/denodeify/-/denodeify-1.2.1.tgz", - "integrity": "sha512-KNTihKNmQENUZeKu5fzfpzRqR5S2VMp4gl9RFHiWzj9DfvYQPMJ6XHKNaQxaGCXwPk6y9yme3aUoaiAe+KX+vg==", - "peer": true + "node_modules/crypto-js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.2.0.tgz", + "integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==", + "license": "MIT" }, - "node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "license": "MIT", - "peer": true, - "engines": { - "node": ">= 0.8" + "node_modules/css-in-js-utils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/css-in-js-utils/-/css-in-js-utils-3.1.0.tgz", + "integrity": "sha512-fJAcud6B3rRu+KHYk+Bwf+WFL2MDCJJ1XG9x137tJQ0xYxor7XziQtuGFbWNdqrvF4Tk26O3H73nfVqXt/fW1A==", + "license": "MIT", + "dependencies": { + "hyphenate-style-name": "^1.0.3" } }, - "node_modules/destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "node_modules/css-selector-tokenizer": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.8.0.tgz", + "integrity": "sha512-Jd6Ig3/pe62/qe5SBPTN8h8LeUg/pT4lLgtavPf7updwwHpvFzxvOQBHYj2LZDMjUnBzgvIUSjRcf6oT5HzHFg==", "license": "MIT", - "peer": true, - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" + "dependencies": { + "cssesc": "^3.0.0", + "fastparse": "^1.1.2" } }, - "node_modules/detect-libc": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.2.tgz", - "integrity": "sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==", - "dev": true, + "node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, "engines": { - "node": ">=8" + "node": ">=8.0.0" } }, - "node_modules/detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" - }, - "node_modules/detect-node-es": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz", - "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==" - }, - "node_modules/diff-sequences": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", - "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", - "dev": true, + "node_modules/css-tree/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==", + "license": "BSD-3-Clause", "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.10.0" } }, - "node_modules/dijkstrajs": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/dijkstrajs/-/dijkstrajs-1.0.3.tgz", - "integrity": "sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==" + "node_modules/css.escape": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", + "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==", + "license": "MIT" }, - "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==", - "dev": true, - "dependencies": { - "path-type": "^4.0.0" + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/doctrine": { + "node_modules/cssstyle": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-3.0.0.tgz", + "integrity": "sha512-N4u2ABATi3Qplzf0hWbVCdjenim8F3ojEXpBDF5hBpjzW182MjNGLqfmQ0SkSPeQ+V86ZXgeH8aXj6kayd4jgg==", "dev": true, + "license": "MIT", "dependencies": { - "esutils": "^2.0.2" + "rrweb-cssom": "^0.6.0" }, "engines": { - "node": ">=6.0.0" + "node": ">=14" } }, - "node_modules/dom-accessibility-api": { - "version": "0.5.16", - "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", - "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", - "dev": true + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "license": "MIT" }, - "node_modules/dom-helpers": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", - "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", - "dependencies": { - "@babel/runtime": "^7.8.7", - "csstype": "^3.0.2" - } + "node_modules/currency-symbol-map": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/currency-symbol-map/-/currency-symbol-map-5.0.1.tgz", + "integrity": "sha512-2yHvoVBPIS9Dx7fjritu9l7UHWo4Z3D2oQnQj8AYwUee2j/PAcoHB4issCqwabfbipISZ/iG6vVYsfrAoks2eA==", + "license": "BSD-2-Clause" }, - "node_modules/domexception": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", - "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", + "node_modules/cypress": { + "version": "13.14.2", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.14.2.tgz", + "integrity": "sha512-lsiQrN17vHMB2fnvxIrKLAjOr9bPwsNbPZNrWf99s4u+DVmCY6U+w7O3GGG9FvP4EUVYaDu+guWeNLiUzBrqvA==", "dev": true, + "hasInstallScript": true, + "license": "MIT", "dependencies": { - "webidl-conversions": "^7.0.0" + "@cypress/request": "^3.0.1", + "@cypress/xvfb": "^1.2.4", + "@types/sinonjs__fake-timers": "8.1.1", + "@types/sizzle": "^2.3.2", + "arch": "^2.2.0", + "blob-util": "^2.0.2", + "bluebird": "^3.7.2", + "buffer": "^5.7.1", + "cachedir": "^2.3.0", + "chalk": "^4.1.0", + "check-more-types": "^2.24.0", + "cli-cursor": "^3.1.0", + "cli-table3": "~0.6.1", + "commander": "^6.2.1", + "common-tags": "^1.8.0", + "dayjs": "^1.10.4", + "debug": "^4.3.4", + "enquirer": "^2.3.6", + "eventemitter2": "6.4.7", + "execa": "4.1.0", + "executable": "^4.1.1", + "extract-zip": "2.0.1", + "figures": "^3.2.0", + "fs-extra": "^9.1.0", + "getos": "^3.2.1", + "is-ci": "^3.0.1", + "is-installed-globally": "~0.4.0", + "lazy-ass": "^1.6.0", + "listr2": "^3.8.3", + "lodash": "^4.17.21", + "log-symbols": "^4.0.0", + "minimist": "^1.2.8", + "ospath": "^1.2.2", + "pretty-bytes": "^5.6.0", + "process": "^0.11.10", + "proxy-from-env": "1.0.0", + "request-progress": "^3.0.0", + "semver": "^7.5.3", + "supports-color": "^8.1.1", + "tmp": "~0.2.3", + "untildify": "^4.0.0", + "yauzl": "^2.10.0" + }, + "bin": { + "cypress": "bin/cypress" }, "engines": { - "node": ">=12" + "node": "^16.0.0 || ^18.0.0 || >=20.0.0" } }, - "node_modules/dot-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", - "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "node_modules/cypress/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, + "license": "MIT", "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/dot-case/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + "node_modules/cypress/node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true, + "license": "MIT" }, - "node_modules/ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "node_modules/cypress/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", "dependencies": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", - "peer": true - }, - "node_modules/electron-to-chromium": { - "version": "1.4.642", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.642.tgz", - "integrity": "sha512-M4+u22ZJGpk4RY7tne6W+APkZhnnhmAH48FNl8iEFK2lEgob+U5rUQsIqQhvAwCXYpfd3H20pHK/ENsCvwTbsA==" - }, - "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/encode-utf8": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/encode-utf8/-/encode-utf8-1.0.3.tgz", - "integrity": "sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==" - }, - "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", - "peer": true, - "engines": { - "node": ">= 0.8" + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" } }, - "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==", + "node_modules/cypress/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, + "license": "MIT", "dependencies": { - "once": "^1.4.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/enhanced-resolve": { - "version": "5.17.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", - "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", + "node_modules/cypress/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, "license": "MIT", - "peer": true, "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=10.13.0" + "node": ">=8" } }, - "node_modules/enquirer": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz", - "integrity": "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==", + "node_modules/cypress/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, + "license": "MIT", "dependencies": { - "ansi-colors": "^4.1.1", - "strip-ansi": "^6.0.1" + "color-name": "~1.1.4" }, "engines": { - "node": ">=8.6" + "node": ">=7.0.0" } }, - "node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } + "node_modules/cypress/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, + "license": "MIT" }, - "node_modules/envinfo": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.13.0.tgz", - "integrity": "sha512-cvcaMr7KqXVh4nyzGTVqTum+gAiL265x5jUWQIDLq//zOGbW+gSW/C+OWLleY/rs9Qole6AZLMXPbtIFQbqu+Q==", - "peer": true, - "bin": { - "envinfo": "dist/cli.js" - }, - "engines": { - "node": ">=4" - } + "node_modules/cypress/node_modules/dayjs": { + "version": "1.11.13", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.13.tgz", + "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==", + "dev": true, + "license": "MIT" }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dependencies": { - "is-arrayish": "^0.2.1" + "node_modules/cypress/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, + "license": "MIT", + "engines": { + "node": ">=8" } }, - "node_modules/error-stack-parser": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", - "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", - "dependencies": { - "stackframe": "^1.3.4" - } + "node_modules/cypress/node_modules/proxy-from-env": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", + "integrity": "sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==", + "dev": true, + "license": "MIT" }, - "node_modules/errorhandler": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/errorhandler/-/errorhandler-1.5.1.tgz", - "integrity": "sha512-rcOwbfvP1WTViVoUjcfZicVzjhjTuhSMntHh6mW3IrEiyE6mJyXvsToJUJGlGlw/2xU9P5whlWNGlIDVeCiT4A==", - "peer": true, - "dependencies": { - "accepts": "~1.3.7", - "escape-html": "~1.0.3" + "node_modules/cypress/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">= 0.8" + "node": ">=10" } }, - "node_modules/es-abstract": { - "version": "1.22.3", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz", - "integrity": "sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==", + "node_modules/cypress/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, + "license": "MIT", "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "arraybuffer.prototype.slice": "^1.0.2", - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.5", - "es-set-tostringtag": "^2.0.1", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.6", - "get-intrinsic": "^1.2.2", - "get-symbol-description": "^1.0.0", - "globalthis": "^1.0.3", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0", - "internal-slot": "^1.0.5", - "is-array-buffer": "^3.0.2", - "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.12", - "is-weakref": "^1.0.2", - "object-inspect": "^1.13.1", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.1", - "safe-array-concat": "^1.0.1", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.8", - "string.prototype.trimend": "^1.0.7", - "string.prototype.trimstart": "^1.0.7", - "typed-array-buffer": "^1.0.0", - "typed-array-byte-length": "^1.0.0", - "typed-array-byte-offset": "^1.0.0", - "typed-array-length": "^1.0.4", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.13" + "has-flag": "^4.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/es-get-iterator": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", - "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", - "dev": true, + "node_modules/cytoscape": { + "version": "3.28.1", + "resolved": "https://registry.npmjs.org/cytoscape/-/cytoscape-3.28.1.tgz", + "integrity": "sha512-xyItz4O/4zp9/239wCcH8ZcFuuZooEeF8KHRmzjDfGdXsj3OG9MFSMA0pJE0uX3uCN/ygof6hHf4L7lst+JaDg==", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "has-symbols": "^1.0.3", - "is-arguments": "^1.1.1", - "is-map": "^2.0.2", - "is-set": "^2.0.2", - "is-string": "^1.0.7", - "isarray": "^2.0.5", - "stop-iteration-iterator": "^1.0.0" + "heap": "^0.2.6", + "lodash": "^4.17.21" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=0.10" } }, - "node_modules/es-get-iterator/node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true - }, - "node_modules/es-iterator-helpers": { - "version": "1.0.15", - "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.15.tgz", - "integrity": "sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g==", - "dev": true, + "node_modules/cytoscape-cola": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/cytoscape-cola/-/cytoscape-cola-2.5.1.tgz", + "integrity": "sha512-4/2S9bW1LvdsEPmxXN1OEAPFPbk7DvCx2c9d+TblkQAAvptGaSgtPWCByTEGgT8UxCxcVqes2aFPO5pzwo7R2w==", + "license": "MIT", "dependencies": { - "asynciterator.prototype": "^1.0.0", - "call-bind": "^1.0.2", - "define-properties": "^1.2.1", - "es-abstract": "^1.22.1", - "es-set-tostringtag": "^2.0.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.2.1", - "globalthis": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.5", - "iterator.prototype": "^1.1.2", - "safe-array-concat": "^1.0.1" + "webcola": "^3.4.0" + }, + "peerDependencies": { + "cytoscape": "^3.2.0" } }, - "node_modules/es-module-lexer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.0.tgz", - "integrity": "sha512-lcCr3v3OLezdfFyx9r5NRYHOUTQNnFEQ9E87Mx8Kc+iqyJNkO7MJoB4GQRTlIMw9kLLTwGw0OAkm4BQQud/d9g==", - "dev": true, - "peer": true + "node_modules/cytoscape-expand-collapse": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cytoscape-expand-collapse/-/cytoscape-expand-collapse-4.1.0.tgz", + "integrity": "sha512-RJsoSDAC0ui6U6CeM7z2tiFzsk4Z2aPG8PgNIwKeFVykFmMr5S+5aT1YceQZ5XnwGFGH0uteZ96XyAfUAVb/fw==", + "license": "MIT", + "peerDependencies": { + "cytoscape": "^3.3.0" + } }, - "node_modules/es-set-tostringtag": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz", - "integrity": "sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==", - "dev": true, + "node_modules/cytoscape-fcose": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cytoscape-fcose/-/cytoscape-fcose-2.1.0.tgz", + "integrity": "sha512-Q3apPl66jf8/2sMsrCjNP247nbDkyIPjA9g5iPMMWNLZgP3/mn9aryF7EFY/oRPEpv7bKJ4jYmCoU5r5/qAc1Q==", + "license": "MIT", "dependencies": { - "get-intrinsic": "^1.2.2", - "has-tostringtag": "^1.0.0", - "hasown": "^2.0.0" + "cose-base": "^2.0.0" }, - "engines": { - "node": ">= 0.4" + "peerDependencies": { + "cytoscape": "^3.2.0" } }, - "node_modules/es-shim-unscopables": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", - "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", - "dev": true, + "node_modules/cytoscape-grid-guide": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/cytoscape-grid-guide/-/cytoscape-grid-guide-2.3.3.tgz", + "integrity": "sha512-7EuqZgOYJY+8K9a9Tm1aFydzyA0dvZ3OLQ8ACEEuE1VgxuGala82bHfyR7B5e8kLeOloX/r4YAPoK8mYkPYcFg==", + "license": "MIT", "dependencies": { - "hasown": "^2.0.0" + "functional-red-black-tree": "^1.0.1" + }, + "peerDependencies": { + "cytoscape": "^3.3.0" } }, - "node_modules/es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, + "node_modules/d3-dispatch": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-1.0.6.tgz", + "integrity": "sha512-fVjoElzjhCEy+Hbn8KygnmMS7Or0a9sI2UzGwoB7cCtvI1XpVN9GpoYlnb3xt2YV66oXYb1fLJ8GMvP4hdU1RA==", + "license": "BSD-3-Clause" + }, + "node_modules/d3-drag": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-1.2.5.tgz", + "integrity": "sha512-rD1ohlkKQwMZYkQlYVCrSFxsWPzI97+W+PaEIBNTMxRuxz9RF0Hi5nJWHGVJ3Om9d2fRTe1yOBINJyy/ahV95w==", + "license": "BSD-3-Clause", "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "d3-dispatch": "1", + "d3-selection": "1" + } + }, + "node_modules/d3-path": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-1.0.9.tgz", + "integrity": "sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==", + "license": "BSD-3-Clause" + }, + "node_modules/d3-selection": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-1.4.2.tgz", + "integrity": "sha512-SJ0BqYihzOjDnnlfyeHT0e30k0K1+5sR3d5fNueCNeuhZTnGw4M4o8mqJchSwgKMXCNFo+e2VTChiSJ0vYtXkg==", + "license": "BSD-3-Clause" + }, + "node_modules/d3-shape": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-1.3.7.tgz", + "integrity": "sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==", + "license": "BSD-3-Clause", + "dependencies": { + "d3-path": "1" } }, - "node_modules/es6-error": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", - "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", - "dev": true + "node_modules/d3-timer": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-1.0.10.tgz", + "integrity": "sha512-B1JDm0XDaQC+uvo4DT79H0XmBskgS3l6Ve+1SBCfxgmtIb1AVrPIoqd+nPSv+loMX8szQ0sVUhGngL7D5QPiXw==", + "license": "BSD-3-Clause" }, - "node_modules/esbuild": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.16.17.tgz", - "integrity": "sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg==", + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", "dev": true, - "hasInstallScript": true, - "bin": { - "esbuild": "bin/esbuild" + "license": "MIT", + "dependencies": { + "assert-plus": "^1.0.0" }, "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/android-arm": "0.16.17", - "@esbuild/android-arm64": "0.16.17", - "@esbuild/android-x64": "0.16.17", - "@esbuild/darwin-arm64": "0.16.17", - "@esbuild/darwin-x64": "0.16.17", - "@esbuild/freebsd-arm64": "0.16.17", - "@esbuild/freebsd-x64": "0.16.17", - "@esbuild/linux-arm": "0.16.17", - "@esbuild/linux-arm64": "0.16.17", - "@esbuild/linux-ia32": "0.16.17", - "@esbuild/linux-loong64": "0.16.17", - "@esbuild/linux-mips64el": "0.16.17", - "@esbuild/linux-ppc64": "0.16.17", - "@esbuild/linux-riscv64": "0.16.17", - "@esbuild/linux-s390x": "0.16.17", - "@esbuild/linux-x64": "0.16.17", - "@esbuild/netbsd-x64": "0.16.17", - "@esbuild/openbsd-x64": "0.16.17", - "@esbuild/sunos-x64": "0.16.17", - "@esbuild/win32-arm64": "0.16.17", - "@esbuild/win32-ia32": "0.16.17", - "@esbuild/win32-x64": "0.16.17" + "node": ">=0.10" } }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "node_modules/data-uri-to-buffer": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz", + "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==", + "dev": true, + "license": "MIT", "engines": { - "node": ">=6" + "node": ">= 12" } }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", - "peer": true - }, - "node_modules/escape-string-regexp": { + "node_modules/data-urls": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "engines": { - "node": ">=10" + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-4.0.0.tgz", + "integrity": "sha512-/mMTei/JXPqvFqQtfyTowxmJVwr2PVAeCcDxyFf6LhoOu/09TX2OX3kb2wzi4DMXcfj4OItwDOnhl5oziPnT6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "abab": "^2.0.6", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^12.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=14" } }, - "node_modules/eslint": { - "version": "8.53.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.53.0.tgz", - "integrity": "sha512-N4VuiPjXDUa4xVeV/GC/RV3hQW9Nw+Y463lkWaKKXKYMvmRiRDAtfpuPFLN+E1/6ZhyR8J2ig+eVREnYgUsiag==", + "node_modules/data-view-buffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", + "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", "dev": true, + "license": "MIT", "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.3", - "@eslint/js": "8.53.0", - "@humanwhocodes/config-array": "^0.11.13", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "@ungap/structured-clone": "^1.2.0", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">= 0.4" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-plugin-cypress": { - "version": "2.15.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-cypress/-/eslint-plugin-cypress-2.15.1.tgz", - "integrity": "sha512-eLHLWP5Q+I4j2AWepYq0PgFEei9/s5LvjuSqWrxurkg1YZ8ltxdvMNmdSf0drnsNo57CTgYY/NIHHLRSWejR7w==", + "node_modules/data-view-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", + "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", "dev": true, + "license": "MIT", "dependencies": { - "globals": "^13.20.0" + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" }, - "peerDependencies": { - "eslint": ">= 3.2.1" + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-plugin-cypress/node_modules/globals": { - "version": "13.23.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", - "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", + "node_modules/data-view-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", + "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", "dev": true, + "license": "MIT", "dependencies": { - "type-fest": "^0.20.2" + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" }, "engines": { - "node": ">=8" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-plugin-cypress/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, + "node_modules/date-fns": { + "version": "2.30.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", + "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.21.0" + }, "engines": { - "node": ">=10" + "node": ">=0.11" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/date-fns" } }, - "node_modules/eslint-plugin-header": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-header/-/eslint-plugin-header-3.1.1.tgz", - "integrity": "sha512-9vlKxuJ4qf793CmeeSrZUvVClw6amtpghq3CuWcB5cUNnWHQhgcqy5eF8oVKFk1G3Y/CbchGfEaw3wiIJaNmVg==", - "dev": true, - "peerDependencies": { - "eslint": ">=7.7.0" - } + "node_modules/dayjs": { + "version": "1.8.28", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.8.28.tgz", + "integrity": "sha512-ccnYgKC0/hPSGXxj7Ju6AV/BP4HUkXC2u15mikXT5mX9YorEaoi1bEKOmAqdkJHN4EEkmAf97SpH66Try5Mbeg==", + "license": "MIT" }, - "node_modules/eslint-plugin-react": { - "version": "7.33.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz", - "integrity": "sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==", - "dev": true, + "node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "license": "MIT", "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flatmap": "^1.3.1", - "array.prototype.tosorted": "^1.1.1", - "doctrine": "^2.1.0", - "es-iterator-helpers": "^1.0.12", - "estraverse": "^5.3.0", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "minimatch": "^3.1.2", - "object.entries": "^1.1.6", - "object.fromentries": "^2.0.6", - "object.hasown": "^1.1.2", - "object.values": "^1.1.6", - "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.4", - "semver": "^6.3.1", - "string.prototype.matchall": "^4.0.8" + "ms": "^2.1.3" }, "engines": { - "node": ">=4" + "node": ">=6.0" }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/eslint-plugin-react-hooks": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", - "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", - "dev": true, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "license": "MIT", "engines": { - "node": ">=10" - }, - "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + "node": ">=0.10.0" } }, - "node_modules/eslint-plugin-react/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "node_modules/decimal.js": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, + "license": "MIT" + }, + "node_modules/deep-eql": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz", + "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==", + "dev": true, + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/eslint-plugin-react/node_modules/resolve": { - "version": "2.0.0-next.5", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", - "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", + "node_modules/deep-equal": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.3.tgz", + "integrity": "sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==", "dev": true, + "license": "MIT", "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.5", + "es-get-iterator": "^1.1.3", + "get-intrinsic": "^1.2.2", + "is-arguments": "^1.1.1", + "is-array-buffer": "^3.0.2", + "is-date-object": "^1.0.5", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "isarray": "^2.0.5", + "object-is": "^1.1.5", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.5.1", + "side-channel": "^1.0.4", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.13" }, - "bin": { - "resolve": "bin/resolve" + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "node_modules/deep-equal/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true, + "license": "MIT" + }, + "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, + "license": "MIT" + }, + "node_modules/deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-require-extensions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.1.tgz", + "integrity": "sha512-eXTJmRbm2TIt9MgWTsOH1wEuhew6XGZcMeGKCtLedIg/NCsg1iBePXkceTdK4Fii7pzmN9tGsZhKzZ4h7O/fxw==", "dev": true, + "license": "MIT", "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" + "strip-bom": "^4.0.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=8" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node_modules/defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "license": "MIT", + "peer": true, + "dependencies": { + "clone": "^1.0.2" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint/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, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" }, "engines": { - "node": ">=8" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", "dev": true, + "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint/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" - }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "license": "MIT", "engines": { - "node": ">=7.0.0" + "node": ">=0.4.0" } }, - "node_modules/eslint/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/denodeify": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/denodeify/-/denodeify-1.2.1.tgz", + "integrity": "sha512-KNTihKNmQENUZeKu5fzfpzRqR5S2VMp4gl9RFHiWzj9DfvYQPMJ6XHKNaQxaGCXwPk6y9yme3aUoaiAe+KX+vg==", + "license": "MIT", + "peer": true }, - "node_modules/eslint/node_modules/globals": { - "version": "13.23.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", - "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, + "license": "MIT", "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=6" } }, - "node_modules/eslint/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==", + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-libc": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", + "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=8" } }, - "node_modules/eslint/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==", + "node_modules/detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "license": "MIT" + }, + "node_modules/detect-node-es": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz", + "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==", + "license": "MIT" + }, + "node_modules/dijkstrajs": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/dijkstrajs/-/dijkstrajs-1.0.3.tgz", + "integrity": "sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==", + "license": "MIT" + }, + "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==", "dev": true, + "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "path-type": "^4.0.0" }, "engines": { "node": ">=8" } }, - "node_modules/eslint/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==", + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, - "engines": { - "node": ">=10" + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=6.0.0" } }, - "node_modules/espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "node_modules/dom-accessibility-api": { + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", + "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", "dev": true, + "license": "MIT" + }, + "node_modules/dom-helpers": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", + "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", + "license": "MIT", "dependencies": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" + "@babel/runtime": "^7.8.7", + "csstype": "^3.0.2" + } + }, + "node_modules/domexception": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", + "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", + "deprecated": "Use your platform's native DOMException instead", + "dev": true, + "license": "MIT", + "dependencies": { + "webidl-conversions": "^7.0.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": ">=12" + } + }, + "node_modules/dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "license": "MIT", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/dot-case/node_modules/tslib": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true, + "license": "MIT" + }, + "node_modules/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "dev": true, + "license": "MIT", + "dependencies": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" } }, - "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" - }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "license": "MIT", + "peer": true + }, + "node_modules/electron-to-chromium": { + "version": "1.5.26", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.26.tgz", + "integrity": "sha512-Z+OMe9M/V6Ep9n/52+b7lkvYEps26z4Yz3vjWL1V61W0q+VLF1pOHhMY17sa4roz4AWmULSI8E6SAojZA5L0YQ==", + "license": "ISC" + }, + "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==", + "license": "MIT" + }, + "node_modules/encode-utf8": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/encode-utf8/-/encode-utf8-1.0.3.tgz", + "integrity": "sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==", + "license": "MIT" + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "license": "MIT", + "peer": true, "engines": { - "node": ">=4" + "node": ">= 0.8" } }, - "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "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==", "dev": true, + "license": "MIT", "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" + "once": "^1.4.0" } }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "node_modules/enhanced-resolve": { + "version": "5.17.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", + "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", "dev": true, + "license": "MIT", + "peer": true, "dependencies": { - "estraverse": "^5.2.0" + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" }, "engines": { - "node": ">=4.0" + "node": ">=10.13.0" } }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "node_modules/enquirer": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz", + "integrity": "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==", "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "^4.1.1", + "strip-ansi": "^6.0.1" + }, "engines": { - "node": ">=4.0" + "node": ">=8.6" } }, - "node_modules/estree-walker": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "dev": true - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "engines": { - "node": ">=0.10.0" + "node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "license": "BSD-2-Clause", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", "license": "MIT", "peer": true, "engines": { - "node": ">= 0.6" + "node": ">=6" } }, - "node_modules/event-target-shim": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", - "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "node_modules/envinfo": { + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.14.0.tgz", + "integrity": "sha512-CO40UI41xDQzhLB1hWyqUKgFhs250pNcGbyGKe1l/e4FSaI/+YE4IMG76GDt0In67WLPACIITC+sOi08x4wIvg==", + "license": "MIT", "peer": true, + "bin": { + "envinfo": "dist/cli.js" + }, "engines": { - "node": ">=6" + "node": ">=4" } }, - "node_modules/eventemitter2": { - "version": "6.4.7", - "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.7.tgz", - "integrity": "sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==", - "dev": true + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.2.1" + } }, - "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "engines": { - "node": ">=0.8.x" + "node_modules/error-stack-parser": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", + "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", + "license": "MIT", + "dependencies": { + "stackframe": "^1.3.4" } }, - "node_modules/execa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", - "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", - "dev": true, + "node_modules/errorhandler": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/errorhandler/-/errorhandler-1.5.1.tgz", + "integrity": "sha512-rcOwbfvP1WTViVoUjcfZicVzjhjTuhSMntHh6mW3IrEiyE6mJyXvsToJUJGlGlw/2xU9P5whlWNGlIDVeCiT4A==", + "license": "MIT", + "peer": true, "dependencies": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" + "accepts": "~1.3.7", + "escape-html": "~1.0.3" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "node": ">= 0.8" } }, - "node_modules/executable": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz", - "integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==", + "node_modules/es-abstract": { + "version": "1.23.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz", + "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==", "dev": true, + "license": "MIT", "dependencies": { - "pify": "^2.2.0" + "array-buffer-byte-length": "^1.0.1", + "arraybuffer.prototype.slice": "^1.0.3", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "data-view-buffer": "^1.0.1", + "data-view-byte-length": "^1.0.1", + "data-view-byte-offset": "^1.0.0", + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-set-tostringtag": "^2.0.3", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.4", + "get-symbol-description": "^1.0.2", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", + "has-symbols": "^1.0.3", + "hasown": "^2.0.2", + "internal-slot": "^1.0.7", + "is-array-buffer": "^3.0.4", + "is-callable": "^1.2.7", + "is-data-view": "^1.0.1", + "is-negative-zero": "^2.0.3", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.3", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.13", + "is-weakref": "^1.0.2", + "object-inspect": "^1.13.1", + "object-keys": "^1.1.1", + "object.assign": "^4.1.5", + "regexp.prototype.flags": "^1.5.2", + "safe-array-concat": "^1.1.2", + "safe-regex-test": "^1.0.3", + "string.prototype.trim": "^1.2.9", + "string.prototype.trimend": "^1.0.8", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.2", + "typed-array-byte-length": "^1.0.1", + "typed-array-byte-offset": "^1.0.2", + "typed-array-length": "^1.0.6", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.15" }, "engines": { - "node": ">=4" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/expect": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", - "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", - "dev": true, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "license": "MIT", "dependencies": { - "@jest/expect-utils": "^29.7.0", - "jest-get-type": "^29.6.3", - "jest-matcher-utils": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0" + "get-intrinsic": "^1.2.4" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 0.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==", - "dev": true - }, - "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==", - "dev": true, - "dependencies": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", "engines": { - "node": ">=4" + "node": ">= 0.4" } }, - "node_modules/external-editor/node_modules/tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "node_modules/es-get-iterator": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", + "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", "dev": true, + "license": "MIT", "dependencies": { - "os-tmpdir": "~1.0.2" + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "is-arguments": "^1.1.1", + "is-map": "^2.0.2", + "is-set": "^2.0.2", + "is-string": "^1.0.7", + "isarray": "^2.0.5", + "stop-iteration-iterator": "^1.0.0" }, - "engines": { - "node": ">=0.6.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/extract-zip": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", - "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "node_modules/es-get-iterator/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true, + "license": "MIT" + }, + "node_modules/es-iterator-helpers": { + "version": "1.0.19", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.19.tgz", + "integrity": "sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==", "dev": true, + "license": "MIT", "dependencies": { - "debug": "^4.1.1", - "get-stream": "^5.1.0", - "yauzl": "^2.10.0" - }, - "bin": { - "extract-zip": "cli.js" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.0.3", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "globalthis": "^1.0.3", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.7", + "iterator.prototype": "^1.1.2", + "safe-array-concat": "^1.1.2" }, "engines": { - "node": ">= 10.17.0" - }, - "optionalDependencies": { - "@types/yauzl": "^2.9.1" + "node": ">= 0.4" } }, - "node_modules/extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "node_modules/es-module-lexer": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz", + "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==", "dev": true, - "engines": [ - "node >=0.6.0" - ] - }, - "node_modules/fast-base64-decode": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fast-base64-decode/-/fast-base64-decode-1.0.0.tgz", - "integrity": "sha512-qwaScUgUGBYeDNRnbc/KyllVU88Jk1pRHPStuF/lO7B0/RTRLj7U0lkdTAutlBblY08rwZDff6tNU9cjv6j//Q==" - }, - "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==" + "license": "MIT", + "peer": true }, - "node_modules/fast-glob": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", - "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "node_modules/es-object-atoms": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", + "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", + "dev": true, + "license": "MIT", "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" + "es-errors": "^1.3.0" }, "engines": { - "node": ">=8.6.0" + "node": ">= 0.4" } }, - "node_modules/fast-glob/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==", + "node_modules/es-set-tostringtag": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", + "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", + "dev": true, + "license": "MIT", "dependencies": { - "is-glob": "^4.0.1" + "get-intrinsic": "^1.2.4", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.1" }, "engines": { - "node": ">= 6" + "node": ">= 0.4" } }, - "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==", - "dev": true - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true - }, - "node_modules/fast-loops": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/fast-loops/-/fast-loops-1.1.4.tgz", - "integrity": "sha512-8dbd3XWoKCTms18ize6JmQF1SFnnfj5s0B7rRry22EofgMu7B6LKHVh+XfFqFGsqnbH54xgeO83PzpKI+ODhlg==" - }, - "node_modules/fast-shallow-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fast-shallow-equal/-/fast-shallow-equal-1.0.0.tgz", - "integrity": "sha512-HPtaa38cPgWvaCFmRNhlc6NG7pv6NUHqjPgVAkWGoB9mQMwYB27/K0CvOM5Czy+qpT3e8XJ6Q4aPAnzpNpzNaw==" + "node_modules/es-shim-unscopables": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", + "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.0" + } }, - "node_modules/fast-xml-parser": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.4.1.tgz", - "integrity": "sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/NaturalIntelligence" - }, - { - "type": "paypal", - "url": "https://paypal.me/naturalintelligence" - } - ], + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, "license": "MIT", "dependencies": { - "strnum": "^1.0.5" + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" }, - "bin": { - "fxparser": "src/cli/cli.js" + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/fastest-stable-stringify": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fastest-stable-stringify/-/fastest-stable-stringify-2.0.2.tgz", - "integrity": "sha512-bijHueCGd0LqqNK9b5oCMHc0MluJAx0cwqASgbWMvkO01lCYgIhacVRLcaDz3QnyYIRNJRDwMb41VuT6pHJ91Q==" - }, - "node_modules/fastparse": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", - "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==" + "node_modules/es6-error": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", + "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", + "dev": true, + "license": "MIT" }, - "node_modules/fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", - "dependencies": { - "reusify": "^1.0.4" + "node_modules/esbuild": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.20.2.tgz", + "integrity": "sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.20.2", + "@esbuild/android-arm": "0.20.2", + "@esbuild/android-arm64": "0.20.2", + "@esbuild/android-x64": "0.20.2", + "@esbuild/darwin-arm64": "0.20.2", + "@esbuild/darwin-x64": "0.20.2", + "@esbuild/freebsd-arm64": "0.20.2", + "@esbuild/freebsd-x64": "0.20.2", + "@esbuild/linux-arm": "0.20.2", + "@esbuild/linux-arm64": "0.20.2", + "@esbuild/linux-ia32": "0.20.2", + "@esbuild/linux-loong64": "0.20.2", + "@esbuild/linux-mips64el": "0.20.2", + "@esbuild/linux-ppc64": "0.20.2", + "@esbuild/linux-riscv64": "0.20.2", + "@esbuild/linux-s390x": "0.20.2", + "@esbuild/linux-x64": "0.20.2", + "@esbuild/netbsd-x64": "0.20.2", + "@esbuild/openbsd-x64": "0.20.2", + "@esbuild/sunos-x64": "0.20.2", + "@esbuild/win32-arm64": "0.20.2", + "@esbuild/win32-ia32": "0.20.2", + "@esbuild/win32-x64": "0.20.2" } }, - "node_modules/fb-watchman": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", - "peer": true, - "dependencies": { - "bser": "2.1.1" + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "license": "MIT", + "engines": { + "node": ">=6" } }, - "node_modules/fbemitter": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/fbemitter/-/fbemitter-3.0.0.tgz", - "integrity": "sha512-KWKaceCwKQU0+HPoop6gn4eOHk50bBv/VxjJtGMfwmJt3D29JpN4H4eisCtIPA+a8GVBam+ldMMpMjJUvpDyHw==", - "dependencies": { - "fbjs": "^3.0.0" + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT", + "peer": true + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/fbjs": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-3.0.5.tgz", - "integrity": "sha512-ztsSx77JBtkuMrEypfhgc3cI0+0h+svqeie7xHbh1k/IKdcydnvadp/mUaGgjAOXQmQSxsqgaRhS3q9fy+1kxg==", + "node_modules/eslint": { + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", + "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", + "dev": true, + "license": "MIT", "dependencies": { - "cross-fetch": "^3.1.5", - "fbjs-css-vars": "^1.0.0", - "loose-envify": "^1.0.0", - "object-assign": "^4.1.0", - "promise": "^7.1.1", - "setimmediate": "^1.0.5", - "ua-parser-js": "^1.0.35" + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.1", + "@humanwhocodes/config-array": "^0.13.0", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/fbjs-css-vars": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz", - "integrity": "sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==" - }, - "node_modules/fd-slicer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", - "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "node_modules/eslint-plugin-cypress": { + "version": "2.15.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-cypress/-/eslint-plugin-cypress-2.15.2.tgz", + "integrity": "sha512-CtcFEQTDKyftpI22FVGpx8bkpKyYXBlNge6zSo0pl5/qJvBAnzaD76Vu2AsP16d6mTj478Ldn2mhgrWV+Xr0vQ==", "dev": true, + "license": "MIT", "dependencies": { - "pend": "~1.2.0" + "globals": "^13.20.0" + }, + "peerDependencies": { + "eslint": ">= 3.2.1" } }, - "node_modules/fetch-blob": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", - "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", + "node_modules/eslint-plugin-cypress/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/jimmywarting" - }, - { - "type": "paypal", - "url": "https://paypal.me/jimmywarting" - } - ], + "license": "MIT", "dependencies": { - "node-domexception": "^1.0.0", - "web-streams-polyfill": "^3.0.3" + "type-fest": "^0.20.2" }, "engines": { - "node": "^12.20 || >= 14.13" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/fflate": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.7.3.tgz", - "integrity": "sha512-0Zz1jOzJWERhyhsimS54VTqOteCNwRtIlh8isdL0AXLo0g7xNTfTL7oWrkmCnPhZGocKIkWHBistBrrpoNH3aw==" + "node_modules/eslint-plugin-cypress/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "node_modules/figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "node_modules/eslint-plugin-header": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-header/-/eslint-plugin-header-3.1.1.tgz", + "integrity": "sha512-9vlKxuJ4qf793CmeeSrZUvVClw6amtpghq3CuWcB5cUNnWHQhgcqy5eF8oVKFk1G3Y/CbchGfEaw3wiIJaNmVg==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "eslint": ">=7.7.0" + } + }, + "node_modules/eslint-plugin-react": { + "version": "7.36.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.36.1.tgz", + "integrity": "sha512-/qwbqNXZoq+VP30s1d4Nc1C5GTxjJQjk4Jzs4Wq2qzxFM7dSmuG2UkIjg2USMLh3A/aVcUNrK7v0J5U1XEGGwA==", "dev": true, + "license": "MIT", "dependencies": { - "escape-string-regexp": "^1.0.5" + "array-includes": "^3.1.8", + "array.prototype.findlast": "^1.2.5", + "array.prototype.flatmap": "^1.3.2", + "array.prototype.tosorted": "^1.1.4", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.0.19", + "estraverse": "^5.3.0", + "hasown": "^2.0.2", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.8", + "object.fromentries": "^2.0.8", + "object.values": "^1.2.0", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.5", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.11", + "string.prototype.repeat": "^1.0.0" }, "engines": { - "node": ">=8" + "node": ">=4" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" } }, - "node_modules/figures/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": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "node_modules/eslint-plugin-react-hooks": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz", + "integrity": "sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==", "dev": true, + "license": "MIT", "engines": { - "node": ">=0.8.0" + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" } }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "node_modules/eslint-plugin-react/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "flat-cache": "^3.0.4" + "esutils": "^2.0.2" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=0.10.0" } }, - "node_modules/file-saver": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.2.tgz", - "integrity": "sha512-Wz3c3XQ5xroCxd1G8b7yL0Ehkf0TC9oYC6buPFkNnU9EnaPlifeAFCyCh+iewXTyFRcg0a6j3J7FmJsIhlhBdw==" + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.5", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/filefy": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/filefy/-/filefy-0.1.10.tgz", - "integrity": "sha512-VgoRVOOY1WkTpWH+KBy8zcU1G7uQTVsXqhWEgzryB9A5hg2aqCyZ6aQ/5PSzlqM5+6cnVrX6oYV0XqD3HZSnmQ==" + "node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } }, - "node_modules/filename-reserved-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-3.0.0.tgz", - "integrity": "sha512-hn4cQfU6GOT/7cFHXBqeBg2TbrMBgdD0kcjLhvSQYYwm3s4B6cjvBfb7nBALJLAXqmU5xajSa7X2NnUud/VCdw==", + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://opencollective.com/eslint" } }, - "node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "node_modules/eslint/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, + "license": "MIT", "dependencies": { - "to-regex-range": "^5.0.1" + "color-convert": "^2.0.1" }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", - "peer": true, + "node_modules/eslint/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, + "license": "MIT", "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "unpipe": "~1.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">= 0.8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/finalhandler/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "peer": true, + "node_modules/eslint/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, + "license": "MIT", "dependencies": { - "ms": "2.0.0" + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "node_modules/finalhandler/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "peer": true + "node_modules/eslint/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, + "license": "MIT" }, - "node_modules/find-cache-dir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-4.0.0.tgz", - "integrity": "sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==", + "node_modules/eslint/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "dev": true, - "peer": true, + "license": "MIT", "dependencies": { - "common-path-prefix": "^3.0.0", - "pkg-dir": "^7.0.0" + "type-fest": "^0.20.2" }, "engines": { - "node": ">=14.16" + "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/find-root": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", - "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==", - "dev": true + "node_modules/eslint/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, + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "node_modules/eslint/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, + "license": "MIT", "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" + "has-flag": "^4.0.0" }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -18237,446 +18258,521 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/flat-cache": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.1.tgz", - "integrity": "sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==", + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" }, "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/flatted": { - "version": "3.2.9", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", - "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", - "dev": true - }, - "node_modules/flow-enums-runtime": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/flow-enums-runtime/-/flow-enums-runtime-0.0.6.tgz", - "integrity": "sha512-3PYnM29RFXwvAN6Pc/scUfkI7RwhQ/xqyLUyPNlXUp9S40zI8nup9tUSrTLSVnWGBN38FNiGWbwZOB6uR4OGdw==", - "peer": true - }, - "node_modules/flow-parser": { - "version": "0.206.0", - "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.206.0.tgz", - "integrity": "sha512-HVzoK3r6Vsg+lKvlIZzaWNBVai+FXTX1wdYhz/wVlH13tb/gOdLXmlTqy6odmTBhT5UoWUbq0k8263Qhr9d88w==", - "peer": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/flux": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/flux/-/flux-4.0.4.tgz", - "integrity": "sha512-NCj3XlayA2UsapRpM7va6wU1+9rE5FIL7qoMcmxWHRzbp0yujihMBm9BBHZ1MDIk5h5o2Bl6eGiCe8rYELAmYw==", - "dependencies": { - "fbemitter": "^3.0.0", - "fbjs": "^3.0.1" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, - "peerDependencies": { - "react": "^15.0.2 || ^16.0.0 || ^17.0.0" + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/follow-redirects": { - "version": "1.15.6", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", - "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "engines": { - "node": ">=4.0" + "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==", + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } + "engines": { + "node": ">=4" } }, - "node_modules/for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "node_modules/esquery": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "is-callable": "^1.1.3" + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" } }, - "node_modules/foreground-child": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz", - "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==", + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^3.0.2" + "estraverse": "^5.2.0" }, "engines": { - "node": ">=8.0.0" + "node": ">=4.0" } }, - "node_modules/forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, + "license": "BSD-2-Clause", "engines": { - "node": "*" + "node": ">=4.0" } }, - "node_modules/form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true, + "license": "MIT" + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "license": "BSD-2-Clause", "engines": { - "node": ">= 6" + "node": ">=0.10.0" } }, - "node_modules/formdata-polyfill": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", - "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", - "dev": true, - "dependencies": { - "fetch-blob": "^3.1.2" - }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "license": "MIT", + "peer": true, "engines": { - "node": ">=12.20.0" + "node": ">= 0.6" } }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "node_modules/event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", "license": "MIT", "peer": true, "engines": { - "node": ">= 0.6" + "node": ">=6" } }, - "node_modules/fromentries": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz", - "integrity": "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==", + "node_modules/eventemitter2": { + "version": "6.4.7", + "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.7.tgz", + "integrity": "sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] + "license": "MIT" }, - "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==", + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "license": "MIT", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", "dev": true, + "license": "MIT", "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" }, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], + "node_modules/executable": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz", + "integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "pify": "^2.2.0" + }, "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + "node": ">=4" } }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "node_modules/exponential-backoff": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.1.tgz", + "integrity": "sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==", + "license": "Apache-2.0", + "peer": true }, - "node_modules/function.prototype.name": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", - "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true, + "license": "MIT" + }, + "node_modules/extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "functions-have-names": "^1.2.3" + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + }, + "bin": { + "extract-zip": "cli.js" }, "engines": { - "node": ">= 0.4" + "node": ">= 10.17.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "optionalDependencies": { + "@types/yauzl": "^2.9.1" } }, - "node_modules/functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==" - }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "engines": [ + "node >=0.6.0" + ], + "license": "MIT" }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "node_modules/fast-base64-decode": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fast-base64-decode/-/fast-base64-decode-1.0.0.tgz", + "integrity": "sha512-qwaScUgUGBYeDNRnbc/KyllVU88Jk1pRHPStuF/lO7B0/RTRLj7U0lkdTAutlBblY08rwZDff6tNU9cjv6j//Q==", + "license": "MIT" + }, + "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==", + "license": "MIT" + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "license": "MIT", + "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": ">=6.9.0" + "node": ">=8.6.0" } }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "node_modules/fast-glob/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==", + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, "engines": { - "node": "6.* || 8.* || >= 10.*" + "node": ">= 6" } }, - "node_modules/get-func-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", - "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", + "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==", "dev": true, - "engines": { - "node": "*" - } + "license": "MIT" }, - "node_modules/get-intrinsic": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", - "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-shallow-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fast-shallow-equal/-/fast-shallow-equal-1.0.0.tgz", + "integrity": "sha512-HPtaa38cPgWvaCFmRNhlc6NG7pv6NUHqjPgVAkWGoB9mQMwYB27/K0CvOM5Czy+qpT3e8XJ6Q4aPAnzpNpzNaw==" + }, + "node_modules/fast-uri": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.1.tgz", + "integrity": "sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/fast-xml-parser": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.4.1.tgz", + "integrity": "sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + }, + { + "type": "paypal", + "url": "https://paypal.me/naturalintelligence" + } + ], + "license": "MIT", "dependencies": { - "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" + "strnum": "^1.0.5" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "bin": { + "fxparser": "src/cli/cli.js" } }, - "node_modules/get-nonce": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz", - "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==", - "engines": { - "node": ">=6" - } + "node_modules/fastest-stable-stringify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fastest-stable-stringify/-/fastest-stable-stringify-2.0.2.tgz", + "integrity": "sha512-bijHueCGd0LqqNK9b5oCMHc0MluJAx0cwqASgbWMvkO01lCYgIhacVRLcaDz3QnyYIRNJRDwMb41VuT6pHJ91Q==", + "license": "MIT" }, - "node_modules/get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "dev": true, - "engines": { - "node": ">=8.0.0" - } + "node_modules/fastparse": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", + "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==", + "license": "MIT" }, - "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, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "license": "ISC", "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "reusify": "^1.0.4" } }, - "node_modules/get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", - "dev": true, + "node_modules/fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "license": "Apache-2.0", + "peer": true, "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "bser": "2.1.1" } }, - "node_modules/getos": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/getos/-/getos-3.2.1.tgz", - "integrity": "sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==", + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", "dev": true, + "license": "MIT", "dependencies": { - "async": "^3.2.0" + "pend": "~1.2.0" } }, - "node_modules/getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "node_modules/fetch-blob": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", + "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "paypal", + "url": "https://paypal.me/jimmywarting" + } + ], + "license": "MIT", "dependencies": { - "assert-plus": "^1.0.0" + "node-domexception": "^1.0.0", + "web-streams-polyfill": "^3.0.3" + }, + "engines": { + "node": "^12.20 || >= 14.13" } }, - "node_modules/glob": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", - "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "node_modules/fflate": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.7.3.tgz", + "integrity": "sha512-0Zz1jOzJWERhyhsimS54VTqOteCNwRtIlh8isdL0AXLo0g7xNTfTL7oWrkmCnPhZGocKIkWHBistBrrpoNH3aw==", + "license": "MIT" + }, + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", "dev": true, + "license": "MIT", "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" + "escape-string-regexp": "^1.0.5" }, "engines": { - "node": ">=12" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "node_modules/figures/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": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "dev": true, + "license": "MIT", "dependencies": { - "is-glob": "^4.0.3" + "flat-cache": "^3.0.4" }, "engines": { - "node": ">=10.13.0" + "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", - "dev": true, - "license": "BSD-2-Clause", - "peer": true + "node_modules/file-saver": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.2.tgz", + "integrity": "sha512-Wz3c3XQ5xroCxd1G8b7yL0Ehkf0TC9oYC6buPFkNnU9EnaPlifeAFCyCh+iewXTyFRcg0a6j3J7FmJsIhlhBdw==", + "license": "MIT" }, - "node_modules/glob/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" + "node_modules/filefy": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/filefy/-/filefy-0.1.10.tgz", + "integrity": "sha512-VgoRVOOY1WkTpWH+KBy8zcU1G7uQTVsXqhWEgzryB9A5hg2aqCyZ6aQ/5PSzlqM5+6cnVrX6oYV0XqD3HZSnmQ==", + "license": "MIT" + }, + "node_modules/filename-reserved-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-3.0.0.tgz", + "integrity": "sha512-hn4cQfU6GOT/7cFHXBqeBg2TbrMBgdD0kcjLhvSQYYwm3s4B6cjvBfb7nBALJLAXqmU5xajSa7X2NnUud/VCdw==", + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/glob/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dev": true, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "license": "MIT", "dependencies": { - "brace-expansion": "^2.0.1" + "to-regex-range": "^5.0.1" }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/global-dirs": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", - "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", - "dev": true, + "node_modules/finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "license": "MIT", + "peer": true, "dependencies": { - "ini": "2.0.0" + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.8" } }, - "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "peer": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT", + "peer": true + }, + "node_modules/finalhandler/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "license": "MIT", + "peer": true, "engines": { - "node": ">=4" + "node": ">= 0.6" } }, - "node_modules/globalthis": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", - "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "node_modules/find-cache-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-4.0.0.tgz", + "integrity": "sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==", "dev": true, + "license": "MIT", + "peer": true, "dependencies": { - "define-properties": "^1.1.3" + "common-path-prefix": "^3.0.0", + "pkg-dir": "^7.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=14.16" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/globby": { - "version": "11.0.4", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", - "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", + "node_modules/find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==", "dev": true, + "license": "MIT" + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "license": "MIT", "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" + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" }, "engines": { "node": ">=10" @@ -18685,127 +18781,213 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "node_modules/flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dev": true, + "license": "MIT", "dependencies": { - "get-intrinsic": "^1.1.3" + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + "node_modules/flatted": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "dev": true, + "license": "ISC" }, - "node_modules/graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true + "node_modules/flow-enums-runtime": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/flow-enums-runtime/-/flow-enums-runtime-0.0.6.tgz", + "integrity": "sha512-3PYnM29RFXwvAN6Pc/scUfkI7RwhQ/xqyLUyPNlXUp9S40zI8nup9tUSrTLSVnWGBN38FNiGWbwZOB6uR4OGdw==", + "license": "MIT", + "peer": true }, - "node_modules/graphql": { - "version": "14.7.0", - "resolved": "https://registry.npmjs.org/graphql/-/graphql-14.7.0.tgz", - "integrity": "sha512-l0xWZpoPKpppFzMfvVyFmp9vLN7w/ZZJPefUicMCepfJeQ8sMcztloGYY9DfjVPo6tIUDzU5Hw3MUbIjj9AVVA==", + "node_modules/flow-parser": { + "version": "0.246.0", + "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.246.0.tgz", + "integrity": "sha512-WHRizzSrWFTcKo7cVcbP3wzZVhzsoYxoWqbnH4z+JXGqrjVmnsld6kBZWVlB200PwD5ur8r+HV3KUDxv3cHhOQ==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/follow-redirects": { + "version": "1.15.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", + "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", "dev": true, + "license": "MIT", "dependencies": { - "iterall": "^1.2.2" - }, - "engines": { - "node": ">= 6.x" + "is-callable": "^1.1.3" } }, - "node_modules/handlebars": { - "version": "4.7.7", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", - "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", + "node_modules/foreground-child": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz", + "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==", "dev": true, + "license": "ISC", "dependencies": { - "minimist": "^1.2.5", - "neo-async": "^2.6.0", - "source-map": "^0.6.1", - "wordwrap": "^1.0.0" - }, - "bin": { - "handlebars": "bin/handlebars" + "cross-spawn": "^7.0.0", + "signal-exit": "^3.0.2" }, "engines": { - "node": ">=0.4.7" - }, - "optionalDependencies": { - "uglify-js": "^3.1.4" + "node": ">=8.0.0" } }, - "node_modules/handlebars/node_modules/source-map": { + "node_modules/forever-agent": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", "dev": true, + "license": "Apache-2.0", "engines": { - "node": ">=0.10.0" + "node": "*" } }, - "node_modules/has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "node_modules/form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/formdata-polyfill": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", + "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "license": "MIT", + "dependencies": { + "fetch-blob": "^3.1.2" + }, + "engines": { + "node": ">=12.20.0" } }, - "node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "license": "MIT", + "peer": true, "engines": { - "node": ">=4" + "node": ">= 0.6" } }, - "node_modules/has-property-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", - "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", + "node_modules/fromentries": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz", + "integrity": "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "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==", + "dev": true, + "license": "MIT", "dependencies": { - "get-intrinsic": "^1.2.2" + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=10" } }, - "node_modules/has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "license": "ISC" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "engines": { - "node": ">= 0.4" - }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "node_modules/function.prototype.name": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", "dev": true, + "license": "MIT", "dependencies": { - "has-symbols": "^1.0.2" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" }, "engines": { "node": ">= 0.4" @@ -18814,794 +18996,831 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/hasha": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz", - "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==", + "node_modules/functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", + "license": "MIT" + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", "dev": true, - "dependencies": { - "is-stream": "^2.0.0", - "type-fest": "^0.8.0" - }, - "engines": { - "node": ">=8" - }, + "license": "MIT", "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/hasha/node_modules/type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=6.9.0" } }, - "node_modules/hasown": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", - "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", - "dependencies": { - "function-bind": "^1.1.2" - }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "license": "ISC", "engines": { - "node": ">= 0.4" - } - }, - "node_modules/header-case": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/header-case/-/header-case-2.0.4.tgz", - "integrity": "sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==", - "dependencies": { - "capital-case": "^1.0.4", - "tslib": "^2.0.3" + "node": "6.* || 8.* || >= 10.*" } }, - "node_modules/header-case/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - }, - "node_modules/headers-polyfill": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/headers-polyfill/-/headers-polyfill-3.2.5.tgz", - "integrity": "sha512-tUCGvt191vNSQgttSyJoibR+VO+I6+iCHIUdhzEMJKE+EAL8BwCN7fUOZlY4ofOelNHsK+gEjxB/B+9N3EWtdA==", - "dev": true - }, - "node_modules/heap": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/heap/-/heap-0.2.7.tgz", - "integrity": "sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==" - }, - "node_modules/hermes-estree": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.19.1.tgz", - "integrity": "sha512-daLGV3Q2MKk8w4evNMKwS8zBE/rcpA800nu1Q5kM08IKijoSnPe9Uo1iIxzPKRkn95IxxsgBMPeYHt3VG4ej2g==", - "peer": true - }, - "node_modules/hermes-parser": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.19.1.tgz", - "integrity": "sha512-Vp+bXzxYJWrpEuJ/vXxUsLnt0+y4q9zyi4zUlkLqD8FKv4LjIfOvP69R/9Lty3dCyKh0E2BU7Eypqr63/rKT/A==", - "peer": true, - "dependencies": { - "hermes-estree": "0.19.1" + "node_modules/get-func-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", + "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" } }, - "node_modules/hermes-profile-transformer": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/hermes-profile-transformer/-/hermes-profile-transformer-0.0.6.tgz", - "integrity": "sha512-cnN7bQUm65UWOy6cbGcCcZ3rpwW8Q/j4OP5aWRhEry4Z2t2aR1cjrbp0BS+KiBN0smvP1caBgAuxutvyvJILzQ==", - "peer": true, + "node_modules/get-intrinsic": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "license": "MIT", "dependencies": { - "source-map": "^0.7.3" + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" }, "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/hermes-profile-transformer/node_modules/source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", - "peer": true, + "node_modules/get-nonce": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz", + "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==", + "license": "MIT", "engines": { - "node": ">= 8" + "node": ">=6" } }, - "node_modules/history": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz", - "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==", - "dependencies": { - "@babel/runtime": "^7.1.2", - "loose-envify": "^1.2.0", - "resolve-pathname": "^3.0.0", - "tiny-invariant": "^1.0.2", - "tiny-warning": "^1.0.0", - "value-equal": "^1.0.1" + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.0.0" } }, - "node_modules/hoist-non-react-statics": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", - "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "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, + "license": "MIT", "dependencies": { - "react-is": "^16.7.0" + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/html-encoding-sniffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", - "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", + "node_modules/get-symbol-description": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", + "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", "dev": true, + "license": "MIT", "dependencies": { - "whatwg-encoding": "^2.0.0" + "call-bind": "^1.0.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4" }, "engines": { - "node": ">=12" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true - }, - "node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "node_modules/getos": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/getos/-/getos-3.2.1.tgz", + "integrity": "sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==", + "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - }, - "engines": { - "node": ">= 0.8" + "async": "^3.2.0" } }, - "node_modules/http-errors/node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "dev": true, "license": "MIT", - "peer": true, - "engines": { - "node": ">= 0.8" + "dependencies": { + "assert-plus": "^1.0.0" } }, - "node_modules/http-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", - "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "node_modules/glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, + "license": "ISC", "dependencies": { - "@tootallnate/once": "2", - "agent-base": "6", - "debug": "4" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" }, "engines": { - "node": ">= 6" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/http-signature": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.3.6.tgz", - "integrity": "sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==", + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, + "license": "ISC", "dependencies": { - "assert-plus": "^1.0.0", - "jsprim": "^2.0.2", - "sshpk": "^1.14.1" + "is-glob": "^4.0.3" }, "engines": { - "node": ">=0.10" + "node": ">=10.13.0" } }, - "node_modules/https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true, + "license": "BSD-2-Clause", + "peer": true + }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, + "license": "MIT", "dependencies": { - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" + "balanced-match": "^1.0.0" } }, - "node_modules/human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, "engines": { - "node": ">=8.12.0" + "node": ">=10" } }, - "node_modules/hyphenate-style-name": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz", - "integrity": "sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ==" - }, - "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==", + "node_modules/global-dirs": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", + "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", "dev": true, + "license": "MIT", "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" + "ini": "2.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/idb": { - "version": "5.0.6", - "resolved": "https://registry.npmjs.org/idb/-/idb-5.0.6.tgz", - "integrity": "sha512-/PFvOWPzRcEPmlDt5jEvzVZVs0wyd/EvGvkDIcbBpGuMMLQKrTPG0TxvE2UJtgZtCQCmOtM2QD7yQJBVEjKGOw==" - }, - "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/ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", - "dev": true, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "license": "MIT", "engines": { - "node": ">= 4" + "node": ">=4" } }, - "node_modules/image-size": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.1.1.tgz", - "integrity": "sha512-541xKlUw6jr/6gGuk92F+mYM5zaFAc5ahphvkqvNe2bQ6gVBkd6bfrmVJ2t4KDAfikAYZyIqTnktX3i6/aQDrQ==", - "peer": true, + "node_modules/globalthis": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", + "dev": true, + "license": "MIT", "dependencies": { - "queue": "6.0.2" - }, - "bin": { - "image-size": "bin/image-size.js" + "define-properties": "^1.2.1", + "gopd": "^1.0.1" }, "engines": { - "node": ">=16.x" - } - }, - "node_modules/immer": { - "version": "9.0.6", - "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.6.tgz", - "integrity": "sha512-G95ivKpy+EvVAnAab4fVa4YGYn24J1SpEktnJX7JJ45Bd7xqME/SCplFzYFmTbrkwZbQ4xJK1xMTUYBkN6pWsQ==", + "node": ">= 0.4" + }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/immer" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dev": true, + "license": "MIT", "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" }, "engines": { - "node": ">=6" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "engines": { - "node": ">=0.8.19" + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "license": "ISC" + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true, + "license": "MIT" + }, + "node_modules/graphql": { + "version": "14.7.0", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-14.7.0.tgz", + "integrity": "sha512-l0xWZpoPKpppFzMfvVyFmp9vLN7w/ZZJPefUicMCepfJeQ8sMcztloGYY9DfjVPo6tIUDzU5Hw3MUbIjj9AVVA==", "dev": true, + "license": "MIT", + "dependencies": { + "iterall": "^1.2.2" + }, "engines": { - "node": ">=8" + "node": ">= 6.x" } }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "node_modules/handlebars": { + "version": "4.7.7", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", + "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", + "dev": true, + "license": "MIT", "dependencies": { - "once": "^1.3.0", - "wrappy": "1" + "minimist": "^1.2.5", + "neo-async": "^2.6.0", + "source-map": "^0.6.1", + "wordwrap": "^1.0.0" + }, + "bin": { + "handlebars": "bin/handlebars" + }, + "engines": { + "node": ">=0.4.7" + }, + "optionalDependencies": { + "uglify-js": "^3.1.4" } }, - "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": "2.0.0", - "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", - "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", + "node_modules/handlebars/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, + "license": "BSD-3-Clause", "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "node_modules/inline-style-prefixer": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/inline-style-prefixer/-/inline-style-prefixer-6.0.4.tgz", - "integrity": "sha512-FwXmZC2zbeeS7NzGjJ6pAiqRhXR0ugUShSNb6GApMl6da0/XGc4MOJsoWAywia52EEWbXNSy0pzkwz/+Y+swSg==", - "dependencies": { - "css-in-js-utils": "^3.1.0", - "fast-loops": "^1.1.3" + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/inquirer": { - "version": "8.2.6", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.6.tgz", - "integrity": "sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==", - "dev": 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.5.5", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6", - "wrap-ansi": "^6.0.1" - }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "license": "MIT", "engines": { - "node": ">=12.0.0" + "node": ">=4" } }, - "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==", - "dev": true, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "es-define-property": "^1.0.0" }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "license": "MIT", "engines": { - "node": ">=8" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "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==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "license": "MIT", "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "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==", + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", "dev": true, + "license": "MIT", "dependencies": { - "color-name": "~1.1.4" + "has-symbols": "^1.0.3" }, "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==", - "dev": 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==", - "dev": true, - "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "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==", + "node_modules/hasha": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz", + "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==", "dev": true, + "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "is-stream": "^2.0.0", + "type-fest": "^0.8.0" }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/inquirer/node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "node_modules/hasha/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=8" } }, - "node_modules/internal-slot": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.6.tgz", - "integrity": "sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==", - "dev": true, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", "dependencies": { - "get-intrinsic": "^1.2.2", - "hasown": "^2.0.0", - "side-channel": "^1.0.4" + "function-bind": "^1.1.2" }, "engines": { "node": ">= 0.4" } }, - "node_modules/intl-messageformat": { - "version": "10.5.5", - "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.5.5.tgz", - "integrity": "sha512-sF+cJCfMn+kGcSeGGRcB1UpBH0/+Ko2KByHj2RpL2qIkRvsrnuDl8zufEkvk+GPosk932C6W1Kq24xWaw+2jDA==", + "node_modules/header-case": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/header-case/-/header-case-2.0.4.tgz", + "integrity": "sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==", + "license": "MIT", "dependencies": { - "@formatjs/ecma402-abstract": "1.17.3", - "@formatjs/fast-memoize": "2.2.0", - "@formatjs/icu-messageformat-parser": "2.7.1", - "tslib": "^2.4.0" + "capital-case": "^1.0.4", + "tslib": "^2.0.3" } }, - "node_modules/intl-messageformat/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + "node_modules/header-case/node_modules/tslib": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" }, - "node_modules/invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "node_modules/headers-polyfill": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/headers-polyfill/-/headers-polyfill-4.0.3.tgz", + "integrity": "sha512-IScLbePpkvO846sIwOtOTDjutRMWdXdJmXdMvk6gCBHxFO8d+QKOQedyZSxFTTFYRSmlgSTDtXqqq4pcenBXLQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/heap": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/heap/-/heap-0.2.7.tgz", + "integrity": "sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==", + "license": "MIT" + }, + "node_modules/hermes-estree": { + "version": "0.22.0", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.22.0.tgz", + "integrity": "sha512-FLBt5X9OfA8BERUdc6aZS36Xz3rRuB0Y/mfocSADWEJfomc1xfene33GdyAmtTkKTBXTN/EgAy+rjTKkkZJHlw==", + "license": "MIT", + "peer": true + }, + "node_modules/hermes-parser": { + "version": "0.22.0", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.22.0.tgz", + "integrity": "sha512-gn5RfZiEXCsIWsFGsKiykekktUoh0PdFWYocXsUdZIyWSckT6UIyPcyyUIPSR3kpnELWeK3n3ztAse7Mat6PSA==", + "license": "MIT", + "peer": true, "dependencies": { - "loose-envify": "^1.0.0" + "hermes-estree": "0.22.0" } }, - "node_modules/is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "dev": true, + "node_modules/history": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz", + "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "@babel/runtime": "^7.1.2", + "loose-envify": "^1.2.0", + "resolve-pathname": "^3.0.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0", + "value-equal": "^1.0.1" } }, - "node_modules/is-array-buffer": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", - "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", - "dev": true, + "node_modules/hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "license": "BSD-3-Clause", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "react-is": "^16.7.0" } }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" - }, - "node_modules/is-async-function": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", - "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", + "node_modules/html-encoding-sniffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", + "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", "dev": true, + "license": "MIT", "dependencies": { - "has-tostringtag": "^1.0.0" + "whatwg-encoding": "^2.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=12" } }, - "node_modules/is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "dev": true, - "dependencies": { - "has-bigints": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "license": "MIT" }, - "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==", + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "license": "MIT", + "peer": true, "dependencies": { - "binary-extensions": "^2.0.0" + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" }, "engines": { - "node": ">=8" + "node": ">= 0.8" } }, - "node_modules/is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "node_modules/http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 6" } }, - "node_modules/is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "node_modules/http-signature": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.4.0.tgz", + "integrity": "sha512-G5akfn7eKbpDN+8nPS/cb57YeA1jLTVxjpCj7tmm3QKPdyDy7T+qSC40e9ptydSWvkwjSXw1VbkpyEm39ukeAg==", "dev": true, - "engines": { - "node": ">= 0.4" + "license": "MIT", + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^2.0.2", + "sshpk": "^1.18.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=0.10" } }, - "node_modules/is-ci": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", - "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", "dev": true, + "license": "MIT", "dependencies": { - "ci-info": "^3.2.0" + "agent-base": "6", + "debug": "4" }, - "bin": { - "is-ci": "bin.js" + "engines": { + "node": ">= 6" } }, - "node_modules/is-core-module": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", - "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", - "dependencies": { - "hasown": "^2.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node_modules/human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=8.12.0" } }, - "node_modules/is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "node_modules/hyphenate-style-name": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.1.0.tgz", + "integrity": "sha512-WDC/ui2VVRrz3jOVi+XtjqkDjiVjTtFaAGiW37k6b+ohyQ5wYDOGkvCZa8+H0nx3gyvv0+BST9xuOgIyGQ00gw==", + "license": "BSD-3-Clause" + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "dev": true, + "license": "MIT", "dependencies": { - "has-tostringtag": "^1.0.0" + "safer-buffer": ">= 2.1.2 < 3.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.10.0" } }, - "node_modules/is-directory": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", - "integrity": "sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==", - "peer": true, + "node_modules/idb": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/idb/-/idb-5.0.6.tgz", + "integrity": "sha512-/PFvOWPzRcEPmlDt5jEvzVZVs0wyd/EvGvkDIcbBpGuMMLQKrTPG0TxvE2UJtgZtCQCmOtM2QD7yQJBVEjKGOw==", + "license": "ISC" + }, + "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" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">= 4" } }, - "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==", + "node_modules/image-size": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.1.1.tgz", + "integrity": "sha512-541xKlUw6jr/6gGuk92F+mYM5zaFAc5ahphvkqvNe2bQ6gVBkd6bfrmVJ2t4KDAfikAYZyIqTnktX3i6/aQDrQ==", + "license": "MIT", "peer": true, + "dependencies": { + "queue": "6.0.2" + }, "bin": { - "is-docker": "cli.js" + "image-size": "bin/image-size.js" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=16.x" } }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "engines": { - "node": ">=0.10.0" + "node_modules/immer": { + "version": "9.0.6", + "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.6.tgz", + "integrity": "sha512-G95ivKpy+EvVAnAab4fVa4YGYn24J1SpEktnJX7JJ45Bd7xqME/SCplFzYFmTbrkwZbQ4xJK1xMTUYBkN6pWsQ==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/immer" } }, - "node_modules/is-finalizationregistry": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", - "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", - "dev": true, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2" + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=0.8.19" } }, - "node_modules/is-generator-function": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, + "license": "MIT", "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8" } }, - "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==", + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "license": "ISC", "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" + "once": "^1.3.0", + "wrappy": "1" } }, - "node_modules/is-installed-globally": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", - "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/ini": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", "dev": true, - "dependencies": { - "global-dirs": "^3.0.0", - "is-path-inside": "^3.0.2" - }, + "license": "ISC", "engines": { "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", - "engines": { - "node": ">=8" + "node_modules/inline-style-prefixer": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/inline-style-prefixer/-/inline-style-prefixer-7.0.1.tgz", + "integrity": "sha512-lhYo5qNTQp3EvSSp3sRvXMbVQTLrvGV6DycRMJ5dm2BLMiJ30wpXKdDdgX+GmJZ5uQMucwRKHamXSst3Sj/Giw==", + "license": "MIT", + "dependencies": { + "css-in-js-utils": "^3.1.0" } }, - "node_modules/is-invalid-path": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-invalid-path/-/is-invalid-path-0.1.0.tgz", - "integrity": "sha512-aZMG0T3F34mTg4eTdszcGXx54oiZ4NtHSft3hWNJMGJXUUqdIj3cOZuHcU0nCWWcY3jd7yRe/3AEm3vSNTpBGQ==", + "node_modules/internal-slot": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", + "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", "dev": true, + "license": "MIT", "dependencies": { - "is-glob": "^2.0.0" + "es-errors": "^1.3.0", + "hasown": "^2.0.0", + "side-channel": "^1.0.4" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" } }, - "node_modules/is-invalid-path/node_modules/is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==", - "dev": true, - "engines": { - "node": ">=0.10.0" + "node_modules/intl-messageformat": { + "version": "10.5.14", + "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.5.14.tgz", + "integrity": "sha512-IjC6sI0X7YRjjyVH9aUgdftcmZK7WXdHeil4KwbjDnRWjnVitKpAx3rr6t6di1joFp5188VqKcobOPA6mCLG/w==", + "license": "BSD-3-Clause", + "dependencies": { + "@formatjs/ecma402-abstract": "2.0.0", + "@formatjs/fast-memoize": "2.2.0", + "@formatjs/icu-messageformat-parser": "2.7.8", + "tslib": "^2.4.0" } }, - "node_modules/is-invalid-path/node_modules/is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha512-a1dBeB19NXsf/E0+FHqkagizel/LQw2DjSQpvQrj3zT+jYPpaUCryPnrQajXKFLCMuf4I6FhRpaGtw4lPrG6Eg==", + "node_modules/intl-messageformat/node_modules/tslib": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" + }, + "node_modules/invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "node_modules/is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", "dev": true, + "license": "MIT", "dependencies": { - "is-extglob": "^1.0.0" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-map": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", - "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", - "dev": true, + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "node_modules/is-array-buffer": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", + "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1" + }, "engines": { "node": ">= 0.4" }, @@ -19609,25 +19828,18 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-node-process": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-node-process/-/is-node-process-1.2.0.tgz", - "integrity": "sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw==", - "dev": true - }, - "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/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "license": "MIT" }, - "node_modules/is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "node_modules/is-async-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", + "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", "dev": true, + "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -19638,38 +19850,37 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", "dev": true, - "engines": { - "node": ">=8" + "license": "MIT", + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/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==", - "peer": true, + "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==", + "license": "MIT", "dependencies": { - "isobject": "^3.0.1" + "binary-extensions": "^2.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/is-potential-custom-element-name": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", - "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", - "dev": true - }, - "node_modules/is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" @@ -19681,45 +19892,39 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-set": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", - "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "node_modules/is-ci": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", + "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "engines": { - "node": ">=8" + "ci-info": "^3.2.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "bin": { + "is-ci": "bin.js" } }, - "node_modules/is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "dev": true, + "node_modules/is-core-module": { + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", + "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", + "license": "MIT", "dependencies": { - "has-tostringtag": "^1.0.0" + "hasown": "^2.0.2" }, "engines": { "node": ">= 0.4" @@ -19728,13 +19933,14 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "node_modules/is-data-view": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", + "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", "dev": true, + "license": "MIT", "dependencies": { - "has-symbols": "^1.0.2" + "is-typed-array": "^1.1.13" }, "engines": { "node": ">= 0.4" @@ -19743,13 +19949,14 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-typed-array": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", - "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", "dev": true, + "license": "MIT", "dependencies": { - "which-typed-array": "^1.1.11" + "has-tostringtag": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -19758,49 +19965,47 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", - "dev": true + "node_modules/is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } }, - "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==", + "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==", + "license": "MIT", + "peer": true, + "bin": { + "is-docker": "cli.js" + }, "engines": { - "node": ">=10" + "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-valid-path": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-valid-path/-/is-valid-path-0.1.1.tgz", - "integrity": "sha512-+kwPrVDu9Ms03L90Qaml+79+6DZHqHyRoANI6IsZJ/g8frhnfchDOBCa0RbQ6/kdHt5CS5OeIEyrYznNuVN+8A==", - "dev": true, - "dependencies": { - "is-invalid-path": "^0.1.0" - }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/is-weakmap": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", - "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakref": { + "node_modules/is-finalizationregistry": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", + "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2" }, @@ -19808,656 +20013,604 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-weakset": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", - "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/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==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", - "peer": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - }, - "node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isomorphic-unfetch": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/isomorphic-unfetch/-/isomorphic-unfetch-3.1.0.tgz", - "integrity": "sha512-geDJjpoZ8N0kWexiwkX8F9NkTsXhetLPVbZFQ+JTW239QNOwvB0gniuR1Wc6f0AMTn7/mFGyXvHTifrCp/GH8Q==", - "dependencies": { - "node-fetch": "^2.6.1", - "unfetch": "^4.2.0" + "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==", + "license": "MIT", + "engines": { + "node": ">=8" } }, - "node_modules/isomorphic-unfetch/node_modules/node-fetch": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "node_modules/is-generator-function": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "dev": true, + "license": "MIT", "dependencies": { - "whatwg-url": "^5.0.0" + "has-tostringtag": "^1.0.0" }, "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" + "node": ">= 0.4" }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/isomorphic-unfetch/node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" - }, - "node_modules/isomorphic-unfetch/node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" - }, - "node_modules/isomorphic-unfetch/node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "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==", + "license": "MIT", "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "node_modules/isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", - "dev": true - }, - "node_modules/istanbul-lib-coverage": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", - "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", - "dev": true, + "is-extglob": "^2.1.1" + }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/istanbul-lib-hook": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz", - "integrity": "sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==", + "node_modules/is-installed-globally": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", + "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", "dev": true, + "license": "MIT", "dependencies": { - "append-transform": "^2.0.0" + "global-dirs": "^3.0.0", + "is-path-inside": "^3.0.2" + }, + "engines": { + "node": ">=10" }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "license": "MIT", + "peer": true, "engines": { "node": ">=8" } }, - "node_modules/istanbul-lib-instrument": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "node_modules/is-invalid-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-invalid-path/-/is-invalid-path-0.1.0.tgz", + "integrity": "sha512-aZMG0T3F34mTg4eTdszcGXx54oiZ4NtHSft3hWNJMGJXUUqdIj3cOZuHcU0nCWWcY3jd7yRe/3AEm3vSNTpBGQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" + "is-glob": "^2.0.0" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/istanbul-lib-instrument/node_modules/istanbul-lib-coverage": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", - "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", + "node_modules/is-invalid-path/node_modules/is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==", "dev": true, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/istanbul-lib-processinfo": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.3.tgz", - "integrity": "sha512-NkwHbo3E00oybX6NGJi6ar0B29vxyvNwoC7eJ4G4Yq28UfY758Hgn/heV8VRFhevPED4LXfFz0DQ8z/0kw9zMg==", + "node_modules/is-invalid-path/node_modules/is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha512-a1dBeB19NXsf/E0+FHqkagizel/LQw2DjSQpvQrj3zT+jYPpaUCryPnrQajXKFLCMuf4I6FhRpaGtw4lPrG6Eg==", "dev": true, + "license": "MIT", "dependencies": { - "archy": "^1.0.0", - "cross-spawn": "^7.0.3", - "istanbul-lib-coverage": "^3.2.0", - "p-map": "^3.0.0", - "rimraf": "^3.0.0", - "uuid": "^8.3.2" + "is-extglob": "^1.0.0" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/istanbul-lib-processinfo/node_modules/istanbul-lib-coverage": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", - "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", + "node_modules/is-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", "dev": true, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/istanbul-lib-processinfo/node_modules/p-map": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", - "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", + "node_modules/is-negative-zero": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", "dev": true, - "dependencies": { - "aggregate-error": "^3.0.0" - }, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/istanbul-lib-processinfo/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==", + "node_modules/is-node-process": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-node-process/-/is-node-process-1.2.0.tgz", + "integrity": "sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw==", "dev": true, - "bin": { - "uuid": "dist/bin/uuid" + "license": "MIT" + }, + "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==", + "license": "MIT", + "engines": { + "node": ">=0.12.0" } }, - "node_modules/istanbul-lib-report": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", - "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", "dev": true, + "license": "MIT", "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^4.0.0", - "supports-color": "^7.1.0" + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=10" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/istanbul-lib-report/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==", + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/istanbul-lib-report/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, + "node_modules/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==", + "license": "MIT", + "peer": true, "dependencies": { - "has-flag": "^4.0.0" + "isobject": "^3.0.1" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", "dev": true, + "license": "MIT", "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=10" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/istanbul-lib-source-maps/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==", + "node_modules/is-set": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", "dev": true, + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/istanbul-reports": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz", - "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==", + "node_modules/is-shared-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", + "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", "dev": true, + "license": "MIT", "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" + "call-bind": "^1.0.7" }, "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/iterall": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/iterall/-/iterall-1.3.0.tgz", - "integrity": "sha512-QZ9qOMdF+QLHxy1QIpUHUU1D5pS2CG2P69LF6L6CPjPYA/XMOmKV3PZpawHoAjHNyB0swdVTRxdYT4tbBbxqwg==", - "dev": true + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "node_modules/iterator.prototype": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz", - "integrity": "sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==", + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", "dev": true, + "license": "MIT", "dependencies": { - "define-properties": "^1.2.1", - "get-intrinsic": "^1.2.1", - "has-symbols": "^1.0.3", - "reflect.getprototypeof": "^1.0.4", - "set-function-name": "^2.0.1" + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-diff": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", - "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", "dev": true, + "license": "MIT", "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^29.6.3", - "jest-get-type": "^29.6.3", - "pretty-format": "^29.7.0" + "has-symbols": "^1.0.2" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-diff/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==", + "node_modules/is-typed-array": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", + "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", "dev": true, + "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "which-typed-array": "^1.1.14" }, "engines": { - "node": ">=8" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-diff/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, + "license": "MIT" + }, + "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==", + "license": "MIT", "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-diff/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==", + "node_modules/is-valid-path": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-valid-path/-/is-valid-path-0.1.1.tgz", + "integrity": "sha512-+kwPrVDu9Ms03L90Qaml+79+6DZHqHyRoANI6IsZJ/g8frhnfchDOBCa0RbQ6/kdHt5CS5OeIEyrYznNuVN+8A==", "dev": true, + "license": "MIT", "dependencies": { - "color-name": "~1.1.4" + "is-invalid-path": "^0.1.0" }, "engines": { - "node": ">=7.0.0" + "node": ">=0.10.0" } }, - "node_modules/jest-diff/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/jest-diff/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==", + "node_modules/is-weakmap": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", "dev": true, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-diff/node_modules/pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", "dev": true, + "license": "MIT", "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" + "call-bind": "^1.0.2" }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-diff/node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "node_modules/is-weakset": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz", + "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==", "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4" + }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-diff/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - }, - "node_modules/jest-diff/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==", + "node_modules/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==", "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/jest-environment-node": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", - "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", + "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==", + "license": "MIT", "peer": true, "dependencies": { - "@jest/environment": "^29.7.0", - "@jest/fake-timers": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-mock": "^29.7.0", - "jest-util": "^29.7.0" + "is-docker": "^2.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/jest-get-type": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", - "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "license": "ISC" + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "license": "MIT", + "peer": true, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.10.0" } }, - "node_modules/jest-matcher-utils": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", - "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", - "dev": true, + "node_modules/isomorphic-unfetch": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/isomorphic-unfetch/-/isomorphic-unfetch-3.1.0.tgz", + "integrity": "sha512-geDJjpoZ8N0kWexiwkX8F9NkTsXhetLPVbZFQ+JTW239QNOwvB0gniuR1Wc6f0AMTn7/mFGyXvHTifrCp/GH8Q==", + "license": "MIT", "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^29.7.0", - "jest-get-type": "^29.6.3", - "pretty-format": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node-fetch": "^2.6.1", + "unfetch": "^4.2.0" } }, - "node_modules/jest-matcher-utils/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, + "node_modules/isomorphic-unfetch/node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "whatwg-url": "^5.0.0" }, "engines": { - "node": ">=8" + "node": "4.x || >=6.0.0" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/isomorphic-unfetch/node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "license": "MIT" + }, + "node_modules/isomorphic-unfetch/node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "license": "BSD-2-Clause" + }, + "node_modules/isomorphic-unfetch/node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "license": "MIT", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" } }, - "node_modules/jest-matcher-utils/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", "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" - } + "license": "MIT" }, - "node_modules/jest-matcher-utils/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==", + "node_modules/istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, + "license": "BSD-3-Clause", "engines": { - "node": ">=7.0.0" + "node": ">=8" } }, - "node_modules/jest-matcher-utils/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/jest-matcher-utils/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==", + "node_modules/istanbul-lib-hook": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz", + "integrity": "sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==", "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "append-transform": "^2.0.0" + }, "engines": { "node": ">=8" } }, - "node_modules/jest-matcher-utils/node_modules/pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "node_modules/istanbul-lib-instrument": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz", + "integrity": "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" + "@babel/core": "^7.23.9", + "@babel/parser": "^7.23.9", + "@istanbuljs/schema": "^0.1.3", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^7.5.4" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=10" } }, - "node_modules/jest-matcher-utils/node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, "engines": { "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-matcher-utils/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - }, - "node_modules/jest-matcher-utils/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==", + "node_modules/istanbul-lib-processinfo": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.3.tgz", + "integrity": "sha512-NkwHbo3E00oybX6NGJi6ar0B29vxyvNwoC7eJ4G4Yq28UfY758Hgn/heV8VRFhevPED4LXfFz0DQ8z/0kw9zMg==", "dev": true, + "license": "ISC", "dependencies": { - "has-flag": "^4.0.0" + "archy": "^1.0.0", + "cross-spawn": "^7.0.3", + "istanbul-lib-coverage": "^3.2.0", + "p-map": "^3.0.0", + "rimraf": "^3.0.0", + "uuid": "^8.3.2" }, "engines": { "node": ">=8" } }, - "node_modules/jest-message-util": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", - "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", + "node_modules/istanbul-lib-processinfo/node_modules/p-map": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", + "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", + "dev": true, + "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.6.3", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^29.7.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" + "aggregate-error": "^3.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/jest-message-util/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/istanbul-lib-processinfo/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, + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" } }, - "node_modules/jest-message-util/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "ansi-styles": "^4.1.0", + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", "supports-color": "^7.1.0" }, "engines": { "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-message-util/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/jest-message-util/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/jest-message-util/node_modules/has-flag": { + "node_modules/istanbul-lib-report/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, + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/jest-message-util/node_modules/pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", - "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-message-util/node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-message-util/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" - }, - "node_modules/jest-message-util/node_modules/supports-color": { + "node_modules/istanbul-lib-report/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, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -20465,121 +20618,126 @@ "node": ">=8" } }, - "node_modules/jest-mock": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", - "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", - "peer": true, + "node_modules/istanbul-lib-source-maps": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-5.0.6.tgz", + "integrity": "sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==", + "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-util": "^29.7.0" + "@jridgewell/trace-mapping": "^0.3.23", + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=10" } }, - "node_modules/jest-util": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", - "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "node_modules/istanbul-reports": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", + "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", + "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/jest-util/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==", + "node_modules/iterall": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/iterall/-/iterall-1.3.0.tgz", + "integrity": "sha512-QZ9qOMdF+QLHxy1QIpUHUU1D5pS2CG2P69LF6L6CPjPYA/XMOmKV3PZpawHoAjHNyB0swdVTRxdYT4tbBbxqwg==", + "dev": true, + "license": "MIT" + }, + "node_modules/iterator.prototype": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz", + "integrity": "sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==", + "dev": true, + "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "define-properties": "^1.2.1", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "reflect.getprototypeof": "^1.0.4", + "set-function-name": "^2.0.1" } }, - "node_modules/jest-util/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "dev": true, + "license": "BlueOak-1.0.0", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" + "@isaacs/cliui": "^8.0.2" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" } }, - "node_modules/jest-util/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==", + "node_modules/jest-environment-node": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", + "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", + "license": "MIT", + "peer": true, "dependencies": { - "color-name": "~1.1.4" + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" }, "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-util/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/jest-util/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": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-util/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" - }, + "node_modules/jest-get-type": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", + "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", + "license": "MIT", + "peer": true, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-validate": { + "node_modules/jest-message-util": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", - "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", + "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", + "license": "MIT", "peer": true, "dependencies": { + "@babel/code-frame": "^7.12.13", "@jest/types": "^29.6.3", - "camelcase": "^6.2.0", + "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", - "jest-get-type": "^29.6.3", - "leven": "^3.1.0", - "pretty-format": "^29.7.0" + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-validate/node_modules/ansi-styles": { + "node_modules/jest-message-util/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==", + "license": "MIT", "peer": true, "dependencies": { "color-convert": "^2.0.1" @@ -20591,22 +20749,11 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-validate/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "peer": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/jest-validate/node_modules/chalk": { + "node_modules/jest-message-util/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "peer": true, "dependencies": { "ansi-styles": "^4.1.0", @@ -20619,10 +20766,11 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jest-validate/node_modules/color-convert": { + "node_modules/jest-message-util/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==", + "license": "MIT", "peer": true, "dependencies": { "color-name": "~1.1.4" @@ -20631,25 +20779,28 @@ "node": ">=7.0.0" } }, - "node_modules/jest-validate/node_modules/color-name": { + "node_modules/jest-message-util/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==", + "license": "MIT", "peer": true }, - "node_modules/jest-validate/node_modules/has-flag": { + "node_modules/jest-message-util/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==", + "license": "MIT", "peer": true, "engines": { "node": ">=8" } }, - "node_modules/jest-validate/node_modules/pretty-format": { + "node_modules/jest-message-util/node_modules/pretty-format": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "license": "MIT", "peer": true, "dependencies": { "@jest/schemas": "^29.6.3", @@ -20660,10 +20811,11 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-validate/node_modules/pretty-format/node_modules/ansi-styles": { + "node_modules/jest-message-util/node_modules/pretty-format/node_modules/ansi-styles": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "license": "MIT", "peer": true, "engines": { "node": ">=10" @@ -20672,177 +20824,64 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-validate/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "node_modules/jest-message-util/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "license": "MIT", "peer": true }, - "node_modules/jest-validate/node_modules/supports-color": { + "node_modules/jest-message-util/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/jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/jest-worker/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, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-worker/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, "license": "MIT", "peer": true, "dependencies": { "has-flag": "^4.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/joi": { - "version": "17.13.1", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.13.1.tgz", - "integrity": "sha512-vaBlIKCyo4FCUtCm7Eu4QZd/q02bWcxfUO6YSXAZOWF6gzcLBeba8kwotUdYJjDLW8Cz8RywsSOqiNJZW0mNvg==", - "peer": true, - "dependencies": { - "@hapi/hoek": "^9.3.0", - "@hapi/topo": "^5.1.0", - "@sideway/address": "^4.1.5", - "@sideway/formula": "^3.0.1", - "@sideway/pinpoint": "^2.0.0" - } - }, - "node_modules/js-cookie": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-2.2.1.tgz", - "integrity": "sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ==" - }, - "node_modules/js-file-download": { - "version": "0.4.12", - "resolved": "https://registry.npmjs.org/js-file-download/-/js-file-download-0.4.12.tgz", - "integrity": "sha512-rML+NkoD08p5Dllpjo0ffy4jRHeY6Zsapvr/W86N7E0yuzAO6qa5X9+xog6zQNlH102J7IXljNY2FtS6Lj3ucg==" - }, - "node_modules/js-levenshtein": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", - "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/js-sha3": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "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": ">=8" } }, - "node_modules/jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", - "dev": true - }, - "node_modules/jsc-android": { - "version": "250231.0.0", - "resolved": "https://registry.npmjs.org/jsc-android/-/jsc-android-250231.0.0.tgz", - "integrity": "sha512-rS46PvsjYmdmuz1OAWXY/1kCYG7pnf1TBqeTiOJr1iDz7s5DLxxC9n/ZMknLDxzYzNVfI7R95MH10emSSG1Wuw==", - "peer": true - }, - "node_modules/jsc-safe-url": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/jsc-safe-url/-/jsc-safe-url-0.2.4.tgz", - "integrity": "sha512-0wM3YBWtYePOjfyXQH5MWQ8H7sdk5EXSwZvmSLKk2RboVQ2Bu239jycHDz5J/8Blf3K0Qnoy2b6xD+z10MFB+Q==", - "peer": true - }, - "node_modules/jscodeshift": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.14.0.tgz", - "integrity": "sha512-7eCC1knD7bLUPuSCwXsMZUH51O8jIcoVyKtI6P0XM0IVzlGjckPy3FIwQlorzbN0Sg79oK+RlohN32Mqf/lrYA==", - "peer": true, - "dependencies": { - "@babel/core": "^7.13.16", - "@babel/parser": "^7.13.16", - "@babel/plugin-proposal-class-properties": "^7.13.0", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.13.8", - "@babel/plugin-proposal-optional-chaining": "^7.13.12", - "@babel/plugin-transform-modules-commonjs": "^7.13.8", - "@babel/preset-flow": "^7.13.13", - "@babel/preset-typescript": "^7.13.0", - "@babel/register": "^7.13.16", - "babel-core": "^7.0.0-bridge.0", - "chalk": "^4.1.2", - "flow-parser": "0.*", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.4", - "neo-async": "^2.5.0", - "node-dir": "^0.1.17", - "recast": "^0.21.0", - "temp": "^0.8.4", - "write-file-atomic": "^2.3.0" + "node_modules/jest-mock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", + "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", + "license": "MIT", + "peer": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-util": "^29.7.0" }, - "bin": { - "jscodeshift": "bin/jscodeshift.js" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" }, - "peerDependencies": { - "@babel/preset-env": "^7.1.6" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jscodeshift/node_modules/ansi-styles": { + "node_modules/jest-util/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==", + "license": "MIT", "peer": true, "dependencies": { "color-convert": "^2.0.1" @@ -20854,10 +20893,11 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jscodeshift/node_modules/chalk": { + "node_modules/jest-util/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "peer": true, "dependencies": { "ansi-styles": "^4.1.0", @@ -20870,10 +20910,11 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jscodeshift/node_modules/color-convert": { + "node_modules/jest-util/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==", + "license": "MIT", "peer": true, "dependencies": { "color-name": "~1.1.4" @@ -20882,25 +20923,28 @@ "node": ">=7.0.0" } }, - "node_modules/jscodeshift/node_modules/color-name": { + "node_modules/jest-util/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==", + "license": "MIT", "peer": true }, - "node_modules/jscodeshift/node_modules/has-flag": { + "node_modules/jest-util/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==", + "license": "MIT", "peer": true, "engines": { "node": ">=8" } }, - "node_modules/jscodeshift/node_modules/supports-color": { + "node_modules/jest-util/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==", + "license": "MIT", "peer": true, "dependencies": { "has-flag": "^4.0.0" @@ -20909,417 +20953,301 @@ "node": ">=8" } }, - "node_modules/jscodeshift/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==", + "node_modules/jest-validate": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", + "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", + "license": "MIT", "peer": true, "dependencies": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" - } - }, - "node_modules/jsdom": { - "version": "22.1.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-22.1.0.tgz", - "integrity": "sha512-/9AVW7xNbsBv6GfWho4TTNjEo9fe6Zhf9O7s0Fhhr3u+awPwAJMKwAMXnkk5vBxflqLW9hTHX/0cs+P3gW+cQw==", - "dev": true, - "dependencies": { - "abab": "^2.0.6", - "cssstyle": "^3.0.0", - "data-urls": "^4.0.0", - "decimal.js": "^10.4.3", - "domexception": "^4.0.0", - "form-data": "^4.0.0", - "html-encoding-sniffer": "^3.0.0", - "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.1", - "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.4", - "parse5": "^7.1.2", - "rrweb-cssom": "^0.6.0", - "saxes": "^6.0.0", - "symbol-tree": "^3.2.4", - "tough-cookie": "^4.1.2", - "w3c-xmlserializer": "^4.0.0", - "webidl-conversions": "^7.0.0", - "whatwg-encoding": "^2.0.0", - "whatwg-mimetype": "^3.0.0", - "whatwg-url": "^12.0.1", - "ws": "^8.13.0", - "xml-name-validator": "^4.0.0" + "@jest/types": "^29.6.3", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "leven": "^3.1.0", + "pretty-format": "^29.7.0" }, "engines": { - "node": ">=16" - }, - "peerDependencies": { - "canvas": "^2.5.0" - }, - "peerDependenciesMeta": { - "canvas": { - "optional": true - } + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jsdom/node_modules/form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "dev": true, + "node_modules/jest-validate/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==", + "license": "MIT", + "peer": true, "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, - "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/json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "peer": true - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true - }, - "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==", - "dev": true - }, - "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==", - "dev": true - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true - }, - "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": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", - "dev": true - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "bin": { - "json5": "lib/cli.js" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=6" - } - }, - "node_modules/jsonc-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", - "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==" - }, - "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/jsprim": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz", - "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==", - "dev": true, - "engines": [ - "node >=0.6.0" - ], - "dependencies": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.4.0", - "verror": "1.10.0" - } - }, - "node_modules/jsx-ast-utils": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", - "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", - "dev": true, - "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flat": "^1.3.1", - "object.assign": "^4.1.4", - "object.values": "^1.1.6" + "node": ">=8" }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "dependencies": { - "json-buffer": "3.0.1" + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/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==", + "node_modules/jest-validate/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "license": "MIT", "peer": true, "engines": { - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } - }, - "node_modules/kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + }, + "node_modules/jest-validate/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { - "node": ">=6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/layout-base": { + "node_modules/jest-validate/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/layout-base/-/layout-base-2.0.1.tgz", - "integrity": "sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg==" - }, - "node_modules/lazy-ass": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz", - "integrity": "sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==", - "dev": true, + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, "engines": { - "node": "> 0.8" + "node": ">=7.0.0" } }, - "node_modules/leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "node_modules/jest-validate/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==", + "license": "MIT", + "peer": true + }, + "node_modules/jest-validate/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==", + "license": "MIT", "peer": true, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, + "node_modules/jest-validate/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "license": "MIT", + "peer": true, "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/lighthouse-logger": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/lighthouse-logger/-/lighthouse-logger-1.4.2.tgz", - "integrity": "sha512-gPWxznF6TKmUHrOQjlVo2UbaL2EJ71mb2CCeRs/2qBpi4L/g4LUVc9+3lKQ6DTUZwJswfM7ainGrLO1+fOqa2g==", - "peer": true, - "dependencies": { - "debug": "^2.6.9", - "marky": "^1.2.2" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/lighthouse-logger/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/jest-validate/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "license": "MIT", "peer": true, - "dependencies": { - "ms": "2.0.0" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/lighthouse-logger/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "node_modules/jest-validate/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "license": "MIT", "peer": true }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true - }, - "node_modules/listr2": { - "version": "3.14.0", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz", - "integrity": "sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==", - "dev": true, + "node_modules/jest-validate/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==", + "license": "MIT", + "peer": true, "dependencies": { - "cli-truncate": "^2.1.0", - "colorette": "^2.0.16", - "log-update": "^4.0.0", - "p-map": "^4.0.0", - "rfdc": "^1.3.0", - "rxjs": "^7.5.1", - "through": "^2.3.8", - "wrap-ansi": "^7.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "enquirer": ">= 2.3.0 < 3" - }, - "peerDependenciesMeta": { - "enquirer": { - "optional": true - } + "node": ">=8" } }, - "node_modules/loader-runner": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", - "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", - "dev": true, + "node_modules/jest-worker": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", + "license": "MIT", "peer": true, + "dependencies": { + "@types/node": "*", + "jest-util": "^29.7.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, "engines": { - "node": ">=6.11.5" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/local-pkg": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.0.tgz", - "integrity": "sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==", - "dev": true, - "dependencies": { - "mlly": "^1.4.2", - "pkg-types": "^1.0.3" - }, + "node_modules/jest-worker/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==", + "license": "MIT", + "peer": true, "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" + "node": ">=8" } }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "node_modules/jest-worker/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==", + "license": "MIT", + "peer": true, "dependencies": { - "p-locate": "^5.0.0" + "has-flag": "^4.0.0" }, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "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.curry": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.curry/-/lodash.curry-4.1.1.tgz", - "integrity": "sha512-/u14pXGviLaweY5JI0IUzgzF2J6Ne8INyzAZjImcryjgkZ+ebruBxy2/JaOOkTqScddcYtakjhSaeemV8lR0tA==" + "node_modules/joi": { + "version": "17.13.3", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.13.3.tgz", + "integrity": "sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==", + "license": "BSD-3-Clause", + "peer": true, + "dependencies": { + "@hapi/hoek": "^9.3.0", + "@hapi/topo": "^5.1.0", + "@sideway/address": "^4.1.5", + "@sideway/formula": "^3.0.1", + "@sideway/pinpoint": "^2.0.0" + } }, - "node_modules/lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" + "node_modules/js-cookie": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-2.2.1.tgz", + "integrity": "sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ==", + "license": "MIT" }, - "node_modules/lodash.flattendeep": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", - "integrity": "sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ==", - "dev": true + "node_modules/js-file-download": { + "version": "0.4.12", + "resolved": "https://registry.npmjs.org/js-file-download/-/js-file-download-0.4.12.tgz", + "integrity": "sha512-rML+NkoD08p5Dllpjo0ffy4jRHeY6Zsapvr/W86N7E0yuzAO6qa5X9+xog6zQNlH102J7IXljNY2FtS6Lj3ucg==", + "license": "MIT" }, - "node_modules/lodash.flow": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/lodash.flow/-/lodash.flow-3.5.0.tgz", - "integrity": "sha512-ff3BX/tSioo+XojX4MOsOMhJw0nZoUEF011LX8g8d3gvjVbxd89cCio4BCXronjxcTUIJUoqKEUA+n4CqvvRPw==" + "node_modules/js-sha3": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", + "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==", + "license": "MIT" }, - "node_modules/lodash.forown": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.forown/-/lodash.forown-4.4.0.tgz", - "integrity": "sha512-xcpca6BCshoe5SFSrQOoV8FBEbNzcBa6QQYmtv48eEFNzdwQLkHkcWSaBlecHhyHb1BUk1xqFdXoiSLJkt/w5w==" + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "license": "MIT" }, - "node_modules/lodash.isobject": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-3.0.2.tgz", - "integrity": "sha512-3/Qptq2vr7WeJbB4KHUSKlq8Pl7ASXi3UG6CMbBm8WRtXi8+GHm7mKaU3urfpSEzWe2wCIChs6/sdocUsTKJiA==" + "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==", + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", + "dev": true, + "license": "MIT" }, - "node_modules/lodash.once": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", - "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", - "dev": true + "node_modules/jsc-android": { + "version": "250231.0.0", + "resolved": "https://registry.npmjs.org/jsc-android/-/jsc-android-250231.0.0.tgz", + "integrity": "sha512-rS46PvsjYmdmuz1OAWXY/1kCYG7pnf1TBqeTiOJr1iDz7s5DLxxC9n/ZMknLDxzYzNVfI7R95MH10emSSG1Wuw==", + "license": "BSD-2-Clause", + "peer": true }, - "node_modules/lodash.throttle": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", - "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==", + "node_modules/jsc-safe-url": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/jsc-safe-url/-/jsc-safe-url-0.2.4.tgz", + "integrity": "sha512-0wM3YBWtYePOjfyXQH5MWQ8H7sdk5EXSwZvmSLKk2RboVQ2Bu239jycHDz5J/8Blf3K0Qnoy2b6xD+z10MFB+Q==", + "license": "0BSD", "peer": true }, - "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==", + "node_modules/jscodeshift": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.14.0.tgz", + "integrity": "sha512-7eCC1knD7bLUPuSCwXsMZUH51O8jIcoVyKtI6P0XM0IVzlGjckPy3FIwQlorzbN0Sg79oK+RlohN32Mqf/lrYA==", + "license": "MIT", + "peer": true, "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" + "@babel/core": "^7.13.16", + "@babel/parser": "^7.13.16", + "@babel/plugin-proposal-class-properties": "^7.13.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.13.8", + "@babel/plugin-proposal-optional-chaining": "^7.13.12", + "@babel/plugin-transform-modules-commonjs": "^7.13.8", + "@babel/preset-flow": "^7.13.13", + "@babel/preset-typescript": "^7.13.0", + "@babel/register": "^7.13.16", + "babel-core": "^7.0.0-bridge.0", + "chalk": "^4.1.2", + "flow-parser": "0.*", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.4", + "neo-async": "^2.5.0", + "node-dir": "^0.1.17", + "recast": "^0.21.0", + "temp": "^0.8.4", + "write-file-atomic": "^2.3.0" }, - "engines": { - "node": ">=10" + "bin": { + "jscodeshift": "bin/jscodeshift.js" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "@babel/preset-env": "^7.1.6" } }, - "node_modules/log-symbols/node_modules/ansi-styles": { + "node_modules/jscodeshift/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==", + "license": "MIT", + "peer": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -21330,10 +21258,12 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/log-symbols/node_modules/chalk": { + "node_modules/jscodeshift/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "peer": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -21345,10 +21275,12 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/log-symbols/node_modules/color-convert": { + "node_modules/jscodeshift/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==", + "license": "MIT", + "peer": true, "dependencies": { "color-name": "~1.1.4" }, @@ -21356,23 +21288,29 @@ "node": ">=7.0.0" } }, - "node_modules/log-symbols/node_modules/color-name": { + "node_modules/jscodeshift/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==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT", + "peer": true }, - "node_modules/log-symbols/node_modules/has-flag": { + "node_modules/jscodeshift/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==", + "license": "MIT", + "peer": true, "engines": { "node": ">=8" } }, - "node_modules/log-symbols/node_modules/supports-color": { + "node_modules/jscodeshift/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==", + "license": "MIT", + "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -21380,1143 +21318,1185 @@ "node": ">=8" } }, - "node_modules/log-update": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", - "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", - "dev": true, + "node_modules/jscodeshift/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==", + "license": "ISC", + "peer": true, "dependencies": { - "ansi-escapes": "^4.3.0", - "cli-cursor": "^3.1.0", - "slice-ansi": "^4.0.0", - "wrap-ansi": "^6.2.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" } }, - "node_modules/log-update/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==", + "node_modules/jsdom": { + "version": "22.1.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-22.1.0.tgz", + "integrity": "sha512-/9AVW7xNbsBv6GfWho4TTNjEo9fe6Zhf9O7s0Fhhr3u+awPwAJMKwAMXnkk5vBxflqLW9hTHX/0cs+P3gW+cQw==", "dev": true, + "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "abab": "^2.0.6", + "cssstyle": "^3.0.0", + "data-urls": "^4.0.0", + "decimal.js": "^10.4.3", + "domexception": "^4.0.0", + "form-data": "^4.0.0", + "html-encoding-sniffer": "^3.0.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.1", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.4", + "parse5": "^7.1.2", + "rrweb-cssom": "^0.6.0", + "saxes": "^6.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.1.2", + "w3c-xmlserializer": "^4.0.0", + "webidl-conversions": "^7.0.0", + "whatwg-encoding": "^2.0.0", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^12.0.1", + "ws": "^8.13.0", + "xml-name-validator": "^4.0.0" }, "engines": { - "node": ">=8" + "node": ">=16" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/log-update/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" + "peerDependencies": { + "canvas": "^2.5.0" }, - "engines": { - "node": ">=7.0.0" + "peerDependenciesMeta": { + "canvas": { + "optional": true + } } }, - "node_modules/log-update/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/log-update/node_modules/slice-ansi": { + "node_modules/jsdom/node_modules/form-data": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", "dev": true, + "license": "MIT", "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" + "node": ">= 6" } }, - "node_modules/log-update/node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/logkitty": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/logkitty/-/logkitty-0.7.1.tgz", - "integrity": "sha512-/3ER20CTTbahrCrpYfPn7Xavv9diBROZpoXGVZDWMw4b/X4uuUwAC0ki85tgsdMRONURyIJbcOvS94QsUBYPbQ==", - "peer": true, - "dependencies": { - "ansi-fragments": "^0.2.1", - "dayjs": "^1.8.15", - "yargs": "^15.1.0" - }, - "bin": { - "logkitty": "bin/logkitty.js" - } + "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, + "license": "MIT" }, - "node_modules/loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" - } + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "license": "MIT", + "peer": true }, - "node_modules/loupe": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", - "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "license": "MIT" + }, + "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==", + "dev": true, + "license": "(AFL-2.1 OR BSD-3-Clause)" + }, + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true, + "license": "MIT" + }, + "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": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", "dev": true, - "dependencies": { - "get-func-name": "^2.0.1" - } + "license": "ISC" }, - "node_modules/lower-case": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", - "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", - "dependencies": { - "tslib": "^2.0.3" + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" } }, - "node_modules/lower-case/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + "node_modules/jsonc-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz", + "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==", + "license": "MIT" }, - "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "license": "MIT", "dependencies": { - "yallist": "^3.0.2" + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "node_modules/lz-string": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", - "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", + "node_modules/jsprim": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz", + "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==", "dev": true, - "bin": { - "lz-string": "bin/bin.js" + "engines": [ + "node >=0.6.0" + ], + "license": "MIT", + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" } }, - "node_modules/magic-string": { - "version": "0.30.5", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.5.tgz", - "integrity": "sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==", + "node_modules/jsx-ast-utils": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", "dev": true, + "license": "MIT", "dependencies": { - "@jridgewell/sourcemap-codec": "^1.4.15" + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" }, "engines": { - "node": ">=12" + "node": ">=4.0" } }, - "node_modules/magicast": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.3.3.tgz", - "integrity": "sha512-ZbrP1Qxnpoes8sz47AM0z08U+jW6TyRgZzcWy3Ma3vDhJttwMwAFDMMQFobwdBxByBD46JYmxRzeF7w2+wJEuw==", + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/parser": "^7.23.6", - "@babel/types": "^7.23.6", - "source-map-js": "^1.0.2" + "json-buffer": "3.0.1" } }, - "node_modules/make-dir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", - "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", - "dev": true, - "dependencies": { - "semver": "^7.5.3" - }, + "node_modules/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==", + "license": "MIT", + "peer": true, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "node_modules/make-dir/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==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "license": "MIT", + "peer": true, "engines": { - "node": ">=10" + "node": ">=6" } }, - "node_modules/make-dir/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "node_modules/layout-base": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/layout-base/-/layout-base-2.0.1.tgz", + "integrity": "sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg==", + "license": "MIT" + }, + "node_modules/lazy-ass": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz", + "integrity": "sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, + "license": "MIT", "engines": { - "node": ">=10" + "node": "> 0.8" } }, - "node_modules/make-dir/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "license": "MIT", "peer": true, - "dependencies": { - "tmpl": "1.0.5" - } - }, - "node_modules/map-obj": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", - "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=6" } }, - "node_modules/marky": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/marky/-/marky-1.2.5.tgz", - "integrity": "sha512-q9JtQJKjpsVxCRVgQ+WapguSbKC3SQ5HEzFGPAJMStgh3QjCawp00UKv3MTTAArTmGmmPUvllHZoNbZ3gs0I+Q==", - "peer": true - }, - "node_modules/match-sorter": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/match-sorter/-/match-sorter-6.3.1.tgz", - "integrity": "sha512-mxybbo3pPNuA+ZuCUhm5bwNkXrJTbsk5VWbR5wiwz/GC6LIiegBGn2w3O08UG/jdbYLinw51fSQ5xNU1U3MgBw==", + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "license": "MIT", "dependencies": { - "@babel/runtime": "^7.12.5", - "remove-accents": "0.4.2" - } - }, - "node_modules/mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" - }, - "node_modules/memoize-one": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.2.1.tgz", - "integrity": "sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==", - "peer": true - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, "engines": { - "node": ">= 8" + "node": ">= 0.8.0" } }, - "node_modules/meta-png": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/meta-png/-/meta-png-1.0.6.tgz", - "integrity": "sha512-eQtEi5E9axqwqA/sDK1dyhX9kYHCUe2m+45aQ3JHrozjGPs+/ab+hdhPp7A3GUNW+ZAbavrsg5xQ4r5jkGDX+A==", - "dev": true - }, - "node_modules/metro": { - "version": "0.80.9", - "resolved": "https://registry.npmjs.org/metro/-/metro-0.80.9.tgz", - "integrity": "sha512-Bc57Xf3GO2Xe4UWQsBj/oW6YfLPABEu8jfDVDiNmJvoQW4CO34oDPuYKe4KlXzXhcuNsqOtSxpbjCRRVjhhREg==", + "node_modules/lighthouse-logger": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/lighthouse-logger/-/lighthouse-logger-1.4.2.tgz", + "integrity": "sha512-gPWxznF6TKmUHrOQjlVo2UbaL2EJ71mb2CCeRs/2qBpi4L/g4LUVc9+3lKQ6DTUZwJswfM7ainGrLO1+fOqa2g==", + "license": "Apache-2.0", "peer": true, "dependencies": { - "@babel/code-frame": "^7.0.0", - "@babel/core": "^7.20.0", - "@babel/generator": "^7.20.0", - "@babel/parser": "^7.20.0", - "@babel/template": "^7.0.0", - "@babel/traverse": "^7.20.0", - "@babel/types": "^7.20.0", - "accepts": "^1.3.7", - "chalk": "^4.0.0", - "ci-info": "^2.0.0", - "connect": "^3.6.5", - "debug": "^2.2.0", - "denodeify": "^1.2.1", - "error-stack-parser": "^2.0.6", - "graceful-fs": "^4.2.4", - "hermes-parser": "0.20.1", - "image-size": "^1.0.2", - "invariant": "^2.2.4", - "jest-worker": "^29.6.3", - "jsc-safe-url": "^0.2.2", - "lodash.throttle": "^4.1.1", - "metro-babel-transformer": "0.80.9", - "metro-cache": "0.80.9", - "metro-cache-key": "0.80.9", - "metro-config": "0.80.9", - "metro-core": "0.80.9", - "metro-file-map": "0.80.9", - "metro-resolver": "0.80.9", - "metro-runtime": "0.80.9", - "metro-source-map": "0.80.9", - "metro-symbolicate": "0.80.9", - "metro-transform-plugins": "0.80.9", - "metro-transform-worker": "0.80.9", - "mime-types": "^2.1.27", - "node-fetch": "^2.2.0", - "nullthrows": "^1.1.1", - "rimraf": "^3.0.2", - "serialize-error": "^2.1.0", - "source-map": "^0.5.6", - "strip-ansi": "^6.0.0", - "throat": "^5.0.0", - "ws": "^7.5.1", - "yargs": "^17.6.2" - }, - "bin": { - "metro": "src/cli.js" - }, - "engines": { - "node": ">=18" + "debug": "^2.6.9", + "marky": "^1.2.2" } }, - "node_modules/metro-babel-transformer": { - "version": "0.80.9", - "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.80.9.tgz", - "integrity": "sha512-d76BSm64KZam1nifRZlNJmtwIgAeZhZG3fi3K+EmPOlrR8rDtBxQHDSN3fSGeNB9CirdTyabTMQCkCup6BXFSQ==", + "node_modules/lighthouse-logger/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", "peer": true, "dependencies": { - "@babel/core": "^7.20.0", - "hermes-parser": "0.20.1", - "nullthrows": "^1.1.1" - }, - "engines": { - "node": ">=18" + "ms": "2.0.0" } }, - "node_modules/metro-babel-transformer/node_modules/hermes-estree": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.20.1.tgz", - "integrity": "sha512-SQpZK4BzR48kuOg0v4pb3EAGNclzIlqMj3Opu/mu7bbAoFw6oig6cEt/RAi0zTFW/iW6Iz9X9ggGuZTAZ/yZHg==", + "node_modules/lighthouse-logger/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT", "peer": true }, - "node_modules/metro-babel-transformer/node_modules/hermes-parser": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.20.1.tgz", - "integrity": "sha512-BL5P83cwCogI8D7rrDCgsFY0tdYUtmFP9XaXtl2IQjC+2Xo+4okjfXintlTxcIwl4qeGddEl28Z11kbVIw0aNA==", - "peer": true, - "dependencies": { - "hermes-estree": "0.20.1" - } + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "license": "MIT" }, - "node_modules/metro-cache": { - "version": "0.80.9", - "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.80.9.tgz", - "integrity": "sha512-ujEdSI43QwI+Dj2xuNax8LMo8UgKuXJEdxJkzGPU6iIx42nYa1byQ+aADv/iPh5sh5a//h5FopraW5voXSgm2w==", - "peer": true, + "node_modules/listr2": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz", + "integrity": "sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==", + "dev": true, + "license": "MIT", "dependencies": { - "metro-core": "0.80.9", - "rimraf": "^3.0.2" + "cli-truncate": "^2.1.0", + "colorette": "^2.0.16", + "log-update": "^4.0.0", + "p-map": "^4.0.0", + "rfdc": "^1.3.0", + "rxjs": "^7.5.1", + "through": "^2.3.8", + "wrap-ansi": "^7.0.0" }, "engines": { - "node": ">=18" + "node": ">=10.0.0" + }, + "peerDependencies": { + "enquirer": ">= 2.3.0 < 3" + }, + "peerDependenciesMeta": { + "enquirer": { + "optional": true + } } }, - "node_modules/metro-cache-key": { - "version": "0.80.9", - "resolved": "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.80.9.tgz", - "integrity": "sha512-hRcYGhEiWIdM87hU0fBlcGr+tHDEAT+7LYNCW89p5JhErFt/QaAkVx4fb5bW3YtXGv5BTV7AspWPERoIb99CXg==", + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "dev": true, + "license": "MIT", "peer": true, "engines": { - "node": ">=18" + "node": ">=6.11.5" } }, - "node_modules/metro-config": { - "version": "0.80.9", - "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.80.9.tgz", - "integrity": "sha512-28wW7CqS3eJrunRGnsibWldqgwRP9ywBEf7kg+uzUHkSFJNKPM1K3UNSngHmH0EZjomizqQA2Zi6/y6VdZMolg==", - "peer": true, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "license": "MIT", "dependencies": { - "connect": "^3.6.5", - "cosmiconfig": "^5.0.5", - "jest-validate": "^29.6.3", - "metro": "0.80.9", - "metro-cache": "0.80.9", - "metro-core": "0.80.9", - "metro-runtime": "0.80.9" + "p-locate": "^5.0.0" }, "engines": { - "node": ">=18" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/metro-config/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "peer": true, - "dependencies": { - "sprintf-js": "~1.0.2" - } + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "license": "MIT" }, - "node_modules/metro-config/node_modules/cosmiconfig": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", - "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", - "peer": true, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "license": "MIT" + }, + "node_modules/lodash.flattendeep": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", + "integrity": "sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.forown": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.forown/-/lodash.forown-4.4.0.tgz", + "integrity": "sha512-xcpca6BCshoe5SFSrQOoV8FBEbNzcBa6QQYmtv48eEFNzdwQLkHkcWSaBlecHhyHb1BUk1xqFdXoiSLJkt/w5w==", + "license": "MIT" + }, + "node_modules/lodash.isobject": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-3.0.2.tgz", + "integrity": "sha512-3/Qptq2vr7WeJbB4KHUSKlq8Pl7ASXi3UG6CMbBm8WRtXi8+GHm7mKaU3urfpSEzWe2wCIChs6/sdocUsTKJiA==", + "license": "MIT" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.throttle": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", + "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==", + "license": "MIT", + "peer": true + }, + "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==", + "license": "MIT", "dependencies": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.13.1", - "parse-json": "^4.0.0" + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" }, "engines": { - "node": ">=4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/metro-config/node_modules/import-fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", - "integrity": "sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==", - "peer": true, + "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==", + "license": "MIT", "dependencies": { - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=4" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/metro-config/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==", - "peer": true, + "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==", + "license": "MIT", "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/metro-config/node_modules/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", - "peer": true, + "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==", + "license": "MIT", "dependencies": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" + "color-name": "~1.1.4" }, "engines": { - "node": ">=4" + "node": ">=7.0.0" } }, - "node_modules/metro-config/node_modules/resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==", - "peer": true, + "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==", + "license": "MIT" + }, + "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==", + "license": "MIT", "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/metro-core": { - "version": "0.80.9", - "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.80.9.tgz", - "integrity": "sha512-tbltWQn+XTdULkGdzHIxlxk4SdnKxttvQQV3wpqqFbHDteR4gwCyTR2RyYJvxgU7HELfHtrVbqgqAdlPByUSbg==", - "peer": true, + "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==", + "license": "MIT", "dependencies": { - "lodash.throttle": "^4.1.1", - "metro-resolver": "0.80.9" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=18" + "node": ">=8" } }, - "node_modules/metro-file-map": { - "version": "0.80.9", - "resolved": "https://registry.npmjs.org/metro-file-map/-/metro-file-map-0.80.9.tgz", - "integrity": "sha512-sBUjVtQMHagItJH/wGU9sn3k2u0nrCl0CdR4SFMO1tksXLKbkigyQx4cbpcyPVOAmGTVuy3jyvBlELaGCAhplQ==", - "peer": true, + "node_modules/log-update": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", + "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", + "dev": true, + "license": "MIT", "dependencies": { - "anymatch": "^3.0.3", - "debug": "^2.2.0", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.4", - "invariant": "^2.2.4", - "jest-worker": "^29.6.3", - "micromatch": "^4.0.4", - "node-abort-controller": "^3.1.1", - "nullthrows": "^1.1.1", - "walker": "^1.0.7" + "ansi-escapes": "^4.3.0", + "cli-cursor": "^3.1.0", + "slice-ansi": "^4.0.0", + "wrap-ansi": "^6.2.0" }, "engines": { - "node": ">=18" + "node": ">=10" }, - "optionalDependencies": { - "fsevents": "^2.3.2" - } - }, - "node_modules/metro-file-map/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "peer": true, - "dependencies": { - "ms": "2.0.0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/metro-file-map/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, + "node_modules/log-update/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, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/metro-file-map/node_modules/jest-worker": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", - "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", - "peer": true, + "node_modules/log-update/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, + "license": "MIT", "dependencies": { - "@types/node": "*", - "jest-util": "^29.7.0", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" + "color-name": "~1.1.4" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=7.0.0" } }, - "node_modules/metro-file-map/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "peer": true + "node_modules/log-update/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, + "license": "MIT" }, - "node_modules/metro-file-map/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==", - "peer": true, + "node_modules/log-update/node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" }, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "url": "https://github.com/chalk/slice-ansi?sponsor=1" } }, - "node_modules/metro-minify-terser": { - "version": "0.80.9", - "resolved": "https://registry.npmjs.org/metro-minify-terser/-/metro-minify-terser-0.80.9.tgz", - "integrity": "sha512-FEeCeFbkvvPuhjixZ1FYrXtO0araTpV6UbcnGgDUpH7s7eR5FG/PiJz3TsuuPP/HwCK19cZtQydcA2QrCw446A==", - "peer": true, + "node_modules/log-update/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "license": "MIT", "dependencies": { - "terser": "^5.15.0" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=18" + "node": ">=8" } }, - "node_modules/metro-resolver": { - "version": "0.80.9", - "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.80.9.tgz", - "integrity": "sha512-wAPIjkN59BQN6gocVsAvvpZ1+LQkkqUaswlT++cJafE/e54GoVkMNCmrR4BsgQHr9DknZ5Um/nKueeN7kaEz9w==", + "node_modules/logkitty": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/logkitty/-/logkitty-0.7.1.tgz", + "integrity": "sha512-/3ER20CTTbahrCrpYfPn7Xavv9diBROZpoXGVZDWMw4b/X4uuUwAC0ki85tgsdMRONURyIJbcOvS94QsUBYPbQ==", + "license": "MIT", "peer": true, - "engines": { - "node": ">=18" + "dependencies": { + "ansi-fragments": "^0.2.1", + "dayjs": "^1.8.15", + "yargs": "^15.1.0" + }, + "bin": { + "logkitty": "bin/logkitty.js" } }, - "node_modules/metro-runtime": { - "version": "0.80.9", - "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.80.9.tgz", - "integrity": "sha512-8PTVIgrVcyU+X/rVCy/9yxNlvXsBCk5JwwkbAm/Dm+Abo6NBGtNjWF0M1Xo/NWCb4phamNWcD7cHdR91HhbJvg==", - "peer": true, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "license": "MIT", "dependencies": { - "@babel/runtime": "^7.0.0" + "js-tokens": "^3.0.0 || ^4.0.0" }, - "engines": { - "node": ">=18" + "bin": { + "loose-envify": "cli.js" } }, - "node_modules/metro-source-map": { - "version": "0.80.9", - "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.80.9.tgz", - "integrity": "sha512-RMn+XS4VTJIwMPOUSj61xlxgBvPeY4G6s5uIn6kt6HB6A/k9ekhr65UkkDD7WzHYs3a9o869qU8tvOZvqeQzgw==", - "peer": true, + "node_modules/loupe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.1.tgz", + "integrity": "sha512-edNu/8D5MKVfGVFRhFf8aAxiTM6Wumfz5XsaatSxlD3w4R1d/WEKUTydCdPGbl9K7QG/Ca3GnDV2sIKIpXRQcw==", + "dev": true, + "license": "MIT", "dependencies": { - "@babel/traverse": "^7.20.0", - "@babel/types": "^7.20.0", - "invariant": "^2.2.4", - "metro-symbolicate": "0.80.9", - "nullthrows": "^1.1.1", - "ob1": "0.80.9", - "source-map": "^0.5.6", - "vlq": "^1.0.0" - }, - "engines": { - "node": ">=18" + "get-func-name": "^2.0.1" } }, - "node_modules/metro-symbolicate": { - "version": "0.80.9", - "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.80.9.tgz", - "integrity": "sha512-Ykae12rdqSs98hg41RKEToojuIW85wNdmSe/eHUgMkzbvCFNVgcC0w3dKZEhSsqQOXapXRlLtHkaHLil0UD/EA==", - "peer": true, + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "license": "MIT", "dependencies": { - "invariant": "^2.2.4", - "metro-source-map": "0.80.9", - "nullthrows": "^1.1.1", - "source-map": "^0.5.6", - "through2": "^2.0.1", - "vlq": "^1.0.0" - }, - "bin": { - "metro-symbolicate": "src/index.js" - }, - "engines": { - "node": ">=18" + "tslib": "^2.0.3" } }, - "node_modules/metro-transform-plugins": { - "version": "0.80.9", - "resolved": "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.80.9.tgz", - "integrity": "sha512-UlDk/uc8UdfLNJhPbF3tvwajyuuygBcyp+yBuS/q0z3QSuN/EbLllY3rK8OTD9n4h00qZ/qgxGv/lMFJkwP4vg==", - "peer": true, + "node_modules/lower-case/node_modules/tslib": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "license": "ISC", "dependencies": { - "@babel/core": "^7.20.0", - "@babel/generator": "^7.20.0", - "@babel/template": "^7.0.0", - "@babel/traverse": "^7.20.0", - "nullthrows": "^1.1.1" - }, - "engines": { - "node": ">=18" + "yallist": "^3.0.2" } }, - "node_modules/metro-transform-worker": { - "version": "0.80.9", - "resolved": "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.80.9.tgz", - "integrity": "sha512-c/IrzMUVnI0hSVVit4TXzt3A1GiUltGVlzCmLJWxNrBGHGrJhvgePj38+GXl1Xf4Fd4vx6qLUkKMQ3ux73bFLQ==", - "peer": true, + "node_modules/lz-string": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", + "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", + "dev": true, + "license": "MIT", + "bin": { + "lz-string": "bin/bin.js" + } + }, + "node_modules/magic-string": { + "version": "0.30.11", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz", + "integrity": "sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==", + "dev": true, + "license": "MIT", "dependencies": { - "@babel/core": "^7.20.0", - "@babel/generator": "^7.20.0", - "@babel/parser": "^7.20.0", - "@babel/types": "^7.20.0", - "metro": "0.80.9", - "metro-babel-transformer": "0.80.9", - "metro-cache": "0.80.9", - "metro-cache-key": "0.80.9", - "metro-minify-terser": "0.80.9", - "metro-source-map": "0.80.9", - "metro-transform-plugins": "0.80.9", - "nullthrows": "^1.1.1" - }, - "engines": { - "node": ">=18" + "@jridgewell/sourcemap-codec": "^1.5.0" } }, - "node_modules/metro/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, + "node_modules/magicast": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.3.5.tgz", + "integrity": "sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==", + "dev": true, + "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "@babel/parser": "^7.25.4", + "@babel/types": "^7.25.4", + "source-map-js": "^1.2.0" } }, - "node_modules/metro/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, + "node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "dev": true, + "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "semver": "^7.5.3" }, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/metro/node_modules/ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", - "peer": true - }, - "node_modules/metro/node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "peer": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/metro/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" + "node_modules/make-dir/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">=7.0.0" + "node": ">=10" } }, - "node_modules/metro/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/metro/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "license": "BSD-3-Clause", "peer": true, "dependencies": { - "ms": "2.0.0" + "tmpl": "1.0.5" } }, - "node_modules/metro/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, + "node_modules/map-obj": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", + "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", + "license": "MIT", "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/metro/node_modules/hermes-estree": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.20.1.tgz", - "integrity": "sha512-SQpZK4BzR48kuOg0v4pb3EAGNclzIlqMj3Opu/mu7bbAoFw6oig6cEt/RAi0zTFW/iW6Iz9X9ggGuZTAZ/yZHg==", + "node_modules/marky": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/marky/-/marky-1.2.5.tgz", + "integrity": "sha512-q9JtQJKjpsVxCRVgQ+WapguSbKC3SQ5HEzFGPAJMStgh3QjCawp00UKv3MTTAArTmGmmPUvllHZoNbZ3gs0I+Q==", + "license": "Apache-2.0", "peer": true }, - "node_modules/metro/node_modules/hermes-parser": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.20.1.tgz", - "integrity": "sha512-BL5P83cwCogI8D7rrDCgsFY0tdYUtmFP9XaXtl2IQjC+2Xo+4okjfXintlTxcIwl4qeGddEl28Z11kbVIw0aNA==", - "peer": true, + "node_modules/match-sorter": { + "version": "6.3.4", + "resolved": "https://registry.npmjs.org/match-sorter/-/match-sorter-6.3.4.tgz", + "integrity": "sha512-jfZW7cWS5y/1xswZo8VBOdudUiSd9nifYRWphc9M5D/ee4w4AoXLgBEdRbgVaxbMuagBPeUC5y2Hi8DO6o9aDg==", + "license": "MIT", "dependencies": { - "hermes-estree": "0.20.1" + "@babel/runtime": "^7.23.8", + "remove-accents": "0.5.0" } }, - "node_modules/metro/node_modules/jest-worker": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", - "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", - "peer": true, - "dependencies": { - "@types/node": "*", - "jest-util": "^29.7.0", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } + "node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "license": "CC0-1.0" }, - "node_modules/metro/node_modules/jest-worker/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==", - "peer": true, - "dependencies": { - "has-flag": "^4.0.0" - }, + "node_modules/memoize-one": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.2.1.tgz", + "integrity": "sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==", + "license": "MIT", + "peer": true + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "license": "MIT" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "license": "MIT", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "node": ">= 8" } }, - "node_modules/metro/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "peer": true + "node_modules/meta-png": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/meta-png/-/meta-png-1.0.6.tgz", + "integrity": "sha512-eQtEi5E9axqwqA/sDK1dyhX9kYHCUe2m+45aQ3JHrozjGPs+/ab+hdhPp7A3GUNW+ZAbavrsg5xQ4r5jkGDX+A==", + "dev": true, + "license": "ISC" }, - "node_modules/metro/node_modules/node-fetch": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "node_modules/metro": { + "version": "0.80.12", + "resolved": "https://registry.npmjs.org/metro/-/metro-0.80.12.tgz", + "integrity": "sha512-1UsH5FzJd9quUsD1qY+zUG4JY3jo3YEMxbMYH9jT6NK3j4iORhlwTK8fYTfAUBhDKjgLfKjAh7aoazNE23oIRA==", + "license": "MIT", "peer": true, "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" + "@babel/code-frame": "^7.0.0", + "@babel/core": "^7.20.0", + "@babel/generator": "^7.20.0", + "@babel/parser": "^7.20.0", + "@babel/template": "^7.0.0", + "@babel/traverse": "^7.20.0", + "@babel/types": "^7.20.0", + "accepts": "^1.3.7", + "chalk": "^4.0.0", + "ci-info": "^2.0.0", + "connect": "^3.6.5", + "debug": "^2.2.0", + "denodeify": "^1.2.1", + "error-stack-parser": "^2.0.6", + "flow-enums-runtime": "^0.0.6", + "graceful-fs": "^4.2.4", + "hermes-parser": "0.23.1", + "image-size": "^1.0.2", + "invariant": "^2.2.4", + "jest-worker": "^29.6.3", + "jsc-safe-url": "^0.2.2", + "lodash.throttle": "^4.1.1", + "metro-babel-transformer": "0.80.12", + "metro-cache": "0.80.12", + "metro-cache-key": "0.80.12", + "metro-config": "0.80.12", + "metro-core": "0.80.12", + "metro-file-map": "0.80.12", + "metro-resolver": "0.80.12", + "metro-runtime": "0.80.12", + "metro-source-map": "0.80.12", + "metro-symbolicate": "0.80.12", + "metro-transform-plugins": "0.80.12", + "metro-transform-worker": "0.80.12", + "mime-types": "^2.1.27", + "nullthrows": "^1.1.1", + "serialize-error": "^2.1.0", + "source-map": "^0.5.6", + "strip-ansi": "^6.0.0", + "throat": "^5.0.0", + "ws": "^7.5.10", + "yargs": "^17.6.2" }, - "peerDependencies": { - "encoding": "^0.1.0" + "bin": { + "metro": "src/cli.js" }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } + "engines": { + "node": ">=18" } }, - "node_modules/metro/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==", + "node_modules/metro-babel-transformer": { + "version": "0.80.12", + "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.80.12.tgz", + "integrity": "sha512-YZziRs0MgA3pzCkkvOoQRXjIoVjvrpi/yRlJnObyIvMP6lFdtyG4nUGIwGY9VXnBvxmXD6mPY2e+NSw6JAyiRg==", + "license": "MIT", "peer": true, "dependencies": { - "has-flag": "^4.0.0" + "@babel/core": "^7.20.0", + "flow-enums-runtime": "^0.0.6", + "hermes-parser": "0.23.1", + "nullthrows": "^1.1.1" }, "engines": { - "node": ">=8" + "node": ">=18" } }, - "node_modules/metro/node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "peer": true - }, - "node_modules/metro/node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "node_modules/metro-babel-transformer/node_modules/hermes-estree": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.23.1.tgz", + "integrity": "sha512-eT5MU3f5aVhTqsfIReZ6n41X5sYn4IdQL0nvz6yO+MMlPxw49aSARHLg/MSehQftyjnrE8X6bYregzSumqc6cg==", + "license": "MIT", "peer": true }, - "node_modules/metro/node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "node_modules/metro-babel-transformer/node_modules/hermes-parser": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.23.1.tgz", + "integrity": "sha512-oxl5h2DkFW83hT4DAUJorpah8ou4yvmweUzLJmmr6YV2cezduCdlil1AvU/a/xSsAFo4WUcNA4GoV5Bvq6JffA==", + "license": "MIT", "peer": true, "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" + "hermes-estree": "0.23.1" } }, - "node_modules/metro/node_modules/ws": { - "version": "7.5.10", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", - "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", + "node_modules/metro-cache": { + "version": "0.80.12", + "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.80.12.tgz", + "integrity": "sha512-p5kNHh2KJ0pbQI/H7ZBPCEwkyNcSz7OUkslzsiIWBMPQGFJ/xArMwkV7I+GJcWh+b4m6zbLxE5fk6fqbVK1xGA==", + "license": "MIT", "peer": true, - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" + "dependencies": { + "exponential-backoff": "^3.1.1", + "flow-enums-runtime": "^0.0.6", + "metro-core": "0.80.12" }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/metro/node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "peer": true, "engines": { - "node": ">=10" + "node": ">=18" } }, - "node_modules/metro/node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "node_modules/metro-cache-key": { + "version": "0.80.12", + "resolved": "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.80.12.tgz", + "integrity": "sha512-o4BspKnugg/pE45ei0LGHVuBJXwRgruW7oSFAeSZvBKA/sGr0UhOGY3uycOgWInnS3v5yTTfiBA9lHlNRhsvGA==", + "license": "MIT", "peer": true, "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" + "flow-enums-runtime": "^0.0.6" }, "engines": { - "node": ">=12" + "node": ">=18" } }, - "node_modules/metro/node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "node_modules/metro-config": { + "version": "0.80.12", + "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.80.12.tgz", + "integrity": "sha512-4rwOWwrhm62LjB12ytiuR5NgK1ZBNr24/He8mqCsC+HXZ+ATbrewLNztzbAZHtFsrxP4D4GLTGgh96pCpYLSAQ==", + "license": "MIT", "peer": true, + "dependencies": { + "connect": "^3.6.5", + "cosmiconfig": "^5.0.5", + "flow-enums-runtime": "^0.0.6", + "jest-validate": "^29.6.3", + "metro": "0.80.12", + "metro-cache": "0.80.12", + "metro-core": "0.80.12", + "metro-runtime": "0.80.12" + }, "engines": { - "node": ">=12" + "node": ">=18" } }, - "node_modules/micromatch": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", - "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "node_modules/metro-config/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "license": "MIT", + "peer": true, "dependencies": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" + "sprintf-js": "~1.0.2" } }, - "node_modules/microseconds": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/microseconds/-/microseconds-0.2.0.tgz", - "integrity": "sha512-n7DHHMjR1avBbSpsTBj6fmMGh2AGrifVV4e+WYc3Q9lO+xnSZ3NyhcBND3vzzatt05LFhoKFRxrIyklmLlUtyA==" - }, - "node_modules/mime": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", - "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "node_modules/metro-config/node_modules/cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "license": "MIT", "peer": true, - "bin": { - "mime": "cli.js" + "dependencies": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" }, "engines": { - "node": ">=4.0.0" + "node": ">=4" } }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "node_modules/metro-config/node_modules/import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==", + "license": "MIT", + "peer": true, + "dependencies": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + }, "engines": { - "node": ">= 0.6" + "node": ">=4" } }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "node_modules/metro-config/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==", + "license": "MIT", + "peer": true, "dependencies": { - "mime-db": "1.52.0" + "argparse": "^1.0.7", + "esprima": "^4.0.0" }, - "engines": { - "node": ">= 0.6" + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "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==", + "node_modules/metro-config/node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "license": "MIT", + "peer": true, + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, "engines": { - "node": ">=6" + "node": ">=4" } }, - "node_modules/min-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", - "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", - "dev": true, + "node_modules/metro-config/node_modules/resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==", + "license": "MIT", + "peer": true, "engines": { "node": ">=4" } }, - "node_modules/mini-create-react-context": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/mini-create-react-context/-/mini-create-react-context-0.4.1.tgz", - "integrity": "sha512-YWCYEmd5CQeHGSAKrYvXgmzzkrvssZcuuQDDeqkT+PziKGMgE+0MCCtcKbROzocGBG1meBLl2FotlRwf4gAzbQ==", - "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "node_modules/metro-core": { + "version": "0.80.12", + "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.80.12.tgz", + "integrity": "sha512-QqdJ/yAK+IpPs2HU/h5v2pKEdANBagSsc6DRSjnwSyJsCoHlmyJKCaCJ7KhWGx+N4OHxh37hoA8fc2CuZbx0Fw==", + "license": "MIT", + "peer": true, "dependencies": { - "@babel/runtime": "^7.12.1", - "tiny-warning": "^1.0.3" + "flow-enums-runtime": "^0.0.6", + "lodash.throttle": "^4.1.1", + "metro-resolver": "0.80.12" }, - "peerDependencies": { - "prop-types": "^15.0.0", - "react": "^0.14.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + "engines": { + "node": ">=18" } }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "node_modules/metro-file-map": { + "version": "0.80.12", + "resolved": "https://registry.npmjs.org/metro-file-map/-/metro-file-map-0.80.12.tgz", + "integrity": "sha512-sYdemWSlk66bWzW2wp79kcPMzwuG32x1ZF3otI0QZTmrnTaaTiGyhE66P1z6KR4n2Eu5QXiABa6EWbAQv0r8bw==", + "license": "MIT", + "peer": true, "dependencies": { - "brace-expansion": "^1.1.7" + "anymatch": "^3.0.3", + "debug": "^2.2.0", + "fb-watchman": "^2.0.0", + "flow-enums-runtime": "^0.0.6", + "graceful-fs": "^4.2.4", + "invariant": "^2.2.4", + "jest-worker": "^29.6.3", + "micromatch": "^4.0.4", + "node-abort-controller": "^3.1.1", + "nullthrows": "^1.1.1", + "walker": "^1.0.7" }, "engines": { - "node": "*" + "node": ">=18" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" } }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node_modules/metro-file-map/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "peer": true, + "dependencies": { + "ms": "2.0.0" } }, - "node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "node_modules/metro-file-map/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT", + "peer": true + }, + "node_modules/metro-minify-terser": { + "version": "0.80.12", + "resolved": "https://registry.npmjs.org/metro-minify-terser/-/metro-minify-terser-0.80.12.tgz", + "integrity": "sha512-muWzUw3y5k+9083ZoX9VaJLWEV2Jcgi+Oan0Mmb/fBNMPqP9xVDuy4pOMn/HOiGndgfh/MK7s4bsjkyLJKMnXQ==", + "license": "MIT", "peer": true, "dependencies": { - "minimist": "^1.2.6" + "flow-enums-runtime": "^0.0.6", + "terser": "^5.15.0" }, - "bin": { - "mkdirp": "bin/cmd.js" + "engines": { + "node": ">=18" } }, - "node_modules/mlly": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.5.0.tgz", - "integrity": "sha512-NPVQvAY1xr1QoVeG0cy8yUYC7FQcOx6evl/RjT1wL5FvzPnzOysoqB/jmx/DhssT2dYa8nxECLAaFI/+gVLhDQ==", - "dev": true, + "node_modules/metro-resolver": { + "version": "0.80.12", + "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.80.12.tgz", + "integrity": "sha512-PR24gYRZnYHM3xT9pg6BdbrGbM/Cu1TcyIFBVlAk7qDAuHkUNQ1nMzWumWs+kwSvtd9eZGzHoucGJpTUEeLZAw==", + "license": "MIT", + "peer": true, "dependencies": { - "acorn": "^8.11.3", - "pathe": "^1.1.2", - "pkg-types": "^1.0.3", - "ufo": "^1.3.2" + "flow-enums-runtime": "^0.0.6" + }, + "engines": { + "node": ">=18" } }, - "node_modules/mnth": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mnth/-/mnth-2.0.0.tgz", - "integrity": "sha512-3ZH4UWBGpAwCKdfjynLQpUDVZWMe6vRHwarIpMdGLUp89CVR9hjzgyWERtMyqx+fPEqQ/PsAxFwvwPxLFxW40A==", + "node_modules/metro-runtime": { + "version": "0.80.12", + "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.80.12.tgz", + "integrity": "sha512-LIx7+92p5rpI0i6iB4S4GBvvLxStNt6fF0oPMaUd1Weku7jZdfkCZzmrtDD9CSQ6EPb0T9NUZoyXIxlBa3wOCw==", + "license": "MIT", + "peer": true, "dependencies": { - "@babel/runtime": "^7.8.0" + "@babel/runtime": "^7.25.0", + "flow-enums-runtime": "^0.0.6" }, "engines": { - "node": ">=12.13.0" + "node": ">=18" } }, - "node_modules/move-file": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/move-file/-/move-file-2.1.0.tgz", - "integrity": "sha512-i9qLW6gqboJ5Ht8bauZi7KlTnQ3QFpBCvMvFfEcHADKgHGeJ9BZMO7SFCTwHPV9Qa0du9DYY1Yx3oqlGt30nXA==", - "dev": true, + "node_modules/metro-source-map": { + "version": "0.80.12", + "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.80.12.tgz", + "integrity": "sha512-o+AXmE7hpvM8r8MKsx7TI21/eerYYy2DCDkWfoBkv+jNkl61khvDHlQn0cXZa6lrcNZiZkl9oHSMcwLLIrFmpw==", + "license": "MIT", + "peer": true, "dependencies": { - "path-exists": "^4.0.0" + "@babel/traverse": "^7.20.0", + "@babel/types": "^7.20.0", + "flow-enums-runtime": "^0.0.6", + "invariant": "^2.2.4", + "metro-symbolicate": "0.80.12", + "nullthrows": "^1.1.1", + "ob1": "0.80.12", + "source-map": "^0.5.6", + "vlq": "^1.0.0" }, "engines": { - "node": ">=10.17" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=18" } }, - "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/msw": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/msw/-/msw-1.3.4.tgz", - "integrity": "sha512-XxA/VomMIYLlgpFS00eQanBWIAT9gto4wxrRt9y58WBXJs1I0lQYRIWk7nKcY/7X6DhkKukcDgPcyAvkEc1i7w==", - "dev": true, - "hasInstallScript": true, + "node_modules/metro-symbolicate": { + "version": "0.80.12", + "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.80.12.tgz", + "integrity": "sha512-/dIpNdHksXkGHZXARZpL7doUzHqSNxgQ8+kQGxwpJuHnDhGkENxB5PS2QBaTDdEcmyTMjS53CN1rl9n1gR6fmw==", "license": "MIT", + "peer": true, "dependencies": { - "@mswjs/cookies": "^0.2.2", - "@mswjs/interceptors": "^0.17.10", - "@open-draft/until": "^1.0.3", - "@types/cookie": "^0.4.1", - "@types/js-levenshtein": "^1.1.1", - "chalk": "^4.1.1", - "chokidar": "^3.4.2", - "cookie": "^0.4.2", - "graphql": "^16.8.1", - "headers-polyfill": "3.2.5", - "inquirer": "^8.2.0", - "is-node-process": "^1.2.0", - "js-levenshtein": "^1.1.6", - "node-fetch": "^2.6.7", - "outvariant": "^1.4.0", - "path-to-regexp": "^6.2.0", - "strict-event-emitter": "^0.4.3", - "type-fest": "^2.19.0", - "yargs": "^17.3.1" + "flow-enums-runtime": "^0.0.6", + "invariant": "^2.2.4", + "metro-source-map": "0.80.12", + "nullthrows": "^1.1.1", + "source-map": "^0.5.6", + "through2": "^2.0.1", + "vlq": "^1.0.0" }, "bin": { - "msw": "cli/index.js" + "metro-symbolicate": "src/index.js" }, "engines": { - "node": ">=14" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mswjs" + "node": ">=18" + } + }, + "node_modules/metro-transform-plugins": { + "version": "0.80.12", + "resolved": "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.80.12.tgz", + "integrity": "sha512-WQWp00AcZvXuQdbjQbx1LzFR31IInlkCDYJNRs6gtEtAyhwpMMlL2KcHmdY+wjDO9RPcliZ+Xl1riOuBecVlPA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/core": "^7.20.0", + "@babel/generator": "^7.20.0", + "@babel/template": "^7.0.0", + "@babel/traverse": "^7.20.0", + "flow-enums-runtime": "^0.0.6", + "nullthrows": "^1.1.1" }, - "peerDependencies": { - "typescript": ">= 4.4.x" + "engines": { + "node": ">=18" + } + }, + "node_modules/metro-transform-worker": { + "version": "0.80.12", + "resolved": "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.80.12.tgz", + "integrity": "sha512-KAPFN1y3eVqEbKLx1I8WOarHPqDMUa8WelWxaJCNKO/yHCP26zELeqTJvhsQup+8uwB6EYi/sp0b6TGoh6lOEA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/core": "^7.20.0", + "@babel/generator": "^7.20.0", + "@babel/parser": "^7.20.0", + "@babel/types": "^7.20.0", + "flow-enums-runtime": "^0.0.6", + "metro": "0.80.12", + "metro-babel-transformer": "0.80.12", + "metro-cache": "0.80.12", + "metro-cache-key": "0.80.12", + "metro-minify-terser": "0.80.12", + "metro-source-map": "0.80.12", + "metro-transform-plugins": "0.80.12", + "nullthrows": "^1.1.1" }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "engines": { + "node": ">=18" } }, - "node_modules/msw/node_modules/ansi-styles": { + "node_modules/metro/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, + "license": "MIT", + "peer": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -22527,11 +22507,12 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/msw/node_modules/chalk": { + "node_modules/metro/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, + "license": "MIT", + "peer": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -22543,11 +22524,19 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/msw/node_modules/cliui": { + "node_modules/metro/node_modules/ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "license": "MIT", + "peer": true + }, + "node_modules/metro/node_modules/cliui": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, + "license": "ISC", + "peer": true, "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", @@ -22557,11 +22546,12 @@ "node": ">=12" } }, - "node_modules/msw/node_modules/color-convert": { + "node_modules/metro/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, + "license": "MIT", + "peer": true, "dependencies": { "color-name": "~1.1.4" }, @@ -22569,55 +22559,63 @@ "node": ">=7.0.0" } }, - "node_modules/msw/node_modules/color-name": { + "node_modules/metro/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 + "license": "MIT", + "peer": true }, - "node_modules/msw/node_modules/graphql": { - "version": "16.8.1", - "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.8.1.tgz", - "integrity": "sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0" + "node_modules/metro/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "peer": true, + "dependencies": { + "ms": "2.0.0" } }, - "node_modules/msw/node_modules/has-flag": { + "node_modules/metro/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, + "license": "MIT", + "peer": true, "engines": { "node": ">=8" } }, - "node_modules/msw/node_modules/node-fetch": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", - "dev": true, + "node_modules/metro/node_modules/hermes-estree": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.23.1.tgz", + "integrity": "sha512-eT5MU3f5aVhTqsfIReZ6n41X5sYn4IdQL0nvz6yO+MMlPxw49aSARHLg/MSehQftyjnrE8X6bYregzSumqc6cg==", + "license": "MIT", + "peer": true + }, + "node_modules/metro/node_modules/hermes-parser": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.23.1.tgz", + "integrity": "sha512-oxl5h2DkFW83hT4DAUJorpah8ou4yvmweUzLJmmr6YV2cezduCdlil1AvU/a/xSsAFo4WUcNA4GoV5Bvq6JffA==", + "license": "MIT", + "peer": true, "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } + "hermes-estree": "0.23.1" } }, - "node_modules/msw/node_modules/supports-color": { + "node_modules/metro/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT", + "peer": true + }, + "node_modules/metro/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, + "license": "MIT", + "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -22625,54 +22623,44 @@ "node": ">=8" } }, - "node_modules/msw/node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "dev": true - }, - "node_modules/msw/node_modules/type-fest": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", - "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", - "dev": true, + "node_modules/metro/node_modules/ws": { + "version": "7.5.10", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", + "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", + "license": "MIT", + "peer": true, "engines": { - "node": ">=12.20" + "node": ">=8.3.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/msw/node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "dev": true - }, - "node_modules/msw/node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "dev": true, - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } } }, - "node_modules/msw/node_modules/y18n": { + "node_modules/metro/node_modules/y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, + "license": "ISC", + "peer": true, "engines": { "node": ">=10" } }, - "node_modules/msw/node_modules/yargs": { + "node_modules/metro/node_modules/yargs": { "version": "17.7.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dev": true, + "license": "MIT", + "peer": true, "dependencies": { "cliui": "^8.0.1", "escalade": "^3.1.1", @@ -22686,2229 +22674,2374 @@ "node": ">=12" } }, - "node_modules/msw/node_modules/yargs-parser": { + "node_modules/metro/node_modules/yargs-parser": { "version": "21.1.1", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", - "dev": true - }, - "node_modules/nano-css": { - "version": "5.3.5", - "resolved": "https://registry.npmjs.org/nano-css/-/nano-css-5.3.5.tgz", - "integrity": "sha512-vSB9X12bbNu4ALBu7nigJgRViZ6ja3OU7CeuiV1zMIbXOdmkLahgtPmh3GBOlDxbKY0CitqlPdOReGlBLSp+yg==", - "dependencies": { - "css-tree": "^1.1.2", - "csstype": "^3.0.6", - "fastest-stable-stringify": "^2.0.2", - "inline-style-prefixer": "^6.0.0", - "rtl-css-js": "^1.14.0", - "sourcemap-codec": "^1.4.8", - "stacktrace-js": "^2.0.2", - "stylis": "^4.0.6" - }, - "peerDependencies": { - "react": "*", - "react-dom": "*" - } - }, - "node_modules/nano-time": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/nano-time/-/nano-time-1.0.0.tgz", - "integrity": "sha512-flnngywOoQ0lLQOTRNexn2gGSNuM9bKj9RZAWSzhQ+UJYaAFG9bac4DW9VHjUAzrOaIcajHybCTHe/bkvozQqA==", - "dependencies": { - "big-integer": "^1.6.16" - } - }, - "node_modules/nanoid": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", - "peer": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" - }, - "node_modules/no-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", - "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", - "dependencies": { - "lower-case": "^2.0.2", - "tslib": "^2.0.3" - } - }, - "node_modules/no-case/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - }, - "node_modules/nocache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/nocache/-/nocache-3.0.4.tgz", - "integrity": "sha512-WDD0bdg9mbq6F4mRxEYcPWwfA1vxd0mrvKOyxI7Xj/atfRHVeutzuWByG//jfm4uPzp0y4Kj051EORCBSQMycw==", - "peer": true, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/node-abort-controller": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/node-abort-controller/-/node-abort-controller-3.1.1.tgz", - "integrity": "sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==", - "peer": true - }, - "node_modules/node-dir": { - "version": "0.1.17", - "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz", - "integrity": "sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==", - "peer": true, - "dependencies": { - "minimatch": "^3.0.2" - }, - "engines": { - "node": ">= 0.10.5" - } - }, - "node_modules/node-domexception": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", - "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/jimmywarting" - }, - { - "type": "github", - "url": "https://paypal.me/jimmywarting" - } - ], - "engines": { - "node": ">=10.5.0" - } - }, - "node_modules/node-fetch": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", - "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", - "dev": true, - "dependencies": { - "data-uri-to-buffer": "^4.0.0", - "fetch-blob": "^3.1.4", - "formdata-polyfill": "^4.0.10" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/node-fetch" - } - }, - "node_modules/node-forge": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", - "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "license": "ISC", "peer": true, "engines": { - "node": ">= 6.13.0" - } - }, - "node_modules/node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", - "peer": true + "node": ">=12" + } }, - "node_modules/node-preload": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz", - "integrity": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==", - "dev": true, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "license": "MIT", "dependencies": { - "process-on-spawn": "^1.0.0" + "braces": "^3.0.3", + "picomatch": "^2.3.1" }, "engines": { - "node": ">=8" + "node": ">=8.6" } }, - "node_modules/node-releases": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", - "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==" + "node_modules/microseconds": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/microseconds/-/microseconds-0.2.0.tgz", + "integrity": "sha512-n7DHHMjR1avBbSpsTBj6fmMGh2AGrifVV4e+WYc3Q9lO+xnSZ3NyhcBND3vzzatt05LFhoKFRxrIyklmLlUtyA==", + "license": "MIT" }, - "node_modules/node-stream-zip": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/node-stream-zip/-/node-stream-zip-1.15.0.tgz", - "integrity": "sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw==", + "node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "license": "MIT", "peer": true, - "engines": { - "node": ">=0.12.0" + "bin": { + "mime": "cli.js" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/antelle" + "engines": { + "node": ">=4.0.0" } }, - "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==", + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">= 0.6" } }, - "node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", "dependencies": { - "path-key": "^3.0.0" + "mime-db": "1.52.0" }, "engines": { - "node": ">=8" + "node": ">= 0.6" } }, - "node_modules/nullthrows": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz", - "integrity": "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==", - "peer": true - }, - "node_modules/nwsapi": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.7.tgz", - "integrity": "sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==", - "dev": true + "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==", + "license": "MIT", + "engines": { + "node": ">=6" + } }, - "node_modules/nyc": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz", - "integrity": "sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==", + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", "dev": true, - "dependencies": { - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "caching-transform": "^4.0.0", - "convert-source-map": "^1.7.0", - "decamelize": "^1.2.0", - "find-cache-dir": "^3.2.0", - "find-up": "^4.1.0", - "foreground-child": "^2.0.0", - "get-package-type": "^0.1.0", - "glob": "^7.1.6", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-hook": "^3.0.0", - "istanbul-lib-instrument": "^4.0.0", - "istanbul-lib-processinfo": "^2.0.2", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.0.2", - "make-dir": "^3.0.0", - "node-preload": "^0.2.1", - "p-map": "^3.0.0", - "process-on-spawn": "^1.0.0", - "resolve-from": "^5.0.0", - "rimraf": "^3.0.0", - "signal-exit": "^3.0.2", - "spawn-wrap": "^2.0.0", - "test-exclude": "^6.0.0", - "yargs": "^15.0.2" - }, - "bin": { - "nyc": "bin/nyc.js" - }, + "license": "MIT", "engines": { - "node": ">=8.9" + "node": ">=4" } }, - "node_modules/nyc/node_modules/convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "dev": true - }, - "node_modules/nyc/node_modules/find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", - "dev": true, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "license": "ISC", "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=8" - }, + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "license": "MIT", "funding": { - "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/nyc/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", "dev": true, + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "license": "MIT", + "peer": true, "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" + "minimist": "^1.2.6" }, - "engines": { - "node": ">=8" + "bin": { + "mkdirp": "bin/cmd.js" } }, - "node_modules/nyc/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, + "node_modules/mnth": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mnth/-/mnth-2.0.0.tgz", + "integrity": "sha512-3ZH4UWBGpAwCKdfjynLQpUDVZWMe6vRHwarIpMdGLUp89CVR9hjzgyWERtMyqx+fPEqQ/PsAxFwvwPxLFxW40A==", + "license": "MIT", "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "@babel/runtime": "^7.8.0" }, "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=12.13.0" } }, - "node_modules/nyc/node_modules/istanbul-lib-instrument": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", - "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", + "node_modules/move-file": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/move-file/-/move-file-2.1.0.tgz", + "integrity": "sha512-i9qLW6gqboJ5Ht8bauZi7KlTnQ3QFpBCvMvFfEcHADKgHGeJ9BZMO7SFCTwHPV9Qa0du9DYY1Yx3oqlGt30nXA==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/core": "^7.7.5", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.0.0", - "semver": "^6.3.0" + "path-exists": "^4.0.0" }, "engines": { - "node": ">=8" + "node": ">=10.17" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/nyc/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/msw": { + "version": "2.4.9", + "resolved": "https://registry.npmjs.org/msw/-/msw-2.4.9.tgz", + "integrity": "sha512-1m8xccT6ipN4PTqLinPwmzhxQREuxaEJYdx4nIbggxP8aM7r1e71vE7RtOUSQoAm1LydjGfZKy7370XD/tsuYg==", "dev": true, + "hasInstallScript": true, + "license": "MIT", "dependencies": { - "p-locate": "^4.1.0" + "@bundled-es-modules/cookie": "^2.0.0", + "@bundled-es-modules/statuses": "^1.0.1", + "@bundled-es-modules/tough-cookie": "^0.1.6", + "@inquirer/confirm": "^3.0.0", + "@mswjs/interceptors": "^0.35.8", + "@open-draft/until": "^2.1.0", + "@types/cookie": "^0.6.0", + "@types/statuses": "^2.0.4", + "chalk": "^4.1.2", + "graphql": "^16.8.1", + "headers-polyfill": "^4.0.2", + "is-node-process": "^1.2.0", + "outvariant": "^1.4.2", + "path-to-regexp": "^6.3.0", + "strict-event-emitter": "^0.5.1", + "type-fest": "^4.9.0", + "yargs": "^17.7.2" + }, + "bin": { + "msw": "cli/index.js" }, "engines": { - "node": ">=8" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/mswjs" + }, + "peerDependencies": { + "typescript": ">= 4.8.x" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/nyc/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==", + "node_modules/msw/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, + "license": "MIT", "dependencies": { - "semver": "^6.0.0" + "color-convert": "^2.0.1" }, "engines": { "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/nyc/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "node_modules/msw/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, + "license": "MIT", "dependencies": { - "p-try": "^2.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=6" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/nyc/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "node_modules/msw/node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dev": true, + "license": "ISC", "dependencies": { - "p-limit": "^2.2.0" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" }, "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/nyc/node_modules/p-map": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", - "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", + "node_modules/msw/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, + "license": "MIT", "dependencies": { - "aggregate-error": "^3.0.0" + "color-name": "~1.1.4" }, "engines": { - "node": ">=8" + "node": ">=7.0.0" } }, - "node_modules/nyc/node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "node_modules/msw/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, - "dependencies": { - "find-up": "^4.0.0" - }, + "license": "MIT" + }, + "node_modules/msw/node_modules/graphql": { + "version": "16.9.0", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.9.0.tgz", + "integrity": "sha512-GGTKBX4SD7Wdb8mqeDLni2oaRGYQWjWHGKPQ24ZMnUtKfcsVoiv4uX8+LJr1K6U5VW2Lu1BwJnj7uiori0YtRw==", + "dev": true, + "license": "MIT", "engines": { - "node": ">=8" + "node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0" } }, - "node_modules/nyc/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "node_modules/msw/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, + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/ob1": { - "version": "0.80.9", - "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.80.9.tgz", - "integrity": "sha512-v9yOxowkZbxWhKOaaTyLjIm1aLy4ebMNcSn4NYJKOAI/Qv+SkfEfszpLr2GIxsccmb2Y2HA9qtsqiIJ80ucpVA==", - "peer": true, + "node_modules/msw/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, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, "engines": { - "node": ">=18" + "node": ">=8" } }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "node_modules/msw/node_modules/type-fest": { + "version": "4.26.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.26.1.tgz", + "integrity": "sha512-yOGpmOAL7CkKe/91I5O3gPICmJNLJ1G4zFYVAsRHg7M64biSnPtRj0WNQt++bRkjYOqjWXrhnUw1utzmVErAdg==", + "dev": true, + "license": "(MIT OR CC0-1.0)", "engines": { - "node": ">=0.10.0" + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/object-hash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", - "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "node_modules/msw/node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "license": "ISC", "engines": { - "node": ">= 6" - } - }, - "node_modules/object-inspect": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", - "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=10" } }, - "node_modules/object-is": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", - "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "node_modules/msw/node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=12" } }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "node_modules/msw/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true, + "license": "ISC", "engines": { - "node": ">= 0.4" + "node": ">=12" } }, - "node_modules/object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "node_modules/mute-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-1.0.0.tgz", + "integrity": "sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==", "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - }, + "license": "ISC", "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/object.entries": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.7.tgz", - "integrity": "sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==", - "dev": true, + "node_modules/nano-css": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/nano-css/-/nano-css-5.6.2.tgz", + "integrity": "sha512-+6bHaC8dSDGALM1HJjOHVXpuastdu2xFoZlC77Jh4cg+33Zcgm+Gxd+1xsnpZK14eyHObSp82+ll5y3SX75liw==", + "license": "Unlicense", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "@jridgewell/sourcemap-codec": "^1.4.15", + "css-tree": "^1.1.2", + "csstype": "^3.1.2", + "fastest-stable-stringify": "^2.0.2", + "inline-style-prefixer": "^7.0.1", + "rtl-css-js": "^1.16.1", + "stacktrace-js": "^2.0.2", + "stylis": "^4.3.0" }, - "engines": { - "node": ">= 0.4" + "peerDependencies": { + "react": "*", + "react-dom": "*" } }, - "node_modules/object.fromentries": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz", - "integrity": "sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==", - "dev": true, + "node_modules/nano-css/node_modules/stylis": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.3.4.tgz", + "integrity": "sha512-osIBl6BGUmSfDkyH2mB7EFvCJntXDrLhKjHTRj/rK6xLH0yuPrHULDRQzKokSOD4VoorhtKpfcfW1GAntu8now==", + "license": "MIT" + }, + "node_modules/nano-time": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/nano-time/-/nano-time-1.0.0.tgz", + "integrity": "sha512-flnngywOoQ0lLQOTRNexn2gGSNuM9bKj9RZAWSzhQ+UJYaAFG9bac4DW9VHjUAzrOaIcajHybCTHe/bkvozQqA==", + "license": "ISC", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "big-integer": "^1.6.16" } }, - "node_modules/object.hasown": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.3.tgz", - "integrity": "sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==", + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", "dev": true, - "dependencies": { - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "node_modules/object.values": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz", - "integrity": "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==", + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true, + "license": "MIT" + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "license": "MIT" + }, + "node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" - }, + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node_modules/no-case/node_modules/tslib": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" + }, + "node_modules/nocache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/nocache/-/nocache-3.0.4.tgz", + "integrity": "sha512-WDD0bdg9mbq6F4mRxEYcPWwfA1vxd0mrvKOyxI7Xj/atfRHVeutzuWByG//jfm4uPzp0y4Kj051EORCBSQMycw==", + "license": "MIT", + "peer": true, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=12.0.0" } }, - "node_modules/oblivious-set": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/oblivious-set/-/oblivious-set-1.0.0.tgz", - "integrity": "sha512-z+pI07qxo4c2CulUHCDf9lcqDlMSo72N/4rLUpRXf6fu+q8vjt8y0xS+Tlf8NTJDdTXHbdeO1n3MlbctwEoXZw==" + "node_modules/node-abort-controller": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/node-abort-controller/-/node-abort-controller-3.1.1.tgz", + "integrity": "sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==", + "license": "MIT", + "peer": true }, - "node_modules/on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "node_modules/node-dir": { + "version": "0.1.17", + "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz", + "integrity": "sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==", + "license": "MIT", "peer": true, "dependencies": { - "ee-first": "1.1.1" + "minimatch": "^3.0.2" }, "engines": { - "node": ">= 0.8" + "node": ">= 0.10.5" } }, - "node_modules/on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", - "peer": true, + "node_modules/node-domexception": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", + "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "github", + "url": "https://paypal.me/jimmywarting" + } + ], + "license": "MIT", "engines": { - "node": ">= 0.8" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dependencies": { - "wrappy": "1" + "node": ">=10.5.0" } }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "node_modules/node-fetch": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", + "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", + "dev": true, + "license": "MIT", "dependencies": { - "mimic-fn": "^2.1.0" + "data-uri-to-buffer": "^4.0.0", + "fetch-blob": "^3.1.4", + "formdata-polyfill": "^4.0.10" }, "engines": { - "node": ">=6" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/node-fetch" } }, - "node_modules/open": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/open/-/open-6.4.0.tgz", - "integrity": "sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==", + "node_modules/node-forge": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "license": "(BSD-3-Clause OR GPL-2.0)", "peer": true, - "dependencies": { - "is-wsl": "^1.1.0" - }, "engines": { - "node": ">=8" + "node": ">= 6.13.0" } }, - "node_modules/optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "license": "MIT", + "peer": true + }, + "node_modules/node-preload": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz", + "integrity": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==", "dev": true, + "license": "MIT", "dependencies": { - "@aashutoshrathi/word-wrap": "^1.2.3", - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" + "process-on-spawn": "^1.0.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">=8" } }, - "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==", - "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" - }, + "node_modules/node-releases": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", + "license": "MIT" + }, + "node_modules/node-stream-zip": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/node-stream-zip/-/node-stream-zip-1.15.0.tgz", + "integrity": "sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw==", + "license": "MIT", + "peer": true, "engines": { - "node": ">=10" + "node": ">=0.12.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "github", + "url": "https://github.com/sponsors/antelle" } }, - "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==", - "dependencies": { - "color-convert": "^2.0.1" - }, + "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==", + "license": "MIT", "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=0.10.0" } }, - "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==", + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "path-key": "^3.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">=8" } }, - "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==", + "node_modules/nullthrows": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz", + "integrity": "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==", + "license": "MIT", + "peer": true + }, + "node_modules/nwsapi": { + "version": "2.2.12", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.12.tgz", + "integrity": "sha512-qXDmcVlZV4XRtKFzddidpfVP4oMSGhga+xdMc25mv8kaLUHtgzCDhUxkrN8exkGdTlLNaXj7CV3GtON7zuGZ+w==", + "dev": true, + "license": "MIT" + }, + "node_modules/nyc": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz", + "integrity": "sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==", + "dev": true, + "license": "ISC", "dependencies": { - "color-name": "~1.1.4" + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "caching-transform": "^4.0.0", + "convert-source-map": "^1.7.0", + "decamelize": "^1.2.0", + "find-cache-dir": "^3.2.0", + "find-up": "^4.1.0", + "foreground-child": "^2.0.0", + "get-package-type": "^0.1.0", + "glob": "^7.1.6", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-hook": "^3.0.0", + "istanbul-lib-instrument": "^4.0.0", + "istanbul-lib-processinfo": "^2.0.2", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.0.2", + "make-dir": "^3.0.0", + "node-preload": "^0.2.1", + "p-map": "^3.0.0", + "process-on-spawn": "^1.0.0", + "resolve-from": "^5.0.0", + "rimraf": "^3.0.0", + "signal-exit": "^3.0.2", + "spawn-wrap": "^2.0.0", + "test-exclude": "^6.0.0", + "yargs": "^15.0.2" + }, + "bin": { + "nyc": "bin/nyc.js" }, "engines": { - "node": ">=7.0.0" + "node": ">=8.9" } }, - "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==" - }, - "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==", - "engines": { - "node": ">=8" - } + "node_modules/nyc/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true, + "license": "MIT" }, - "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==", + "node_modules/nyc/node_modules/find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "dev": true, + "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" } }, - "node_modules/os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "node_modules/nyc/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/ospath": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/ospath/-/ospath-1.2.2.tgz", - "integrity": "sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==", - "dev": true - }, - "node_modules/outvariant": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/outvariant/-/outvariant-1.4.0.tgz", - "integrity": "sha512-AlWY719RF02ujitly7Kk/0QlV+pXGFDHrHf9O2OKqyqgBieaPOIeuSkL8sRK6j2WK+/ZAURq2kZsY0d8JapUiw==", - "dev": true - }, - "node_modules/p-limit": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", - "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", + "node_modules/nyc/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "license": "ISC", "dependencies": { - "yocto-queue": "^1.0.0" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": "*" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "node_modules/nyc/node_modules/istanbul-lib-instrument": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", + "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", + "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "p-limit": "^3.0.2" + "@babel/core": "^7.7.5", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.0.0", + "semver": "^6.3.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/p-locate/node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "node_modules/nyc/node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "yocto-queue": "^0.1.0" + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" }, "engines": { "node": ">=10" + } + }, + "node_modules/nyc/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=8" } }, - "node_modules/p-locate/node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "node_modules/nyc/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, + "license": "MIT", + "dependencies": { + "semver": "^6.0.0" + }, "engines": { - "node": ">=10" + "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "node_modules/nyc/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, + "license": "MIT", "dependencies": { - "aggregate-error": "^3.0.0" + "p-try": "^2.0.0" }, "engines": { - "node": ">=10" + "node": ">=6" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/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==", + "node_modules/nyc/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/package-hash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz", - "integrity": "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==", + "node_modules/nyc/node_modules/p-map": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", + "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", "dev": true, + "license": "MIT", "dependencies": { - "graceful-fs": "^4.1.15", - "hasha": "^5.0.0", - "lodash.flattendeep": "^4.4.0", - "release-zalgo": "^1.0.0" + "aggregate-error": "^3.0.0" }, "engines": { "node": ">=8" } }, - "node_modules/pako": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pako/-/pako-2.0.4.tgz", - "integrity": "sha512-v8tweI900AUkZN6heMU/4Uy4cXRc2AYNRggVmTR+dEncawDJgCdLMximOVA2p4qO57WMynangsfGRb5WD6L1Bg==" - }, - "node_modules/papaparse": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/papaparse/-/papaparse-5.4.1.tgz", - "integrity": "sha512-HipMsgJkZu8br23pW15uvo6sib6wne/4woLZPlFf3rpDyMe9ywEXUsuD7+6K9PRkJlVT51j/sCOYDKGGS3ZJrw==" - }, - "node_modules/param-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", - "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "node_modules/nyc/node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "license": "MIT", "dependencies": { - "dot-case": "^3.0.4", - "tslib": "^2.0.3" + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/param-case/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + "node_modules/nyc/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "node_modules/nyc/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, - "dependencies": { - "callsites": "^3.0.0" - }, + "license": "BSD-3-Clause", "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "node_modules/nyc/node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", "dev": true, + "license": "ISC", "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" }, "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/parse5": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", - "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", - "dev": true, + "node_modules/ob1": { + "version": "0.80.12", + "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.80.12.tgz", + "integrity": "sha512-VMArClVT6LkhUGpnuEoBuyjG9rzUyEzg4PDkav6wK1cLhOK02gPCYFxoiB4mqVnrMhDpIzJcrGNAMVi9P+hXrw==", + "license": "MIT", + "peer": true, "dependencies": { - "entities": "^4.4.0" + "flow-enums-runtime": "^0.0.6" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/object-inspect": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", + "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/parse5/node_modules/entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "node_modules/object-is": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz", + "integrity": "sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==", "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1" + }, "engines": { - "node": ">=0.12" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "peer": true, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "license": "MIT", "engines": { - "node": ">= 0.8" + "node": ">= 0.4" } }, - "node_modules/pascal-case": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", - "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "node_modules/object.assign": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", + "dev": true, + "license": "MIT", "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/pascal-case/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - }, - "node_modules/path-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/path-case/-/path-case-3.0.4.tgz", - "integrity": "sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==", + "node_modules/object.entries": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz", + "integrity": "sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==", + "dev": true, + "license": "MIT", "dependencies": { - "dot-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/path-case/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, "engines": { - "node": ">=8" + "node": ">= 0.4" } }, - "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": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "node_modules/object.fromentries": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", + "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "node_modules/object.values": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz", + "integrity": "sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - }, - "node_modules/path-to-regexp": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.3.0.tgz", - "integrity": "sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==", - "dev": true, + "node_modules/oblivious-set": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/oblivious-set/-/oblivious-set-1.0.0.tgz", + "integrity": "sha512-z+pI07qxo4c2CulUHCDf9lcqDlMSo72N/4rLUpRXf6fu+q8vjt8y0xS+Tlf8NTJDdTXHbdeO1n3MlbctwEoXZw==", "license": "MIT" }, - "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==", - "dev": true, + "node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "license": "MIT", + "peer": true, + "dependencies": { + "ee-first": "1.1.1" + }, "engines": { - "node": ">=8" + "node": ">= 0.8" } }, - "node_modules/pathe": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", - "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", - "dev": true - }, - "node_modules/pathval": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", - "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", - "dev": true, + "node_modules/on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "license": "MIT", + "peer": true, "engines": { - "node": "*" + "node": ">= 0.8" } }, - "node_modules/pend": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", - "dev": true - }, - "node_modules/performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", - "dev": true - }, - "node_modules/picocolors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", - "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==", - "license": "ISC" + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", + "dependencies": { + "wrappy": "1" + } }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, "engines": { - "node": ">=8.6" + "node": ">=6" }, "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "dev": true, + "node_modules/open": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/open/-/open-6.4.0.tgz", + "integrity": "sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==", + "license": "MIT", + "peer": true, + "dependencies": { + "is-wsl": "^1.1.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/pirates": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", - "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "node_modules/open/node_modules/is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", + "license": "MIT", "peer": true, "engines": { - "node": ">= 6" + "node": ">=4" } }, - "node_modules/pixelmatch": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/pixelmatch/-/pixelmatch-5.3.0.tgz", - "integrity": "sha512-o8mkY4E/+LNUf6LzX96ht6k6CEDi65k9G2rjMtBe9Oo+VPKSvl+0GKHuH/AlG+GA5LPG/i5hrekkxUc3s2HU+Q==", + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", "dev": true, + "license": "MIT", "dependencies": { - "pngjs": "^6.0.0" + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" }, - "bin": { - "pixelmatch": "bin/pixelmatch" - } - }, - "node_modules/pixelmatch/node_modules/pngjs": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-6.0.0.tgz", - "integrity": "sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==", - "dev": true, "engines": { - "node": ">=12.13.0" + "node": ">= 0.8.0" } }, - "node_modules/pkg-dir": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz", - "integrity": "sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==", - "dev": true, + "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==", + "license": "MIT", "peer": true, "dependencies": { - "find-up": "^6.3.0" + "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": ">=14.16" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/pkg-dir/node_modules/find-up": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", - "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", - "dev": true, + "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==", + "license": "MIT", "peer": true, "dependencies": { - "locate-path": "^7.1.0", - "path-exists": "^5.0.0" + "color-convert": "^2.0.1" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/pkg-dir/node_modules/locate-path": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", - "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", - "dev": true, + "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==", + "license": "MIT", "peer": true, "dependencies": { - "p-locate": "^6.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/pkg-dir/node_modules/p-locate": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", - "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", - "dev": true, + "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==", + "license": "MIT", "peer": true, "dependencies": { - "p-limit": "^4.0.0" + "color-name": "~1.1.4" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=7.0.0" } }, - "node_modules/pkg-dir/node_modules/path-exists": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", - "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", - "dev": true, + "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==", + "license": "MIT", + "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==", + "license": "MIT", "peer": true, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=8" } }, - "node_modules/pkg-types": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.0.3.tgz", - "integrity": "sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==", - "dev": true, + "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==", + "license": "MIT", + "peer": true, "dependencies": { - "jsonc-parser": "^3.2.0", - "mlly": "^1.2.0", - "pathe": "^1.1.0" + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/pngjs": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-7.0.0.tgz", - "integrity": "sha512-LKWqWJRhstyYo9pGvgor/ivk2w94eSjE3RGVuzLGlr3NmD8bf7RcYGze1mNdEHRP6TRP6rMuDHk5t44hnTRyow==", + "node_modules/ospath": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/ospath/-/ospath-1.2.2.tgz", + "integrity": "sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==", "dev": true, - "engines": { - "node": ">=14.19.0" - } + "license": "MIT" }, - "node_modules/postcss": { - "version": "8.4.47", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", - "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", + "node_modules/outvariant": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/outvariant/-/outvariant-1.4.3.tgz", + "integrity": "sha512-+Sl2UErvtsoajRDKCE5/dBz4DIvHXQQnAxtQTF04OJxY0+DyZXSo5P5Bb7XYWOh81syohlYL24hbDwxedPUJCA==", "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], + "license": "MIT" + }, + "node_modules/p-limit": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", + "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", "license": "MIT", "dependencies": { - "nanoid": "^3.3.7", - "picocolors": "^1.1.0", - "source-map-js": "^1.2.1" + "yocto-queue": "^1.0.0" }, "engines": { - "node": "^10 || ^12 || >=14" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, "engines": { - "node": ">= 0.8.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/prettier": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.3.tgz", - "integrity": "sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==", - "dev": true, - "bin": { - "prettier": "bin/prettier.cjs" + "node_modules/p-locate/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" }, "engines": { - "node": ">=14" + "node": ">=10" }, "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/pretty-bytes": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", - "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", - "dev": true, + "node_modules/p-locate/node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "license": "MIT", "engines": { - "node": ">=6" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", "dev": true, + "license": "MIT", "dependencies": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" + "aggregate-error": "^3.0.0" }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/pretty-format/node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", - "dev": true + "node_modules/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==", + "license": "MIT", + "engines": { + "node": ">=6" + } }, - "node_modules/process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "node_modules/package-hash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz", + "integrity": "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "graceful-fs": "^4.1.15", + "hasha": "^5.0.0", + "lodash.flattendeep": "^4.4.0", + "release-zalgo": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/package-json-from-dist": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", + "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==", "dev": true, + "license": "BlueOak-1.0.0" + }, + "node_modules/pako": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pako/-/pako-2.0.4.tgz", + "integrity": "sha512-v8tweI900AUkZN6heMU/4Uy4cXRc2AYNRggVmTR+dEncawDJgCdLMximOVA2p4qO57WMynangsfGRb5WD6L1Bg==", + "license": "(MIT AND Zlib)" + }, + "node_modules/papaparse": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/papaparse/-/papaparse-5.4.1.tgz", + "integrity": "sha512-HipMsgJkZu8br23pW15uvo6sib6wne/4woLZPlFf3rpDyMe9ywEXUsuD7+6K9PRkJlVT51j/sCOYDKGGS3ZJrw==", + "license": "MIT" + }, + "node_modules/param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "license": "MIT", + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/param-case/node_modules/tslib": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, "engines": { - "node": ">= 0.6.0" + "node": ">=6" } }, - "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==", - "peer": true - }, - "node_modules/process-on-spawn": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz", - "integrity": "sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==", - "dev": true, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "license": "MIT", "dependencies": { - "fromentries": "^1.2.0" + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/promise": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", - "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "node_modules/parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "dev": true, + "license": "MIT", "dependencies": { - "asap": "~2.0.3" + "entities": "^4.4.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" } }, - "node_modules/prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", - "peer": true, - "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" + "node_modules/parse5/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "license": "MIT", + "peer": true, "engines": { - "node": ">= 6" + "node": ">= 0.8" } }, - "node_modules/prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "node_modules/pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "license": "MIT", "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" + "no-case": "^3.0.4", + "tslib": "^2.0.3" } }, - "node_modules/proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" - }, - "node_modules/psl": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", - "dev": true + "node_modules/pascal-case/node_modules/tslib": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" }, - "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==", - "dev": true, + "node_modules/path-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/path-case/-/path-case-3.0.4.tgz", + "integrity": "sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==", + "license": "MIT", "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" + "dot-case": "^3.0.4", + "tslib": "^2.0.3" } }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "node_modules/path-case/node_modules/tslib": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "license": "MIT", "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/pure-color": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/pure-color/-/pure-color-1.3.0.tgz", - "integrity": "sha512-QFADYnsVoBMw1srW7OVKEYjG+MbIa49s54w1MA1EDY6r2r/sTcKKYqRX1f4GYvnXP7eN/Pe9HFcX+hwzmrXRHA==" - }, - "node_modules/qrcode": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/qrcode/-/qrcode-1.5.0.tgz", - "integrity": "sha512-9MgRpgVc+/+47dFvQeD6U2s0Z92EsKzcHogtum4QB+UNd025WOJSHvn/hjk9xmzj7Stj95CyUAs31mrjxliEsQ==", - "dependencies": { - "dijkstrajs": "^1.0.1", - "encode-utf8": "^1.0.3", - "pngjs": "^5.0.0", - "yargs": "^15.3.1" - }, - "bin": { - "qrcode": "bin/qrcode" - }, + "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": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "license": "MIT", "engines": { - "node": ">=10.13.0" + "node": ">=0.10.0" } }, - "node_modules/qrcode/node_modules/pngjs": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-5.0.0.tgz", - "integrity": "sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==", + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "license": "MIT", "engines": { - "node": ">=10.13.0" + "node": ">=8" } }, - "node_modules/qs": { - "version": "6.10.4", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.4.tgz", - "integrity": "sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g==", + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "license": "MIT" + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", "dev": true, + "license": "BlueOak-1.0.0", "dependencies": { - "side-channel": "^1.0.4" + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" }, "engines": { - "node": ">=0.6" + "node": ">=16 || 14 >=14.18" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==", - "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/path-to-regexp": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.3.0.tgz", + "integrity": "sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==", + "dev": true, + "license": "MIT" + }, + "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==", + "dev": true, + "license": "MIT", "engines": { - "node": ">=0.4.x" + "node": ">=8" } }, - "node_modules/querystringify": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", - "dev": true + "node_modules/pathe": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", + "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", + "dev": true, + "license": "MIT" }, - "node_modules/queue": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz", - "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==", - "peer": true, - "dependencies": { - "inherits": "~2.0.3" + "node_modules/pathval": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.0.tgz", + "integrity": "sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.16" } }, - "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/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "dev": true, + "license": "MIT" }, - "node_modules/quick-lru": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", - "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", + "dev": true, + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", + "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "license": "MIT", "engines": { - "node": ">=8" - } - }, - "node_modules/ramda": { - "version": "0.28.0", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.28.0.tgz", - "integrity": "sha512-9QnLuG/kPVgWvMQ4aODhsBUFKOUmnbUnsSXACv+NCQZcHbeb+v8Lodp8OVxtRULN1/xOyYLLaL6npE6dMq5QTA==", + "node": ">=8.6" + }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/ramda" + "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", "dev": true, "license": "MIT", - "peer": true, - "dependencies": { - "safe-buffer": "^5.1.0" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/randomcolor": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/randomcolor/-/randomcolor-0.5.4.tgz", - "integrity": "sha512-nYd4nmTuuwMFzHL6W+UWR5fNERGZeVauho8mrJDUSXdNDbao4rbrUwhuLgKC/j8VCS5+34Ria8CsTDuBjrIrQA==" - }, - "node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", "license": "MIT", "peer": true, "engines": { - "node": ">= 0.6" + "node": ">= 6" } }, - "node_modules/react": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz", - "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==", + "node_modules/pixelmatch": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/pixelmatch/-/pixelmatch-5.3.0.tgz", + "integrity": "sha512-o8mkY4E/+LNUf6LzX96ht6k6CEDi65k9G2rjMtBe9Oo+VPKSvl+0GKHuH/AlG+GA5LPG/i5hrekkxUc3s2HU+Q==", + "dev": true, + "license": "ISC", "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" + "pngjs": "^6.0.0" }, - "engines": { - "node": ">=0.10.0" + "bin": { + "pixelmatch": "bin/pixelmatch" } }, - "node_modules/react-base16-styling": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/react-base16-styling/-/react-base16-styling-0.6.0.tgz", - "integrity": "sha512-yvh/7CArceR/jNATXOKDlvTnPKPmGZz7zsenQ3jUwLzHkNUR0CvY3yGYJbWJ/nnxsL8Sgmt5cO3/SILVuPO6TQ==", - "dependencies": { - "base16": "^1.0.0", - "lodash.curry": "^4.0.1", - "lodash.flow": "^3.3.0", - "pure-color": "^1.2.0" + "node_modules/pixelmatch/node_modules/pngjs": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-6.0.0.tgz", + "integrity": "sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.13.0" } }, - "node_modules/react-cytoscapejs": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/react-cytoscapejs/-/react-cytoscapejs-1.2.1.tgz", - "integrity": "sha512-8exVCetpzyGCAKuRjXPWGjFCnb22boZ3SXUPpPB/+wQI8Q8BwkT1URN3A7J1Czvj1qAbShh5QQ514mBUp7i7kw==", + "node_modules/pkg-dir": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz", + "integrity": "sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==", + "dev": true, + "license": "MIT", + "peer": true, "dependencies": { - "cytoscape": "^3.2.19", - "prop-types": "^15.6.2" + "find-up": "^6.3.0" }, "engines": { - "node": ">=8.11.3" + "node": ">=14.16" }, - "peerDependencies": { - "react": ">=15.0.0", - "react-dom": ">=15.0.0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/react-devtools-core": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-5.2.0.tgz", - "integrity": "sha512-vZK+/gvxxsieAoAyYaiRIVFxlajb7KXhgBDV7OsoMzaAE+IqGpoxusBjIgq5ibqA2IloKu0p9n7tE68z1xs18A==", + "node_modules/pkg-dir/node_modules/find-up": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", + "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", + "dev": true, + "license": "MIT", "peer": true, "dependencies": { - "shell-quote": "^1.6.1", - "ws": "^7" - } - }, - "node_modules/react-devtools-core/node_modules/ws": { - "version": "7.5.10", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", - "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", - "peer": true, - "engines": { - "node": ">=8.3.0" + "locate-path": "^7.1.0", + "path-exists": "^5.0.0" }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/react-dom": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz", - "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==", + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", + "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", + "dev": true, + "license": "MIT", + "peer": true, "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "scheduler": "^0.20.2" + "p-locate": "^6.0.0" }, - "peerDependencies": { - "react": "17.0.2" + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/react-error-boundary": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/react-error-boundary/-/react-error-boundary-3.1.4.tgz", - "integrity": "sha512-uM9uPzZJTF6wRQORmSrvOIgt4lJ9MC1sNgEOj2XGsDTRE4kmpWxg7ENK9EWNKJRMAOY9z0MuF4yIfl6gp4sotA==", + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", + "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", + "dev": true, + "license": "MIT", + "peer": true, "dependencies": { - "@babel/runtime": "^7.12.5" + "p-limit": "^4.0.0" }, "engines": { - "node": ">=10", - "npm": ">=6" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, - "peerDependencies": { - "react": ">=16.13.1" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/react-generate-context": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/react-generate-context/-/react-generate-context-1.0.1.tgz", - "integrity": "sha512-rOFGh3KgC2Ot66DmVCcT1p8lVJCmmCjzGE5WK/KsyDFi43wpIbW1PYcr04cQ3mbF4LaIkY6SpK7k1DOgwtpUXA==", + "node_modules/pkg-dir/node_modules/path-exists": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", + "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", + "dev": true, + "license": "MIT", + "peer": true, "engines": { - "node": ">=10" - }, - "peerDependencies": { - "react": ">=16" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } }, - "node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + "node_modules/pngjs": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-7.0.0.tgz", + "integrity": "sha512-LKWqWJRhstyYo9pGvgor/ivk2w94eSjE3RGVuzLGlr3NmD8bf7RcYGze1mNdEHRP6TRP6rMuDHk5t44hnTRyow==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.19.0" + } + }, + "node_modules/possible-typed-array-names": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", + "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } }, - "node_modules/react-json-view": { - "version": "1.21.1", - "resolved": "https://registry.npmjs.org/react-json-view/-/react-json-view-1.21.1.tgz", - "integrity": "sha512-AonvGea4nWlsnNXCbnSdUHsetyNS8rUMhbFHS9eFaDB1oeaxgHcVsqo5LhGRMvWybfDdjVUo0xzDoMQP7jbrXw==", + "node_modules/postcss": { + "version": "8.4.47", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", + "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", "dependencies": { - "flux": "^4.0.1", - "react-base16-styling": "^0.6.0", - "react-lifecycles-compat": "^3.0.4", - "react-textarea-autosize": "^6.1.0" + "nanoid": "^3.3.7", + "picocolors": "^1.1.0", + "source-map-js": "^1.2.1" }, - "peerDependencies": { - "react": "^17.0.0 || ^16.3.0 || ^15.5.4", - "react-dom": "^17.0.0 || ^16.3.0 || ^15.5.4" + "engines": { + "node": "^10 || ^12 || >=14" } }, - "node_modules/react-json-view/node_modules/react-textarea-autosize": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/react-textarea-autosize/-/react-textarea-autosize-6.1.0.tgz", - "integrity": "sha512-F6bI1dgib6fSvG8so1HuArPUv+iVEfPliuLWusLF+gAKz0FbB4jLrWUrTAeq1afnPT2c9toEZYUdz/y1uKMy4A==", - "dependencies": { - "prop-types": "^15.6.0" + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz", + "integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==", + "dev": true, + "license": "MIT", + "bin": { + "prettier": "bin/prettier.cjs" }, - "peerDependencies": { - "react": ">=0.14.0 <17.0.0" + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" } }, - "node_modules/react-keyed-flatten-children": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/react-keyed-flatten-children/-/react-keyed-flatten-children-1.3.0.tgz", - "integrity": "sha512-qB7A6n+NHU0x88qTZGAJw6dsqwI941jcRPBB640c/CyWqjPQQ+YUmXOuzPziuHb7iqplM3xksWAbGYwkQT0tXA==", - "dependencies": { - "react-is": "^16.8.6" + "node_modules/pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" }, - "peerDependencies": { - "react": ">=15.0.0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/react-lifecycles-compat": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", - "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" - }, - "node_modules/react-papaparse": { - "version": "3.11.1", - "resolved": "https://registry.npmjs.org/react-papaparse/-/react-papaparse-3.11.1.tgz", - "integrity": "sha512-/TGscChB9rtaqKbQOWXpGQ+hFf+6EWxV5iRi1V1tCf0WW+dT4oy961QpdPUDZNcUakEXdkuRzdi+z8yNTRGCQQ==", + "node_modules/pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "dev": true, + "license": "MIT", "dependencies": { - "@types/papaparse": "^5.0.4", - "papaparse": "^5.2.0" + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" }, "engines": { - "node": ">=8", - "npm": ">=5" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/react-query": { - "version": "3.39.3", - "resolved": "https://registry.npmjs.org/react-query/-/react-query-3.39.3.tgz", - "integrity": "sha512-nLfLz7GiohKTJDuT4us4X3h/8unOh+00MLb2yJoGTPjxKs2bc1iDhkNx2bd5MKklXnOD3NrVZ+J2UXujA5In4g==", - "dependencies": { - "@babel/runtime": "^7.5.5", - "broadcast-channel": "^3.4.1", - "match-sorter": "^6.0.2" + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "react-dom": { - "optional": true - }, - "react-native": { - "optional": true - } + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/react-refresh": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz", - "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==", + "node_modules/pretty-format/node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true, + "license": "MIT" + }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "dev": true, + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">= 0.6.0" } }, - "node_modules/react-remove-scroll": { - "version": "2.5.4", - "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.5.4.tgz", - "integrity": "sha512-xGVKJJr0SJGQVirVFAUZ2k1QLyO6m+2fy0l8Qawbp5Jgrv3DeLalrfMNBFSlmz5kriGGzsVBtGVnf4pTKIhhWA==", + "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==", + "license": "MIT", + "peer": true + }, + "node_modules/process-on-spawn": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz", + "integrity": "sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==", + "dev": true, + "license": "MIT", "dependencies": { - "react-remove-scroll-bar": "^2.3.3", - "react-style-singleton": "^2.2.1", - "tslib": "^2.1.0", - "use-callback-ref": "^1.3.0", - "use-sidecar": "^1.1.2" + "fromentries": "^1.2.0" }, "engines": { - "node": ">=10" - }, - "peerDependencies": { - "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } + "node": ">=8" } }, - "node_modules/react-remove-scroll-bar": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.4.tgz", - "integrity": "sha512-63C4YQBUt0m6ALadE9XV56hV8BgJWDmmTPY758iIJjfQKt2nYwoUrPk0LXRXcB/yIj82T1/Ixfdpdk68LwIB0A==", + "node_modules/promise": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", + "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", + "license": "MIT", + "peer": true, "dependencies": { - "react-style-singleton": "^2.2.1", - "tslib": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } + "asap": "~2.0.6" } }, - "node_modules/react-remove-scroll-bar/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - }, - "node_modules/react-remove-scroll/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - }, - "node_modules/react-router": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.2.0.tgz", - "integrity": "sha512-smz1DUuFHRKdcJC0jobGo8cVbhO3x50tCL4icacOlcwDOEQPq4TMqwx3sY1TP+DvtTgz4nm3thuo7A+BK2U0Dw==", + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "license": "MIT", + "peer": true, "dependencies": { - "@babel/runtime": "^7.1.2", - "history": "^4.9.0", - "hoist-non-react-statics": "^3.1.0", - "loose-envify": "^1.3.1", - "mini-create-react-context": "^0.4.0", - "path-to-regexp": "^1.7.0", - "prop-types": "^15.6.2", - "react-is": "^16.6.0", - "tiny-invariant": "^1.0.2", - "tiny-warning": "^1.0.0" + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" }, - "peerDependencies": { - "react": ">=15" + "engines": { + "node": ">= 6" } }, - "node_modules/react-router-dom": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.2.0.tgz", - "integrity": "sha512-gxAmfylo2QUjcwxI63RhQ5G85Qqt4voZpUXSEqCwykV0baaOTQDR1f0PmY8AELqIyVc0NEZUj0Gov5lNGcXgsA==", + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "license": "MIT", "dependencies": { - "@babel/runtime": "^7.1.2", - "history": "^4.9.0", - "loose-envify": "^1.3.1", - "prop-types": "^15.6.2", - "react-router": "5.2.0", - "tiny-invariant": "^1.0.2", - "tiny-warning": "^1.0.0" - }, - "peerDependencies": { - "react": ">=15" + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" } }, - "node_modules/react-router/node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "license": "MIT" }, - "node_modules/react-router/node_modules/path-to-regexp": { + "node_modules/psl": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.9.0.tgz", - "integrity": "sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", + "dev": true, + "license": "MIT" + }, + "node_modules/pump": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.2.tgz", + "integrity": "sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==", + "dev": true, "license": "MIT", "dependencies": { - "isarray": "0.0.1" + "end-of-stream": "^1.1.0", + "once": "^1.3.1" } }, - "node_modules/react-shallow-renderer": { - "version": "16.15.0", - "resolved": "https://registry.npmjs.org/react-shallow-renderer/-/react-shallow-renderer-16.15.0.tgz", - "integrity": "sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA==", - "peer": true, - "dependencies": { - "object-assign": "^4.1.1", - "react-is": "^16.12.0 || ^17.0.0 || ^18.0.0" - }, - "peerDependencies": { - "react": "^16.0.0 || ^17.0.0 || ^18.0.0" + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "license": "MIT", + "engines": { + "node": ">=6" } }, - "node_modules/react-style-singleton": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.1.tgz", - "integrity": "sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==", + "node_modules/qrcode": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/qrcode/-/qrcode-1.5.0.tgz", + "integrity": "sha512-9MgRpgVc+/+47dFvQeD6U2s0Z92EsKzcHogtum4QB+UNd025WOJSHvn/hjk9xmzj7Stj95CyUAs31mrjxliEsQ==", + "license": "MIT", "dependencies": { - "get-nonce": "^1.0.0", - "invariant": "^2.2.4", - "tslib": "^2.0.0" - }, - "engines": { - "node": ">=10" + "dijkstrajs": "^1.0.1", + "encode-utf8": "^1.0.3", + "pngjs": "^5.0.0", + "yargs": "^15.3.1" }, - "peerDependencies": { - "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + "bin": { + "qrcode": "bin/qrcode" }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } + "engines": { + "node": ">=10.13.0" } }, - "node_modules/react-style-singleton/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + "node_modules/qrcode/node_modules/pngjs": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-5.0.0.tgz", + "integrity": "sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==", + "license": "MIT", + "engines": { + "node": ">=10.13.0" + } }, - "node_modules/react-transition-group": { - "version": "4.4.5", - "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", - "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", + "node_modules/qs": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", + "license": "BSD-3-Clause", "dependencies": { - "@babel/runtime": "^7.5.5", - "dom-helpers": "^5.0.1", - "loose-envify": "^1.4.0", - "prop-types": "^15.6.2" + "side-channel": "^1.0.6" }, - "peerDependencies": { - "react": ">=16.6.0", - "react-dom": ">=16.6.0" + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/react-universal-interface": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/react-universal-interface/-/react-universal-interface-0.6.2.tgz", - "integrity": "sha512-dg8yXdcQmvgR13RIlZbTRQOoUrDciFVoSBZILwjE2LFISxZZ8loVJKAkuzswl5js8BHda79bIb2b84ehU8IjXw==", - "peerDependencies": { - "react": "*", - "tslib": "*" + "node_modules/querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==", + "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", + "engines": { + "node": ">=0.4.x" } }, - "node_modules/react-use": { - "version": "17.4.0", - "resolved": "https://registry.npmjs.org/react-use/-/react-use-17.4.0.tgz", - "integrity": "sha512-TgbNTCA33Wl7xzIJegn1HndB4qTS9u03QUwyNycUnXaweZkE4Kq2SB+Yoxx8qbshkZGYBDvUXbXWRUmQDcZZ/Q==", + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/queue": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz", + "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==", + "license": "MIT", + "peer": true, "dependencies": { - "@types/js-cookie": "^2.2.6", - "@xobotyi/scrollbar-width": "^1.9.5", - "copy-to-clipboard": "^3.3.1", - "fast-deep-equal": "^3.1.3", - "fast-shallow-equal": "^1.0.0", - "js-cookie": "^2.2.1", - "nano-css": "^5.3.1", - "react-universal-interface": "^0.6.2", - "resize-observer-polyfill": "^1.5.1", - "screenfull": "^5.1.0", - "set-harmonic-interval": "^1.0.1", - "throttle-debounce": "^3.0.1", - "ts-easing": "^0.2.0", - "tslib": "^2.1.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + "inherits": "~2.0.3" } }, - "node_modules/react-use/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - }, - "node_modules/react-virtual": { - "version": "2.10.4", - "resolved": "https://registry.npmjs.org/react-virtual/-/react-virtual-2.10.4.tgz", - "integrity": "sha512-Ir6+oPQZTVHfa6+JL9M7cvMILstFZH/H3jqeYeKI4MSUX+rIruVwFC6nGVXw9wqAw8L0Kg2KvfXxI85OvYQdpQ==", + "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": [ - "https://github.com/sponsors/tannerlinsley" + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } ], + "license": "MIT" + }, + "node_modules/quick-lru": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", + "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ramda": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.28.0.tgz", + "integrity": "sha512-9QnLuG/kPVgWvMQ4aODhsBUFKOUmnbUnsSXACv+NCQZcHbeb+v8Lodp8OVxtRULN1/xOyYLLaL6npE6dMq5QTA==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/ramda" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "license": "MIT", + "peer": true, "dependencies": { - "@reach/observe-rect": "^1.1.0" - }, - "peerDependencies": { - "react": "^16.6.3 || ^17.0.0" + "safe-buffer": "^5.1.0" } }, - "node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "node_modules/randomcolor": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/randomcolor/-/randomcolor-0.5.4.tgz", + "integrity": "sha512-nYd4nmTuuwMFzHL6W+UWR5fNERGZeVauho8mrJDUSXdNDbao4rbrUwhuLgKC/j8VCS5+34Ria8CsTDuBjrIrQA==", + "license": "CC0" + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "license": "MIT", "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "loose-envify": "^1.1.0" }, "engines": { - "node": ">= 6" + "node": ">=0.10.0" } }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "node_modules/react-cytoscapejs": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/react-cytoscapejs/-/react-cytoscapejs-1.2.1.tgz", + "integrity": "sha512-8exVCetpzyGCAKuRjXPWGjFCnb22boZ3SXUPpPB/+wQI8Q8BwkT1URN3A7J1Czvj1qAbShh5QQ514mBUp7i7kw==", + "license": "MIT", "dependencies": { - "picomatch": "^2.2.1" + "cytoscape": "^3.2.19", + "prop-types": "^15.6.2" }, "engines": { - "node": ">=8.10.0" + "node": ">=8.11.3" + }, + "peerDependencies": { + "react": ">=15.0.0", + "react-dom": ">=15.0.0" } }, - "node_modules/readline": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/readline/-/readline-1.3.0.tgz", - "integrity": "sha512-k2d6ACCkiNYz222Fs/iNze30rRJ1iIicW7JuX/7/cozvih6YCkFZH+J6mAFDVgv0dRBaAyr4jDqC95R2y4IADg==", - "peer": true - }, - "node_modules/recast": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/recast/-/recast-0.21.5.tgz", - "integrity": "sha512-hjMmLaUXAm1hIuTqOdeYObMslq/q+Xff6QE3Y2P+uoHAg2nmVlLBps2hzh1UJDdMtDTMXOFewK6ky51JQIeECg==", + "node_modules/react-devtools-core": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-5.3.1.tgz", + "integrity": "sha512-7FSb9meX0btdBQLwdFOwt6bGqvRPabmVMMslv8fgoSPqXyuGpgQe36kx8gR86XPw7aV1yVouTp6fyZ0EH+NfUw==", + "license": "MIT", "peer": true, "dependencies": { - "ast-types": "0.15.2", - "esprima": "~4.0.0", - "source-map": "~0.6.1", - "tslib": "^2.0.1" - }, - "engines": { - "node": ">= 4" + "shell-quote": "^1.6.1", + "ws": "^7" } }, - "node_modules/recast/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==", + "node_modules/react-devtools-core/node_modules/ws": { + "version": "7.5.10", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", + "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", + "license": "MIT", "peer": true, "engines": { - "node": ">=0.10.0" + "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/recast/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "peer": true - }, - "node_modules/redent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", - "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", - "dev": true, + "node_modules/react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "license": "MIT", "dependencies": { - "indent-string": "^4.0.0", - "strip-indent": "^3.0.0" + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" }, - "engines": { - "node": ">=8" + "peerDependencies": { + "react": "^18.2.0" } }, - "node_modules/reflect.getprototypeof": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.4.tgz", - "integrity": "sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw==", - "dev": true, + "node_modules/react-error-boundary": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/react-error-boundary/-/react-error-boundary-3.1.4.tgz", + "integrity": "sha512-uM9uPzZJTF6wRQORmSrvOIgt4lJ9MC1sNgEOj2XGsDTRE4kmpWxg7ENK9EWNKJRMAOY9z0MuF4yIfl6gp4sotA==", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1", - "globalthis": "^1.0.3", - "which-builtin-type": "^1.1.3" + "@babel/runtime": "^7.12.5" }, "engines": { - "node": ">= 0.4" + "node": ">=10", + "npm": ">=6" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "react": ">=16.13.1" } }, - "node_modules/regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" - }, - "node_modules/regenerate-unicode-properties": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", - "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", - "dependencies": { - "regenerate": "^1.4.2" - }, + "node_modules/react-generate-context": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/react-generate-context/-/react-generate-context-1.0.1.tgz", + "integrity": "sha512-rOFGh3KgC2Ot66DmVCcT1p8lVJCmmCjzGE5WK/KsyDFi43wpIbW1PYcr04cQ3mbF4LaIkY6SpK7k1DOgwtpUXA==", + "license": "MIT", "engines": { - "node": ">=4" + "node": ">=10" + }, + "peerDependencies": { + "react": ">=16" } }, - "node_modules/regenerator-runtime": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", - "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==" + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "license": "MIT" }, - "node_modules/regenerator-transform": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", - "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "node_modules/react-keyed-flatten-children": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/react-keyed-flatten-children/-/react-keyed-flatten-children-1.3.0.tgz", + "integrity": "sha512-qB7A6n+NHU0x88qTZGAJw6dsqwI941jcRPBB640c/CyWqjPQQ+YUmXOuzPziuHb7iqplM3xksWAbGYwkQT0tXA==", + "license": "MIT", "dependencies": { - "@babel/runtime": "^7.8.4" + "react-is": "^16.8.6" + }, + "peerDependencies": { + "react": ">=15.0.0" } }, - "node_modules/regexp.prototype.flags": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", - "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==", - "dev": true, + "node_modules/react-native": { + "version": "0.75.3", + "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.75.3.tgz", + "integrity": "sha512-+Ne6u5H+tPo36sme19SCd1u2UID2uo0J/XzAJarxmrDj4Nsdi44eyUDKtQHmhgxjRGsuVJqAYrMK0abLSq8AHw==", + "license": "MIT", + "peer": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "set-function-name": "^2.0.0" + "@jest/create-cache-key-function": "^29.6.3", + "@react-native-community/cli": "14.1.0", + "@react-native-community/cli-platform-android": "14.1.0", + "@react-native-community/cli-platform-ios": "14.1.0", + "@react-native/assets-registry": "0.75.3", + "@react-native/codegen": "0.75.3", + "@react-native/community-cli-plugin": "0.75.3", + "@react-native/gradle-plugin": "0.75.3", + "@react-native/js-polyfills": "0.75.3", + "@react-native/normalize-colors": "0.75.3", + "@react-native/virtualized-lists": "0.75.3", + "abort-controller": "^3.0.0", + "anser": "^1.4.9", + "ansi-regex": "^5.0.0", + "base64-js": "^1.5.1", + "chalk": "^4.0.0", + "commander": "^9.4.1", + "event-target-shim": "^5.0.1", + "flow-enums-runtime": "^0.0.6", + "glob": "^7.1.1", + "invariant": "^2.2.4", + "jest-environment-node": "^29.6.3", + "jsc-android": "^250231.0.0", + "memoize-one": "^5.0.0", + "metro-runtime": "^0.80.3", + "metro-source-map": "^0.80.3", + "mkdirp": "^0.5.1", + "nullthrows": "^1.1.1", + "pretty-format": "^26.5.2", + "promise": "^8.3.0", + "react-devtools-core": "^5.3.1", + "react-refresh": "^0.14.0", + "regenerator-runtime": "^0.13.2", + "scheduler": "0.24.0-canary-efb381bbf-20230505", + "semver": "^7.1.3", + "stacktrace-parser": "^0.1.10", + "whatwg-fetch": "^3.0.0", + "ws": "^6.2.2", + "yargs": "^17.6.2" + }, + "bin": { + "react-native": "cli.js" }, "engines": { - "node": ">= 0.4" + "node": ">=18" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "@types/react": "^18.2.6", + "react": "^18.2.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, - "node_modules/regexpu-core": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", - "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "node_modules/react-native-get-random-values": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/react-native-get-random-values/-/react-native-get-random-values-1.11.0.tgz", + "integrity": "sha512-4BTbDbRmS7iPdhYLRcz3PGFIpFJBwNZg9g42iwa2P6FOv9vZj/xJc678RZXnLNZzd0qd7Q3CCF6Yd+CU2eoXKQ==", + "license": "MIT", "dependencies": { - "@babel/regjsgen": "^0.8.0", - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.1.0", - "regjsparser": "^0.9.1", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.1.0" + "fast-base64-decode": "^1.0.0" }, - "engines": { - "node": ">=4" + "peerDependencies": { + "react-native": ">=0.56" } }, - "node_modules/regjsparser": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", - "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "node_modules/react-native-url-polyfill": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/react-native-url-polyfill/-/react-native-url-polyfill-1.3.0.tgz", + "integrity": "sha512-w9JfSkvpqqlix9UjDvJjm1EjSt652zVQ6iwCIj1cVVkwXf4jQhQgTNXY6EVTwuAmUjg6BC6k9RHCBynoLFo3IQ==", + "license": "MIT", "dependencies": { - "jsesc": "~0.5.0" + "whatwg-url-without-unicode": "8.0.0-3" }, - "bin": { - "regjsparser": "bin/parser" - } - }, - "node_modules/regjsparser/node_modules/jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", - "bin": { - "jsesc": "bin/jsesc" + "peerDependencies": { + "react-native": "*" } }, - "node_modules/release-zalgo": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz", - "integrity": "sha512-gUAyHVHPPC5wdqX/LG4LWtRYtgjxyX78oanFNTMMyFEfOqdC54s3eE82imuWKbOeqYht2CrNf64Qb8vgmmtZGA==", - "dev": true, + "node_modules/react-native/node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "license": "MIT", + "peer": true, "dependencies": { - "es6-error": "^4.0.1" + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" }, "engines": { - "node": ">=4" + "node": ">= 10.14.2" } }, - "node_modules/remove-accents": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/remove-accents/-/remove-accents-0.4.2.tgz", - "integrity": "sha512-7pXIJqJOq5tFgG1A2Zxti3Ht8jJF337m4sowbuHsW30ZnkQFnDzy9qBNhgzX8ZLW4+UBcXiiR7SwR6pokHsxiA==" - }, - "node_modules/request-progress": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz", - "integrity": "sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==", - "dev": true, + "node_modules/react-native/node_modules/@types/yargs": { + "version": "15.0.19", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.19.tgz", + "integrity": "sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA==", + "license": "MIT", + "peer": true, "dependencies": { - "throttleit": "^1.0.0" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "engines": { - "node": ">=0.10.0" + "@types/yargs-parser": "*" } }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true, + "node_modules/react-native/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==", + "license": "MIT", "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" - }, - "node_modules/requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", - "dev": true - }, - "node_modules/resize-observer-polyfill": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", - "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==" - }, - "node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" + "color-convert": "^2.0.1" }, - "bin": { - "resolve": "bin/resolve" + "engines": { + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "engines": { - "node": ">=4" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/resolve-pathname": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz", - "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==" - }, - "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==", + "node_modules/react-native/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "peer": true, "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "node_modules/react-native/node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "license": "ISC", + "peer": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" + "node": ">=12" } }, - "node_modules/rfdc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", - "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", - "dev": true - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "node_modules/react-native/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==", + "license": "MIT", + "peer": true, "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" + "color-name": "~1.1.4" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "engines": { + "node": ">=7.0.0" } }, - "node_modules/rimraf/node_modules/glob": { + "node_modules/react-native/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==", + "license": "MIT", + "peer": true + }, + "node_modules/react-native/node_modules/commander": { + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", + "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", + "license": "MIT", + "peer": true, + "engines": { + "node": "^12.20.0 || >=14" + } + }, + "node_modules/react-native/node_modules/glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "license": "ISC", + "peer": true, "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -24924,1126 +25057,1403 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/rollup": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.22.4.tgz", - "integrity": "sha512-vD8HJ5raRcWOyymsR6Z3o6+RzfEPCnVLMFJ6vRslO1jt4LO6dUo5Qnpg7y4RkZFM2DMe3WUirkI5c16onjrc6A==", - "dev": true, + "node_modules/react-native/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==", "license": "MIT", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/react-native/node_modules/pretty-format": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", + "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", + "license": "MIT", + "peer": true, "dependencies": { - "@types/estree": "1.0.5" - }, - "bin": { - "rollup": "dist/bin/rollup" + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" }, "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.22.4", - "@rollup/rollup-android-arm64": "4.22.4", - "@rollup/rollup-darwin-arm64": "4.22.4", - "@rollup/rollup-darwin-x64": "4.22.4", - "@rollup/rollup-linux-arm-gnueabihf": "4.22.4", - "@rollup/rollup-linux-arm-musleabihf": "4.22.4", - "@rollup/rollup-linux-arm64-gnu": "4.22.4", - "@rollup/rollup-linux-arm64-musl": "4.22.4", - "@rollup/rollup-linux-powerpc64le-gnu": "4.22.4", - "@rollup/rollup-linux-riscv64-gnu": "4.22.4", - "@rollup/rollup-linux-s390x-gnu": "4.22.4", - "@rollup/rollup-linux-x64-gnu": "4.22.4", - "@rollup/rollup-linux-x64-musl": "4.22.4", - "@rollup/rollup-win32-arm64-msvc": "4.22.4", - "@rollup/rollup-win32-ia32-msvc": "4.22.4", - "@rollup/rollup-win32-x64-msvc": "4.22.4", - "fsevents": "~2.3.2" + "node": ">= 10" } }, - "node_modules/rrweb-cssom": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.6.0.tgz", - "integrity": "sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==", - "dev": true + "node_modules/react-native/node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "license": "MIT", + "peer": true }, - "node_modules/rtl-css-js": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/rtl-css-js/-/rtl-css-js-1.16.1.tgz", - "integrity": "sha512-lRQgou1mu19e+Ya0LsTvKrVJ5TYUbqCVPAiImX3UfLTenarvPUl1QFdvu5Z3PYmHT9RCcwIfbjRQBntExyj3Zg==", + "node_modules/react-native/node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", + "license": "MIT", + "peer": true + }, + "node_modules/react-native/node_modules/scheduler": { + "version": "0.24.0-canary-efb381bbf-20230505", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.24.0-canary-efb381bbf-20230505.tgz", + "integrity": "sha512-ABvovCDe/k9IluqSh4/ISoq8tIJnW8euVAWYt5j/bg6dRnqwQwiGO1F/V4AyK96NGF/FB04FhOUDuWj8IKfABA==", + "license": "MIT", + "peer": true, "dependencies": { - "@babel/runtime": "^7.1.2" + "loose-envify": "^1.1.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==", - "dev": true, + "node_modules/react-native/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "license": "ISC", + "peer": true, + "bin": { + "semver": "bin/semver.js" + }, "engines": { - "node": ">=0.12.0" + "node": ">=10" } }, - "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" - } - ], + "node_modules/react-native/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==", + "license": "MIT", + "peer": true, "dependencies": { - "queue-microtask": "^1.2.2" + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/rxjs": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", - "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", - "dev": true, + "node_modules/react-native/node_modules/ws": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.3.tgz", + "integrity": "sha512-jmTjYU0j60B+vHey6TfR3Z7RD61z/hmxBS3VMSGIrroOWXQEneK1zNuotOUrGyBHQj0yrpsLHPWtigEFd13ndA==", + "license": "MIT", + "peer": true, "dependencies": { - "tslib": "^2.1.0" + "async-limiter": "~1.0.0" } }, - "node_modules/rxjs/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "dev": true + "node_modules/react-native/node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "license": "ISC", + "peer": true, + "engines": { + "node": ">=10" + } }, - "node_modules/safe-array-concat": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz", - "integrity": "sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==", - "dev": true, + "node_modules/react-native/node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "license": "MIT", + "peer": true, "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1", - "has-symbols": "^1.0.3", - "isarray": "^2.0.5" + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" }, "engines": { - "node": ">=0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=12" } }, - "node_modules/safe-array-concat/node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true - }, - "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/react-native/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "license": "ISC", + "peer": true, + "engines": { + "node": ">=12" + } }, - "node_modules/safe-regex-test": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", - "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", - "dev": true, + "node_modules/react-papaparse": { + "version": "3.11.1", + "resolved": "https://registry.npmjs.org/react-papaparse/-/react-papaparse-3.11.1.tgz", + "integrity": "sha512-/TGscChB9rtaqKbQOWXpGQ+hFf+6EWxV5iRi1V1tCf0WW+dT4oy961QpdPUDZNcUakEXdkuRzdi+z8yNTRGCQQ==", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "is-regex": "^1.1.4" + "@types/papaparse": "^5.0.4", + "papaparse": "^5.2.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=8", + "npm": ">=5" } }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, - "node_modules/sass": { - "version": "1.38.0", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.38.0.tgz", - "integrity": "sha512-WBccZeMigAGKoI+NgD7Adh0ab1HUq+6BmyBUEaGxtErbUtWUevEbdgo5EZiJQofLUGcKtlNaO2IdN73AHEua5g==", + "node_modules/react-query": { + "version": "3.39.3", + "resolved": "https://registry.npmjs.org/react-query/-/react-query-3.39.3.tgz", + "integrity": "sha512-nLfLz7GiohKTJDuT4us4X3h/8unOh+00MLb2yJoGTPjxKs2bc1iDhkNx2bd5MKklXnOD3NrVZ+J2UXujA5In4g==", + "license": "MIT", "dependencies": { - "chokidar": ">=3.0.0 <4.0.0" + "@babel/runtime": "^7.5.5", + "broadcast-channel": "^3.4.1", + "match-sorter": "^6.0.2" }, - "bin": { - "sass": "sass.js" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" }, - "engines": { - "node": ">=8.9.0" + "peerDependenciesMeta": { + "react-dom": { + "optional": true + }, + "react-native": { + "optional": true + } } }, - "node_modules/saxes": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", - "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", - "dev": true, - "dependencies": { - "xmlchars": "^2.2.0" - }, + "node_modules/react-refresh": { + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz", + "integrity": "sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==", + "license": "MIT", "engines": { - "node": ">=v12.22.7" + "node": ">=0.10.0" } }, - "node_modules/scheduler": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", - "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", + "node_modules/react-remove-scroll": { + "version": "2.5.4", + "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.5.4.tgz", + "integrity": "sha512-xGVKJJr0SJGQVirVFAUZ2k1QLyO6m+2fy0l8Qawbp5Jgrv3DeLalrfMNBFSlmz5kriGGzsVBtGVnf4pTKIhhWA==", + "license": "MIT", "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" + "react-remove-scroll-bar": "^2.3.3", + "react-style-singleton": "^2.2.1", + "tslib": "^2.1.0", + "use-callback-ref": "^1.3.0", + "use-sidecar": "^1.1.2" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, - "node_modules/schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", - "dev": true, - "peer": true, + "node_modules/react-remove-scroll-bar": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.6.tgz", + "integrity": "sha512-DtSYaao4mBmX+HDo5YWYdBWQwYIQQshUV/dVxFxK+KM26Wjwp1gZ6rv6OC3oujI6Bfu6Xyg3TwK533AQutsn/g==", + "license": "MIT", "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" + "react-style-singleton": "^2.2.1", + "tslib": "^2.0.0" }, "engines": { - "node": ">= 12.13.0" + "node": ">=10" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, - "node_modules/schema-utils/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dev": true, - "peer": true, + "node_modules/react-remove-scroll-bar/node_modules/tslib": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" + }, + "node_modules/react-remove-scroll/node_modules/tslib": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" + }, + "node_modules/react-router": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.3.4.tgz", + "integrity": "sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA==", + "license": "MIT", "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "@babel/runtime": "^7.12.13", + "history": "^4.9.0", + "hoist-non-react-statics": "^3.1.0", + "loose-envify": "^1.3.1", + "path-to-regexp": "^1.7.0", + "prop-types": "^15.6.2", + "react-is": "^16.6.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "peerDependencies": { + "react": ">=15" } }, - "node_modules/schema-utils/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "peer": true, + "node_modules/react-router-dom": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.3.4.tgz", + "integrity": "sha512-m4EqFMHv/Ih4kpcBCONHbkT68KoAeHN4p3lAGoNryfHi0dMy0kCzEZakiKRsvg5wHZ/JLrLW8o8KomWiz/qbYQ==", + "license": "MIT", "dependencies": { - "fast-deep-equal": "^3.1.3" + "@babel/runtime": "^7.12.13", + "history": "^4.9.0", + "loose-envify": "^1.3.1", + "prop-types": "^15.6.2", + "react-router": "5.3.4", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0" }, "peerDependencies": { - "ajv": "^8.8.2" + "react": ">=15" } }, - "node_modules/schema-utils/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true, - "peer": true + "node_modules/react-router/node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "license": "MIT" }, - "node_modules/screenfull": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/screenfull/-/screenfull-5.2.0.tgz", - "integrity": "sha512-9BakfsO2aUQN2K9Fdbj87RJIEZ82Q9IGim7FqM5OsebfoFC6ZHXgDq/KvniuLTPdeM8wY2o6Dj3WQ7KeQCj3cA==", - "engines": { - "node": ">=0.10.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node_modules/react-router/node_modules/path-to-regexp": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.9.0.tgz", + "integrity": "sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==", + "license": "MIT", + "dependencies": { + "isarray": "0.0.1" } }, - "node_modules/selfsigned": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", - "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", - "peer": true, + "node_modules/react-style-singleton": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.1.tgz", + "integrity": "sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==", + "license": "MIT", "dependencies": { - "@types/node-forge": "^1.3.0", - "node-forge": "^1" + "get-nonce": "^1.0.0", + "invariant": "^2.2.4", + "tslib": "^2.0.0" }, "engines": { "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, - "node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "bin": { - "semver": "bin/semver.js" - } + "node_modules/react-style-singleton/node_modules/tslib": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" }, - "node_modules/send": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", - "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", - "license": "MIT", - "peer": true, + "node_modules/react-transition-group": { + "version": "4.4.5", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", + "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", + "license": "BSD-3-Clause", "dependencies": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" + "@babel/runtime": "^7.5.5", + "dom-helpers": "^5.0.1", + "loose-envify": "^1.4.0", + "prop-types": "^15.6.2" }, - "engines": { - "node": ">= 0.8.0" + "peerDependencies": { + "react": ">=16.6.0", + "react-dom": ">=16.6.0" } }, - "node_modules/send/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "license": "MIT", - "peer": true, - "dependencies": { - "ms": "2.0.0" + "node_modules/react-universal-interface": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/react-universal-interface/-/react-universal-interface-0.6.2.tgz", + "integrity": "sha512-dg8yXdcQmvgR13RIlZbTRQOoUrDciFVoSBZILwjE2LFISxZZ8loVJKAkuzswl5js8BHda79bIb2b84ehU8IjXw==", + "peerDependencies": { + "react": "*", + "tslib": "*" } }, - "node_modules/send/node_modules/debug/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "license": "MIT", - "peer": true - }, - "node_modules/send/node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "license": "MIT", - "peer": true, - "bin": { - "mime": "cli.js" + "node_modules/react-use": { + "version": "17.5.1", + "resolved": "https://registry.npmjs.org/react-use/-/react-use-17.5.1.tgz", + "integrity": "sha512-LG/uPEVRflLWMwi3j/sZqR00nF6JGqTTDblkXK2nzXsIvij06hXl1V/MZIlwj1OKIQUtlh1l9jK8gLsRyCQxMg==", + "license": "Unlicense", + "dependencies": { + "@types/js-cookie": "^2.2.6", + "@xobotyi/scrollbar-width": "^1.9.5", + "copy-to-clipboard": "^3.3.1", + "fast-deep-equal": "^3.1.3", + "fast-shallow-equal": "^1.0.0", + "js-cookie": "^2.2.1", + "nano-css": "^5.6.2", + "react-universal-interface": "^0.6.2", + "resize-observer-polyfill": "^1.5.1", + "screenfull": "^5.1.0", + "set-harmonic-interval": "^1.0.1", + "throttle-debounce": "^3.0.1", + "ts-easing": "^0.2.0", + "tslib": "^2.1.0" }, - "engines": { - "node": ">=4" + "peerDependencies": { + "react": "*", + "react-dom": "*" } }, - "node_modules/send/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "license": "MIT", - "peer": true + "node_modules/react-use/node_modules/tslib": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" }, - "node_modules/send/node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "license": "MIT", "peer": true, "dependencies": { - "ee-first": "1.1.1" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" }, "engines": { - "node": ">= 0.8" + "node": ">= 6" } }, - "node_modules/send/node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "license": "MIT", - "peer": true, + "dependencies": { + "picomatch": "^2.2.1" + }, "engines": { - "node": ">= 0.8" + "node": ">=8.10.0" } }, - "node_modules/sentence-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/sentence-case/-/sentence-case-3.0.4.tgz", - "integrity": "sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==", + "node_modules/readline": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/readline/-/readline-1.3.0.tgz", + "integrity": "sha512-k2d6ACCkiNYz222Fs/iNze30rRJ1iIicW7JuX/7/cozvih6YCkFZH+J6mAFDVgv0dRBaAyr4jDqC95R2y4IADg==", + "license": "BSD", + "peer": true + }, + "node_modules/recast": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.21.5.tgz", + "integrity": "sha512-hjMmLaUXAm1hIuTqOdeYObMslq/q+Xff6QE3Y2P+uoHAg2nmVlLBps2hzh1UJDdMtDTMXOFewK6ky51JQIeECg==", + "license": "MIT", + "peer": true, "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3", - "upper-case-first": "^2.0.2" + "ast-types": "0.15.2", + "esprima": "~4.0.0", + "source-map": "~0.6.1", + "tslib": "^2.0.1" + }, + "engines": { + "node": ">= 4" } }, - "node_modules/sentence-case/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - }, - "node_modules/serialize-error": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz", - "integrity": "sha512-ghgmKt5o4Tly5yEG/UJp8qTd0AN7Xalw4XBtDEKP655B699qMEtra1WlXeE6WIvdEG481JvRxULKsInq/iNysw==", + "node_modules/recast/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==", + "license": "BSD-3-Clause", "peer": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/serialize-javascript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", - "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "node_modules/recast/node_modules/tslib": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD", + "peer": true + }, + "node_modules/redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", "dev": true, - "license": "BSD-3-Clause", - "peer": true, + "license": "MIT", "dependencies": { - "randombytes": "^2.1.0" + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/serve-static": { - "version": "1.16.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", - "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", + "node_modules/reflect.getprototypeof": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz", + "integrity": "sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==", + "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.19.0" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.1", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "globalthis": "^1.0.3", + "which-builtin-type": "^1.1.3" }, "engines": { - "node": ">= 0.8.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/serve-static/node_modules/encodeurl": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", - "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "license": "MIT" + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz", + "integrity": "sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==", "license": "MIT", - "peer": true, + "dependencies": { + "regenerate": "^1.4.2" + }, "engines": { - "node": ">= 0.8" + "node": ">=4" } }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" - }, - "node_modules/set-cookie-parser": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.6.0.tgz", - "integrity": "sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==", - "dev": true + "node_modules/regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", + "license": "MIT" }, - "node_modules/set-function-length": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", - "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", + "node_modules/regenerator-transform": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "license": "MIT", "dependencies": { - "define-data-property": "^1.1.1", - "get-intrinsic": "^1.2.1", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" + "@babel/runtime": "^7.8.4" } }, - "node_modules/set-function-name": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", - "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", + "node_modules/regexp.prototype.flags": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz", + "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==", "dev": true, + "license": "MIT", "dependencies": { - "define-data-property": "^1.0.1", - "functions-have-names": "^1.2.3", - "has-property-descriptors": "^1.0.0" + "call-bind": "^1.0.6", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "set-function-name": "^2.0.1" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/set-harmonic-interval": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/set-harmonic-interval/-/set-harmonic-interval-1.0.1.tgz", - "integrity": "sha512-AhICkFV84tBP1aWqPwLZqFvAwqEoVA9kxNMniGEUvzOlm4vLmOFLiTT3UZ6bziJTy4bOVpzWGTfSCbmaayGx8g==", + "node_modules/regexpu-core": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", + "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "license": "MIT", + "dependencies": { + "@babel/regjsgen": "^0.8.0", + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + }, "engines": { - "node": ">=6.9" + "node": ">=4" } }, - "node_modules/setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" - }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "license": "ISC", - "peer": true - }, - "node_modules/shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "peer": true, + "node_modules/regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "license": "BSD-2-Clause", "dependencies": { - "kind-of": "^6.0.2" + "jsesc": "~0.5.0" }, - "engines": { - "node": ">=8" + "bin": { + "regjsparser": "bin/parser" } }, - "node_modules/sharp": { - "version": "0.33.0", - "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.33.0.tgz", - "integrity": "sha512-99DZKudjm/Rmz+M0/26t4DKpXyywAOJaayGS9boEn7FvgtG0RYBi46uPE2c+obcJRtA3AZa0QwJot63gJQ1F0Q==", + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/release-zalgo": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz", + "integrity": "sha512-gUAyHVHPPC5wdqX/LG4LWtRYtgjxyX78oanFNTMMyFEfOqdC54s3eE82imuWKbOeqYht2CrNf64Qb8vgmmtZGA==", "dev": true, - "hasInstallScript": true, + "license": "ISC", "dependencies": { - "color": "^4.2.3", - "detect-libc": "^2.0.2", - "semver": "^7.5.4" + "es6-error": "^4.0.1" }, "engines": { - "libvips": ">=8.15.0", - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-darwin-arm64": "0.33.0", - "@img/sharp-darwin-x64": "0.33.0", - "@img/sharp-libvips-darwin-arm64": "1.0.0", - "@img/sharp-libvips-darwin-x64": "1.0.0", - "@img/sharp-libvips-linux-arm": "1.0.0", - "@img/sharp-libvips-linux-arm64": "1.0.0", - "@img/sharp-libvips-linux-s390x": "1.0.0", - "@img/sharp-libvips-linux-x64": "1.0.0", - "@img/sharp-libvips-linuxmusl-arm64": "1.0.0", - "@img/sharp-libvips-linuxmusl-x64": "1.0.0", - "@img/sharp-linux-arm": "0.33.0", - "@img/sharp-linux-arm64": "0.33.0", - "@img/sharp-linux-s390x": "0.33.0", - "@img/sharp-linux-x64": "0.33.0", - "@img/sharp-linuxmusl-arm64": "0.33.0", - "@img/sharp-linuxmusl-x64": "0.33.0", - "@img/sharp-wasm32": "0.33.0", - "@img/sharp-win32-ia32": "0.33.0", - "@img/sharp-win32-x64": "0.33.0" + "node": ">=4" } }, - "node_modules/sharp/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==", + "node_modules/remove-accents": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/remove-accents/-/remove-accents-0.5.0.tgz", + "integrity": "sha512-8g3/Otx1eJaVD12e31UbJj1YzdtVvzH85HV7t+9MJYk/u3XmkOUJ5Ys9wQrf9PCPK8+xn4ymzqYCiZl6QWKn+A==", + "license": "MIT" + }, + "node_modules/request-progress": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz", + "integrity": "sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==", "dev": true, + "license": "MIT", "dependencies": { - "yallist": "^4.0.0" - }, + "throttleit": "^1.0.0" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "license": "MIT", "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "node_modules/sharp/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "license": "ISC" + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", "dev": true, + "license": "MIT" + }, + "node_modules/resize-observer-polyfill": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", + "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==", + "license": "MIT" + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "license": "MIT", "dependencies": { - "lru-cache": "^6.0.0" + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { - "semver": "bin/semver.js" + "resolve": "bin/resolve" }, - "engines": { - "node": ">=10" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/sharp/node_modules/yallist": { + "node_modules/resolve-from": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "license": "MIT", + "engines": { + "node": ">=4" + } }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "node_modules/resolve-pathname": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz", + "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==", + "license": "MIT" + }, + "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==", + "license": "MIT", "dependencies": { - "shebang-regex": "^3.0.0" + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" }, "engines": { "node": ">=8" } }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "license": "MIT", "engines": { - "node": ">=8" + "iojs": ">=1.0.0", + "node": ">=0.10.0" } }, - "node_modules/shell-quote": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", - "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", - "peer": true, + "node_modules/rfdc": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", + "dev": true, + "license": "MIT" + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "node_modules/rimraf/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "license": "ISC", "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/siginfo": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", - "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", - "dev": true - }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" - }, - "node_modules/simple-swizzle": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", - "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", + "node_modules/rollup": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.22.4.tgz", + "integrity": "sha512-vD8HJ5raRcWOyymsR6Z3o6+RzfEPCnVLMFJ6vRslO1jt4LO6dUo5Qnpg7y4RkZFM2DMe3WUirkI5c16onjrc6A==", "dev": true, + "license": "MIT", "dependencies": { - "is-arrayish": "^0.3.1" + "@types/estree": "1.0.5" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.22.4", + "@rollup/rollup-android-arm64": "4.22.4", + "@rollup/rollup-darwin-arm64": "4.22.4", + "@rollup/rollup-darwin-x64": "4.22.4", + "@rollup/rollup-linux-arm-gnueabihf": "4.22.4", + "@rollup/rollup-linux-arm-musleabihf": "4.22.4", + "@rollup/rollup-linux-arm64-gnu": "4.22.4", + "@rollup/rollup-linux-arm64-musl": "4.22.4", + "@rollup/rollup-linux-powerpc64le-gnu": "4.22.4", + "@rollup/rollup-linux-riscv64-gnu": "4.22.4", + "@rollup/rollup-linux-s390x-gnu": "4.22.4", + "@rollup/rollup-linux-x64-gnu": "4.22.4", + "@rollup/rollup-linux-x64-musl": "4.22.4", + "@rollup/rollup-win32-arm64-msvc": "4.22.4", + "@rollup/rollup-win32-ia32-msvc": "4.22.4", + "@rollup/rollup-win32-x64-msvc": "4.22.4", + "fsevents": "~2.3.2" } }, - "node_modules/simple-swizzle/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==", - "dev": true + "node_modules/rrweb-cssom": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.6.0.tgz", + "integrity": "sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==", + "dev": true, + "license": "MIT" }, - "node_modules/sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "peer": true + "node_modules/rtl-css-js": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/rtl-css-js/-/rtl-css-js-1.16.1.tgz", + "integrity": "sha512-lRQgou1mu19e+Ya0LsTvKrVJ5TYUbqCVPAiImX3UfLTenarvPUl1QFdvu5Z3PYmHT9RCcwIfbjRQBntExyj3Zg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.1.2" + } }, - "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/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" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" } }, - "node_modules/slice-ansi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", - "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", + "node_modules/rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "engines": { - "node": ">=8" + "tslib": "^2.1.0" } }, - "node_modules/slice-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==", + "node_modules/rxjs/node_modules/tslib": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "dev": true, + "license": "0BSD" + }, + "node_modules/safe-array-concat": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", + "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", "dev": true, + "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" }, "engines": { - "node": ">=8" + "node": ">=0.4" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/slice-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==", + "node_modules/safe-array-concat/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true, + "license": "MIT" + }, + "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" + } + ], + "license": "MIT" + }, + "node_modules/safe-regex-test": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", + "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", "dev": true, + "license": "MIT", "dependencies": { - "color-name": "~1.1.4" + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-regex": "^1.1.4" }, "engines": { - "node": ">=7.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/slice-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==", - "dev": true + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true, + "license": "MIT" }, - "node_modules/snake-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz", - "integrity": "sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==", + "node_modules/sass": { + "version": "1.38.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.38.0.tgz", + "integrity": "sha512-WBccZeMigAGKoI+NgD7Adh0ab1HUq+6BmyBUEaGxtErbUtWUevEbdgo5EZiJQofLUGcKtlNaO2IdN73AHEua5g==", + "license": "MIT", "dependencies": { - "dot-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/snake-case/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - }, - "node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "chokidar": ">=3.0.0 <4.0.0" + }, + "bin": { + "sass": "sass.js" + }, "engines": { - "node": ">=0.10.0" + "node": ">=8.9.0" } }, - "node_modules/source-map-js": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", - "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "node_modules/saxes": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", "dev": true, - "license": "BSD-3-Clause", + "license": "ISC", + "dependencies": { + "xmlchars": "^2.2.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=v12.22.7" } }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "peer": true, + "node_modules/scheduler": { + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "license": "MIT", "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "loose-envify": "^1.1.0" } }, - "node_modules/source-map-support/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==", + "node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "dev": true, + "license": "MIT", "peer": true, + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, - "node_modules/sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", - "deprecated": "Please use @jridgewell/sourcemap-codec instead" - }, - "node_modules/spawn-wrap": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz", - "integrity": "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==", + "node_modules/schema-utils/node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "dev": true, + "license": "MIT", + "peer": true, "dependencies": { - "foreground-child": "^2.0.0", - "is-windows": "^1.0.2", - "make-dir": "^3.0.0", - "rimraf": "^3.0.0", - "signal-exit": "^3.0.2", - "which": "^2.0.1" + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" }, - "engines": { - "node": ">=8" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/spawn-wrap/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==", + "node_modules/schema-utils/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", "dev": true, + "license": "MIT", + "peer": true, "dependencies": { - "semver": "^6.0.0" + "fast-deep-equal": "^3.1.3" }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/schema-utils/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/screenfull": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/screenfull/-/screenfull-5.2.0.tgz", + "integrity": "sha512-9BakfsO2aUQN2K9Fdbj87RJIEZ82Q9IGim7FqM5OsebfoFC6ZHXgDq/KvniuLTPdeM8wY2o6Dj3WQ7KeQCj3cA==", + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=0.10.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" - }, - "node_modules/sshpk": { - "version": "1.18.0", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.18.0.tgz", - "integrity": "sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==", - "dev": true, + "node_modules/selfsigned": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", + "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", + "license": "MIT", + "peer": true, "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" + "@types/node-forge": "^1.3.0", + "node-forge": "^1" }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", "bin": { - "sshpk-conv": "bin/sshpk-conv", - "sshpk-sign": "bin/sshpk-sign", - "sshpk-verify": "bin/sshpk-verify" + "semver": "bin/semver.js" + } + }, + "node_modules/send": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", + "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", + "license": "MIT", + "peer": true, + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.8.0" } }, - "node_modules/stack-generator": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/stack-generator/-/stack-generator-2.0.10.tgz", - "integrity": "sha512-mwnua/hkqM6pF4k8SnmZ2zfETsRUpWXREfA/goT8SLCV4iOFa4bzOX2nDipWAZFPTjLvQB82f5yaodMVhK0yJQ==", + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "peer": true, "dependencies": { - "stackframe": "^1.3.4" + "ms": "2.0.0" } }, - "node_modules/stack-utils": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", - "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", - "dependencies": { - "escape-string-regexp": "^2.0.0" + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT", + "peer": true + }, + "node_modules/send/node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "license": "MIT", + "peer": true, + "bin": { + "mime": "cli.js" }, "engines": { - "node": ">=10" + "node": ">=4" } }, - "node_modules/stack-utils/node_modules/escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "node_modules/send/node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "license": "MIT", + "peer": true, + "dependencies": { + "ee-first": "1.1.1" + }, "engines": { - "node": ">=8" + "node": ">= 0.8" } }, - "node_modules/stackback": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", - "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", - "dev": true - }, - "node_modules/stackframe": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", - "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==" - }, - "node_modules/stacktrace-gps": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/stacktrace-gps/-/stacktrace-gps-3.1.2.tgz", - "integrity": "sha512-GcUgbO4Jsqqg6RxfyTHFiPxdPqF+3LFmQhm7MgCuYQOYuWyqxo5pwRPz5d/u6/WYJdEnWfK4r+jGbyD8TSggXQ==", + "node_modules/sentence-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/sentence-case/-/sentence-case-3.0.4.tgz", + "integrity": "sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==", + "license": "MIT", "dependencies": { - "source-map": "0.5.6", - "stackframe": "^1.3.4" + "no-case": "^3.0.4", + "tslib": "^2.0.3", + "upper-case-first": "^2.0.2" } }, - "node_modules/stacktrace-gps/node_modules/source-map": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", - "integrity": "sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA==", + "node_modules/sentence-case/node_modules/tslib": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" + }, + "node_modules/serialize-error": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz", + "integrity": "sha512-ghgmKt5o4Tly5yEG/UJp8qTd0AN7Xalw4XBtDEKP655B699qMEtra1WlXeE6WIvdEG481JvRxULKsInq/iNysw==", + "license": "MIT", + "peer": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/stacktrace-js": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/stacktrace-js/-/stacktrace-js-2.0.2.tgz", - "integrity": "sha512-Je5vBeY4S1r/RnLydLl0TBTi3F2qdfWmYsGvtfZgEI+SCprPppaIhQf5nGcal4gI4cGpCV/duLcAzT1np6sQqg==", + "node_modules/serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "dev": true, + "license": "BSD-3-Clause", + "peer": true, "dependencies": { - "error-stack-parser": "^2.0.6", - "stack-generator": "^2.0.5", - "stacktrace-gps": "^3.0.4" + "randombytes": "^2.1.0" } }, - "node_modules/stacktrace-parser": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz", - "integrity": "sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==", + "node_modules/serve-static": { + "version": "1.16.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", + "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", + "license": "MIT", "peer": true, "dependencies": { - "type-fest": "^0.7.1" + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.19.0" }, "engines": { - "node": ">=6" + "node": ">= 0.8.0" } }, - "node_modules/stacktrace-parser/node_modules/type-fest": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz", - "integrity": "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==", + "node_modules/serve-static/node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "license": "MIT", "peer": true, "engines": { - "node": ">=8" + "node": ">= 0.8" } }, - "node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", - "peer": true, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "license": "ISC" + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, "engines": { - "node": ">= 0.6" + "node": ">= 0.4" } }, - "node_modules/std-env": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz", - "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==", - "dev": true - }, - "node_modules/stop-iteration-iterator": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", - "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", + "node_modules/set-function-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", "dev": true, + "license": "MIT", "dependencies": { - "internal-slot": "^1.0.4" + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" }, "engines": { "node": ">= 0.4" } }, - "node_modules/strict-event-emitter": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/strict-event-emitter/-/strict-event-emitter-0.4.6.tgz", - "integrity": "sha512-12KWeb+wixJohmnwNFerbyiBrAlq5qJLwIt38etRtKtmmHyDSoGlIqFE9wx+4IwG0aDjI7GV8tc8ZccjWZZtTg==", - "dev": true - }, - "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/set-harmonic-interval": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/set-harmonic-interval/-/set-harmonic-interval-1.0.1.tgz", + "integrity": "sha512-AhICkFV84tBP1aWqPwLZqFvAwqEoVA9kxNMniGEUvzOlm4vLmOFLiTT3UZ6bziJTy4bOVpzWGTfSCbmaayGx8g==", + "license": "Unlicense", + "engines": { + "node": ">=6.9" } }, - "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==", + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "license": "ISC", + "peer": true + }, + "node_modules/shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "license": "MIT", + "peer": true, "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "kind-of": "^6.0.2" }, "engines": { "node": ">=8" } }, - "node_modules/string.prototype.matchall": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz", - "integrity": "sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.5", - "regexp.prototype.flags": "^1.5.0", - "set-function-name": "^2.0.0", - "side-channel": "^1.0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trim": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", - "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==", + "node_modules/sharp": { + "version": "0.33.0", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.33.0.tgz", + "integrity": "sha512-99DZKudjm/Rmz+M0/26t4DKpXyywAOJaayGS9boEn7FvgtG0RYBi46uPE2c+obcJRtA3AZa0QwJot63gJQ1F0Q==", "dev": true, + "hasInstallScript": true, + "license": "Apache-2.0", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "color": "^4.2.3", + "detect-libc": "^2.0.2", + "semver": "^7.5.4" }, "engines": { - "node": ">= 0.4" + "libvips": ">=8.15.0", + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimend": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz", - "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "url": "https://opencollective.com/libvips" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "optionalDependencies": { + "@img/sharp-darwin-arm64": "0.33.0", + "@img/sharp-darwin-x64": "0.33.0", + "@img/sharp-libvips-darwin-arm64": "1.0.0", + "@img/sharp-libvips-darwin-x64": "1.0.0", + "@img/sharp-libvips-linux-arm": "1.0.0", + "@img/sharp-libvips-linux-arm64": "1.0.0", + "@img/sharp-libvips-linux-s390x": "1.0.0", + "@img/sharp-libvips-linux-x64": "1.0.0", + "@img/sharp-libvips-linuxmusl-arm64": "1.0.0", + "@img/sharp-libvips-linuxmusl-x64": "1.0.0", + "@img/sharp-linux-arm": "0.33.0", + "@img/sharp-linux-arm64": "0.33.0", + "@img/sharp-linux-s390x": "0.33.0", + "@img/sharp-linux-x64": "0.33.0", + "@img/sharp-linuxmusl-arm64": "0.33.0", + "@img/sharp-linuxmusl-x64": "0.33.0", + "@img/sharp-wasm32": "0.33.0", + "@img/sharp-win32-ia32": "0.33.0", + "@img/sharp-win32-x64": "0.33.0" } }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz", - "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==", + "node_modules/sharp/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "license": "ISC", + "bin": { + "semver": "bin/semver.js" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=10" } }, - "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==", + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "license": "MIT", "dependencies": { - "ansi-regex": "^5.0.1" + "shebang-regex": "^3.0.0" }, "engines": { "node": ">=8" } }, - "node_modules/strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "engines": { - "node": ">=6" + "node_modules/shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "license": "MIT", + "peer": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/strip-indent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", - "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", - "dev": true, + "node_modules/side-channel": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "license": "MIT", "dependencies": { - "min-indent": "^1.0.0" + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" }, "engines": { - "node": ">=8" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "engines": { - "node": ">=8" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/strip-literal": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-1.3.0.tgz", - "integrity": "sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==", + "node_modules/siginfo": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", + "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", + "dev": true, + "license": "ISC" + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "license": "ISC" + }, + "node_modules/simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", "dev": true, + "license": "MIT", "dependencies": { - "acorn": "^8.10.0" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" + "is-arrayish": "^0.3.1" } }, - "node_modules/strnum": { + "node_modules/simple-swizzle/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==", + "dev": true, + "license": "MIT" + }, + "node_modules/sisteransi": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", - "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "license": "MIT", + "peer": true }, - "node_modules/style-dictionary": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/style-dictionary/-/style-dictionary-3.7.1.tgz", - "integrity": "sha512-yYU9Z/J8Znj9T9oJVjo8VOYamrOxv0UbBKPjhSt+PharxrhyQCM4RWb71fgEfv2pK9KO8G83/0ChDNQZ1mn0wQ==", + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/slice-ansi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", + "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", + "dev": true, + "license": "MIT", "dependencies": { - "chalk": "^4.0.0", - "change-case": "^4.1.2", - "commander": "^8.3.0", - "fs-extra": "^10.0.0", - "glob": "^7.2.0", - "json5": "^2.2.0", - "jsonc-parser": "^3.0.0", - "lodash": "^4.17.15", - "tinycolor2": "^1.4.1" - }, - "bin": { - "style-dictionary": "bin/style-dictionary" + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" }, "engines": { - "node": ">=12.0.0" + "node": ">=8" } }, - "node_modules/style-dictionary/node_modules/ansi-styles": { + "node_modules/slice-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==", + "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -26054,25 +26464,12 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/style-dictionary/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/style-dictionary/node_modules/color-convert": { + "node_modules/slice-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==", + "dev": true, + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -26080,2201 +26477,2020 @@ "node": ">=7.0.0" } }, - "node_modules/style-dictionary/node_modules/color-name": { + "node_modules/slice-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/style-dictionary/node_modules/commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", - "engines": { - "node": ">= 12" - } - }, - "node_modules/style-dictionary/node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/style-dictionary/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/style-dictionary/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/style-dictionary/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/stylis": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz", - "integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==" - }, - "node_modules/sudo-prompt": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/sudo-prompt/-/sudo-prompt-9.2.1.tgz", - "integrity": "sha512-Mu7R0g4ig9TUuGSxJavny5Rv0egCEtpZRNMrZaYS1vxkiIxGiGUwoezU3LazIQ+KE04hTrTfNPgxU5gzi7F5Pw==", - "peer": true + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" }, - "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==", + "node_modules/snake-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz", + "integrity": "sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==", + "license": "MIT", "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" + "dot-case": "^3.0.4", + "tslib": "^2.0.3" } }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "node_modules/snake-case/node_modules/tslib": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" + }, + "node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "license": "BSD-3-Clause", "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.10.0" } }, - "node_modules/svg-parser": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", - "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==", - "dev": true - }, - "node_modules/symbol-tree": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", - "dev": true - }, - "node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", "dev": true, - "license": "MIT", - "peer": true, + "license": "BSD-3-Clause", "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/temp": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.4.tgz", - "integrity": "sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==", + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "license": "MIT", "peer": true, "dependencies": { - "rimraf": "~2.6.2" - }, + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/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==", + "license": "BSD-3-Clause", + "peer": true, "engines": { - "node": ">=6.0.0" + "node": ">=0.10.0" } }, - "node_modules/temp-dir": { + "node_modules/spawn-wrap": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", - "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", - "peer": true, + "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz", + "integrity": "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==", + "dev": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^2.0.0", + "is-windows": "^1.0.2", + "make-dir": "^3.0.0", + "rimraf": "^3.0.0", + "signal-exit": "^3.0.2", + "which": "^2.0.1" + }, "engines": { "node": ">=8" } }, - "node_modules/temp/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "peer": true, + "node_modules/spawn-wrap/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, + "license": "MIT", "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "semver": "^6.0.0" }, "engines": { - "node": "*" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/temp/node_modules/rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "peer": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "license": "BSD-3-Clause" }, - "node_modules/terser": { - "version": "5.32.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.32.0.tgz", - "integrity": "sha512-v3Gtw3IzpBJ0ugkxEX8U0W6+TnPKRRCWGh1jC/iM/e3Ki5+qvO1L1EAZ56bZasc64aXHwRHNIQEzm6//i5cemQ==", - "license": "BSD-2-Clause", - "peer": true, + "node_modules/sshpk": { + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.18.0.tgz", + "integrity": "sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==", + "dev": true, + "license": "MIT", "dependencies": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" + "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": { - "terser": "bin/terser" + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" }, "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "node_modules/terser-webpack-plugin": { - "version": "5.3.10", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", - "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", - "dev": true, + "node_modules/stack-generator": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/stack-generator/-/stack-generator-2.0.10.tgz", + "integrity": "sha512-mwnua/hkqM6pF4k8SnmZ2zfETsRUpWXREfA/goT8SLCV4iOFa4bzOX2nDipWAZFPTjLvQB82f5yaodMVhK0yJQ==", "license": "MIT", - "peer": true, "dependencies": { - "@jridgewell/trace-mapping": "^0.3.20", - "jest-worker": "^27.4.5", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.1", - "terser": "^5.26.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "uglify-js": { - "optional": true - } + "stackframe": "^1.3.4" } }, - "node_modules/terser-webpack-plugin/node_modules/schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "dev": true, + "node_modules/stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", "license": "MIT", "peer": true, "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" + "escape-string-regexp": "^2.0.0" }, "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "node": ">=10" } }, - "node_modules/terser/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==", - "peer": true - }, - "node_modules/test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "dev": true, - "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "license": "MIT", + "peer": true, "engines": { "node": ">=8" } }, - "node_modules/test-exclude/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "node_modules/stackback": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", + "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } + "license": "MIT" }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true + "node_modules/stackframe": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", + "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==", + "license": "MIT" }, - "node_modules/throat": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", - "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", - "peer": true + "node_modules/stacktrace-gps": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/stacktrace-gps/-/stacktrace-gps-3.1.2.tgz", + "integrity": "sha512-GcUgbO4Jsqqg6RxfyTHFiPxdPqF+3LFmQhm7MgCuYQOYuWyqxo5pwRPz5d/u6/WYJdEnWfK4r+jGbyD8TSggXQ==", + "license": "MIT", + "dependencies": { + "source-map": "0.5.6", + "stackframe": "^1.3.4" + } }, - "node_modules/throttle-debounce": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-3.0.1.tgz", - "integrity": "sha512-dTEWWNu6JmeVXY0ZYoPuH5cRIwc0MeGbJwah9KUNYSJwommQpCzTySTpEe8Gs1J23aeWEuAobe4Ag7EHVt/LOg==", + "node_modules/stacktrace-gps/node_modules/source-map": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", + "integrity": "sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA==", + "license": "BSD-3-Clause", "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "node_modules/throttleit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz", - "integrity": "sha512-rkTVqu6IjfQ/6+uNuuc3sZek4CEYxTJom3IktzgdSxcZqdARuebbA/f4QmAxMQIxqq9ZLEUkSYqvuk1I6VKq4g==", - "dev": true - }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", - "dev": true - }, - "node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "peer": true, + "node_modules/stacktrace-js": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stacktrace-js/-/stacktrace-js-2.0.2.tgz", + "integrity": "sha512-Je5vBeY4S1r/RnLydLl0TBTi3F2qdfWmYsGvtfZgEI+SCprPppaIhQf5nGcal4gI4cGpCV/duLcAzT1np6sQqg==", + "license": "MIT", "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" + "error-stack-parser": "^2.0.6", + "stack-generator": "^2.0.5", + "stacktrace-gps": "^3.0.4" } }, - "node_modules/through2/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "node_modules/stacktrace-parser": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz", + "integrity": "sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==", + "license": "MIT", "peer": 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" + "type-fest": "^0.7.1" + }, + "engines": { + "node": ">=6" } }, - "node_modules/through2/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==", - "peer": true - }, - "node_modules/through2/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==", + "node_modules/stacktrace-parser/node_modules/type-fest": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz", + "integrity": "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==", + "license": "(MIT OR CC0-1.0)", "peer": true, - "dependencies": { - "safe-buffer": "~5.1.0" + "engines": { + "node": ">=8" } }, - "node_modules/tiny-invariant": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.1.tgz", - "integrity": "sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==" - }, - "node_modules/tiny-warning": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", - "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" - }, - "node_modules/tinybench": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.5.1.tgz", - "integrity": "sha512-65NKvSuAVDP/n4CqH+a9w2kTlLReS9vhsAP06MWx+/89nMinJyB2icyl58RIcqCmIggpojIGeuJGhjU1aGMBSg==", - "dev": true - }, - "node_modules/tinycolor2": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.6.0.tgz", - "integrity": "sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==" - }, - "node_modules/tinypool": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.8.2.tgz", - "integrity": "sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==", - "dev": true, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "license": "MIT", "engines": { - "node": ">=14.0.0" + "node": ">= 0.8" } }, - "node_modules/tinyspy": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-2.2.0.tgz", - "integrity": "sha512-d2eda04AN/cPOR89F7Xv5bK/jrQEhmcLFe6HFldoeO9AJtps+fqEnh486vnT/8y4bw38pSyxDcTCAq+Ks2aJTg==", + "node_modules/std-env": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz", + "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==", "dev": true, - "engines": { - "node": ">=14.0.0" - } + "license": "MIT" }, - "node_modules/tmp": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", - "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "node_modules/stop-iteration-iterator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", + "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", "dev": true, + "license": "MIT", "dependencies": { - "rimraf": "^3.0.0" + "internal-slot": "^1.0.4" }, "engines": { - "node": ">=8.17.0" + "node": ">= 0.4" } }, - "node_modules/tmpl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", - "peer": true + "node_modules/strict-event-emitter": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/strict-event-emitter/-/strict-event-emitter-0.5.1.tgz", + "integrity": "sha512-vMgjE/GGEPEFnhFub6pa4FmJBRBVOLpIII2hvCZ8Kzb7K0hlHo7mQv6xYrBvCL2LtAIBwFUK8wvuJgTVSQ5MFQ==", + "dev": true, + "license": "MIT" }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "engines": { - "node": ">=4" + "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==", + "license": "MIT", + "peer": true, + "dependencies": { + "safe-buffer": "~5.2.0" } }, - "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==", + "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==", + "license": "MIT", "dependencies": { - "is-number": "^7.0.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">=8.0" + "node": ">=8" } }, - "node_modules/toggle-selection": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz", - "integrity": "sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==" - }, - "node_modules/toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "node_modules/string-width-cjs": { + "name": "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==", + "dev": true, "license": "MIT", - "peer": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, "engines": { - "node": ">=0.6" + "node": ">=8" } }, - "node_modules/tough-cookie": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", - "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", + "node_modules/string.prototype.matchall": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz", + "integrity": "sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==", "dev": true, + "license": "MIT", "dependencies": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.2.0", - "url-parse": "^1.5.3" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.7", + "regexp.prototype.flags": "^1.5.2", + "set-function-name": "^2.0.2", + "side-channel": "^1.0.6" }, "engines": { - "node": ">=6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/tough-cookie/node_modules/universalify": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", - "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "node_modules/string.prototype.repeat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", + "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", "dev": true, - "engines": { - "node": ">= 4.0.0" + "license": "MIT", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" } }, - "node_modules/tr46": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-4.1.1.tgz", - "integrity": "sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw==", + "node_modules/string.prototype.trim": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", + "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", "dev": true, + "license": "MIT", "dependencies": { - "punycode": "^2.3.0" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.0", + "es-object-atoms": "^1.0.0" }, "engines": { - "node": ">=14" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/ts-easing": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/ts-easing/-/ts-easing-0.2.0.tgz", - "integrity": "sha512-Z86EW+fFFh/IFB1fqQ3/+7Zpf9t2ebOAxNI/V6Wo7r5gqiqtxmgTlQ1qbqQcjLKYeSHPTsEmvlJUDg/EuL0uHQ==" - }, - "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/string.prototype.trimend": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", + "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "node_modules/string.prototype.trimstart": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "license": "MIT", "dependencies": { - "safe-buffer": "^5.0.1" + "ansi-regex": "^5.0.1" }, "engines": { - "node": "*" + "node": ">=8" } }, - "node_modules/tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", - "dev": true - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, + "license": "MIT", "dependencies": { - "prelude-ls": "^1.2.1" + "ansi-regex": "^5.0.1" }, "engines": { - "node": ">= 0.8.0" + "node": ">=8" } }, - "node_modules/type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true, + "license": "MIT", "engines": { - "node": ">=4" + "node": ">=8" } }, - "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==", + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", "dev": true, + "license": "MIT", + "dependencies": { + "min-indent": "^1.0.0" + }, "engines": { - "node": ">=10" + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/typed-array-buffer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", - "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", - "dev": true, + "node_modules/strnum": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", + "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==", + "license": "MIT" + }, + "node_modules/style-dictionary": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/style-dictionary/-/style-dictionary-3.7.1.tgz", + "integrity": "sha512-yYU9Z/J8Znj9T9oJVjo8VOYamrOxv0UbBKPjhSt+PharxrhyQCM4RWb71fgEfv2pK9KO8G83/0ChDNQZ1mn0wQ==", + "license": "Apache-2.0", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1", - "is-typed-array": "^1.1.10" + "chalk": "^4.0.0", + "change-case": "^4.1.2", + "commander": "^8.3.0", + "fs-extra": "^10.0.0", + "glob": "^7.2.0", + "json5": "^2.2.0", + "jsonc-parser": "^3.0.0", + "lodash": "^4.17.15", + "tinycolor2": "^1.4.1" + }, + "bin": { + "style-dictionary": "bin/style-dictionary" }, "engines": { - "node": ">= 0.4" + "node": ">=12.0.0" } }, - "node_modules/typed-array-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", - "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", - "dev": true, + "node_modules/style-dictionary/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==", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "has-proto": "^1.0.1", - "is-typed-array": "^1.1.10" + "color-convert": "^2.0.1" }, "engines": { - "node": ">= 0.4" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/typed-array-byte-offset": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", - "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", - "dev": true, + "node_modules/style-dictionary/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "has-proto": "^1.0.1", - "is-typed-array": "^1.1.10" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/typed-array-length": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", - "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", - "dev": true, + "node_modules/style-dictionary/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==", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "is-typed-array": "^1.1.9" + "color-name": "~1.1.4" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=7.0.0" } }, - "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==", - "dev": true, + "node_modules/style-dictionary/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==", + "license": "MIT" + }, + "node_modules/style-dictionary/node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, + "node_modules/style-dictionary/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "license": "MIT", "dependencies": { - "is-typedarray": "^1.0.0" + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" } }, - "node_modules/ua-parser-js": { - "version": "1.0.35", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.35.tgz", - "integrity": "sha512-fKnGuqmTBnIE+/KXSzCn4db8RTigUzw1AN0DmdU6hJovUTbYJKyqj+8Mt1c4VfRDnOVJnENmfYkIPZ946UrSAA==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/ua-parser-js" - }, - { - "type": "paypal", - "url": "https://paypal.me/faisalman" - } - ], + "node_modules/style-dictionary/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, "engines": { "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/ufo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.3.2.tgz", - "integrity": "sha512-o+ORpgGwaYQXgqGDwd+hkS4PuZ3QnmqMMxRuajK/a38L6fTpcE5GPIfrf+L/KemFzfUpeUQc1rRS1iDBozvnFA==", - "dev": true + "node_modules/style-dictionary/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==", + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "node_modules/uglify-js": { - "version": "3.17.4", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", - "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==", - "dev": true, - "optional": true, - "bin": { - "uglifyjs": "bin/uglifyjs" + "node_modules/style-dictionary/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==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" }, "engines": { - "node": ">=0.8.0" + "node": ">=8" } }, - "node_modules/ulid": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/ulid/-/ulid-2.3.0.tgz", - "integrity": "sha512-keqHubrlpvT6G2wH0OEfSW4mquYRcbe/J8NMmveoQOjUqmo+hXtO+ORCpWhdbZ7k72UtY61BL7haGxW6enBnjw==", - "bin": { - "ulid": "bin/cli.js" + "node_modules/stylis": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz", + "integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==", + "dev": true, + "license": "MIT" + }, + "node_modules/sudo-prompt": { + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/sudo-prompt/-/sudo-prompt-9.2.1.tgz", + "integrity": "sha512-Mu7R0g4ig9TUuGSxJavny5Rv0egCEtpZRNMrZaYS1vxkiIxGiGUwoezU3LazIQ+KE04hTrTfNPgxU5gzi7F5Pw==", + "license": "MIT", + "peer": true + }, + "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==", + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "license": "MIT", + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/undici-types": { - "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" + "node_modules/svg-parser": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", + "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==", + "dev": true, + "license": "MIT" }, - "node_modules/unfetch": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/unfetch/-/unfetch-4.2.0.tgz", - "integrity": "sha512-F9p7yYCn6cIW9El1zi0HI6vqpeIvBsr3dSuRO6Xuppb1u5rXpCPmMvLSyECLhybr9isec8Ohl0hPekMVrEinDA==" + "node_modules/svgcanvas": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/svgcanvas/-/svgcanvas-2.5.0.tgz", + "integrity": "sha512-ZNnhijO9gNTkTy+r4fOpV8ZS79JmeXqdl3ruKWLXB7E9DPnD3BEBkspKH9HwoDdbV8VJ8m/Kkg4YJZEzn0EJxQ==", + "license": "MIT" }, - "node_modules/unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true, + "license": "MIT" + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true, + "license": "MIT", + "peer": true, "engines": { - "node": ">=4" + "node": ">=6" } }, - "node_modules/unicode-match-property-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", - "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "node_modules/temp": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.4.tgz", + "integrity": "sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==", + "license": "MIT", + "peer": true, "dependencies": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" + "rimraf": "~2.6.2" }, "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-value-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", - "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", - "engines": { - "node": ">=4" + "node": ">=6.0.0" } }, - "node_modules/unicode-property-aliases-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", - "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "node_modules/temp/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "license": "ISC", + "peer": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, "engines": { - "node": ">=4" + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/universal-cookie": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/universal-cookie/-/universal-cookie-4.0.4.tgz", - "integrity": "sha512-lbRVHoOMtItjWbM7TwDLdl8wug7izB0tq3/YVKhT/ahB4VDvWMyvnADfnJI8y6fSvsjh51Ix7lTGC6Tn4rMPhw==", + "node_modules/temp/node_modules/rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "license": "ISC", + "peer": true, "dependencies": { - "@types/cookie": "^0.3.3", - "cookie": "^0.4.0" - } - }, - "node_modules/universal-cookie/node_modules/@types/cookie": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.3.3.tgz", - "integrity": "sha512-LKVP3cgXBT9RYj+t+9FDKwS5tdI+rPBXaNSkma7hvqy35lc7mAokC2zsqWJH0LaqIt3B962nuYI77hsJoT1gow==" - }, - "node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "engines": { - "node": ">= 10.0.0" + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" } }, - "node_modules/unload": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/unload/-/unload-2.2.0.tgz", - "integrity": "sha512-B60uB5TNBLtN6/LsgAf3udH9saB5p7gqJwcFfbOEZ8BcBHnGwCf6G/TGiEqkRAxX7zAFIUtzdrXQSdL3Q/wqNA==", + "node_modules/terser": { + "version": "5.33.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.33.0.tgz", + "integrity": "sha512-JuPVaB7s1gdFKPKTelwUyRq5Sid2A3Gko2S0PncwdBq7kN9Ti9HPWDQ06MPsEDGsZeVESjKEnyGy68quBk1w6g==", + "license": "BSD-2-Clause", + "peer": true, "dependencies": { - "@babel/runtime": "^7.6.2", - "detect-node": "^2.0.4" + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" } }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "node_modules/terser-webpack-plugin": { + "version": "5.3.10", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", + "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", + "dev": true, + "license": "MIT", "peer": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.20", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.26.0" + }, "engines": { - "node": ">= 0.8" + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } } }, - "node_modules/untildify": { + "node_modules/terser-webpack-plugin/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", - "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "license": "MIT", + "peer": true, "engines": { "node": ">=8" } }, - "node_modules/update-browserslist-db": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", - "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], + "node_modules/terser-webpack-plugin/node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "license": "MIT", + "peer": true, "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - }, - "bin": { - "update-browserslist-db": "cli.js" + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" }, - "peerDependencies": { - "browserslist": ">= 4.21.0" + "engines": { + "node": ">= 10.13.0" } }, - "node_modules/upper-case": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-2.0.2.tgz", - "integrity": "sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==", + "node_modules/terser-webpack-plugin/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "license": "MIT", + "peer": true, "dependencies": { - "tslib": "^2.0.3" + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, - "node_modules/upper-case-first": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/upper-case-first/-/upper-case-first-2.0.2.tgz", - "integrity": "sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==", + "node_modules/terser-webpack-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==", + "dev": true, + "license": "MIT", + "peer": true, "dependencies": { - "tslib": "^2.0.3" + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/upper-case-first/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - }, - "node_modules/upper-case/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + "node_modules/terser/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==", + "license": "MIT", + "peer": true }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "node_modules/test-exclude": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-7.0.1.tgz", + "integrity": "sha512-pFYqmTw68LXVjeWJMST4+borgQP2AyMNbg1BpZh9LbyhUeNkeaPF9gzfPGUAnSMV3qPYdWUwDIjjCLiSDOl7vg==", "dev": true, + "license": "ISC", "dependencies": { - "punycode": "^2.1.0" + "@istanbuljs/schema": "^0.1.2", + "glob": "^10.4.1", + "minimatch": "^9.0.4" + }, + "engines": { + "node": ">=18" } }, - "node_modules/url": { - "version": "0.11.3", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.3.tgz", - "integrity": "sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw==", + "node_modules/test-exclude/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "license": "MIT", "dependencies": { - "punycode": "^1.4.1", - "qs": "^6.11.2" + "balanced-match": "^1.0.0" } }, - "node_modules/url-parse": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", - "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "node_modules/test-exclude/node_modules/foreground-child": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", "dev": true, + "license": "ISC", "dependencies": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/url/node_modules/punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==" - }, - "node_modules/url/node_modules/qs": { - "version": "6.11.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", - "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", + "node_modules/test-exclude/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dev": true, + "license": "ISC", "dependencies": { - "side-channel": "^1.0.4" + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" }, - "engines": { - "node": ">=0.6" + "bin": { + "glob": "dist/esm/bin.mjs" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/use-callback-ref": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.0.tgz", - "integrity": "sha512-3FT9PRuRdbB9HfXhEq35u4oZkvpJ5kuYbpqhCfmiZyReuRgpnhDlbr2ZEnnuS0RrJAPn6l23xjFg9kpDM+Ms7w==", + "node_modules/test-exclude/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", "dependencies": { - "tslib": "^2.0.0" + "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=10" - }, - "peerDependencies": { - "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + "node": ">=16 || 14 >=14.17" }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/use-callback-ref/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - }, - "node_modules/use-isomorphic-layout-effect": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz", - "integrity": "sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==", - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + "node_modules/test-exclude/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/use-sidecar": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.2.tgz", - "integrity": "sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==", - "dependencies": { - "detect-node-es": "^1.1.0", - "tslib": "^2.0.0" - }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true, + "license": "MIT" + }, + "node_modules/throat": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", + "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", + "license": "MIT", + "peer": true + }, + "node_modules/throttle-debounce": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-3.0.1.tgz", + "integrity": "sha512-dTEWWNu6JmeVXY0ZYoPuH5cRIwc0MeGbJwah9KUNYSJwommQpCzTySTpEe8Gs1J23aeWEuAobe4Ag7EHVt/LOg==", + "license": "MIT", "engines": { "node": ">=10" - }, - "peerDependencies": { - "@types/react": "^16.9.0 || ^17.0.0 || ^18.0.0", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } } }, - "node_modules/use-sidecar/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - }, - "node_modules/use-sync-external-store": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", - "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + "node_modules/throttleit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.1.tgz", + "integrity": "sha512-vDZpf9Chs9mAdfY046mcPt8fg5QSZr37hEH4TXYBnDF+izxgrbRGUAAaBvIk/fJm9aOFCGFd1EsNg5AZCbnQCQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/util": { - "version": "0.12.5", - "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", - "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", "dev": true, + "license": "MIT" + }, + "node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "license": "MIT", + "peer": true, "dependencies": { - "inherits": "^2.0.3", - "is-arguments": "^1.0.4", - "is-generator-function": "^1.0.7", - "is-typed-array": "^1.1.3", - "which-typed-array": "^1.1.2" + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" } }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + "node_modules/through2/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", + "peer": 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/utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "node_modules/through2/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==", + "license": "MIT", + "peer": true + }, + "node_modules/through2/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==", + "license": "MIT", "peer": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/tiny-invariant": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", + "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==", + "license": "MIT" + }, + "node_modules/tiny-warning": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", + "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==", + "license": "MIT" + }, + "node_modules/tinybench": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", + "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", + "dev": true, + "license": "MIT" + }, + "node_modules/tinycolor2": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.6.0.tgz", + "integrity": "sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==", + "license": "MIT" + }, + "node_modules/tinyexec": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.0.tgz", + "integrity": "sha512-tVGE0mVJPGb0chKhqmsoosjsS+qUnJVGJpZgsHYQcGoPlG3B51R3PouqTgEGH2Dc9jjFyOqOpix6ZHNMXp1FZg==", + "dev": true, + "license": "MIT" + }, + "node_modules/tinypool": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.0.1.tgz", + "integrity": "sha512-URZYihUbRPcGv95En+sz6MfghfIc2OJ1sv/RmhWZLouPY0/8Vo80viwPvg3dlaS9fuq7fQMEfgRRK7BBZThBEA==", + "dev": true, + "license": "MIT", "engines": { - "node": ">= 0.4.0" + "node": "^18.0.0 || >=20.0.0" } }, - "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/tinyrainbow": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-1.2.0.tgz", + "integrity": "sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.0.0" } }, - "node_modules/v8-to-istanbul": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz", - "integrity": "sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==", - "dev": true, - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.12", - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^2.0.0" - }, + "node_modules/tinyspy": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-3.0.2.tgz", + "integrity": "sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tmp": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz", + "integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.14" + } + }, + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "license": "BSD-3-Clause", + "peer": true + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "license": "MIT", "engines": { - "node": ">=10.12.0" + "node": ">=4" } }, - "node_modules/valid-filename": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/valid-filename/-/valid-filename-4.0.0.tgz", - "integrity": "sha512-VEYTpTVPMgO799f2wI7zWf0x2C54bPX6NAfbZ2Z8kZn76p+3rEYCTYVYzMUcVSMvakxMQTriBf24s3+WeXJtEg==", + "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==", + "license": "MIT", "dependencies": { - "filename-reserved-regex": "^3.0.0" + "is-number": "^7.0.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8.0" } }, - "node_modules/value-equal": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz", - "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==" + "node_modules/toggle-selection": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz", + "integrity": "sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==", + "license": "MIT" }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "license": "MIT", "peer": true, "engines": { - "node": ">= 0.8" + "node": ">=0.6" } }, - "node_modules/verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "node_modules/tough-cookie": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", + "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", "dev": true, - "engines": [ - "node >=0.6.0" - ], + "license": "BSD-3-Clause", "dependencies": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "engines": { + "node": ">=6" } }, - "node_modules/vite": { - "version": "4.5.5", - "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.5.tgz", - "integrity": "sha512-ifW3Lb2sMdX+WU91s3R0FyQlAyLxOzCSCP37ujw0+r5POeHPwe6udWVIElKQq8gk3t7b8rkmvqC6IHBpCff4GQ==", + "node_modules/tough-cookie/node_modules/universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", "dev": true, "license": "MIT", - "dependencies": { - "esbuild": "^0.18.10", - "postcss": "^8.4.27", - "rollup": "^3.27.1" - }, - "bin": { - "vite": "bin/vite.js" - }, "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - }, - "peerDependencies": { - "@types/node": ">= 14", - "less": "*", - "lightningcss": "^1.21.0", - "sass": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.4.0" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - } + "node": ">= 4.0.0" } }, - "node_modules/vite-node": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.2.1.tgz", - "integrity": "sha512-fNzHmQUSOY+y30naohBvSW7pPn/xn3Ib/uqm+5wAJQJiqQsU0NBR78XdRJb04l4bOFKjpTWld0XAfkKlrDbySg==", + "node_modules/tr46": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-4.1.1.tgz", + "integrity": "sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw==", "dev": true, + "license": "MIT", "dependencies": { - "cac": "^6.7.14", - "debug": "^4.3.4", - "pathe": "^1.1.1", - "picocolors": "^1.0.0", - "vite": "^5.0.0" - }, - "bin": { - "vite-node": "vite-node.mjs" + "punycode": "^2.3.0" }, "engines": { - "node": "^18.0.0 || >=20.0.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" + "node": ">=14" } }, - "node_modules/vite-node/node_modules/@esbuild/android-arm": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", - "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } + "node_modules/ts-easing": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/ts-easing/-/ts-easing-0.2.0.tgz", + "integrity": "sha512-Z86EW+fFFh/IFB1fqQ3/+7Zpf9t2ebOAxNI/V6Wo7r5gqiqtxmgTlQ1qbqQcjLKYeSHPTsEmvlJUDg/EuL0uHQ==", + "license": "Unlicense" }, - "node_modules/vite-node/node_modules/@esbuild/android-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", - "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", - "cpu": [ - "arm64" - ], + "node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], + "license": "Apache-2.0", + "dependencies": { + "safe-buffer": "^5.0.1" + }, "engines": { - "node": ">=12" + "node": "*" } }, - "node_modules/vite-node/node_modules/@esbuild/android-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", - "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", - "cpu": [ - "x64" - ], + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } + "license": "Unlicense" }, - "node_modules/vite-node/node_modules/@esbuild/darwin-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", - "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", - "cpu": [ - "arm64" - ], + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], + "dependencies": { + "prelude-ls": "^1.2.1" + }, "engines": { - "node": ">=12" + "node": ">= 0.8.0" } }, - "node_modules/vite-node/node_modules/@esbuild/darwin-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", - "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", - "cpu": [ - "x64" - ], - "dev": true, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], + "peer": true, "engines": { - "node": ">=12" + "node": ">=4" } }, - "node_modules/vite-node/node_modules/@esbuild/freebsd-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", - "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", - "cpu": [ - "arm64" - ], + "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==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], + "license": "(MIT OR CC0-1.0)", "engines": { - "node": ">=12" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/vite-node/node_modules/@esbuild/freebsd-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", - "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", - "cpu": [ - "x64" - ], + "node_modules/typed-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", + "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.13" + }, "engines": { - "node": ">=12" + "node": ">= 0.4" } }, - "node_modules/vite-node/node_modules/@esbuild/linux-arm": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", - "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", - "cpu": [ - "arm" - ], + "node_modules/typed-array-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", + "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" + }, "engines": { - "node": ">=12" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/vite-node/node_modules/@esbuild/linux-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", - "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", - "cpu": [ - "arm64" - ], + "node_modules/typed-array-byte-offset": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", + "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" + }, "engines": { - "node": ">=12" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/vite-node/node_modules/@esbuild/linux-ia32": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", - "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", - "cpu": [ - "ia32" - ], + "node_modules/typed-array-length": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz", + "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0" + }, "engines": { - "node": ">=12" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/vite-node/node_modules/@esbuild/linux-loong64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", - "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", - "cpu": [ - "loong64" - ], + "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==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" + "dependencies": { + "is-typedarray": "^1.0.0" } }, - "node_modules/vite-node/node_modules/@esbuild/linux-mips64el": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", - "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", - "cpu": [ - "mips64el" + "node_modules/ua-parser-js": { + "version": "1.0.35", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.35.tgz", + "integrity": "sha512-fKnGuqmTBnIE+/KXSzCn4db8RTigUzw1AN0DmdU6hJovUTbYJKyqj+8Mt1c4VfRDnOVJnENmfYkIPZ946UrSAA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/ua-parser-js" + }, + { + "type": "paypal", + "url": "https://paypal.me/faisalman" + } ], - "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], "engines": { - "node": ">=12" + "node": "*" } }, - "node_modules/vite-node/node_modules/@esbuild/linux-ppc64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", - "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", - "cpu": [ - "ppc64" - ], + "node_modules/uglify-js": { + "version": "3.19.3", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.3.tgz", + "integrity": "sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", "optional": true, - "os": [ - "linux" - ], + "bin": { + "uglifyjs": "bin/uglifyjs" + }, "engines": { - "node": ">=12" + "node": ">=0.8.0" } }, - "node_modules/vite-node/node_modules/@esbuild/linux-riscv64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", - "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", - "cpu": [ - "riscv64" - ], - "dev": true, + "node_modules/ulid": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/ulid/-/ulid-2.3.0.tgz", + "integrity": "sha512-keqHubrlpvT6G2wH0OEfSW4mquYRcbe/J8NMmveoQOjUqmo+hXtO+ORCpWhdbZ7k72UtY61BL7haGxW6enBnjw==", "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" + "bin": { + "ulid": "bin/cli.js" } }, - "node_modules/vite-node/node_modules/@esbuild/linux-s390x": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", - "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", - "cpu": [ - "s390x" - ], + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/vite-node/node_modules/@esbuild/linux-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", - "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", - "cpu": [ - "x64" - ], - "dev": true, + "node_modules/undici-types": { + "version": "6.19.8", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", + "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", + "license": "MIT" + }, + "node_modules/unfetch": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/unfetch/-/unfetch-4.2.0.tgz", + "integrity": "sha512-F9p7yYCn6cIW9El1zi0HI6vqpeIvBsr3dSuRO6Xuppb1u5rXpCPmMvLSyECLhybr9isec8Ohl0hPekMVrEinDA==", + "license": "MIT" + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", + "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==", "license": "MIT", - "optional": true, - "os": [ - "linux" - ], "engines": { - "node": ">=12" + "node": ">=4" } }, - "node_modules/vite-node/node_modules/@esbuild/netbsd-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", - "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", - "cpu": [ - "x64" - ], - "dev": true, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, "engines": { - "node": ">=12" + "node": ">=4" } }, - "node_modules/vite-node/node_modules/@esbuild/openbsd-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", - "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", - "cpu": [ - "x64" - ], - "dev": true, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz", + "integrity": "sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==", "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], "engines": { - "node": ">=12" + "node": ">=4" } }, - "node_modules/vite-node/node_modules/@esbuild/sunos-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", - "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "sunos" - ], + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "license": "MIT", "engines": { - "node": ">=12" + "node": ">=4" } }, - "node_modules/vite-node/node_modules/@esbuild/win32-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", - "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", - "cpu": [ - "arm64" - ], - "dev": true, + "node_modules/universal-cookie": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/universal-cookie/-/universal-cookie-4.0.4.tgz", + "integrity": "sha512-lbRVHoOMtItjWbM7TwDLdl8wug7izB0tq3/YVKhT/ahB4VDvWMyvnADfnJI8y6fSvsjh51Ix7lTGC6Tn4rMPhw==", "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" + "dependencies": { + "@types/cookie": "^0.3.3", + "cookie": "^0.4.0" } }, - "node_modules/vite-node/node_modules/@esbuild/win32-ia32": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", - "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", - "cpu": [ - "ia32" - ], - "dev": true, + "node_modules/universal-cookie/node_modules/@types/cookie": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.3.3.tgz", + "integrity": "sha512-LKVP3cgXBT9RYj+t+9FDKwS5tdI+rPBXaNSkma7hvqy35lc7mAokC2zsqWJH0LaqIt3B962nuYI77hsJoT1gow==", + "license": "MIT" + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", "license": "MIT", - "optional": true, - "os": [ - "win32" - ], "engines": { - "node": ">=12" + "node": ">= 10.0.0" } }, - "node_modules/vite-node/node_modules/@esbuild/win32-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", - "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", - "cpu": [ - "x64" - ], - "dev": true, + "node_modules/unload": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/unload/-/unload-2.2.0.tgz", + "integrity": "sha512-B60uB5TNBLtN6/LsgAf3udH9saB5p7gqJwcFfbOEZ8BcBHnGwCf6G/TGiEqkRAxX7zAFIUtzdrXQSdL3Q/wqNA==", + "license": "Apache-2.0", + "dependencies": { + "@babel/runtime": "^7.6.2", + "detect-node": "^2.0.4" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", "license": "MIT", - "optional": true, - "os": [ - "win32" - ], + "peer": true, "engines": { - "node": ">=12" + "node": ">= 0.8" } }, - "node_modules/vite-node/node_modules/esbuild": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", - "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", + "node_modules/untildify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", + "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", "dev": true, - "hasInstallScript": true, "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.21.5", - "@esbuild/android-arm": "0.21.5", - "@esbuild/android-arm64": "0.21.5", - "@esbuild/android-x64": "0.21.5", - "@esbuild/darwin-arm64": "0.21.5", - "@esbuild/darwin-x64": "0.21.5", - "@esbuild/freebsd-arm64": "0.21.5", - "@esbuild/freebsd-x64": "0.21.5", - "@esbuild/linux-arm": "0.21.5", - "@esbuild/linux-arm64": "0.21.5", - "@esbuild/linux-ia32": "0.21.5", - "@esbuild/linux-loong64": "0.21.5", - "@esbuild/linux-mips64el": "0.21.5", - "@esbuild/linux-ppc64": "0.21.5", - "@esbuild/linux-riscv64": "0.21.5", - "@esbuild/linux-s390x": "0.21.5", - "@esbuild/linux-x64": "0.21.5", - "@esbuild/netbsd-x64": "0.21.5", - "@esbuild/openbsd-x64": "0.21.5", - "@esbuild/sunos-x64": "0.21.5", - "@esbuild/win32-arm64": "0.21.5", - "@esbuild/win32-ia32": "0.21.5", - "@esbuild/win32-x64": "0.21.5" + "node": ">=8" } }, - "node_modules/vite-node/node_modules/vite": { - "version": "5.4.8", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.8.tgz", - "integrity": "sha512-FqrItQ4DT1NC4zCUqMB4c4AZORMKIa0m8/URVCZ77OZ/QSNeJ54bU1vrFADbDsuwfIPcgknRkmqakQcgnL4GiQ==", - "dev": true, + "node_modules/update-browserslist-db": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", + "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "license": "MIT", "dependencies": { - "esbuild": "^0.21.3", - "postcss": "^8.4.43", - "rollup": "^4.20.0" + "escalade": "^3.1.2", + "picocolors": "^1.0.1" }, "bin": { - "vite": "bin/vite.js" - }, - "engines": { - "node": "^18.0.0 || >=20.0.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.3" + "update-browserslist-db": "cli.js" }, "peerDependencies": { - "@types/node": "^18.0.0 || >=20.0.0", - "less": "*", - "lightningcss": "^1.21.0", - "sass": "*", - "sass-embedded": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.4.0" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "sass-embedded": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - } + "browserslist": ">= 4.21.0" } }, - "node_modules/vite-plugin-eslint2": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/vite-plugin-eslint2/-/vite-plugin-eslint2-4.4.2.tgz", - "integrity": "sha512-QR+coY+88bnGco0xbDzzOEQYm2WndmEG5WK3i3UqzODnn6dY4/O4Ckl3MExCJzxIDIHM/KMMo8DS7S3JkXtBFg==", + "node_modules/upper-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-2.0.2.tgz", + "integrity": "sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/upper-case-first": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/upper-case-first/-/upper-case-first-2.0.2.tgz", + "integrity": "sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/upper-case-first/node_modules/tslib": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" + }, + "node_modules/upper-case/node_modules/tslib": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/url": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.4.tgz", + "integrity": "sha512-oCwdVC7mTuWiPyjLUz/COz5TLk6wgp0RCsN+wHZ2Ekneac9w8uuV0njcbbie2ME+Vs+d6duwmYuR3HgQXs1fOg==", "license": "MIT", "dependencies": { - "@rollup/pluginutils": "^5.1.2", - "chokidar": "^3.6.0", - "debug": "^4.3.7" + "punycode": "^1.4.1", + "qs": "^6.12.3" }, "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@types/eslint": "^7.0.0 || ^8.0.0 || ^9.0.0-0", - "eslint": "^7.0.0 || ^8.0.0 || ^9.0.0-0", - "rollup": "^2.0.0 || ^3.0.0 || ^4.0.0", - "vite": "^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0" - }, - "peerDependenciesMeta": { - "@types/eslint": { - "optional": true - }, - "rollup": { - "optional": true - } + "node": ">= 0.4" } }, - "node_modules/vite-plugin-eslint2/node_modules/@rollup/pluginutils": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.2.tgz", - "integrity": "sha512-/FIdS3PyZ39bjZlwqFnWqCOVnW7o963LtKMwQOD0NhQqw22gSr2YY1afu3FxRip4ZCZNsD5jq6Aaz6QV3D/Njw==", + "node_modules/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", "dev": true, "license": "MIT", "dependencies": { - "@types/estree": "^1.0.0", - "estree-walker": "^2.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" } }, - "node_modules/vite-plugin-eslint2/node_modules/debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", - "dev": true, + "node_modules/url/node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "license": "MIT" + }, + "node_modules/use-callback-ref": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.2.tgz", + "integrity": "sha512-elOQwe6Q8gqZgDA8mrh44qRTQqpIHDcZ3hXTLjBe1i4ph8XpNJnO+aQf3NaG+lriLopI4HMx9VjQLfPQ6vhnoA==", "license": "MIT", "dependencies": { - "ms": "^2.1.3" + "tslib": "^2.0.0" }, "engines": { - "node": ">=6.0" + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" }, "peerDependenciesMeta": { - "supports-color": { + "@types/react": { "optional": true } } }, - "node_modules/vite-plugin-eslint2/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" + "node_modules/use-callback-ref/node_modules/tslib": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" }, - "node_modules/vite-plugin-istanbul": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/vite-plugin-istanbul/-/vite-plugin-istanbul-5.0.0.tgz", - "integrity": "sha512-Tg9zDmm/u4SdEDFbEWHBz7mmFe7jhLRmArA2XCmw5yydEFCARU9r4TxqFFnBFWCL63D9A7XA7VELulOO5T5o/g==", - "dev": true, - "dependencies": { - "@istanbuljs/load-nyc-config": "^1.1.0", - "espree": "^9.6.1", - "istanbul-lib-instrument": "^5.1.0", - "picocolors": "^1.0.0", - "test-exclude": "^6.0.0" - }, + "node_modules/use-isomorphic-layout-effect": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz", + "integrity": "sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==", + "license": "MIT", "peerDependencies": { - "vite": ">=2.9.1 <= 5" - } - }, - "node_modules/vite-plugin-svgr": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/vite-plugin-svgr/-/vite-plugin-svgr-4.2.0.tgz", - "integrity": "sha512-SC7+FfVtNQk7So0XMjrrtLAbEC8qjFPifyD7+fs/E6aaNdVde6umlVVh0QuwDLdOMu7vp5RiGFsB70nj5yo0XA==", - "dev": true, - "dependencies": { - "@rollup/pluginutils": "^5.0.5", - "@svgr/core": "^8.1.0", - "@svgr/plugin-jsx": "^8.1.0" + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" }, - "peerDependencies": { - "vite": "^2.6.0 || 3 || 4 || 5" + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, - "node_modules/vite-plugin-svgr/node_modules/@rollup/pluginutils": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.5.tgz", - "integrity": "sha512-6aEYR910NyP73oHiJglti74iRyOwgFU4x3meH/H8OJx6Ry0j6cOVZ5X/wTvub7G7Ao6qaHBEaNsV3GLJkSsF+Q==", - "dev": true, + "node_modules/use-sidecar": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.2.tgz", + "integrity": "sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==", + "license": "MIT", "dependencies": { - "@types/estree": "^1.0.0", - "estree-walker": "^2.0.2", - "picomatch": "^2.3.1" + "detect-node-es": "^1.1.0", + "tslib": "^2.0.0" }, "engines": { - "node": ">=14.0.0" + "node": ">=10" }, "peerDependencies": { - "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + "@types/react": "^16.9.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" }, "peerDependenciesMeta": { - "rollup": { + "@types/react": { "optional": true } } }, - "node_modules/vite/node_modules/@esbuild/android-arm": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", - "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/android-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", - "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/android-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", - "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/darwin-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", - "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/darwin-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", - "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/freebsd-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", - "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/freebsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", - "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } + "node_modules/use-sidecar/node_modules/tslib": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" }, - "node_modules/vite/node_modules/@esbuild/linux-arm": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", - "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" + "node_modules/use-sync-external-store": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.2.tgz", + "integrity": "sha512-PElTlVMwpblvbNqQ82d2n6RjStvdSoNe9FG28kNfz3WiXilJm4DdNkEzRhCZuIDwY8U08WVihhGR5iRqAwfDiw==", + "license": "MIT", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, - "node_modules/vite/node_modules/@esbuild/linux-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", - "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "license": "MIT", + "peer": true }, - "node_modules/vite/node_modules/@esbuild/linux-ia32": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", - "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "license": "MIT", + "peer": true, "engines": { - "node": ">=12" + "node": ">= 0.4.0" } }, - "node_modules/vite/node_modules/@esbuild/linux-loong64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", - "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", - "cpu": [ - "loong64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" + "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.", + "license": "MIT", + "bin": { + "uuid": "bin/uuid" } }, - "node_modules/vite/node_modules/@esbuild/linux-mips64el": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", - "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", - "cpu": [ - "mips64el" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], + "node_modules/valid-filename": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/valid-filename/-/valid-filename-4.0.0.tgz", + "integrity": "sha512-VEYTpTVPMgO799f2wI7zWf0x2C54bPX6NAfbZ2Z8kZn76p+3rEYCTYVYzMUcVSMvakxMQTriBf24s3+WeXJtEg==", + "license": "MIT", + "dependencies": { + "filename-reserved-regex": "^3.0.0" + }, "engines": { - "node": ">=12" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/vite/node_modules/@esbuild/linux-ppc64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", - "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } + "node_modules/value-equal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz", + "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==", + "license": "MIT" }, - "node_modules/vite/node_modules/@esbuild/linux-riscv64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", - "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "license": "MIT", + "peer": true, "engines": { - "node": ">=12" + "node": ">= 0.8" } }, - "node_modules/vite/node_modules/@esbuild/linux-s390x": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", - "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", - "cpu": [ - "s390x" - ], + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", "dev": true, - "optional": true, - "os": [ - "linux" + "engines": [ + "node >=0.6.0" ], - "engines": { - "node": ">=12" + "license": "MIT", + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" } }, - "node_modules/vite/node_modules/@esbuild/linux-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", - "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", - "cpu": [ - "x64" - ], + "node_modules/vite": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.6.tgz", + "integrity": "sha512-IeL5f8OO5nylsgzd9tq4qD2QqI0k2CQLGrWD0rCN0EQJZpBK5vJAx0I+GDkMOXxQX/OfFHMuLIx6ddAxGX/k+Q==", "dev": true, - "optional": true, - "os": [ - "linux" - ], + "license": "MIT", + "dependencies": { + "esbuild": "^0.21.3", + "postcss": "^8.4.43", + "rollup": "^4.20.0" + }, + "bin": { + "vite": "bin/vite.js" + }, "engines": { - "node": ">=12" + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } } }, - "node_modules/vite/node_modules/@esbuild/netbsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", - "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", - "cpu": [ - "x64" - ], + "node_modules/vite-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-2.1.1.tgz", + "integrity": "sha512-N/mGckI1suG/5wQI35XeR9rsMsPqKXzq1CdUndzVstBj/HvyxxGctwnK6WX43NGt5L3Z5tcRf83g4TITKJhPrA==", "dev": true, - "optional": true, - "os": [ - "netbsd" - ], + "license": "MIT", + "dependencies": { + "cac": "^6.7.14", + "debug": "^4.3.6", + "pathe": "^1.1.2", + "vite": "^5.0.0" + }, + "bin": { + "vite-node": "vite-node.mjs" + }, "engines": { - "node": ">=12" + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" } }, - "node_modules/vite/node_modules/@esbuild/openbsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", - "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", - "cpu": [ - "x64" - ], + "node_modules/vite-plugin-eslint2": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/vite-plugin-eslint2/-/vite-plugin-eslint2-4.4.1.tgz", + "integrity": "sha512-z0Eu/d+VeeVNrnFG8QqQbGlWxrXi8JQvO79OVWX4t6nBHUWxCBHLqev1CYQDPzd+50vs9e2MHaBhcNpNE7D1bQ==", "dev": true, - "optional": true, - "os": [ - "openbsd" - ], + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^5.1.0", + "chokidar": "^3.6.0", + "debug": "^4.3.7" + }, "engines": { - "node": ">=12" + "node": ">=18" + }, + "peerDependencies": { + "@types/eslint": "^7.0.0 || ^8.0.0 || ^9.0.0-0", + "eslint": "^7.0.0 || ^8.0.0 || ^9.0.0-0", + "rollup": "^2.0.0 || ^3.0.0 || ^4.0.0", + "vite": "^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "@types/eslint": { + "optional": true + }, + "rollup": { + "optional": true + } } }, - "node_modules/vite/node_modules/@esbuild/sunos-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", - "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", - "cpu": [ - "x64" - ], + "node_modules/vite-plugin-eslint2/node_modules/@rollup/pluginutils": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.2.tgz", + "integrity": "sha512-/FIdS3PyZ39bjZlwqFnWqCOVnW7o963LtKMwQOD0NhQqw22gSr2YY1afu3FxRip4ZCZNsD5jq6Aaz6QV3D/Njw==", "dev": true, - "optional": true, - "os": [ - "sunos" - ], + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" + }, "engines": { - "node": ">=12" + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } } }, - "node_modules/vite/node_modules/@esbuild/win32-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", - "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", - "cpu": [ - "arm64" - ], + "node_modules/vite-plugin-istanbul": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/vite-plugin-istanbul/-/vite-plugin-istanbul-5.0.0.tgz", + "integrity": "sha512-Tg9zDmm/u4SdEDFbEWHBz7mmFe7jhLRmArA2XCmw5yydEFCARU9r4TxqFFnBFWCL63D9A7XA7VELulOO5T5o/g==", "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" + "license": "MIT", + "dependencies": { + "@istanbuljs/load-nyc-config": "^1.1.0", + "espree": "^9.6.1", + "istanbul-lib-instrument": "^5.1.0", + "picocolors": "^1.0.0", + "test-exclude": "^6.0.0" + }, + "peerDependencies": { + "vite": ">=2.9.1 <= 5" } }, - "node_modules/vite/node_modules/@esbuild/win32-ia32": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", - "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", - "cpu": [ - "ia32" - ], + "node_modules/vite-plugin-istanbul/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, - "optional": true, - "os": [ - "win32" - ], + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, "engines": { - "node": ">=12" + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/vite/node_modules/@esbuild/win32-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", - "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", - "cpu": [ - "x64" - ], + "node_modules/vite-plugin-istanbul/node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", "dev": true, - "optional": true, - "os": [ - "win32" - ], + "license": "BSD-3-Clause", + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, "engines": { - "node": ">=12" + "node": ">=8" } }, - "node_modules/vite/node_modules/esbuild": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", - "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", + "node_modules/vite-plugin-istanbul/node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", "dev": true, - "hasInstallScript": true, - "bin": { - "esbuild": "bin/esbuild" + "license": "ISC", + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" }, "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/android-arm": "0.18.20", - "@esbuild/android-arm64": "0.18.20", - "@esbuild/android-x64": "0.18.20", - "@esbuild/darwin-arm64": "0.18.20", - "@esbuild/darwin-x64": "0.18.20", - "@esbuild/freebsd-arm64": "0.18.20", - "@esbuild/freebsd-x64": "0.18.20", - "@esbuild/linux-arm": "0.18.20", - "@esbuild/linux-arm64": "0.18.20", - "@esbuild/linux-ia32": "0.18.20", - "@esbuild/linux-loong64": "0.18.20", - "@esbuild/linux-mips64el": "0.18.20", - "@esbuild/linux-ppc64": "0.18.20", - "@esbuild/linux-riscv64": "0.18.20", - "@esbuild/linux-s390x": "0.18.20", - "@esbuild/linux-x64": "0.18.20", - "@esbuild/netbsd-x64": "0.18.20", - "@esbuild/openbsd-x64": "0.18.20", - "@esbuild/sunos-x64": "0.18.20", - "@esbuild/win32-arm64": "0.18.20", - "@esbuild/win32-ia32": "0.18.20", - "@esbuild/win32-x64": "0.18.20" - } - }, - "node_modules/vite/node_modules/rollup": { - "version": "3.29.5", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.5.tgz", - "integrity": "sha512-GVsDdsbJzzy4S/v3dqWPJ7EfvZJfCHiDqe80IyrF59LYuP+e6U1LJoUqeuqRbwAWoMNoXivMNeNAOf5E22VA1w==", + "node": ">=8" + } + }, + "node_modules/vite-plugin-svgr": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/vite-plugin-svgr/-/vite-plugin-svgr-4.2.0.tgz", + "integrity": "sha512-SC7+FfVtNQk7So0XMjrrtLAbEC8qjFPifyD7+fs/E6aaNdVde6umlVVh0QuwDLdOMu7vp5RiGFsB70nj5yo0XA==", "dev": true, "license": "MIT", - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=14.18.0", - "npm": ">=8.0.0" + "dependencies": { + "@rollup/pluginutils": "^5.0.5", + "@svgr/core": "^8.1.0", + "@svgr/plugin-jsx": "^8.1.0" }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "peerDependencies": { + "vite": "^2.6.0 || 3 || 4 || 5" } }, - "node_modules/vitest": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.2.1.tgz", - "integrity": "sha512-TRph8N8rnSDa5M2wKWJCMnztCZS9cDcgVTQ6tsTFTG/odHJ4l5yNVqvbeDJYJRZ6is3uxaEpFs8LL6QM+YFSdA==", + "node_modules/vite-plugin-svgr/node_modules/@rollup/pluginutils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.0.tgz", + "integrity": "sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==", "dev": true, + "license": "MIT", "dependencies": { - "@vitest/expect": "1.2.1", - "@vitest/runner": "1.2.1", - "@vitest/snapshot": "1.2.1", - "@vitest/spy": "1.2.1", - "@vitest/utils": "1.2.1", - "acorn-walk": "^8.3.2", - "cac": "^6.7.14", - "chai": "^4.3.10", - "debug": "^4.3.4", - "execa": "^8.0.1", - "local-pkg": "^0.5.0", - "magic-string": "^0.30.5", - "pathe": "^1.1.1", - "picocolors": "^1.0.0", - "std-env": "^3.5.0", - "strip-literal": "^1.3.0", - "tinybench": "^2.5.1", - "tinypool": "^0.8.1", - "vite": "^5.0.0", - "vite-node": "1.2.1", - "why-is-node-running": "^2.2.2" - }, - "bin": { - "vitest": "vitest.mjs" + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" }, "engines": { - "node": "^18.0.0 || >=20.0.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" + "node": ">=14.0.0" }, "peerDependencies": { - "@edge-runtime/vm": "*", - "@types/node": "^18.0.0 || >=20.0.0", - "@vitest/browser": "^1.0.0", - "@vitest/ui": "^1.0.0", - "happy-dom": "*", - "jsdom": "*" + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" }, "peerDependenciesMeta": { - "@edge-runtime/vm": { - "optional": true - }, - "@types/node": { - "optional": true - }, - "@vitest/browser": { - "optional": true - }, - "@vitest/ui": { - "optional": true - }, - "happy-dom": { - "optional": true - }, - "jsdom": { + "rollup": { "optional": true } } }, - "node_modules/vitest/node_modules/@esbuild/android-arm": { + "node_modules/vite/node_modules/@esbuild/aix-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", + "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/android-arm": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", @@ -28291,7 +28507,7 @@ "node": ">=12" } }, - "node_modules/vitest/node_modules/@esbuild/android-arm64": { + "node_modules/vite/node_modules/@esbuild/android-arm64": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", @@ -28308,7 +28524,7 @@ "node": ">=12" } }, - "node_modules/vitest/node_modules/@esbuild/android-x64": { + "node_modules/vite/node_modules/@esbuild/android-x64": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", @@ -28325,7 +28541,7 @@ "node": ">=12" } }, - "node_modules/vitest/node_modules/@esbuild/darwin-arm64": { + "node_modules/vite/node_modules/@esbuild/darwin-arm64": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", @@ -28342,7 +28558,7 @@ "node": ">=12" } }, - "node_modules/vitest/node_modules/@esbuild/darwin-x64": { + "node_modules/vite/node_modules/@esbuild/darwin-x64": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", @@ -28359,7 +28575,7 @@ "node": ">=12" } }, - "node_modules/vitest/node_modules/@esbuild/freebsd-arm64": { + "node_modules/vite/node_modules/@esbuild/freebsd-arm64": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", @@ -28376,7 +28592,7 @@ "node": ">=12" } }, - "node_modules/vitest/node_modules/@esbuild/freebsd-x64": { + "node_modules/vite/node_modules/@esbuild/freebsd-x64": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", @@ -28393,7 +28609,7 @@ "node": ">=12" } }, - "node_modules/vitest/node_modules/@esbuild/linux-arm": { + "node_modules/vite/node_modules/@esbuild/linux-arm": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", @@ -28410,7 +28626,7 @@ "node": ">=12" } }, - "node_modules/vitest/node_modules/@esbuild/linux-arm64": { + "node_modules/vite/node_modules/@esbuild/linux-arm64": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", @@ -28427,7 +28643,7 @@ "node": ">=12" } }, - "node_modules/vitest/node_modules/@esbuild/linux-ia32": { + "node_modules/vite/node_modules/@esbuild/linux-ia32": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", @@ -28444,7 +28660,7 @@ "node": ">=12" } }, - "node_modules/vitest/node_modules/@esbuild/linux-loong64": { + "node_modules/vite/node_modules/@esbuild/linux-loong64": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", @@ -28461,7 +28677,7 @@ "node": ">=12" } }, - "node_modules/vitest/node_modules/@esbuild/linux-mips64el": { + "node_modules/vite/node_modules/@esbuild/linux-mips64el": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", @@ -28478,7 +28694,7 @@ "node": ">=12" } }, - "node_modules/vitest/node_modules/@esbuild/linux-ppc64": { + "node_modules/vite/node_modules/@esbuild/linux-ppc64": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", @@ -28495,7 +28711,7 @@ "node": ">=12" } }, - "node_modules/vitest/node_modules/@esbuild/linux-riscv64": { + "node_modules/vite/node_modules/@esbuild/linux-riscv64": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", @@ -28512,7 +28728,7 @@ "node": ">=12" } }, - "node_modules/vitest/node_modules/@esbuild/linux-s390x": { + "node_modules/vite/node_modules/@esbuild/linux-s390x": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", @@ -28529,7 +28745,7 @@ "node": ">=12" } }, - "node_modules/vitest/node_modules/@esbuild/linux-x64": { + "node_modules/vite/node_modules/@esbuild/linux-x64": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", @@ -28546,7 +28762,7 @@ "node": ">=12" } }, - "node_modules/vitest/node_modules/@esbuild/netbsd-x64": { + "node_modules/vite/node_modules/@esbuild/netbsd-x64": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", @@ -28563,7 +28779,7 @@ "node": ">=12" } }, - "node_modules/vitest/node_modules/@esbuild/openbsd-x64": { + "node_modules/vite/node_modules/@esbuild/openbsd-x64": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", @@ -28580,7 +28796,7 @@ "node": ">=12" } }, - "node_modules/vitest/node_modules/@esbuild/sunos-x64": { + "node_modules/vite/node_modules/@esbuild/sunos-x64": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", @@ -28597,7 +28813,7 @@ "node": ">=12" } }, - "node_modules/vitest/node_modules/@esbuild/win32-arm64": { + "node_modules/vite/node_modules/@esbuild/win32-arm64": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", @@ -28614,7 +28830,7 @@ "node": ">=12" } }, - "node_modules/vitest/node_modules/@esbuild/win32-ia32": { + "node_modules/vite/node_modules/@esbuild/win32-ia32": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", @@ -28631,252 +28847,123 @@ "node": ">=12" } }, - "node_modules/vitest/node_modules/@esbuild/win32-x64": { + "node_modules/vite/node_modules/@esbuild/win32-x64": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", "cpu": [ "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vitest/node_modules/esbuild": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", - "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.21.5", - "@esbuild/android-arm": "0.21.5", - "@esbuild/android-arm64": "0.21.5", - "@esbuild/android-x64": "0.21.5", - "@esbuild/darwin-arm64": "0.21.5", - "@esbuild/darwin-x64": "0.21.5", - "@esbuild/freebsd-arm64": "0.21.5", - "@esbuild/freebsd-x64": "0.21.5", - "@esbuild/linux-arm": "0.21.5", - "@esbuild/linux-arm64": "0.21.5", - "@esbuild/linux-ia32": "0.21.5", - "@esbuild/linux-loong64": "0.21.5", - "@esbuild/linux-mips64el": "0.21.5", - "@esbuild/linux-ppc64": "0.21.5", - "@esbuild/linux-riscv64": "0.21.5", - "@esbuild/linux-s390x": "0.21.5", - "@esbuild/linux-x64": "0.21.5", - "@esbuild/netbsd-x64": "0.21.5", - "@esbuild/openbsd-x64": "0.21.5", - "@esbuild/sunos-x64": "0.21.5", - "@esbuild/win32-arm64": "0.21.5", - "@esbuild/win32-ia32": "0.21.5", - "@esbuild/win32-x64": "0.21.5" - } - }, - "node_modules/vitest/node_modules/execa": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", - "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^8.0.1", - "human-signals": "^5.0.0", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", - "signal-exit": "^4.1.0", - "strip-final-newline": "^3.0.0" - }, - "engines": { - "node": ">=16.17" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/vitest/node_modules/get-stream": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", - "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", - "dev": true, - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/vitest/node_modules/human-signals": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", - "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", - "dev": true, - "engines": { - "node": ">=16.17.0" - } - }, - "node_modules/vitest/node_modules/is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/vitest/node_modules/mimic-fn": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", - "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/vitest/node_modules/npm-run-path": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.2.0.tgz", - "integrity": "sha512-W4/tgAXFqFA0iL7fk0+uQ3g7wkL8xJmx3XdK0VGb4cHW//eZTtKGvFBBoRKVTpY7n6ze4NL9ly7rgXcHufqXKg==", - "dev": true, - "dependencies": { - "path-key": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/vitest/node_modules/onetime": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", - "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", - "dev": true, - "dependencies": { - "mimic-fn": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/vitest/node_modules/path-key": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", - "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + ], "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], "engines": { "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/vitest/node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "node_modules/vite/node_modules/esbuild": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", "dev": true, - "engines": { - "node": ">=14" + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/vitest/node_modules/strip-final-newline": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", - "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", - "dev": true, "engines": { "node": ">=12" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" } }, - "node_modules/vitest/node_modules/vite": { - "version": "5.4.8", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.8.tgz", - "integrity": "sha512-FqrItQ4DT1NC4zCUqMB4c4AZORMKIa0m8/URVCZ77OZ/QSNeJ54bU1vrFADbDsuwfIPcgknRkmqakQcgnL4GiQ==", + "node_modules/vitest": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-2.1.1.tgz", + "integrity": "sha512-97We7/VC0e9X5zBVkvt7SGQMGrRtn3KtySFQG5fpaMlS+l62eeXRQO633AYhSTC3z7IMebnPPNjGXVGNRFlxBA==", "dev": true, "license": "MIT", "dependencies": { - "esbuild": "^0.21.3", - "postcss": "^8.4.43", - "rollup": "^4.20.0" + "@vitest/expect": "2.1.1", + "@vitest/mocker": "2.1.1", + "@vitest/pretty-format": "^2.1.1", + "@vitest/runner": "2.1.1", + "@vitest/snapshot": "2.1.1", + "@vitest/spy": "2.1.1", + "@vitest/utils": "2.1.1", + "chai": "^5.1.1", + "debug": "^4.3.6", + "magic-string": "^0.30.11", + "pathe": "^1.1.2", + "std-env": "^3.7.0", + "tinybench": "^2.9.0", + "tinyexec": "^0.3.0", + "tinypool": "^1.0.0", + "tinyrainbow": "^1.2.0", + "vite": "^5.0.0", + "vite-node": "2.1.1", + "why-is-node-running": "^2.3.0" }, "bin": { - "vite": "bin/vite.js" + "vitest": "vitest.mjs" }, "engines": { "node": "^18.0.0 || >=20.0.0" }, "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.3" + "url": "https://opencollective.com/vitest" }, "peerDependencies": { + "@edge-runtime/vm": "*", "@types/node": "^18.0.0 || >=20.0.0", - "less": "*", - "lightningcss": "^1.21.0", - "sass": "*", - "sass-embedded": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.4.0" + "@vitest/browser": "2.1.1", + "@vitest/ui": "2.1.1", + "happy-dom": "*", + "jsdom": "*" }, "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { + "@edge-runtime/vm": { "optional": true }, - "sass": { + "@types/node": { "optional": true }, - "sass-embedded": { + "@vitest/browser": { "optional": true }, - "stylus": { + "@vitest/ui": { "optional": true }, - "sugarss": { + "happy-dom": { "optional": true }, - "terser": { + "jsdom": { "optional": true } } @@ -28885,6 +28972,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/vlq/-/vlq-1.0.1.tgz", "integrity": "sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w==", + "license": "MIT", "peer": true }, "node_modules/w3c-xmlserializer": { @@ -28892,6 +28980,7 @@ "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", "integrity": "sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==", "dev": true, + "license": "MIT", "dependencies": { "xml-name-validator": "^4.0.0" }, @@ -28903,6 +28992,7 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "license": "Apache-2.0", "peer": true, "dependencies": { "makeerror": "1.0.12" @@ -28927,27 +29017,18 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "license": "MIT", + "peer": true, "dependencies": { "defaults": "^1.0.3" } }, - "node_modules/web-encoding": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/web-encoding/-/web-encoding-1.1.5.tgz", - "integrity": "sha512-HYLeVCdJ0+lBYV2FvNZmv3HJ2Nt0QYXqZojk3d9FJOLkwnuhzM9tmamh8d7HPM8QqjKH8DeHkFTx+CFlWpZZDA==", - "dev": true, - "dependencies": { - "util": "^0.12.3" - }, - "optionalDependencies": { - "@zxing/text-encoding": "0.9.0" - } - }, "node_modules/web-streams-polyfill": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz", - "integrity": "sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz", + "integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==", "dev": true, + "license": "MIT", "engines": { "node": ">= 8" } @@ -28956,6 +29037,7 @@ "version": "3.4.0", "resolved": "https://registry.npmjs.org/webcola/-/webcola-3.4.0.tgz", "integrity": "sha512-4BiLXjXw3SJHo3Xd+rF+7fyClT6n7I+AR6TkBqyQ4kTsePSAMDLRCXY1f3B/kXJeP9tYn4G1TblxTO+jAt0gaw==", + "license": "MIT", "dependencies": { "d3-dispatch": "^1.0.3", "d3-drag": "^1.0.4", @@ -28968,6 +29050,7 @@ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=12" } @@ -29025,6 +29108,7 @@ "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=10.13.0" @@ -29035,6 +29119,7 @@ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, + "license": "BSD-2-Clause", "peer": true, "dependencies": { "esrecurse": "^4.3.0", @@ -29049,6 +29134,7 @@ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "dev": true, + "license": "BSD-2-Clause", "peer": true, "engines": { "node": ">=4.0" @@ -29059,6 +29145,7 @@ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@types/json-schema": "^7.0.8", @@ -29076,13 +29163,15 @@ "node_modules/weekstart": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/weekstart/-/weekstart-1.1.0.tgz", - "integrity": "sha512-ZO3I7c7J9nwGN1PZKZeBYAsuwWEsCOZi5T68cQoVNYrzrpp5Br0Bgi0OF4l8kH/Ez7nKfxa5mSsXjsgris3+qg==" + "integrity": "sha512-ZO3I7c7J9nwGN1PZKZeBYAsuwWEsCOZi5T68cQoVNYrzrpp5Br0Bgi0OF4l8kH/Ez7nKfxa5mSsXjsgris3+qg==", + "license": "MIT" }, "node_modules/whatwg-encoding": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", "dev": true, + "license": "MIT", "dependencies": { "iconv-lite": "0.6.3" }, @@ -29090,22 +29179,11 @@ "node": ">=12" } }, - "node_modules/whatwg-encoding/node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/whatwg-fetch": { - "version": "3.6.19", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.19.tgz", - "integrity": "sha512-d67JP4dHSbm2TrpFj8AbO8DnL1JXL5J9u0Kq2xW6d0TFDbCA3Muhdt8orXC22utleTVj7Prqt82baN6RBvnEgw==", + "version": "3.6.20", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz", + "integrity": "sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==", + "license": "MIT", "peer": true }, "node_modules/whatwg-mimetype": { @@ -29113,6 +29191,7 @@ "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" } @@ -29122,6 +29201,7 @@ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-12.0.1.tgz", "integrity": "sha512-Ed/LrqB8EPlGxjS+TrsXcpUond1mhccS3pchLhzSgPCnTimUCKj3IZE75pAs5m6heB2U2TMerKFUXheyHY+VDQ==", "dev": true, + "license": "MIT", "dependencies": { "tr46": "^4.1.1", "webidl-conversions": "^7.0.0" @@ -29134,6 +29214,7 @@ "version": "8.0.0-3", "resolved": "https://registry.npmjs.org/whatwg-url-without-unicode/-/whatwg-url-without-unicode-8.0.0-3.tgz", "integrity": "sha512-HoKuzZrUlgpz35YO27XgD28uh/WJH4B0+3ttFqRo//lmq+9T/mIOJ6kqmINI9HpUpz1imRC/nR/lxKpJiv0uig==", + "license": "MIT", "dependencies": { "buffer": "^5.4.3", "punycode": "^2.1.1", @@ -29161,6 +29242,7 @@ "url": "https://feross.org/support" } ], + "license": "MIT", "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.1.13" @@ -29170,6 +29252,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "license": "BSD-2-Clause", "engines": { "node": ">=8" } @@ -29178,6 +29261,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -29193,6 +29277,7 @@ "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", "dev": true, + "license": "MIT", "dependencies": { "is-bigint": "^1.0.1", "is-boolean-object": "^1.1.0", @@ -29205,13 +29290,14 @@ } }, "node_modules/which-builtin-type": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz", - "integrity": "sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.4.tgz", + "integrity": "sha512-bppkmBSsHFmIMSl8BO9TbsyzsvGjVoppt8xUiGzwiu/bhDCGxnpOKCxgqj6GuyHE0mINMDecBFPlOm2hzY084w==", "dev": true, + "license": "MIT", "dependencies": { - "function.prototype.name": "^1.1.5", - "has-tostringtag": "^1.0.0", + "function.prototype.name": "^1.1.6", + "has-tostringtag": "^1.0.2", "is-async-function": "^2.0.0", "is-date-object": "^1.0.5", "is-finalizationregistry": "^1.0.2", @@ -29220,8 +29306,8 @@ "is-weakref": "^1.0.2", "isarray": "^2.0.5", "which-boxed-primitive": "^1.0.2", - "which-collection": "^1.0.1", - "which-typed-array": "^1.1.9" + "which-collection": "^1.0.2", + "which-typed-array": "^1.1.15" }, "engines": { "node": ">= 0.4" @@ -29234,18 +29320,23 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/which-collection": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", - "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", "dev": true, + "license": "MIT", "dependencies": { - "is-map": "^2.0.1", - "is-set": "^2.0.1", - "is-weakmap": "^2.0.1", - "is-weakset": "^2.0.1" + "is-map": "^2.0.3", + "is-set": "^2.0.3", + "is-weakmap": "^2.0.2", + "is-weakset": "^2.0.3" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -29254,19 +29345,21 @@ "node_modules/which-module": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", - "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==" + "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", + "license": "ISC" }, "node_modules/which-typed-array": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz", - "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==", + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", + "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==", "dev": true, + "license": "MIT", "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.4", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", "for-each": "^0.3.3", "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" + "has-tostringtag": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -29276,10 +29369,11 @@ } }, "node_modules/why-is-node-running": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.2.2.tgz", - "integrity": "sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", + "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", "dev": true, + "license": "MIT", "dependencies": { "siginfo": "^2.0.0", "stackback": "0.0.2" @@ -29291,16 +29385,47 @@ "node": ">=8" } }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/wordwrap": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", - "dev": true + "dev": true, + "license": "MIT" }, "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==", + "license": "MIT", + "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-cjs": { + "name": "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==", + "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -29313,10 +29438,47 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, + "node_modules/wrap-ansi-cjs/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, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/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, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi-cjs/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, + "license": "MIT" + }, "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==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -29331,6 +29493,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -29341,18 +29504,21 @@ "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==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "license": "ISC" }, "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, + "license": "ISC", "dependencies": { "imurmurhash": "^0.1.4", "is-typedarray": "^1.0.0", @@ -29361,10 +29527,11 @@ } }, "node_modules/ws": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", - "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", + "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", "dev": true, + "license": "MIT", "engines": { "node": ">=10.0.0" }, @@ -29386,6 +29553,7 @@ "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=12" } @@ -29394,12 +29562,14 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/xstate": { "version": "4.38.3", "resolved": "https://registry.npmjs.org/xstate/-/xstate-4.38.3.tgz", "integrity": "sha512-SH7nAaaPQx57dx6qvfcIgqKRXIh4L0A1iYEqim4s1u7c9VoCgzZc+63FY90AKU4ZzOC2cfJzTnpO4zK7fCUzzw==", + "license": "MIT", "funding": { "type": "opencollective", "url": "https://opencollective.com/xstate" @@ -29409,6 +29579,7 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "license": "MIT", "peer": true, "engines": { "node": ">=0.4" @@ -29417,18 +29588,21 @@ "node_modules/y18n": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "license": "ISC" }, "node_modules/yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "license": "ISC" }, "node_modules/yaml": { "version": "1.10.2", "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", "dev": true, + "license": "ISC", "engines": { "node": ">= 6" } @@ -29437,6 +29611,7 @@ "version": "15.4.1", "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "license": "MIT", "dependencies": { "cliui": "^6.0.0", "decamelize": "^1.2.0", @@ -29458,6 +29633,7 @@ "version": "18.1.3", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "license": "ISC", "dependencies": { "camelcase": "^5.0.0", "decamelize": "^1.2.0" @@ -29470,6 +29646,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "license": "MIT", "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -29482,6 +29659,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "license": "MIT", "dependencies": { "p-locate": "^4.1.0" }, @@ -29493,6 +29671,7 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "license": "MIT", "dependencies": { "p-try": "^2.0.0" }, @@ -29507,6 +29686,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "license": "MIT", "dependencies": { "p-limit": "^2.2.0" }, @@ -29519,15 +29699,17 @@ "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", "dev": true, + "license": "MIT", "dependencies": { "buffer-crc32": "~0.2.3", "fd-slicer": "~1.1.0" } }, "node_modules/yocto-queue": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", - "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.1.1.tgz", + "integrity": "sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==", + "license": "MIT", "engines": { "node": ">=12.20" }, @@ -29535,15 +29717,30 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/yoctocolors-cjs": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yoctocolors-cjs/-/yoctocolors-cjs-2.1.2.tgz", + "integrity": "sha512-cYVsTjKl8b+FrnidjibDWskAv7UKOfcwaVZdp/it9n1s9fU3IkgDbhdIRKCW4JDsAlECJY0ytoVPT3sK6kideA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/zen-observable": { "version": "0.8.15", "resolved": "https://registry.npmjs.org/zen-observable/-/zen-observable-0.8.15.tgz", - "integrity": "sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==" + "integrity": "sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==", + "license": "MIT" }, "node_modules/zen-observable-ts": { "version": "0.8.19", "resolved": "https://registry.npmjs.org/zen-observable-ts/-/zen-observable-ts-0.8.19.tgz", "integrity": "sha512-u1a2rpE13G+jSzrg3aiCqXU5tN2kw41b+cBZGmnc+30YimdkKiDj9bTowcB41eL77/17RF/h+393AuVgShyheQ==", + "license": "MIT", "dependencies": { "tslib": "^1.9.3", "zen-observable": "^0.8.0" @@ -29553,6 +29750,7 @@ "version": "0.2.1", "resolved": "https://registry.npmjs.org/zen-push/-/zen-push-0.2.1.tgz", "integrity": "sha512-Qv4qvc8ZIue51B/0zmeIMxpIGDVhz4GhJALBvnKs/FRa2T7jy4Ori9wFwaHVt0zWV7MIFglKAHbgnVxVTw7U1w==", + "license": "MIT", "dependencies": { "zen-observable": "^0.7.0" } @@ -29560,7 +29758,8 @@ "node_modules/zen-push/node_modules/zen-observable": { "version": "0.7.1", "resolved": "https://registry.npmjs.org/zen-observable/-/zen-observable-0.7.1.tgz", - "integrity": "sha512-OI6VMSe0yeqaouIXtedC+F55Sr6r9ppS7+wTbSexkYdHbdt4ctTuPNXP/rwm7GTVI63YBc+EBT0b0tl7YnJLRg==" + "integrity": "sha512-OI6VMSe0yeqaouIXtedC+F55Sr6r9ppS7+wTbSexkYdHbdt4ctTuPNXP/rwm7GTVI63YBc+EBT0b0tl7YnJLRg==", + "license": "MIT" } } } diff --git a/source/frontend/package.json b/source/frontend/package.json index d2796db7..81a150fb 100644 --- a/source/frontend/package.json +++ b/source/frontend/package.json @@ -1,6 +1,6 @@ { "name": "workload-discovery-ui", - "version": "2.1.15", + "version": "2.2.0", "private": true, "description": "UI code for the Workload Discovery solution", "author": { @@ -14,21 +14,21 @@ "@babel/plugin-transform-runtime": "^7.9.6", "@babel/preset-env": "^7.8.7", "@babel/preset-react": "^7.8.3", - "@cypress/code-coverage": "^3.10.7", - "@cypress/react": "^8.0.0", + "@cypress/code-coverage": "^3.12.36", + "@cypress/react18": "^2.0.0", "@emotion/react": "^11.9.3", "@frsource/cypress-plugin-visual-regression-diff": "^3.3.10", "@testing-library/cypress": "^10.0.1", - "@testing-library/jest-dom": "^5.16.5", - "@testing-library/react": "^12.1.5", - "@testing-library/user-event": "^12.1.5", - "@vitejs/plugin-react": "^4.2.1", - "@vitest/coverage-istanbul": "^1.2.1", - "@vitest/coverage-v8": "^1.2.1", + "@testing-library/jest-dom": "^6.4.2", + "@testing-library/react": "^14.2.1", + "@testing-library/user-event": "^14.5.2", + "@vitejs/plugin-react": "^4.3.1", + "@vitest/coverage-istanbul": "^2.1.1", + "@vitest/coverage-v8": "^2.1.1", "amplify-graphql-docs-generator": "^2.2.4", "babel-plugin-transform-imports": "^2.0.0", - "cypress": "^13.4.0", - "esbuild": "^0.16.17", + "cypress": "^13.13.1", + "esbuild": "^0.20.1", "eslint": "^8.44.0", "eslint-plugin-cypress": "^2.13.3", "eslint-plugin-header": "^3.1.1", @@ -36,15 +36,15 @@ "eslint-plugin-react-hooks": "^4.6.0", "history": "^4.10.1", "jsdom": "^22.1.0", - "msw": "^1.3.2", + "msw": "^2.4.9", "node-fetch": "^3.3.1", "nyc": "^15.1.0", "prettier": "^3.0.0", - "vite": "^4.5.3", - "vite-plugin-eslint2": "^4.4.2", + "vite": "^5.4.6", + "vite-plugin-eslint2": "^4.4.1", "vite-plugin-istanbul": "^5.0.0", "vite-plugin-svgr": "^4.2.0", - "vitest": "^1.2.1" + "vitest": "^2.1.1" }, "dependencies": { "@aws-amplify/ui-react": "5.3.2", @@ -52,6 +52,7 @@ "@cloudscape-design/components": "3.0.324", "@cloudscape-design/design-tokens": "3.0.16", "@cloudscape-design/global-styles": "1.0.11", + "@uiw/react-json-view": "1.12.2", "aws-amplify": "5.3.12", "crypto-js": "4.2.0", "currency-symbol-map": "5.0.1", @@ -70,22 +71,23 @@ "p-limit": "4.0.0", "ramda": "0.28.0", "randomcolor": "0.5.4", - "react": "17.0.2", + "react": "18.2.0", "react-cytoscapejs": "1.2.1", - "react-dom": "17.0.2", + "react-dom": "18.2.0", "react-error-boundary": "^3.1.4", - "react-json-view": "1.21.1", "react-papaparse": "3.11.1", "react-query": "^3.39.1", - "react-router-dom": "5.2.0", + "react-router-dom": "5.3.4", "react-use": "^17.4.0", "sass": "1.38.0", + "svgcanvas": "2.5.0", "ua-parser-js": "1.0.35", "valid-filename": "4.0.0" }, "overrides": { "sharp": "0.33.0", "fast-xml-parser": "4.4.1", + "cookie": "0.7.0", "axios": "1.7.4" }, "scripts": { diff --git a/source/frontend/public/mockServiceWorker.js b/source/frontend/public/mockServiceWorker.js index d1135944..a8262f09 100644 --- a/source/frontend/public/mockServiceWorker.js +++ b/source/frontend/public/mockServiceWorker.js @@ -2,13 +2,15 @@ /* tslint:disable */ /** - * Mock Service Worker (1.3.4). + * Mock Service Worker. * @see https://github.com/mswjs/msw * - Please do NOT modify this file. * - Please do NOT serve this file on production. */ -const INTEGRITY_CHECKSUM = '3d6b9f06410d179a7f7404d4bf4c3c70' +const PACKAGE_VERSION = '2.4.9' +const INTEGRITY_CHECKSUM = '26357c79639bfa20d64c0efca2a87423' +const IS_MOCKED_RESPONSE = Symbol('isMockedResponse') const activeClientIds = new Set() self.addEventListener('install', function () { @@ -47,7 +49,10 @@ self.addEventListener('message', async function (event) { case 'INTEGRITY_CHECK_REQUEST': { sendToClient(client, { type: 'INTEGRITY_CHECK_RESPONSE', - payload: INTEGRITY_CHECKSUM, + payload: { + packageVersion: PACKAGE_VERSION, + checksum: INTEGRITY_CHECKSUM, + }, }) break } @@ -86,12 +91,6 @@ self.addEventListener('message', async function (event) { self.addEventListener('fetch', function (event) { const { request } = event - const accept = request.headers.get('accept') || '' - - // Bypass server-sent events. - if (accept.includes('text/event-stream')) { - return - } // Bypass navigation requests. if (request.mode === 'navigate') { @@ -112,29 +111,8 @@ self.addEventListener('fetch', function (event) { } // Generate unique request ID. - const requestId = Math.random().toString(16).slice(2) - - event.respondWith( - handleRequest(event, requestId).catch((error) => { - if (error.name === 'NetworkError') { - console.warn( - '[MSW] Successfully emulated a network error for the "%s %s" request.', - request.method, - request.url, - ) - return - } - - // At this point, any exception indicates an issue with the original request/response. - console.error( - `\ -[MSW] Caught an exception from the "%s %s" request (%s). This is probably not a problem with Mock Service Worker. There is likely an additional logging output above.`, - request.method, - request.url, - `${error.name}: ${error.message}`, - ) - }), - ) + const requestId = crypto.randomUUID() + event.respondWith(handleRequest(event, requestId)) }) async function handleRequest(event, requestId) { @@ -146,21 +124,24 @@ async function handleRequest(event, requestId) { // this message will pend indefinitely. if (client && activeClientIds.has(client.id)) { ;(async function () { - const clonedResponse = response.clone() - sendToClient(client, { - type: 'RESPONSE', - payload: { - requestId, - type: clonedResponse.type, - ok: clonedResponse.ok, - status: clonedResponse.status, - statusText: clonedResponse.statusText, - body: - clonedResponse.body === null ? null : await clonedResponse.text(), - headers: Object.fromEntries(clonedResponse.headers.entries()), - redirected: clonedResponse.redirected, + const responseClone = response.clone() + + sendToClient( + client, + { + type: 'RESPONSE', + payload: { + requestId, + isMockedResponse: IS_MOCKED_RESPONSE in response, + type: responseClone.type, + status: responseClone.status, + statusText: responseClone.statusText, + body: responseClone.body, + headers: Object.fromEntries(responseClone.headers.entries()), + }, }, - }) + [responseClone.body], + ) })() } @@ -196,20 +177,20 @@ async function resolveMainClient(event) { async function getResponse(event, client, requestId) { const { request } = event - const clonedRequest = request.clone() + + // Clone the request because it might've been already used + // (i.e. its body has been read and sent to the client). + const requestClone = request.clone() function passthrough() { - // Clone the request because it might've been already used - // (i.e. its body has been read and sent to the client). - const headers = Object.fromEntries(clonedRequest.headers.entries()) + const headers = Object.fromEntries(requestClone.headers.entries()) - // Remove MSW-specific request headers so the bypassed requests - // comply with the server's CORS preflight check. - // Operate with the headers as an object because request "Headers" - // are immutable. - delete headers['x-msw-bypass'] + // Remove internal MSW request header so the passthrough request + // complies with any potential CORS preflight checks on the server. + // Some servers forbid unknown request headers. + delete headers['x-msw-intention'] - return fetch(clonedRequest, { headers }) + return fetch(requestClone, { headers }) } // Bypass mocking when the client is not active. @@ -225,57 +206,46 @@ async function getResponse(event, client, requestId) { return passthrough() } - // Bypass requests with the explicit bypass header. - // Such requests can be issued by "ctx.fetch()". - if (request.headers.get('x-msw-bypass') === 'true') { - return passthrough() - } - // Notify the client that a request has been intercepted. - const clientMessage = await sendToClient(client, { - type: 'REQUEST', - payload: { - id: requestId, - url: request.url, - method: request.method, - headers: Object.fromEntries(request.headers.entries()), - cache: request.cache, - mode: request.mode, - credentials: request.credentials, - destination: request.destination, - integrity: request.integrity, - redirect: request.redirect, - referrer: request.referrer, - referrerPolicy: request.referrerPolicy, - body: await request.text(), - bodyUsed: request.bodyUsed, - keepalive: request.keepalive, + const requestBuffer = await request.arrayBuffer() + const clientMessage = await sendToClient( + client, + { + type: 'REQUEST', + payload: { + id: requestId, + url: request.url, + mode: request.mode, + method: request.method, + headers: Object.fromEntries(request.headers.entries()), + cache: request.cache, + credentials: request.credentials, + destination: request.destination, + integrity: request.integrity, + redirect: request.redirect, + referrer: request.referrer, + referrerPolicy: request.referrerPolicy, + body: requestBuffer, + keepalive: request.keepalive, + }, }, - }) + [requestBuffer], + ) switch (clientMessage.type) { case 'MOCK_RESPONSE': { return respondWithMock(clientMessage.data) } - case 'MOCK_NOT_FOUND': { + case 'PASSTHROUGH': { return passthrough() } - - case 'NETWORK_ERROR': { - const { name, message } = clientMessage.data - const networkError = new Error(message) - networkError.name = name - - // Rejecting a "respondWith" promise emulates a network error. - throw networkError - } } return passthrough() } -function sendToClient(client, message) { +function sendToClient(client, message, transferrables = []) { return new Promise((resolve, reject) => { const channel = new MessageChannel() @@ -287,17 +257,28 @@ function sendToClient(client, message) { resolve(event.data) } - client.postMessage(message, [channel.port2]) + client.postMessage( + message, + [channel.port2].concat(transferrables.filter(Boolean)), + ) }) } -function sleep(timeMs) { - return new Promise((resolve) => { - setTimeout(resolve, timeMs) +async function respondWithMock(response) { + // Setting response status code to 0 is a no-op. + // However, when responding with a "Response.error()", the produced Response + // instance will have status code set to 0. Since it's not possible to create + // a Response instance with status code 0, handle that use-case separately. + if (response.status === 0) { + return Response.error() + } + + const mockedResponse = new Response(response.body, response) + + Reflect.defineProperty(mockedResponse, IS_MOCKED_RESPONSE, { + value: true, + enumerable: true, }) -} -async function respondWithMock(response) { - await sleep(response.delay) - return new Response(response.body, response) + return mockedResponse } diff --git a/source/frontend/src/API/APIProcessors.js b/source/frontend/src/API/APIProcessors.js index f00102b3..b8fdd1bc 100644 --- a/source/frontend/src/API/APIProcessors.js +++ b/source/frontend/src/API/APIProcessors.js @@ -1,23 +1,52 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import * as R from 'ramda'; -import {buildBoundingBox, buildNode} from "./NodeFactory/NodeFactory"; +import * as R from 'ramda'; +import {buildBoundingBox, buildNode} from './NodeFactory/NodeFactory'; -const isBoundingBox = R.includes(R.__, ['account', 'region', 'availabilityZone', 'vpc', 'subnet']); +const isBoundingBox = R.includes(R.__, [ + 'account', + 'region', + 'availabilityZone', + 'vpc', + 'subnet', +]); const isRegional = R.includes(R.__, ['Not Applicable', 'Regional']); -const isSubnetOrVpc = R.includes(R.__, ['AWS_EC2_VPC', 'AWS_EC2_Subnet', 'AWS::EC2::VPC', 'AWS::EC2::Subnet']); +const isSubnetOrVpc = R.includes(R.__, [ + 'AWS_EC2_VPC', + 'AWS_EC2_Subnet', + 'AWS::EC2::VPC', + 'AWS::EC2::Subnet', +]); -function createParent({accountId, awsRegion, availabilityZone, vpcId, subnetId}) { +function createParent({ + accountId, + awsRegion, + availabilityZone, + vpcId, + subnetId, +}) { if (subnetId != null) { - return `arn:aws:ec2:${awsRegion}:${accountId}:subnet/${subnetId}`.replace(/:/g, '-'); + return `arn:aws:ec2:${awsRegion}:${accountId}:subnet/${subnetId}`.replace( + /:/g, + '-' + ); } else if (vpcId != null && subnetId == null) { - const vpcArn = `arn:aws:ec2:${awsRegion}:${accountId}:vpc/${vpcId}`.replace(/:/g, '-'); - if(!isRegional(availabilityZone)) { - return `${vpcArn}-${availabilityZone}` + const vpcArn = + `arn:aws:ec2:${awsRegion}:${accountId}:vpc/${vpcId}`.replace( + /:/g, + '-' + ); + if (!isRegional(availabilityZone)) { + return `${vpcArn}-${availabilityZone}`; } return vpcArn; - } else if (vpcId == null && subnetId == null && availabilityZone != null && !isRegional(availabilityZone)) { + } else if ( + vpcId == null && + subnetId == null && + availabilityZone != null && + !isRegional(availabilityZone) + ) { return `${accountId}-${awsRegion}-${availabilityZone}`; } else { return `${accountId}-${awsRegion}`; @@ -38,30 +67,38 @@ function removeEmptyBoundingBoxes(nodes) { }, new Map()); nodes.forEach(({data: {id, parent}}) => { - if(parent != null) { + if (parent != null) { adjList.get(parent)?.add(id); } }); const toDelete = new Set(); - for(const [id, edges] of adjList.entries()) { - if(isBoundingBox(typeMap.get(id)) && edges.size === 0) { + for (const [id, edges] of adjList.entries()) { + if (isBoundingBox(typeMap.get(id)) && edges.size === 0) { toDelete.add(id); } } toDelete.forEach(id => adjList.delete(id)); - return toDelete.size === 0 ? nodes : removeEmptyBoundingBoxes(nodes.filter(x => adjList.has(x.data.id))); + return toDelete.size === 0 + ? nodes + : removeEmptyBoundingBoxes(nodes.filter(x => adjList.has(x.data.id))); } export function processElements({nodes, edges}) { const accountsBoundingBoxes = nodes.reduce((acc, {properties}) => { const {accountId} = properties; - if(!acc.has(accountId)) { - acc.set(accountId, buildBoundingBox({ - id: accountId, type: 'account', label: accountId, properties - })); + if (!acc.has(accountId)) { + acc.set( + accountId, + buildBoundingBox({ + id: accountId, + type: 'account', + label: accountId, + properties, + }) + ); } return acc; }, new Map()); @@ -69,10 +106,19 @@ export function processElements({nodes, edges}) { const regionsBoundingBoxes = nodes.reduce((acc, {properties}) => { const {accountId, awsRegion} = properties; const id = `${accountId}-${awsRegion}`; - if(!acc.has(id)) { - acc.set(id, buildBoundingBox({ - id, type: 'region', label: awsRegion, properties - }, accountId)); + if (!acc.has(id)) { + acc.set( + id, + buildBoundingBox( + { + id, + type: 'region', + label: awsRegion, + properties, + }, + accountId + ) + ); } return acc; }, new Map()); @@ -81,34 +127,81 @@ export function processElements({nodes, edges}) { const {accountId, awsRegion, availabilityZone, vpcId} = properties; const id = `${accountId}-${awsRegion}-${availabilityZone}`; const parent = `${accountId}-${awsRegion}`; - if(availabilityZone != null && vpcId == null && !isRegional(availabilityZone) && !acc.has(id)) { - acc.set(id, buildBoundingBox({ - id, type: 'availabilityZone', label: availabilityZone, properties - }, parent)); + if ( + availabilityZone != null && + vpcId == null && + !isRegional(availabilityZone) && + !acc.has(id) + ) { + acc.set( + id, + buildBoundingBox( + { + id, + type: 'availabilityZone', + label: availabilityZone, + properties, + }, + parent + ) + ); } return acc; }, new Map()); const vpcBoundingBoxes = nodes.reduce((acc, {properties}) => { - const {resourceType, vpcId, accountId, awsRegion, availabilityZone, arn, title} = properties; + const { + resourceType, + vpcId, + accountId, + awsRegion, + availabilityZone, + arn, + title, + } = properties; - if(resourceType === 'AWS::EC2::VPC' || vpcId != null) { - const vpcArn = (resourceType === 'AWS::EC2::VPC' ? arn : `arn:aws:ec2:${awsRegion}:${accountId}:vpc/${vpcId}`); + if (resourceType === 'AWS::EC2::VPC' || vpcId != null) { + const vpcArn = + resourceType === 'AWS::EC2::VPC' + ? arn + : `arn:aws:ec2:${awsRegion}:${accountId}:vpc/${vpcId}`; const vpcBbId = vpcArn.replace(/:/g, '-'); const azId = `${vpcBbId}-${availabilityZone}`; - if(availabilityZone != null && !isRegional(availabilityZone) && !acc.has(azId)) { - acc.set(azId, buildBoundingBox({ - id: azId, type: 'availabilityZone', label: availabilityZone, properties - }, vpcBbId)); + if ( + availabilityZone != null && + !isRegional(availabilityZone) && + !acc.has(azId) + ) { + acc.set( + azId, + buildBoundingBox( + { + id: azId, + type: 'availabilityZone', + label: availabilityZone, + properties, + }, + vpcBbId + ) + ); } - if(resourceType === 'AWS::EC2::VPC') { + if (resourceType === 'AWS::EC2::VPC') { const parent = `${accountId}-${awsRegion}`; - if(!acc.has(vpcBbId)) { - acc.set(vpcBbId, buildBoundingBox({ - id: vpcBbId, type: 'vpc', label: title, properties - }, parent)); + if (!acc.has(vpcBbId)) { + acc.set( + vpcBbId, + buildBoundingBox( + { + id: vpcBbId, + type: 'vpc', + label: title, + properties, + }, + parent + ) + ); } } } @@ -117,23 +210,62 @@ export function processElements({nodes, edges}) { }, new Map()); const subnetBoundingBoxes = nodes.reduce((acc, {properties}) => { - const {resourceType, accountId, awsRegion, availabilityZone, vpcId, private: isPrivate, arn, title} = properties; - if(resourceType === 'AWS::EC2::Subnet') { - + const { + resourceType, + accountId, + awsRegion, + availabilityZone, + vpcId, + private: isPrivate, + arn, + title, + } = properties; + if (resourceType === 'AWS::EC2::Subnet') { const id = arn.replace(/:/g, '-'); - const parent = `arn:aws:ec2:${awsRegion}:${accountId}:vpc/${vpcId}`.replace(/:/g, '-'); + const parent = + `arn:aws:ec2:${awsRegion}:${accountId}:vpc/${vpcId}`.replace( + /:/g, + '-' + ); const azId = `${id}-${availabilityZone}`; - if(availabilityZone != null && !['Not Applicable', 'Regional', 'Multiple Availability Zones'].includes(availabilityZone) && !acc.has(azId)) { - acc.set(azId, buildBoundingBox({ - id: azId, type: 'availabilityZone', label: availabilityZone, properties - }, parent)); + if ( + availabilityZone != null && + ![ + 'Not Applicable', + 'Regional', + 'Multiple Availability Zones', + ].includes(availabilityZone) && + !acc.has(azId) + ) { + acc.set( + azId, + buildBoundingBox( + { + id: azId, + type: 'availabilityZone', + label: availabilityZone, + properties, + }, + parent + ) + ); } - if(!acc.has(id)) { - acc.set(id, buildBoundingBox({ - id, type: 'subnet', label: title, isPrivate, properties - }, azId)); + if (!acc.has(id)) { + acc.set( + id, + buildBoundingBox( + { + id, + type: 'subnet', + label: title, + isPrivate, + properties, + }, + azId + ) + ); } } return acc; @@ -145,15 +277,24 @@ export function processElements({nodes, edges}) { .filter(x => !isSubnetOrVpc(x.properties.resourceType)) .map(resource => { const {properties} = resource; - const [, ,bbLabel] = properties.resourceType.split('::'); + const [, , bbLabel] = properties.resourceType.split('::'); const parent = createParent(properties); - const bbId = `${bbLabel}-${parent}` - if(!typeBoundingBoxes.has(bbId)) { - typeBoundingBoxes.set(bbId, buildBoundingBox({ - id: bbId, type: 'type', label: bbLabel, properties - }, parent)); + const bbId = `${bbLabel}-${parent}`; + if (!typeBoundingBoxes.has(bbId)) { + typeBoundingBoxes.set( + bbId, + buildBoundingBox( + { + id: bbId, + type: 'type', + label: bbLabel, + properties, + }, + parent + ) + ); } return buildNode(resource, bbId, false); @@ -166,15 +307,24 @@ export function processElements({nodes, edges}) { ...Array.from(vpcBoundingBoxes.values()), ...Array.from(subnetBoundingBoxes.values()), ...Array.from(typeBoundingBoxes.values()), - ...elements + ...elements, ]; return [ ...removeEmptyBoundingBoxes(allNodes), ...edges - .filter(x => !(isSubnetOrVpc(x.target.label) || isSubnetOrVpc(x.source.label))) + .filter( + x => + !( + isSubnetOrVpc(x.target.label) || + isSubnetOrVpc(x.source.label) + ) + ) .map(({id, source, target}) => { - return {group: "edges", data: {id, source: source.id, target: target.id}} - }) + return { + group: 'edges', + data: {id, source: source.id, target: target.id}, + }; + }), ]; } diff --git a/source/frontend/src/API/GraphQL/mutations.js b/source/frontend/src/API/GraphQL/mutations.js index 322952b5..458848f3 100644 --- a/source/frontend/src/API/GraphQL/mutations.js +++ b/source/frontend/src/API/GraphQL/mutations.js @@ -5,72 +5,92 @@ // this is an auto generated file. This will be overwritten export const addAccounts = /* GraphQL */ ` - mutation AddAccounts($accounts: [AccountInput]!) { - addAccounts(accounts: $accounts) { - unprocessedAccounts + mutation AddAccounts($accounts: [AccountInput]!) { + addAccounts(accounts: $accounts) { + unprocessedAccounts + } } - } `; export const updateAccount = /* GraphQL */ ` - mutation UpdateAccount( - $accountId: String! - $lastCrawled: AWSDateTime - $name: String - ) { - updateAccount( - accountId: $accountId - lastCrawled: $lastCrawled - name: $name + mutation UpdateAccount( + $accountId: String! + $lastCrawled: AWSDateTime + $name: String ) { - accountId - name - lastCrawled + updateAccount( + accountId: $accountId + lastCrawled: $lastCrawled + name: $name + ) { + accountId + name + lastCrawled + } } - } `; export const updateRegions = /* GraphQL */ ` - mutation UpdateRegions($accountId: String!, $regions: [RegionInput]!) { - updateRegions(accountId: $accountId, regions: $regions) { - accountId - name - regions { - name - lastCrawled - } - lastCrawled + mutation UpdateRegions($accountId: String!, $regions: [RegionInput]!) { + updateRegions(accountId: $accountId, regions: $regions) { + accountId + name + regions { + name + lastCrawled + } + lastCrawled + } } - } `; export const addRegions = /* GraphQL */ ` - mutation AddRegions($accountId: String!, $regions: [RegionInput]!) { - addRegions(accountId: $accountId, regions: $regions) { - accountId - name - regions { - name - lastCrawled - } - lastCrawled + mutation AddRegions($accountId: String!, $regions: [RegionInput]!) { + addRegions(accountId: $accountId, regions: $regions) { + accountId + name + regions { + name + lastCrawled + } + lastCrawled + } } - } `; export const deleteRegions = /* GraphQL */ ` - mutation DeleteRegions($accountId: String!, $regions: [RegionInput]!) { - deleteRegions(accountId: $accountId, regions: $regions) { - accountId - name - regions { - name - lastCrawled - } - lastCrawled + mutation DeleteRegions($accountId: String!, $regions: [RegionInput]!) { + deleteRegions(accountId: $accountId, regions: $regions) { + accountId + name + regions { + name + lastCrawled + } + lastCrawled + } } - } `; export const deleteAccounts = /* GraphQL */ ` - mutation DeleteAccounts($accountIds: [String]!) { - deleteAccounts(accountIds: $accountIds) { - unprocessedAccounts + mutation DeleteAccounts($accountIds: [String]!) { + deleteAccounts(accountIds: $accountIds) { + unprocessedAccounts + } + } +`; + +export const createApplication = /* GraphQL */ ` + mutation CreateApplication( + $name: String! + $accountId: String! + $region: String! + $resources: [MyApplicationsResourceInput]! + ) { + createApplication( + name: $name + accountId: $accountId + region: $region + resources: $resources + ) { + applicationTag + name + unprocessedResources + } } - } `; diff --git a/source/frontend/src/API/GraphQL/queries.js b/source/frontend/src/API/GraphQL/queries.js index b5312454..e18fc78e 100644 --- a/source/frontend/src/API/GraphQL/queries.js +++ b/source/frontend/src/API/GraphQL/queries.js @@ -5,50 +5,50 @@ // this is an auto generated file. This will be overwritten export const getResources = /* GraphQL */ ` - query GetResources( - $pagination: Pagination - $resourceTypes: [String] - $accounts: [AccountInput] - ) { - getResources( - pagination: $pagination - resourceTypes: $resourceTypes - accounts: $accounts + query GetResources( + $pagination: Pagination + $resourceTypes: [String] + $accounts: [AccountInput] ) { - id - label - md5Hash - properties { - accountId - arn - availabilityZone - awsRegion - configuration - configurationItemCaptureTime - configurationItemStatus - configurationStateId - resourceCreationTime - resourceId - resourceName - resourceType - supplementaryConfiguration - tags - version - vpcId - subnetId - subnetIds - resourceValue - state - private - loggedInURL - loginURL - title - dBInstanceStatus - statement - instanceType - } + getResources( + pagination: $pagination + resourceTypes: $resourceTypes + accounts: $accounts + ) { + id + label + md5Hash + properties { + accountId + arn + availabilityZone + awsRegion + configuration + configurationItemCaptureTime + configurationItemStatus + configurationStateId + resourceCreationTime + resourceId + resourceName + resourceType + supplementaryConfiguration + tags + version + vpcId + subnetId + subnetIds + resourceValue + state + private + loggedInURL + loginURL + title + dBInstanceStatus + statement + instanceType + } + } } - } `; export const getResourceGraph = /* GraphQL */ ` @@ -105,33 +105,33 @@ export const getResourceGraph = /* GraphQL */ ` `; export const getResourcesMetadata = /* GraphQL */ ` - query GetResourcesMetadata { - getResourcesMetadata { - count - accounts { - accountId - regions { - name - } - } - resourceTypes { - count - type - } + query GetResourcesMetadata { + getResourcesMetadata { + count + accounts { + accountId + regions { + name + } + } + resourceTypes { + count + type + } + } } - } `; export const getResourcesAccountMetadata = /* GraphQL */ ` - query GetResourcesAccountMetadata($accounts: [AccountInput]) { - getResourcesAccountMetadata(accounts: $accounts) { - accountId - count - resourceTypes { - count - type - } + query GetResourcesAccountMetadata($accounts: [AccountInput]) { + getResourcesAccountMetadata(accounts: $accounts) { + accountId + count + resourceTypes { + count + type + } + } } - } `; // this query has not been autogenerated and must be manually created export const getResourcesRegionMetadata = /* GraphQL */ ` @@ -151,205 +151,207 @@ export const getResourcesRegionMetadata = /* GraphQL */ ` } `; export const getAccount = /* GraphQL */ ` - query GetAccount($accountId: String!) { - getAccount(accountId: $accountId) { - accountId - name - isIamRoleDeployed - isManagementAccount - regions { - name - lastCrawled - } - lastCrawled + query GetAccount($accountId: String!) { + getAccount(accountId: $accountId) { + accountId + name + isIamRoleDeployed + isManagementAccount + regions { + name + lastCrawled + } + lastCrawled + } } - } `; export const getAccounts = /* GraphQL */ ` - query GetAccounts { - getAccounts { - accountId - name - isIamRoleDeployed - isManagementAccount - regions { - name - lastCrawled - } - lastCrawled + query GetAccounts { + getAccounts { + accountId + name + isIamRoleDeployed + isManagementAccount + regions { + name + lastCrawled + } + lastCrawled + } } - } `; export const readResultsFromS3 = /* GraphQL */ ` - query ReadResultsFromS3($s3Query: S3Query) { - readResultsFromS3(s3Query: $s3Query) { - totalCost - costItems { - line_item_resource_id - product_servicename - line_item_usage_start_date - line_item_usage_account_id - region - pricing_term - cost - line_item_currency_code - } - queryDetails { - cost - s3Bucket - s3Key - dataScannedInMB - resultCount - } + query ReadResultsFromS3($s3Query: S3Query) { + readResultsFromS3(s3Query: $s3Query) { + totalCost + costItems { + line_item_resource_id + product_servicename + line_item_usage_start_date + line_item_usage_account_id + region + pricing_term + cost + line_item_currency_code + } + queryDetails { + cost + s3Bucket + s3Key + dataScannedInMB + resultCount + } + } } - } `; export const getCostForService = /* GraphQL */ ` - query GetCostForService($costForServiceQuery: CostForServiceQuery) { - getCostForService(costForServiceQuery: $costForServiceQuery) { - totalCost - costItems { - line_item_resource_id - product_servicename - line_item_usage_start_date - line_item_usage_account_id - region - pricing_term - cost - line_item_currency_code - } - queryDetails { - cost - s3Bucket - s3Key - dataScannedInMB - resultCount - } + query GetCostForService($costForServiceQuery: CostForServiceQuery) { + getCostForService(costForServiceQuery: $costForServiceQuery) { + totalCost + costItems { + line_item_resource_id + product_servicename + line_item_usage_start_date + line_item_usage_account_id + region + pricing_term + cost + line_item_currency_code + } + queryDetails { + cost + s3Bucket + s3Key + dataScannedInMB + resultCount + } + } } - } `; export const getCostForResource = /* GraphQL */ ` - query GetCostForResource($costForResourceQuery: CostForResourceQuery) { - getCostForResource(costForResourceQuery: $costForResourceQuery) { - totalCost - costItems { - line_item_resource_id - product_servicename - line_item_usage_start_date - line_item_usage_account_id - region - pricing_term - cost - line_item_currency_code - } - queryDetails { - cost - s3Bucket - s3Key - dataScannedInMB - resultCount - } + query GetCostForResource($costForResourceQuery: CostForResourceQuery) { + getCostForResource(costForResourceQuery: $costForResourceQuery) { + totalCost + costItems { + line_item_resource_id + product_servicename + line_item_usage_start_date + line_item_usage_account_id + region + pricing_term + cost + line_item_currency_code + } + queryDetails { + cost + s3Bucket + s3Key + dataScannedInMB + resultCount + } + } } - } `; export const getResourcesByCost = /* GraphQL */ ` - query GetResourcesByCost($resourcesByCostQuery: ResourcesByCostQuery) { - getResourcesByCost(resourcesByCostQuery: $resourcesByCostQuery) { - totalCost - costItems { - line_item_resource_id - product_servicename - line_item_usage_start_date - line_item_usage_account_id - region - pricing_term - cost - line_item_currency_code - } - queryDetails { - cost - s3Bucket - s3Key - dataScannedInMB - resultCount - } + query GetResourcesByCost($resourcesByCostQuery: ResourcesByCostQuery) { + getResourcesByCost(resourcesByCostQuery: $resourcesByCostQuery) { + totalCost + costItems { + line_item_resource_id + product_servicename + line_item_usage_start_date + line_item_usage_account_id + region + pricing_term + cost + line_item_currency_code + } + queryDetails { + cost + s3Bucket + s3Key + dataScannedInMB + resultCount + } + } } - } `; export const getResourcesByCostByDay = /* GraphQL */ ` - query GetResourcesByCostByDay( - $costForResourceQueryByDay: CostForResourceQueryByDay - ) { - getResourcesByCostByDay( - costForResourceQueryByDay: $costForResourceQueryByDay + query GetResourcesByCostByDay( + $costForResourceQueryByDay: CostForResourceQueryByDay ) { - totalCost - costItems { - line_item_resource_id - product_servicename - line_item_usage_start_date - line_item_usage_account_id - region - pricing_term - cost - line_item_currency_code - } - queryDetails { - cost - s3Bucket - s3Key - dataScannedInMB - resultCount - } + getResourcesByCostByDay( + costForResourceQueryByDay: $costForResourceQueryByDay + ) { + totalCost + costItems { + line_item_resource_id + product_servicename + line_item_usage_start_date + line_item_usage_account_id + region + pricing_term + cost + line_item_currency_code + } + queryDetails { + cost + s3Bucket + s3Key + dataScannedInMB + resultCount + } + } } - } `; export const getGlobalTemplate = /* GraphQL */ ` - query GetGlobalTemplate { - getGlobalTemplate - } + query GetGlobalTemplate { + getGlobalTemplate + } `; export const getRegionalTemplate = /* GraphQL */ ` - query GetRegionalTemplate { - getRegionalTemplate - } + query GetRegionalTemplate { + getRegionalTemplate + } `; export const exportToDrawIo = /* GraphQL */ ` - query ExportToDrawIo( - $edges: [drawIoEdgeInput], - $nodes: [drawIoNodeInput] - ) { + query ExportToDrawIo($edges: [drawIoEdgeInput], $nodes: [drawIoNodeInput]) { exportToDrawIo(edges: $edges, nodes: $nodes) } `; // This query has been edited manually to remove unnecessary fields export const searchResources = /* GraphQL */ ` query SearchResources( - $text: String!, - $pagination: Pagination, - $resourceTypes: [String], - $accounts: [AccountInput] + $text: String! + $pagination: Pagination + $resourceTypes: [String] + $accounts: [AccountInput] ) { - searchResources(text: $text, pagination: $pagination, resourceTypes: $resourceTypes, accounts: $accounts) { - count - resources { - id - label - md5Hash - properties { - arn - accountId - availabilityZone - awsRegion - resourceId - resourceName - resourceType - title - state - tags - configuration + searchResources( + text: $text + pagination: $pagination + resourceTypes: $resourceTypes + accounts: $accounts + ) { + count + resources { + id + label + md5Hash + properties { + arn + accountId + availabilityZone + awsRegion + resourceId + resourceName + resourceType + title + state + tags + configuration + } } - } } } `; diff --git a/source/frontend/src/API/Handlers/CostsGraphQLHandler.js b/source/frontend/src/API/Handlers/CostsGraphQLHandler.js index 0687dac2..feac392a 100644 --- a/source/frontend/src/API/Handlers/CostsGraphQLHandler.js +++ b/source/frontend/src/API/Handlers/CostsGraphQLHandler.js @@ -1,31 +1,33 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import { API, graphqlOperation } from 'aws-amplify'; +import {API, graphqlOperation} from 'aws-amplify'; import * as queries from '../GraphQL/queries'; -export const readResultsFromS3 = (params) => { - return API.graphql(graphqlOperation(queries.readResultsFromS3, params)); +export const readResultsFromS3 = params => { + return API.graphql(graphqlOperation(queries.readResultsFromS3, params)); }; -export const getCostForResource = (params) => { - return API.graphql(graphqlOperation(queries.getCostForResource, params)); +export const getCostForResource = params => { + return API.graphql(graphqlOperation(queries.getCostForResource, params)); }; -export const getCostForService = (params) => { - return API.graphql(graphqlOperation(queries.getCostForService, params)); +export const getCostForService = params => { + return API.graphql(graphqlOperation(queries.getCostForService, params)); }; -export const getResourcesByCost = (params) => { - return API.graphql(graphqlOperation(queries.getResourcesByCost, params)); +export const getResourcesByCost = params => { + return API.graphql(graphqlOperation(queries.getResourcesByCost, params)); }; -export const getResourcesByCostByDay = (params) => { - return API.graphql(graphqlOperation(queries.getResourcesByCostByDay, params)); +export const getResourcesByCostByDay = params => { + return API.graphql( + graphqlOperation(queries.getResourcesByCostByDay, params) + ); }; export function handleResponse(response) { - if (!response || response.error) - throw new Error('We could not complete that action. Please try again'); - else return response; + if (!response || response.error) + throw new Error('We could not complete that action. Please try again'); + else return response; } diff --git a/source/frontend/src/API/Handlers/ResourceGraphQLHandler.js b/source/frontend/src/API/Handlers/ResourceGraphQLHandler.js index 910ab0c5..a1170823 100644 --- a/source/frontend/src/API/Handlers/ResourceGraphQLHandler.js +++ b/source/frontend/src/API/Handlers/ResourceGraphQLHandler.js @@ -1,69 +1,81 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import { API, graphqlOperation } from 'aws-amplify'; +import {API, graphqlOperation} from 'aws-amplify'; import * as queries from '../GraphQL/queries'; -import * as R from 'ramda'; +import * as mutations from '../GraphQL/mutations'; +import * as R from 'ramda'; -export const getResources = (params) => { - return API.graphql(graphqlOperation(queries.getResources, params)); +export const getResources = params => { + return API.graphql(graphqlOperation(queries.getResources, params)); }; -export const getResourceGraph = (params) => { +export const getResourceGraph = params => { return API.graphql(graphqlOperation(queries.getResourceGraph, params)); }; export const getResourceGraphPaginated = ({ids, pageSize = 500}) => { - async function getResourceGraphRec(pagination, resourceGraph = {nodes: [], edges: []}) { + async function getResourceGraphRec( + pagination, + resourceGraph = {nodes: [], edges: []} + ) { const {end} = pagination; - const {nodes, edges} = await getResourceGraph({ids, pagination}) - .then(R.pathOr({nodes: [], edges: []}, ['data', 'getResourceGraph'])); + const {nodes, edges} = await getResourceGraph({ids, pagination}).then( + R.pathOr({nodes: [], edges: []}, ['data', 'getResourceGraph']) + ); - if(R.isEmpty(nodes) && R.isEmpty(edges)) return resourceGraph; + if (R.isEmpty(nodes) && R.isEmpty(edges)) return resourceGraph; - return getResourceGraphRec({start: end, end: end + pageSize}, { - nodes: [...resourceGraph.nodes, ...nodes], - edges: [...resourceGraph.edges, ...edges], - }); + return getResourceGraphRec( + {start: end, end: end + pageSize}, + { + nodes: [...resourceGraph.nodes, ...nodes], + edges: [...resourceGraph.edges, ...edges], + } + ); } return getResourceGraphRec({start: 0, end: pageSize}); -} +}; -export const getResourcesMetadata = (params) => { - return API.graphql(graphqlOperation(queries.getResourcesMetadata, params)); +export const getResourcesMetadata = params => { + return API.graphql(graphqlOperation(queries.getResourcesMetadata, params)); }; -export const getResourcesAccountMetadata = (params) => { - return API.graphql( - graphqlOperation(queries.getResourcesAccountMetadata, params) - ); +export const getResourcesAccountMetadata = params => { + return API.graphql( + graphqlOperation(queries.getResourcesAccountMetadata, params) + ); }; -export const getResourcesRegionMetadata = (params) => { - return API.graphql( - graphqlOperation(queries.getResourcesRegionMetadata, params) - ); +export const getResourcesRegionMetadata = params => { + return API.graphql( + graphqlOperation(queries.getResourcesRegionMetadata, params) + ); }; -export const searchResources = (params) => { - return API.graphql(graphqlOperation(queries.searchResources, params)); +export const searchResources = params => { + return API.graphql(graphqlOperation(queries.searchResources, params)); }; -export const exportToDrawIo = (params) => { - return API.graphql(graphqlOperation(queries.exportToDrawIo, params)); +export const exportToDrawIo = params => { + return API.graphql(graphqlOperation(queries.exportToDrawIo, params)); +}; + +export const createApplication = params => { + return API.graphql(graphqlOperation(mutations.createApplication, params)); }; export function handleResponse(response) { - if (!response || response.error) { - throw new InvalidRequestException(response.body.errors); - } else return response; + if (!response || response.error) { + throw new InvalidRequestException(response.body.errors); + } else return response; } class InvalidRequestException extends Error { - constructor(errors = [], ...args) { - super(errors.map(e => e.message).join(", "), ...args); - this.errors = errors; - this.name = this.constructor.name; - } + constructor(errors = [], ...args) { + super(errors.map(e => e.message).join(', '), ...args); + this.errors = errors; + this.name = this.constructor.name; + } } diff --git a/source/frontend/src/API/Handlers/SettingsGraphQLHandler.js b/source/frontend/src/API/Handlers/SettingsGraphQLHandler.js index 4cadd804..3c03f164 100644 --- a/source/frontend/src/API/Handlers/SettingsGraphQLHandler.js +++ b/source/frontend/src/API/Handlers/SettingsGraphQLHandler.js @@ -1,45 +1,45 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import { API, graphqlOperation } from 'aws-amplify'; +import {API, graphqlOperation} from 'aws-amplify'; import * as queries from '../GraphQL/queries'; import * as mutations from '../GraphQL/mutations'; // Query using a parameter export const getAccounts = () => { - return API.graphql(graphqlOperation(queries.getAccounts, {})); + return API.graphql(graphqlOperation(queries.getAccounts, {})); }; -export const getAccount = (account) => { - return API.graphql(graphqlOperation(queries.getAccount, account)); +export const getAccount = account => { + return API.graphql(graphqlOperation(queries.getAccount, account)); }; -export const addAccounts = (params) => { - return API.graphql(graphqlOperation(mutations.addAccounts, params)); +export const addAccounts = params => { + return API.graphql(graphqlOperation(mutations.addAccounts, params)); }; -export const addRegions = (params) => { - return API.graphql(graphqlOperation(mutations.addRegions, params)); +export const addRegions = params => { + return API.graphql(graphqlOperation(mutations.addRegions, params)); }; -export const deleteRegions = (params) => { - return API.graphql(graphqlOperation(mutations.deleteRegions, params)); +export const deleteRegions = params => { + return API.graphql(graphqlOperation(mutations.deleteRegions, params)); }; -export const deleteAccounts = (accountIds) => { - return API.graphql(graphqlOperation(mutations.deleteAccounts, accountIds)); +export const deleteAccounts = accountIds => { + return API.graphql(graphqlOperation(mutations.deleteAccounts, accountIds)); }; export const getGlobalTemplate = () => { - return API.graphql(graphqlOperation(queries.getGlobalTemplate, {})); + return API.graphql(graphqlOperation(queries.getGlobalTemplate, {})); }; export const getRegionalTemplate = () => { - return API.graphql(graphqlOperation(queries.getRegionalTemplate, {})); + return API.graphql(graphqlOperation(queries.getRegionalTemplate, {})); }; export function handleResponse(response) { - if (!response || response.error) { - throw new Error('We could not complete that action. Please try again'); - } else return response; + if (!response || response.error) { + throw new Error('We could not complete that action. Please try again'); + } else return response; } diff --git a/source/frontend/src/API/NodeFactory/NodeFactory.js b/source/frontend/src/API/NodeFactory/NodeFactory.js index 8c5dfa2a..ee7ee91b 100644 --- a/source/frontend/src/API/NodeFactory/NodeFactory.js +++ b/source/frontend/src/API/NodeFactory/NodeFactory.js @@ -1,17 +1,17 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import { fetchImage } from '../../Utils/ImageSelector.js'; -import { getAccountColour, getRegionColour } from '../../Utils/ColorCreator.js'; -import { getCostData } from '../../Utils/Resources/CostCalculator.js'; -import { parseNode } from './NodeParserHandler.js'; +import {fetchImage} from '../../Utils/ImageSelector.js'; +import {getAccountColour, getRegionColour} from '../../Utils/ColorCreator.js'; +import {getCostData} from '../../Utils/Resources/CostCalculator.js'; +import {parseNode} from './NodeParserHandler.js'; -import * as R from 'ramda'; +import * as R from 'ramda'; export const buildBoundingBox = ({id, type, label, properties}, parent) => { try { const boundingBox = { - group: "nodes", + group: 'nodes', data: { id, parent: parent, @@ -33,7 +33,7 @@ export const buildBoundingBox = ({id, type, label, properties}, parent) => { type === 'region' ? label : 'Multi-Region' ), aZColour: '#00A1C9', - subnetColour: subnetColour({data: {properties}}) + subnetColour: subnetColour({data: {properties}}), }, classes: [`${type}`, 'removeAll'], }; @@ -51,7 +51,7 @@ export const buildBoundingBox = ({id, type, label, properties}, parent) => { state: properties.state, loggedInURL: properties.loggedInURL, loginURL: properties.loginURL, - accountId: properties.accountId ?? 'global' + accountId: properties.accountId ?? 'global', }; } return boundingBox; @@ -60,43 +60,44 @@ export const buildBoundingBox = ({id, type, label, properties}, parent) => { } }; -const subnetColour = (node) => { - if (node.data) { - if (node.data.properties.private) { - return '#147eba' +const subnetColour = node => { + if (node.data) { + if (node.data.properties.private) { + return '#147eba'; + } else return '#248814'; } - else return '#248814' - } - return '#545B64' -} + return '#545B64'; +}; -const findARN = (properties) => { - return R.head( - R.reduce( - (acc, val) => { - if (R.startsWith('arn:', val)) acc.push(val); - return acc; - }, - [], - R.filter((e) => !R.isNil(e), R.values(properties)) - ) - ); +const findARN = properties => { + return R.head( + R.reduce( + (acc, val) => { + if (R.startsWith('arn:', val)) acc.push(val); + return acc; + }, + [], + R.filter(e => !R.isNil(e), R.values(properties)) + ) + ); }; -const buildResourceId = (properties) => - Array.of( - properties.resourceId, - !R.isNil(properties.arn) ? properties.arn : findARN(properties) - ); +const buildResourceId = properties => + Array.of( + properties.resourceId, + !R.isNil(properties.arn) ? properties.arn : findARN(properties) + ); export const buildNode = (node, parent, clickedNode) => { try { const properties = node.data ? node.data.properties : node.properties; const parsedNode = parseNode(properties, node); const builtNode = { - group: "nodes", + group: 'nodes', data: { - arn: !R.isNil(properties.arn) ? properties.arn : findARN(properties), + arn: !R.isNil(properties.arn) + ? properties.arn + : findARN(properties), resourceId: buildResourceId(properties), parent: parent, id: node.id, @@ -135,12 +136,18 @@ export const buildNode = (node, parent, clickedNode) => { value: properties.resourceValue, type: properties.resourceType, tags: properties.tags, - arn: !R.isNil(properties.arn) ? properties.arn : findARN(properties), - region: properties.awsRegion ? properties.awsRegion : 'Multi-Region', + arn: !R.isNil(properties.arn) + ? properties.arn + : findARN(properties), + region: properties.awsRegion + ? properties.awsRegion + : 'Multi-Region', state: properties.state, loggedInURL: properties.loggedInURL, loginURL: properties.loginURL, - accountId: properties.accountId ? properties.accountId : 'global', + accountId: properties.accountId + ? properties.accountId + : 'global', }, highlight: true, existing: false, @@ -168,6 +175,6 @@ function createClasses(builtNode, clickedNode) { : undefined, 'image', 'selectable', - 'hoverover' + 'hoverover', ]); } diff --git a/source/frontend/src/API/NodeFactory/NodeParserHandler.js b/source/frontend/src/API/NodeFactory/NodeParserHandler.js index 6029e868..3ce9a396 100644 --- a/source/frontend/src/API/NodeFactory/NodeParserHandler.js +++ b/source/frontend/src/API/NodeFactory/NodeParserHandler.js @@ -1,60 +1,60 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import { parseCustomerManagedPolicyStatement } from './NodeParsers/CustomerManagedPolicyStatement/CustomerManagedPolicyStatementParser.js'; -import { parseEC2Instance } from './NodeParsers/EC2Instance/EC2InstanceParser.js'; -import { parseDatabaseInstance } from './NodeParsers/DatabaseInstance/DatabaseInstanceParser.js'; -import { parseAPIGatewayMethod } from './NodeParsers/APIGateway/Method/APIGatewayMethodParser.js'; -import { parseAPIGatewayResource } from './NodeParsers/APIGateway/Resource/APIGatewayResourceParser.js'; -import { parseLoadBalancer} from './NodeParsers/LoadBalancers/LoadBalancerParser.js'; -import { parseCloudFrontDistribution} from './NodeParsers/CloudFrontDistribution/CloudFrontDistributionParser.js' -import { getStateInformation } from '../../Utils/Resources/ResourceStateParser.js'; -import { fetchImage } from '../../Utils/ImageSelector.js'; -import { parseAPIGatewayEndpoint } from './NodeParsers/APIGateway/Endpoint/APIGatewayEndpointParser.js'; -import { parseS3Bucket } from './NodeParsers/S3Bucket/S3BucketParser.js'; -import { parseLambdaFunction } from './NodeParsers/LambdaFunction/LambdaFunctionParser'; -import {parseEbsVolume} from "./NodeParsers/EbsVolume/EbsVolumeParser"; +import {parseCustomerManagedPolicyStatement} from './NodeParsers/CustomerManagedPolicyStatement/CustomerManagedPolicyStatementParser.js'; +import {parseEC2Instance} from './NodeParsers/EC2Instance/EC2InstanceParser.js'; +import {parseDatabaseInstance} from './NodeParsers/DatabaseInstance/DatabaseInstanceParser.js'; +import {parseAPIGatewayMethod} from './NodeParsers/APIGateway/Method/APIGatewayMethodParser.js'; +import {parseAPIGatewayResource} from './NodeParsers/APIGateway/Resource/APIGatewayResourceParser.js'; +import {parseLoadBalancer} from './NodeParsers/LoadBalancers/LoadBalancerParser.js'; +import {parseCloudFrontDistribution} from './NodeParsers/CloudFrontDistribution/CloudFrontDistributionParser.js'; +import {getStateInformation} from '../../Utils/Resources/ResourceStateParser.js'; +import {fetchImage} from '../../Utils/ImageSelector.js'; +import {parseAPIGatewayEndpoint} from './NodeParsers/APIGateway/Endpoint/APIGatewayEndpointParser.js'; +import {parseS3Bucket} from './NodeParsers/S3Bucket/S3BucketParser.js'; +import {parseLambdaFunction} from './NodeParsers/LambdaFunction/LambdaFunctionParser'; +import {parseEbsVolume} from './NodeParsers/EbsVolume/EbsVolumeParser'; -const nodeParsers = new Map( +const nodeParsers = new Map([ [ - ['AWS::IAM::CustomerManagedPolicyStatement', parseCustomerManagedPolicyStatement], - ['AWS::EC2::Instance', parseEC2Instance], - ['AWS::EC2::Volume', parseEbsVolume], - ['AWS::RDS::DBInstance', parseDatabaseInstance], - ['AWS::ApiGateway::Method', parseAPIGatewayMethod], - ['AWS::ApiGateway::Resource', parseAPIGatewayResource], - ['AWS::ApiGateway::RestApi', parseAPIGatewayEndpoint], - ['AWS::ElasticLoadBalancingV2::LoadBalancer', parseLoadBalancer], - ['AWS::S3::Bucket', parseS3Bucket], - ['AWS::CloudFront::Distribution', parseCloudFrontDistribution], - ['AWS::Lambda::Function', parseLambdaFunction] - ] -); + 'AWS::IAM::CustomerManagedPolicyStatement', + parseCustomerManagedPolicyStatement, + ], + ['AWS::EC2::Instance', parseEC2Instance], + ['AWS::EC2::Volume', parseEbsVolume], + ['AWS::RDS::DBInstance', parseDatabaseInstance], + ['AWS::ApiGateway::Method', parseAPIGatewayMethod], + ['AWS::ApiGateway::Resource', parseAPIGatewayResource], + ['AWS::ApiGateway::RestApi', parseAPIGatewayEndpoint], + ['AWS::ElasticLoadBalancingV2::LoadBalancer', parseLoadBalancer], + ['AWS::S3::Bucket', parseS3Bucket], + ['AWS::CloudFront::Distribution', parseCloudFrontDistribution], + ['AWS::Lambda::Function', parseLambdaFunction], +]); export const parseNode = (properties, node) => { + const parser = nodeParsers.get(properties.resourceType); + const state = getState(properties); - const parser = nodeParsers.get(properties.resourceType); - const state = getState(properties); - - if (parser) return parser(node); - else - return { - styling: { - borderStyle: state ? 'dotted' : 'solid', - borderColour: state ? state.color : '#545B64', - borderOpacity: 0.25, - borderSize: 1, - message: '', - colour: '#fff' - }, - state: state, - icon: fetchImage(properties.resourceType, state) - }; + if (parser) return parser(node); + else + return { + styling: { + borderStyle: state ? 'dotted' : 'solid', + borderColour: state ? state.color : '#545B64', + borderOpacity: 0.25, + borderSize: 1, + message: '', + colour: '#fff', + }, + state: state, + icon: fetchImage(properties.resourceType, state), + }; }; const getState = properties => { - if (properties.state) return getStateInformation(properties.state); - if (properties.dBInstanceStatus) - return getStateInformation(properties.dBInstanceStatus); - return undefined; + if (properties.state) return getStateInformation(properties.state); + if (properties.dBInstanceStatus) + return getStateInformation(properties.dBInstanceStatus); + return undefined; }; diff --git a/source/frontend/src/API/NodeFactory/NodeParsers/APIGateway/Endpoint/APIGatewayEndpointParser.js b/source/frontend/src/API/NodeFactory/NodeParsers/APIGateway/Endpoint/APIGatewayEndpointParser.js index 664ae141..838095a3 100644 --- a/source/frontend/src/API/NodeFactory/NodeParsers/APIGateway/Endpoint/APIGatewayEndpointParser.js +++ b/source/frontend/src/API/NodeFactory/NodeParsers/APIGateway/Endpoint/APIGatewayEndpointParser.js @@ -1,26 +1,26 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import { fetchImage } from '../../../../../Utils/ImageSelector'; +import {fetchImage} from '../../../../../Utils/ImageSelector'; -import * as R from 'ramda'; -export const parseAPIGatewayEndpoint = (node) => { - try { - const properties = R.hasPath(['properties'], node) - ? node.properties - : node.data('properties'); - return { - styling: { - borderStyle: 'solid', - borderColour: '#545B64', - borderOpacity: 0.25, - borderSize: 1, - message: '', - colour: '#fff', - }, - icon: fetchImage(properties.resourceType), - }; - } catch (e) { - return {}; - } +import * as R from 'ramda'; +export const parseAPIGatewayEndpoint = node => { + try { + const properties = R.hasPath(['properties'], node) + ? node.properties + : node.data('properties'); + return { + styling: { + borderStyle: 'solid', + borderColour: '#545B64', + borderOpacity: 0.25, + borderSize: 1, + message: '', + colour: '#fff', + }, + icon: fetchImage(properties.resourceType), + }; + } catch (e) { + return {}; + } }; diff --git a/source/frontend/src/API/NodeFactory/NodeParsers/APIGateway/Method/APIGatewayMethodParser.js b/source/frontend/src/API/NodeFactory/NodeParsers/APIGateway/Method/APIGatewayMethodParser.js index 804a72bb..2f359d47 100644 --- a/source/frontend/src/API/NodeFactory/NodeParsers/APIGateway/Method/APIGatewayMethodParser.js +++ b/source/frontend/src/API/NodeFactory/NodeParsers/APIGateway/Method/APIGatewayMethodParser.js @@ -1,37 +1,36 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import { fetchImage } from '../../../../../Utils/ImageSelector'; +import {fetchImage} from '../../../../../Utils/ImageSelector'; const methods = ['POST', 'PUT', 'DELETE', 'PATCH', 'GET']; -import * as R from 'ramda'; -export const parseAPIGatewayMethod = (node) => { +import * as R from 'ramda'; +export const parseAPIGatewayMethod = node => { try { - return { - styling: { - borderStyle: 'solid', - borderColour: '#545B64', - borderOpacity: 0.25, - borderSize: 1, - message: '', - colour: '#fff', - }, - icon: fetchImage(getMethodType(node)), - }; - } catch (e) { - return {}; - } + return { + styling: { + borderStyle: 'solid', + borderColour: '#545B64', + borderOpacity: 0.25, + borderSize: 1, + message: '', + colour: '#fff', + }, + icon: fetchImage(getMethodType(node)), + }; + } catch (e) { + return {}; + } }; -const getMethodType = (node) => { - - try { - const properties = R.hasPath(['properties'], node) - ? node.properties - : node.data('properties'); - const type = properties.resourceId.split('_')[2]; - return methods.includes(type) ? type : 'AWS::ApiGateway::Method'; - } catch (e) { - return 'AWS::ApiGateway::Method'; - } +const getMethodType = node => { + try { + const properties = R.hasPath(['properties'], node) + ? node.properties + : node.data('properties'); + const type = properties.resourceId.split('_')[2]; + return methods.includes(type) ? type : 'AWS::ApiGateway::Method'; + } catch (e) { + return 'AWS::ApiGateway::Method'; + } }; diff --git a/source/frontend/src/API/NodeFactory/NodeParsers/APIGateway/Resource/APIGatewayResourceParser.js b/source/frontend/src/API/NodeFactory/NodeParsers/APIGateway/Resource/APIGatewayResourceParser.js index 511127c2..502392e7 100644 --- a/source/frontend/src/API/NodeFactory/NodeParsers/APIGateway/Resource/APIGatewayResourceParser.js +++ b/source/frontend/src/API/NodeFactory/NodeParsers/APIGateway/Resource/APIGatewayResourceParser.js @@ -1,26 +1,25 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import { fetchImage } from '../../../../../Utils/ImageSelector'; -import * as R from 'ramda'; -export const parseAPIGatewayResource = (node) => { - - try { - const properties = R.hasPath(['properties'], node) - ? node.properties - : node.data('properties'); - return { - styling: { - borderStyle: 'solid', - borderColour: '#545B64', - borderOpacity: 0.25, - borderSize: 1, - message: '', - colour: '#fff', - }, - icon: fetchImage(properties.resourceType), - }; - } catch (e) { - return {}; - } +import {fetchImage} from '../../../../../Utils/ImageSelector'; +import * as R from 'ramda'; +export const parseAPIGatewayResource = node => { + try { + const properties = R.hasPath(['properties'], node) + ? node.properties + : node.data('properties'); + return { + styling: { + borderStyle: 'solid', + borderColour: '#545B64', + borderOpacity: 0.25, + borderSize: 1, + message: '', + colour: '#fff', + }, + icon: fetchImage(properties.resourceType), + }; + } catch (e) { + return {}; + } }; diff --git a/source/frontend/src/API/NodeFactory/NodeParsers/CloudFrontDistribution/CloudFrontDistributionDetails/CloudFrontDistributionItem.js b/source/frontend/src/API/NodeFactory/NodeParsers/CloudFrontDistribution/CloudFrontDistributionDetails/CloudFrontDistributionItem.js index d76c5fad..2184ee86 100644 --- a/source/frontend/src/API/NodeFactory/NodeParsers/CloudFrontDistribution/CloudFrontDistributionDetails/CloudFrontDistributionItem.js +++ b/source/frontend/src/API/NodeFactory/NodeParsers/CloudFrontDistribution/CloudFrontDistributionDetails/CloudFrontDistributionItem.js @@ -2,67 +2,72 @@ // SPDX-License-Identifier: Apache-2.0 import React from 'react'; -import { - ColumnLayout, - SpaceBetween, - Link, -} from '@cloudscape-design/components'; +import {ColumnLayout, SpaceBetween, Link} from '@cloudscape-design/components'; import ValueWithLabel from '../../../../../components/Shared/ValueWithLabel'; -const parseConfiguration = (configuration) => { - try { - return JSON.parse(JSON.parse(configuration)); - } catch (Error) { - return JSON.parse(configuration); - } +const parseConfiguration = configuration => { + try { + return JSON.parse(JSON.parse(configuration)); + } catch (Error) { + return JSON.parse(configuration); + } }; -export const CloudFrontDistributionItem = ({ configuration }) => { - const parsedConfig = parseConfiguration(configuration); +export const CloudFrontDistributionItem = ({configuration}) => { + const parsedConfig = parseConfiguration(configuration); - return ( - - - - - {`https://${parsedConfig.domainName}`} - - - - {parsedConfig.distributionConfig.viewerCertificate.certificateSource} - - - {parsedConfig.distributionConfig.defaultRootObject} - - - {parsedConfig.distributionConfig.webACLId ? 'true' : 'false'} - - - - - {parsedConfig.distributionConfig.defaultCacheBehavior.smoothStreaming} - - - { - parsedConfig.distributionConfig.defaultCacheBehavior - .viewerProtocolPolicy - } - - - {parsedConfig.distributionConfig.logging.enabled} - - - {parsedConfig.distributionConfig.priceClass} - - - {parsedConfig.distributionConfig.isIPV6Enabled} - - - - ); + return ( + + + + + {`https://${parsedConfig.domainName}`} + + + + { + parsedConfig.distributionConfig.viewerCertificate + .certificateSource + } + + + {parsedConfig.distributionConfig.defaultRootObject} + + + {parsedConfig.distributionConfig.webACLId + ? 'true' + : 'false'} + + + + + { + parsedConfig.distributionConfig.defaultCacheBehavior + .smoothStreaming + } + + + { + parsedConfig.distributionConfig.defaultCacheBehavior + .viewerProtocolPolicy + } + + + {parsedConfig.distributionConfig.logging.enabled} + + + {parsedConfig.distributionConfig.priceClass} + + + {parsedConfig.distributionConfig.isIPV6Enabled} + + + + ); }; export default CloudFrontDistributionItem; diff --git a/source/frontend/src/API/NodeFactory/NodeParsers/CloudFrontDistribution/CloudFrontDistributionParser.js b/source/frontend/src/API/NodeFactory/NodeParsers/CloudFrontDistribution/CloudFrontDistributionParser.js index af99d78b..b2889def 100644 --- a/source/frontend/src/API/NodeFactory/NodeParsers/CloudFrontDistribution/CloudFrontDistributionParser.js +++ b/source/frontend/src/API/NodeFactory/NodeParsers/CloudFrontDistribution/CloudFrontDistributionParser.js @@ -2,31 +2,30 @@ // SPDX-License-Identifier: Apache-2.0 import React from 'react'; -import { fetchImage } from '../../../../Utils/ImageSelector'; +import {fetchImage} from '../../../../Utils/ImageSelector'; import CloudFrontDistributionItem from './CloudFrontDistributionDetails/CloudFrontDistributionItem'; -import * as R from 'ramda'; -export const parseCloudFrontDistribution = (node) => { - const properties = R.hasPath(['properties'], node) - ? node.properties - : node.data('properties'); +import * as R from 'ramda'; +export const parseCloudFrontDistribution = node => { + const properties = R.hasPath(['properties'], node) + ? node.properties + : node.data('properties'); - - return { - styling: { - borderStyle: 'solid', - borderColour: '#545B64', - borderOpacity: 0.25, - borderSize: 1, - message: '', - colour: '#fff', - }, - icon: fetchImage(properties.resourceType, undefined), - detailsComponent: ( - - ), - }; + return { + styling: { + borderStyle: 'solid', + borderColour: '#545B64', + borderOpacity: 0.25, + borderSize: 1, + message: '', + colour: '#fff', + }, + icon: fetchImage(properties.resourceType, undefined), + detailsComponent: ( + + ), + }; }; diff --git a/source/frontend/src/API/NodeFactory/NodeParsers/CustomerManagedPolicyStatement/CustomerManagedPolicyStatementParser.js b/source/frontend/src/API/NodeFactory/NodeParsers/CustomerManagedPolicyStatement/CustomerManagedPolicyStatementParser.js index 7c6f6f6e..acfda771 100644 --- a/source/frontend/src/API/NodeFactory/NodeParsers/CustomerManagedPolicyStatement/CustomerManagedPolicyStatementParser.js +++ b/source/frontend/src/API/NodeFactory/NodeParsers/CustomerManagedPolicyStatement/CustomerManagedPolicyStatementParser.js @@ -3,85 +3,87 @@ import React from 'react'; import StatementItem from './Statement/StatementItem'; -import { fetchImage } from '../../../../Utils/ImageSelector'; -import * as R from 'ramda'; +import {fetchImage} from '../../../../Utils/ImageSelector'; +import * as R from 'ramda'; -const warningResources = (resources) => { - return resources.filter((resource) => resource.includes('*')).length > 0; +const warningResources = resources => { + return resources.filter(resource => resource.includes('*')).length > 0; }; -const badResources = (resources) => { - return resources.filter((resource) => resource === '*').length > 0; +const badResources = resources => { + return resources.filter(resource => resource === '*').length > 0; }; -const warningActions = (actions) => { - return actions.filter((action) => action.includes('*')).length > 0; +const warningActions = actions => { + return actions.filter(action => action.includes('*')).length > 0; }; -const badActions = (actions) => { - return actions.filter((action) => action === '*').length > 0; +const badActions = actions => { + return actions.filter(action => action === '*').length > 0; }; function checkBadConditions(actions, resources) { - return badActions(actions) || badResources(resources) + return badActions(actions) || badResources(resources); } function checkWarningConditions(actions, resources) { - return warningActions(actions) || warningResources(resources) + return warningActions(actions) || warningResources(resources); } -const removeBrackets = (item) => item.replace(/[[\]']+/g, '').replace('"', ''); -export const parseCustomerManagedPolicyStatement = (node) => { - const properties = R.hasPath(['properties'], node) - ? node.properties - : node.data('properties'); +const removeBrackets = item => item.replace(/[[\]']+/g, '').replace('"', ''); +export const parseCustomerManagedPolicyStatement = node => { + const properties = R.hasPath(['properties'], node) + ? node.properties + : node.data('properties'); - const configuration = R.hasPath(['properties'], node) - ? node.properties.configuration - : node.data('properties').configuration; + const configuration = R.hasPath(['properties'], node) + ? node.properties.configuration + : node.data('properties').configuration; - let statement; - try { - statement = configuration - ? JSON.parse(JSON.parse(configuration)) - : properties; - } catch (e) { - statement = configuration ? JSON.parse(configuration) : properties; - } - const actions = R.split(',', removeBrackets(statement.actions)); - const resources = R.split(',', removeBrackets(statement.resources)); + let statement; + try { + statement = configuration + ? JSON.parse(JSON.parse(configuration)) + : properties; + } catch (e) { + statement = configuration ? JSON.parse(configuration) : properties; + } + const actions = R.split(',', removeBrackets(statement.actions)); + const resources = R.split(',', removeBrackets(statement.resources)); - const getColour = () => { - if (checkBadConditions(actions, resources)) return '#D13212'; - else if (checkWarningConditions(actions, resources)) return '#FF9900'; - return '#1D8102'; - }; + const getColour = () => { + if (checkBadConditions(actions, resources)) return '#D13212'; + else if (checkWarningConditions(actions, resources)) return '#FF9900'; + return '#1D8102'; + }; - const getStatus = () => { - if (checkBadConditions(actions, resources)) return { status: 'status-negative' }; - else if (checkWarningConditions(actions, resources)) - return { status: 'status-warning' }; - return { status: 'status-available' }; - }; + const getStatus = () => { + if (checkBadConditions(actions, resources)) + return {status: 'status-negative'}; + else if (checkWarningConditions(actions, resources)) + return {status: 'status-warning'}; + return {status: 'status-available'}; + }; - const getTitle = () => { - if (checkBadConditions(actions, resources)) - return 'This is not secure. You should lockdown your policy statements by providing ARNs and full action names'; - else if (checkWarningConditions(actions, resources)) - return `You could further lockdown your policy by providing full resource ARNs and actions and removing any wildcards`; - return 'The actions and resources covered by this statement'; - }; + const getTitle = () => { + if (checkBadConditions(actions, resources)) + return 'This is not secure. You should lockdown your policy statements by providing ARNs and full action names'; + else if (checkWarningConditions(actions, resources)) + return `You could further lockdown your policy by providing full resource ARNs and actions and removing any wildcards`; + return 'The actions and resources covered by this statement'; + }; - return { - styling: { - borderStyle: 'dotted', - borderColour: getColour(), - borderOpacity: 0.25, - borderSize: 1, - message: getTitle(), - colour: getColour(), - }, - icon: fetchImage(properties.resourceType, getStatus()), - detailsComponent: , - - }; + return { + styling: { + borderStyle: 'dotted', + borderColour: getColour(), + borderOpacity: 0.25, + borderSize: 1, + message: getTitle(), + colour: getColour(), + }, + icon: fetchImage(properties.resourceType, getStatus()), + detailsComponent: ( + + ), + }; }; diff --git a/source/frontend/src/API/NodeFactory/NodeParsers/CustomerManagedPolicyStatement/Statement/StatementItem.js b/source/frontend/src/API/NodeFactory/NodeParsers/CustomerManagedPolicyStatement/Statement/StatementItem.js index 24c75c1c..8fd34c43 100644 --- a/source/frontend/src/API/NodeFactory/NodeParsers/CustomerManagedPolicyStatement/Statement/StatementItem.js +++ b/source/frontend/src/API/NodeFactory/NodeParsers/CustomerManagedPolicyStatement/Statement/StatementItem.js @@ -3,117 +3,117 @@ import React from 'react'; import { - TextContent, - ExpandableSection, - ColumnLayout, - SpaceBetween, - StatusIndicator, - Grid, + TextContent, + ExpandableSection, + ColumnLayout, + SpaceBetween, + StatusIndicator, + Grid, } from '@cloudscape-design/components'; import ValueWithLabel from '../../../../../components/Shared/ValueWithLabel'; -import * as R from 'ramda'; +import * as R from 'ramda'; -const removeBrackets = (item) => - item.replace(/[[\]']+/g, '').replaceAll('"', ''); +const removeBrackets = item => item.replace(/[[\]']+/g, '').replaceAll('"', ''); -export const StatementItem = ({ statement }) => { - const resources = R.split(',', removeBrackets(statement.resources)); - const actions = R.split(',', removeBrackets(statement.actions)); - const warningActions = (action) => action.includes('*'); - const badActions = (action) => action === '*'; +export const StatementItem = ({statement}) => { + const resources = R.split(',', removeBrackets(statement.resources)); + const actions = R.split(',', removeBrackets(statement.actions)); + const warningActions = action => action.includes('*'); + const badActions = action => action === '*'; - const getEffect = (effect) => - R.equals(effect, 'Allow') ? 'success' : 'error'; + const getEffect = effect => + R.equals(effect, 'Allow') ? 'success' : 'error'; - const processActions = (actions) => - R.reduce( - (acc, val) => { - if (badActions(val)) acc.push('error'); - if (warningActions(val)) acc.push('warning'); - return acc; - }, - [], - actions - ); + const processActions = actions => + R.reduce( + (acc, val) => { + if (badActions(val)) acc.push('error'); + if (warningActions(val)) acc.push('warning'); + return acc; + }, + [], + actions + ); - const getOverview = (items) => { - const processedActions = processActions(items); - if (R.includes('error', processedActions)) return 'error'; - if (R.includes('warning', processedActions)) return 'warning'; - else return 'success'; - }; + const getOverview = items => { + const processedActions = processActions(items); + if (R.includes('error', processedActions)) return 'error'; + if (R.includes('warning', processedActions)) return 'warning'; + else return 'success'; + }; - const getDescription = (items) => { - const processedActions = processActions(items); - if (R.includes('error', processedActions)) return 'Only wildcards used.'; - if (R.includes('warning', processedActions)) return 'Wildcards used.'; - else return 'Good'; - }; + const getDescription = items => { + const processedActions = processActions(items); + if (R.includes('error', processedActions)) + return 'Only wildcards used.'; + if (R.includes('warning', processedActions)) return 'Wildcards used.'; + else return 'Good'; + }; - const mapIndexed = R.addIndex(R.map); + const mapIndexed = R.addIndex(R.map); - return ( - - - - - - {statement.effect} - - - - - - {R.length(resources)} - - - {R.length(actions)} - - - - - - - - {getDescription(actions)} - - - -
    - {mapIndexed( - (e, index) => ( - -
  • {e}
  • -
    - ), - actions - )} -
-
-
+ return ( + + + + + + {statement.effect} + + + + + + {R.length(resources)} + + + {R.length(actions)} + + + + + + + + {getDescription(actions)} + + + +
    + {mapIndexed( + (e, index) => ( + +
  • {e}
  • +
    + ), + actions + )} +
+
+
- - - - {getDescription(resources)} - - - -
    - {mapIndexed( - (e, index) => ( - -
  • {e}
  • -
    - ), - resources - )} -
-
-
-
-
- ); + + + + {getDescription(resources)} + + + +
    + {mapIndexed( + (e, index) => ( + +
  • {e}
  • +
    + ), + resources + )} +
+
+
+
+
+ ); }; export default StatementItem; diff --git a/source/frontend/src/API/NodeFactory/NodeParsers/DatabaseInstance/DatabaseInstanceDetails/DatabaseInstanceItem.js b/source/frontend/src/API/NodeFactory/NodeParsers/DatabaseInstance/DatabaseInstanceDetails/DatabaseInstanceItem.js index 714b0353..f4973d57 100644 --- a/source/frontend/src/API/NodeFactory/NodeParsers/DatabaseInstance/DatabaseInstanceDetails/DatabaseInstanceItem.js +++ b/source/frontend/src/API/NodeFactory/NodeParsers/DatabaseInstance/DatabaseInstanceDetails/DatabaseInstanceItem.js @@ -2,60 +2,57 @@ // SPDX-License-Identifier: Apache-2.0 import React from 'react'; -import { - ColumnLayout, - SpaceBetween, -} from '@cloudscape-design/components'; +import {ColumnLayout, SpaceBetween} from '@cloudscape-design/components'; import ValueWithLabel from '../../../../../components/Shared/ValueWithLabel'; -const parseConfiguration = (configuration) => { - try { - return JSON.parse(JSON.parse(configuration)); - } catch (Error) { - return JSON.parse(configuration); - } +const parseConfiguration = configuration => { + try { + return JSON.parse(JSON.parse(configuration)); + } catch (Error) { + return JSON.parse(configuration); + } }; -export const DatabaseInstanceItem = ({ configuration }) => { - const parsedConfig = parseConfiguration(configuration); +export const DatabaseInstanceItem = ({configuration}) => { + const parsedConfig = parseConfiguration(configuration); - return ( - - - - {`${parsedConfig.engine} - ${parsedConfig.engineVersion}`} - - - {parsedConfig.dBInstanceClass} - - - {parsedConfig.dBName} - - - {parsedConfig.preferredBackupWindow} - - - {`${parsedConfig.preferredMaintenanceWindow}`} - - - - - {parsedConfig.cACertificateIdentifier} - - - {`${parsedConfig.storageEncrypted}`} - - - {parsedConfig.endpoint - ? `${parsedConfig.endpoint.address}:${parsedConfig.endpoint.port}` - : ''} - - - {parsedConfig.latestRestorableTime} - - - - ); + return ( + + + + {`${parsedConfig.engine} - ${parsedConfig.engineVersion}`} + + + {parsedConfig.dBInstanceClass} + + + {parsedConfig.dBName} + + + {parsedConfig.preferredBackupWindow} + + + {`${parsedConfig.preferredMaintenanceWindow}`} + + + + + {parsedConfig.cACertificateIdentifier} + + + {`${parsedConfig.storageEncrypted}`} + + + {parsedConfig.endpoint + ? `${parsedConfig.endpoint.address}:${parsedConfig.endpoint.port}` + : ''} + + + {parsedConfig.latestRestorableTime} + + + + ); }; export default DatabaseInstanceItem; diff --git a/source/frontend/src/API/NodeFactory/NodeParsers/DatabaseInstance/DatabaseInstanceParser.js b/source/frontend/src/API/NodeFactory/NodeParsers/DatabaseInstance/DatabaseInstanceParser.js index 336865af..f45e4ac4 100644 --- a/source/frontend/src/API/NodeFactory/NodeParsers/DatabaseInstance/DatabaseInstanceParser.js +++ b/source/frontend/src/API/NodeFactory/NodeParsers/DatabaseInstance/DatabaseInstanceParser.js @@ -2,47 +2,47 @@ // SPDX-License-Identifier: Apache-2.0 import React from 'react'; -import { fetchImage } from '../../../../Utils/ImageSelector'; -import { getStateInformation } from '../../../../Utils/Resources/ResourceStateParser'; +import {fetchImage} from '../../../../Utils/ImageSelector'; +import {getStateInformation} from '../../../../Utils/Resources/ResourceStateParser'; import DatabaseInstanceItem from './DatabaseInstanceDetails/DatabaseInstanceItem'; -import * as R from 'ramda'; -export const parseDatabaseInstance = (node) => { - const properties = R.hasPath(['properties'], node) - ? node.properties - : node.data('properties'); +import * as R from 'ramda'; +export const parseDatabaseInstance = node => { + const properties = R.hasPath(['properties'], node) + ? node.properties + : node.data('properties'); - let configuration = JSON.parse(properties.configuration); - configuration = R.is(Object, configuration) - ? configuration - : JSON.parse(configuration); + let configuration = JSON.parse(properties.configuration); + configuration = R.is(Object, configuration) + ? configuration + : JSON.parse(configuration); - const state = getStateInformation(configuration.dBInstanceStatus); + const state = getStateInformation(configuration.dBInstanceStatus); - const getEngineType = () => { - if (configuration.engine) { - return `AWS::RDS::DBInstance-${configuration.engine}`; - } else { - return 'AWS::RDS::DBInstance'; - } - }; + const getEngineType = () => { + if (configuration.engine) { + return `AWS::RDS::DBInstance-${configuration.engine}`; + } else { + return 'AWS::RDS::DBInstance'; + } + }; - return { - styling: { - borderStyle: 'dotted', - borderColour: state.color, - borderOpacity: 0.25, - borderSize: 1, - message: state.text, - colour: state.color, - }, - state: state, - icon: fetchImage(getEngineType(), state), - detailsComponent: ( - - ), - }; + return { + styling: { + borderStyle: 'dotted', + borderColour: state.color, + borderOpacity: 0.25, + borderSize: 1, + message: state.text, + colour: state.color, + }, + state: state, + icon: fetchImage(getEngineType(), state), + detailsComponent: ( + + ), + }; }; diff --git a/source/frontend/src/API/NodeFactory/NodeParsers/EC2Instance/EC2InstanceParser.js b/source/frontend/src/API/NodeFactory/NodeParsers/EC2Instance/EC2InstanceParser.js index 2076e7b8..c00f9eff 100644 --- a/source/frontend/src/API/NodeFactory/NodeParsers/EC2Instance/EC2InstanceParser.js +++ b/source/frontend/src/API/NodeFactory/NodeParsers/EC2Instance/EC2InstanceParser.js @@ -2,13 +2,13 @@ // SPDX-License-Identifier: Apache-2.0 import React from 'react'; -import { fetchImage } from '../../../../Utils/ImageSelector'; -import { getStateInformation } from '../../../../Utils/Resources/ResourceStateParser'; +import {fetchImage} from '../../../../Utils/ImageSelector'; +import {getStateInformation} from '../../../../Utils/Resources/ResourceStateParser'; import InstanceItem from './InstanceDetails/InstanceItem'; -import * as R from 'ramda'; +import * as R from 'ramda'; -const getImageType = (configuration) => { +const getImageType = configuration => { try { return R.head(configuration.instanceType.split('.')); } catch (error) { @@ -16,34 +16,34 @@ const getImageType = (configuration) => { } }; -export const parseEC2Instance = (node) => { - const properties = R.hasPath(['properties'], node) - ? node.properties - : node.data('properties'); +export const parseEC2Instance = node => { + const properties = R.hasPath(['properties'], node) + ? node.properties + : node.data('properties'); - let configuration = JSON.parse(properties.configuration); - configuration = R.is(Object, configuration) - ? configuration - : JSON.parse(configuration); + let configuration = JSON.parse(properties.configuration); + configuration = R.is(Object, configuration) + ? configuration + : JSON.parse(configuration); - const state = getStateInformation(configuration.state); + const state = getStateInformation(configuration.state); - return { - styling: { - borderStyle: 'dotted', - borderColour: state.color, - borderOpacity: 0.25, - borderSize: 1, - message: state.text, - colour: state.color, - }, - state: state, - icon: fetchImage(getImageType(configuration), state), - detailsComponent: ( - - ), - }; + return { + styling: { + borderStyle: 'dotted', + borderColour: state.color, + borderOpacity: 0.25, + borderSize: 1, + message: state.text, + colour: state.color, + }, + state: state, + icon: fetchImage(getImageType(configuration), state), + detailsComponent: ( + + ), + }; }; diff --git a/source/frontend/src/API/NodeFactory/NodeParsers/EC2Instance/InstanceDetails/InstanceItem.js b/source/frontend/src/API/NodeFactory/NodeParsers/EC2Instance/InstanceDetails/InstanceItem.js index 692b3ada..5e08f65a 100644 --- a/source/frontend/src/API/NodeFactory/NodeParsers/EC2Instance/InstanceDetails/InstanceItem.js +++ b/source/frontend/src/API/NodeFactory/NodeParsers/EC2Instance/InstanceDetails/InstanceItem.js @@ -2,72 +2,69 @@ // SPDX-License-Identifier: Apache-2.0 import React from 'react'; -import { - ColumnLayout, - SpaceBetween, -} from '@cloudscape-design/components'; +import {ColumnLayout, SpaceBetween} from '@cloudscape-design/components'; import dayjs from 'dayjs'; import localizedFormat from 'dayjs/plugin/localizedFormat'; import relativeTime from 'dayjs/plugin/relativeTime'; import ValueWithLabel from '../../../../../components/Shared/ValueWithLabel'; -dayjs.extend(localizedFormat) +dayjs.extend(localizedFormat); dayjs.extend(relativeTime); +const parseConfiguration = configuration => { + try { + return JSON.parse(JSON.parse(configuration)); + } catch (Error) { + return JSON.parse(configuration); + } +}; -const parseConfiguration = (configuration) => { - try{ - return JSON.parse(JSON.parse(configuration)) - } catch(Error) - { - return JSON.parse(configuration) - } -} - -export const InstanceItem = ({ configuration }) => { - const parsedConfig = parseConfiguration(configuration); +export const InstanceItem = ({configuration}) => { + const parsedConfig = parseConfiguration(configuration); - return ( - - - - {`${dayjs(parsedConfig.launchTime).format('llll')} (${dayjs(parsedConfig.launchTime).fromNow()})`} - - - {parsedConfig.architecture} - - {parsedConfig.imageId} - - {parsedConfig.instanceType} - - - {parsedConfig.privateDnsName} - - - {`${parsedConfig.privateIpAddress}`} - - - - - {parsedConfig.publicDnsName} - - - {`${parsedConfig.publicIpAddress}`} - - - {parsedConfig.monitoring.state} - - - {parsedConfig.platform} - - - {parsedConfig.cpuOptions.coreCount} - - - {parsedConfig.cpuOptions.threadsPerCore} - - - - ); + return ( + + + + {`${dayjs(parsedConfig.launchTime).format('llll')} (${dayjs(parsedConfig.launchTime).fromNow()})`} + + + {parsedConfig.architecture} + + + {parsedConfig.imageId} + + + {parsedConfig.instanceType} + + + {parsedConfig.privateDnsName} + + + {`${parsedConfig.privateIpAddress}`} + + + + + {parsedConfig.publicDnsName} + + + {`${parsedConfig.publicIpAddress}`} + + + {parsedConfig.monitoring.state} + + + {parsedConfig.platform} + + + {parsedConfig.cpuOptions.coreCount} + + + {parsedConfig.cpuOptions.threadsPerCore} + + + + ); }; export default InstanceItem; diff --git a/source/frontend/src/API/NodeFactory/NodeParsers/EbsVolume/EbsVolumeParser.js b/source/frontend/src/API/NodeFactory/NodeParsers/EbsVolume/EbsVolumeParser.js index 63e880f8..3df5f3af 100644 --- a/source/frontend/src/API/NodeFactory/NodeParsers/EbsVolume/EbsVolumeParser.js +++ b/source/frontend/src/API/NodeFactory/NodeParsers/EbsVolume/EbsVolumeParser.js @@ -1,13 +1,12 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import { fetchImage } from '../../../../Utils/ImageSelector'; -import { getStateInformation } from '../../../../Utils/Resources/ResourceStateParser'; +import {fetchImage} from '../../../../Utils/ImageSelector'; +import {getStateInformation} from '../../../../Utils/Resources/ResourceStateParser'; -import * as R from 'ramda'; +import * as R from 'ramda'; export const parseEbsVolume = node => { - const properties = R.hasPath(['properties'], node) ? node.properties : node.data('properties'); @@ -29,6 +28,6 @@ export const parseEbsVolume = node => { colour: state.color, }, state, - icon: fetchImage(properties.resourceType, state) + icon: fetchImage(properties.resourceType, state), }; }; diff --git a/source/frontend/src/API/NodeFactory/NodeParsers/LambdaFunction/LambdaFunctionParser.js b/source/frontend/src/API/NodeFactory/NodeParsers/LambdaFunction/LambdaFunctionParser.js index 2d28dafd..92e63481 100644 --- a/source/frontend/src/API/NodeFactory/NodeParsers/LambdaFunction/LambdaFunctionParser.js +++ b/source/frontend/src/API/NodeFactory/NodeParsers/LambdaFunction/LambdaFunctionParser.js @@ -1,13 +1,12 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import { fetchImage } from '../../../../Utils/ImageSelector'; -import { getStateInformation } from '../../../../Utils/Resources/ResourceStateParser'; +import {fetchImage} from '../../../../Utils/ImageSelector'; +import {getStateInformation} from '../../../../Utils/Resources/ResourceStateParser'; -import * as R from 'ramda'; - -export const parseLambdaFunction = (node) => { +import * as R from 'ramda'; +export const parseLambdaFunction = node => { const properties = R.hasPath(['properties'], node) ? node.properties : node.data('properties'); @@ -29,6 +28,6 @@ export const parseLambdaFunction = (node) => { colour: state.color, }, state, - icon: fetchImage(properties.resourceType, state) + icon: fetchImage(properties.resourceType, state), }; }; diff --git a/source/frontend/src/API/NodeFactory/NodeParsers/LoadBalancers/LoadBalancerDetails/LoadBalancerItem.js b/source/frontend/src/API/NodeFactory/NodeParsers/LoadBalancers/LoadBalancerDetails/LoadBalancerItem.js index 94531593..b9429434 100644 --- a/source/frontend/src/API/NodeFactory/NodeParsers/LoadBalancers/LoadBalancerDetails/LoadBalancerItem.js +++ b/source/frontend/src/API/NodeFactory/NodeParsers/LoadBalancers/LoadBalancerDetails/LoadBalancerItem.js @@ -2,34 +2,34 @@ // SPDX-License-Identifier: Apache-2.0 import React from 'react'; -import { - ColumnLayout, - SpaceBetween, -} from '@cloudscape-design/components'; +import {ColumnLayout, SpaceBetween} from '@cloudscape-design/components'; import ValueWithLabel from '../../../../../components/Shared/ValueWithLabel'; -const parseConfiguration = (configuration) => { - try{ - return JSON.parse(JSON.parse(configuration)) - } catch(Error) - { - return JSON.parse(configuration) - } -} +const parseConfiguration = configuration => { + try { + return JSON.parse(JSON.parse(configuration)); + } catch (Error) { + return JSON.parse(configuration); + } +}; -export const LoadBalancerItem = ({ configuration }) => { - const parsedConfig = parseConfiguration(configuration); +export const LoadBalancerItem = ({configuration}) => { + const parsedConfig = parseConfiguration(configuration); - return ( - - - {parsedConfig.scheme} - - - {parsedConfig.type ? parsedConfig.type : 'Classic'} - - - ); + return ( + + + + {parsedConfig.scheme} + + + + + {parsedConfig.type ? parsedConfig.type : 'Classic'} + + + + ); }; export default LoadBalancerItem; diff --git a/source/frontend/src/API/NodeFactory/NodeParsers/LoadBalancers/LoadBalancerParser.js b/source/frontend/src/API/NodeFactory/NodeParsers/LoadBalancers/LoadBalancerParser.js index d5a1110b..1cde5fc6 100644 --- a/source/frontend/src/API/NodeFactory/NodeParsers/LoadBalancers/LoadBalancerParser.js +++ b/source/frontend/src/API/NodeFactory/NodeParsers/LoadBalancers/LoadBalancerParser.js @@ -2,45 +2,45 @@ // SPDX-License-Identifier: Apache-2.0 import React from 'react'; -import { fetchImage } from '../../../../Utils/ImageSelector'; -import { getStateInformation } from '../../../../Utils/Resources/ResourceStateParser'; +import {fetchImage} from '../../../../Utils/ImageSelector'; +import {getStateInformation} from '../../../../Utils/Resources/ResourceStateParser'; import LoadBalancerItem from './LoadBalancerDetails/LoadBalancerItem'; -import * as R from 'ramda'; -export const parseLoadBalancer = (node) => { - const properties = R.hasPath(['properties'], node) - ? node.properties - : node.data('properties'); - let configuration = JSON.parse(properties.configuration); +import * as R from 'ramda'; +export const parseLoadBalancer = node => { + const properties = R.hasPath(['properties'], node) + ? node.properties + : node.data('properties'); + let configuration = JSON.parse(properties.configuration); - configuration = R.is(Object, configuration) - ? configuration - : JSON.parse(configuration); + configuration = R.is(Object, configuration) + ? configuration + : JSON.parse(configuration); - const getLoadBalancerType = (properties) => { - return configuration.type - ? `${properties.resourceType}-${configuration.type}` - : `${properties.resourceType}`; - }; + const getLoadBalancerType = properties => { + return configuration.type + ? `${properties.resourceType}-${configuration.type}` + : `${properties.resourceType}`; + }; - const state = getStateInformation(configuration.state); + const state = getStateInformation(configuration.state); - return { - styling: { - borderStyle: 'dotted', - borderColour: state.color, - borderOpacity: 0.25, - borderSize: 1, - message: state.text, - colour: state.color, - }, - state: state, - icon: fetchImage(getLoadBalancerType(properties), state), - detailsComponent: ( - - ), - }; + return { + styling: { + borderStyle: 'dotted', + borderColour: state.color, + borderOpacity: 0.25, + borderSize: 1, + message: state.text, + colour: state.color, + }, + state: state, + icon: fetchImage(getLoadBalancerType(properties), state), + detailsComponent: ( + + ), + }; }; diff --git a/source/frontend/src/API/NodeFactory/NodeParsers/S3Bucket/S3BucketParser.js b/source/frontend/src/API/NodeFactory/NodeParsers/S3Bucket/S3BucketParser.js index 2ef347c2..76145df8 100644 --- a/source/frontend/src/API/NodeFactory/NodeParsers/S3Bucket/S3BucketParser.js +++ b/source/frontend/src/API/NodeFactory/NodeParsers/S3Bucket/S3BucketParser.js @@ -1,35 +1,34 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import { fetchImage } from '../../../../Utils/ImageSelector'; +import {fetchImage} from '../../../../Utils/ImageSelector'; import * as R from 'ramda'; -export const parseS3Bucket = (node) => { +export const parseS3Bucket = node => { + const properties = R.hasPath(['properties'], node) + ? node.properties + : node.data('properties'); - const properties = R.hasPath(['properties'], node) - ? node.properties - : node.data('properties'); - - return { - styling: { - borderStyle: 'dotted', - borderColour: '#545B64', - borderOpacity: 0.25, - borderSize: 1, - message: '', - colour: '#fff', - }, - icon: fetchImage(properties.resourceType, undefined), - // detailsComponent: ( - // - // ), - // hoverComponent: ( - // - // ) - }; + return { + styling: { + borderStyle: 'dotted', + borderColour: '#545B64', + borderOpacity: 0.25, + borderSize: 1, + message: '', + colour: '#fff', + }, + icon: fetchImage(properties.resourceType, undefined), + // detailsComponent: ( + // + // ), + // hoverComponent: ( + // + // ) + }; }; diff --git a/source/frontend/src/API/NodeFactory/NodeParsers/Subnet/SubnetParser.js b/source/frontend/src/API/NodeFactory/NodeParsers/Subnet/SubnetParser.js index 12ef5bea..fe125f60 100644 --- a/source/frontend/src/API/NodeFactory/NodeParsers/Subnet/SubnetParser.js +++ b/source/frontend/src/API/NodeFactory/NodeParsers/Subnet/SubnetParser.js @@ -2,13 +2,12 @@ // SPDX-License-Identifier: Apache-2.0 import React from 'react'; -import { fetchImage } from '../../../../Utils/ImageSelector'; -import { getStateInformation } from '../../../../Utils/Resources/ResourceStateParser'; +import {fetchImage} from '../../../../Utils/ImageSelector'; +import {getStateInformation} from '../../../../Utils/Resources/ResourceStateParser'; -import * as R from 'ramda'; +import * as R from 'ramda'; export const parseSubnet = node => { - const properties = R.hasPath(['properties'], node) ? node.properties : node.data('properties'); @@ -30,6 +29,6 @@ export const parseSubnet = node => { colour: state.color, }, state, - icon: fetchImage(properties.resourceType, state) + icon: fetchImage(properties.resourceType, state), }; }; diff --git a/source/frontend/src/API/Processors/NodeProcessors.js b/source/frontend/src/API/Processors/NodeProcessors.js index 6460be58..89ef9c28 100644 --- a/source/frontend/src/API/Processors/NodeProcessors.js +++ b/source/frontend/src/API/Processors/NodeProcessors.js @@ -1,72 +1,77 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import { - getCostForResource -} from '../Handlers/CostsGraphQLHandler'; -import { wrapRequest } from '../../Utils/API/HandlerUtils'; -import { processAccountsError } from '../../Utils/ErrorHandlingUtils'; -import * as R from "ramda"; +import {getCostForResource} from '../Handlers/CostsGraphQLHandler'; +import {wrapRequest} from '../../Utils/API/HandlerUtils'; +import {processAccountsError} from '../../Utils/ErrorHandlingUtils'; +import * as R from 'ramda'; const getCostsForARNs = (resourceIds, preferences) => { - return wrapRequest(processAccountsError, getCostForResource, { - costForResourceQuery: { - pagination: { start: 0, end: resourceIds.length }, - resourceIds: resourceIds, - period: { - from: preferences.period.startDate, - to: preferences.period.endDate, - }, - }, - }); + return wrapRequest(processAccountsError, getCostForResource, { + costForResourceQuery: { + pagination: {start: 0, end: resourceIds.length}, + resourceIds: resourceIds, + period: { + from: preferences.period.startDate, + to: preferences.period.endDate, + }, + }, + }); }; const updateNodesWithCost = (costs, nodes) => { - nodes.forEach(n => n.data.cost = 0) - R.forEach((e) => { - R.forEach((n) => { - if (R.hasPath(['data', 'resourceId'], n)) { - if (R.includes(e.line_item_resource_id, n.data.resourceId)) { - // items with the same resource id can appear, e.g., EC2 instance costs - // and EC2 data transfer costs for that instance will use the instance id - n.data.cost = (parseFloat(n.data.cost) + parseFloat(e.cost)).toFixed(2); - } - } - }, nodes); - }, R.pathOr([], ['body', 'data', 'getCostForResource', 'costItems'], costs)); - return nodes; + nodes.forEach(n => (n.data.cost = 0)); + R.forEach( + e => { + R.forEach(n => { + if (R.hasPath(['data', 'resourceId'], n)) { + if ( + R.includes(e.line_item_resource_id, n.data.resourceId) + ) { + // items with the same resource id can appear, e.g., EC2 instance costs + // and EC2 data transfer costs for that instance will use the instance id + n.data.cost = ( + parseFloat(n.data.cost) + parseFloat(e.cost) + ).toFixed(2); + } + } + }, nodes); + }, + R.pathOr([], ['body', 'data', 'getCostForResource', 'costItems'], costs) + ); + return nodes; }; export const fetchCosts = (nodes, preferences) => - Promise.resolve( - R.filter((e) => { - return ( - R.hasPath(['data', 'type'], e) && - R.equals(e.data.type, 'resource') && - R.hasPath(['data', 'resource', 'arn'], e) && - !R.isEmpty(e.data.resourceId) - ); - }, nodes) - ) - .then((x) => - R.filter( - (y) => !R.isNil(y), - R.flatten(R.map((e) => e.data.resourceId, x)) - ) + Promise.resolve( + R.filter(e => { + return ( + R.hasPath(['data', 'type'], e) && + R.equals(e.data.type, 'resource') && + R.hasPath(['data', 'resource', 'arn'], e) && + !R.isEmpty(e.data.resourceId) + ); + }, nodes) ) - .then((e) => getCostsForARNs(e, preferences)) - .then((e) => updateNodesWithCost(e, nodes)); + .then(x => + R.filter( + y => !R.isNil(y), + R.flatten(R.map(e => e.data.resourceId, x)) + ) + ) + .then(e => getCostsForARNs(e, preferences)) + .then(e => updateNodesWithCost(e, nodes)); -export const handleSelectedResources = R.curry(( - selectedIds, - currentGraphResources, - elements -) => { - return R.uniqBy(x => x.data.id, [...elements, ...currentGraphResources]) - .map(ele => { +export const handleSelectedResources = R.curry( + (selectedIds, currentGraphResources, elements) => { + return R.uniqBy( + x => x.data.id, + [...elements, ...currentGraphResources] + ).map(ele => { if (selectedIds.includes(ele.data.clickedId)) { ele.data.selected = true; } return ele; }); -}); + } +); diff --git a/source/frontend/src/API/Storage/S3Store.js b/source/frontend/src/API/Storage/S3Store.js index 32cc81c4..14f2bad5 100644 --- a/source/frontend/src/API/Storage/S3Store.js +++ b/source/frontend/src/API/Storage/S3Store.js @@ -1,9 +1,9 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import { Storage, Auth } from 'aws-amplify'; -import * as R from 'ramda'; -import {ObjectNotFoundError} from "../../errors/ObjectNotFoundError"; +import {Storage, Auth} from 'aws-amplify'; +import * as R from 'ramda'; +import {ObjectNotFoundError} from '../../errors/ObjectNotFoundError'; const [provider] = Object.keys(Storage._config); @@ -16,46 +16,51 @@ export const uploadObject = async (key, content, level, type) => { level, resumable: true, metadata: { - username + username, }, provider, - completeCallback: (event) => { + completeCallback: event => { res(event); }, - errorCallback: (err) => { + errorCallback: err => { console.error(err); - rej(new Error('We could not complete that action. Please try again')); - } + rej( + new Error( + 'We could not complete that action. Please try again' + ) + ); + }, }); }); }; export const listObjects = (key, level) => { - return Storage.list(key, { level, provider }) - .then(res => res.results) - .catch((err) => { - console.error(err); - throw new Error('We could not complete that action. Please try again'); - }); + return Storage.list(key, {level, provider}) + .then(res => res.results) + .catch(err => { + console.error(err); + throw new Error( + 'We could not complete that action. Please try again' + ); + }); }; export const removeObject = (key, level) => - Storage.remove(key, { level, provider }).catch((err) => { - console.error(err); - throw new Error('We could not complete that action. Please try again'); - }); + Storage.remove(key, {level, provider}).catch(err => { + console.error(err); + throw new Error('We could not complete that action. Please try again'); + }); export const getObject = async (key, level) => { - return Storage.get(key, { level, provider }) - .then((result) => - fetch(result) - .then((res) => { - if (R.equals(res.status, 404)) { - throw new ObjectNotFoundError(res.statusText); - } else { - return res; - } - }) - .then((response) => response.json()) + return Storage.get(key, {level, provider}).then(result => + fetch(result) + .then(res => { + if (R.equals(res.status, 404)) { + throw new ObjectNotFoundError(res.statusText); + } else { + return res; + } + }) + .then(response => response.json()) ); }; diff --git a/source/frontend/src/App.js b/source/frontend/src/App.js index ad29db2a..52b3a7e5 100644 --- a/source/frontend/src/App.js +++ b/source/frontend/src/App.js @@ -1,65 +1,95 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 - import React from 'react'; -import {Authenticator, Heading, Image, ThemeProvider} from '@aws-amplify/ui-react'; -import "@cloudscape-design/global-styles/index.css"; +import { + Authenticator, + Heading, + Image, + ThemeProvider, + Button, +} from '@aws-amplify/ui-react'; +import {Auth} from 'aws-amplify'; +import '@cloudscape-design/global-styles/index.css'; import '@aws-amplify/ui-react/styles.css'; import Main from './Main'; -import {Box, SpaceBetween} from "@cloudscape-design/components"; -import * as awsui from "@cloudscape-design/design-tokens"; +import {Box, SpaceBetween} from '@cloudscape-design/components'; +import * as awsui from '@cloudscape-design/design-tokens'; const components = { - Header() { - return ( - - - Workload Discovery on AWS icon - Workload Discovery on AWS - - - ); - } -} + Header() { + return ( + + + Workload Discovery on AWS icon + Workload Discovery on AWS + + + ); + }, + Footer() { + return window.amplify.Auth?.federatedIdpResource != null ? ( + + + + + + ) : null; + }, +}; export const App = () => { - const theme = { - name: 'theme', - tokens: { - fonts: { - default: { - variable: { value: awsui.fontFamilyBase }, - static: { value: awsui.fontFamilyBase }, - }, - }, - colors: { - brand: { - primary: { - '10': {value: awsui.colorBackgroundButtonPrimaryDisabled}, - '80': {value: awsui.colorBackgroundButtonPrimaryDefault}, - '90': {value: awsui.colorBackgroundButtonPrimaryHover}, - '100': {value: awsui.colorBackgroundButtonPrimaryActive}, - }, + const theme = { + name: 'theme', + tokens: { + fonts: { + default: { + variable: {value: awsui.fontFamilyBase}, + static: {value: awsui.fontFamilyBase}, + }, + }, + colors: { + brand: { + primary: { + 10: {value: awsui.colorBackgroundButtonPrimaryDisabled}, + 80: {value: awsui.colorBackgroundButtonPrimaryDefault}, + 90: {value: awsui.colorBackgroundButtonPrimaryHover}, + 100: {value: awsui.colorBackgroundButtonPrimaryActive}, + }, + }, + }, }, - } - } - } - return ( - - -
- - - ); -}; + }; + return ( + + +
+ + + ); +}; export default App; diff --git a/source/frontend/src/Main.js b/source/frontend/src/Main.js index 685119b4..0c6607ca 100644 --- a/source/frontend/src/Main.js +++ b/source/frontend/src/Main.js @@ -2,61 +2,58 @@ // SPDX-License-Identifier: Apache-2.0 import React from 'react'; -import { ResourceProvider } from './components/Contexts/ResourceContext'; -import { resourceReducer } from './components/Contexts/Reducers/ResourceReducer'; -import { - QueryClient, - QueryClientProvider, -} from "react-query" +import {ResourceProvider} from './components/Contexts/ResourceContext'; +import {resourceReducer} from './components/Contexts/Reducers/ResourceReducer'; +import {QueryClient, QueryClientProvider} from 'react-query'; import PolarisLayout from './PolarisLayout'; -import { - BrowserRouter as Router -} from 'react-router-dom'; -import { NotificationProvider } from "./components/Contexts/NotificationContext" -import { DiagramSettingsProvider } from './components/Contexts/DiagramSettingsContext'; -import { diagramSettingsReducer } from './components/Contexts/Reducers/DiagramSettingsReducer'; -import localizedFormat from "dayjs/plugin/localizedFormat"; -import dayjs from "dayjs"; +import {BrowserRouter as Router} from 'react-router-dom'; +import {NotificationProvider} from './components/Contexts/NotificationContext'; +import {DiagramSettingsProvider} from './components/Contexts/DiagramSettingsContext'; +import {diagramSettingsReducer} from './components/Contexts/Reducers/DiagramSettingsReducer'; +import localizedFormat from 'dayjs/plugin/localizedFormat'; +import dayjs from 'dayjs'; dayjs.extend(localizedFormat); const queryClient = new QueryClient({ - defaultOptions: { - queries: { - refetchInterval: 60000, - refetchOnWindowFocus: false, - retry: 1, + defaultOptions: { + queries: { + refetchInterval: 60000, + refetchOnWindowFocus: false, + retry: 1, + }, }, - }, }); const Main = () => { - const initialResourceState = { - graphResources: [], - resources: [], - }; + const initialResourceState = { + graphResources: [], + resources: [], + }; - const initialDiagramSettingsState = { - canvas: null, - selectedResources: null, - resources: [], - }; + const initialDiagramSettingsState = { + canvas: null, + selectedResources: null, + resources: [], + }; - return ( - - - - - - - - - - - - ); + return ( + + + + + + + + + + + + ); }; export default Main; diff --git a/source/frontend/src/PolarisLayout.js b/source/frontend/src/PolarisLayout.js index c285b076..5f0fe863 100644 --- a/source/frontend/src/PolarisLayout.js +++ b/source/frontend/src/PolarisLayout.js @@ -2,301 +2,345 @@ // SPDX-License-Identifier: Apache-2.0 import React, {useEffect, useLayoutEffect, useRef, useState} from 'react'; -import PropTypes from "prop-types"; -import {matchPath, Route, Switch, useHistory, useLocation,} from 'react-router-dom'; -import {AppLayout, Box, Button, SideNavigation, SpaceBetween} from '@cloudscape-design/components'; -import routes, {ACCOUNTS, COSTS, CREATE_DIAGRAM, DRAW, HOMEPAGE_PATH, OPEN_DIAGRAM, RESOURCES, VIEWS,} from './routes'; +import PropTypes from 'prop-types'; +import { + matchPath, + Route, + Switch, + useHistory, + useLocation, +} from 'react-router-dom'; +import { + AppLayout, + Box, + Button, + SideNavigation, + SpaceBetween, +} from '@cloudscape-design/components'; +import routes, { + ACCOUNTS, + COSTS, + CREATE_DIAGRAM, + DRAW, + HOMEPAGE_PATH, + OPEN_DIAGRAM, + RESOURCES, + VIEWS, +} from './routes'; import panels from './help-panel'; import splitPanels from './split-panel'; import {useSplitPanel} from './components/SplitPanel/SplitPanelConfig'; import PlaceholderHelp from './Utils/HelpPanel/PlaceholderHelp'; -import {ErrorBoundary} from 'react-error-boundary' -import * as R from "ramda"; -import ErrorFallback from "./components/Errors/ErrorFallback"; +import {ErrorBoundary} from 'react-error-boundary'; +import * as R from 'ramda'; +import ErrorFallback from './components/Errors/ErrorFallback'; import {useAuthenticator} from '@aws-amplify/ui-react'; import {useFirstMountState, useLocalStorage} from 'react-use'; -import {useNotificationDispatch} from "./components/Contexts/NotificationContext"; -import Notifications from "./Utils/Notifications"; -import {useResourceState} from "./components/Contexts/ResourceContext"; -import {useDiagramSettingsState} from "./components/Contexts/DiagramSettingsContext"; +import {useNotificationDispatch} from './components/Contexts/NotificationContext'; +import Notifications from './Utils/Notifications'; +import {useResourceState} from './components/Contexts/ResourceContext'; +import {useDiagramSettingsState} from './components/Contexts/DiagramSettingsContext'; -const Navigation = ({ onNavigate }) => { - const history = useHistory(); - const location = useLocation(); - const { user, signOut } = useAuthenticator(); - history.listen(onNavigate); +const Navigation = ({onNavigate}) => { + const history = useHistory(); + const location = useLocation(); + const {user, signOut} = useAuthenticator(); + history.listen(onNavigate); - useLayoutEffect(() => { - onNavigate(location); - }); + useLayoutEffect(() => { + onNavigate(location); + }); - const navHeader = { - text: `Workload Discovery on AWS`, - href: HOMEPAGE_PATH, - }; + const navHeader = { + text: `Workload Discovery on AWS`, + href: HOMEPAGE_PATH, + }; - const navItems = [ - { - type: 'section', - text: 'Explore', - items: [ + const navItems = [ { - type: 'link', - text: 'Resources', - href: RESOURCES, + type: 'section', + text: 'Explore', + items: [ + { + type: 'link', + text: 'Resources', + href: RESOURCES, + }, + { + type: 'link', + text: 'Views', + href: VIEWS, + }, + { + type: 'link', + text: 'Costs', + href: COSTS, + }, + ], }, + {type: 'divider'}, { - type: 'link', - text: 'Views', - href: VIEWS, + type: 'section', + text: 'Diagrams', + items: [ + { + type: 'link', + text: 'Manage', + href: DRAW, + }, + ], }, + {type: 'divider'}, { - type: 'link', - text: 'Costs', - href: COSTS, + type: 'section', + text: 'Configure', + items: [ + { + type: 'link', + text: 'Accounts', + href: ACCOUNTS, + }, + ], }, - ], - }, - { type: 'divider' }, - { - type: 'section', - text: 'Diagrams', - items: [ + {type: 'divider'}, { - type: 'link', - text: 'Manage', - href: DRAW, + type: 'link', + text: 'Feature request', + href: 'https://github.com/awslabs/aws-perspective/issues/new?assignees=&labels=enhancement&template=feature_request.md&title=', + external: true, }, - ], - }, - { type: 'divider' }, - { - type: 'section', - text: 'Configure', - items: [ { - type: 'link', - text: 'Accounts', - href: ACCOUNTS, + type: 'link', + text: 'Raise an issue', + href: 'https://github.com/awslabs/aws-perspective/issues/new?assignees=&labels=bug&template=bug_report.md&title=', + external: true, }, - ], - }, - { type: 'divider' }, - { - type: 'link', - text: 'Feature request', - href: - 'https://github.com/awslabs/aws-perspective/issues/new?assignees=&labels=enhancement&template=feature_request.md&title=', - external: true, - }, - { - type: 'link', - text: 'Raise an issue', - href: 'https://github.com/awslabs/aws-perspective/issues/new?assignees=&labels=bug&template=bug_report.md&title=', - external: true, - }, - { type: 'divider' }, - ]; + {type: 'divider'}, + ]; - return ( - <> - { - if (e.detail.external) { - window.open(e.detail.href, '_blank', 'rel=noreferrer'); - } else { - e.preventDefault(); - history.push(e.detail.href); - } - }} - /> - - - - Version: {window.perspectiveMetadata.version} - - - Logged in as: {user.username} - - - - - - - - ); + return ( + <> + { + if (e.detail.external) { + window.open(e.detail.href, '_blank', 'rel=noreferrer'); + } else { + e.preventDefault(); + history.push(e.detail.href); + } + }} + /> + + + + Version:{' '} + {window.perspectiveMetadata.version} + + + Logged in as: {user.username} + + + + + + + + ); }; Navigation.propTypes = { - onNavigate: PropTypes.func.isRequired -} + onNavigate: PropTypes.func.isRequired, +}; -const ToolPanel = ({ onNavigate }) => { - const history = useHistory(); - const location = useLocation(); - history.listen(onNavigate); +const ToolPanel = ({onNavigate}) => { + const history = useHistory(); + const location = useLocation(); + history.listen(onNavigate); - useLayoutEffect(() => { - onNavigate(location); - }); + useLayoutEffect(() => { + onNavigate(location); + }); - return R.pathOr( - , - ['component'], - R.find((e) => matchPath(location.pathname, { - path: e.path, - exact: true - }), panels) - ); + return R.pathOr( + , + ['component'], + R.find( + e => + matchPath(location.pathname, { + path: e.path, + exact: true, + }), + panels + ) + ); }; ToolPanel.propTypes = { - onNavigate: PropTypes.func.isRequired -} + onNavigate: PropTypes.func.isRequired, +}; -const SplitPanelLoader = ({ onNavigate }) => { - const history = useHistory(); - const location = useLocation(); - history.listen(onNavigate); +const SplitPanelLoader = ({onNavigate}) => { + const history = useHistory(); + const location = useLocation(); + history.listen(onNavigate); - useLayoutEffect(() => { - onNavigate(location); - }); - return R.pathOr( - null, - ['component'], - R.find((e) => matchPath(location.pathname, { - path: e.path, - exact: true - }), splitPanels) - ); + useLayoutEffect(() => { + onNavigate(location); + }); + return R.pathOr( + null, + ['component'], + R.find( + e => + matchPath(location.pathname, { + path: e.path, + exact: true, + }), + splitPanels + ) + ); }; SplitPanelLoader.propTypes = { - onNavigate: PropTypes.func.isRequired -} + onNavigate: PropTypes.func.isRequired, +}; -const Pages = (props) => ( -
- - {routes.map(({ component: Component, ...rest }) => ( - - - - ))} - -
+const Pages = props => ( +
+ + {routes.map(({component: Component, ...rest}) => ( + + + + ))} + +
); +function isOpenDiagram(pathname) { + return ( + matchPath(pathname, { + path: OPEN_DIAGRAM, + exact: true, + strict: false, + }) != null + ); +} + export function PolarisLayout() { - const history = useHistory(); - const location = useLocation(); - const isFirstMount = useFirstMountState(); - const { clearAllNotifications } = useNotificationDispatch() - const [isFirstVisit, setIsFirstVisit] = useLocalStorage('firstVisit', true); - const [navigationOpen, setNavigationOpen] = useState(location.pathname !== '/'); - const [toolsOpen, setToolsOpen] = useState(false); - const [currentPath, setCurrentPath] = useState(); - const [schema, setSchema] = useState(); - const [, dispatch] = useResourceState(); - const [, dispatchCanvas] = useDiagramSettingsState() - const pathRef = useRef(location.pathname); + const history = useHistory(); + const location = useLocation(); + const isFirstMount = useFirstMountState(); + const {clearAllNotifications} = useNotificationDispatch(); + const [isFirstVisit, setIsFirstVisit] = useLocalStorage('firstVisit', true); + const [navigationOpen, setNavigationOpen] = useState( + location.pathname !== '/' + ); + const [toolsOpen, setToolsOpen] = useState(false); + const [currentPath, setCurrentPath] = useState(); + const [schema, setSchema] = useState(); + const [, dispatch] = useResourceState(); + const [, dispatchCanvas] = useDiagramSettingsState(); + const pathRef = useRef(location.pathname); - useEffect(() => { - // always open nav if we're moving from the homepage - return history.listen(({pathname}) => { - if (pathRef.current === "/") setNavigationOpen(true); - pathRef.current = pathname; - if (pathname !== CREATE_DIAGRAM || !(pathRef.current === CREATE_DIAGRAM && pathname === OPEN_DIAGRAM)) { - clearAllNotifications() - dispatch({ - type: 'select', - resources: {}, - }); - dispatch({ - type: 'updateGraphResources', - graphResources: [], - }); - dispatchCanvas({ - type: 'setCanvas', - canvas: null, - }); - dispatchCanvas({ - type: 'setResources', - resources: [], - }); - } - }); - }, [clearAllNotifications, dispatch, dispatchCanvas, history]); + useEffect(() => { + // always open nav if we're moving from the homepage + return history.listen(({pathname}) => { + if (pathRef.current === '/') setNavigationOpen(true); - useEffect(() => { - if (isFirstVisit) { - setIsFirstVisit(false); - } else if (location.pathname === '/' && isFirstMount) { - history.push(RESOURCES); - } - }, [history, isFirstMount, isFirstVisit, location.pathname, setIsFirstVisit]); + pathRef.current = pathname; - const { - splitPanelOpen, - onSplitPanelToggle, - splitPanelSize, - onSplitPanelResize, - splitPanelPreferences, - onSplitPanelPreferencesChange, - } = useSplitPanel(false); + if (pathname === CREATE_DIAGRAM || isOpenDiagram(pathname)) return; - const handleNavigation = (e) => { - if (e.pathname !== location.pathname) - setCurrentPath(e.pathname) - } + clearAllNotifications(); + dispatch({ + type: 'select', + resources: {}, + }); + dispatch({ + type: 'updateGraphResources', + graphResources: [], + }); + dispatchCanvas({ + type: 'setCanvas', + canvas: null, + }); + dispatchCanvas({ + type: 'setResources', + resources: [], + }); + }); + }, [clearAllNotifications, dispatch, dispatchCanvas, history]); - return ( - { - history.push("/"); - }} - > - } - disableContentPaddings={currentPath === "/"} - navigation={ - + useEffect(() => { + if (isFirstVisit) { + setIsFirstVisit(false); + } else if (location.pathname === '/' && isFirstMount) { + history.push(RESOURCES); } - navigationOpen={navigationOpen} - toolsOpen={toolsOpen} - tools={ - - } - notifications={} - toolsHide={location.pathname === "/"} - onNavigationChange={(e) => setNavigationOpen(e.detail.open)} - onToolsChange={(e) => setToolsOpen(e.detail.open)} - splitPanelOpen={splitPanelOpen} - onSplitPanelToggle={onSplitPanelToggle} - splitPanelSize={splitPanelSize} - onSplitPanelResize={onSplitPanelResize} - splitPanelPreferences={splitPanelPreferences} - onSplitPanelPreferencesChange={onSplitPanelPreferencesChange} - splitPanel={ - setCurrentPath(e.pathname)} - activeHref='/' - /> - } - /> - - ); + }, [ + history, + isFirstMount, + isFirstVisit, + location.pathname, + setIsFirstVisit, + ]); + + const { + splitPanelOpen, + onSplitPanelToggle, + splitPanelSize, + onSplitPanelResize, + splitPanelPreferences, + onSplitPanelPreferencesChange, + } = useSplitPanel(false); + + const handleNavigation = e => { + if (e.pathname !== location.pathname) setCurrentPath(e.pathname); + }; + + return ( + { + history.push('/'); + }} + > + } + disableContentPaddings={currentPath === '/'} + navigation={ + + } + navigationOpen={navigationOpen} + toolsOpen={toolsOpen} + tools={ + + } + notifications={} + toolsHide={location.pathname === '/'} + onNavigationChange={e => setNavigationOpen(e.detail.open)} + onToolsChange={e => setToolsOpen(e.detail.open)} + splitPanelOpen={splitPanelOpen} + onSplitPanelToggle={onSplitPanelToggle} + splitPanelSize={splitPanelSize} + onSplitPanelResize={onSplitPanelResize} + splitPanelPreferences={splitPanelPreferences} + onSplitPanelPreferencesChange={onSplitPanelPreferencesChange} + splitPanel={ + setCurrentPath(e.pathname)} + activeHref="/" + /> + } + /> + + ); } export default PolarisLayout; diff --git a/source/frontend/src/Utils/API/HandlerUtils.js b/source/frontend/src/Utils/API/HandlerUtils.js index da84acfa..67c57f0b 100644 --- a/source/frontend/src/Utils/API/HandlerUtils.js +++ b/source/frontend/src/Utils/API/HandlerUtils.js @@ -1,49 +1,66 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import { retryAttempts } from '../../config/api-retry'; -import {delay} from "../../Utils/AsyncUtils"; -import { Auth } from 'aws-amplify'; -import * as R from 'ramda'; +import {retryAttempts} from '../../config/api-retry'; +import {delay} from '../../Utils/AsyncUtils'; +import {Auth} from 'aws-amplify'; +import * as R from 'ramda'; -const noRetryErrors = new Set( - ['Unable to delete region(s), an account must have at least one region.'] +const noRetryErrors = new Set([ + 'Unable to delete region(s), an account must have at least one region.', +]); + +const isDuplicateApplicationError = R.test( + /An application with the name [-.\w]+ already exists./ ); function isRetryable({errors = []}) { - return errors.some(err => !noRetryErrors.has(err.message)) ; + return errors.some( + err => + !noRetryErrors.has(err.message) && + !isDuplicateApplicationError(err.message) + ); } -export const wrapRequest = (processError, request, data, retryCount = 0) => -{ - return Auth.currentSession() - .catch(() => Auth.signOut()) - .then((e) => { - if (!R.equals(e, 'No current user')) { - return request(data) - .then((response) => - processError(retryCount, retryAttempts, response) - ? delay(retryCount).then( - wrapRequest(processError, request, data, retryCount + 1) - ) - : wrapResponse(response, response.error) - ) - .catch((err) => - (isRetryable(err) && retryCount < retryAttempts) - ? delay(retryCount).then(() => - wrapRequest(processError, request, data, retryCount + 1) - ) - : wrapResponse(err, true) - ); - } else { - Auth.signOut(); - } - }) +export const wrapRequest = (processError, request, data, retryCount = 0) => { + return Auth.currentSession() + .catch(() => Auth.signOut()) + .then(e => { + if (!R.equals(e, 'No current user')) { + return request(data) + .then(response => + processError(retryCount, retryAttempts, response) + ? delay(retryCount).then( + wrapRequest( + processError, + request, + data, + retryCount + 1 + ) + ) + : wrapResponse(response, response.error) + ) + .catch(err => + isRetryable(err) && retryCount < retryAttempts + ? delay(retryCount).then(() => + wrapRequest( + processError, + request, + data, + retryCount + 1 + ) + ) + : wrapResponse(err, true) + ); + } else { + Auth.signOut(); + } + }); }; const wrapResponse = (data, error) => { return { - error: error, - body: data, + error: error, + body: data, }; - }; \ No newline at end of file +}; diff --git a/source/frontend/src/Utils/AccessibilityUtils.js b/source/frontend/src/Utils/AccessibilityUtils.js index 20c8470e..3c6dd70f 100644 --- a/source/frontend/src/Utils/AccessibilityUtils.js +++ b/source/frontend/src/Utils/AccessibilityUtils.js @@ -1,9 +1,14 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import {getValue} from "./ObjectUtils"; +import {getValue} from './ObjectUtils'; -export function createTableAriaLabels(singular, plural, {keys, fallback}, tableLabel) { +export function createTableAriaLabels( + singular, + plural, + {keys, fallback}, + tableLabel +) { return { allItemsSelectionLabel: ({selectedItems}) => { const itemType = selectedItems.length === 1 ? singular : plural; @@ -11,9 +16,11 @@ export function createTableAriaLabels(singular, plural, {keys, fallback}, tableL }, itemSelectionLabel: ({selectedItems}, item) => { const itemValue = getValue(fallback, keys, item.properties ?? item); - const isItemSelected = selectedItems.filter(i => getValue(fallback, keys, i.properties ?? i) === itemValue).length; - return `${itemValue} is ${isItemSelected ? "" : "not"} selected`; + const isItemSelected = selectedItems.filter( + i => getValue(fallback, keys, i.properties ?? i) === itemValue + ).length; + return `${itemValue} is ${isItemSelected ? '' : 'not'} selected`; }, - tableLabel - } -} \ No newline at end of file + tableLabel, + }; +} diff --git a/source/frontend/src/Utils/AccountUtils.js b/source/frontend/src/Utils/AccountUtils.js index d5bb645b..03f9a512 100644 --- a/source/frontend/src/Utils/AccountUtils.js +++ b/source/frontend/src/Utils/AccountUtils.js @@ -1,6 +1,7 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import {AWS_ORGANIZATIONS} from "../config/constants.js"; +import {AWS_ORGANIZATIONS} from '../config/constants.js'; -export const isUsingOrganizations = () => window.perspectiveMetadata.crossAccountDiscovery === AWS_ORGANIZATIONS; +export const isUsingOrganizations = () => + window.perspectiveMetadata.crossAccountDiscovery === AWS_ORGANIZATIONS; diff --git a/source/frontend/src/Utils/ArrayUtils.js b/source/frontend/src/Utils/ArrayUtils.js index e4db3c53..a04854fa 100644 --- a/source/frontend/src/Utils/ArrayUtils.js +++ b/source/frontend/src/Utils/ArrayUtils.js @@ -1,16 +1,29 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import {reduce, evolve, add, head, tail, curry, groupBy, values, prop, map, addIndex} from "ramda"; +import { + reduce, + evolve, + add, + head, + tail, + curry, + groupBy, + values, + prop, + map, + addIndex, +} from 'ramda'; -export const sumBy = prop => vals => reduce( - (current, val) => evolve({[prop]: add(val[prop])}, current), - head(vals), - tail(vals) -) +export const sumBy = prop => vals => + reduce( + (current, val) => evolve({[prop]: add(val[prop])}, current), + head(vals), + tail(vals) + ); export const groupSumBy = curry((groupOn, sumOn, vals) => - values(map(sumBy(sumOn))(groupBy(prop(groupOn), vals))) -) + values(map(sumBy(sumOn))(groupBy(prop(groupOn), vals))) +); export const mapIndexed = addIndex(map); diff --git a/source/frontend/src/Utils/AsyncUtils.js b/source/frontend/src/Utils/AsyncUtils.js index beca2e36..a04c14c3 100644 --- a/source/frontend/src/Utils/AsyncUtils.js +++ b/source/frontend/src/Utils/AsyncUtils.js @@ -1,8 +1,7 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -export const delay = (retryCount) => - new Promise((resolve) => { - setTimeout(resolve, Math.max(retryCount * 2, 1) * 1000) - } - ); \ No newline at end of file +export const delay = retryCount => + new Promise(resolve => { + setTimeout(resolve, Math.max(retryCount * 2, 1) * 1000); + }); diff --git a/source/frontend/src/Utils/Breadcrumbs.js b/source/frontend/src/Utils/Breadcrumbs.js index 3f836337..3cad87d4 100644 --- a/source/frontend/src/Utils/Breadcrumbs.js +++ b/source/frontend/src/Utils/Breadcrumbs.js @@ -1,29 +1,31 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import React from "react"; -import { BreadcrumbGroup } from "@cloudscape-design/components"; -import { useHistory } from "react-router-dom"; -import PropTypes from "prop-types"; -import { HOMEPAGE_PATH } from "../routes"; +import React from 'react'; +import {BreadcrumbGroup} from '@cloudscape-design/components'; +import {useHistory} from 'react-router-dom'; +import PropTypes from 'prop-types'; +import {HOMEPAGE_PATH} from '../routes'; -const Breadcrumbs = ({ items = [] }) => { - const history = useHistory(); +const Breadcrumbs = ({items = []}) => { + const history = useHistory(); - return ( - { - e.preventDefault(); - history.push(e.detail.href); - }} - ariaLabel="Breadcrumbs" - items={[{ text: "Workload Discovery on AWS", href: HOMEPAGE_PATH }].concat(items)} - /> - ); + return ( + { + e.preventDefault(); + history.push(e.detail.href); + }} + ariaLabel="Breadcrumbs" + items={[ + {text: 'Workload Discovery on AWS', href: HOMEPAGE_PATH}, + ].concat(items)} + /> + ); }; Breadcrumbs.propTypes = { - items: PropTypes.array, + items: PropTypes.array, }; -export default Breadcrumbs; \ No newline at end of file +export default Breadcrumbs; diff --git a/source/frontend/src/Utils/CloudFormation/CloudFormationURLGenerator.js b/source/frontend/src/Utils/CloudFormation/CloudFormationURLGenerator.js index d7efefe6..dadd9762 100644 --- a/source/frontend/src/Utils/CloudFormation/CloudFormationURLGenerator.js +++ b/source/frontend/src/Utils/CloudFormation/CloudFormationURLGenerator.js @@ -2,5 +2,5 @@ // SPDX-License-Identifier: Apache-2.0 export function generateCloudFormationConsoleLink(accountId, region) { - return `https://${accountId}.signin.aws.amazon.com/console/cloudformation?region=${region}` -} \ No newline at end of file + return `https://${accountId}.signin.aws.amazon.com/console/cloudformation?region=${region}`; +} diff --git a/source/frontend/src/Utils/ColorCreator.js b/source/frontend/src/Utils/ColorCreator.js index dcd91ce0..083b48af 100644 --- a/source/frontend/src/Utils/ColorCreator.js +++ b/source/frontend/src/Utils/ColorCreator.js @@ -4,38 +4,38 @@ import randomColor from 'randomcolor'; import hash from 'object-hash'; -export const getAccountColour = (account) => { - return randomColor({ - luminosity: 'dark', - format: 'rgba', - alpha: 0.5, - seed: hash(account) - }); -} +export const getAccountColour = account => { + return randomColor({ + luminosity: 'dark', + format: 'rgba', + alpha: 0.5, + seed: hash(account), + }); +}; -export const getRegionColour = (region) => { - return randomColor({ - luminosity: 'dark', - format: 'rgba', - alpha: 0.5, - seed: hash(region) - }); -} +export const getRegionColour = region => { + return randomColor({ + luminosity: 'dark', + format: 'rgba', + alpha: 0.5, + seed: hash(region), + }); +}; -export const getAZColour = (az) => { - return randomColor({ - luminosity: 'dark', - format: 'rgba', - alpha: 0.5, - seed: hash(az) - }); -} +export const getAZColour = az => { + return randomColor({ + luminosity: 'dark', + format: 'rgba', + alpha: 0.5, + seed: hash(az), + }); +}; -export const getResourceTypeColor = (type) => { - return randomColor({ - luminosity: 'dark', - format: 'rgba', - alpha: 0.5, - seed: hash(type) - }); -} \ No newline at end of file +export const getResourceTypeColor = type => { + return randomColor({ + luminosity: 'dark', + format: 'rgba', + alpha: 0.5, + seed: hash(type), + }); +}; diff --git a/source/frontend/src/Utils/Dictionaries/RegionMap.js b/source/frontend/src/Utils/Dictionaries/RegionMap.js index d147b779..4d7ed18b 100644 --- a/source/frontend/src/Utils/Dictionaries/RegionMap.js +++ b/source/frontend/src/Utils/Dictionaries/RegionMap.js @@ -2,27 +2,27 @@ // SPDX-License-Identifier: Apache-2.0 export const regionMap = [ - { id: 'global', name: 'Global' }, - { id: 'us-east-1', name: 'US East (N. Virginia)' }, - { id: 'us-east-2', name: 'US East (Ohio)' }, - { id: 'us-west-1', name: 'US West (N. California)' }, - { id: 'us-west-2', name: 'US West (Oregon)' }, - { id: 'af-south-1', name: 'Africa (Cape Town)' }, - { id: 'ap-east-1', name: 'Asia Pacific (Hong Kong)' }, - { id: 'ap-south-1', name: 'Asia Pacific (Mumbai)' }, - { id: 'ap-northeast-3', name: 'Asia Pacific (Osaka)' }, - { id: 'ap-northeast-2', name: 'Asia Pacific (Seoul)' }, - { id: 'ap-southeast-1', name: 'Asia Pacific (Singapore)' }, - { id: 'ap-southeast-2', name: 'Asia Pacific (Sydney)' }, - { id: 'ap-northeast-1', name: 'Asia Pacific (Tokyo)' }, - { id: 'ca-central-1', name: 'Canada (Central)' }, - { id: 'eu-central-1', name: 'Europe (Frankfurt)' }, - { id: 'eu-west-1', name: 'Europe (Ireland)' }, - { id: 'eu-west-2', name: 'Europe (London)' }, - { id: 'eu-south-1', name: 'Europe (Milan)' }, - { id: 'eu-west-3', name: 'Europe (Paris)' }, - { id: 'eu-north-1', name: 'Europe (Stockholm)' }, - { id: 'me-south-1', name: 'Middle East (Bahrain)' }, - { id: 'me-central-1', name: 'Middle East (UAE)' }, - { id: 'sa-east-1', name: 'South America (São Paulo)' }, + {id: 'global', name: 'Global'}, + {id: 'us-east-1', name: 'US East (N. Virginia)'}, + {id: 'us-east-2', name: 'US East (Ohio)'}, + {id: 'us-west-1', name: 'US West (N. California)'}, + {id: 'us-west-2', name: 'US West (Oregon)'}, + {id: 'af-south-1', name: 'Africa (Cape Town)'}, + {id: 'ap-east-1', name: 'Asia Pacific (Hong Kong)'}, + {id: 'ap-south-1', name: 'Asia Pacific (Mumbai)'}, + {id: 'ap-northeast-3', name: 'Asia Pacific (Osaka)'}, + {id: 'ap-northeast-2', name: 'Asia Pacific (Seoul)'}, + {id: 'ap-southeast-1', name: 'Asia Pacific (Singapore)'}, + {id: 'ap-southeast-2', name: 'Asia Pacific (Sydney)'}, + {id: 'ap-northeast-1', name: 'Asia Pacific (Tokyo)'}, + {id: 'ca-central-1', name: 'Canada (Central)'}, + {id: 'eu-central-1', name: 'Europe (Frankfurt)'}, + {id: 'eu-west-1', name: 'Europe (Ireland)'}, + {id: 'eu-west-2', name: 'Europe (London)'}, + {id: 'eu-south-1', name: 'Europe (Milan)'}, + {id: 'eu-west-3', name: 'Europe (Paris)'}, + {id: 'eu-north-1', name: 'Europe (Stockholm)'}, + {id: 'me-south-1', name: 'Middle East (Bahrain)'}, + {id: 'me-central-1', name: 'Middle East (UAE)'}, + {id: 'sa-east-1', name: 'South America (São Paulo)'}, ]; diff --git a/source/frontend/src/Utils/Dictionaries/service-names.js b/source/frontend/src/Utils/Dictionaries/service-names.js index 9d9d2896..06eb1adc 100644 --- a/source/frontend/src/Utils/Dictionaries/service-names.js +++ b/source/frontend/src/Utils/Dictionaries/service-names.js @@ -1,784 +1,784 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -export const services = [ - { - "service": "Alexa for Business" - }, - { - "service": "Amazon AWS" - }, - { - "service": "Amazon Web Services", - "filteringTags": ["AWS"] - }, - { - "service": "Amplify" - }, - { - "service": "API Gateway", - "filteringTags": ["API GW"] - }, - { - "service": "Application Auto Scaling", - "filteringTags": ["Autoscaling"] - }, - { - "service": "Application Discovery Service", - "filteringTags": ["ADS"] - }, - { - "service": "AppFlow" - }, - { - "service": "App Mesh" - }, - { - "service": "AppStream 2.0" - }, - { - "service": "AppSync" - }, - { - "service": "Artifact" - }, - { - "service": "Athena" - }, - { - "service": "Audit Manager" - }, - { - "service": "Augmented AI" - }, - { - "service": "Aurora" - }, - { - "service": "Auto Scaling" - }, - { - "service": "Backint Agent" - }, - { - "service": "Backup" - }, - { - "service": "Batch" - }, - { - "service": "Billing and Cost Management" - }, - { - "service": "Blockchain Templates" - }, - { - "service": "Blox" - }, - { - "service": "Certificate Manager", - "filteringTags": ["ACM"] - }, - { - "service": "Chalice" - }, - { - "service": "Chatbot" - }, - { - "service": "Chime" - }, - { - "service": "Client VPN" - }, - { - "service": "Cloud Development Kit", - "filteringTags": ["CDK"] - }, - { - "service": "Cloud Digital Interface SDK" - }, - { - "service": "Cloud Directory" - }, - { - "service": "Cloud Map" - }, - { - "service": "Cloud9" - }, - { - "service": "CloudFormation", - "filteringTags": ["CFN"] - }, - { - "service": "CloudFront" - }, - { - "service": "CloudHSM" - }, - { - "service": "CloudSearch" - }, - { - "service": "CloudShell" - }, - { - "service": "CloudTrail" - }, - { - "service": "CloudWatch" - }, - { - "service": "CloudWatch Events" - }, - { - "service": "CloudWatch Logs" - }, - { - "service": "CodeArtifact" - }, - { - "service": "CodeBuild" - }, - { - "service": "CodeCommit" - }, - { - "service": "CodeDeploy" - }, - { - "service": "CodeGuru" - }, - { - "service": "CodePipeline" - }, - { - "service": "CodeStar" - }, - { - "service": "Cognito" - }, - { - "service": "Command Line Interface", - "filteringTags": ["CLI"] - }, - { - "service": "Comprehend" - }, - { - "service": "Compute Optimizer" - }, - { - "service": "Config" - }, - { - "service": "Connect" - }, - { - "service": "Control Tower" - }, - { - "service": "Console Mobile Application" - }, - { - "service": "Corretto" - }, - { - "service": "Data Exchange" - }, - { - "service": "Data Pipeline" - }, - { - "service": "DataSync" - }, - { - "service": "Database Migration Service", - "filteringTags": ["DMS"] - }, - { - "service": "Deep Learning AMIs" - }, - { - "service": "Deep Learning Containers" - }, - { - "service": "DeepComposer" - }, - { - "service": "DeepLens" - }, - { - "service": "DeepRacer" - }, - { - "service": "Detective" - }, - { - "service": "Device Farm" - }, - { - "service": "DevPay" - }, - { - "service": "Direct Connect", - "filteringTags": ["DC"] - }, - { - "service": "Directory Service" - }, - { - "service": "Directory Service for Microsoft AD" - }, - { - "service": "AD Connector" - }, - { - "service": "Simple AD" - }, - { - "service": "DocumentDB" - }, - { - "service": "DynamoDB", - "filteringTags": ["DDB"] - }, - { - "service": "DynamoDB Streams", - "filteringTags": ["DDB"] - }, - { - "service": "EC2 Auto Scaling" - }, - { - "service": "Elastic Beanstalk", - "filteringTags": ["EB"] - }, - { - "service": "Elastic Block Store", - "filteringTags": ["EBS"] - }, - { - "service": "Elastic Compute Cloud", - "filteringTags": ["EC2"] - }, - { - "service": "Elastic Container Registry", - "filteringTags": ["ECR"] - }, - { - "service": "Elastic Container Service", - "filteringTags": ["ECS"] - }, - { - "service": "Elastic Kubernetes Service", - "filteringTags": ["EKS"] - }, - { - "service": "Elastic File System", - "filteringTags": ["EFS"] - }, - { - "service": "Elastic Inference", - "filteringTags": ["EI"] - }, - { - "service": "Elastic Load Balancing", - "filteringTags": ["ELB"] - }, - { - "service": "Elastic Transcoder" - }, - { - "service": "ElastiCache" - }, - { - "service": "Amazon Elasticsearch Service" - }, - { - "service": "Amazon OpenSearch Service" - }, - { - "service": "EMR" - }, - { - "service": "EventBridge" - }, - { - "service": "Fargate" - }, - { - "service": "Firewall Manager" - }, - { - "service": "Forecast" - }, - { - "service": "Fraud Detector" - }, - { - "service": "FreeRTOS" - }, - { - "service": "FSx" - }, - { - "service": "FSx for Lustre" - }, - { - "service": "FSx for Windows File Server" - }, - { - "service": "GameLift" - }, - { - "service": "AWS Global Accelerator" - }, - { - "service": "Glue" - }, - { - "service": "Grafana" - }, - { - "service": "Greengrass" - }, - { - "service": "Ground Station" - }, - { - "service": "Ground Truth" - }, - { - "service": "GovCloud (US)" - }, - { - "service": "GuardDuty" - }, - { - "service": "Health" - }, - { - "service": "HealthLake" - }, - { - "service": "Honeycode" - }, - { - "service": "Identity and Access Management", - "filteringTags": ["IAM"] - }, - { - "service": "Image Builder" - }, - { - "service": "Import/Export" - }, - { - "service": "Inspector" - }, - { - "service": "IoT" - }, - { - "service": "IoT Analytics" - }, - { - "service": "IoT Core for LoRaWAN" - }, - { - "service": "IoT Device Defender" - }, - { - "service": "IoT Device Management" - }, - { - "service": "IoT Events" - }, - { - "service": "IoT SiteWise" - }, - { - "service": "IoT Things Graph" - }, - { - "service": "IoT Wireless" - }, - { - "service": "IoT 1-Click" - }, - { - "service": "IQ" - }, - { - "service": "Kendra" - }, - { - "service": "Key Management Service", - "filteringTags": ["KMS"] - }, - { - "service": "Kinesis" - }, - { - "service": "Kinesis Data Analytics" - }, - { - "service": "Kinesis Data Firehose" - }, - { - "service": "Kinesis Video Streams" - }, - { - "service": "Lake Formation", - "filteringTags": ["LF"] - }, - { - "service": "Lambda" - }, - { - "service": "Launch Wizard" - }, - { - "service": "Lex" - }, - { - "service": "License Manager" - }, - { - "service": "Lightsail" - }, - { - "service": "Local Zones" - }, - { - "service": "Location Service" - }, - { - "service": "Lookout for Equipment" - }, - { - "service": "Lookout for Metrics" - }, - { - "service": "Lookout for Vision" - }, - { - "service": "Lumberyard" - }, - { - "service": "Machine Learning" - }, - { - "service": "Macie" - }, - { - "service": "Managed Blockchain" - }, - { - "service": "Managed Service for Grafana" - }, - { - "service": "Managed Services" - }, - { - "service": "Managed Streaming for Apache Kafka", - "filteringTags": ["MSK"] - }, - { - "service": "Management Console" - }, - { - "service": "Management Portal for vCenter" - }, - { - "service": "Marketplace" - }, - { - "service": "Mechanical Turk" - }, - { - "service": "MediaConnect" - }, - { - "service": "MediaConvert" - }, - { - "service": "MediaLive" - }, - { - "service": "MediaPackage" - }, - { - "service": "MediaStore" - }, - { - "service": "MediaTailor" - }, - { - "service": "Migration Hub" - }, - { - "service": "Mobile Analytics" - }, - { - "service": "Mobile Hub" - }, - { - "service": "Monitron" - }, - { - "service": "MQ" - }, - { - "service": "MXNet" - }, - { - "service": "Neptune" - }, - { - "service": "Network Firewall" - }, - { - "service": "OpsWorks" - }, - { - "service": "OpsWorks Stacks" - }, - { - "service": "OpsWorks for Chef Automate" - }, - { - "service": "Organizations" - }, - { - "service": "Outposts" - }, - { - "service": "Panorama" - }, - { - "service": "ParallelCluster" - }, - { - "service": "Personal Health Dashboard" - }, - { - "service": "Personalize" - }, - { - "service": "Pinpoint" - }, - { - "service": "Polly" - }, - { - "service": "Private Certificate Authority", - "filteringTags": ["PCA"] - }, - { - "service": "Prometheus" - }, - { - "service": "Proton" - }, - { - "service": "QLDB" - }, - { - "service": "QuickSight" - }, - { - "service": "Reachability Analyzer" - }, - { - "service": "Redshift" - }, - { - "service": "Rekognition" - }, - { - "service": "Relational Database Service", - "filteringTags": ["RDS"] - }, - { - "service": "Remote Configuration TBR" - }, - { - "service": "Resource Groups" - }, - { - "service": "Resource Access Manager", - "filteringTags": ["RAM"] - }, - { - "service": "RoboMaker" - }, - { - "service": "Route 53", - "filteringTags": ["R53"] - }, - { - "service": "SageMaker" - }, - { - "service": "Schema Conversion Tool", - "filteringTags": ["SCT"] - }, - { - "service": "Secrets Manager" - }, - { - "service": "Security Hub" - }, - { - "service": "Security Token Service", - "filteringTags": ["STS"] - }, - { - "service": "Server Migration Service" - }, - { - "service": "Serverless Application Model", - "filteringTags": ["SAM"] - }, - { - "service": "Serverless Application Repository", - "filteringTags": ["SAR"] - }, - { - "service": "Service Catalog" - }, - { - "service": "Service Health Dashboard" - }, - { - "service": "Service Quotas" - }, - { - "service": "Shield" - }, - { - "service": "Signer" - }, - { - "service": "Silk" - }, - { - "service": "Simple Email Service", - "filteringTags": ["SES"] - }, - { - "service": "Simple Notification Service", - "filteringTags": ["SNS"] - }, - { - "service": "Simple Queue Service", - "filteringTags": ["SQS"] - }, - { - "service": "Simple Storage Service", - "filteringTags": ["S3"] - }, - { - "service": "Simple Storage Service Glacier", - "filteringTags": ["S3"] - }, - { - "service": "Simple Workflow Service", - "filteringTags": ["SWS"] - }, - { - "service": "SimpleDB" - }, - { - "service": "Single Sign-On" - }, - { - "service": "Site-to-Site VPN" - }, - { - "service": "Snowball" - }, - { - "service": "Snowcone" - }, - { - "service": "Snowmobile" - }, - { - "service": "Step Functions" - }, - { - "service": "Storage Gateway" - }, - { - "service": "Sumerian" - }, - { - "service": "Support" - }, - { - "service": "Systems Manager" - }, - { - "service": "Textract" - }, - { - "service": "Timestream" - }, - { - "service": "Tools for PowerShell" - }, - { - "service": "Transcribe" - }, - { - "service": "Transfer Family" - }, - { - "service": "Transit Gateway", - "filteringTags": ["TGW"] - }, - { - "service": "Translate" - }, - { - "service": "Trusted Advisor", - "filteringTags": ["TA"] - }, - { - "service": "Virtual Private Cloud", - "filteringTags": ["VPC"] - }, - { - "service": "WAF", - "filteringTags": ["Web Application Firewall"] - }, - { - "service": "Wavelength" - }, - { - "service": "Well-Architected Tool" - }, - { - "service": "WorkDocs" - }, - { - "service": "WorkLink" - }, - { - "service": "WorkMail" - }, - { - "service": "WorkSpaces" - }, - { - "service": "WAM", - "filteringTags": ["WorkSpaces Application Manager"] - }, - { - "service": "X-Ray" - } - ] \ No newline at end of file +export const services = [ + { + service: 'Alexa for Business', + }, + { + service: 'Amazon AWS', + }, + { + service: 'Amazon Web Services', + filteringTags: ['AWS'], + }, + { + service: 'Amplify', + }, + { + service: 'API Gateway', + filteringTags: ['API GW'], + }, + { + service: 'Application Auto Scaling', + filteringTags: ['Autoscaling'], + }, + { + service: 'Application Discovery Service', + filteringTags: ['ADS'], + }, + { + service: 'AppFlow', + }, + { + service: 'App Mesh', + }, + { + service: 'AppStream 2.0', + }, + { + service: 'AppSync', + }, + { + service: 'Artifact', + }, + { + service: 'Athena', + }, + { + service: 'Audit Manager', + }, + { + service: 'Augmented AI', + }, + { + service: 'Aurora', + }, + { + service: 'Auto Scaling', + }, + { + service: 'Backint Agent', + }, + { + service: 'Backup', + }, + { + service: 'Batch', + }, + { + service: 'Billing and Cost Management', + }, + { + service: 'Blockchain Templates', + }, + { + service: 'Blox', + }, + { + service: 'Certificate Manager', + filteringTags: ['ACM'], + }, + { + service: 'Chalice', + }, + { + service: 'Chatbot', + }, + { + service: 'Chime', + }, + { + service: 'Client VPN', + }, + { + service: 'Cloud Development Kit', + filteringTags: ['CDK'], + }, + { + service: 'Cloud Digital Interface SDK', + }, + { + service: 'Cloud Directory', + }, + { + service: 'Cloud Map', + }, + { + service: 'Cloud9', + }, + { + service: 'CloudFormation', + filteringTags: ['CFN'], + }, + { + service: 'CloudFront', + }, + { + service: 'CloudHSM', + }, + { + service: 'CloudSearch', + }, + { + service: 'CloudShell', + }, + { + service: 'CloudTrail', + }, + { + service: 'CloudWatch', + }, + { + service: 'CloudWatch Events', + }, + { + service: 'CloudWatch Logs', + }, + { + service: 'CodeArtifact', + }, + { + service: 'CodeBuild', + }, + { + service: 'CodeCommit', + }, + { + service: 'CodeDeploy', + }, + { + service: 'CodeGuru', + }, + { + service: 'CodePipeline', + }, + { + service: 'CodeStar', + }, + { + service: 'Cognito', + }, + { + service: 'Command Line Interface', + filteringTags: ['CLI'], + }, + { + service: 'Comprehend', + }, + { + service: 'Compute Optimizer', + }, + { + service: 'Config', + }, + { + service: 'Connect', + }, + { + service: 'Control Tower', + }, + { + service: 'Console Mobile Application', + }, + { + service: 'Corretto', + }, + { + service: 'Data Exchange', + }, + { + service: 'Data Pipeline', + }, + { + service: 'DataSync', + }, + { + service: 'Database Migration Service', + filteringTags: ['DMS'], + }, + { + service: 'Deep Learning AMIs', + }, + { + service: 'Deep Learning Containers', + }, + { + service: 'DeepComposer', + }, + { + service: 'DeepLens', + }, + { + service: 'DeepRacer', + }, + { + service: 'Detective', + }, + { + service: 'Device Farm', + }, + { + service: 'DevPay', + }, + { + service: 'Direct Connect', + filteringTags: ['DC'], + }, + { + service: 'Directory Service', + }, + { + service: 'Directory Service for Microsoft AD', + }, + { + service: 'AD Connector', + }, + { + service: 'Simple AD', + }, + { + service: 'DocumentDB', + }, + { + service: 'DynamoDB', + filteringTags: ['DDB'], + }, + { + service: 'DynamoDB Streams', + filteringTags: ['DDB'], + }, + { + service: 'EC2 Auto Scaling', + }, + { + service: 'Elastic Beanstalk', + filteringTags: ['EB'], + }, + { + service: 'Elastic Block Store', + filteringTags: ['EBS'], + }, + { + service: 'Elastic Compute Cloud', + filteringTags: ['EC2'], + }, + { + service: 'Elastic Container Registry', + filteringTags: ['ECR'], + }, + { + service: 'Elastic Container Service', + filteringTags: ['ECS'], + }, + { + service: 'Elastic Kubernetes Service', + filteringTags: ['EKS'], + }, + { + service: 'Elastic File System', + filteringTags: ['EFS'], + }, + { + service: 'Elastic Inference', + filteringTags: ['EI'], + }, + { + service: 'Elastic Load Balancing', + filteringTags: ['ELB'], + }, + { + service: 'Elastic Transcoder', + }, + { + service: 'ElastiCache', + }, + { + service: 'Amazon Elasticsearch Service', + }, + { + service: 'Amazon OpenSearch Service', + }, + { + service: 'EMR', + }, + { + service: 'EventBridge', + }, + { + service: 'Fargate', + }, + { + service: 'Firewall Manager', + }, + { + service: 'Forecast', + }, + { + service: 'Fraud Detector', + }, + { + service: 'FreeRTOS', + }, + { + service: 'FSx', + }, + { + service: 'FSx for Lustre', + }, + { + service: 'FSx for Windows File Server', + }, + { + service: 'GameLift', + }, + { + service: 'AWS Global Accelerator', + }, + { + service: 'Glue', + }, + { + service: 'Grafana', + }, + { + service: 'Greengrass', + }, + { + service: 'Ground Station', + }, + { + service: 'Ground Truth', + }, + { + service: 'GovCloud (US)', + }, + { + service: 'GuardDuty', + }, + { + service: 'Health', + }, + { + service: 'HealthLake', + }, + { + service: 'Honeycode', + }, + { + service: 'Identity and Access Management', + filteringTags: ['IAM'], + }, + { + service: 'Image Builder', + }, + { + service: 'Import/Export', + }, + { + service: 'Inspector', + }, + { + service: 'IoT', + }, + { + service: 'IoT Analytics', + }, + { + service: 'IoT Core for LoRaWAN', + }, + { + service: 'IoT Device Defender', + }, + { + service: 'IoT Device Management', + }, + { + service: 'IoT Events', + }, + { + service: 'IoT SiteWise', + }, + { + service: 'IoT Things Graph', + }, + { + service: 'IoT Wireless', + }, + { + service: 'IoT 1-Click', + }, + { + service: 'IQ', + }, + { + service: 'Kendra', + }, + { + service: 'Key Management Service', + filteringTags: ['KMS'], + }, + { + service: 'Kinesis', + }, + { + service: 'Kinesis Data Analytics', + }, + { + service: 'Kinesis Data Firehose', + }, + { + service: 'Kinesis Video Streams', + }, + { + service: 'Lake Formation', + filteringTags: ['LF'], + }, + { + service: 'Lambda', + }, + { + service: 'Launch Wizard', + }, + { + service: 'Lex', + }, + { + service: 'License Manager', + }, + { + service: 'Lightsail', + }, + { + service: 'Local Zones', + }, + { + service: 'Location Service', + }, + { + service: 'Lookout for Equipment', + }, + { + service: 'Lookout for Metrics', + }, + { + service: 'Lookout for Vision', + }, + { + service: 'Lumberyard', + }, + { + service: 'Machine Learning', + }, + { + service: 'Macie', + }, + { + service: 'Managed Blockchain', + }, + { + service: 'Managed Service for Grafana', + }, + { + service: 'Managed Services', + }, + { + service: 'Managed Streaming for Apache Kafka', + filteringTags: ['MSK'], + }, + { + service: 'Management Console', + }, + { + service: 'Management Portal for vCenter', + }, + { + service: 'Marketplace', + }, + { + service: 'Mechanical Turk', + }, + { + service: 'MediaConnect', + }, + { + service: 'MediaConvert', + }, + { + service: 'MediaLive', + }, + { + service: 'MediaPackage', + }, + { + service: 'MediaStore', + }, + { + service: 'MediaTailor', + }, + { + service: 'Migration Hub', + }, + { + service: 'Mobile Analytics', + }, + { + service: 'Mobile Hub', + }, + { + service: 'Monitron', + }, + { + service: 'MQ', + }, + { + service: 'MXNet', + }, + { + service: 'Neptune', + }, + { + service: 'Network Firewall', + }, + { + service: 'OpsWorks', + }, + { + service: 'OpsWorks Stacks', + }, + { + service: 'OpsWorks for Chef Automate', + }, + { + service: 'Organizations', + }, + { + service: 'Outposts', + }, + { + service: 'Panorama', + }, + { + service: 'ParallelCluster', + }, + { + service: 'Personal Health Dashboard', + }, + { + service: 'Personalize', + }, + { + service: 'Pinpoint', + }, + { + service: 'Polly', + }, + { + service: 'Private Certificate Authority', + filteringTags: ['PCA'], + }, + { + service: 'Prometheus', + }, + { + service: 'Proton', + }, + { + service: 'QLDB', + }, + { + service: 'QuickSight', + }, + { + service: 'Reachability Analyzer', + }, + { + service: 'Redshift', + }, + { + service: 'Rekognition', + }, + { + service: 'Relational Database Service', + filteringTags: ['RDS'], + }, + { + service: 'Remote Configuration TBR', + }, + { + service: 'Resource Groups', + }, + { + service: 'Resource Access Manager', + filteringTags: ['RAM'], + }, + { + service: 'RoboMaker', + }, + { + service: 'Route 53', + filteringTags: ['R53'], + }, + { + service: 'SageMaker', + }, + { + service: 'Schema Conversion Tool', + filteringTags: ['SCT'], + }, + { + service: 'Secrets Manager', + }, + { + service: 'Security Hub', + }, + { + service: 'Security Token Service', + filteringTags: ['STS'], + }, + { + service: 'Server Migration Service', + }, + { + service: 'Serverless Application Model', + filteringTags: ['SAM'], + }, + { + service: 'Serverless Application Repository', + filteringTags: ['SAR'], + }, + { + service: 'Service Catalog', + }, + { + service: 'Service Health Dashboard', + }, + { + service: 'Service Quotas', + }, + { + service: 'Shield', + }, + { + service: 'Signer', + }, + { + service: 'Silk', + }, + { + service: 'Simple Email Service', + filteringTags: ['SES'], + }, + { + service: 'Simple Notification Service', + filteringTags: ['SNS'], + }, + { + service: 'Simple Queue Service', + filteringTags: ['SQS'], + }, + { + service: 'Simple Storage Service', + filteringTags: ['S3'], + }, + { + service: 'Simple Storage Service Glacier', + filteringTags: ['S3'], + }, + { + service: 'Simple Workflow Service', + filteringTags: ['SWS'], + }, + { + service: 'SimpleDB', + }, + { + service: 'Single Sign-On', + }, + { + service: 'Site-to-Site VPN', + }, + { + service: 'Snowball', + }, + { + service: 'Snowcone', + }, + { + service: 'Snowmobile', + }, + { + service: 'Step Functions', + }, + { + service: 'Storage Gateway', + }, + { + service: 'Sumerian', + }, + { + service: 'Support', + }, + { + service: 'Systems Manager', + }, + { + service: 'Textract', + }, + { + service: 'Timestream', + }, + { + service: 'Tools for PowerShell', + }, + { + service: 'Transcribe', + }, + { + service: 'Transfer Family', + }, + { + service: 'Transit Gateway', + filteringTags: ['TGW'], + }, + { + service: 'Translate', + }, + { + service: 'Trusted Advisor', + filteringTags: ['TA'], + }, + { + service: 'Virtual Private Cloud', + filteringTags: ['VPC'], + }, + { + service: 'WAF', + filteringTags: ['Web Application Firewall'], + }, + { + service: 'Wavelength', + }, + { + service: 'Well-Architected Tool', + }, + { + service: 'WorkDocs', + }, + { + service: 'WorkLink', + }, + { + service: 'WorkMail', + }, + { + service: 'WorkSpaces', + }, + { + service: 'WAM', + filteringTags: ['WorkSpaces Application Manager'], + }, + { + service: 'X-Ray', + }, +]; diff --git a/source/frontend/src/Utils/ErrorHandlingUtils.js b/source/frontend/src/Utils/ErrorHandlingUtils.js index f205701a..2f30a1dd 100644 --- a/source/frontend/src/Utils/ErrorHandlingUtils.js +++ b/source/frontend/src/Utils/ErrorHandlingUtils.js @@ -6,19 +6,19 @@ import isObject from 'lodash.isobject'; const lookForError = (search, obj) => { let found; - forOwn(obj, function(value, key) { - found = isObject(value) ? lookForError(search, value) : key === search; + forOwn(obj, function (value, key) { + found = isObject(value) ? lookForError(search, value) : key === search; }); return found; - }; - +}; + export const processAccountsError = (retryCount, retryAttempts, response) => { - return ( - response.error || - (lookForError('unprocessedAccounts', response) && - retryCount < retryAttempts) - ); + return ( + response.error || + (lookForError('unprocessedAccounts', response) && + retryCount < retryAttempts) + ); }; export const processResourcesError = (retryCount, retryAttempts, response) => -response.error && retryCount < retryAttempts; \ No newline at end of file + response.error && retryCount < retryAttempts; diff --git a/source/frontend/src/Utils/Forms/AttributeCreator.js b/source/frontend/src/Utils/Forms/AttributeCreator.js index 987c20de..4fae2e3a 100644 --- a/source/frontend/src/Utils/Forms/AttributeCreator.js +++ b/source/frontend/src/Utils/Forms/AttributeCreator.js @@ -5,39 +5,37 @@ import React from 'react'; import AttributeEditor from '@cloudscape-design/components/attribute-editor'; function getLimit(limit, items) { - if (limit) { - if (items.length === limit) { - return `You have reached the limit of ${limit} item(s)` + if (limit) { + if (items.length === limit) { + return `You have reached the limit of ${limit} item(s)`; + } else return `You can add up to ${limit} item(s)`; } - else - return `You can add up to ${limit} item(s)` - } - return undefined + return undefined; } export const AttributeCreator = ({ - item, - items, - limit, - itemAdded, - itemRemoved, - definition, + item, + items, + limit, + itemAdded, + itemRemoved, + definition, }) => { - return ( - - itemRemoved(itemIndex) - } - items={items} - definition={definition} - addButtonText={`Add ${item}`} - disableAddButton={items.length === limit} - removeButtonText='Remove' - additionalInfo={getLimit(limit, items)} - empty={limit ? `Add upto ${limit} items` : undefined} - /> - ); + return ( + + itemRemoved(itemIndex) + } + items={items} + definition={definition} + addButtonText={`Add ${item}`} + disableAddButton={items.length === limit} + removeButtonText="Remove" + additionalInfo={getLimit(limit, items)} + empty={limit ? `Add upto ${limit} items` : undefined} + /> + ); }; export default AttributeCreator; diff --git a/source/frontend/src/Utils/Forms/Copy/CopyContent.js b/source/frontend/src/Utils/Forms/Copy/CopyContent.js index 23c00c1c..3b8b902e 100644 --- a/source/frontend/src/Utils/Forms/Copy/CopyContent.js +++ b/source/frontend/src/Utils/Forms/Copy/CopyContent.js @@ -2,35 +2,37 @@ // SPDX-License-Identifier: Apache-2.0 import React from 'react'; -import { Popover, StatusIndicator, Button } from '@cloudscape-design/components'; +import {Popover, StatusIndicator, Button} from '@cloudscape-design/components'; import PropTypes from 'prop-types'; -const CopyContent = ({ componentId }) => { - return ( - - Copied successfully - - }> - - - ); +const CopyContent = ({componentId}) => { + return ( + + Copied successfully + + } + > + + + ); }; CopyContent.propTypes = { - componentId: PropTypes.string.isRequired, + componentId: PropTypes.string.isRequired, }; export default CopyContent; diff --git a/source/frontend/src/Utils/Forms/Upload/AWSFileUpload.js b/source/frontend/src/Utils/Forms/Upload/AWSFileUpload.js index 37600b52..0b9a9276 100644 --- a/source/frontend/src/Utils/Forms/Upload/AWSFileUpload.js +++ b/source/frontend/src/Utils/Forms/Upload/AWSFileUpload.js @@ -2,75 +2,75 @@ // SPDX-License-Identifier: Apache-2.0 import React from 'react'; -import { readString } from 'react-papaparse'; -import { SpaceBetween, Button } from '@cloudscape-design/components'; +import {readString} from 'react-papaparse'; +import {SpaceBetween, Button} from '@cloudscape-design/components'; import PropTypes from 'prop-types'; const reader = new FileReader(); -import * as R from 'ramda'; +import * as R from 'ramda'; -const FileUploader = ({ validateAndUpload, onError }) => { - // Create a reference to the hidden file input element - const hiddenFileInput = React.useRef(null); +const FileUploader = ({validateAndUpload, onError}) => { + // Create a reference to the hidden file input element + const hiddenFileInput = React.useRef(null); - // Programatically click the hidden file input element - // when the Button component is clicked - const handleClick = () => { - hiddenFileInput.current.click(); - }; + // Programatically click the hidden file input element + // when the Button component is clicked + const handleClick = () => { + hiddenFileInput.current.click(); + }; - // Call a function (passed as a prop from the parent component) - // to handle the user-selected file - const handleChange = (event) => { - const fileUploaded = event.target.files[0]; - if (fileUploaded && fileUploaded.size >= 2048 ) { - onError([ - { - item: null, - message: 'File is too large. It must be under 2KB', - }, - ]); - } else { - reader.readAsText(fileUploaded); + // Call a function (passed as a prop from the parent component) + // to handle the user-selected file + const handleChange = event => { + const fileUploaded = event.target.files[0]; + if (fileUploaded && fileUploaded.size >= 2048) { + onError([ + { + item: null, + message: 'File is too large. It must be under 2KB', + }, + ]); + } else { + reader.readAsText(fileUploaded); - reader.onload = function () { - validateAndUpload( - R.map( - (e) => R.pick(['accountId', 'accountName', 'region'], e), - readString(reader.result, { - header: true, - delimiter: ',', - skipEmptyLines: true, - }).data - ) - ); - }; + reader.onload = function () { + validateAndUpload( + R.map( + e => R.pick(['accountId', 'accountName', 'region'], e), + readString(reader.result, { + header: true, + delimiter: ',', + skipEmptyLines: true, + }).data + ) + ); + }; - reader.onerror = function () { - console.error(reader.error); - }; - } - }; - return ( - - - - - ); + reader.onerror = function () { + console.error(reader.error); + }; + } + }; + return ( + + + + + ); }; FileUploader.propTypes = { - validateAndUpload: PropTypes.func.isRequired, - onError: PropTypes.func.isRequired + validateAndUpload: PropTypes.func.isRequired, + onError: PropTypes.func.isRequired, }; export default FileUploader; diff --git a/source/frontend/src/Utils/HelpPanel/PlaceholderHelp.js b/source/frontend/src/Utils/HelpPanel/PlaceholderHelp.js index 8d05a483..21dc4252 100644 --- a/source/frontend/src/Utils/HelpPanel/PlaceholderHelp.js +++ b/source/frontend/src/Utils/HelpPanel/PlaceholderHelp.js @@ -2,19 +2,19 @@ // SPDX-License-Identifier: Apache-2.0 import React from 'react'; -import { HelpPanel } from '@cloudscape-design/components'; +import {HelpPanel} from '@cloudscape-design/components'; const PlaceholderHelp = () => { - return ( - Work in progress}> -
-

- We are still building the help panel content for this page. It will be available soon. -

-
-
- ); + return ( + Work in progress}> +
+

+ We are still building the help panel content for this page. + It will be available soon. +

+
+
+ ); }; export default PlaceholderHelp; diff --git a/source/frontend/src/Utils/ImageSelector.js b/source/frontend/src/Utils/ImageSelector.js index 2099e9a1..9f50aaf0 100644 --- a/source/frontend/src/Utils/ImageSelector.js +++ b/source/frontend/src/Utils/ImageSelector.js @@ -1,618 +1,1192 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -const icons = new Map( - [ - ["AWS::ACM::Certificate", "Res_AWS-Certificate-Manager_Certificate_48_Light"], - ["AWS::AccessAnalyzer::Analyzer", "Res_AWS-Identity-Access-Management_AWS-IAM-Access-Analyzer_48_Light"], - ["AWS::AmazonMQ::Broker", "Res_Amazon-MQ_Broker_48"], - ["AWS::Amplify::App", "Arch_AWS-Amplify_64-App"], - ["AWS::ApiGateway::Authorizer", "API-Gateway-Authorizer"], - ["AWS::ApiGateway::Method", "API-Gateway-method-Other_light-bg"], - ["AWS::ApiGateway::Resource", "API-Gateway-Resource-light-bg"], - ["AWS::ApiGateway::RestApi", "Amazon-API-Gateway_Endpoint_light-bg"], - ["AWS::ApiGateway::Stage", "API-Gateway-Stage"], - ["AWS::ApiGatewayV2::Api", "Res_Amazon-API-Gateway_Endpoint_48_Light"], - ["AWS::ApiGatewayV2::Stage", "API-GatewayV2-Stage"], - ["AWS::AppConfig::ConfigurationProfile", "Arch_AWS-AppConfig_64-ConfigurationProfile"], - ["AWS::AppConfig::DeploymentStrategy", "Arch_AWS-AppConfig_64-DeploymentStrategy"], - ["AWS::AppConfig::Environment", "Arch_AWS-AppConfig_64-Environment"], - ["AWS::AppMesh::Mesh", "Res_AWS-App-Mesh_Mesh_48"], - ["AWS::AppMesh::VirtualGateway", "Res_AWS-App-Mesh_Virtual-Gateway_48"], - ["AWS::AppMesh::VirtualNode", "Res_AWS-App-Mesh_Virtual-Node_48"], - ["AWS::AppMesh::VirtualRouter", "Res_AWS-App-Mesh_Virtual-Router_48"], - ["AWS::AppMesh::VirtualService", "Res_AWS-App-Mesh_Virtual-Service_48"], - ["AWS::AppRunner::Service", "Arch_AWS-App-Runner_64-Service"], - ["AWS::AppRunner::VpcConnector", "Arch_AWS-App-Runner_64-VpcConnector"], - ["AWS::AppStream::Application", "Arch_Amazon-AppStream_64-Application"], - ["AWS::AppStream::DirectoryConfig", "Arch_Amazon-AppStream_64-DirectoryConfig"], - ["AWS::AppStream::Stack", "Arch_Amazon-AppStream_64-Stack"], - ["AWS::AppSync::GraphQLApi", "Arch_AWS-AppSync_64-GraphQLApi"], - ["AWS::AutoScaling::AutoScalingGroup", "Amazon-EC2-Auto-Scaling"], - ["AWS::AutoScaling::LaunchConfiguration", "AWS-AutoScaling-LaunchConfiguration"], - ["AWS::AutoScaling::ScalingPolicy", "AWS-AutoScaling-ScalingPolicy"], - ["AWS::AutoScaling::WarmPool", "Arch_AWS-Auto-Scaling_64-WarmPool"], - ["AWS::Backup::BackupPlan", "Res_AWS-Backup_Backup-Plan_48_Light"], - ["AWS::Backup::BackupSelection", "AWS-Backup-Selection"], - ["AWS::Backup::BackupVault", "Res_AWS-Backup_Backup-Vault_48_Light"], - ["AWS::Backup::RecoveryPoint", "Res_AWS-Backup_Recovery-Point-Objective_48_Light"], - ["AWS::Batch::ComputeEnvironment", "Res_AWS-Batch_Compute_48_Light"], - ["AWS::Batch::JobQueue", "Arch_AWS-Batch_Queue_64"], - ["AWS::Budgets::BudgetsAction", "Arch_AWS-Budgets_64-BudgetsAction"], - ["AWS::Cassandra::Keyspace", "Arch_Amazon-Keyspaces_64"], - ["AWS::Cloud9::EnvironmentEC2", "Res_AWS-Cloud9_Cloud9_48-EnvironmentEC2"], - ["AWS::CloudFormation::Stack", "AWS-CloudFormation"], - ["AWS::CloudFront::Distribution", "Amazon-CloudFront_light-bg"], - ["AWS::CloudFront::StreamingDistribution", "Amazon-CloudFront_Streaming-Distribution_light-bg"], - ["AWS::CloudTrail::Trail", "Amazon-CloudTrail-trail-light-bg"], - ["AWS::CloudWatch::Alarm", "Amazon-CloudWatch_Alarm_light-bg"], - ["AWS::CodeArtifact::Repository", "Arch_AWS-CodeArtifact_64-Repository"], - ["AWS::CodeBuild::Project", "AWS-CodeBuild_light-bg"], - ["AWS::CodeDeploy::Application", "Arch_AWS-CodeDeploy_64-Application"], - ["AWS::CodeDeploy::DeploymentConfig", "Arch_AWS-CodeDeploy_64-DeploymentConfig"], - ["AWS::CodeDeploy::DeploymentGroup", "Arch_AWS-CodeDeploy_64-DeploymentGroup"], - ["AWS::CodeGuruReviewer::ProfilingGroup", "Arch_Amazon-CodeGuruReviewer_64-ProfilingGroup"], - ["AWS::CodeGuruReviewer::RepositoryAssociation", "Arch_Amazon-CodeGuruReviewer_64-RepositoryAssociation"], - ["AWS::CodePipeline::Pipeline", "AWS-CodePipeline_light-bg"], - ["AWS::Cognito::UserPool", "Arch_Amazon-Cognito_64"], - ["AWS::Config::ConfigurationRecorder", "Arch_AWS-Config_64-ConfigurationRecorder"], - ["AWS::Config::ConformancePackCompliance", "Arch_AWS-Config_64-ConformancePackCompliance"], - ["AWS::Config::ResourceCompliance", "Arch_AWS-Config_64"], - ["AWS::Connect::PhoneNumber", "Arch_Amazon-Connect_64-PhoneNumber"], - ["AWS::CustomerProfiles::Domain", "Arch_Amazon-Connect_64-Domain"], - ["AWS::DMS::Certificate", "Arch_AWS-Database-Migration-Service_64-Certificate"], - ["AWS::DMS::EventSubscription", "Res_Amazon-Simple-Notification-Service_DMS_Notification_48_Light"], - ["AWS::DMS::ReplicationInstance", "Arch_AWS-Database-Migration-Service_64-ReplicationInstance"], - ["AWS::DMS::ReplicationSubnetGroup", "DMSReplicationSubnetGroup"], - ["AWS::DMS::ReplicationTask", "Arch_AWS-Database-Migration-Service_64-ReplicationTask"], - ["AWS::DeviceFarm::TestGridProject", "Arch_AWS-Device-Farm_64-TestGridProject"], - ["AWS::DynamoDB::Stream", "Res_Amazon-DynamoDB_Stream_48"], - ["AWS::DynamoDB::Table", "Amazon-DynamoDB_Table_light-bg"], - ["AWS::EC2::CustomerGateway", "Amazon-VPC_Customer_Gateway_light-bg-menu"], - ["AWS::EC2::CustomerGateway-status-available", "Amazon-VPC_Customer_Gateway_light-bg"], - ["AWS::EC2::CustomerGateway-status-negative", "Amazon-VPC_Customer_Gateway_light-bg-error"], - ["AWS::EC2::CustomerGateway-status-warning", "Amazon-VPC_Customer_Gateway_light-bg-warning"], - ["AWS::EC2::DHCPOptions", "Res_Amazon-EC2_Instances_48-DHCPOptions"], - ["AWS::EC2::EIP", "Amazon-EC2_Elastic-IP-Address_light-bg"], - ["AWS::EC2::FlowLog", "Amazon-VPC_Flow-Logs_light-bg"], - ["AWS::EC2::IPAM", "Res_Amazon-EC2_Instances_48-IPAM"], - ["AWS::EC2::Instance", "Amazon-EC2_Instance_light-bg"], - ["AWS::EC2::InternetGateway", "Amazon-VPC_Internet-Gateway_light-bg"], - ["AWS::EC2::LaunchTemplate", "Res_AWS-EC2_Launch_Template_48_Light"], - ["AWS::EC2::NatGateway", "Amazon-VPC_NAT-Gateway_light-bg-menu"], - ["AWS::EC2::NatGateway-status-available", "Amazon-VPC_NAT-Gateway_light-bg"], - ["AWS::EC2::NatGateway-status-negative", "Amazon-VPC_NAT-Gateway_light-bg-error"], - ["AWS::EC2::NatGateway-status-warning", "Amazon-VPC_NAT-Gateway_light-bg-warning"], - ["AWS::EC2::NetworkAcl", "Amazon-VPC_Network-Access-Control-List_light-bg"], - ["AWS::EC2::NetworkInsightsPath", "Res_Amazon-EC2_Instances_48-NetworkInsightsPath"], - ["AWS::EC2::NetworkInterface", "Amazon-VPC_Elastic-Network-Interface_light-bg"], - ["AWS::EC2::PrefixList", "Res_Amazon-EC2_Instance_48-PrefixList"], - ["AWS::EC2::RouteTable", "Amazon-VPC_Router_light-bg"], - ["AWS::EC2::SecurityGroup", "AWSSecurityGroup"], - ["AWS::EC2::Spot", "Amazon-EC2_Spot-Instance_light-bg-menu"], - ["AWS::EC2::Spot-status-available", "Amazon-EC2_Spot-Instance_light-bg"], - ["AWS::EC2::Spot-status-negative", "Amazon-EC2_Spot-Instance_light-bg-error"], - ["AWS::EC2::Spot-status-warning", "Amazon-EC2_Spot-Instance_light-bg-warning"], - ["AWS::EC2::SpotFleet", "Res_Amazon-EC2_Spot-Instance_48-SpotFleet"], - ["AWS::EC2::Subnet", "VPC-subnet-private_light-bg-menu"], - ["AWS::EC2::Subnet-public", "VPC-subnet-public_light-bg-menu"], - ["AWS::EC2::Subnet-public-status-available", "VPC-subnet-public_light-bg"], - ["AWS::EC2::Subnet-public-status-negative", "VPC-subnet-public_light-bg-error"], - ["AWS::EC2::Subnet-public-status-warning", "VPC-subnet-public_light-bg-warning"], - ["AWS::EC2::Subnet-status-available", "VPC-subnet-private_light-bg"], - ["AWS::EC2::Subnet-status-negative", "VPC-subnet-private_light-bg-error"], - ["AWS::EC2::Subnet-status-warning", "VPC-subnet-private_light-bg-warning"], - ["AWS::EC2::SubnetRouteTableAssociation", "Arch_Amazon-EC2_64-SubnetRouteTableAssociation"], - ["AWS::EC2::TrafficMirrorFilter", "Res_Amazon-EC2_Instances_48-TrafficMirrorFilter"], - ["AWS::EC2::TrafficMirrorSession", "Res_Amazon-EC2_Instances_48-TrafficMirrorSession"], - ["AWS::EC2::TrafficMirrorTarget", "Res_Amazon-EC2_Instances_48-TrafficMirrorTarget"], - ["AWS::EC2::TransitGateway", "Arch_AWS-Transit-Gateway_64"], - ["AWS::EC2::TransitGatewayAttachment", "Res_AWS-Transit-Gateway_Attachment_48"], - ["AWS::EC2::TransitGatewayRouteTable", "Res_AWS-Cloud-WAN_Transit-Gateway-Route-Table-Attachment_48"], - ["AWS::EC2::VPC", "VPC-menu"], - ["AWS::EC2::VPC-status-available", "VPC"], - ["AWS::EC2::VPC-status-negative", "VPC-error"], - ["AWS::EC2::VPC-status-warning", "VPC-warning"], - ["AWS::EC2::VPCEndpoint", "Amazon-EC2_VPC_Endpoints_light-bg-menu"], - ["AWS::EC2::VPCEndpoint-status-available", "Amazon-EC2_VPC_Endpoints_light-bg"], - ["AWS::EC2::VPCEndpoint-status-negative", "Amazon-EC2_VPC_Endpoints_light-bg-error"], - ["AWS::EC2::VPCEndpoint-status-warning", "Amazon-EC2_VPC_Endpoints_light-bg-warning"], - ["AWS::EC2::VPNConnection", "Amazon-VPN_Connection_light-bg-menu"], - ["AWS::EC2::VPNConnection-status-available", "Amazon-VPN_Connection_light-bg"], - ["AWS::EC2::VPNConnection-status-negative", "Amazon-VPN_Connection_light-bg-error"], - ["AWS::EC2::VPNConnection-status-warning", "Amazon-VPN_Connection_light-bg-warning"], - ["AWS::EC2::VPNConnectionRoute", "Amazon-VPN_Connection_Route_light-bg-menu"], - ["AWS::EC2::VPNConnectionRoute-status-available", "Amazon-VPN_Connection_Route_light-bg"], - ["AWS::EC2::VPNConnectionRoute-status-negative", "Amazon-VPN_Connection_Route_light-bg-error"], - ["AWS::EC2::VPNConnectionRoute-status-warning", "Amazon-VPN_Connection_Route_light-bg-warning"], - ["AWS::EC2::VPNGateway", "Amazon-VPN_Gateway_light-bg-menu"], - ["AWS::EC2::VPNGateway-status-available", "Amazon-VPN_Gateway_light-bg"], - ["AWS::EC2::VPNGateway-status-negative", "Amazon-VPN_Gateway_light-bg-error"], - ["AWS::EC2::VPNGateway-status-warning", "Amazon-VPN_Gateway_light-bg-warning"], - ["AWS::EC2::Volume", "Amazon-Elastic-Block-Store-EBS_Volume_light-bg-menu"], - ["AWS::EC2::Volume-status-available", "Amazon-Elastic-Block-Store-EBS_Volume_light-bg"], - ["AWS::EC2::Volume-status-negative", "Amazon-Elastic-Block-Store-EBS_Volume_light-bg-error"], - ["AWS::EC2::Volume-status-warning", "Amazon-Elastic-Block-Store-EBS_Volume_light-bg-warning"], - ["AWS::ECR::Repository", "Amazon-EC2-Container-Registry"], - ["AWS::ECS::Cluster", "Amazon-Elastic-Container-Service-menu"], - ["AWS::ECS::Cluster-status-available", "Amazon-Elastic-Container-Service"], - ["AWS::ECS::Cluster-status-negative", "Amazon-Elastic-Container-Service-error"], - ["AWS::ECS::Cluster-status-warning", "Amazon-Elastic-Container-Service-warning"], - ["AWS::ECS::EnvironmentVariable", "Env-variable-ECS-light-bg"], - ["AWS::ECS::Service", "Amazon-Elastic-Container-Service_Service_light-bg-menu"], - ["AWS::ECS::Service-status-available", "Amazon-Elastic-Container-Service_Service_light-bg"], - ["AWS::ECS::Service-status-error", "Amazon-Elastic-Container-Service_Service_light-bg-error"], - ["AWS::ECS::Service-status-warning", "Amazon-Elastic-Container-Service_Service_light-bg-warning"], - ["AWS::ECS::Task", "Amazon-Elastic-Container-Service_Task_light-bg-menu"], - ["AWS::ECS::Task-status-available", "Amazon-Elastic-Container-Service_Task_light-bg"], - ["AWS::ECS::Task-status-error", "Amazon-Elastic-Container-Service_Task_light-bg-error"], - ["AWS::ECS::Task-status-warning", "Amazon-Elastic-Container-Service_Task_light-bg-warning"], - ["AWS::ECS::TaskDefinition", "ECS-Task-Definition-light-bg-menu"], - ["AWS::ECS::TaskDefinition-status-available", "ECS-Task-Definition-light-bg"], - ["AWS::ECS::TaskDefinition-status-error", "ECS-Task-Definition-light-bg-error"], - ["AWS::ECS::TaskDefinition-status-warning", "ECS-Task-Definition-light-bg-warning"], - ["AWS::ECS::TaskSet", "Res_Amazon-Elastic-Container-Service_Task_48-TaskSet"], - ["AWS::EFS::AccessPoint", "Res_Amazon-Simple-Storage-Service_General-Access-Points_48_Light"], - ["AWS::EFS::FileSystem", "Res_Amazon-Elastic-File-System_File-System_48_Light"], - ["AWS::EKS::Addon", "Arch_Amazon-Elastic-Kubernetes-Service_64-Addon"], - ["AWS::EKS::Cluster", "Amazon-Elastic-Kubernetes-Service-menu"], - ["AWS::EKS::Cluster-status-available", "Amazon-Elastic-Kubernetes-Service"], - ["AWS::EKS::Cluster-status-negative", "Amazon-Elastic-Kubernetes-Service-error"], - ["AWS::EKS::Cluster-status-warning", "Amazon-Elastic-Kubernetes-Service-warning"], - ["AWS::EKS::FargateProfile", "Arch_Amazon-EKS-Distro_64-FargateProfile"], - ["AWS::EKS::IdentityProviderConfig", "Arch_Amazon-Elastic-Kubernetes-Service_64-IdentityProviderConfig"], - ["AWS::EKS::Nodegroup", "Arch_Amazon-EKS-Distro_64"], - ["AWS::ElasticBeanstalk::Application", "Res_AWS-Elastic-Beanstalk_Deployment_48-ApplicationVersion"], - ["AWS::ElasticBeanstalk::ApplicationVersion", "Res_AWS-Elastic-Beanstalk_Application_48"], - ["AWS::ElasticBeanstalk::Environment", "Res_AWS-Elastic-Beanstalk_Deployment_48-Environment"], - ["AWS::ElasticLoadBalancing::LoadBalancer", "Elastic-Load-Balancing_Classic-load-balancer_light-bg-menu"], - ["AWS::ElasticLoadBalancing::LoadBalancer-status-available", "Elastic-Load-Balancing_Classic-load-balancer_light-bg"], - ["AWS::ElasticLoadBalancing::LoadBalancer-status-negative", "Elastic-Load-Balancing_Classic-load-balancer_light-bg-error"], - ["AWS::ElasticLoadBalancing::LoadBalancer-status-warning", "Elastic-Load-Balancing_Classic-load-balancer_light-bg-warning"], - ["AWS::ElasticLoadBalancingV2::Listener", "ELB-Listener-light-bg"], - ["AWS::ElasticLoadBalancingV2::LoadBalancer", "Elastic-Load-Balancing-ELB_Application-load-balancer_light-bg-menu"], - ["AWS::ElasticLoadBalancingV2::LoadBalancer-application-status-available", "Elastic-Load-Balancing-ELB_Application-load-balancer_light-bg"], - ["AWS::ElasticLoadBalancingV2::LoadBalancer-application-status-negative", "Elastic-Load-Balancing-ELB_Application-load-balancer_light-bg-error"], - ["AWS::ElasticLoadBalancingV2::LoadBalancer-application-status-warning", "Elastic-Load-Balancing-ELB_Application-load-balancer_light-bg-warning"], - ["AWS::ElasticLoadBalancingV2::LoadBalancer-network", "Elastic-Load-Balancing-ELB_Network-load-balancer_light-bg-menu"], - ["AWS::ElasticLoadBalancingV2::LoadBalancer-network-status-available", "Elastic-Load-Balancing-ELB_Network-load-balancer_light-bg"], - ["AWS::ElasticLoadBalancingV2::LoadBalancer-network-status-negative", "Elastic-Load-Balancing-ELB_Network-load-balancer_light-bg-error"], - ["AWS::ElasticLoadBalancingV2::LoadBalancer-network-status-warning", "Elastic-Load-Balancing-ELB_Network-load-balancer_light-bg-warning"], - ["AWS::ElasticLoadBalancingV2::Target", "ELB-Target-light-bg"], - ["AWS::ElasticLoadBalancingV2::TargetGroup", "ELB-Target-group-light-bg"], - ["AWS::Elasticsearch::Domain", "Amazon-Elasticsearch-Service_light-bg"], - ["AWS::EventSchemas::Discoverer", "Res_Amazon-EventBridge_Rule_48-Discoverer"], - ["AWS::EventSchemas::Registry", "Res_Amazon-EventBridge_Schema-Registry_48"], - ["AWS::EventSchemas::RegistryPolicy", "Res_Amazon-EventBridge_Schema-Registry_48-RegistryPolicy"], - ["AWS::EventSchemas::Schema", "Res_Amazon-EventBridge_Schema_48"], - ["AWS::Events::Connection", "Res_Amazon-EventBridge_Pipes_48-Connection"], - ["AWS::Events::EventBus", "Res_Amazon-EventBridge_Default-Event-Bus_48"], - ["AWS::Events::Rule", "Res_Amazon-EventBridge-Event_48-Rule"], - ["AWS::Evidently::Project", "Res_Amazon-CloudWatch_Evidently_48"], - ["AWS::Forecast::Dataset", "Arch_Amazon-Forecast_64-Dataset"], - ["AWS::FraudDetector::EntityType", "Arch_Amazon-Fraud-Detector_64-EntityType"], - ["AWS::FraudDetector::Label", "Arch_Amazon-Fraud-Detector_64-Label"], - ["AWS::FraudDetector::Outcome", "Arch_Amazon-Fraud-Detector_64-Outcome"], - ["AWS::FraudDetector::Variable", "Arch_Amazon-Fraud-Detector_64-Variable"], - ["AWS::Glue::Job", "Arch_AWS-Glue_64-Job"], - ["AWS::Glue::MLTransform", "Res_AWS-Glue_AWS-Glue-for-Ray_48-MLTransform"], - ["AWS::GuardDuty::Detector", "Arch_Amazon-GuardDuty_64-Detector"], - ["AWS::HealthLake::FHIRDatastore", "Arch_Amazon-HealthLake_64-FHIRDatastore"], - ["AWS::IAM::AWSManagedPolicy", "AWS-Identity-and-Access-Management-IAM_Permissions_AWSManagedPolicy-light-bg"], - ["AWS::IAM::AWSPolicyStatement", "AWS-Identity-and-Access-Management-IAM_Permissions_AWSPolicyStatement-light-bg"], - ["AWS::IAM::CustomerManagedPolicyStatement", "AWS-Identity-and-Access-Management-IAM_Permissions_CustomerManagedPolicy-light-bg-menu"], - ["AWS::IAM::CustomerManagedPolicyStatement-status-available", "AWS-Identity-and-Access-Management-IAM_Permissions_CustomerManagedPolicy-light-bg-good"], - ["AWS::IAM::CustomerManagedPolicyStatement-status-negative", "AWS-Identity-and-Access-Management-IAM_Permissions_CustomerManagedPolicy-light-bg-error"], - ["AWS::IAM::CustomerManagedPolicyStatement-status-warning", "AWS-Identity-and-Access-Management-IAM_Permissions_CustomerManagedPolicy-light-bg-warning"], - ["AWS::IAM::Group", "Users_light-bg"], - ["AWS::IAM::InlinePolicy", "Res_AWS-Identity-Access-Management_Permissions_48_Light"], - ["AWS::IAM::Policy", "IAM_Policy"], - ["AWS::IAM::Role", "AWS-Identity-and-Access-Management-IAM_Role_light-bg"], - ["AWS::IAM::SAMLProvider", "Res_AWS-Identity-Access-Management_AWS-STS_48-SAMLProvider"], - ["AWS::IAM::ServerCertificate", "Res_AWS-Certificate-Manager_Certificate-Authority_48-ServerCertificate"], - ["AWS::IAM::User", "User_light-bg"], - ["AWS::IVS::Channel", "Arch_Amazon-Interactive-Video-Service_64-Channel"], - ["AWS::IVS::PlaybackKeyPair", "Arch_Amazon-Interactive-Video-Service_64-PlaybackKeyPair"], - ["AWS::IVS::RecordingConfiguration", "Arch_Amazon-Interactive-Video-Service_64-RecordingConfiguration"], - ["AWS::ImageBuilder::ContainerRecipe", "Arch_Amazon-EC2-Image-Builder_64-ContainerRecipe"], - ["AWS::ImageBuilder::DistributionConfiguration", "Arch_Amazon-EC2-Image-Builder_64-DistributionConfiguration"], - ["AWS::ImageBuilder::InfrastructureConfiguration", "Arch_Amazon-EC2-Image-Builder_64-InfrastructureConfiguration"], - ["AWS::IoT::AccountAuditConfiguration", "Res_AWS-IoT-Greengrass_Component-Public_48-AuditConfiguration"], - ["AWS::IoT::Authorizer", "Res_AWS-IoT_Certificate_48-Authorizer"], - ["AWS::IoT::CustomMetric", "Res_AWS-IoT-Rule_48-CustomMetric"], - ["AWS::IoT::Dimension", "Res_AWS-IoT_Dimension_48"], - ["AWS::IoT::MitigationAction", "Res_AWS-IoT_Action_48-MitigationAction"], - ["AWS::IoT::Policy", "Res_AWS-IoT_Policy_48"], - ["AWS::IoT::RoleAlias", "Res_AWS-IoT_Policy_48-RoleAlias"], - ["AWS::IoT::ScheduledAudit", "Res_AWS-IoT-Greengrass_Component-Public_48-ScheduledAudit"], - ["AWS::IoT::SecurityProfile", "Res_AWS-IoT_Thing_Police-Emergency_48-SecurityProfile"], - ["AWS::IoTAnalytics::Channel", "Res_AWS-IoT-Analytics_Channel_48"], - ["AWS::IoTAnalytics::Dataset", "Res_AWS-IoT-Analytics_Dataset_48"], - ["AWS::IoTAnalytics::Datastore", "Res_AWS-IoT-Analytics_Data-Store_48"], - ["AWS::IoTAnalytics::Pipeline", "Res_AWS-IoT-Analytics_Pipeline_48"], - ["AWS::IoTSiteWise::AssetModel", "Res_AWS-IoT-SiteWise_Asset-Model_48"], - ["AWS::IoTSiteWise::Dashboard", "Res_AWS-IoT-SiteWise_Asset_48-Dashboard"], - ["AWS::IoTSiteWise::Gateway", "Res_AWS-IoT-SiteWise_Asset-Model_48-Gateway"], - ["AWS::IoTSiteWise::Portal", "Res_AWS-IoT-SiteWise_Asset_48-Portal"], - ["AWS::IoTSiteWise::Project", "Arch_AWS-IoT-SiteWise_64-Project"], - ["AWS::IoTTwinMaker::Entity", "Arch_AWS-IoT-TwinMaker_64-Entity"], - ["AWS::IoTTwinMaker::Scene", "Arch_AWS-IoT-TwinMaker_64-Scene"], - ["AWS::IoTTwinMaker::Workspace", "Arch_AWS-IoT-TwinMaker_64-Workspace"], - ["AWS::KMS::Key", "AWS-Identity-and-Access-Management-IAM_Data-Encryption-Key_light-bg"], - ["AWS::Kendra::Index", "Arch_Amazon-Kendra_64-Index"], - ["AWS::Kinesis::Stream", "Arch_Amazon-Kinesis-Data-Streams_64"], - ["AWS::Kinesis::StreamConsumer", "Arch_Amazon-Kinesis_64-StreamConsumer"], - ["AWS::KinesisAnalyticsV2::Application", "Arch_Amazon-Kinesis-Data-Analytics_64-Application"], - ["AWS::KinesisFirehose::DeliveryStream", "Arch_Amazon-Kinesis-Data-Firehose_64"], - ["AWS::KinesisVideo::SignalingChannel", "Arch_Amazon-Kinesis-Video-Streams_64-SignalingChannel"], - ["AWS::Lambda::EnvironmentVariable", "Env-variable-light-bg"], - ["AWS::Lambda::Function", "AWS-Lambda-menu"], - ["AWS::Lambda::Function-status-available", "AWS-Lambda"], - ["AWS::Lambda::Function-status-negative", "AWS-Lambda-error"], - ["AWS::Lambda::Function-status-warning", "AWS-Lambda-warning"], - ["AWS::Lex::Bot", "Arch_Amazon-Lex_64-Bot"], - ["AWS::Lex::BotAlias", "Arch_Amazon-Lex_64-BotAlias"], - ["AWS::Lightsail::Bucket", "Arch_Amazon-Lightsail_64-Bucket"], - ["AWS::Lightsail::StaticIp", "Arch_Amazon-Lightsail_64-StaticIp"], - ["AWS::LookoutMetrics::Alert", "Arch_Amazon-Lookout-for-Metrics_64-Alert"], - ["AWS::LookoutVision::Project", "Arch_Amazon-Lookout-for-Vision_64-Project"], - ["AWS::MSK::Cluster", "Arch_Amazon-Managed-Streaming-for-Apache-Kafka_64"], - ["AWS::MediaPackage::PackagingConfiguration", "Arch_AWS-Elemental-MediaPackage_64-PackagingConfiguration"], - ["AWS::MediaPackage::PackagingGroup", "Arch_AWS-Elemental-MediaPackage_64-PackagingGroup"], - ["AWS::NetworkManager::TransitGatewayRegistration", "Arch_AWS-Transit-Gateway_64-TransitGatewayRegistration"], - ["AWS::OpenSearch::Domain", "Arch_Amazon-OpenSearch-Service_64"], - ["AWS::Pinpoint::App", "Arch_Amazon-Pinpoint_64-App"], - ["AWS::Pinpoint::ApplicationSettings", "Arch_Amazon-Pinpoint_64-ApplicationSettings"], - ["AWS::Pinpoint::Campaign", "Arch_Amazon-Pinpoint_64-Campaign"], - ["AWS::Pinpoint::InAppTemplate", "Arch_Amazon-Pinpoint_64-InAppTemplate"], - ["AWS::Pinpoint::Segment", "Arch_Amazon-Pinpoint_64-Segment"], - ["AWS::Pipes::Pipe", "Res_Amazon-EventBridge_Pipes_48"], - ["AWS::QLDB::Ledger", "Amazon-Quantum-Ledger-Database_QLDB_light-bg-menu"], - ["AWS::QLDB::Ledger-status-available", "Amazon-Quantum-Ledger-Database_QLDB_light-bg"], - ["AWS::QLDB::Ledger-status-negative", "Amazon-Quantum-Ledger-Database_QLDB_light-bg-error"], - ["AWS::QLDB::Ledger-status-warning", "Amazon-Quantum-Ledger-Database_QLDB_light-bg-warning"], - ["AWS::RDS::DBCluster", "Amazon-DBCluster"], - ["AWS::RDS::DBClusterSnapshot", "Amazon-DBClusterSnapshot"], - ["AWS::RDS::DBInstance", "Amazon-RDS_Amazon-RDS_instance_light-bg-menu"], - ["AWS::RDS::DBInstance-aurora", "Amazon-RDS_Amazon-Aurora_instance_light-bg-menu"], - ["AWS::RDS::DBInstance-aurora-mysql", "Amazon-RDS_Amazon-Aurora_instance_mysql_light-bg-menu"], - ["AWS::RDS::DBInstance-aurora-mysql-status-available", "Amazon-RDS_Amazon-Aurora_instance_mysql_light-bg"], - ["AWS::RDS::DBInstance-aurora-mysql-status-negative", "Amazon-RDS_Amazon-Aurora_instance_mysql_light-bg-error"], - ["AWS::RDS::DBInstance-aurora-mysql-status-warning", "Amazon-RDS_Amazon-Aurora_instance_mysql_light-bg-warning"], - ["AWS::RDS::DBInstance-aurora-postgresql", "Amazon-RDS_Amazon-Aurora_instance_postgresql_light-bg-menu"], - ["AWS::RDS::DBInstance-aurora-postgresql-status-available", "Amazon-RDS_Amazon-Aurora_instance_postgresql_light-bg"], - ["AWS::RDS::DBInstance-aurora-postgresql-status-negative", "Amazon-RDS_Amazon-Aurora_instance_postgresql_light-bg-error"], - ["AWS::RDS::DBInstance-aurora-postgresql-status-warning", "Amazon-RDS_Amazon-Aurora_instance_postgresql_light-bg-warning"], - ["AWS::RDS::DBInstance-aurora-status-available", "Amazon-RDS_Amazon-Aurora_instance_light-bg"], - ["AWS::RDS::DBInstance-aurora-status-negative", "Amazon-RDS_Amazon-Aurora_instance_light-bg-error"], - ["AWS::RDS::DBInstance-aurora-status-warning", "Amazon-RDS_Amazon-Aurora_instance_light-bg-warning"], - ["AWS::RDS::DBInstance-mariadb", "Amazon-RDS_MariaDB_instance_light-bg-menu"], - ["AWS::RDS::DBInstance-mariadb-status-available", "Amazon-RDS_MariaDB_instance_light-bg"], - ["AWS::RDS::DBInstance-mariadb-status-negative", "Amazon-RDS_MariaDB_instance_light-bg-error"], - ["AWS::RDS::DBInstance-mariadb-status-warning", "Amazon-RDS_MariaDB_instance_light-bg-warning"], - ["AWS::RDS::DBInstance-mysql", "Amazon-RDS_MySQL_instance_light-bg-menu"], - ["AWS::RDS::DBInstance-mysql-status-available", "Amazon-RDS_MySQL_instance_light-bg"], - ["AWS::RDS::DBInstance-mysql-status-negative", "Amazon-RDS_MySQL_instance_light-bg-error"], - ["AWS::RDS::DBInstance-mysql-status-warning", "Amazon-RDS_MySQL_instance_light-bg-warning"], - ["AWS::RDS::DBInstance-neptune", "Amazon-Neptune_light-bg-menu"], - ["AWS::RDS::DBInstance-neptune-status-available", "Amazon-Neptune_light-bg"], - ["AWS::RDS::DBInstance-neptune-status-negative", "Amazon-Neptune_light-bg-error"], - ["AWS::RDS::DBInstance-neptune-status-warning", "Amazon-Neptune_light-bg-warning"], - ["AWS::RDS::DBInstance-postgres", "Amazon-RDS_PostgreSQL_instance_light-bg-menu"], - ["AWS::RDS::DBInstance-postgres-status-available", "Amazon-RDS_PostgreSQL_instance_light-bg"], - ["AWS::RDS::DBInstance-postgres-status-negative", "Amazon-RDS_PostgreSQL_instance_light-bg-error"], - ["AWS::RDS::DBInstance-postgres-status-warning", "Amazon-RDS_PostgreSQL_instance_light-bg-warning"], - ["AWS::RDS::DBInstance-sqlserver-ex", "Amazon-RDS_SQL-Server_instance_light-bg-menu"], - ["AWS::RDS::DBInstance-sqlserver-ex-status-available", "Amazon-RDS_SQL-Server_instance_light-bg"], - ["AWS::RDS::DBInstance-sqlserver-ex-status-negative", "Amazon-RDS_SQL-Server_instance_light-bg-error"], - ["AWS::RDS::DBInstance-sqlserver-ex-status-warning", "Amazon-RDS_SQL-Server_instance_light-bg-warning"], - ["AWS::RDS::DBInstance-status-available", "Amazon-RDS_Amazon-RDS_instance_light-bg"], - ["AWS::RDS::DBInstance-status-negative", "Amazon-RDS_Amazon-RDS_instance_light-bg-error"], - ["AWS::RDS::DBInstance-status-warning", "Amazon-RDS_Amazon-RDS_instance_light-bg-warning"], - ["AWS::RDS::DBSecurityGroup", "AWSDBSecurityGroup"], - ["AWS::RDS::DBSnapshot", "Amazon-RDS_Amazon-RDS_Snapshot_light-bg"], - ["AWS::RDS::DBSubnetGroup", "DBSubnetGroup"], - ["AWS::RDS::GlobalCluster", "Res_Amazon-RDS_Multi-AZ-DB-Cluster_48-GlobalCluster"], - ["AWS::RUM::AppMonitor", "Res_Amazon-CloudWatch_RUM_48"], - ["AWS::Redshift::Cluster", "Amazon-Redshift_light-bg-menu"], - ["AWS::Redshift::Cluster-status-available", "Amazon-Redshift_light-bg"], - ["AWS::Redshift::Cluster-status-negative", "Amazon-Redshift_light-bg-error"], - ["AWS::Redshift::Cluster-status-warning", "Amazon-Redshift_light-bg-warning"], - ["AWS::Redshift::ClusterParameterGroup", "Amazon-Redshift_light-parameter-group"], - ["AWS::Redshift::ClusterSnapshot", "Amazon-Redshift_light-snapshot"], - ["AWS::Redshift::ClusterSubnetGroup", "Amazon-Redshift_light-subnet-group"], - ["AWS::ResilienceHub::ResiliencyPolicy", "Arch_AWS-Resilience-Hub_64-ResiliencyPolicy"], - ["AWS::RoboMaker::RobotApplication", "Arch_AWS-RoboMaker_64-RobotApplication"], - ["AWS::RoboMaker::RobotApplicationVersion", "Res_AWS-RoboMaker_Development-Environment_48-RobotApplicationVersion"], - ["AWS::RoboMaker::SimulationApplication", "Res_AWS-RoboMaker_Simulation_48-SimulationApplication"], - ["AWS::Route53::HostedZone", "Res_Amazon-Route-53-Hosted-Zone_48"], - ["AWS::Route53RecoveryControl::Cluster", "Arch_Amazon-Route-53_64-Cluster"], - ["AWS::Route53RecoveryControl::ControlPanel", "Arch_Amazon-Route-53_64-ControlPanel"], - ["AWS::Route53RecoveryControl::RoutingControl", "Arch_Amazon-Route-53_64-RoutingControl"], - ["AWS::Route53RecoveryControl::SafetyRule", "Arch_Amazon-Route-53_64-SafetyRule"], - ["AWS::Route53RecoveryReadiness::RecoveryGroup", "Res_Amazon-Route-53_Readiness-Checks_48-RecoveryGroup"], - ["AWS::Route53RecoveryReadiness::ResourceSet", "Arch_Amazon-Route-53_64-ResourceSet"], - ["AWS::Route53Resolver::FirewallDomainList", "Res_Amazon-Route-53_Resolver-DNS-Firewall_48"], - ["AWS::Route53Resolver::ResolverRule", "Res_Amazon-Route-53_Resolver-Rule_48_Light"], - ["AWS::Route53Resolver::ResolverRuleAssociation", "Res_Amazon-Route-53_Resolver-Rule-Association_48_Light"], - ["AWS::Route53Resolver::ResolverRuleEndpoint", "Res_Amazon-Route-53_Resolver-Endpoint_48_Light"], - ["AWS::S3::AccountPublicAccessBlock", "Amazon-S3_public_access_block"], - ["AWS::S3::Bucket", "Amazon-Simple-Storage-Service-S3"], - ["AWS::S3::MultiRegionAccessPoint", "Res_Amazon-Simple-Storage-Service_General-Access-Points_48-MultiRegionAccessPoint"], - ["AWS::S3::StorageLens", "Res_Amazon-Simple-Storage-Service_S3-Storage-Lens_48"], - ["AWS::SES::ConfigurationSet", "Res_Amazon-Simple-Email-Service_Email_48-ConfigurationSet"], - ["AWS::SES::ContactList", "Res_Amazon-Simple-Email-Service_Email_48-ContactList"], - ["AWS::SES::ReceiptFilter", "Res_Amazon-Simple-Email-Service_Email_48-ReceiptFilter"], - ["AWS::SES::ReceiptRuleSet", "Res_Amazon-Simple-Email-Service_Email_48-ReceiptRuleSet"], - ["AWS::SES::Template", "Res_Amazon-Simple-Email-Service_Email_48-Template"], - ["AWS::SNS::Topic", "Amazon-Simple-Notification-Service-SNS_Topic_light-bg"], - ["AWS::SQS::Queue", "Amazon-Simple-Queue-Service-SQS_Queue_light-bg"], - ["AWS::SSM::AssociationCompliance", "Res_AWS-Systems-Manager_Application-Manager_48-AssociationCompliance"], - ["AWS::SSM::ManagedInstanceInventory", "AWS-Systems-Manager_Inventory"], - ["AWS::SageMaker::Domain", "Res_Amazon-SageMaker_Canvas_48-Domain"], - ["AWS::SageMaker::EndpointConfig", "Arch_Amazon-SageMaker_64-EndpointConfig"], - ["AWS::SageMaker::Model", "Res_Amazon-SageMaker_Model_48_Light"], - ["AWS::SageMaker::NotebookInstance", "Res_Amazon-SageMaker_Notebook_48"], - ["AWS::SageMaker::NotebookInstanceLifecycleConfig", "Res_Amazon-SageMaker_Notebook_48-NotebookInstanceLifestyleConfig"], - ["AWS::SecretsManager::Secret", "Arch_AWS-Secrets-Manager_64-Secret"], - ["AWS::Shield::Protection", "AWS-Shield-bg"], - ["AWS::ShieldRegional::Protection", "AWS-Shield_regional-bg"], - ["AWS::Signer::SigningProfile", "Arch_AWS-Signer_64-SigningProfile"], - ["AWS::StepFunctions::Activity", "StepFunctionsActivity"], - ["AWS::StepFunctions::StateMachine", "Arch_AWS-Step-Functions_64"], - ["AWS::Tags::Tag", "AWS-Tags-bg"], - ["AWS::Transfer::Agreement", "Arch-Category_Migration-Transfer_64-Agreement"], - ["AWS::Transfer::Connector", "Arch-Category_Migration-Transfer_64-Connector"], - ["AWS::Transfer::Workflow", "Arch-Category_Migration-Transfer_64-Workflow"], - ["AWS::VPC::Endpoint", "Amazon-VPC_Endpoints_light-bg-menu"], - ["AWS::VPC::Endpoint-status-available", "Amazon-VPC_Endpoints_light-bg"], - ["AWS::VPC::Endpoint-status-negative", "Amazon-VPC_Endpoints_light-bg-error"], - ["AWS::VPC::Endpoint-status-warning", "Amazon-VPC_Endpoints_light-bg-warning"], - ["AWS::WAF::RateBasedRule", "AWS-WAF_rate-based-rule-bg"], - ["AWS::WAF::Rule", "AWS-WAF_rule-bg"], - ["AWS::WAF::RuleGroup", "AWS-WAF_rule-group-bg"], - ["AWS::WAF::WebACL", "AWS-WAF_webacl-bg"], - ["AWS::WAFRegional::RateBasedRule", "AWS-WAF_regional-rate-based-rule-bg"], - ["AWS::WAFRegional::Rule", "AWS-WAF_regional-rule-bg"], - ["AWS::WAFRegional::WebACL", "AWS-WAF_regional-webacl-bg"], - ["AWS::WorkSpaces::ConnectionAlias", "WorkspacesConnectionAlias"], - ["AWS::WorkSpaces::Workspace", "Arch_AWS-WorkSpaces_64"], - ["DELETE", "API-Gateway-method-Delete_light-bg"], - ["GET", "API-Gateway-method-Get_light-bg"], - ["PATCH", "API-Gateway-method-Patch_light-bg"], - ["POST", "API-Gateway-method-Post_light-bg"], - ["PUT", "API-Gateway-method-Put_light-bg"], - ["R5a-status-available", "Amazon-EC2_R5a-Instance_light-bg"], - ["R5a-status-negative", "Amazon-EC2_R5a-Instance_light-bg-error"], - ["R5a-status-warning", "Amazon-EC2_R5a-Instance_light-bg-warning"], - ["R5b-status-available", "Amazon-EC2_R5b-Instance_light-bg"], - ["R5b-status-negative", "Amazon-EC2_R5b-Instance_light-bg-error"], - ["R5n-status-available", "Amazon-EC2_R5n-Instance_light-bg"], - ["R5n-status-negative", "Amazon-EC2_R5n-Instance_light-bg-error"], - ["R5n-status-warning", "Amazon-EC2_R5b-Instance_light-bg-warning"], - ["R6i-status-available", "Amazon-EC2_R6i-Instance_light-bg"], - ["R6i-status-negative", "Amazon-EC2_R6i-Instance_light-bg-error"], - ["R6i-status-warning", "Amazon-EC2_R6i-Instance_light-bg-warning"], - ["X2gd-status-available", "Amazon-EC2_X2gd-Instance_light-bg"], - ["X2gd-status-negative", "Amazon-EC2_X2gd-Instance_light-bg-error"], - ["X2gd-status-warning", "Amazon-EC2_X2gd-Instance_light-bg-warning"], - ["X2idn-status-available", "Amazon-EC2_X2idn-Instance_light-bg"], - ["X2idn-status-negative", "Amazon-EC2_X2idn-Instance_light-bg-error"], - ["X2idn-status-warning", "Amazon-EC2_X2idn-Instance_light-bg-warning"], - ["X2iedn-status-available", "Amazon-EC2_X2iedn-Instance_light-bg"], - ["X2iedn-status-negative", "Amazon-EC2_X2iedn-Instance_light-bg-error"], - ["X2iedn-status-warning", "Amazon-EC2_X2iedn-Instance_light-bg-warning"], - ["X2iezn-status-available", "Amazon-EC2_X2iezn-Instance_light-bg"], - ["X2iezn-status-negative", "Amazon-EC2_X2iezn-Instance_light-bg-error"], - ["X2iezn-status-warning", "Amazon-EC2_X2iezn-Instance_light-bg-warning"], - ["a1-status-available", "Amazon-EC2_A1-Instance_light-bg"], - ["a1-status-negative", "Amazon-EC2_A1-Instance_light-bg-error"], - ["a1-status-warning", "Amazon-EC2_A1-Instance_light-bg-warning"], - ["account", "AWS-Cloud-alt_light-bg"], - ["availabilityZone", "availabilityZone"], - ["c4-status-available", "Amazon-EC2_C4-Instance_light-bg"], - ["c4-status-negative", "Amazon-EC2_C4-Instance_light-bg-error"], - ["c4-status-warning", "Amazon-EC2_C4-Instance_light-bg-warning"], - ["c5-status-available", "Amazon-EC2_C5-Instance_light-bg"], - ["c5-status-negative", "Amazon-EC2_C5-Instance_light-bg-error"], - ["c5-status-warning", "Amazon-EC2_C5-Instance_light-bg-warning"], - ["c5a-status-available", "Amazon-EC2_C5a-Instance_light-bg"], - ["c5a-status-negative", "Amazon-EC2_C5a-Instance_light-bg-error"], - ["c5a-status-warning", "Amazon-EC2_C5a-Instance_light-bg-warning"], - ["c5n-status-available", "Amazon-EC2_C5n-Instance_light-bg"], - ["c5n-status-negative", "Amazon-EC2_C5n-Instance_light-bg-error"], - ["c5n-status-warning", "Amazon-EC2_C5n-Instance_light-bg-warning"], - ["c6g-status-available", "Amazon-EC2_C6g-Instance_light-bg"], - ["c6g-status-negative", "Amazon-EC2_C6g-Instance_light-bg-error"], - ["c6g-status-warning", "Amazon-EC2_C6g-Instance_light-bg-warning"], - ["c6gn-status-available", "Amazon-EC2_C6gn-Instance_light-bg"], - ["c6gn-status-negative", "Amazon-EC2_C6gn-Instance_light-bg-error"], - ["c6gn-status-warning", "Amazon-EC2_C6gn-Instance_light-bg-warning"], - ["c6i-status-available", "Amazon-EC2_C6i-Instance_light-bg"], - ["c6i-status-negative", "Amazon-EC2_C6i-Instance_light-bg-error"], - ["c6i-status-warning", "Amazon-EC2_C6i-Instance_light-bg-warning"], - ["c7g-status-available", "Amazon-EC2_C7g-Instance_light-bg"], - ["c7g-status-negative", "Amazon-EC2_C7g-Instance_light-bg-error"], - ["c7g-status-warning", "Amazon-EC2_C7g-Instance_light-bg-warning"], - ["cloud", "AWS-Cloud_light-bg"], - ["collapse", "treeview-collapse"], - ["collapse_icon", "remove_circle"], - ["d2-status-available", "Amazon-EC2_D2-Instance_light-bg"], - ["d2-status-negative", "Amazon-EC2_D2-Instance_light-bg-error"], - ["d2-status-warning", "Amazon-EC2_D2-Instance_light-bg-warning"], - ["d3-status-available", "Amazon-EC2_D3-Instance_light-bg"], - ["d3-status-negative", "Amazon-EC2_D3-Instance_light-bg-error"], - ["d3-status-warning", "Amazon-EC2_D3-Instance_light-bg-warning"], - ["d3en-status-available", "Amazon-EC2_D3en-Instance_light-bg"], - ["d3en-status-negative", "Amazon-EC2_D3en-Instance_light-bg-error"], - ["d3en-status-warning", "Amazon-EC2_D3en-Instance_light-bg-warning"], - ["default-icon", "default-icon"], - ["dl1-status-available", "Amazon-EC2_DL1-Instance_light-bg"], - ["dl1-status-negative", "Amazon-EC2_DL1-Instance_light-bg-error"], - ["dl1-status-warning", "Amazon-EC2_DL1-Instance_light-bg-warning"], - ["expand", "treeview-expand"], - ["expand_icon", "add_circle"], - ["f1-status-available", "Amazon-EC2_F1-Instance_light-bg"], - ["f1-status-negative", "Amazon-EC2_F1-Instance_light-bg-error"], - ["f1-status-warning", "Amazon-EC2_F1-Instance_light-bg-warning"], - ["g3-status-available", "Amazon-EC2_G3-Instance_light-bg"], - ["g3-status-negative", "Amazon-EC2_G3-Instance_light-bg-error"], - ["g3-status-warning", "Amazon-EC2_G3-Instance_light-bg-warning"], - ["g4ad-status-available", "Amazon-EC2_G4ad-Instance_light-bg"], - ["g4ad-status-negative", "Amazon-EC2_G4ad-Instance_light-bg-error"], - ["g4ad-status-warning", "Amazon-EC2_G4ad-Instance_light-bg-warning"], - ["g4dn-status-available", "Amazon-EC2_G4dn-Instance_light-bg"], - ["g4dn-status-negative", "Amazon-EC2_G4dn-Instance_light-bg-error"], - ["g4dn-status-warning", "Amazon-EC2_G4dn-Instance_light-bg-warning"], - ["g5-status-available", "Amazon-EC2_G5-Instance_light-bg"], - ["g5-status-negative", "Amazon-EC2_G5-Instance_light-bg-error"], - ["g5-status-warning", "Amazon-EC2_G5-Instance_light-bg-warning"], - ["g5g-status-available", "Amazon-EC2_G5g-Instance_light-bg"], - ["g5g-status-negative", "Amazon-EC2_G5g-Instance_light-bg-error"], - ["g5g-status-warning", "Amazon-EC2_G5g-Instance_light-bg-warning"], - ["h1-status-available", "Amazon-EC2_H1-Instance_light-bg"], - ["h1-status-negative", "Amazon-EC2_H1-Instance_light-bg-error"], - ["h1-status-warning", "Amazon-EC2_H1-Instance_light-bg-warning"], - ["i3-status-available", "Amazon-EC2_I3-Instance_light-bg"], - ["i3-status-negative", "Amazon-EC2_I3-Instance_light-bg-error"], - ["i3-status-warning", "Amazon-EC2_I3-Instance_light-bg-warning"], - ["i3en-status-available", "Amazon-EC2_I3en-Instance_light-bg"], - ["i3en-status-negative", "Amazon-EC2_I3en-Instance_light-bg-error"], - ["i3en-status-warning", "Amazon-EC2_I3en-Instance_light-bg-warning"], - ["i4i-status-available", "Amazon-EC2_I4i-Instance_light-bg"], - ["i4i-status-negative", "Amazon-EC2_I4i-Instance_light-bg-error"], - ["i4i-status-warning", "Amazon-EC2_I4i-Instance_light-bg-warning"], - ["im4gn-status-available", "Amazon-EC2_IM4gn-Instance_light-bg"], - ["im4gn-status-negative", "Amazon-EC2_IM4gn-Instance_light-bg-error"], - ["im4gn-status-warning", "Amazon-EC2_IM4gn-Instance_light-bg-warning"], - ["inf1-status-available", "Amazon-EC2_INF1-Instance_light-bg"], - ["inf1-status-negative", "Amazon-EC2_INF1-Instance_light-bg-error"], - ["inf1-status-warning", "Amazon-EC2_INF1-Instance_light-bg-warning"], - ["is4gen-status-available", "Amazon-EC2_IS4gen-Instance_light-bg"], - ["is4gen-status-negative", "Amazon-EC2_IS4gen-Instance_light-bg-error"], - ["is4gen-status-warning", "Amazon-EC2_IS4gen-Instance_light-bg-warning"], - ["logo", "AWS-Zoom_light-bg"], - ["logo-transparent", "AWS-Zoom-trans-bg"], - ["m1-status-available", "Amazon-EC2_M1-Instance_light-bg"], - ["m1-status-negative", "Amazon-EC2_M1-Instance_light-bg-error"], - ["m1-status-warning", "Amazon-EC2_M1-Instance_light-bg-warning"], - ["m4-status-available", "Amazon-EC2_M4-Instance_light-bg"], - ["m4-status-negative", "Amazon-EC2_M4-Instance_light-bg-error"], - ["m4-status-warning", "Amazon-EC2_M4-Instance_light-bg-warning"], - ["m5-status-available", "Amazon-EC2_M5-Instance_light-bg"], - ["m5-status-negative", "Amazon-EC2_M5-Instance_light-bg-error"], - ["m5-status-warning", "Amazon-EC2_M5-Instance_light-bg-warning"], - ["m5a-status-available", "Amazon-EC2_M5a-Instance_light-bg"], - ["m5a-status-negative", "Amazon-EC2_M5a-Instance_light-bg-error"], - ["m5a-status-warning", "Amazon-EC2_M5a-Instance_light-bg-warning"], - ["m5n-status-available", "Amazon-EC2_M5n-Instance_light-bg"], - ["m5n-status-negative", "Amazon-EC2_M5n-Instance_light-bg-error"], - ["m5n-status-warning", "Amazon-EC2_M5n-Instance_light-bg-warning"], - ["m5zn-status-available", "Amazon-EC2_M5zn-Instance_light-bg"], - ["m5zn-status-negative", "Amazon-EC2_M5zn-Instance_light-bg-error"], - ["m5zn-status-warning", "Amazon-EC2_M5zn-Instance_light-bg-warning"], - ["m6g-status-available", "Amazon-EC2_M6g-Instance_light-bg"], - ["m6g-status-negative", "Amazon-EC2_M6g-Instance_light-bg-error"], - ["m6g-status-warning", "Amazon-EC2_M6g-Instance_light-bg-warning"], - ["m6i-status-available", "Amazon-EC2_M6i-Instance_light-bg"], - ["m6i-status-negative", "Amazon-EC2_M6i-Instance_light-bg-error"], - ["m6i-status-warning", "Amazon-EC2_M6i-Instance_light-bg-warning"], - ["mac1-status-available", "Amazon-EC2_MAC-Instance_light-bg"], - ["mac1-status-negative", "Amazon-EC2_MAC-Instance_light-bg-error"], - ["mac1-status-warning", "Amazon-EC2_MAC-Instance_light-bg-warning"], - ["p2-status-available", "Amazon-EC2_P2-Instance_light-bg"], - ["p2-status-negative", "Amazon-EC2_P2-Instance_light-bg-error"], - ["p2-status-warning", "Amazon-EC2_P2-Instance_light-bg-warning"], - ["p3-status-available", "Amazon-EC2_P3-Instance_light-bg"], - ["p3-status-negative", "Amazon-EC2_P3-Instance_light-bg-error"], - ["p3-status-warning", "Amazon-EC2_P3-Instance_light-bg-warning"], - ["p3dn-status-available", "Amazon-EC2_P3dn-Instance_light-bg"], - ["p3dn-status-negative", "Amazon-EC2_P3dn-Instance_light-bg-error"], - ["p3dn-status-warning", "Amazon-EC2_P3dn-Instance_light-bg-warning"], - ["p4d-status-available", "Amazon-EC2_P4-Instance_light-bg"], - ["p4d-status-negative", "Amazon-EC2_P4-Instance_light-bg-error"], - ["p4d-status-warning", "Amazon-EC2_P4-Instance_light-bg-warning"], - ["r4-status-available", "Amazon-EC2_R4-Instance_light-bg"], - ["r4-status-negative", "Amazon-EC2_R4-Instance_light-bg-error"], - ["r4-status-warning", "Amazon-EC2_R4-Instance_light-bg-warning"], - ["r5-status-available", "Amazon-EC2_R5-Instance_light-bg"], - ["r5-status-negative", "Amazon-EC2_R5-Instance_light-bg-error"], - ["r5-status-warning", "Amazon-EC2_R5n-Instance_light-bg-warning"], - ["r6g-status-available", "Amazon-EC2_R6g-Instance_light-bg"], - ["r6g-status-negative", "Amazon-EC2_R6g-Instance_light-bg-error"], - ["r6g-status-warning", "Amazon-EC2_R6g-Instance_light-bg-warning"], - ["region", "Region_light-bg"], - ["search", "search"], - ["status-available", "status-positive"], - ["status-negative", "status-negative"], - ["status-warning", "status-warning"], - ["subnet", "VPC-subnet-private_light-bg-collapsed"], - ["t2-status-available", "Amazon-EC2_T2-Instance_light-bg"], - ["t2-status-negative", "Amazon-EC2_T2-Instance_light-bg-error"], - ["t2-status-warning", "Amazon-EC2_T2-Instance_light-bg-warning"], - ["t3-status-available", "Amazon-EC2_T3-Instance_light-bg"], - ["t3-status-negative", "Amazon-EC2_T3-Instance_light-bg-error"], - ["t3-status-warning", "Amazon-EC2_T3-Instance_light-bg-warning"], - ["t3a-status-available", "Amazon-EC2_T3a-Instance_light-bg"], - ["t3a-status-negative", "Amazon-EC2_T3a-Instance_light-bg-error"], - ["t3a-status-warning", "Amazon-EC2_T3a-Instance_light-bg-warning"], - ["t4g-status-available", "Amazon-EC2_T4g-Instance_light-bg"], - ["t4g-status-negative", "Amazon-EC2_T4g-Instance_light-bg-error"], - ["t4g-status-warning", "Amazon-EC2_T4g-Instance_light-bg-warning"], - ["trn1-status-available", "Amazon-EC2_TRN1-Instance_light-bg"], - ["trn1-status-negative", "Amazon-EC2_TRN1-Instance_light-bg-error"], - ["trn1-status-warning", "Amazon-EC2_TRN1-Instance_light-bg-warning"], - ["u-12tb1-status-available", "Amazon-EC2_HMem12-Instance_light-bg"], - ["u-12tb1-status-negative", "Amazon-EC2_HMem12-Instance_light-bg-error"], - ["u-12tb1-status-warning", "Amazon-EC2_HMem12-Instance_light-bg-warning"], - ["u-18tb1-status-available", "Amazon-EC2_HMem18-Instance_light-bg"], - ["u-18tb1-status-negative", "Amazon-EC2_HMem18-Instance_light-bg-error"], - ["u-18tb1-status-warning", "Amazon-EC2_HMem18-Instance_light-bg-warning"], - ["u-24tb1-status-available", "Amazon-EC2_HMem24-Instance_light-bg"], - ["u-24tb1-status-negative", "Amazon-EC2_HMem24-Instance_light-bg-error"], - ["u-24tb1-status-warning", "Amazon-EC2_HMem24-Instance_light-bg-warning"], - ["u-6tb1-status-available", "Amazon-EC2_HMem6-Instance_light-bg"], - ["u-6tb1-status-negative", "Amazon-EC2_HMem6-Instance_light-bg-error"], - ["u-6tb1-status-warning", "Amazon-EC2_HMem6-Instance_light-bg-warning"], - ["u-9tb1-status-available", "Amazon-EC2_HMem9-Instance_light-bg"], - ["u-9tb1-status-negative", "Amazon-EC2_HMem9-Instance_light-bg-error"], - ["u-9tb1-status-warning", "Amazon-EC2_HMem9-Instance_light-bg-warning"], - ["vpc", "VPC-collapsed"], - ["vt1-status-available", "Amazon-EC2_VT1-Instance_light-bg"], - ["vt1-status-negative", "Amazon-EC2_VT1-Instance_light-bg-error"], - ["vt1-status-warning", "Amazon-EC2_VT1-Instance_light-bg-warning"], - ["x1-status-available", "Amazon-EC2_X1-Instance_light-bg"], - ["x1-status-negative", "Amazon-EC2_X1-Instance_light-bg-error"], - ["x1-status-warning", "Amazon-EC2_X1-Instance_light-bg-warning"], - ["x1e-status-available", "Amazon-EC2_X1e-Instance_light-bg"], - ["x1e-status-negative", "Amazon-EC2_X1e-Instance_light-bg-error"], - ["x1e-status-warning", "Amazon-EC2_X1e-Instance_light-bg-warning"], - ["z1d-status-available", "Amazon-EC2_z1d-Instance_light-bg"], - ["z1d-status-negative", "Amazon-EC2_z1d-Instance_light-bg-error"], - ["z1d-status-warning", "Amazon-EC2_z1d-Instance_light-bg-warning"] - ] -); +const icons = new Map([ + [ + 'AWS::ACM::Certificate', + 'Res_AWS-Certificate-Manager_Certificate_48_Light', + ], + [ + 'AWS::AccessAnalyzer::Analyzer', + 'Res_AWS-Identity-Access-Management_AWS-IAM-Access-Analyzer_48_Light', + ], + ['AWS::AmazonMQ::Broker', 'Res_Amazon-MQ_Broker_48'], + ['AWS::Amplify::App', 'Arch_AWS-Amplify_64-App'], + ['AWS::ApiGateway::Authorizer', 'API-Gateway-Authorizer'], + ['AWS::ApiGateway::Method', 'API-Gateway-method-Other_light-bg'], + ['AWS::ApiGateway::Resource', 'API-Gateway-Resource-light-bg'], + ['AWS::ApiGateway::RestApi', 'Amazon-API-Gateway_Endpoint_light-bg'], + ['AWS::ApiGateway::Stage', 'API-Gateway-Stage'], + ['AWS::ApiGatewayV2::Api', 'Res_Amazon-API-Gateway_Endpoint_48_Light'], + ['AWS::ApiGatewayV2::Stage', 'API-GatewayV2-Stage'], + [ + 'AWS::AppConfig::ConfigurationProfile', + 'Arch_AWS-AppConfig_64-ConfigurationProfile', + ], + [ + 'AWS::AppConfig::DeploymentStrategy', + 'Arch_AWS-AppConfig_64-DeploymentStrategy', + ], + ['AWS::AppConfig::Environment', 'Arch_AWS-AppConfig_64-Environment'], + ['AWS::AppMesh::Mesh', 'Res_AWS-App-Mesh_Mesh_48'], + ['AWS::AppMesh::VirtualGateway', 'Res_AWS-App-Mesh_Virtual-Gateway_48'], + ['AWS::AppMesh::VirtualNode', 'Res_AWS-App-Mesh_Virtual-Node_48'], + ['AWS::AppMesh::VirtualRouter', 'Res_AWS-App-Mesh_Virtual-Router_48'], + ['AWS::AppMesh::VirtualService', 'Res_AWS-App-Mesh_Virtual-Service_48'], + ['AWS::AppRunner::Service', 'Arch_AWS-App-Runner_64-Service'], + ['AWS::AppRunner::VpcConnector', 'Arch_AWS-App-Runner_64-VpcConnector'], + ['AWS::AppStream::Application', 'Arch_Amazon-AppStream_64-Application'], + [ + 'AWS::AppStream::DirectoryConfig', + 'Arch_Amazon-AppStream_64-DirectoryConfig', + ], + ['AWS::AppStream::Stack', 'Arch_Amazon-AppStream_64-Stack'], + ['AWS::AppSync::DataSource', 'Arch_AWS-AppSync_64-DataSource'], + ['AWS::AppSync::GraphQLApi', 'Arch_AWS-AppSync_64-GraphQLApi'], + ['AWS::AppSync::Resolver', 'Arch_AWS-AppSync_64-Resolver'], + ['AWS::AutoScaling::AutoScalingGroup', 'Amazon-EC2-Auto-Scaling'], + [ + 'AWS::AutoScaling::LaunchConfiguration', + 'AWS-AutoScaling-LaunchConfiguration', + ], + ['AWS::AutoScaling::ScalingPolicy', 'AWS-AutoScaling-ScalingPolicy'], + ['AWS::AutoScaling::WarmPool', 'Arch_AWS-Auto-Scaling_64-WarmPool'], + ['AWS::Backup::BackupPlan', 'Res_AWS-Backup_Backup-Plan_48_Light'], + ['AWS::Backup::BackupSelection', 'AWS-Backup-Selection'], + ['AWS::Backup::BackupVault', 'Res_AWS-Backup_Backup-Vault_48_Light'], + [ + 'AWS::Backup::RecoveryPoint', + 'Res_AWS-Backup_Recovery-Point-Objective_48_Light', + ], + ['AWS::Batch::ComputeEnvironment', 'Res_AWS-Batch_Compute_48_Light'], + ['AWS::Batch::JobQueue', 'Arch_AWS-Batch_Queue_64'], + ['AWS::Budgets::BudgetsAction', 'Arch_AWS-Budgets_64-BudgetsAction'], + ['AWS::Cassandra::Keyspace', 'Arch_Amazon-Keyspaces_64'], + ['AWS::Cloud9::EnvironmentEC2', 'Res_AWS-Cloud9_Cloud9_48-EnvironmentEC2'], + ['AWS::CloudFormation::Stack', 'AWS-CloudFormation'], + ['AWS::CloudFront::Distribution', 'Amazon-CloudFront_light-bg'], + [ + 'AWS::CloudFront::StreamingDistribution', + 'Amazon-CloudFront_Streaming-Distribution_light-bg', + ], + ['AWS::CloudTrail::Trail', 'Amazon-CloudTrail-trail-light-bg'], + ['AWS::CloudWatch::Alarm', 'Amazon-CloudWatch_Alarm_light-bg'], + ['AWS::CodeArtifact::Repository', 'Arch_AWS-CodeArtifact_64-Repository'], + ['AWS::CodeBuild::Project', 'AWS-CodeBuild_light-bg'], + ['AWS::CodeDeploy::Application', 'Arch_AWS-CodeDeploy_64-Application'], + [ + 'AWS::CodeDeploy::DeploymentConfig', + 'Arch_AWS-CodeDeploy_64-DeploymentConfig', + ], + [ + 'AWS::CodeDeploy::DeploymentGroup', + 'Arch_AWS-CodeDeploy_64-DeploymentGroup', + ], + [ + 'AWS::CodeGuruReviewer::ProfilingGroup', + 'Arch_Amazon-CodeGuruReviewer_64-ProfilingGroup', + ], + [ + 'AWS::CodeGuruReviewer::RepositoryAssociation', + 'Arch_Amazon-CodeGuruReviewer_64-RepositoryAssociation', + ], + ['AWS::CodePipeline::Pipeline', 'AWS-CodePipeline_light-bg'], + ['AWS::Cognito::UserPool', 'Arch_Amazon-Cognito_64'], + [ + 'AWS::Config::ConfigurationRecorder', + 'Arch_AWS-Config_64-ConfigurationRecorder', + ], + [ + 'AWS::Config::ConformancePackCompliance', + 'Arch_AWS-Config_64-ConformancePackCompliance', + ], + ['AWS::Config::ResourceCompliance', 'Arch_AWS-Config_64'], + ['AWS::Connect::PhoneNumber', 'Arch_Amazon-Connect_64-PhoneNumber'], + ['AWS::CustomerProfiles::Domain', 'Arch_Amazon-Connect_64-Domain'], + [ + 'AWS::DMS::Certificate', + 'Arch_AWS-Database-Migration-Service_64-Certificate', + ], + [ + 'AWS::DMS::EventSubscription', + 'Res_Amazon-Simple-Notification-Service_DMS_Notification_48_Light', + ], + [ + 'AWS::DMS::ReplicationInstance', + 'Arch_AWS-Database-Migration-Service_64-ReplicationInstance', + ], + ['AWS::DMS::ReplicationSubnetGroup', 'DMSReplicationSubnetGroup'], + [ + 'AWS::DMS::ReplicationTask', + 'Arch_AWS-Database-Migration-Service_64-ReplicationTask', + ], + [ + 'AWS::DeviceFarm::TestGridProject', + 'Arch_AWS-Device-Farm_64-TestGridProject', + ], + ['AWS::DynamoDB::Stream', 'Res_Amazon-DynamoDB_Stream_48'], + ['AWS::DynamoDB::Table', 'Amazon-DynamoDB_Table_light-bg'], + ['AWS::EC2::CustomerGateway', 'Amazon-VPC_Customer_Gateway_light-bg-menu'], + [ + 'AWS::EC2::CustomerGateway-status-available', + 'Amazon-VPC_Customer_Gateway_light-bg', + ], + [ + 'AWS::EC2::CustomerGateway-status-negative', + 'Amazon-VPC_Customer_Gateway_light-bg-error', + ], + [ + 'AWS::EC2::CustomerGateway-status-warning', + 'Amazon-VPC_Customer_Gateway_light-bg-warning', + ], + ['AWS::EC2::DHCPOptions', 'Res_Amazon-EC2_Instances_48-DHCPOptions'], + ['AWS::EC2::EIP', 'Amazon-EC2_Elastic-IP-Address_light-bg'], + ['AWS::EC2::FlowLog', 'Amazon-VPC_Flow-Logs_light-bg'], + ['AWS::EC2::IPAM', 'Res_Amazon-EC2_Instances_48-IPAM'], + ['AWS::EC2::Instance', 'Amazon-EC2_Instance_light-bg'], + ['AWS::EC2::InternetGateway', 'Amazon-VPC_Internet-Gateway_light-bg'], + ['AWS::EC2::LaunchTemplate', 'Res_AWS-EC2_Launch_Template_48_Light'], + ['AWS::EC2::NatGateway', 'Amazon-VPC_NAT-Gateway_light-bg-menu'], + [ + 'AWS::EC2::NatGateway-status-available', + 'Amazon-VPC_NAT-Gateway_light-bg', + ], + [ + 'AWS::EC2::NatGateway-status-negative', + 'Amazon-VPC_NAT-Gateway_light-bg-error', + ], + [ + 'AWS::EC2::NatGateway-status-warning', + 'Amazon-VPC_NAT-Gateway_light-bg-warning', + ], + ['AWS::EC2::NetworkAcl', 'Amazon-VPC_Network-Access-Control-List_light-bg'], + [ + 'AWS::EC2::NetworkInsightsPath', + 'Res_Amazon-EC2_Instances_48-NetworkInsightsPath', + ], + [ + 'AWS::EC2::NetworkInterface', + 'Amazon-VPC_Elastic-Network-Interface_light-bg', + ], + ['AWS::EC2::PrefixList', 'Res_Amazon-EC2_Instance_48-PrefixList'], + ['AWS::EC2::RouteTable', 'Amazon-VPC_Router_light-bg'], + ['AWS::EC2::SecurityGroup', 'AWSSecurityGroup'], + ['AWS::EC2::Spot', 'Amazon-EC2_Spot-Instance_light-bg-menu'], + ['AWS::EC2::Spot-status-available', 'Amazon-EC2_Spot-Instance_light-bg'], + [ + 'AWS::EC2::Spot-status-negative', + 'Amazon-EC2_Spot-Instance_light-bg-error', + ], + [ + 'AWS::EC2::Spot-status-warning', + 'Amazon-EC2_Spot-Instance_light-bg-warning', + ], + ['AWS::EC2::SpotFleet', 'Res_Amazon-EC2_Spot-Instance_48-SpotFleet'], + ['AWS::EC2::Subnet', 'VPC-subnet-private_light-bg-menu'], + ['AWS::EC2::Subnet-public', 'VPC-subnet-public_light-bg-menu'], + ['AWS::EC2::Subnet-public-status-available', 'VPC-subnet-public_light-bg'], + [ + 'AWS::EC2::Subnet-public-status-negative', + 'VPC-subnet-public_light-bg-error', + ], + [ + 'AWS::EC2::Subnet-public-status-warning', + 'VPC-subnet-public_light-bg-warning', + ], + ['AWS::EC2::Subnet-status-available', 'VPC-subnet-private_light-bg'], + ['AWS::EC2::Subnet-status-negative', 'VPC-subnet-private_light-bg-error'], + ['AWS::EC2::Subnet-status-warning', 'VPC-subnet-private_light-bg-warning'], + [ + 'AWS::EC2::SubnetRouteTableAssociation', + 'Arch_Amazon-EC2_64-SubnetRouteTableAssociation', + ], + [ + 'AWS::EC2::TrafficMirrorFilter', + 'Res_Amazon-EC2_Instances_48-TrafficMirrorFilter', + ], + [ + 'AWS::EC2::TrafficMirrorSession', + 'Res_Amazon-EC2_Instances_48-TrafficMirrorSession', + ], + [ + 'AWS::EC2::TrafficMirrorTarget', + 'Res_Amazon-EC2_Instances_48-TrafficMirrorTarget', + ], + ['AWS::EC2::TransitGateway', 'Arch_AWS-Transit-Gateway_64'], + [ + 'AWS::EC2::TransitGatewayAttachment', + 'Res_AWS-Transit-Gateway_Attachment_48', + ], + [ + 'AWS::EC2::TransitGatewayRouteTable', + 'Res_AWS-Cloud-WAN_Transit-Gateway-Route-Table-Attachment_48', + ], + ['AWS::EC2::VPC', 'VPC-menu'], + ['AWS::EC2::VPC-status-available', 'VPC'], + ['AWS::EC2::VPC-status-negative', 'VPC-error'], + ['AWS::EC2::VPC-status-warning', 'VPC-warning'], + ['AWS::EC2::VPCEndpoint', 'Amazon-EC2_VPC_Endpoints_light-bg-menu'], + [ + 'AWS::EC2::VPCEndpoint-status-available', + 'Amazon-EC2_VPC_Endpoints_light-bg', + ], + [ + 'AWS::EC2::VPCEndpoint-status-negative', + 'Amazon-EC2_VPC_Endpoints_light-bg-error', + ], + [ + 'AWS::EC2::VPCEndpoint-status-warning', + 'Amazon-EC2_VPC_Endpoints_light-bg-warning', + ], + ['AWS::EC2::VPNConnection', 'Amazon-VPN_Connection_light-bg-menu'], + [ + 'AWS::EC2::VPNConnection-status-available', + 'Amazon-VPN_Connection_light-bg', + ], + [ + 'AWS::EC2::VPNConnection-status-negative', + 'Amazon-VPN_Connection_light-bg-error', + ], + [ + 'AWS::EC2::VPNConnection-status-warning', + 'Amazon-VPN_Connection_light-bg-warning', + ], + [ + 'AWS::EC2::VPNConnectionRoute', + 'Amazon-VPN_Connection_Route_light-bg-menu', + ], + [ + 'AWS::EC2::VPNConnectionRoute-status-available', + 'Amazon-VPN_Connection_Route_light-bg', + ], + [ + 'AWS::EC2::VPNConnectionRoute-status-negative', + 'Amazon-VPN_Connection_Route_light-bg-error', + ], + [ + 'AWS::EC2::VPNConnectionRoute-status-warning', + 'Amazon-VPN_Connection_Route_light-bg-warning', + ], + ['AWS::EC2::VPNGateway', 'Amazon-VPN_Gateway_light-bg-menu'], + ['AWS::EC2::VPNGateway-status-available', 'Amazon-VPN_Gateway_light-bg'], + [ + 'AWS::EC2::VPNGateway-status-negative', + 'Amazon-VPN_Gateway_light-bg-error', + ], + [ + 'AWS::EC2::VPNGateway-status-warning', + 'Amazon-VPN_Gateway_light-bg-warning', + ], + ['AWS::EC2::Volume', 'Amazon-Elastic-Block-Store-EBS_Volume_light-bg-menu'], + [ + 'AWS::EC2::Volume-status-available', + 'Amazon-Elastic-Block-Store-EBS_Volume_light-bg', + ], + [ + 'AWS::EC2::Volume-status-negative', + 'Amazon-Elastic-Block-Store-EBS_Volume_light-bg-error', + ], + [ + 'AWS::EC2::Volume-status-warning', + 'Amazon-Elastic-Block-Store-EBS_Volume_light-bg-warning', + ], + ['AWS::ECR::Repository', 'Amazon-EC2-Container-Registry'], + ['AWS::ECS::Cluster', 'Amazon-Elastic-Container-Service-menu'], + ['AWS::ECS::Cluster-status-available', 'Amazon-Elastic-Container-Service'], + [ + 'AWS::ECS::Cluster-status-negative', + 'Amazon-Elastic-Container-Service-error', + ], + [ + 'AWS::ECS::Cluster-status-warning', + 'Amazon-Elastic-Container-Service-warning', + ], + ['AWS::ECS::EnvironmentVariable', 'Env-variable-ECS-light-bg'], + [ + 'AWS::ECS::Service', + 'Amazon-Elastic-Container-Service_Service_light-bg-menu', + ], + [ + 'AWS::ECS::Service-status-available', + 'Amazon-Elastic-Container-Service_Service_light-bg', + ], + [ + 'AWS::ECS::Service-status-error', + 'Amazon-Elastic-Container-Service_Service_light-bg-error', + ], + [ + 'AWS::ECS::Service-status-warning', + 'Amazon-Elastic-Container-Service_Service_light-bg-warning', + ], + ['AWS::ECS::Task', 'Amazon-Elastic-Container-Service_Task_light-bg-menu'], + [ + 'AWS::ECS::Task-status-available', + 'Amazon-Elastic-Container-Service_Task_light-bg', + ], + [ + 'AWS::ECS::Task-status-error', + 'Amazon-Elastic-Container-Service_Task_light-bg-error', + ], + [ + 'AWS::ECS::Task-status-warning', + 'Amazon-Elastic-Container-Service_Task_light-bg-warning', + ], + ['AWS::ECS::TaskDefinition', 'ECS-Task-Definition-light-bg-menu'], + [ + 'AWS::ECS::TaskDefinition-status-available', + 'ECS-Task-Definition-light-bg', + ], + [ + 'AWS::ECS::TaskDefinition-status-error', + 'ECS-Task-Definition-light-bg-error', + ], + [ + 'AWS::ECS::TaskDefinition-status-warning', + 'ECS-Task-Definition-light-bg-warning', + ], + [ + 'AWS::ECS::TaskSet', + 'Res_Amazon-Elastic-Container-Service_Task_48-TaskSet', + ], + [ + 'AWS::EFS::AccessPoint', + 'Res_Amazon-Simple-Storage-Service_General-Access-Points_48_Light', + ], + [ + 'AWS::EFS::FileSystem', + 'Res_Amazon-Elastic-File-System_File-System_48_Light', + ], + ['AWS::EKS::Addon', 'Arch_Amazon-Elastic-Kubernetes-Service_64-Addon'], + ['AWS::EKS::Cluster', 'Amazon-Elastic-Kubernetes-Service-menu'], + ['AWS::EKS::Cluster-status-available', 'Amazon-Elastic-Kubernetes-Service'], + [ + 'AWS::EKS::Cluster-status-negative', + 'Amazon-Elastic-Kubernetes-Service-error', + ], + [ + 'AWS::EKS::Cluster-status-warning', + 'Amazon-Elastic-Kubernetes-Service-warning', + ], + ['AWS::EKS::FargateProfile', 'Arch_Amazon-EKS-Distro_64-FargateProfile'], + [ + 'AWS::EKS::IdentityProviderConfig', + 'Arch_Amazon-Elastic-Kubernetes-Service_64-IdentityProviderConfig', + ], + ['AWS::EKS::Nodegroup', 'Arch_Amazon-EKS-Distro_64'], + [ + 'AWS::ElasticBeanstalk::Application', + 'Res_AWS-Elastic-Beanstalk_Deployment_48-ApplicationVersion', + ], + [ + 'AWS::ElasticBeanstalk::ApplicationVersion', + 'Res_AWS-Elastic-Beanstalk_Application_48', + ], + [ + 'AWS::ElasticBeanstalk::Environment', + 'Res_AWS-Elastic-Beanstalk_Deployment_48-Environment', + ], + [ + 'AWS::ElasticLoadBalancing::LoadBalancer', + 'Elastic-Load-Balancing_Classic-load-balancer_light-bg-menu', + ], + [ + 'AWS::ElasticLoadBalancing::LoadBalancer-status-available', + 'Elastic-Load-Balancing_Classic-load-balancer_light-bg', + ], + [ + 'AWS::ElasticLoadBalancing::LoadBalancer-status-negative', + 'Elastic-Load-Balancing_Classic-load-balancer_light-bg-error', + ], + [ + 'AWS::ElasticLoadBalancing::LoadBalancer-status-warning', + 'Elastic-Load-Balancing_Classic-load-balancer_light-bg-warning', + ], + ['AWS::ElasticLoadBalancingV2::Listener', 'ELB-Listener-light-bg'], + [ + 'AWS::ElasticLoadBalancingV2::LoadBalancer', + 'Elastic-Load-Balancing-ELB_Application-load-balancer_light-bg-menu', + ], + [ + 'AWS::ElasticLoadBalancingV2::LoadBalancer-application-status-available', + 'Elastic-Load-Balancing-ELB_Application-load-balancer_light-bg', + ], + [ + 'AWS::ElasticLoadBalancingV2::LoadBalancer-application-status-negative', + 'Elastic-Load-Balancing-ELB_Application-load-balancer_light-bg-error', + ], + [ + 'AWS::ElasticLoadBalancingV2::LoadBalancer-application-status-warning', + 'Elastic-Load-Balancing-ELB_Application-load-balancer_light-bg-warning', + ], + [ + 'AWS::ElasticLoadBalancingV2::LoadBalancer-network', + 'Elastic-Load-Balancing-ELB_Network-load-balancer_light-bg-menu', + ], + [ + 'AWS::ElasticLoadBalancingV2::LoadBalancer-network-status-available', + 'Elastic-Load-Balancing-ELB_Network-load-balancer_light-bg', + ], + [ + 'AWS::ElasticLoadBalancingV2::LoadBalancer-network-status-negative', + 'Elastic-Load-Balancing-ELB_Network-load-balancer_light-bg-error', + ], + [ + 'AWS::ElasticLoadBalancingV2::LoadBalancer-network-status-warning', + 'Elastic-Load-Balancing-ELB_Network-load-balancer_light-bg-warning', + ], + ['AWS::ElasticLoadBalancingV2::Target', 'ELB-Target-light-bg'], + ['AWS::ElasticLoadBalancingV2::TargetGroup', 'ELB-Target-group-light-bg'], + ['AWS::Elasticsearch::Domain', 'Amazon-Elasticsearch-Service_light-bg'], + [ + 'AWS::EventSchemas::Discoverer', + 'Res_Amazon-EventBridge_Rule_48-Discoverer', + ], + [ + 'AWS::EventSchemas::Registry', + 'Res_Amazon-EventBridge_Schema-Registry_48', + ], + [ + 'AWS::EventSchemas::RegistryPolicy', + 'Res_Amazon-EventBridge_Schema-Registry_48-RegistryPolicy', + ], + ['AWS::EventSchemas::Schema', 'Res_Amazon-EventBridge_Schema_48'], + ['AWS::Events::Connection', 'Res_Amazon-EventBridge_Pipes_48-Connection'], + ['AWS::Events::EventBus', 'Res_Amazon-EventBridge_Default-Event-Bus_48'], + ['AWS::Events::Rule', 'Res_Amazon-EventBridge-Event_48-Rule'], + ['AWS::Evidently::Project', 'Res_Amazon-CloudWatch_Evidently_48'], + ['AWS::Forecast::Dataset', 'Arch_Amazon-Forecast_64-Dataset'], + [ + 'AWS::FraudDetector::EntityType', + 'Arch_Amazon-Fraud-Detector_64-EntityType', + ], + ['AWS::FraudDetector::Label', 'Arch_Amazon-Fraud-Detector_64-Label'], + ['AWS::FraudDetector::Outcome', 'Arch_Amazon-Fraud-Detector_64-Outcome'], + ['AWS::FraudDetector::Variable', 'Arch_Amazon-Fraud-Detector_64-Variable'], + ['AWS::Glue::Job', 'Arch_AWS-Glue_64-Job'], + ['AWS::Glue::MLTransform', 'Res_AWS-Glue_AWS-Glue-for-Ray_48-MLTransform'], + ['AWS::GuardDuty::Detector', 'Arch_Amazon-GuardDuty_64-Detector'], + [ + 'AWS::HealthLake::FHIRDatastore', + 'Arch_Amazon-HealthLake_64-FHIRDatastore', + ], + [ + 'AWS::IAM::AWSManagedPolicy', + 'AWS-Identity-and-Access-Management-IAM_Permissions_AWSManagedPolicy-light-bg', + ], + [ + 'AWS::IAM::AWSPolicyStatement', + 'AWS-Identity-and-Access-Management-IAM_Permissions_AWSPolicyStatement-light-bg', + ], + [ + 'AWS::IAM::CustomerManagedPolicyStatement', + 'AWS-Identity-and-Access-Management-IAM_Permissions_CustomerManagedPolicy-light-bg-menu', + ], + [ + 'AWS::IAM::CustomerManagedPolicyStatement-status-available', + 'AWS-Identity-and-Access-Management-IAM_Permissions_CustomerManagedPolicy-light-bg-good', + ], + [ + 'AWS::IAM::CustomerManagedPolicyStatement-status-negative', + 'AWS-Identity-and-Access-Management-IAM_Permissions_CustomerManagedPolicy-light-bg-error', + ], + [ + 'AWS::IAM::CustomerManagedPolicyStatement-status-warning', + 'AWS-Identity-and-Access-Management-IAM_Permissions_CustomerManagedPolicy-light-bg-warning', + ], + ['AWS::IAM::Group', 'Users_light-bg'], + [ + 'AWS::IAM::InlinePolicy', + 'Res_AWS-Identity-Access-Management_Permissions_48_Light', + ], + [ + 'AWS::IAM::InstanceProfile', + 'AWS-Identity-and-Access-Management-IAM_Instance_Profile_light-bg', + ], + ['AWS::IAM::Policy', 'IAM_Policy'], + ['AWS::IAM::Role', 'AWS-Identity-and-Access-Management-IAM_Role_light-bg'], + [ + 'AWS::IAM::SAMLProvider', + 'Res_AWS-Identity-Access-Management_AWS-STS_48-SAMLProvider', + ], + [ + 'AWS::IAM::ServerCertificate', + 'Res_AWS-Certificate-Manager_Certificate-Authority_48-ServerCertificate', + ], + ['AWS::IAM::User', 'User_light-bg'], + ['AWS::IVS::Channel', 'Arch_Amazon-Interactive-Video-Service_64-Channel'], + [ + 'AWS::IVS::PlaybackKeyPair', + 'Arch_Amazon-Interactive-Video-Service_64-PlaybackKeyPair', + ], + [ + 'AWS::IVS::RecordingConfiguration', + 'Arch_Amazon-Interactive-Video-Service_64-RecordingConfiguration', + ], + [ + 'AWS::ImageBuilder::ContainerRecipe', + 'Arch_Amazon-EC2-Image-Builder_64-ContainerRecipe', + ], + [ + 'AWS::ImageBuilder::DistributionConfiguration', + 'Arch_Amazon-EC2-Image-Builder_64-DistributionConfiguration', + ], + [ + 'AWS::ImageBuilder::InfrastructureConfiguration', + 'Arch_Amazon-EC2-Image-Builder_64-InfrastructureConfiguration', + ], + [ + 'AWS::IoT::AccountAuditConfiguration', + 'Res_AWS-IoT-Greengrass_Component-Public_48-AuditConfiguration', + ], + ['AWS::IoT::Authorizer', 'Res_AWS-IoT_Certificate_48-Authorizer'], + ['AWS::IoT::CustomMetric', 'Res_AWS-IoT-Rule_48-CustomMetric'], + ['AWS::IoT::Dimension', 'Res_AWS-IoT_Dimension_48'], + ['AWS::IoT::MitigationAction', 'Res_AWS-IoT_Action_48-MitigationAction'], + ['AWS::IoT::Policy', 'Res_AWS-IoT_Policy_48'], + ['AWS::IoT::RoleAlias', 'Res_AWS-IoT_Policy_48-RoleAlias'], + [ + 'AWS::IoT::ScheduledAudit', + 'Res_AWS-IoT-Greengrass_Component-Public_48-ScheduledAudit', + ], + [ + 'AWS::IoT::SecurityProfile', + 'Res_AWS-IoT_Thing_Police-Emergency_48-SecurityProfile', + ], + ['AWS::IoTAnalytics::Channel', 'Res_AWS-IoT-Analytics_Channel_48'], + ['AWS::IoTAnalytics::Dataset', 'Res_AWS-IoT-Analytics_Dataset_48'], + ['AWS::IoTAnalytics::Datastore', 'Res_AWS-IoT-Analytics_Data-Store_48'], + ['AWS::IoTAnalytics::Pipeline', 'Res_AWS-IoT-Analytics_Pipeline_48'], + ['AWS::IoTSiteWise::AssetModel', 'Res_AWS-IoT-SiteWise_Asset-Model_48'], + ['AWS::IoTSiteWise::Dashboard', 'Res_AWS-IoT-SiteWise_Asset_48-Dashboard'], + [ + 'AWS::IoTSiteWise::Gateway', + 'Res_AWS-IoT-SiteWise_Asset-Model_48-Gateway', + ], + ['AWS::IoTSiteWise::Portal', 'Res_AWS-IoT-SiteWise_Asset_48-Portal'], + ['AWS::IoTSiteWise::Project', 'Arch_AWS-IoT-SiteWise_64-Project'], + ['AWS::IoTTwinMaker::Entity', 'Arch_AWS-IoT-TwinMaker_64-Entity'], + ['AWS::IoTTwinMaker::Scene', 'Arch_AWS-IoT-TwinMaker_64-Scene'], + ['AWS::IoTTwinMaker::Workspace', 'Arch_AWS-IoT-TwinMaker_64-Workspace'], + [ + 'AWS::KMS::Key', + 'AWS-Identity-and-Access-Management-IAM_Data-Encryption-Key_light-bg', + ], + ['AWS::Kendra::Index', 'Arch_Amazon-Kendra_64-Index'], + ['AWS::Kinesis::Stream', 'Arch_Amazon-Kinesis-Data-Streams_64'], + ['AWS::Kinesis::StreamConsumer', 'Arch_Amazon-Kinesis_64-StreamConsumer'], + [ + 'AWS::KinesisAnalyticsV2::Application', + 'Arch_Amazon-Kinesis-Data-Analytics_64-Application', + ], + [ + 'AWS::KinesisFirehose::DeliveryStream', + 'Arch_Amazon-Kinesis-Data-Firehose_64', + ], + [ + 'AWS::KinesisVideo::SignalingChannel', + 'Arch_Amazon-Kinesis-Video-Streams_64-SignalingChannel', + ], + ['AWS::Lambda::EnvironmentVariable', 'Env-variable-light-bg'], + ['AWS::Lambda::Function', 'AWS-Lambda-menu'], + ['AWS::Lambda::Function-status-available', 'AWS-Lambda'], + ['AWS::Lambda::Function-status-negative', 'AWS-Lambda-error'], + ['AWS::Lambda::Function-status-warning', 'AWS-Lambda-warning'], + ['AWS::Lex::Bot', 'Arch_Amazon-Lex_64-Bot'], + ['AWS::Lex::BotAlias', 'Arch_Amazon-Lex_64-BotAlias'], + ['AWS::Lightsail::Bucket', 'Arch_Amazon-Lightsail_64-Bucket'], + ['AWS::Lightsail::StaticIp', 'Arch_Amazon-Lightsail_64-StaticIp'], + ['AWS::LookoutMetrics::Alert', 'Arch_Amazon-Lookout-for-Metrics_64-Alert'], + [ + 'AWS::LookoutVision::Project', + 'Arch_Amazon-Lookout-for-Vision_64-Project', + ], + ['AWS::MediaConnect::Flow', 'Arch_AWS-Elemental-MediaConnect_64'], + [ + 'AWS::MediaConnect::FlowEntitlement', + 'Arch_AWS-Elemental-MediaConnect_64', + ], + ['AWS::MediaConnect::FlowSource', 'Arch_AWS-Elemental-MediaConnect_64'], + [ + 'AWS::MediaConnect::FlowVpcInterface', + 'Arch_AWS-Elemental-MediaConnect_64', + ], + [ + 'AWS::MediaTailor::PlaybackConfiguration', + 'Arch_AWS-Elemental-MediaTailor_64', + ], + ['AWS::MSK::Cluster', 'Arch_Amazon-Managed-Streaming-for-Apache-Kafka_64'], + [ + 'AWS::MediaPackage::PackagingConfiguration', + 'Arch_AWS-Elemental-MediaPackage_64-PackagingConfiguration', + ], + [ + 'AWS::MediaPackage::PackagingGroup', + 'Arch_AWS-Elemental-MediaPackage_64-PackagingGroup', + ], + [ + 'AWS::NetworkManager::TransitGatewayRegistration', + 'Arch_AWS-Transit-Gateway_64-TransitGatewayRegistration', + ], + ['AWS::OpenSearch::Domain', 'Arch_Amazon-OpenSearch-Service_64'], + ['AWS::Pinpoint::App', 'Arch_Amazon-Pinpoint_64-App'], + [ + 'AWS::Pinpoint::ApplicationSettings', + 'Arch_Amazon-Pinpoint_64-ApplicationSettings', + ], + ['AWS::Pinpoint::Campaign', 'Arch_Amazon-Pinpoint_64-Campaign'], + ['AWS::Pinpoint::InAppTemplate', 'Arch_Amazon-Pinpoint_64-InAppTemplate'], + ['AWS::Pinpoint::Segment', 'Arch_Amazon-Pinpoint_64-Segment'], + ['AWS::Pipes::Pipe', 'Res_Amazon-EventBridge_Pipes_48'], + ['AWS::QLDB::Ledger', 'Amazon-Quantum-Ledger-Database_QLDB_light-bg-menu'], + [ + 'AWS::QLDB::Ledger-status-available', + 'Amazon-Quantum-Ledger-Database_QLDB_light-bg', + ], + [ + 'AWS::QLDB::Ledger-status-negative', + 'Amazon-Quantum-Ledger-Database_QLDB_light-bg-error', + ], + [ + 'AWS::QLDB::Ledger-status-warning', + 'Amazon-Quantum-Ledger-Database_QLDB_light-bg-warning', + ], + ['AWS::RDS::DBCluster', 'Amazon-DBCluster'], + ['AWS::RDS::DBClusterSnapshot', 'Amazon-DBClusterSnapshot'], + ['AWS::RDS::DBInstance', 'Amazon-RDS_Amazon-RDS_instance_light-bg-menu'], + [ + 'AWS::RDS::DBInstance-aurora', + 'Amazon-RDS_Amazon-Aurora_instance_light-bg-menu', + ], + [ + 'AWS::RDS::DBInstance-aurora-mysql', + 'Amazon-RDS_Amazon-Aurora_instance_mysql_light-bg-menu', + ], + [ + 'AWS::RDS::DBInstance-aurora-mysql-status-available', + 'Amazon-RDS_Amazon-Aurora_instance_mysql_light-bg', + ], + [ + 'AWS::RDS::DBInstance-aurora-mysql-status-negative', + 'Amazon-RDS_Amazon-Aurora_instance_mysql_light-bg-error', + ], + [ + 'AWS::RDS::DBInstance-aurora-mysql-status-warning', + 'Amazon-RDS_Amazon-Aurora_instance_mysql_light-bg-warning', + ], + [ + 'AWS::RDS::DBInstance-aurora-postgresql', + 'Amazon-RDS_Amazon-Aurora_instance_postgresql_light-bg-menu', + ], + [ + 'AWS::RDS::DBInstance-aurora-postgresql-status-available', + 'Amazon-RDS_Amazon-Aurora_instance_postgresql_light-bg', + ], + [ + 'AWS::RDS::DBInstance-aurora-postgresql-status-negative', + 'Amazon-RDS_Amazon-Aurora_instance_postgresql_light-bg-error', + ], + [ + 'AWS::RDS::DBInstance-aurora-postgresql-status-warning', + 'Amazon-RDS_Amazon-Aurora_instance_postgresql_light-bg-warning', + ], + [ + 'AWS::RDS::DBInstance-aurora-status-available', + 'Amazon-RDS_Amazon-Aurora_instance_light-bg', + ], + [ + 'AWS::RDS::DBInstance-aurora-status-negative', + 'Amazon-RDS_Amazon-Aurora_instance_light-bg-error', + ], + [ + 'AWS::RDS::DBInstance-aurora-status-warning', + 'Amazon-RDS_Amazon-Aurora_instance_light-bg-warning', + ], + [ + 'AWS::RDS::DBInstance-mariadb', + 'Amazon-RDS_MariaDB_instance_light-bg-menu', + ], + [ + 'AWS::RDS::DBInstance-mariadb-status-available', + 'Amazon-RDS_MariaDB_instance_light-bg', + ], + [ + 'AWS::RDS::DBInstance-mariadb-status-negative', + 'Amazon-RDS_MariaDB_instance_light-bg-error', + ], + [ + 'AWS::RDS::DBInstance-mariadb-status-warning', + 'Amazon-RDS_MariaDB_instance_light-bg-warning', + ], + ['AWS::RDS::DBInstance-mysql', 'Amazon-RDS_MySQL_instance_light-bg-menu'], + [ + 'AWS::RDS::DBInstance-mysql-status-available', + 'Amazon-RDS_MySQL_instance_light-bg', + ], + [ + 'AWS::RDS::DBInstance-mysql-status-negative', + 'Amazon-RDS_MySQL_instance_light-bg-error', + ], + [ + 'AWS::RDS::DBInstance-mysql-status-warning', + 'Amazon-RDS_MySQL_instance_light-bg-warning', + ], + ['AWS::RDS::DBInstance-neptune', 'Amazon-Neptune_light-bg-menu'], + [ + 'AWS::RDS::DBInstance-neptune-status-available', + 'Amazon-Neptune_light-bg', + ], + [ + 'AWS::RDS::DBInstance-neptune-status-negative', + 'Amazon-Neptune_light-bg-error', + ], + [ + 'AWS::RDS::DBInstance-neptune-status-warning', + 'Amazon-Neptune_light-bg-warning', + ], + [ + 'AWS::RDS::DBInstance-postgres', + 'Amazon-RDS_PostgreSQL_instance_light-bg-menu', + ], + [ + 'AWS::RDS::DBInstance-postgres-status-available', + 'Amazon-RDS_PostgreSQL_instance_light-bg', + ], + [ + 'AWS::RDS::DBInstance-postgres-status-negative', + 'Amazon-RDS_PostgreSQL_instance_light-bg-error', + ], + [ + 'AWS::RDS::DBInstance-postgres-status-warning', + 'Amazon-RDS_PostgreSQL_instance_light-bg-warning', + ], + [ + 'AWS::RDS::DBInstance-sqlserver-ex', + 'Amazon-RDS_SQL-Server_instance_light-bg-menu', + ], + [ + 'AWS::RDS::DBInstance-sqlserver-ex-status-available', + 'Amazon-RDS_SQL-Server_instance_light-bg', + ], + [ + 'AWS::RDS::DBInstance-sqlserver-ex-status-negative', + 'Amazon-RDS_SQL-Server_instance_light-bg-error', + ], + [ + 'AWS::RDS::DBInstance-sqlserver-ex-status-warning', + 'Amazon-RDS_SQL-Server_instance_light-bg-warning', + ], + [ + 'AWS::RDS::DBInstance-status-available', + 'Amazon-RDS_Amazon-RDS_instance_light-bg', + ], + [ + 'AWS::RDS::DBInstance-status-negative', + 'Amazon-RDS_Amazon-RDS_instance_light-bg-error', + ], + [ + 'AWS::RDS::DBInstance-status-warning', + 'Amazon-RDS_Amazon-RDS_instance_light-bg-warning', + ], + ['AWS::RDS::DBSecurityGroup', 'AWSDBSecurityGroup'], + ['AWS::RDS::DBSnapshot', 'Amazon-RDS_Amazon-RDS_Snapshot_light-bg'], + ['AWS::RDS::DBSubnetGroup', 'DBSubnetGroup'], + [ + 'AWS::RDS::GlobalCluster', + 'Res_Amazon-RDS_Multi-AZ-DB-Cluster_48-GlobalCluster', + ], + ['AWS::RUM::AppMonitor', 'Res_Amazon-CloudWatch_RUM_48'], + ['AWS::Redshift::Cluster', 'Amazon-Redshift_light-bg-menu'], + ['AWS::Redshift::Cluster-status-available', 'Amazon-Redshift_light-bg'], + [ + 'AWS::Redshift::Cluster-status-negative', + 'Amazon-Redshift_light-bg-error', + ], + [ + 'AWS::Redshift::Cluster-status-warning', + 'Amazon-Redshift_light-bg-warning', + ], + [ + 'AWS::Redshift::ClusterParameterGroup', + 'Amazon-Redshift_light-parameter-group', + ], + ['AWS::Redshift::ClusterSnapshot', 'Amazon-Redshift_light-snapshot'], + ['AWS::Redshift::ClusterSubnetGroup', 'Amazon-Redshift_light-subnet-group'], + [ + 'AWS::ResilienceHub::ResiliencyPolicy', + 'Arch_AWS-Resilience-Hub_64-ResiliencyPolicy', + ], + [ + 'AWS::RoboMaker::RobotApplication', + 'Arch_AWS-RoboMaker_64-RobotApplication', + ], + [ + 'AWS::RoboMaker::RobotApplicationVersion', + 'Res_AWS-RoboMaker_Development-Environment_48-RobotApplicationVersion', + ], + [ + 'AWS::RoboMaker::SimulationApplication', + 'Res_AWS-RoboMaker_Simulation_48-SimulationApplication', + ], + ['AWS::Route53::HostedZone', 'Res_Amazon-Route-53-Hosted-Zone_48'], + ['AWS::Route53RecoveryControl::Cluster', 'Arch_Amazon-Route-53_64-Cluster'], + [ + 'AWS::Route53RecoveryControl::ControlPanel', + 'Arch_Amazon-Route-53_64-ControlPanel', + ], + [ + 'AWS::Route53RecoveryControl::RoutingControl', + 'Arch_Amazon-Route-53_64-RoutingControl', + ], + [ + 'AWS::Route53RecoveryControl::SafetyRule', + 'Arch_Amazon-Route-53_64-SafetyRule', + ], + [ + 'AWS::Route53RecoveryReadiness::RecoveryGroup', + 'Res_Amazon-Route-53_Readiness-Checks_48-RecoveryGroup', + ], + [ + 'AWS::Route53RecoveryReadiness::ResourceSet', + 'Arch_Amazon-Route-53_64-ResourceSet', + ], + [ + 'AWS::Route53Resolver::FirewallDomainList', + 'Res_Amazon-Route-53_Resolver-DNS-Firewall_48', + ], + [ + 'AWS::Route53Resolver::ResolverRule', + 'Res_Amazon-Route-53_Resolver-Rule_48_Light', + ], + [ + 'AWS::Route53Resolver::ResolverRuleAssociation', + 'Res_Amazon-Route-53_Resolver-Rule-Association_48_Light', + ], + [ + 'AWS::Route53Resolver::ResolverRuleEndpoint', + 'Res_Amazon-Route-53_Resolver-Endpoint_48_Light', + ], + ['AWS::S3::AccountPublicAccessBlock', 'Amazon-S3_public_access_block'], + ['AWS::S3::Bucket', 'Amazon-Simple-Storage-Service-S3'], + [ + 'AWS::S3::MultiRegionAccessPoint', + 'Res_Amazon-Simple-Storage-Service_General-Access-Points_48-MultiRegionAccessPoint', + ], + [ + 'AWS::S3::StorageLens', + 'Res_Amazon-Simple-Storage-Service_S3-Storage-Lens_48', + ], + [ + 'AWS::SES::ConfigurationSet', + 'Res_Amazon-Simple-Email-Service_Email_48-ConfigurationSet', + ], + [ + 'AWS::SES::ContactList', + 'Res_Amazon-Simple-Email-Service_Email_48-ContactList', + ], + [ + 'AWS::SES::ReceiptFilter', + 'Res_Amazon-Simple-Email-Service_Email_48-ReceiptFilter', + ], + [ + 'AWS::SES::ReceiptRuleSet', + 'Res_Amazon-Simple-Email-Service_Email_48-ReceiptRuleSet', + ], + ['AWS::SES::Template', 'Res_Amazon-Simple-Email-Service_Email_48-Template'], + [ + 'AWS::SNS::Topic', + 'Amazon-Simple-Notification-Service-SNS_Topic_light-bg', + ], + ['AWS::SQS::Queue', 'Amazon-Simple-Queue-Service-SQS_Queue_light-bg'], + [ + 'AWS::SSM::AssociationCompliance', + 'Res_AWS-Systems-Manager_Application-Manager_48-AssociationCompliance', + ], + ['AWS::SSM::ManagedInstanceInventory', 'AWS-Systems-Manager_Inventory'], + ['AWS::SageMaker::Domain', 'Res_Amazon-SageMaker_Canvas_48-Domain'], + [ + 'AWS::SageMaker::EndpointConfig', + 'Arch_Amazon-SageMaker_64-EndpointConfig', + ], + ['AWS::SageMaker::Model', 'Res_Amazon-SageMaker_Model_48_Light'], + ['AWS::SageMaker::NotebookInstance', 'Res_Amazon-SageMaker_Notebook_48'], + [ + 'AWS::SageMaker::NotebookInstanceLifecycleConfig', + 'Res_Amazon-SageMaker_Notebook_48-NotebookInstanceLifestyleConfig', + ], + ['AWS::SecretsManager::Secret', 'Arch_AWS-Secrets-Manager_64-Secret'], + [ + 'AWS::ServiceCatalogAppRegistry::Application', + 'Arch_AWS-Service-Catalog_64', + ], + ['AWS::Shield::Protection', 'AWS-Shield-bg'], + ['AWS::ShieldRegional::Protection', 'AWS-Shield_regional-bg'], + ['AWS::Signer::SigningProfile', 'Arch_AWS-Signer_64-SigningProfile'], + ['AWS::StepFunctions::Activity', 'StepFunctionsActivity'], + ['AWS::StepFunctions::StateMachine', 'Arch_AWS-Step-Functions_64'], + ['AWS::Tags::Tag', 'AWS-Tags-bg'], + [ + 'AWS::Transfer::Agreement', + 'Arch-Category_Migration-Transfer_64-Agreement', + ], + [ + 'AWS::Transfer::Connector', + 'Arch-Category_Migration-Transfer_64-Connector', + ], + ['AWS::Transfer::Workflow', 'Arch-Category_Migration-Transfer_64-Workflow'], + ['AWS::VPC::Endpoint', 'Amazon-VPC_Endpoints_light-bg-menu'], + ['AWS::VPC::Endpoint-status-available', 'Amazon-VPC_Endpoints_light-bg'], + [ + 'AWS::VPC::Endpoint-status-negative', + 'Amazon-VPC_Endpoints_light-bg-error', + ], + [ + 'AWS::VPC::Endpoint-status-warning', + 'Amazon-VPC_Endpoints_light-bg-warning', + ], + ['AWS::WAF::RateBasedRule', 'AWS-WAF_rate-based-rule-bg'], + ['AWS::WAF::Rule', 'AWS-WAF_rule-bg'], + ['AWS::WAF::RuleGroup', 'AWS-WAF_rule-group-bg'], + ['AWS::WAF::WebACL', 'AWS-WAF_webacl-bg'], + ['AWS::WAFRegional::RateBasedRule', 'AWS-WAF_regional-rate-based-rule-bg'], + ['AWS::WAFRegional::Rule', 'AWS-WAF_regional-rule-bg'], + ['AWS::WAFRegional::WebACL', 'AWS-WAF_regional-webacl-bg'], + ['AWS::WorkSpaces::ConnectionAlias', 'WorkspacesConnectionAlias'], + ['AWS::WorkSpaces::Workspace', 'Arch_AWS-WorkSpaces_64'], + ['DELETE', 'API-Gateway-method-Delete_light-bg'], + ['GET', 'API-Gateway-method-Get_light-bg'], + ['PATCH', 'API-Gateway-method-Patch_light-bg'], + ['POST', 'API-Gateway-method-Post_light-bg'], + ['PUT', 'API-Gateway-method-Put_light-bg'], + ['R5a-status-available', 'Amazon-EC2_R5a-Instance_light-bg'], + ['R5a-status-negative', 'Amazon-EC2_R5a-Instance_light-bg-error'], + ['R5a-status-warning', 'Amazon-EC2_R5a-Instance_light-bg-warning'], + ['R5b-status-available', 'Amazon-EC2_R5b-Instance_light-bg'], + ['R5b-status-negative', 'Amazon-EC2_R5b-Instance_light-bg-error'], + ['R5n-status-available', 'Amazon-EC2_R5n-Instance_light-bg'], + ['R5n-status-negative', 'Amazon-EC2_R5n-Instance_light-bg-error'], + ['R5n-status-warning', 'Amazon-EC2_R5b-Instance_light-bg-warning'], + ['R6i-status-available', 'Amazon-EC2_R6i-Instance_light-bg'], + ['R6i-status-negative', 'Amazon-EC2_R6i-Instance_light-bg-error'], + ['R6i-status-warning', 'Amazon-EC2_R6i-Instance_light-bg-warning'], + ['X2gd-status-available', 'Amazon-EC2_X2gd-Instance_light-bg'], + ['X2gd-status-negative', 'Amazon-EC2_X2gd-Instance_light-bg-error'], + ['X2gd-status-warning', 'Amazon-EC2_X2gd-Instance_light-bg-warning'], + ['X2idn-status-available', 'Amazon-EC2_X2idn-Instance_light-bg'], + ['X2idn-status-negative', 'Amazon-EC2_X2idn-Instance_light-bg-error'], + ['X2idn-status-warning', 'Amazon-EC2_X2idn-Instance_light-bg-warning'], + ['X2iedn-status-available', 'Amazon-EC2_X2iedn-Instance_light-bg'], + ['X2iedn-status-negative', 'Amazon-EC2_X2iedn-Instance_light-bg-error'], + ['X2iedn-status-warning', 'Amazon-EC2_X2iedn-Instance_light-bg-warning'], + ['X2iezn-status-available', 'Amazon-EC2_X2iezn-Instance_light-bg'], + ['X2iezn-status-negative', 'Amazon-EC2_X2iezn-Instance_light-bg-error'], + ['X2iezn-status-warning', 'Amazon-EC2_X2iezn-Instance_light-bg-warning'], + ['a1-status-available', 'Amazon-EC2_A1-Instance_light-bg'], + ['a1-status-negative', 'Amazon-EC2_A1-Instance_light-bg-error'], + ['a1-status-warning', 'Amazon-EC2_A1-Instance_light-bg-warning'], + ['account', 'AWS-Cloud-alt_light-bg'], + ['availabilityZone', 'availabilityZone'], + ['c4-status-available', 'Amazon-EC2_C4-Instance_light-bg'], + ['c4-status-negative', 'Amazon-EC2_C4-Instance_light-bg-error'], + ['c4-status-warning', 'Amazon-EC2_C4-Instance_light-bg-warning'], + ['c5-status-available', 'Amazon-EC2_C5-Instance_light-bg'], + ['c5-status-negative', 'Amazon-EC2_C5-Instance_light-bg-error'], + ['c5-status-warning', 'Amazon-EC2_C5-Instance_light-bg-warning'], + ['c5a-status-available', 'Amazon-EC2_C5a-Instance_light-bg'], + ['c5a-status-negative', 'Amazon-EC2_C5a-Instance_light-bg-error'], + ['c5a-status-warning', 'Amazon-EC2_C5a-Instance_light-bg-warning'], + ['c5n-status-available', 'Amazon-EC2_C5n-Instance_light-bg'], + ['c5n-status-negative', 'Amazon-EC2_C5n-Instance_light-bg-error'], + ['c5n-status-warning', 'Amazon-EC2_C5n-Instance_light-bg-warning'], + ['c6g-status-available', 'Amazon-EC2_C6g-Instance_light-bg'], + ['c6g-status-negative', 'Amazon-EC2_C6g-Instance_light-bg-error'], + ['c6g-status-warning', 'Amazon-EC2_C6g-Instance_light-bg-warning'], + ['c6gn-status-available', 'Amazon-EC2_C6gn-Instance_light-bg'], + ['c6gn-status-negative', 'Amazon-EC2_C6gn-Instance_light-bg-error'], + ['c6gn-status-warning', 'Amazon-EC2_C6gn-Instance_light-bg-warning'], + ['c6i-status-available', 'Amazon-EC2_C6i-Instance_light-bg'], + ['c6i-status-negative', 'Amazon-EC2_C6i-Instance_light-bg-error'], + ['c6i-status-warning', 'Amazon-EC2_C6i-Instance_light-bg-warning'], + ['c7g-status-available', 'Amazon-EC2_C7g-Instance_light-bg'], + ['c7g-status-negative', 'Amazon-EC2_C7g-Instance_light-bg-error'], + ['c7g-status-warning', 'Amazon-EC2_C7g-Instance_light-bg-warning'], + ['cloud', 'AWS-Cloud_light-bg'], + ['collapse', 'treeview-collapse'], + ['collapse_icon', 'remove_circle'], + ['d2-status-available', 'Amazon-EC2_D2-Instance_light-bg'], + ['d2-status-negative', 'Amazon-EC2_D2-Instance_light-bg-error'], + ['d2-status-warning', 'Amazon-EC2_D2-Instance_light-bg-warning'], + ['d3-status-available', 'Amazon-EC2_D3-Instance_light-bg'], + ['d3-status-negative', 'Amazon-EC2_D3-Instance_light-bg-error'], + ['d3-status-warning', 'Amazon-EC2_D3-Instance_light-bg-warning'], + ['d3en-status-available', 'Amazon-EC2_D3en-Instance_light-bg'], + ['d3en-status-negative', 'Amazon-EC2_D3en-Instance_light-bg-error'], + ['d3en-status-warning', 'Amazon-EC2_D3en-Instance_light-bg-warning'], + ['default-icon', 'default-icon'], + ['dl1-status-available', 'Amazon-EC2_DL1-Instance_light-bg'], + ['dl1-status-negative', 'Amazon-EC2_DL1-Instance_light-bg-error'], + ['dl1-status-warning', 'Amazon-EC2_DL1-Instance_light-bg-warning'], + ['expand', 'treeview-expand'], + ['expand_icon', 'add_circle'], + ['f1-status-available', 'Amazon-EC2_F1-Instance_light-bg'], + ['f1-status-negative', 'Amazon-EC2_F1-Instance_light-bg-error'], + ['f1-status-warning', 'Amazon-EC2_F1-Instance_light-bg-warning'], + ['g3-status-available', 'Amazon-EC2_G3-Instance_light-bg'], + ['g3-status-negative', 'Amazon-EC2_G3-Instance_light-bg-error'], + ['g3-status-warning', 'Amazon-EC2_G3-Instance_light-bg-warning'], + ['g4ad-status-available', 'Amazon-EC2_G4ad-Instance_light-bg'], + ['g4ad-status-negative', 'Amazon-EC2_G4ad-Instance_light-bg-error'], + ['g4ad-status-warning', 'Amazon-EC2_G4ad-Instance_light-bg-warning'], + ['g4dn-status-available', 'Amazon-EC2_G4dn-Instance_light-bg'], + ['g4dn-status-negative', 'Amazon-EC2_G4dn-Instance_light-bg-error'], + ['g4dn-status-warning', 'Amazon-EC2_G4dn-Instance_light-bg-warning'], + ['g5-status-available', 'Amazon-EC2_G5-Instance_light-bg'], + ['g5-status-negative', 'Amazon-EC2_G5-Instance_light-bg-error'], + ['g5-status-warning', 'Amazon-EC2_G5-Instance_light-bg-warning'], + ['g5g-status-available', 'Amazon-EC2_G5g-Instance_light-bg'], + ['g5g-status-negative', 'Amazon-EC2_G5g-Instance_light-bg-error'], + ['g5g-status-warning', 'Amazon-EC2_G5g-Instance_light-bg-warning'], + ['h1-status-available', 'Amazon-EC2_H1-Instance_light-bg'], + ['h1-status-negative', 'Amazon-EC2_H1-Instance_light-bg-error'], + ['h1-status-warning', 'Amazon-EC2_H1-Instance_light-bg-warning'], + ['i3-status-available', 'Amazon-EC2_I3-Instance_light-bg'], + ['i3-status-negative', 'Amazon-EC2_I3-Instance_light-bg-error'], + ['i3-status-warning', 'Amazon-EC2_I3-Instance_light-bg-warning'], + ['i3en-status-available', 'Amazon-EC2_I3en-Instance_light-bg'], + ['i3en-status-negative', 'Amazon-EC2_I3en-Instance_light-bg-error'], + ['i3en-status-warning', 'Amazon-EC2_I3en-Instance_light-bg-warning'], + ['i4i-status-available', 'Amazon-EC2_I4i-Instance_light-bg'], + ['i4i-status-negative', 'Amazon-EC2_I4i-Instance_light-bg-error'], + ['i4i-status-warning', 'Amazon-EC2_I4i-Instance_light-bg-warning'], + ['im4gn-status-available', 'Amazon-EC2_IM4gn-Instance_light-bg'], + ['im4gn-status-negative', 'Amazon-EC2_IM4gn-Instance_light-bg-error'], + ['im4gn-status-warning', 'Amazon-EC2_IM4gn-Instance_light-bg-warning'], + ['inf1-status-available', 'Amazon-EC2_INF1-Instance_light-bg'], + ['inf1-status-negative', 'Amazon-EC2_INF1-Instance_light-bg-error'], + ['inf1-status-warning', 'Amazon-EC2_INF1-Instance_light-bg-warning'], + ['is4gen-status-available', 'Amazon-EC2_IS4gen-Instance_light-bg'], + ['is4gen-status-negative', 'Amazon-EC2_IS4gen-Instance_light-bg-error'], + ['is4gen-status-warning', 'Amazon-EC2_IS4gen-Instance_light-bg-warning'], + ['logo', 'AWS-Zoom_light-bg'], + ['logo-transparent', 'AWS-Zoom-trans-bg'], + ['m1-status-available', 'Amazon-EC2_M1-Instance_light-bg'], + ['m1-status-negative', 'Amazon-EC2_M1-Instance_light-bg-error'], + ['m1-status-warning', 'Amazon-EC2_M1-Instance_light-bg-warning'], + ['m4-status-available', 'Amazon-EC2_M4-Instance_light-bg'], + ['m4-status-negative', 'Amazon-EC2_M4-Instance_light-bg-error'], + ['m4-status-warning', 'Amazon-EC2_M4-Instance_light-bg-warning'], + ['m5-status-available', 'Amazon-EC2_M5-Instance_light-bg'], + ['m5-status-negative', 'Amazon-EC2_M5-Instance_light-bg-error'], + ['m5-status-warning', 'Amazon-EC2_M5-Instance_light-bg-warning'], + ['m5a-status-available', 'Amazon-EC2_M5a-Instance_light-bg'], + ['m5a-status-negative', 'Amazon-EC2_M5a-Instance_light-bg-error'], + ['m5a-status-warning', 'Amazon-EC2_M5a-Instance_light-bg-warning'], + ['m5n-status-available', 'Amazon-EC2_M5n-Instance_light-bg'], + ['m5n-status-negative', 'Amazon-EC2_M5n-Instance_light-bg-error'], + ['m5n-status-warning', 'Amazon-EC2_M5n-Instance_light-bg-warning'], + ['m5zn-status-available', 'Amazon-EC2_M5zn-Instance_light-bg'], + ['m5zn-status-negative', 'Amazon-EC2_M5zn-Instance_light-bg-error'], + ['m5zn-status-warning', 'Amazon-EC2_M5zn-Instance_light-bg-warning'], + ['m6g-status-available', 'Amazon-EC2_M6g-Instance_light-bg'], + ['m6g-status-negative', 'Amazon-EC2_M6g-Instance_light-bg-error'], + ['m6g-status-warning', 'Amazon-EC2_M6g-Instance_light-bg-warning'], + ['m6i-status-available', 'Amazon-EC2_M6i-Instance_light-bg'], + ['m6i-status-negative', 'Amazon-EC2_M6i-Instance_light-bg-error'], + ['m6i-status-warning', 'Amazon-EC2_M6i-Instance_light-bg-warning'], + ['mac1-status-available', 'Amazon-EC2_MAC-Instance_light-bg'], + ['mac1-status-negative', 'Amazon-EC2_MAC-Instance_light-bg-error'], + ['mac1-status-warning', 'Amazon-EC2_MAC-Instance_light-bg-warning'], + ['p2-status-available', 'Amazon-EC2_P2-Instance_light-bg'], + ['p2-status-negative', 'Amazon-EC2_P2-Instance_light-bg-error'], + ['p2-status-warning', 'Amazon-EC2_P2-Instance_light-bg-warning'], + ['p3-status-available', 'Amazon-EC2_P3-Instance_light-bg'], + ['p3-status-negative', 'Amazon-EC2_P3-Instance_light-bg-error'], + ['p3-status-warning', 'Amazon-EC2_P3-Instance_light-bg-warning'], + ['p3dn-status-available', 'Amazon-EC2_P3dn-Instance_light-bg'], + ['p3dn-status-negative', 'Amazon-EC2_P3dn-Instance_light-bg-error'], + ['p3dn-status-warning', 'Amazon-EC2_P3dn-Instance_light-bg-warning'], + ['p4d-status-available', 'Amazon-EC2_P4-Instance_light-bg'], + ['p4d-status-negative', 'Amazon-EC2_P4-Instance_light-bg-error'], + ['p4d-status-warning', 'Amazon-EC2_P4-Instance_light-bg-warning'], + ['r4-status-available', 'Amazon-EC2_R4-Instance_light-bg'], + ['r4-status-negative', 'Amazon-EC2_R4-Instance_light-bg-error'], + ['r4-status-warning', 'Amazon-EC2_R4-Instance_light-bg-warning'], + ['r5-status-available', 'Amazon-EC2_R5-Instance_light-bg'], + ['r5-status-negative', 'Amazon-EC2_R5-Instance_light-bg-error'], + ['r5-status-warning', 'Amazon-EC2_R5n-Instance_light-bg-warning'], + ['r6g-status-available', 'Amazon-EC2_R6g-Instance_light-bg'], + ['r6g-status-negative', 'Amazon-EC2_R6g-Instance_light-bg-error'], + ['r6g-status-warning', 'Amazon-EC2_R6g-Instance_light-bg-warning'], + ['region', 'Region_light-bg'], + ['search', 'search'], + ['status-available', 'status-positive'], + ['status-negative', 'status-negative'], + ['status-warning', 'status-warning'], + ['subnet', 'VPC-subnet-private_light-bg-collapsed'], + ['t2-status-available', 'Amazon-EC2_T2-Instance_light-bg'], + ['t2-status-negative', 'Amazon-EC2_T2-Instance_light-bg-error'], + ['t2-status-warning', 'Amazon-EC2_T2-Instance_light-bg-warning'], + ['t3-status-available', 'Amazon-EC2_T3-Instance_light-bg'], + ['t3-status-negative', 'Amazon-EC2_T3-Instance_light-bg-error'], + ['t3-status-warning', 'Amazon-EC2_T3-Instance_light-bg-warning'], + ['t3a-status-available', 'Amazon-EC2_T3a-Instance_light-bg'], + ['t3a-status-negative', 'Amazon-EC2_T3a-Instance_light-bg-error'], + ['t3a-status-warning', 'Amazon-EC2_T3a-Instance_light-bg-warning'], + ['t4g-status-available', 'Amazon-EC2_T4g-Instance_light-bg'], + ['t4g-status-negative', 'Amazon-EC2_T4g-Instance_light-bg-error'], + ['t4g-status-warning', 'Amazon-EC2_T4g-Instance_light-bg-warning'], + ['trn1-status-available', 'Amazon-EC2_TRN1-Instance_light-bg'], + ['trn1-status-negative', 'Amazon-EC2_TRN1-Instance_light-bg-error'], + ['trn1-status-warning', 'Amazon-EC2_TRN1-Instance_light-bg-warning'], + ['u-12tb1-status-available', 'Amazon-EC2_HMem12-Instance_light-bg'], + ['u-12tb1-status-negative', 'Amazon-EC2_HMem12-Instance_light-bg-error'], + ['u-12tb1-status-warning', 'Amazon-EC2_HMem12-Instance_light-bg-warning'], + ['u-18tb1-status-available', 'Amazon-EC2_HMem18-Instance_light-bg'], + ['u-18tb1-status-negative', 'Amazon-EC2_HMem18-Instance_light-bg-error'], + ['u-18tb1-status-warning', 'Amazon-EC2_HMem18-Instance_light-bg-warning'], + ['u-24tb1-status-available', 'Amazon-EC2_HMem24-Instance_light-bg'], + ['u-24tb1-status-negative', 'Amazon-EC2_HMem24-Instance_light-bg-error'], + ['u-24tb1-status-warning', 'Amazon-EC2_HMem24-Instance_light-bg-warning'], + ['u-6tb1-status-available', 'Amazon-EC2_HMem6-Instance_light-bg'], + ['u-6tb1-status-negative', 'Amazon-EC2_HMem6-Instance_light-bg-error'], + ['u-6tb1-status-warning', 'Amazon-EC2_HMem6-Instance_light-bg-warning'], + ['u-9tb1-status-available', 'Amazon-EC2_HMem9-Instance_light-bg'], + ['u-9tb1-status-negative', 'Amazon-EC2_HMem9-Instance_light-bg-error'], + ['u-9tb1-status-warning', 'Amazon-EC2_HMem9-Instance_light-bg-warning'], + ['vpc', 'VPC-collapsed'], + ['vt1-status-available', 'Amazon-EC2_VT1-Instance_light-bg'], + ['vt1-status-negative', 'Amazon-EC2_VT1-Instance_light-bg-error'], + ['vt1-status-warning', 'Amazon-EC2_VT1-Instance_light-bg-warning'], + ['x1-status-available', 'Amazon-EC2_X1-Instance_light-bg'], + ['x1-status-negative', 'Amazon-EC2_X1-Instance_light-bg-error'], + ['x1-status-warning', 'Amazon-EC2_X1-Instance_light-bg-warning'], + ['x1e-status-available', 'Amazon-EC2_X1e-Instance_light-bg'], + ['x1e-status-negative', 'Amazon-EC2_X1e-Instance_light-bg-error'], + ['x1e-status-warning', 'Amazon-EC2_X1e-Instance_light-bg-warning'], + ['z1d-status-available', 'Amazon-EC2_z1d-Instance_light-bg'], + ['z1d-status-negative', 'Amazon-EC2_z1d-Instance_light-bg-error'], + ['z1d-status-warning', 'Amazon-EC2_z1d-Instance_light-bg-warning'], +]); export const fetchImage = (type, state) => { - let image; - if (state && type) { - image = icons.get(`${type}-${state.status}`); - } else if (state && !type) { - image = icons.get(state.status); - } else if (!state && type) { - image = icons.get(type); - } else { - image = icons.get('default-icon'); - } - return image ? buildURL(image) : undefined; + let image; + if (state && type) { + image = icons.get(`${type}-${state.status}`); + } else if (state && !type) { + image = icons.get(state.status); + } else if (!state && type) { + image = icons.get(type); + } else { + image = icons.get('default-icon'); + } + return image ? buildURL(image) : undefined; }; -const buildURL = (image) => { - return `/icons/${image}.svg`; +const buildURL = image => { + return `/icons/${image}.svg`; }; -export const fetchLogo = (transparent) => { - return transparent - ? `/icons/${icons.get('logo-transparent')}.svg` - : `/icons/${icons.get('logo')}.svg`; +export const fetchLogo = transparent => { + return transparent + ? `/icons/${icons.get('logo-transparent')}.svg` + : `/icons/${icons.get('logo')}.svg`; }; diff --git a/source/frontend/src/Utils/Notifications.js b/source/frontend/src/Utils/Notifications.js index db691c5f..78648f52 100644 --- a/source/frontend/src/Utils/Notifications.js +++ b/source/frontend/src/Utils/Notifications.js @@ -2,41 +2,43 @@ // SPDX-License-Identifier: Apache-2.0 import { - useNotificationContext, - useNotificationDispatch -} from "../components/Contexts/NotificationContext" -import { Alert } from "@cloudscape-design/components" -import React, { useEffect } from "react" -import { hashProperty } from "./ObjectUtils" + useNotificationContext, + useNotificationDispatch, +} from '../components/Contexts/NotificationContext'; +import {Alert} from '@cloudscape-design/components'; +import React, {useEffect} from 'react'; +import {hashProperty} from './ObjectUtils'; -export const Notifications = ({ maxNotifications = 3 }) => { - const { - state: { notifications } - } = useNotificationContext() - const { clearNotification } = useNotificationDispatch() +export const Notifications = ({maxNotifications = 3}) => { + const { + state: {notifications}, + } = useNotificationContext(); + const {clearNotification} = useNotificationDispatch(); - useEffect(() => { - const toRemove = [ - ...Array(Math.max(0, notifications.length - maxNotifications)).keys() - ] - toRemove.forEach((_, idx) => clearNotification(idx)) - }, [notifications, maxNotifications, clearNotification]) + useEffect(() => { + const toRemove = [ + ...Array( + Math.max(0, notifications.length - maxNotifications) + ).keys(), + ]; + toRemove.forEach((_, idx) => clearNotification(idx)); + }, [notifications, maxNotifications, clearNotification]); - return ( - <> - {notifications.map((notification, idx) => ( - clearNotification(idx)} - > - {notification.content} - - ))} - - ) -} + return ( + <> + {notifications.map((notification, idx) => ( + clearNotification(idx)} + > + {notification.content} + + ))} + + ); +}; -export default Notifications +export default Notifications; diff --git a/source/frontend/src/Utils/ObjectUtils.js b/source/frontend/src/Utils/ObjectUtils.js index d64d0733..c4f93521 100644 --- a/source/frontend/src/Utils/ObjectUtils.js +++ b/source/frontend/src/Utils/ObjectUtils.js @@ -1,34 +1,38 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import * as R from "ramda"; -import * as CryptoJS from 'crypto-js' +import * as R from 'ramda'; +import * as CryptoJS from 'crypto-js'; -export const clean = o => R.pipe( - R.reject(R.either(R.isNil, R.isEmpty)), - R.map(R.when(R.is(Object), clean)) -)(o) +export const clean = o => + R.pipe( + R.reject(R.either(R.isNil, R.isEmpty)), + R.map(R.when(R.is(Object), clean)) + )(o); -export const jsonParseKeys = keys => o => Object.fromEntries( - Object.entries(o).map(([k, v]) => { - try { - if (keys.includes(k) && v) return [k, JSON.parse(v)] - return [k, v] - } catch (e) { - console.warn(`Failed to parse '${k}' with value '${v}' as JSON`) - return [k, v] - } - }) -) +export const jsonParseKeys = keys => o => + Object.fromEntries( + Object.entries(o).map(([k, v]) => { + try { + if (keys.includes(k) && v) return [k, JSON.parse(v)]; + return [k, v]; + } catch (e) { + console.warn( + `Failed to parse '${k}' with value '${v}' as JSON` + ); + return [k, v]; + } + }) + ); export function hashProperty(property) { - return CryptoJS.SHA256(property); + return CryptoJS.SHA256(property); } export const getValue = R.curry((fallback, keys, obj) => { - for(const key of keys) { + for (const key of keys) { const val = obj[key]; - if(val != null && !R.isEmpty(val)) return val; + if (val != null && !R.isEmpty(val)) return val; } return fallback; }); diff --git a/source/frontend/src/Utils/Resources/CostCalculator.js b/source/frontend/src/Utils/Resources/CostCalculator.js index 3e218c7a..a52058c6 100644 --- a/source/frontend/src/Utils/Resources/CostCalculator.js +++ b/source/frontend/src/Utils/Resources/CostCalculator.js @@ -1,17 +1,22 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import * as R from "ramda"; +import * as R from 'ramda'; function getAggregateCosts(nodes) { - const nodesMap = new Map(nodes.map(({data: {id, cost, parent}}) => [id, {id, cost, parent}])); + const nodesMap = new Map( + nodes.map(({data: {id, cost, parent}}) => [id, {id, cost, parent}]) + ); const leafNodes = nodes.filter(x => x.data.type === 'resource'); - for(const node of leafNodes) { + for (const node of leafNodes) { let parent = nodesMap.get(node.data.parent); - while(parent != null) { + while (parent != null) { const currentParentCostVal = nodesMap.get(parent.id).cost; - nodesMap.get(parent.id).cost = R.add(currentParentCostVal, node.data.cost).toFixed(2); + nodesMap.get(parent.id).cost = R.add( + currentParentCostVal, + node.data.cost + ).toFixed(2); parent = nodesMap.get(parent.parent); } } @@ -19,13 +24,13 @@ function getAggregateCosts(nodes) { return nodesMap; } -export const aggregateCostData = (nodes, showCount= false) => { +export const aggregateCostData = (nodes, showCount = false) => { const costsMap = getAggregateCosts(nodes); - nodes.forEach((node) => { + nodes.forEach(node => { node.data.cost = costsMap.get(node.data.id).cost; if (node.data.type === 'type' && showCount) { - const count = nodes.filter((subResource) => { + const count = nodes.filter(subResource => { return subResource.data.parent === node.data.id; }).length; node.data.label = `${count}x ${node.data.title} - $${node.data.cost}`; @@ -34,11 +39,10 @@ export const aggregateCostData = (nodes, showCount= false) => { } }); return nodes; - }; -export const getCostData = (node) => { - if (node.costData && node.costData.totalCost) { - return node.costData.ignore ? 0 : Number(node.costData.totalCost); - } else return 0; +export const getCostData = node => { + if (node.costData && node.costData.totalCost) { + return node.costData.ignore ? 0 : Number(node.costData.totalCost); + } else return 0; }; diff --git a/source/frontend/src/Utils/Resources/ResourceStateParser.js b/source/frontend/src/Utils/Resources/ResourceStateParser.js index d5bd39d8..61b94272 100644 --- a/source/frontend/src/Utils/Resources/ResourceStateParser.js +++ b/source/frontend/src/Utils/Resources/ResourceStateParser.js @@ -4,11 +4,14 @@ import * as R from 'ramda'; const greenStates = ['available', 'running', 'in-use', 'active'].map(state => { - return [state, { - status: 'status-available', - text: state, - color: '#1D8102' - }]; + return [ + state, + { + status: 'status-available', + text: state, + color: '#1D8102', + }, + ]; }); const redStates = [ @@ -18,29 +21,30 @@ const redStates = [ 'shutting-down', 'terminated', 'stopping', - 'failed' + 'failed', ].map(state => { - return [state, { - status: 'status-negative', - text: state, - color: '#D13212' - }]; + return [ + state, + { + status: 'status-negative', + text: state, + color: '#D13212', + }, + ]; }); const amberStates = ['creating', 'pending', 'provisioning'].map(state => { - return [state, { - status: 'status-warning', - text: state, - color: '#FF9900' - }]; + return [ + state, + { + status: 'status-warning', + text: state, + color: '#FF9900', + }, + ]; }); -const statesMap = new Map([ - ...greenStates, - ...amberStates, - ...redStates - ] -); +const statesMap = new Map([...greenStates, ...amberStates, ...redStates]); function getStateValue(stateObj) { return stateObj.value ?? stateObj.name ?? stateObj.code ?? ''; @@ -48,9 +52,11 @@ function getStateValue(stateObj) { export const getStateInformation = state => { const value = R.is(String, state) ? state : getStateValue(state ?? {}); - return statesMap.get(value.toLowerCase()) ?? { - status: 'status-warning', - text: 'no state data', - color: '#FF9900' - }; + return ( + statesMap.get(value.toLowerCase()) ?? { + status: 'status-warning', + text: 'no state data', + color: '#FF9900', + } + ); }; diff --git a/source/frontend/src/Utils/StatusUtils.js b/source/frontend/src/Utils/StatusUtils.js index 572c9a03..af67bb9e 100644 --- a/source/frontend/src/Utils/StatusUtils.js +++ b/source/frontend/src/Utils/StatusUtils.js @@ -3,7 +3,7 @@ export const getStatus = (isFetching, isError) => { if (isFetching) { - return 'loading' + return 'loading'; } - return isError ? 'error' : 'finished' -} \ No newline at end of file + return isError ? 'error' : 'finished'; +}; diff --git a/source/frontend/src/components/Contexts/DiagramSettingsContext.js b/source/frontend/src/components/Contexts/DiagramSettingsContext.js index 5c16e26a..209b1b79 100644 --- a/source/frontend/src/components/Contexts/DiagramSettingsContext.js +++ b/source/frontend/src/components/Contexts/DiagramSettingsContext.js @@ -4,9 +4,9 @@ import React, {createContext, useContext, useReducer} from 'react'; export const DiagramSettingsContext = createContext(); -export const DiagramSettingsProvider = ({reducer, initialState, children}) =>( - - {children} - +export const DiagramSettingsProvider = ({reducer, initialState, children}) => ( + + {children} + ); -export const useDiagramSettingsState = () => useContext(DiagramSettingsContext); \ No newline at end of file +export const useDiagramSettingsState = () => useContext(DiagramSettingsContext); diff --git a/source/frontend/src/components/Contexts/NotificationContext.js b/source/frontend/src/components/Contexts/NotificationContext.js index 7005b335..81d3d8b4 100644 --- a/source/frontend/src/components/Contexts/NotificationContext.js +++ b/source/frontend/src/components/Contexts/NotificationContext.js @@ -1,81 +1,84 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import React, { createContext, useContext, useReducer, useMemo } from "react" +import React, {createContext, useContext, useReducer, useMemo} from 'react'; const initialState = { - notifications: [] -} + notifications: [], +}; export const NotificationContext = createContext({ - state: initialState -}) + state: initialState, +}); -const ADD_NOTIFICATION = "ADD_NOTIFICATION" -const CLEAR_NOTIFICATION = "CLEAR_NOTIFICATION" -const CLEAR_ALL_NOTIFICATIONS = "CLEAR_ALL_NOTIFICATIONS" +const ADD_NOTIFICATION = 'ADD_NOTIFICATION'; +const CLEAR_NOTIFICATION = 'CLEAR_NOTIFICATION'; +const CLEAR_ALL_NOTIFICATIONS = 'CLEAR_ALL_NOTIFICATIONS'; const reducer = (state, action) => { - switch (action.type) { - case ADD_NOTIFICATION: - return { - ...state, - notifications: [...state.notifications, action.payload.notification] - } - case CLEAR_NOTIFICATION: - return { - ...state, - notifications: state.notifications.filter( - (_, idx) => idx !== action.payload.index - ) - } - case CLEAR_ALL_NOTIFICATIONS: - return { - ...state, - notifications: [] - } - default: - throw new Error(`Unknown action type: ${action.type}`) - } -} + switch (action.type) { + case ADD_NOTIFICATION: + return { + ...state, + notifications: [ + ...state.notifications, + action.payload.notification, + ], + }; + case CLEAR_NOTIFICATION: + return { + ...state, + notifications: state.notifications.filter( + (_, idx) => idx !== action.payload.index + ), + }; + case CLEAR_ALL_NOTIFICATIONS: + return { + ...state, + notifications: [], + }; + default: + throw new Error(`Unknown action type: ${action.type}`); + } +}; export const useNotificationDispatch = () => { - const { dispatch } = useContext(NotificationContext) - return { - addNotification: (notification) => { - dispatch({ - type: ADD_NOTIFICATION, - payload: { - notification - } - }) - }, - clearNotification: (index) => - dispatch({ - type: CLEAR_NOTIFICATION, - payload: { - index - } - }), - clearAllNotifications: () => - dispatch({ - type: CLEAR_ALL_NOTIFICATIONS, - payload: {} - }) - } -} + const {dispatch} = useContext(NotificationContext); + return { + addNotification: notification => { + dispatch({ + type: ADD_NOTIFICATION, + payload: { + notification, + }, + }); + }, + clearNotification: index => + dispatch({ + type: CLEAR_NOTIFICATION, + payload: { + index, + }, + }), + clearAllNotifications: () => + dispatch({ + type: CLEAR_ALL_NOTIFICATIONS, + payload: {}, + }), + }; +}; -export const NotificationProvider = (props) => { - const [state, dispatch] = useReducer(reducer, initialState, (arg) => arg) - const contextValue = useMemo(() => { - return { state, dispatch } - }, [state, dispatch]) +export const NotificationProvider = props => { + const [state, dispatch] = useReducer(reducer, initialState, arg => arg); + const contextValue = useMemo(() => { + return {state, dispatch}; + }, [state, dispatch]); - return ( - - {props.children} - - ) -} + return ( + + {props.children} + + ); +}; -export const useNotificationContext = () => useContext(NotificationContext) +export const useNotificationContext = () => useContext(NotificationContext); diff --git a/source/frontend/src/components/Contexts/Reducers/DiagramSettingsReducer.js b/source/frontend/src/components/Contexts/Reducers/DiagramSettingsReducer.js index 068cbab2..f2753611 100644 --- a/source/frontend/src/components/Contexts/Reducers/DiagramSettingsReducer.js +++ b/source/frontend/src/components/Contexts/Reducers/DiagramSettingsReducer.js @@ -2,29 +2,31 @@ // SPDX-License-Identifier: Apache-2.0 export const diagramSettingsReducer = (state, action) => { - switch (action.type) { - case 'saveEdges': - return { - ...state, - edges: action.edges, - }; - case 'setCanvas': - return { - ...state, - canvas: action.canvas, - }; - case 'setSelectedResources': - return { - ...state, - selectedResources: action.selectedResources, - }; - case 'setResources': - return { - ...state, - resources: action.resources, - selectedResources: state.selectedResources?.filter(selected => action.resources.map(i => i.id()).includes(selected.id())) - }; - default: - return state; - } + switch (action.type) { + case 'saveEdges': + return { + ...state, + edges: action.edges, + }; + case 'setCanvas': + return { + ...state, + canvas: action.canvas, + }; + case 'setSelectedResources': + return { + ...state, + selectedResources: action.selectedResources, + }; + case 'setResources': + return { + ...state, + resources: action.resources, + selectedResources: state.selectedResources?.filter(selected => + action.resources.map(i => i.id()).includes(selected.id()) + ), + }; + default: + return state; + } }; diff --git a/source/frontend/src/components/Contexts/Reducers/ResourceReducer.js b/source/frontend/src/components/Contexts/Reducers/ResourceReducer.js index 8b942c04..7328fef5 100644 --- a/source/frontend/src/components/Contexts/Reducers/ResourceReducer.js +++ b/source/frontend/src/components/Contexts/Reducers/ResourceReducer.js @@ -2,18 +2,18 @@ // SPDX-License-Identifier: Apache-2.0 export const resourceReducer = (state, action) => { - switch (action.type) { - case 'updateGraphResources': - return { - ...state, - graphResources: action.graphResources, - }; - case 'select': - return { - ...state, - resources: action.resources, - }; - default: - return state; - } + switch (action.type) { + case 'updateGraphResources': + return { + ...state, + graphResources: action.graphResources, + }; + case 'select': + return { + ...state, + resources: action.resources, + }; + default: + return state; + } }; diff --git a/source/frontend/src/components/Contexts/ResourceContext.js b/source/frontend/src/components/Contexts/ResourceContext.js index 6ef4c00f..baface83 100644 --- a/source/frontend/src/components/Contexts/ResourceContext.js +++ b/source/frontend/src/components/Contexts/ResourceContext.js @@ -4,9 +4,9 @@ import React, {createContext, useContext, useReducer} from 'react'; export const ResourceContext = createContext(); -export const ResourceProvider = ({reducer, initialState, children}) =>( - - {children} - +export const ResourceProvider = ({reducer, initialState, children}) => ( + + {children} + ); -export const useResourceState = () => useContext(ResourceContext); \ No newline at end of file +export const useResourceState = () => useContext(ResourceContext); diff --git a/source/frontend/src/components/Costs/QueryBuilder/CostARNQuerySelector.js b/source/frontend/src/components/Costs/QueryBuilder/CostARNQuerySelector.js index a7fa1713..c01a3588 100644 --- a/source/frontend/src/components/Costs/QueryBuilder/CostARNQuerySelector.js +++ b/source/frontend/src/components/Costs/QueryBuilder/CostARNQuerySelector.js @@ -2,80 +2,88 @@ // SPDX-License-Identifier: Apache-2.0 import React, {useMemo} from 'react'; -import { Header, Container, Input } from '@cloudscape-design/components'; +import {Header, Container, Input} from '@cloudscape-design/components'; import PropTypes from 'prop-types'; import AttributeCreator from '../../../Utils/Forms/AttributeCreator'; -const Control = React.memo(({ value, index, placeholder, setItems, prop }) => { - return ( - { - setItems((items) => { - const updatedItems = [...items]; - updatedItems[index] = { - ...updatedItems[index], - [prop]: detail.value, - }; - return updatedItems; - }); - }} - /> - ); +const Control = React.memo(({value, index, placeholder, setItems, prop}) => { + return ( + { + setItems(items => { + const updatedItems = [...items]; + updatedItems[index] = { + ...updatedItems[index], + [prop]: detail.value, + }; + return updatedItems; + }); + }} + /> + ); }); Control.displayName = 'Control'; -function controlCell(resourceArn, itemIndex, setARNs){ - return ; +function controlCell(resourceArn, itemIndex, setARNs) { + return ( + + ); } -const CostARNQuerySelector = ({ arns, setARNs }) => { - const definition = useMemo( - () => [ - { - label: 'Resource', - control: ({ resourceArn = '' }, itemIndex) => controlCell(resourceArn, itemIndex, setARNs) - }, - ], - [setARNs] - ); +const CostARNQuerySelector = ({arns, setARNs}) => { + const definition = useMemo( + () => [ + { + label: 'Resource', + control: ({resourceArn = ''}, itemIndex) => + controlCell(resourceArn, itemIndex, setARNs), + }, + ], + [setARNs] + ); - return ( - - AWS Resources - - }> - setARNs([...arns, {}])} - itemRemoved={(itemIndex) => { - const tmpItems = [...arns]; - tmpItems.splice(itemIndex, 1); - setARNs(tmpItems); - }} - setItems={setARNs} - definition={definition} - /> - - ); + return ( + + AWS Resources + + } + > + setARNs([...arns, {}])} + itemRemoved={itemIndex => { + const tmpItems = [...arns]; + tmpItems.splice(itemIndex, 1); + setARNs(tmpItems); + }} + setItems={setARNs} + definition={definition} + /> + + ); }; CostARNQuerySelector.propTypes = { - arns: PropTypes.array.isRequired, - setARNs: PropTypes.func.isRequired, + arns: PropTypes.array.isRequired, + setARNs: PropTypes.func.isRequired, }; export default CostARNQuerySelector; diff --git a/source/frontend/src/components/Costs/QueryBuilder/CostAccountsAndRegionsSelector.js b/source/frontend/src/components/Costs/QueryBuilder/CostAccountsAndRegionsSelector.js index b4116a71..cddd7cf7 100644 --- a/source/frontend/src/components/Costs/QueryBuilder/CostAccountsAndRegionsSelector.js +++ b/source/frontend/src/components/Costs/QueryBuilder/CostAccountsAndRegionsSelector.js @@ -3,92 +3,103 @@ import React from 'react'; import { - Header, - FormField, - Container, - Multiselect, - ColumnLayout, - SpaceBetween, + Header, + FormField, + Container, + Multiselect, + ColumnLayout, + SpaceBetween, } from '@cloudscape-design/components'; import PropTypes from 'prop-types'; import CostDatePicker from '../../Diagrams/Draw/Utils/CostDatePicker'; -import {useAccounts} from "../../Hooks/useAccounts"; -import dayjs from "dayjs"; -import localizedFormat from "dayjs/plugin/localizedFormat"; -import * as R from "ramda"; +import {useAccounts} from '../../Hooks/useAccounts'; +import dayjs from 'dayjs'; +import localizedFormat from 'dayjs/plugin/localizedFormat'; +import * as R from 'ramda'; dayjs.extend(localizedFormat); const CostAccountsAndRegionsSelector = ({ - selectedAccounts, - setSelectedAccounts, - selectedRegions, - setSelectedRegions, - setDateInterval, + selectedAccounts, + setSelectedAccounts, + selectedRegions, + setSelectedRegions, + setDateInterval, }) => { - const {data: accountsData=[]} = useAccounts(); - const accounts = R.map((account) => { - return { - label: account.accountId, - value: account.accountId, - accountId: account.accountId, - regions: R.chain((region) => { - return { value: region.name, label: region.name }; - }, account.regions), - }; - }, accountsData) + const {data: accountsData = []} = useAccounts(); + const accounts = R.map(account => { + return { + label: account.accountId, + value: account.accountId, + accountId: account.accountId, + regions: R.chain(region => { + return {value: region.name, label: region.name}; + }, account.regions), + }; + }, accountsData); - return ( - - Accounts & Regions - - }> - - - - - setSelectedAccounts(detail.selectedOptions) - } - deselectAriaLabel={(e) => 'Remove ' + e.label} - options={accounts} - placeholder='All accounts' - selectedAriaLabel='Selected' - /> - - - - setSelectedRegions(detail.selectedOptions) - } - deselectAriaLabel={(e) => 'Remove ' + e.label} - options={R.uniq(R.chain((e) => e.regions, selectedAccounts))} - placeholder='All regions' - selectedAriaLabel='Selected' - /> - - {' '} - - - - ); + return ( + + Accounts & Regions + + } + > + + + + + setSelectedAccounts(detail.selectedOptions) + } + deselectAriaLabel={e => 'Remove ' + e.label} + options={accounts} + placeholder="All accounts" + selectedAriaLabel="Selected" + /> + + + + setSelectedRegions(detail.selectedOptions) + } + deselectAriaLabel={e => 'Remove ' + e.label} + options={R.uniq( + R.chain(e => e.regions, selectedAccounts) + )} + placeholder="All regions" + selectedAriaLabel="Selected" + /> + + {' '} + + + + ); }; CostAccountsAndRegionsSelector.propTypes = { - selectedAccounts: PropTypes.array.isRequired, - setSelectedAccounts: PropTypes.func.isRequired, - selectedRegions: PropTypes.array.isRequired, - setSelectedRegions: PropTypes.func.isRequired, + selectedAccounts: PropTypes.array.isRequired, + setSelectedAccounts: PropTypes.func.isRequired, + selectedRegions: PropTypes.array.isRequired, + setSelectedRegions: PropTypes.func.isRequired, }; export default CostAccountsAndRegionsSelector; diff --git a/source/frontend/src/components/Costs/QueryBuilder/CostExplorerHelper.js b/source/frontend/src/components/Costs/QueryBuilder/CostExplorerHelper.js index b967e5d0..935f4b98 100644 --- a/source/frontend/src/components/Costs/QueryBuilder/CostExplorerHelper.js +++ b/source/frontend/src/components/Costs/QueryBuilder/CostExplorerHelper.js @@ -5,25 +5,30 @@ import React from 'react'; import {Box, HelpPanel} from '@cloudscape-design/components'; const CostExplorerHelper = () => { - return ( - Explore Costs}> - - Choose whether to explore costs for all resources, or to narrow the cost query results down by -
    -
  • AWS Service
  • -
  • AWS Resource ID/ARN
  • -
-
- - Ensure you select the appropriate time period for the cost calculation. You can also filter the - resources included in the cost calculation by Account and Region. - - - Once costs have been calculated, you can select multiple resources from the results table and add - them to a new diagram via the Actions menu button. - -
- ); + return ( + Explore Costs}> + + + Choose whether to explore costs for all resources, or to + narrow the cost query results down by + +
    +
  • AWS Service
  • +
  • AWS Resource ID/ARN
  • +
+
+ + Ensure you select the appropriate time period for the cost + calculation. You can also filter the resources included in the + cost calculation by Account and Region. + + + Once costs have been calculated, you can select multiple + resources from the results table and add them to a new diagram + via the Actions menu button. + +
+ ); }; export default CostExplorerHelper; diff --git a/source/frontend/src/components/Costs/QueryBuilder/CostQueryTypeSelector.js b/source/frontend/src/components/Costs/QueryBuilder/CostQueryTypeSelector.js index f24c4729..389f4f31 100644 --- a/source/frontend/src/components/Costs/QueryBuilder/CostQueryTypeSelector.js +++ b/source/frontend/src/components/Costs/QueryBuilder/CostQueryTypeSelector.js @@ -6,60 +6,57 @@ import React from 'react'; import PropTypes from 'prop-types'; import { - Container, - RadioGroup, - Header, - ColumnLayout, - SpaceBetween, + Container, + RadioGroup, + Header, + ColumnLayout, + SpaceBetween, } from '@cloudscape-design/components'; -const CostQueryTypeSelector = ({ queryType, setQueryType }) => { - - return ( - - Query type - - }> - - - setQueryType(detail.value)} - value={queryType} - items={[ - { - value: 'all', - label: 'Query all Resources', - description: - 'Build a query that will return resources with the highest estimated cost first.', - }, - { - value: 'service', - label: 'Query by Service', - description: - 'Build a query that will return estimated cost data for a particular AWS Service', - }, - { - value: 'arn', - label: 'Query by ARN or Resource Id', - description: - 'Build a query that will return estimated cost data for the provided Amazon Resource Names (ARNs) or Resource Id', - }, - ]} - /> - - - - - ); +const CostQueryTypeSelector = ({queryType, setQueryType}) => { + return ( + + Query type + + } + > + + + setQueryType(detail.value)} + value={queryType} + items={[ + { + value: 'all', + label: 'Query all Resources', + description: + 'Build a query that will return resources with the highest estimated cost first.', + }, + { + value: 'service', + label: 'Query by Service', + description: + 'Build a query that will return estimated cost data for a particular AWS Service', + }, + { + value: 'arn', + label: 'Query by ARN or Resource Id', + description: + 'Build a query that will return estimated cost data for the provided Amazon Resource Names (ARNs) or Resource Id', + }, + ]} + /> + + + + ); }; CostQueryTypeSelector.propTypes = { - setQueryType: PropTypes.func.isRequired, - queryType: PropTypes.string.isRequired, + setQueryType: PropTypes.func.isRequired, + queryType: PropTypes.string.isRequired, }; export default CostQueryTypeSelector; diff --git a/source/frontend/src/components/Costs/QueryBuilder/CostServiceQuerySelector.js b/source/frontend/src/components/Costs/QueryBuilder/CostServiceQuerySelector.js index d30ae929..1cea5fe6 100644 --- a/source/frontend/src/components/Costs/QueryBuilder/CostServiceQuerySelector.js +++ b/source/frontend/src/components/Costs/QueryBuilder/CostServiceQuerySelector.js @@ -5,47 +5,52 @@ import React from 'react'; import Header from '@cloudscape-design/components/header'; import FormField from '@cloudscape-design/components/form-field'; import Container from '@cloudscape-design/components/container'; -import { services } from '../../../Utils/Dictionaries/service-names'; +import {services} from '../../../Utils/Dictionaries/service-names'; import PropTypes from 'prop-types'; -import { Select } from '@cloudscape-design/components'; +import {Select} from '@cloudscape-design/components'; -import * as R from 'ramda'; +import * as R from 'ramda'; import dayjs from 'dayjs'; -import localizedFormat from 'dayjs/plugin/localizedFormat'; +import localizedFormat from 'dayjs/plugin/localizedFormat'; dayjs.extend(localizedFormat); -const CostServiceQuerySelector = ({ - selectedService, - setSelectedService, -}) => { - return ( - - Service name - - }> - - + setSelectedService(detail.selectedOption) + } + options={R.map(e => { + return { + label: e.service, + value: e.service, + filteringTags: e.filteringTags ?? [], + }; + }, services)} + filteringType="auto" + placeholder={'Select a service'} + selectedAriaLabel="Selected" + /> + + + ); }; CostServiceQuerySelector.propTypes = { - selectedService: PropTypes.object, - setSelectedService: PropTypes.func.isRequired, + selectedService: PropTypes.object, + setSelectedService: PropTypes.func.isRequired, }; export default CostServiceQuerySelector; diff --git a/source/frontend/src/components/Costs/QueryBuilder/CostTable.js b/source/frontend/src/components/Costs/QueryBuilder/CostTable.js index b47683d5..5555bf52 100644 --- a/source/frontend/src/components/Costs/QueryBuilder/CostTable.js +++ b/source/frontend/src/components/Costs/QueryBuilder/CostTable.js @@ -3,165 +3,193 @@ import React from 'react'; import { - Table, - Box, - Header, - Pagination, - Button, + Table, + Box, + Header, + Pagination, + Button, } from '@cloudscape-design/components'; -import { useCollection } from '@cloudscape-design/collection-hooks'; +import {useCollection} from '@cloudscape-design/collection-hooks'; import getSymbolFromCurrency from 'currency-symbol-map'; import PropTypes from 'prop-types'; -import * as R from 'ramda'; -import {createTableAriaLabels} from "../../../Utils/AccessibilityUtils"; +import * as R from 'ramda'; +import {createTableAriaLabels} from '../../../Utils/AccessibilityUtils'; const columns = [ - { - id: 'resource', - header: 'Resource', - cell: (e) => { - if (e.line_item_resource_id) { - return e.line_item_resource_id - } - return e.product_servicename ? e.product_servicename : 'undefined' + { + id: 'resource', + header: 'Resource', + cell: e => { + if (e.line_item_resource_id) { + return e.line_item_resource_id; + } + return e.product_servicename ? e.product_servicename : 'undefined'; + }, + width: 320, + minWidth: 320, + }, + { + id: 'cost', + header: 'Estimated cost', + cell: e => + `${getSymbolFromCurrency(e.line_item_currency_code)}${e.cost.toFixed(2)}`, + sortingField: 'cost', + width: 300, + minWidth: 300, + }, + { + id: 'accountId', + header: 'Account Id', + cell: e => e.line_item_usage_account_id, + width: 150, + minWidth: 150, + }, + { + id: 'region', + header: 'Region', + cell: e => e.region, + width: 150, + minWidth: 150, }, - width: 320, - minWidth: 320, - }, - { - id: 'cost', - header: 'Estimated cost', - cell: (e) => `${getSymbolFromCurrency(e.line_item_currency_code)}${e.cost.toFixed(2)}`, - sortingField: 'cost', - width: 300, - minWidth: 300, - }, - { - id: 'accountId', - header: 'Account Id', - cell: (e) => e.line_item_usage_account_id, - width: 150, - minWidth: 150, - }, - { - id: 'region', - header: 'Region', - cell: (e) => e.region, - width: 150, - minWidth: 150, - }, ]; const CostTable = ({ - addToGraph, - results, - pageChanged, - selectedItems, - onSelectionChange, - selectionType, + addToGraph, + results, + pageChanged, + selectedItems, + onSelectionChange, + selectionType, }) => { - const [currentPageIndex, setCurrentPageIndex] = React.useState(1); - const { items, collectionProps, paginationProps } = - useCollection(results.costs, { - filtering: { - empty: ( - - No resources - - No resources to display. - - - ), - noMatch: ( - - No match - - No resources matched. - - - ), - }, - pagination: { pageSize: 10 }, - sorting: { sortingColumn: 'cost' }, - }); + const [currentPageIndex, setCurrentPageIndex] = React.useState(1); + const {items, collectionProps, paginationProps} = useCollection( + results.costs, + { + filtering: { + empty: ( + + No resources + + No resources to display. + + + ), + noMatch: ( + + No match + + No resources matched. + + + ), + }, + pagination: {pageSize: 10}, + sorting: {sortingColumn: 'cost'}, + } + ); - const handlePageChange = (detail) => { - let page = detail.currentPageIndex; - page--; - pageChanged({ - start: 10 * page, - end: 10 * page + 10, - }); - setCurrentPageIndex(detail.currentPageIndex); - }; + const handlePageChange = detail => { + let page = detail.currentPageIndex; + page--; + pageChanged({ + start: 10 * page, + end: 10 * page + 10, + }); + setCurrentPageIndex(detail.currentPageIndex); + }; - return ( - - Add to diagram - - } - description='The resources that incurred a cost based on the query executed' - variant='h2'> - Resources - - } - trackBy={'id'} - resizableColumns - stickyHeader - columnDefinitions={columns} - items={items} - selectedItems={selectedItems} - selectionType={selectionType} - onSelectionChange={(evt) => onSelectionChange(evt.detail.selectedItems)} - loadingText='Loading resources' - empty={ - - No resources - - No resources to display. - - - } - pagination={ - `Page ${pageNumber} of all pages`, - }} - currentPageIndex={pageChanged ? currentPageIndex : undefined} - onChange={ - pageChanged ? ({ detail }) => handlePageChange(detail) : undefined - } - pagesCount={Math.floor(results.resultCount / 10)} + return ( +
+ Add to diagram + + ) + } + description="The resources that incurred a cost based on the query executed" + variant="h2" + > + Resources + + } + trackBy={'id'} + resizableColumns + stickyHeader + columnDefinitions={columns} + items={items} + selectedItems={selectedItems} + selectionType={selectionType} + onSelectionChange={evt => + onSelectionChange(evt.detail.selectedItems) + } + loadingText="Loading resources" + empty={ + + No resources + + No resources to display. + + + } + pagination={ + + `Page ${pageNumber} of all pages`, + }} + currentPageIndex={ + pageChanged ? currentPageIndex : undefined + } + onChange={ + pageChanged + ? ({detail}) => handlePageChange(detail) + : undefined + } + pagesCount={Math.floor(results.resultCount / 10)} + /> + } /> - } - /> - ); + ); }; CostTable.propTypes = { - addToGraph: PropTypes.func, - results: PropTypes.object.isRequired, - pageChanged: PropTypes.func.isRequired, - selectedItems: PropTypes.array.isRequired, - onSelectionChange: PropTypes.func.isRequired, - selectionType: PropTypes.string.isRequired + addToGraph: PropTypes.func, + results: PropTypes.object.isRequired, + pageChanged: PropTypes.func.isRequired, + selectedItems: PropTypes.array.isRequired, + onSelectionChange: PropTypes.func.isRequired, + selectionType: PropTypes.string.isRequired, }; export default CostTable; diff --git a/source/frontend/src/components/Costs/QueryBuilder/CostsPage.js b/source/frontend/src/components/Costs/QueryBuilder/CostsPage.js index 766c03c1..d03aa86a 100644 --- a/source/frontend/src/components/Costs/QueryBuilder/CostsPage.js +++ b/source/frontend/src/components/Costs/QueryBuilder/CostsPage.js @@ -4,294 +4,316 @@ import React, {useEffect, useState} from 'react'; import CostAccountsAndRegionsSelector from './CostAccountsAndRegionsSelector'; import CostQueryTypeSelector from './CostQueryTypeSelector'; -import { Button, Form, SpaceBetween } from '@cloudscape-design/components'; +import {Button, Form, SpaceBetween} from '@cloudscape-design/components'; import { - getCostForResource, - getCostForService, - getResourcesByCost, + getCostForResource, + getCostForService, + getResourcesByCost, } from '../../../API/Handlers/CostsGraphQLHandler'; import dayjs from 'dayjs'; import Breadcrumbs from '../../../Utils/Breadcrumbs'; -import { fetchNextPage, sendCostQuery } from './Utils/CostAPIQuery'; +import {fetchNextPage, sendCostQuery} from './Utils/CostAPIQuery'; import CostServiceQuerySelector from './CostServiceQuerySelector'; import CostARNQuerySelector from './CostARNQuerySelector'; import getSymbolFromCurrency from 'currency-symbol-map'; import SummaryOverview from './SummaryOverview'; import {COSTS, CREATE_DIAGRAM} from '../../../routes'; -import { useResourceState } from '../../Contexts/ResourceContext'; -import { useHistory } from 'react-router-dom'; -import * as R from "ramda"; -import {useAccounts} from "../../Hooks/useAccounts"; -import CostTable from "./CostTable"; -import {useGetResourceGraph} from "../../Hooks/useGetResourceGraph"; +import {useResourceState} from '../../Contexts/ResourceContext'; +import {useHistory} from 'react-router-dom'; +import * as R from 'ramda'; +import {useAccounts} from '../../Hooks/useAccounts'; +import CostTable from './CostTable'; +import {useGetResourceGraph} from '../../Hooks/useGetResourceGraph'; const processCosts = (response, queryType) => - R.pathOr([], [queryType, 'costItems'], response).map((e, index) => { - e.id = index; - return e; - }); + R.pathOr([], [queryType, 'costItems'], response).map((e, index) => { + e.id = index; + return e; + }); const processQueryDetails = (response, queryType) => - R.pathOr([], [queryType, 'queryDetails'], response); + R.pathOr([], [queryType, 'queryDetails'], response); const processTotalCost = (response, queryType) => { - return R.pathOr(0, [queryType, 'totalCost'], response); + return R.pathOr(0, [queryType, 'totalCost'], response); }; const CostsPage = () => { - const [costResponse, setCostResponse] = useState({}); - const [queryType, setQueryType] = useState('all'); - const [loading, setLoading] = useState(false); - const [dateInterval, setDateInterval] = useState({ - type: 'absolute', - startDate: dayjs() - .startOf('month') - .format('YYYY-MM-DD'), - endDate: dayjs() - .endOf('month') - .format('YYYY-MM-DD'), - }); - const [selectedAccounts, setSelectedAccounts] = useState([]); - const [selectedRegions, setSelectedRegions] = useState([]); - const [selectedResources, setSelectedResources] = useState([]); - const [selectedService, setSelectedService] = useState(null); - const [resultsQueryType, setResultsQueryType] = useState(null); - const [arns, setARNs] = useState([]); - const {data: accountsData=[]} = useAccounts(); - const accounts = R.map((account) => { - return { - label: account.accountId, - value: account.accountId, - accountId: account.accountId, - regions: R.chain((region) => { - return { value: region.name, label: region.name }; - }, account.regions), - }; - }, accountsData) - const [, dispatch] = useResourceState(); - const {data: nodeData, refetch: loadSelected, isError} = useGetResourceGraph(R.map((id) => id.line_item_resource_id, selectedResources)); + const [costResponse, setCostResponse] = useState({}); + const [queryType, setQueryType] = useState('all'); + const [loading, setLoading] = useState(false); + const [dateInterval, setDateInterval] = useState({ + type: 'absolute', + startDate: dayjs().startOf('month').format('YYYY-MM-DD'), + endDate: dayjs().endOf('month').format('YYYY-MM-DD'), + }); + const [selectedAccounts, setSelectedAccounts] = useState([]); + const [selectedRegions, setSelectedRegions] = useState([]); + const [selectedResources, setSelectedResources] = useState([]); + const [selectedService, setSelectedService] = useState(null); + const [resultsQueryType, setResultsQueryType] = useState(null); + const [arns, setARNs] = useState([]); + const {data: accountsData = []} = useAccounts(); + const accounts = R.map(account => { + return { + label: account.accountId, + value: account.accountId, + accountId: account.accountId, + regions: R.chain(region => { + return {value: region.name, label: region.name}; + }, account.regions), + }; + }, accountsData); + const [, dispatch] = useResourceState(); + const { + data: nodeData, + refetch: loadSelected, + isError, + } = useGetResourceGraph( + R.map(id => id.line_item_resource_id, selectedResources) + ); - const history = useHistory(); + const history = useHistory(); - useEffect(() => { - if (nodeData && !isError) { - Promise.resolve(dispatch({ - type: 'updateGraphResources', - graphResources: nodeData, - })) - .then(() => history.push(CREATE_DIAGRAM)) - } - }, [nodeData, dispatch, history, isError]) + useEffect(() => { + if (nodeData && !isError) { + Promise.resolve( + dispatch({ + type: 'updateGraphResources', + graphResources: nodeData, + }) + ).then(() => history.push(CREATE_DIAGRAM)); + } + }, [nodeData, dispatch, history, isError]); - const fetchNext = (pagination) => { - setLoading(true); - fetchNextPage(pagination, costResponse.queryDetails) - .then((response) => { - setCostResponse({ - totalCost: costResponse.totalCost, - costs: processCosts(response.body.data, 'readResultsFromS3'), - queryDetails: processQueryDetails( - response.body.data, - 'readResultsFromS3' - ), - resultCount: processQueryDetails( - response.body.data, - 'readResultsFromS3' - ).resultCount, - }); - setLoading(false); - }) - .catch((err) => { - setLoading(false); - console.error(err); - }); - }; + const fetchNext = pagination => { + setLoading(true); + fetchNextPage(pagination, costResponse.queryDetails) + .then(response => { + setCostResponse({ + totalCost: costResponse.totalCost, + costs: processCosts( + response.body.data, + 'readResultsFromS3' + ), + queryDetails: processQueryDetails( + response.body.data, + 'readResultsFromS3' + ), + resultCount: processQueryDetails( + response.body.data, + 'readResultsFromS3' + ).resultCount, + }); + setLoading(false); + }) + .catch(err => { + setLoading(false); + console.error(err); + }); + }; - const queryCostAPI = (queryToExecute) => { - setLoading(true); - return sendCostQuery(queryToExecute) - .then((response) => { - setLoading(false); - setResultsQueryType(queryType); - setCostResponse({ - totalCost: processTotalCost( - response.body.data, - queryToExecute.queryType - ), - costs: processCosts(response.body.data, queryToExecute.queryType), - queryDetails: processQueryDetails( - response.body.data, - queryToExecute.queryType - ), - resultCount: processQueryDetails( - response.body.data, - queryToExecute.queryType - ).resultCount, - }); - }) - .catch((err) => { - setLoading(false); - console.error(err); - }); - }; + const queryCostAPI = queryToExecute => { + setLoading(true); + return sendCostQuery(queryToExecute) + .then(response => { + setLoading(false); + setResultsQueryType(queryType); + setCostResponse({ + totalCost: processTotalCost( + response.body.data, + queryToExecute.queryType + ), + costs: processCosts( + response.body.data, + queryToExecute.queryType + ), + queryDetails: processQueryDetails( + response.body.data, + queryToExecute.queryType + ), + resultCount: processQueryDetails( + response.body.data, + queryToExecute.queryType + ).resultCount, + }); + }) + .catch(err => { + setLoading(false); + console.error(err); + }); + }; - const buildResults = () => { - return { - costs: costResponse.costs, - queryDetails: costResponse.queryDetails, - totalCost: costResponse.totalCost, - resultCount: costResponse.resultCount, + const buildResults = () => { + return { + costs: costResponse.costs, + queryDetails: costResponse.queryDetails, + totalCost: costResponse.totalCost, + resultCount: costResponse.resultCount, + }; }; - }; - const processAccounts = () => - R.isEmpty(selectedAccounts) - ? R.uniq(R.chain((e) => e.value, accounts)) - : R.uniq(R.chain((e) => e.value, selectedAccounts)); + const processAccounts = () => + R.isEmpty(selectedAccounts) + ? R.uniq(R.chain(e => e.value, accounts)) + : R.uniq(R.chain(e => e.value, selectedAccounts)); - const processRegions = () => - R.isEmpty(selectedRegions) - ? R.uniq(R.chain((e) => R.map((x) => x.value, e.regions), accounts)) - : R.uniq(R.chain((e) => e.value, selectedRegions)); + const processRegions = () => + R.isEmpty(selectedRegions) + ? R.uniq(R.chain(e => R.map(x => x.value, e.regions), accounts)) + : R.uniq(R.chain(e => e.value, selectedRegions)); - const getQuery = () => { - switch (queryType) { - case 'all': - return { - queryType: 'getResourcesByCost', - queryFunction: getResourcesByCost, - queryOptions: { - resourcesByCostQuery: { - accountIds: processAccounts(), - pagination: { start: 0, end: 10 }, - regions: processRegions(), - period: { - from: dateInterval.startDate, - to: dateInterval.endDate, - }, - }, - }, - }; - case 'service': - return { - queryType: 'getCostForService', - queryFunction: getCostForService, - queryOptions: { - costForServiceQuery: { - accountIds: processAccounts(), - pagination: { start: 0, end: 10 }, - regions: processRegions(), - serviceName: R.propOr('*', ['label'], selectedService), - period: { - from: dateInterval.startDate, - to: dateInterval.endDate, - }, - }, - }, - }; - case 'arn': - return { - queryType: 'getCostForResource', - queryFunction: getCostForResource, - queryOptions: { - costForResourceQuery: { - pagination: { start: 0, end: 10 }, - resourceIds: R.map( - (e) => R.propOr('*', ['resourceArn'], e), - arns - ), - period: { - from: dateInterval.startDate, - to: dateInterval.endDate, - }, - }, - }, - }; - default: - break; - } - }; + const getQuery = () => { + switch (queryType) { + case 'all': + return { + queryType: 'getResourcesByCost', + queryFunction: getResourcesByCost, + queryOptions: { + resourcesByCostQuery: { + accountIds: processAccounts(), + pagination: {start: 0, end: 10}, + regions: processRegions(), + period: { + from: dateInterval.startDate, + to: dateInterval.endDate, + }, + }, + }, + }; + case 'service': + return { + queryType: 'getCostForService', + queryFunction: getCostForService, + queryOptions: { + costForServiceQuery: { + accountIds: processAccounts(), + pagination: {start: 0, end: 10}, + regions: processRegions(), + serviceName: R.propOr( + '*', + ['label'], + selectedService + ), + period: { + from: dateInterval.startDate, + to: dateInterval.endDate, + }, + }, + }, + }; + case 'arn': + return { + queryType: 'getCostForResource', + queryFunction: getCostForResource, + queryOptions: { + costForResourceQuery: { + pagination: {start: 0, end: 10}, + resourceIds: R.map( + e => R.propOr('*', ['resourceArn'], e), + arns + ), + period: { + from: dateInterval.startDate, + to: dateInterval.endDate, + }, + }, + }, + }; + default: + break; + } + }; - const getQuerySpecificForm = () => { - switch (queryType) { - case 'service': - return ( - - ); - case 'arn': - return ; - default: - break; - } - }; + const getQuerySpecificForm = () => { + switch (queryType) { + case 'service': + return ( + + ); + case 'arn': + return ; + default: + break; + } + }; + + const isReadyToSubmit = () => { + if (queryType === 'service') return !!selectedService; + if (queryType === 'arn') + return arns.length > 0 && arns.every(i => !!i.resourceArn); + return true; + }; - const isReadyToSubmit = () => { - if (queryType === 'service') return !!selectedService - if (queryType === 'arn') return arns.length > 0 && arns.every(i => !!i.resourceArn) - return true - } + return ( + + +
+ +
+ } + > + + + + {getQuerySpecificForm()} + + + {!R.isEmpty(costResponse) && ( + <> + - return ( - - -
- -
- }> - - - - {getQuerySpecificForm()} + + + )} - - {!R.isEmpty(costResponse) && ( - <> - - - - - )} - - ); + ); }; export default CostsPage; diff --git a/source/frontend/src/components/Costs/QueryBuilder/SummaryOverview.js b/source/frontend/src/components/Costs/QueryBuilder/SummaryOverview.js index e4e3da4b..e960eca6 100644 --- a/source/frontend/src/components/Costs/QueryBuilder/SummaryOverview.js +++ b/source/frontend/src/components/Costs/QueryBuilder/SummaryOverview.js @@ -3,59 +3,59 @@ import React from 'react'; import { - Box, - Container, - ColumnLayout, - TextContent, + Box, + Container, + ColumnLayout, + TextContent, } from '@cloudscape-design/components'; import PropTypes from 'prop-types'; -const SummaryOverview = ({ cost, from, to, resultCount }) => { - return ( - - -
- - Estimated AWS cost - - -

{cost}

-
-
-
- - AWS Resources - - -

{resultCount}

-
-
-
- - From - - -

{from}

-
-
-
- - To - - -

{to}

-
-
-
-
- ); +const SummaryOverview = ({cost, from, to, resultCount}) => { + return ( + + +
+ + Estimated AWS cost + + +

{cost}

+
+
+
+ + AWS Resources + + +

{resultCount}

+
+
+
+ + From + + +

{from}

+
+
+
+ + To + + +

{to}

+
+
+
+
+ ); }; SummaryOverview.propTypes = { - cost: PropTypes.string.isRequired, - from: PropTypes.string.isRequired, - to: PropTypes.string.isRequired, - resultCount: PropTypes.number.isRequired, + cost: PropTypes.string.isRequired, + from: PropTypes.string.isRequired, + to: PropTypes.string.isRequired, + resultCount: PropTypes.number.isRequired, }; export default SummaryOverview; diff --git a/source/frontend/src/components/Costs/QueryBuilder/Utils/CostAPIQuery.js b/source/frontend/src/components/Costs/QueryBuilder/Utils/CostAPIQuery.js index 433dac3f..92b5be46 100644 --- a/source/frontend/src/components/Costs/QueryBuilder/Utils/CostAPIQuery.js +++ b/source/frontend/src/components/Costs/QueryBuilder/Utils/CostAPIQuery.js @@ -2,21 +2,23 @@ // SPDX-License-Identifier: Apache-2.0 import { - handleResponse, - readResultsFromS3 + handleResponse, + readResultsFromS3, } from '../../../../API/Handlers/CostsGraphQLHandler'; -import { wrapRequest } from '../../../../Utils/API/HandlerUtils'; -import { processAccountsError } from '../../../../Utils/ErrorHandlingUtils'; +import {wrapRequest} from '../../../../Utils/API/HandlerUtils'; +import {processAccountsError} from '../../../../Utils/ErrorHandlingUtils'; -export const sendCostQuery = (queryToExecute) => - wrapRequest(processAccountsError, queryToExecute.queryFunction, queryToExecute.queryOptions) - .then(handleResponse); +export const sendCostQuery = queryToExecute => + wrapRequest( + processAccountsError, + queryToExecute.queryFunction, + queryToExecute.queryOptions + ).then(handleResponse); export const fetchNextPage = (pagination, queryDetails) => - wrapRequest(processAccountsError, readResultsFromS3, { - s3Query: { - bucket: queryDetails.s3Bucket, - key: queryDetails.s3Key, - pagination: pagination, - }, - }) - .then(handleResponse); + wrapRequest(processAccountsError, readResultsFromS3, { + s3Query: { + bucket: queryDetails.s3Bucket, + key: queryDetails.s3Key, + pagination: pagination, + }, + }).then(handleResponse); diff --git a/source/frontend/src/components/Costs/QueryBuilder/Utils/CostUtils.js b/source/frontend/src/components/Costs/QueryBuilder/Utils/CostUtils.js index 92c44b38..1ef0fd22 100644 --- a/source/frontend/src/components/Costs/QueryBuilder/Utils/CostUtils.js +++ b/source/frontend/src/components/Costs/QueryBuilder/Utils/CostUtils.js @@ -1,19 +1,19 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import * as R from 'ramda'; +import * as R from 'ramda'; -export const getAllRegions = (accounts) => - R.chain( - (account) => R.chain((region) => region.label, account.regions), - accounts - ); +export const getAllRegions = accounts => + R.chain( + account => R.chain(region => region.label, account.regions), + accounts + ); -export const getSelectedAccountRegions = (selectedAccounts) => - R.chain( - (account) => R.chain((region) => region.label, account.regions), - selectedAccounts - ); +export const getSelectedAccountRegions = selectedAccounts => + R.chain( + account => R.chain(region => region.label, account.regions), + selectedAccounts + ); -export const getSelectedRegions = (selectedRegions) => - R.chain((region) => region.label, selectedRegions); +export const getSelectedRegions = selectedRegions => + R.chain(region => region.label, selectedRegions); diff --git a/source/frontend/src/components/Costs/Report/CostBreakdown.js b/source/frontend/src/components/Costs/Report/CostBreakdown.js index c16a227f..2f4adfbd 100644 --- a/source/frontend/src/components/Costs/Report/CostBreakdown.js +++ b/source/frontend/src/components/Costs/Report/CostBreakdown.js @@ -5,39 +5,38 @@ import React from 'react'; import CostBreakdownTable from './CostBreakdownTable'; import PropTypes from 'prop-types'; import CostBreakdownChart from './CostBreakdownChart'; -import {Box, Container, Spinner} from "@cloudscape-design/components"; +import {Box, Container, Spinner} from '@cloudscape-design/components'; const CostBreakdown = ({ - resources, - setSelectedItems, - resourceDailyBreakdown, - loading=false, + resources, + setSelectedItems, + resourceDailyBreakdown, + loading = false, }) => { - - return ( - <> - - { - loading - ? - - - - - : - } - - ); + return ( + <> + + {loading ? ( + + + + + + ) : ( + + )} + + ); }; CostBreakdown.propTypes = { - loading: PropTypes.bool.isRequired, - resources: PropTypes.array.isRequired, - setSelectedItems: PropTypes.func.isRequired, - resourceDailyBreakdown: PropTypes.array.isRequired, + loading: PropTypes.bool.isRequired, + resources: PropTypes.array.isRequired, + setSelectedItems: PropTypes.func.isRequired, + resourceDailyBreakdown: PropTypes.array.isRequired, }; export default CostBreakdown; diff --git a/source/frontend/src/components/Costs/Report/CostBreakdownChart.js b/source/frontend/src/components/Costs/Report/CostBreakdownChart.js index d058540d..aeac1b3a 100644 --- a/source/frontend/src/components/Costs/Report/CostBreakdownChart.js +++ b/source/frontend/src/components/Costs/Report/CostBreakdownChart.js @@ -2,101 +2,107 @@ // SPDX-License-Identifier: Apache-2.0 import React from 'react'; -import { - Container, - LineChart, - Box, -} from '@cloudscape-design/components'; +import {Container, LineChart, Box} from '@cloudscape-design/components'; import PropTypes from 'prop-types'; -import * as R from 'ramda'; +import * as R from 'ramda'; import dayjs from 'dayjs'; import localizedFormat from 'dayjs/plugin/localizedFormat'; dayjs.extend(localizedFormat); const descending = function (a, b) { - return b - a; + return b - a; }; const ascending = function (a, b) { - return a - b; + return a - b; }; const mapIndexed = R.addIndex(R.map); -const CostBreakdownChart = ({ items }) => { - const processGroups = (groupBy) => { - const groups = groupBy(items); - return mapIndexed((e, i) => { - return { - id: i, - title: `${R.last(R.split(':', e))} (${R.head(groups[e]).product_servicename})`, - type: 'line', - valueFormatter: (t) => t, - data: R.map((e) => { - return { - x: dayjs(e.line_item_usage_start_date).format('ll'), - y: e.cost, - }; - }, groups[`${e}`]), - }; - }, Object.keys(groups)); - }; - const byARN = R.groupBy((e) => e.line_item_resource_id); +const CostBreakdownChart = ({items}) => { + const processGroups = groupBy => { + const groups = groupBy(items); + return mapIndexed((e, i) => { + return { + id: i, + title: `${R.last(R.split(':', e))} (${R.head(groups[e]).product_servicename})`, + type: 'line', + valueFormatter: t => t, + data: R.map(e => { + return { + x: dayjs(e.line_item_usage_start_date).format('ll'), + y: e.cost, + }; + }, groups[`${e}`]), + }; + }, Object.keys(groups)); + }; + const byARN = R.groupBy(e => e.line_item_resource_id); - return ( - - x.format('ll'), - R.sort( - ascending, - R.uniq(R.map((e) => dayjs(e.line_item_usage_start_date), items)) - ) - )} - yDomain={[ - -0, - R.head(R.sort(descending, R.uniq(R.map((e) => e.cost, items)))), - ]} - i18nStrings={{ - chartAriaRoleDescription: 'line chart', - xTickFormatter: (t) => t.split(',').join('\n'), - yTickFormatter: (t) => t, - }} - ariaLabel='Multiple data series line chart' - errorText='Error loading data.' - height={300} - loadingText='Loading chart' - recoveryText='Retry' - statusType='finished' - xScaleType='categorical' - xTitle='Date' - yTitle='Estimated cost ($)' - empty={ - - No data available - - Try selecting a resource in the table above and choosing Update Graph - - - } - noMatch={ - - No matching data - - There is no matching data to display - - {/* */} - - } - /> - - ); + return ( + + x.format('ll'), + R.sort( + ascending, + R.uniq( + R.map( + e => dayjs(e.line_item_usage_start_date), + items + ) + ) + ) + )} + yDomain={[ + -0, + R.head( + R.sort(descending, R.uniq(R.map(e => e.cost, items))) + ), + ]} + i18nStrings={{ + chartAriaRoleDescription: 'line chart', + xTickFormatter: t => t.split(',').join('\n'), + yTickFormatter: t => t, + }} + ariaLabel="Multiple data series line chart" + errorText="Error loading data." + height={300} + loadingText="Loading chart" + recoveryText="Retry" + statusType="finished" + xScaleType="categorical" + xTitle="Date" + yTitle="Estimated cost ($)" + empty={ + + No data available + + Try selecting a resource in the table above and + choosing Update Graph + + + } + noMatch={ + + No matching data + + There is no matching data to display + + {/* */} + + } + /> + + ); }; CostBreakdownChart.propTypes = { - items: PropTypes.array.isRequired, + items: PropTypes.array.isRequired, }; export default CostBreakdownChart; diff --git a/source/frontend/src/components/Costs/Report/CostBreakdownCharts.js b/source/frontend/src/components/Costs/Report/CostBreakdownCharts.js index e8067fa9..abac738c 100644 --- a/source/frontend/src/components/Costs/Report/CostBreakdownCharts.js +++ b/source/frontend/src/components/Costs/Report/CostBreakdownCharts.js @@ -2,71 +2,66 @@ // SPDX-License-Identifier: Apache-2.0 import React from 'react'; -import { - Container, - Header, - ColumnLayout, -} from '@cloudscape-design/components'; +import {Container, Header, ColumnLayout} from '@cloudscape-design/components'; import CostBreakdownPie from './CostBreakdownPie'; import { - getAccountColour, - getRegionColour, - getResourceTypeColor, + getAccountColour, + getRegionColour, + getResourceTypeColor, } from '../../../Utils/ColorCreator'; import PropTypes from 'prop-types'; -import * as R from 'ramda'; - -const CostSummary = ({ resources, showZeroCosts }) => { - const processGroups = (groupBy, colorGenerator) => { - const groups = groupBy(resources); - return R.map((e) => { - return { - title: e, - color: colorGenerator(e), - value: showZeroCosts - ? R.length(groups[`${e}`]) - : R.reduce( - (acc, val) => R.add(acc, val.data.cost), - 0, - groups[`${e}`] - ), - }; - }, Object.keys(groups)); - }; - const byAccount = R.groupBy((e) => e.data.resource.accountId); +import * as R from 'ramda'; - const byRegion = R.groupBy((e) => e.data.resource.region); +const CostSummary = ({resources, showZeroCosts}) => { + const processGroups = (groupBy, colorGenerator) => { + const groups = groupBy(resources); + return R.map(e => { + return { + title: e, + color: colorGenerator(e), + value: showZeroCosts + ? R.length(groups[`${e}`]) + : R.reduce( + (acc, val) => R.add(acc, val.data.cost), + 0, + groups[`${e}`] + ), + }; + }, Object.keys(groups)); + }; + const byAccount = R.groupBy(e => e.data.resource.accountId); - const byResourceType = R.groupBy((e) => e.data.resource.type); + const byRegion = R.groupBy(e => e.data.resource.region); - return ( + const byResourceType = R.groupBy(e => e.data.resource.type); - - Accounts}> - - - Regions}> - - - Resource Types}> - - - - ); + return ( + + Accounts}> + + + Regions}> + + + Resource Types}> + + + + ); }; CostSummary.propTypes = { - resources: PropTypes.array.isRequired, + resources: PropTypes.array.isRequired, }; export default CostSummary; diff --git a/source/frontend/src/components/Costs/Report/CostBreakdownPie.js b/source/frontend/src/components/Costs/Report/CostBreakdownPie.js index b6ad13c0..d2601833 100644 --- a/source/frontend/src/components/Costs/Report/CostBreakdownPie.js +++ b/source/frontend/src/components/Costs/Report/CostBreakdownPie.js @@ -2,61 +2,61 @@ // SPDX-License-Identifier: Apache-2.0 import React from 'react'; -import { PieChart, Box } from '@cloudscape-design/components'; +import {PieChart, Box} from '@cloudscape-design/components'; import PropTypes from 'prop-types'; -const CostBreakdownPie = ({ items, value }) => { - - return ( - { - return [ - { key: "Estimated Cost", value: `$${parseFloat(datum.value).toFixed(2) }`}, - { - key: "Percentage", - value: `${((datum.value / sum) * 100).toFixed( - 0 - )}%` - }, - ] - }} - ariaDescription='Donut chart showing cost breakdown.' - ariaLabel='Small donut chart' - errorText='Error loading data.' - hideDescriptions - hideFilter - hideTitles - loadingText='Loading chart' - recoveryText='Retry' - size='small' - variant='donut' - empty={ - - No data available - - There is no data available - - - } - /> - ); +const CostBreakdownPie = ({items, value}) => { + return ( + { + return [ + { + key: 'Estimated Cost', + value: `$${parseFloat(datum.value).toFixed(2)}`, + }, + { + key: 'Percentage', + value: `${((datum.value / sum) * 100).toFixed(0)}%`, + }, + ]; + }} + ariaDescription="Donut chart showing cost breakdown." + ariaLabel="Small donut chart" + errorText="Error loading data." + hideDescriptions + hideFilter + hideTitles + loadingText="Loading chart" + recoveryText="Retry" + size="small" + variant="donut" + empty={ + + No data available + + There is no data available + + + } + /> + ); }; CostBreakdownPie.propTypes = { - items: PropTypes.array.isRequired, - value: PropTypes.string.isRequired, + items: PropTypes.array.isRequired, + value: PropTypes.string.isRequired, }; export default CostBreakdownPie; diff --git a/source/frontend/src/components/Costs/Report/CostBreakdownSummary.js b/source/frontend/src/components/Costs/Report/CostBreakdownSummary.js index 7000cb15..0bfd18f5 100644 --- a/source/frontend/src/components/Costs/Report/CostBreakdownSummary.js +++ b/source/frontend/src/components/Costs/Report/CostBreakdownSummary.js @@ -3,77 +3,79 @@ import React from 'react'; import { - Box, - Container, - Header, - ColumnLayout, - TextContent, - SpaceBetween, + Box, + Container, + Header, + ColumnLayout, + TextContent, + SpaceBetween, } from '@cloudscape-design/components'; import CostBreakdownCharts from './CostBreakdownCharts'; import PropTypes from 'prop-types'; -import * as R from 'ramda'; +import * as R from 'ramda'; -const CostBreakdownSummary = ({ resources }) => { - const byAccount = R.groupBy((e) => e.data.resource.accountId); - const byRegion = R.groupBy((e) => e.data.resource.region); - return ( - - - Summary - - }> - -
- - Estimated cost - - -

{`$${R.reduce( - (acc, val) => (acc + parseFloat(val.data.cost)), - 0, - resources - ).toFixed(2)}`}

-
-
-
- - Accounts - - -

{R.length(R.keys(byAccount(resources)))}

-
-
-
- - Regions - - -

{R.length(R.keys(byRegion(resources)))}

-
-
-
- - Resources - - -

{R.length(resources)}

-
-
-
-
- -
- ); +const CostBreakdownSummary = ({resources}) => { + const byAccount = R.groupBy(e => e.data.resource.accountId); + const byRegion = R.groupBy(e => e.data.resource.region); + return ( + + + Summary + + } + > + +
+ + Estimated cost + + +

{`$${R.reduce( + (acc, val) => acc + parseFloat(val.data.cost), + 0, + resources + ).toFixed(2)}`}

+
+
+
+ + Accounts + + +

{R.length(R.keys(byAccount(resources)))}

+
+
+
+ + Regions + + +

{R.length(R.keys(byRegion(resources)))}

+
+
+
+ + Resources + + +

{R.length(resources)}

+
+
+
+
+ +
+ ); }; CostBreakdownSummary.propTypes = { - resources: PropTypes.array.isRequired, + resources: PropTypes.array.isRequired, }; export default CostBreakdownSummary; diff --git a/source/frontend/src/components/Costs/Report/CostBreakdownTable.js b/source/frontend/src/components/Costs/Report/CostBreakdownTable.js index f0fe9468..49b93fb4 100644 --- a/source/frontend/src/components/Costs/Report/CostBreakdownTable.js +++ b/source/frontend/src/components/Costs/Report/CostBreakdownTable.js @@ -3,213 +3,229 @@ import React, {useState} from 'react'; import { - Table, - Box, - TextFilter, - Pagination, - Header, - SpaceBetween, - Button, + Table, + Box, + TextFilter, + Pagination, + Header, + SpaceBetween, + Button, } from '@cloudscape-design/components'; -import { useCollection } from '@cloudscape-design/collection-hooks'; +import {useCollection} from '@cloudscape-design/collection-hooks'; import PropTypes from 'prop-types'; -import { CsvBuilder } from 'filefy'; -import { fetchImage } from '../../../Utils/ImageSelector'; +import {CsvBuilder} from 'filefy'; +import {fetchImage} from '../../../Utils/ImageSelector'; import * as R from 'ramda'; const mapIndexed = R.addIndex(R.map); -const getResourceIcon = (type) => { - return ( - {`${type} - ); +const getResourceIcon = type => { + return ( + {`${type} + ); }; const columns = [ - { - id: 'icon', - header: 'Icon', - cell: (e) => getResourceIcon(e.type), - width: 90, - minWidth: 90, - }, - { - id: 'resource', - header: 'Name', - cell: (e) => e.resource, - width: 320, - minWidth: 320, - sortingField: 'resource', - }, - { - id: 'service', - header: 'Billing Service', - cell: (e) => e.service, - width: 320, - minWidth: 320, - sortingField: 'service', - }, - { - id: 'type', - header: 'Type', - cell: (e) => e.type, - width: 200, - minWidth: 200, - sortingField: 'type', - }, - { - id: 'cost', - header: 'Estimated Cost ($)', - cell: (e) => `${e.cost}`, - sortingField: 'cost', - width: 200, - minWidth: 200, - }, - { - id: 'accountId', - header: 'Account Id', - cell: (e) => e.accountId, - width: 150, - minWidth: 150, - }, - { - id: 'region', - header: 'Region', - cell: (e) => e.region, - width: 150, - minWidth: 150, - sortingField: 'region', - }, - { - id: 'resourceArn', - header: 'ARN', - cell: (e) => e.resourceArn, - width: 150, - minWidth: 150, - }, + { + id: 'icon', + header: 'Icon', + cell: e => getResourceIcon(e.type), + width: 90, + minWidth: 90, + }, + { + id: 'resource', + header: 'Name', + cell: e => e.resource, + width: 320, + minWidth: 320, + sortingField: 'resource', + }, + { + id: 'service', + header: 'Billing Service', + cell: e => e.service, + width: 320, + minWidth: 320, + sortingField: 'service', + }, + { + id: 'type', + header: 'Type', + cell: e => e.type, + width: 200, + minWidth: 200, + sortingField: 'type', + }, + { + id: 'cost', + header: 'Estimated Cost ($)', + cell: e => `${e.cost}`, + sortingField: 'cost', + width: 200, + minWidth: 200, + }, + { + id: 'accountId', + header: 'Account Id', + cell: e => e.accountId, + width: 150, + minWidth: 150, + }, + { + id: 'region', + header: 'Region', + cell: e => e.region, + width: 150, + minWidth: 150, + sortingField: 'region', + }, + { + id: 'resourceArn', + header: 'ARN', + cell: e => e.resourceArn, + width: 150, + minWidth: 150, + }, ]; -const exportColumns = columns.filter(i => i.header !== "Icon").map(i => ({ - header: i.header, - prop: i.id -})); +const exportColumns = columns + .filter(i => i.header !== 'Icon') + .map(i => ({ + header: i.header, + prop: i.id, + })); -const CostBreakdownTable = ({ - resources, - onSelectionChange, -}) => { - const [selectedItems, setSelectedItems] = useState([]); +const CostBreakdownTable = ({resources, onSelectionChange}) => { + const [selectedItems, setSelectedItems] = useState([]); - const onUpdateGraph = () => { - onSelectionChange(selectedItems) - } + const onUpdateGraph = () => { + onSelectionChange(selectedItems); + }; - const getRows = () => - mapIndexed((e, index) => { - return { - id: index, - resource: e.data.title, - type: e.data.properties.resourceType, - icon: e.image, - cost: e.data.cost, - accountId: e.data.resource.accountId, - region: e.data.resource.region, - resourceId: e.data.resourceId, - resourceArn: e.data.resource.arn, - service: e.data.service, - }; - }, resources); + const getRows = () => + mapIndexed((e, index) => { + return { + id: index, + resource: e.data.title, + type: e.data.properties.resourceType, + icon: e.image, + cost: e.data.cost, + accountId: e.data.resource.accountId, + region: e.data.resource.region, + resourceId: e.data.resourceId, + resourceArn: e.data.resource.arn, + service: e.data.service, + }; + }, resources); - const { - items, - filterProps, - collectionProps, - paginationProps, - } = useCollection(getRows(), { - filtering: { - empty: ( - - No resources - - No resources to display. - - - ), - noMatch: ( - - No match - - No resources matched. - - - ), - }, - pagination: { pageSize: 10 }, - sorting: {}, - }); + const {items, filterProps, collectionProps, paginationProps} = + useCollection(getRows(), { + filtering: { + empty: ( + + No resources + + No resources to display. + + + ), + noMatch: ( + + No match + + No resources matched. + + + ), + }, + pagination: {pageSize: 10}, + sorting: {}, + }); - const defaultExportCsv = () => - new CsvBuilder(`cost-report.csv`) - .setDelimeter(',') - .setColumns(exportColumns.map(i => i.header)) - .addRows(items.map(i => exportColumns.map(j => i[j.prop]))) - .exportFile(); + const defaultExportCsv = () => + new CsvBuilder(`cost-report.csv`) + .setDelimeter(',') + .setColumns(exportColumns.map(i => i.header)) + .addRows(items.map(i => exportColumns.map(j => i[j.prop]))) + .exportFile(); - return ( -
- - - - } - description='The resources that incurred a cost within this workload.' - variant='h2'> - Resources - - } - resizableColumns - stickyHeader - columnDefinitions={columns} - items={items} - loadingText='Loading resources' - selectedItems={selectedItems} - selectionType='multi' - onSelectionChange={({detail}) => setSelectedItems(detail.selectedItems)} - filter={ - - } - empty={ - - No resources - - No resources to display. - - - } - pagination={} - /> - ); + return ( +
+ + + + } + description="The resources that incurred a cost within this workload." + variant="h2" + > + Resources + + } + resizableColumns + stickyHeader + columnDefinitions={columns} + items={items} + loadingText="Loading resources" + selectedItems={selectedItems} + selectionType="multi" + onSelectionChange={({detail}) => + setSelectedItems(detail.selectedItems) + } + filter={ + + } + empty={ + + No resources + + No resources to display. + + + } + pagination={} + /> + ); }; CostBreakdownTable.propTypes = { - resources: PropTypes.array.isRequired, - onSelectionChange: PropTypes.func.isRequired, + resources: PropTypes.array.isRequired, + onSelectionChange: PropTypes.func.isRequired, }; export default CostBreakdownTable; diff --git a/source/frontend/src/components/Costs/Report/CostForm.js b/source/frontend/src/components/Costs/Report/CostForm.js index cc254d36..801600fb 100644 --- a/source/frontend/src/components/Costs/Report/CostForm.js +++ b/source/frontend/src/components/Costs/Report/CostForm.js @@ -2,27 +2,27 @@ // SPDX-License-Identifier: Apache-2.0 import React from 'react'; -import PropTypes from "prop-types"; -import { - Form, - SpaceBetween, -} from '@cloudscape-design/components'; +import PropTypes from 'prop-types'; +import {Form, SpaceBetween} from '@cloudscape-design/components'; import CostDatePicker from '../../Diagrams/Draw/Utils/CostDatePicker'; -const CostForm = ({ setDateInterval }) => { - return ( - <> -
- - - - - - ); +const CostForm = ({setDateInterval}) => { + return ( + <> +
+ + + + + + ); }; CostForm.propTypes = { - setDateInterval: PropTypes.func.isRequired -} + setDateInterval: PropTypes.func.isRequired, +}; export default CostForm; diff --git a/source/frontend/src/components/Costs/Report/CostOverview.js b/source/frontend/src/components/Costs/Report/CostOverview.js index d10c7c6e..6e549886 100644 --- a/source/frontend/src/components/Costs/Report/CostOverview.js +++ b/source/frontend/src/components/Costs/Report/CostOverview.js @@ -3,123 +3,136 @@ import React, {useState} from 'react'; import { - SpaceBetween, - Container, - Header, Spinner, Box, + SpaceBetween, + Container, + Header, + Spinner, + Box, } from '@cloudscape-design/components'; import CostBreakdownSummary from './CostBreakdownSummary'; import CostBreakdown from './CostBreakdown'; import CostForm from './CostForm'; -import { useParams } from 'react-router-dom'; -import {diagramsPrefix, useObject} from "../../Hooks/useS3Objects"; -import Breadcrumbs from "../../../Utils/Breadcrumbs"; -import {COST_REPORT, DRAW, OPEN_DIAGRAM} from "../../../routes"; -import * as R from "ramda"; -import dayjs from "dayjs"; -import localizedFormat from "dayjs/plugin/localizedFormat"; -import relativeTime from "dayjs/plugin/relativeTime"; -import useResourceCosts, {useDailyResourceCosts} from "../../Hooks/useCosts"; +import {useParams} from 'react-router-dom'; +import {diagramsPrefix, useObject} from '../../Hooks/useS3Objects'; +import Breadcrumbs from '../../../Utils/Breadcrumbs'; +import {COST_REPORT, DRAW, OPEN_DIAGRAM} from '../../../routes'; +import * as R from 'ramda'; +import dayjs from 'dayjs'; +import localizedFormat from 'dayjs/plugin/localizedFormat'; +import relativeTime from 'dayjs/plugin/relativeTime'; +import useResourceCosts, {useDailyResourceCosts} from '../../Hooks/useCosts'; dayjs.extend(localizedFormat); dayjs.extend(relativeTime); - const processCosts = (costs, resources) => { - const processedResources = []; - R.forEach((e) => { - R.forEach((n) => { - if (R.hasPath(['data', 'resourceId'], n)) { - if (R.includes(e.id, n.data.resourceId)) { - processedResources.push(R.mergeDeepRight(n, { - data: { - cost: e.cost, - service: e.service + const processedResources = []; + R.forEach(e => { + R.forEach(n => { + if (R.hasPath(['data', 'resourceId'], n)) { + if (R.includes(e.id, n.data.resourceId)) { + processedResources.push( + R.mergeDeepRight(n, { + data: { + cost: e.cost, + service: e.service, + }, + }) + ); + } } - })); - } - } - }, resources); - }, costs); - return processedResources + }, resources); + }, costs); + return processedResources; }; const getPageSize = (items, dateInterval) => - dayjs(dateInterval.endDate).diff(dayjs(dateInterval.startDate), 'day') * - items.length; + dayjs(dateInterval.endDate).diff(dayjs(dateInterval.startDate), 'day') * + items.length; const CostOverview = () => { - const { name, visibility } = useParams(); - const [selectedItems, setSelectedItems] = useState([]); - const [dateInterval, setDateInterval] = useState({ - type: 'absolute', - startDate: dayjs() - .startOf('month') - .format('YYYY-MM-DD'), - endDate: dayjs() - .endOf('month') - .format('YYYY-MM-DD'), - }); - const {data: diagramData=[], isLoading: loadingDiagram} = useObject(name, diagramsPrefix, visibility); - const resources = R.compose( - R.uniqBy(R.pathEq(['data', 'title'])), - R.filter((e) => R.equals(e.data?.type, 'resource')) - )(diagramData.nodes ?? {}) - const {data: costs=[], isLoading: loadingCosts} = useResourceCosts(resources, dateInterval); - const costResources = processCosts(costs, resources) - const { data: resourceDailyBreakdown=[], isLoading: loadingDailyBreakdown} = useDailyResourceCosts(selectedItems, dateInterval, getPageSize(selectedItems, dateInterval)) - - return ( - - - { - loadingDiagram - ? - : ( - <> - - Cost Report - - }> - - - { - loadingCosts - ? - : ( - <> - - - - ) - } - - ) - } + const {name, visibility} = useParams(); + const [selectedItems, setSelectedItems] = useState([]); + const [dateInterval, setDateInterval] = useState({ + type: 'absolute', + startDate: dayjs().startOf('month').format('YYYY-MM-DD'), + endDate: dayjs().endOf('month').format('YYYY-MM-DD'), + }); + const {data: diagramData = [], isLoading: loadingDiagram} = useObject( + name, + diagramsPrefix, + visibility + ); + const resources = R.compose( + R.uniqBy(R.pathEq(['data', 'title'])), + R.filter(e => R.equals(e.data?.type, 'resource')) + )(diagramData.nodes ?? {}); + const {data: costs = [], isLoading: loadingCosts} = useResourceCosts( + resources, + dateInterval + ); + const costResources = processCosts(costs, resources); + const { + data: resourceDailyBreakdown = [], + isLoading: loadingDailyBreakdown, + } = useDailyResourceCosts( + selectedItems, + dateInterval, + getPageSize(selectedItems, dateInterval) + ); - - ); + return ( + + + {loadingDiagram ? ( + + + + ) : ( + <> + + Cost Report + + } + > + + + {loadingCosts ? ( + + + + ) : ( + <> + + + + )} + + )} + + ); }; export default CostOverview; diff --git a/source/frontend/src/components/Costs/Report/CostReportHelper.js b/source/frontend/src/components/Costs/Report/CostReportHelper.js index 4f202e37..31120367 100644 --- a/source/frontend/src/components/Costs/Report/CostReportHelper.js +++ b/source/frontend/src/components/Costs/Report/CostReportHelper.js @@ -5,17 +5,18 @@ import React from 'react'; import {Box, HelpPanel} from '@cloudscape-design/components'; const CostReportHelper = () => { - return ( - Diagram Cost Report}> - - View the cost data associated with the selected diagram. - - - To view cost data over time, broken down by resource, choose one or more resources - from the Resources table then choose Update Graph. - - - ); + return ( + Diagram Cost Report}> + + View the cost data associated with the selected diagram. + + + To view cost data over time, broken down by resource, choose one + or more resources from the Resources table then choose{' '} + Update Graph. + + + ); }; export default CostReportHelper; diff --git a/source/frontend/src/components/Diagrams/Draw/Canvas/Commands/CanvasCommands.js b/source/frontend/src/components/Diagrams/Draw/Canvas/Commands/CanvasCommands.js index 30bf1e66..3c1af35f 100644 --- a/source/frontend/src/components/Diagrams/Draw/Canvas/Commands/CanvasCommands.js +++ b/source/frontend/src/components/Diagrams/Draw/Canvas/Commands/CanvasCommands.js @@ -2,132 +2,114 @@ // SPDX-License-Identifier: Apache-2.0 import {processElements} from '../../../../../API/APIProcessors'; -import { - getResourceGraphPaginated -} from '../../../../../API/Handlers/ResourceGraphQLHandler'; -import { wrapRequest } from '../../../../../Utils/API/HandlerUtils'; -import { processResourcesError } from '../../../../../Utils/ErrorHandlingUtils'; +import {getResourceGraphPaginated} from '../../../../../API/Handlers/ResourceGraphQLHandler'; +import {wrapRequest} from '../../../../../Utils/API/HandlerUtils'; +import {processResourcesError} from '../../../../../Utils/ErrorHandlingUtils'; import {handleSelectedResources} from '../../../../../API/Processors/NodeProcessors'; -import { getGroupedLayout } from '../Layout/GroupedGraphLayout'; -import { getStandardLayout } from '../Layout/StandardGraphLayout'; -import * as R from "ramda"; +import {getGroupedLayout} from '../Layout/GroupedGraphLayout'; +import {getStandardLayout} from '../Layout/StandardGraphLayout'; +import * as R from 'ramda'; export const clearGraph = (canvas, updateCanvas, updateResources) => { - !R.isNil(canvas) && canvas.nodes().remove(); - updateCanvas(canvas); - updateResources(); + !R.isNil(canvas) && canvas.nodes().remove(); + updateCanvas(canvas); + updateResources(); }; export const fitToViewport = (canvas, updateCanvas) => { - canvas.fit(); - updateCanvas(canvas); + canvas.fit(); + updateCanvas(canvas); }; export const removeResource = ( - canvas, - updateCanvas, - updateResources, - resourceIds, - layout=getStandardLayout + canvas, + updateCanvas, + updateResources, + resourceIds, + layout = getStandardLayout ) => { - canvas.nodes().lock(); - // Cache all ancestors of nodes to be removed sorted by depth - const ancestors = R.chain(e => canvas - .nodes() - .getElementById(e) - .ancestors() - .sort((a, b) => b.data("level") - a.data("level")), resourceIds) - - // Remove selected nodes - R.forEach( - (e) => - canvas - .nodes() - .getElementById(e) - .remove(), - resourceIds - ); - - // Remove ancestors which have no descendents starting from deepest - R.forEach((a) => { - if (R.equals(0, a.descendants().length)) { - canvas - .nodes() - .getElementById(a.data("id")) - .remove() - } - }, ancestors); - - updateCanvas(canvas); - updateResources(); - if (layout) - canvas - .nodes() - .layout(layout()) - .run(); - canvas.nodes().unlock(); + canvas.nodes().lock(); + // Cache all ancestors of nodes to be removed sorted by depth + const ancestors = R.chain( + e => + canvas + .nodes() + .getElementById(e) + .ancestors() + .sort((a, b) => b.data('level') - a.data('level')), + resourceIds + ); + + // Remove selected nodes + R.forEach(e => canvas.nodes().getElementById(e).remove(), resourceIds); + + // Remove ancestors which have no descendents starting from deepest + R.forEach(a => { + if (R.equals(0, a.descendants().length)) { + canvas.nodes().getElementById(a.data('id')).remove(); + } + }, ancestors); + + updateCanvas(canvas); + updateResources(); + if (layout) canvas.nodes().layout(layout()).run(); + canvas.nodes().unlock(); }; export const addResources = ( - canvas, - updateCanvas, - updateResources, - resources, - layout + canvas, + updateCanvas, + updateResources, + resources, + layout ) => { - canvas.nodes().lock(); - canvas.add(resources); - canvas - .nodes() - .layout(layout()) - .run(); - canvas.ready(() => { - R.forEach((e) => { - if (R.gt(e.parallelEdges().length, 1)) { - e.remove(); - } - }, canvas.edges()); - canvas.nodes().unlock(); - updateCanvas(canvas); - const removeHighlight = setTimeout( - () => canvas.elements().removeClass('highlight'), - 2000 - ); - return () => clearTimeout(removeHighlight); - }); - updateResources(); + canvas.nodes().lock(); + canvas.add(resources); + canvas.nodes().layout(layout()).run(); + canvas.ready(() => { + R.forEach(e => { + if (R.gt(e.parallelEdges().length, 1)) { + e.remove(); + } + }, canvas.edges()); + canvas.nodes().unlock(); + updateCanvas(canvas); + const removeHighlight = setTimeout( + () => canvas.elements().removeClass('highlight'), + 2000 + ); + return () => clearTimeout(removeHighlight); + }); + updateResources(); }; export const groupResources = (canvas, updateCanvas) => { - canvas - .nodes() - .layout(getGroupedLayout()) - .run(); - canvas.remove(canvas.edges()); - updateCanvas(canvas); + canvas.nodes().layout(getGroupedLayout()).run(); + canvas.remove(canvas.edges()); + updateCanvas(canvas); }; export const focusOnResources = ( - canvas, - updateCanvas, - updateResources, - ids, + canvas, + updateCanvas, + updateResources, + ids ) => { - clearGraph(canvas, updateCanvas, updateResources); - - return wrapRequest(processResourcesError, getResourceGraphPaginated, {ids}) - .then(x => x.body) - .then(processElements) - .then(handleSelectedResources(ids, [])) - .then((elements) => { - addResources( - canvas, - updateCanvas, - updateResources, - elements, - getStandardLayout - ); - }); + clearGraph(canvas, updateCanvas, updateResources); + + return wrapRequest(processResourcesError, getResourceGraphPaginated, {ids}) + .then(x => x.body) + .then(processElements) + .then(handleSelectedResources(ids, [])) + .then(elements => { + addResources( + canvas, + updateCanvas, + updateResources, + elements, + getStandardLayout + ); + }); }; export const fetchResources = ( @@ -135,7 +117,7 @@ export const fetchResources = ( updateCanvas, updateResources, ids, - currentResources, + currentResources ) => { canvas.nodes().map(ele => ele.removeClass('clicked')); canvas.nodes().removeClass('selected'); @@ -145,7 +127,7 @@ export const fetchResources = ( .then(x => x.body) .then(processElements) .then(handleSelectedResources(ids, currentResources)) - .then((elements) => { + .then(elements => { addResources( canvas, updateCanvas, @@ -154,44 +136,37 @@ export const fetchResources = ( getStandardLayout ); }); - }; export const showCosts = ( - canvas, - updateCanvas, - resources, - parentsOnly = true -) => { - resources.forEach(res => { - const node = canvas.nodes().find(i => R.equals(i.data("id"), res.data.id)) - node.data("cost", res.data?.cost ?? 0) - if (parentsOnly && node.children().length > 0) - node?.data("label", res.data.label ) - }) - updateCanvas(canvas) -} - -export const hideCosts = ( - canvas, - updateCanvas, -) => { - const resources = canvas.nodes().jsons(); - resources.forEach(res => { - const node = canvas.nodes().find(i => R.equals(i.data("id"), res.data.id)) - node.data("cost", 0) - if (node.children().length > 0) - node?.data("label", res.data.title ) - }) - updateCanvas(canvas) -} - -export const refreshLayout = ( - canvas, - layout=getStandardLayout + canvas, + updateCanvas, + resources, + parentsOnly = true ) => { - canvas - .nodes() - .layout(layout()) - .run(); -} \ No newline at end of file + resources.forEach(res => { + const node = canvas + .nodes() + .find(i => R.equals(i.data('id'), res.data.id)); + node.data('cost', res.data?.cost ?? 0); + if (parentsOnly && node.children().length > 0) + node?.data('label', res.data.label); + }); + updateCanvas(canvas); +}; + +export const hideCosts = (canvas, updateCanvas) => { + const resources = canvas.nodes().jsons(); + resources.forEach(res => { + const node = canvas + .nodes() + .find(i => R.equals(i.data('id'), res.data.id)); + node.data('cost', 0); + if (node.children().length > 0) node?.data('label', res.data.title); + }); + updateCanvas(canvas); +}; + +export const refreshLayout = (canvas, layout = getStandardLayout) => { + canvas.nodes().layout(layout()).run(); +}; diff --git a/source/frontend/src/components/Diagrams/Draw/Canvas/Export/CSV/CreateCSVExport.js b/source/frontend/src/components/Diagrams/Draw/Canvas/Export/CSV/CreateCSVExport.js index 30e3dc07..15f490e9 100644 --- a/source/frontend/src/components/Diagrams/Draw/Canvas/Export/CSV/CreateCSVExport.js +++ b/source/frontend/src/components/Diagrams/Draw/Canvas/Export/CSV/CreateCSVExport.js @@ -1,62 +1,59 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import { CsvBuilder } from 'filefy'; -import * as R from 'ramda'; +import {CsvBuilder} from 'filefy'; +import * as R from 'ramda'; const columns = [ - { - header: 'type', - }, - { - header: 'name', - }, - { - header: 'accountId', - }, - { - header: 'region', - }, - { - header: 'estimatedCost', - }, + { + header: 'type', + }, + { + header: 'name', + }, + { + header: 'accountId', + }, + { + header: 'region', + }, + { + header: 'estimatedCost', + }, ]; function createExportRow(type, name, accountId, region, arn, cost) { - return { type, name, accountId, region, arn, cost }; + return {type, name, accountId, region, arn, cost}; } -const getExportRows = (resources) => { - return resources.map((e) => - createExportRow( - e.data.resource.type, - e.data.title, - e.data.resource.accountId, - e.data.resource.region, - e.data.arn, - e.data.cost - ) - ); +const getExportRows = resources => { + return resources.map(e => + createExportRow( + e.data.resource.type, + e.data.title, + e.data.resource.accountId, + e.data.resource.region, + e.data.arn, + e.data.cost + ) + ); }; - export const exportCSVFromCanvas = (elements, name) => { - const resources = elements - .nodes - .filter((item) => !item.edge && R.equals(item.data?.type, 'resource')); - new CsvBuilder(`${name}.csv`) - .setDelimeter(';') - .setColumns(R.map((e) => e.header, columns)) - .addRows(R.map((e) => Object.values(e), getExportRows(resources))) - .exportFile(); + const resources = elements.nodes.filter( + item => !item.edge && R.equals(item.data?.type, 'resource') + ); + new CsvBuilder(`${name}.csv`) + .setDelimeter(';') + .setColumns(R.map(e => e.header, columns)) + .addRows(R.map(e => Object.values(e), getExportRows(resources))) + .exportFile(); }; - export const exportCSVFromTable = (nodes, name) => { - - new CsvBuilder(`${name}.csv`) - .setDelimeter(';') - .setColumns(R.map((e) => e.header, columns)) - .addRows(R.map((e) => Object.values(e), getExportRows(nodes))) - .exportFile(); + new CsvBuilder(`${name}.csv`) + .setDelimeter(';') + .setColumns(R.map(e => e.header, columns)) + .addRows(R.map(e => Object.values(e), getExportRows(nodes))) + .exportFile(); }; diff --git a/source/frontend/src/components/Diagrams/Draw/Canvas/Export/Drawio/CreateDrawioDiagram.js b/source/frontend/src/components/Diagrams/Draw/Canvas/Export/Drawio/CreateDrawioDiagram.js index bb37589f..56078236 100644 --- a/source/frontend/src/components/Diagrams/Draw/Canvas/Export/Drawio/CreateDrawioDiagram.js +++ b/source/frontend/src/components/Diagrams/Draw/Canvas/Export/Drawio/CreateDrawioDiagram.js @@ -1,53 +1,53 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import * as R from 'ramda'; +import * as R from 'ramda'; const removeCollapsedNodes = (parents, nodes) => - R.filter((e) => !R.includes(e.data.parent, parents), nodes); + R.filter(e => !R.includes(e.data.parent, parents), nodes); -export const diagramToDrawioData = async (elements) => { - const parentCollapsed = R.map( - (x) => x.data.id, - R.filter((e) => !R.isNil(e.data.collapsedChildren), elements.nodes) - ); - const rawNodes = removeCollapsedNodes(parentCollapsed, elements.nodes); - const nodes = R.map((e) => { - if (e.data.collapsedChildren) { - e.data.collapsedChildren = []; - e.data.children = undefined; - e.data.type = 'resource'; - - e.data.hasChildren = false; - } - return R.pick( - [ - 'id', - 'parent', - 'title', - 'label', - 'level', - 'type', - 'image', - 'hasChildren', - 'position' - ], - {...e.data, position: e.position} +export const diagramToDrawioData = async elements => { + const parentCollapsed = R.map( + x => x.data.id, + R.filter(e => !R.isNil(e.data.collapsedChildren), elements.nodes) ); - }, rawNodes); + const rawNodes = removeCollapsedNodes(parentCollapsed, elements.nodes); + const nodes = R.map(e => { + if (e.data.collapsedChildren) { + e.data.collapsedChildren = []; + e.data.children = undefined; + e.data.type = 'resource'; - let edges = [] - if (elements.edges) { - edges = R.map((e) => { - if (!R.isNil(e.data.originalEnds)) { - e.data.originalEnds = undefined; - } - return R.pick(['id', 'source', 'target'], e.data); - }, elements.edges); - } + e.data.hasChildren = false; + } + return R.pick( + [ + 'id', + 'parent', + 'title', + 'label', + 'level', + 'type', + 'image', + 'hasChildren', + 'position', + ], + {...e.data, position: e.position} + ); + }, rawNodes); + + let edges = []; + if (elements.edges) { + edges = R.map(e => { + if (!R.isNil(e.data.originalEnds)) { + e.data.originalEnds = undefined; + } + return R.pick(['id', 'source', 'target'], e.data); + }, elements.edges); + } - return { - nodes, - edges - } + return { + nodes, + edges, + }; }; diff --git a/source/frontend/src/components/Diagrams/Draw/Canvas/Export/ExportDiagram.js b/source/frontend/src/components/Diagrams/Draw/Canvas/Export/ExportDiagram.js deleted file mode 100644 index 7521706b..00000000 --- a/source/frontend/src/components/Diagrams/Draw/Canvas/Export/ExportDiagram.js +++ /dev/null @@ -1,133 +0,0 @@ -// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 - -import React from 'react'; -import { saveAs } from 'file-saver'; -import { - Button, - SpaceBetween, - Input, - FormField, - Form, - Container, - Header, - RadioGroup, -} from '@cloudscape-design/components'; -import { useParams } from 'react-router-dom'; -import Breadcrumbs from '../../../../../Utils/Breadcrumbs'; -import { DRAW, EXPORT, OPEN_DIAGRAM } from '../../../../../routes'; -import { exportCSVFromCanvas } from './CSV/CreateCSVExport'; -import { exportJSON } from './JSON/CreateJSONExport'; -import * as R from 'ramda'; -import {diagramsPrefix, useObject} from "../../../../Hooks/useS3Objects"; -import {useDrawIoUrl} from "../../../../Hooks/useDrawIoUrl"; -import validFilename from 'valid-filename'; - -const ExportDiagram = () => { - const [error, setError] = React.useState(false); - const { name, visibility } = useParams(); - const [filename, setFilename] = React.useState(name); - const [fileType, setFileType] = React.useState('drawio'); - const {data=[], isLoading: loadingDiagram} = useObject(name, diagramsPrefix, visibility); - const { data: drawIoUrl, isLoading: loadingDrawIoUrl } = useDrawIoUrl(name, visibility); - - const saveFile = (blob) => { - if (validFilename(name)) { - setError(false); - saveAs(blob, name); - } else { - setError(true); - } - }; - - const handleExport = () => { - const diagramData = R.pick(["nodes", "edges"], data) - switch (fileType) { - case 'drawio': - window.open(drawIoUrl, '_blank', 'rel=noreferrer') - break; - case 'csv': - exportCSVFromCanvas(diagramData, name); - break; - case 'json': - saveFile(exportJSON(diagramData)); - break; - default: - break; - } - }; - - return ( - - - - Export}> -
- Export - - }> - - - setFileType(detail.value)} - value={fileType} - items={[ - { - value: 'json', - label: 'JSON', - description: - 'Export a JSON representation of the architecture diagram', - }, - { - value: 'csv', - label: 'CSV', - description: - 'Export a Comma-separated values representation of the architecture diagram', - }, - { - value: 'drawio', - label: 'Diagrams.net (formerly Draw.io)', - description: 'Export the architecture diagram as a diagrams.net URL with the diagram contents base64 encoded in the URL query string (opens in a new tab).', - }, - ]} - /> - - - setFilename(detail.value)} - /> - - - -
-
- ); -}; - -export default ExportDiagram; diff --git a/source/frontend/src/components/Diagrams/Draw/Canvas/Export/JSON/CreateJSONExport.js b/source/frontend/src/components/Diagrams/Draw/Canvas/Export/JSON/CreateJSONExport.js index b10a6e4d..8e277313 100644 --- a/source/frontend/src/components/Diagrams/Draw/Canvas/Export/JSON/CreateJSONExport.js +++ b/source/frontend/src/components/Diagrams/Draw/Canvas/Export/JSON/CreateJSONExport.js @@ -1,8 +1,8 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -export const exportJSON = (diagramData) => { - return new Blob([JSON.stringify(diagramData)], { - type: 'application/json;charset=utf-8', - }); +export const exportJSON = diagramData => { + return new Blob([JSON.stringify(diagramData)], { + type: 'application/json;charset=utf-8', + }); }; diff --git a/source/frontend/src/components/Diagrams/Draw/Canvas/Layout/ExpandCollapseLayout.js b/source/frontend/src/components/Diagrams/Draw/Canvas/Layout/ExpandCollapseLayout.js index f0c01c04..aa5c97d4 100644 --- a/source/frontend/src/components/Diagrams/Draw/Canvas/Layout/ExpandCollapseLayout.js +++ b/source/frontend/src/components/Diagrams/Draw/Canvas/Layout/ExpandCollapseLayout.js @@ -1,99 +1,99 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import { fetchImage } from "../../../../../Utils/ImageSelector"; +import {fetchImage} from '../../../../../Utils/ImageSelector'; export const getExpandCollapseGraphLayout = () => { - return { - layoutBy: { - name: 'fcose', - // 'draft', 'default' or 'proof' - // - "draft" only applies spectral layout - // - "default" improves the quality with incremental layout (fast cooling rate) - // - "proof" improves the quality with incremental layout (slow cooling rate) - quality: 'proof', - // Use random node positions at beginning of layout - // if this is set to false, then quality option must be "proof" - randomize: false, - // Whether or not to animate the layout - animate: false, - // Duration of animation in ms, if enabled - animationDuration: 1500, - // Easing of animation, if enabled - animationEasing: undefined, - // Fit the viewport to the repositioned nodes - fit: true, - // Padding around layout - padding: 30, - // Whether to include labels in node dimensions. Valid in "proof" quality - nodeDimensionsIncludeLabels: true, - // Whether or not simple nodes (non-compound nodes) are of uniform dimensions - uniformNodeDimensions: false, - // Whether to pack disconnected components - valid only if randomize: true - packComponents: true, - // Layout step - all, transformed, enforced, cose - for debug purpose only - step: 'all', + return { + layoutBy: { + name: 'fcose', + // 'draft', 'default' or 'proof' + // - "draft" only applies spectral layout + // - "default" improves the quality with incremental layout (fast cooling rate) + // - "proof" improves the quality with incremental layout (slow cooling rate) + quality: 'proof', + // Use random node positions at beginning of layout + // if this is set to false, then quality option must be "proof" + randomize: false, + // Whether or not to animate the layout + animate: false, + // Duration of animation in ms, if enabled + animationDuration: 1500, + // Easing of animation, if enabled + animationEasing: undefined, + // Fit the viewport to the repositioned nodes + fit: true, + // Padding around layout + padding: 30, + // Whether to include labels in node dimensions. Valid in "proof" quality + nodeDimensionsIncludeLabels: true, + // Whether or not simple nodes (non-compound nodes) are of uniform dimensions + uniformNodeDimensions: false, + // Whether to pack disconnected components - valid only if randomize: true + packComponents: true, + // Layout step - all, transformed, enforced, cose - for debug purpose only + step: 'all', - /* spectral layout options */ + /* spectral layout options */ - // False for random, true for greedy sampling - samplingType: true, - // Sample size to construct distance matrix - sampleSize: 25, - // Separation amount between nodes - nodeSeparation: 200, - // Power iteration tolerance - piTol: 0.0000001, + // False for random, true for greedy sampling + samplingType: true, + // Sample size to construct distance matrix + sampleSize: 25, + // Separation amount between nodes + nodeSeparation: 200, + // Power iteration tolerance + piTol: 0.0000001, - /* incremental layout options */ + /* incremental layout options */ - // Node repulsion (non overlapping) multiplier - nodeRepulsion: () => 4500, - // Ideal edge (non nested) length - idealEdgeLength: () => 50, - // Divisor to compute edge forces - edgeElasticity: () => 0.45, - // Nesting factor (multiplier) to compute ideal edge length for nested edges - nestingFactor: 0.1, - // Maximum number of iterations to perform - numIter: 2500, - // For enabling tiling - tile: true, - // Represents the amount of the vertical space to put between the zero degree members during the tiling operation(can also be a function) - tilingPaddingVertical: 10, - // Represents the amount of the horizontal space to put between the zero degree members during the tiling operation(can also be a function) - tilingPaddingHorizontal: 10, - // Gravity force (constant) - gravity: 0.25, - // Gravity range (constant) for compounds - gravityRangeCompound: 1.5, - // Gravity force (constant) for compounds - gravityCompound: 1.0, - // Gravity range (constant) - gravityRange: 3.8, - // Initial cooling factor for incremental layout - initialEnergyOnIncremental: 0.3, + // Node repulsion (non overlapping) multiplier + nodeRepulsion: () => 4500, + // Ideal edge (non nested) length + idealEdgeLength: () => 50, + // Divisor to compute edge forces + edgeElasticity: () => 0.45, + // Nesting factor (multiplier) to compute ideal edge length for nested edges + nestingFactor: 0.1, + // Maximum number of iterations to perform + numIter: 2500, + // For enabling tiling + tile: true, + // Represents the amount of the vertical space to put between the zero degree members during the tiling operation(can also be a function) + tilingPaddingVertical: 10, + // Represents the amount of the horizontal space to put between the zero degree members during the tiling operation(can also be a function) + tilingPaddingHorizontal: 10, + // Gravity force (constant) + gravity: 0.25, + // Gravity range (constant) for compounds + gravityRangeCompound: 1.5, + // Gravity force (constant) for compounds + gravityCompound: 1.0, + // Gravity range (constant) + gravityRange: 3.8, + // Initial cooling factor for incremental layout + initialEnergyOnIncremental: 0.3, - /* constraint options */ + /* constraint options */ - // Fix desired nodes to predefined positions - // [{nodeId: 'n1', position: {x: 100, y: 200}}, {...}] - fixedNodeConstraint: undefined, - // Align desired nodes in vertical/horizontal direction - // {vertical: [['n1', 'n2'], [...]], horizontal: [['n2', 'n4'], [...]]} - alignmentConstraint: undefined, - // Place two nodes relatively in vertical/horizontal direction - // [{top: 'n1', bottom: 'n2', gap: 100}, {left: 'n3', right: 'n4', gap: 75}, {...}] - relativePlacementConstraint: undefined, - }, - cueEnabled: false, - fisheye: true, - animate: false, - undoable: false, - expandCollapseCuePosition: 'top-left', // default cue position is top left you can specify a function per node too - expandCollapseCueSize: 12, // size of expand-collapse cue - expandCollapseCueLineSize: 8, // size of lines used for drawing plus-minus icons - expandCueImage: fetchImage('expand'), - collapseCueImage: fetchImage('collapse'), - }; + // Fix desired nodes to predefined positions + // [{nodeId: 'n1', position: {x: 100, y: 200}}, {...}] + fixedNodeConstraint: undefined, + // Align desired nodes in vertical/horizontal direction + // {vertical: [['n1', 'n2'], [...]], horizontal: [['n2', 'n4'], [...]]} + alignmentConstraint: undefined, + // Place two nodes relatively in vertical/horizontal direction + // [{top: 'n1', bottom: 'n2', gap: 100}, {left: 'n3', right: 'n4', gap: 75}, {...}] + relativePlacementConstraint: undefined, + }, + cueEnabled: false, + fisheye: true, + animate: false, + undoable: false, + expandCollapseCuePosition: 'top-left', // default cue position is top left you can specify a function per node too + expandCollapseCueSize: 12, // size of expand-collapse cue + expandCollapseCueLineSize: 8, // size of lines used for drawing plus-minus icons + expandCueImage: fetchImage('expand'), + collapseCueImage: fetchImage('collapse'), + }; }; diff --git a/source/frontend/src/components/Diagrams/Draw/Canvas/Layout/GridGraphLayout.js b/source/frontend/src/components/Diagrams/Draw/Canvas/Layout/GridGraphLayout.js index 52d9443a..6667ce15 100644 --- a/source/frontend/src/components/Diagrams/Draw/Canvas/Layout/GridGraphLayout.js +++ b/source/frontend/src/components/Diagrams/Draw/Canvas/Layout/GridGraphLayout.js @@ -1,32 +1,32 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -export const getGridLayout = (bounds) => { - return { - name: 'grid', +export const getGridLayout = bounds => { + return { + name: 'grid', - fit: false, // whether to fit the viewport to the graph - padding: 1, // padding used on fit - boundingBox: bounds, // constrain layout bounds; { x1, y1, x2, y2 } or { x1, y1, w, h } - avoidOverlap: true, // prevents node overlap, may overflow boundingBox if not enough space - avoidOverlapPadding: 0, // extra spacing around nodes when avoidOverlap: true - nodeDimensionsIncludeLabels: true, // Excludes the label when calculating node bounding boxes for the layout algorithm - spacingFactor: undefined, // Applies a multiplicative factor (>0) to expand or compress the overall area that the nodes take up - condense: false, // uses all available space on false, uses minimal space on true - rows: undefined, // force num of rows in the grid - cols: undefined, // force num of columns in the grid - position: function() {}, // returns { row, col } for element - sort: undefined, // a sorting function to order the nodes; e.g. function(a, b){ return a.data('weight') - b.data('weight') } - animate: true, // whether to transition the node positions - animationDuration: 250, // duration of animation in ms if enabled - animationEasing: undefined, // easing of animation if enabled - animateFilter: function() { - return true; - }, // a function that determines whether the node should be animated. All nodes animated by default on animate enabled. Non-animated nodes are positioned immediately when the layout starts - ready: undefined, // callback on layoutready - stop: undefined, // callback on layoutstop - transform: function(node, position) { - return position; - }, // transform a given node position. Useful for changing flow direction in discrete layouts - }; + fit: false, // whether to fit the viewport to the graph + padding: 1, // padding used on fit + boundingBox: bounds, // constrain layout bounds; { x1, y1, x2, y2 } or { x1, y1, w, h } + avoidOverlap: true, // prevents node overlap, may overflow boundingBox if not enough space + avoidOverlapPadding: 0, // extra spacing around nodes when avoidOverlap: true + nodeDimensionsIncludeLabels: true, // Excludes the label when calculating node bounding boxes for the layout algorithm + spacingFactor: undefined, // Applies a multiplicative factor (>0) to expand or compress the overall area that the nodes take up + condense: false, // uses all available space on false, uses minimal space on true + rows: undefined, // force num of rows in the grid + cols: undefined, // force num of columns in the grid + position: function () {}, // returns { row, col } for element + sort: undefined, // a sorting function to order the nodes; e.g. function(a, b){ return a.data('weight') - b.data('weight') } + animate: true, // whether to transition the node positions + animationDuration: 250, // duration of animation in ms if enabled + animationEasing: undefined, // easing of animation if enabled + animateFilter: function () { + return true; + }, // a function that determines whether the node should be animated. All nodes animated by default on animate enabled. Non-animated nodes are positioned immediately when the layout starts + ready: undefined, // callback on layoutready + stop: undefined, // callback on layoutstop + transform: function (node, position) { + return position; + }, // transform a given node position. Useful for changing flow direction in discrete layouts + }; }; diff --git a/source/frontend/src/components/Diagrams/Draw/Canvas/Layout/GroupedGraphLayout.js b/source/frontend/src/components/Diagrams/Draw/Canvas/Layout/GroupedGraphLayout.js index 9f937995..3180ea96 100644 --- a/source/frontend/src/components/Diagrams/Draw/Canvas/Layout/GroupedGraphLayout.js +++ b/source/frontend/src/components/Diagrams/Draw/Canvas/Layout/GroupedGraphLayout.js @@ -2,43 +2,43 @@ // SPDX-License-Identifier: Apache-2.0 export const getGroupedLayout = () => { - return { - name: 'cola', - animate: true, // whether to show the layout as it's running - refresh: 1, // number of ticks per frame; higher is faster but more jerky - maxSimulationTime: 1500, // max length in ms to run the layout - ungrabifyWhileSimulating: false, // so you can't drag nodes during layout - fit: true, // on every layout reposition of nodes, fit the viewport - padding: 0, // padding around the simulation - boundingBox: undefined, // constrain layout bounds; { x1, y1, x2, y2 } or { x1, y1, w, h } - nodeDimensionsIncludeLabels: true, // whether labels should be included in determining the space used by a node + return { + name: 'cola', + animate: true, // whether to show the layout as it's running + refresh: 1, // number of ticks per frame; higher is faster but more jerky + maxSimulationTime: 1500, // max length in ms to run the layout + ungrabifyWhileSimulating: false, // so you can't drag nodes during layout + fit: true, // on every layout reposition of nodes, fit the viewport + padding: 0, // padding around the simulation + boundingBox: undefined, // constrain layout bounds; { x1, y1, x2, y2 } or { x1, y1, w, h } + nodeDimensionsIncludeLabels: true, // whether labels should be included in determining the space used by a node - // layout event callbacks - ready: function() {}, // on layoutready - stop: function() {}, // on layoutstop + // layout event callbacks + ready: function () {}, // on layoutready + stop: function () {}, // on layoutstop - // positioning options - randomize: true, // use random node positions at beginning of layout - avoidOverlap: true, // if true, prevents overlap of node bounding boxes - handleDisconnected: true, // if true, avoids disconnected components from overlapping - convergenceThreshold: 0.01, // when the alpha value (system energy) falls below this value, the layout stops - nodeSpacing: function() { - return 5; - }, // extra spacing around nodes - flow: undefined, // use DAG/tree flow layout if specified, e.g. { axis: 'y', minSeparation: 30 } - alignment: undefined, // relative alignment constraints on nodes, e.g. {vertical: [[{node: node1, offset: 0}, {node: node2, offset: 5}]], horizontal: [[{node: node3}, {node: node4}], [{node: node5}, {node: node6}]]} - gapInequalities: undefined, // list of inequality constraints for the gap between the nodes, e.g. [{"axis":"y", "left":node1, "right":node2, "gap":25}] - centerGraph: true, // adjusts the node positions initially to center the graph (pass false if you want to start the layout from the current position) + // positioning options + randomize: true, // use random node positions at beginning of layout + avoidOverlap: true, // if true, prevents overlap of node bounding boxes + handleDisconnected: true, // if true, avoids disconnected components from overlapping + convergenceThreshold: 0.01, // when the alpha value (system energy) falls below this value, the layout stops + nodeSpacing: function () { + return 5; + }, // extra spacing around nodes + flow: undefined, // use DAG/tree flow layout if specified, e.g. { axis: 'y', minSeparation: 30 } + alignment: undefined, // relative alignment constraints on nodes, e.g. {vertical: [[{node: node1, offset: 0}, {node: node2, offset: 5}]], horizontal: [[{node: node3}, {node: node4}], [{node: node5}, {node: node6}]]} + gapInequalities: undefined, // list of inequality constraints for the gap between the nodes, e.g. [{"axis":"y", "left":node1, "right":node2, "gap":25}] + centerGraph: true, // adjusts the node positions initially to center the graph (pass false if you want to start the layout from the current position) - // different methods of specifying edge length - // each can be a constant numerical value or a function like `function( edge ){ return 2; }` - edgeLength: undefined, // sets edge length directly in simulation - edgeSymDiffLength: undefined, // symmetric diff edge length in simulation - edgeJaccardLength: undefined, // jaccard edge length in simulation + // different methods of specifying edge length + // each can be a constant numerical value or a function like `function( edge ){ return 2; }` + edgeLength: undefined, // sets edge length directly in simulation + edgeSymDiffLength: undefined, // symmetric diff edge length in simulation + edgeJaccardLength: undefined, // jaccard edge length in simulation - // iterations of cola algorithm; uses default values on undefined - unconstrIter: undefined, // unconstrained initial layout iterations - userConstIter: undefined, // initial layout iterations with user-specified constraints - allConstIter: undefined, // initial layout iterations with all constraints including non-overlap - }; + // iterations of cola algorithm; uses default values on undefined + unconstrIter: undefined, // unconstrained initial layout iterations + userConstIter: undefined, // initial layout iterations with user-specified constraints + allConstIter: undefined, // initial layout iterations with all constraints including non-overlap + }; }; diff --git a/source/frontend/src/components/Diagrams/Draw/Canvas/Layout/StandardGraphLayout.js b/source/frontend/src/components/Diagrams/Draw/Canvas/Layout/StandardGraphLayout.js index a9ea4f02..48749289 100644 --- a/source/frontend/src/components/Diagrams/Draw/Canvas/Layout/StandardGraphLayout.js +++ b/source/frontend/src/components/Diagrams/Draw/Canvas/Layout/StandardGraphLayout.js @@ -2,85 +2,85 @@ // SPDX-License-Identifier: Apache-2.0 export const getStandardLayout = () => { - return { - name: 'fcose', - // 'draft', 'default' or 'proof' - // - "draft" only applies spectral layout - // - "default" improves the quality with incremental layout (fast cooling rate) - // - "proof" improves the quality with incremental layout (slow cooling rate) - quality: 'proof', - // Use random node positions at beginning of layout - // if this is set to false, then quality option must be "proof" - randomize: true, - // Whether or not to animate the layout - animate: true, - // Duration of animation in ms, if enabled - animationDuration: 500, - // Easing of animation, if enabled - animationEasing: undefined, - // Fit the viewport to the repositioned nodes - fit: true, - // Padding around layout - padding: 30, - // Whether to include labels in node dimensions. Valid in "proof" quality - nodeDimensionsIncludeLabels: true, - // Whether or not simple nodes (non-compound nodes) are of uniform dimensions - uniformNodeDimensions: false, - // Whether to pack disconnected components - valid only if randomize: true - packComponents: true, - // Layout step - all, transformed, enforced, cose - for debug purpose only - step: 'all', + return { + name: 'fcose', + // 'draft', 'default' or 'proof' + // - "draft" only applies spectral layout + // - "default" improves the quality with incremental layout (fast cooling rate) + // - "proof" improves the quality with incremental layout (slow cooling rate) + quality: 'proof', + // Use random node positions at beginning of layout + // if this is set to false, then quality option must be "proof" + randomize: true, + // Whether or not to animate the layout + animate: true, + // Duration of animation in ms, if enabled + animationDuration: 500, + // Easing of animation, if enabled + animationEasing: undefined, + // Fit the viewport to the repositioned nodes + fit: true, + // Padding around layout + padding: 30, + // Whether to include labels in node dimensions. Valid in "proof" quality + nodeDimensionsIncludeLabels: true, + // Whether or not simple nodes (non-compound nodes) are of uniform dimensions + uniformNodeDimensions: false, + // Whether to pack disconnected components - valid only if randomize: true + packComponents: true, + // Layout step - all, transformed, enforced, cose - for debug purpose only + step: 'all', - /* spectral layout options */ + /* spectral layout options */ - // False for random, true for greedy sampling - samplingType: true, - // Sample size to construct distance matrix - sampleSize: 25, - // Separation amount between nodes - nodeSeparation: 200, - // Power iteration tolerance - piTol: 0.0000001, + // False for random, true for greedy sampling + samplingType: true, + // Sample size to construct distance matrix + sampleSize: 25, + // Separation amount between nodes + nodeSeparation: 200, + // Power iteration tolerance + piTol: 0.0000001, - /* incremental layout options */ + /* incremental layout options */ - // Node repulsion (non overlapping) multiplier - nodeRepulsion: () => 4500, - // Ideal edge (non nested) length - idealEdgeLength: () => 50, - // Divisor to compute edge forces - edgeElasticity: () => 0.45, - // Nesting factor (multiplier) to compute ideal edge length for nested edges - nestingFactor: 0.1, - // Maximum number of iterations to perform - numIter: 2500, - // For enabling tiling - tile: true, - // Represents the amount of the vertical space to put between the zero degree members during the tiling operation(can also be a function) - tilingPaddingVertical: 10, - // Represents the amount of the horizontal space to put between the zero degree members during the tiling operation(can also be a function) - tilingPaddingHorizontal: 10, - // Gravity force (constant) - gravity: 0.25, - // Gravity range (constant) for compounds - gravityRangeCompound: 1.5, - // Gravity force (constant) for compounds - gravityCompound: 1.0, - // Gravity range (constant) - gravityRange: 3.8, - // Initial cooling factor for incremental layout - initialEnergyOnIncremental: 0.3, + // Node repulsion (non overlapping) multiplier + nodeRepulsion: () => 4500, + // Ideal edge (non nested) length + idealEdgeLength: () => 50, + // Divisor to compute edge forces + edgeElasticity: () => 0.45, + // Nesting factor (multiplier) to compute ideal edge length for nested edges + nestingFactor: 0.1, + // Maximum number of iterations to perform + numIter: 2500, + // For enabling tiling + tile: true, + // Represents the amount of the vertical space to put between the zero degree members during the tiling operation(can also be a function) + tilingPaddingVertical: 10, + // Represents the amount of the horizontal space to put between the zero degree members during the tiling operation(can also be a function) + tilingPaddingHorizontal: 10, + // Gravity force (constant) + gravity: 0.25, + // Gravity range (constant) for compounds + gravityRangeCompound: 1.5, + // Gravity force (constant) for compounds + gravityCompound: 1.0, + // Gravity range (constant) + gravityRange: 3.8, + // Initial cooling factor for incremental layout + initialEnergyOnIncremental: 0.3, - /* constraint options */ + /* constraint options */ - // Fix desired nodes to predefined positions - // [{nodeId: 'n1', position: {x: 100, y: 200}}, {...}] - fixedNodeConstraint: undefined, - // Align desired nodes in vertical/horizontal direction - // {vertical: [['n1', 'n2'], [...]], horizontal: [['n2', 'n4'], [...]]} - alignmentConstraint: undefined, - // Place two nodes relatively in vertical/horizontal direction - // [{top: 'n1', bottom: 'n2', gap: 100}, {left: 'n3', right: 'n4', gap: 75}, {...}] - relativePlacementConstraint: undefined, - }; + // Fix desired nodes to predefined positions + // [{nodeId: 'n1', position: {x: 100, y: 200}}, {...}] + fixedNodeConstraint: undefined, + // Align desired nodes in vertical/horizontal direction + // {vertical: [['n1', 'n2'], [...]], horizontal: [['n2', 'n4'], [...]]} + alignmentConstraint: undefined, + // Place two nodes relatively in vertical/horizontal direction + // [{top: 'n1', bottom: 'n2', gap: 100}, {left: 'n3', right: 'n4', gap: 75}, {...}] + relativePlacementConstraint: undefined, + }; }; diff --git a/source/frontend/src/components/Diagrams/Draw/Canvas/PureCytoscape.js b/source/frontend/src/components/Diagrams/Draw/Canvas/PureCytoscape.js index 43127c7d..50c900c5 100644 --- a/source/frontend/src/components/Diagrams/Draw/Canvas/PureCytoscape.js +++ b/source/frontend/src/components/Diagrams/Draw/Canvas/PureCytoscape.js @@ -5,210 +5,247 @@ import React, {useCallback, useEffect, useState} from 'react'; import cytoscape from 'cytoscape'; import fcose from 'cytoscape-fcose'; import cola from 'cytoscape-cola'; +import svg from '../../../../cytoscape/plugins/svg'; import gridGuide from 'cytoscape-grid-guide'; -import { graphStyle } from './Styling/GraphStyling'; -import { useDiagramSettingsState } from '../../../Contexts/DiagramSettingsContext'; +import {graphStyle} from './Styling/GraphStyling'; +import {useDiagramSettingsState} from '../../../Contexts/DiagramSettingsContext'; import CytoscapeComponent from 'react-cytoscapejs'; -import { fetchResources } from './Commands/CanvasCommands'; -import { getExpandCollapseGraphLayout } from './Layout/ExpandCollapseLayout'; -import { getGridLayout } from './Layout/GridGraphLayout'; -import { useResourceState } from '../../../Contexts/ResourceContext'; -import expandCollapse from 'cytoscape-expand-collapse' -import * as R from 'ramda'; -import {useWindowSize} from "react-use"; +import {fetchResources} from './Commands/CanvasCommands'; +import {getExpandCollapseGraphLayout} from './Layout/ExpandCollapseLayout'; +import {getGridLayout} from './Layout/GridGraphLayout'; +import {useResourceState} from '../../../Contexts/ResourceContext'; +import expandCollapse from 'cytoscape-expand-collapse'; +import * as R from 'ramda'; +import {useWindowSize} from 'react-use'; cytoscape.use(fcose); cytoscape.use(cola); +cytoscape.use(svg); gridGuide(cytoscape); expandCollapse(cytoscape); -const PureCytoscape = ({ name, visibility, setRendered }) => { - const [{selectedResources}, dispatchCanvas] = useDiagramSettingsState(); - const [{graphResources}] = useResourceState(); - const {height} = useWindowSize(); - const [canvasHeight, setCanvasHeight] = useState(window.innerHeight - 400); - const expandAPI = React.useRef(); - const cyRef = React.useRef(); - - useEffect(() => { - setCanvasHeight(height - 400); - }, [height, setCanvasHeight]); - - // cleanup cytoscape listeners on unmount - useEffect(() => { - return () => { - if (cyRef.current) { - cyRef.current.removeAllListeners(); - cyRef.current = null; - } - }; - }, []); - - const updateCanvas = useCallback((newCanvas) => { - dispatchCanvas({ - type: 'setCanvas', - canvas: newCanvas, - }); - }, [dispatchCanvas]); - - const updateSelectedResources = useCallback((updated) => { - dispatchCanvas({ - type: 'setSelectedResources', - selectedResources: updated, - }); - }, [dispatchCanvas]); - - const updateResources = useCallback(() => { - dispatchCanvas({ - type: 'setResources', - resources: cyRef.current.nodes(), - }); - }, [dispatchCanvas]); - - const handleTap = useCallback(evt => { - const node = evt.target; - node.addClass('selected'); - updateSelectedResources(selectedResources.union(node)); - }, [selectedResources, updateSelectedResources]); - - const handleDoubleTap = useCallback(evt => { - const node = evt.target; - cyRef.current.nodes().lock(); - if (R.equals(node.data('type'), 'resource')) { - fetchResources( - cyRef.current, - updateCanvas, - updateResources, - R.map( - (e) => e.data('id'), - R.chain( - (r) => (r.isParent() ? r.descendants() : r), - [node] - ) - ), - graphResources, - {} - ); - } - - // TODO: https://github.com/iVis-at-Bilkent/cytoscape.js-expand-collapse/issues/140 - // if (expandAPI.current.isCollapsible(node)) - // expandAPI.current.collapseRecursively(node); - // else if (expandAPI.current.isExpandable(node)) - // expandAPI.current.expandRecursively(node); - }, [graphResources, updateCanvas, updateResources]) - - const handleUnselect = useCallback(evt => { - const node = evt.target; - node.lock(); - node.removeClass('selected'); - updateSelectedResources(selectedResources.difference(node)); - }, [selectedResources, updateSelectedResources]) - - const cyCallback = useCallback((cy) => { - // These listeners need to be reapplied as they depend on state/context - cy.removeListener('select', 'node'); - cy.removeListener('dbltap', 'node'); - cy.removeListener('unselect', 'node, node.cy-expand-collapse-collapsed-node'); - cy.on('dbltap', 'node', handleDoubleTap); - cy.on('select', 'node', handleTap); - cy.on('unselect', 'node, node.cy-expand-collapse-collapsed-node', handleUnselect); - - // Skip configuring listeners which don't rely on state/context - if (cyRef.current) return; - - // Initial render setup - cyRef.current = cy; - cy.data({ name: name, visibility: visibility }); - cy.minZoom(0.25); - cy.maxZoom(2.0); - cy.gridGuide({ - drawGrid: true, - gridColor: '#dedede', - snapToAlignmentLocationOnRelease: false, - parentSpacing: -1, - geometricGuideline: false, - parentPadding: true, - gridStackOrder: -1, - guidelinesStackOrder: 4, - resize: true, - snapToGridDuringDrag: false, - distributionGuidelines: false, - snapToGridCenter: false, - initPosAlignment: true, - lineWidth: 2.0, - guidelinesStyle: { - // Set ctx properties of line. Properties are here: - strokeStyle: '#8b7d6b', // color of geometric guidelines - geometricGuidelineRange: 400, // range of geometric guidelines - range: 100, // max range of distribution guidelines - minDistRange: 10, // min range for distribution guidelines - distGuidelineOffset: 10, // shift amount of distribution guidelines - horizontalDistColor: '#ff0000', // color of horizontal distribution alignment - verticalDistColor: '#00ff00', // color of vertical distribution alignment - initPosAlignmentColor: '#0000ff', // color of alignment to initial mouse location - lineDash: [0, 0], // line style of geometric guidelines - horizontalDistLine: [0, 0], // line style of horizontal distribution guidelines - verticalDistLine: [0, 0], // line style of vertical distribution guidelines - initPosAlignmentLine: [0, 0], // line style of alignment to initial mouse position - }, - }); - - expandAPI.current = cy.expandCollapse(getExpandCollapseGraphLayout()); - - cy.selectionType('additive'); - cy.on('resize', () => cy.fit(null, 20)); - cy.on('taphold', '[type = "type"]', function(evt) { - const node = evt.target; - node - .descendants() - .layout(getGridLayout(node.boundingBox())) - .run(); - }); - cy.on('tapdragover', 'node', function(evt) { - const node = evt.target; - node.unlock(); - node.grabify(); - node.descendants().unlock(); - node.descendants().grabify(); - }); - cy.on('tapdragout', 'node', function(evt) { - const node = evt.target; - node.lock(); - node.ungrabify(); - node.descendants().lock(); - node.descendants().ungrabify(); - }); - cy.ready(() => { - updateSelectedResources(cy.collection()); - cy.nodes().lock(); - updateCanvas(cyRef.current); - setRendered && setRendered(true); - const removeHighlight = setTimeout( - () => cy.elements().removeClass('highlight'), - 2000 - ); - return () => clearTimeout(removeHighlight); - }); - }, [handleDoubleTap, handleTap, name, visibility, handleUnselect, updateSelectedResources, updateCanvas, setRendered]); - - return ( - - ); +const PureCytoscape = ({name, visibility, setRendered}) => { + const [{selectedResources}, dispatchCanvas] = useDiagramSettingsState(); + const [{graphResources}] = useResourceState(); + const {height} = useWindowSize(); + const [canvasHeight, setCanvasHeight] = useState(window.innerHeight - 400); + const expandAPI = React.useRef(); + const cyRef = React.useRef(); + + useEffect(() => { + setCanvasHeight(height - 400); + }, [height, setCanvasHeight]); + + // cleanup cytoscape listeners on unmount + useEffect(() => { + return () => { + if (cyRef.current) { + cyRef.current.removeAllListeners(); + cyRef.current = null; + } + }; + }, []); + + const updateCanvas = useCallback( + newCanvas => { + dispatchCanvas({ + type: 'setCanvas', + canvas: newCanvas, + }); + }, + [dispatchCanvas] + ); + + const updateSelectedResources = useCallback( + updated => { + dispatchCanvas({ + type: 'setSelectedResources', + selectedResources: updated, + }); + }, + [dispatchCanvas] + ); + + const updateResources = useCallback(() => { + dispatchCanvas({ + type: 'setResources', + resources: cyRef.current.nodes(), + }); + }, [dispatchCanvas]); + + const handleTap = useCallback( + evt => { + const node = evt.target; + node.addClass('selected'); + updateSelectedResources(selectedResources.union(node)); + }, + [selectedResources, updateSelectedResources] + ); + + const handleDoubleTap = useCallback( + evt => { + const node = evt.target; + cyRef.current.nodes().lock(); + if (R.equals(node.data('type'), 'resource')) { + fetchResources( + cyRef.current, + updateCanvas, + updateResources, + R.map( + e => e.data('id'), + R.chain( + r => (r.isParent() ? r.descendants() : r), + [node] + ) + ), + graphResources, + {} + ); + } + + // TODO: https://github.com/iVis-at-Bilkent/cytoscape.js-expand-collapse/issues/140 + // if (expandAPI.current.isCollapsible(node)) + // expandAPI.current.collapseRecursively(node); + // else if (expandAPI.current.isExpandable(node)) + // expandAPI.current.expandRecursively(node); + }, + [graphResources, updateCanvas, updateResources] + ); + + const handleUnselect = useCallback( + evt => { + const node = evt.target; + node.lock(); + node.removeClass('selected'); + updateSelectedResources(selectedResources.difference(node)); + }, + [selectedResources, updateSelectedResources] + ); + + const cyCallback = useCallback( + cy => { + // These listeners need to be reapplied as they depend on state/context + cy.removeListener('select', 'node'); + cy.removeListener('dbltap', 'node'); + cy.removeListener( + 'unselect', + 'node, node.cy-expand-collapse-collapsed-node' + ); + cy.on('dbltap', 'node', handleDoubleTap); + cy.on('select', 'node', handleTap); + cy.on( + 'unselect', + 'node, node.cy-expand-collapse-collapsed-node', + handleUnselect + ); + + // Skip configuring listeners which don't rely on state/context + if (cyRef.current) return; + + // Initial render setup + cyRef.current = cy; + cy.data({name: name, visibility: visibility}); + cy.minZoom(0.25); + cy.maxZoom(2.0); + cy.gridGuide({ + drawGrid: true, + gridColor: '#dedede', + snapToAlignmentLocationOnRelease: false, + parentSpacing: -1, + geometricGuideline: false, + parentPadding: true, + gridStackOrder: -1, + guidelinesStackOrder: 4, + resize: true, + snapToGridDuringDrag: false, + distributionGuidelines: false, + snapToGridCenter: false, + initPosAlignment: true, + lineWidth: 2.0, + guidelinesStyle: { + // Set ctx properties of line. Properties are here: + strokeStyle: '#8b7d6b', // color of geometric guidelines + geometricGuidelineRange: 400, // range of geometric guidelines + range: 100, // max range of distribution guidelines + minDistRange: 10, // min range for distribution guidelines + distGuidelineOffset: 10, // shift amount of distribution guidelines + horizontalDistColor: '#ff0000', // color of horizontal distribution alignment + verticalDistColor: '#00ff00', // color of vertical distribution alignment + initPosAlignmentColor: '#0000ff', // color of alignment to initial mouse location + lineDash: [0, 0], // line style of geometric guidelines + horizontalDistLine: [0, 0], // line style of horizontal distribution guidelines + verticalDistLine: [0, 0], // line style of vertical distribution guidelines + initPosAlignmentLine: [0, 0], // line style of alignment to initial mouse position + }, + }); + + expandAPI.current = cy.expandCollapse( + getExpandCollapseGraphLayout() + ); + + cy.selectionType('additive'); + cy.on('resize', () => cy.fit(null, 20)); + cy.on('taphold', '[type = "type"]', function (evt) { + const node = evt.target; + node.descendants() + .layout(getGridLayout(node.boundingBox())) + .run(); + }); + cy.on('tapdragover', 'node', function (evt) { + const node = evt.target; + node.unlock(); + node.grabify(); + node.descendants().unlock(); + node.descendants().grabify(); + }); + cy.on('tapdragout', 'node', function (evt) { + const node = evt.target; + node.lock(); + node.ungrabify(); + node.descendants().lock(); + node.descendants().ungrabify(); + }); + cy.ready(() => { + updateSelectedResources(cy.collection()); + cy.nodes().lock(); + updateCanvas(cyRef.current); + setRendered && setRendered(true); + const removeHighlight = setTimeout( + () => cy.elements().removeClass('highlight'), + 2000 + ); + return () => clearTimeout(removeHighlight); + }); + }, + [ + handleDoubleTap, + handleTap, + name, + visibility, + handleUnselect, + updateSelectedResources, + updateCanvas, + setRendered, + ] + ); + + return ( + + ); }; export default PureCytoscape; diff --git a/source/frontend/src/components/Diagrams/Draw/Canvas/Styling/GraphStyling.js b/source/frontend/src/components/Diagrams/Draw/Canvas/Styling/GraphStyling.js index 0658fc1e..b3b1edfa 100644 --- a/source/frontend/src/components/Diagrams/Draw/Canvas/Styling/GraphStyling.js +++ b/source/frontend/src/components/Diagrams/Draw/Canvas/Styling/GraphStyling.js @@ -2,407 +2,407 @@ // SPDX-License-Identifier: Apache-2.0 export const graphStyle = [ - { - selector: '.image', - style: { - label: 'data(label)', - 'font-family': 'Amazon Ember, Helvetica, Arial, sans-serif', - 'text-valign': 'bottom', - 'text-halign': 'center', - 'font-size': '5rem', - 'text-margin-y': '3px', - 'background-color': '#fff', - 'background-image': 'data(image)', - 'background-fit': 'cover cover', - 'background-opacity': '1', - shape: 'square', - color: '#000', - 'background-width-relative-to': 'inner', - 'background-height-relative-to': 'inner', - 'background-width': '50%', - 'background-height': '50%', - padding: '5px', - 'border-style': 'data(borderStyle)', - 'border-width': 'data(borderSize)', - 'border-color': 'data(borderColour)', + { + selector: '.image', + style: { + label: 'data(label)', + 'font-family': 'Amazon Ember, Helvetica, Arial, sans-serif', + 'text-valign': 'bottom', + 'text-halign': 'center', + 'font-size': '5rem', + 'text-margin-y': '3px', + 'background-color': '#fff', + 'background-image': 'data(image)', + 'background-fit': 'cover cover', + 'background-opacity': '1', + shape: 'square', + color: '#000', + 'background-width-relative-to': 'inner', + 'background-height-relative-to': 'inner', + 'background-width': '50%', + 'background-height': '50%', + padding: '5px', + 'border-style': 'data(borderStyle)', + 'border-width': 'data(borderSize)', + 'border-color': 'data(borderColour)', + }, }, - }, - { - selector: '.vpc', - style: { - label: 'data(label)', - 'font-size': '7rem', - 'font-family': 'Amazon Ember, Helvetica, Arial, sans-serif', - 'text-valign': 'top', - 'text-halign': 'center', - 'background-color': '#683dc2', - 'background-opacity': '0.05', - 'text-margin-y': '-4.5%', - 'border-style': 'solid', - 'border-width': 1, - 'border-color': '#683dc2', - 'text-border-width': '2px', - 'text-background-opacity': '1', - 'text-border-color': '#683dc2', - 'text-background-color': '#683dc2', - 'text-background-shape': 'rectangle', - 'text-background-padding': '5px', - // 'padding': '200px', - shape: 'roundrectangle', - color: '#fafafa', + { + selector: '.vpc', + style: { + label: 'data(label)', + 'font-size': '7rem', + 'font-family': 'Amazon Ember, Helvetica, Arial, sans-serif', + 'text-valign': 'top', + 'text-halign': 'center', + 'background-color': '#683dc2', + 'background-opacity': '0.05', + 'text-margin-y': '-4.5%', + 'border-style': 'solid', + 'border-width': 1, + 'border-color': '#683dc2', + 'text-border-width': '2px', + 'text-background-opacity': '1', + 'text-border-color': '#683dc2', + 'text-background-color': '#683dc2', + 'text-background-shape': 'rectangle', + 'text-background-padding': '5px', + // 'padding': '200px', + shape: 'roundrectangle', + color: '#fafafa', + }, }, - }, - { - selector: '.vpc:active', - style: { - label: 'data(label)', - 'overlay-color': '#683dc2', - 'overlay-opacity': '0.45', - // 'padding': '200px', - shape: 'roundrectangle', - color: '#fafafa', + { + selector: '.vpc:active', + style: { + label: 'data(label)', + 'overlay-color': '#683dc2', + 'overlay-opacity': '0.45', + // 'padding': '200px', + shape: 'roundrectangle', + color: '#fafafa', + }, }, - }, - { - selector: '.vpc:selected', - style: { - label: 'data(label)', - 'overlay-color': '#683dc2', - 'overlay-opacity': '0.25', - // 'padding': '200px', - shape: 'roundrectangle', - color: '#fafafa', + { + selector: '.vpc:selected', + style: { + label: 'data(label)', + 'overlay-color': '#683dc2', + 'overlay-opacity': '0.25', + // 'padding': '200px', + shape: 'roundrectangle', + color: '#fafafa', + }, }, - }, - { - selector: '.subnet:active', - style: { - label: 'data(label)', - 'overlay-color': 'data(subnetColour)', - 'overlay-opacity': '0.45', - shape: 'roundrectangle', - color: '#fafafa', + { + selector: '.subnet:active', + style: { + label: 'data(label)', + 'overlay-color': 'data(subnetColour)', + 'overlay-opacity': '0.45', + shape: 'roundrectangle', + color: '#fafafa', + }, }, - }, - { - selector: '.subnet:selected', - style: { - label: 'data(label)', - 'overlay-color': 'data(subnetColour)', - 'overlay-opacity': '0.25', - shape: 'roundrectangle', - color: '#fafafa', + { + selector: '.subnet:selected', + style: { + label: 'data(label)', + 'overlay-color': 'data(subnetColour)', + 'overlay-opacity': '0.25', + shape: 'roundrectangle', + color: '#fafafa', + }, }, - }, - { - selector: '.subnet', - style: { - label: 'data(label)', - 'font-size': '7rem', - 'font-family': 'Amazon Ember, Helvetica, Arial, sans-serif', - 'text-valign': 'top', - 'text-halign': 'center', - 'background-color': 'data(subnetColour)', - 'background-opacity': '0.05', - 'border-style': 'dashed', - 'border-width': 1, - 'border-color': 'data(subnetColour)', - 'text-background-opacity': '1', - 'text-border-color': 'data(subnetColour)', - 'text-background-color': 'data(subnetColour)', - 'text-background-shape': 'rectangle', - 'text-background-padding': '5px', - 'text-margin-y': '-4.5%', - 'text-border-width': '2px', - shape: 'roundrectangle', - color: '#fafafa', + { + selector: '.subnet', + style: { + label: 'data(label)', + 'font-size': '7rem', + 'font-family': 'Amazon Ember, Helvetica, Arial, sans-serif', + 'text-valign': 'top', + 'text-halign': 'center', + 'background-color': 'data(subnetColour)', + 'background-opacity': '0.05', + 'border-style': 'dashed', + 'border-width': 1, + 'border-color': 'data(subnetColour)', + 'text-background-opacity': '1', + 'text-border-color': 'data(subnetColour)', + 'text-background-color': 'data(subnetColour)', + 'text-background-shape': 'rectangle', + 'text-background-padding': '5px', + 'text-margin-y': '-4.5%', + 'text-border-width': '2px', + shape: 'roundrectangle', + color: '#fafafa', + }, }, - }, - { - selector: '.type:selected', - style: { - label: 'data(label)', - 'overlay-color': '#545B64', - 'overlay-opacity': '0.25', - shape: 'roundrectangle', - color: '#fafafa', + { + selector: '.type:selected', + style: { + label: 'data(label)', + 'overlay-color': '#545B64', + 'overlay-opacity': '0.25', + shape: 'roundrectangle', + color: '#fafafa', + }, }, - }, - { - selector: '.type', - style: { - label: 'data(label)', - 'font-size': '6rem', - 'font-family': 'Amazon Ember, Helvetica, Arial, sans-serif', - 'text-valign': 'top', - 'text-halign': 'center', - 'background-color': '#545B64', - 'background-opacity': '0.05', - 'border-style': 'solid', - 'border-width': 1, - 'border-color': '#545B64', - 'text-margin-y': '-3%', - 'text-border-width': '1px', - 'text-background-opacity': '1', - 'text-border-color': '#545B64', - 'text-background-color': '#545B64', - 'text-background-shape': 'rectangle', - 'text-background-padding': '3px', - shape: 'roundrectangle', - color: '#FAFAFA', + { + selector: '.type', + style: { + label: 'data(label)', + 'font-size': '6rem', + 'font-family': 'Amazon Ember, Helvetica, Arial, sans-serif', + 'text-valign': 'top', + 'text-halign': 'center', + 'background-color': '#545B64', + 'background-opacity': '0.05', + 'border-style': 'solid', + 'border-width': 1, + 'border-color': '#545B64', + 'text-margin-y': '-3%', + 'text-border-width': '1px', + 'text-background-opacity': '1', + 'text-border-color': '#545B64', + 'text-background-color': '#545B64', + 'text-background-shape': 'rectangle', + 'text-background-padding': '3px', + shape: 'roundrectangle', + color: '#FAFAFA', + }, }, - }, - { - selector: '.region:active', - style: { - label: 'data(label)', - 'overlay-color': 'data(regionColour)', - 'overlay-opacity': '0.45', - // 'padding': '200px', - shape: 'roundrectangle', - color: '#fafafa', + { + selector: '.region:active', + style: { + label: 'data(label)', + 'overlay-color': 'data(regionColour)', + 'overlay-opacity': '0.45', + // 'padding': '200px', + shape: 'roundrectangle', + color: '#fafafa', + }, }, - }, - { - selector: '.region:selected', - style: { - label: 'data(label)', - 'overlay-color': 'data(regionColour)', - 'overlay-opacity': '0.25', - // 'padding': '200px', - shape: 'roundrectangle', - color: '#fafafa', + { + selector: '.region:selected', + style: { + label: 'data(label)', + 'overlay-color': 'data(regionColour)', + 'overlay-opacity': '0.25', + // 'padding': '200px', + shape: 'roundrectangle', + color: '#fafafa', + }, }, - }, - { - selector: '.region', - style: { - label: 'data(label)', - 'font-family': 'Amazon Ember, Helvetica, Arial, sans-serif', - 'font-size': '7rem', - 'text-valign': 'top', - 'text-halign': 'center', - 'background-color': 'data(color)', - 'background-opacity': 'data(opacity)', - 'border-style': 'dashed', - 'border-width': 1, - 'border-color': 'data(regionColour)', - 'text-margin-y': '-5%', - 'text-border-width': '2px', - 'text-background-opacity': '1', - 'text-border-color': 'data(regionColour)', - 'text-background-color': 'data(regionColour)', - 'text-background-shape': 'rectangle', - 'text-background-padding': '5px', - shape: 'rectangle', - color: '#fafafa', + { + selector: '.region', + style: { + label: 'data(label)', + 'font-family': 'Amazon Ember, Helvetica, Arial, sans-serif', + 'font-size': '7rem', + 'text-valign': 'top', + 'text-halign': 'center', + 'background-color': 'data(color)', + 'background-opacity': 'data(opacity)', + 'border-style': 'dashed', + 'border-width': 1, + 'border-color': 'data(regionColour)', + 'text-margin-y': '-5%', + 'text-border-width': '2px', + 'text-background-opacity': '1', + 'text-border-color': 'data(regionColour)', + 'text-background-color': 'data(regionColour)', + 'text-background-shape': 'rectangle', + 'text-background-padding': '5px', + shape: 'rectangle', + color: '#fafafa', + }, }, - }, - { - selector: '.availabilityZone:selected', - style: { - label: 'data(label)', - 'overlay-color': '#f7991f', - 'overlay-opacity': '0.25', - // 'padding': '200px', - shape: 'roundrectangle', - color: '#fafafa', + { + selector: '.availabilityZone:selected', + style: { + label: 'data(label)', + 'overlay-color': '#f7991f', + 'overlay-opacity': '0.25', + // 'padding': '200px', + shape: 'roundrectangle', + color: '#fafafa', + }, }, - }, - { - selector: '.availabilityZone:active', - style: { - label: 'data(label)', - 'overlay-color': '#f7991f', - 'overlay-opacity': '0.45', - // 'padding': '200px', - shape: 'roundrectangle', - color: '#fafafa', + { + selector: '.availabilityZone:active', + style: { + label: 'data(label)', + 'overlay-color': '#f7991f', + 'overlay-opacity': '0.45', + // 'padding': '200px', + shape: 'roundrectangle', + color: '#fafafa', + }, }, - }, - { - selector: '.availabilityZone', - style: { - label: 'data(label)', - 'font-family': 'Amazon Ember, Helvetica, Arial, sans-serif', - 'font-size': '7rem', - 'text-valign': 'top', - 'text-halign': 'center', - 'background-color': 'data(color)', - 'background-opacity': 'data(opacity)', - 'border-style': 'dashed', - 'border-width': 1, - 'border-color': '#f7991f', - 'text-margin-y': '-4.5%', - 'text-border-width': '2px', - 'text-background-opacity': '1', - 'text-border-color': '#f7991f', - 'text-background-color': '#f7991f', - 'text-background-shape': 'rectangle', - 'text-background-padding': '5px', - shape: 'rectangle', - color: '#000', + { + selector: '.availabilityZone', + style: { + label: 'data(label)', + 'font-family': 'Amazon Ember, Helvetica, Arial, sans-serif', + 'font-size': '7rem', + 'text-valign': 'top', + 'text-halign': 'center', + 'background-color': 'data(color)', + 'background-opacity': 'data(opacity)', + 'border-style': 'dashed', + 'border-width': 1, + 'border-color': '#f7991f', + 'text-margin-y': '-4.5%', + 'text-border-width': '2px', + 'text-background-opacity': '1', + 'text-border-color': '#f7991f', + 'text-background-color': '#f7991f', + 'text-background-shape': 'rectangle', + 'text-background-padding': '5px', + shape: 'rectangle', + color: '#000', + }, }, - }, - { - selector: '.account:active', - style: { - label: 'data(label)', - 'overlay-color': 'data(accountColour)', - 'overlay-opacity': '0.45', - // 'padding': '200px', - shape: 'roundrectangle', - color: '#fafafa', + { + selector: '.account:active', + style: { + label: 'data(label)', + 'overlay-color': 'data(accountColour)', + 'overlay-opacity': '0.45', + // 'padding': '200px', + shape: 'roundrectangle', + color: '#fafafa', + }, }, - }, - { - selector: '.account:selected', - style: { - label: 'data(label)', - 'overlay-color': 'data(accountColour)', - 'overlay-opacity': '0.25', - // 'padding': '200px', - shape: 'roundrectangle', - color: '#fafafa', + { + selector: '.account:selected', + style: { + label: 'data(label)', + 'overlay-color': 'data(accountColour)', + 'overlay-opacity': '0.25', + // 'padding': '200px', + shape: 'roundrectangle', + color: '#fafafa', + }, }, - }, - { - selector: '.account', - style: { - label: 'data(label)', - 'font-family': 'Amazon Ember, Helvetica, Arial, sans-serif', - 'font-size': '8rem', - 'text-valign': 'top', - 'text-halign': 'center', - 'background-color': 'data(color)', - 'background-opacity': 'data(opacity)', - 'text-margin-y': '-5%', - 'border-style': 'dashed', - 'border-width': 1, - 'border-color': 'data(accountColour)', - 'text-border-width': '2px', - 'text-background-opacity': '1', - 'text-border-color': 'data(accountColour)', - 'text-background-color': 'data(accountColour)', - 'text-background-shape': 'rectangle', - 'text-background-padding': '5px', - shape: 'rectangle', - color: '#fafafa', + { + selector: '.account', + style: { + label: 'data(label)', + 'font-family': 'Amazon Ember, Helvetica, Arial, sans-serif', + 'font-size': '8rem', + 'text-valign': 'top', + 'text-halign': 'center', + 'background-color': 'data(color)', + 'background-opacity': 'data(opacity)', + 'text-margin-y': '-5%', + 'border-style': 'dashed', + 'border-width': 1, + 'border-color': 'data(accountColour)', + 'text-border-width': '2px', + 'text-background-opacity': '1', + 'text-border-color': 'data(accountColour)', + 'text-background-color': 'data(accountColour)', + 'text-background-shape': 'rectangle', + 'text-background-padding': '5px', + shape: 'rectangle', + color: '#fafafa', + }, }, - }, - { - selector: 'node.highlight', - style: { - label: 'data(label)', - 'font-family': 'Amazon Ember, Helvetica, Arial, sans-serif', - 'font-weight': '900', - 'text-valign': 'bottom', - 'text-halign': 'center', - 'font-size': '5rem', - 'text-margin-y': '3px', - 'background-color': '#fff', - 'overlay-color': '#545B64', - 'overlay-opacity': '0.25', - 'background-opacity': '1', - shape: 'ellipse', - color: '#545B64', - 'border-style': 'data(borderStyle)', - 'border-width': 1, - 'border-color': 'data(borderColour)', - 'background-width-relative-to': 'inner', - 'background-height-relative-to': 'inner', - 'background-width': '50%', - 'background-height': '50%', - padding: '5px', + { + selector: 'node.highlight', + style: { + label: 'data(label)', + 'font-family': 'Amazon Ember, Helvetica, Arial, sans-serif', + 'font-weight': '900', + 'text-valign': 'bottom', + 'text-halign': 'center', + 'font-size': '5rem', + 'text-margin-y': '3px', + 'background-color': '#fff', + 'overlay-color': '#545B64', + 'overlay-opacity': '0.25', + 'background-opacity': '1', + shape: 'ellipse', + color: '#545B64', + 'border-style': 'data(borderStyle)', + 'border-width': 1, + 'border-color': 'data(borderColour)', + 'background-width-relative-to': 'inner', + 'background-height-relative-to': 'inner', + 'background-width': '50%', + 'background-height': '50%', + padding: '5px', + }, }, - }, - { - selector: '.resource:selected', - style: { - label: 'data(label)', - 'font-family': 'Amazon Ember, Helvetica, Arial, sans-serif', - 'text-valign': 'bottom', - 'text-halign': 'center', - 'font-size': '5rem', - 'text-margin-y': '3px', - 'background-color': '#545B64', - 'background-opacity': '0.2', - shape: 'ellipse', - color: '#545B64', - 'border-style': 'data(borderStyle)', - 'border-width': '2', - 'border-color': 'data(borderColour)', - 'background-width-relative-to': 'inner', - 'background-height-relative-to': 'inner', - 'background-width': '50%', - 'background-height': '50%', - padding: '5px', + { + selector: '.resource:selected', + style: { + label: 'data(label)', + 'font-family': 'Amazon Ember, Helvetica, Arial, sans-serif', + 'text-valign': 'bottom', + 'text-halign': 'center', + 'font-size': '5rem', + 'text-margin-y': '3px', + 'background-color': '#545B64', + 'background-opacity': '0.2', + shape: 'ellipse', + color: '#545B64', + 'border-style': 'data(borderStyle)', + 'border-width': '2', + 'border-color': 'data(borderColour)', + 'background-width-relative-to': 'inner', + 'background-height-relative-to': 'inner', + 'background-width': '50%', + 'background-height': '50%', + padding: '5px', + }, }, - }, - { - selector: 'edge', - style: { - 'curve-style': 'bezier', - 'target-arrow-shape': 'none', - width: '1px', - 'line-style': 'solid', - 'line-color': '#545B64', + { + selector: 'edge', + style: { + 'curve-style': 'bezier', + 'target-arrow-shape': 'none', + width: '1px', + 'line-style': 'solid', + 'line-color': '#545B64', + }, }, - }, - { - selector: 'edge.hidden', - style: { - width: '1px', - 'line-opacity': 0, + { + selector: 'edge.hidden', + style: { + width: '1px', + 'line-opacity': 0, + }, }, - }, - { - selector: 'edge.highlight', - style: { - 'curve-style': 'bezier', - 'target-arrow-shape': 'none', - width: '2px', - 'line-style': 'dashed', - 'line-color': '#545B64', + { + selector: 'edge.highlight', + style: { + 'curve-style': 'bezier', + 'target-arrow-shape': 'none', + width: '2px', + 'line-style': 'dashed', + 'line-color': '#545B64', + }, }, - }, - { - selector: 'edge.cy-expand-collapse-meta-edge', - style: { - 'curve-style': 'unbundled-bezier', - 'control-point-distances': '0 0 0', - 'line-style': 'dashed', - 'line-color': '#ec7211', - width: '2px', + { + selector: 'edge.cy-expand-collapse-meta-edge', + style: { + 'curve-style': 'unbundled-bezier', + 'control-point-distances': '0 0 0', + 'line-style': 'dashed', + 'line-color': '#ec7211', + width: '2px', + }, }, - }, - { - selector: 'node.cy-expand-collapse-collapsed-node', - style: { - label: 'data(label)', - 'font-size': '6rem', - 'font-family': 'Amazon Ember, Helvetica, Arial, sans-serif', - 'text-valign': 'top', - 'text-halign': 'center', - 'background-color': '#fff', - 'background-opacity': '1', - 'border-style': 'solid', - 'border-width': 1, - 'border-color': '#545B64', - 'text-border-width': '1px', - 'text-background-opacity': '1', - 'text-border-color': '#545B64', - 'text-background-color': '#545B64', - 'text-background-shape': 'rectangle', - 'background-image': 'data(image)', - 'background-fit': 'none', - width: '43px', - height: '43px', - shape: 'ellipse', - color: '#fff', - 'background-width': '50%', - 'background-height': '50%', + { + selector: 'node.cy-expand-collapse-collapsed-node', + style: { + label: 'data(label)', + 'font-size': '6rem', + 'font-family': 'Amazon Ember, Helvetica, Arial, sans-serif', + 'text-valign': 'top', + 'text-halign': 'center', + 'background-color': '#fff', + 'background-opacity': '1', + 'border-style': 'solid', + 'border-width': 1, + 'border-color': '#545B64', + 'text-border-width': '1px', + 'text-background-opacity': '1', + 'text-border-color': '#545B64', + 'text-background-color': '#545B64', + 'text-background-shape': 'rectangle', + 'background-image': 'data(image)', + 'background-fit': 'none', + width: '43px', + height: '43px', + shape: 'ellipse', + color: '#fff', + 'background-width': '50%', + 'background-height': '50%', + }, }, - }, -]; \ No newline at end of file +]; diff --git a/source/frontend/src/components/Diagrams/Draw/DrawDiagram/CreateDiagram/CreateDiagramHelper.js b/source/frontend/src/components/Diagrams/Draw/DrawDiagram/CreateDiagram/CreateDiagramHelper.js index d80d0951..6311d362 100644 --- a/source/frontend/src/components/Diagrams/Draw/DrawDiagram/CreateDiagram/CreateDiagramHelper.js +++ b/source/frontend/src/components/Diagrams/Draw/DrawDiagram/CreateDiagram/CreateDiagramHelper.js @@ -2,38 +2,39 @@ // SPDX-License-Identifier: Apache-2.0 import React from 'react'; -import { HelpPanel } from '@cloudscape-design/components'; +import {HelpPanel} from '@cloudscape-design/components'; const CreateDiagramHelper = () => { - return ( - Creating architecture diagrams}> -
-

Create an architecture diagram of AWS workloads

-

Create

-

- Create a diagram containing the AWS resource shown in the preview. - Give the diagram a name and select whether -

+ return ( + Creating architecture diagrams}> +
+

Create an architecture diagram of AWS workloads

+

Create

+

+ Create a diagram containing the AWS resource shown in the + preview. Give the diagram a name and select whether +

-
-
Visibility
-
- Select Public to share the diagram with other - Workload Discovery on AWS users. -
-
- Select Private to keep the diagram visible only to - this user. -
-
Name
-
- Give the diagram a name. It must be unique. If a diagram with the - same name exists Workload Discovery on AWS will Overwrite it. -
-
-
-
- ); +
+
Visibility
+
+ Select Public to share the diagram with + other Workload Discovery on AWS users. +
+
+ Select Private to keep the diagram + visible only to this user. +
+
Name
+
+ Give the diagram a name. It must be unique. If a diagram + with the same name exists Workload Discovery on AWS will{' '} + Overwrite it. +
+
+
+
+ ); }; export default CreateDiagramHelper; diff --git a/source/frontend/src/components/Diagrams/Draw/DrawDiagram/CreateDiagram/CreateDiagramNameForm.js b/source/frontend/src/components/Diagrams/Draw/DrawDiagram/CreateDiagram/CreateDiagramNameForm.js index 779b9549..b6b54bb8 100644 --- a/source/frontend/src/components/Diagrams/Draw/DrawDiagram/CreateDiagram/CreateDiagramNameForm.js +++ b/source/frontend/src/components/Diagrams/Draw/DrawDiagram/CreateDiagram/CreateDiagramNameForm.js @@ -3,119 +3,135 @@ import React from 'react'; import { - FormField, - SpaceBetween, - Button, - Form, - Select, - Autosuggest, + FormField, + SpaceBetween, + Button, + Form, + Select, + Autosuggest, } from '@cloudscape-design/components'; import {useHistory} from 'react-router-dom'; import {OPEN_DIAGRAM} from '../../../../../routes'; -import { useDiagramSettingsState } from '../../../../Contexts/DiagramSettingsContext'; -import {diagramsPrefix, useListObjects, usePutObject} from "../../../../Hooks/useS3Objects"; -import * as R from 'ramda'; +import {useDiagramSettingsState} from '../../../../Contexts/DiagramSettingsContext'; +import { + diagramsPrefix, + useListObjects, + usePutObject, +} from '../../../../Hooks/useS3Objects'; +import * as R from 'ramda'; import validFilename from 'valid-filename'; import dayjs from 'dayjs'; import relativeTime from 'dayjs/plugin/relativeTime'; -import {DEFAULT_COSTS_INTERVAL} from "../../../../../config/constants"; +import {DEFAULT_COSTS_INTERVAL} from '../../../../../config/constants'; dayjs.extend(relativeTime); const mapIndexed = R.addIndex(R.map); -const CreateDiagramNameForm = ({ direction }) => { - const [{ canvas }] = useDiagramSettingsState(); - const [name, setName] = React.useState(''); - const [visibility, setVisibility] = React.useState({ - label: 'Private', - value: 'private', - }); - const {data=[], refetch} = useListObjects(diagramsPrefix, visibility.value); - const { putAsync } = usePutObject(diagramsPrefix); - const history = useHistory(); - const diagrams = mapIndexed((e, index) => { - return { - id: index, - name: e.key.split('/')[e.key.split('/').length - 1], - modified: e.lastModified, - }; - })(data) +const CreateDiagramNameForm = ({direction}) => { + const [{canvas}] = useDiagramSettingsState(); + const [name, setName] = React.useState(''); + const [visibility, setVisibility] = React.useState({ + label: 'Private', + value: 'private', + }); + const {data = [], refetch} = useListObjects( + diagramsPrefix, + visibility.value + ); + const {putAsync} = usePutObject(diagramsPrefix); + const history = useHistory(); + const diagrams = mapIndexed((e, index) => { + return { + id: index, + name: e.key.split('/')[e.key.split('/').length - 1], + modified: e.lastModified, + }; + })(data); - const handleCreate = () => { - putAsync({ - key: name, - level: visibility.value, - type: 'application/json', - content: JSON.stringify({ - ...(canvas?.json().elements ?? {nodes: [], edges: []}), - settings: { - costInterval: DEFAULT_COSTS_INTERVAL, - accounts: [], - regions: [], - resourceTypes: [], - hideSelected: true, - hideEdges: false, - } - }) - }) - .then(() => history.push( - OPEN_DIAGRAM.replace(':name', name).replace( - ':visibility', - visibility.value - ) - )) - .catch(console.error); - }; + const handleCreate = () => { + putAsync({ + key: name, + level: visibility.value, + type: 'application/json', + content: JSON.stringify({ + ...(canvas?.json().elements ?? {nodes: [], edges: []}), + settings: { + costInterval: DEFAULT_COSTS_INTERVAL, + accounts: [], + regions: [], + resourceTypes: [], + hideSelected: true, + hideEdges: false, + }, + }), + }) + .then(() => + history.push( + OPEN_DIAGRAM.replace(':name', name).replace( + ':visibility', + visibility.value + ) + ) + ) + .catch(console.error); + }; - const diagramExists = () => - R.filter((e) => R.equals(e.name, name), diagrams).length > 0; + const diagramExists = () => + R.filter(e => R.equals(e.name, name), diagrams).length > 0; - const isValidFilename = () => !R.isEmpty(name) && validFilename(name); + const isValidFilename = () => !R.isEmpty(name) && validFilename(name); - return ( -
- {diagramExists() ? 'Overwrite' : 'Create'} - - }> - - - + setVisibility(detail.selectedOption) + } + options={[ + {label: 'Private', value: 'private'}, + {label: 'Public', value: 'public'}, + ]} + selectedAriaLabel="Selected" + /> + + + setName(detail.value)} + value={name} + options={R.map(e => { + return {value: e.name}; + }, diagrams)} + enteredTextLabel={value => `Use: "${value}"`} + ariaLabel="Autosuggest example with suggestions" + placeholder="Enter a name" + empty="No matches found" + onFocus={refetch} + /> + + + + ); }; export default CreateDiagramNameForm; diff --git a/source/frontend/src/components/Diagrams/Draw/DrawDiagram/CreateDiagram/CreateDiagramPage.js b/source/frontend/src/components/Diagrams/Draw/DrawDiagram/CreateDiagram/CreateDiagramPage.js index bd97b0a2..142aaaf8 100644 --- a/source/frontend/src/components/Diagrams/Draw/DrawDiagram/CreateDiagram/CreateDiagramPage.js +++ b/source/frontend/src/components/Diagrams/Draw/DrawDiagram/CreateDiagram/CreateDiagramPage.js @@ -2,78 +2,77 @@ // SPDX-License-Identifier: Apache-2.0 import React, {useCallback, useEffect} from 'react'; -import { Container, Header, SpaceBetween } from '@cloudscape-design/components'; +import {Container, Header, SpaceBetween} from '@cloudscape-design/components'; import Breadcrumbs from '../../../../../Utils/Breadcrumbs'; -import { CREATE_DIAGRAM, DRAW } from '../../../../../routes'; +import {CREATE_DIAGRAM, DRAW} from '../../../../../routes'; import {useParams} from 'react-router-dom'; import PureCytoscape from '../../Canvas/PureCytoscape'; import CreateDiagramNameForm from './CreateDiagramNameForm'; -import { useResourceState } from '../../../../Contexts/ResourceContext'; -import { useDiagramSettingsState } from '../../../../Contexts/DiagramSettingsContext'; -import { addResources } from '../../Canvas/Commands/CanvasCommands'; -import { getStandardLayout } from '../../Canvas/Layout/StandardGraphLayout'; +import {useResourceState} from '../../../../Contexts/ResourceContext'; +import {useDiagramSettingsState} from '../../../../Contexts/DiagramSettingsContext'; +import {addResources} from '../../Canvas/Commands/CanvasCommands'; +import {getStandardLayout} from '../../Canvas/Layout/StandardGraphLayout'; const CreateDiagramPage = () => { - const [{ canvas }, dispatchCanvas] = useDiagramSettingsState(); - const [{ graphResources }] = useResourceState(); - const [rendered, setRendered] = React.useState(false); - const { name, visibility } = useParams(); - const showPreview = graphResources?.length > 0; + const [{canvas}, dispatchCanvas] = useDiagramSettingsState(); + const [{graphResources}] = useResourceState(); + const [rendered, setRendered] = React.useState(false); + const {name, visibility} = useParams(); + const showPreview = graphResources?.length > 0; - const updateCanvas = useCallback((newCanvas) => { - dispatchCanvas({ - type: 'setCanvas', - canvas: newCanvas, - }); - }, [dispatchCanvas]); + const updateCanvas = useCallback( + newCanvas => { + dispatchCanvas({ + type: 'setCanvas', + canvas: newCanvas, + }); + }, + [dispatchCanvas] + ); - const updateResources = useCallback(() => { - dispatchCanvas({ - type: 'setResources', - resources: canvas.nodes(), - }); - }, [canvas, dispatchCanvas]); + const updateResources = useCallback(() => { + dispatchCanvas({ + type: 'setResources', + resources: canvas.nodes(), + }); + }, [canvas, dispatchCanvas]); - useEffect(() => { - if (canvas && rendered) { - addResources( - canvas, - updateCanvas, - updateResources, - graphResources, - getStandardLayout - ); - } - }, [canvas, graphResources, rendered, updateCanvas, updateResources]); + useEffect(() => { + if (canvas && rendered) { + addResources( + canvas, + updateCanvas, + updateResources, + graphResources, + getStandardLayout + ); + } + }, [canvas, graphResources, rendered, updateCanvas, updateResources]); - return ( - - - - Create Diagram - }> - - - { - showPreview && ( - Preview}> - - - - - ) - } - - ); + return ( + + + Create Diagram}> + + + {showPreview && ( + Preview}> + + + + + )} + + ); }; export default CreateDiagramPage; diff --git a/source/frontend/src/components/Diagrams/Draw/DrawDiagram/DiagramControlsPanel.js b/source/frontend/src/components/Diagrams/Draw/DrawDiagram/DiagramControlsPanel.js index 5279ffcf..7569720e 100644 --- a/source/frontend/src/components/Diagrams/Draw/DrawDiagram/DiagramControlsPanel.js +++ b/source/frontend/src/components/Diagrams/Draw/DrawDiagram/DiagramControlsPanel.js @@ -3,36 +3,43 @@ import React, {useCallback, useEffect, useState} from 'react'; import { - Box, - Button, - ButtonDropdown, Modal, - SpaceBetween, StatusIndicator, + Box, + Button, + ButtonDropdown, + Modal, + SpaceBetween, + StatusIndicator, } from '@cloudscape-design/components'; -import { useDiagramSettingsState } from '../../../Contexts/DiagramSettingsContext'; -import { useResourceState } from '../../../Contexts/ResourceContext'; +import {useDiagramSettingsState} from '../../../Contexts/DiagramSettingsContext'; +import {useResourceState} from '../../../Contexts/ResourceContext'; import { - showCosts, - clearGraph, - fetchResources, - fitToViewport, - focusOnResources, - groupResources, - removeResource, - hideCosts, + showCosts, + clearGraph, + fetchResources, + fitToViewport, + focusOnResources, + groupResources, + removeResource, + hideCosts, } from '../Canvas/Commands/CanvasCommands'; import {Prompt, useHistory, useParams} from 'react-router-dom'; -import { COST_REPORT, DRAW, EXPORT } from '../../../../routes'; -import dayjs from "dayjs"; -import {fetchCosts} from "../../../../API/Processors/NodeProcessors"; -import {aggregateCostData} from "../../../../Utils/Resources/CostCalculator"; -import PropTypes from "prop-types"; -import * as R from "ramda"; -import {diagramsPrefix, usePutObject, useRemoveObject} from "../../../Hooks/useS3Objects"; -import {usePrevious} from "react-use"; -import {DEFAULT_COSTS_INTERVAL} from "../../../../config/constants"; +import {COST_REPORT, DRAW, EXPORT} from '../../../../routes'; +import dayjs from 'dayjs'; +import {fetchCosts} from '../../../../API/Processors/NodeProcessors'; +import {aggregateCostData} from '../../../../Utils/Resources/CostCalculator'; +import PropTypes from 'prop-types'; +import * as R from 'ramda'; +import { + diagramsPrefix, + usePutObject, + useRemoveObject, +} from '../../../Hooks/useS3Objects'; +import {usePrevious} from 'react-use'; +import {DEFAULT_COSTS_INTERVAL} from '../../../../config/constants'; +import ExportDiagramModal from '../Canvas/Export/ExportDiagramModal'; function normalizeInterval(interval) { - if(interval.type !== 'relative') return interval; + if (interval.type !== 'relative') return interval; return { type: 'relative', @@ -40,293 +47,321 @@ function normalizeInterval(interval) { .subtract(interval.amount, interval.unit) .format('YYYY-MM-DD'), endDate: dayjs().format('YYYY-MM-DD'), - } + }; } -const DiagramControlPanel = ({ - settings -}) => { - const [ - { canvas, selectedResources, resources }, - dispatchCanvas, - ] = useDiagramSettingsState(); - const [{ graphResources }] = useResourceState(); - const { name, visibility } = useParams(); - const history = useHistory(); - const [showDeleteConfirm, setShowDeleteConfirm] = useState(false); - const [statusMessage, setStatusMessage] = useState(); - const [hasLoadedCosts, setHasLoadedCosts] = useState(false); - const [loadingCosts, setLoadingCosts] = useState(false); - const { endDate, startDate } = normalizeInterval(settings?.costInterval ?? DEFAULT_COSTS_INTERVAL); - const {removeAsync} = useRemoveObject(diagramsPrefix); - const {putAsync} = usePutObject(diagramsPrefix) - const [hasUnsavedChanges, setHasUnsavedChanges] = useState(false); - const previousResources = usePrevious(resources); +const DiagramControlPanel = ({settings}) => { + const [{canvas, selectedResources, resources}, dispatchCanvas] = + useDiagramSettingsState(); + const [{graphResources}] = useResourceState(); + const {name, visibility} = useParams(); + const history = useHistory(); + const [showDeleteConfirm, setShowDeleteConfirm] = useState(false); + const [showExport, setShowExport] = React.useState(false); + const [statusMessage, setStatusMessage] = useState(); + const [hasLoadedCosts, setHasLoadedCosts] = useState(false); + const [loadingCosts, setLoadingCosts] = useState(false); + const {endDate, startDate} = normalizeInterval( + settings?.costInterval ?? DEFAULT_COSTS_INTERVAL + ); + const {removeAsync} = useRemoveObject(diagramsPrefix); + const {putAsync} = usePutObject(diagramsPrefix); + const [hasUnsavedChanges, setHasUnsavedChanges] = useState(false); + const previousResources = usePrevious(resources); - const updateCanvas = useCallback((newCanvas) => { - dispatchCanvas({ - type: 'setCanvas', - canvas: newCanvas, - }); - }, [dispatchCanvas]); + const updateCanvas = useCallback( + newCanvas => { + dispatchCanvas({ + type: 'setCanvas', + canvas: newCanvas, + }); + }, + [dispatchCanvas] + ); - const updateResources = useCallback(() => { - dispatchCanvas({ - type: 'setResources', - resources: canvas.nodes(), - }); - }, [canvas, dispatchCanvas]); + const updateResources = useCallback(() => { + dispatchCanvas({ + type: 'setResources', + resources: canvas.nodes(), + }); + }, [canvas, dispatchCanvas]); - useEffect(() => { - if (canvas && !canvas.destroyed()) { - const resetEvents = ["add", "remove"]; - resetEvents.forEach(e => canvas.on(e, () => setHasLoadedCosts(false))); - } - }, [canvas, setHasLoadedCosts]); + useEffect(() => { + if (canvas && !canvas.destroyed()) { + const resetEvents = ['add', 'remove']; + resetEvents.forEach(e => + canvas.on(e, () => setHasLoadedCosts(false)) + ); + } + }, [canvas, setHasLoadedCosts]); - useEffect(() => { - if (canvas && !canvas.destroyed()) { - setHasLoadedCosts(false); - } - }, [canvas, settings?.costsInterval, setHasLoadedCosts]); + useEffect(() => { + if (canvas && !canvas.destroyed()) { + setHasLoadedCosts(false); + } + }, [canvas, settings?.costsInterval, setHasLoadedCosts]); - useEffect(() => { - if (!hasLoadedCosts && canvas && !canvas.destroyed()) { - hideCosts(canvas, updateCanvas, canvas.nodes().jsons()) - } - }, [canvas, hasLoadedCosts, updateCanvas]) + useEffect(() => { + if (!hasLoadedCosts && canvas && !canvas.destroyed()) { + hideCosts(canvas, updateCanvas, canvas.nodes().jsons()); + } + }, [canvas, hasLoadedCosts, updateCanvas]); - useEffect(() => { - if (previousResources?.length && !R.equals(resources, previousResources)) { - setHasUnsavedChanges(true); - } - }, [resources, previousResources]); + useEffect(() => { + if ( + previousResources?.length && + !R.equals(resources, previousResources) + ) { + setHasUnsavedChanges(true); + } + }, [resources, previousResources]); - const onActionClick = (id) => { - switch (id) { - case 'fetch': - fetchResources( - canvas, - updateCanvas, - updateResources, - R.map( - (e) => e.data('id'), - R.chain( - (r) => (r.isParent() ? r.descendants() : r), - selectedResources - ) - ), - graphResources, - ); - break; - case 'fit': - fitToViewport(canvas, updateCanvas); - break; - case 'clear': - clearGraph(canvas, updateCanvas, updateResources); - break; - case 'focus': - focusOnResources( - canvas, - updateCanvas, - updateResources, - R.map( - (e) => e.data('id'), - R.chain( - (r) => (r.isParent() ? r.descendants() : r), - selectedResources - ) - ), - ); - break; - case 'group': - groupResources(canvas, updateCanvas); - break; - case 'export': - history.push( - EXPORT.replace(':name', name).replace(':visibility', visibility) - ); - break; - case 'remove': - removeResource( - canvas, - updateCanvas, - updateResources, - R.map((e) => e.data('id'), selectedResources) - ); - break; - case 'save': - putAsync({ - key: canvas.data('name'), - level: canvas.data('visibility'), - type: 'application/json', - content: JSON.stringify({...canvas.json().elements, settings}) - }) - .then(() => setStatusMessage({ - type: "success", - action: "save", - message: `Last saved at ${dayjs(Date.now()).format("HH:mm")}` - })) - .then(() => setHasUnsavedChanges(false)) - .catch(() => setStatusMessage({ - type: "error", - action: "save", - timestamp: 'Unable to save diagram', - })) - ; - break; - case 'delete': - setShowDeleteConfirm(true); - break; - default: - break; - } - }; + const onActionClick = id => { + switch (id) { + case 'fetch': + fetchResources( + canvas, + updateCanvas, + updateResources, + R.map( + e => e.data('id'), + R.chain( + r => (r.isParent() ? r.descendants() : r), + selectedResources + ) + ), + graphResources + ); + break; + case 'fit': + fitToViewport(canvas, updateCanvas); + break; + case 'clear': + clearGraph(canvas, updateCanvas, updateResources); + break; + case 'focus': + focusOnResources( + canvas, + updateCanvas, + updateResources, + R.map( + e => e.data('id'), + R.chain( + r => (r.isParent() ? r.descendants() : r), + selectedResources + ) + ) + ); + break; + case 'group': + groupResources(canvas, updateCanvas); + break; + case 'export': + setShowExport(true); + break; + case 'remove': + removeResource( + canvas, + updateCanvas, + updateResources, + R.map(e => e.data('id'), selectedResources) + ); + break; + case 'save': + putAsync({ + key: canvas.data('name'), + level: canvas.data('visibility'), + type: 'application/json', + content: JSON.stringify({ + ...canvas.json().elements, + settings, + }), + }) + .then(() => + setStatusMessage({ + type: 'success', + action: 'save', + message: `Last saved at ${dayjs(Date.now()).format('HH:mm')}`, + }) + ) + .then(() => setHasUnsavedChanges(false)) + .catch(() => + setStatusMessage({ + type: 'error', + action: 'save', + timestamp: 'Unable to save diagram', + }) + ); + break; + case 'delete': + setShowDeleteConfirm(true); + break; + default: + break; + } + }; - const handleDelete = () => { - setHasUnsavedChanges(false); - canvas.destroy(); - removeAsync({key: name, level: visibility}) - setShowDeleteConfirm(false); - history.push(DRAW); - } + const handleDelete = () => { + setHasUnsavedChanges(false); + canvas.destroy(); + removeAsync({key: name, level: visibility}); + setShowDeleteConfirm(false); + history.push(DRAW); + }; - const handleRequestCosts = () => { - setLoadingCosts(true); - if (statusMessage?.action === "costs") setStatusMessage(null); - fetchCosts( - canvas.nodes().jsons(), - {period: {endDate, startDate}} - ) - .then(aggregateCostData) - .then(R.partial(showCosts, [canvas, updateCanvas])) - .then(() => { - setHasLoadedCosts(true); - }) - .catch(err => { - console.error(err); - setStatusMessage({ - type: "error", - action: "costs", - message: "Unable to load costs" - }); - }) - .finally(() => { - setLoadingCosts(false) - }) - } + const handleRequestCosts = () => { + setLoadingCosts(true); + if (statusMessage?.action === 'costs') setStatusMessage(null); + fetchCosts(canvas.nodes().jsons(), {period: {endDate, startDate}}) + .then(aggregateCostData) + .then(R.partial(showCosts, [canvas, updateCanvas])) + .then(() => { + setHasLoadedCosts(true); + }) + .catch(err => { + console.error(err); + setStatusMessage({ + type: 'error', + action: 'costs', + message: 'Unable to load costs', + }); + }) + .finally(() => { + setLoadingCosts(false); + }); + }; - return ( - - - `Are you sure you want to leave this page without saving?` - } - /> - setShowDeleteConfirm(false)} - visible={showDeleteConfirm} - closeAriaLabel="Close modal" - footer={ - - - - + return ( + + + `Are you sure you want to leave this page without saving?` + } + /> + setShowExport(false)} + visible={showExport} + canvas={canvas} + elements={canvas?.json()?.elements ?? {nodes: [], edges: []}} + settings={settings} + /> + setShowDeleteConfirm(false)} + visible={showDeleteConfirm} + closeAriaLabel="Close modal" + footer={ + + + + + + + } + header="Delete Diagram" + > + Permanently delete {name}? This cannot be + undone. + + + {!R.isNil(statusMessage) && ( + + + {' '} + {/* NOSONAR - null check is done by R.isNil */} + {statusMessage.message} + + + )} + + + onActionClick(e.detail.id)} + expandableGroups + items={[ + { + id: 'resources', + text: 'Resources', + items: [ + { + text: 'Expand', + id: 'fetch', + }, + { + text: 'Focus', + id: 'focus', + }, + { + text: 'Remove', + id: 'remove', + }, + ], + disabled: + !selectedResources || selectedResources.empty(), + }, + { + id: 'diagram', + text: 'Diagram', + items: [ + {text: 'Group', id: 'group'}, + {text: 'Fit', id: 'fit'}, + {text: 'Clear', id: 'clear'}, + {text: 'Export', id: 'export'}, + ], + }, + { + id: 'save', + text: 'Save', + }, + { + id: 'delete', + text: 'Delete', + }, + ]} + variant="primary" + > + Actions + - - } - header="Delete Diagram" - > - Permanently delete {name}? This cannot be undone. - - - { - !R.isNil(statusMessage) && - {/* NOSONAR - null check is done by R.isNil */} - {statusMessage.message} - - - } - - - onActionClick(e.detail.id)} - expandableGroups - items={[ - { - id: 'resources', - text: 'Resources', - items: [ - { - text: 'Expand', - id: 'fetch', - }, - { - text: 'Focus', - id: 'focus', - }, - { - text: 'Remove', - id: 'remove', - }, - ], - disabled: !selectedResources || selectedResources.empty(), - }, - { - id: 'diagram', - text: 'Diagram', - items: [ - { text: 'Group', id: 'group' }, - { text: 'Fit', id: 'fit' }, - { text: 'Clear', id: 'clear' }, - { text: 'Export', id: 'export' }, - ], - }, - { - id: 'save', - text: 'Save', - }, - { - id: 'delete', - text: 'Delete', - }, - ]} - variant='primary'> - Actions - - - - ); + + ); }; DiagramControlPanel.propTypes = { - settings: PropTypes.shape({ - costsInterval: PropTypes.shape({ - type: PropTypes.string, - startDate: PropTypes.string, - endDate: PropTypes.string, - unit: PropTypes.string, - amount: PropTypes.number + settings: PropTypes.shape({ + costsInterval: PropTypes.shape({ + type: PropTypes.string, + startDate: PropTypes.string, + endDate: PropTypes.string, + unit: PropTypes.string, + amount: PropTypes.number, + }), + hideSelected: PropTypes.bool, + hideEdges: PropTypes.bool, + accounts: PropTypes.array, + regions: PropTypes.array, + resourceTypes: PropTypes.array, }), - hideSelected: PropTypes.bool, - hideEdges: PropTypes.bool, - accounts: PropTypes.array, - regions: PropTypes.array, - resourceTypes: PropTypes.array, - }) -} +}; export default DiagramControlPanel; diff --git a/source/frontend/src/components/Diagrams/Draw/DrawDiagram/DrawDiagramPage.js b/source/frontend/src/components/Diagrams/Draw/DrawDiagram/DrawDiagramPage.js index eb5b8842..f9fe872e 100644 --- a/source/frontend/src/components/Diagrams/Draw/DrawDiagram/DrawDiagramPage.js +++ b/source/frontend/src/components/Diagrams/Draw/DrawDiagram/DrawDiagramPage.js @@ -2,29 +2,27 @@ // SPDX-License-Identifier: Apache-2.0 import React from 'react'; -import { - SpaceBetween, -} from '@cloudscape-design/components'; +import {SpaceBetween} from '@cloudscape-design/components'; import Breadcrumbs from '../../../../Utils/Breadcrumbs'; -import { DRAW } from '../../../../routes'; -import { useDiagramSettingsState } from '../../../Contexts/DiagramSettingsContext'; +import {DRAW} from '../../../../routes'; +import {useDiagramSettingsState} from '../../../Contexts/DiagramSettingsContext'; import DiagramTable from '../../Management/DiagramTable'; const DrawDiagramPage = () => { - const [, dispatch] = useDiagramSettingsState(); + const [, dispatch] = useDiagramSettingsState(); - React.useEffect(() => { - dispatch({ - type: 'clearCanvas', - }); - }, [dispatch]); + React.useEffect(() => { + dispatch({ + type: 'clearCanvas', + }); + }, [dispatch]); - return ( - - - - - ); + return ( + + + + + ); }; export default DrawDiagramPage; diff --git a/source/frontend/src/components/Diagrams/Draw/DrawDiagram/OpenDiagram/OpenDiagramHelper.js b/source/frontend/src/components/Diagrams/Draw/DrawDiagram/OpenDiagram/OpenDiagramHelper.js index e2b33412..da96c4e4 100644 --- a/source/frontend/src/components/Diagrams/Draw/DrawDiagram/OpenDiagram/OpenDiagramHelper.js +++ b/source/frontend/src/components/Diagrams/Draw/DrawDiagram/OpenDiagram/OpenDiagramHelper.js @@ -2,50 +2,59 @@ // SPDX-License-Identifier: Apache-2.0 import React from 'react'; -import { HelpPanel } from '@cloudscape-design/components'; +import {HelpPanel} from '@cloudscape-design/components'; const OpenDiagramHelper = () => { - return ( - Drawing architecture diagrams}> -
-

Create and update architecture diagrams of AWS workloads

-

Find a resource

-

- Provide basic configuration information about a resource to the search - box to find resources of interest. Selecting a resource will add it - and its related resources to the diagram. -

-

Actions

-

Resources

-
-
Expand
-
Fetch related resources of those selected in the diagram.
-
Focus
-
- Remove all resources and show only those related those selected in - the diagram. -
-
Remove
-
Remove the selected resources from the diagram.
-
-

Diagram

-
-
Group
-
Remove edges and show resources grouped by type.
-
Fit
-
- Adjust the zoom to have the diagram in the center of the canvas. -
-
Clear
-
- Remove All the resources from the diagram -
-
Delete
-
Permanently delete the diagram from Workload Discovery on AWS
-
-
-
- ); + return ( + Drawing architecture diagrams}> +
+

Create and update architecture diagrams of AWS workloads

+

Find a resource

+

+ Provide basic configuration information about a resource to + the search box to find resources of interest. Selecting a + resource will add it and its related resources to the + diagram. +

+

Actions

+

Resources

+
+
Expand
+
+ Fetch related resources of those selected in the + diagram. +
+
Focus
+
+ Remove all resources and show only those related those + selected in the diagram. +
+
Remove
+
Remove the selected resources from the diagram.
+
+

Diagram

+
+
Group
+
Remove edges and show resources grouped by type.
+
Fit
+
+ Adjust the zoom to have the diagram in the center of the + canvas. +
+
Clear
+
+ Remove All the resources from the + diagram +
+
Delete
+
+ Permanently delete the diagram from Workload Discovery + on AWS +
+
+
+
+ ); }; export default OpenDiagramHelper; diff --git a/source/frontend/src/components/Diagrams/Draw/DrawDiagram/OpenDiagram/OpenDiagramPage.js b/source/frontend/src/components/Diagrams/Draw/DrawDiagram/OpenDiagram/OpenDiagramPage.js index 954bce51..770497de 100644 --- a/source/frontend/src/components/Diagrams/Draw/DrawDiagram/OpenDiagram/OpenDiagramPage.js +++ b/source/frontend/src/components/Diagrams/Draw/DrawDiagram/OpenDiagram/OpenDiagramPage.js @@ -2,126 +2,162 @@ // SPDX-License-Identifier: Apache-2.0 import React, {useCallback, useEffect} from 'react'; -import {Container, ExpandableSection, Header, SpaceBetween} from '@cloudscape-design/components'; +import { + Container, + ExpandableSection, + Header, + SpaceBetween, +} from '@cloudscape-design/components'; import Breadcrumbs from '../../../../../Utils/Breadcrumbs'; -import { DRAW, OPEN_DIAGRAM } from '../../../../../routes'; -import { useParams } from 'react-router-dom'; +import {DRAW, OPEN_DIAGRAM} from '../../../../../routes'; +import {useParams} from 'react-router-dom'; import ResourceSearch from '../../Utils/ResourceSearch'; import DiagramControlPanel from '../DiagramControlsPanel'; import PureCytoscape from '../../Canvas/PureCytoscape'; -import { useDiagramSettingsState } from '../../../../Contexts/DiagramSettingsContext'; -import {addResources, removeResource} from '../../Canvas/Commands/CanvasCommands'; -import { getStandardLayout } from '../../Canvas/Layout/StandardGraphLayout'; -import DiagramSettings from "../../Utils/DiagramSettings"; -import {useObject} from "../../../../Hooks/useS3Objects"; -import * as R from "ramda"; -import {DEFAULT_COSTS_INTERVAL} from "../../../../../config/constants"; +import {useDiagramSettingsState} from '../../../../Contexts/DiagramSettingsContext'; +import { + addResources, + removeResource, +} from '../../Canvas/Commands/CanvasCommands'; +import {getStandardLayout} from '../../Canvas/Layout/StandardGraphLayout'; +import DiagramSettings from '../../Utils/DiagramSettings'; +import {useObject} from '../../../../Hooks/useS3Objects'; +import * as R from 'ramda'; +import {DEFAULT_COSTS_INTERVAL} from '../../../../../config/constants'; const DIAGRAMS = 'diagrams/'; const OpenDiagramPage = () => { - const [{ canvas, resources }, dispatchCanvas] = useDiagramSettingsState(); - const [settings, setSettings] = React.useState(null); - const { name, visibility } = useParams(); - const { data } = useObject(name, DIAGRAMS, visibility); + const [{canvas, resources}, dispatchCanvas] = useDiagramSettingsState(); + const [settings, setSettings] = React.useState(null); + const {name, visibility} = useParams(); + const {data} = useObject(name, DIAGRAMS, visibility); - const updateCanvas = useCallback((newCanvas) => { - dispatchCanvas({ - type: 'setCanvas', - canvas: newCanvas, - }); - }, [dispatchCanvas]); + const updateCanvas = useCallback( + newCanvas => { + dispatchCanvas({ + type: 'setCanvas', + canvas: newCanvas, + }); + }, + [dispatchCanvas] + ); - const updateResources = useCallback(() => { - dispatchCanvas({ - type: 'setResources', - resources: canvas.nodes(), - }); - }, [canvas, dispatchCanvas]); + const updateResources = useCallback(() => { + dispatchCanvas({ + type: 'setResources', + resources: canvas.nodes(), + }); + }, [canvas, dispatchCanvas]); - useEffect(() => { - if (canvas && settings) { - const resources = canvas - .nodes() - .filter(e => e?.data("type") === "resource") - const props = { - "accounts": "accountId", - "regions": "awsRegion", - "resourceTypes": "resourceType" - }; - const relevantProps = Object.keys(props).filter(prop => settings[prop] && settings[prop].length > 0); - const inSettingsArray = r => relevantProps - .every(prop => { - return (settings[prop] ?? []).includes(r.data("properties")[props[prop]]) - }) - const toRemove = settings?.hideSelected ?? true - ? resources.filter(r => r.data("properties") && inSettingsArray(r)) - : resources.filter(r => r.data("properties") && !inSettingsArray(r)) + useEffect(() => { + if (canvas && settings) { + const resources = canvas + .nodes() + .filter(e => e?.data('type') === 'resource'); + const props = { + accounts: 'accountId', + regions: 'awsRegion', + resourceTypes: 'resourceType', + }; + const relevantProps = Object.keys(props).filter( + prop => settings[prop] && settings[prop].length > 0 + ); + const inSettingsArray = r => + relevantProps.every(prop => { + return (settings[prop] ?? []).includes( + r.data('properties')[props[prop]] + ); + }); + const toRemove = + (settings?.hideSelected ?? true) + ? resources.filter( + r => r.data('properties') && inSettingsArray(r) + ) + : resources.filter( + r => r.data('properties') && !inSettingsArray(r) + ); - if (toRemove.length > 0 && relevantProps.length > 0) { - removeResource(canvas, updateCanvas, updateResources, toRemove.map(i => i.id())) - } - canvas.edges().style("visibility", (settings?.hideEdges ?? false) ? "hidden" : "visible"); - } - }, [canvas, resources, settings, updateCanvas, updateResources]) + if (toRemove.length > 0 && relevantProps.length > 0) { + removeResource( + canvas, + updateCanvas, + updateResources, + toRemove.map(i => i.id()) + ); + } + canvas + .edges() + .style( + 'visibility', + (settings?.hideEdges ?? false) ? 'hidden' : 'visible' + ); + } + }, [canvas, resources, settings, updateCanvas, updateResources]); - useEffect(() => { - if (data && canvas && !canvas.destroyed()) { - if(data.settings) { - setSettings({ - ...data.settings, - // create fallback for older diagrams as default value used to be null - costInterval: data.settings.costInterval ?? DEFAULT_COSTS_INTERVAL - }); - } else { - setSettings({ - costInterval: DEFAULT_COSTS_INTERVAL, - accounts: [], - regions: [], - resourceTypes: [], - hideSelected: true, - hideEdges: false - }); - } + useEffect(() => { + if (data && canvas && !canvas.destroyed()) { + if (data.settings) { + setSettings({ + ...data.settings, + // create fallback for older diagrams as default value used to be null + costInterval: + data.settings.costInterval ?? DEFAULT_COSTS_INTERVAL, + }); + } else { + setSettings({ + costInterval: DEFAULT_COSTS_INTERVAL, + accounts: [], + regions: [], + resourceTypes: [], + hideSelected: true, + hideEdges: false, + }); + } - addResources( - canvas, - updateCanvas, - updateResources, - R.pick(['nodes', 'edges'], data), - getStandardLayout - ); - } - }, [canvas, data, updateCanvas, updateResources]); + addResources( + canvas, + updateCanvas, + updateResources, + R.pick(['nodes', 'edges'], data), + getStandardLayout + ); + } + }, [canvas, data, updateCanvas, updateResources]); - return ( - - - }> - {name} - }> - - - - { - settings && ( - - - - ) - } + return ( + + + } + > + {name} + + } + > + + + + {settings && ( + + + + )} + + - - - ); + ); }; export default OpenDiagramPage; diff --git a/source/frontend/src/components/Diagrams/Draw/SplitPanel/DiagramSplitPanelContents.js b/source/frontend/src/components/Diagrams/Draw/SplitPanel/DiagramSplitPanelContents.js index 65716b73..c81aaf4c 100644 --- a/source/frontend/src/components/Diagrams/Draw/SplitPanel/DiagramSplitPanelContents.js +++ b/source/frontend/src/components/Diagrams/Draw/SplitPanel/DiagramSplitPanelContents.js @@ -2,56 +2,59 @@ // SPDX-License-Identifier: Apache-2.0 import React, {useEffect} from 'react'; -import { ColumnLayout } from '@cloudscape-design/components'; +import {ColumnLayout} from '@cloudscape-design/components'; import ResourcesTable from './ResourcesTable'; import ResourceDetails from '../../../Shared/ResourceDetails'; -import { useDiagramSettingsState } from '../../../Contexts/DiagramSettingsContext'; -import * as R from 'ramda'; +import {useDiagramSettingsState} from '../../../Contexts/DiagramSettingsContext'; +import * as R from 'ramda'; const DiagramSplitPanelContents = () => { - const [{ selectedResources }] = useDiagramSettingsState(); - const [selectedResource, setSelectedResource] = React.useState([]); - const [processedResources, setProcessedResources] = React.useState([]); + const [{selectedResources}] = useDiagramSettingsState(); + const [selectedResource, setSelectedResource] = React.useState([]); + const [processedResources, setProcessedResources] = React.useState([]); - useEffect(() => { - const getResources = () => - R.uniq( - R.filter( - (n) => - R.equals(n.group(), 'nodes') && R.equals(n.data('type'), 'resource'), - R.chain( - (r) => (r.isParent() ? r.descendants() : r), - selectedResources ?? [] - ) - ) - ); + useEffect(() => { + const getResources = () => + R.uniq( + R.filter( + n => + R.equals(n.group(), 'nodes') && + R.equals(n.data('type'), 'resource'), + R.chain( + r => (r.isParent() ? r.descendants() : r), + selectedResources ?? [] + ) + ) + ); - setProcessedResources( - R.map((e) => { - return { - id: e.data('id'), - name: e.data('title'), - data: e.data(), - }; - }, getResources()) - ); - }, [selectedResources]); + setProcessedResources( + R.map(e => { + return { + id: e.data('id'), + name: e.data('title'), + data: e.data(), + }; + }, getResources()) + ); + }, [selectedResources]); - useEffect(() => { - setSelectedResource([]); - }, [selectedResources]); + useEffect(() => { + setSelectedResource([]); + }, [selectedResources]); - return ( - - - {!R.isEmpty(selectedResource) && ( - x.data))} /> - )} - - ); + return ( + + + {!R.isEmpty(selectedResource) && ( + x.data))} + /> + )} + + ); }; export default DiagramSplitPanelContents; diff --git a/source/frontend/src/components/Diagrams/Draw/SplitPanel/ResourcesTable.js b/source/frontend/src/components/Diagrams/Draw/SplitPanel/ResourcesTable.js index 58a7d3c5..516118f8 100644 --- a/source/frontend/src/components/Diagrams/Draw/SplitPanel/ResourcesTable.js +++ b/source/frontend/src/components/Diagrams/Draw/SplitPanel/ResourcesTable.js @@ -2,127 +2,138 @@ // SPDX-License-Identifier: Apache-2.0 import React from 'react'; -import { Table, Box, TextFilter, Pagination } from '@cloudscape-design/components'; -import { useCollection } from '@cloudscape-design/collection-hooks'; +import { + Table, + Box, + TextFilter, + Pagination, +} from '@cloudscape-design/components'; +import {useCollection} from '@cloudscape-design/collection-hooks'; import PropTypes from 'prop-types'; -import { useDiagramSettingsState } from '../../../Contexts/DiagramSettingsContext'; -import { fetchImage } from '../../../../Utils/ImageSelector'; +import {useDiagramSettingsState} from '../../../Contexts/DiagramSettingsContext'; +import {fetchImage} from '../../../../Utils/ImageSelector'; -import * as R from 'ramda'; +import * as R from 'ramda'; -const ResourcesTable = ({ - resources, - selectedResource, - setSelectedResource, -}) => { - const [{ canvas }] = useDiagramSettingsState(); +const ResourcesTable = ({resources, selectedResource, setSelectedResource}) => { + const [{canvas}] = useDiagramSettingsState(); - const navigateToSelectedResource = (element) => { - canvas.zoom({ level: 1.0 }); - canvas.nodes().removeClass('highlight'); - canvas.center(element); - element.addClass('highlight'); - const removeHighlight = setTimeout(() => { - canvas.elements().map(function (ele) { - ele.removeClass('highlight'); - }); - }, 2000); - return () => clearTimeout(removeHighlight); - }; + const navigateToSelectedResource = element => { + canvas.zoom({level: 1.0}); + canvas.nodes().removeClass('highlight'); + canvas.center(element); + element.addClass('highlight'); + const removeHighlight = setTimeout(() => { + canvas.elements().map(function (ele) { + ele.removeClass('highlight'); + }); + }, 2000); + return () => clearTimeout(removeHighlight); + }; - const onSelectionChange = (selectedResources) => { - setSelectedResource(selectedResources); - navigateToSelectedResource( - canvas.getElementById(R.head(selectedResources).id) - ); - }; + const onSelectionChange = selectedResources => { + setSelectedResource(selectedResources); + navigateToSelectedResource( + canvas.getElementById(R.head(selectedResources).id) + ); + }; - function imageCell(item){ - return {`${item.data.resource.type}; - } + function imageCell(item) { + return ( + {`${item.data.resource.type} + ); + } - const { - items, - filterProps, - collectionProps, - paginationProps, - } = useCollection(resources, { - filtering: { - empty: ( - - No resource - - Resources will appear when a diagram is created - - - ), - noMatch: ( - - No match - - No resources matched. - - - ), - }, - pagination: { pageSize: 5 }, - sorting: { sortingColumn: 'name' }, - }); + const {items, filterProps, collectionProps, paginationProps} = + useCollection(resources, { + filtering: { + empty: ( + + No resource + + Resources will appear when a diagram is created + + + ), + noMatch: ( + + No match + + No resources matched. + + + ), + }, + pagination: {pageSize: 5}, + sorting: {sortingColumn: 'name'}, + }); - return ( -
- } - empty={collectionProps.empty} - columnDefinitions={[ - { - id: 'icon', - cell: (item) => imageCell(item), - width: 50, - minWidth: 50, - }, + return ( +
+ } + empty={collectionProps.empty} + columnDefinitions={[ + { + id: 'icon', + cell: item => imageCell(item), + width: 50, + minWidth: 50, + }, - { - id: 'name', - header: 'Name', - cell: (item) => item.name, - width: 200, - minWidth: 200, - }, - { - id: 'type', - header: 'Type', - cell: (item) => item.data.resource.type, - width: 200, - minWidth: 200, - }, - ]} - visibleColumns={['icon', 'name', 'type']} - onSelectionChange={({ detail }) => - onSelectionChange(detail.selectedItems) - } - items={items} - resizableColumns - selectionType='single' - selectedItems={selectedResource} - pagination={} - // stickyHeader - /> - ); + { + id: 'name', + header: 'Name', + cell: item => item.name, + width: 200, + minWidth: 200, + }, + { + id: 'type', + header: 'Type', + cell: item => item.data.resource.type, + width: 200, + minWidth: 200, + }, + ]} + visibleColumns={['icon', 'name', 'type']} + onSelectionChange={({detail}) => + onSelectionChange(detail.selectedItems) + } + items={items} + resizableColumns + selectionType="single" + selectedItems={selectedResource} + pagination={} + // stickyHeader + /> + ); }; ResourcesTable.propTypes = { - resources: PropTypes.array.isRequired, - selectedResource: PropTypes.array.isRequired, - setSelectedResource: PropTypes.func.isRequired, + resources: PropTypes.array.isRequired, + selectedResource: PropTypes.array.isRequired, + setSelectedResource: PropTypes.func.isRequired, }; export default ResourcesTable; diff --git a/source/frontend/src/components/Diagrams/Draw/Utils/CostDatePicker.js b/source/frontend/src/components/Diagrams/Draw/Utils/CostDatePicker.js index 6d75e4e1..90695709 100644 --- a/source/frontend/src/components/Diagrams/Draw/Utils/CostDatePicker.js +++ b/source/frontend/src/components/Diagrams/Draw/Utils/CostDatePicker.js @@ -2,109 +2,114 @@ // SPDX-License-Identifier: Apache-2.0 import React from 'react'; -import { DateRangePicker, FormField } from '@cloudscape-design/components'; -import localizedFormat from "dayjs/plugin/localizedFormat"; -import relativeTime from "dayjs/plugin/relativeTime"; -import dayjs from "dayjs"; -import * as R from "ramda"; +import {DateRangePicker, FormField} from '@cloudscape-design/components'; +import localizedFormat from 'dayjs/plugin/localizedFormat'; +import relativeTime from 'dayjs/plugin/relativeTime'; +import dayjs from 'dayjs'; +import * as R from 'ramda'; dayjs.extend(relativeTime); dayjs.extend(localizedFormat); -const CostDatePicker = ({ disabled, normalizeInterval = true, initialInterval, onIntervalChange }) => { - const [value, setValue] = React.useState(initialInterval ?? { - type: 'absolute', - startDate: dayjs() - .startOf('month') - .format('YYYY-MM-DD'), - endDate: dayjs() - .endOf('month') - .format('YYYY-MM-DD'), - }); +const CostDatePicker = ({ + disabled, + normalizeInterval = true, + initialInterval, + onIntervalChange, +}) => { + const [value, setValue] = React.useState( + initialInterval ?? { + type: 'absolute', + startDate: dayjs().startOf('month').format('YYYY-MM-DD'), + endDate: dayjs().endOf('month').format('YYYY-MM-DD'), + } + ); - const processDateInterval = (detail) => { - setValue(detail.value); + const processDateInterval = detail => { + setValue(detail.value); - if(normalizeInterval) { - R.equals('absolute', detail.value.type) - ? onIntervalChange(detail.value) - : onIntervalChange({ - type: 'relative', - startDate: dayjs() - .subtract(detail.value.amount, detail.value.unit) - .format('YYYY-MM-DD'), - endDate: dayjs().format('YYYY-MM-DD'), - }); - } else { - onIntervalChange(detail.value); - } - }; + if (normalizeInterval) { + R.equals('absolute', detail.value.type) + ? onIntervalChange(detail.value) + : onIntervalChange({ + type: 'relative', + startDate: dayjs() + .subtract(detail.value.amount, detail.value.unit) + .format('YYYY-MM-DD'), + endDate: dayjs().format('YYYY-MM-DD'), + }); + } else { + onIntervalChange(detail.value); + } + }; - return ( - - processDateInterval(detail)} - value={value} - relativeOptions={[ - { - key: 'previous-7-days', - amount: 7, - unit: 'day', - type: 'relative', - }, - { - key: 'previous-30-days', - amount: 30, - unit: 'day', - type: 'relative', - }, - { - key: 'previous-3-months', - amount: 3, - unit: 'month', - type: 'relative', - }, - { - key: 'previous-1-year', - amount: 1, - unit: 'year', - type: 'relative', - }, - ]} - i18nStrings={{ - todayAriaLabel: 'Today', - nextMonthAriaLabel: 'Next month', - previousMonthAriaLabel: 'Previous month', - customRelativeRangeDurationLabel: 'Duration', - customRelativeRangeDurationPlaceholder: 'Enter duration', - customRelativeRangeOptionLabel: 'Custom range', - customRelativeRangeOptionDescription: - 'Set a custom range in the past', - customRelativeRangeUnitLabel: 'Unit of time', - formatRelativeRange: (e) => { - const t = 1 === e.amount ? e.unit : `${e.unit}s`; - return `Last ${e.amount} ${t}`; - }, - formatUnit: (e, t) => (1 === t ? e : `${e}s`), - relativeModeTitle: 'Relative range', - absoluteModeTitle: 'Absolute range', - relativeRangeSelectionHeading: 'Choose a range', - startDateLabel: 'Start date', - endDateLabel: 'End date', - startTimeLabel: 'Start time', - endTimeLabel: 'End time', - clearButtonLabel: 'Clear', - cancelButtonLabel: 'Cancel', - applyButtonLabel: 'Confirm', - }} - dateOnly - expandToViewport - placeholder='Filter by a date and time range' - /> - - ); + return ( + + processDateInterval(detail)} + value={value} + relativeOptions={[ + { + key: 'previous-7-days', + amount: 7, + unit: 'day', + type: 'relative', + }, + { + key: 'previous-30-days', + amount: 30, + unit: 'day', + type: 'relative', + }, + { + key: 'previous-3-months', + amount: 3, + unit: 'month', + type: 'relative', + }, + { + key: 'previous-1-year', + amount: 1, + unit: 'year', + type: 'relative', + }, + ]} + i18nStrings={{ + todayAriaLabel: 'Today', + nextMonthAriaLabel: 'Next month', + previousMonthAriaLabel: 'Previous month', + customRelativeRangeDurationLabel: 'Duration', + customRelativeRangeDurationPlaceholder: 'Enter duration', + customRelativeRangeOptionLabel: 'Custom range', + customRelativeRangeOptionDescription: + 'Set a custom range in the past', + customRelativeRangeUnitLabel: 'Unit of time', + formatRelativeRange: e => { + const t = 1 === e.amount ? e.unit : `${e.unit}s`; + return `Last ${e.amount} ${t}`; + }, + formatUnit: (e, t) => (1 === t ? e : `${e}s`), + relativeModeTitle: 'Relative range', + absoluteModeTitle: 'Absolute range', + relativeRangeSelectionHeading: 'Choose a range', + startDateLabel: 'Start date', + endDateLabel: 'End date', + startTimeLabel: 'Start time', + endTimeLabel: 'End time', + clearButtonLabel: 'Clear', + cancelButtonLabel: 'Cancel', + applyButtonLabel: 'Confirm', + }} + dateOnly + expandToViewport + placeholder="Filter by a date and time range" + /> + + ); }; export default CostDatePicker; diff --git a/source/frontend/src/components/Diagrams/Draw/Utils/DiagramSettings.js b/source/frontend/src/components/Diagrams/Draw/Utils/DiagramSettings.js index f4dfca44..61e6e8e6 100644 --- a/source/frontend/src/components/Diagrams/Draw/Utils/DiagramSettings.js +++ b/source/frontend/src/components/Diagrams/Draw/Utils/DiagramSettings.js @@ -3,172 +3,230 @@ import React, {useEffect, useState} from 'react'; import { - Alert, - Box, - Button, - Form, - FormField, - Modal, - Multiselect, - RadioGroup, - SpaceBetween, - Toggle + Alert, + Box, + Button, + Form, + FormField, + Modal, + Multiselect, + RadioGroup, + SpaceBetween, + Toggle, } from '@cloudscape-design/components'; -import CostDatePicker from "./CostDatePicker"; -import * as R from "ramda"; -import {useResourcesMetadata} from "../../../Hooks/useResourcesMetadata"; -import {fetchImage} from "../../../../Utils/ImageSelector"; +import CostDatePicker from './CostDatePicker'; +import * as R from 'ramda'; +import {useResourcesMetadata} from '../../../Hooks/useResourcesMetadata'; +import {fetchImage} from '../../../../Utils/ImageSelector'; const DiagramSettings = ({onSettingsChange, initialSettings}) => { - const [settings, setSettings] = useState(initialSettings); - const [lastSubmittedSettings, setLastSubmittedSettings] = useState(settings); - const [hasDestructiveChanges, setHasDestructiveChanges] = useState(false); - const [hasUnsavedChanges, setHasUnsavedChanges] = useState(false); - const {data={accounts: [], resourceTypes: []}, status} = useResourcesMetadata(); - const uniqRegions = R.compose( - R.uniq, - R.chain(i => i.regions?.map(j => ({ label: j.name, value: j.name })) ?? []) - ) + const [settings, setSettings] = useState(initialSettings); + const [lastSubmittedSettings, setLastSubmittedSettings] = + useState(settings); + const [hasDestructiveChanges, setHasDestructiveChanges] = useState(false); + const [hasUnsavedChanges, setHasUnsavedChanges] = useState(false); + const {data = {accounts: [], resourceTypes: []}, status} = + useResourcesMetadata(); + const uniqRegions = R.compose( + R.uniq, + R.chain( + i => i.regions?.map(j => ({label: j.name, value: j.name})) ?? [] + ) + ); - const options = { - accounts: data.accounts.map(i => ({ label: i.accountId, value: i.accountId })), - regions: uniqRegions(data.accounts), - resourceTypes: data.resourceTypes.map(i => ({ - label: i.type, - value: i.type, - iconUrl: fetchImage(i.type) - })) - } + const options = { + accounts: data.accounts.map(i => ({ + label: i.accountId, + value: i.accountId, + })), + regions: uniqRegions(data.accounts), + resourceTypes: data.resourceTypes.map(i => ({ + label: i.type, + value: i.type, + iconUrl: fetchImage(i.type), + })), + }; - const confirmSubmit = () => { - setHasDestructiveChanges(false); - setLastSubmittedSettings(settings); - onSettingsChange && onSettingsChange(settings); - setHasUnsavedChanges(false); - } + const confirmSubmit = () => { + setHasDestructiveChanges(false); + setLastSubmittedSettings(settings); + onSettingsChange && onSettingsChange(settings); + setHasUnsavedChanges(false); + }; - const handleSubmit = () => { - const isDestructiveKey = (val, key) => !['costInterval', 'hideEdges'].includes(key) - const filterNonDestructiveKeys = R.pickBy(isDestructiveKey) - if (!R.equals(filterNonDestructiveKeys(settings), filterNonDestructiveKeys(lastSubmittedSettings))) { - setHasDestructiveChanges(true) - } else { - confirmSubmit() - } - } - - useEffect(() => { - setHasUnsavedChanges(!R.equals(settings, initialSettings)); - }, [settings, initialSettings]); - - const handleChange = (prop, value) => { - setSettings({ - ...settings, - [prop]: value - }) - } + const handleSubmit = () => { + const isDestructiveKey = (val, key) => + !['costInterval', 'hideEdges'].includes(key); + const filterNonDestructiveKeys = R.pickBy(isDestructiveKey); + if ( + !R.equals( + filterNonDestructiveKeys(settings), + filterNonDestructiveKeys(lastSubmittedSettings) + ) + ) { + setHasDestructiveChanges(true); + } else { + confirmSubmit(); + } + }; - const filterTypeOptions = [ - { label: "Hide Selected", value: true }, - { label: "Only Show Selected", value: false }, - ] + useEffect(() => { + setHasUnsavedChanges(!R.equals(settings, initialSettings)); + }, [settings, initialSettings]); - return ( -
e.preventDefault()}> - setHasDestructiveChanges(false)} - visible={hasDestructiveChanges} - closeAriaLabel="Close modal" - footer={ - - - - - - - } - header="Apply Settings" - > - - Modifying the filters will cause some elements to be removed from your diagram. Are you sure - you wish to apply these settings? - { + setSettings({ + ...settings, + [prop]: value, + }); + }; - header="Persisting Settings" - > - You must also save the diagram after applying new settings in order to persist these changes - - + const filterTypeOptions = [ + {label: 'Hide Selected', value: true}, + {label: 'Only Show Selected', value: false}, + ]; - - Apply}> - - handleChange("costInterval", val)} /> - - handleChange("hideSelected", detail.value)} - value={settings.hideSelected} - items={filterTypeOptions} - /> - - - handleChange('accounts', e.detail.selectedOptions.map(i => i.value))} - options={options.accounts} - filteringType={"auto"} - selectedOptions={options.accounts.filter(i => settings.accounts.includes(i.value))} - selectedAriaLabel='Selected' - expandToViewport - statusType={status} - /> - - - handleChange('regions', e.detail.selectedOptions.map(i => i.value))} - options={options.regions} - filteringType={"auto"} - selectedOptions={options.regions.filter(i => settings.regions.includes(i.value))} - selectedAriaLabel='Selected' - expandToViewport - statusType={status} - /> - - - handleChange('resourceTypes', e.detail.selectedOptions.map(i => i.value))} - options={options.resourceTypes} - filteringType={"auto"} - selectedOptions={options.resourceTypes.filter(i => settings.resourceTypes.includes(i.value))} - selectedAriaLabel='Selected' - expandToViewport - statusType={status} - /> - - - handleChange("hideEdges", detail.checked) - } - checked={settings.hideEdges} - > - Hide Edges - - - - - ); + return ( +
e.preventDefault()}> + setHasDestructiveChanges(false)} + visible={hasDestructiveChanges} + closeAriaLabel="Close modal" + footer={ + + + + + + + } + header="Apply Settings" + > + + + Modifying the filters will cause some elements to be + removed from your diagram. Are you sure you wish to + apply these settings? + + + You must also save the diagram after applying new + settings in order to persist these changes + + + + + Apply + + } + > + + + handleChange('costInterval', val) + } + /> + + + handleChange('hideSelected', detail.value) + } + value={settings.hideSelected} + items={filterTypeOptions} + /> + + + + handleChange( + 'accounts', + e.detail.selectedOptions.map(i => i.value) + ) + } + options={options.accounts} + filteringType={'auto'} + selectedOptions={options.accounts.filter(i => + settings.accounts.includes(i.value) + )} + selectedAriaLabel="Selected" + expandToViewport + statusType={status} + /> + + + + handleChange( + 'regions', + e.detail.selectedOptions.map(i => i.value) + ) + } + options={options.regions} + filteringType={'auto'} + selectedOptions={options.regions.filter(i => + settings.regions.includes(i.value) + )} + selectedAriaLabel="Selected" + expandToViewport + statusType={status} + /> + + + + handleChange( + 'resourceTypes', + e.detail.selectedOptions.map(i => i.value) + ) + } + options={options.resourceTypes} + filteringType={'auto'} + selectedOptions={options.resourceTypes.filter(i => + settings.resourceTypes.includes(i.value) + )} + selectedAriaLabel="Selected" + expandToViewport + statusType={status} + /> + + + handleChange('hideEdges', detail.checked) + } + checked={settings.hideEdges} + > + Hide Edges + + + + + ); }; export default DiagramSettings; diff --git a/source/frontend/src/components/Diagrams/Draw/Utils/DrawingSplitPanel.js b/source/frontend/src/components/Diagrams/Draw/Utils/DrawingSplitPanel.js index b2f9d16a..49a5a406 100644 --- a/source/frontend/src/components/Diagrams/Draw/Utils/DrawingSplitPanel.js +++ b/source/frontend/src/components/Diagrams/Draw/Utils/DrawingSplitPanel.js @@ -2,56 +2,57 @@ // SPDX-License-Identifier: Apache-2.0 import React from 'react'; -import { SplitPanel } from '@cloudscape-design/components'; +import {SplitPanel} from '@cloudscape-design/components'; import DiagramSplitPanelContents from '../SplitPanel/DiagramSplitPanelContents'; -import { useDiagramSettingsState } from '../../../Contexts/DiagramSettingsContext'; +import {useDiagramSettingsState} from '../../../Contexts/DiagramSettingsContext'; -import * as R from 'ramda'; +import * as R from 'ramda'; const DrawingSplitPanel = () => { - const [{ selectedResources }] = useDiagramSettingsState(); + const [{selectedResources}] = useDiagramSettingsState(); - const getDetailsPanel = () => { - return { - header: `Selected resources (${R.length( - R.uniq( - R.filter( - (n) => - R.equals(n.group(), 'nodes') && - R.equals(n.data('type'), 'resource'), - R.chain( - (r) => r.isParent() ? r.descendants() : r, - selectedResources ?? [] - ) - ) - ) - )})`, - body: , + const getDetailsPanel = () => { + return { + header: `Selected resources (${R.length( + R.uniq( + R.filter( + n => + R.equals(n.group(), 'nodes') && + R.equals(n.data('type'), 'resource'), + R.chain( + r => (r.isParent() ? r.descendants() : r), + selectedResources ?? [] + ) + ) + ) + )})`, + body: , + }; }; - }; - const { header: panelHeader, body: panelBody } = getDetailsPanel(); + const {header: panelHeader, body: panelBody} = getDetailsPanel(); - return ( - - {panelBody} - - ); + return ( + + {panelBody} + + ); }; export default DrawingSplitPanel; diff --git a/source/frontend/src/components/Diagrams/Draw/Utils/ResourceSearch.js b/source/frontend/src/components/Diagrams/Draw/Utils/ResourceSearch.js index dcfc8fd3..c6f3b6e7 100644 --- a/source/frontend/src/components/Diagrams/Draw/Utils/ResourceSearch.js +++ b/source/frontend/src/components/Diagrams/Draw/Utils/ResourceSearch.js @@ -1,137 +1,171 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import React, {useEffect} from 'react'; -import PropTypes from "prop-types"; -import {FormField, Select, SpaceBetween} from '@cloudscape-design/components'; -import { useResourceState } from '../../../Contexts/ResourceContext'; -import { fetchResources } from '../Canvas/Commands/CanvasCommands'; -import { useDiagramSettingsState } from '../../../Contexts/DiagramSettingsContext'; -import * as R from "ramda"; -import {useResourcesSearch} from "../../../Hooks/useResources"; -import { useDebounce } from "react-use" +import './ResourceSearch.css'; +import React, {useEffect, useState} from 'react'; +import PropTypes from 'prop-types'; +import {Button, Multiselect} from '@cloudscape-design/components'; +import {useResourceState} from '../../../Contexts/ResourceContext'; +import {fetchResources} from '../Canvas/Commands/CanvasCommands'; +import {useDiagramSettingsState} from '../../../Contexts/DiagramSettingsContext'; +import * as R from 'ramda'; +import {useResourcesSearch} from '../../../Hooks/useResources'; +import {useDebounce} from 'react-use'; const ResourceSearch = () => { - const [{ graphResources }] = useResourceState(); - const [{ canvas }, dispatchCanvas] = useDiagramSettingsState(); - - const updateCanvas = () => { - dispatchCanvas({ - type: 'setCanvas', - canvas: canvas, - }); - }; - - const updateResources = () => { - dispatchCanvas({ - type: 'setResources', - resources: canvas.nodes(), - }); - }; - - return ( - - - fetchResources( - canvas, - updateCanvas, - updateResources, - [detail.selectedOption.id], - graphResources, - ) - } - /> - - - ); + const [{graphResources}] = useResourceState(); + const [{canvas}, dispatchCanvas] = useDiagramSettingsState(); + + const [search, setSearch] = React.useState(''); + const [selectedOptions, setSelectedOptions] = useState([]); + + function resetSearchBar() { + setSearch(''); + setSelectedOptions([]); + } + + const updateCanvas = () => { + dispatchCanvas({ + type: 'setCanvas', + canvas: canvas, + }); + }; + + const updateResources = () => { + dispatchCanvas({ + type: 'setResources', + resources: canvas.nodes(), + }); + }; + + return ( +
+
+ + setSelectedOptions(detail.selectedOptions) + } + selectedOptions={selectedOptions} + search={search} + setSearch={setSearch} + /> +
+
+ +
+
+ ); }; -export const OpensearchResourceSelect = ({selectedOption=null, onChange=()=>{}}) => { - const [search, setSearch] = React.useState(''); - const [debouncedValue, setDebouncedValue] = React.useState(''); - const {data: resources=[], isError, isFetching, isFetched, fetchNextPage, hasNextPage} = useResourcesSearch(debouncedValue); - const [status, setStatus] = React.useState("pending"); - const [hasLoadedOnce, setHasLoadedOnce] = React.useState(false) - - - useEffect(() => { - setHasLoadedOnce(false) - }, [search]) - - useEffect(() => { - setHasLoadedOnce(true) - }, [isFetching]) - - useEffect(() => { - if (isFetching) return setStatus("loading") - else if (isError) return setStatus("error") - else if (!isFetching && hasNextPage) return setStatus("pending") - else if (isFetched && hasNextPage === false) return setStatus("finished") - },[isFetching, hasNextPage, isFetched, isError]) - - useDebounce( - () => { - setDebouncedValue(search); - }, - 1000, - [search] - ); - - const byType = R.groupBy((e) => e.label); - const groups = byType(resources); - const filterOptions = - R.map((e) => { - return { - label: e, - id: e, - options: R.map((v) => { - return { - label: v.properties.title, - id: v.id, - labelTag: v.label, - tags: [v.properties.accountId, v.properties.awsRegion].filter(i => !!i), - value: R.toString(v), - }; - }, groups[`${e}`]), - }; +export const OpensearchResourceSelect = ({ + onChange, + search, + setSearch, + selectedOptions = [], +}) => { + const [debouncedValue, setDebouncedValue] = React.useState(''); + const { + data: resources = [], + isError, + isFetching, + isFetched, + fetchNextPage, + hasNextPage, + } = useResourcesSearch(debouncedValue); + const [status, setStatus] = React.useState('pending'); + const [hasLoadedOnce, setHasLoadedOnce] = React.useState(false); + + useEffect(() => { + setHasLoadedOnce(false); + }, [search]); + + useEffect(() => { + setHasLoadedOnce(true); + }, [isFetching]); + + useEffect(() => { + if (isFetching) return setStatus('loading'); + else if (isError) return setStatus('error'); + else if (!isFetching && hasNextPage) return setStatus('pending'); + else if (isFetched && hasNextPage === false) + return setStatus('finished'); + }, [isFetching, hasNextPage, isFetched, isError]); + + useDebounce( + () => { + setDebouncedValue(search); + }, + 1000, + [search] + ); + + const byType = R.groupBy(e => e.label); + const groups = byType(resources); + const options = R.map(e => { + return { + label: e, + id: e, + options: R.map(v => { + return { + label: v.properties.title, + id: v.id, + labelTag: v.label, + tags: [ + v.properties.accountId, + v.properties.awsRegion, + ].filter(i => !!i), + value: R.toString(v), + }; + }, groups[`${e}`]), + }; }, Object.keys(groups)); - const handleOnLoad = ({ detail }) => { - if (detail.filteringText !== search) setSearch(detail.filteringText) - if (!detail.firstPage && !detail.samePage) { - fetchNextPage() - } - } - - return ( -
- - - -
+ + + + - - - ) + return ( + + + + Something went wrong! + {error.message} + + + + ); } export default ErrorFallback; diff --git a/source/frontend/src/components/Explore/Resources/ResourceOverview.js b/source/frontend/src/components/Explore/Resources/ResourceOverview.js index d1623c9a..915df569 100644 --- a/source/frontend/src/components/Explore/Resources/ResourceOverview.js +++ b/source/frontend/src/components/Explore/Resources/ResourceOverview.js @@ -3,59 +3,175 @@ import React from 'react'; import { - Box, - ColumnLayout, - Container, - Header, Spinner, + Alert, + Box, + Button, + ColumnLayout, + Container, + Header, + Link, + SpaceBetween, + Spinner, + TextContent, } from '@cloudscape-design/components'; -import * as R from "ramda"; +import * as R from 'ramda'; import { - useResourcesAccountMetadata, - useResourcesMetadata, - useResourcesRegionMetadata -} from "../../Hooks/useResourcesMetadata"; + useResourcesAccountMetadata, + useResourcesMetadata, + useResourcesRegionMetadata, +} from '../../Hooks/useResourcesMetadata'; +import {useAccounts} from '../../Hooks/useAccounts'; import ValueWithLabel from '../../Shared/ValueWithLabel'; +import {isUsingOrganizations} from '../../../Utils/AccountUtils'; const ResourceOverview = () => { - const { data: resources= {accounts: []}, isLoading: loadingResources } = useResourcesMetadata(); - const accountsFilter = resources.accounts.map(({accountId}) => ({accountId})); - const { data: accounts=[], isLoading: loadingAccounts } = useResourcesAccountMetadata(accountsFilter, {batchSize: 50}); - const { data: regions=[], isLoading: loadingRegions } = useResourcesRegionMetadata(accountsFilter, {batchSize: 50}); - - const regionCount = R.reduce((acc, val) => R.add(acc, R.length(val.regions)), 0, regions); - - return ( - Overview}> - { - loadingAccounts || loadingRegions || loadingResources - ? - : ( - - - - {resources.count ?? "-"} - - - - - {resources.resourceTypes?.length ?? "-"} - - - - - {R.length(accounts)} - - - - - {regionCount} - - - - ) - } - - ); + const {data: resources = {accounts: []}, isLoading: loadingResources} = + useResourcesMetadata(); + const accountsFilter = resources.accounts.map(({accountId}) => ({ + accountId, + })); + + const {data: importedAccounts, isLoading: isLoadingImportedAccounts} = + useAccounts(); + const {data: accounts = [], isLoading: loadingAccounts} = + useResourcesAccountMetadata(accountsFilter, {batchSize: 50}); + const {data: regions = [], isLoading: loadingRegions} = + useResourcesRegionMetadata(accountsFilter, {batchSize: 50}); + + const regionCount = R.reduce( + (acc, val) => R.add(acc, R.length(val.regions)), + 0, + regions + ); + + return ( + Overview} + > + {loadingAccounts || loadingRegions || loadingResources ? ( + + ) : ( + + + + + {resources.count ?? '-'} + + + + + {resources.resourceTypes?.length ?? '-'} + + + + + {R.length(accounts)} + + + + + {regionCount} + + + + {!isLoadingImportedAccounts && + getWarningBanner(resources, importedAccounts)} + + )} + + ); +}; + +const getWarningBanner = (resources, importedAccounts) => { + if (!isUsingOrganizations() && importedAccounts.length === 0) { + return ( + + Import an account + + } + > + + Import an account to discover resources in that account. + + + Learn more about importing accounts + + + ); + } + + if (importedAccounts.some(({isIamRoleDeployed}) => !isIamRoleDeployed)) { + return ( + + View account configuration + + } + > + {!isUsingOrganizations() ? ( + + At least one account is missing the Workload Discovery + IAM Role. Visit the Accounts page to see what accounts + are affected and verify that the AWS CloudFormation + StackSets stack instance in these accounts deployed + correctly. + + ) : ( + + At least one account is missing the Workload Discovery + IAM Role. Visit the Accounts page to see what accounts + are affected and deploy the global resources template in + those accounts + + )} + + Learn more about importing accounts + + + ); + } + + if ( + resources.count === 0 && + (importedAccounts.length > 0 || isUsingOrganizations()) + ) { + return ( + + + There may be an issue with the deployment configuration + + + Learn more about debugging the discovery process + + + ); + } + + return null; }; export default ResourceOverview; diff --git a/source/frontend/src/components/Explore/Resources/ResourcesPage.js b/source/frontend/src/components/Explore/Resources/ResourcesPage.js index 2d25ddc9..3fc16717 100644 --- a/source/frontend/src/components/Explore/Resources/ResourcesPage.js +++ b/source/frontend/src/components/Explore/Resources/ResourcesPage.js @@ -2,90 +2,106 @@ // SPDX-License-Identifier: Apache-2.0 import React, {useEffect, useState} from 'react'; -import {ColumnLayout, Container, Header, SpaceBetween} from '@cloudscape-design/components'; +import { + ColumnLayout, + Container, + Header, + SpaceBetween, +} from '@cloudscape-design/components'; import ResourcesTypes from './Types/TypeOverview/ResourcesTypes'; import ResourceOverview from './ResourceOverview'; import Breadcrumbs from '../../../Utils/Breadcrumbs'; -import { RESOURCES } from '../../../routes'; -import { useDiagramSettingsState } from '../../Contexts/DiagramSettingsContext'; -import { useResourceState } from '../../Contexts/ResourceContext'; -import AccountMultiSelect from "./Types/TypeOverview/AccountMultiSelect"; -import RegionMultiSelect from "./Types/TypeOverview/RegionMultiSelect"; -import * as R from "ramda"; -import {useDeepCompareEffect} from "react-use"; -import ResourcesTable from "../Shared/ResourcesTable"; +import {RESOURCES} from '../../../routes'; +import {useDiagramSettingsState} from '../../Contexts/DiagramSettingsContext'; +import {useResourceState} from '../../Contexts/ResourceContext'; +import AccountMultiSelect from './Types/TypeOverview/AccountMultiSelect'; +import RegionMultiSelect from './Types/TypeOverview/RegionMultiSelect'; +import * as R from 'ramda'; +import {useDeepCompareEffect} from 'react-use'; +import ResourcesTable from '../Shared/ResourcesTable'; const ResourcesPage = () => { - const [, dispatchCanvas] = useDiagramSettingsState(); - const [, dispatch] = useResourceState(); - const [selectedResourceTypes, setSelectedResourceTypes] = React.useState([]); - const [selectedAccounts, setSelectedAccounts] = useState([]); - const [selectedRegions, setSelectedRegions] = useState([]); + const [, dispatchCanvas] = useDiagramSettingsState(); + const [, dispatch] = useResourceState(); + const [selectedResourceTypes, setSelectedResourceTypes] = React.useState( + [] + ); + const [selectedAccounts, setSelectedAccounts] = useState([]); + const [selectedRegions, setSelectedRegions] = useState([]); - useEffect(() => { - dispatchCanvas({ - type: 'setCanvas', - canvas: null, - }); - dispatchCanvas({ - type: 'setResources', - resources: [], - }); - dispatch({ - type: 'select', - resources: {}, - }); - }, [dispatch, dispatchCanvas]); + useEffect(() => { + dispatchCanvas({ + type: 'setCanvas', + canvas: null, + }); + dispatchCanvas({ + type: 'setResources', + resources: [], + }); + dispatch({ + type: 'select', + resources: {}, + }); + }, [dispatch, dispatchCanvas]); - useDeepCompareEffect(() => { - if(selectedAccounts.length === 0) - setSelectedRegions([]); - }, [selectedAccounts, setSelectedRegions]); + useDeepCompareEffect(() => { + if (selectedAccounts.length === 0) setSelectedRegions([]); + }, [selectedAccounts, setSelectedRegions]); - const handleAvailableRegionsChange = (options) => { - if (!selectedRegions.every(i => options.includes(i))) - setSelectedRegions(selectedRegions.filter(i => options.includes(i))) - } + const handleAvailableRegionsChange = options => { + if (!selectedRegions.every(i => options.includes(i))) + setSelectedRegions( + selectedRegions.filter(i => options.includes(i)) + ); + }; - const regionsToQueryParam = selectedRegions.length > 0 - ? {regions: R.uniq(R.map(i => ({name: i}), selectedRegions))} - : {} + const regionsToQueryParam = + selectedRegions.length > 0 + ? {regions: R.uniq(R.map(i => ({name: i}), selectedRegions))} + : {}; - return ( - - - - - Resource Filters}> - - - - - - ({ - accountId: i, - ...regionsToQueryParam - }))} - onSelection={setSelectedResourceTypes} - /> - ({ - accountId: i, - ...(selectedRegions.length > 0 ? {regions: selectedRegions.map(i => ({name: i}))} : {}) - }))} - resourceTypes={R.map((e) => e.type, selectedResourceTypes)} - pageSize={10} - /> - - - ); + return ( + + + + + Resource Filters} + > + + + + + + ({ + accountId: i, + ...regionsToQueryParam, + }))} + onSelection={setSelectedResourceTypes} + /> + ({ + accountId: i, + ...(selectedRegions.length > 0 + ? {regions: selectedRegions.map(i => ({name: i}))} + : {}), + }))} + resourceTypes={R.map(e => e.type, selectedResourceTypes)} + pageSize={10} + /> + + + ); }; export default ResourcesPage; diff --git a/source/frontend/src/components/Explore/Resources/Types/TypeOverview/AccountMultiSelect.js b/source/frontend/src/components/Explore/Resources/Types/TypeOverview/AccountMultiSelect.js index 0e220d48..c2b6d65b 100644 --- a/source/frontend/src/components/Explore/Resources/Types/TypeOverview/AccountMultiSelect.js +++ b/source/frontend/src/components/Explore/Resources/Types/TypeOverview/AccountMultiSelect.js @@ -1,57 +1,74 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import React from "react"; -import {Button, FormField, Multiselect} from "@cloudscape-design/components"; -import * as R from "ramda"; +import React from 'react'; +import {Button, FormField, Multiselect} from '@cloudscape-design/components'; +import * as R from 'ramda'; import { useResourcesMetadata, - useResourcesRegionMetadata -} from "../../../../Hooks/useResourcesMetadata"; -import {useDeepCompareEffect} from "react-use"; + useResourcesRegionMetadata, +} from '../../../../Hooks/useResourcesMetadata'; +import {useDeepCompareEffect} from 'react-use'; +const AccountMultiSelect = ({ + selected = [], + onChange = () => ({}), + onOptionsChange = () => ({}), + disabled = false, +}) => { + const {data: resources = {accounts: []}} = useResourcesMetadata(); + const accountsFilter = resources.accounts.map(({accountId}) => ({ + accountId, + })); + const {data: accountsRegionMetadata = []} = useResourcesRegionMetadata( + accountsFilter, + { + batchSize: 50, + } + ); -const AccountMultiSelect = ({selected=[], onChange=() => ({}), onOptionsChange=() => ({}), disabled=false}) => { - const { data: resources= {accounts: []} } = useResourcesMetadata(); - const accountsFilter = resources.accounts.map(({accountId}) => ({accountId})); - const { data: accountsRegionMetadata=[] } = useResourcesRegionMetadata(accountsFilter, { - batchSize: 50 - }); + useDeepCompareEffect(() => { + onOptionsChange(accountsRegionMetadata.map(i => i.accountId)); + }, [accountsRegionMetadata, onOptionsChange]); - useDeepCompareEffect(() => { - onOptionsChange(accountsRegionMetadata.map(i => i.accountId)); - }, [accountsRegionMetadata, onOptionsChange]) + const options = accountsRegionMetadata.map(i => ({ + label: i.accountId, + value: i.accountId, + tags: [`${R.length(i.regions)} regions`, `${i.count} resources`], + })); - const options = accountsRegionMetadata.map(i => ({ - label: i.accountId, - value: i.accountId, - tags:[ - `${R.length(i.regions)} regions`, - `${i.count} resources`, - ], - })); + const handleSelectAll = () => { + onChange(R.uniq(R.map(i => i.value, options))); + }; - const handleSelectAll = () => { - onChange(R.uniq(R.map(i => i.value, options))); - } - - return (<> - Choose All}> - selected.indexOf(i.value) !== -1)} - onChange={e => onChange(e.detail.selectedOptions.map(i => i.value))} - placeholder="Choose accounts to filter by" - tokenLimit={5} - i18nStrings={{ - tokenLimitShowMore: "Show more chosen options", - tokenLimitShowFewer: "Show fewer chosen options" - }} - /> - - ) -} + return ( + <> + Choose All + } + > + selected.indexOf(i.value) !== -1 + )} + onChange={e => + onChange(e.detail.selectedOptions.map(i => i.value)) + } + placeholder="Choose accounts to filter by" + tokenLimit={5} + i18nStrings={{ + tokenLimitShowMore: 'Show more chosen options', + tokenLimitShowFewer: 'Show fewer chosen options', + }} + /> + + + ); +}; export default AccountMultiSelect; diff --git a/source/frontend/src/components/Explore/Resources/Types/TypeOverview/RegionMultiSelect.js b/source/frontend/src/components/Explore/Resources/Types/TypeOverview/RegionMultiSelect.js index dd96e966..02da3f1f 100644 --- a/source/frontend/src/components/Explore/Resources/Types/TypeOverview/RegionMultiSelect.js +++ b/source/frontend/src/components/Explore/Resources/Types/TypeOverview/RegionMultiSelect.js @@ -1,76 +1,106 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import React from "react"; -import PropTypes from "prop-types"; -import {Button, FormField, Multiselect} from "@cloudscape-design/components"; -import * as R from "ramda"; -import {useResourcesRegionMetadata} from "../../../../Hooks/useResourcesMetadata"; -import {useDeepCompareEffect} from "react-use"; +import React from 'react'; +import PropTypes from 'prop-types'; +import {Button, FormField, Multiselect} from '@cloudscape-design/components'; +import * as R from 'ramda'; +import {useResourcesRegionMetadata} from '../../../../Hooks/useResourcesMetadata'; +import {useDeepCompareEffect} from 'react-use'; -const RegionMultiSelect = ({accounts=[], selected=[], onChange=() => ({}), onOptionsChange=() => ({}), disabled=false}) => { - const { data=[], isLoading, status } = useResourcesRegionMetadata(accounts.map(i => ({accountId: i})), { - enabled: !disabled, - batchSize: 50 - }); - const toRegions = R.chain((e) => e.regions) - const regions = toRegions(data); +const RegionMultiSelect = ({ + accounts = [], + selected = [], + onChange = () => ({}), + onOptionsChange = () => ({}), + disabled = false, +}) => { + const { + data = [], + isLoading, + status, + } = useResourcesRegionMetadata( + accounts.map(i => ({accountId: i})), + { + enabled: !disabled, + batchSize: 50, + } + ); + const toRegions = R.chain(e => e.regions); + const regions = toRegions(data); - useDeepCompareEffect(() => { - if (!isLoading) - onOptionsChange(toRegions(data).map(i => i.name)); - }, [data, isLoading, onOptionsChange, toRegions]) + useDeepCompareEffect(() => { + if (!isLoading) onOptionsChange(toRegions(data).map(i => i.name)); + }, [data, isLoading, onOptionsChange, toRegions]); - const options = Object.values(regions - .reduce((acc, next) => ({ - ...acc, - [next.name]: { - name: next.name, - resourceTypes: R.uniq(next.resourceTypes.concat(acc[next.name]?.resourceTypes || [])), - count: next.count + (acc[next.name]?.count || 0) - } - }), {})) - .map(i => ({ - label: i.name, - value: i.name, - tags:[ - `${i.resourceTypes.length} resource types`, - `${i.count} resources`, - ], + const options = Object.values( + regions.reduce( + (acc, next) => ({ + ...acc, + [next.name]: { + name: next.name, + resourceTypes: R.uniq( + next.resourceTypes.concat( + acc[next.name]?.resourceTypes || [] + ) + ), + count: next.count + (acc[next.name]?.count || 0), + }, + }), + {} + ) + ).map(i => ({ + label: i.name, + value: i.name, + tags: [ + `${i.resourceTypes.length} resource types`, + `${i.count} resources`, + ], })); - const handleSelectAll = () => { - onChange(R.uniq(R.map(i => i.value, options))); - } + const handleSelectAll = () => { + onChange(R.uniq(R.map(i => i.value, options))); + }; - return (<> - Choose All}> - selected.indexOf(i.value) !== -1)} - onChange={({detail}) => onChange( - R.uniq(R.map(i => i.value, detail.selectedOptions)) - )} - placeholder="Choose regions to filter by" - tokenLimit={5} - i18nStrings={{ - tokenLimitShowMore: "Show more chosen options", - tokenLimitShowFewer: "Show fewer chosen options" - }} - /> - - ) -} + return ( + <> + Choose All + } + > + selected.indexOf(i.value) !== -1 + )} + onChange={({detail}) => + onChange( + R.uniq(R.map(i => i.value, detail.selectedOptions)) + ) + } + placeholder="Choose regions to filter by" + tokenLimit={5} + i18nStrings={{ + tokenLimitShowMore: 'Show more chosen options', + tokenLimitShowFewer: 'Show fewer chosen options', + }} + /> + + + ); +}; RegionMultiSelect.propTypes = { - accounts: PropTypes.array, - selected: PropTypes.array, - onChange: PropTypes.func, - onOptionsChange: PropTypes.func, - disabled: PropTypes.bool, -} + accounts: PropTypes.array, + selected: PropTypes.array, + onChange: PropTypes.func, + onOptionsChange: PropTypes.func, + disabled: PropTypes.bool, +}; export default RegionMultiSelect; diff --git a/source/frontend/src/components/Explore/Resources/Types/TypeOverview/ResourcesTypes.js b/source/frontend/src/components/Explore/Resources/Types/TypeOverview/ResourcesTypes.js index 6f894d29..386e6257 100644 --- a/source/frontend/src/components/Explore/Resources/Types/TypeOverview/ResourcesTypes.js +++ b/source/frontend/src/components/Explore/Resources/Types/TypeOverview/ResourcesTypes.js @@ -3,148 +3,164 @@ import React from 'react'; import { - Table, - Box, - TextFilter, - Header, - Pagination, + Table, + Box, + TextFilter, + Header, + Pagination, } from '@cloudscape-design/components'; -import { fetchImage } from '../../../../../Utils/ImageSelector'; -import { useCollection } from '@cloudscape-design/collection-hooks'; +import {fetchImage} from '../../../../../Utils/ImageSelector'; +import {useCollection} from '@cloudscape-design/collection-hooks'; import PropTypes from 'prop-types'; -import * as R from "ramda"; -import {useResourcesAccountMetadata, useResourcesMetadata} from "../../../../Hooks/useResourcesMetadata"; -import {groupSumBy} from "../../../../../Utils/ArrayUtils"; +import * as R from 'ramda'; import { - createTableAriaLabels -} from "../../../../../Utils/AccessibilityUtils"; + useResourcesAccountMetadata, + useResourcesMetadata, +} from '../../../../Hooks/useResourcesMetadata'; +import {groupSumBy} from '../../../../../Utils/ArrayUtils'; +import {createTableAriaLabels} from '../../../../../Utils/AccessibilityUtils'; const mapIndexed = R.addIndex(R.map); -const ResourcesTypes = ({ accounts, onSelection }) => { - const { data: resources= {accounts: []}, isLoading: loadingResources } = useResourcesMetadata(); - const accountsFilter = R.isEmpty(accounts) ? resources.accounts : accounts; - const [selectedItems, setSelectedItems] = React.useState([]); - const { data=[], isLoading } = useResourcesAccountMetadata(accountsFilter, {batchSize: 50}); - const resourceTypes = R.compose( - groupSumBy('type', 'count'), - R.chain(e => e.resourceTypes) - )(data); +const ResourcesTypes = ({accounts, onSelection}) => { + const {data: resources = {accounts: []}, isLoading: loadingResources} = + useResourcesMetadata(); + const accountsFilter = R.isEmpty(accounts) ? resources.accounts : accounts; + const [selectedItems, setSelectedItems] = React.useState([]); + const {data = [], isLoading} = useResourcesAccountMetadata(accountsFilter, { + batchSize: 50, + }); + const resourceTypes = R.compose( + groupSumBy('type', 'count'), + R.chain(e => e.resourceTypes) + )(data); - const onSelectionChange = (items) => { - setSelectedItems(items); - onSelection(items); - }; + const onSelectionChange = items => { + setSelectedItems(items); + onSelection(items); + }; - const getResourceCards = () => - mapIndexed((resourceType) => { - return { - id: resourceType.type, - type: resourceType.type, - icon: ( - - ), - resourceCount: resourceType.count, - }; - }, resourceTypes); + const getResourceCards = () => + mapIndexed(resourceType => { + return { + id: resourceType.type, + type: resourceType.type, + icon: ( + + ), + resourceCount: resourceType.count, + }; + }, resourceTypes); - const { - items, - filterProps, - collectionProps, - paginationProps, - } = useCollection(getResourceCards(), { - filtering: { - empty: ( - - No resources - - No resources to display. - - - ), - noMatch: ( - - No match - - No resources matched. - - - ), - }, - pagination: { pageSize: 10 }, - sorting: {}, - }); + const {items, filterProps, collectionProps, paginationProps} = + useCollection(getResourceCards(), { + filtering: { + empty: ( + + No resources + + No resources to display. + + + ), + noMatch: ( + + No match + + No resources matched. + + + ), + }, + pagination: {pageSize: 10}, + sorting: {}, + }); - return ( -
+ } + ariaLabels={createTableAriaLabels( + 'resource type', + 'resource types', + { + keys: ['type'], + fallback: 'Unknown resource type', + }, + 'Resources types' + )} + {...collectionProps} + loading={loadingResources || isLoading} + columnDefinitions={[ + { + id: 'icon', + header: 'Icon', + cell: item => item.icon, + width: 100, + minWidth: 100, + }, + { + id: 'type', + header: 'Type', + cell: item => item.type, + width: 275, + minWidth: 275, + }, + { + id: 'resourceCount', + header: 'Count', + cell: item => item.resourceCount, + sortingField: 'resourceCount', + width: 75, + minWidth: 50, + }, + ]} + onSelectionChange={({detail}) => + onSelectionChange(detail.selectedItems) + } + selectedItems={selectedItems} + items={items} + resizableColumns + loadingText="Loading resource types" + selectionType="multi" + visibleColumns={['icon', 'type', 'resourceCount']} + empty={ + + No resources + + No resources to display. + + + } + header={ +
+ Resources types +
+ } + pagination={} /> - } - ariaLabels={createTableAriaLabels('resource type', 'resource types', { - keys: ['type'], - fallback: 'Unknown resource type' - }, 'Resources types')} - {...collectionProps} - loading={loadingResources || isLoading} - columnDefinitions={[ - { - id: 'icon', - header: 'Icon', - cell: (item) => item.icon, - width: 100, - minWidth: 100, - }, - { - id: 'type', - header: 'Type', - cell: (item) => item.type, - width: 275, - minWidth: 275, - }, - { - id: 'resourceCount', - header: 'Count', - cell: (item) => item.resourceCount, - sortingField: 'resourceCount', - width: 75, - minWidth: 50, - }, - ]} - onSelectionChange={({ detail }) => - onSelectionChange(detail.selectedItems) - } - selectedItems={selectedItems} - items={items} - resizableColumns - loadingText='Loading resource types' - selectionType='multi' - visibleColumns={['icon', 'type', 'resourceCount']} - empty={ - - No resources - - No resources to display. - - - } - header={ -
- Resources types -
- } - pagination={} - /> - ); + ); }; ResourcesTypes.propTypes = { - accounts: PropTypes.array, - onSelection: PropTypes.func.isRequired, + accounts: PropTypes.array, + onSelection: PropTypes.func.isRequired, }; export default ResourcesTypes; diff --git a/source/frontend/src/components/Explore/Resources/Utils/MultipleResourceDetailsPanel.js b/source/frontend/src/components/Explore/Resources/Utils/MultipleResourceDetailsPanel.js index c1f09f2c..50da1ba4 100644 --- a/source/frontend/src/components/Explore/Resources/Utils/MultipleResourceDetailsPanel.js +++ b/source/frontend/src/components/Explore/Resources/Utils/MultipleResourceDetailsPanel.js @@ -2,72 +2,69 @@ // SPDX-License-Identifier: Apache-2.0 import React from 'react'; -import { Box, Header, Table } from '@cloudscape-design/components'; +import {Box, Header, Table} from '@cloudscape-design/components'; import PropTypes from 'prop-types'; -import * as R from 'ramda'; -import dayjs from 'dayjs'; -import localizedFormat from 'dayjs/plugin/localizedFormat'; -import relativeTime from 'dayjs/plugin/relativeTime'; +import * as R from 'ramda'; +import dayjs from 'dayjs'; +import localizedFormat from 'dayjs/plugin/localizedFormat'; +import relativeTime from 'dayjs/plugin/relativeTime'; dayjs.extend(localizedFormat); dayjs.extend(relativeTime); function ComparisonType(comparisonType) { - return {comparisonType} + return {comparisonType}; } -const MultipleResourceDetailsPanel = ({ resources }) => { - +const MultipleResourceDetailsPanel = ({resources}) => { const keyHeaderMap = { resourceType: 'Resource type', accountId: 'Account Id', awsRegion: 'Region', availabilityZone: 'Availability zone', - }; - const transformedData = [ + }; + const transformedData = [ 'resourceType', 'accountId', 'awsRegion', 'availabilityZone', - ].map(key => { - const data = { comparisonType: keyHeaderMap[key] }; + ].map(key => { + const data = {comparisonType: keyHeaderMap[key]}; + + R.map(e => (data[e.id] = e.properties[key]), resources); - R.map(e => data[e.id] = e.properties[key], resources) - return data; - }); - - const columnDefinitions = [ + }); + + const columnDefinitions = [ { - id: 'comparisonType', - header: '', - cell: ({ comparisonType }) => ComparisonType(comparisonType) + id: 'comparisonType', + header: '', + cell: ({comparisonType}) => ComparisonType(comparisonType), }, - ...resources.map(({ id, properties }) => ({ - id, - header: properties.title, - cell: item => (Array.isArray(item[id]) ? item[id].join(', ') : item[id]) - })) - ]; + ...resources.map(({id, properties}) => ({ + id, + header: properties.title, + cell: item => + Array.isArray(item[id]) ? item[id].join(', ') : item[id], + })), + ]; - return ( - -
Resource details} - items={transformedData} - columnDefinitions={columnDefinitions} - variant="embedded" - /> - - ); + return ( + +
Resource details} + items={transformedData} + columnDefinitions={columnDefinitions} + variant="embedded" + /> + + ); }; MultipleResourceDetailsPanel.propTypes = { - resources: PropTypes.array.isRequired, + resources: PropTypes.array.isRequired, }; export default MultipleResourceDetailsPanel; - - - diff --git a/source/frontend/src/components/Explore/Resources/Utils/ResourceDetailsTagTable.js b/source/frontend/src/components/Explore/Resources/Utils/ResourceDetailsTagTable.js index d8087dca..b4505a0e 100644 --- a/source/frontend/src/components/Explore/Resources/Utils/ResourceDetailsTagTable.js +++ b/source/frontend/src/components/Explore/Resources/Utils/ResourceDetailsTagTable.js @@ -6,68 +6,72 @@ import Table from '@cloudscape-design/components/table'; import Box from '@cloudscape-design/components/box'; import TextFilter from '@cloudscape-design/components/text-filter'; import Pagination from '@cloudscape-design/components/pagination'; -import { useCollection } from '@cloudscape-design/collection-hooks'; +import {useCollection} from '@cloudscape-design/collection-hooks'; export const ResourceDetailsTagTable = ({ - trackBy, - rows, - columns, - sortColumn, - pageSize, - visibleColumns, + trackBy, + rows, + columns, + sortColumn, + pageSize, + visibleColumns, }) => { - const { - items, - filterProps, - collectionProps, - paginationProps, - } = useCollection(rows, { - filtering: { - empty: ( - - No tags - - No tags to display. - - - ), - noMatch: ( - - No match - - No tags matched. - - - ), - }, - pagination: { pageSize: pageSize }, - sorting: { sortingColumn: sortColumn }, - }); + const {items, filterProps, collectionProps, paginationProps} = + useCollection(rows, { + filtering: { + empty: ( + + No tags + + No tags to display. + + + ), + noMatch: ( + + No match + + No tags matched. + + + ), + }, + pagination: {pageSize: pageSize}, + sorting: {sortingColumn: sortColumn}, + }); - return ( -
- } - empty={ - - No tags - - No tags to display. - - - } - pagination={} - /> - ); + return ( +
+ } + empty={ + + No tags + + No tags to display. + + + } + pagination={} + /> + ); }; export default ResourceDetailsTagTable; diff --git a/source/frontend/src/components/Explore/Resources/Utils/ResourcesHelper.js b/source/frontend/src/components/Explore/Resources/Utils/ResourcesHelper.js index c8154b96..052b0edc 100644 --- a/source/frontend/src/components/Explore/Resources/Utils/ResourcesHelper.js +++ b/source/frontend/src/components/Explore/Resources/Utils/ResourcesHelper.js @@ -2,19 +2,19 @@ // SPDX-License-Identifier: Apache-2.0 import React from 'react'; -import { HelpPanel } from '@cloudscape-design/components'; +import {HelpPanel} from '@cloudscape-design/components'; const Welcome = () => { - return ( - AWS Resources}> -
-

- You can explore the AWS Resources that Workload Discovery on AWS has discovered. -

-
-
- ); + return ( + AWS Resources}> +
+

+ You can explore the AWS Resources that Workload Discovery on + AWS has discovered. +

+
+
+ ); }; export default Welcome; diff --git a/source/frontend/src/components/Explore/Resources/Utils/ResourcesSplitPanel.js b/source/frontend/src/components/Explore/Resources/Utils/ResourcesSplitPanel.js index 98766cf3..16d150a5 100644 --- a/source/frontend/src/components/Explore/Resources/Utils/ResourcesSplitPanel.js +++ b/source/frontend/src/components/Explore/Resources/Utils/ResourcesSplitPanel.js @@ -2,56 +2,57 @@ // SPDX-License-Identifier: Apache-2.0 import React from 'react'; -import { SplitPanel } from '@cloudscape-design/components'; -import { useResourceState } from '../../../Contexts/ResourceContext'; +import {SplitPanel} from '@cloudscape-design/components'; +import {useResourceState} from '../../../Contexts/ResourceContext'; import MultipleResourceDetailsPanel from './MultipleResourceDetailsPanel'; -import * as R from 'ramda'; -import ResourceDetails from "../../../Shared/ResourceDetails"; +import * as R from 'ramda'; +import ResourceDetails from '../../../Shared/ResourceDetails'; const ResourcesSplitPanel = () => { - const [{ resources }] = useResourceState({}); + const [{resources}] = useResourceState({}); - const getDetailsPanel = () => { - if (R.gt(R.length(resources), 1)) - return { - header: `${resources.length} resources selected`, - body: , - }; - else if (R.isEmpty(resources)) - return { - header: 'Select a resource', - body: 'Select a resource to see its details.', - }; - else - return { - header: R.head(resources).properties.title, - body: , - }; - }; + const getDetailsPanel = () => { + if (R.gt(R.length(resources), 1)) + return { + header: `${resources.length} resources selected`, + body: , + }; + else if (R.isEmpty(resources)) + return { + header: 'Select a resource', + body: 'Select a resource to see its details.', + }; + else + return { + header: R.head(resources).properties.title, + body: , + }; + }; - const { header: panelHeader, body: panelBody } = getDetailsPanel(); + const {header: panelHeader, body: panelBody} = getDetailsPanel(); - return ( - - {panelBody} - - ); + return ( + + {panelBody} + + ); }; export default ResourcesSplitPanel; diff --git a/source/frontend/src/components/Explore/Shared/ResourcesTable.js b/source/frontend/src/components/Explore/Shared/ResourcesTable.js index 044cf1ec..5e387daa 100644 --- a/source/frontend/src/components/Explore/Shared/ResourcesTable.js +++ b/source/frontend/src/components/Explore/Shared/ResourcesTable.js @@ -1,44 +1,66 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import {fetchImage} from "../../../Utils/ImageSelector"; -import {useCollection} from "@cloudscape-design/collection-hooks"; -import {Box, Button, Header, Pagination, SpaceBetween, Table, TextFilter} from "@cloudscape-design/components"; -import * as R from "ramda"; -import React, {useEffect} from "react"; -import {useResourcesSearchPaginated} from "../../Hooks/useResources"; -import {createTableAriaLabels} from "../../../Utils/AccessibilityUtils"; -import {useResourceState} from "../../Contexts/ResourceContext"; -import {useHistory} from "react-router-dom"; -import {useDebounce, useDeepCompareEffect} from "react-use"; -import {CREATE_DIAGRAM} from "../../../routes"; -import PropTypes from "prop-types"; -import {useGetResourceGraph} from "../../Hooks/useGetResourceGraph"; +import {fetchImage} from '../../../Utils/ImageSelector'; +import {useCollection} from '@cloudscape-design/collection-hooks'; +import { + Box, + Button, + Header, + Pagination, + SpaceBetween, + Table, + TextFilter, +} from '@cloudscape-design/components'; +import * as R from 'ramda'; +import React, {useEffect} from 'react'; +import {useResourcesSearchPaginated} from '../../Hooks/useResources'; +import {createTableAriaLabels} from '../../../Utils/AccessibilityUtils'; +import {useResourceState} from '../../Contexts/ResourceContext'; +import {useHistory} from 'react-router-dom'; +import {useDebounce, useDeepCompareEffect} from 'react-use'; +import {CREATE_DIAGRAM} from '../../../routes'; +import PropTypes from 'prop-types'; +import {useGetResourceGraph} from '../../Hooks/useGetResourceGraph'; function ImageCell(item) { - return + return ( + + ); } function ResourcesTable({accounts, resourceTypes, pageSize}) { - const [debouncedValue, setDebouncedValue] = React.useState(""); + const [debouncedValue, setDebouncedValue] = React.useState(''); const [selectedItems, setSelectedItems] = React.useState([]); - const [filterText, setFilterText] = React.useState(""); + const [filterText, setFilterText] = React.useState(''); const [currentPageIndex, setCurrentPageIndex] = React.useState(1); const [paginationToken, setPaginationToken] = React.useState({ start: 0, end: pageSize, }); - const {data: resources=[], count: resourceCount=0, isLoading: loadingResources} = useResourcesSearchPaginated( + const { + data: resources = [], + count: resourceCount = 0, + isLoading: loadingResources, + } = useResourcesSearchPaginated( debouncedValue, paginationToken, accounts, - resourceTypes, - ) + resourceTypes + ); const [, dispatch] = useResourceState(); const history = useHistory(); - const {data: nodeData, refetch: loadSelected, isLoading, isError} = useGetResourceGraph(R.map((e) => e.properties.arn, selectedItems)); + const { + data: nodeData, + refetch: loadSelected, + isLoading, + isError, + } = useGetResourceGraph(R.map(e => e.properties.arn, selectedItems)); useDebounce( () => { @@ -52,50 +74,54 @@ function ResourcesTable({accounts, resourceTypes, pageSize}) { setCurrentPageIndex(1); setPaginationToken({ start: 0, - end: pageSize + end: pageSize, }); }, [accounts, resourceTypes]); useEffect(() => { if (nodeData && !isError) { - Promise.resolve(dispatch({ - type: 'updateGraphResources', - graphResources: nodeData, - })) - .then(() => history.push(CREATE_DIAGRAM)) - + Promise.resolve( + dispatch({ + type: 'updateGraphResources', + graphResources: nodeData, + }) + ).then(() => history.push(CREATE_DIAGRAM)); } - }, [nodeData, dispatch, history, isError]) + }, [nodeData, dispatch, history, isError]); - const { - items, - filterProps, - collectionProps, - paginationProps, - } = useCollection(resources, { - filtering: { - empty: ( - - No resources - - Try selecting a resource type from the table above. + const {items, filterProps, collectionProps, paginationProps} = + useCollection(resources, { + filtering: { + empty: ( + + No resources + + Try selecting a resource type from the table above. + - - ), - noMatch: ( - - No match - - No resources matched. + ), + noMatch: ( + + No match + + No resources matched. + - - ), - }, - pagination: { pageSize: pageSize }, - sorting: { sortingColumn: 'name' }, - }); + ), + }, + pagination: {pageSize: pageSize}, + sorting: {sortingColumn: 'name'}, + }); - const handlePageChange = (detail) => { + const handlePageChange = detail => { let page = detail.currentPageIndex; page--; setPaginationToken({ @@ -107,26 +133,29 @@ function ResourcesTable({accounts, resourceTypes, pageSize}) { return (
- setFilterText(detail.filteringText) - } + onChange={({detail}) => setFilterText(detail.filteringText)} /> } loading={loadingResources} selectedItems={selectedItems} - selectionType='multi' - onSelectionChange={(e) => { + selectionType="multi" + onSelectionChange={e => { dispatch({ type: 'select', resources: e.detail.selectedItems, @@ -137,17 +166,19 @@ function ResourcesTable({accounts, resourceTypes, pageSize}) { header={
+ } - counter={`(${resourceCount})`}> + counter={`(${resourceCount})`} + > Resources
} @@ -161,28 +192,28 @@ function ResourcesTable({accounts, resourceTypes, pageSize}) { { id: 'name', header: 'Name', - cell: (item) => item.properties.title, + cell: item => item.properties.title, minWidth: 250, width: 250, }, { id: 'type', header: 'Type', - cell: (item) => item.properties.resourceType, + cell: item => item.properties.resourceType, minWidth: 250, width: 250, }, { id: 'account', header: 'Account Id', - cell: (item) => item.properties.accountId, + cell: item => item.properties.accountId, minWidth: 150, width: 150, }, { id: 'region', header: 'Region', - cell: (item) => item.properties.awsRegion, + cell: item => item.properties.awsRegion, minWidth: 150, width: 150, }, @@ -193,13 +224,12 @@ function ResourcesTable({accounts, resourceTypes, pageSize}) { ariaLabels={{ nextPageLabel: 'Next page', previousPageLabel: 'Previous page', - pageLabel: (pageNumber) => `Page ${pageNumber} of all pages`, + pageLabel: pageNumber => + `Page ${pageNumber} of all pages`, }} currentPageIndex={currentPageIndex} - onChange={({ detail }) => handlePageChange(detail)} - pagesCount={Math.ceil( - resourceCount / pageSize - )} + onChange={({detail}) => handlePageChange(detail)} + pagesCount={Math.ceil(resourceCount / pageSize)} openEnd /> } @@ -211,7 +241,7 @@ function ResourcesTable({accounts, resourceTypes, pageSize}) { ResourcesTable.propTypes = { accounts: PropTypes.array, resourceTypes: PropTypes.array, - pageSize: PropTypes.number + pageSize: PropTypes.number, }; export default ResourcesTable; diff --git a/source/frontend/src/components/Explore/Views/Shared/ViewOverview.js b/source/frontend/src/components/Explore/Views/Shared/ViewOverview.js index 11c4d7b7..a2b0c81d 100644 --- a/source/frontend/src/components/Explore/Views/Shared/ViewOverview.js +++ b/source/frontend/src/components/Explore/Views/Shared/ViewOverview.js @@ -3,46 +3,45 @@ import React from 'react'; import { - ColumnLayout, - Container, - Header, - TextContent, + ColumnLayout, + Container, + Header, + TextContent, } from '@cloudscape-design/components'; import PropTypes from 'prop-types'; import * as R from 'ramda'; import ValueWithLabel from '../../../Shared/ValueWithLabel'; -const ViewOverview = ({ accounts, resourceTypes }) => { - const accountsToRegionList = R.uniq(R.chain(i => i.regions, accounts)); +const ViewOverview = ({accounts, resourceTypes}) => { + const accountsToRegionList = R.uniq(R.chain(i => i.regions, accounts)); - return ( - Overview}> - - - -

{R.length(accounts)}

-
-
- - -

{R.length(accountsToRegionList)}

-
-
- - -

{R.length(resourceTypes)}

-
-
-
-
- ); + return ( + Overview}> + + + +

{R.length(accounts)}

+
+
+ + +

{R.length(accountsToRegionList)}

+
+
+ + +

{R.length(resourceTypes)}

+
+
+
+
+ ); }; ViewOverview.propTypes = { - accounts: PropTypes.array.isRequired, - regions: PropTypes.array.isRequired, - resourceTypes: PropTypes.array.isRequired, + accounts: PropTypes.array.isRequired, + regions: PropTypes.array.isRequired, + resourceTypes: PropTypes.array.isRequired, }; export default ViewOverview; diff --git a/source/frontend/src/components/Explore/Views/Shared/ViewSelector.js b/source/frontend/src/components/Explore/Views/Shared/ViewSelector.js index 623bbf95..c528746a 100644 --- a/source/frontend/src/components/Explore/Views/Shared/ViewSelector.js +++ b/source/frontend/src/components/Explore/Views/Shared/ViewSelector.js @@ -3,100 +3,134 @@ import React, {useEffect} from 'react'; import { - Button, - Container, - Form, - FormField, - Header, - Select, - SpaceBetween, + Button, + Container, + Form, + FormField, + Header, + Select, + SpaceBetween, } from '@cloudscape-design/components'; import {CREATE_VIEW, EDIT_VIEW, VIEW, VIEWS} from '../../../../routes'; import {useHistory, useParams} from 'react-router-dom'; import PropTypes from 'prop-types'; -import {privateLevel, useListObjects, useObject, useRemoveObject, viewsPrefix} from "../../../Hooks/useS3Objects"; -import * as R from "ramda"; +import { + privateLevel, + useListObjects, + useObject, + useRemoveObject, + viewsPrefix, +} from '../../../Hooks/useS3Objects'; +import * as R from 'ramda'; -const ViewSelector = ({ selectedOption, onSelect }) => { - const {name} = useParams(); - const {data: views=[], refetch, status} = useListObjects(viewsPrefix, privateLevel); - const {data: viewData, isLoading} = useObject(name, viewsPrefix, privateLevel, {enabled: !!name}); - const {removeAsync} = useRemoveObject(viewsPrefix); - const history = useHistory(); - const options = R.map((e) => { - return { label: R.split('/', e.key)[1], value: e.key }; - }, views); +const ViewSelector = ({selectedOption, onSelect}) => { + const {name} = useParams(); + const { + data: views = [], + refetch, + status, + } = useListObjects(viewsPrefix, privateLevel); + const {data: viewData, isLoading} = useObject( + name, + viewsPrefix, + privateLevel, + {enabled: !!name} + ); + const {removeAsync} = useRemoveObject(viewsPrefix); + const history = useHistory(); + const options = R.map(e => { + return {label: R.split('/', e.key)[1], value: e.key}; + }, views); - useEffect(() => { - if(viewData && name) { - onSelect(R.assoc('key', name, viewData)) - } else { - onSelect(null) - } - }, [name, onSelect, viewData]); + useEffect(() => { + if (viewData && name) { + onSelect(R.assoc('key', name, viewData)); + } else { + onSelect(null); + } + }, [name, onSelect, viewData]); - const onViewSelected = (detail) => { - history.replace(VIEW.replace(":name", detail.selectedOption.label)); - }; + const onViewSelected = detail => { + history.replace(VIEW.replace(':name', detail.selectedOption.label)); + }; - return ( - - - - - - }> - Views - - }> -
e.preventDefault()}> - - - }> - i.label === selectedOption) || + null + } + placeholder="Choose a view" + onChange={({detail}) => onViewSelected(detail)} + options={options} + selectedAriaLabel="Selected" + statusType={status} + loadingText={'Loading views'} + errorText={'Unable to load views'} + /> + + + +
+ ); }; ViewSelector.propTypes = { - selectedOption: PropTypes.string, - onSelect: PropTypes.func.isRequired, + selectedOption: PropTypes.string, + onSelect: PropTypes.func.isRequired, }; export default ViewSelector; diff --git a/source/frontend/src/components/Explore/Views/ViewExplorerAccountsTable.js b/source/frontend/src/components/Explore/Views/ViewExplorerAccountsTable.js index 5036e689..58d97ab1 100644 --- a/source/frontend/src/components/Explore/Views/ViewExplorerAccountsTable.js +++ b/source/frontend/src/components/Explore/Views/ViewExplorerAccountsTable.js @@ -3,72 +3,79 @@ import React from 'react'; import { - Box, - TextFilter, - Header, - SpaceBetween, - Table, - Pagination, + Box, + TextFilter, + Header, + SpaceBetween, + Table, + Pagination, } from '@cloudscape-design/components'; -import { useCollection } from '@cloudscape-design/collection-hooks'; +import {useCollection} from '@cloudscape-design/collection-hooks'; -import * as R from 'ramda'; +import * as R from 'ramda'; -const ViewExplorerAccountsTable = ({ selectedView }) => { - const { - items, - filterProps, - collectionProps, - paginationProps, - } = useCollection(R.pathOr([], ['accounts'], selectedView), { - filtering: { - empty: ( - - No Accounts - - No Accounts to display - - - ), - noMatch: ( - - No match - - No Accounts matched. - - - ), - }, - pagination: { pageSize: 5 }, - sorting: {}, - }); +const ViewExplorerAccountsTable = ({selectedView}) => { + const {items, filterProps, collectionProps, paginationProps} = + useCollection(R.pathOr([], ['accounts'], selectedView), { + filtering: { + empty: ( + + No Accounts + + No Accounts to display + + + ), + noMatch: ( + + No match + + No Accounts matched. + + + ), + }, + pagination: {pageSize: 5}, + sorting: {}, + }); - return ( - -
e.accountId, - }, - ]} - items={items} - loadingText='Loading accounts' - visibleColumns={['accountId', 'regions', 'resourceCount']} - filter={ - - } - pagination={} - header={
AWS Accounts
} - /> - - ); + return ( + +
e.accountId, + }, + ]} + items={items} + loadingText="Loading accounts" + visibleColumns={['accountId', 'regions', 'resourceCount']} + filter={ + + } + pagination={} + header={
AWS Accounts
} + /> + + ); }; export default ViewExplorerAccountsTable; diff --git a/source/frontend/src/components/Explore/Views/ViewExplorerHelper.js b/source/frontend/src/components/Explore/Views/ViewExplorerHelper.js index 8b203255..a08e8add 100644 --- a/source/frontend/src/components/Explore/Views/ViewExplorerHelper.js +++ b/source/frontend/src/components/Explore/Views/ViewExplorerHelper.js @@ -2,14 +2,14 @@ // SPDX-License-Identifier: Apache-2.0 import React from 'react'; -import { HelpPanel } from '@cloudscape-design/components'; +import {HelpPanel} from '@cloudscape-design/components'; const ViewExplorerHelper = () => { - return ( - Explore Views}> -

Select a View to see AWS Resources that match its definition

-
- ); + return ( + Explore Views}> +

Select a View to see AWS Resources that match its definition

+
+ ); }; export default ViewExplorerHelper; diff --git a/source/frontend/src/components/Explore/Views/ViewExplorerPage.js b/source/frontend/src/components/Explore/Views/ViewExplorerPage.js index 7a3b0b3c..b1f0ce08 100644 --- a/source/frontend/src/components/Explore/Views/ViewExplorerPage.js +++ b/source/frontend/src/components/Explore/Views/ViewExplorerPage.js @@ -1,90 +1,101 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import React, {useEffect} from "react"; -import * as R from 'ramda'; -import { - ColumnLayout, - SpaceBetween, -} from '@cloudscape-design/components'; +import React, {useEffect} from 'react'; +import * as R from 'ramda'; +import {ColumnLayout, SpaceBetween} from '@cloudscape-design/components'; import Breadcrumbs from '../../../Utils/Breadcrumbs'; import ViewExplorerAccountsTable from './ViewExplorerAccountsTable'; import ViewExplorerRegionsTable from './ViewExplorerRegionsTable'; import ViewExplorerResourceTypesTable from './ViewExplorerResourceTypesTable'; import ViewSelector from './Shared/ViewSelector'; import ViewOverview from './Shared/ViewOverview'; -import { useDiagramSettingsState } from '../../Contexts/DiagramSettingsContext'; -import { useResourceState } from '../../Contexts/ResourceContext'; -import {VIEWS} from "../../../routes"; -import ResourcesTable from "../Shared/ResourcesTable"; +import {useDiagramSettingsState} from '../../Contexts/DiagramSettingsContext'; +import {useResourceState} from '../../Contexts/ResourceContext'; +import {VIEWS} from '../../../routes'; +import ResourcesTable from '../Shared/ResourcesTable'; -const filterAccounts = R.chain((e) => { +const filterAccounts = R.chain(e => { return { accountId: e.accountId, - ...( - e.regions?.length > 0 - ? { - regions: R.map((r) => { - return { name: r.name }; - }, R.pathOr([], ['regions'], e)) - } - : {} - ), + ...(e.regions?.length > 0 + ? { + regions: R.map( + r => { + return {name: r.name}; + }, + R.pathOr([], ['regions'], e) + ), + } + : {}), }; }); const ViewExplorerPage = () => { - const [selectedView, setSelectedView] = React.useState(null); - const [, dispatchCanvas] = useDiagramSettingsState(); - const [, dispatch] = useResourceState(); + const [selectedView, setSelectedView] = React.useState(null); + const [, dispatchCanvas] = useDiagramSettingsState(); + const [, dispatch] = useResourceState(); - useEffect(() => { - dispatch({ - type: 'select', - resources: {}, - }); - dispatchCanvas({ - type: 'setCanvas', - canvas: null, - }); - dispatchCanvas({ - type: 'setResources', - resources: [], - }); - }, [dispatch, dispatchCanvas]); + useEffect(() => { + dispatch({ + type: 'select', + resources: {}, + }); + dispatchCanvas({ + type: 'setCanvas', + canvas: null, + }); + dispatchCanvas({ + type: 'setResources', + resources: [], + }); + }, [dispatch, dispatchCanvas]); - return ( - - - - - { - selectedView && ( - <> - - - - - - - r.type, - R.pathOr([], ['resourceTypes'], selectedView) - )} - pageSize={10} - /> - - ) - } - - - ); + return ( + + + + + {selectedView && ( + <> + + + + + + + r.type, + R.pathOr([], ['resourceTypes'], selectedView) + )} + pageSize={10} + /> + + )} + + + ); }; export default ViewExplorerPage; diff --git a/source/frontend/src/components/Explore/Views/ViewExplorerRegionsTable.js b/source/frontend/src/components/Explore/Views/ViewExplorerRegionsTable.js index 75cc9799..94c164bc 100644 --- a/source/frontend/src/components/Explore/Views/ViewExplorerRegionsTable.js +++ b/source/frontend/src/components/Explore/Views/ViewExplorerRegionsTable.js @@ -3,81 +3,93 @@ import React from 'react'; import { - Box, - TextFilter, - Header, - SpaceBetween, - Table, - Pagination, + Box, + TextFilter, + Header, + SpaceBetween, + Table, + Pagination, } from '@cloudscape-design/components'; -import { useCollection } from '@cloudscape-design/collection-hooks'; -import { regionMap } from '../../../Utils/Dictionaries/RegionMap'; +import {useCollection} from '@cloudscape-design/collection-hooks'; +import {regionMap} from '../../../Utils/Dictionaries/RegionMap'; -import * as R from 'ramda'; +import * as R from 'ramda'; -const ViewExplorerRegionsTable = ({ selectedView }) => { - const regions = selectedView.accounts?.reduce((acc, next) => R.uniq(acc.concat(next.regions ?? [])), []) ?? [] +const ViewExplorerRegionsTable = ({selectedView}) => { + const regions = + selectedView.accounts?.reduce( + (acc, next) => R.uniq(acc.concat(next.regions ?? [])), + [] + ) ?? []; - const { - items, - filterProps, - collectionProps, - paginationProps, - } = useCollection(regions, { - filtering: { - empty: ( - - No Regions - - No Regions to display - - - ), - noMatch: ( - - No match - - No Regions matched. - - - ), - }, - pagination: { pageSize: 5 }, - sorting: {}, - }); + const {items, filterProps, collectionProps, paginationProps} = + useCollection(regions, { + filtering: { + empty: ( + + No Regions + + No Regions to display + + + ), + noMatch: ( + + No match + + No Regions matched. + + + ), + }, + pagination: {pageSize: 5}, + sorting: {}, + }); - return ( - -
`select ${t.accountId}`, - selectionGroupLabel: 'Item selection', - }} - columnDefinitions={[ - { - id: 'awsId', - header: 'Id', - cell: (e) => e.name, - }, - { - id: 'name', - header: 'Name', - cell: (e) => R.find(R.propEq('id', e.name), regionMap).name, - }, - ]} - items={items} - loadingText='Loading Regions' - visibleColumns={['awsId', 'name']} - filter={ - - } - pagination={} - header={
Regions
} - /> - - ); + return ( + +
`select ${t.accountId}`, + selectionGroupLabel: 'Item selection', + }} + columnDefinitions={[ + { + id: 'awsId', + header: 'Id', + cell: e => e.name, + }, + { + id: 'name', + header: 'Name', + cell: e => + R.find(R.propEq('id', e.name), regionMap).name, + }, + ]} + items={items} + loadingText="Loading Regions" + visibleColumns={['awsId', 'name']} + filter={ + + } + pagination={} + header={
Regions
} + /> + + ); }; export default ViewExplorerRegionsTable; diff --git a/source/frontend/src/components/Explore/Views/ViewExplorerResourceTypesTable.js b/source/frontend/src/components/Explore/Views/ViewExplorerResourceTypesTable.js index 6a0a9527..ea65041e 100644 --- a/source/frontend/src/components/Explore/Views/ViewExplorerResourceTypesTable.js +++ b/source/frontend/src/components/Explore/Views/ViewExplorerResourceTypesTable.js @@ -3,85 +3,89 @@ import React from 'react'; import { - Box, - TextFilter, - Header, - SpaceBetween, - Table, - Pagination, + Box, + TextFilter, + Header, + SpaceBetween, + Table, + Pagination, } from '@cloudscape-design/components'; -import { useCollection } from '@cloudscape-design/collection-hooks'; -import { fetchImage } from '../../../Utils/ImageSelector'; +import {useCollection} from '@cloudscape-design/collection-hooks'; +import {fetchImage} from '../../../Utils/ImageSelector'; -import * as R from 'ramda'; +import * as R from 'ramda'; function imageCell(item) { - return ; + return ; } -const ViewExplorerResourceTypesTable = ({ selectedView }) => { - const { - items, - filterProps, - collectionProps, - paginationProps, - } = useCollection(R.pathOr([], ['resourceTypes'], selectedView), { - filtering: { - empty: ( - - No resource types - - No resource types to display - - - ), - noMatch: ( - - No match - - No resource types matched. - - - ), - }, - pagination: { pageSize: 5 }, - sorting: {}, - selection: { keepSelection: true, trackBy: i => i.id }, - }); +const ViewExplorerResourceTypesTable = ({selectedView}) => { + const {items, filterProps, collectionProps, paginationProps} = + useCollection(R.pathOr([], ['resourceTypes'], selectedView), { + filtering: { + empty: ( + + No resource types + + No resource types to display + + + ), + noMatch: ( + + No match + + No resource types matched. + + + ), + }, + pagination: {pageSize: 5}, + sorting: {}, + selection: {keepSelection: true, trackBy: i => i.id}, + }); - return ( - -
imageCell(e), - }, - { - id: 'type', - header: 'Type', - cell: (e) => e.type, - }, - ]} - items={items} - loadingText='Loading Resource types' - visibleColumns={['icon', 'type']} - filter={ - - } - pagination={} - header={
Resource types
} - /> - - ); + return ( + +
imageCell(e), + }, + { + id: 'type', + header: 'Type', + cell: e => e.type, + }, + ]} + items={items} + loadingText="Loading Resource types" + visibleColumns={['icon', 'type']} + filter={ + + } + pagination={} + header={
Resource types
} + /> + + ); }; export default ViewExplorerResourceTypesTable; diff --git a/source/frontend/src/components/Explore/Views/ViewForm/ViewFormDetailsSection.js b/source/frontend/src/components/Explore/Views/ViewForm/ViewFormDetailsSection.js index f7186560..347562f1 100644 --- a/source/frontend/src/components/Explore/Views/ViewForm/ViewFormDetailsSection.js +++ b/source/frontend/src/components/Explore/Views/ViewForm/ViewFormDetailsSection.js @@ -3,82 +3,99 @@ import React, {useState} from 'react'; import { - Alert, - Button, - Container, - Form, - FormField, Header, - Input, - SpaceBetween, + Alert, + Button, + Container, + Form, + FormField, + Header, + Input, + SpaceBetween, } from '@cloudscape-design/components'; import PropTypes from 'prop-types'; -import {privateLevel, useListObjects, viewsPrefix} from "../../../Hooks/useS3Objects"; -import * as R from 'ramda'; +import { + privateLevel, + useListObjects, + viewsPrefix, +} from '../../../Hooks/useS3Objects'; +import * as R from 'ramda'; + +const ViewFormDetailsSection = ({view, onSubmit}) => { + const [viewName, setViewName] = useState(view.name ?? ''); + const {data: existingViews = []} = useListObjects( + viewsPrefix, + privateLevel + ); -const ViewFormDetailsSection = ({ view, onSubmit }) => { - const [viewName, setViewName] = useState(view.name ?? ""); - const {data: existingViews=[]} = useListObjects(viewsPrefix, privateLevel); + const validName = R.allPass([ + x => R.equals(R.length(R.match(/[!@#$%^&*(),.?":{}|<>]/g, x)), 0), + x => R.and(R.gt(R.length(x), 0), R.lte(R.length(x), 64)), + ]); - const validName = R.allPass([ - (x) => R.equals(R.length(R.match(/[!@#$%^&*(),.?":{}|<>]/g, x)), 0), - (x) => R.and(R.gt(R.length(x), 0), R.lte(R.length(x), 64)), - ]); + const isAnOverwrite = () => + R.includes( + viewName, + R.map(e => R.split('/', e.key)[1], existingViews) + ); - const isAnOverwrite = () => - R.includes( - viewName, - R.map((e) => R.split('/', e.key)[1], existingViews) + return ( + +
onSubmit(viewName)} + variant={'primary'} + > + Save + + } + > + View Details} + > + + + + setViewName(detail.value) + } + value={viewName} + /> + + {isAnOverwrite() && ( + + Workload Discovery on AWS will Overwrite the + existing view {viewName} + + )} + + + +
); - - return ( - -
onSubmit(viewName)} - variant={'primary'}> - Save - - }> - View Details }> - - - setViewName(detail.value)} - value={viewName} - /> - - { - isAnOverwrite() && - Workload Discovery on AWS will Overwrite the existing view {viewName} - - } - - - -
- ); }; ViewFormDetailsSection.propTypes = { - view: PropTypes.object.isRequired, - onSubmit: PropTypes.func.isRequired, + view: PropTypes.object.isRequired, + onSubmit: PropTypes.func.isRequired, }; export default ViewFormDetailsSection; diff --git a/source/frontend/src/components/Explore/Views/ViewForm/ViewFormHelper.js b/source/frontend/src/components/Explore/Views/ViewForm/ViewFormHelper.js index b3e41312..c4f79879 100644 --- a/source/frontend/src/components/Explore/Views/ViewForm/ViewFormHelper.js +++ b/source/frontend/src/components/Explore/Views/ViewForm/ViewFormHelper.js @@ -2,40 +2,40 @@ // SPDX-License-Identifier: Apache-2.0 import React from 'react'; -import { HelpPanel } from '@cloudscape-design/components'; -import {matchPath, useLocation} from "react-router-dom"; -import {EDIT_VIEW} from "../../../../routes"; +import {HelpPanel} from '@cloudscape-design/components'; +import {matchPath, useLocation} from 'react-router-dom'; +import {EDIT_VIEW} from '../../../../routes'; const ViewFormHelper = () => { - const location = useLocation(); - const isEdit = matchPath(location.pathname, { - path: EDIT_VIEW, - exact: true - }); + const location = useLocation(); + const isEdit = matchPath(location.pathname, { + path: EDIT_VIEW, + exact: true, + }); - return ( - {isEdit ? "Edit" : "Create"} a View}> -

Build a View of specific AWS Resources.

-
-
-
    -
  1. - Select AWS Accounts. -
  2. -
  3. - Select AWS Regions (optional). -
  4. -
  5. - Select AWS Resource types. -
  6. -
  7. - Choose Save. -
  8. -
-
-
-
- ); + return ( + {isEdit ? 'Edit' : 'Create'} a View}> +

Build a View of specific AWS Resources.

+
+
+
    +
  1. + Select AWS Accounts. +
  2. +
  3. + Select AWS Regions (optional). +
  4. +
  5. + Select AWS Resource types. +
  6. +
  7. + Choose Save. +
  8. +
+
+
+
+ ); }; export default ViewFormHelper; diff --git a/source/frontend/src/components/Explore/Views/ViewForm/ViewFormPage.js b/source/frontend/src/components/Explore/Views/ViewForm/ViewFormPage.js index 380f1615..3c6ef23f 100644 --- a/source/frontend/src/components/Explore/Views/ViewForm/ViewFormPage.js +++ b/source/frontend/src/components/Explore/Views/ViewForm/ViewFormPage.js @@ -3,121 +3,142 @@ import React, {useEffect} from 'react'; import { - ColumnLayout, Container, - Form, - Header, - SpaceBetween, + ColumnLayout, + Container, + Form, + Header, + SpaceBetween, } from '@cloudscape-design/components'; import Breadcrumbs from '../../../../Utils/Breadcrumbs'; import {CREATE_VIEW, EDIT_VIEW, VIEW, VIEWS} from '../../../../routes'; import ViewOverview from '../Shared/ViewOverview'; import {useHistory, useParams} from 'react-router-dom'; import ViewFormDetailsSection from './ViewFormDetailsSection'; -import {privateLevel, useObject, usePutObject, viewsPrefix} from "../../../Hooks/useS3Objects"; -import * as R from "ramda"; -import AccountMultiSelect from "../../Resources/Types/TypeOverview/AccountMultiSelect"; -import RegionMultiSelect from "../../Resources/Types/TypeOverview/RegionMultiSelect"; -import ResourcesTypes from "../../Resources/Types/TypeOverview/ResourcesTypes"; - +import { + privateLevel, + useObject, + usePutObject, + viewsPrefix, +} from '../../../Hooks/useS3Objects'; +import * as R from 'ramda'; +import AccountMultiSelect from '../../Resources/Types/TypeOverview/AccountMultiSelect'; +import RegionMultiSelect from '../../Resources/Types/TypeOverview/RegionMultiSelect'; +import ResourcesTypes from '../../Resources/Types/TypeOverview/ResourcesTypes'; const ViewFormPage = () => { - const [selectedResourceTypes, setSelectedResourceTypes] = React.useState([]); - const { name } = useParams(); - const isEdit = !R.isNil(name); - const {data: selectedView} = useObject(name, viewsPrefix, privateLevel, {enabled: isEdit}); - const [selectedAccounts, setSelectedAccounts] = React.useState([]); - const [selectedRegions, setSelectedRegions] = React.useState([]); - const { putAsync } = usePutObject(viewsPrefix); - const history = useHistory(); + const [selectedResourceTypes, setSelectedResourceTypes] = React.useState( + [] + ); + const {name} = useParams(); + const isEdit = !R.isNil(name); + const {data: selectedView} = useObject(name, viewsPrefix, privateLevel, { + enabled: isEdit, + }); + const [selectedAccounts, setSelectedAccounts] = React.useState([]); + const [selectedRegions, setSelectedRegions] = React.useState([]); + const {putAsync} = usePutObject(viewsPrefix); + const history = useHistory(); - useEffect(() => { - if (selectedView) { - setSelectedAccounts(R.pluck('accountId', R.pathOr([], ['accounts'], selectedView))); - const viewRegions = R.compose( - R.pluck('name'), - R.chain(x => x.regions ?? []), - R.propOr([], ['accounts']) - ); - setSelectedRegions(viewRegions(selectedView)); - } - }, [selectedView]) + useEffect(() => { + if (selectedView) { + setSelectedAccounts( + R.pluck('accountId', R.pathOr([], ['accounts'], selectedView)) + ); + const viewRegions = R.compose( + R.pluck('name'), + R.chain(x => x.regions ?? []), + R.propOr([], ['accounts']) + ); + setSelectedRegions(viewRegions(selectedView)); + } + }, [selectedView]); - const regionsToQueryParam = selectedRegions.length > 0 - ? {regions: R.uniq(R.map(i => ({name: i}), selectedRegions))} - : {} + const regionsToQueryParam = + selectedRegions.length > 0 + ? {regions: R.uniq(R.map(i => ({name: i}), selectedRegions))} + : {}; - const onSubmit = (viewName) => { - putAsync({ - key: viewName, - level: privateLevel, - type: 'application/json', - content: JSON.stringify({ - accounts: R.map((e) => { - return { - accountId: e, - ...(selectedRegions.length > 0 - ? {regions: R.map((e) => { - return { name: e }; - }, selectedRegions)} - : {}) - }; - }, selectedAccounts), - resourceTypes: R.map((e) => { - return { type: e.type }; - }, selectedResourceTypes), - }) - }).then(() => history.push(VIEW.replace(":name", viewName))) - } + const onSubmit = viewName => { + putAsync({ + key: viewName, + level: privateLevel, + type: 'application/json', + content: JSON.stringify({ + accounts: R.map(e => { + return { + accountId: e, + ...(selectedRegions.length > 0 + ? { + regions: R.map(e => { + return {name: e}; + }, selectedRegions), + } + : {}), + }; + }, selectedAccounts), + resourceTypes: R.map(e => { + return {type: e.type}; + }, selectedResourceTypes), + }), + }).then(() => history.push(VIEW.replace(':name', viewName))); + }; - return ( - - -
{isEdit ? name : "Create View"}
-
- - Resource Filters}> - - - - - - ({ - accountId: i, - ...regionsToQueryParam - }))} - onSelection={setSelectedResourceTypes} - /> - - + - - -
- ); +
{isEdit ? name : 'Create View'}
+
+ + Resource Filters + } + > + + + + + + ({ + accountId: i, + ...regionsToQueryParam, + }))} + onSelection={setSelectedResourceTypes} + /> + + + + + + ); }; export default ViewFormPage; diff --git a/source/frontend/src/components/Homepage/Homepage.js b/source/frontend/src/components/Homepage/Homepage.js index c39789e0..a724a2d9 100644 --- a/source/frontend/src/components/Homepage/Homepage.js +++ b/source/frontend/src/components/Homepage/Homepage.js @@ -4,294 +4,376 @@ /** @jsxImportSource @emotion/react */ import React from 'react'; import { - Box, - Button, - ColumnLayout, - Container, - Grid, - Header, - Icon, - SpaceBetween, - Link, + Box, + Button, + ColumnLayout, + Container, + Grid, + Header, + Icon, + SpaceBetween, + Link, } from '@cloudscape-design/components'; -import {ACCOUNTS, DIAGRAM_MANAGEMENT, IMPORT, RESOURCES} from "../../routes"; -import useLink from "../Hooks/useLink"; -import { css } from '@emotion/react' +import {ACCOUNTS, DIAGRAM_MANAGEMENT, IMPORT, RESOURCES} from '../../routes'; +import useLink from '../Hooks/useLink'; +import {css} from '@emotion/react'; import { - colorBackgroundHomeHeader, colorBorderDividerDefault, - colorTextHomeHeaderDefault, - colorTextHomeHeaderSecondary -} from "@cloudscape-design/design-tokens"; -import {isUsingOrganizations} from "../../Utils/AccountUtils"; + colorBackgroundHomeHeader, + colorBorderDividerDefault, + colorTextHomeHeaderDefault, + colorTextHomeHeaderSecondary, +} from '@cloudscape-design/design-tokens'; +import {isUsingOrganizations} from '../../Utils/AccountUtils'; const headerStyle = css` - background: ${colorBackgroundHomeHeader}; - - div.header-title { - color: ${colorTextHomeHeaderDefault} - } - - .header-sub-title, - .category { - color: ${colorTextHomeHeaderSecondary} - } - - div.header-cta { - margin-bottom: 38px; - } - - .header-title > * { - max-width: 700px; - } -` + background: ${colorBackgroundHomeHeader}; + + div.header-title { + color: ${colorTextHomeHeaderDefault}; + } + + .header-sub-title, + .category { + color: ${colorTextHomeHeaderSecondary}; + } + + div.header-cta { + margin-bottom: 38px; + } + + .header-title > * { + max-width: 700px; + } +`; const sidebarStyle = css` - @media (min-width: 957px) { - margin-top: -86px; - } -` + @media (min-width: 957px) { + margin-top: -86px; + } +`; const listStyle = css` - list-style-type: none; - margin: 0; - padding: 0; + list-style-type: none; + margin: 0; + padding: 0; - li { - border-top: 1px solid ${colorBorderDividerDefault}; - padding: 0.8rem 0; - display: flex; - justify-content: space-between; - flex-wrap: wrap; + li { + border-top: 1px solid ${colorBorderDividerDefault}; + padding: 0.8rem 0; + display: flex; + justify-content: space-between; + flex-wrap: wrap; - &:first-of-type { - padding-top: 0; - border-top: none; - } + &:first-of-type { + padding-top: 0; + border-top: none; + } - &:last-of-type{ - padding-bottom: 0; + &:last-of-type { + padding-bottom: 0; + } } - } -` +`; const Homepage = () => { - const { handleFollow } = useLink(); + const {handleFollow} = useLink(); - return ( - -
- - - - - Management & Governance - - -
- - Workload Discovery on AWS - - - Explore your AWS Workloads - - - - Workload Discovery on AWS is a tool to visualize AWS Cloud workloads. - Use Workload Discovery on AWS to build, customize, and share detailed - architecture diagrams of your workloads based on live data - from AWS. - - -
- {isUsingOrganizations() - ? void 0 - :
- - - - Discover Resources + return ( + +
+ + + + + Management & Governance + + +
+ + Workload Discovery on AWS - - Get started by importing regions from one or more of your - accounts. + + Explore your AWS Workloads - - - -
- } -
-
-
- - - - -
- - How it works - - - - + + + Workload Discovery on AWS is a tool to + visualize AWS Cloud workloads. Use Workload + Discovery on AWS to build, customize, and + share detailed architecture diagrams of your + workloads based on live data from AWS. + + +
+ {isUsingOrganizations() ? ( + void 0 + ) : ( +
+ + + + Discover Resources + + + Get started by importing regions + from one or more of your accounts. + + + + +
+ )} +
+
-
- - Benefits and features - - - -
- - Build architecture diagrams - - - Workload Discovery on AWS lets you build, customize, and share - detailed architecture diagrams. Workload Discovery on AWS - maintains an inventory of the AWS resources across your - accounts and Regions, mapping relationships between - them, and displaying them in a web UI. - -
-
- - Query AWS Cost & Usage Reports (CURs) - - - The cost query builder lets you locate AWS resources and - services that may have incurred a cost. The estimated - cost data is automatically calculated for the time - period specified and displays on your architecture - diagrams. You can generate a cost report for your - architecture diagrams that contains an overview of the - estimated cost and export them as CSV. - -
-
- - Search - - - The search feature lets you use basic information, such - as resource name, Tag name, or IP address to locate the - resources you are interested in. - -
-
- - Resource directory - - - Explore resources provisioned across your accounts and - Regions using the resource directory. It contains all - the resources Workload Discovery on AWS has discovered. You can - start building your Workload Discovery on AWS architecture - diagrams by selecting a resource in the web UI. - -
-
-
-
- -
- - - Getting started - - }> -
    -
  • - Explore Resources -
  • -
  • - Manage Diagrams -
  • -
  • - Import Accounts -
  • -
  • - Implementation Guide -
  • -
-
+ + + +
+ + How it works + + + + +
- - More resources - - }> -
    -
  • - GitHub repository -
  • -
  • - Feature request -
  • -
  • - Raise an issue -
  • -
-
-
-
-
-
- - ); +
+ + Benefits and features + + + +
+ + Build architecture diagrams + + + Workload Discovery on AWS lets you + build, customize, and share detailed + architecture diagrams. Workload + Discovery on AWS maintains an + inventory of the AWS resources + across your accounts and Regions, + mapping relationships between them, + and displaying them in a web UI. + +
+
+ + Query AWS Cost & Usage Reports + (CURs) + + + The cost query builder lets you + locate AWS resources and services + that may have incurred a cost. The + estimated cost data is automatically + calculated for the time period + specified and displays on your + architecture diagrams. You can + generate a cost report for your + architecture diagrams that contains + an overview of the estimated cost + and export them as CSV. + +
+
+ + Search + + + The search feature lets you use + basic information, such as resource + name, Tag name, or IP address to + locate the resources you are + interested in. + +
+
+ + Resource directory + + + Explore resources provisioned across + your accounts and Regions using the + resource directory. It contains all + the resources Workload Discovery on + AWS has discovered. You can start + building your Workload Discovery on + AWS architecture diagrams by + selecting a resource in the web UI. + +
+
+
+
+ +
+ + + Getting started + + } + > +
    +
  • + + Explore Resources + +
  • +
  • + + Manage Diagrams + +
  • +
  • + + Import Accounts + +
  • +
  • + + Implementation Guide + +
  • +
+
+ + + More resources + + } + > +
    +
  • + + GitHub repository + +
  • +
  • + + Feature request + +
  • +
  • + + Raise an issue + +
  • +
+
+
+
+ + + + ); }; export default Homepage; diff --git a/source/frontend/src/components/Hooks/useAccounts.js b/source/frontend/src/components/Hooks/useAccounts.js index 2b914a07..86170806 100644 --- a/source/frontend/src/components/Hooks/useAccounts.js +++ b/source/frontend/src/components/Hooks/useAccounts.js @@ -1,133 +1,148 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import {useMutation, useQuery, useQueryClient} from 'react-query' -import useQueryErrorHandler from "./useQueryErrorHandler" +import {useMutation, useQuery, useQueryClient} from 'react-query'; +import useQueryErrorHandler from './useQueryErrorHandler'; +import {handleResponse} from '../../API/Handlers/ResourceGraphQLHandler'; +import * as R from 'ramda'; import { - handleResponse, -} from '../../API/Handlers/ResourceGraphQLHandler'; -import * as R from "ramda"; -import { - addAccounts, - deleteAccounts, - deleteRegions, - getAccounts -} from "../../API/Handlers/SettingsGraphQLHandler"; -import { wrapRequest } from '../../Utils/API/HandlerUtils'; -import { processAccountsError } from '../../Utils/ErrorHandlingUtils'; -import {accountQueryKey, regionQueryKey} from "./useResourcesMetadata"; -import {useNotificationDispatch} from "../Contexts/NotificationContext"; -import {getStatus} from "../../Utils/StatusUtils"; + addAccounts, + deleteAccounts, + deleteRegions, + getAccounts, +} from '../../API/Handlers/SettingsGraphQLHandler'; +import {wrapRequest} from '../../Utils/API/HandlerUtils'; +import {processAccountsError} from '../../Utils/ErrorHandlingUtils'; +import {accountQueryKey, regionQueryKey} from './useResourcesMetadata'; +import {useNotificationDispatch} from '../Contexts/NotificationContext'; +import {getStatus} from '../../Utils/StatusUtils'; -export const queryKey = "accounts" -export const useAccounts = (config={}) => { - const { handleError } = useQueryErrorHandler() - const { isLoading, isError, data, refetch, isFetching } = useQuery( - [queryKey], - () => wrapRequest(processAccountsError, getAccounts) - .then(handleResponse) - .then(R.pathOr([], ['body', 'data', 'getAccounts'])), - { - onError: handleError, - refetchInterval: false, - ...config, - } - ) +export const queryKey = 'accounts'; +export const useAccounts = (config = {}) => { + const {handleError} = useQueryErrorHandler(); + const {isLoading, isError, data, refetch, isFetching} = useQuery( + [queryKey], + () => + wrapRequest(processAccountsError, getAccounts) + .then(handleResponse) + .then(R.pathOr([], ['body', 'data', 'getAccounts'])), + { + onError: handleError, + refetchInterval: false, + ...config, + } + ); - return { - data, - isLoading, - isError, - refetch, - status: getStatus(isFetching, isError) - } -} -export const useAddAccounts = (config={}) => { - const { handleError } = useQueryErrorHandler() - const { addNotification } = useNotificationDispatch() - const queryClient = useQueryClient(); - const mutation = useMutation((accounts) => wrapRequest(processAccountsError, addAccounts, { - accounts, - }).then(handleResponse), { - onSuccess: async () => { - await invalidateQueries(queryClient) - addNotification({ - header: "Accounts Imported", - content: "The specified accounts and regions have been successfully imported", - type: "success" - }) - window.scrollTo(0, 0) - }, - onError: handleError, - ...config, - }) - return { - add: mutation.mutate, - addAsync: mutation.mutateAsync, - isLoading: mutation.isLoading - } -} + return { + data, + isLoading, + isError, + refetch, + status: getStatus(isFetching, isError), + }; +}; +export const useAddAccounts = (config = {}) => { + const {handleError} = useQueryErrorHandler(); + const {addNotification} = useNotificationDispatch(); + const queryClient = useQueryClient(); + const mutation = useMutation( + accounts => + wrapRequest(processAccountsError, addAccounts, { + accounts, + }).then(handleResponse), + { + onSuccess: async () => { + await invalidateQueries(queryClient); + addNotification({ + header: 'Accounts Imported', + content: + 'The specified accounts and regions have been successfully imported', + type: 'success', + }); + window.scrollTo(0, 0); + }, + onError: handleError, + ...config, + } + ); + return { + add: mutation.mutate, + addAsync: mutation.mutateAsync, + isLoading: mutation.isLoading, + }; +}; -export const useRemoveAccount = (config={}) => { - const { handleError } = useQueryErrorHandler() - const queryClient = useQueryClient(); - const { addNotification } = useNotificationDispatch() - const mutation = useMutation((accountIds) => wrapRequest(processAccountsError, deleteAccounts, { - accountIds, - }).then(handleResponse), { - onSuccess: async () => { - await invalidateQueries(queryClient) - addNotification({ - header: "Accounts Removed", - content: "The specified accounts have been successfully removed", - type: "success" - }) - window.scrollTo(0, 0) - }, - onError: handleError, - ...config, - }) - return { - remove: mutation.mutate, - removeAsync: mutation.mutateAsync - } -} +export const useRemoveAccount = (config = {}) => { + const {handleError} = useQueryErrorHandler(); + const queryClient = useQueryClient(); + const {addNotification} = useNotificationDispatch(); + const mutation = useMutation( + accountIds => + wrapRequest(processAccountsError, deleteAccounts, { + accountIds, + }).then(handleResponse), + { + onSuccess: async () => { + await invalidateQueries(queryClient); + addNotification({ + header: 'Accounts Removed', + content: + 'The specified accounts have been successfully removed', + type: 'success', + }); + window.scrollTo(0, 0); + }, + onError: handleError, + ...config, + } + ); + return { + remove: mutation.mutate, + removeAsync: mutation.mutateAsync, + }; +}; -export const useRemoveAccountRegion = (config={}) => { - const { handleError } = useQueryErrorHandler() - const { addNotification } = useNotificationDispatch() - const queryClient = useQueryClient(); - const mutation = useMutation(({accountId, regions}) => wrapRequest(processAccountsError, deleteRegions, { - accountId, - regions, - }).then(handleResponse), { - onSuccess: async () => { - await invalidateQueries(queryClient) - addNotification({ - header: "Account Regions Removed", - content: "The specified account regions have been successfully removed", - type: "success" - }) - window.scrollTo(0, 0) - }, - onError: handleError, - ...config, - }) - return { - remove: mutation.mutate, - removeAsync: mutation.mutateAsync - } -} +export const useRemoveAccountRegion = (config = {}) => { + const {handleError} = useQueryErrorHandler(); + const {addNotification} = useNotificationDispatch(); + const queryClient = useQueryClient(); + const mutation = useMutation( + ({accountId, regions}) => + wrapRequest(processAccountsError, deleteRegions, { + accountId, + regions, + }).then(handleResponse), + { + onSuccess: async () => { + await invalidateQueries(queryClient); + addNotification({ + header: 'Account Regions Removed', + content: + 'The specified account regions have been successfully removed', + type: 'success', + }); + window.scrollTo(0, 0); + }, + onError: handleError, + ...config, + } + ); + return { + remove: mutation.mutate, + removeAsync: mutation.mutateAsync, + }; +}; -const invalidateQueries = (queryClient) => Promise.all([ - queryClient.invalidateQueries([queryKey]), - queryClient.invalidateQueries([accountQueryKey]), - queryClient.invalidateQueries([regionQueryKey]), -]) +const invalidateQueries = queryClient => + Promise.all([ + queryClient.invalidateQueries([queryKey]), + queryClient.invalidateQueries([accountQueryKey]), + queryClient.invalidateQueries([regionQueryKey]), + ]); export default { - useAccounts, - useAddAccounts, - useRemoveAccount, - useRemoveAccountRegion -} + useAccounts, + useAddAccounts, + useRemoveAccount, + useRemoveAccountRegion, +}; diff --git a/source/frontend/src/components/Hooks/useCosts.js b/source/frontend/src/components/Hooks/useCosts.js index 94e4d152..de32ade6 100644 --- a/source/frontend/src/components/Hooks/useCosts.js +++ b/source/frontend/src/components/Hooks/useCosts.js @@ -1,92 +1,132 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import useQueryErrorHandler from "./useQueryErrorHandler"; -import {useQuery} from "react-query"; -import {handleResponse} from "../../API/Handlers/ResourceGraphQLHandler"; -import * as R from "ramda"; -import {getCostForResource, getResourcesByCostByDay} from "../../API/Handlers/CostsGraphQLHandler"; -import {getStatus} from "../../Utils/StatusUtils"; -import { wrapRequest } from "../../Utils/API/HandlerUtils"; -import { processAccountsError } from "../../Utils/ErrorHandlingUtils"; +import useQueryErrorHandler from './useQueryErrorHandler'; +import {useQuery} from 'react-query'; +import {handleResponse} from '../../API/Handlers/ResourceGraphQLHandler'; +import * as R from 'ramda'; +import { + getCostForResource, + getResourcesByCostByDay, +} from '../../API/Handlers/CostsGraphQLHandler'; +import {getStatus} from '../../Utils/StatusUtils'; +import {wrapRequest} from '../../Utils/API/HandlerUtils'; +import {processAccountsError} from '../../Utils/ErrorHandlingUtils'; -export const useResourceCosts = (resources= [], dateInterval={}, config={}) => { - const { handleError } = useQueryErrorHandler() - const { isLoading, isError, data, refetch, isFetching } = useQuery( - ["resourceCosts", resources, dateInterval], - () => wrapRequest(processAccountsError, getCostForResource, { - costForResourceQuery: { - pagination: { start: 0, end: resources.length }, - resourceIds: R.filter( - (y) => !R.isNil(y), - R.chain((e) => e.data.resourceId, resources) - ), - period: { - from: dateInterval.startDate, - to: dateInterval.endDate, - }, - }, - }) - .then(handleResponse) - .then(R.pathOr([], ['body', 'data', 'getCostForResource', 'costItems'])) - .then( - R.map((e) => { - return { id: e.line_item_resource_id, cost: e.cost, service: e.product_servicename }; - }) - ), - { - enabled: resources.length > 0 && "startDate" in dateInterval && "endDate" in dateInterval, - onError: handleError, - refetchInterval: false, - ...config, - } - ) +export const useResourceCosts = ( + resources = [], + dateInterval = {}, + config = {} +) => { + const {handleError} = useQueryErrorHandler(); + const {isLoading, isError, data, refetch, isFetching} = useQuery( + ['resourceCosts', resources, dateInterval], + () => + wrapRequest(processAccountsError, getCostForResource, { + costForResourceQuery: { + pagination: {start: 0, end: resources.length}, + resourceIds: R.filter( + y => !R.isNil(y), + R.chain(e => e.data.resourceId, resources) + ), + period: { + from: dateInterval.startDate, + to: dateInterval.endDate, + }, + }, + }) + .then(handleResponse) + .then( + R.pathOr( + [], + ['body', 'data', 'getCostForResource', 'costItems'] + ) + ) + .then( + R.map(e => { + return { + id: e.line_item_resource_id, + cost: e.cost, + service: e.product_servicename, + }; + }) + ), + { + enabled: + resources.length > 0 && + 'startDate' in dateInterval && + 'endDate' in dateInterval, + onError: handleError, + refetchInterval: false, + ...config, + } + ); - return { - data, - isLoading, - isError, - refetch, - status: getStatus(isFetching, isError) - } -} -export const useDailyResourceCosts = (resources= [], dateInterval={}, pageSize=50, config={}) => { - const { handleError } = useQueryErrorHandler() - const { isLoading, isError, data, refetch, isFetching } = useQuery( - ["resourceCosts", resources, dateInterval], - () => wrapRequest(processAccountsError, getResourcesByCostByDay, { - costForResourceQueryByDay: { - pagination: { start: 0, end: pageSize }, - resourceIds: R.chain((e) => { - return e.resourceId - }, resources), - period: { from: dateInterval.startDate, to: dateInterval.endDate }, - }, - }) - .then(handleResponse) - .then(R.pathOr( - [], - ['body', 'data', 'getResourcesByCostByDay', 'costItems'], - ) - ) - .then(res => res.filter(i => resources - .find(j => j.resourceId.includes(i.line_item_resource_id) && j.service === i.product_servicename)) - ), - { - enabled: resources.length > 0 && "startDate" in dateInterval && "endDate" in dateInterval, - onError: handleError, - refetchInterval: false, - ...config, - } - ) + return { + data, + isLoading, + isError, + refetch, + status: getStatus(isFetching, isError), + }; +}; +export const useDailyResourceCosts = ( + resources = [], + dateInterval = {}, + pageSize = 50, + config = {} +) => { + const {handleError} = useQueryErrorHandler(); + const {isLoading, isError, data, refetch, isFetching} = useQuery( + ['resourceCosts', resources, dateInterval], + () => + wrapRequest(processAccountsError, getResourcesByCostByDay, { + costForResourceQueryByDay: { + pagination: {start: 0, end: pageSize}, + resourceIds: R.chain(e => { + return e.resourceId; + }, resources), + period: { + from: dateInterval.startDate, + to: dateInterval.endDate, + }, + }, + }) + .then(handleResponse) + .then( + R.pathOr( + [], + ['body', 'data', 'getResourcesByCostByDay', 'costItems'] + ) + ) + .then(res => + res.filter(i => + resources.find( + j => + j.resourceId.includes( + i.line_item_resource_id + ) && j.service === i.product_servicename + ) + ) + ), + { + enabled: + resources.length > 0 && + 'startDate' in dateInterval && + 'endDate' in dateInterval, + onError: handleError, + refetchInterval: false, + ...config, + } + ); - return { - data, - isLoading, - isError, - refetch, - status: getStatus(isFetching, isError) - } -} + return { + data, + isLoading, + isError, + refetch, + status: getStatus(isFetching, isError), + }; +}; -export default useResourceCosts +export default useResourceCosts; diff --git a/source/frontend/src/components/Hooks/useDrawIoUrl.js b/source/frontend/src/components/Hooks/useDrawIoUrl.js index c9ae22cf..e51cec56 100644 --- a/source/frontend/src/components/Hooks/useDrawIoUrl.js +++ b/source/frontend/src/components/Hooks/useDrawIoUrl.js @@ -1,51 +1,59 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import {useQuery} from 'react-query' -import useQueryErrorHandler from "./useQueryErrorHandler" +import {useQuery} from 'react-query'; +import useQueryErrorHandler from './useQueryErrorHandler'; import { - exportToDrawIo, - handleResponse + exportToDrawIo, + handleResponse, } from '../../API/Handlers/ResourceGraphQLHandler'; -import { wrapRequest } from '../../Utils/API/HandlerUtils'; -import { processResourcesError } from '../../Utils/ErrorHandlingUtils' -import * as R from "ramda"; -import {diagramsPrefix, useObject} from "./useS3Objects"; -import {diagramToDrawioData} from "../Diagrams/Draw/Canvas/Export/Drawio/CreateDrawioDiagram"; -import {getStatus} from "../../Utils/StatusUtils"; +import {wrapRequest} from '../../Utils/API/HandlerUtils'; +import {processResourcesError} from '../../Utils/ErrorHandlingUtils'; +import * as R from 'ramda'; +import {diagramsPrefix, useObject} from './useS3Objects'; +import {diagramToDrawioData} from '../Diagrams/Draw/Canvas/Export/Drawio/CreateDrawioDiagram'; +import {getStatus} from '../../Utils/StatusUtils'; -export const queryKey = "drawIo" -export const useDrawIoUrl = (name, visibility, config={}) => { - const { handleError } = useQueryErrorHandler() - const {data: diagramData, status} = useObject(name, diagramsPrefix, visibility); +export const queryKey = 'drawIo'; +export const useDrawIoUrl = (name, visibility, config = {}) => { + const {handleError} = useQueryErrorHandler(); + const {data: diagramData} = useObject(name, diagramsPrefix, visibility); - const { isLoading, isError, refetch, data, isFetching } = useQuery( - [queryKey, name, visibility], - () => Promise.resolve( - diagramData.settings.hideEdges ? R.pick(['nodes'], diagramData) : R.pick(['nodes', 'edges'], diagramData) - ) - .then(diagramToDrawioData) - .then(inputData => wrapRequest(processResourcesError, exportToDrawIo, inputData)) - .then(handleResponse) - .then(R.pathOr([], ['body', 'data', 'exportToDrawIo'])), - { - enabled: status === "finished" && !!diagramData, - onError: handleError, - retry: false, - refetchInterval: false, - ...config, - } - ) + const {isLoading, isError, refetch, data, isFetching} = useQuery( + [queryKey, name, visibility], + () => + Promise.resolve( + diagramData.settings.hideEdges + ? R.pick(['nodes'], diagramData) + : R.pick(['nodes', 'edges'], diagramData) + ) + .then(diagramToDrawioData) + .then(inputData => + wrapRequest( + processResourcesError, + exportToDrawIo, + inputData + ) + ) + .then(handleResponse) + .then(R.pathOr([], ['body', 'data', 'exportToDrawIo'])), + { + onError: handleError, + retry: false, + refetchInterval: false, + ...config, + } + ); - return { - data, - refetch, - isLoading, - isError, - status: getStatus(isFetching, isError) - } -} + return { + data, + refetch, + isLoading, + isError, + status: getStatus(isFetching, isError), + }; +}; export default { - useDrawIoUrl, -} + useDrawIoUrl, +}; diff --git a/source/frontend/src/components/Hooks/useGetResourceGraph.js b/source/frontend/src/components/Hooks/useGetResourceGraph.js index 235eb92b..ae0c45ea 100644 --- a/source/frontend/src/components/Hooks/useGetResourceGraph.js +++ b/source/frontend/src/components/Hooks/useGetResourceGraph.js @@ -1,25 +1,29 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import {getResourceGraphPaginated, handleResponse} from '../../API/Handlers/ResourceGraphQLHandler'; +import { + getResourceGraphPaginated, + handleResponse, +} from '../../API/Handlers/ResourceGraphQLHandler'; import useQueryErrorHandler from './useQueryErrorHandler'; import {wrapRequest} from '../../Utils/API/HandlerUtils'; -import { processResourcesError } from '../../Utils/ErrorHandlingUtils'; -import {getStatus} from "../../Utils/StatusUtils"; -import {useQuery} from "react-query"; -import {processElements} from "../../API/APIProcessors"; +import {processResourcesError} from '../../Utils/ErrorHandlingUtils'; +import {getStatus} from '../../Utils/StatusUtils'; +import {useQuery} from 'react-query'; +import {processElements} from '../../API/APIProcessors'; const queryKey = 'getResourceGraph'; export function useGetResourceGraph(ids, config = {}) { - const { handleError } = useQueryErrorHandler(); + const {handleError} = useQueryErrorHandler(); - const { isLoading, isError, data, refetch, isFetching } = useQuery( + const {isLoading, isError, data, refetch, isFetching} = useQuery( [queryKey, ids], - () => wrapRequest(processResourcesError, getResourceGraphPaginated, {ids}) - .then(handleResponse) - .then(x => x.body) - .then(processElements), + () => + wrapRequest(processResourcesError, getResourceGraphPaginated, {ids}) + .then(handleResponse) + .then(x => x.body) + .then(processElements), { onError: handleError, refetchInterval: false, @@ -35,6 +39,6 @@ export function useGetResourceGraph(ids, config = {}) { isFetching, isError, refetch, - status: getStatus(isFetching, isError) - } + status: getStatus(isFetching, isError), + }; } diff --git a/source/frontend/src/components/Hooks/useLink.js b/source/frontend/src/components/Hooks/useLink.js index 950ad49b..b624ec44 100644 --- a/source/frontend/src/components/Hooks/useLink.js +++ b/source/frontend/src/components/Hooks/useLink.js @@ -1,22 +1,25 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import {useCallback} from "react"; -import {useHistory} from "react-router-dom"; +import {useCallback} from 'react'; +import {useHistory} from 'react-router-dom'; export default function useLink() { - const history = useHistory(); + const history = useHistory(); - return { - handleFollow: useCallback(e => { - if ( - e.detail.external === true || - typeof e.detail.href === 'undefined' - ) { - return; - } - if (typeof e.preventDefault === 'function') e.preventDefault(); - history.push(e.detail.href); - }, [history]) - } + return { + handleFollow: useCallback( + e => { + if ( + e.detail.external === true || + typeof e.detail.href === 'undefined' + ) { + return; + } + if (typeof e.preventDefault === 'function') e.preventDefault(); + history.push(e.detail.href); + }, + [history] + ), + }; } diff --git a/source/frontend/src/components/Hooks/useQueryErrorHandler.js b/source/frontend/src/components/Hooks/useQueryErrorHandler.js index e241d935..1f23b65b 100644 --- a/source/frontend/src/components/Hooks/useQueryErrorHandler.js +++ b/source/frontend/src/components/Hooks/useQueryErrorHandler.js @@ -1,68 +1,78 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import React from "react"; -import { hashProperty } from "../../Utils/ObjectUtils"; -import {useNotificationDispatch} from "../Contexts/NotificationContext"; +import React from 'react'; +import {hashProperty} from '../../Utils/ObjectUtils'; +import {useNotificationDispatch} from '../Contexts/NotificationContext'; const useQueryErrorHandler = () => { - const { addNotification } = useNotificationDispatch() - const handleError = (e) => { - const error = e.error ? e.error : e - if (error?.name) { - let notification - switch (error.name) { - case "InvalidRequestException": - notification = { - header: "Invalid Request", - content: <> - The following errors occurred: -
    - {error.errors.map((i) =>
  • {i.message}
  • )} -
- , - type: "error" - } - break - case "AccessDeniedException": - notification = { - header: "Access Denied", - content: "You are not authorised to perform the requested action", - type: "error" - } - break - case "ObjectNotFound": - notification = { - header: "Not Found", - content: `The requested resource could not be found.`, - type: "error" - } - break - case "ExpiredTokenException": - notification = { - header: "Session Expired", - content: - "User session has expired. Please refresh the page or sign in again.", - type: "error" - } - break - default: - notification = { - header: error.name, - content: error.message, - type: "error" - } - break - } - if (notification) addNotification(notification) - } else { - addNotification({ content: "An unknown error occurred", type: "error" }) - } - window.scrollTo(0, 0) - return e - } + const {addNotification} = useNotificationDispatch(); + const handleError = e => { + const error = e.error ? e.error : e; + if (error?.name) { + let notification; + switch (error.name) { + case 'InvalidRequestException': + notification = { + header: 'Invalid Request', + content: ( + <> + The following errors occurred: +
    + {error.errors.map(i => ( +
  • + {i.message} +
  • + ))} +
+ + ), + type: 'error', + }; + break; + case 'AccessDeniedException': + notification = { + header: 'Access Denied', + content: + 'You are not authorised to perform the requested action', + type: 'error', + }; + break; + case 'ObjectNotFound': + notification = { + header: 'Not Found', + content: `The requested resource could not be found.`, + type: 'error', + }; + break; + case 'ExpiredTokenException': + notification = { + header: 'Session Expired', + content: + 'User session has expired. Please refresh the page or sign in again.', + type: 'error', + }; + break; + default: + notification = { + header: error.name, + content: error.message, + type: 'error', + }; + break; + } + if (notification) addNotification(notification); + } else { + addNotification({ + content: 'An unknown error occurred', + type: 'error', + }); + } + window.scrollTo(0, 0); + return e; + }; - return { handleError } -} + return {handleError}; +}; -export default useQueryErrorHandler +export default useQueryErrorHandler; diff --git a/source/frontend/src/components/Hooks/useResources.js b/source/frontend/src/components/Hooks/useResources.js index 2c5c6e0e..a61ca1cf 100644 --- a/source/frontend/src/components/Hooks/useResources.js +++ b/source/frontend/src/components/Hooks/useResources.js @@ -1,92 +1,123 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import {useInfiniteQuery, useQuery} from 'react-query' -import useQueryErrorHandler from "./useQueryErrorHandler" +import {useInfiniteQuery, useQuery} from 'react-query'; +import useQueryErrorHandler from './useQueryErrorHandler'; import { - handleResponse, - searchResources + handleResponse, + searchResources, } from '../../API/Handlers/ResourceGraphQLHandler'; -import { wrapRequest } from '../../Utils/API/HandlerUtils'; -import {getStatus} from "../../Utils/StatusUtils"; -import { processResourcesError } from '../../Utils/ErrorHandlingUtils'; -import * as R from "ramda"; +import {wrapRequest} from '../../Utils/API/HandlerUtils'; +import {getStatus} from '../../Utils/StatusUtils'; +import {processResourcesError} from '../../Utils/ErrorHandlingUtils'; +import * as R from 'ramda'; -export const searchQueryKey = "resourcesSearch"; -export const useResourcesSearch = (text='', pageSize=25, accounts=[], resourceTypes=[], config={}) => { - const { handleError } = useQueryErrorHandler() +export const searchQueryKey = 'resourcesSearch'; +export const useResourcesSearch = ( + text = '', + pageSize = 25, + accounts = [], + resourceTypes = [], + config = {} +) => { + const {handleError} = useQueryErrorHandler(); - const userFilters = { - text, - } + const userFilters = { + text, + }; - if (accounts?.length > 0) userFilters.accounts = accounts; - if (resourceTypes?.length > 0) userFilters.resourceTypes = resourceTypes; + if (accounts?.length > 0) userFilters.accounts = accounts; + if (resourceTypes?.length > 0) userFilters.resourceTypes = resourceTypes; - const fetchResults = ({ pageParam = 0 }) => wrapRequest(processResourcesError, searchResources, { ...userFilters, pagination: { - start: pageSize * pageParam, end: (pageSize * pageParam) + pageSize - } }) - .then(handleResponse) - .then(R.pathOr([], ['body', 'data', 'searchResources', 'resources'])) + const fetchResults = ({pageParam = 0}) => + wrapRequest(processResourcesError, searchResources, { + ...userFilters, + pagination: { + start: pageSize * pageParam, + end: pageSize * pageParam + pageSize, + }, + }) + .then(handleResponse) + .then( + R.pathOr([], ['body', 'data', 'searchResources', 'resources']) + ); - const { isLoading, isError, data, refetch, isFetched, isFetching, fetchNextPage, hasNextPage, isFetchingNextPage } = useInfiniteQuery( - [searchQueryKey, text, accounts, resourceTypes, pageSize], - fetchResults, - { - onError: handleError, - keepPreviousData: true, - refetchInterval: false, - getNextPageParam: (lastPage, allPages) => lastPage.length > 0 ? allPages.length : undefined, - ...config, - } - ) + const { + isLoading, + isError, + data, + refetch, + isFetched, + isFetching, + fetchNextPage, + hasNextPage, + isFetchingNextPage, + } = useInfiniteQuery( + [searchQueryKey, text, accounts, resourceTypes, pageSize], + fetchResults, + { + onError: handleError, + keepPreviousData: true, + refetchInterval: false, + getNextPageParam: (lastPage, allPages) => + lastPage.length > 0 ? allPages.length : undefined, + ...config, + } + ); - const flattened = R.flatten(data?.pages ?? []) + const flattened = R.flatten(data?.pages ?? []); - return { - data: flattened, - isLoading, - isFetching: isFetching || isFetchingNextPage, - isFetched, - isError, - refetch, - hasNextPage, - fetchNextPage, - status: getStatus(isFetching, isError) - } -} -export const searchPaginatedQueryKey = "searchPaginatedQueryKey"; -export const useResourcesSearchPaginated = (text='', pagination={start:0, end: 10}, accounts=[], resourceTypes=[], config={}) => { - const { handleError } = useQueryErrorHandler() + return { + data: flattened, + isLoading, + isFetching: isFetching || isFetchingNextPage, + isFetched, + isError, + refetch, + hasNextPage, + fetchNextPage, + status: getStatus(isFetching, isError), + }; +}; +export const searchPaginatedQueryKey = 'searchPaginatedQueryKey'; +export const useResourcesSearchPaginated = ( + text = '', + pagination = {start: 0, end: 10}, + accounts = [], + resourceTypes = [], + config = {} +) => { + const {handleError} = useQueryErrorHandler(); - const userFilters = { - text, - pagination, - } + const userFilters = { + text, + pagination, + }; - if (accounts?.length > 0) userFilters.accounts = accounts; - if (resourceTypes?.length > 0) userFilters.resourceTypes = resourceTypes; + if (accounts?.length > 0) userFilters.accounts = accounts; + if (resourceTypes?.length > 0) userFilters.resourceTypes = resourceTypes; - const { isLoading, isError, data, refetch, isFetching } = useQuery( - [searchPaginatedQueryKey, text, accounts, resourceTypes, pagination], - () => wrapRequest(processResourcesError, searchResources, userFilters) - .then(handleResponse) - .then(R.pathOr([], ['body', 'data', 'searchResources'])), - { - onError: handleError, - keepPreviousData: true, - refetchInterval: false, - ...config, - } - ) + const {isLoading, isError, data, refetch, isFetching} = useQuery( + [searchPaginatedQueryKey, text, accounts, resourceTypes, pagination], + () => + wrapRequest(processResourcesError, searchResources, userFilters) + .then(handleResponse) + .then(R.pathOr([], ['body', 'data', 'searchResources'])), + { + onError: handleError, + keepPreviousData: true, + refetchInterval: false, + ...config, + } + ); - return { - data: data?.resources, - count: data?.count, - isLoading, - isFetching, - isError, - refetch, - status: getStatus(isFetching, isError) - } -} + return { + data: data?.resources, + count: data?.count, + isLoading, + isFetching, + isError, + refetch, + status: getStatus(isFetching, isError), + }; +}; diff --git a/source/frontend/src/components/Hooks/useResourcesMetadata.js b/source/frontend/src/components/Hooks/useResourcesMetadata.js index 554287ab..daeda959 100644 --- a/source/frontend/src/components/Hooks/useResourcesMetadata.js +++ b/source/frontend/src/components/Hooks/useResourcesMetadata.js @@ -1,117 +1,158 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import { useQuery } from 'react-query'; +import {useQuery} from 'react-query'; import pLimit from 'p-limit'; -import useQueryErrorHandler from "./useQueryErrorHandler"; +import useQueryErrorHandler from './useQueryErrorHandler'; import { - getResourcesAccountMetadata, - getResourcesRegionMetadata, - getResourcesMetadata, - handleResponse, + getResourcesAccountMetadata, + getResourcesRegionMetadata, + getResourcesMetadata, + handleResponse, } from '../../API/Handlers/ResourceGraphQLHandler'; -import { wrapRequest } from '../../Utils/API/HandlerUtils'; -import { processResourcesError } from '../../Utils/ErrorHandlingUtils'; -import * as R from "ramda"; -import {getStatus} from "../../Utils/StatusUtils"; +import {wrapRequest} from '../../Utils/API/HandlerUtils'; +import {processResourcesError} from '../../Utils/ErrorHandlingUtils'; +import * as R from 'ramda'; +import {getStatus} from '../../Utils/StatusUtils'; const limit = pLimit(10); -export const accountQueryKey = "resourcesAccountMetadata" -export const regionQueryKey = "resourcesRegionMetadata" -export const resourcesKey = "resourcesMetadata" +export const accountQueryKey = 'resourcesAccountMetadata'; +export const regionQueryKey = 'resourcesRegionMetadata'; +export const resourcesKey = 'resourcesMetadata'; function batchRequests(query, {accounts}, {batchSize}) { return Promise.resolve(R.splitEvery(batchSize, accounts ?? [])) - .then(R.map(accounts => { - // we do not want to use unconstrained concurrency so limit the number of in flight - // requests to 10 at a time - return limit( () => wrapRequest(processResourcesError, query, { accounts }) - .then(handleResponse)); - })) - .then(ps => Promise.all(ps)) + .then( + R.map(accounts => { + // we do not want to use unconstrained concurrency so limit the number of in flight + // requests to 10 at a time + return limit(() => + wrapRequest(processResourcesError, query, {accounts}).then( + handleResponse + ) + ); + }) + ) + .then(ps => Promise.all(ps)); } -export const useResourcesAccountMetadata = (accounts=null, config = {}) => { - const { handleError } = useQueryErrorHandler(); - const {batchSize} = config; - const { isLoading, isError, data, refetch, isFetching } = useQuery( - [accountQueryKey, batchSize, accounts], - () => { - if(batchSize == null) { - return wrapRequest(processResourcesError, getResourcesAccountMetadata, { accounts }) - .then(handleResponse) - .then(R.pathOr([], ['body', 'data', 'getResourcesAccountMetadata'])); +export const useResourcesAccountMetadata = (accounts = null, config = {}) => { + const {handleError} = useQueryErrorHandler(); + const {batchSize} = config; + const {isLoading, isError, data, refetch, isFetching} = useQuery( + [accountQueryKey, batchSize, accounts], + () => { + if (batchSize == null) { + return wrapRequest( + processResourcesError, + getResourcesAccountMetadata, + {accounts} + ) + .then(handleResponse) + .then( + R.pathOr( + [], + ['body', 'data', 'getResourcesAccountMetadata'] + ) + ); + } + return batchRequests( + getResourcesAccountMetadata, + {accounts}, + {batchSize} + ).then( + R.chain( + R.pathOr( + [], + ['body', 'data', 'getResourcesAccountMetadata'] + ) + ) + ); + }, + { + onError: handleError, + ...config, } - return batchRequests(getResourcesAccountMetadata, { accounts }, {batchSize}) - .then(R.chain(R.pathOr([], ['body', 'data', 'getResourcesAccountMetadata']))) - }, - { - onError: handleError, - ...config, - } - ) + ); - return { - data, - isLoading, - isError, - refetch, - status: getStatus(isFetching, isError) - } -} + return { + data, + isLoading, + isError, + refetch, + status: getStatus(isFetching, isError), + }; +}; -export const useResourcesRegionMetadata = (accounts=null, config= {}) => { - const { handleError } = useQueryErrorHandler() - const {batchSize} = config; - const { isLoading, isFetching, isError, data, refetch } = useQuery( - [regionQueryKey, batchSize, accounts], - () => { - if(batchSize == null) { - return wrapRequest(processResourcesError, getResourcesRegionMetadata, { accounts }) - .then(handleResponse) - .then(R.pathOr([], ['body', 'data', 'getResourcesRegionMetadata'])); +export const useResourcesRegionMetadata = (accounts = null, config = {}) => { + const {handleError} = useQueryErrorHandler(); + const {batchSize} = config; + const {isLoading, isFetching, isError, data, refetch} = useQuery( + [regionQueryKey, batchSize, accounts], + () => { + if (batchSize == null) { + return wrapRequest( + processResourcesError, + getResourcesRegionMetadata, + {accounts} + ) + .then(handleResponse) + .then( + R.pathOr( + [], + ['body', 'data', 'getResourcesRegionMetadata'] + ) + ); + } + return batchRequests( + getResourcesRegionMetadata, + {accounts}, + {batchSize} + ).then( + R.chain( + R.pathOr([], ['body', 'data', 'getResourcesRegionMetadata']) + ) + ); + }, + { + onError: handleError, + ...config, } - return batchRequests(getResourcesRegionMetadata, { accounts }, {batchSize}) - .then(R.chain(R.pathOr([], ['body', 'data', 'getResourcesRegionMetadata']))) - }, - { - onError: handleError, - ...config, - } - ) + ); - return { - data, - isLoading, - isError, - refetch, - status: getStatus(isFetching, isError), - } -} -export const useResourcesMetadata = (accounts=null, config={}) => { - const { handleError } = useQueryErrorHandler() - const { isLoading, isFetching, isError, data, refetch } = useQuery( - [resourcesKey, accounts], - () => wrapRequest(processResourcesError, getResourcesMetadata, { accounts }) - .then(handleResponse) - .then(R.pathOr([], ['body', 'data', 'getResourcesMetadata'])), - { - onError: handleError, - ...config, - } - ) + return { + data, + isLoading, + isError, + refetch, + status: getStatus(isFetching, isError), + }; +}; +export const useResourcesMetadata = (accounts = null, config = {}) => { + const {handleError} = useQueryErrorHandler(); + const {isLoading, isFetching, isError, data, refetch} = useQuery( + [resourcesKey, accounts], + () => + wrapRequest(processResourcesError, getResourcesMetadata, {accounts}) + .then(handleResponse) + .then(R.pathOr([], ['body', 'data', 'getResourcesMetadata'])), + { + onError: handleError, + ...config, + } + ); - return { - data, - isLoading, - isError, - refetch, - status: getStatus(isFetching, isError), - } -} + return { + data, + isLoading, + isError, + refetch, + status: getStatus(isFetching, isError), + }; +}; export default { - useResourcesAccountMetadata, - useResourcesRegionMetadata -} + useResourcesAccountMetadata, + useResourcesRegionMetadata, +}; diff --git a/source/frontend/src/components/Hooks/useS3Objects.js b/source/frontend/src/components/Hooks/useS3Objects.js index 7e7cde68..86982b07 100644 --- a/source/frontend/src/components/Hooks/useS3Objects.js +++ b/source/frontend/src/components/Hooks/useS3Objects.js @@ -2,11 +2,16 @@ // SPDX-License-Identifier: Apache-2.0 import {useMutation, useQuery, useQueryClient} from 'react-query'; -import useQueryErrorHandler from "./useQueryErrorHandler"; -import {getObject, listObjects, removeObject, uploadObject} from "../../API/Storage/S3Store"; -import {useNotificationDispatch} from "../Contexts/NotificationContext"; -import {getStatus} from "../../Utils/StatusUtils"; -import * as R from "ramda"; +import useQueryErrorHandler from './useQueryErrorHandler'; +import { + getObject, + listObjects, + removeObject, + uploadObject, +} from '../../API/Storage/S3Store'; +import {useNotificationDispatch} from '../Contexts/NotificationContext'; +import {getStatus} from '../../Utils/StatusUtils'; +import * as R from 'ramda'; export const privateLevel = 'private'; export const publicLevel = 'public'; @@ -15,109 +20,116 @@ export const diagramsPrefix = 'diagrams/'; const capitalize = R.replace(/^./, R.toUpper); -const prefixToName = (prefix) => { - switch (prefix) { - case viewsPrefix: - return "view" - case diagramsPrefix: - return "diagram" - default: - return "object" - } -} - -export const useListObjects = (prefix, level, config={}) => { - const { handleError } = useQueryErrorHandler() - const { isLoading, isError, data, refetch, isFetching } = useQuery( - [prefix, level], - () => listObjects(prefix, level), - { - onError: handleError, - keepPreviousData: true, - refetchInterval: false, - ...config, +const prefixToName = prefix => { + switch (prefix) { + case viewsPrefix: + return 'view'; + case diagramsPrefix: + return 'diagram'; + default: + return 'object'; } - ) +}; - return { - data, - isLoading, - isError, - refetch, - status: getStatus(isFetching, isError) - } -} -export const useObject = (key, prefix, level, config={}) => { - const { handleError } = useQueryErrorHandler() - const { isLoading, isError, data, refetch, isFetching } = useQuery( - [prefix, level, key], - () => getObject(`${prefix}${key}`, level), - { - onError: handleError, - keepPreviousData: true, - refetchInterval: false, - ...config, - } - ) +export const useListObjects = (prefix, level, config = {}) => { + const {handleError} = useQueryErrorHandler(); + const {isLoading, isError, data, refetch, isFetching} = useQuery( + [prefix, level], + () => listObjects(prefix, level), + { + onError: handleError, + keepPreviousData: true, + refetchInterval: false, + ...config, + } + ); + + return { + data, + isLoading, + isError, + refetch, + status: getStatus(isFetching, isError), + }; +}; +export const useObject = (key, prefix, level, config = {}) => { + const {handleError} = useQueryErrorHandler(); + const {isLoading, isError, data, refetch, isFetching} = useQuery( + [prefix, level, key], + () => getObject(`${prefix}${key}`, level), + { + onError: handleError, + keepPreviousData: true, + refetchInterval: false, + ...config, + } + ); - return { - data, - isLoading, - isError, - refetch, - status: getStatus(isFetching, isError) - } -} -export const useRemoveObject = (prefix, config={}) => { - const { handleError } = useQueryErrorHandler() - const queryClient = useQueryClient(); - const { addNotification } = useNotificationDispatch(); - const mutation = useMutation(({key, level}) => removeObject(`${prefix}${key}`, level), { - onSuccess: (_, data) => { - const name = prefixToName(prefix) - addNotification({ - header: `${capitalize(name)} Removed`, - content: `The ${data.level} ${name} ${data.key} was removed successfully`, - type: "success" - }) - window.scrollTo(0, 0) - return queryClient.invalidateQueries([prefix]) - }, - onError: handleError, - ...config, - }) - return { - remove: mutation.mutate, - removeAsync: mutation.mutateAsync - } -} -export const usePutObject = (prefix, config={}) => { - const { handleError } = useQueryErrorHandler() - const queryClient = useQueryClient(); - const { addNotification } = useNotificationDispatch(); - const mutation = useMutation(({key, content, level, type}) => uploadObject(`${prefix}${key}`, content, level, type), { - onSuccess: (_, data) => { - const name = prefixToName(prefix) - addNotification({ - header: `${capitalize(name)} saved`, - content: `The ${data.level} ${name} ${data.key} was saved successfully`, - type: "success" - }) - window.scrollTo(0, 0) - return queryClient.invalidateQueries([prefix]) - }, - onError: handleError, - ...config, - }) - return { - put: mutation.mutate, - putAsync: mutation.mutateAsync - } -} + return { + data, + isLoading, + isError, + refetch, + status: getStatus(isFetching, isError), + }; +}; +export const useRemoveObject = (prefix, config = {}) => { + const {handleError} = useQueryErrorHandler(); + const queryClient = useQueryClient(); + const {addNotification} = useNotificationDispatch(); + const mutation = useMutation( + ({key, level}) => removeObject(`${prefix}${key}`, level), + { + onSuccess: (_, data) => { + const name = prefixToName(prefix); + addNotification({ + header: `${capitalize(name)} Removed`, + content: `The ${data.level} ${name} ${data.key} was removed successfully`, + type: 'success', + }); + window.scrollTo(0, 0); + return queryClient.invalidateQueries([prefix]); + }, + onError: handleError, + ...config, + } + ); + return { + remove: mutation.mutate, + removeAsync: mutation.mutateAsync, + }; +}; +export const usePutObject = (prefix, config = {}) => { + const {handleError} = useQueryErrorHandler(); + const queryClient = useQueryClient(); + const {addNotification} = useNotificationDispatch(); + const mutation = useMutation( + ({key, content, level, type}) => + uploadObject(`${prefix}${key}`, content, level, type), + { + onSuccess: (_, data) => { + const name = prefixToName(prefix); + addNotification({ + header: `${capitalize(name)} saved`, + content: `The ${data.level} ${name} ${data.key} was saved successfully`, + type: 'success', + }); + window.scrollTo(0, 0); + return queryClient.invalidateQueries([prefix]); + }, + onError: handleError, + ...config, + } + ); + return { + put: mutation.mutate, + putAsync: mutation.mutateAsync, + }; +}; export default { - useListObjects, - useObject, - usePutObject, - useRemoveObject, -} + useListObjects, + useObject, + usePutObject, + useRemoveObject, +}; diff --git a/source/frontend/src/components/Hooks/useTemplate.js b/source/frontend/src/components/Hooks/useTemplate.js index 0ea0c65a..1805b402 100644 --- a/source/frontend/src/components/Hooks/useTemplate.js +++ b/source/frontend/src/components/Hooks/useTemplate.js @@ -1,48 +1,53 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import {useQuery} from 'react-query' -import useQueryErrorHandler from "./useQueryErrorHandler" +import {useQuery} from 'react-query'; +import useQueryErrorHandler from './useQueryErrorHandler'; +import {handleResponse} from '../../API/Handlers/ResourceGraphQLHandler'; +import * as R from 'ramda'; import { - handleResponse, -} from '../../API/Handlers/ResourceGraphQLHandler'; -import * as R from "ramda"; -import { - getGlobalTemplate, - getRegionalTemplate -} from "../../API/Handlers/SettingsGraphQLHandler"; -import {getStatus} from "../../Utils/StatusUtils"; -import { wrapRequest } from '../../Utils/API/HandlerUtils'; -import { processAccountsError } from '../../Utils/ErrorHandlingUtils'; + getGlobalTemplate, + getRegionalTemplate, +} from '../../API/Handlers/SettingsGraphQLHandler'; +import {getStatus} from '../../Utils/StatusUtils'; +import {wrapRequest} from '../../Utils/API/HandlerUtils'; +import {processAccountsError} from '../../Utils/ErrorHandlingUtils'; -export const GLOBAL_TEMPLATE = "getGlobalTemplate"; -export const REGIONAL_TEMPLATE = "getRegionalTemplate"; +export const GLOBAL_TEMPLATE = 'getGlobalTemplate'; +export const REGIONAL_TEMPLATE = 'getRegionalTemplate'; -export const queryKey = "template" -export const useTemplate = (templateName, config={}) => { - if (![GLOBAL_TEMPLATE, REGIONAL_TEMPLATE].includes(templateName)) throw new Error(`Invalid template name '${templateName}'`) - const { handleError } = useQueryErrorHandler() - const { isLoading, isError, data, refetch, isFetching } = useQuery( - [queryKey, templateName], - () => wrapRequest(processAccountsError, templateName === GLOBAL_TEMPLATE ? getGlobalTemplate : getRegionalTemplate) - .then(handleResponse) - .then(R.pathOr([], ['body', 'data', templateName])), - { - onError: handleError, - refetchInterval: false, - ...config, - } - ) +export const queryKey = 'template'; +export const useTemplate = (templateName, config = {}) => { + if (![GLOBAL_TEMPLATE, REGIONAL_TEMPLATE].includes(templateName)) + throw new Error(`Invalid template name '${templateName}'`); + const {handleError} = useQueryErrorHandler(); + const {isLoading, isError, data, refetch, isFetching} = useQuery( + [queryKey, templateName], + () => + wrapRequest( + processAccountsError, + templateName === GLOBAL_TEMPLATE + ? getGlobalTemplate + : getRegionalTemplate + ) + .then(handleResponse) + .then(R.pathOr([], ['body', 'data', templateName])), + { + onError: handleError, + refetchInterval: false, + ...config, + } + ); - return { - data, - isLoading, - isError, - refetch, - status: getStatus(isFetching, isError) - } -} + return { + data, + isLoading, + isError, + refetch, + status: getStatus(isFetching, isError), + }; +}; export default { - useTemplate, -} + useTemplate, +}; diff --git a/source/frontend/src/components/RegionManagement/DiscoverableRegions/DiscoverableAccountsAndRegionsHelper.js b/source/frontend/src/components/RegionManagement/DiscoverableRegions/DiscoverableAccountsAndRegionsHelper.js index b03a4efd..8ba27585 100644 --- a/source/frontend/src/components/RegionManagement/DiscoverableRegions/DiscoverableAccountsAndRegionsHelper.js +++ b/source/frontend/src/components/RegionManagement/DiscoverableRegions/DiscoverableAccountsAndRegionsHelper.js @@ -2,38 +2,39 @@ // SPDX-License-Identifier: Apache-2.0 import React from 'react'; -import { HelpPanel } from '@cloudscape-design/components'; +import {HelpPanel} from '@cloudscape-design/components'; const DiscoverableAccountsAndRegionsHelper = () => { - return ( - Discoverable Accounts & Regions}> -
-

- Managed the AWS accounts and Regions that are discoverable to - Workload Discovery on AWS. -

-

View Regions

-

- Select an account in the Accounts table to see the - Regions that are discoverable. -

-

- Region displays Not discovered -

-

- This can be caused by the AWS CloudFormation template not being - deployed in that Region. -

-

Remove a Region

-

- Select the Region from the Regions table and click on - Remove. This will remove the Region from the - Workload Discovery on AWS discovery process and resources from that - Region will no longer be available. -

-
-
- ); + return ( + Discoverable Accounts & Regions}> +
+

+ Managed the AWS accounts and Regions that are discoverable + to Workload Discovery on AWS. +

+

View Regions

+

+ Select an account in the Accounts table to + see the Regions that are discoverable. +

+

+ Region displays Not discovered +

+

+ This can be caused by the AWS CloudFormation template not + being deployed in that Region. +

+

Remove a Region

+

+ Select the Region from the Regions table + and click on + Remove. This will remove the Region from + the Workload Discovery on AWS discovery process and + resources from that Region will no longer be available. +

+
+
+ ); }; export default DiscoverableAccountsAndRegionsHelper; diff --git a/source/frontend/src/components/RegionManagement/DiscoverableRegions/DiscoverableAccountsPage.js b/source/frontend/src/components/RegionManagement/DiscoverableRegions/DiscoverableAccountsPage.js index fe38cb9d..39e1c7e1 100644 --- a/source/frontend/src/components/RegionManagement/DiscoverableRegions/DiscoverableAccountsPage.js +++ b/source/frontend/src/components/RegionManagement/DiscoverableRegions/DiscoverableAccountsPage.js @@ -2,32 +2,32 @@ // SPDX-License-Identifier: Apache-2.0 import React from 'react'; -import { SpaceBetween } from '@cloudscape-design/components'; +import {SpaceBetween} from '@cloudscape-design/components'; import DiscoverableRegionsTable from './DiscoverableRegionsTable'; import Breadcrumbs from '../../../Utils/Breadcrumbs'; -import { ACCOUNTS } from '../../../routes'; +import {ACCOUNTS} from '../../../routes'; import DiscoverableAccountsTable from './DiscoverableAccountsTable'; -import * as R from "ramda"; +import * as R from 'ramda'; const DiscoverableAccountsPage = () => { - const [selectedAccounts, setSelectedAccounts] = React.useState([]); + const [selectedAccounts, setSelectedAccounts] = React.useState([]); - return ( - - - - - {!R.isEmpty(selectedAccounts) && ( - - )} - - - ); + return ( + + + + + {!R.isEmpty(selectedAccounts) && ( + + )} + + + ); }; export default DiscoverableAccountsPage; diff --git a/source/frontend/src/components/RegionManagement/DiscoverableRegions/DiscoverableAccountsTable.js b/source/frontend/src/components/RegionManagement/DiscoverableRegions/DiscoverableAccountsTable.js index f00fbd0d..c7a4852a 100644 --- a/source/frontend/src/components/RegionManagement/DiscoverableRegions/DiscoverableAccountsTable.js +++ b/source/frontend/src/components/RegionManagement/DiscoverableRegions/DiscoverableAccountsTable.js @@ -9,109 +9,127 @@ import { Header, Pagination, Table, - SpaceBetween, Modal, StatusIndicator, Alert, Select, Grid, + SpaceBetween, + Modal, + StatusIndicator, + Alert, + Select, + Grid, } from '@cloudscape-design/components'; import PropTypes from 'prop-types'; -import { IMPORT } from '../../../routes'; -import { useCollection } from '@cloudscape-design/collection-hooks'; -import { useHistory } from 'react-router-dom'; -import {useAccounts, useRemoveAccount} from "../../Hooks/useAccounts"; -import {GLOBAL_TEMPLATE, useTemplate} from "../../Hooks/useTemplate"; -import dayjs from 'dayjs'; -import localizedFormat from 'dayjs/plugin/localizedFormat'; -import relativeTime from 'dayjs/plugin/relativeTime'; -import * as R from 'ramda'; -import {useDeepCompareEffect} from "react-use"; -import {isUsingOrganizations} from "../../../Utils/AccountUtils"; -import fileDownload from "js-file-download"; -import {GLOBAL_RESOURCES_TEMPLATE_FILENAME} from "../../../config/constants"; -import {createTableAriaLabels} from "../../../Utils/AccessibilityUtils"; +import {IMPORT} from '../../../routes'; +import {useCollection} from '@cloudscape-design/collection-hooks'; +import {useHistory} from 'react-router-dom'; +import {useAccounts, useRemoveAccount} from '../../Hooks/useAccounts'; +import {GLOBAL_TEMPLATE, useTemplate} from '../../Hooks/useTemplate'; +import dayjs from 'dayjs'; +import localizedFormat from 'dayjs/plugin/localizedFormat'; +import relativeTime from 'dayjs/plugin/relativeTime'; +import * as R from 'ramda'; +import {useDeepCompareEffect} from 'react-use'; +import {isUsingOrganizations} from '../../../Utils/AccountUtils'; +import fileDownload from 'js-file-download'; +import {GLOBAL_RESOURCES_TEMPLATE_FILENAME} from '../../../config/constants'; +import {createTableAriaLabels} from '../../../Utils/AccessibilityUtils'; dayjs.extend(localizedFormat); dayjs.extend(relativeTime); const columns = [ - { - id: 'account', - header: 'Account Id', - cell: (e) => e.accountId, - sortingField: 'accountId', - width: 200, - minWidth: 200, - }, - { - id: 'accountName', - header: 'Account name', - cell: (e) => e.name, - sortingField: 'accountName', - width: 300, - minWidth: 300, - }, - { - id: 'regions', - header: 'Regions', - cell: (e) => e.regionCount, - width: 125, - minWidth: 125, - }, - { - id: 'iamRoleStatus', - header: 'Role Status', - cell: (e) => { - if(e.isIamRoleDeployed == null) return Unknown; - return e.isIamRoleDeployed === false - ? Not Deployed - : Deployed; - }, - width: 200, - minWidth: 200, - }, + { + id: 'account', + header: 'Account Id', + cell: e => e.accountId, + sortingField: 'accountId', + width: 200, + minWidth: 200, + }, + { + id: 'accountName', + header: 'Account name', + cell: e => e.name, + sortingField: 'accountName', + width: 300, + minWidth: 300, + }, + { + id: 'regions', + header: 'Regions', + cell: e => e.regionCount, + width: 125, + minWidth: 125, + }, + { + id: 'iamRoleStatus', + header: 'Role Status', + cell: e => { + if (e.isIamRoleDeployed == null) + return Unknown; + return e.isIamRoleDeployed === false ? ( + Not Deployed + ) : ( + Deployed + ); + }, + width: 200, + minWidth: 200, + }, { id: 'lastDiscovered', header: 'Last Discovered', - cell: (e) => { - if(e.isIamRoleDeployed === false && e.lastCrawled == null) { - return Not Discoverable; - } else if(e.isIamRoleDeployed == null) { - return Awaiting Discovery; + cell: e => { + if (e.isIamRoleDeployed === false && e.lastCrawled == null) { + return ( + + Not Discoverable + + ); + } else if (e.isIamRoleDeployed == null) { + return ( + + Awaiting Discovery + + ); } else { - return dayjs().to(dayjs(e.lastCrawled)) + return dayjs().to(dayjs(e.lastCrawled)); } }, width: 200, minWidth: 200, - } + }, ]; -const defaultRoleStatus = { value: '0', label: 'Any Role Status' }; +const defaultRoleStatus = {value: '0', label: 'Any Role Status'}; const selectRoleStatusOptions = [ defaultRoleStatus, - { value: '1', label: 'Unknown' }, - { value: '2', label: 'Deployed' }, - { value: '3', label: 'Not Deployed' } + {value: '1', label: 'Unknown'}, + {value: '2', label: 'Deployed'}, + {value: '3', label: 'Not Deployed'}, ]; function matchesRoleStatus(item, selectedRoleStatus) { - switch(selectedRoleStatus.label) { - case 'Unknown': - return item.isIamRoleDeployed == null; - case 'Deployed': - return item.isIamRoleDeployed === true; - case 'Not Deployed': - return item.isIamRoleDeployed === false; - default: - return true; + switch (selectedRoleStatus.label) { + case 'Unknown': + return item.isIamRoleDeployed == null; + case 'Deployed': + return item.isIamRoleDeployed === true; + case 'Not Deployed': + return item.isIamRoleDeployed === false; + default: + return true; } } function DownloadButton({globalTemplate}) { return ( - + ); } @@ -123,214 +141,289 @@ function SelfManagedAccountsAlert({globalTemplate}) { action={DownloadButton({globalTemplate})} header="Undiscovered Accounts" > - The global resources CloudFormation templates have not been deployed to one or more accounts. You must - provision this template in these accounts to make them discoverable by Workload Discovery. You can filter - the account list by selecting Not Deployed from the Role Status dropdown menu to determine which - accounts must be updated. Choose Download global resources template and deploy the template in each - of the affected accounts. + The global resources CloudFormation templates have not been deployed + to one or more accounts. You must provision this template in these + accounts to make them discoverable by Workload Discovery. You can + filter the account list by selecting Not Deployed from the + Role Status dropdown menu to determine which accounts must be + updated. Choose Download global resources template and deploy + the template in each of the affected accounts. ); } function OrganizationsManagedAccounts({globalTemplate, accounts}) { - const managementAccount = accounts.find(x => x.isManagementAccount === true); - const noIamDeployedAccounts = accounts.filter(x => x.isIamRoleDeployed === false && !x.isManagementAccount); + const managementAccount = accounts.find( + x => x.isManagementAccount === true + ); + const noIamDeployedAccounts = accounts.filter( + x => x.isIamRoleDeployed === false && !x.isManagementAccount + ); return ( - {R.isEmpty(noIamDeployedAccounts) - ? void 0 - : - The global resources CloudFormation templates have not been deployed to one or more accounts. These are - provisioned by the WdGlobalResources StackSet in the account and region that Workload Discovery - has been deployed to. Verify that all the stack instances in the WdGlobalResources StackSet have - deployed successfully. + The global resources CloudFormation templates have not been + deployed to one or more accounts. These are provisioned by + the WdGlobalResources StackSet in the account and + region that Workload Discovery has been deployed to. Verify + that all the stack instances in the WdGlobalResources{' '} + StackSet have deployed successfully. - } - {managementAccount == null || managementAccount.isIamRoleDeployed === true - ? void 0 - : - The global resources CloudFormation template has not been deployed to the AWS Organizations management - account. You must provision this template to make this account discoverable by Workload Discovery. - Choose Download global resources template and deploy the template to the management account. + The global resources CloudFormation template has not been + deployed to the AWS Organizations management account. You + must provision this template to make this account + discoverable by Workload Discovery. Choose{' '} + Download global resources template and deploy the + template to the management account. - } + )} ); } function AccountAlert({globalTemplate, accounts}) { - return isUsingOrganizations() - ? - : + return isUsingOrganizations() ? ( + + ) : ( + + ); } -const DiscoverableAccountsTable = ({ selectedAccounts, onSelect }) => { - const [showDeleteConfirm, setShowDeleteConfirm] = useState(false); - const [roleStatus, setRoleStatus] = useState(defaultRoleStatus); - const {data=[], isLoading} = useAccounts(); - const {data: globalTemplate} = useTemplate(GLOBAL_TEMPLATE); - const {removeAsync} = useRemoveAccount(); - const history = useHistory(); +const DiscoverableAccountsTable = ({selectedAccounts, onSelect}) => { + const [showDeleteConfirm, setShowDeleteConfirm] = useState(false); + const [roleStatus, setRoleStatus] = useState(defaultRoleStatus); + const {data = [], isLoading} = useAccounts(); + const {data: globalTemplate} = useTemplate(GLOBAL_TEMPLATE); + const {removeAsync} = useRemoveAccount(); + const history = useHistory(); - useDeepCompareEffect(() => { - onSelect(selectedAccounts.filter(i => data.find(j => i.accountId === j.accountId))); - }, [data, onSelect, selectedAccounts]); + useDeepCompareEffect(() => { + onSelect( + selectedAccounts.filter(i => + data.find(j => i.accountId === j.accountId) + ) + ); + }, [data, onSelect, selectedAccounts]); - const accounts = R.map( - ({accountId, name, regions, ...props}) => ({ - id: accountId + name, - accountId, - name, - regionCount: R.length(regions), - regions, - ...props - }), - data - ) + const accounts = R.map( + ({accountId, name, regions, ...props}) => ({ + id: accountId + name, + accountId, + name, + regionCount: R.length(regions), + regions, + ...props, + }), + data + ); - const noIamDeployedAccounts = accounts.filter(x => x.isIamRoleDeployed === false); + const noIamDeployedAccounts = accounts.filter( + x => x.isIamRoleDeployed === false + ); - const onSelectionChange = (items) => { - onSelect(items); - }; + const onSelectionChange = items => { + onSelect(items); + }; - const { - items, - filterProps, - collectionProps, - paginationProps, - } = useCollection(accounts, { - filtering: { - empty: ( - - No Accounts - - No Account matched filter - - - ), - noMatch: ( - - No Account - - No Account matched filter - - - ), - filteringFunction: (item, filteringText) => { - return item.accountId.includes(filteringText) && matchesRoleStatus(item, roleStatus); - } - }, - pagination: { pageSize: 10 }, - sorting: { sortingColumn: 'accountId' }, - }); + const {items, filterProps, collectionProps, paginationProps} = + useCollection(accounts, { + filtering: { + empty: ( + + No Accounts + + No Account matched filter + + + ), + noMatch: ( + + No Account + + No Account matched filter + + + ), + filteringFunction: (item, filteringText) => { + return ( + item.accountId.includes(filteringText) && + matchesRoleStatus(item, roleStatus) + ); + }, + }, + pagination: {pageSize: 10}, + sorting: {sortingColumn: 'accountId'}, + }); - const handleDelete = () => { - return removeAsync(selectedAccounts.map(i => i.accountId)).then(() => setShowDeleteConfirm(false)); - } + const handleDelete = () => { + return removeAsync(selectedAccounts.map(i => i.accountId)).then(() => + setShowDeleteConfirm(false) + ); + }; - return ( - <> - setShowDeleteConfirm(false)} - visible={showDeleteConfirm} - closeAriaLabel="Close modal" - footer={ - - - - + return ( + <> + setShowDeleteConfirm(false)} + visible={showDeleteConfirm} + closeAriaLabel="Close modal" + footer={ + + + + + + + } + header="Remove Account" + > + Remove the AWS account{' '} + + {selectedAccounts + .map(i => R.defaultTo(i.accountId, i.accountName)) + .join(', ')} + + ? + + + {R.isEmpty(noIamDeployedAccounts) ? ( + void 0 + ) : ( + + )} +
+ + + + ) + } + variant="h2" + description="AWS accounts that contain Regions imported into Workload Discovery on AWS" + > + Accounts + + } + loading={isLoading} + trackBy={'id'} + resizableColumns + columnDefinitions={columns} + items={items} + selectedItems={selectedAccounts} + selectionType="multi" + onSelectionChange={evt => + onSelectionChange(evt.detail.selectedItems) + } + loadingText="Loading accounts" + filter={ + + +
- - - - } - variant='h2' - description='AWS accounts that contain Regions imported into Workload Discovery on AWS'> - Accounts - - } - loading={isLoading} - trackBy={'id'} - resizableColumns - columnDefinitions={columns} - items={items} - selectedItems={selectedAccounts} - selectionType='multi' - onSelectionChange={(evt) => onSelectionChange(evt.detail.selectedItems)} - loadingText='Loading accounts' - filter={ - - -
- - - }> - Regions - - } - trackBy={'id'} - loading={loadingAccounts || loadingRegions} - resizableColumns - columnDefinitions={columns} - visibleColumns={['region', 'name', 'account', 'count', 'types']} - items={items} - selectedItems={selectedRegions} - selectionType='multi' - onSelectionChange={(evt) => setSelectedRegions(evt.detail.selectedItems)} - isItemDisabled={isUsingOrganizations} - loadingText='Loading Regions' - filter={ - - } - pagination={} - /> - - ); + return ( + <> + setShowDeleteConfirm(false)} + visible={showDeleteConfirm} + closeAriaLabel="Close modal" + footer={ + + + + + + + } + header="Remove Region" + > + + Remove the following regions for{' '} + + {selectedAccounts.map(i => i.accountId).join(', ')} + + ? + +
    + {selectedRegions.map(i => ( +
  • + {i.name} +
  • + ))} +
+
+
+ + + ) + } + > + Regions + + } + trackBy={'id'} + loading={loadingAccounts || loadingRegions} + resizableColumns + columnDefinitions={columns} + visibleColumns={['region', 'name', 'account', 'count', 'types']} + items={items} + selectedItems={selectedRegions} + selectionType="multi" + onSelectionChange={evt => + setSelectedRegions(evt.detail.selectedItems) + } + isItemDisabled={isUsingOrganizations} + loadingText="Loading Regions" + filter={ + + } + pagination={} + /> + + ); }; DiscoverableRegionsTable.propTypes = { - selectedAccounts: PropTypes.array.isRequired, + selectedAccounts: PropTypes.array.isRequired, }; export default DiscoverableRegionsTable; diff --git a/source/frontend/src/components/RegionManagement/SinglePageImport/ExampleCSV.js b/source/frontend/src/components/RegionManagement/SinglePageImport/ExampleCSV.js index 558cacce..c3ae41f0 100644 --- a/source/frontend/src/components/RegionManagement/SinglePageImport/ExampleCSV.js +++ b/source/frontend/src/components/RegionManagement/SinglePageImport/ExampleCSV.js @@ -2,25 +2,24 @@ // SPDX-License-Identifier: Apache-2.0 import React from 'react'; -import { - ExpandableSection, -} from '@cloudscape-design/components'; +import {ExpandableSection} from '@cloudscape-design/components'; const ExampleCSV = () => { - return ( - -
-          accountId,accountName,region
- 123456789123,example-account-1,eu-west-1, -
- 123456789123,example-account-1,eu-west-2, -
- 123456789124,example-account-2,eu-west-1, -
- 123456789125,example-account-3,eu-west-1, -
-
- ); + return ( + +
+                accountId,accountName,region
+                
+ 123456789123,example-account-1,eu-west-1, +
+ 123456789123,example-account-1,eu-west-2, +
+ 123456789124,example-account-2,eu-west-1, +
+ 123456789125,example-account-3,eu-west-1, +
+
+ ); }; export default ExampleCSV; diff --git a/source/frontend/src/components/RegionManagement/SinglePageImport/ImportContent.js b/source/frontend/src/components/RegionManagement/SinglePageImport/ImportContent.js index 2fa649dd..b8b24eed 100644 --- a/source/frontend/src/components/RegionManagement/SinglePageImport/ImportContent.js +++ b/source/frontend/src/components/RegionManagement/SinglePageImport/ImportContent.js @@ -2,150 +2,213 @@ // SPDX-License-Identifier: Apache-2.0 import React from 'react'; -import {Button, Form, SpaceBetween, Modal, Box, Checkbox, Alert, Link} from '@cloudscape-design/components'; +import { + Button, + Form, + SpaceBetween, + Modal, + Box, + Checkbox, + Alert, + Link, +} from '@cloudscape-design/components'; import RegionProvider from './RegionProvider'; import Breadcrumbs from '../../../Utils/Breadcrumbs'; -import { ACCOUNTS, IMPORT } from '../../../routes'; -import * as R from "ramda"; -import {useAccounts, useAddAccounts} from "../../Hooks/useAccounts"; -import {useHistory} from "react-router-dom"; -import TemplateProvider from "./TemplateProvider"; +import {ACCOUNTS, IMPORT} from '../../../routes'; +import * as R from 'ramda'; +import {useAccounts, useAddAccounts} from '../../Hooks/useAccounts'; +import {useHistory} from 'react-router-dom'; +import TemplateProvider from './TemplateProvider'; const ImportContent = () => { - const history = useHistory(); - const {addAsync: addAccounts, isLoading} = useAddAccounts(); - const {data: accounts=[]} = useAccounts(); - const [regions, setRegions] = React.useState([]); - const [submitting, setSubmitting] = React.useState(false); - const [showConfirm, setShowConfirm] = React.useState(false); - const [hasConfirmed, setHasConfirmed] = React.useState({ - global: false, - regional: false, - }); - const importedRegions = R.reduce( - (acc, e) => - R.concat( - acc, - R.chain((region) => { - return { - accountId: e.accountId, - accountName: e.name, - region: region.name, - isIamRoleDeployed: e.isIamRoleDeployed, - isManagementAccount: e.isManagementAccount, - lastCrawled: e.lastCrawled - }; - }, e.regions) - ), - [], - accounts - ); - const byAccount = R.groupBy((e) => e.accountId); - const importAccounts = async () => { - const mergedRegions = R.mergeWith( - R.concat, - byAccount(regions), - byAccount(importedRegions) + const history = useHistory(); + const {addAsync: addAccounts, isLoading} = useAddAccounts(); + const {data: accounts = []} = useAccounts(); + const [regions, setRegions] = React.useState([]); + const [submitting, setSubmitting] = React.useState(false); + const [showConfirm, setShowConfirm] = React.useState(false); + const [hasConfirmed, setHasConfirmed] = React.useState({ + global: false, + regional: false, + }); + const importedRegions = R.reduce( + (acc, e) => + R.concat( + acc, + R.chain(region => { + return { + accountId: e.accountId, + accountName: e.name, + region: region.name, + isIamRoleDeployed: e.isIamRoleDeployed, + isManagementAccount: e.isManagementAccount, + lastCrawled: e.lastCrawled, + }; + }, e.regions) + ), + [], + accounts ); + const byAccount = R.groupBy(e => e.accountId); + const importAccounts = async () => { + const mergedRegions = R.mergeWith( + R.concat, + byAccount(regions), + byAccount(importedRegions) + ); - const accounts = Object.values(mergedRegions) - .map(accInfo => { - return accInfo.reduce((acc, item) => { - const {accountId, accountName, region, isIamRoleDeployed, isManagementAccount, lastCrawled} = item; - return { - accountId, - name: accountName ?? acc.name, - isManagementAccount: isManagementAccount ?? acc.isManagementAccount, - isIamRoleDeployed: isIamRoleDeployed ?? acc.isIamRoleDeployed, - lastCrawled: lastCrawled ?? acc.lastCrawled, - regions: [...acc.regions, {name: region}] - }; - }, {regions: []}); + const accounts = Object.values(mergedRegions).map(accInfo => { + return accInfo.reduce( + (acc, item) => { + const { + accountId, + accountName, + region, + isIamRoleDeployed, + isManagementAccount, + lastCrawled, + } = item; + return { + accountId, + name: accountName ?? acc.name, + isManagementAccount: + isManagementAccount ?? acc.isManagementAccount, + isIamRoleDeployed: + isIamRoleDeployed ?? acc.isIamRoleDeployed, + lastCrawled: lastCrawled ?? acc.lastCrawled, + regions: [...acc.regions, {name: region}], + }; + }, + {regions: []} + ); }); - return addAccounts(accounts) - }; + return addAccounts(accounts); + }; - const handleSubmit = () => { - setSubmitting(true); - importAccounts() - .then(() => history.push(ACCOUNTS)) - .finally(setSubmitting(false)) - } + const handleSubmit = () => { + setSubmitting(true); + importAccounts() + .then(() => history.push(ACCOUNTS)) + .finally(setSubmitting(false)); + }; - return ( -
- - - - }> - - - - setShowConfirm(false)} - visible={showConfirm} - size={"large"} - closeAriaLabel="Close modal" - footer={ - - - - - - - } - header="Import Accounts and Regions" + return ( + + + + + } > - - - - - - Please confirm the global and regional templates are deployed in the required accounts and - regions. For deploying the required CloudFormation templates to multiple accounts and regions, we recommend - using{" "} - - AWS CloudFormation StackSets - - - - setHasConfirmed(e => ({...e, global: detail.checked})) - } - checked={hasConfirmed.global} + + + + setShowConfirm(false)} + visible={showConfirm} + size={'large'} + closeAriaLabel="Close modal" + footer={ + + + + + + + } + header="Import Accounts and Regions" > - The global resources template is deployed in each of the accounts being imported - - - setHasConfirmed(e => ({...e, regional: detail.checked})) - } - checked={hasConfirmed.regional} - > - The regional resources template is deployed in every region being imported for each of the listed accounts - - - - - - - - ); + + + + + + Please confirm the global and regional + templates are deployed in the required + accounts and regions. For deploying the + required CloudFormation templates to + multiple accounts and regions, we recommend + using{' '} + + AWS CloudFormation StackSets + + + + setHasConfirmed(e => ({ + ...e, + global: detail.checked, + })) + } + checked={hasConfirmed.global} + > + + The global resources template is + deployed in each of the accounts being + imported + + + + setHasConfirmed(e => ({ + ...e, + regional: detail.checked, + })) + } + checked={hasConfirmed.regional} + > + + The regional resources template is + deployed in every region being imported + for each of the listed accounts + + + + + + + + + ); }; -export default ImportContent; \ No newline at end of file +export default ImportContent; diff --git a/source/frontend/src/components/RegionManagement/SinglePageImport/ImportRegionHelper.js b/source/frontend/src/components/RegionManagement/SinglePageImport/ImportRegionHelper.js index 2039a895..be6bb05a 100644 --- a/source/frontend/src/components/RegionManagement/SinglePageImport/ImportRegionHelper.js +++ b/source/frontend/src/components/RegionManagement/SinglePageImport/ImportRegionHelper.js @@ -2,61 +2,70 @@ // SPDX-License-Identifier: Apache-2.0 import React from 'react'; -import { HelpPanel } from '@cloudscape-design/components'; -import ExampleCSV from './ExampleCSV' +import {HelpPanel} from '@cloudscape-design/components'; +import ExampleCSV from './ExampleCSV'; const ImportRegionHelper = () => { - return ( - Import Regions}> -
-

- Make AWS Regions discoverable to Workload Discovery on AWS by completing the - details on this page. -

-

Deployment method

-

- Decide which method to use when making AWS Regions discoverable to - Workload Discovery on AWS. -

-
-
AWS CloudFormation StackSets
-
- Make a large number of AWS Regions discoverable. Requires additional - configuration -
-
AWS CloudFormation
-
- Make an AWS Region discoverable using AWS CloudFormation templates. - This is useful for small numbers of Regions. -
-
-

Download AWS CloudFormation templates

-

- Depending on whether the AWS Region being imported is within an AWS - account that already have a Region discoverable to Workload Discovery on AWS, - determines which AWS CloudFormation templates you need. -

-

Regions

-

- Provide details of the AWS Regions to be made discoverable to - Workload Discovery on AWS -

-
-
Add AWS Regions using a CSV file
-
Bulk import AWS Region details using a CSV file
- -
Add AWS Region using a form
-
Use the form provided to supply details about the AWS Regions to be imported.
-
-

Deploy infrastructure

-

- Using the Deploy button to navigate to the AWS CloudFormation console in the AWS Region to be imported. Deploy the CloudFormation templates downloaded earlier. -

-

Import

-

Click Import to tell Workload Discovery on AWS to discover resources within the provided AWS Regions

-
-
- ); + return ( + Import Regions}> +
+

+ Make AWS Regions discoverable to Workload Discovery on AWS + by completing the details on this page. +

+

Deployment method

+

+ Decide which method to use when making AWS Regions + discoverable to Workload Discovery on AWS. +

+
+
AWS CloudFormation StackSets
+
+ Make a large number of AWS Regions discoverable. + Requires additional configuration +
+
AWS CloudFormation
+
+ Make an AWS Region discoverable using AWS CloudFormation + templates. This is useful for small numbers of Regions. +
+
+

Download AWS CloudFormation templates

+

+ Depending on whether the AWS Region being imported is within + an AWS account that already have a Region discoverable to + Workload Discovery on AWS, determines which AWS + CloudFormation templates you need. +

+

Regions

+

+ Provide details of the AWS Regions to be made discoverable + to Workload Discovery on AWS +

+
+
Add AWS Regions using a CSV file
+
Bulk import AWS Region details using a CSV file
+ +
Add AWS Region using a form
+
+ Use the form provided to supply details about the AWS + Regions to be imported. +
+
+

Deploy infrastructure

+

+ Using the Deploy button to navigate to the + AWS CloudFormation console in the AWS Region to be imported. + Deploy the CloudFormation templates downloaded earlier. +

+

Import

+

+ Click Import to tell Workload Discovery on + AWS to discover resources within the provided AWS Regions +

+
+
+ ); }; export default ImportRegionHelper; diff --git a/source/frontend/src/components/RegionManagement/SinglePageImport/ImportTable.js b/source/frontend/src/components/RegionManagement/SinglePageImport/ImportTable.js index 1e84fe90..dd77cbb7 100644 --- a/source/frontend/src/components/RegionManagement/SinglePageImport/ImportTable.js +++ b/source/frontend/src/components/RegionManagement/SinglePageImport/ImportTable.js @@ -3,178 +3,195 @@ import React from 'react'; import { - Box, - TextFilter, - Header, - Pagination, - Button, - SpaceBetween, - Table, + Box, + TextFilter, + Header, + Pagination, + Button, + SpaceBetween, + Table, } from '@cloudscape-design/components'; -import { useCollection } from '@cloudscape-design/collection-hooks'; -import { isEmpty } from 'ramda'; +import {useCollection} from '@cloudscape-design/collection-hooks'; +import {isEmpty} from 'ramda'; import PropTypes from 'prop-types'; -import { regionMap } from '../../../Utils/Dictionaries/RegionMap'; -import {useAccounts} from "../../Hooks/useAccounts"; -import * as R from "ramda"; -import dayjs from "dayjs"; -import relativeTime from "dayjs/plugin/relativeTime"; +import {regionMap} from '../../../Utils/Dictionaries/RegionMap'; +import {useAccounts} from '../../Hooks/useAccounts'; +import * as R from 'ramda'; +import dayjs from 'dayjs'; +import relativeTime from 'dayjs/plugin/relativeTime'; dayjs.extend(relativeTime); function createData(id, region, accountId, accountName) { - return { - id, - regionName: R.head( - regionMap.filter((e) => e.id === region).map((e) => e.name) - ), - region, - accountId, - accountName, - }; + return { + id, + regionName: R.head( + regionMap.filter(e => e.id === region).map(e => e.name) + ), + region, + accountId, + accountName, + }; } -const ImportTable = ({ regions, setRegions }) => { - const [selectedRegions, setSelectedRegions] = React.useState([]); - const {data: accounts=[], isLoading} = useAccounts(); - const discoverableRegions = R.reduce( - (acc, e) => - R.concat( - acc, - R.chain((region) => { - return { - accountId: e.accountId, - accountName: e.name, - region: region.name, - }; - }, e.regions) - ), - [], - accounts - ) +const ImportTable = ({regions, setRegions}) => { + const [selectedRegions, setSelectedRegions] = React.useState([]); + const {data: accounts = [], isLoading} = useAccounts(); + const discoverableRegions = R.reduce( + (acc, e) => + R.concat( + acc, + R.chain(region => { + return { + accountId: e.accountId, + accountName: e.name, + region: region.name, + }; + }, e.regions) + ), + [], + accounts + ); - const columns = [ - { - id: 'account', - header: 'Account Id', - cell: (e) => e.accountId, - sortingField: 'accountId', - width: 200, - minWidth: 200, - }, - { - id: 'accountName', - header: 'Account name', - cell: (e) => e.accountName, - sortingField: 'accountName', - width: 300, - minWidth: 300, - }, - { - id: 'region', - header: 'Region', - cell: (e) => e.region, - width: 200, - minWidth: 200, - }, - { - id: 'regionName', - header: 'Region name', - cell: (e) => e.regionName, - width: 200, - minWidth: 200, - }, - ]; + const columns = [ + { + id: 'account', + header: 'Account Id', + cell: e => e.accountId, + sortingField: 'accountId', + width: 200, + minWidth: 200, + }, + { + id: 'accountName', + header: 'Account name', + cell: e => e.accountName, + sortingField: 'accountName', + width: 300, + minWidth: 300, + }, + { + id: 'region', + header: 'Region', + cell: e => e.region, + width: 200, + minWidth: 200, + }, + { + id: 'regionName', + header: 'Region name', + cell: e => e.regionName, + width: 200, + minWidth: 200, + }, + ]; - const onRemove = () => { - setRegions( - R.without( - R.map( - (e) => R.pick(['accountId', 'accountName', 'region'], e), - selectedRegions - ), - regions - ) - ); - setSelectedRegions([]); - }; + const onRemove = () => { + setRegions( + R.without( + R.map( + e => R.pick(['accountId', 'accountName', 'region'], e), + selectedRegions + ), + regions + ) + ); + setSelectedRegions([]); + }; - const getData = () => - R.map( - (e) => - createData( - `${e.accountId}` + `${e.accountName}` + `${e.region}`, - e.region, - e.accountId, - e.accountName - ), - R.filter((e) => !R.includes(e, discoverableRegions), regions) - ); + const getData = () => + R.map( + e => + createData( + `${e.accountId}` + `${e.accountName}` + `${e.region}`, + e.region, + e.accountId, + e.accountName + ), + R.filter(e => !R.includes(e, discoverableRegions), regions) + ); - const { items, filterProps, collectionProps, paginationProps } = - useCollection(getData(), { - filtering: { - empty: ( - - No Regions - - No Region matched filter - - - ), - noMatch: ( - - No Region - - No Region matched filter - - - ), - }, - pagination: { pageSize: 10 }, - sorting: { sortingColumn: 'accountId' }, - }); + const {items, filterProps, collectionProps, paginationProps} = + useCollection(getData(), { + filtering: { + empty: ( + + No Regions + + No Region matched filter + + + ), + noMatch: ( + + No Region + + No Region matched filter + + + ), + }, + pagination: {pageSize: 10}, + sorting: {sortingColumn: 'accountId'}, + }); - return ( -
- - - }>Regions - } - visibleColumns={['account', 'accountName', 'regionName', 'deploy']} - trackBy={'id'} - loading={isLoading} - resizableColumns - columnDefinitions={columns} - items={items} - selectedItems={selectedRegions} - selectionType='multi' - onSelectionChange={(evt) => setSelectedRegions(evt.detail.selectedItems)} - loadingText='Loading Regions' - filter={ - - } - pagination={} - /> - ); + return ( +
+ + + } + > + Regions + + } + visibleColumns={['account', 'accountName', 'regionName', 'deploy']} + trackBy={'id'} + loading={isLoading} + resizableColumns + columnDefinitions={columns} + items={items} + selectedItems={selectedRegions} + selectionType="multi" + onSelectionChange={evt => + setSelectedRegions(evt.detail.selectedItems) + } + loadingText="Loading Regions" + filter={ + + } + pagination={} + /> + ); }; ImportTable.propTypes = { - regions: PropTypes.array.isRequired, - setRegions: PropTypes.func.isRequired, + regions: PropTypes.array.isRequired, + setRegions: PropTypes.func.isRequired, }; export default ImportTable; diff --git a/source/frontend/src/components/RegionManagement/SinglePageImport/RegionEditor.js b/source/frontend/src/components/RegionManagement/SinglePageImport/RegionEditor.js index 1c6fd090..6cbb1ede 100644 --- a/source/frontend/src/components/RegionManagement/SinglePageImport/RegionEditor.js +++ b/source/frontend/src/components/RegionManagement/SinglePageImport/RegionEditor.js @@ -3,187 +3,202 @@ import React from 'react'; import { - Form, - SpaceBetween, - FormField, - Input, - Button, - Multiselect, - Autosuggest, + Form, + SpaceBetween, + FormField, + Input, + Button, + Multiselect, + Autosuggest, } from '@cloudscape-design/components'; -import { regionMap } from '../../../Utils/Dictionaries/RegionMap'; -import {useAccounts} from "../../Hooks/useAccounts"; -import * as R from "ramda"; +import {regionMap} from '../../../Utils/Dictionaries/RegionMap'; +import {useAccounts} from '../../Hooks/useAccounts'; +import * as R from 'ramda'; -const isAccountIdValid = (accountId) => R.equals(12, R.length(accountId)); -const isAccountNameValid = (accountName) => - R.and(R.gt(R.length(accountName), 0), R.lte(R.length(accountName), 64)); -const areRegionsValid = (regions) => !R.isEmpty(regions); +const isAccountIdValid = accountId => R.equals(12, R.length(accountId)); +const isAccountNameValid = accountName => + R.and(R.gt(R.length(accountName), 0), R.lte(R.length(accountName), 64)); +const areRegionsValid = regions => !R.isEmpty(regions); -const RegionForm = ({ onChange }) => { - const [selectedRegions, setSelectedRegions] = React.useState([]); - const [accountId, setAccountId] = React.useState(); - const [accountName, setAccountName] = React.useState(''); - const [showValidationError, setShowValidationError] = React.useState(false); - const {data: importedAccounts=[], status} = useAccounts(); - const importedRegions = R.reduce( - (acc, e) => - R.concat( - acc, - R.chain((region) => { - return { - accountId: e.accountId, - accountName: e.name, - region: region.name, - }; - }, e.regions) - ), - [], - importedAccounts - ) +const RegionForm = ({onChange}) => { + const [selectedRegions, setSelectedRegions] = React.useState([]); + const [accountId, setAccountId] = React.useState(); + const [accountName, setAccountName] = React.useState(''); + const [showValidationError, setShowValidationError] = React.useState(false); + const {data: importedAccounts = [], status} = useAccounts(); + const importedRegions = R.reduce( + (acc, e) => + R.concat( + acc, + R.chain(region => { + return { + accountId: e.accountId, + accountName: e.name, + region: region.name, + }; + }, e.regions) + ), + [], + importedAccounts + ); - const validateInputs = () => { - setShowValidationError(true); + const validateInputs = () => { + setShowValidationError(true); - if (!isAccountIdValid(accountId)) { - return false; - } - if (!isAccountNameValid(accountName)) { - return false; - } - if (!areRegionsValid(selectedRegions)) { - return false; - } - setShowValidationError(false); - return true; - }; + if (!isAccountIdValid(accountId)) { + return false; + } + if (!isAccountNameValid(accountName)) { + return false; + } + if (!areRegionsValid(selectedRegions)) { + return false; + } + setShowValidationError(false); + return true; + }; - const handleClick = () => { - onChange( - R.map( - (region) => buildRegion(accountId, accountName, region.region), - selectedRegions - ) - ); - setAccountId(); - setAccountName(); - setSelectedRegions([]); - }; + const handleClick = () => { + onChange( + R.map( + region => buildRegion(accountId, accountName, region.region), + selectedRegions + ) + ); + setAccountId(); + setAccountName(); + setSelectedRegions([]); + }; - const buildRegion = (accountId, accountName, region) => { - return { - accountId: accountId, - accountName: accountName, - region: region, + const buildRegion = (accountId, accountName, region) => { + return { + accountId: accountId, + accountName: accountName, + region: region, + }; }; - }; - const updateForm = (account) => { - setAccountId(account.accountId); - setAccountName(account.accountName); - }; + const updateForm = account => { + setAccountId(account.accountId); + setAccountName(account.accountName); + }; - const resetForm = (id) => { - setAccountId(id); - setAccountName(); - }; + const resetForm = id => { + setAccountId(id); + setAccountName(); + }; - const lookupAccount = (id) => { - const accountIndex = R.findIndex( - R.propEq('accountId', id), - importedRegions - ); - R.lt(accountIndex, 0) - ? resetForm(id) - : updateForm(importedRegions[accountIndex]); - }; + const lookupAccount = id => { + const accountIndex = R.findIndex( + R.propEq('accountId', id), + importedRegions + ); + R.lt(accountIndex, 0) + ? resetForm(id) + : updateForm(importedRegions[accountIndex]); + }; - return ( -
- - - }> - - - lookupAccount(detail.value)} - value={R.isNil(accountId) ? '' : accountId} - status={status} - options={R.uniq( - R.map((account) => { - return { value: account.accountId }; - }, importedAccounts) - )} - enteredTextLabel={(value) => `Add new account: "${value}"`} - ariaLabel='Enter a 12-digit AWS Account Id' - placeholder='Enter an Account Id' - empty='No Accounts found' - /> - - - setAccountName(detail.value)} - /> - - - - setSelectedRegions(detail.selectedOptions) + return ( + + + } - deselectAriaLabel={(e) => 'Remove ' + e.label} - options={regionMap.filter(i => i.id !== "global").map((region) => { - return { - label: region.name, - id: region.id, - region: region.id, - value: region.name, - }; - })} - placeholder='Select Regions' - selectedAriaLabel='Selected' - /> - - - - ); + > + + + lookupAccount(detail.value)} + value={R.isNil(accountId) ? '' : accountId} + status={status} + options={R.uniq( + R.map(account => { + return {value: account.accountId}; + }, importedAccounts) + )} + enteredTextLabel={value => + `Add new account: "${value}"` + } + ariaLabel="Enter a 12-digit AWS Account Id" + placeholder="Enter an Account Id" + empty="No Accounts found" + /> + + + setAccountName(detail.value)} + /> + + + + setSelectedRegions(detail.selectedOptions) + } + deselectAriaLabel={e => 'Remove ' + e.label} + options={regionMap + .filter(i => i.id !== 'global') + .map(region => { + return { + label: region.name, + id: region.id, + region: region.id, + value: region.name, + }; + })} + placeholder="Select Regions" + selectedAriaLabel="Selected" + /> + + + + ); }; export default RegionForm; diff --git a/source/frontend/src/components/RegionManagement/SinglePageImport/RegionProvider.js b/source/frontend/src/components/RegionManagement/SinglePageImport/RegionProvider.js index 8de6001b..a9c57c4f 100644 --- a/source/frontend/src/components/RegionManagement/SinglePageImport/RegionProvider.js +++ b/source/frontend/src/components/RegionManagement/SinglePageImport/RegionProvider.js @@ -3,20 +3,20 @@ import React from 'react'; import { - Alert, - Container, - Header, - SpaceBetween, - TextContent, + Alert, + Container, + Header, + SpaceBetween, + TextContent, } from '@cloudscape-design/components'; import RegionUploadMethod from './RegionUploadMethod'; import RegionEditor from './RegionEditor'; import FileUploader from '../../../Utils/Forms/Upload/AWSFileUpload'; import ImportTable from './ImportTable'; -import { regionMap } from '../../../Utils/Dictionaries/RegionMap'; +import {regionMap} from '../../../Utils/Dictionaries/RegionMap'; -import * as R from 'ramda'; +import * as R from 'ramda'; const mapIndexed = R.addIndex(R.map); const CSV = 'csv'; @@ -24,101 +24,103 @@ const itemHasAccountId = R.has('accountId'); const itemHasAccountName = R.has('accountName'); const itemHasRegion = R.has('region'); const itemHasAll = R.allPass([ - itemHasAccountId, - itemHasAccountName, - itemHasRegion, + itemHasAccountId, + itemHasAccountName, + itemHasRegion, ]); -const csvAccountIdIsValid = (item) => - R.equals(R.length(R.prop('accountId', item)), 12); -const csvAccountNameIsValid = (item) => - R.lte(R.length(R.prop('accountName', item)), 64); -const csvRegionisValid = (item) => - R.gte(R.findIndex(R.propEq('id', R.prop('region', item)), regionMap), 0); +const csvAccountIdIsValid = item => + R.equals(R.length(R.prop('accountId', item)), 12); +const csvAccountNameIsValid = item => + R.lte(R.length(R.prop('accountName', item)), 64); +const csvRegionisValid = item => + R.gte(R.findIndex(R.propEq('id', R.prop('region', item)), regionMap), 0); const itemIsValid = R.allPass([ - csvAccountIdIsValid, - csvAccountNameIsValid, - csvRegionisValid, + csvAccountIdIsValid, + csvAccountNameIsValid, + csvRegionisValid, ]); -const RegionProvider = ({ regions, setRegions }) => { - const [uploadMethod, setUploadMethod] = React.useState(CSV); - const [csvError, setCSVError] = React.useState([]); +const RegionProvider = ({regions, setRegions}) => { + const [uploadMethod, setUploadMethod] = React.useState(CSV); + const [csvError, setCSVError] = React.useState([]); - const handleChange = (items) => { - setRegions(R.uniq([...regions].concat(items))); - }; + const handleChange = items => { + setRegions(R.uniq([...regions].concat(items))); + }; - const validateAndUploadCSV = (items) => { - setCSVError([]); - const tooManyItems = R.gt(R.length(items), 50); + const validateAndUploadCSV = items => { + setCSVError([]); + const tooManyItems = R.gt(R.length(items), 50); - const invalidItems = R.reduce( - (acc, val) => { - if (!itemHasAll(val)) - acc.push({ - item: val, - message: 'A column is missing from the CSV file.', - }); - if (!itemIsValid(val)) - acc.push({ - item: val, - message: 'There are formatting errors in the values provided', - }); - return acc; - }, - [], - items - ); + const invalidItems = R.reduce( + (acc, val) => { + if (!itemHasAll(val)) + acc.push({ + item: val, + message: 'A column is missing from the CSV file.', + }); + if (!itemIsValid(val)) + acc.push({ + item: val, + message: + 'There are formatting errors in the values provided', + }); + return acc; + }, + [], + items + ); - if (tooManyItems) - invalidItems.push({ - item: null, - message: - 'Too many Regions provided, you can upload a maximum of 50 Regions', - }); + if (tooManyItems) + invalidItems.push({ + item: null, + message: + 'Too many Regions provided, you can upload a maximum of 50 Regions', + }); - R.isEmpty(invalidItems) - ? handleChange(items) - : setCSVError(R.uniqBy(R.prop('message'), invalidItems)); - }; + R.isEmpty(invalidItems) + ? handleChange(items) + : setCSVError(R.uniqBy(R.prop('message'), invalidItems)); + }; - return ( - - Import Method}> - - - {R.equals(CSV, uploadMethod) ? ( - setCSVError(item)} - /> - ) : ( - - )} - {!R.isEmpty(csvError) && ( - - -
    - {mapIndexed( - (e, index) => ( -
  • {e.message}
  • - ), - csvError - )} -
-
-
- )} + return ( + + Import Method}> + + + {R.equals(CSV, uploadMethod) ? ( + setCSVError(item)} + /> + ) : ( + + )} + {!R.isEmpty(csvError) && ( + + +
    + {mapIndexed( + (e, index) => ( +
  • {e.message}
  • + ), + csvError + )} +
+
+
+ )} +
+
+
-
- -
- ); + ); }; export default RegionProvider; diff --git a/source/frontend/src/components/RegionManagement/SinglePageImport/RegionUploadMethod.js b/source/frontend/src/components/RegionManagement/SinglePageImport/RegionUploadMethod.js index 04db31dd..e1e8577c 100644 --- a/source/frontend/src/components/RegionManagement/SinglePageImport/RegionUploadMethod.js +++ b/source/frontend/src/components/RegionManagement/SinglePageImport/RegionUploadMethod.js @@ -2,34 +2,35 @@ // SPDX-License-Identifier: Apache-2.0 import React from 'react'; -import { RadioGroup } from '@cloudscape-design/components'; +import {RadioGroup} from '@cloudscape-design/components'; const RegionUploadMethod = ({setUploadMethod}) => { - const [value, setValue] = React.useState('csv'); + const [value, setValue] = React.useState('csv'); - const onSelectionChange = (uploadMethod) => { - setValue(uploadMethod) - setUploadMethod(uploadMethod) - } - return ( - onSelectionChange(detail.value)} - value={value} - items={[ - { - value: 'csv', - label: 'Add Accounts & Regions using a CSV file', - description: 'Provide up to 50 AWS Account/Region pairs in a CSV file.', - }, - { - value: 'input', - label: 'Add Accounts & Regions using a form.', - description: - 'Provide the AWS Account and Region details using the form provided.', - }, - ]} - /> - ); + const onSelectionChange = uploadMethod => { + setValue(uploadMethod); + setUploadMethod(uploadMethod); + }; + return ( + onSelectionChange(detail.value)} + value={value} + items={[ + { + value: 'csv', + label: 'Add Accounts & Regions using a CSV file', + description: + 'Provide up to 50 AWS Account/Region pairs in a CSV file.', + }, + { + value: 'input', + label: 'Add Accounts & Regions using a form.', + description: + 'Provide the AWS Account and Region details using the form provided.', + }, + ]} + /> + ); }; export default RegionUploadMethod; diff --git a/source/frontend/src/components/RegionManagement/SinglePageImport/TemplateProvider.js b/source/frontend/src/components/RegionManagement/SinglePageImport/TemplateProvider.js index 35b8e0e0..616398eb 100644 --- a/source/frontend/src/components/RegionManagement/SinglePageImport/TemplateProvider.js +++ b/source/frontend/src/components/RegionManagement/SinglePageImport/TemplateProvider.js @@ -2,59 +2,73 @@ // SPDX-License-Identifier: Apache-2.0 import React from 'react'; +import {Button, SpaceBetween, Box} from '@cloudscape-design/components'; import { - Button, - SpaceBetween, - Box, -} from '@cloudscape-design/components'; -import {GLOBAL_TEMPLATE, REGIONAL_TEMPLATE, useTemplate} from "../../Hooks/useTemplate"; + GLOBAL_TEMPLATE, + REGIONAL_TEMPLATE, + useTemplate, +} from '../../Hooks/useTemplate'; import fileDownload from 'js-file-download'; -import {GLOBAL_RESOURCES_TEMPLATE_FILENAME} from "../../../config/constants"; +import {GLOBAL_RESOURCES_TEMPLATE_FILENAME} from '../../../config/constants'; const TemplateProvider = () => { - const {data: globalTemplate, isLoading: isLoadingGlobal} = useTemplate(GLOBAL_TEMPLATE); - const {data: regionalTemplate, isLoading: isLoadingRegional} = useTemplate(REGIONAL_TEMPLATE); - return ( - - - - Using the AWS CloudFormation templates below: -
    -
  • Deploy the Global Resources template once in each target account.
  • -
  • Deploy the Regional Resources template to each AWS region in a target account that you want to be discoverable.
  • -
- For a target account to be discovered you must deploy the Global Resources template exactly once, - and the Regional Resources template at least once. -
+ const {data: globalTemplate, isLoading: isLoadingGlobal} = + useTemplate(GLOBAL_TEMPLATE); + const {data: regionalTemplate, isLoading: isLoadingRegional} = + useTemplate(REGIONAL_TEMPLATE); + return ( - - - - + + + Using the AWS CloudFormation templates below: +
    +
  • + Deploy the Global Resources{' '} + template once in each target account. +
  • +
  • + Deploy the Regional Resources{' '} + template to each AWS region in a target account that + you want to be discoverable. +
  • +
+ For a target account to be discovered you must deploy the{' '} + Global Resources template exactly once, and + the Regional Resources template at least + once. +
+ + + + + + +
-
-
- ); + ); }; export default TemplateProvider; diff --git a/source/frontend/src/components/Shared/ResourceDetails.js b/source/frontend/src/components/Shared/ResourceDetails.js index 56027b35..ae82563c 100644 --- a/source/frontend/src/components/Shared/ResourceDetails.js +++ b/source/frontend/src/components/Shared/ResourceDetails.js @@ -4,159 +4,170 @@ import React, {useMemo} from 'react'; import PropTypes from 'prop-types'; import { - Container, - SpaceBetween, - StatusIndicator, - ColumnLayout, - Link, - ExpandableSection, + Container, + SpaceBetween, + StatusIndicator, + ColumnLayout, + Link, + ExpandableSection, } from '@cloudscape-design/components'; import ResourceDetailsTagTable from '../Explore/Resources/Utils/ResourceDetailsTagTable'; -import { getStateInformation } from '../../Utils/Resources/ResourceStateParser'; -import ReactJson from 'react-json-view'; -import * as R from 'ramda'; -import dayjs from 'dayjs'; -import localizedFormat from 'dayjs/plugin/localizedFormat'; -import relativeTime from 'dayjs/plugin/relativeTime'; -import {clean, jsonParseKeys} from "../../Utils/ObjectUtils"; +import {getStateInformation} from '../../Utils/Resources/ResourceStateParser'; +import JsonView from '@uiw/react-json-view'; +import * as R from 'ramda'; +import dayjs from 'dayjs'; +import localizedFormat from 'dayjs/plugin/localizedFormat'; +import relativeTime from 'dayjs/plugin/relativeTime'; +import {clean, jsonParseKeys} from '../../Utils/ObjectUtils'; import ValueWithLabel from './ValueWithLabel'; dayjs.extend(localizedFormat); dayjs.extend(relativeTime); -const getStatusType = (status) => { - if (R.equals('status-available', status)) return 'success'; - if (R.equals('status-warning', status)) return 'warning'; - if (R.equals('status-negative', status)) return 'error'; +const getStatusType = status => { + if (R.equals('status-available', status)) return 'success'; + if (R.equals('status-warning', status)) return 'warning'; + if (R.equals('status-negative', status)) return 'error'; }; -const getStatusColor = (status) => { +const getStatusColor = status => { if (R.equals('status-available', status)) return 'green'; if (R.equals('status-warning', status)) return 'yellow'; if (R.equals('status-negative', status)) return 'red'; }; -const capitalize = (str) => - str.replace(/\w\S*/g, function(txt) { - return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase(); - }); - +const capitalize = str => + str.replace(/\w\S*/g, function (txt) { + return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase(); + }); const parser = R.compose( - jsonParseKeys(["configuration"]), - jsonParseKeys(["configuration", "tags"]), - clean + jsonParseKeys(['configuration']), + jsonParseKeys(['configuration', 'tags']), + clean ); -const ResourceDetails = ({ selectedResource }) => { - const properties = useMemo(() => parser(selectedResource.properties ?? {}), [selectedResource]); +const ResourceDetails = ({selectedResource}) => { + const properties = useMemo( + () => parser(selectedResource.properties ?? {}), + [selectedResource] + ); + + const getTags = () => { + return ( + { + return { + name: e.key, + value: e.value, + }; + }, properties.tags)} + visibleColumns={['name', 'value']} + columns={[ + { + id: 'id', + cell: e => `${e.name}-${e.value}`, + }, + { + id: 'name', + header: 'Name', + cell: e => e.name, + sortingField: 'name', + width: 300, + minWidth: 300, + }, + { + id: 'value', + header: 'Value', + cell: e => e.value, + width: 300, + minWidth: 300, + }, + ]} + sortColumn={'id'} + pageSize={10} + /> + ); + }; - const getTags = () => { return ( - { - return { - name: e.key, - value: e.value, - }; - }, properties.tags)} - visibleColumns={['name', 'value']} - columns={[ - { - id: 'id', - cell: (e) => `${e.name}-${e.value}`, - }, - { - id: 'name', - header: 'Name', - cell: (e) => e.name, - sortingField: 'name', - width: 300, - minWidth: 300, - }, - { - id: 'value', - header: 'Value', - cell: (e) => e.value, - width: 300, - minWidth: 300, - }, - ]} - sortColumn={'id'} - pageSize={10} - /> + + + + + + {properties.resourceName ?? 'N/A'} + + + {properties.accountId ?? 'N/A'} + + + {properties.awsRegion ?? 'N/A'} + + + {properties.availabilityZone ?? 'N/A'} + + + + + {properties.configuration?.state != null ? ( + + {capitalize( + getStateInformation( + properties.configuration.state + ).text + )} + + ) : ( + 'N/A' + )} + + + {properties.resourceType ?? 'N/A'} + + + { + + {properties.arn} + + } + + + + + + {getTags()} + + + { + + } + + + + ); - }; - - return ( - - - - - - {properties.resourceName ?? 'N/A'} - - - {properties.accountId ?? 'N/A'} - - - {properties.awsRegion ?? 'N/A'} - - - {properties.availabilityZone ?? 'N/A'} - - - - - { - properties.configuration?.state != null ? - - {capitalize(getStateInformation(properties.configuration.state).text)} - : 'N/A' - } - - - {properties.resourceType ?? 'N/A'} - - - { - - {properties.arn} - - } - - - - - {getTags()} - - { - - } - - - - - ); }; ResourceDetails.propTypes = { - selectedResource: PropTypes.object.isRequired, + selectedResource: PropTypes.object.isRequired, }; export default ResourceDetails; diff --git a/source/frontend/src/components/Shared/ValueWithLabel.js b/source/frontend/src/components/Shared/ValueWithLabel.js index fe677c6b..975aa40b 100644 --- a/source/frontend/src/components/Shared/ValueWithLabel.js +++ b/source/frontend/src/components/Shared/ValueWithLabel.js @@ -2,23 +2,21 @@ // SPDX-License-Identifier: Apache-2.0 import React from 'react'; -import { - Box -} from '@cloudscape-design/components'; +import {Box} from '@cloudscape-design/components'; import PropTypes from 'prop-types'; -const ValueWithLabel = ({ label, children }) => ( +const ValueWithLabel = ({label, children}) => (
- - {label} - -
{children}
+ + {label} + +
{children}
- ); - - ValueWithLabel.propTypes = { +); + +ValueWithLabel.propTypes = { label: PropTypes.string.isRequired, - children: PropTypes.object - } + children: PropTypes.object, +}; - export default ValueWithLabel; \ No newline at end of file +export default ValueWithLabel; diff --git a/source/frontend/src/components/SplitPanel/SplitPanelConfig.js b/source/frontend/src/components/SplitPanel/SplitPanelConfig.js index fe23b804..cdc4d984 100644 --- a/source/frontend/src/components/SplitPanel/SplitPanelConfig.js +++ b/source/frontend/src/components/SplitPanel/SplitPanelConfig.js @@ -3,42 +3,44 @@ import React from 'react'; -export const useSplitPanel = (open) => { - const [splitPanelSize, setSplitPanelSize] = React.useState(300); - const [splitPanelOpen, setSplitPanelOpen] = React.useState(open); - const [splitPanelPreferences, setSplitPanelPreferences] = React.useState({position: "bottom"}); - const [hasManuallyClosedOnce, setHasManuallyClosedOnce] = - React.useState(false); - - const onSplitPanelResize = ({ detail: { size } }) => { - setSplitPanelSize(size); - }; - - const onSplitPanelToggle = ({ detail: { open } }) => { - setSplitPanelOpen(open); - - if (!open) { - setHasManuallyClosedOnce(true); - } - }; - - const onSplitPanelPreferencesChange = ({ detail }) => { - setSplitPanelPreferences(detail); - }; - - React.useEffect(() => { - if (open && !hasManuallyClosedOnce) { - setSplitPanelOpen(true); - } - }, [open, hasManuallyClosedOnce]); - - return { - splitPanelOpen, - onSplitPanelToggle, - splitPanelSize, - splitPanelPreferences, - onSplitPanelResize, - onSplitPanelPreferencesChange, - setSplitPanelPreferences, - }; +export const useSplitPanel = open => { + const [splitPanelSize, setSplitPanelSize] = React.useState(300); + const [splitPanelOpen, setSplitPanelOpen] = React.useState(open); + const [splitPanelPreferences, setSplitPanelPreferences] = React.useState({ + position: 'bottom', + }); + const [hasManuallyClosedOnce, setHasManuallyClosedOnce] = + React.useState(false); + + const onSplitPanelResize = ({detail: {size}}) => { + setSplitPanelSize(size); + }; + + const onSplitPanelToggle = ({detail: {open}}) => { + setSplitPanelOpen(open); + + if (!open) { + setHasManuallyClosedOnce(true); + } + }; + + const onSplitPanelPreferencesChange = ({detail}) => { + setSplitPanelPreferences(detail); + }; + + React.useEffect(() => { + if (open && !hasManuallyClosedOnce) { + setSplitPanelOpen(true); + } + }, [open, hasManuallyClosedOnce]); + + return { + splitPanelOpen, + onSplitPanelToggle, + splitPanelSize, + splitPanelPreferences, + onSplitPanelResize, + onSplitPanelPreferencesChange, + setSplitPanelPreferences, + }; }; diff --git a/source/frontend/src/config/api-retry.js b/source/frontend/src/config/api-retry.js index 6b63103b..dbfd866a 100644 --- a/source/frontend/src/config/api-retry.js +++ b/source/frontend/src/config/api-retry.js @@ -1,4 +1,4 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 - export const retryAttempts = 3; \ No newline at end of file +export const retryAttempts = 3; diff --git a/source/frontend/src/config/constants.js b/source/frontend/src/config/constants.js index 89df7255..d35c8264 100644 --- a/source/frontend/src/config/constants.js +++ b/source/frontend/src/config/constants.js @@ -2,6 +2,15 @@ // SPDX-License-Identifier: Apache-2.0 export const AWS_ORGANIZATIONS = 'AWS_ORGANIZATIONS'; -export const GLOBAL_RESOURCES_TEMPLATE_FILENAME = 'global-resources.template' +export const GLOBAL_RESOURCES_TEMPLATE_FILENAME = 'global-resources.template'; -export const DEFAULT_COSTS_INTERVAL = { type: 'relative', unit: 'day', amount: 5 }; \ No newline at end of file +export const DEFAULT_COSTS_INTERVAL = { + type: 'relative', + unit: 'day', + amount: 5, +}; + +export const PSEUDO_RESOURCE_TYPES = new Set([ + 'AWS::Tags::Tag', + 'AWS::IAM::InlinePolicy', +]); diff --git a/source/frontend/src/errors/ObjectNotFoundError.js b/source/frontend/src/errors/ObjectNotFoundError.js index e26efc40..5509841d 100644 --- a/source/frontend/src/errors/ObjectNotFoundError.js +++ b/source/frontend/src/errors/ObjectNotFoundError.js @@ -6,4 +6,4 @@ export class ObjectNotFoundError extends Error { super(message); this.name = 'ObjectNotFound'; } -} \ No newline at end of file +} diff --git a/source/frontend/src/help-panel.js b/source/frontend/src/help-panel.js index ece76cb1..364722aa 100644 --- a/source/frontend/src/help-panel.js +++ b/source/frontend/src/help-panel.js @@ -10,81 +10,83 @@ import DiscoverableAccountsAndRegionsHelper from './components/RegionManagement/ import OpenDiagramHelper from './components/Diagrams/Draw/DrawDiagram/OpenDiagram/OpenDiagramHelper'; import CreateDiagramHelper from './components/Diagrams/Draw/DrawDiagram/CreateDiagram/CreateDiagramHelper'; import { - ACCOUNTS, COST_REPORT, COSTS, - CREATE_DIAGRAM, - CREATE_VIEW, - DIAGRAM_MANAGEMENT, - EDIT_VIEW, - IMPORT, - OPEN_DIAGRAM, - RESOURCES, - VIEW, - VIEWS -} from "./routes"; -import DiagramExplorerHelper from "./components/Diagrams/Management/DiagramExplorerHelper"; -import CostReportHelper from "./components/Costs/Report/CostReportHelper"; -import CostExplorerHelper from "./components/Costs/QueryBuilder/CostExplorerHelper"; + ACCOUNTS, + COST_REPORT, + COSTS, + CREATE_DIAGRAM, + CREATE_VIEW, + DIAGRAM_MANAGEMENT, + EDIT_VIEW, + IMPORT, + OPEN_DIAGRAM, + RESOURCES, + VIEW, + VIEWS, +} from './routes'; +import DiagramExplorerHelper from './components/Diagrams/Management/DiagramExplorerHelper'; +import CostReportHelper from './components/Costs/Report/CostReportHelper'; +import CostExplorerHelper from './components/Costs/QueryBuilder/CostExplorerHelper'; const panels = [ - { - title: 'Resources', - path: RESOURCES, - component: , - }, - { - title: 'Edit a View', - path: EDIT_VIEW, - component: , - }, - { - title: 'Create a View', - path: CREATE_VIEW, - component: , - }, - { - title: 'Explore Views', - path: VIEWS, - component: , - }, - { - title: 'Explore View', - path: VIEW, - component: , - }, - { - title: 'Import', - path: IMPORT, - component: , - }, - { - title: 'Accounts', - path: ACCOUNTS, - component: , - }, - { - title: 'Draw Diagram', - path: OPEN_DIAGRAM, - component: , - }, - { - title: 'Create Diagram', - path: CREATE_DIAGRAM, - component: , - }, - { - title: 'Diagram Management', - path: DIAGRAM_MANAGEMENT, - component: , - }, - { - title: 'Cost Report', - path: COST_REPORT, - component: , - }, - { - title: 'Cost Explorer', - path: COSTS, - component: , - }, + { + title: 'Resources', + path: RESOURCES, + component: , + }, + { + title: 'Edit a View', + path: EDIT_VIEW, + component: , + }, + { + title: 'Create a View', + path: CREATE_VIEW, + component: , + }, + { + title: 'Explore Views', + path: VIEWS, + component: , + }, + { + title: 'Explore View', + path: VIEW, + component: , + }, + { + title: 'Import', + path: IMPORT, + component: , + }, + { + title: 'Accounts', + path: ACCOUNTS, + component: , + }, + { + title: 'Draw Diagram', + path: OPEN_DIAGRAM, + component: , + }, + { + title: 'Create Diagram', + path: CREATE_DIAGRAM, + component: , + }, + { + title: 'Diagram Management', + path: DIAGRAM_MANAGEMENT, + component: , + }, + { + title: 'Cost Report', + path: COST_REPORT, + component: , + }, + { + title: 'Cost Explorer', + path: COSTS, + component: , + }, ]; export default panels; diff --git a/source/frontend/src/index.css b/source/frontend/src/index.css index eb2232d0..3dfd607a 100644 --- a/source/frontend/src/index.css +++ b/source/frontend/src/index.css @@ -2,53 +2,57 @@ html, body, div#root { - font-family: Amazon Ember, Helvetica, Arial, sans-serif !important; - height: 100vh; - max-height: 100vh; - margin: 0; + font-family: + Amazon Ember, + Helvetica, + Arial, + sans-serif !important; + height: 100vh; + max-height: 100vh; + margin: 0; } /* CYTOSCAPE */ .cy-subnet { - color: #fff; - font-size: 0.5em; - margin-bottom: 0; - border-top: 1px solid #147eba; - border-left: 1px solid #147eba; - border-right: 1px solid #147eba; - padding: 1px 1px 2px; - background-color: #147eba; + color: #fff; + font-size: 0.5em; + margin-bottom: 0; + border-top: 1px solid #147eba; + border-left: 1px solid #147eba; + border-right: 1px solid #147eba; + padding: 1px 1px 2px; + background-color: #147eba; } .cy-vpc { - color: #fff; - font-size: 0.5em; - margin-bottom: 0; - border-top: 1px solid #683dc2; - border-left: 1px solid #683dc2; - border-right: 1px solid #683dc2; - padding: 1px 1px 2px; - background-color: #683dc2; + color: #fff; + font-size: 0.5em; + margin-bottom: 0; + border-top: 1px solid #683dc2; + border-left: 1px solid #683dc2; + border-right: 1px solid #683dc2; + padding: 1px 1px 2px; + background-color: #683dc2; } .cy-title { - text-align: center; - font-size: 0.5rem; - height: 10px; - top: 20px; - box-sizing: content-box; - padding-bottom: 1px; + text-align: center; + font-size: 0.5rem; + height: 10px; + top: 20px; + box-sizing: content-box; + padding-bottom: 1px; } /* Stop Graph extending outside of div */ svg { - overflow: hidden; + overflow: hidden; } /* JSON VIEWER CUSTOMISATION */ .jsonViewer { - overflow: auto; - max-width: 100vw !important; + overflow: auto; + max-width: 100vw !important; } diff --git a/source/frontend/src/index.js b/source/frontend/src/index.js index e6045768..991afe1b 100644 --- a/source/frontend/src/index.js +++ b/source/frontend/src/index.js @@ -2,15 +2,16 @@ // SPDX-License-Identifier: Apache-2.0 import React from 'react'; -import ReactDOM from 'react-dom'; +import {createRoot} from 'react-dom/client'; import './index.css'; import App from './App'; import * as serviceWorker from './serviceWorker'; -import { Amplify } from 'aws-amplify'; +import {Amplify} from 'aws-amplify'; Amplify.configure(window.amplify); -ReactDOM.render(, document.getElementById('root')); +const root = createRoot(document.getElementById('root')); +root.render(); // If you want your app to work offline and load faster, you can change // unregister() to register() below. Note this comes with some pitfalls. diff --git a/source/frontend/src/large-diagram.json b/source/frontend/src/large-diagram.json deleted file mode 100644 index eff4a668..00000000 --- a/source/frontend/src/large-diagram.json +++ /dev/null @@ -1 +0,0 @@ -{"nodes":[{"data":{"id":"044981683129","level":0,"title":"044981683129","label":"044981683129","plainLabel":"044981683129","type":"account","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/AWS-Cloud-alt_light-bg.svg","cost":0,"hasChildren":true,"children":[{"id":null,"label":"global","parent":null,"type":"region","data":null,"properties":null,"children":[{"id":null,"label":"Role","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:iam::044981683129:role/aws-perspective-v2-TaskSt-CleanupRepositoryFunctio-UVL1GLKHSI05","label":"AWS_IAM_Role","parent":true,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/aws-perspective-v2-TaskSt-CleanupRepositoryFunctio-UVL1GLKHSI05","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22lambda.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO45TLZUQYCQ\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole\\\",\\\"policyName\\\":\\\"AWSLambdaBasicExecutionRole\\\"}],\\\"roleName\\\":\\\"aws-perspective-v2-TaskSt-CleanupRepositoryFunctio-UVL1GLKHSI05\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/aws-perspective-v2-TaskSt-CleanupRepositoryFunctio-UVL1GLKHSI05\\\",\\\"createDate\\\":\\\"2022-08-30T10:47:57.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22ecr%3ABatchDeleteImage%22%2C%22ecr%3AListImages%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Aecr%3Aeu-west-2%3A044981683129%3Arepository%2Faws-perspective-v2-taskstack-11mohfygo00lg-perspectivecontainerrepo-awvb6k5ahikw%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"CleanupRepositoryFunctionRolePolicy0\\\"}],\\\"tags\\\":[{\\\"value\\\":\\\"SAM\\\",\\\"key\\\":\\\"lambda:createdBy\\\"}]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO45TLZUQYCQ","resourceName":"aws-perspective-v2-TaskSt-CleanupRepositoryFunctio-UVL1GLKHSI05","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"}]","title":"aws-perspective-v2-TaskSt-CleanupRepositoryFunctio-UVL1GLKHSI05","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]},{"id":null,"label":"InlinePolicy","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:iam::044981683129:role/aws-perspective-v2-TaskSt-CleanupRepositoryFunctio-UVL1GLKHSI05/inlinePolicy/CleanupRepositoryFunctionRolePolicy0","label":"AWS_IAM_InlinePolicy","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/aws-perspective-v2-TaskSt-CleanupRepositoryFunctio-UVL1GLKHSI05/inlinePolicy/CleanupRepositoryFunctionRolePolicy0","configuration":"\"{\\\"policyName\\\":\\\"CleanupRepositoryFunctionRolePolicy0\\\",\\\"policyDocument\\\":{\\\"Statement\\\":[{\\\"Action\\\":[\\\"ecr:BatchDeleteImage\\\",\\\"ecr:ListImages\\\"],\\\"Resource\\\":\\\"arn:aws:ecr:eu-west-2:044981683129:repository/aws-perspective-v2-taskstack-11mohfygo00lg-perspectivecontainerrepo-awvb6k5ahikw\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/aws-perspective-v2-TaskSt-CleanupRepositoryFunctio-UVL1GLKHSI05/inlinePolicy/CleanupRepositoryFunctionRolePolicy0","resourceName":"arn:aws:iam::044981683129:role/aws-perspective-v2-TaskSt-CleanupRepositoryFunctio-UVL1GLKHSI05/inlinePolicy/CleanupRepositoryFunctionRolePolicy0","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/aws-perspective-v2-TaskSt-CleanupRepositoryFunctio-UVL1GLKHSI05/inlinePolicy/CleanupRepositoryFunctionRolePolicy0","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]},{"id":null,"label":"Tag","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:tags::044981683129:tag/lambda:createdBy=SAM","label":"AWS_Tags_Tag","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:tags::044981683129:tag/lambda:createdBy=SAM","configuration":"\"{}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:tags::044981683129:tag/lambda:createdBy=SAM","resourceName":"lambda:createdBy=SAM","resourceType":"AWS::Tags::Tag","resourceValue":null,"state":null,"tags":"[]","title":"lambda:createdBy=SAM","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]}]}],"accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-2.25,"y":-1397},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"account removeAll _gridParentPadding"},{"data":{"id":"global-044981683129","parent":"044981683129","level":1,"title":"global","label":"global","plainLabel":"global","type":"region","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Region_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":null,"label":"Role","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:iam::044981683129:role/aws-perspective-v2-TaskSt-CleanupRepositoryFunctio-UVL1GLKHSI05","label":"AWS_IAM_Role","parent":true,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/aws-perspective-v2-TaskSt-CleanupRepositoryFunctio-UVL1GLKHSI05","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22lambda.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO45TLZUQYCQ\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole\\\",\\\"policyName\\\":\\\"AWSLambdaBasicExecutionRole\\\"}],\\\"roleName\\\":\\\"aws-perspective-v2-TaskSt-CleanupRepositoryFunctio-UVL1GLKHSI05\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/aws-perspective-v2-TaskSt-CleanupRepositoryFunctio-UVL1GLKHSI05\\\",\\\"createDate\\\":\\\"2022-08-30T10:47:57.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22ecr%3ABatchDeleteImage%22%2C%22ecr%3AListImages%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Aecr%3Aeu-west-2%3A044981683129%3Arepository%2Faws-perspective-v2-taskstack-11mohfygo00lg-perspectivecontainerrepo-awvb6k5ahikw%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"CleanupRepositoryFunctionRolePolicy0\\\"}],\\\"tags\\\":[{\\\"value\\\":\\\"SAM\\\",\\\"key\\\":\\\"lambda:createdBy\\\"}]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO45TLZUQYCQ","resourceName":"aws-perspective-v2-TaskSt-CleanupRepositoryFunctio-UVL1GLKHSI05","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"}]","title":"aws-perspective-v2-TaskSt-CleanupRepositoryFunctio-UVL1GLKHSI05","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]},{"id":null,"label":"InlinePolicy","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:iam::044981683129:role/aws-perspective-v2-TaskSt-CleanupRepositoryFunctio-UVL1GLKHSI05/inlinePolicy/CleanupRepositoryFunctionRolePolicy0","label":"AWS_IAM_InlinePolicy","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/aws-perspective-v2-TaskSt-CleanupRepositoryFunctio-UVL1GLKHSI05/inlinePolicy/CleanupRepositoryFunctionRolePolicy0","configuration":"\"{\\\"policyName\\\":\\\"CleanupRepositoryFunctionRolePolicy0\\\",\\\"policyDocument\\\":{\\\"Statement\\\":[{\\\"Action\\\":[\\\"ecr:BatchDeleteImage\\\",\\\"ecr:ListImages\\\"],\\\"Resource\\\":\\\"arn:aws:ecr:eu-west-2:044981683129:repository/aws-perspective-v2-taskstack-11mohfygo00lg-perspectivecontainerrepo-awvb6k5ahikw\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/aws-perspective-v2-TaskSt-CleanupRepositoryFunctio-UVL1GLKHSI05/inlinePolicy/CleanupRepositoryFunctionRolePolicy0","resourceName":"arn:aws:iam::044981683129:role/aws-perspective-v2-TaskSt-CleanupRepositoryFunctio-UVL1GLKHSI05/inlinePolicy/CleanupRepositoryFunctionRolePolicy0","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/aws-perspective-v2-TaskSt-CleanupRepositoryFunctio-UVL1GLKHSI05/inlinePolicy/CleanupRepositoryFunctionRolePolicy0","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]},{"id":null,"label":"Tag","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:tags::044981683129:tag/lambda:createdBy=SAM","label":"AWS_Tags_Tag","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:tags::044981683129:tag/lambda:createdBy=SAM","configuration":"\"{}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:tags::044981683129:tag/lambda:createdBy=SAM","resourceName":"lambda:createdBy=SAM","resourceType":"AWS::Tags::Tag","resourceValue":null,"state":null,"tags":"[]","title":"lambda:createdBy=SAM","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":1336,"y":-2146.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"region removeAll _gridParentPadding"},{"data":{"id":"Role-global-044981683129","parent":"global-044981683129","level":2,"title":"Role","label":"Role","plainLabel":"Role","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:iam::044981683129:role/aws-perspective-v2-TaskSt-CleanupRepositoryFunctio-UVL1GLKHSI05","label":"AWS_IAM_Role","parent":true,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/aws-perspective-v2-TaskSt-CleanupRepositoryFunctio-UVL1GLKHSI05","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22lambda.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO45TLZUQYCQ\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole\\\",\\\"policyName\\\":\\\"AWSLambdaBasicExecutionRole\\\"}],\\\"roleName\\\":\\\"aws-perspective-v2-TaskSt-CleanupRepositoryFunctio-UVL1GLKHSI05\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/aws-perspective-v2-TaskSt-CleanupRepositoryFunctio-UVL1GLKHSI05\\\",\\\"createDate\\\":\\\"2022-08-30T10:47:57.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22ecr%3ABatchDeleteImage%22%2C%22ecr%3AListImages%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Aecr%3Aeu-west-2%3A044981683129%3Arepository%2Faws-perspective-v2-taskstack-11mohfygo00lg-perspectivecontainerrepo-awvb6k5ahikw%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"CleanupRepositoryFunctionRolePolicy0\\\"}],\\\"tags\\\":[{\\\"value\\\":\\\"SAM\\\",\\\"key\\\":\\\"lambda:createdBy\\\"}]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO45TLZUQYCQ","resourceName":"aws-perspective-v2-TaskSt-CleanupRepositoryFunctio-UVL1GLKHSI05","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"}]","title":"aws-perspective-v2-TaskSt-CleanupRepositoryFunctio-UVL1GLKHSI05","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":878,"y":-2394.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:iam::044981683129:role/aws-perspective-v2-TaskSt-CleanupRepositoryFunctio-UVL1GLKHSI05","resourceId":["AROAQU6I6AO45TLZUQYCQ","arn:aws:iam::044981683129:role/aws-perspective-v2-TaskSt-CleanupRepositoryFunctio-UVL1GLKHSI05"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/aws-perspective-v2-TaskSt-CleanupRepositoryFunctio-UVL1GLKHSI05","title":"aws-perspective-v2-TaskSt-CleanupRepositoryFunctio-UVL1GLKHSI05","label":"aws-perspect...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/aws-perspective-v2-TaskSt-CleanupRepositoryFunctio-UVL1GLKHSI05","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO45TLZUQYCQ","name":"aws-perspective-v2-TaskSt-CleanupRepositoryFunctio-UVL1GLKHSI05","value":null,"type":"AWS::IAM::Role","tags":"[{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"}]","arn":"arn:aws:iam::044981683129:role/aws-perspective-v2-TaskSt-CleanupRepositoryFunctio-UVL1GLKHSI05","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/aws-perspective-v2-TaskSt-CleanupRepositoryFunctio-UVL1GLKHSI05","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22lambda.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO45TLZUQYCQ\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole\\\",\\\"policyName\\\":\\\"AWSLambdaBasicExecutionRole\\\"}],\\\"roleName\\\":\\\"aws-perspective-v2-TaskSt-CleanupRepositoryFunctio-UVL1GLKHSI05\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/aws-perspective-v2-TaskSt-CleanupRepositoryFunctio-UVL1GLKHSI05\\\",\\\"createDate\\\":\\\"2022-08-30T10:47:57.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22ecr%3ABatchDeleteImage%22%2C%22ecr%3AListImages%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Aecr%3Aeu-west-2%3A044981683129%3Arepository%2Faws-perspective-v2-taskstack-11mohfygo00lg-perspectivecontainerrepo-awvb6k5ahikw%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"CleanupRepositoryFunctionRolePolicy0\\\"}],\\\"tags\\\":[{\\\"value\\\":\\\"SAM\\\",\\\"key\\\":\\\"lambda:createdBy\\\"}]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO45TLZUQYCQ","resourceName":"aws-perspective-v2-TaskSt-CleanupRepositoryFunctio-UVL1GLKHSI05","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"}]","title":"aws-perspective-v2-TaskSt-CleanupRepositoryFunctio-UVL1GLKHSI05","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":476.5,"y":-2759.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"id":"InlinePolicy-global-044981683129","parent":"global-044981683129","level":2,"title":"InlinePolicy","label":"InlinePolicy","plainLabel":"InlinePolicy","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:iam::044981683129:role/aws-perspective-v2-TaskSt-CleanupRepositoryFunctio-UVL1GLKHSI05/inlinePolicy/CleanupRepositoryFunctionRolePolicy0","label":"AWS_IAM_InlinePolicy","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/aws-perspective-v2-TaskSt-CleanupRepositoryFunctio-UVL1GLKHSI05/inlinePolicy/CleanupRepositoryFunctionRolePolicy0","configuration":"\"{\\\"policyName\\\":\\\"CleanupRepositoryFunctionRolePolicy0\\\",\\\"policyDocument\\\":{\\\"Statement\\\":[{\\\"Action\\\":[\\\"ecr:BatchDeleteImage\\\",\\\"ecr:ListImages\\\"],\\\"Resource\\\":\\\"arn:aws:ecr:eu-west-2:044981683129:repository/aws-perspective-v2-taskstack-11mohfygo00lg-perspectivecontainerrepo-awvb6k5ahikw\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/aws-perspective-v2-TaskSt-CleanupRepositoryFunctio-UVL1GLKHSI05/inlinePolicy/CleanupRepositoryFunctionRolePolicy0","resourceName":"arn:aws:iam::044981683129:role/aws-perspective-v2-TaskSt-CleanupRepositoryFunctio-UVL1GLKHSI05/inlinePolicy/CleanupRepositoryFunctionRolePolicy0","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/aws-perspective-v2-TaskSt-CleanupRepositoryFunctio-UVL1GLKHSI05/inlinePolicy/CleanupRepositoryFunctionRolePolicy0","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":1794,"y":-2394.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:iam::044981683129:role/aws-perspective-v2-TaskSt-CleanupRepositoryFunctio-UVL1GLKHSI05/inlinePolicy/CleanupRepositoryFunctionRolePolicy0","resourceId":["arn:aws:iam::044981683129:role/aws-perspective-v2-TaskSt-CleanupRepositoryFunctio-UVL1GLKHSI05/inlinePolicy/CleanupRepositoryFunctionRolePolicy0","arn:aws:iam::044981683129:role/aws-perspective-v2-TaskSt-CleanupRepositoryFunctio-UVL1GLKHSI05/inlinePolicy/CleanupRepositoryFunctionRolePolicy0"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/aws-perspective-v2-TaskSt-CleanupRepositoryFunctio-UVL1GLKHSI05/inlinePolicy/CleanupRepositoryFunctionRolePolicy0","title":"arn:aws:iam::044981683129:role/aws-perspective-v2-TaskSt-CleanupRepositoryFunctio-UVL1GLKHSI05/inlinePolicy/CleanupRepositoryFunctionRolePolicy0","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/aws-perspective-v2-TaskSt-CleanupRepositoryFunctio-UVL1GLKHSI05/inlinePolicy/CleanupRepositoryFunctionRolePolicy0","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/aws-perspective-v2-TaskSt-CleanupRepositoryFunctio-UVL1GLKHSI05/inlinePolicy/CleanupRepositoryFunctionRolePolicy0","name":"arn:aws:iam::044981683129:role/aws-perspective-v2-TaskSt-CleanupRepositoryFunctio-UVL1GLKHSI05/inlinePolicy/CleanupRepositoryFunctionRolePolicy0","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/aws-perspective-v2-TaskSt-CleanupRepositoryFunctio-UVL1GLKHSI05/inlinePolicy/CleanupRepositoryFunctionRolePolicy0","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/aws-perspective-v2-TaskSt-CleanupRepositoryFunctio-UVL1GLKHSI05/inlinePolicy/CleanupRepositoryFunctionRolePolicy0","configuration":"\"{\\\"policyName\\\":\\\"CleanupRepositoryFunctionRolePolicy0\\\",\\\"policyDocument\\\":{\\\"Statement\\\":[{\\\"Action\\\":[\\\"ecr:BatchDeleteImage\\\",\\\"ecr:ListImages\\\"],\\\"Resource\\\":\\\"arn:aws:ecr:eu-west-2:044981683129:repository/aws-perspective-v2-taskstack-11mohfygo00lg-perspectivecontainerrepo-awvb6k5ahikw\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/aws-perspective-v2-TaskSt-CleanupRepositoryFunctio-UVL1GLKHSI05/inlinePolicy/CleanupRepositoryFunctionRolePolicy0","resourceName":"arn:aws:iam::044981683129:role/aws-perspective-v2-TaskSt-CleanupRepositoryFunctio-UVL1GLKHSI05/inlinePolicy/CleanupRepositoryFunctionRolePolicy0","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/aws-perspective-v2-TaskSt-CleanupRepositoryFunctio-UVL1GLKHSI05/inlinePolicy/CleanupRepositoryFunctionRolePolicy0","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1392.5,"y":-2759.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"Tag-global-044981683129","parent":"global-044981683129","level":2,"title":"Tag","label":"Tag","plainLabel":"Tag","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/AWS-Tags-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:tags::044981683129:tag/lambda:createdBy=SAM","label":"AWS_Tags_Tag","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:tags::044981683129:tag/lambda:createdBy=SAM","configuration":"\"{}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:tags::044981683129:tag/lambda:createdBy=SAM","resourceName":"lambda:createdBy=SAM","resourceType":"AWS::Tags::Tag","resourceValue":null,"state":null,"tags":"[]","title":"lambda:createdBy=SAM","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":695.5,"y":-1716.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:tags::044981683129:tag/lambda:createdBy=SAM","resourceId":["arn:aws:tags::044981683129:tag/lambda:createdBy=SAM","arn:aws:tags::044981683129:tag/lambda:createdBy=SAM"],"parent":"Tag-global-044981683129","level":3,"id":"arn:aws:tags::044981683129:tag/lambda:createdBy=SAM","title":"lambda:createdBy=SAM","label":"lambda:creat...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:tags::044981683129:tag/lambda:createdBy=SAM","image":"/icons/AWS-Tags-bg.svg","cost":0,"private":false,"resource":{"id":"arn:aws:tags::044981683129:tag/lambda:createdBy=SAM","name":"lambda:createdBy=SAM","value":null,"type":"AWS::Tags::Tag","tags":"[]","arn":"arn:aws:tags::044981683129:tag/lambda:createdBy=SAM","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:tags::044981683129:tag/lambda:createdBy=SAM","configuration":"\"{}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:tags::044981683129:tag/lambda:createdBy=SAM","resourceName":"lambda:createdBy=SAM","resourceType":"AWS::Tags::Tag","resourceValue":null,"state":null,"tags":"[]","title":"lambda:createdBy=SAM","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":476.5,"y":-1899.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/ecs-refarch-london-LifecycleHo-LambdaExecutionRole-BX4OB43HKG8T","resourceId":["AROAQU6I6AO46QC3AWZHR","arn:aws:iam::044981683129:role/ecs-refarch-london-LifecycleHo-LambdaExecutionRole-BX4OB43HKG8T"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/ecs-refarch-london-LifecycleHo-LambdaExecutionRole-BX4OB43HKG8T","title":"ecs-refarch-london-LifecycleHo-LambdaExecutionRole-BX4OB43HKG8T","label":"ecs-refarch-...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/ecs-refarch-london-LifecycleHo-LambdaExecutionRole-BX4OB43HKG8T","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO46QC3AWZHR","name":"ecs-refarch-london-LifecycleHo-LambdaExecutionRole-BX4OB43HKG8T","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/ecs-refarch-london-LifecycleHo-LambdaExecutionRole-BX4OB43HKG8T","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/ecs-refarch-london-LifecycleHo-LambdaExecutionRole-BX4OB43HKG8T","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22lambda.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO46QC3AWZHR\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/service-role/AutoScalingNotificationAccessRole\\\",\\\"policyName\\\":\\\"AutoScalingNotificationAccessRole\\\"}],\\\"roleName\\\":\\\"ecs-refarch-london-LifecycleHo-LambdaExecutionRole-BX4OB43HKG8T\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/ecs-refarch-london-LifecycleHo-LambdaExecutionRole-BX4OB43HKG8T\\\",\\\"createDate\\\":\\\"2022-03-02T17:30:06.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22autoscaling%3ACompleteLifecycleAction%22%2C%22logs%3ACreateLogGroup%22%2C%22logs%3ACreateLogStream%22%2C%22logs%3APutLogEvents%22%2C%22ec2%3ADescribeInstances%22%2C%22ec2%3ADescribeInstanceAttribute%22%2C%22ec2%3ADescribeInstanceStatus%22%2C%22ec2%3ADescribeHosts%22%2C%22ecs%3AListContainerInstances%22%2C%22ecs%3ASubmitContainerStateChange%22%2C%22ecs%3ASubmitTaskStateChange%22%2C%22ecs%3ADescribeContainerInstances%22%2C%22ecs%3AUpdateContainerInstancesState%22%2C%22ecs%3AListTasks%22%2C%22ecs%3ADescribeTasks%22%2C%22sns%3APublish%22%2C%22sns%3AListSubscriptions%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"lambda-inline\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO46QC3AWZHR","resourceName":"ecs-refarch-london-LifecycleHo-LambdaExecutionRole-BX4OB43HKG8T","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"ecs-refarch-london-LifecycleHo-LambdaExecutionRole-BX4OB43HKG8T","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":549.5,"y":-2759.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/ecs-refarch-london-LifecycleHo-LambdaExecutionRole-BX4OB43HKG8T/inlinePolicy/lambda-inline","resourceId":["arn:aws:iam::044981683129:role/ecs-refarch-london-LifecycleHo-LambdaExecutionRole-BX4OB43HKG8T/inlinePolicy/lambda-inline","arn:aws:iam::044981683129:role/ecs-refarch-london-LifecycleHo-LambdaExecutionRole-BX4OB43HKG8T/inlinePolicy/lambda-inline"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/ecs-refarch-london-LifecycleHo-LambdaExecutionRole-BX4OB43HKG8T/inlinePolicy/lambda-inline","title":"arn:aws:iam::044981683129:role/ecs-refarch-london-LifecycleHo-LambdaExecutionRole-BX4OB43HKG8T/inlinePolicy/lambda-inline","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/ecs-refarch-london-LifecycleHo-LambdaExecutionRole-BX4OB43HKG8T/inlinePolicy/lambda-inline","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/ecs-refarch-london-LifecycleHo-LambdaExecutionRole-BX4OB43HKG8T/inlinePolicy/lambda-inline","name":"arn:aws:iam::044981683129:role/ecs-refarch-london-LifecycleHo-LambdaExecutionRole-BX4OB43HKG8T/inlinePolicy/lambda-inline","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/ecs-refarch-london-LifecycleHo-LambdaExecutionRole-BX4OB43HKG8T/inlinePolicy/lambda-inline","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/ecs-refarch-london-LifecycleHo-LambdaExecutionRole-BX4OB43HKG8T/inlinePolicy/lambda-inline","configuration":"\"{\\\"policyName\\\":\\\"lambda-inline\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"autoscaling:CompleteLifecycleAction\\\",\\\"logs:CreateLogGroup\\\",\\\"logs:CreateLogStream\\\",\\\"logs:PutLogEvents\\\",\\\"ec2:DescribeInstances\\\",\\\"ec2:DescribeInstanceAttribute\\\",\\\"ec2:DescribeInstanceStatus\\\",\\\"ec2:DescribeHosts\\\",\\\"ecs:ListContainerInstances\\\",\\\"ecs:SubmitContainerStateChange\\\",\\\"ecs:SubmitTaskStateChange\\\",\\\"ecs:DescribeContainerInstances\\\",\\\"ecs:UpdateContainerInstancesState\\\",\\\"ecs:ListTasks\\\",\\\"ecs:DescribeTasks\\\",\\\"sns:Publish\\\",\\\"sns:ListSubscriptions\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/ecs-refarch-london-LifecycleHo-LambdaExecutionRole-BX4OB43HKG8T/inlinePolicy/lambda-inline","resourceName":"arn:aws:iam::044981683129:role/ecs-refarch-london-LifecycleHo-LambdaExecutionRole-BX4OB43HKG8T/inlinePolicy/lambda-inline","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/ecs-refarch-london-LifecycleHo-LambdaExecutionRole-BX4OB43HKG8T/inlinePolicy/lambda-inline","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1465.5,"y":-2759.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/aws-perspective-v2-WebUiSet-UiSettingsResourceRole-B7WG9VIEZ34K","resourceId":["AROAQU6I6AO4T3IGMZEMR","arn:aws:iam::044981683129:role/aws-perspective-v2-WebUiSet-UiSettingsResourceRole-B7WG9VIEZ34K"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/aws-perspective-v2-WebUiSet-UiSettingsResourceRole-B7WG9VIEZ34K","title":"aws-perspective-v2-WebUiSet-UiSettingsResourceRole-B7WG9VIEZ34K","label":"aws-perspect...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/aws-perspective-v2-WebUiSet-UiSettingsResourceRole-B7WG9VIEZ34K","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO4T3IGMZEMR","name":"aws-perspective-v2-WebUiSet-UiSettingsResourceRole-B7WG9VIEZ34K","value":null,"type":"AWS::IAM::Role","tags":"[{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"}]","arn":"arn:aws:iam::044981683129:role/aws-perspective-v2-WebUiSet-UiSettingsResourceRole-B7WG9VIEZ34K","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/aws-perspective-v2-WebUiSet-UiSettingsResourceRole-B7WG9VIEZ34K","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22lambda.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO4T3IGMZEMR\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole\\\",\\\"policyName\\\":\\\"AWSLambdaBasicExecutionRole\\\"}],\\\"roleName\\\":\\\"aws-perspective-v2-WebUiSet-UiSettingsResourceRole-B7WG9VIEZ34K\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/aws-perspective-v2-WebUiSet-UiSettingsResourceRole-B7WG9VIEZ34K\\\",\\\"createDate\\\":\\\"2022-08-30T12:58:09.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22s3%3APutObject%22%2C%22s3%3APutObjectAcl%22%2C%22s3%3ADeleteObject%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3As3%3A%3A%3Aaws-perspective-v2-s3buckets-129o2pzq-webuibucket-1nqji1x2xy4j6%2Fsettings.js%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"UiSettingsResourceRolePolicy0\\\"}],\\\"tags\\\":[{\\\"value\\\":\\\"SAM\\\",\\\"key\\\":\\\"lambda:createdBy\\\"}]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO4T3IGMZEMR","resourceName":"aws-perspective-v2-WebUiSet-UiSettingsResourceRole-B7WG9VIEZ34K","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"}]","title":"aws-perspective-v2-WebUiSet-UiSettingsResourceRole-B7WG9VIEZ34K","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":476.5,"y":-2686.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/aws-perspective-v2-WebUiSet-UiSettingsResourceRole-B7WG9VIEZ34K/inlinePolicy/UiSettingsResourceRolePolicy0","resourceId":["arn:aws:iam::044981683129:role/aws-perspective-v2-WebUiSet-UiSettingsResourceRole-B7WG9VIEZ34K/inlinePolicy/UiSettingsResourceRolePolicy0","arn:aws:iam::044981683129:role/aws-perspective-v2-WebUiSet-UiSettingsResourceRole-B7WG9VIEZ34K/inlinePolicy/UiSettingsResourceRolePolicy0"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/aws-perspective-v2-WebUiSet-UiSettingsResourceRole-B7WG9VIEZ34K/inlinePolicy/UiSettingsResourceRolePolicy0","title":"arn:aws:iam::044981683129:role/aws-perspective-v2-WebUiSet-UiSettingsResourceRole-B7WG9VIEZ34K/inlinePolicy/UiSettingsResourceRolePolicy0","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/aws-perspective-v2-WebUiSet-UiSettingsResourceRole-B7WG9VIEZ34K/inlinePolicy/UiSettingsResourceRolePolicy0","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/aws-perspective-v2-WebUiSet-UiSettingsResourceRole-B7WG9VIEZ34K/inlinePolicy/UiSettingsResourceRolePolicy0","name":"arn:aws:iam::044981683129:role/aws-perspective-v2-WebUiSet-UiSettingsResourceRole-B7WG9VIEZ34K/inlinePolicy/UiSettingsResourceRolePolicy0","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/aws-perspective-v2-WebUiSet-UiSettingsResourceRole-B7WG9VIEZ34K/inlinePolicy/UiSettingsResourceRolePolicy0","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/aws-perspective-v2-WebUiSet-UiSettingsResourceRole-B7WG9VIEZ34K/inlinePolicy/UiSettingsResourceRolePolicy0","configuration":"\"{\\\"policyName\\\":\\\"UiSettingsResourceRolePolicy0\\\",\\\"policyDocument\\\":{\\\"Statement\\\":[{\\\"Action\\\":[\\\"s3:PutObject\\\",\\\"s3:PutObjectAcl\\\",\\\"s3:DeleteObject\\\"],\\\"Resource\\\":\\\"arn:aws:s3:::aws-perspective-v2-s3buckets-129o2pzq-webuibucket-1nqji1x2xy4j6/settings.js\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/aws-perspective-v2-WebUiSet-UiSettingsResourceRole-B7WG9VIEZ34K/inlinePolicy/UiSettingsResourceRolePolicy0","resourceName":"arn:aws:iam::044981683129:role/aws-perspective-v2-WebUiSet-UiSettingsResourceRole-B7WG9VIEZ34K/inlinePolicy/UiSettingsResourceRolePolicy0","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/aws-perspective-v2-WebUiSet-UiSettingsResourceRole-B7WG9VIEZ34K/inlinePolicy/UiSettingsResourceRolePolicy0","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1392.5,"y":-2686.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-InitializeConfigTableFun-1LT7V0XX21J3E","resourceId":["AROAQU6I6AO4VYPHKXIFD","arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-InitializeConfigTableFun-1LT7V0XX21J3E"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-InitializeConfigTableFun-1LT7V0XX21J3E","title":"mda-stack-Workload-1V66ZW-InitializeConfigTableFun-1LT7V0XX21J3E","label":"mda-stack-Wo...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-InitializeConfigTableFun-1LT7V0XX21J3E","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO4VYPHKXIFD","name":"mda-stack-Workload-1V66ZW-InitializeConfigTableFun-1LT7V0XX21J3E","value":null,"type":"AWS::IAM::Role","tags":"[{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"}]","arn":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-InitializeConfigTableFun-1LT7V0XX21J3E","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-InitializeConfigTableFun-1LT7V0XX21J3E","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22lambda.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO4VYPHKXIFD\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole\\\",\\\"policyName\\\":\\\"AWSLambdaBasicExecutionRole\\\"}],\\\"roleName\\\":\\\"mda-stack-Workload-1V66ZW-InitializeConfigTableFun-1LT7V0XX21J3E\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-InitializeConfigTableFun-1LT7V0XX21J3E\\\",\\\"createDate\\\":\\\"2022-07-06T15:07:40.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Statement%22%3A%5B%7B%22Action%22%3A%22sagemaker%3ADeleteEndpoint%22%2C%22Resource%22%3A%22arn%3Aaws%3Asagemaker%3A%3A%3A%2A%22%2C%22Effect%22%3A%22Allow%22%2C%22Sid%22%3A%22SageMakerDeleteEndpoint%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"InitializeConfigTableFunctionRolePolicy0\\\"},{\\\"policyDocument\\\":\\\"%7B%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22dynamodb%3AGetItem%22%2C%22dynamodb%3ADeleteItem%22%2C%22dynamodb%3APutItem%22%2C%22dynamodb%3AScan%22%2C%22dynamodb%3AQuery%22%2C%22dynamodb%3AUpdateItem%22%2C%22dynamodb%3ABatchWriteItem%22%2C%22dynamodb%3ABatchGetItem%22%2C%22dynamodb%3ADescribeTable%22%2C%22dynamodb%3AConditionCheckItem%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Adynamodb%3Aus-east-1%3A044981683129%3Atable%2Fmda-stack-Workload-1V66ZWG5MDRSZ-MachineLearningPipelineConfigStack-OB01GGXD38SI-MachineLearningPipelineConfig-1DM3FERDSMUA4%22%2C%22arn%3Aaws%3Adynamodb%3Aus-east-1%3A044981683129%3Atable%2Fmda-stack-Workload-1V66ZWG5MDRSZ-MachineLearningPipelineConfigStack-OB01GGXD38SI-MachineLearningPipelineConfig-1DM3FERDSMUA4%2Findex%2F%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"InitializeConfigTableFunctionRolePolicy1\\\"}],\\\"tags\\\":[{\\\"value\\\":\\\"SAM\\\",\\\"key\\\":\\\"lambda:createdBy\\\"}]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO4VYPHKXIFD","resourceName":"mda-stack-Workload-1V66ZW-InitializeConfigTableFun-1LT7V0XX21J3E","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"}]","title":"mda-stack-Workload-1V66ZW-InitializeConfigTableFun-1LT7V0XX21J3E","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":549.5,"y":-2686.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-InitializeConfigTableFun-1LT7V0XX21J3E/inlinePolicy/InitializeConfigTableFunctionRolePolicy0","resourceId":["arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-InitializeConfigTableFun-1LT7V0XX21J3E/inlinePolicy/InitializeConfigTableFunctionRolePolicy0","arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-InitializeConfigTableFun-1LT7V0XX21J3E/inlinePolicy/InitializeConfigTableFunctionRolePolicy0"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-InitializeConfigTableFun-1LT7V0XX21J3E/inlinePolicy/InitializeConfigTableFunctionRolePolicy0","title":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-InitializeConfigTableFun-1LT7V0XX21J3E/inlinePolicy/InitializeConfigTableFunctionRolePolicy0","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-InitializeConfigTableFun-1LT7V0XX21J3E/inlinePolicy/InitializeConfigTableFunctionRolePolicy0","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-InitializeConfigTableFun-1LT7V0XX21J3E/inlinePolicy/InitializeConfigTableFunctionRolePolicy0","name":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-InitializeConfigTableFun-1LT7V0XX21J3E/inlinePolicy/InitializeConfigTableFunctionRolePolicy0","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-InitializeConfigTableFun-1LT7V0XX21J3E/inlinePolicy/InitializeConfigTableFunctionRolePolicy0","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-InitializeConfigTableFun-1LT7V0XX21J3E/inlinePolicy/InitializeConfigTableFunctionRolePolicy0","configuration":"\"{\\\"policyName\\\":\\\"InitializeConfigTableFunctionRolePolicy0\\\",\\\"policyDocument\\\":{\\\"Statement\\\":[{\\\"Action\\\":\\\"sagemaker:DeleteEndpoint\\\",\\\"Resource\\\":\\\"arn:aws:sagemaker:::*\\\",\\\"Effect\\\":\\\"Allow\\\",\\\"Sid\\\":\\\"SageMakerDeleteEndpoint\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-InitializeConfigTableFun-1LT7V0XX21J3E/inlinePolicy/InitializeConfigTableFunctionRolePolicy0","resourceName":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-InitializeConfigTableFun-1LT7V0XX21J3E/inlinePolicy/InitializeConfigTableFunctionRolePolicy0","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-InitializeConfigTableFun-1LT7V0XX21J3E/inlinePolicy/InitializeConfigTableFunctionRolePolicy0","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1465.5,"y":-2686.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-InitializeConfigTableFun-1LT7V0XX21J3E/inlinePolicy/InitializeConfigTableFunctionRolePolicy1","resourceId":["arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-InitializeConfigTableFun-1LT7V0XX21J3E/inlinePolicy/InitializeConfigTableFunctionRolePolicy1","arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-InitializeConfigTableFun-1LT7V0XX21J3E/inlinePolicy/InitializeConfigTableFunctionRolePolicy1"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-InitializeConfigTableFun-1LT7V0XX21J3E/inlinePolicy/InitializeConfigTableFunctionRolePolicy1","title":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-InitializeConfigTableFun-1LT7V0XX21J3E/inlinePolicy/InitializeConfigTableFunctionRolePolicy1","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-InitializeConfigTableFun-1LT7V0XX21J3E/inlinePolicy/InitializeConfigTableFunctionRolePolicy1","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-InitializeConfigTableFun-1LT7V0XX21J3E/inlinePolicy/InitializeConfigTableFunctionRolePolicy1","name":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-InitializeConfigTableFun-1LT7V0XX21J3E/inlinePolicy/InitializeConfigTableFunctionRolePolicy1","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-InitializeConfigTableFun-1LT7V0XX21J3E/inlinePolicy/InitializeConfigTableFunctionRolePolicy1","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-InitializeConfigTableFun-1LT7V0XX21J3E/inlinePolicy/InitializeConfigTableFunctionRolePolicy1","configuration":"\"{\\\"policyName\\\":\\\"InitializeConfigTableFunctionRolePolicy1\\\",\\\"policyDocument\\\":{\\\"Statement\\\":[{\\\"Action\\\":[\\\"dynamodb:GetItem\\\",\\\"dynamodb:DeleteItem\\\",\\\"dynamodb:PutItem\\\",\\\"dynamodb:Scan\\\",\\\"dynamodb:Query\\\",\\\"dynamodb:UpdateItem\\\",\\\"dynamodb:BatchWriteItem\\\",\\\"dynamodb:BatchGetItem\\\",\\\"dynamodb:DescribeTable\\\",\\\"dynamodb:ConditionCheckItem\\\"],\\\"Resource\\\":[\\\"arn:aws:dynamodb:us-east-1:044981683129:table/mda-stack-Workload-1V66ZWG5MDRSZ-MachineLearningPipelineConfigStack-OB01GGXD38SI-MachineLearningPipelineConfig-1DM3FERDSMUA4\\\",\\\"arn:aws:dynamodb:us-east-1:044981683129:table/mda-stack-Workload-1V66ZWG5MDRSZ-MachineLearningPipelineConfigStack-OB01GGXD38SI-MachineLearningPipelineConfig-1DM3FERDSMUA4/index/*\\\"],\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-InitializeConfigTableFun-1LT7V0XX21J3E/inlinePolicy/InitializeConfigTableFunctionRolePolicy1","resourceName":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-InitializeConfigTableFun-1LT7V0XX21J3E/inlinePolicy/InitializeConfigTableFunctionRolePolicy1","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-InitializeConfigTableFun-1LT7V0XX21J3E/inlinePolicy/InitializeConfigTableFunctionRolePolicy1","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1538.5,"y":-2759.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/IsengardRoleForOptInComputeOptimizer","resourceId":["AROAQU6I6AO4RMFBQBXIT","arn:aws:iam::044981683129:role/IsengardRoleForOptInComputeOptimizer"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/IsengardRoleForOptInComputeOptimizer","title":"IsengardRoleForOptInComputeOptimizer","label":"IsengardRole...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/IsengardRoleForOptInComputeOptimizer","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO4RMFBQBXIT","name":"IsengardRoleForOptInComputeOptimizer","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/IsengardRoleForOptInComputeOptimizer","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/IsengardRoleForOptInComputeOptimizer","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Sid%22%3A%22%22%2C%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22compute-optimizer.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%2C%22Condition%22%3A%7B%22StringEquals%22%3A%7B%22sts%3AExternalId%22%3A%22AWSComputeOptimizerhYRxpL5RYI5v%22%7D%7D%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO4RMFBQBXIT\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"IsengardRoleForOptInComputeOptimizer\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/IsengardRoleForOptInComputeOptimizer\\\",\\\"createDate\\\":\\\"2022-03-21T18:43:24.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%20%222012-10-17%22%2C%0A%20%20%20%20%22Statement%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%7B%22Effect%22%3A%20%22Allow%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Action%22%3A%20%22iam%3ACreateServiceLinkedRole%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Resource%22%3A%20%22arn%3Aaws%3Aiam%3A%3A%2A%3Arole%2Faws-service-role%2Fcompute-optimizer.amazonaws.com%2FAWSServiceRoleForComputeOptimizer%2A%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Condition%22%3A%20%7B%22StringLike%22%3A%20%7B%22iam%3AAWSServiceName%22%3A%20%22compute-optimizer.amazonaws.com%22%7D%7D%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%7B%22Effect%22%3A%20%22Allow%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Action%22%3A%20%22iam%3APutRolePolicy%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Resource%22%3A%20%22arn%3Aaws%3Aiam%3A%3A%2A%3Arole%2Faws-service-role%2Fcompute-optimizer.amazonaws.com%2FAWSServiceRoleForComputeOptimizer%22%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%7B%22Effect%22%3A%20%22Allow%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Action%22%3A%20%22compute-optimizer%3AUpdateEnrollmentStatus%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Resource%22%3A%20%22%2A%22%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%5D%0A%7D%0A\\\",\\\"policyName\\\":\\\"AWSComputeOptimizerAccessPolicy\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO4RMFBQBXIT","resourceName":"IsengardRoleForOptInComputeOptimizer","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"IsengardRoleForOptInComputeOptimizer","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":622.5,"y":-2759.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/IsengardRoleForOptInComputeOptimizer/inlinePolicy/AWSComputeOptimizerAccessPolicy","resourceId":["arn:aws:iam::044981683129:role/IsengardRoleForOptInComputeOptimizer/inlinePolicy/AWSComputeOptimizerAccessPolicy","arn:aws:iam::044981683129:role/IsengardRoleForOptInComputeOptimizer/inlinePolicy/AWSComputeOptimizerAccessPolicy"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/IsengardRoleForOptInComputeOptimizer/inlinePolicy/AWSComputeOptimizerAccessPolicy","title":"arn:aws:iam::044981683129:role/IsengardRoleForOptInComputeOptimizer/inlinePolicy/AWSComputeOptimizerAccessPolicy","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/IsengardRoleForOptInComputeOptimizer/inlinePolicy/AWSComputeOptimizerAccessPolicy","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/IsengardRoleForOptInComputeOptimizer/inlinePolicy/AWSComputeOptimizerAccessPolicy","name":"arn:aws:iam::044981683129:role/IsengardRoleForOptInComputeOptimizer/inlinePolicy/AWSComputeOptimizerAccessPolicy","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/IsengardRoleForOptInComputeOptimizer/inlinePolicy/AWSComputeOptimizerAccessPolicy","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/IsengardRoleForOptInComputeOptimizer/inlinePolicy/AWSComputeOptimizerAccessPolicy","configuration":"\"{\\\"policyName\\\":\\\"AWSComputeOptimizerAccessPolicy\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Effect\\\":\\\"Allow\\\",\\\"Action\\\":\\\"iam:CreateServiceLinkedRole\\\",\\\"Resource\\\":\\\"arn:aws:iam::*:role/aws-service-role/compute-optimizer.amazonaws.com/AWSServiceRoleForComputeOptimizer*\\\",\\\"Condition\\\":{\\\"StringLike\\\":{\\\"iam:AWSServiceName\\\":\\\"compute-optimizer.amazonaws.com\\\"}}},{\\\"Effect\\\":\\\"Allow\\\",\\\"Action\\\":\\\"iam:PutRolePolicy\\\",\\\"Resource\\\":\\\"arn:aws:iam::*:role/aws-service-role/compute-optimizer.amazonaws.com/AWSServiceRoleForComputeOptimizer\\\"},{\\\"Effect\\\":\\\"Allow\\\",\\\"Action\\\":\\\"compute-optimizer:UpdateEnrollmentStatus\\\",\\\"Resource\\\":\\\"*\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/IsengardRoleForOptInComputeOptimizer/inlinePolicy/AWSComputeOptimizerAccessPolicy","resourceName":"arn:aws:iam::044981683129:role/IsengardRoleForOptInComputeOptimizer/inlinePolicy/AWSComputeOptimizerAccessPolicy","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/IsengardRoleForOptInComputeOptimizer/inlinePolicy/AWSComputeOptimizerAccessPolicy","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1538.5,"y":-2686.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-Ap-PerspectiveAppSyncLoggin-1JVQCCJ1SUB3A","resourceId":["AROAQU6I6AO4RJFTRM632","arn:aws:iam::044981683129:role/workload-discovery-iad-Ap-PerspectiveAppSyncLoggin-1JVQCCJ1SUB3A"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/workload-discovery-iad-Ap-PerspectiveAppSyncLoggin-1JVQCCJ1SUB3A","title":"workload-discovery-iad-Ap-PerspectiveAppSyncLoggin-1JVQCCJ1SUB3A","label":"workload-dis...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/workload-discovery-iad-Ap-PerspectiveAppSyncLoggin-1JVQCCJ1SUB3A","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO4RJFTRM632","name":"workload-discovery-iad-Ap-PerspectiveAppSyncLoggin-1JVQCCJ1SUB3A","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-Ap-PerspectiveAppSyncLoggin-1JVQCCJ1SUB3A","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-Ap-PerspectiveAppSyncLoggin-1JVQCCJ1SUB3A","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22appsync.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO4RJFTRM632\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"workload-discovery-iad-Ap-PerspectiveAppSyncLoggin-1JVQCCJ1SUB3A\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/workload-discovery-iad-Ap-PerspectiveAppSyncLoggin-1JVQCCJ1SUB3A\\\",\\\"createDate\\\":\\\"2022-11-16T14:32:21.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22logs%3ACreateLogGroup%22%2C%22logs%3ACreateLogStream%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22logs%3APutLogEvents%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Alogs%3Aus-east-1%3A044981683129%3Alog-group%3A%2A%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"workload-discovery-iad-AppSyncApiStack-QJLKHDH4MCPR-AWSAppSyncPushToCloudWatchLogsPolicy\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO4RJFTRM632","resourceName":"workload-discovery-iad-Ap-PerspectiveAppSyncLoggin-1JVQCCJ1SUB3A","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"workload-discovery-iad-Ap-PerspectiveAppSyncLoggin-1JVQCCJ1SUB3A","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":622.5,"y":-2686.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-Ap-PerspectiveAppSyncLoggin-1JVQCCJ1SUB3A/inlinePolicy/workload-discovery-iad-AppSyncApiStack-QJLKHDH4MCPR-AWSAppSyncPushToCloudWatchLogsPolicy","resourceId":["arn:aws:iam::044981683129:role/workload-discovery-iad-Ap-PerspectiveAppSyncLoggin-1JVQCCJ1SUB3A/inlinePolicy/workload-discovery-iad-AppSyncApiStack-QJLKHDH4MCPR-AWSAppSyncPushToCloudWatchLogsPolicy","arn:aws:iam::044981683129:role/workload-discovery-iad-Ap-PerspectiveAppSyncLoggin-1JVQCCJ1SUB3A/inlinePolicy/workload-discovery-iad-AppSyncApiStack-QJLKHDH4MCPR-AWSAppSyncPushToCloudWatchLogsPolicy"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/workload-discovery-iad-Ap-PerspectiveAppSyncLoggin-1JVQCCJ1SUB3A/inlinePolicy/workload-discovery-iad-AppSyncApiStack-QJLKHDH4MCPR-AWSAppSyncPushToCloudWatchLogsPolicy","title":"arn:aws:iam::044981683129:role/workload-discovery-iad-Ap-PerspectiveAppSyncLoggin-1JVQCCJ1SUB3A/inlinePolicy/workload-discovery-iad-AppSyncApiStack-QJLKHDH4MCPR-AWSAppSyncPushToCloudWatchLogsPolicy","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/workload-discovery-iad-Ap-PerspectiveAppSyncLoggin-1JVQCCJ1SUB3A/inlinePolicy/workload-discovery-iad-AppSyncApiStack-QJLKHDH4MCPR-AWSAppSyncPushToCloudWatchLogsPolicy","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/workload-discovery-iad-Ap-PerspectiveAppSyncLoggin-1JVQCCJ1SUB3A/inlinePolicy/workload-discovery-iad-AppSyncApiStack-QJLKHDH4MCPR-AWSAppSyncPushToCloudWatchLogsPolicy","name":"arn:aws:iam::044981683129:role/workload-discovery-iad-Ap-PerspectiveAppSyncLoggin-1JVQCCJ1SUB3A/inlinePolicy/workload-discovery-iad-AppSyncApiStack-QJLKHDH4MCPR-AWSAppSyncPushToCloudWatchLogsPolicy","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-Ap-PerspectiveAppSyncLoggin-1JVQCCJ1SUB3A/inlinePolicy/workload-discovery-iad-AppSyncApiStack-QJLKHDH4MCPR-AWSAppSyncPushToCloudWatchLogsPolicy","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-Ap-PerspectiveAppSyncLoggin-1JVQCCJ1SUB3A/inlinePolicy/workload-discovery-iad-AppSyncApiStack-QJLKHDH4MCPR-AWSAppSyncPushToCloudWatchLogsPolicy","configuration":"\"{\\\"policyName\\\":\\\"workload-discovery-iad-AppSyncApiStack-QJLKHDH4MCPR-AWSAppSyncPushToCloudWatchLogsPolicy\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"logs:CreateLogGroup\\\",\\\"logs:CreateLogStream\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"logs:PutLogEvents\\\"],\\\"Resource\\\":\\\"arn:aws:logs:us-east-1:044981683129:log-group:*\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/workload-discovery-iad-Ap-PerspectiveAppSyncLoggin-1JVQCCJ1SUB3A/inlinePolicy/workload-discovery-iad-AppSyncApiStack-QJLKHDH4MCPR-AWSAppSyncPushToCloudWatchLogsPolicy","resourceName":"arn:aws:iam::044981683129:role/workload-discovery-iad-Ap-PerspectiveAppSyncLoggin-1JVQCCJ1SUB3A/inlinePolicy/workload-discovery-iad-AppSyncApiStack-QJLKHDH4MCPR-AWSAppSyncPushToCloudWatchLogsPolicy","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/workload-discovery-iad-Ap-PerspectiveAppSyncLoggin-1JVQCCJ1SUB3A/inlinePolicy/workload-discovery-iad-AppSyncApiStack-QJLKHDH4MCPR-AWSAppSyncPushToCloudWatchLogsPolicy","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1392.5,"y":-2613.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/demo-test-api-ExecutionRole-BD7IOPNAKNZG","resourceId":["AROAQU6I6AO4XSSVWCUKQ","arn:aws:iam::044981683129:role/demo-test-api-ExecutionRole-BD7IOPNAKNZG"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/demo-test-api-ExecutionRole-BD7IOPNAKNZG","title":"demo-test-api-ExecutionRole-BD7IOPNAKNZG","label":"demo-test-ap...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/demo-test-api-ExecutionRole-BD7IOPNAKNZG","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO4XSSVWCUKQ","name":"demo-test-api-ExecutionRole-BD7IOPNAKNZG","value":null,"type":"AWS::IAM::Role","tags":"[{\"tag\":\"copilot-environment=test\",\"value\":\"test\",\"key\":\"copilot-environment\"},{\"tag\":\"copilot-application=demo\",\"value\":\"demo\",\"key\":\"copilot-application\"},{\"tag\":\"copilot-service=api\",\"value\":\"api\",\"key\":\"copilot-service\"}]","arn":"arn:aws:iam::044981683129:role/demo-test-api-ExecutionRole-BD7IOPNAKNZG","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/demo-test-api-ExecutionRole-BD7IOPNAKNZG","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222008-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22ecs-tasks.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO4XSSVWCUKQ\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy\\\",\\\"policyName\\\":\\\"AmazonECSTaskExecutionRolePolicy\\\"}],\\\"roleName\\\":\\\"demo-test-api-ExecutionRole-BD7IOPNAKNZG\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/demo-test-api-ExecutionRole-BD7IOPNAKNZG\\\",\\\"createDate\\\":\\\"2022-03-08T11:39:57.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Condition%22%3A%7B%22StringEquals%22%3A%7B%22ssm%3AResourceTag%2Fcopilot-environment%22%3A%22test%22%2C%22ssm%3AResourceTag%2Fcopilot-application%22%3A%22demo%22%7D%7D%2C%22Action%22%3A%5B%22ssm%3AGetParameters%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Assm%3Aeu-west-2%3A044981683129%3Aparameter%2F%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Condition%22%3A%7B%22StringEquals%22%3A%7B%22secretsmanager%3AResourceTag%2Fcopilot-application%22%3A%22demo%22%2C%22secretsmanager%3AResourceTag%2Fcopilot-environment%22%3A%22test%22%7D%7D%2C%22Action%22%3A%5B%22secretsmanager%3AGetSecretValue%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Asecretsmanager%3Aeu-west-2%3A044981683129%3Asecret%3A%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22kms%3ADecrypt%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Akms%3Aeu-west-2%3A044981683129%3Akey%2F%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"demo-test-apiSecretsPolicy\\\"}],\\\"tags\\\":[{\\\"value\\\":\\\"api\\\",\\\"key\\\":\\\"copilot-service\\\"},{\\\"value\\\":\\\"test\\\",\\\"key\\\":\\\"copilot-environment\\\"},{\\\"value\\\":\\\"demo\\\",\\\"key\\\":\\\"copilot-application\\\"}]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO4XSSVWCUKQ","resourceName":"demo-test-api-ExecutionRole-BD7IOPNAKNZG","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[{\"tag\":\"copilot-environment=test\",\"value\":\"test\",\"key\":\"copilot-environment\"},{\"tag\":\"copilot-application=demo\",\"value\":\"demo\",\"key\":\"copilot-application\"},{\"tag\":\"copilot-service=api\",\"value\":\"api\",\"key\":\"copilot-service\"}]","title":"demo-test-api-ExecutionRole-BD7IOPNAKNZG","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":476.5,"y":-2613.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/demo-test-api-ExecutionRole-BD7IOPNAKNZG/inlinePolicy/demo-test-apiSecretsPolicy","resourceId":["arn:aws:iam::044981683129:role/demo-test-api-ExecutionRole-BD7IOPNAKNZG/inlinePolicy/demo-test-apiSecretsPolicy","arn:aws:iam::044981683129:role/demo-test-api-ExecutionRole-BD7IOPNAKNZG/inlinePolicy/demo-test-apiSecretsPolicy"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/demo-test-api-ExecutionRole-BD7IOPNAKNZG/inlinePolicy/demo-test-apiSecretsPolicy","title":"arn:aws:iam::044981683129:role/demo-test-api-ExecutionRole-BD7IOPNAKNZG/inlinePolicy/demo-test-apiSecretsPolicy","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/demo-test-api-ExecutionRole-BD7IOPNAKNZG/inlinePolicy/demo-test-apiSecretsPolicy","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/demo-test-api-ExecutionRole-BD7IOPNAKNZG/inlinePolicy/demo-test-apiSecretsPolicy","name":"arn:aws:iam::044981683129:role/demo-test-api-ExecutionRole-BD7IOPNAKNZG/inlinePolicy/demo-test-apiSecretsPolicy","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/demo-test-api-ExecutionRole-BD7IOPNAKNZG/inlinePolicy/demo-test-apiSecretsPolicy","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/demo-test-api-ExecutionRole-BD7IOPNAKNZG/inlinePolicy/demo-test-apiSecretsPolicy","configuration":"\"{\\\"policyName\\\":\\\"demo-test-apiSecretsPolicy\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Condition\\\":{\\\"StringEquals\\\":{\\\"ssm:ResourceTag/copilot-environment\\\":\\\"test\\\",\\\"ssm:ResourceTag/copilot-application\\\":\\\"demo\\\"}},\\\"Action\\\":[\\\"ssm:GetParameters\\\"],\\\"Resource\\\":[\\\"arn:aws:ssm:eu-west-2:044981683129:parameter/*\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Condition\\\":{\\\"StringEquals\\\":{\\\"secretsmanager:ResourceTag/copilot-application\\\":\\\"demo\\\",\\\"secretsmanager:ResourceTag/copilot-environment\\\":\\\"test\\\"}},\\\"Action\\\":[\\\"secretsmanager:GetSecretValue\\\"],\\\"Resource\\\":[\\\"arn:aws:secretsmanager:eu-west-2:044981683129:secret:*\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"kms:Decrypt\\\"],\\\"Resource\\\":[\\\"arn:aws:kms:eu-west-2:044981683129:key/*\\\"],\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/demo-test-api-ExecutionRole-BD7IOPNAKNZG/inlinePolicy/demo-test-apiSecretsPolicy","resourceName":"arn:aws:iam::044981683129:role/demo-test-api-ExecutionRole-BD7IOPNAKNZG/inlinePolicy/demo-test-apiSecretsPolicy","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/demo-test-api-ExecutionRole-BD7IOPNAKNZG/inlinePolicy/demo-test-apiSecretsPolicy","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1465.5,"y":-2613.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:tags::044981683129:tag/copilot-environment=test","resourceId":["arn:aws:tags::044981683129:tag/copilot-environment=test","arn:aws:tags::044981683129:tag/copilot-environment=test"],"parent":"Tag-global-044981683129","level":3,"id":"arn:aws:tags::044981683129:tag/copilot-environment=test","title":"copilot-environment=test","label":"copilot-envi...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:tags::044981683129:tag/copilot-environment=test","image":"/icons/AWS-Tags-bg.svg","cost":0,"private":false,"resource":{"id":"arn:aws:tags::044981683129:tag/copilot-environment=test","name":"copilot-environment=test","value":null,"type":"AWS::Tags::Tag","tags":"[]","arn":"arn:aws:tags::044981683129:tag/copilot-environment=test","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:tags::044981683129:tag/copilot-environment=test","configuration":"\"{}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:tags::044981683129:tag/copilot-environment=test","resourceName":"copilot-environment=test","resourceType":"AWS::Tags::Tag","resourceValue":null,"state":null,"tags":"[]","title":"copilot-environment=test","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":549.5,"y":-1899.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:tags::044981683129:tag/copilot-application=demo","resourceId":["arn:aws:tags::044981683129:tag/copilot-application=demo","arn:aws:tags::044981683129:tag/copilot-application=demo"],"parent":"Tag-global-044981683129","level":3,"id":"arn:aws:tags::044981683129:tag/copilot-application=demo","title":"copilot-application=demo","label":"copilot-appl...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:tags::044981683129:tag/copilot-application=demo","image":"/icons/AWS-Tags-bg.svg","cost":0,"private":false,"resource":{"id":"arn:aws:tags::044981683129:tag/copilot-application=demo","name":"copilot-application=demo","value":null,"type":"AWS::Tags::Tag","tags":"[]","arn":"arn:aws:tags::044981683129:tag/copilot-application=demo","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:tags::044981683129:tag/copilot-application=demo","configuration":"\"{}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:tags::044981683129:tag/copilot-application=demo","resourceName":"copilot-application=demo","resourceType":"AWS::Tags::Tag","resourceValue":null,"state":null,"tags":"[]","title":"copilot-application=demo","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":476.5,"y":-1826.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:tags::044981683129:tag/copilot-service=api","resourceId":["arn:aws:tags::044981683129:tag/copilot-service=api","arn:aws:tags::044981683129:tag/copilot-service=api"],"parent":"Tag-global-044981683129","level":3,"id":"arn:aws:tags::044981683129:tag/copilot-service=api","title":"copilot-service=api","label":"copilot-serv...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:tags::044981683129:tag/copilot-service=api","image":"/icons/AWS-Tags-bg.svg","cost":0,"private":false,"resource":{"id":"arn:aws:tags::044981683129:tag/copilot-service=api","name":"copilot-service=api","value":null,"type":"AWS::Tags::Tag","tags":"[]","arn":"arn:aws:tags::044981683129:tag/copilot-service=api","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:tags::044981683129:tag/copilot-service=api","configuration":"\"{}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:tags::044981683129:tag/copilot-service=api","resourceName":"copilot-service=api","resourceType":"AWS::Tags::Tag","resourceValue":null,"state":null,"tags":"[]","title":"copilot-service=api","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":549.5,"y":-1826.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-At-AWSCURCrawlerComponentFu-1CO5IJZYH1XW7","resourceId":["AROAQU6I6AO43N3GYOHE2","arn:aws:iam::044981683129:role/workload-discovery-iad-At-AWSCURCrawlerComponentFu-1CO5IJZYH1XW7"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/workload-discovery-iad-At-AWSCURCrawlerComponentFu-1CO5IJZYH1XW7","title":"workload-discovery-iad-At-AWSCURCrawlerComponentFu-1CO5IJZYH1XW7","label":"workload-dis...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/workload-discovery-iad-At-AWSCURCrawlerComponentFu-1CO5IJZYH1XW7","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO43N3GYOHE2","name":"workload-discovery-iad-At-AWSCURCrawlerComponentFu-1CO5IJZYH1XW7","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-At-AWSCURCrawlerComponentFu-1CO5IJZYH1XW7","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-At-AWSCURCrawlerComponentFu-1CO5IJZYH1XW7","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22glue.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO43N3GYOHE2\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole\\\",\\\"policyName\\\":\\\"AWSGlueServiceRole\\\"}],\\\"roleName\\\":\\\"workload-discovery-iad-At-AWSCURCrawlerComponentFu-1CO5IJZYH1XW7\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/workload-discovery-iad-At-AWSCURCrawlerComponentFu-1CO5IJZYH1XW7\\\",\\\"createDate\\\":\\\"2022-11-16T14:27:55.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22logs%3ACreateLogGroup%22%2C%22logs%3ACreateLogStream%22%2C%22logs%3APutLogEvents%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Alogs%3A%2A%3A%2A%3A%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22glue%3AUpdateDatabase%22%2C%22glue%3AUpdatePartition%22%2C%22glue%3ACreateTable%22%2C%22glue%3AUpdateTable%22%2C%22glue%3AImportCatalogToGlue%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22s3%3AGetObject%22%2C%22s3%3APutObject%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3As3%3A%3A%3Aworkload-discovery-iad-s-costandusagereportbucket-bvs5op3f90e3%2Fperspective_glue_crawler%2F%2A%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"AWSCURCrawlerComponentFunction\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO43N3GYOHE2","resourceName":"workload-discovery-iad-At-AWSCURCrawlerComponentFu-1CO5IJZYH1XW7","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"workload-discovery-iad-At-AWSCURCrawlerComponentFu-1CO5IJZYH1XW7","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":549.5,"y":-2613.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-At-AWSCURCrawlerComponentFu-1CO5IJZYH1XW7/inlinePolicy/AWSCURCrawlerComponentFunction","resourceId":["arn:aws:iam::044981683129:role/workload-discovery-iad-At-AWSCURCrawlerComponentFu-1CO5IJZYH1XW7/inlinePolicy/AWSCURCrawlerComponentFunction","arn:aws:iam::044981683129:role/workload-discovery-iad-At-AWSCURCrawlerComponentFu-1CO5IJZYH1XW7/inlinePolicy/AWSCURCrawlerComponentFunction"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/workload-discovery-iad-At-AWSCURCrawlerComponentFu-1CO5IJZYH1XW7/inlinePolicy/AWSCURCrawlerComponentFunction","title":"arn:aws:iam::044981683129:role/workload-discovery-iad-At-AWSCURCrawlerComponentFu-1CO5IJZYH1XW7/inlinePolicy/AWSCURCrawlerComponentFunction","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/workload-discovery-iad-At-AWSCURCrawlerComponentFu-1CO5IJZYH1XW7/inlinePolicy/AWSCURCrawlerComponentFunction","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/workload-discovery-iad-At-AWSCURCrawlerComponentFu-1CO5IJZYH1XW7/inlinePolicy/AWSCURCrawlerComponentFunction","name":"arn:aws:iam::044981683129:role/workload-discovery-iad-At-AWSCURCrawlerComponentFu-1CO5IJZYH1XW7/inlinePolicy/AWSCURCrawlerComponentFunction","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-At-AWSCURCrawlerComponentFu-1CO5IJZYH1XW7/inlinePolicy/AWSCURCrawlerComponentFunction","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-At-AWSCURCrawlerComponentFu-1CO5IJZYH1XW7/inlinePolicy/AWSCURCrawlerComponentFunction","configuration":"\"{\\\"policyName\\\":\\\"AWSCURCrawlerComponentFunction\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"logs:CreateLogGroup\\\",\\\"logs:CreateLogStream\\\",\\\"logs:PutLogEvents\\\"],\\\"Resource\\\":\\\"arn:aws:logs:*:*:*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"glue:UpdateDatabase\\\",\\\"glue:UpdatePartition\\\",\\\"glue:CreateTable\\\",\\\"glue:UpdateTable\\\",\\\"glue:ImportCatalogToGlue\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"s3:GetObject\\\",\\\"s3:PutObject\\\"],\\\"Resource\\\":\\\"arn:aws:s3:::workload-discovery-iad-s-costandusagereportbucket-bvs5op3f90e3/perspective_glue_crawler/*\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/workload-discovery-iad-At-AWSCURCrawlerComponentFu-1CO5IJZYH1XW7/inlinePolicy/AWSCURCrawlerComponentFunction","resourceName":"arn:aws:iam::044981683129:role/workload-discovery-iad-At-AWSCURCrawlerComponentFu-1CO5IJZYH1XW7/inlinePolicy/AWSCURCrawlerComponentFunction","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/workload-discovery-iad-At-AWSCURCrawlerComponentFu-1CO5IJZYH1XW7/inlinePolicy/AWSCURCrawlerComponentFunction","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1538.5,"y":-2613.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-Co-RunCodebuildFunctionRole-1T6UMU20RU0QY","resourceId":["AROAQU6I6AO4WZNUG5NID","arn:aws:iam::044981683129:role/workload-discovery-iad-Co-RunCodebuildFunctionRole-1T6UMU20RU0QY"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/workload-discovery-iad-Co-RunCodebuildFunctionRole-1T6UMU20RU0QY","title":"workload-discovery-iad-Co-RunCodebuildFunctionRole-1T6UMU20RU0QY","label":"workload-dis...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/workload-discovery-iad-Co-RunCodebuildFunctionRole-1T6UMU20RU0QY","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO4WZNUG5NID","name":"workload-discovery-iad-Co-RunCodebuildFunctionRole-1T6UMU20RU0QY","value":null,"type":"AWS::IAM::Role","tags":"[{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"}]","arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-Co-RunCodebuildFunctionRole-1T6UMU20RU0QY","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-Co-RunCodebuildFunctionRole-1T6UMU20RU0QY","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22lambda.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO4WZNUG5NID\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole\\\",\\\"policyName\\\":\\\"AWSLambdaBasicExecutionRole\\\"}],\\\"roleName\\\":\\\"workload-discovery-iad-Co-RunCodebuildFunctionRole-1T6UMU20RU0QY\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/workload-discovery-iad-Co-RunCodebuildFunctionRole-1T6UMU20RU0QY\\\",\\\"createDate\\\":\\\"2022-11-16T14:36:01.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22codebuild%3AStartBuild%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Acodebuild%3Aus-east-1%3A044981683129%3Aproject%2Fworkload-discovery-iad-CodebuildStack-3DCMVQM4SIT8%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"RunCodebuildFunctionRolePolicy0\\\"}],\\\"tags\\\":[{\\\"value\\\":\\\"SAM\\\",\\\"key\\\":\\\"lambda:createdBy\\\"}]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO4WZNUG5NID","resourceName":"workload-discovery-iad-Co-RunCodebuildFunctionRole-1T6UMU20RU0QY","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"}]","title":"workload-discovery-iad-Co-RunCodebuildFunctionRole-1T6UMU20RU0QY","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":622.5,"y":-2613.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-Co-RunCodebuildFunctionRole-1T6UMU20RU0QY/inlinePolicy/RunCodebuildFunctionRolePolicy0","resourceId":["arn:aws:iam::044981683129:role/workload-discovery-iad-Co-RunCodebuildFunctionRole-1T6UMU20RU0QY/inlinePolicy/RunCodebuildFunctionRolePolicy0","arn:aws:iam::044981683129:role/workload-discovery-iad-Co-RunCodebuildFunctionRole-1T6UMU20RU0QY/inlinePolicy/RunCodebuildFunctionRolePolicy0"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/workload-discovery-iad-Co-RunCodebuildFunctionRole-1T6UMU20RU0QY/inlinePolicy/RunCodebuildFunctionRolePolicy0","title":"arn:aws:iam::044981683129:role/workload-discovery-iad-Co-RunCodebuildFunctionRole-1T6UMU20RU0QY/inlinePolicy/RunCodebuildFunctionRolePolicy0","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/workload-discovery-iad-Co-RunCodebuildFunctionRole-1T6UMU20RU0QY/inlinePolicy/RunCodebuildFunctionRolePolicy0","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/workload-discovery-iad-Co-RunCodebuildFunctionRole-1T6UMU20RU0QY/inlinePolicy/RunCodebuildFunctionRolePolicy0","name":"arn:aws:iam::044981683129:role/workload-discovery-iad-Co-RunCodebuildFunctionRole-1T6UMU20RU0QY/inlinePolicy/RunCodebuildFunctionRolePolicy0","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-Co-RunCodebuildFunctionRole-1T6UMU20RU0QY/inlinePolicy/RunCodebuildFunctionRolePolicy0","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-Co-RunCodebuildFunctionRole-1T6UMU20RU0QY/inlinePolicy/RunCodebuildFunctionRolePolicy0","configuration":"\"{\\\"policyName\\\":\\\"RunCodebuildFunctionRolePolicy0\\\",\\\"policyDocument\\\":{\\\"Statement\\\":[{\\\"Action\\\":[\\\"codebuild:StartBuild\\\"],\\\"Resource\\\":\\\"arn:aws:codebuild:us-east-1:044981683129:project/workload-discovery-iad-CodebuildStack-3DCMVQM4SIT8\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/workload-discovery-iad-Co-RunCodebuildFunctionRole-1T6UMU20RU0QY/inlinePolicy/RunCodebuildFunctionRolePolicy0","resourceName":"arn:aws:iam::044981683129:role/workload-discovery-iad-Co-RunCodebuildFunctionRole-1T6UMU20RU0QY/inlinePolicy/RunCodebuildFunctionRolePolicy0","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/workload-discovery-iad-Co-RunCodebuildFunctionRole-1T6UMU20RU0QY/inlinePolicy/RunCodebuildFunctionRolePolicy0","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1611.5,"y":-2759.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-Se-PerspectiveSettingsLambd-OMYRZRVGEN51","resourceId":["AROAQU6I6AO44CXG6J24E","arn:aws:iam::044981683129:role/workload-discovery-iad-Se-PerspectiveSettingsLambd-OMYRZRVGEN51"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/workload-discovery-iad-Se-PerspectiveSettingsLambd-OMYRZRVGEN51","title":"workload-discovery-iad-Se-PerspectiveSettingsLambd-OMYRZRVGEN51","label":"workload-dis...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/workload-discovery-iad-Se-PerspectiveSettingsLambd-OMYRZRVGEN51","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO44CXG6J24E","name":"workload-discovery-iad-Se-PerspectiveSettingsLambd-OMYRZRVGEN51","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-Se-PerspectiveSettingsLambd-OMYRZRVGEN51","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-Se-PerspectiveSettingsLambd-OMYRZRVGEN51","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22appsync.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO44CXG6J24E\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"workload-discovery-iad-Se-PerspectiveSettingsLambd-OMYRZRVGEN51\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/workload-discovery-iad-Se-PerspectiveSettingsLambd-OMYRZRVGEN51\\\",\\\"createDate\\\":\\\"2022-11-16T14:34:06.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22lambda%3AInvokeFunction%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Alambda%3Aus-east-1%3A044981683129%3Afunction%3Aworkload-discovery-iad-Se-PerspectiveSettingsFunct-uB8MhxMC99LX%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"workload-discovery-iad-SettingsResolversStack-5BT7BQGN8YN6-AppSyncRole\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO44CXG6J24E","resourceName":"workload-discovery-iad-Se-PerspectiveSettingsLambd-OMYRZRVGEN51","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"workload-discovery-iad-Se-PerspectiveSettingsLambd-OMYRZRVGEN51","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":695.5,"y":-2759.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-Se-PerspectiveSettingsLambd-OMYRZRVGEN51/inlinePolicy/workload-discovery-iad-SettingsResolversStack-5BT7BQGN8YN6-AppSyncRole","resourceId":["arn:aws:iam::044981683129:role/workload-discovery-iad-Se-PerspectiveSettingsLambd-OMYRZRVGEN51/inlinePolicy/workload-discovery-iad-SettingsResolversStack-5BT7BQGN8YN6-AppSyncRole","arn:aws:iam::044981683129:role/workload-discovery-iad-Se-PerspectiveSettingsLambd-OMYRZRVGEN51/inlinePolicy/workload-discovery-iad-SettingsResolversStack-5BT7BQGN8YN6-AppSyncRole"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/workload-discovery-iad-Se-PerspectiveSettingsLambd-OMYRZRVGEN51/inlinePolicy/workload-discovery-iad-SettingsResolversStack-5BT7BQGN8YN6-AppSyncRole","title":"arn:aws:iam::044981683129:role/workload-discovery-iad-Se-PerspectiveSettingsLambd-OMYRZRVGEN51/inlinePolicy/workload-discovery-iad-SettingsResolversStack-5BT7BQGN8YN6-AppSyncRole","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/workload-discovery-iad-Se-PerspectiveSettingsLambd-OMYRZRVGEN51/inlinePolicy/workload-discovery-iad-SettingsResolversStack-5BT7BQGN8YN6-AppSyncRole","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/workload-discovery-iad-Se-PerspectiveSettingsLambd-OMYRZRVGEN51/inlinePolicy/workload-discovery-iad-SettingsResolversStack-5BT7BQGN8YN6-AppSyncRole","name":"arn:aws:iam::044981683129:role/workload-discovery-iad-Se-PerspectiveSettingsLambd-OMYRZRVGEN51/inlinePolicy/workload-discovery-iad-SettingsResolversStack-5BT7BQGN8YN6-AppSyncRole","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-Se-PerspectiveSettingsLambd-OMYRZRVGEN51/inlinePolicy/workload-discovery-iad-SettingsResolversStack-5BT7BQGN8YN6-AppSyncRole","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-Se-PerspectiveSettingsLambd-OMYRZRVGEN51/inlinePolicy/workload-discovery-iad-SettingsResolversStack-5BT7BQGN8YN6-AppSyncRole","configuration":"\"{\\\"policyName\\\":\\\"workload-discovery-iad-SettingsResolversStack-5BT7BQGN8YN6-AppSyncRole\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"lambda:InvokeFunction\\\"],\\\"Resource\\\":\\\"arn:aws:lambda:us-east-1:044981683129:function:workload-discovery-iad-Se-PerspectiveSettingsFunct-uB8MhxMC99LX\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/workload-discovery-iad-Se-PerspectiveSettingsLambd-OMYRZRVGEN51/inlinePolicy/workload-discovery-iad-SettingsResolversStack-5BT7BQGN8YN6-AppSyncRole","resourceName":"arn:aws:iam::044981683129:role/workload-discovery-iad-Se-PerspectiveSettingsLambd-OMYRZRVGEN51/inlinePolicy/workload-discovery-iad-SettingsResolversStack-5BT7BQGN8YN6-AppSyncRole","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/workload-discovery-iad-Se-PerspectiveSettingsLambd-OMYRZRVGEN51/inlinePolicy/workload-discovery-iad-SettingsResolversStack-5BT7BQGN8YN6-AppSyncRole","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1611.5,"y":-2686.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/wd2-2022-10-07-NeptuneStack-CM7XDBXLQO-NeptuneRole-KGYU2749RSW","resourceId":["AROAQU6I6AO444KO4GNMK","arn:aws:iam::044981683129:role/wd2-2022-10-07-NeptuneStack-CM7XDBXLQO-NeptuneRole-KGYU2749RSW"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-NeptuneStack-CM7XDBXLQO-NeptuneRole-KGYU2749RSW","title":"wd2-2022-10-07-NeptuneStack-CM7XDBXLQO-NeptuneRole-KGYU2749RSW","label":"wd2-2022-10-...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/wd2-2022-10-07-NeptuneStack-CM7XDBXLQO-NeptuneRole-KGYU2749RSW","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO444KO4GNMK","name":"wd2-2022-10-07-NeptuneStack-CM7XDBXLQO-NeptuneRole-KGYU2749RSW","value":null,"type":"AWS::IAM::Role","tags":"[{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"}]","arn":"arn:aws:iam::044981683129:role/wd2-2022-10-07-NeptuneStack-CM7XDBXLQO-NeptuneRole-KGYU2749RSW","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/wd2-2022-10-07-NeptuneStack-CM7XDBXLQO-NeptuneRole-KGYU2749RSW","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%5B%22monitoring.rds.amazonaws.com%22%2C%22rds.amazonaws.com%22%5D%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO444KO4GNMK\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::044981683129:policy/wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-NeptuneS3Policy-1EZQWI2TFXK5R\\\",\\\"policyName\\\":\\\"wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-NeptuneS3Policy-1EZQWI2TFXK5R\\\"},{\\\"policyArn\\\":\\\"arn:aws:iam::044981683129:policy/wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-NeptuneCloudWatchPolicy-B99K1SZP0HZV\\\",\\\"policyName\\\":\\\"wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-NeptuneCloudWatchPolicy-B99K1SZP0HZV\\\"}],\\\"roleName\\\":\\\"wd2-2022-10-07-NeptuneStack-CM7XDBXLQO-NeptuneRole-KGYU2749RSW\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/wd2-2022-10-07-NeptuneStack-CM7XDBXLQO-NeptuneRole-KGYU2749RSW\\\",\\\"createDate\\\":\\\"2022-11-23T10:00:36.000Z\\\",\\\"rolePolicyList\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"key\\\":\\\"AppManagerCFNStackKey\\\"}]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO444KO4GNMK","resourceName":"wd2-2022-10-07-NeptuneStack-CM7XDBXLQO-NeptuneRole-KGYU2749RSW","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"}]","title":"wd2-2022-10-07-NeptuneStack-CM7XDBXLQO-NeptuneRole-KGYU2749RSW","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":695.5,"y":-2686.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"id":"Policy-global-044981683129","parent":"global-044981683129","level":2,"title":"Policy","label":"Policy","plainLabel":"Policy","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/IAM_Policy.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:iam::044981683129:policy/wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-NeptuneCloudWatchPolicy-B99K1SZP0HZV","label":"AWS_IAM_Policy","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:policy/wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-NeptuneCloudWatchPolicy-B99K1SZP0HZV","configuration":"\"{\\\"permissionsBoundaryUsageCount\\\":0,\\\"policyVersionList\\\":[{\\\"versionId\\\":\\\"v1\\\",\\\"isDefaultVersion\\\":true,\\\"document\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22logs%3ACreateLogGroup%22%2C%22logs%3APutRetentionPolicy%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Alogs%3A%2A%3A%2A%3Alog-group%3A%2Faws%2Fneptune%2F%2A%22%5D%2C%22Effect%22%3A%22Allow%22%2C%22Sid%22%3A%22EnableLogGroups%22%7D%2C%7B%22Action%22%3A%5B%22logs%3ACreateLogStream%22%2C%22logs%3APutLogEvents%22%2C%22logs%3ADescriptLogStreams%22%2C%22logs%3AGetLogEvents%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Alogs%3A%2A%3A%2A%3Alog-group%3A%2Faws%2Fneptune%2F%2A%3Alog-stream%3A%2A%22%5D%2C%22Effect%22%3A%22Allow%22%2C%22Sid%22%3A%22EnableLogStreams%22%7D%5D%7D\\\",\\\"createDate\\\":\\\"2022-10-07T17:54:12.000Z\\\"}],\\\"path\\\":\\\"/\\\",\\\"updateDate\\\":\\\"2022-10-07T17:54:12.000Z\\\",\\\"policyId\\\":\\\"ANPAQU6I6AO47ZDL3MOIA\\\",\\\"defaultVersionId\\\":\\\"v1\\\",\\\"policyName\\\":\\\"wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-NeptuneCloudWatchPolicy-B99K1SZP0HZV\\\",\\\"isAttachable\\\":true,\\\"description\\\":\\\"Default policy for CloudWatch logs\\\",\\\"attachmentCount\\\":1,\\\"arn\\\":\\\"arn:aws:iam::044981683129:policy/wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-NeptuneCloudWatchPolicy-B99K1SZP0HZV\\\",\\\"createDate\\\":\\\"2022-10-07T17:54:12.000Z\\\"}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/policies","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/policies","private":null,"resourceId":"ANPAQU6I6AO47ZDL3MOIA","resourceName":"wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-NeptuneCloudWatchPolicy-B99K1SZP0HZV","resourceType":"AWS::IAM::Policy","resourceValue":null,"state":null,"tags":"[]","title":"wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-NeptuneCloudWatchPolicy-B99K1SZP0HZV","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:iam::044981683129:policy/wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-NeptuneS3Policy-1EZQWI2TFXK5R","label":"AWS_IAM_Policy","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:policy/wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-NeptuneS3Policy-1EZQWI2TFXK5R","configuration":"\"{\\\"permissionsBoundaryUsageCount\\\":0,\\\"policyVersionList\\\":[{\\\"versionId\\\":\\\"v1\\\",\\\"isDefaultVersion\\\":true,\\\"document\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22s3%3AGet%2A%22%2C%22s3%3AList%2A%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3As3%3A%3A%3A%2A%22%2C%22Effect%22%3A%22Allow%22%2C%22Sid%22%3A%22AllowNeptuneAccessToS3%22%7D%5D%7D\\\",\\\"createDate\\\":\\\"2022-10-07T17:54:12.000Z\\\"}],\\\"path\\\":\\\"/\\\",\\\"updateDate\\\":\\\"2022-10-07T17:54:12.000Z\\\",\\\"policyId\\\":\\\"ANPAQU6I6AO44OQ5YGC3K\\\",\\\"defaultVersionId\\\":\\\"v1\\\",\\\"policyName\\\":\\\"wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-NeptuneS3Policy-1EZQWI2TFXK5R\\\",\\\"isAttachable\\\":true,\\\"description\\\":\\\"Neptune default policy for S3 access for data load\\\",\\\"attachmentCount\\\":1,\\\"arn\\\":\\\"arn:aws:iam::044981683129:policy/wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-NeptuneS3Policy-1EZQWI2TFXK5R\\\",\\\"createDate\\\":\\\"2022-10-07T17:54:12.000Z\\\"}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/policies","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/policies","private":null,"resourceId":"ANPAQU6I6AO44OQ5YGC3K","resourceName":"wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-NeptuneS3Policy-1EZQWI2TFXK5R","resourceType":"AWS::IAM::Policy","resourceValue":null,"state":null,"tags":"[]","title":"wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-NeptuneS3Policy-1EZQWI2TFXK5R","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":1137,"y":-1789.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:iam::044981683129:policy/wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-NeptuneCloudWatchPolicy-B99K1SZP0HZV","resourceId":["ANPAQU6I6AO47ZDL3MOIA","arn:aws:iam::044981683129:policy/wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-NeptuneCloudWatchPolicy-B99K1SZP0HZV"],"parent":"Policy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:policy/wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-NeptuneCloudWatchPolicy-B99K1SZP0HZV","title":"wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-NeptuneCloudWatchPolicy-B99K1SZP0HZV","label":"wd2-2022-10-...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:policy/wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-NeptuneCloudWatchPolicy-B99K1SZP0HZV","image":"/icons/IAM_Policy.svg","cost":0,"private":false,"resource":{"id":"ANPAQU6I6AO47ZDL3MOIA","name":"wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-NeptuneCloudWatchPolicy-B99K1SZP0HZV","value":null,"type":"AWS::IAM::Policy","tags":"[]","arn":"arn:aws:iam::044981683129:policy/wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-NeptuneCloudWatchPolicy-B99K1SZP0HZV","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/policies","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/policies","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:policy/wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-NeptuneCloudWatchPolicy-B99K1SZP0HZV","configuration":"\"{\\\"permissionsBoundaryUsageCount\\\":0,\\\"policyVersionList\\\":[{\\\"versionId\\\":\\\"v1\\\",\\\"isDefaultVersion\\\":true,\\\"document\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22logs%3ACreateLogGroup%22%2C%22logs%3APutRetentionPolicy%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Alogs%3A%2A%3A%2A%3Alog-group%3A%2Faws%2Fneptune%2F%2A%22%5D%2C%22Effect%22%3A%22Allow%22%2C%22Sid%22%3A%22EnableLogGroups%22%7D%2C%7B%22Action%22%3A%5B%22logs%3ACreateLogStream%22%2C%22logs%3APutLogEvents%22%2C%22logs%3ADescriptLogStreams%22%2C%22logs%3AGetLogEvents%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Alogs%3A%2A%3A%2A%3Alog-group%3A%2Faws%2Fneptune%2F%2A%3Alog-stream%3A%2A%22%5D%2C%22Effect%22%3A%22Allow%22%2C%22Sid%22%3A%22EnableLogStreams%22%7D%5D%7D\\\",\\\"createDate\\\":\\\"2022-10-07T17:54:12.000Z\\\"}],\\\"path\\\":\\\"/\\\",\\\"updateDate\\\":\\\"2022-10-07T17:54:12.000Z\\\",\\\"policyId\\\":\\\"ANPAQU6I6AO47ZDL3MOIA\\\",\\\"defaultVersionId\\\":\\\"v1\\\",\\\"policyName\\\":\\\"wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-NeptuneCloudWatchPolicy-B99K1SZP0HZV\\\",\\\"isAttachable\\\":true,\\\"description\\\":\\\"Default policy for CloudWatch logs\\\",\\\"attachmentCount\\\":1,\\\"arn\\\":\\\"arn:aws:iam::044981683129:policy/wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-NeptuneCloudWatchPolicy-B99K1SZP0HZV\\\",\\\"createDate\\\":\\\"2022-10-07T17:54:12.000Z\\\"}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/policies","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/policies","private":null,"resourceId":"ANPAQU6I6AO47ZDL3MOIA","resourceName":"wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-NeptuneCloudWatchPolicy-B99K1SZP0HZV","resourceType":"AWS::IAM::Policy","resourceValue":null,"state":null,"tags":"[]","title":"wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-NeptuneCloudWatchPolicy-B99K1SZP0HZV","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1027.5,"y":-1899.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:policy/wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-NeptuneS3Policy-1EZQWI2TFXK5R","resourceId":["ANPAQU6I6AO44OQ5YGC3K","arn:aws:iam::044981683129:policy/wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-NeptuneS3Policy-1EZQWI2TFXK5R"],"parent":"Policy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:policy/wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-NeptuneS3Policy-1EZQWI2TFXK5R","title":"wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-NeptuneS3Policy-1EZQWI2TFXK5R","label":"wd2-2022-10-...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:policy/wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-NeptuneS3Policy-1EZQWI2TFXK5R","image":"/icons/IAM_Policy.svg","cost":0,"private":false,"resource":{"id":"ANPAQU6I6AO44OQ5YGC3K","name":"wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-NeptuneS3Policy-1EZQWI2TFXK5R","value":null,"type":"AWS::IAM::Policy","tags":"[]","arn":"arn:aws:iam::044981683129:policy/wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-NeptuneS3Policy-1EZQWI2TFXK5R","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/policies","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/policies","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:policy/wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-NeptuneS3Policy-1EZQWI2TFXK5R","configuration":"\"{\\\"permissionsBoundaryUsageCount\\\":0,\\\"policyVersionList\\\":[{\\\"versionId\\\":\\\"v1\\\",\\\"isDefaultVersion\\\":true,\\\"document\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22s3%3AGet%2A%22%2C%22s3%3AList%2A%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3As3%3A%3A%3A%2A%22%2C%22Effect%22%3A%22Allow%22%2C%22Sid%22%3A%22AllowNeptuneAccessToS3%22%7D%5D%7D\\\",\\\"createDate\\\":\\\"2022-10-07T17:54:12.000Z\\\"}],\\\"path\\\":\\\"/\\\",\\\"updateDate\\\":\\\"2022-10-07T17:54:12.000Z\\\",\\\"policyId\\\":\\\"ANPAQU6I6AO44OQ5YGC3K\\\",\\\"defaultVersionId\\\":\\\"v1\\\",\\\"policyName\\\":\\\"wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-NeptuneS3Policy-1EZQWI2TFXK5R\\\",\\\"isAttachable\\\":true,\\\"description\\\":\\\"Neptune default policy for S3 access for data load\\\",\\\"attachmentCount\\\":1,\\\"arn\\\":\\\"arn:aws:iam::044981683129:policy/wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-NeptuneS3Policy-1EZQWI2TFXK5R\\\",\\\"createDate\\\":\\\"2022-10-07T17:54:12.000Z\\\"}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/policies","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/policies","private":null,"resourceId":"ANPAQU6I6AO44OQ5YGC3K","resourceName":"wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-NeptuneS3Policy-1EZQWI2TFXK5R","resourceType":"AWS::IAM::Policy","resourceValue":null,"state":null,"tags":"[]","title":"wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-NeptuneS3Policy-1EZQWI2TFXK5R","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1100.5,"y":-1899.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:tags::044981683129:tag/AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b","resourceId":["arn:aws:tags::044981683129:tag/AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b","arn:aws:tags::044981683129:tag/AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b"],"parent":"Tag-global-044981683129","level":3,"id":"arn:aws:tags::044981683129:tag/AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b","title":"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b","label":"AppManagerCF...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:tags::044981683129:tag/AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b","image":"/icons/AWS-Tags-bg.svg","cost":0,"private":false,"resource":{"id":"arn:aws:tags::044981683129:tag/AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b","name":"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b","value":null,"type":"AWS::Tags::Tag","tags":"[]","arn":"arn:aws:tags::044981683129:tag/AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:tags::044981683129:tag/AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b","configuration":"\"{}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:tags::044981683129:tag/AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b","resourceName":"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b","resourceType":"AWS::Tags::Tag","resourceValue":null,"state":null,"tags":"[]","title":"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":622.5,"y":-1899.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"eu-west-1-044981683129","parent":"044981683129","level":1,"title":"eu-west-1","label":"eu-west-1","plainLabel":"eu-west-1","type":"region","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Region_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":null,"label":"Stack","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2/095e7890-4669-11ed-ab67-0a55c4146165","label":"AWS_CloudFormation_Stack","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2/095e7890-4669-11ed-ab67-0a55c4146165","configuration":"\"{\\\"outputs\\\":[{\\\"outputKey\\\":\\\"NeptuneReadEndpointAddress\\\",\\\"outputValue\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x.cluster-ro-ccc9f5a6ekin.eu-west-1.neptune.amazonaws.com\\\",\\\"description\\\":\\\"Neptune DB read-only endpoint address\\\"},{\\\"outputKey\\\":\\\"NeptuneDBSubnetGroupName\\\",\\\"outputValue\\\":\\\"perspective-dev-sng\\\",\\\"description\\\":\\\"Neptune Subnet Group\\\"},{\\\"outputKey\\\":\\\"NeptuneEndpointPort\\\",\\\"outputValue\\\":\\\"6174\\\",\\\"description\\\":\\\"Neptune DB endpoint address\\\"},{\\\"outputKey\\\":\\\"NeptuneClusterResourceId\\\",\\\"outputValue\\\":\\\"cluster-NXTWW4L6Q3GOE7YJ72XINL7SKI\\\",\\\"description\\\":\\\"Endpoint port\\\"},{\\\"outputKey\\\":\\\"NeptuneDbSg\\\",\\\"outputValue\\\":\\\"sg-02df76c6e6753f6b3\\\",\\\"description\\\":\\\"Neptune Security Group\\\"},{\\\"outputKey\\\":\\\"NeptuneEndpointAddress\\\",\\\"outputValue\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x.cluster-ccc9f5a6ekin.eu-west-1.neptune.amazonaws.com\\\",\\\"description\\\":\\\"Neptune DB endpoint address\\\"}],\\\"capabilities\\\":[\\\"CAPABILITY_IAM\\\",\\\"CAPABILITY_NAMED_IAM\\\",\\\"CAPABILITY_AUTO_EXPAND\\\"],\\\"creationTime\\\":\\\"2022-10-07T17:54:06Z\\\",\\\"notificationARNs\\\":[],\\\"stackId\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2/095e7890-4669-11ed-ab67-0a55c4146165\\\",\\\"stackName\\\":\\\"wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2\\\",\\\"description\\\":\\\"Workload Discovery on AWS Neptune DB Stack\\\",\\\"stackStatus\\\":\\\"UPDATE_COMPLETE\\\",\\\"disableRollback\\\":false,\\\"parentId\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"tags\\\":[{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"key\\\":\\\"AppManagerCFNStackKey\\\"}],\\\"timeoutInMinutes\\\":60,\\\"driftInformation\\\":{\\\"stackDriftStatus\\\":\\\"NOT_CHECKED\\\"},\\\"enableTerminationProtection\\\":false,\\\"lastUpdatedTime\\\":\\\"2023-01-23T16:05:05Z\\\",\\\"parameters\\\":[{\\\"parameterKey\\\":\\\"StorageEncrypted\\\",\\\"parameterValue\\\":\\\"true\\\"},{\\\"parameterKey\\\":\\\"Owner\\\",\\\"parameterValue\\\":\\\"\\\"},{\\\"parameterKey\\\":\\\"User\\\",\\\"parameterValue\\\":\\\"test\\\"},{\\\"parameterKey\\\":\\\"MajorVersionUpgrade\\\",\\\"parameterValue\\\":\\\"true\\\"},{\\\"parameterKey\\\":\\\"NeptuneDBSubnetGroupName\\\",\\\"parameterValue\\\":\\\"perspective-dev-sng\\\"},{\\\"parameterKey\\\":\\\"SparqlRequestsPerSecThreshold\\\",\\\"parameterValue\\\":\\\"10000\\\"},{\\\"parameterKey\\\":\\\"Port\\\",\\\"parameterValue\\\":\\\"6174\\\"},{\\\"parameterKey\\\":\\\"MinorVersionUpgrade\\\",\\\"parameterValue\\\":\\\"true\\\"},{\\\"parameterKey\\\":\\\"AppName\\\",\\\"parameterValue\\\":\\\"workload-discovery\\\"},{\\\"parameterKey\\\":\\\"PrivateSubnet0\\\",\\\"parameterValue\\\":\\\"subnet-02e0c991bba17b7eb\\\"},{\\\"parameterKey\\\":\\\"CreateNeptuneReplica\\\",\\\"parameterValue\\\":\\\"No\\\"},{\\\"parameterKey\\\":\\\"PrivateSubnet1\\\",\\\"parameterValue\\\":\\\"subnet-010652f698dff6484\\\"},{\\\"parameterKey\\\":\\\"NeptuneDBClusterPreferredMaintenanceWindow\\\",\\\"parameterValue\\\":\\\"mon:03:00-mon:04:00\\\"},{\\\"parameterKey\\\":\\\"Version\\\",\\\"parameterValue\\\":\\\"\\\"},{\\\"parameterKey\\\":\\\"HighCpuAlarmThreshold\\\",\\\"parameterValue\\\":\\\"80\\\"},{\\\"parameterKey\\\":\\\"NeptuneDBInstancePreferredMaintenanceWindow\\\",\\\"parameterValue\\\":\\\"mon:03:00-mon:04:00\\\"},{\\\"parameterKey\\\":\\\"AvailabilityZone1\\\",\\\"parameterValue\\\":\\\"eu-west-1b\\\"},{\\\"parameterKey\\\":\\\"NeptuneQueryTimeout\\\",\\\"parameterValue\\\":\\\"120000\\\"},{\\\"parameterKey\\\":\\\"GremlinRequestsPerSecThreshold\\\",\\\"parameterValue\\\":\\\"10000\\\"},{\\\"parameterKey\\\":\\\"AvailabilityZone0\\\",\\\"parameterValue\\\":\\\"eu-west-1a\\\"},{\\\"parameterKey\\\":\\\"NeptuneDBClusterPreferredBackupWindow\\\",\\\"parameterValue\\\":\\\"02:00-03:00\\\"},{\\\"parameterKey\\\":\\\"DBInstanceClass\\\",\\\"parameterValue\\\":\\\"db.r5.large\\\"},{\\\"parameterKey\\\":\\\"Tier\\\",\\\"parameterValue\\\":\\\"\\\"},{\\\"parameterKey\\\":\\\"Storage\\\",\\\"parameterValue\\\":\\\"ebs\\\"},{\\\"parameterKey\\\":\\\"LowMemoryAlarmThreshold\\\",\\\"parameterValue\\\":\\\"700000000\\\"},{\\\"parameterKey\\\":\\\"PerspectiveVpcCidr\\\",\\\"parameterValue\\\":\\\"10.0.0.0/16\\\"},{\\\"parameterKey\\\":\\\"BackupRetentionPeriod\\\",\\\"parameterValue\\\":\\\"31\\\"},{\\\"parameterKey\\\":\\\"UploadAuditLogs\\\",\\\"parameterValue\\\":\\\"true\\\"},{\\\"parameterKey\\\":\\\"PerspectiveVPCId\\\",\\\"parameterValue\\\":\\\"vpc-04e5e1c4bc4409222\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Regional","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2/095e7890-4669-11ed-ab67-0a55c4146165","resourceName":"wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2","resourceType":"AWS::CloudFormation::Stack","resourceValue":null,"state":null,"tags":"[{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"}]","title":"wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-937.5,"y":-1375.5},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"region removeAll _gridParentPadding"},{"data":{"id":"Stack-eu-west-1-044981683129","parent":"eu-west-1-044981683129","level":2,"title":"Stack","label":"Stack","plainLabel":"Stack","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/AWS-CloudFormation.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2/095e7890-4669-11ed-ab67-0a55c4146165","label":"AWS_CloudFormation_Stack","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2/095e7890-4669-11ed-ab67-0a55c4146165","configuration":"\"{\\\"outputs\\\":[{\\\"outputKey\\\":\\\"NeptuneReadEndpointAddress\\\",\\\"outputValue\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x.cluster-ro-ccc9f5a6ekin.eu-west-1.neptune.amazonaws.com\\\",\\\"description\\\":\\\"Neptune DB read-only endpoint address\\\"},{\\\"outputKey\\\":\\\"NeptuneDBSubnetGroupName\\\",\\\"outputValue\\\":\\\"perspective-dev-sng\\\",\\\"description\\\":\\\"Neptune Subnet Group\\\"},{\\\"outputKey\\\":\\\"NeptuneEndpointPort\\\",\\\"outputValue\\\":\\\"6174\\\",\\\"description\\\":\\\"Neptune DB endpoint address\\\"},{\\\"outputKey\\\":\\\"NeptuneClusterResourceId\\\",\\\"outputValue\\\":\\\"cluster-NXTWW4L6Q3GOE7YJ72XINL7SKI\\\",\\\"description\\\":\\\"Endpoint port\\\"},{\\\"outputKey\\\":\\\"NeptuneDbSg\\\",\\\"outputValue\\\":\\\"sg-02df76c6e6753f6b3\\\",\\\"description\\\":\\\"Neptune Security Group\\\"},{\\\"outputKey\\\":\\\"NeptuneEndpointAddress\\\",\\\"outputValue\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x.cluster-ccc9f5a6ekin.eu-west-1.neptune.amazonaws.com\\\",\\\"description\\\":\\\"Neptune DB endpoint address\\\"}],\\\"capabilities\\\":[\\\"CAPABILITY_IAM\\\",\\\"CAPABILITY_NAMED_IAM\\\",\\\"CAPABILITY_AUTO_EXPAND\\\"],\\\"creationTime\\\":\\\"2022-10-07T17:54:06Z\\\",\\\"notificationARNs\\\":[],\\\"stackId\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2/095e7890-4669-11ed-ab67-0a55c4146165\\\",\\\"stackName\\\":\\\"wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2\\\",\\\"description\\\":\\\"Workload Discovery on AWS Neptune DB Stack\\\",\\\"stackStatus\\\":\\\"UPDATE_COMPLETE\\\",\\\"disableRollback\\\":false,\\\"parentId\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"tags\\\":[{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"key\\\":\\\"AppManagerCFNStackKey\\\"}],\\\"timeoutInMinutes\\\":60,\\\"driftInformation\\\":{\\\"stackDriftStatus\\\":\\\"NOT_CHECKED\\\"},\\\"enableTerminationProtection\\\":false,\\\"lastUpdatedTime\\\":\\\"2023-01-23T16:05:05Z\\\",\\\"parameters\\\":[{\\\"parameterKey\\\":\\\"StorageEncrypted\\\",\\\"parameterValue\\\":\\\"true\\\"},{\\\"parameterKey\\\":\\\"Owner\\\",\\\"parameterValue\\\":\\\"\\\"},{\\\"parameterKey\\\":\\\"User\\\",\\\"parameterValue\\\":\\\"test\\\"},{\\\"parameterKey\\\":\\\"MajorVersionUpgrade\\\",\\\"parameterValue\\\":\\\"true\\\"},{\\\"parameterKey\\\":\\\"NeptuneDBSubnetGroupName\\\",\\\"parameterValue\\\":\\\"perspective-dev-sng\\\"},{\\\"parameterKey\\\":\\\"SparqlRequestsPerSecThreshold\\\",\\\"parameterValue\\\":\\\"10000\\\"},{\\\"parameterKey\\\":\\\"Port\\\",\\\"parameterValue\\\":\\\"6174\\\"},{\\\"parameterKey\\\":\\\"MinorVersionUpgrade\\\",\\\"parameterValue\\\":\\\"true\\\"},{\\\"parameterKey\\\":\\\"AppName\\\",\\\"parameterValue\\\":\\\"workload-discovery\\\"},{\\\"parameterKey\\\":\\\"PrivateSubnet0\\\",\\\"parameterValue\\\":\\\"subnet-02e0c991bba17b7eb\\\"},{\\\"parameterKey\\\":\\\"CreateNeptuneReplica\\\",\\\"parameterValue\\\":\\\"No\\\"},{\\\"parameterKey\\\":\\\"PrivateSubnet1\\\",\\\"parameterValue\\\":\\\"subnet-010652f698dff6484\\\"},{\\\"parameterKey\\\":\\\"NeptuneDBClusterPreferredMaintenanceWindow\\\",\\\"parameterValue\\\":\\\"mon:03:00-mon:04:00\\\"},{\\\"parameterKey\\\":\\\"Version\\\",\\\"parameterValue\\\":\\\"\\\"},{\\\"parameterKey\\\":\\\"HighCpuAlarmThreshold\\\",\\\"parameterValue\\\":\\\"80\\\"},{\\\"parameterKey\\\":\\\"NeptuneDBInstancePreferredMaintenanceWindow\\\",\\\"parameterValue\\\":\\\"mon:03:00-mon:04:00\\\"},{\\\"parameterKey\\\":\\\"AvailabilityZone1\\\",\\\"parameterValue\\\":\\\"eu-west-1b\\\"},{\\\"parameterKey\\\":\\\"NeptuneQueryTimeout\\\",\\\"parameterValue\\\":\\\"120000\\\"},{\\\"parameterKey\\\":\\\"GremlinRequestsPerSecThreshold\\\",\\\"parameterValue\\\":\\\"10000\\\"},{\\\"parameterKey\\\":\\\"AvailabilityZone0\\\",\\\"parameterValue\\\":\\\"eu-west-1a\\\"},{\\\"parameterKey\\\":\\\"NeptuneDBClusterPreferredBackupWindow\\\",\\\"parameterValue\\\":\\\"02:00-03:00\\\"},{\\\"parameterKey\\\":\\\"DBInstanceClass\\\",\\\"parameterValue\\\":\\\"db.r5.large\\\"},{\\\"parameterKey\\\":\\\"Tier\\\",\\\"parameterValue\\\":\\\"\\\"},{\\\"parameterKey\\\":\\\"Storage\\\",\\\"parameterValue\\\":\\\"ebs\\\"},{\\\"parameterKey\\\":\\\"LowMemoryAlarmThreshold\\\",\\\"parameterValue\\\":\\\"700000000\\\"},{\\\"parameterKey\\\":\\\"PerspectiveVpcCidr\\\",\\\"parameterValue\\\":\\\"10.0.0.0/16\\\"},{\\\"parameterKey\\\":\\\"BackupRetentionPeriod\\\",\\\"parameterValue\\\":\\\"31\\\"},{\\\"parameterKey\\\":\\\"UploadAuditLogs\\\",\\\"parameterValue\\\":\\\"true\\\"},{\\\"parameterKey\\\":\\\"PerspectiveVPCId\\\",\\\"parameterValue\\\":\\\"vpc-04e5e1c4bc4409222\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Regional","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2/095e7890-4669-11ed-ab67-0a55c4146165","resourceName":"wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2","resourceType":"AWS::CloudFormation::Stack","resourceValue":null,"state":null,"tags":"[{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"}]","title":"wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-690,"y":-485.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2/095e7890-4669-11ed-ab67-0a55c4146165","resourceId":["arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2/095e7890-4669-11ed-ab67-0a55c4146165","arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2/095e7890-4669-11ed-ab67-0a55c4146165"],"parent":"Stack-eu-west-1-044981683129","level":3,"id":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2/095e7890-4669-11ed-ab67-0a55c4146165","title":"wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2","label":"wd2-2022-10-...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2/095e7890-4669-11ed-ab67-0a55c4146165","image":"/icons/AWS-CloudFormation.svg","cost":0,"private":false,"resource":{"id":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2/095e7890-4669-11ed-ab67-0a55c4146165","name":"wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2","value":null,"type":"AWS::CloudFormation::Stack","tags":"[{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"}]","arn":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2/095e7890-4669-11ed-ab67-0a55c4146165","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2/095e7890-4669-11ed-ab67-0a55c4146165","configuration":"\"{\\\"outputs\\\":[{\\\"outputKey\\\":\\\"NeptuneReadEndpointAddress\\\",\\\"outputValue\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x.cluster-ro-ccc9f5a6ekin.eu-west-1.neptune.amazonaws.com\\\",\\\"description\\\":\\\"Neptune DB read-only endpoint address\\\"},{\\\"outputKey\\\":\\\"NeptuneDBSubnetGroupName\\\",\\\"outputValue\\\":\\\"perspective-dev-sng\\\",\\\"description\\\":\\\"Neptune Subnet Group\\\"},{\\\"outputKey\\\":\\\"NeptuneEndpointPort\\\",\\\"outputValue\\\":\\\"6174\\\",\\\"description\\\":\\\"Neptune DB endpoint address\\\"},{\\\"outputKey\\\":\\\"NeptuneClusterResourceId\\\",\\\"outputValue\\\":\\\"cluster-NXTWW4L6Q3GOE7YJ72XINL7SKI\\\",\\\"description\\\":\\\"Endpoint port\\\"},{\\\"outputKey\\\":\\\"NeptuneDbSg\\\",\\\"outputValue\\\":\\\"sg-02df76c6e6753f6b3\\\",\\\"description\\\":\\\"Neptune Security Group\\\"},{\\\"outputKey\\\":\\\"NeptuneEndpointAddress\\\",\\\"outputValue\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x.cluster-ccc9f5a6ekin.eu-west-1.neptune.amazonaws.com\\\",\\\"description\\\":\\\"Neptune DB endpoint address\\\"}],\\\"capabilities\\\":[\\\"CAPABILITY_IAM\\\",\\\"CAPABILITY_NAMED_IAM\\\",\\\"CAPABILITY_AUTO_EXPAND\\\"],\\\"creationTime\\\":\\\"2022-10-07T17:54:06Z\\\",\\\"notificationARNs\\\":[],\\\"stackId\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2/095e7890-4669-11ed-ab67-0a55c4146165\\\",\\\"stackName\\\":\\\"wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2\\\",\\\"description\\\":\\\"Workload Discovery on AWS Neptune DB Stack\\\",\\\"stackStatus\\\":\\\"UPDATE_COMPLETE\\\",\\\"disableRollback\\\":false,\\\"parentId\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"tags\\\":[{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"key\\\":\\\"AppManagerCFNStackKey\\\"}],\\\"timeoutInMinutes\\\":60,\\\"driftInformation\\\":{\\\"stackDriftStatus\\\":\\\"NOT_CHECKED\\\"},\\\"enableTerminationProtection\\\":false,\\\"lastUpdatedTime\\\":\\\"2023-01-23T16:05:05Z\\\",\\\"parameters\\\":[{\\\"parameterKey\\\":\\\"StorageEncrypted\\\",\\\"parameterValue\\\":\\\"true\\\"},{\\\"parameterKey\\\":\\\"Owner\\\",\\\"parameterValue\\\":\\\"\\\"},{\\\"parameterKey\\\":\\\"User\\\",\\\"parameterValue\\\":\\\"test\\\"},{\\\"parameterKey\\\":\\\"MajorVersionUpgrade\\\",\\\"parameterValue\\\":\\\"true\\\"},{\\\"parameterKey\\\":\\\"NeptuneDBSubnetGroupName\\\",\\\"parameterValue\\\":\\\"perspective-dev-sng\\\"},{\\\"parameterKey\\\":\\\"SparqlRequestsPerSecThreshold\\\",\\\"parameterValue\\\":\\\"10000\\\"},{\\\"parameterKey\\\":\\\"Port\\\",\\\"parameterValue\\\":\\\"6174\\\"},{\\\"parameterKey\\\":\\\"MinorVersionUpgrade\\\",\\\"parameterValue\\\":\\\"true\\\"},{\\\"parameterKey\\\":\\\"AppName\\\",\\\"parameterValue\\\":\\\"workload-discovery\\\"},{\\\"parameterKey\\\":\\\"PrivateSubnet0\\\",\\\"parameterValue\\\":\\\"subnet-02e0c991bba17b7eb\\\"},{\\\"parameterKey\\\":\\\"CreateNeptuneReplica\\\",\\\"parameterValue\\\":\\\"No\\\"},{\\\"parameterKey\\\":\\\"PrivateSubnet1\\\",\\\"parameterValue\\\":\\\"subnet-010652f698dff6484\\\"},{\\\"parameterKey\\\":\\\"NeptuneDBClusterPreferredMaintenanceWindow\\\",\\\"parameterValue\\\":\\\"mon:03:00-mon:04:00\\\"},{\\\"parameterKey\\\":\\\"Version\\\",\\\"parameterValue\\\":\\\"\\\"},{\\\"parameterKey\\\":\\\"HighCpuAlarmThreshold\\\",\\\"parameterValue\\\":\\\"80\\\"},{\\\"parameterKey\\\":\\\"NeptuneDBInstancePreferredMaintenanceWindow\\\",\\\"parameterValue\\\":\\\"mon:03:00-mon:04:00\\\"},{\\\"parameterKey\\\":\\\"AvailabilityZone1\\\",\\\"parameterValue\\\":\\\"eu-west-1b\\\"},{\\\"parameterKey\\\":\\\"NeptuneQueryTimeout\\\",\\\"parameterValue\\\":\\\"120000\\\"},{\\\"parameterKey\\\":\\\"GremlinRequestsPerSecThreshold\\\",\\\"parameterValue\\\":\\\"10000\\\"},{\\\"parameterKey\\\":\\\"AvailabilityZone0\\\",\\\"parameterValue\\\":\\\"eu-west-1a\\\"},{\\\"parameterKey\\\":\\\"NeptuneDBClusterPreferredBackupWindow\\\",\\\"parameterValue\\\":\\\"02:00-03:00\\\"},{\\\"parameterKey\\\":\\\"DBInstanceClass\\\",\\\"parameterValue\\\":\\\"db.r5.large\\\"},{\\\"parameterKey\\\":\\\"Tier\\\",\\\"parameterValue\\\":\\\"\\\"},{\\\"parameterKey\\\":\\\"Storage\\\",\\\"parameterValue\\\":\\\"ebs\\\"},{\\\"parameterKey\\\":\\\"LowMemoryAlarmThreshold\\\",\\\"parameterValue\\\":\\\"700000000\\\"},{\\\"parameterKey\\\":\\\"PerspectiveVpcCidr\\\",\\\"parameterValue\\\":\\\"10.0.0.0/16\\\"},{\\\"parameterKey\\\":\\\"BackupRetentionPeriod\\\",\\\"parameterValue\\\":\\\"31\\\"},{\\\"parameterKey\\\":\\\"UploadAuditLogs\\\",\\\"parameterValue\\\":\\\"true\\\"},{\\\"parameterKey\\\":\\\"PerspectiveVPCId\\\",\\\"parameterValue\\\":\\\"vpc-04e5e1c4bc4409222\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Regional","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2/095e7890-4669-11ed-ab67-0a55c4146165","resourceName":"wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2","resourceType":"AWS::CloudFormation::Stack","resourceValue":null,"state":null,"tags":"[{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"}]","title":"wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-799.5,"y":-558.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"060997615305","level":0,"title":"060997615305","label":"060997615305","plainLabel":"060997615305","type":"account","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/AWS-Cloud-alt_light-bg.svg","cost":0,"hasChildren":true,"children":[{"id":null,"label":"global","parent":null,"type":"region","data":null,"properties":null,"children":[{"id":null,"label":"Role","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:iam::060997615305:role/admin","label":"AWS_IAM_Role","parent":true,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/admin","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Sid%22%3A%22%22%2C%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22AWS%22%3A%22arn%3Aaws%3Aiam%3A%3A727820809195%3Aroot%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%2C%22Condition%22%3A%7B%22StringEquals%22%3A%7B%22sts%3AExternalId%22%3A%22IsengardExternalIdykoCMEntDpAv%22%7D%7D%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAI32LWQA3XEN7EFCUK\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/AdministratorAccess\\\",\\\"policyName\\\":\\\"AdministratorAccess\\\"}],\\\"roleName\\\":\\\"admin\\\",\\\"arn\\\":\\\"arn:aws:iam::060997615305:role/admin\\\",\\\"createDate\\\":\\\"2018-07-04T13:59:33.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%0A%20%20%20%20%22Version%22%3A%20%222012-10-17%22%2C%0A%20%20%20%20%22Statement%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Effect%22%3A%20%22Allow%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Action%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22goshawk%3A%2A%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Resource%22%3A%20%22%2A%22%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%5D%0A%7D\\\",\\\"policyName\\\":\\\"goshawk\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAI32LWQA3XEN7EFCUK","resourceName":"admin","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"admin","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]},{"id":null,"label":"InlinePolicy","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:iam::060997615305:role/admin/inlinePolicy/goshawk","label":"AWS_IAM_InlinePolicy","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/admin/inlinePolicy/goshawk","configuration":"\"{\\\"policyName\\\":\\\"goshawk\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Effect\\\":\\\"Allow\\\",\\\"Action\\\":[\\\"goshawk:*\\\"],\\\"Resource\\\":\\\"*\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::060997615305:role/admin/inlinePolicy/goshawk","resourceName":"arn:aws:iam::060997615305:role/admin/inlinePolicy/goshawk","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::060997615305:role/admin/inlinePolicy/goshawk","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]}]}],"accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-502,"y":1486},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"account removeAll _gridParentPadding"},{"data":{"id":"global-060997615305","parent":"060997615305","level":1,"title":"global","label":"global","plainLabel":"global","type":"region","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Region_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":null,"label":"Role","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:iam::060997615305:role/admin","label":"AWS_IAM_Role","parent":true,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/admin","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Sid%22%3A%22%22%2C%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22AWS%22%3A%22arn%3Aaws%3Aiam%3A%3A727820809195%3Aroot%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%2C%22Condition%22%3A%7B%22StringEquals%22%3A%7B%22sts%3AExternalId%22%3A%22IsengardExternalIdykoCMEntDpAv%22%7D%7D%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAI32LWQA3XEN7EFCUK\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/AdministratorAccess\\\",\\\"policyName\\\":\\\"AdministratorAccess\\\"}],\\\"roleName\\\":\\\"admin\\\",\\\"arn\\\":\\\"arn:aws:iam::060997615305:role/admin\\\",\\\"createDate\\\":\\\"2018-07-04T13:59:33.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%0A%20%20%20%20%22Version%22%3A%20%222012-10-17%22%2C%0A%20%20%20%20%22Statement%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Effect%22%3A%20%22Allow%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Action%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22goshawk%3A%2A%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Resource%22%3A%20%22%2A%22%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%5D%0A%7D\\\",\\\"policyName\\\":\\\"goshawk\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAI32LWQA3XEN7EFCUK","resourceName":"admin","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"admin","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]},{"id":null,"label":"InlinePolicy","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:iam::060997615305:role/admin/inlinePolicy/goshawk","label":"AWS_IAM_InlinePolicy","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/admin/inlinePolicy/goshawk","configuration":"\"{\\\"policyName\\\":\\\"goshawk\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Effect\\\":\\\"Allow\\\",\\\"Action\\\":[\\\"goshawk:*\\\"],\\\"Resource\\\":\\\"*\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::060997615305:role/admin/inlinePolicy/goshawk","resourceName":"arn:aws:iam::060997615305:role/admin/inlinePolicy/goshawk","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::060997615305:role/admin/inlinePolicy/goshawk","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1701,"y":2336.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"region removeAll _gridParentPadding"},{"data":{"id":"Role-global-060997615305","parent":"global-060997615305","level":2,"title":"Role","label":"Role","plainLabel":"Role","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:iam::060997615305:role/admin","label":"AWS_IAM_Role","parent":true,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/admin","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Sid%22%3A%22%22%2C%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22AWS%22%3A%22arn%3Aaws%3Aiam%3A%3A727820809195%3Aroot%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%2C%22Condition%22%3A%7B%22StringEquals%22%3A%7B%22sts%3AExternalId%22%3A%22IsengardExternalIdykoCMEntDpAv%22%7D%7D%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAI32LWQA3XEN7EFCUK\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/AdministratorAccess\\\",\\\"policyName\\\":\\\"AdministratorAccess\\\"}],\\\"roleName\\\":\\\"admin\\\",\\\"arn\\\":\\\"arn:aws:iam::060997615305:role/admin\\\",\\\"createDate\\\":\\\"2018-07-04T13:59:33.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%0A%20%20%20%20%22Version%22%3A%20%222012-10-17%22%2C%0A%20%20%20%20%22Statement%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Effect%22%3A%20%22Allow%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Action%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22goshawk%3A%2A%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Resource%22%3A%20%22%2A%22%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%5D%0A%7D\\\",\\\"policyName\\\":\\\"goshawk\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAI32LWQA3XEN7EFCUK","resourceName":"admin","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"admin","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1976.5,"y":2161.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:iam::060997615305:role/admin","resourceId":["AROAI32LWQA3XEN7EFCUK","arn:aws:iam::060997615305:role/admin"],"parent":"Role-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/admin","title":"admin","label":"admin","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/admin","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAI32LWQA3XEN7EFCUK","name":"admin","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::060997615305:role/admin","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/admin","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Sid%22%3A%22%22%2C%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22AWS%22%3A%22arn%3Aaws%3Aiam%3A%3A727820809195%3Aroot%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%2C%22Condition%22%3A%7B%22StringEquals%22%3A%7B%22sts%3AExternalId%22%3A%22IsengardExternalIdykoCMEntDpAv%22%7D%7D%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAI32LWQA3XEN7EFCUK\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/AdministratorAccess\\\",\\\"policyName\\\":\\\"AdministratorAccess\\\"}],\\\"roleName\\\":\\\"admin\\\",\\\"arn\\\":\\\"arn:aws:iam::060997615305:role/admin\\\",\\\"createDate\\\":\\\"2018-07-04T13:59:33.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%0A%20%20%20%20%22Version%22%3A%20%222012-10-17%22%2C%0A%20%20%20%20%22Statement%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Effect%22%3A%20%22Allow%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Action%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22goshawk%3A%2A%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Resource%22%3A%20%22%2A%22%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%5D%0A%7D\\\",\\\"policyName\\\":\\\"goshawk\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAI32LWQA3XEN7EFCUK","resourceName":"admin","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"admin","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-2195.5,"y":1942.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"id":"InlinePolicy-global-060997615305","parent":"global-060997615305","level":2,"title":"InlinePolicy","label":"InlinePolicy","plainLabel":"InlinePolicy","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:iam::060997615305:role/admin/inlinePolicy/goshawk","label":"AWS_IAM_InlinePolicy","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/admin/inlinePolicy/goshawk","configuration":"\"{\\\"policyName\\\":\\\"goshawk\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Effect\\\":\\\"Allow\\\",\\\"Action\\\":[\\\"goshawk:*\\\"],\\\"Resource\\\":\\\"*\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::060997615305:role/admin/inlinePolicy/goshawk","resourceName":"arn:aws:iam::060997615305:role/admin/inlinePolicy/goshawk","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::060997615305:role/admin/inlinePolicy/goshawk","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1425.5,"y":2125.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:iam::060997615305:role/admin/inlinePolicy/goshawk","resourceId":["arn:aws:iam::060997615305:role/admin/inlinePolicy/goshawk","arn:aws:iam::060997615305:role/admin/inlinePolicy/goshawk"],"parent":"InlinePolicy-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/admin/inlinePolicy/goshawk","title":"arn:aws:iam::060997615305:role/admin/inlinePolicy/goshawk","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/admin/inlinePolicy/goshawk","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::060997615305:role/admin/inlinePolicy/goshawk","name":"arn:aws:iam::060997615305:role/admin/inlinePolicy/goshawk","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::060997615305:role/admin/inlinePolicy/goshawk","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/admin/inlinePolicy/goshawk","configuration":"\"{\\\"policyName\\\":\\\"goshawk\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Effect\\\":\\\"Allow\\\",\\\"Action\\\":[\\\"goshawk:*\\\"],\\\"Resource\\\":\\\"*\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::060997615305:role/admin/inlinePolicy/goshawk","resourceName":"arn:aws:iam::060997615305:role/admin/inlinePolicy/goshawk","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::060997615305:role/admin/inlinePolicy/goshawk","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1644.5,"y":1942.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/aws-service-role/rds.amazonaws.com/AWSServiceRoleForRDS","resourceId":["AROAIKMEVAIP53ZBL3JAQ","arn:aws:iam::060997615305:role/aws-service-role/rds.amazonaws.com/AWSServiceRoleForRDS"],"parent":"Role-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/aws-service-role/rds.amazonaws.com/AWSServiceRoleForRDS","title":"AWSServiceRoleForRDS","label":"AWSServiceRo...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/aws-service-role/rds.amazonaws.com/AWSServiceRoleForRDS","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAIKMEVAIP53ZBL3JAQ","name":"AWSServiceRoleForRDS","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::060997615305:role/aws-service-role/rds.amazonaws.com/AWSServiceRoleForRDS","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/aws-service-role/rds.amazonaws.com/AWSServiceRoleForRDS","configuration":"\"{\\\"path\\\":\\\"/aws-service-role/rds.amazonaws.com/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22rds.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAIKMEVAIP53ZBL3JAQ\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/aws-service-role/AmazonRDSServiceRolePolicy\\\",\\\"policyName\\\":\\\"AmazonRDSServiceRolePolicy\\\"}],\\\"roleName\\\":\\\"AWSServiceRoleForRDS\\\",\\\"arn\\\":\\\"arn:aws:iam::060997615305:role/aws-service-role/rds.amazonaws.com/AWSServiceRoleForRDS\\\",\\\"createDate\\\":\\\"2018-10-09T15:12:42.000Z\\\",\\\"rolePolicyList\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAIKMEVAIP53ZBL3JAQ","resourceName":"AWSServiceRoleForRDS","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"AWSServiceRoleForRDS","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-2122.5,"y":1942.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/aws-serverless-repository-StandardRedirectsForClou-1MQOOOWZXI4XB","resourceId":["AROAJAIZMHERIWQB43NVS","arn:aws:iam::060997615305:role/aws-serverless-repository-StandardRedirectsForClou-1MQOOOWZXI4XB"],"parent":"Role-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/aws-serverless-repository-StandardRedirectsForClou-1MQOOOWZXI4XB","title":"aws-serverless-repository-StandardRedirectsForClou-1MQOOOWZXI4XB","label":"aws-serverle...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/aws-serverless-repository-StandardRedirectsForClou-1MQOOOWZXI4XB","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAJAIZMHERIWQB43NVS","name":"aws-serverless-repository-StandardRedirectsForClou-1MQOOOWZXI4XB","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::060997615305:role/aws-serverless-repository-StandardRedirectsForClou-1MQOOOWZXI4XB","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/aws-serverless-repository-StandardRedirectsForClou-1MQOOOWZXI4XB","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%5B%22edgelambda.amazonaws.com%22%2C%22lambda.amazonaws.com%22%5D%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAJAIZMHERIWQB43NVS\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole\\\",\\\"policyName\\\":\\\"AWSLambdaBasicExecutionRole\\\"}],\\\"roleName\\\":\\\"aws-serverless-repository-StandardRedirectsForClou-1MQOOOWZXI4XB\\\",\\\"arn\\\":\\\"arn:aws:iam::060997615305:role/aws-serverless-repository-StandardRedirectsForClou-1MQOOOWZXI4XB\\\",\\\"createDate\\\":\\\"2018-09-25T11:39:22.000Z\\\",\\\"rolePolicyList\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAJAIZMHERIWQB43NVS","resourceName":"aws-serverless-repository-StandardRedirectsForClou-1MQOOOWZXI4XB","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"aws-serverless-repository-StandardRedirectsForClou-1MQOOOWZXI4XB","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-2195.5,"y":2015.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/CodeStarWorker-codestar-test-CloudFormation","resourceId":["AROAJEQGZYKJG35I67HE4","arn:aws:iam::060997615305:role/CodeStarWorker-codestar-test-CloudFormation"],"parent":"Role-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/CodeStarWorker-codestar-test-CloudFormation","title":"CodeStarWorker-codestar-test-CloudFormation","label":"CodeStarWork...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/CodeStarWorker-codestar-test-CloudFormation","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAJEQGZYKJG35I67HE4","name":"CodeStarWorker-codestar-test-CloudFormation","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::060997615305:role/CodeStarWorker-codestar-test-CloudFormation","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/CodeStarWorker-codestar-test-CloudFormation","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222008-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22cloudformation.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAJEQGZYKJG35I67HE4\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"CodeStarWorker-codestar-test-CloudFormation\\\",\\\"arn\\\":\\\"arn:aws:iam::060997615305:role/CodeStarWorker-codestar-test-CloudFormation\\\",\\\"createDate\\\":\\\"2018-11-20T13:59:39.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%0A%20%20%20%20%22Statement%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Action%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22s3%3AGetObject%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22s3%3AGetObjectVersion%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22s3%3APutObject%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Resource%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22arn%3Aaws%3As3%3A%3A%3Aaws-codestar-eu-west-2-060997615305-codestar-test-pipe%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22arn%3Aaws%3As3%3A%3A%3Aaws-codestar-eu-west-2-060997615305-codestar-test-pipe%2F%2A%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Effect%22%3A%20%22Allow%22%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Action%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22apigateway%3ADELETE%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22apigateway%3AGET%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22apigateway%3APATCH%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22apigateway%3APOST%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22apigateway%3APUT%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22codedeploy%3ACreateApplication%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22codedeploy%3ACreateDeployment%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22codedeploy%3ACreateDeploymentConfig%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22codedeploy%3ACreateDeploymentGroup%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22codedeploy%3ADeleteApplication%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22codedeploy%3ADeleteDeployment%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22codedeploy%3ADeleteDeploymentConfig%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22codedeploy%3ADeleteDeploymentGroup%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22codedeploy%3AGetDeployment%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22codedeploy%3AGetDeploymentConfig%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22codedeploy%3AGetDeploymentGroup%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22codedeploy%3ARegisterApplicationRevision%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22codestar%3ASyncResources%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22config%3ADeleteConfigRule%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22config%3ADescribeConfigRules%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22config%3AListTagsForResource%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22config%3APutConfigRule%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22config%3ATagResource%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22config%3AUntagResource%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22dynamodb%3ACreateTable%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22dynamodb%3ADeleteTable%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22dynamodb%3ADescribeContinuousBackups%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22dynamodb%3ADescribeTable%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22dynamodb%3ADescribeTimeToLive%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22dynamodb%3AListTagsOfResource%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22dynamodb%3ATagResource%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22dynamodb%3AUntagResource%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22dynamodb%3AUpdateContinuousBackups%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22dynamodb%3AUpdateTable%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22dynamodb%3AUpdateTimeToLive%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22ec2%3AAssociateIamInstanceProfile%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22ec2%3AAttachVolume%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22ec2%3ACreateSecurityGroup%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22ec2%3AcreateTags%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22ec2%3ADescribeIamInstanceProfileAssociations%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22ec2%3ADescribeInstances%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22ec2%3ADescribeSecurityGroups%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22ec2%3ADescribeSubnets%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22ec2%3ADetachVolume%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22ec2%3ADisassociateIamInstanceProfile%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22ec2%3AModifyInstanceAttribute%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22ec2%3AModifyInstanceCreditSpecification%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22ec2%3AModifyInstancePlacement%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22ec2%3AMonitorInstances%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22ec2%3AReplaceIamInstanceProfileAssociation%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22ec2%3ARunInstances%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22ec2%3AStartInstances%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22ec2%3AStopInstances%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22ec2%3ATerminateInstances%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22events%3ADeleteRule%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22events%3ADescribeRule%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22events%3AListTagsForResource%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22events%3APutRule%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22events%3APutTargets%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22events%3ARemoveTargets%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22events%3ATagResource%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22events%3AUntagResource%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22kinesis%3AAddTagsToStream%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22kinesis%3ACreateStream%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22kinesis%3ADecreaseStreamRetentionPeriod%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22kinesis%3ADeleteStream%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22kinesis%3ADescribeStream%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22kinesis%3AIncreaseStreamRetentionPeriod%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22kinesis%3ARemoveTagsFromStream%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22kinesis%3AStartStreamEncryption%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22kinesis%3AStopStreamEncryption%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22kinesis%3AUpdateShardCount%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22lambda%3ACreateAlias%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22lambda%3ACreateFunction%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22lambda%3ADeleteAlias%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22lambda%3ADeleteFunction%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22lambda%3ADeleteFunctionConcurrency%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22lambda%3AGetFunction%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22lambda%3AGetFunctionConfiguration%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22lambda%3AListTags%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22lambda%3AListVersionsByFunction%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22lambda%3APublishVersion%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22lambda%3APutFunctionConcurrency%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22lambda%3ATagResource%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22lambda%3AUntagResource%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22lambda%3AUpdateAlias%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22lambda%3AUpdateFunctionCode%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22lambda%3AUpdateFunctionConfiguration%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22s3%3ACreateBucket%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22s3%3ADeleteBucket%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22s3%3ADeleteBucketWebsite%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22s3%3APutAccelerateConfiguration%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22s3%3APutAnalyticsConfiguration%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22s3%3APutBucketAcl%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22s3%3APutBucketCORS%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22s3%3APutBucketLogging%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22s3%3APutBucketNotification%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22s3%3APutBucketPublicAccessBlock%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22s3%3APutBucketVersioning%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22s3%3APutBucketWebsite%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22s3%3APutEncryptionConfiguration%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22s3%3APutInventoryConfiguration%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22s3%3APutLifecycleConfiguration%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22s3%3APutMetricsConfiguration%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22s3%3APutReplicationConfiguration%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22sns%3ACreateTopic%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22sns%3ADeleteTopic%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22sns%3AGetTopicAttributes%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22sns%3AListSubscriptionsByTopic%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22sns%3AListTopics%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22sns%3ASetSubscriptionAttributes%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22sns%3ASubscribe%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22sns%3AUnsubscribe%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22sqs%3ACreateQueue%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22sqs%3ADeleteQueue%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22sqs%3AGetQueueAttributes%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22sqs%3AGetQueueUrl%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22sqs%3AListQueueTags%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22sqs%3ATagQueue%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22sqs%3AUntagQueue%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Resource%22%3A%20%22%2A%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Effect%22%3A%20%22Allow%22%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Action%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22lambda%3AAddPermission%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22lambda%3ARemovePermission%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Resource%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22arn%3Aaws%3Alambda%3Aeu-west-2%3A060997615305%3Afunction%3Aawscodestar-%2A%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Effect%22%3A%20%22Allow%22%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Action%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22iam%3APassRole%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Resource%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22arn%3Aaws%3Aiam%3A%3A060997615305%3Arole%2FCodeStar-codestar-test%2A%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Effect%22%3A%20%22Allow%22%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Condition%22%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22StringEquals%22%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22iam%3APassedToService%22%3A%20%22codedeploy.amazonaws.com%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Action%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22iam%3APassRole%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Resource%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22arn%3Aaws%3Aiam%3A%3A060997615305%3Arole%2FCodeStarWorker-codestar-test-CodeDeploy%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Effect%22%3A%20%22Allow%22%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Action%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22cloudformation%3ACreateChangeSet%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Resource%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22arn%3Aaws%3Acloudformation%3Aeu-west-2%3Aaws%3Atransform%2FServerless-2016-10-31%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22arn%3Aaws%3Acloudformation%3Aeu-west-2%3Aaws%3Atransform%2FCodeStar%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Effect%22%3A%20%22Allow%22%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Action%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22iam%3ACreateServiceLinkedRole%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22iam%3AGetRole%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22iam%3ADeleteRole%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22iam%3ADeleteUser%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Resource%22%3A%20%22%2A%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Effect%22%3A%20%22Allow%22%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Condition%22%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22StringEquals%22%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22iam%3APermissionsBoundary%22%3A%20%22arn%3Aaws%3Aiam%3A%3A060997615305%3Apolicy%2FCodeStar_codestar-test_PermissionsBoundary%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Action%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22iam%3AAttachRolePolicy%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22iam%3AAttachUserPolicy%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22iam%3ACreateRole%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22iam%3ACreateUser%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22iam%3ADeleteRolePolicy%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22iam%3ADeleteUserPolicy%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22iam%3ADetachUserPolicy%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22iam%3ADetachRolePolicy%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22iam%3APutUserPermissionsBoundary%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22iam%3APutRolePermissionsBoundary%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Resource%22%3A%20%22%2A%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Effect%22%3A%20%22Allow%22%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Action%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22kms%3ACreateAlias%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22kms%3ACreateKey%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22kms%3ADeleteAlias%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22kms%3ADisableKey%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22kms%3AEnableKey%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22kms%3ATagResource%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22kms%3AUntagResource%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22kms%3AUpdateAlias%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Resource%22%3A%20%22%2A%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Effect%22%3A%20%22Allow%22%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Condition%22%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22StringEquals%22%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22ssm%3AResourceTag%2Fawscodestar%3AprojectArn%22%3A%20%22arn%3Aaws%3Acodestar%3Aeu-west-2%3A060997615305%3Aproject%2Fcodestar-test%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Action%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22ssm%3AGetParameter%2A%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Resource%22%3A%20%22%2A%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Effect%22%3A%20%22Allow%22%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%5D%0A%7D\\\",\\\"policyName\\\":\\\"CodeStarWorkerCloudFormationRolePolicy\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAJEQGZYKJG35I67HE4","resourceName":"CodeStarWorker-codestar-test-CloudFormation","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"CodeStarWorker-codestar-test-CloudFormation","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-2122.5,"y":2015.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/CodeStarWorker-codestar-test-CloudFormation/inlinePolicy/CodeStarWorkerCloudFormationRolePolicy","resourceId":["arn:aws:iam::060997615305:role/CodeStarWorker-codestar-test-CloudFormation/inlinePolicy/CodeStarWorkerCloudFormationRolePolicy","arn:aws:iam::060997615305:role/CodeStarWorker-codestar-test-CloudFormation/inlinePolicy/CodeStarWorkerCloudFormationRolePolicy"],"parent":"InlinePolicy-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/CodeStarWorker-codestar-test-CloudFormation/inlinePolicy/CodeStarWorkerCloudFormationRolePolicy","title":"arn:aws:iam::060997615305:role/CodeStarWorker-codestar-test-CloudFormation/inlinePolicy/CodeStarWorkerCloudFormationRolePolicy","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/CodeStarWorker-codestar-test-CloudFormation/inlinePolicy/CodeStarWorkerCloudFormationRolePolicy","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::060997615305:role/CodeStarWorker-codestar-test-CloudFormation/inlinePolicy/CodeStarWorkerCloudFormationRolePolicy","name":"arn:aws:iam::060997615305:role/CodeStarWorker-codestar-test-CloudFormation/inlinePolicy/CodeStarWorkerCloudFormationRolePolicy","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::060997615305:role/CodeStarWorker-codestar-test-CloudFormation/inlinePolicy/CodeStarWorkerCloudFormationRolePolicy","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/CodeStarWorker-codestar-test-CloudFormation/inlinePolicy/CodeStarWorkerCloudFormationRolePolicy","configuration":"\"{\\\"policyName\\\":\\\"CodeStarWorkerCloudFormationRolePolicy\\\",\\\"policyDocument\\\":{\\\"Statement\\\":[{\\\"Action\\\":[\\\"s3:GetObject\\\",\\\"s3:GetObjectVersion\\\",\\\"s3:PutObject\\\"],\\\"Resource\\\":[\\\"arn:aws:s3:::aws-codestar-eu-west-2-060997615305-codestar-test-pipe\\\",\\\"arn:aws:s3:::aws-codestar-eu-west-2-060997615305-codestar-test-pipe/*\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"apigateway:DELETE\\\",\\\"apigateway:GET\\\",\\\"apigateway:PATCH\\\",\\\"apigateway:POST\\\",\\\"apigateway:PUT\\\",\\\"codedeploy:CreateApplication\\\",\\\"codedeploy:CreateDeployment\\\",\\\"codedeploy:CreateDeploymentConfig\\\",\\\"codedeploy:CreateDeploymentGroup\\\",\\\"codedeploy:DeleteApplication\\\",\\\"codedeploy:DeleteDeployment\\\",\\\"codedeploy:DeleteDeploymentConfig\\\",\\\"codedeploy:DeleteDeploymentGroup\\\",\\\"codedeploy:GetDeployment\\\",\\\"codedeploy:GetDeploymentConfig\\\",\\\"codedeploy:GetDeploymentGroup\\\",\\\"codedeploy:RegisterApplicationRevision\\\",\\\"codestar:SyncResources\\\",\\\"config:DeleteConfigRule\\\",\\\"config:DescribeConfigRules\\\",\\\"config:ListTagsForResource\\\",\\\"config:PutConfigRule\\\",\\\"config:TagResource\\\",\\\"config:UntagResource\\\",\\\"dynamodb:CreateTable\\\",\\\"dynamodb:DeleteTable\\\",\\\"dynamodb:DescribeContinuousBackups\\\",\\\"dynamodb:DescribeTable\\\",\\\"dynamodb:DescribeTimeToLive\\\",\\\"dynamodb:ListTagsOfResource\\\",\\\"dynamodb:TagResource\\\",\\\"dynamodb:UntagResource\\\",\\\"dynamodb:UpdateContinuousBackups\\\",\\\"dynamodb:UpdateTable\\\",\\\"dynamodb:UpdateTimeToLive\\\",\\\"ec2:AssociateIamInstanceProfile\\\",\\\"ec2:AttachVolume\\\",\\\"ec2:CreateSecurityGroup\\\",\\\"ec2:createTags\\\",\\\"ec2:DescribeIamInstanceProfileAssociations\\\",\\\"ec2:DescribeInstances\\\",\\\"ec2:DescribeSecurityGroups\\\",\\\"ec2:DescribeSubnets\\\",\\\"ec2:DetachVolume\\\",\\\"ec2:DisassociateIamInstanceProfile\\\",\\\"ec2:ModifyInstanceAttribute\\\",\\\"ec2:ModifyInstanceCreditSpecification\\\",\\\"ec2:ModifyInstancePlacement\\\",\\\"ec2:MonitorInstances\\\",\\\"ec2:ReplaceIamInstanceProfileAssociation\\\",\\\"ec2:RunInstances\\\",\\\"ec2:StartInstances\\\",\\\"ec2:StopInstances\\\",\\\"ec2:TerminateInstances\\\",\\\"events:DeleteRule\\\",\\\"events:DescribeRule\\\",\\\"events:ListTagsForResource\\\",\\\"events:PutRule\\\",\\\"events:PutTargets\\\",\\\"events:RemoveTargets\\\",\\\"events:TagResource\\\",\\\"events:UntagResource\\\",\\\"kinesis:AddTagsToStream\\\",\\\"kinesis:CreateStream\\\",\\\"kinesis:DecreaseStreamRetentionPeriod\\\",\\\"kinesis:DeleteStream\\\",\\\"kinesis:DescribeStream\\\",\\\"kinesis:IncreaseStreamRetentionPeriod\\\",\\\"kinesis:RemoveTagsFromStream\\\",\\\"kinesis:StartStreamEncryption\\\",\\\"kinesis:StopStreamEncryption\\\",\\\"kinesis:UpdateShardCount\\\",\\\"lambda:CreateAlias\\\",\\\"lambda:CreateFunction\\\",\\\"lambda:DeleteAlias\\\",\\\"lambda:DeleteFunction\\\",\\\"lambda:DeleteFunctionConcurrency\\\",\\\"lambda:GetFunction\\\",\\\"lambda:GetFunctionConfiguration\\\",\\\"lambda:ListTags\\\",\\\"lambda:ListVersionsByFunction\\\",\\\"lambda:PublishVersion\\\",\\\"lambda:PutFunctionConcurrency\\\",\\\"lambda:TagResource\\\",\\\"lambda:UntagResource\\\",\\\"lambda:UpdateAlias\\\",\\\"lambda:UpdateFunctionCode\\\",\\\"lambda:UpdateFunctionConfiguration\\\",\\\"s3:CreateBucket\\\",\\\"s3:DeleteBucket\\\",\\\"s3:DeleteBucketWebsite\\\",\\\"s3:PutAccelerateConfiguration\\\",\\\"s3:PutAnalyticsConfiguration\\\",\\\"s3:PutBucketAcl\\\",\\\"s3:PutBucketCORS\\\",\\\"s3:PutBucketLogging\\\",\\\"s3:PutBucketNotification\\\",\\\"s3:PutBucketPublicAccessBlock\\\",\\\"s3:PutBucketVersioning\\\",\\\"s3:PutBucketWebsite\\\",\\\"s3:PutEncryptionConfiguration\\\",\\\"s3:PutInventoryConfiguration\\\",\\\"s3:PutLifecycleConfiguration\\\",\\\"s3:PutMetricsConfiguration\\\",\\\"s3:PutReplicationConfiguration\\\",\\\"sns:CreateTopic\\\",\\\"sns:DeleteTopic\\\",\\\"sns:GetTopicAttributes\\\",\\\"sns:ListSubscriptionsByTopic\\\",\\\"sns:ListTopics\\\",\\\"sns:SetSubscriptionAttributes\\\",\\\"sns:Subscribe\\\",\\\"sns:Unsubscribe\\\",\\\"sqs:CreateQueue\\\",\\\"sqs:DeleteQueue\\\",\\\"sqs:GetQueueAttributes\\\",\\\"sqs:GetQueueUrl\\\",\\\"sqs:ListQueueTags\\\",\\\"sqs:TagQueue\\\",\\\"sqs:UntagQueue\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"lambda:AddPermission\\\",\\\"lambda:RemovePermission\\\"],\\\"Resource\\\":[\\\"arn:aws:lambda:eu-west-2:060997615305:function:awscodestar-*\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"iam:PassRole\\\"],\\\"Resource\\\":[\\\"arn:aws:iam::060997615305:role/CodeStar-codestar-test*\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Condition\\\":{\\\"StringEquals\\\":{\\\"iam:PassedToService\\\":\\\"codedeploy.amazonaws.com\\\"}},\\\"Action\\\":[\\\"iam:PassRole\\\"],\\\"Resource\\\":[\\\"arn:aws:iam::060997615305:role/CodeStarWorker-codestar-test-CodeDeploy\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"cloudformation:CreateChangeSet\\\"],\\\"Resource\\\":[\\\"arn:aws:cloudformation:eu-west-2:aws:transform/Serverless-2016-10-31\\\",\\\"arn:aws:cloudformation:eu-west-2:aws:transform/CodeStar\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"iam:CreateServiceLinkedRole\\\",\\\"iam:GetRole\\\",\\\"iam:DeleteRole\\\",\\\"iam:DeleteUser\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Condition\\\":{\\\"StringEquals\\\":{\\\"iam:PermissionsBoundary\\\":\\\"arn:aws:iam::060997615305:policy/CodeStar_codestar-test_PermissionsBoundary\\\"}},\\\"Action\\\":[\\\"iam:AttachRolePolicy\\\",\\\"iam:AttachUserPolicy\\\",\\\"iam:CreateRole\\\",\\\"iam:CreateUser\\\",\\\"iam:DeleteRolePolicy\\\",\\\"iam:DeleteUserPolicy\\\",\\\"iam:DetachUserPolicy\\\",\\\"iam:DetachRolePolicy\\\",\\\"iam:PutUserPermissionsBoundary\\\",\\\"iam:PutRolePermissionsBoundary\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"kms:CreateAlias\\\",\\\"kms:CreateKey\\\",\\\"kms:DeleteAlias\\\",\\\"kms:DisableKey\\\",\\\"kms:EnableKey\\\",\\\"kms:TagResource\\\",\\\"kms:UntagResource\\\",\\\"kms:UpdateAlias\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Condition\\\":{\\\"StringEquals\\\":{\\\"ssm:ResourceTag/awscodestar:projectArn\\\":\\\"arn:aws:codestar:eu-west-2:060997615305:project/codestar-test\\\"}},\\\"Action\\\":[\\\"ssm:GetParameter*\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::060997615305:role/CodeStarWorker-codestar-test-CloudFormation/inlinePolicy/CodeStarWorkerCloudFormationRolePolicy","resourceName":"arn:aws:iam::060997615305:role/CodeStarWorker-codestar-test-CloudFormation/inlinePolicy/CodeStarWorkerCloudFormationRolePolicy","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::060997615305:role/CodeStarWorker-codestar-test-CloudFormation/inlinePolicy/CodeStarWorkerCloudFormationRolePolicy","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1571.5,"y":1942.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/CodeStarWorker-codestar-test-CodePipeline/inlinePolicy/CodeStarWorkerCodePipelineRolePolicy","resourceId":["arn:aws:iam::060997615305:role/CodeStarWorker-codestar-test-CodePipeline/inlinePolicy/CodeStarWorkerCodePipelineRolePolicy","arn:aws:iam::060997615305:role/CodeStarWorker-codestar-test-CodePipeline/inlinePolicy/CodeStarWorkerCodePipelineRolePolicy"],"parent":"InlinePolicy-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/CodeStarWorker-codestar-test-CodePipeline/inlinePolicy/CodeStarWorkerCodePipelineRolePolicy","title":"arn:aws:iam::060997615305:role/CodeStarWorker-codestar-test-CodePipeline/inlinePolicy/CodeStarWorkerCodePipelineRolePolicy","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/CodeStarWorker-codestar-test-CodePipeline/inlinePolicy/CodeStarWorkerCodePipelineRolePolicy","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::060997615305:role/CodeStarWorker-codestar-test-CodePipeline/inlinePolicy/CodeStarWorkerCodePipelineRolePolicy","name":"arn:aws:iam::060997615305:role/CodeStarWorker-codestar-test-CodePipeline/inlinePolicy/CodeStarWorkerCodePipelineRolePolicy","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::060997615305:role/CodeStarWorker-codestar-test-CodePipeline/inlinePolicy/CodeStarWorkerCodePipelineRolePolicy","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/CodeStarWorker-codestar-test-CodePipeline/inlinePolicy/CodeStarWorkerCodePipelineRolePolicy","configuration":"\"{\\\"policyName\\\":\\\"CodeStarWorkerCodePipelineRolePolicy\\\",\\\"policyDocument\\\":{\\\"Statement\\\":[{\\\"Action\\\":[\\\"s3:GetObject\\\",\\\"s3:GetObjectVersion\\\",\\\"s3:GetBucketVersioning\\\",\\\"s3:PutObject\\\"],\\\"Resource\\\":[\\\"arn:aws:s3:::aws-codestar-eu-west-2-060997615305-codestar-test-pipe\\\",\\\"arn:aws:s3:::aws-codestar-eu-west-2-060997615305-codestar-test-pipe/*\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"codecommit:CancelUploadArchive\\\",\\\"codecommit:GetBranch\\\",\\\"codecommit:GetCommit\\\",\\\"codecommit:GetUploadArchiveStatus\\\",\\\"codecommit:UploadArchive\\\"],\\\"Resource\\\":[\\\"arn:aws:codecommit:eu-west-2:060997615305:codestar-test\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"codebuild:StartBuild\\\",\\\"codebuild:BatchGetBuilds\\\",\\\"codebuild:StopBuild\\\"],\\\"Resource\\\":[\\\"arn:aws:codebuild:eu-west-2:060997615305:project/codestar-test\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"cloudformation:DescribeStacks\\\",\\\"cloudformation:DescribeChangeSet\\\",\\\"cloudformation:CreateChangeSet\\\",\\\"cloudformation:DeleteChangeSet\\\",\\\"cloudformation:ExecuteChangeSet\\\"],\\\"Resource\\\":[\\\"arn:aws:cloudformation:eu-west-2:060997615305:stack/awscodestar-codestar-test-lambda/*\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"iam:PassRole\\\"],\\\"Resource\\\":[\\\"arn:aws:iam::060997615305:role/CodeStarWorker-codestar-test-CloudFormation\\\"],\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::060997615305:role/CodeStarWorker-codestar-test-CodePipeline/inlinePolicy/CodeStarWorkerCodePipelineRolePolicy","resourceName":"arn:aws:iam::060997615305:role/CodeStarWorker-codestar-test-CodePipeline/inlinePolicy/CodeStarWorkerCodePipelineRolePolicy","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::060997615305:role/CodeStarWorker-codestar-test-CodePipeline/inlinePolicy/CodeStarWorkerCodePipelineRolePolicy","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1644.5,"y":2015.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"eu-west-2-060997615305","parent":"060997615305","level":1,"title":"eu-west-2","label":"eu-west-2","plainLabel":"eu-west-2","type":"region","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Region_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":null,"label":"Stack","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:cloudformation:eu-west-2:060997615305:stack/awscodestar-codestar-test/7444a760-eccc-11e8-8d21-0666d0c49208","label":"AWS_CloudFormation_Stack","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:cloudformation:eu-west-2:060997615305:stack/awscodestar-codestar-test/7444a760-eccc-11e8-8d21-0666d0c49208","configuration":"\"{\\\"outputs\\\":[{\\\"outputKey\\\":\\\"LambdaTrustRole\\\",\\\"outputValue\\\":\\\"arn:aws:iam::060997615305:role/CodeStarWorker-codestar-test-Lambda\\\",\\\"description\\\":\\\"AWS CodeStar role for AWS Lambda used for passRole to Lambda functions.\\\"}],\\\"capabilities\\\":[\\\"CAPABILITY_NAMED_IAM\\\"],\\\"creationTime\\\":\\\"2018-11-20T13:59:10Z\\\",\\\"notificationARNs\\\":[\\\"arn:aws:sns:eu-west-2:340661127691:CloudFormationProjectEvents\\\"],\\\"stackId\\\":\\\"arn:aws:cloudformation:eu-west-2:060997615305:stack/awscodestar-codestar-test/7444a760-eccc-11e8-8d21-0666d0c49208\\\",\\\"stackName\\\":\\\"awscodestar-codestar-test\\\",\\\"description\\\":\\\"A Python web service deployed to AWS Lambda.\\\",\\\"stackStatus\\\":\\\"CREATE_COMPLETE\\\",\\\"disableRollback\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"arn:aws:codestar:eu-west-2:060997615305:project/codestar-test\\\",\\\"key\\\":\\\"awscodestar:projectArn\\\"}],\\\"timeoutInMinutes\\\":30,\\\"driftInformation\\\":{\\\"stackDriftStatus\\\":\\\"NOT_CHECKED\\\"},\\\"enableTerminationProtection\\\":false,\\\"parameters\\\":[{\\\"parameterKey\\\":\\\"ProjectId\\\",\\\"parameterValue\\\":\\\"codestar-test\\\"},{\\\"parameterKey\\\":\\\"RepositoryName\\\",\\\"parameterValue\\\":\\\"codestar-test\\\"},{\\\"parameterKey\\\":\\\"AppName\\\",\\\"parameterValue\\\":\\\"codestar-test\\\"}]}\"","awsRegion":"eu-west-2","availabilityZone":"Regional","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:cloudformation:eu-west-2:060997615305:stack/awscodestar-codestar-test/7444a760-eccc-11e8-8d21-0666d0c49208","resourceName":"awscodestar-codestar-test","resourceType":"AWS::CloudFormation::Stack","resourceValue":null,"state":null,"tags":"[{\"tag\":\"awscodestar:projectArn=arn:aws:codestar:eu-west-2:060997615305:project/codestar-test\",\"value\":\"arn:aws:codestar:eu-west-2:060997615305:project/codestar-test\",\"key\":\"awscodestar:projectArn\"}]","title":"awscodestar-codestar-test","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":458.5,"y":813.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"region removeAll _gridParentPadding"},{"data":{"id":"Stack-eu-west-2-060997615305","parent":"eu-west-2-060997615305","level":2,"title":"Stack","label":"Stack","plainLabel":"Stack","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/AWS-CloudFormation.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:cloudformation:eu-west-2:060997615305:stack/awscodestar-codestar-test/7444a760-eccc-11e8-8d21-0666d0c49208","label":"AWS_CloudFormation_Stack","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:cloudformation:eu-west-2:060997615305:stack/awscodestar-codestar-test/7444a760-eccc-11e8-8d21-0666d0c49208","configuration":"\"{\\\"outputs\\\":[{\\\"outputKey\\\":\\\"LambdaTrustRole\\\",\\\"outputValue\\\":\\\"arn:aws:iam::060997615305:role/CodeStarWorker-codestar-test-Lambda\\\",\\\"description\\\":\\\"AWS CodeStar role for AWS Lambda used for passRole to Lambda functions.\\\"}],\\\"capabilities\\\":[\\\"CAPABILITY_NAMED_IAM\\\"],\\\"creationTime\\\":\\\"2018-11-20T13:59:10Z\\\",\\\"notificationARNs\\\":[\\\"arn:aws:sns:eu-west-2:340661127691:CloudFormationProjectEvents\\\"],\\\"stackId\\\":\\\"arn:aws:cloudformation:eu-west-2:060997615305:stack/awscodestar-codestar-test/7444a760-eccc-11e8-8d21-0666d0c49208\\\",\\\"stackName\\\":\\\"awscodestar-codestar-test\\\",\\\"description\\\":\\\"A Python web service deployed to AWS Lambda.\\\",\\\"stackStatus\\\":\\\"CREATE_COMPLETE\\\",\\\"disableRollback\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"arn:aws:codestar:eu-west-2:060997615305:project/codestar-test\\\",\\\"key\\\":\\\"awscodestar:projectArn\\\"}],\\\"timeoutInMinutes\\\":30,\\\"driftInformation\\\":{\\\"stackDriftStatus\\\":\\\"NOT_CHECKED\\\"},\\\"enableTerminationProtection\\\":false,\\\"parameters\\\":[{\\\"parameterKey\\\":\\\"ProjectId\\\",\\\"parameterValue\\\":\\\"codestar-test\\\"},{\\\"parameterKey\\\":\\\"RepositoryName\\\",\\\"parameterValue\\\":\\\"codestar-test\\\"},{\\\"parameterKey\\\":\\\"AppName\\\",\\\"parameterValue\\\":\\\"codestar-test\\\"}]}\"","awsRegion":"eu-west-2","availabilityZone":"Regional","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:cloudformation:eu-west-2:060997615305:stack/awscodestar-codestar-test/7444a760-eccc-11e8-8d21-0666d0c49208","resourceName":"awscodestar-codestar-test","resourceType":"AWS::CloudFormation::Stack","resourceValue":null,"state":null,"tags":"[{\"tag\":\"awscodestar:projectArn=arn:aws:codestar:eu-west-2:060997615305:project/codestar-test\",\"value\":\"arn:aws:codestar:eu-west-2:060997615305:project/codestar-test\",\"key\":\"awscodestar:projectArn\"}]","title":"awscodestar-codestar-test","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":203.5,"y":1217.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:cloudformation:eu-west-2:060997615305:stack/awscodestar-codestar-test/7444a760-eccc-11e8-8d21-0666d0c49208","resourceId":["arn:aws:cloudformation:eu-west-2:060997615305:stack/awscodestar-codestar-test/7444a760-eccc-11e8-8d21-0666d0c49208","arn:aws:cloudformation:eu-west-2:060997615305:stack/awscodestar-codestar-test/7444a760-eccc-11e8-8d21-0666d0c49208"],"parent":"Stack-eu-west-2-060997615305","level":3,"id":"arn:aws:cloudformation:eu-west-2:060997615305:stack/awscodestar-codestar-test/7444a760-eccc-11e8-8d21-0666d0c49208","title":"awscodestar-codestar-test","label":"awscodestar-...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:cloudformation:eu-west-2:060997615305:stack/awscodestar-codestar-test/7444a760-eccc-11e8-8d21-0666d0c49208","image":"/icons/AWS-CloudFormation.svg","cost":0,"private":false,"resource":{"id":"arn:aws:cloudformation:eu-west-2:060997615305:stack/awscodestar-codestar-test/7444a760-eccc-11e8-8d21-0666d0c49208","name":"awscodestar-codestar-test","value":null,"type":"AWS::CloudFormation::Stack","tags":"[{\"tag\":\"awscodestar:projectArn=arn:aws:codestar:eu-west-2:060997615305:project/codestar-test\",\"value\":\"arn:aws:codestar:eu-west-2:060997615305:project/codestar-test\",\"key\":\"awscodestar:projectArn\"}]","arn":"arn:aws:cloudformation:eu-west-2:060997615305:stack/awscodestar-codestar-test/7444a760-eccc-11e8-8d21-0666d0c49208","region":"eu-west-2","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:cloudformation:eu-west-2:060997615305:stack/awscodestar-codestar-test/7444a760-eccc-11e8-8d21-0666d0c49208","configuration":"\"{\\\"outputs\\\":[{\\\"outputKey\\\":\\\"LambdaTrustRole\\\",\\\"outputValue\\\":\\\"arn:aws:iam::060997615305:role/CodeStarWorker-codestar-test-Lambda\\\",\\\"description\\\":\\\"AWS CodeStar role for AWS Lambda used for passRole to Lambda functions.\\\"}],\\\"capabilities\\\":[\\\"CAPABILITY_NAMED_IAM\\\"],\\\"creationTime\\\":\\\"2018-11-20T13:59:10Z\\\",\\\"notificationARNs\\\":[\\\"arn:aws:sns:eu-west-2:340661127691:CloudFormationProjectEvents\\\"],\\\"stackId\\\":\\\"arn:aws:cloudformation:eu-west-2:060997615305:stack/awscodestar-codestar-test/7444a760-eccc-11e8-8d21-0666d0c49208\\\",\\\"stackName\\\":\\\"awscodestar-codestar-test\\\",\\\"description\\\":\\\"A Python web service deployed to AWS Lambda.\\\",\\\"stackStatus\\\":\\\"CREATE_COMPLETE\\\",\\\"disableRollback\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"arn:aws:codestar:eu-west-2:060997615305:project/codestar-test\\\",\\\"key\\\":\\\"awscodestar:projectArn\\\"}],\\\"timeoutInMinutes\\\":30,\\\"driftInformation\\\":{\\\"stackDriftStatus\\\":\\\"NOT_CHECKED\\\"},\\\"enableTerminationProtection\\\":false,\\\"parameters\\\":[{\\\"parameterKey\\\":\\\"ProjectId\\\",\\\"parameterValue\\\":\\\"codestar-test\\\"},{\\\"parameterKey\\\":\\\"RepositoryName\\\",\\\"parameterValue\\\":\\\"codestar-test\\\"},{\\\"parameterKey\\\":\\\"AppName\\\",\\\"parameterValue\\\":\\\"codestar-test\\\"}]}\"","awsRegion":"eu-west-2","availabilityZone":"Regional","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:cloudformation:eu-west-2:060997615305:stack/awscodestar-codestar-test/7444a760-eccc-11e8-8d21-0666d0c49208","resourceName":"awscodestar-codestar-test","resourceType":"AWS::CloudFormation::Stack","resourceValue":null,"state":null,"tags":"[{\"tag\":\"awscodestar:projectArn=arn:aws:codestar:eu-west-2:060997615305:project/codestar-test\",\"value\":\"arn:aws:codestar:eu-west-2:060997615305:project/codestar-test\",\"key\":\"awscodestar:projectArn\"}]","title":"awscodestar-codestar-test","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":130.5,"y":1144.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD","resourceId":["AROAQU6I6AO45RYGBIYPQ","arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD","title":"wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD","label":"wd2-2022-10-...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO45RYGBIYPQ","name":"wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD","value":null,"type":"AWS::IAM::Role","tags":"[{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"}]","arn":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22ecs-tasks.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO45RYGBIYPQ\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD\\\",\\\"createDate\\\":\\\"2022-10-07T18:00:28.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22appsync%3AGraphQL%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Aappsync%3Aeu-west-1%3A044981683129%3Aapis%2Fwh6ccb253jbktaquhfuvzfkbsi%2F%2A%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"access-appsync\\\"},{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22sts%3AAssumeRole%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Aiam%3A%3A%2A%3Arole%2FWorkloadDiscoveryRole-044981683129%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"assume-perspective-remote-discovery-role\\\"},{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22config%3ADescribeConfigurationAggregators%22%2C%22config%3ABatchGetAggregateResourceConfig%22%2C%22config%3AListAggregateDiscoveredResources%22%2C%22config%3ASelectAggregateResourceConfig%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"config-policy\\\"},{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22ec2%3ADescribeRegions%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"ec2-policies\\\"},{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22organizations%3AListAccounts%22%2C%22organizations%3AListRoots%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"list-account-policy\\\"},{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Condition%22%3A%7B%22ArnEquals%22%3A%7B%22ecs%3Acluster%22%3A%22arn%3Aaws%3Aecs%3Aeu-west-1%3A044981683129%3Acluster%2Fworkload-discovery-cluster%22%7D%7D%2C%22Action%22%3A%5B%22ecs%3ADescribeTasks%22%2C%22ecs%3AListTasks%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"perspective-discovery-cluster\\\"}],\\\"tags\\\":[{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"key\\\":\\\"AppManagerCFNStackKey\\\"}]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO45RYGBIYPQ","resourceName":"wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"}]","title":"wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":695.5,"y":-2613.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/access-appsync","resourceId":["arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/access-appsync","arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/access-appsync"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/access-appsync","title":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/access-appsync","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/access-appsync","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/access-appsync","name":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/access-appsync","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/access-appsync","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/access-appsync","configuration":"\"{\\\"policyName\\\":\\\"access-appsync\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"appsync:GraphQL\\\"],\\\"Resource\\\":\\\"arn:aws:appsync:eu-west-1:044981683129:apis/wh6ccb253jbktaquhfuvzfkbsi/*\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/access-appsync","resourceName":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/access-appsync","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/access-appsync","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1611.5,"y":-2613.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/assume-perspective-remote-discovery-role","resourceId":["arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/assume-perspective-remote-discovery-role","arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/assume-perspective-remote-discovery-role"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/assume-perspective-remote-discovery-role","title":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/assume-perspective-remote-discovery-role","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/assume-perspective-remote-discovery-role","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/assume-perspective-remote-discovery-role","name":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/assume-perspective-remote-discovery-role","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/assume-perspective-remote-discovery-role","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/assume-perspective-remote-discovery-role","configuration":"\"{\\\"policyName\\\":\\\"assume-perspective-remote-discovery-role\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"sts:AssumeRole\\\"],\\\"Resource\\\":\\\"arn:aws:iam::*:role/WorkloadDiscoveryRole-044981683129\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/assume-perspective-remote-discovery-role","resourceName":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/assume-perspective-remote-discovery-role","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/assume-perspective-remote-discovery-role","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1392.5,"y":-2540.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/perspective-discovery-cluster","resourceId":["arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/perspective-discovery-cluster","arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/perspective-discovery-cluster"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/perspective-discovery-cluster","title":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/perspective-discovery-cluster","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/perspective-discovery-cluster","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/perspective-discovery-cluster","name":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/perspective-discovery-cluster","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/perspective-discovery-cluster","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/perspective-discovery-cluster","configuration":"\"{\\\"policyName\\\":\\\"perspective-discovery-cluster\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Condition\\\":{\\\"ArnEquals\\\":{\\\"ecs:cluster\\\":\\\"arn:aws:ecs:eu-west-1:044981683129:cluster/workload-discovery-cluster\\\"}},\\\"Action\\\":[\\\"ecs:DescribeTasks\\\",\\\"ecs:ListTasks\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/perspective-discovery-cluster","resourceName":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/perspective-discovery-cluster","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/perspective-discovery-cluster","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1465.5,"y":-2540.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/config-policy","resourceId":["arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/config-policy","arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/config-policy"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/config-policy","title":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/config-policy","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/config-policy","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/config-policy","name":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/config-policy","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/config-policy","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/config-policy","configuration":"\"{\\\"policyName\\\":\\\"config-policy\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"config:DescribeConfigurationAggregators\\\",\\\"config:BatchGetAggregateResourceConfig\\\",\\\"config:ListAggregateDiscoveredResources\\\",\\\"config:SelectAggregateResourceConfig\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/config-policy","resourceName":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/config-policy","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/config-policy","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1538.5,"y":-2540.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/ec2-policies","resourceId":["arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/ec2-policies","arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/ec2-policies"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/ec2-policies","title":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/ec2-policies","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/ec2-policies","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/ec2-policies","name":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/ec2-policies","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/ec2-policies","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/ec2-policies","configuration":"\"{\\\"policyName\\\":\\\"ec2-policies\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"ec2:DescribeRegions\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/ec2-policies","resourceName":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/ec2-policies","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/ec2-policies","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1611.5,"y":-2540.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/list-account-policy","resourceId":["arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/list-account-policy","arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/list-account-policy"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/list-account-policy","title":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/list-account-policy","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/list-account-policy","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/list-account-policy","name":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/list-account-policy","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/list-account-policy","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/list-account-policy","configuration":"\"{\\\"policyName\\\":\\\"list-account-policy\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"organizations:ListAccounts\\\",\\\"organizations:ListRoots\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/list-account-policy","resourceName":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/list-account-policy","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/list-account-policy","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1684.5,"y":-2759.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"TaskDefinition-eu-west-1-044981683129","parent":"eu-west-1-044981683129","level":2,"title":"TaskDefinition","label":"TaskDefinition","plainLabel":"TaskDefinition","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/ECS-Task-Definition-light-bg-menu.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ecs:eu-west-1:044981683129:task-definition/workload-discovery-taskgroup:18","label":"AWS_ECS_TaskDefinition","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ecs:eu-west-1:044981683129:task-definition/workload-discovery-taskgroup:18","configuration":"\"{\\\"Status\\\":\\\"ACTIVE\\\",\\\"TaskRoleArn\\\":\\\"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD\\\",\\\"InferenceAccelerators\\\":[],\\\"Memory\\\":\\\"2048\\\",\\\"PlacementConstraints\\\":[],\\\"Cpu\\\":\\\"1024\\\",\\\"RequiresCompatibilities\\\":[\\\"FARGATE\\\"],\\\"NetworkMode\\\":\\\"awsvpc\\\",\\\"ExecutionRoleArn\\\":\\\"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-HRSV-EcsTaskExecutionRole-1904VT6FXTA1I\\\",\\\"Volumes\\\":[],\\\"ContainerDefinitions\\\":[{\\\"User\\\":\\\"discovery:discovery\\\",\\\"Secrets\\\":[],\\\"ExtraHosts\\\":[],\\\"VolumesFrom\\\":[],\\\"Cpu\\\":0,\\\"EntryPoint\\\":[],\\\"DnsServers\\\":[],\\\"Image\\\":\\\"044981683129.dkr.ecr.eu-west-1.amazonaws.com/wd2-2022-10-07-taskstack-hrsva4hb3b79-perspectivecontainerrepo-uyaex6xytkbp:latest\\\",\\\"Essential\\\":true,\\\"LogConfiguration\\\":{\\\"SecretOptions\\\":[],\\\"Options\\\":{\\\"awslogs-group\\\":\\\"/ecs/workload-discovery-task\\\",\\\"awslogs-region\\\":\\\"eu-west-1\\\",\\\"awslogs-stream-prefix\\\":\\\"ecs\\\"},\\\"LogDriver\\\":\\\"awslogs\\\"},\\\"ResourceRequirements\\\":[],\\\"EnvironmentFiles\\\":[],\\\"Name\\\":\\\"workload-discovery\\\",\\\"MountPoints\\\":[],\\\"DependsOn\\\":[],\\\"PortMappings\\\":[{\\\"HostPort\\\":80,\\\"ContainerPort\\\":80,\\\"Protocol\\\":\\\"tcp\\\"}],\\\"DockerLabels\\\":{},\\\"DockerSecurityOptions\\\":[],\\\"SystemControls\\\":[],\\\"Command\\\":[],\\\"DnsSearchDomains\\\":[],\\\"Links\\\":[],\\\"Environment\\\":[{\\\"Value\\\":\\\"eu-west-1\\\",\\\"Name\\\":\\\"AWS_REGION\\\"},{\\\"Value\\\":\\\"https://dtl2akftnrhozm3o55ghjznukm.appsync-api.eu-west-1.amazonaws.com/graphql\\\",\\\"Name\\\":\\\"GRAPHQL_API_URL\\\"},{\\\"Value\\\":\\\"AwsSolution/SO0075/v2.1.0-local.tidy-cfn.1\\\",\\\"Name\\\":\\\"CUSTOM_USER_AGENT\\\"},{\\\"Value\\\":\\\"aws-perspective-eu-west-1-044981683129-aggregator\\\",\\\"Name\\\":\\\"CONFIG_AGGREGATOR\\\"},{\\\"Value\\\":\\\"044981683129\\\",\\\"Name\\\":\\\"AWS_ACCOUNT_ID\\\"},{\\\"Value\\\":\\\"SELF_MANAGED\\\",\\\"Name\\\":\\\"CROSS_ACCOUNT_DISCOVERY\\\"},{\\\"Value\\\":\\\"workload-discovery-cluster\\\",\\\"Name\\\":\\\"CLUSTER\\\"}],\\\"Ulimits\\\":[]}],\\\"Family\\\":\\\"workload-discovery-taskgroup\\\",\\\"Tags\\\":[{\\\"Value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"Key\\\":\\\"AppManagerCFNStackKey\\\"}],\\\"TaskDefinitionArn\\\":\\\"arn:aws:ecs:eu-west-1:044981683129:task-definition/workload-discovery-taskgroup:18\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Regional","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:ecs:eu-west-1:044981683129:task-definition/workload-discovery-taskgroup:18","resourceName":"workload-discovery-taskgroup:18","resourceType":"AWS::ECS::TaskDefinition","resourceValue":null,"state":null,"tags":"[{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"}]","title":"workload-discovery-taskgroup:18","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-41.5,"y":-1476.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ecs:eu-west-1:044981683129:task-definition/workload-discovery-taskgroup:18","resourceId":["arn:aws:ecs:eu-west-1:044981683129:task-definition/workload-discovery-taskgroup:18","arn:aws:ecs:eu-west-1:044981683129:task-definition/workload-discovery-taskgroup:18"],"parent":"TaskDefinition-eu-west-1-044981683129","level":3,"id":"arn:aws:ecs:eu-west-1:044981683129:task-definition/workload-discovery-taskgroup:18","title":"workload-discovery-taskgroup:18","label":"workload-dis...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ecs:eu-west-1:044981683129:task-definition/workload-discovery-taskgroup:18","image":"/icons/ECS-Task-Definition-light-bg-menu.svg","cost":0,"private":false,"resource":{"id":"arn:aws:ecs:eu-west-1:044981683129:task-definition/workload-discovery-taskgroup:18","name":"workload-discovery-taskgroup:18","value":null,"type":"AWS::ECS::TaskDefinition","tags":"[{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"}]","arn":"arn:aws:ecs:eu-west-1:044981683129:task-definition/workload-discovery-taskgroup:18","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ecs:eu-west-1:044981683129:task-definition/workload-discovery-taskgroup:18","configuration":"\"{\\\"Status\\\":\\\"ACTIVE\\\",\\\"TaskRoleArn\\\":\\\"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD\\\",\\\"InferenceAccelerators\\\":[],\\\"Memory\\\":\\\"2048\\\",\\\"PlacementConstraints\\\":[],\\\"Cpu\\\":\\\"1024\\\",\\\"RequiresCompatibilities\\\":[\\\"FARGATE\\\"],\\\"NetworkMode\\\":\\\"awsvpc\\\",\\\"ExecutionRoleArn\\\":\\\"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-HRSV-EcsTaskExecutionRole-1904VT6FXTA1I\\\",\\\"Volumes\\\":[],\\\"ContainerDefinitions\\\":[{\\\"User\\\":\\\"discovery:discovery\\\",\\\"Secrets\\\":[],\\\"ExtraHosts\\\":[],\\\"VolumesFrom\\\":[],\\\"Cpu\\\":0,\\\"EntryPoint\\\":[],\\\"DnsServers\\\":[],\\\"Image\\\":\\\"044981683129.dkr.ecr.eu-west-1.amazonaws.com/wd2-2022-10-07-taskstack-hrsva4hb3b79-perspectivecontainerrepo-uyaex6xytkbp:latest\\\",\\\"Essential\\\":true,\\\"LogConfiguration\\\":{\\\"SecretOptions\\\":[],\\\"Options\\\":{\\\"awslogs-group\\\":\\\"/ecs/workload-discovery-task\\\",\\\"awslogs-region\\\":\\\"eu-west-1\\\",\\\"awslogs-stream-prefix\\\":\\\"ecs\\\"},\\\"LogDriver\\\":\\\"awslogs\\\"},\\\"ResourceRequirements\\\":[],\\\"EnvironmentFiles\\\":[],\\\"Name\\\":\\\"workload-discovery\\\",\\\"MountPoints\\\":[],\\\"DependsOn\\\":[],\\\"PortMappings\\\":[{\\\"HostPort\\\":80,\\\"ContainerPort\\\":80,\\\"Protocol\\\":\\\"tcp\\\"}],\\\"DockerLabels\\\":{},\\\"DockerSecurityOptions\\\":[],\\\"SystemControls\\\":[],\\\"Command\\\":[],\\\"DnsSearchDomains\\\":[],\\\"Links\\\":[],\\\"Environment\\\":[{\\\"Value\\\":\\\"eu-west-1\\\",\\\"Name\\\":\\\"AWS_REGION\\\"},{\\\"Value\\\":\\\"https://dtl2akftnrhozm3o55ghjznukm.appsync-api.eu-west-1.amazonaws.com/graphql\\\",\\\"Name\\\":\\\"GRAPHQL_API_URL\\\"},{\\\"Value\\\":\\\"AwsSolution/SO0075/v2.1.0-local.tidy-cfn.1\\\",\\\"Name\\\":\\\"CUSTOM_USER_AGENT\\\"},{\\\"Value\\\":\\\"aws-perspective-eu-west-1-044981683129-aggregator\\\",\\\"Name\\\":\\\"CONFIG_AGGREGATOR\\\"},{\\\"Value\\\":\\\"044981683129\\\",\\\"Name\\\":\\\"AWS_ACCOUNT_ID\\\"},{\\\"Value\\\":\\\"SELF_MANAGED\\\",\\\"Name\\\":\\\"CROSS_ACCOUNT_DISCOVERY\\\"},{\\\"Value\\\":\\\"workload-discovery-cluster\\\",\\\"Name\\\":\\\"CLUSTER\\\"}],\\\"Ulimits\\\":[]}],\\\"Family\\\":\\\"workload-discovery-taskgroup\\\",\\\"Tags\\\":[{\\\"Value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"Key\\\":\\\"AppManagerCFNStackKey\\\"}],\\\"TaskDefinitionArn\\\":\\\"arn:aws:ecs:eu-west-1:044981683129:task-definition/workload-discovery-taskgroup:18\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Regional","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:ecs:eu-west-1:044981683129:task-definition/workload-discovery-taskgroup:18","resourceName":"workload-discovery-taskgroup:18","resourceType":"AWS::ECS::TaskDefinition","resourceValue":null,"state":null,"tags":"[{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"}]","title":"workload-discovery-taskgroup:18","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-41.5,"y":-1476.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-TaskStack-HRSVA4HB3B79/e2929100-4669-11ed-b4d3-06482d7663f5","resourceId":["arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-TaskStack-HRSVA4HB3B79/e2929100-4669-11ed-b4d3-06482d7663f5","arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-TaskStack-HRSVA4HB3B79/e2929100-4669-11ed-b4d3-06482d7663f5"],"parent":"Stack-eu-west-1-044981683129","level":3,"id":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-TaskStack-HRSVA4HB3B79/e2929100-4669-11ed-b4d3-06482d7663f5","title":"wd2-2022-10-07-TaskStack-HRSVA4HB3B79","label":"wd2-2022-10-...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-TaskStack-HRSVA4HB3B79/e2929100-4669-11ed-b4d3-06482d7663f5","image":"/icons/AWS-CloudFormation.svg","cost":0,"private":false,"resource":{"id":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-TaskStack-HRSVA4HB3B79/e2929100-4669-11ed-b4d3-06482d7663f5","name":"wd2-2022-10-07-TaskStack-HRSVA4HB3B79","value":null,"type":"AWS::CloudFormation::Stack","tags":"[{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"}]","arn":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-TaskStack-HRSVA4HB3B79/e2929100-4669-11ed-b4d3-06482d7663f5","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-TaskStack-HRSVA4HB3B79/e2929100-4669-11ed-b4d3-06482d7663f5","configuration":"\"{\\\"outputs\\\":[{\\\"outputKey\\\":\\\"Endpoint\\\",\\\"outputValue\\\":\\\"workload-discovery-cluster\\\",\\\"description\\\":\\\"Cluster\\\"},{\\\"outputKey\\\":\\\"TaskDef\\\",\\\"outputValue\\\":\\\"arn:aws:ecs:eu-west-1:044981683129:task-definition/workload-discovery-taskgroup:18\\\",\\\"description\\\":\\\"Task Name\\\"},{\\\"outputKey\\\":\\\"ContainerRepo\\\",\\\"outputValue\\\":\\\"wd2-2022-10-07-taskstack-hrsva4hb3b79-perspectivecontainerrepo-uyaex6xytkbp\\\"},{\\\"outputKey\\\":\\\"EcsRoleDef\\\",\\\"outputValue\\\":\\\"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-HRSV-EcsTaskExecutionRole-1904VT6FXTA1I\\\",\\\"description\\\":\\\"ECS Role Name\\\"}],\\\"capabilities\\\":[\\\"CAPABILITY_IAM\\\",\\\"CAPABILITY_NAMED_IAM\\\",\\\"CAPABILITY_AUTO_EXPAND\\\"],\\\"creationTime\\\":\\\"2022-10-07T18:00:10Z\\\",\\\"notificationARNs\\\":[],\\\"stackId\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-TaskStack-HRSVA4HB3B79/e2929100-4669-11ed-b4d3-06482d7663f5\\\",\\\"stackName\\\":\\\"wd2-2022-10-07-TaskStack-HRSVA4HB3B79\\\",\\\"description\\\":\\\"Workload Discovery on AWS Discovery Crawler Scheduled Task Stack\\\",\\\"stackStatus\\\":\\\"UPDATE_COMPLETE\\\",\\\"disableRollback\\\":false,\\\"parentId\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"tags\\\":[{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"key\\\":\\\"AppManagerCFNStackKey\\\"}],\\\"timeoutInMinutes\\\":60,\\\"driftInformation\\\":{\\\"stackDriftStatus\\\":\\\"NOT_CHECKED\\\"},\\\"enableTerminationProtection\\\":false,\\\"lastUpdatedTime\\\":\\\"2023-02-13T12:51:52Z\\\",\\\"parameters\\\":[{\\\"parameterKey\\\":\\\"CustomResourceHelper\\\",\\\"parameterValue\\\":\\\"arn:aws:lambda:eu-west-1:044981683129:layer:CustomResourceHelper:144\\\"},{\\\"parameterKey\\\":\\\"Memory\\\",\\\"parameterValue\\\":\\\"2048\\\"},{\\\"parameterKey\\\":\\\"Decorators\\\",\\\"parameterValue\\\":\\\"arn:aws:lambda:eu-west-1:044981683129:layer:Decorators:145\\\"},{\\\"parameterKey\\\":\\\"RetainedImageCount\\\",\\\"parameterValue\\\":\\\"5\\\"},{\\\"parameterKey\\\":\\\"Cpu\\\",\\\"parameterValue\\\":\\\"1024\\\"},{\\\"parameterKey\\\":\\\"LogLevel\\\",\\\"parameterValue\\\":\\\"INFO\\\"},{\\\"parameterKey\\\":\\\"BotoUtils\\\",\\\"parameterValue\\\":\\\"arn:aws:lambda:eu-west-1:044981683129:layer:BotoUtils:145\\\"},{\\\"parameterKey\\\":\\\"AppName\\\",\\\"parameterValue\\\":\\\"workload-discovery\\\"},{\\\"parameterKey\\\":\\\"PrivateSubnet0\\\",\\\"parameterValue\\\":\\\"subnet-02e0c991bba17b7eb\\\"},{\\\"parameterKey\\\":\\\"DeploymentBucketKey\\\",\\\"parameterValue\\\":\\\"workload-discovery/v2.1.0-local.tidy-cfn.1\\\"},{\\\"parameterKey\\\":\\\"PrivateSubnet1\\\",\\\"parameterValue\\\":\\\"subnet-010652f698dff6484\\\"},{\\\"parameterKey\\\":\\\"AppSyncApiUrl\\\",\\\"parameterValue\\\":\\\"https://dtl2akftnrhozm3o55ghjznukm.appsync-api.eu-west-1.amazonaws.com/graphql\\\"},{\\\"parameterKey\\\":\\\"DiscoveryBucket\\\",\\\"parameterValue\\\":\\\"wd2-2022-10-07-s3buckets-ctywpxlb-discoverybucket-tnf84zkqt510\\\"},{\\\"parameterKey\\\":\\\"VpcId\\\",\\\"parameterValue\\\":\\\"vpc-04e5e1c4bc4409222\\\"},{\\\"parameterKey\\\":\\\"AppSyncArn\\\",\\\"parameterValue\\\":\\\"arn:aws:appsync:eu-west-1:044981683129:apis/wh6ccb253jbktaquhfuvzfkbsi\\\"},{\\\"parameterKey\\\":\\\"ImageVersion\\\",\\\"parameterValue\\\":\\\"latest\\\"},{\\\"parameterKey\\\":\\\"VpcEndpointsSg\\\",\\\"parameterValue\\\":\\\"sg-02b585bfae59e4fe3\\\"},{\\\"parameterKey\\\":\\\"ContainerPort\\\",\\\"parameterValue\\\":\\\"80\\\"},{\\\"parameterKey\\\":\\\"DeploymentBucketName\\\",\\\"parameterValue\\\":\\\"svozza-local-cfn-eu-west-1\\\"},{\\\"parameterKey\\\":\\\"CustomUserAgent\\\",\\\"parameterValue\\\":\\\"AwsSolution/SO0075/v2.1.0-local.tidy-cfn.1\\\"},{\\\"parameterKey\\\":\\\"ConfigurationAggregator\\\",\\\"parameterValue\\\":\\\"aws-perspective-eu-west-1-044981683129-aggregator\\\"},{\\\"parameterKey\\\":\\\"CrossAccountDiscovery\\\",\\\"parameterValue\\\":\\\"SELF_MANAGED\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Regional","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-TaskStack-HRSVA4HB3B79/e2929100-4669-11ed-b4d3-06482d7663f5","resourceName":"wd2-2022-10-07-TaskStack-HRSVA4HB3B79","resourceType":"AWS::CloudFormation::Stack","resourceValue":null,"state":null,"tags":"[{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"}]","title":"wd2-2022-10-07-TaskStack-HRSVA4HB3B79","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-726.5,"y":-558.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/service-role/AmazonSageMaker-ExecutionRole-20181218T093010","resourceId":["AROAJGE7PHNJAADRHQHTW","arn:aws:iam::060997615305:role/service-role/AmazonSageMaker-ExecutionRole-20181218T093010"],"parent":"Role-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/service-role/AmazonSageMaker-ExecutionRole-20181218T093010","title":"AmazonSageMaker-ExecutionRole-20181218T093010","label":"AmazonSageMa...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/service-role/AmazonSageMaker-ExecutionRole-20181218T093010","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAJGE7PHNJAADRHQHTW","name":"AmazonSageMaker-ExecutionRole-20181218T093010","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::060997615305:role/service-role/AmazonSageMaker-ExecutionRole-20181218T093010","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/service-role/AmazonSageMaker-ExecutionRole-20181218T093010","configuration":"\"{\\\"path\\\":\\\"/service-role/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22sagemaker.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAJGE7PHNJAADRHQHTW\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/AmazonS3FullAccess\\\",\\\"policyName\\\":\\\"AmazonS3FullAccess\\\"},{\\\"policyArn\\\":\\\"arn:aws:iam::060997615305:policy/service-role/AmazonSageMaker-ExecutionPolicy-20181218T093010\\\",\\\"policyName\\\":\\\"AmazonSageMaker-ExecutionPolicy-20181218T093010\\\"},{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/AmazonSageMakerFullAccess\\\",\\\"policyName\\\":\\\"AmazonSageMakerFullAccess\\\"}],\\\"roleName\\\":\\\"AmazonSageMaker-ExecutionRole-20181218T093010\\\",\\\"arn\\\":\\\"arn:aws:iam::060997615305:role/service-role/AmazonSageMaker-ExecutionRole-20181218T093010\\\",\\\"createDate\\\":\\\"2018-12-18T09:30:25.000Z\\\",\\\"rolePolicyList\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAJGE7PHNJAADRHQHTW","resourceName":"AmazonSageMaker-ExecutionRole-20181218T093010","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"AmazonSageMaker-ExecutionRole-20181218T093010","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-2049.5,"y":1942.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"id":"Policy-global-060997615305","parent":"global-060997615305","level":2,"title":"Policy","label":"Policy","plainLabel":"Policy","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/IAM_Policy.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:iam::060997615305:policy/service-role/AmazonSageMaker-ExecutionPolicy-20181218T093010","label":"AWS_IAM_Policy","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:policy/service-role/AmazonSageMaker-ExecutionPolicy-20181218T093010","configuration":"\"{\\\"permissionsBoundaryUsageCount\\\":0,\\\"policyVersionList\\\":[{\\\"versionId\\\":\\\"v1\\\",\\\"isDefaultVersion\\\":true,\\\"document\\\":\\\"%7B%0A%20%20%20%20%22Version%22%3A%20%222012-10-17%22%2C%0A%20%20%20%20%22Statement%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Action%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22s3%3AListBucket%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Effect%22%3A%20%22Allow%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Resource%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22arn%3Aaws%3As3%3A%3A%3Asmj-mlws-scratch%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Action%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22s3%3AGetObject%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22s3%3APutObject%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22s3%3ADeleteObject%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Effect%22%3A%20%22Allow%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Resource%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22arn%3Aaws%3As3%3A%3A%3Asmj-mlws-scratch%2F%2A%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%5D%0A%7D\\\",\\\"createDate\\\":\\\"2018-12-18T09:30:25.000Z\\\"}],\\\"path\\\":\\\"/service-role/\\\",\\\"updateDate\\\":\\\"2018-12-18T09:30:25.000Z\\\",\\\"policyId\\\":\\\"ANPAJONGZXRXSK47XWTBW\\\",\\\"defaultVersionId\\\":\\\"v1\\\",\\\"policyName\\\":\\\"AmazonSageMaker-ExecutionPolicy-20181218T093010\\\",\\\"isAttachable\\\":true,\\\"attachmentCount\\\":1,\\\"arn\\\":\\\"arn:aws:iam::060997615305:policy/service-role/AmazonSageMaker-ExecutionPolicy-20181218T093010\\\",\\\"createDate\\\":\\\"2018-12-18T09:30:25.000Z\\\"}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/policies","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/policies","private":null,"resourceId":"ANPAJONGZXRXSK47XWTBW","resourceName":"AmazonSageMaker-ExecutionPolicy-20181218T093010","resourceType":"AWS::IAM::Policy","resourceValue":null,"state":null,"tags":"[]","title":"AmazonSageMaker-ExecutionPolicy-20181218T093010","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1717.5,"y":2547.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:iam::060997615305:policy/service-role/AmazonSageMaker-ExecutionPolicy-20181218T093010","resourceId":["ANPAJONGZXRXSK47XWTBW","arn:aws:iam::060997615305:policy/service-role/AmazonSageMaker-ExecutionPolicy-20181218T093010"],"parent":"Policy-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:policy/service-role/AmazonSageMaker-ExecutionPolicy-20181218T093010","title":"AmazonSageMaker-ExecutionPolicy-20181218T093010","label":"AmazonSageMa...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:policy/service-role/AmazonSageMaker-ExecutionPolicy-20181218T093010","image":"/icons/IAM_Policy.svg","cost":0,"private":false,"resource":{"id":"ANPAJONGZXRXSK47XWTBW","name":"AmazonSageMaker-ExecutionPolicy-20181218T093010","value":null,"type":"AWS::IAM::Policy","tags":"[]","arn":"arn:aws:iam::060997615305:policy/service-role/AmazonSageMaker-ExecutionPolicy-20181218T093010","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/policies","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/policies","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:policy/service-role/AmazonSageMaker-ExecutionPolicy-20181218T093010","configuration":"\"{\\\"permissionsBoundaryUsageCount\\\":0,\\\"policyVersionList\\\":[{\\\"versionId\\\":\\\"v1\\\",\\\"isDefaultVersion\\\":true,\\\"document\\\":\\\"%7B%0A%20%20%20%20%22Version%22%3A%20%222012-10-17%22%2C%0A%20%20%20%20%22Statement%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Action%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22s3%3AListBucket%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Effect%22%3A%20%22Allow%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Resource%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22arn%3Aaws%3As3%3A%3A%3Asmj-mlws-scratch%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Action%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22s3%3AGetObject%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22s3%3APutObject%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22s3%3ADeleteObject%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Effect%22%3A%20%22Allow%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Resource%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22arn%3Aaws%3As3%3A%3A%3Asmj-mlws-scratch%2F%2A%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%5D%0A%7D\\\",\\\"createDate\\\":\\\"2018-12-18T09:30:25.000Z\\\"}],\\\"path\\\":\\\"/service-role/\\\",\\\"updateDate\\\":\\\"2018-12-18T09:30:25.000Z\\\",\\\"policyId\\\":\\\"ANPAJONGZXRXSK47XWTBW\\\",\\\"defaultVersionId\\\":\\\"v1\\\",\\\"policyName\\\":\\\"AmazonSageMaker-ExecutionPolicy-20181218T093010\\\",\\\"isAttachable\\\":true,\\\"attachmentCount\\\":1,\\\"arn\\\":\\\"arn:aws:iam::060997615305:policy/service-role/AmazonSageMaker-ExecutionPolicy-20181218T093010\\\",\\\"createDate\\\":\\\"2018-12-18T09:30:25.000Z\\\"}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/policies","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/policies","private":null,"resourceId":"ANPAJONGZXRXSK47XWTBW","resourceName":"AmazonSageMaker-ExecutionPolicy-20181218T093010","resourceType":"AWS::IAM::Policy","resourceValue":null,"state":null,"tags":"[]","title":"AmazonSageMaker-ExecutionPolicy-20181218T093010","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1790.5,"y":2510.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/aws-service-role/support.amazonaws.com/AWSServiceRoleForSupport","resourceId":["AROAJXJJ6TT63T3PQ4PBM","arn:aws:iam::060997615305:role/aws-service-role/support.amazonaws.com/AWSServiceRoleForSupport"],"parent":"Role-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/aws-service-role/support.amazonaws.com/AWSServiceRoleForSupport","title":"AWSServiceRoleForSupport","label":"AWSServiceRo...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/aws-service-role/support.amazonaws.com/AWSServiceRoleForSupport","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAJXJJ6TT63T3PQ4PBM","name":"AWSServiceRoleForSupport","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::060997615305:role/aws-service-role/support.amazonaws.com/AWSServiceRoleForSupport","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/aws-service-role/support.amazonaws.com/AWSServiceRoleForSupport","configuration":"\"{\\\"path\\\":\\\"/aws-service-role/support.amazonaws.com/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22support.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAJXJJ6TT63T3PQ4PBM\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/aws-service-role/AWSSupportServiceRolePolicy\\\",\\\"policyName\\\":\\\"AWSSupportServiceRolePolicy\\\"}],\\\"roleName\\\":\\\"AWSServiceRoleForSupport\\\",\\\"arn\\\":\\\"arn:aws:iam::060997615305:role/aws-service-role/support.amazonaws.com/AWSServiceRoleForSupport\\\",\\\"createDate\\\":\\\"2018-07-04T13:56:50.000Z\\\",\\\"rolePolicyList\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAJXJJ6TT63T3PQ4PBM","resourceName":"AWSServiceRoleForSupport","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"AWSServiceRoleForSupport","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-2049.5,"y":2015.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-1I7GB41YL0MA1","resourceId":["AROAQ4M55X3E25TNE3I6E","arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-1I7GB41YL0MA1"],"parent":"Role-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-1I7GB41YL0MA1","title":"S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-1I7GB41YL0MA1","label":"S3F2POC-Depl...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-1I7GB41YL0MA1","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQ4M55X3E25TNE3I6E","name":"S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-1I7GB41YL0MA1","value":null,"type":"AWS::IAM::Role","tags":"[{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"}]","arn":"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-1I7GB41YL0MA1","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-1I7GB41YL0MA1","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22lambda.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQ4M55X3E25TNE3I6E\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole\\\",\\\"policyName\\\":\\\"AWSLambdaBasicExecutionRole\\\"}],\\\"roleName\\\":\\\"S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-1I7GB41YL0MA1\\\",\\\"arn\\\":\\\"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-1I7GB41YL0MA1\\\",\\\"createDate\\\":\\\"2021-01-21T13:26:18.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Statement%22%3A%5B%7B%22Action%22%3A%22s3%3APutObject%2A%22%2C%22Resource%22%3A%22arn%3Aaws%3As3%3A%3A%3As3f2poc-tempbucket-whrisol6u9bh%2F%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%22s3%3AGetObject%22%2C%22Resource%22%3A%22arn%3Aaws%3As3%3A%3A%3Amatteo-poc%2F%2A%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"CopyBuildArtefactFunctionRolePolicy0\\\"}],\\\"tags\\\":[{\\\"value\\\":\\\"SAM\\\",\\\"key\\\":\\\"lambda:createdBy\\\"}]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQ4M55X3E25TNE3I6E","resourceName":"S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-1I7GB41YL0MA1","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"}]","title":"S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-1I7GB41YL0MA1","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-2195.5,"y":2088.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-1I7GB41YL0MA1/inlinePolicy/CopyBuildArtefactFunctionRolePolicy0","resourceId":["arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-1I7GB41YL0MA1/inlinePolicy/CopyBuildArtefactFunctionRolePolicy0","arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-1I7GB41YL0MA1/inlinePolicy/CopyBuildArtefactFunctionRolePolicy0"],"parent":"InlinePolicy-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-1I7GB41YL0MA1/inlinePolicy/CopyBuildArtefactFunctionRolePolicy0","title":"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-1I7GB41YL0MA1/inlinePolicy/CopyBuildArtefactFunctionRolePolicy0","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-1I7GB41YL0MA1/inlinePolicy/CopyBuildArtefactFunctionRolePolicy0","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-1I7GB41YL0MA1/inlinePolicy/CopyBuildArtefactFunctionRolePolicy0","name":"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-1I7GB41YL0MA1/inlinePolicy/CopyBuildArtefactFunctionRolePolicy0","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-1I7GB41YL0MA1/inlinePolicy/CopyBuildArtefactFunctionRolePolicy0","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-1I7GB41YL0MA1/inlinePolicy/CopyBuildArtefactFunctionRolePolicy0","configuration":"\"{\\\"policyName\\\":\\\"CopyBuildArtefactFunctionRolePolicy0\\\",\\\"policyDocument\\\":{\\\"Statement\\\":[{\\\"Action\\\":\\\"s3:PutObject*\\\",\\\"Resource\\\":\\\"arn:aws:s3:::s3f2poc-tempbucket-whrisol6u9bh/*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":\\\"s3:GetObject\\\",\\\"Resource\\\":\\\"arn:aws:s3:::matteo-poc/*\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-1I7GB41YL0MA1/inlinePolicy/CopyBuildArtefactFunctionRolePolicy0","resourceName":"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-1I7GB41YL0MA1/inlinePolicy/CopyBuildArtefactFunctionRolePolicy0","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-1I7GB41YL0MA1/inlinePolicy/CopyBuildArtefactFunctionRolePolicy0","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1571.5,"y":2015.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"Tag-global-060997615305","parent":"global-060997615305","level":2,"title":"Tag","label":"Tag","plainLabel":"Tag","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/AWS-Tags-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:tags::060997615305:tag/lambda:createdBy=SAM","label":"AWS_Tags_Tag","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:tags::060997615305:tag/lambda:createdBy=SAM","configuration":"\"{}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:tags::060997615305:tag/lambda:createdBy=SAM","resourceName":"lambda:createdBy=SAM","resourceType":"AWS::Tags::Tag","resourceValue":null,"state":null,"tags":"[]","title":"lambda:createdBy=SAM","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-2049.5,"y":2620.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:tags::060997615305:tag/lambda:createdBy=SAM","resourceId":["arn:aws:tags::060997615305:tag/lambda:createdBy=SAM","arn:aws:tags::060997615305:tag/lambda:createdBy=SAM"],"parent":"Tag-global-060997615305","level":3,"id":"arn:aws:tags::060997615305:tag/lambda:createdBy=SAM","title":"lambda:createdBy=SAM","label":"lambda:creat...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:tags::060997615305:tag/lambda:createdBy=SAM","image":"/icons/AWS-Tags-bg.svg","cost":0,"private":false,"resource":{"id":"arn:aws:tags::060997615305:tag/lambda:createdBy=SAM","name":"lambda:createdBy=SAM","value":null,"type":"AWS::Tags::Tag","tags":"[]","arn":"arn:aws:tags::060997615305:tag/lambda:createdBy=SAM","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:tags::060997615305:tag/lambda:createdBy=SAM","configuration":"\"{}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:tags::060997615305:tag/lambda:createdBy=SAM","resourceName":"lambda:createdBy=SAM","resourceType":"AWS::Tags::Tag","resourceValue":null,"state":null,"tags":"[]","title":"lambda:createdBy=SAM","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2195.5,"y":2510.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"eu-west-1-060997615305","parent":"060997615305","level":1,"title":"eu-west-1","label":"eu-west-1","plainLabel":"eu-west-1","type":"region","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Region_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":null,"label":"Function","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:lambda:eu-west-1:060997615305:function:S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-PQTZA9GICLR","label":"AWS_Lambda_Function","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:lambda:eu-west-1:060997615305:function:S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-PQTZA9GICLR","configuration":"\"{\\\"architectures\\\":[\\\"x86_64\\\"],\\\"ephemeralStorage\\\":{\\\"size\\\":512},\\\"handler\\\":\\\"copy_build_artefact.handler\\\",\\\"role\\\":\\\"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-1I7GB41YL0MA1\\\",\\\"functionName\\\":\\\"S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-PQTZA9GICLR\\\",\\\"tracingConfig\\\":{\\\"mode\\\":\\\"PassThrough\\\"},\\\"runtime\\\":\\\"python3.7\\\",\\\"description\\\":\\\"Custom Lambda resource for the Amazon S3 Find and Forget Cloudformation Stack\\\",\\\"runtimeVersionConfig\\\":{\\\"runtimeVersionArn\\\":\\\"arn:aws:lambda:eu-west-1::runtime:404f127cf4d3b0d7368361968087bb9052f80c682e74e5e3cae6dc86d049242c\\\"},\\\"codeSize\\\":6928,\\\"version\\\":\\\"$LATEST\\\",\\\"packageType\\\":\\\"Zip\\\",\\\"timeout\\\":900,\\\"revisionId\\\":\\\"c60da0da-5db7-41b8-945f-ec679ad9b9c2\\\",\\\"codeSha256\\\":\\\"gFxNL6d5guU7nApW0jFyEvQG7wQFyMsUtsbDVDQh0n0=\\\",\\\"memorySize\\\":128,\\\"fileSystemConfigs\\\":[],\\\"lastUpdateStatus\\\":\\\"Successful\\\",\\\"layers\\\":[{\\\"arn\\\":\\\"arn:aws:lambda:eu-west-1:060997615305:layer:AWSSDK:4\\\",\\\"codeSize\\\":8692749},{\\\"arn\\\":\\\"arn:aws:lambda:eu-west-1:060997615305:layer:BotoUtils:4\\\",\\\"codeSize\\\":7788},{\\\"arn\\\":\\\"arn:aws:lambda:eu-west-1:060997615305:layer:CustomResourceHelper:4\\\",\\\"codeSize\\\":974304},{\\\"arn\\\":\\\"arn:aws:lambda:eu-west-1:060997615305:layer:Decorators:4\\\",\\\"codeSize\\\":1598219}],\\\"snapStart\\\":{\\\"applyOn\\\":\\\"None\\\",\\\"optimizationStatus\\\":\\\"Off\\\"},\\\"lastModified\\\":\\\"2021-01-21T13:26:38.967+0000\\\",\\\"state\\\":{\\\"value\\\":\\\"Active\\\"},\\\"functionArn\\\":\\\"arn:aws:lambda:eu-west-1:060997615305:function:S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-PQTZA9GICLR\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/lambda/home?region=eu-west-1#/functions/S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-PQTZA9GICLR?tab=graph","loginURL":"https://060997615305.signin.aws.amazon.com/console/lambda?region=eu-west-1#/functions/S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-PQTZA9GICLR?tab=graph","private":null,"resourceId":"S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-PQTZA9GICLR","resourceName":"S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-PQTZA9GICLR","resourceType":"AWS::Lambda::Function","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2POC-DeployStack-1ETR2UF3EM480\",\"value\":\"S3F2POC-DeployStack-1ETR2UF3EM480\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-DeployStack-1ETR2UF3EM480/387ae640-5bec-11eb-8d21-020f2e5ad013\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-DeployStack-1ETR2UF3EM480/387ae640-5bec-11eb-8d21-020f2e5ad013\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=CopyBuildArtefactFunction\",\"value\":\"CopyBuildArtefactFunction\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-PQTZA9GICLR","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]},{"id":null,"label":"Stack","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-DeployStack-1ETR2UF3EM480/387ae640-5bec-11eb-8d21-020f2e5ad013","label":"AWS_CloudFormation_Stack","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-DeployStack-1ETR2UF3EM480/387ae640-5bec-11eb-8d21-020f2e5ad013","configuration":"\"{\\\"outputs\\\":[],\\\"capabilities\\\":[\\\"CAPABILITY_AUTO_EXPAND\\\",\\\"CAPABILITY_NAMED_IAM\\\",\\\"CAPABILITY_IAM\\\"],\\\"creationTime\\\":\\\"2021-01-21T13:26:08Z\\\",\\\"notificationARNs\\\":[],\\\"stackId\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-DeployStack-1ETR2UF3EM480/387ae640-5bec-11eb-8d21-020f2e5ad013\\\",\\\"stackName\\\":\\\"S3F2POC-DeployStack-1ETR2UF3EM480\\\",\\\"description\\\":\\\"Amazon S3 Find and Forget Deployment helper\\\",\\\"stackStatus\\\":\\\"CREATE_COMPLETE\\\",\\\"disableRollback\\\":true,\\\"parentId\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC/354700e0-5beb-11eb-9702-0214faeb7eeb\\\",\\\"tags\\\":[],\\\"driftInformation\\\":{\\\"stackDriftStatus\\\":\\\"NOT_CHECKED\\\"},\\\"enableTerminationProtection\\\":false,\\\"parameters\\\":[{\\\"parameterKey\\\":\\\"ResourcePrefix\\\",\\\"parameterValue\\\":\\\"S3F2POC\\\"},{\\\"parameterKey\\\":\\\"CloudFrontDistribution\\\",\\\"parameterValue\\\":\\\"none\\\"},{\\\"parameterKey\\\":\\\"CognitoIdentityPoolId\\\",\\\"parameterValue\\\":\\\"eu-west-1:be7d1292-3546-4a80-8af6-cb094e705d1b\\\"},{\\\"parameterKey\\\":\\\"LogLevel\\\",\\\"parameterValue\\\":\\\"INFO\\\"},{\\\"parameterKey\\\":\\\"CommonLayers\\\",\\\"parameterValue\\\":\\\"arn:aws:lambda:eu-west-1:060997615305:layer:AWSSDK:4,arn:aws:lambda:eu-west-1:060997615305:layer:BotoUtils:4,arn:aws:lambda:eu-west-1:060997615305:layer:CustomResourceHelper:4,arn:aws:lambda:eu-west-1:060997615305:layer:Decorators:4\\\"},{\\\"parameterKey\\\":\\\"CognitoUserPoolClientId\\\",\\\"parameterValue\\\":\\\"3dgce24akl1del1kr19g2l5drt\\\"},{\\\"parameterKey\\\":\\\"CognitoUserPoolId\\\",\\\"parameterValue\\\":\\\"eu-west-1_gpYX5plm5\\\"},{\\\"parameterKey\\\":\\\"ApiUrl\\\",\\\"parameterValue\\\":\\\"https://798b11ubfl.execute-api.eu-west-1.amazonaws.com/Prod/\\\"},{\\\"parameterKey\\\":\\\"Version\\\",\\\"parameterValue\\\":\\\"v0.20-redaction-poc\\\"},{\\\"parameterKey\\\":\\\"PreBuiltArtefactsBucket\\\",\\\"parameterValue\\\":\\\"matteo-poc\\\"},{\\\"parameterKey\\\":\\\"CodeBuildArtefactBucket\\\",\\\"parameterValue\\\":\\\"s3f2poc-tempbucket-whrisol6u9bh\\\"},{\\\"parameterKey\\\":\\\"ECRRepository\\\",\\\"parameterValue\\\":\\\"ecrrepository-atiqsii6rr9q\\\"},{\\\"parameterKey\\\":\\\"AthenaExecutionRole\\\",\\\"parameterValue\\\":\\\"S3F2POC-StateMachineStack-10BR76B-ExecuteQueryRole-126HYZ6GZUZ8T\\\"},{\\\"parameterKey\\\":\\\"WebUIBucket\\\",\\\"parameterValue\\\":\\\"s3f2poc-webuistack-1i72elaep43e2-webuibucket-2bku1mkgd04h\\\"},{\\\"parameterKey\\\":\\\"ArtefactName\\\",\\\"parameterValue\\\":\\\"build/s3f2.zip\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Regional","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-DeployStack-1ETR2UF3EM480/387ae640-5bec-11eb-8d21-020f2e5ad013","resourceName":"S3F2POC-DeployStack-1ETR2UF3EM480","resourceType":"AWS::CloudFormation::Stack","resourceValue":null,"state":null,"tags":"[]","title":"S3F2POC-DeployStack-1ETR2UF3EM480","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1313,"y":996},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"region removeAll _gridParentPadding"},{"data":{"id":"Function-eu-west-1-060997615305","parent":"eu-west-1-060997615305","level":2,"title":"Function","label":"Function","plainLabel":"Function","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/AWS-Lambda-menu.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:lambda:eu-west-1:060997615305:function:S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-PQTZA9GICLR","label":"AWS_Lambda_Function","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:lambda:eu-west-1:060997615305:function:S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-PQTZA9GICLR","configuration":"\"{\\\"architectures\\\":[\\\"x86_64\\\"],\\\"ephemeralStorage\\\":{\\\"size\\\":512},\\\"handler\\\":\\\"copy_build_artefact.handler\\\",\\\"role\\\":\\\"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-1I7GB41YL0MA1\\\",\\\"functionName\\\":\\\"S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-PQTZA9GICLR\\\",\\\"tracingConfig\\\":{\\\"mode\\\":\\\"PassThrough\\\"},\\\"runtime\\\":\\\"python3.7\\\",\\\"description\\\":\\\"Custom Lambda resource for the Amazon S3 Find and Forget Cloudformation Stack\\\",\\\"runtimeVersionConfig\\\":{\\\"runtimeVersionArn\\\":\\\"arn:aws:lambda:eu-west-1::runtime:404f127cf4d3b0d7368361968087bb9052f80c682e74e5e3cae6dc86d049242c\\\"},\\\"codeSize\\\":6928,\\\"version\\\":\\\"$LATEST\\\",\\\"packageType\\\":\\\"Zip\\\",\\\"timeout\\\":900,\\\"revisionId\\\":\\\"c60da0da-5db7-41b8-945f-ec679ad9b9c2\\\",\\\"codeSha256\\\":\\\"gFxNL6d5guU7nApW0jFyEvQG7wQFyMsUtsbDVDQh0n0=\\\",\\\"memorySize\\\":128,\\\"fileSystemConfigs\\\":[],\\\"lastUpdateStatus\\\":\\\"Successful\\\",\\\"layers\\\":[{\\\"arn\\\":\\\"arn:aws:lambda:eu-west-1:060997615305:layer:AWSSDK:4\\\",\\\"codeSize\\\":8692749},{\\\"arn\\\":\\\"arn:aws:lambda:eu-west-1:060997615305:layer:BotoUtils:4\\\",\\\"codeSize\\\":7788},{\\\"arn\\\":\\\"arn:aws:lambda:eu-west-1:060997615305:layer:CustomResourceHelper:4\\\",\\\"codeSize\\\":974304},{\\\"arn\\\":\\\"arn:aws:lambda:eu-west-1:060997615305:layer:Decorators:4\\\",\\\"codeSize\\\":1598219}],\\\"snapStart\\\":{\\\"applyOn\\\":\\\"None\\\",\\\"optimizationStatus\\\":\\\"Off\\\"},\\\"lastModified\\\":\\\"2021-01-21T13:26:38.967+0000\\\",\\\"state\\\":{\\\"value\\\":\\\"Active\\\"},\\\"functionArn\\\":\\\"arn:aws:lambda:eu-west-1:060997615305:function:S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-PQTZA9GICLR\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/lambda/home?region=eu-west-1#/functions/S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-PQTZA9GICLR?tab=graph","loginURL":"https://060997615305.signin.aws.amazon.com/console/lambda?region=eu-west-1#/functions/S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-PQTZA9GICLR?tab=graph","private":null,"resourceId":"S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-PQTZA9GICLR","resourceName":"S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-PQTZA9GICLR","resourceType":"AWS::Lambda::Function","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2POC-DeployStack-1ETR2UF3EM480\",\"value\":\"S3F2POC-DeployStack-1ETR2UF3EM480\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-DeployStack-1ETR2UF3EM480/387ae640-5bec-11eb-8d21-020f2e5ad013\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-DeployStack-1ETR2UF3EM480/387ae640-5bec-11eb-8d21-020f2e5ad013\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=CopyBuildArtefactFunction\",\"value\":\"CopyBuildArtefactFunction\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-PQTZA9GICLR","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-2122.5,"y":1713.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:lambda:eu-west-1:060997615305:function:S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-PQTZA9GICLR","resourceId":["S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-PQTZA9GICLR","arn:aws:lambda:eu-west-1:060997615305:function:S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-PQTZA9GICLR"],"parent":"Function-eu-west-1-060997615305","level":3,"id":"arn:aws:lambda:eu-west-1:060997615305:function:S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-PQTZA9GICLR","title":"S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-PQTZA9GICLR","label":"S3F2POC-Depl...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:lambda:eu-west-1:060997615305:function:S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-PQTZA9GICLR","image":"/icons/AWS-Lambda-menu.svg","cost":0,"private":false,"resource":{"id":"S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-PQTZA9GICLR","name":"S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-PQTZA9GICLR","value":null,"type":"AWS::Lambda::Function","tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2POC-DeployStack-1ETR2UF3EM480\",\"value\":\"S3F2POC-DeployStack-1ETR2UF3EM480\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-DeployStack-1ETR2UF3EM480/387ae640-5bec-11eb-8d21-020f2e5ad013\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-DeployStack-1ETR2UF3EM480/387ae640-5bec-11eb-8d21-020f2e5ad013\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=CopyBuildArtefactFunction\",\"value\":\"CopyBuildArtefactFunction\",\"key\":\"aws:cloudformation:logical-id\"}]","arn":"arn:aws:lambda:eu-west-1:060997615305:function:S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-PQTZA9GICLR","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/lambda/home?region=eu-west-1#/functions/S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-PQTZA9GICLR?tab=graph","loginURL":"https://060997615305.signin.aws.amazon.com/console/lambda?region=eu-west-1#/functions/S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-PQTZA9GICLR?tab=graph","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:lambda:eu-west-1:060997615305:function:S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-PQTZA9GICLR","configuration":"\"{\\\"architectures\\\":[\\\"x86_64\\\"],\\\"ephemeralStorage\\\":{\\\"size\\\":512},\\\"handler\\\":\\\"copy_build_artefact.handler\\\",\\\"role\\\":\\\"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-1I7GB41YL0MA1\\\",\\\"functionName\\\":\\\"S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-PQTZA9GICLR\\\",\\\"tracingConfig\\\":{\\\"mode\\\":\\\"PassThrough\\\"},\\\"runtime\\\":\\\"python3.7\\\",\\\"description\\\":\\\"Custom Lambda resource for the Amazon S3 Find and Forget Cloudformation Stack\\\",\\\"runtimeVersionConfig\\\":{\\\"runtimeVersionArn\\\":\\\"arn:aws:lambda:eu-west-1::runtime:404f127cf4d3b0d7368361968087bb9052f80c682e74e5e3cae6dc86d049242c\\\"},\\\"codeSize\\\":6928,\\\"version\\\":\\\"$LATEST\\\",\\\"packageType\\\":\\\"Zip\\\",\\\"timeout\\\":900,\\\"revisionId\\\":\\\"c60da0da-5db7-41b8-945f-ec679ad9b9c2\\\",\\\"codeSha256\\\":\\\"gFxNL6d5guU7nApW0jFyEvQG7wQFyMsUtsbDVDQh0n0=\\\",\\\"memorySize\\\":128,\\\"fileSystemConfigs\\\":[],\\\"lastUpdateStatus\\\":\\\"Successful\\\",\\\"layers\\\":[{\\\"arn\\\":\\\"arn:aws:lambda:eu-west-1:060997615305:layer:AWSSDK:4\\\",\\\"codeSize\\\":8692749},{\\\"arn\\\":\\\"arn:aws:lambda:eu-west-1:060997615305:layer:BotoUtils:4\\\",\\\"codeSize\\\":7788},{\\\"arn\\\":\\\"arn:aws:lambda:eu-west-1:060997615305:layer:CustomResourceHelper:4\\\",\\\"codeSize\\\":974304},{\\\"arn\\\":\\\"arn:aws:lambda:eu-west-1:060997615305:layer:Decorators:4\\\",\\\"codeSize\\\":1598219}],\\\"snapStart\\\":{\\\"applyOn\\\":\\\"None\\\",\\\"optimizationStatus\\\":\\\"Off\\\"},\\\"lastModified\\\":\\\"2021-01-21T13:26:38.967+0000\\\",\\\"state\\\":{\\\"value\\\":\\\"Active\\\"},\\\"functionArn\\\":\\\"arn:aws:lambda:eu-west-1:060997615305:function:S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-PQTZA9GICLR\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/lambda/home?region=eu-west-1#/functions/S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-PQTZA9GICLR?tab=graph","loginURL":"https://060997615305.signin.aws.amazon.com/console/lambda?region=eu-west-1#/functions/S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-PQTZA9GICLR?tab=graph","private":null,"resourceId":"S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-PQTZA9GICLR","resourceName":"S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-PQTZA9GICLR","resourceType":"AWS::Lambda::Function","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2POC-DeployStack-1ETR2UF3EM480\",\"value\":\"S3F2POC-DeployStack-1ETR2UF3EM480\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-DeployStack-1ETR2UF3EM480/387ae640-5bec-11eb-8d21-020f2e5ad013\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-DeployStack-1ETR2UF3EM480/387ae640-5bec-11eb-8d21-020f2e5ad013\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=CopyBuildArtefactFunction\",\"value\":\"CopyBuildArtefactFunction\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-PQTZA9GICLR","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2195.5,"y":1676.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"Stack-eu-west-1-060997615305","parent":"eu-west-1-060997615305","level":2,"title":"Stack","label":"Stack","plainLabel":"Stack","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/AWS-CloudFormation.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-DeployStack-1ETR2UF3EM480/387ae640-5bec-11eb-8d21-020f2e5ad013","label":"AWS_CloudFormation_Stack","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-DeployStack-1ETR2UF3EM480/387ae640-5bec-11eb-8d21-020f2e5ad013","configuration":"\"{\\\"outputs\\\":[],\\\"capabilities\\\":[\\\"CAPABILITY_AUTO_EXPAND\\\",\\\"CAPABILITY_NAMED_IAM\\\",\\\"CAPABILITY_IAM\\\"],\\\"creationTime\\\":\\\"2021-01-21T13:26:08Z\\\",\\\"notificationARNs\\\":[],\\\"stackId\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-DeployStack-1ETR2UF3EM480/387ae640-5bec-11eb-8d21-020f2e5ad013\\\",\\\"stackName\\\":\\\"S3F2POC-DeployStack-1ETR2UF3EM480\\\",\\\"description\\\":\\\"Amazon S3 Find and Forget Deployment helper\\\",\\\"stackStatus\\\":\\\"CREATE_COMPLETE\\\",\\\"disableRollback\\\":true,\\\"parentId\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC/354700e0-5beb-11eb-9702-0214faeb7eeb\\\",\\\"tags\\\":[],\\\"driftInformation\\\":{\\\"stackDriftStatus\\\":\\\"NOT_CHECKED\\\"},\\\"enableTerminationProtection\\\":false,\\\"parameters\\\":[{\\\"parameterKey\\\":\\\"ResourcePrefix\\\",\\\"parameterValue\\\":\\\"S3F2POC\\\"},{\\\"parameterKey\\\":\\\"CloudFrontDistribution\\\",\\\"parameterValue\\\":\\\"none\\\"},{\\\"parameterKey\\\":\\\"CognitoIdentityPoolId\\\",\\\"parameterValue\\\":\\\"eu-west-1:be7d1292-3546-4a80-8af6-cb094e705d1b\\\"},{\\\"parameterKey\\\":\\\"LogLevel\\\",\\\"parameterValue\\\":\\\"INFO\\\"},{\\\"parameterKey\\\":\\\"CommonLayers\\\",\\\"parameterValue\\\":\\\"arn:aws:lambda:eu-west-1:060997615305:layer:AWSSDK:4,arn:aws:lambda:eu-west-1:060997615305:layer:BotoUtils:4,arn:aws:lambda:eu-west-1:060997615305:layer:CustomResourceHelper:4,arn:aws:lambda:eu-west-1:060997615305:layer:Decorators:4\\\"},{\\\"parameterKey\\\":\\\"CognitoUserPoolClientId\\\",\\\"parameterValue\\\":\\\"3dgce24akl1del1kr19g2l5drt\\\"},{\\\"parameterKey\\\":\\\"CognitoUserPoolId\\\",\\\"parameterValue\\\":\\\"eu-west-1_gpYX5plm5\\\"},{\\\"parameterKey\\\":\\\"ApiUrl\\\",\\\"parameterValue\\\":\\\"https://798b11ubfl.execute-api.eu-west-1.amazonaws.com/Prod/\\\"},{\\\"parameterKey\\\":\\\"Version\\\",\\\"parameterValue\\\":\\\"v0.20-redaction-poc\\\"},{\\\"parameterKey\\\":\\\"PreBuiltArtefactsBucket\\\",\\\"parameterValue\\\":\\\"matteo-poc\\\"},{\\\"parameterKey\\\":\\\"CodeBuildArtefactBucket\\\",\\\"parameterValue\\\":\\\"s3f2poc-tempbucket-whrisol6u9bh\\\"},{\\\"parameterKey\\\":\\\"ECRRepository\\\",\\\"parameterValue\\\":\\\"ecrrepository-atiqsii6rr9q\\\"},{\\\"parameterKey\\\":\\\"AthenaExecutionRole\\\",\\\"parameterValue\\\":\\\"S3F2POC-StateMachineStack-10BR76B-ExecuteQueryRole-126HYZ6GZUZ8T\\\"},{\\\"parameterKey\\\":\\\"WebUIBucket\\\",\\\"parameterValue\\\":\\\"s3f2poc-webuistack-1i72elaep43e2-webuibucket-2bku1mkgd04h\\\"},{\\\"parameterKey\\\":\\\"ArtefactName\\\",\\\"parameterValue\\\":\\\"build/s3f2.zip\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Regional","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-DeployStack-1ETR2UF3EM480/387ae640-5bec-11eb-8d21-020f2e5ad013","resourceName":"S3F2POC-DeployStack-1ETR2UF3EM480","resourceType":"AWS::CloudFormation::Stack","resourceValue":null,"state":null,"tags":"[]","title":"S3F2POC-DeployStack-1ETR2UF3EM480","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1863.5,"y":1713.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-DeployStack-1ETR2UF3EM480/387ae640-5bec-11eb-8d21-020f2e5ad013","resourceId":["arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-DeployStack-1ETR2UF3EM480/387ae640-5bec-11eb-8d21-020f2e5ad013","arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-DeployStack-1ETR2UF3EM480/387ae640-5bec-11eb-8d21-020f2e5ad013"],"parent":"Stack-eu-west-1-060997615305","level":3,"id":"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-DeployStack-1ETR2UF3EM480/387ae640-5bec-11eb-8d21-020f2e5ad013","title":"S3F2POC-DeployStack-1ETR2UF3EM480","label":"S3F2POC-Depl...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-DeployStack-1ETR2UF3EM480/387ae640-5bec-11eb-8d21-020f2e5ad013","image":"/icons/AWS-CloudFormation.svg","cost":0,"private":false,"resource":{"id":"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-DeployStack-1ETR2UF3EM480/387ae640-5bec-11eb-8d21-020f2e5ad013","name":"S3F2POC-DeployStack-1ETR2UF3EM480","value":null,"type":"AWS::CloudFormation::Stack","tags":"[]","arn":"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-DeployStack-1ETR2UF3EM480/387ae640-5bec-11eb-8d21-020f2e5ad013","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-DeployStack-1ETR2UF3EM480/387ae640-5bec-11eb-8d21-020f2e5ad013","configuration":"\"{\\\"outputs\\\":[],\\\"capabilities\\\":[\\\"CAPABILITY_AUTO_EXPAND\\\",\\\"CAPABILITY_NAMED_IAM\\\",\\\"CAPABILITY_IAM\\\"],\\\"creationTime\\\":\\\"2021-01-21T13:26:08Z\\\",\\\"notificationARNs\\\":[],\\\"stackId\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-DeployStack-1ETR2UF3EM480/387ae640-5bec-11eb-8d21-020f2e5ad013\\\",\\\"stackName\\\":\\\"S3F2POC-DeployStack-1ETR2UF3EM480\\\",\\\"description\\\":\\\"Amazon S3 Find and Forget Deployment helper\\\",\\\"stackStatus\\\":\\\"CREATE_COMPLETE\\\",\\\"disableRollback\\\":true,\\\"parentId\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC/354700e0-5beb-11eb-9702-0214faeb7eeb\\\",\\\"tags\\\":[],\\\"driftInformation\\\":{\\\"stackDriftStatus\\\":\\\"NOT_CHECKED\\\"},\\\"enableTerminationProtection\\\":false,\\\"parameters\\\":[{\\\"parameterKey\\\":\\\"ResourcePrefix\\\",\\\"parameterValue\\\":\\\"S3F2POC\\\"},{\\\"parameterKey\\\":\\\"CloudFrontDistribution\\\",\\\"parameterValue\\\":\\\"none\\\"},{\\\"parameterKey\\\":\\\"CognitoIdentityPoolId\\\",\\\"parameterValue\\\":\\\"eu-west-1:be7d1292-3546-4a80-8af6-cb094e705d1b\\\"},{\\\"parameterKey\\\":\\\"LogLevel\\\",\\\"parameterValue\\\":\\\"INFO\\\"},{\\\"parameterKey\\\":\\\"CommonLayers\\\",\\\"parameterValue\\\":\\\"arn:aws:lambda:eu-west-1:060997615305:layer:AWSSDK:4,arn:aws:lambda:eu-west-1:060997615305:layer:BotoUtils:4,arn:aws:lambda:eu-west-1:060997615305:layer:CustomResourceHelper:4,arn:aws:lambda:eu-west-1:060997615305:layer:Decorators:4\\\"},{\\\"parameterKey\\\":\\\"CognitoUserPoolClientId\\\",\\\"parameterValue\\\":\\\"3dgce24akl1del1kr19g2l5drt\\\"},{\\\"parameterKey\\\":\\\"CognitoUserPoolId\\\",\\\"parameterValue\\\":\\\"eu-west-1_gpYX5plm5\\\"},{\\\"parameterKey\\\":\\\"ApiUrl\\\",\\\"parameterValue\\\":\\\"https://798b11ubfl.execute-api.eu-west-1.amazonaws.com/Prod/\\\"},{\\\"parameterKey\\\":\\\"Version\\\",\\\"parameterValue\\\":\\\"v0.20-redaction-poc\\\"},{\\\"parameterKey\\\":\\\"PreBuiltArtefactsBucket\\\",\\\"parameterValue\\\":\\\"matteo-poc\\\"},{\\\"parameterKey\\\":\\\"CodeBuildArtefactBucket\\\",\\\"parameterValue\\\":\\\"s3f2poc-tempbucket-whrisol6u9bh\\\"},{\\\"parameterKey\\\":\\\"ECRRepository\\\",\\\"parameterValue\\\":\\\"ecrrepository-atiqsii6rr9q\\\"},{\\\"parameterKey\\\":\\\"AthenaExecutionRole\\\",\\\"parameterValue\\\":\\\"S3F2POC-StateMachineStack-10BR76B-ExecuteQueryRole-126HYZ6GZUZ8T\\\"},{\\\"parameterKey\\\":\\\"WebUIBucket\\\",\\\"parameterValue\\\":\\\"s3f2poc-webuistack-1i72elaep43e2-webuibucket-2bku1mkgd04h\\\"},{\\\"parameterKey\\\":\\\"ArtefactName\\\",\\\"parameterValue\\\":\\\"build/s3f2.zip\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Regional","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-DeployStack-1ETR2UF3EM480/387ae640-5bec-11eb-8d21-020f2e5ad013","resourceName":"S3F2POC-DeployStack-1ETR2UF3EM480","resourceType":"AWS::CloudFormation::Stack","resourceValue":null,"state":null,"tags":"[]","title":"S3F2POC-DeployStack-1ETR2UF3EM480","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1936.5,"y":1676.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/aws-service-role/ecs.amazonaws.com/AWSServiceRoleForECS","resourceId":["AROAJ27KQUYMENHOWM64G","arn:aws:iam::060997615305:role/aws-service-role/ecs.amazonaws.com/AWSServiceRoleForECS"],"parent":"Role-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/aws-service-role/ecs.amazonaws.com/AWSServiceRoleForECS","title":"AWSServiceRoleForECS","label":"AWSServiceRo...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/aws-service-role/ecs.amazonaws.com/AWSServiceRoleForECS","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAJ27KQUYMENHOWM64G","name":"AWSServiceRoleForECS","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::060997615305:role/aws-service-role/ecs.amazonaws.com/AWSServiceRoleForECS","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/aws-service-role/ecs.amazonaws.com/AWSServiceRoleForECS","configuration":"\"{\\\"path\\\":\\\"/aws-service-role/ecs.amazonaws.com/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22ecs.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAJ27KQUYMENHOWM64G\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/aws-service-role/AmazonECSServiceRolePolicy\\\",\\\"policyName\\\":\\\"AmazonECSServiceRolePolicy\\\"}],\\\"roleName\\\":\\\"AWSServiceRoleForECS\\\",\\\"arn\\\":\\\"arn:aws:iam::060997615305:role/aws-service-role/ecs.amazonaws.com/AWSServiceRoleForECS\\\",\\\"createDate\\\":\\\"2019-02-07T16:44:14.000Z\\\",\\\"rolePolicyList\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAJ27KQUYMENHOWM64G","resourceName":"AWSServiceRoleForECS","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"AWSServiceRoleForECS","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-2122.5,"y":2088.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"id":"vpc-0d80b20485af3a1d8-eu-west-1-060997615305","parent":"eu-west-1-060997615305","level":2,"title":"vpc-0d80b20485af3a1d8","label":"vpc-0d80b20485af3a1d8","plainLabel":"vpc-0d80b20485af3a1d8","type":"vpc","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/VPC-collapsed.svg","clickedId":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8","cost":0,"hasChildren":true,"children":[{"id":null,"label":"eu-west-1a,eu-west-1b,eu-west-1c","parent":null,"type":"availabilityZone","data":null,"properties":null,"children":[{"id":null,"label":"Service","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ecs:eu-west-1:060997615305:service/S3F2POC-DelStack-TC52BDMFNB7Q-ECSCluster-kZ8X2p7awLv6/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteService-ngsbUHGOkaHg","label":"AWS_ECS_Service","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ecs:eu-west-1:060997615305:service/S3F2POC-DelStack-TC52BDMFNB7Q-ECSCluster-kZ8X2p7awLv6/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteService-ngsbUHGOkaHg","configuration":"\"{\\\"PlatformVersion\\\":\\\"LATEST\\\",\\\"EnableECSManagedTags\\\":false,\\\"PlacementConstraints\\\":[],\\\"Cluster\\\":\\\"arn:aws:ecs:eu-west-1:060997615305:cluster/S3F2POC-DelStack-TC52BDMFNB7Q-ECSCluster-kZ8X2p7awLv6\\\",\\\"LoadBalancers\\\":[],\\\"ServiceArn\\\":\\\"arn:aws:ecs:eu-west-1:060997615305:service/S3F2POC-DelStack-TC52BDMFNB7Q-ECSCluster-kZ8X2p7awLv6/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteService-ngsbUHGOkaHg\\\",\\\"DesiredCount\\\":0,\\\"PlacementStrategies\\\":[],\\\"DeploymentController\\\":{\\\"Type\\\":\\\"ECS\\\"},\\\"ServiceRegistries\\\":[],\\\"CapacityProviderStrategy\\\":[],\\\"LaunchType\\\":\\\"FARGATE\\\",\\\"Name\\\":\\\"S3F2POC-DelStack-TC52BDMFNB7Q-DeleteService-ngsbUHGOkaHg\\\",\\\"Role\\\":\\\"arn:aws:iam::060997615305:role/aws-service-role/ecs.amazonaws.com/AWSServiceRoleForECS\\\",\\\"SchedulingStrategy\\\":\\\"REPLICA\\\",\\\"TaskDefinition\\\":\\\"arn:aws:ecs:eu-west-1:060997615305:task-definition/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteTaskDefinition-Vvxa715MuWm2:1\\\",\\\"ServiceName\\\":\\\"S3F2POC-DelStack-TC52BDMFNB7Q-DeleteService-ngsbUHGOkaHg\\\",\\\"NetworkConfiguration\\\":{\\\"AwsvpcConfiguration\\\":{\\\"SecurityGroups\\\":[\\\"sg-0caf4503bc4536a40\\\"],\\\"Subnets\\\":[\\\"subnet-0b5f8a2321f4781d9\\\",\\\"subnet-094e8bf3e6b674e9c\\\",\\\"subnet-055bc3199a2ef29c6\\\"],\\\"AssignPublicIp\\\":\\\"DISABLED\\\"}},\\\"DeploymentConfiguration\\\":{\\\"DeploymentCircuitBreaker\\\":{\\\"Enable\\\":false,\\\"Rollback\\\":false},\\\"MaximumPercent\\\":200,\\\"MinimumHealthyPercent\\\":100},\\\"Tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a,eu-west-1b,eu-west-1c","vpcId":"vpc-0d80b20485af3a1d8","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:ecs:eu-west-1:060997615305:service/S3F2POC-DelStack-TC52BDMFNB7Q-ECSCluster-kZ8X2p7awLv6/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteService-ngsbUHGOkaHg","resourceName":"S3F2POC-DelStack-TC52BDMFNB7Q-DeleteService-ngsbUHGOkaHg","resourceType":"AWS::ECS::Service","resourceValue":null,"state":null,"tags":"[]","title":"S3F2POC-DelStack-TC52BDMFNB7Q-DeleteService-ngsbUHGOkaHg","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]}]},{"id":null,"label":"eu-west-1a","parent":null,"type":"availabilityZone","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-094e8bf3e6b674e9c","label":"subnet-094e8bf3e6b674e9c","parent":null,"type":"subnet","data":{"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-094e8bf3e6b674e9c","configuration":"\"{\\\"subnetId\\\":\\\"subnet-094e8bf3e6b674e9c\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-094e8bf3e6b674e9c\\\",\\\"availabilityZoneId\\\":\\\"euw1-az2\\\",\\\"cidrBlock\\\":\\\"10.0.0.0/22\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"PrivateSubnet1\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2 Private Subnet 1\\\",\\\"key\\\":\\\"Name\\\"}],\\\"availableIpAddressCount\\\":1014,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"mapPublicIpOnLaunch\\\":false,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-0d80b20485af3a1d8","subnetId":"subnet-094e8bf3e6b674e9c","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":"true","resourceId":"subnet-094e8bf3e6b674e9c","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2POC-VpcStack-1UF8O2EU11VA2\",\"value\":\"S3F2POC-VpcStack-1UF8O2EU11VA2\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateSubnet1\",\"value\":\"PrivateSubnet1\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=S3F2POC-VpcStack-1UF8O2EU11VA2 Private Subnet 1\",\"value\":\"S3F2POC-VpcStack-1UF8O2EU11VA2 Private Subnet 1\",\"key\":\"Name\"}]","title":"S3F2POC-VpcStack-1UF8O2EU11VA2 Private Subnet 1","instanceType":null,"statement":null,"dBInstanceStatus":null},"id":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-094e8bf3e6b674e9c","label":"AWS_EC2_Subnet"},"properties":null,"children":[]}]},{"id":null,"label":"eu-west-1c","parent":null,"type":"availabilityZone","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-0b5f8a2321f4781d9","label":"subnet-0b5f8a2321f4781d9","parent":null,"type":"subnet","data":{"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-0b5f8a2321f4781d9","configuration":"\"{\\\"subnetId\\\":\\\"subnet-0b5f8a2321f4781d9\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-0b5f8a2321f4781d9\\\",\\\"availabilityZoneId\\\":\\\"euw1-az1\\\",\\\"cidrBlock\\\":\\\"10.0.8.0/22\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2 Private Subnet 3\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"PrivateSubnet3\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"}],\\\"availableIpAddressCount\\\":1014,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"mapPublicIpOnLaunch\\\":false,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-0d80b20485af3a1d8","subnetId":"subnet-0b5f8a2321f4781d9","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":"true","resourceId":"subnet-0b5f8a2321f4781d9","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2POC-VpcStack-1UF8O2EU11VA2\",\"value\":\"S3F2POC-VpcStack-1UF8O2EU11VA2\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateSubnet3\",\"value\":\"PrivateSubnet3\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=S3F2POC-VpcStack-1UF8O2EU11VA2 Private Subnet 3\",\"value\":\"S3F2POC-VpcStack-1UF8O2EU11VA2 Private Subnet 3\",\"key\":\"Name\"}]","title":"S3F2POC-VpcStack-1UF8O2EU11VA2 Private Subnet 3","instanceType":null,"statement":null,"dBInstanceStatus":null},"id":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-0b5f8a2321f4781d9","label":"AWS_EC2_Subnet"},"properties":null,"children":[]}]},{"id":null,"label":"eu-west-1b","parent":null,"type":"availabilityZone","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-055bc3199a2ef29c6","label":"subnet-055bc3199a2ef29c6","parent":null,"type":"subnet","data":{"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-055bc3199a2ef29c6","configuration":"\"{\\\"subnetId\\\":\\\"subnet-055bc3199a2ef29c6\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-055bc3199a2ef29c6\\\",\\\"availabilityZoneId\\\":\\\"euw1-az3\\\",\\\"cidrBlock\\\":\\\"10.0.4.0/22\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"PrivateSubnet2\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2 Private Subnet 2\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"}],\\\"availableIpAddressCount\\\":1014,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"mapPublicIpOnLaunch\\\":false,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-0d80b20485af3a1d8","subnetId":"subnet-055bc3199a2ef29c6","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":"true","resourceId":"subnet-055bc3199a2ef29c6","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2POC-VpcStack-1UF8O2EU11VA2\",\"value\":\"S3F2POC-VpcStack-1UF8O2EU11VA2\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateSubnet2\",\"value\":\"PrivateSubnet2\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=S3F2POC-VpcStack-1UF8O2EU11VA2 Private Subnet 2\",\"value\":\"S3F2POC-VpcStack-1UF8O2EU11VA2 Private Subnet 2\",\"key\":\"Name\"}]","title":"S3F2POC-VpcStack-1UF8O2EU11VA2 Private Subnet 2","instanceType":null,"statement":null,"dBInstanceStatus":null},"id":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-055bc3199a2ef29c6","label":"AWS_EC2_Subnet"},"properties":null,"children":[]}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#248814","properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8","configuration":"\"{\\\"instanceTenancy\\\":\\\"default\\\",\\\"isDefault\\\":false,\\\"dhcpOptionsId\\\":\\\"dopt-43b00b25\\\",\\\"cidrBlock\\\":\\\"10.0.0.0/16\\\",\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"cidrBlockAssociationSet\\\":[{\\\"cidrBlock\\\":\\\"10.0.0.0/16\\\",\\\"cidrBlockState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"associationId\\\":\\\"vpc-cidr-assoc-071086674a1ce7ad8\\\"}],\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipv6CidrBlockAssociationSet\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"VPC\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2 VPC\\\",\\\"key\\\":\\\"Name\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":null,"subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#vpcs:sort=VpcId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#vpcs:sort=VpcId","private":null,"resourceId":"vpc-0d80b20485af3a1d8","resourceName":null,"resourceType":"AWS::EC2::VPC","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2POC-VpcStack-1UF8O2EU11VA2\",\"value\":\"S3F2POC-VpcStack-1UF8O2EU11VA2\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=VPC\",\"value\":\"VPC\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=S3F2POC-VpcStack-1UF8O2EU11VA2 VPC\",\"value\":\"S3F2POC-VpcStack-1UF8O2EU11VA2 VPC\",\"key\":\"Name\"}]","title":"S3F2POC-VpcStack-1UF8O2EU11VA2 VPC","instanceType":null,"statement":null,"dBInstanceStatus":null},"resource":{"id":"vpc-0d80b20485af3a1d8","name":null,"value":null,"type":"AWS::EC2::VPC","tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2POC-VpcStack-1UF8O2EU11VA2\",\"value\":\"S3F2POC-VpcStack-1UF8O2EU11VA2\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=VPC\",\"value\":\"VPC\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=S3F2POC-VpcStack-1UF8O2EU11VA2 VPC\",\"value\":\"S3F2POC-VpcStack-1UF8O2EU11VA2 VPC\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#vpcs:sort=VpcId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#vpcs:sort=VpcId","accountId":"060997615305"}},"position":{"x":-804.5,"y":632.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"vpc removeAll _gridParentPadding"},{"data":{"id":"eu-west-1a,eu-west-1b,eu-west-1c-vpc-0d80b20485af3a1d8-eu-west-1-060997615305","parent":"vpc-0d80b20485af3a1d8-eu-west-1-060997615305","level":3,"title":"eu-west-1a,eu-west-1b,eu-west-1c","label":"eu-west-1a,eu-west-1b,eu-west-1c","plainLabel":"eu-west-1a,eu-west-1b,eu-west-1c","type":"availabilityZone","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/availabilityZone.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":null,"label":"Service","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ecs:eu-west-1:060997615305:service/S3F2POC-DelStack-TC52BDMFNB7Q-ECSCluster-kZ8X2p7awLv6/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteService-ngsbUHGOkaHg","label":"AWS_ECS_Service","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ecs:eu-west-1:060997615305:service/S3F2POC-DelStack-TC52BDMFNB7Q-ECSCluster-kZ8X2p7awLv6/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteService-ngsbUHGOkaHg","configuration":"\"{\\\"PlatformVersion\\\":\\\"LATEST\\\",\\\"EnableECSManagedTags\\\":false,\\\"PlacementConstraints\\\":[],\\\"Cluster\\\":\\\"arn:aws:ecs:eu-west-1:060997615305:cluster/S3F2POC-DelStack-TC52BDMFNB7Q-ECSCluster-kZ8X2p7awLv6\\\",\\\"LoadBalancers\\\":[],\\\"ServiceArn\\\":\\\"arn:aws:ecs:eu-west-1:060997615305:service/S3F2POC-DelStack-TC52BDMFNB7Q-ECSCluster-kZ8X2p7awLv6/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteService-ngsbUHGOkaHg\\\",\\\"DesiredCount\\\":0,\\\"PlacementStrategies\\\":[],\\\"DeploymentController\\\":{\\\"Type\\\":\\\"ECS\\\"},\\\"ServiceRegistries\\\":[],\\\"CapacityProviderStrategy\\\":[],\\\"LaunchType\\\":\\\"FARGATE\\\",\\\"Name\\\":\\\"S3F2POC-DelStack-TC52BDMFNB7Q-DeleteService-ngsbUHGOkaHg\\\",\\\"Role\\\":\\\"arn:aws:iam::060997615305:role/aws-service-role/ecs.amazonaws.com/AWSServiceRoleForECS\\\",\\\"SchedulingStrategy\\\":\\\"REPLICA\\\",\\\"TaskDefinition\\\":\\\"arn:aws:ecs:eu-west-1:060997615305:task-definition/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteTaskDefinition-Vvxa715MuWm2:1\\\",\\\"ServiceName\\\":\\\"S3F2POC-DelStack-TC52BDMFNB7Q-DeleteService-ngsbUHGOkaHg\\\",\\\"NetworkConfiguration\\\":{\\\"AwsvpcConfiguration\\\":{\\\"SecurityGroups\\\":[\\\"sg-0caf4503bc4536a40\\\"],\\\"Subnets\\\":[\\\"subnet-0b5f8a2321f4781d9\\\",\\\"subnet-094e8bf3e6b674e9c\\\",\\\"subnet-055bc3199a2ef29c6\\\"],\\\"AssignPublicIp\\\":\\\"DISABLED\\\"}},\\\"DeploymentConfiguration\\\":{\\\"DeploymentCircuitBreaker\\\":{\\\"Enable\\\":false,\\\"Rollback\\\":false},\\\"MaximumPercent\\\":200,\\\"MinimumHealthyPercent\\\":100},\\\"Tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a,eu-west-1b,eu-west-1c","vpcId":"vpc-0d80b20485af3a1d8","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:ecs:eu-west-1:060997615305:service/S3F2POC-DelStack-TC52BDMFNB7Q-ECSCluster-kZ8X2p7awLv6/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteService-ngsbUHGOkaHg","resourceName":"S3F2POC-DelStack-TC52BDMFNB7Q-DeleteService-ngsbUHGOkaHg","resourceType":"AWS::ECS::Service","resourceValue":null,"state":null,"tags":"[]","title":"S3F2POC-DelStack-TC52BDMFNB7Q-DeleteService-ngsbUHGOkaHg","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-726.5,"y":964.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"availabilityZone removeAll _gridParentPadding"},{"data":{"id":"Service-eu-west-1a,eu-west-1b,eu-west-1c-vpc-0d80b20485af3a1d8-eu-west-1-060997615305","parent":"eu-west-1a,eu-west-1b,eu-west-1c-vpc-0d80b20485af3a1d8-eu-west-1-060997615305","level":4,"title":"Service","label":"Service","plainLabel":"Service","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-Elastic-Container-Service_Service_light-bg-menu.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ecs:eu-west-1:060997615305:service/S3F2POC-DelStack-TC52BDMFNB7Q-ECSCluster-kZ8X2p7awLv6/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteService-ngsbUHGOkaHg","label":"AWS_ECS_Service","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ecs:eu-west-1:060997615305:service/S3F2POC-DelStack-TC52BDMFNB7Q-ECSCluster-kZ8X2p7awLv6/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteService-ngsbUHGOkaHg","configuration":"\"{\\\"PlatformVersion\\\":\\\"LATEST\\\",\\\"EnableECSManagedTags\\\":false,\\\"PlacementConstraints\\\":[],\\\"Cluster\\\":\\\"arn:aws:ecs:eu-west-1:060997615305:cluster/S3F2POC-DelStack-TC52BDMFNB7Q-ECSCluster-kZ8X2p7awLv6\\\",\\\"LoadBalancers\\\":[],\\\"ServiceArn\\\":\\\"arn:aws:ecs:eu-west-1:060997615305:service/S3F2POC-DelStack-TC52BDMFNB7Q-ECSCluster-kZ8X2p7awLv6/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteService-ngsbUHGOkaHg\\\",\\\"DesiredCount\\\":0,\\\"PlacementStrategies\\\":[],\\\"DeploymentController\\\":{\\\"Type\\\":\\\"ECS\\\"},\\\"ServiceRegistries\\\":[],\\\"CapacityProviderStrategy\\\":[],\\\"LaunchType\\\":\\\"FARGATE\\\",\\\"Name\\\":\\\"S3F2POC-DelStack-TC52BDMFNB7Q-DeleteService-ngsbUHGOkaHg\\\",\\\"Role\\\":\\\"arn:aws:iam::060997615305:role/aws-service-role/ecs.amazonaws.com/AWSServiceRoleForECS\\\",\\\"SchedulingStrategy\\\":\\\"REPLICA\\\",\\\"TaskDefinition\\\":\\\"arn:aws:ecs:eu-west-1:060997615305:task-definition/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteTaskDefinition-Vvxa715MuWm2:1\\\",\\\"ServiceName\\\":\\\"S3F2POC-DelStack-TC52BDMFNB7Q-DeleteService-ngsbUHGOkaHg\\\",\\\"NetworkConfiguration\\\":{\\\"AwsvpcConfiguration\\\":{\\\"SecurityGroups\\\":[\\\"sg-0caf4503bc4536a40\\\"],\\\"Subnets\\\":[\\\"subnet-0b5f8a2321f4781d9\\\",\\\"subnet-094e8bf3e6b674e9c\\\",\\\"subnet-055bc3199a2ef29c6\\\"],\\\"AssignPublicIp\\\":\\\"DISABLED\\\"}},\\\"DeploymentConfiguration\\\":{\\\"DeploymentCircuitBreaker\\\":{\\\"Enable\\\":false,\\\"Rollback\\\":false},\\\"MaximumPercent\\\":200,\\\"MinimumHealthyPercent\\\":100},\\\"Tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a,eu-west-1b,eu-west-1c","vpcId":"vpc-0d80b20485af3a1d8","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:ecs:eu-west-1:060997615305:service/S3F2POC-DelStack-TC52BDMFNB7Q-ECSCluster-kZ8X2p7awLv6/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteService-ngsbUHGOkaHg","resourceName":"S3F2POC-DelStack-TC52BDMFNB7Q-DeleteService-ngsbUHGOkaHg","resourceType":"AWS::ECS::Service","resourceValue":null,"state":null,"tags":"[]","title":"S3F2POC-DelStack-TC52BDMFNB7Q-DeleteService-ngsbUHGOkaHg","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-726.5,"y":964.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ecs:eu-west-1:060997615305:service/S3F2POC-DelStack-TC52BDMFNB7Q-ECSCluster-kZ8X2p7awLv6/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteService-ngsbUHGOkaHg","resourceId":["arn:aws:ecs:eu-west-1:060997615305:service/S3F2POC-DelStack-TC52BDMFNB7Q-ECSCluster-kZ8X2p7awLv6/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteService-ngsbUHGOkaHg","arn:aws:ecs:eu-west-1:060997615305:service/S3F2POC-DelStack-TC52BDMFNB7Q-ECSCluster-kZ8X2p7awLv6/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteService-ngsbUHGOkaHg"],"parent":"Service-eu-west-1a,eu-west-1b,eu-west-1c-vpc-0d80b20485af3a1d8-eu-west-1-060997615305","level":5,"id":"arn:aws:ecs:eu-west-1:060997615305:service/S3F2POC-DelStack-TC52BDMFNB7Q-ECSCluster-kZ8X2p7awLv6/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteService-ngsbUHGOkaHg","title":"S3F2POC-DelStack-TC52BDMFNB7Q-DeleteService-ngsbUHGOkaHg","label":"S3F2POC-DelS...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ecs:eu-west-1:060997615305:service/S3F2POC-DelStack-TC52BDMFNB7Q-ECSCluster-kZ8X2p7awLv6/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteService-ngsbUHGOkaHg","image":"/icons/Amazon-Elastic-Container-Service_Service_light-bg-menu.svg","cost":0,"private":false,"resource":{"id":"arn:aws:ecs:eu-west-1:060997615305:service/S3F2POC-DelStack-TC52BDMFNB7Q-ECSCluster-kZ8X2p7awLv6/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteService-ngsbUHGOkaHg","name":"S3F2POC-DelStack-TC52BDMFNB7Q-DeleteService-ngsbUHGOkaHg","value":null,"type":"AWS::ECS::Service","tags":"[]","arn":"arn:aws:ecs:eu-west-1:060997615305:service/S3F2POC-DelStack-TC52BDMFNB7Q-ECSCluster-kZ8X2p7awLv6/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteService-ngsbUHGOkaHg","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ecs:eu-west-1:060997615305:service/S3F2POC-DelStack-TC52BDMFNB7Q-ECSCluster-kZ8X2p7awLv6/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteService-ngsbUHGOkaHg","configuration":"\"{\\\"PlatformVersion\\\":\\\"LATEST\\\",\\\"EnableECSManagedTags\\\":false,\\\"PlacementConstraints\\\":[],\\\"Cluster\\\":\\\"arn:aws:ecs:eu-west-1:060997615305:cluster/S3F2POC-DelStack-TC52BDMFNB7Q-ECSCluster-kZ8X2p7awLv6\\\",\\\"LoadBalancers\\\":[],\\\"ServiceArn\\\":\\\"arn:aws:ecs:eu-west-1:060997615305:service/S3F2POC-DelStack-TC52BDMFNB7Q-ECSCluster-kZ8X2p7awLv6/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteService-ngsbUHGOkaHg\\\",\\\"DesiredCount\\\":0,\\\"PlacementStrategies\\\":[],\\\"DeploymentController\\\":{\\\"Type\\\":\\\"ECS\\\"},\\\"ServiceRegistries\\\":[],\\\"CapacityProviderStrategy\\\":[],\\\"LaunchType\\\":\\\"FARGATE\\\",\\\"Name\\\":\\\"S3F2POC-DelStack-TC52BDMFNB7Q-DeleteService-ngsbUHGOkaHg\\\",\\\"Role\\\":\\\"arn:aws:iam::060997615305:role/aws-service-role/ecs.amazonaws.com/AWSServiceRoleForECS\\\",\\\"SchedulingStrategy\\\":\\\"REPLICA\\\",\\\"TaskDefinition\\\":\\\"arn:aws:ecs:eu-west-1:060997615305:task-definition/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteTaskDefinition-Vvxa715MuWm2:1\\\",\\\"ServiceName\\\":\\\"S3F2POC-DelStack-TC52BDMFNB7Q-DeleteService-ngsbUHGOkaHg\\\",\\\"NetworkConfiguration\\\":{\\\"AwsvpcConfiguration\\\":{\\\"SecurityGroups\\\":[\\\"sg-0caf4503bc4536a40\\\"],\\\"Subnets\\\":[\\\"subnet-0b5f8a2321f4781d9\\\",\\\"subnet-094e8bf3e6b674e9c\\\",\\\"subnet-055bc3199a2ef29c6\\\"],\\\"AssignPublicIp\\\":\\\"DISABLED\\\"}},\\\"DeploymentConfiguration\\\":{\\\"DeploymentCircuitBreaker\\\":{\\\"Enable\\\":false,\\\"Rollback\\\":false},\\\"MaximumPercent\\\":200,\\\"MinimumHealthyPercent\\\":100},\\\"Tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a,eu-west-1b,eu-west-1c","vpcId":"vpc-0d80b20485af3a1d8","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:ecs:eu-west-1:060997615305:service/S3F2POC-DelStack-TC52BDMFNB7Q-ECSCluster-kZ8X2p7awLv6/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteService-ngsbUHGOkaHg","resourceName":"S3F2POC-DelStack-TC52BDMFNB7Q-DeleteService-ngsbUHGOkaHg","resourceType":"AWS::ECS::Service","resourceValue":null,"state":null,"tags":"[]","title":"S3F2POC-DelStack-TC52BDMFNB7Q-DeleteService-ngsbUHGOkaHg","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-726.5,"y":964.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"eu-west-1a-vpc-0d80b20485af3a1d8-eu-west-1-060997615305","parent":"vpc-0d80b20485af3a1d8-eu-west-1-060997615305","level":3,"title":"eu-west-1a","label":"eu-west-1a","plainLabel":"eu-west-1a","type":"availabilityZone","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/availabilityZone.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-094e8bf3e6b674e9c","label":"subnet-094e8bf3e6b674e9c","parent":null,"type":"subnet","data":{"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-094e8bf3e6b674e9c","configuration":"\"{\\\"subnetId\\\":\\\"subnet-094e8bf3e6b674e9c\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-094e8bf3e6b674e9c\\\",\\\"availabilityZoneId\\\":\\\"euw1-az2\\\",\\\"cidrBlock\\\":\\\"10.0.0.0/22\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"PrivateSubnet1\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2 Private Subnet 1\\\",\\\"key\\\":\\\"Name\\\"}],\\\"availableIpAddressCount\\\":1014,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"mapPublicIpOnLaunch\\\":false,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-0d80b20485af3a1d8","subnetId":"subnet-094e8bf3e6b674e9c","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":"true","resourceId":"subnet-094e8bf3e6b674e9c","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2POC-VpcStack-1UF8O2EU11VA2\",\"value\":\"S3F2POC-VpcStack-1UF8O2EU11VA2\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateSubnet1\",\"value\":\"PrivateSubnet1\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=S3F2POC-VpcStack-1UF8O2EU11VA2 Private Subnet 1\",\"value\":\"S3F2POC-VpcStack-1UF8O2EU11VA2 Private Subnet 1\",\"key\":\"Name\"}]","title":"S3F2POC-VpcStack-1UF8O2EU11VA2 Private Subnet 1","instanceType":null,"statement":null,"dBInstanceStatus":null},"id":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-094e8bf3e6b674e9c","label":"AWS_EC2_Subnet"},"properties":null,"children":[]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1010.5,"y":367.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"availabilityZone removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-094e8bf3e6b674e9c","resourceId":["subnet-094e8bf3e6b674e9c","arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-094e8bf3e6b674e9c"],"parent":"eu-west-1a-vpc-0d80b20485af3a1d8-eu-west-1-060997615305","level":4,"id":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-094e8bf3e6b674e9c","title":"S3F2POC-VpcStack-1UF8O2EU11VA2 Private Subnet 1","label":"S3F2POC-VpcS...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-094e8bf3e6b674e9c","image":"/icons/VPC-subnet-private_light-bg-menu.svg","cost":0,"private":true,"resource":{"id":"subnet-094e8bf3e6b674e9c","name":null,"value":null,"type":"AWS::EC2::Subnet","tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2POC-VpcStack-1UF8O2EU11VA2\",\"value\":\"S3F2POC-VpcStack-1UF8O2EU11VA2\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateSubnet1\",\"value\":\"PrivateSubnet1\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=S3F2POC-VpcStack-1UF8O2EU11VA2 Private Subnet 1\",\"value\":\"S3F2POC-VpcStack-1UF8O2EU11VA2 Private Subnet 1\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-094e8bf3e6b674e9c","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-094e8bf3e6b674e9c","configuration":"\"{\\\"subnetId\\\":\\\"subnet-094e8bf3e6b674e9c\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-094e8bf3e6b674e9c\\\",\\\"availabilityZoneId\\\":\\\"euw1-az2\\\",\\\"cidrBlock\\\":\\\"10.0.0.0/22\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"PrivateSubnet1\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2 Private Subnet 1\\\",\\\"key\\\":\\\"Name\\\"}],\\\"availableIpAddressCount\\\":1014,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"mapPublicIpOnLaunch\\\":false,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-0d80b20485af3a1d8","subnetId":"subnet-094e8bf3e6b674e9c","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":"true","resourceId":"subnet-094e8bf3e6b674e9c","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2POC-VpcStack-1UF8O2EU11VA2\",\"value\":\"S3F2POC-VpcStack-1UF8O2EU11VA2\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateSubnet1\",\"value\":\"PrivateSubnet1\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=S3F2POC-VpcStack-1UF8O2EU11VA2 Private Subnet 1\",\"value\":\"S3F2POC-VpcStack-1UF8O2EU11VA2 Private Subnet 1\",\"key\":\"Name\"}]","title":"S3F2POC-VpcStack-1UF8O2EU11VA2 Private Subnet 1","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-859.5,"y":269.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"eu-west-1c-vpc-0d80b20485af3a1d8-eu-west-1-060997615305","parent":"vpc-0d80b20485af3a1d8-eu-west-1-060997615305","level":3,"title":"eu-west-1c","label":"eu-west-1c","plainLabel":"eu-west-1c","type":"availabilityZone","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/availabilityZone.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-0b5f8a2321f4781d9","label":"subnet-0b5f8a2321f4781d9","parent":null,"type":"subnet","data":{"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-0b5f8a2321f4781d9","configuration":"\"{\\\"subnetId\\\":\\\"subnet-0b5f8a2321f4781d9\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-0b5f8a2321f4781d9\\\",\\\"availabilityZoneId\\\":\\\"euw1-az1\\\",\\\"cidrBlock\\\":\\\"10.0.8.0/22\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2 Private Subnet 3\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"PrivateSubnet3\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"}],\\\"availableIpAddressCount\\\":1014,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"mapPublicIpOnLaunch\\\":false,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-0d80b20485af3a1d8","subnetId":"subnet-0b5f8a2321f4781d9","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":"true","resourceId":"subnet-0b5f8a2321f4781d9","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2POC-VpcStack-1UF8O2EU11VA2\",\"value\":\"S3F2POC-VpcStack-1UF8O2EU11VA2\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateSubnet3\",\"value\":\"PrivateSubnet3\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=S3F2POC-VpcStack-1UF8O2EU11VA2 Private Subnet 3\",\"value\":\"S3F2POC-VpcStack-1UF8O2EU11VA2 Private Subnet 3\",\"key\":\"Name\"}]","title":"S3F2POC-VpcStack-1UF8O2EU11VA2 Private Subnet 3","instanceType":null,"statement":null,"dBInstanceStatus":null},"id":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-0b5f8a2321f4781d9","label":"AWS_EC2_Subnet"},"properties":null,"children":[]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-598.5,"y":367.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"availabilityZone removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-0b5f8a2321f4781d9","resourceId":["subnet-0b5f8a2321f4781d9","arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-0b5f8a2321f4781d9"],"parent":"eu-west-1c-vpc-0d80b20485af3a1d8-eu-west-1-060997615305","level":4,"id":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-0b5f8a2321f4781d9","title":"S3F2POC-VpcStack-1UF8O2EU11VA2 Private Subnet 3","label":"S3F2POC-VpcS...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-0b5f8a2321f4781d9","image":"/icons/VPC-subnet-private_light-bg-menu.svg","cost":0,"private":true,"resource":{"id":"subnet-0b5f8a2321f4781d9","name":null,"value":null,"type":"AWS::EC2::Subnet","tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2POC-VpcStack-1UF8O2EU11VA2\",\"value\":\"S3F2POC-VpcStack-1UF8O2EU11VA2\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateSubnet3\",\"value\":\"PrivateSubnet3\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=S3F2POC-VpcStack-1UF8O2EU11VA2 Private Subnet 3\",\"value\":\"S3F2POC-VpcStack-1UF8O2EU11VA2 Private Subnet 3\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-0b5f8a2321f4781d9","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-0b5f8a2321f4781d9","configuration":"\"{\\\"subnetId\\\":\\\"subnet-0b5f8a2321f4781d9\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-0b5f8a2321f4781d9\\\",\\\"availabilityZoneId\\\":\\\"euw1-az1\\\",\\\"cidrBlock\\\":\\\"10.0.8.0/22\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2 Private Subnet 3\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"PrivateSubnet3\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"}],\\\"availableIpAddressCount\\\":1014,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"mapPublicIpOnLaunch\\\":false,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-0d80b20485af3a1d8","subnetId":"subnet-0b5f8a2321f4781d9","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":"true","resourceId":"subnet-0b5f8a2321f4781d9","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2POC-VpcStack-1UF8O2EU11VA2\",\"value\":\"S3F2POC-VpcStack-1UF8O2EU11VA2\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateSubnet3\",\"value\":\"PrivateSubnet3\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=S3F2POC-VpcStack-1UF8O2EU11VA2 Private Subnet 3\",\"value\":\"S3F2POC-VpcStack-1UF8O2EU11VA2 Private Subnet 3\",\"key\":\"Name\"}]","title":"S3F2POC-VpcStack-1UF8O2EU11VA2 Private Subnet 3","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-447.5,"y":269.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"eu-west-1b-vpc-0d80b20485af3a1d8-eu-west-1-060997615305","parent":"vpc-0d80b20485af3a1d8-eu-west-1-060997615305","level":3,"title":"eu-west-1b","label":"eu-west-1b","plainLabel":"eu-west-1b","type":"availabilityZone","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/availabilityZone.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-055bc3199a2ef29c6","label":"subnet-055bc3199a2ef29c6","parent":null,"type":"subnet","data":{"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-055bc3199a2ef29c6","configuration":"\"{\\\"subnetId\\\":\\\"subnet-055bc3199a2ef29c6\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-055bc3199a2ef29c6\\\",\\\"availabilityZoneId\\\":\\\"euw1-az3\\\",\\\"cidrBlock\\\":\\\"10.0.4.0/22\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"PrivateSubnet2\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2 Private Subnet 2\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"}],\\\"availableIpAddressCount\\\":1014,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"mapPublicIpOnLaunch\\\":false,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-0d80b20485af3a1d8","subnetId":"subnet-055bc3199a2ef29c6","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":"true","resourceId":"subnet-055bc3199a2ef29c6","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2POC-VpcStack-1UF8O2EU11VA2\",\"value\":\"S3F2POC-VpcStack-1UF8O2EU11VA2\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateSubnet2\",\"value\":\"PrivateSubnet2\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=S3F2POC-VpcStack-1UF8O2EU11VA2 Private Subnet 2\",\"value\":\"S3F2POC-VpcStack-1UF8O2EU11VA2 Private Subnet 2\",\"key\":\"Name\"}]","title":"S3F2POC-VpcStack-1UF8O2EU11VA2 Private Subnet 2","instanceType":null,"statement":null,"dBInstanceStatus":null},"id":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-055bc3199a2ef29c6","label":"AWS_EC2_Subnet"},"properties":null,"children":[]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1010.5,"y":696.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"availabilityZone removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-055bc3199a2ef29c6","resourceId":["subnet-055bc3199a2ef29c6","arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-055bc3199a2ef29c6"],"parent":"eu-west-1b-vpc-0d80b20485af3a1d8-eu-west-1-060997615305","level":4,"id":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-055bc3199a2ef29c6","title":"S3F2POC-VpcStack-1UF8O2EU11VA2 Private Subnet 2","label":"S3F2POC-VpcS...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-055bc3199a2ef29c6","image":"/icons/VPC-subnet-private_light-bg-menu.svg","cost":0,"private":true,"resource":{"id":"subnet-055bc3199a2ef29c6","name":null,"value":null,"type":"AWS::EC2::Subnet","tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2POC-VpcStack-1UF8O2EU11VA2\",\"value\":\"S3F2POC-VpcStack-1UF8O2EU11VA2\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateSubnet2\",\"value\":\"PrivateSubnet2\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=S3F2POC-VpcStack-1UF8O2EU11VA2 Private Subnet 2\",\"value\":\"S3F2POC-VpcStack-1UF8O2EU11VA2 Private Subnet 2\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-055bc3199a2ef29c6","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-055bc3199a2ef29c6","configuration":"\"{\\\"subnetId\\\":\\\"subnet-055bc3199a2ef29c6\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-055bc3199a2ef29c6\\\",\\\"availabilityZoneId\\\":\\\"euw1-az3\\\",\\\"cidrBlock\\\":\\\"10.0.4.0/22\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"PrivateSubnet2\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2 Private Subnet 2\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"}],\\\"availableIpAddressCount\\\":1014,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"mapPublicIpOnLaunch\\\":false,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-0d80b20485af3a1d8","subnetId":"subnet-055bc3199a2ef29c6","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":"true","resourceId":"subnet-055bc3199a2ef29c6","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2POC-VpcStack-1UF8O2EU11VA2\",\"value\":\"S3F2POC-VpcStack-1UF8O2EU11VA2\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateSubnet2\",\"value\":\"PrivateSubnet2\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=S3F2POC-VpcStack-1UF8O2EU11VA2 Private Subnet 2\",\"value\":\"S3F2POC-VpcStack-1UF8O2EU11VA2 Private Subnet 2\",\"key\":\"Name\"}]","title":"S3F2POC-VpcStack-1UF8O2EU11VA2 Private Subnet 2","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-859.5,"y":598.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/builder-portal-intake-form-Api-DefaultRole-1TWA35T7EM8WJ","resourceId":["AROAJ63FIPPCKWOLIDDTM","arn:aws:iam::060997615305:role/builder-portal-intake-form-Api-DefaultRole-1TWA35T7EM8WJ"],"parent":"Role-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/builder-portal-intake-form-Api-DefaultRole-1TWA35T7EM8WJ","title":"builder-portal-intake-form-Api-DefaultRole-1TWA35T7EM8WJ","label":"builder-port...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/builder-portal-intake-form-Api-DefaultRole-1TWA35T7EM8WJ","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAJ63FIPPCKWOLIDDTM","name":"builder-portal-intake-form-Api-DefaultRole-1TWA35T7EM8WJ","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::060997615305:role/builder-portal-intake-form-Api-DefaultRole-1TWA35T7EM8WJ","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/builder-portal-intake-form-Api-DefaultRole-1TWA35T7EM8WJ","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Sid%22%3A%22%22%2C%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22lambda.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAJ63FIPPCKWOLIDDTM\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"builder-portal-intake-form-Api-DefaultRole-1TWA35T7EM8WJ\\\",\\\"arn\\\":\\\"arn:aws:iam::060997615305:role/builder-portal-intake-form-Api-DefaultRole-1TWA35T7EM8WJ\\\",\\\"createDate\\\":\\\"2018-10-04T15:38:13.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22logs%3ACreateLogGroup%22%2C%22logs%3ACreateLogStream%22%2C%22logs%3APutLogEvents%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Alogs%3A%2A%3A%2A%3A%2A%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"DefaultRolePolicy\\\"}]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAJ63FIPPCKWOLIDDTM","resourceName":"builder-portal-intake-form-Api-DefaultRole-1TWA35T7EM8WJ","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"builder-portal-intake-form-Api-DefaultRole-1TWA35T7EM8WJ","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-2049.5,"y":2088.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/builder-portal-intake-form-Api-DefaultRole-1TWA35T7EM8WJ/inlinePolicy/DefaultRolePolicy","resourceId":["arn:aws:iam::060997615305:role/builder-portal-intake-form-Api-DefaultRole-1TWA35T7EM8WJ/inlinePolicy/DefaultRolePolicy","arn:aws:iam::060997615305:role/builder-portal-intake-form-Api-DefaultRole-1TWA35T7EM8WJ/inlinePolicy/DefaultRolePolicy"],"parent":"InlinePolicy-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/builder-portal-intake-form-Api-DefaultRole-1TWA35T7EM8WJ/inlinePolicy/DefaultRolePolicy","title":"arn:aws:iam::060997615305:role/builder-portal-intake-form-Api-DefaultRole-1TWA35T7EM8WJ/inlinePolicy/DefaultRolePolicy","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/builder-portal-intake-form-Api-DefaultRole-1TWA35T7EM8WJ/inlinePolicy/DefaultRolePolicy","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::060997615305:role/builder-portal-intake-form-Api-DefaultRole-1TWA35T7EM8WJ/inlinePolicy/DefaultRolePolicy","name":"arn:aws:iam::060997615305:role/builder-portal-intake-form-Api-DefaultRole-1TWA35T7EM8WJ/inlinePolicy/DefaultRolePolicy","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::060997615305:role/builder-portal-intake-form-Api-DefaultRole-1TWA35T7EM8WJ/inlinePolicy/DefaultRolePolicy","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/builder-portal-intake-form-Api-DefaultRole-1TWA35T7EM8WJ/inlinePolicy/DefaultRolePolicy","configuration":"\"{\\\"policyName\\\":\\\"DefaultRolePolicy\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"logs:CreateLogGroup\\\",\\\"logs:CreateLogStream\\\",\\\"logs:PutLogEvents\\\"],\\\"Resource\\\":\\\"arn:aws:logs:*:*:*\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::060997615305:role/builder-portal-intake-form-Api-DefaultRole-1TWA35T7EM8WJ/inlinePolicy/DefaultRolePolicy","resourceName":"arn:aws:iam::060997615305:role/builder-portal-intake-form-Api-DefaultRole-1TWA35T7EM8WJ/inlinePolicy/DefaultRolePolicy","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::060997615305:role/builder-portal-intake-form-Api-DefaultRole-1TWA35T7EM8WJ/inlinePolicy/DefaultRolePolicy","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1498.5,"y":1942.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"Function-eu-west-2-060997615305","parent":"eu-west-2-060997615305","level":2,"title":"Function","label":"Function","plainLabel":"Function","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/AWS-Lambda-menu.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:lambda:eu-west-2:060997615305:function:builder-portal-intake-form-Api-APIHandler-1EDQQ97ZAUFF5","label":"AWS_Lambda_Function","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:lambda:eu-west-2:060997615305:function:builder-portal-intake-form-Api-APIHandler-1EDQQ97ZAUFF5","configuration":"\"{\\\"architectures\\\":[\\\"x86_64\\\"],\\\"ephemeralStorage\\\":{\\\"size\\\":512},\\\"handler\\\":\\\"app.app\\\",\\\"role\\\":\\\"arn:aws:iam::060997615305:role/builder-portal-intake-form-Api-DefaultRole-1TWA35T7EM8WJ\\\",\\\"functionName\\\":\\\"builder-portal-intake-form-Api-APIHandler-1EDQQ97ZAUFF5\\\",\\\"tracingConfig\\\":{\\\"mode\\\":\\\"PassThrough\\\"},\\\"runtime\\\":\\\"python3.6\\\",\\\"description\\\":\\\"\\\",\\\"codeSize\\\":7167909,\\\"version\\\":\\\"$LATEST\\\",\\\"packageType\\\":\\\"Zip\\\",\\\"timeout\\\":60,\\\"revisionId\\\":\\\"f24dc289-b661-46ab-a669-8ebcee5619b4\\\",\\\"codeSha256\\\":\\\"0PutKB0dGd1dvPKyx0JAz0WjQNejWBX98dGbPvJZi+8=\\\",\\\"memorySize\\\":128,\\\"fileSystemConfigs\\\":[],\\\"lastUpdateStatus\\\":\\\"Successful\\\",\\\"layers\\\":[],\\\"snapStart\\\":{\\\"applyOn\\\":\\\"None\\\",\\\"optimizationStatus\\\":\\\"Off\\\"},\\\"lastModified\\\":\\\"2018-10-04T20:12:16.237+0000\\\",\\\"state\\\":{\\\"value\\\":\\\"Active\\\"},\\\"functionArn\\\":\\\"arn:aws:lambda:eu-west-2:060997615305:function:builder-portal-intake-form-Api-APIHandler-1EDQQ97ZAUFF5\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/lambda/home?region=eu-west-2#/functions/builder-portal-intake-form-Api-APIHandler-1EDQQ97ZAUFF5?tab=graph","loginURL":"https://060997615305.signin.aws.amazon.com/console/lambda?region=eu-west-2#/functions/builder-portal-intake-form-Api-APIHandler-1EDQQ97ZAUFF5?tab=graph","private":null,"resourceId":"builder-portal-intake-form-Api-APIHandler-1EDQQ97ZAUFF5","resourceName":"builder-portal-intake-form-Api-APIHandler-1EDQQ97ZAUFF5","resourceType":"AWS::Lambda::Function","resourceValue":null,"state":null,"tags":"[{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"},{\"tag\":\"aws-chalice=version=1.6.0:stage=dev:app=api\",\"value\":\"version=1.6.0:stage=dev:app=api\",\"key\":\"aws-chalice\"}]","title":"builder-portal-intake-form-Api-APIHandler-1EDQQ97ZAUFF5","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":462.5,"y":1181.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:lambda:eu-west-2:060997615305:function:builder-portal-intake-form-Api-APIHandler-1EDQQ97ZAUFF5","resourceId":["builder-portal-intake-form-Api-APIHandler-1EDQQ97ZAUFF5","arn:aws:lambda:eu-west-2:060997615305:function:builder-portal-intake-form-Api-APIHandler-1EDQQ97ZAUFF5"],"parent":"Function-eu-west-2-060997615305","level":3,"id":"arn:aws:lambda:eu-west-2:060997615305:function:builder-portal-intake-form-Api-APIHandler-1EDQQ97ZAUFF5","title":"builder-portal-intake-form-Api-APIHandler-1EDQQ97ZAUFF5","label":"builder-port...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:lambda:eu-west-2:060997615305:function:builder-portal-intake-form-Api-APIHandler-1EDQQ97ZAUFF5","image":"/icons/AWS-Lambda-menu.svg","cost":0,"private":false,"resource":{"id":"builder-portal-intake-form-Api-APIHandler-1EDQQ97ZAUFF5","name":"builder-portal-intake-form-Api-APIHandler-1EDQQ97ZAUFF5","value":null,"type":"AWS::Lambda::Function","tags":"[{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"},{\"tag\":\"aws-chalice=version=1.6.0:stage=dev:app=api\",\"value\":\"version=1.6.0:stage=dev:app=api\",\"key\":\"aws-chalice\"}]","arn":"arn:aws:lambda:eu-west-2:060997615305:function:builder-portal-intake-form-Api-APIHandler-1EDQQ97ZAUFF5","region":"eu-west-2","state":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/lambda/home?region=eu-west-2#/functions/builder-portal-intake-form-Api-APIHandler-1EDQQ97ZAUFF5?tab=graph","loginURL":"https://060997615305.signin.aws.amazon.com/console/lambda?region=eu-west-2#/functions/builder-portal-intake-form-Api-APIHandler-1EDQQ97ZAUFF5?tab=graph","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:lambda:eu-west-2:060997615305:function:builder-portal-intake-form-Api-APIHandler-1EDQQ97ZAUFF5","configuration":"\"{\\\"architectures\\\":[\\\"x86_64\\\"],\\\"ephemeralStorage\\\":{\\\"size\\\":512},\\\"handler\\\":\\\"app.app\\\",\\\"role\\\":\\\"arn:aws:iam::060997615305:role/builder-portal-intake-form-Api-DefaultRole-1TWA35T7EM8WJ\\\",\\\"functionName\\\":\\\"builder-portal-intake-form-Api-APIHandler-1EDQQ97ZAUFF5\\\",\\\"tracingConfig\\\":{\\\"mode\\\":\\\"PassThrough\\\"},\\\"runtime\\\":\\\"python3.6\\\",\\\"description\\\":\\\"\\\",\\\"codeSize\\\":7167909,\\\"version\\\":\\\"$LATEST\\\",\\\"packageType\\\":\\\"Zip\\\",\\\"timeout\\\":60,\\\"revisionId\\\":\\\"f24dc289-b661-46ab-a669-8ebcee5619b4\\\",\\\"codeSha256\\\":\\\"0PutKB0dGd1dvPKyx0JAz0WjQNejWBX98dGbPvJZi+8=\\\",\\\"memorySize\\\":128,\\\"fileSystemConfigs\\\":[],\\\"lastUpdateStatus\\\":\\\"Successful\\\",\\\"layers\\\":[],\\\"snapStart\\\":{\\\"applyOn\\\":\\\"None\\\",\\\"optimizationStatus\\\":\\\"Off\\\"},\\\"lastModified\\\":\\\"2018-10-04T20:12:16.237+0000\\\",\\\"state\\\":{\\\"value\\\":\\\"Active\\\"},\\\"functionArn\\\":\\\"arn:aws:lambda:eu-west-2:060997615305:function:builder-portal-intake-form-Api-APIHandler-1EDQQ97ZAUFF5\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/lambda/home?region=eu-west-2#/functions/builder-portal-intake-form-Api-APIHandler-1EDQQ97ZAUFF5?tab=graph","loginURL":"https://060997615305.signin.aws.amazon.com/console/lambda?region=eu-west-2#/functions/builder-portal-intake-form-Api-APIHandler-1EDQQ97ZAUFF5?tab=graph","private":null,"resourceId":"builder-portal-intake-form-Api-APIHandler-1EDQQ97ZAUFF5","resourceName":"builder-portal-intake-form-Api-APIHandler-1EDQQ97ZAUFF5","resourceType":"AWS::Lambda::Function","resourceValue":null,"state":null,"tags":"[{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"},{\"tag\":\"aws-chalice=version=1.6.0:stage=dev:app=api\",\"value\":\"version=1.6.0:stage=dev:app=api\",\"key\":\"aws-chalice\"}]","title":"builder-portal-intake-form-Api-APIHandler-1EDQQ97ZAUFF5","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":389.5,"y":1144.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:cloudformation:eu-west-2:060997615305:stack/builder-portal-intake-form-Api/d2979650-c7e8-11e8-a814-0666d0c49208","resourceId":["arn:aws:cloudformation:eu-west-2:060997615305:stack/builder-portal-intake-form-Api/d2979650-c7e8-11e8-a814-0666d0c49208","arn:aws:cloudformation:eu-west-2:060997615305:stack/builder-portal-intake-form-Api/d2979650-c7e8-11e8-a814-0666d0c49208"],"parent":"Stack-eu-west-2-060997615305","level":3,"id":"arn:aws:cloudformation:eu-west-2:060997615305:stack/builder-portal-intake-form-Api/d2979650-c7e8-11e8-a814-0666d0c49208","title":"builder-portal-intake-form-Api","label":"builder-port...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:cloudformation:eu-west-2:060997615305:stack/builder-portal-intake-form-Api/d2979650-c7e8-11e8-a814-0666d0c49208","image":"/icons/AWS-CloudFormation.svg","cost":0,"private":false,"resource":{"id":"arn:aws:cloudformation:eu-west-2:060997615305:stack/builder-portal-intake-form-Api/d2979650-c7e8-11e8-a814-0666d0c49208","name":"builder-portal-intake-form-Api","value":null,"type":"AWS::CloudFormation::Stack","tags":"[]","arn":"arn:aws:cloudformation:eu-west-2:060997615305:stack/builder-portal-intake-form-Api/d2979650-c7e8-11e8-a814-0666d0c49208","region":"eu-west-2","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:cloudformation:eu-west-2:060997615305:stack/builder-portal-intake-form-Api/d2979650-c7e8-11e8-a814-0666d0c49208","configuration":"\"{\\\"outputs\\\":[{\\\"outputKey\\\":\\\"APIHandlerArn\\\",\\\"outputValue\\\":\\\"arn:aws:lambda:eu-west-2:060997615305:function:builder-portal-intake-form-Api-APIHandler-1EDQQ97ZAUFF5\\\"},{\\\"outputKey\\\":\\\"APIHandlerName\\\",\\\"outputValue\\\":\\\"builder-portal-intake-form-Api-APIHandler-1EDQQ97ZAUFF5\\\"},{\\\"outputKey\\\":\\\"RestAPIId\\\",\\\"outputValue\\\":\\\"8avbtd4wbg\\\"},{\\\"outputKey\\\":\\\"EndpointURL\\\",\\\"outputValue\\\":\\\"https://8avbtd4wbg.execute-api.eu-west-2.amazonaws.com/api/\\\"}],\\\"capabilities\\\":[\\\"CAPABILITY_IAM\\\"],\\\"creationTime\\\":\\\"2018-10-04T15:19:01Z\\\",\\\"notificationARNs\\\":[],\\\"stackId\\\":\\\"arn:aws:cloudformation:eu-west-2:060997615305:stack/builder-portal-intake-form-Api/d2979650-c7e8-11e8-a814-0666d0c49208\\\",\\\"stackName\\\":\\\"builder-portal-intake-form-Api\\\",\\\"stackStatus\\\":\\\"UPDATE_COMPLETE\\\",\\\"disableRollback\\\":false,\\\"tags\\\":[],\\\"roleARN\\\":\\\"arn:aws:iam::060997615305:role/builder-portal-intake-form-BuilderRole-1B8PXJUXP9W7C\\\",\\\"driftInformation\\\":{\\\"stackDriftStatus\\\":\\\"NOT_CHECKED\\\"},\\\"enableTerminationProtection\\\":false,\\\"lastUpdatedTime\\\":\\\"2018-10-04T20:12:12Z\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"Regional","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:cloudformation:eu-west-2:060997615305:stack/builder-portal-intake-form-Api/d2979650-c7e8-11e8-a814-0666d0c49208","resourceName":"builder-portal-intake-form-Api","resourceType":"AWS::CloudFormation::Stack","resourceValue":null,"state":null,"tags":"[]","title":"builder-portal-intake-form-Api","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":203.5,"y":1144.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/IsengardRole-DO-NOT-DELETE","resourceId":["AROAJNTAW4I625HT6R5QM","arn:aws:iam::060997615305:role/IsengardRole-DO-NOT-DELETE"],"parent":"Role-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/IsengardRole-DO-NOT-DELETE","title":"IsengardRole-DO-NOT-DELETE","label":"IsengardRole...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/IsengardRole-DO-NOT-DELETE","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAJNTAW4I625HT6R5QM","name":"IsengardRole-DO-NOT-DELETE","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::060997615305:role/IsengardRole-DO-NOT-DELETE","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/IsengardRole-DO-NOT-DELETE","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Sid%22%3A%22%22%2C%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22AWS%22%3A%22arn%3Aaws%3Aiam%3A%3A727820809195%3Aroot%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%2C%22Condition%22%3A%7B%22StringEquals%22%3A%7B%22sts%3AExternalId%22%3A%22IsengardExternalIdr20ljt42ff4K%22%7D%7D%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAJNTAW4I625HT6R5QM\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"IsengardRole-DO-NOT-DELETE\\\",\\\"arn\\\":\\\"arn:aws:iam::060997615305:role/IsengardRole-DO-NOT-DELETE\\\",\\\"createDate\\\":\\\"2018-07-04T13:57:28.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%20%222012-10-17%22%2C%20%22Statement%22%3A%20%5B%20%7B%22Effect%22%3A%20%22Allow%22%2C%20%22Action%22%3A%20%22%2A%22%2C%20%22Resource%22%3A%20%22%2A%22%20%7D%5D%7D\\\",\\\"policyName\\\":\\\"IsengardControllerPolicy\\\"}]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAJNTAW4I625HT6R5QM","resourceName":"IsengardRole-DO-NOT-DELETE","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"IsengardRole-DO-NOT-DELETE","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-1976.5,"y":1942.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/IsengardRole-DO-NOT-DELETE/inlinePolicy/IsengardControllerPolicy","resourceId":["arn:aws:iam::060997615305:role/IsengardRole-DO-NOT-DELETE/inlinePolicy/IsengardControllerPolicy","arn:aws:iam::060997615305:role/IsengardRole-DO-NOT-DELETE/inlinePolicy/IsengardControllerPolicy"],"parent":"InlinePolicy-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/IsengardRole-DO-NOT-DELETE/inlinePolicy/IsengardControllerPolicy","title":"arn:aws:iam::060997615305:role/IsengardRole-DO-NOT-DELETE/inlinePolicy/IsengardControllerPolicy","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/IsengardRole-DO-NOT-DELETE/inlinePolicy/IsengardControllerPolicy","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::060997615305:role/IsengardRole-DO-NOT-DELETE/inlinePolicy/IsengardControllerPolicy","name":"arn:aws:iam::060997615305:role/IsengardRole-DO-NOT-DELETE/inlinePolicy/IsengardControllerPolicy","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::060997615305:role/IsengardRole-DO-NOT-DELETE/inlinePolicy/IsengardControllerPolicy","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/IsengardRole-DO-NOT-DELETE/inlinePolicy/IsengardControllerPolicy","configuration":"\"{\\\"policyName\\\":\\\"IsengardControllerPolicy\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Effect\\\":\\\"Allow\\\",\\\"Action\\\":\\\"*\\\",\\\"Resource\\\":\\\"*\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::060997615305:role/IsengardRole-DO-NOT-DELETE/inlinePolicy/IsengardControllerPolicy","resourceName":"arn:aws:iam::060997615305:role/IsengardRole-DO-NOT-DELETE/inlinePolicy/IsengardControllerPolicy","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::060997615305:role/IsengardRole-DO-NOT-DELETE/inlinePolicy/IsengardControllerPolicy","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1498.5,"y":2015.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/service-role/cwe-role-eu-west-2-solution.builders","resourceId":["AROAJRLZU3YEZWQE4RHZM","arn:aws:iam::060997615305:role/service-role/cwe-role-eu-west-2-solution.builders"],"parent":"Role-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/service-role/cwe-role-eu-west-2-solution.builders","title":"cwe-role-eu-west-2-solution.builders","label":"cwe-role-eu-...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/service-role/cwe-role-eu-west-2-solution.builders","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAJRLZU3YEZWQE4RHZM","name":"cwe-role-eu-west-2-solution.builders","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::060997615305:role/service-role/cwe-role-eu-west-2-solution.builders","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/service-role/cwe-role-eu-west-2-solution.builders","configuration":"\"{\\\"path\\\":\\\"/service-role/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22events.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAJRLZU3YEZWQE4RHZM\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::060997615305:policy/service-role/start-pipeline-execution-eu-west-2-solution.builders\\\",\\\"policyName\\\":\\\"start-pipeline-execution-eu-west-2-solution.builders\\\"}],\\\"roleName\\\":\\\"cwe-role-eu-west-2-solution.builders\\\",\\\"arn\\\":\\\"arn:aws:iam::060997615305:role/service-role/cwe-role-eu-west-2-solution.builders\\\",\\\"createDate\\\":\\\"2019-01-21T20:20:29.000Z\\\",\\\"rolePolicyList\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAJRLZU3YEZWQE4RHZM","resourceName":"cwe-role-eu-west-2-solution.builders","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"cwe-role-eu-west-2-solution.builders","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-1976.5,"y":2015.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:policy/service-role/start-pipeline-execution-eu-west-2-solution.builders","resourceId":["ANPAJN5QX52XWANRTMPOO","arn:aws:iam::060997615305:policy/service-role/start-pipeline-execution-eu-west-2-solution.builders"],"parent":"Policy-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:policy/service-role/start-pipeline-execution-eu-west-2-solution.builders","title":"start-pipeline-execution-eu-west-2-solution.builders","label":"start-pipeli...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:policy/service-role/start-pipeline-execution-eu-west-2-solution.builders","image":"/icons/IAM_Policy.svg","cost":0,"private":false,"resource":{"id":"ANPAJN5QX52XWANRTMPOO","name":"start-pipeline-execution-eu-west-2-solution.builders","value":null,"type":"AWS::IAM::Policy","tags":"[]","arn":"arn:aws:iam::060997615305:policy/service-role/start-pipeline-execution-eu-west-2-solution.builders","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/policies","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/policies","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:policy/service-role/start-pipeline-execution-eu-west-2-solution.builders","configuration":"\"{\\\"permissionsBoundaryUsageCount\\\":0,\\\"policyVersionList\\\":[{\\\"versionId\\\":\\\"v2\\\",\\\"isDefaultVersion\\\":true,\\\"document\\\":\\\"%7B%0A%20%20%20%20%22Version%22%3A%20%222012-10-17%22%2C%0A%20%20%20%20%22Statement%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Effect%22%3A%20%22Allow%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Action%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22codepipeline%3AStartPipelineExecution%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Resource%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22arn%3Aaws%3Acodepipeline%3Aeu-west-2%3A060997615305%3Asolution.builders%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%5D%0A%7D\\\",\\\"createDate\\\":\\\"2019-01-21T20:20:30.000Z\\\"},{\\\"versionId\\\":\\\"v1\\\",\\\"isDefaultVersion\\\":false,\\\"document\\\":\\\"%7B%0A%20%20%20%20%22Version%22%3A%20%222012-10-17%22%2C%0A%20%20%20%20%22Statement%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Effect%22%3A%20%22Allow%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Action%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22codepipeline%3AStartPipelineExecution%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Resource%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22arn%3Aaws%3Acodepipeline%3Aeu-west-2%3A060997615305%3Asolution.builders%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%5D%0A%7D\\\",\\\"createDate\\\":\\\"2019-01-21T20:20:30.000Z\\\"}],\\\"path\\\":\\\"/service-role/\\\",\\\"updateDate\\\":\\\"2019-01-21T20:20:30.000Z\\\",\\\"policyId\\\":\\\"ANPAJN5QX52XWANRTMPOO\\\",\\\"defaultVersionId\\\":\\\"v2\\\",\\\"policyName\\\":\\\"start-pipeline-execution-eu-west-2-solution.builders\\\",\\\"isAttachable\\\":true,\\\"attachmentCount\\\":1,\\\"arn\\\":\\\"arn:aws:iam::060997615305:policy/service-role/start-pipeline-execution-eu-west-2-solution.builders\\\",\\\"createDate\\\":\\\"2019-01-21T20:20:30.000Z\\\"}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/policies","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/policies","private":null,"resourceId":"ANPAJN5QX52XWANRTMPOO","resourceName":"start-pipeline-execution-eu-west-2-solution.builders","resourceType":"AWS::IAM::Policy","resourceValue":null,"state":null,"tags":"[]","title":"start-pipeline-execution-eu-west-2-solution.builders","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1717.5,"y":2510.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/aws-service-role/license-manager.amazonaws.com/AWSServiceRoleForAWSLicenseManagerRole","resourceId":["AROAQ4M55X3E2KDUSEAIH","arn:aws:iam::060997615305:role/aws-service-role/license-manager.amazonaws.com/AWSServiceRoleForAWSLicenseManagerRole"],"parent":"Role-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/aws-service-role/license-manager.amazonaws.com/AWSServiceRoleForAWSLicenseManagerRole","title":"AWSServiceRoleForAWSLicenseManagerRole","label":"AWSServiceRo...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/aws-service-role/license-manager.amazonaws.com/AWSServiceRoleForAWSLicenseManagerRole","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQ4M55X3E2KDUSEAIH","name":"AWSServiceRoleForAWSLicenseManagerRole","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::060997615305:role/aws-service-role/license-manager.amazonaws.com/AWSServiceRoleForAWSLicenseManagerRole","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/aws-service-role/license-manager.amazonaws.com/AWSServiceRoleForAWSLicenseManagerRole","configuration":"\"{\\\"path\\\":\\\"/aws-service-role/license-manager.amazonaws.com/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22license-manager.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQ4M55X3E2KDUSEAIH\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/aws-service-role/AWSLicenseManagerServiceRolePolicy\\\",\\\"policyName\\\":\\\"AWSLicenseManagerServiceRolePolicy\\\"}],\\\"roleName\\\":\\\"AWSServiceRoleForAWSLicenseManagerRole\\\",\\\"arn\\\":\\\"arn:aws:iam::060997615305:role/aws-service-role/license-manager.amazonaws.com/AWSServiceRoleForAWSLicenseManagerRole\\\",\\\"createDate\\\":\\\"2021-06-09T14:19:16.000Z\\\",\\\"rolePolicyList\\\":[],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQ4M55X3E2KDUSEAIH","resourceName":"AWSServiceRoleForAWSLicenseManagerRole","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"AWSServiceRoleForAWSLicenseManagerRole","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-1976.5,"y":2088.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/MatteoCodeBuildS1F1CFN","resourceId":["AROAQ4M55X3E4TWM7DWQF","arn:aws:iam::060997615305:role/MatteoCodeBuildS1F1CFN"],"parent":"Role-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/MatteoCodeBuildS1F1CFN","title":"MatteoCodeBuildS1F1CFN","label":"MatteoCodeBu...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/MatteoCodeBuildS1F1CFN","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQ4M55X3E4TWM7DWQF","name":"MatteoCodeBuildS1F1CFN","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::060997615305:role/MatteoCodeBuildS1F1CFN","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/MatteoCodeBuildS1F1CFN","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22codebuild.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQ4M55X3E4TWM7DWQF\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/AdministratorAccess\\\",\\\"policyName\\\":\\\"AdministratorAccess\\\"}],\\\"roleName\\\":\\\"MatteoCodeBuildS1F1CFN\\\",\\\"arn\\\":\\\"arn:aws:iam::060997615305:role/MatteoCodeBuildS1F1CFN\\\",\\\"createDate\\\":\\\"2020-07-23T14:37:51.000Z\\\",\\\"rolePolicyList\\\":[],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQ4M55X3E4TWM7DWQF","resourceName":"MatteoCodeBuildS1F1CFN","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"MatteoCodeBuildS1F1CFN","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-2195.5,"y":2161.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2U-CodePipelineServiceRole-76K1D87S852S","resourceId":["AROAQ4M55X3E5GKRVUWGZ","arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2U-CodePipelineServiceRole-76K1D87S852S"],"parent":"Role-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2U-CodePipelineServiceRole-76K1D87S852S","title":"S3F2POC-DeployStack-1ETR2U-CodePipelineServiceRole-76K1D87S852S","label":"S3F2POC-Depl...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2U-CodePipelineServiceRole-76K1D87S852S","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQ4M55X3E5GKRVUWGZ","name":"S3F2POC-DeployStack-1ETR2U-CodePipelineServiceRole-76K1D87S852S","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2U-CodePipelineServiceRole-76K1D87S852S","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2U-CodePipelineServiceRole-76K1D87S852S","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222008-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22codepipeline.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQ4M55X3E5GKRVUWGZ\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"S3F2POC-DeployStack-1ETR2U-CodePipelineServiceRole-76K1D87S852S\\\",\\\"arn\\\":\\\"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2U-CodePipelineServiceRole-76K1D87S852S\\\",\\\"createDate\\\":\\\"2021-01-21T13:26:43.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22ecs%3ADescribeServices%22%2C%22ecs%3ADescribeTaskDefinition%22%2C%22ecs%3ADescribeTasks%22%2C%22ecs%3AListTasks%22%2C%22ecs%3ARegisterTaskDefinition%22%2C%22ecs%3AUpdateService%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22codebuild%3ABatchGetBuilds%22%2C%22codebuild%3AStartBuild%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Acodebuild%3Aeu-west-1%3A060997615305%3Aproject%2FS3F2POCBackendBuild%22%2C%22arn%3Aaws%3Acodebuild%3Aeu-west-1%3A060997615305%3Aproject%2FS3F2POCFrontendBuild%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22s3%3AGetBucket%2A%22%2C%22s3%3AList%2A%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3As3%3A%3A%3As3f2poc-tempbucket-whrisol6u9bh%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22s3%3AGetObject%22%2C%22s3%3AGetObjectVersion%22%2C%22s3%3APutObject%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3As3%3A%3A%3As3f2poc-tempbucket-whrisol6u9bh%2F%2A%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"root\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQ4M55X3E5GKRVUWGZ","resourceName":"S3F2POC-DeployStack-1ETR2U-CodePipelineServiceRole-76K1D87S852S","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"S3F2POC-DeployStack-1ETR2U-CodePipelineServiceRole-76K1D87S852S","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-2122.5,"y":2161.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2U-CodePipelineServiceRole-76K1D87S852S/inlinePolicy/root","resourceId":["arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2U-CodePipelineServiceRole-76K1D87S852S/inlinePolicy/root","arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2U-CodePipelineServiceRole-76K1D87S852S/inlinePolicy/root"],"parent":"InlinePolicy-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2U-CodePipelineServiceRole-76K1D87S852S/inlinePolicy/root","title":"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2U-CodePipelineServiceRole-76K1D87S852S/inlinePolicy/root","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2U-CodePipelineServiceRole-76K1D87S852S/inlinePolicy/root","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2U-CodePipelineServiceRole-76K1D87S852S/inlinePolicy/root","name":"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2U-CodePipelineServiceRole-76K1D87S852S/inlinePolicy/root","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2U-CodePipelineServiceRole-76K1D87S852S/inlinePolicy/root","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2U-CodePipelineServiceRole-76K1D87S852S/inlinePolicy/root","configuration":"\"{\\\"policyName\\\":\\\"root\\\",\\\"policyDocument\\\":{\\\"Statement\\\":[{\\\"Action\\\":[\\\"ecs:DescribeServices\\\",\\\"ecs:DescribeTaskDefinition\\\",\\\"ecs:DescribeTasks\\\",\\\"ecs:ListTasks\\\",\\\"ecs:RegisterTaskDefinition\\\",\\\"ecs:UpdateService\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"codebuild:BatchGetBuilds\\\",\\\"codebuild:StartBuild\\\"],\\\"Resource\\\":[\\\"arn:aws:codebuild:eu-west-1:060997615305:project/S3F2POCBackendBuild\\\",\\\"arn:aws:codebuild:eu-west-1:060997615305:project/S3F2POCFrontendBuild\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"s3:GetBucket*\\\",\\\"s3:List*\\\"],\\\"Resource\\\":\\\"arn:aws:s3:::s3f2poc-tempbucket-whrisol6u9bh\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"s3:GetObject\\\",\\\"s3:GetObjectVersion\\\",\\\"s3:PutObject\\\"],\\\"Resource\\\":\\\"arn:aws:s3:::s3f2poc-tempbucket-whrisol6u9bh/*\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2U-CodePipelineServiceRole-76K1D87S852S/inlinePolicy/root","resourceName":"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2U-CodePipelineServiceRole-76K1D87S852S/inlinePolicy/root","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2U-CodePipelineServiceRole-76K1D87S852S/inlinePolicy/root","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1644.5,"y":2088.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"Pipeline-eu-west-1-060997615305","parent":"eu-west-1-060997615305","level":2,"title":"Pipeline","label":"Pipeline","plainLabel":"Pipeline","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/AWS-CodePipeline_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:codepipeline:eu-west-1:060997615305:S3F2POC-DeployStack-1ETR2UF3EM480-CodePipeline-WAZKN72XJK9P","label":"AWS_CodePipeline_Pipeline","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:codepipeline:eu-west-1:060997615305:S3F2POC-DeployStack-1ETR2UF3EM480-CodePipeline-WAZKN72XJK9P","configuration":"\"{\\\"pipeline\\\":{\\\"artifactStore\\\":{\\\"location\\\":\\\"s3f2poc-tempbucket-whrisol6u9bh\\\",\\\"type\\\":\\\"S3\\\"},\\\"roleArn\\\":\\\"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2U-CodePipelineServiceRole-76K1D87S852S\\\",\\\"name\\\":\\\"S3F2POC-DeployStack-1ETR2UF3EM480-CodePipeline-WAZKN72XJK9P\\\",\\\"stages\\\":[{\\\"name\\\":\\\"Source\\\",\\\"actions\\\":[{\\\"runOrder\\\":1,\\\"actionTypeId\\\":{\\\"owner\\\":\\\"AWS\\\",\\\"provider\\\":\\\"S3\\\",\\\"category\\\":\\\"Source\\\",\\\"version\\\":\\\"1\\\"},\\\"configuration\\\":{\\\"S3Bucket\\\":\\\"s3f2poc-tempbucket-whrisol6u9bh\\\",\\\"S3ObjectKey\\\":\\\"build/s3f2.zip\\\"},\\\"outputArtifacts\\\":[{\\\"name\\\":\\\"S3F2\\\"}],\\\"name\\\":\\\"App\\\",\\\"inputArtifacts\\\":[]}]},{\\\"name\\\":\\\"Frontend\\\",\\\"actions\\\":[{\\\"runOrder\\\":1,\\\"actionTypeId\\\":{\\\"owner\\\":\\\"AWS\\\",\\\"provider\\\":\\\"CodeBuild\\\",\\\"category\\\":\\\"Build\\\",\\\"version\\\":\\\"1\\\"},\\\"configuration\\\":{\\\"ProjectName\\\":\\\"S3F2POCFrontendBuild\\\"},\\\"outputArtifacts\\\":[{\\\"name\\\":\\\"BuildFrontendOutput\\\"}],\\\"name\\\":\\\"Build\\\",\\\"inputArtifacts\\\":[{\\\"name\\\":\\\"S3F2\\\"}]}]},{\\\"name\\\":\\\"Backend\\\",\\\"actions\\\":[{\\\"runOrder\\\":2,\\\"actionTypeId\\\":{\\\"owner\\\":\\\"AWS\\\",\\\"provider\\\":\\\"CodeBuild\\\",\\\"category\\\":\\\"Build\\\",\\\"version\\\":\\\"1\\\"},\\\"configuration\\\":{\\\"ProjectName\\\":\\\"S3F2POCBackendBuild\\\"},\\\"outputArtifacts\\\":[{\\\"name\\\":\\\"BuildBackendOutput\\\"}],\\\"name\\\":\\\"Build\\\",\\\"inputArtifacts\\\":[{\\\"name\\\":\\\"S3F2\\\"}]}]}],\\\"version\\\":1},\\\"metadata\\\":{\\\"pipelineArn\\\":\\\"arn:aws:codepipeline:eu-west-1:060997615305:S3F2POC-DeployStack-1ETR2UF3EM480-CodePipeline-WAZKN72XJK9P\\\",\\\"created\\\":\\\"2021-01-21T13:27:05.419Z\\\"}}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"S3F2POC-DeployStack-1ETR2UF3EM480-CodePipeline-WAZKN72XJK9P","resourceName":"S3F2POC-DeployStack-1ETR2UF3EM480-CodePipeline-WAZKN72XJK9P","resourceType":"AWS::CodePipeline::Pipeline","resourceValue":null,"state":null,"tags":"[]","title":"S3F2POC-DeployStack-1ETR2UF3EM480-CodePipeline-WAZKN72XJK9P","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1305.5,"y":1676.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:codepipeline:eu-west-1:060997615305:S3F2POC-DeployStack-1ETR2UF3EM480-CodePipeline-WAZKN72XJK9P","resourceId":["S3F2POC-DeployStack-1ETR2UF3EM480-CodePipeline-WAZKN72XJK9P","arn:aws:codepipeline:eu-west-1:060997615305:S3F2POC-DeployStack-1ETR2UF3EM480-CodePipeline-WAZKN72XJK9P"],"parent":"Pipeline-eu-west-1-060997615305","level":3,"id":"arn:aws:codepipeline:eu-west-1:060997615305:S3F2POC-DeployStack-1ETR2UF3EM480-CodePipeline-WAZKN72XJK9P","title":"S3F2POC-DeployStack-1ETR2UF3EM480-CodePipeline-WAZKN72XJK9P","label":"S3F2POC-Depl...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:codepipeline:eu-west-1:060997615305:S3F2POC-DeployStack-1ETR2UF3EM480-CodePipeline-WAZKN72XJK9P","image":"/icons/AWS-CodePipeline_light-bg.svg","cost":0,"private":false,"resource":{"id":"S3F2POC-DeployStack-1ETR2UF3EM480-CodePipeline-WAZKN72XJK9P","name":"S3F2POC-DeployStack-1ETR2UF3EM480-CodePipeline-WAZKN72XJK9P","value":null,"type":"AWS::CodePipeline::Pipeline","tags":"[]","arn":"arn:aws:codepipeline:eu-west-1:060997615305:S3F2POC-DeployStack-1ETR2UF3EM480-CodePipeline-WAZKN72XJK9P","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:codepipeline:eu-west-1:060997615305:S3F2POC-DeployStack-1ETR2UF3EM480-CodePipeline-WAZKN72XJK9P","configuration":"\"{\\\"pipeline\\\":{\\\"artifactStore\\\":{\\\"location\\\":\\\"s3f2poc-tempbucket-whrisol6u9bh\\\",\\\"type\\\":\\\"S3\\\"},\\\"roleArn\\\":\\\"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2U-CodePipelineServiceRole-76K1D87S852S\\\",\\\"name\\\":\\\"S3F2POC-DeployStack-1ETR2UF3EM480-CodePipeline-WAZKN72XJK9P\\\",\\\"stages\\\":[{\\\"name\\\":\\\"Source\\\",\\\"actions\\\":[{\\\"runOrder\\\":1,\\\"actionTypeId\\\":{\\\"owner\\\":\\\"AWS\\\",\\\"provider\\\":\\\"S3\\\",\\\"category\\\":\\\"Source\\\",\\\"version\\\":\\\"1\\\"},\\\"configuration\\\":{\\\"S3Bucket\\\":\\\"s3f2poc-tempbucket-whrisol6u9bh\\\",\\\"S3ObjectKey\\\":\\\"build/s3f2.zip\\\"},\\\"outputArtifacts\\\":[{\\\"name\\\":\\\"S3F2\\\"}],\\\"name\\\":\\\"App\\\",\\\"inputArtifacts\\\":[]}]},{\\\"name\\\":\\\"Frontend\\\",\\\"actions\\\":[{\\\"runOrder\\\":1,\\\"actionTypeId\\\":{\\\"owner\\\":\\\"AWS\\\",\\\"provider\\\":\\\"CodeBuild\\\",\\\"category\\\":\\\"Build\\\",\\\"version\\\":\\\"1\\\"},\\\"configuration\\\":{\\\"ProjectName\\\":\\\"S3F2POCFrontendBuild\\\"},\\\"outputArtifacts\\\":[{\\\"name\\\":\\\"BuildFrontendOutput\\\"}],\\\"name\\\":\\\"Build\\\",\\\"inputArtifacts\\\":[{\\\"name\\\":\\\"S3F2\\\"}]}]},{\\\"name\\\":\\\"Backend\\\",\\\"actions\\\":[{\\\"runOrder\\\":2,\\\"actionTypeId\\\":{\\\"owner\\\":\\\"AWS\\\",\\\"provider\\\":\\\"CodeBuild\\\",\\\"category\\\":\\\"Build\\\",\\\"version\\\":\\\"1\\\"},\\\"configuration\\\":{\\\"ProjectName\\\":\\\"S3F2POCBackendBuild\\\"},\\\"outputArtifacts\\\":[{\\\"name\\\":\\\"BuildBackendOutput\\\"}],\\\"name\\\":\\\"Build\\\",\\\"inputArtifacts\\\":[{\\\"name\\\":\\\"S3F2\\\"}]}]}],\\\"version\\\":1},\\\"metadata\\\":{\\\"pipelineArn\\\":\\\"arn:aws:codepipeline:eu-west-1:060997615305:S3F2POC-DeployStack-1ETR2UF3EM480-CodePipeline-WAZKN72XJK9P\\\",\\\"created\\\":\\\"2021-01-21T13:27:05.419Z\\\"}}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"S3F2POC-DeployStack-1ETR2UF3EM480-CodePipeline-WAZKN72XJK9P","resourceName":"S3F2POC-DeployStack-1ETR2UF3EM480-CodePipeline-WAZKN72XJK9P","resourceType":"AWS::CodePipeline::Pipeline","resourceValue":null,"state":null,"tags":"[]","title":"S3F2POC-DeployStack-1ETR2UF3EM480-CodePipeline-WAZKN72XJK9P","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1305.5,"y":1676.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92","resourceId":["AROAQ4M55X3E5RFIRR5D3","arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92"],"parent":"Role-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92","title":"stackset-function-4-StackSetResourceRole-PKCSUA65DA92","label":"stackset-fun...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQ4M55X3E5RFIRR5D3","name":"stackset-function-4-StackSetResourceRole-PKCSUA65DA92","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22lambda.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQ4M55X3E5RFIRR5D3\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"stackset-function-4-StackSetResourceRole-PKCSUA65DA92\\\",\\\"arn\\\":\\\"arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92\\\",\\\"createDate\\\":\\\"2020-03-12T15:14:02.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%22cloudformation%3A%2A%22%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"CloudFormationPermissions\\\"},{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%22iam%3APassRole%22%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"IAMPassRolePermissions\\\"},{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%22logs%3ACreateLogGroup%22%2C%22Resource%22%3A%5B%22arn%3Aaws%3Alogs%3Aeu-central-1%3A060997615305%3A%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22logs%3ACreateLogStream%22%2C%22logs%3APutLogEvents%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Alogs%3Aeu-central-1%3A060997615305%3Alog-group%3A%2Faws%2Flambda%2F%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"LambdaPermissions\\\"},{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22s3%3AGet%2A%22%2C%22s3%3AList%2A%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"S3Permissions\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQ4M55X3E5RFIRR5D3","resourceName":"stackset-function-4-StackSetResourceRole-PKCSUA65DA92","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"stackset-function-4-StackSetResourceRole-PKCSUA65DA92","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-2049.5,"y":2161.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92/inlinePolicy/CloudFormationPermissions","resourceId":["arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92/inlinePolicy/CloudFormationPermissions","arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92/inlinePolicy/CloudFormationPermissions"],"parent":"InlinePolicy-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92/inlinePolicy/CloudFormationPermissions","title":"arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92/inlinePolicy/CloudFormationPermissions","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92/inlinePolicy/CloudFormationPermissions","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92/inlinePolicy/CloudFormationPermissions","name":"arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92/inlinePolicy/CloudFormationPermissions","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92/inlinePolicy/CloudFormationPermissions","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92/inlinePolicy/CloudFormationPermissions","configuration":"\"{\\\"policyName\\\":\\\"CloudFormationPermissions\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":\\\"cloudformation:*\\\",\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92/inlinePolicy/CloudFormationPermissions","resourceName":"arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92/inlinePolicy/CloudFormationPermissions","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92/inlinePolicy/CloudFormationPermissions","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1571.5,"y":2088.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92/inlinePolicy/IAMPassRolePermissions","resourceId":["arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92/inlinePolicy/IAMPassRolePermissions","arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92/inlinePolicy/IAMPassRolePermissions"],"parent":"InlinePolicy-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92/inlinePolicy/IAMPassRolePermissions","title":"arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92/inlinePolicy/IAMPassRolePermissions","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92/inlinePolicy/IAMPassRolePermissions","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92/inlinePolicy/IAMPassRolePermissions","name":"arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92/inlinePolicy/IAMPassRolePermissions","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92/inlinePolicy/IAMPassRolePermissions","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92/inlinePolicy/IAMPassRolePermissions","configuration":"\"{\\\"policyName\\\":\\\"IAMPassRolePermissions\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":\\\"iam:PassRole\\\",\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92/inlinePolicy/IAMPassRolePermissions","resourceName":"arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92/inlinePolicy/IAMPassRolePermissions","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92/inlinePolicy/IAMPassRolePermissions","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1498.5,"y":2088.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92/inlinePolicy/LambdaPermissions","resourceId":["arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92/inlinePolicy/LambdaPermissions","arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92/inlinePolicy/LambdaPermissions"],"parent":"InlinePolicy-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92/inlinePolicy/LambdaPermissions","title":"arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92/inlinePolicy/LambdaPermissions","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92/inlinePolicy/LambdaPermissions","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92/inlinePolicy/LambdaPermissions","name":"arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92/inlinePolicy/LambdaPermissions","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92/inlinePolicy/LambdaPermissions","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92/inlinePolicy/LambdaPermissions","configuration":"\"{\\\"policyName\\\":\\\"LambdaPermissions\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":\\\"logs:CreateLogGroup\\\",\\\"Resource\\\":[\\\"arn:aws:logs:eu-central-1:060997615305:*\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"logs:CreateLogStream\\\",\\\"logs:PutLogEvents\\\"],\\\"Resource\\\":[\\\"arn:aws:logs:eu-central-1:060997615305:log-group:/aws/lambda/*\\\"],\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92/inlinePolicy/LambdaPermissions","resourceName":"arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92/inlinePolicy/LambdaPermissions","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92/inlinePolicy/LambdaPermissions","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1425.5,"y":1942.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92/inlinePolicy/S3Permissions","resourceId":["arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92/inlinePolicy/S3Permissions","arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92/inlinePolicy/S3Permissions"],"parent":"InlinePolicy-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92/inlinePolicy/S3Permissions","title":"arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92/inlinePolicy/S3Permissions","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92/inlinePolicy/S3Permissions","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92/inlinePolicy/S3Permissions","name":"arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92/inlinePolicy/S3Permissions","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92/inlinePolicy/S3Permissions","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92/inlinePolicy/S3Permissions","configuration":"\"{\\\"policyName\\\":\\\"S3Permissions\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"s3:Get*\\\",\\\"s3:List*\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92/inlinePolicy/S3Permissions","resourceName":"arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92/inlinePolicy/S3Permissions","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92/inlinePolicy/S3Permissions","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1425.5,"y":2015.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/aws-service-role/resource-explorer-2.amazonaws.com/AWSServiceRoleForResourceExplorer","resourceId":["AROAQ4M55X3E3HRDMDFQF","arn:aws:iam::060997615305:role/aws-service-role/resource-explorer-2.amazonaws.com/AWSServiceRoleForResourceExplorer"],"parent":"Role-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/aws-service-role/resource-explorer-2.amazonaws.com/AWSServiceRoleForResourceExplorer","title":"AWSServiceRoleForResourceExplorer","label":"AWSServiceRo...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/aws-service-role/resource-explorer-2.amazonaws.com/AWSServiceRoleForResourceExplorer","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQ4M55X3E3HRDMDFQF","name":"AWSServiceRoleForResourceExplorer","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::060997615305:role/aws-service-role/resource-explorer-2.amazonaws.com/AWSServiceRoleForResourceExplorer","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/aws-service-role/resource-explorer-2.amazonaws.com/AWSServiceRoleForResourceExplorer","configuration":"\"{\\\"path\\\":\\\"/aws-service-role/resource-explorer-2.amazonaws.com/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22resource-explorer-2.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQ4M55X3E3HRDMDFQF\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/aws-service-role/AWSResourceExplorerServiceRolePolicy\\\",\\\"policyName\\\":\\\"AWSResourceExplorerServiceRolePolicy\\\"}],\\\"roleName\\\":\\\"AWSServiceRoleForResourceExplorer\\\",\\\"arn\\\":\\\"arn:aws:iam::060997615305:role/aws-service-role/resource-explorer-2.amazonaws.com/AWSServiceRoleForResourceExplorer\\\",\\\"createDate\\\":\\\"2022-11-08T09:37:52.000Z\\\",\\\"rolePolicyList\\\":[],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQ4M55X3E3HRDMDFQF","resourceName":"AWSServiceRoleForResourceExplorer","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"AWSServiceRoleForResourceExplorer","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-1976.5,"y":2161.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/service-role/AWSAmplifyExecutionRole-d24gblght3yue","resourceId":["AROAQ4M55X3E6P75UPRGK","arn:aws:iam::060997615305:role/service-role/AWSAmplifyExecutionRole-d24gblght3yue"],"parent":"Role-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/service-role/AWSAmplifyExecutionRole-d24gblght3yue","title":"AWSAmplifyExecutionRole-d24gblght3yue","label":"AWSAmplifyEx...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/service-role/AWSAmplifyExecutionRole-d24gblght3yue","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQ4M55X3E6P75UPRGK","name":"AWSAmplifyExecutionRole-d24gblght3yue","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::060997615305:role/service-role/AWSAmplifyExecutionRole-d24gblght3yue","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/service-role/AWSAmplifyExecutionRole-d24gblght3yue","configuration":"\"{\\\"path\\\":\\\"/service-role/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22amplify.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQ4M55X3E6P75UPRGK\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::060997615305:policy/service-role/AWSAmplifyExecutionPolicy-d24gblght3yue\\\",\\\"policyName\\\":\\\"AWSAmplifyExecutionPolicy-d24gblght3yue\\\"}],\\\"roleName\\\":\\\"AWSAmplifyExecutionRole-d24gblght3yue\\\",\\\"arn\\\":\\\"arn:aws:iam::060997615305:role/service-role/AWSAmplifyExecutionRole-d24gblght3yue\\\",\\\"createDate\\\":\\\"2019-05-14T13:30:18.000Z\\\",\\\"rolePolicyList\\\":[],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQ4M55X3E6P75UPRGK","resourceName":"AWSAmplifyExecutionRole-d24gblght3yue","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"AWSAmplifyExecutionRole-d24gblght3yue","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-1903.5,"y":1942.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:policy/service-role/AWSAmplifyExecutionPolicy-d24gblght3yue","resourceId":["ANPAQ4M55X3EVYH73PDLQ","arn:aws:iam::060997615305:policy/service-role/AWSAmplifyExecutionPolicy-d24gblght3yue"],"parent":"Policy-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:policy/service-role/AWSAmplifyExecutionPolicy-d24gblght3yue","title":"AWSAmplifyExecutionPolicy-d24gblght3yue","label":"AWSAmplifyEx...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:policy/service-role/AWSAmplifyExecutionPolicy-d24gblght3yue","image":"/icons/IAM_Policy.svg","cost":0,"private":false,"resource":{"id":"ANPAQ4M55X3EVYH73PDLQ","name":"AWSAmplifyExecutionPolicy-d24gblght3yue","value":null,"type":"AWS::IAM::Policy","tags":"[]","arn":"arn:aws:iam::060997615305:policy/service-role/AWSAmplifyExecutionPolicy-d24gblght3yue","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/policies","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/policies","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:policy/service-role/AWSAmplifyExecutionPolicy-d24gblght3yue","configuration":"\"{\\\"permissionsBoundaryUsageCount\\\":0,\\\"policyVersionList\\\":[{\\\"versionId\\\":\\\"v1\\\",\\\"isDefaultVersion\\\":true,\\\"document\\\":\\\"%7B%0A%20%20%20%20%22Version%22%3A%20%222012-10-17%22%2C%0A%20%20%20%20%22Statement%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Effect%22%3A%20%22Allow%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Resource%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22arn%3Aaws%3Alogs%3Aeu-west-2%3A060997615305%3Alog-group%3A%2Faws%2Famplify%2Fd24gblght3yue%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22arn%3Aaws%3Alogs%3Aeu-west-2%3A060997615305%3Alog-group%3A%2Faws%2Famplify%2Fd24gblght3yue%3A%2A%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Action%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22logs%3ACreateLogGroup%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22logs%3ACreateLogStream%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22logs%3APutLogEvents%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Effect%22%3A%20%22Allow%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Resource%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22arn%3Aaws%3Acodecommit%3Aeu-west-2%3A060997615305%3Acfn-tools-site%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Action%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22codecommit%3AGitPull%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%5D%0A%7D\\\",\\\"createDate\\\":\\\"2019-05-14T13:30:18.000Z\\\"}],\\\"path\\\":\\\"/service-role/\\\",\\\"updateDate\\\":\\\"2019-05-14T13:30:18.000Z\\\",\\\"policyId\\\":\\\"ANPAQ4M55X3EVYH73PDLQ\\\",\\\"defaultVersionId\\\":\\\"v1\\\",\\\"policyName\\\":\\\"AWSAmplifyExecutionPolicy-d24gblght3yue\\\",\\\"isAttachable\\\":true,\\\"attachmentCount\\\":1,\\\"arn\\\":\\\"arn:aws:iam::060997615305:policy/service-role/AWSAmplifyExecutionPolicy-d24gblght3yue\\\",\\\"createDate\\\":\\\"2019-05-14T13:30:18.000Z\\\"}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/policies","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/policies","private":null,"resourceId":"ANPAQ4M55X3EVYH73PDLQ","resourceName":"AWSAmplifyExecutionPolicy-d24gblght3yue","resourceType":"AWS::IAM::Policy","resourceValue":null,"state":null,"tags":"[]","title":"AWSAmplifyExecutionPolicy-d24gblght3yue","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1790.5,"y":2583.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/MediaAnalysis-CodeBuildServiceRole-MUWRQO3PSI2H","resourceId":["AROAQ4M55X3E6TNJVI25B","arn:aws:iam::060997615305:role/MediaAnalysis-CodeBuildServiceRole-MUWRQO3PSI2H"],"parent":"Role-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/MediaAnalysis-CodeBuildServiceRole-MUWRQO3PSI2H","title":"MediaAnalysis-CodeBuildServiceRole-MUWRQO3PSI2H","label":"MediaAnalysi...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/MediaAnalysis-CodeBuildServiceRole-MUWRQO3PSI2H","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQ4M55X3E6TNJVI25B","name":"MediaAnalysis-CodeBuildServiceRole-MUWRQO3PSI2H","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::060997615305:role/MediaAnalysis-CodeBuildServiceRole-MUWRQO3PSI2H","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/MediaAnalysis-CodeBuildServiceRole-MUWRQO3PSI2H","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222008-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22codebuild.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQ4M55X3E6TNJVI25B\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"MediaAnalysis-CodeBuildServiceRole-MUWRQO3PSI2H\\\",\\\"arn\\\":\\\"arn:aws:iam::060997615305:role/MediaAnalysis-CodeBuildServiceRole-MUWRQO3PSI2H\\\",\\\"createDate\\\":\\\"2019-09-26T15:06:09.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22logs%3ACreateLogGroup%22%2C%22logs%3ACreateLogStream%22%2C%22logs%3APutLogEvents%22%2C%22ecr%3AGetAuthorizationToken%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22s3%3A%2A%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3As3%3A%3A%3Amediaanalysis-codebuildartifactbucket-1iqg7hj0ubwea%2F%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22ecr%3AGetDownloadUrlForLayer%22%2C%22ecr%3ABatchGetImage%22%2C%22ecr%3ABatchCheckLayerAvailability%22%2C%22ecr%3APutImage%22%2C%22ecr%3AInitiateLayerUpload%22%2C%22ecr%3AUploadLayerPart%22%2C%22ecr%3ACompleteLayerUpload%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Aecr%3Aeu-west-1%3A060997615305%3Arepository%2Ftranscriber%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"root\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQ4M55X3E6TNJVI25B","resourceName":"MediaAnalysis-CodeBuildServiceRole-MUWRQO3PSI2H","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"MediaAnalysis-CodeBuildServiceRole-MUWRQO3PSI2H","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-1903.5,"y":2015.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/MediaAnalysis-CodeBuildServiceRole-MUWRQO3PSI2H/inlinePolicy/root","resourceId":["arn:aws:iam::060997615305:role/MediaAnalysis-CodeBuildServiceRole-MUWRQO3PSI2H/inlinePolicy/root","arn:aws:iam::060997615305:role/MediaAnalysis-CodeBuildServiceRole-MUWRQO3PSI2H/inlinePolicy/root"],"parent":"InlinePolicy-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/MediaAnalysis-CodeBuildServiceRole-MUWRQO3PSI2H/inlinePolicy/root","title":"arn:aws:iam::060997615305:role/MediaAnalysis-CodeBuildServiceRole-MUWRQO3PSI2H/inlinePolicy/root","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/MediaAnalysis-CodeBuildServiceRole-MUWRQO3PSI2H/inlinePolicy/root","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::060997615305:role/MediaAnalysis-CodeBuildServiceRole-MUWRQO3PSI2H/inlinePolicy/root","name":"arn:aws:iam::060997615305:role/MediaAnalysis-CodeBuildServiceRole-MUWRQO3PSI2H/inlinePolicy/root","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::060997615305:role/MediaAnalysis-CodeBuildServiceRole-MUWRQO3PSI2H/inlinePolicy/root","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/MediaAnalysis-CodeBuildServiceRole-MUWRQO3PSI2H/inlinePolicy/root","configuration":"\"{\\\"policyName\\\":\\\"root\\\",\\\"policyDocument\\\":{\\\"Statement\\\":[{\\\"Action\\\":[\\\"logs:CreateLogGroup\\\",\\\"logs:CreateLogStream\\\",\\\"logs:PutLogEvents\\\",\\\"ecr:GetAuthorizationToken\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"s3:*\\\"],\\\"Resource\\\":\\\"arn:aws:s3:::mediaanalysis-codebuildartifactbucket-1iqg7hj0ubwea/*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"ecr:GetDownloadUrlForLayer\\\",\\\"ecr:BatchGetImage\\\",\\\"ecr:BatchCheckLayerAvailability\\\",\\\"ecr:PutImage\\\",\\\"ecr:InitiateLayerUpload\\\",\\\"ecr:UploadLayerPart\\\",\\\"ecr:CompleteLayerUpload\\\"],\\\"Resource\\\":\\\"arn:aws:ecr:eu-west-1:060997615305:repository/transcriber\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::060997615305:role/MediaAnalysis-CodeBuildServiceRole-MUWRQO3PSI2H/inlinePolicy/root","resourceName":"arn:aws:iam::060997615305:role/MediaAnalysis-CodeBuildServiceRole-MUWRQO3PSI2H/inlinePolicy/root","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::060997615305:role/MediaAnalysis-CodeBuildServiceRole-MUWRQO3PSI2H/inlinePolicy/root","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1425.5,"y":2088.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"Project-eu-west-1-060997615305","parent":"eu-west-1-060997615305","level":2,"title":"Project","label":"Project","plainLabel":"Project","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/AWS-CodeBuild_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:codebuild:eu-west-1:060997615305:project/MediaAnalysis","label":"AWS_CodeBuild_Project","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:codebuild:eu-west-1:060997615305:project/MediaAnalysis","configuration":"\"{\\\"environment\\\":{\\\"image\\\":\\\"aws/codebuild/docker:18.09.0\\\",\\\"computeType\\\":\\\"BUILD_GENERAL1_SMALL\\\",\\\"imagePullCredentialsType\\\":\\\"CODEBUILD\\\",\\\"environmentVariables\\\":[{\\\"name\\\":\\\"AWS_DEFAULT_REGION\\\",\\\"type\\\":\\\"PLAINTEXT\\\",\\\"value\\\":\\\"******\\\"},{\\\"name\\\":\\\"REPOSITORY_URI\\\",\\\"type\\\":\\\"PLAINTEXT\\\",\\\"value\\\":\\\"******\\\"}],\\\"privilegedMode\\\":true,\\\"type\\\":\\\"LINUX_CONTAINER\\\"},\\\"cache\\\":{\\\"type\\\":\\\"NO_CACHE\\\"},\\\"serviceRole\\\":\\\"arn:aws:iam::060997615305:role/MediaAnalysis-CodeBuildServiceRole-MUWRQO3PSI2H\\\",\\\"name\\\":\\\"MediaAnalysis\\\",\\\"timeoutInMinutes\\\":60,\\\"source\\\":[{\\\"buildSpec\\\":\\\"version: 0.2\\\\nphases:\\\\npre_build:\\\\n commands:\\\\n - $(aws ecr get-login --no-include-email)\\\\n - IMAGE_URI=\\\\\\\"${REPOSITORY_URI}\\\\\\\"\\\\nbuild:\\\\n commands:\\\\n - docker build --tag \\\\\\\"$IMAGE_URI\\\\\\\" .\\\\npost_build:\\\\n commands:\\\\n - docker push \\\\\\\"$IMAGE_URI\\\\\\\"\\\",\\\"type\\\":\\\"CODEPIPELINE\\\"}],\\\"encryptionKey\\\":\\\"arn:aws:kms:eu-west-1:060997615305:alias/aws/s3\\\",\\\"queuedtimeoutInMinutes\\\":480,\\\"artifacts\\\":[{\\\"encryptionDisabled\\\":false,\\\"name\\\":\\\"MediaAnalysis\\\",\\\"packaging\\\":\\\"NONE\\\",\\\"type\\\":\\\"CODEPIPELINE\\\"}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"aafe64de-c12b-4808-86c0-44309fa16ee2","resourceName":"MediaAnalysis","resourceType":"AWS::CodeBuild::Project","resourceValue":null,"state":null,"tags":"[]","title":"MediaAnalysis","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1455,"y":1676.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:codebuild:eu-west-1:060997615305:project/MediaAnalysis","resourceId":["aafe64de-c12b-4808-86c0-44309fa16ee2","arn:aws:codebuild:eu-west-1:060997615305:project/MediaAnalysis"],"parent":"Project-eu-west-1-060997615305","level":3,"id":"arn:aws:codebuild:eu-west-1:060997615305:project/MediaAnalysis","title":"MediaAnalysis","label":"MediaAnalysi...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:codebuild:eu-west-1:060997615305:project/MediaAnalysis","image":"/icons/AWS-CodeBuild_light-bg.svg","cost":0,"private":false,"resource":{"id":"aafe64de-c12b-4808-86c0-44309fa16ee2","name":"MediaAnalysis","value":null,"type":"AWS::CodeBuild::Project","tags":"[]","arn":"arn:aws:codebuild:eu-west-1:060997615305:project/MediaAnalysis","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:codebuild:eu-west-1:060997615305:project/MediaAnalysis","configuration":"\"{\\\"environment\\\":{\\\"image\\\":\\\"aws/codebuild/docker:18.09.0\\\",\\\"computeType\\\":\\\"BUILD_GENERAL1_SMALL\\\",\\\"imagePullCredentialsType\\\":\\\"CODEBUILD\\\",\\\"environmentVariables\\\":[{\\\"name\\\":\\\"AWS_DEFAULT_REGION\\\",\\\"type\\\":\\\"PLAINTEXT\\\",\\\"value\\\":\\\"******\\\"},{\\\"name\\\":\\\"REPOSITORY_URI\\\",\\\"type\\\":\\\"PLAINTEXT\\\",\\\"value\\\":\\\"******\\\"}],\\\"privilegedMode\\\":true,\\\"type\\\":\\\"LINUX_CONTAINER\\\"},\\\"cache\\\":{\\\"type\\\":\\\"NO_CACHE\\\"},\\\"serviceRole\\\":\\\"arn:aws:iam::060997615305:role/MediaAnalysis-CodeBuildServiceRole-MUWRQO3PSI2H\\\",\\\"name\\\":\\\"MediaAnalysis\\\",\\\"timeoutInMinutes\\\":60,\\\"source\\\":[{\\\"buildSpec\\\":\\\"version: 0.2\\\\nphases:\\\\npre_build:\\\\n commands:\\\\n - $(aws ecr get-login --no-include-email)\\\\n - IMAGE_URI=\\\\\\\"${REPOSITORY_URI}\\\\\\\"\\\\nbuild:\\\\n commands:\\\\n - docker build --tag \\\\\\\"$IMAGE_URI\\\\\\\" .\\\\npost_build:\\\\n commands:\\\\n - docker push \\\\\\\"$IMAGE_URI\\\\\\\"\\\",\\\"type\\\":\\\"CODEPIPELINE\\\"}],\\\"encryptionKey\\\":\\\"arn:aws:kms:eu-west-1:060997615305:alias/aws/s3\\\",\\\"queuedtimeoutInMinutes\\\":480,\\\"artifacts\\\":[{\\\"encryptionDisabled\\\":false,\\\"name\\\":\\\"MediaAnalysis\\\",\\\"packaging\\\":\\\"NONE\\\",\\\"type\\\":\\\"CODEPIPELINE\\\"}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"aafe64de-c12b-4808-86c0-44309fa16ee2","resourceName":"MediaAnalysis","resourceType":"AWS::CodeBuild::Project","resourceValue":null,"state":null,"tags":"[]","title":"MediaAnalysis","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1491.5,"y":1676.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"vpc-0c7085cd6156fa1a4-eu-west-1-060997615305","parent":"eu-west-1-060997615305","level":2,"title":"vpc-0c7085cd6156fa1a4","label":"vpc-0c7085cd6156fa1a4","plainLabel":"vpc-0c7085cd6156fa1a4","type":"vpc","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/VPC-collapsed.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":null,"label":"Stack","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e","label":"AWS_CloudFormation_Stack","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e","configuration":"\"{\\\"outputs\\\":[{\\\"outputKey\\\":\\\"url\\\",\\\"outputValue\\\":\\\"https://mediaanalysis-webuibucket-1ohzabqf3tv0i.s3.eu-west-1.amazonaws.com/index.html\\\",\\\"description\\\":\\\"WebUI URL\\\"}],\\\"capabilities\\\":[\\\"CAPABILITY_IAM\\\",\\\"CAPABILITY_NAMED_IAM\\\",\\\"CAPABILITY_AUTO_EXPAND\\\"],\\\"creationTime\\\":\\\"2019-09-26T15:05:35Z\\\",\\\"notificationARNs\\\":[],\\\"stackId\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\\\",\\\"stackName\\\":\\\"MediaAnalysis\\\",\\\"description\\\":\\\"Amazon Transcribe News Media Analysis (uksb-1potrt4cg)\\\",\\\"stackStatus\\\":\\\"CREATE_COMPLETE\\\",\\\"disableRollback\\\":false,\\\"tags\\\":[],\\\"driftInformation\\\":{\\\"stackDriftStatus\\\":\\\"NOT_CHECKED\\\"},\\\"enableTerminationProtection\\\":false,\\\"parameters\\\":[{\\\"parameterKey\\\":\\\"PublicSubnetIpBlocks\\\",\\\"parameterValue\\\":\\\"10.0.12.0/22,10.0.16.0/22,10.0.20.0/22\\\"},{\\\"parameterKey\\\":\\\"CreateCloudFrontDistribution\\\",\\\"parameterValue\\\":\\\"false\\\"},{\\\"parameterKey\\\":\\\"TaskName\\\",\\\"parameterValue\\\":\\\"transcriber\\\"},{\\\"parameterKey\\\":\\\"VpcIpBlock\\\",\\\"parameterValue\\\":\\\"10.0.0.0/16\\\"},{\\\"parameterKey\\\":\\\"RetryThreshold\\\",\\\"parameterValue\\\":\\\"3\\\"},{\\\"parameterKey\\\":\\\"MaxTasksCapacity\\\",\\\"parameterValue\\\":\\\"10\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Regional","vpcId":"vpc-0c7085cd6156fa1a4","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e","resourceName":"MediaAnalysis","resourceType":"AWS::CloudFormation::Stack","resourceValue":null,"state":null,"tags":"[]","title":"MediaAnalysis","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1970.25,"y":1352.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"vpc removeAll _gridParentPadding"},{"data":{"id":"Stack-vpc-0c7085cd6156fa1a4-eu-west-1-060997615305","parent":"vpc-0c7085cd6156fa1a4-eu-west-1-060997615305","level":3,"title":"Stack","label":"Stack","plainLabel":"Stack","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/AWS-CloudFormation.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e","label":"AWS_CloudFormation_Stack","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e","configuration":"\"{\\\"outputs\\\":[{\\\"outputKey\\\":\\\"url\\\",\\\"outputValue\\\":\\\"https://mediaanalysis-webuibucket-1ohzabqf3tv0i.s3.eu-west-1.amazonaws.com/index.html\\\",\\\"description\\\":\\\"WebUI URL\\\"}],\\\"capabilities\\\":[\\\"CAPABILITY_IAM\\\",\\\"CAPABILITY_NAMED_IAM\\\",\\\"CAPABILITY_AUTO_EXPAND\\\"],\\\"creationTime\\\":\\\"2019-09-26T15:05:35Z\\\",\\\"notificationARNs\\\":[],\\\"stackId\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\\\",\\\"stackName\\\":\\\"MediaAnalysis\\\",\\\"description\\\":\\\"Amazon Transcribe News Media Analysis (uksb-1potrt4cg)\\\",\\\"stackStatus\\\":\\\"CREATE_COMPLETE\\\",\\\"disableRollback\\\":false,\\\"tags\\\":[],\\\"driftInformation\\\":{\\\"stackDriftStatus\\\":\\\"NOT_CHECKED\\\"},\\\"enableTerminationProtection\\\":false,\\\"parameters\\\":[{\\\"parameterKey\\\":\\\"PublicSubnetIpBlocks\\\",\\\"parameterValue\\\":\\\"10.0.12.0/22,10.0.16.0/22,10.0.20.0/22\\\"},{\\\"parameterKey\\\":\\\"CreateCloudFrontDistribution\\\",\\\"parameterValue\\\":\\\"false\\\"},{\\\"parameterKey\\\":\\\"TaskName\\\",\\\"parameterValue\\\":\\\"transcriber\\\"},{\\\"parameterKey\\\":\\\"VpcIpBlock\\\",\\\"parameterValue\\\":\\\"10.0.0.0/16\\\"},{\\\"parameterKey\\\":\\\"RetryThreshold\\\",\\\"parameterValue\\\":\\\"3\\\"},{\\\"parameterKey\\\":\\\"MaxTasksCapacity\\\",\\\"parameterValue\\\":\\\"10\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Regional","vpcId":"vpc-0c7085cd6156fa1a4","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e","resourceName":"MediaAnalysis","resourceType":"AWS::CloudFormation::Stack","resourceValue":null,"state":null,"tags":"[]","title":"MediaAnalysis","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1836.5,"y":1510.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e","resourceId":["arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e","arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e"],"parent":"Stack-vpc-0c7085cd6156fa1a4-eu-west-1-060997615305","level":4,"id":"arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e","title":"MediaAnalysis","label":"MediaAnalysi...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e","image":"/icons/AWS-CloudFormation.svg","cost":0,"private":false,"resource":{"id":"arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e","name":"MediaAnalysis","value":null,"type":"AWS::CloudFormation::Stack","tags":"[]","arn":"arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e","configuration":"\"{\\\"outputs\\\":[{\\\"outputKey\\\":\\\"url\\\",\\\"outputValue\\\":\\\"https://mediaanalysis-webuibucket-1ohzabqf3tv0i.s3.eu-west-1.amazonaws.com/index.html\\\",\\\"description\\\":\\\"WebUI URL\\\"}],\\\"capabilities\\\":[\\\"CAPABILITY_IAM\\\",\\\"CAPABILITY_NAMED_IAM\\\",\\\"CAPABILITY_AUTO_EXPAND\\\"],\\\"creationTime\\\":\\\"2019-09-26T15:05:35Z\\\",\\\"notificationARNs\\\":[],\\\"stackId\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\\\",\\\"stackName\\\":\\\"MediaAnalysis\\\",\\\"description\\\":\\\"Amazon Transcribe News Media Analysis (uksb-1potrt4cg)\\\",\\\"stackStatus\\\":\\\"CREATE_COMPLETE\\\",\\\"disableRollback\\\":false,\\\"tags\\\":[],\\\"driftInformation\\\":{\\\"stackDriftStatus\\\":\\\"NOT_CHECKED\\\"},\\\"enableTerminationProtection\\\":false,\\\"parameters\\\":[{\\\"parameterKey\\\":\\\"PublicSubnetIpBlocks\\\",\\\"parameterValue\\\":\\\"10.0.12.0/22,10.0.16.0/22,10.0.20.0/22\\\"},{\\\"parameterKey\\\":\\\"CreateCloudFrontDistribution\\\",\\\"parameterValue\\\":\\\"false\\\"},{\\\"parameterKey\\\":\\\"TaskName\\\",\\\"parameterValue\\\":\\\"transcriber\\\"},{\\\"parameterKey\\\":\\\"VpcIpBlock\\\",\\\"parameterValue\\\":\\\"10.0.0.0/16\\\"},{\\\"parameterKey\\\":\\\"RetryThreshold\\\",\\\"parameterValue\\\":\\\"3\\\"},{\\\"parameterKey\\\":\\\"MaxTasksCapacity\\\",\\\"parameterValue\\\":\\\"10\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Regional","vpcId":"vpc-0c7085cd6156fa1a4","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e","resourceName":"MediaAnalysis","resourceType":"AWS::CloudFormation::Stack","resourceValue":null,"state":null,"tags":"[]","title":"MediaAnalysis","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1836.5,"y":1510.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/service-role/EventLogger-role-3xchql1s","resourceId":["AROAQ4M55X3E7TFNMVAJ6","arn:aws:iam::060997615305:role/service-role/EventLogger-role-3xchql1s"],"parent":"Role-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/service-role/EventLogger-role-3xchql1s","title":"EventLogger-role-3xchql1s","label":"EventLogger-...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/service-role/EventLogger-role-3xchql1s","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQ4M55X3E7TFNMVAJ6","name":"EventLogger-role-3xchql1s","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::060997615305:role/service-role/EventLogger-role-3xchql1s","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/service-role/EventLogger-role-3xchql1s","configuration":"\"{\\\"path\\\":\\\"/service-role/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22lambda.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQ4M55X3E7TFNMVAJ6\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/AmazonSQSFullAccess\\\",\\\"policyName\\\":\\\"AmazonSQSFullAccess\\\"},{\\\"policyArn\\\":\\\"arn:aws:iam::060997615305:policy/service-role/AWSLambdaBasicExecutionRole-1a252ad6-9f76-4297-83ce-32fc1f534168\\\",\\\"policyName\\\":\\\"AWSLambdaBasicExecutionRole-1a252ad6-9f76-4297-83ce-32fc1f534168\\\"}],\\\"roleName\\\":\\\"EventLogger-role-3xchql1s\\\",\\\"arn\\\":\\\"arn:aws:iam::060997615305:role/service-role/EventLogger-role-3xchql1s\\\",\\\"createDate\\\":\\\"2020-11-09T09:58:31.000Z\\\",\\\"rolePolicyList\\\":[],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQ4M55X3E7TFNMVAJ6","resourceName":"EventLogger-role-3xchql1s","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"EventLogger-role-3xchql1s","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-1903.5,"y":2088.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:policy/service-role/AWSLambdaBasicExecutionRole-1a252ad6-9f76-4297-83ce-32fc1f534168","resourceId":["ANPAQ4M55X3EWR4O5FHE3","arn:aws:iam::060997615305:policy/service-role/AWSLambdaBasicExecutionRole-1a252ad6-9f76-4297-83ce-32fc1f534168"],"parent":"Policy-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:policy/service-role/AWSLambdaBasicExecutionRole-1a252ad6-9f76-4297-83ce-32fc1f534168","title":"AWSLambdaBasicExecutionRole-1a252ad6-9f76-4297-83ce-32fc1f534168","label":"AWSLambdaBas...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:policy/service-role/AWSLambdaBasicExecutionRole-1a252ad6-9f76-4297-83ce-32fc1f534168","image":"/icons/IAM_Policy.svg","cost":0,"private":false,"resource":{"id":"ANPAQ4M55X3EWR4O5FHE3","name":"AWSLambdaBasicExecutionRole-1a252ad6-9f76-4297-83ce-32fc1f534168","value":null,"type":"AWS::IAM::Policy","tags":"[]","arn":"arn:aws:iam::060997615305:policy/service-role/AWSLambdaBasicExecutionRole-1a252ad6-9f76-4297-83ce-32fc1f534168","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/policies","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/policies","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:policy/service-role/AWSLambdaBasicExecutionRole-1a252ad6-9f76-4297-83ce-32fc1f534168","configuration":"\"{\\\"permissionsBoundaryUsageCount\\\":0,\\\"policyVersionList\\\":[{\\\"versionId\\\":\\\"v1\\\",\\\"isDefaultVersion\\\":true,\\\"document\\\":\\\"%7B%0A%20%20%20%20%22Version%22%3A%20%222012-10-17%22%2C%0A%20%20%20%20%22Statement%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Effect%22%3A%20%22Allow%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Action%22%3A%20%22logs%3ACreateLogGroup%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Resource%22%3A%20%22arn%3Aaws%3Alogs%3Aus-east-1%3A060997615305%3A%2A%22%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Effect%22%3A%20%22Allow%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Action%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22logs%3ACreateLogStream%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22logs%3APutLogEvents%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Resource%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22arn%3Aaws%3Alogs%3Aus-east-1%3A060997615305%3Alog-group%3A%2Faws%2Flambda%2FEventLogger%3A%2A%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%5D%0A%7D\\\",\\\"createDate\\\":\\\"2020-11-09T09:58:31.000Z\\\"}],\\\"path\\\":\\\"/service-role/\\\",\\\"updateDate\\\":\\\"2020-11-09T09:58:31.000Z\\\",\\\"policyId\\\":\\\"ANPAQ4M55X3EWR4O5FHE3\\\",\\\"defaultVersionId\\\":\\\"v1\\\",\\\"policyName\\\":\\\"AWSLambdaBasicExecutionRole-1a252ad6-9f76-4297-83ce-32fc1f534168\\\",\\\"isAttachable\\\":true,\\\"attachmentCount\\\":1,\\\"arn\\\":\\\"arn:aws:iam::060997615305:policy/service-role/AWSLambdaBasicExecutionRole-1a252ad6-9f76-4297-83ce-32fc1f534168\\\",\\\"createDate\\\":\\\"2020-11-09T09:58:31.000Z\\\"}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/policies","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/policies","private":null,"resourceId":"ANPAQ4M55X3EWR4O5FHE3","resourceName":"AWSLambdaBasicExecutionRole-1a252ad6-9f76-4297-83ce-32fc1f534168","resourceType":"AWS::IAM::Policy","resourceValue":null,"state":null,"tags":"[]","title":"AWSLambdaBasicExecutionRole-1a252ad6-9f76-4297-83ce-32fc1f534168","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1717.5,"y":2583.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/AWSCloudFormationStackSetExecutionRole","resourceId":["AROAQ4M55X3EQC2R7JFI7","arn:aws:iam::060997615305:role/AWSCloudFormationStackSetExecutionRole"],"parent":"Role-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/AWSCloudFormationStackSetExecutionRole","title":"AWSCloudFormationStackSetExecutionRole","label":"AWSCloudForm...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/AWSCloudFormationStackSetExecutionRole","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQ4M55X3EQC2R7JFI7","name":"AWSCloudFormationStackSetExecutionRole","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::060997615305:role/AWSCloudFormationStackSetExecutionRole","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/AWSCloudFormationStackSetExecutionRole","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22AWS%22%3A%22arn%3Aaws%3Aiam%3A%3A060997615305%3Aroot%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQ4M55X3EQC2R7JFI7\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/AdministratorAccess\\\",\\\"policyName\\\":\\\"AdministratorAccess\\\"}],\\\"roleName\\\":\\\"AWSCloudFormationStackSetExecutionRole\\\",\\\"arn\\\":\\\"arn:aws:iam::060997615305:role/AWSCloudFormationStackSetExecutionRole\\\",\\\"createDate\\\":\\\"2020-03-12T15:28:15.000Z\\\",\\\"rolePolicyList\\\":[],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQ4M55X3EQC2R7JFI7","resourceName":"AWSCloudFormationStackSetExecutionRole","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"AWSCloudFormationStackSetExecutionRole","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-1903.5,"y":2161.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/S3F2-DeployStack-K0N17ZHR7-CodePipelineServiceRole-M6IHEQO976QZ","resourceId":["AROAQ4M55X3EQHLRWRKDH","arn:aws:iam::060997615305:role/S3F2-DeployStack-K0N17ZHR7-CodePipelineServiceRole-M6IHEQO976QZ"],"parent":"Role-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/S3F2-DeployStack-K0N17ZHR7-CodePipelineServiceRole-M6IHEQO976QZ","title":"S3F2-DeployStack-K0N17ZHR7-CodePipelineServiceRole-M6IHEQO976QZ","label":"S3F2-DeployS...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/S3F2-DeployStack-K0N17ZHR7-CodePipelineServiceRole-M6IHEQO976QZ","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQ4M55X3EQHLRWRKDH","name":"S3F2-DeployStack-K0N17ZHR7-CodePipelineServiceRole-M6IHEQO976QZ","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::060997615305:role/S3F2-DeployStack-K0N17ZHR7-CodePipelineServiceRole-M6IHEQO976QZ","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/S3F2-DeployStack-K0N17ZHR7-CodePipelineServiceRole-M6IHEQO976QZ","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222008-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22codepipeline.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQ4M55X3EQHLRWRKDH\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"S3F2-DeployStack-K0N17ZHR7-CodePipelineServiceRole-M6IHEQO976QZ\\\",\\\"arn\\\":\\\"arn:aws:iam::060997615305:role/S3F2-DeployStack-K0N17ZHR7-CodePipelineServiceRole-M6IHEQO976QZ\\\",\\\"createDate\\\":\\\"2020-04-07T09:08:06.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22ecs%3ADescribeServices%22%2C%22ecs%3ADescribeTaskDefinition%22%2C%22ecs%3ADescribeTasks%22%2C%22ecs%3AListTasks%22%2C%22ecs%3ARegisterTaskDefinition%22%2C%22ecs%3AUpdateService%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22codebuild%3ABatchGetBuilds%22%2C%22codebuild%3AStartBuild%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Acodebuild%3Aeu-west-2%3A060997615305%3Aproject%2FS3F2BackendBuild%22%2C%22arn%3Aaws%3Acodebuild%3Aeu-west-2%3A060997615305%3Aproject%2FS3F2FrontendBuild%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22s3%3AGetBucket%2A%22%2C%22s3%3AList%2A%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3As3%3A%3A%3As3f2-tempbucket-11k6x2zprcq2v%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22s3%3AGetObject%22%2C%22s3%3AGetObjectVersion%22%2C%22s3%3APutObject%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3As3%3A%3A%3As3f2-tempbucket-11k6x2zprcq2v%2F%2A%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"root\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQ4M55X3EQHLRWRKDH","resourceName":"S3F2-DeployStack-K0N17ZHR7-CodePipelineServiceRole-M6IHEQO976QZ","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"S3F2-DeployStack-K0N17ZHR7-CodePipelineServiceRole-M6IHEQO976QZ","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-2195.5,"y":2234.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/S3F2-DeployStack-K0N17ZHR7-CodePipelineServiceRole-M6IHEQO976QZ/inlinePolicy/root","resourceId":["arn:aws:iam::060997615305:role/S3F2-DeployStack-K0N17ZHR7-CodePipelineServiceRole-M6IHEQO976QZ/inlinePolicy/root","arn:aws:iam::060997615305:role/S3F2-DeployStack-K0N17ZHR7-CodePipelineServiceRole-M6IHEQO976QZ/inlinePolicy/root"],"parent":"InlinePolicy-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/S3F2-DeployStack-K0N17ZHR7-CodePipelineServiceRole-M6IHEQO976QZ/inlinePolicy/root","title":"arn:aws:iam::060997615305:role/S3F2-DeployStack-K0N17ZHR7-CodePipelineServiceRole-M6IHEQO976QZ/inlinePolicy/root","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/S3F2-DeployStack-K0N17ZHR7-CodePipelineServiceRole-M6IHEQO976QZ/inlinePolicy/root","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::060997615305:role/S3F2-DeployStack-K0N17ZHR7-CodePipelineServiceRole-M6IHEQO976QZ/inlinePolicy/root","name":"arn:aws:iam::060997615305:role/S3F2-DeployStack-K0N17ZHR7-CodePipelineServiceRole-M6IHEQO976QZ/inlinePolicy/root","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::060997615305:role/S3F2-DeployStack-K0N17ZHR7-CodePipelineServiceRole-M6IHEQO976QZ/inlinePolicy/root","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/S3F2-DeployStack-K0N17ZHR7-CodePipelineServiceRole-M6IHEQO976QZ/inlinePolicy/root","configuration":"\"{\\\"policyName\\\":\\\"root\\\",\\\"policyDocument\\\":{\\\"Statement\\\":[{\\\"Action\\\":[\\\"ecs:DescribeServices\\\",\\\"ecs:DescribeTaskDefinition\\\",\\\"ecs:DescribeTasks\\\",\\\"ecs:ListTasks\\\",\\\"ecs:RegisterTaskDefinition\\\",\\\"ecs:UpdateService\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"codebuild:BatchGetBuilds\\\",\\\"codebuild:StartBuild\\\"],\\\"Resource\\\":[\\\"arn:aws:codebuild:eu-west-2:060997615305:project/S3F2BackendBuild\\\",\\\"arn:aws:codebuild:eu-west-2:060997615305:project/S3F2FrontendBuild\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"s3:GetBucket*\\\",\\\"s3:List*\\\"],\\\"Resource\\\":\\\"arn:aws:s3:::s3f2-tempbucket-11k6x2zprcq2v\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"s3:GetObject\\\",\\\"s3:GetObjectVersion\\\",\\\"s3:PutObject\\\"],\\\"Resource\\\":\\\"arn:aws:s3:::s3f2-tempbucket-11k6x2zprcq2v/*\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::060997615305:role/S3F2-DeployStack-K0N17ZHR7-CodePipelineServiceRole-M6IHEQO976QZ/inlinePolicy/root","resourceName":"arn:aws:iam::060997615305:role/S3F2-DeployStack-K0N17ZHR7-CodePipelineServiceRole-M6IHEQO976QZ/inlinePolicy/root","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::060997615305:role/S3F2-DeployStack-K0N17ZHR7-CodePipelineServiceRole-M6IHEQO976QZ/inlinePolicy/root","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1644.5,"y":2161.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"Pipeline-eu-west-2-060997615305","parent":"eu-west-2-060997615305","level":2,"title":"Pipeline","label":"Pipeline","plainLabel":"Pipeline","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/AWS-CodePipeline_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:codepipeline:eu-west-2:060997615305:S3F2-DeployStack-K0N17ZHR741I-CodePipeline-1VQTQCNQNDHVM","label":"AWS_CodePipeline_Pipeline","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:codepipeline:eu-west-2:060997615305:S3F2-DeployStack-K0N17ZHR741I-CodePipeline-1VQTQCNQNDHVM","configuration":"\"{\\\"pipeline\\\":{\\\"artifactStore\\\":{\\\"location\\\":\\\"s3f2-tempbucket-11k6x2zprcq2v\\\",\\\"type\\\":\\\"S3\\\"},\\\"roleArn\\\":\\\"arn:aws:iam::060997615305:role/S3F2-DeployStack-K0N17ZHR7-CodePipelineServiceRole-M6IHEQO976QZ\\\",\\\"name\\\":\\\"S3F2-DeployStack-K0N17ZHR741I-CodePipeline-1VQTQCNQNDHVM\\\",\\\"stages\\\":[{\\\"name\\\":\\\"Source\\\",\\\"actions\\\":[{\\\"runOrder\\\":1,\\\"actionTypeId\\\":{\\\"owner\\\":\\\"AWS\\\",\\\"provider\\\":\\\"S3\\\",\\\"category\\\":\\\"Source\\\",\\\"version\\\":\\\"1\\\"},\\\"configuration\\\":{\\\"S3Bucket\\\":\\\"s3f2-tempbucket-11k6x2zprcq2v\\\",\\\"S3ObjectKey\\\":\\\"build/s3f2.zip\\\"},\\\"outputArtifacts\\\":[{\\\"name\\\":\\\"S3F2\\\"}],\\\"name\\\":\\\"App\\\",\\\"inputArtifacts\\\":[]}]},{\\\"name\\\":\\\"Frontend\\\",\\\"actions\\\":[{\\\"runOrder\\\":1,\\\"actionTypeId\\\":{\\\"owner\\\":\\\"AWS\\\",\\\"provider\\\":\\\"CodeBuild\\\",\\\"category\\\":\\\"Build\\\",\\\"version\\\":\\\"1\\\"},\\\"configuration\\\":{\\\"ProjectName\\\":\\\"S3F2FrontendBuild\\\"},\\\"outputArtifacts\\\":[{\\\"name\\\":\\\"BuildFrontendOutput\\\"}],\\\"name\\\":\\\"Build\\\",\\\"inputArtifacts\\\":[{\\\"name\\\":\\\"S3F2\\\"}]}]},{\\\"name\\\":\\\"Backend\\\",\\\"actions\\\":[{\\\"runOrder\\\":2,\\\"actionTypeId\\\":{\\\"owner\\\":\\\"AWS\\\",\\\"provider\\\":\\\"CodeBuild\\\",\\\"category\\\":\\\"Build\\\",\\\"version\\\":\\\"1\\\"},\\\"configuration\\\":{\\\"ProjectName\\\":\\\"S3F2BackendBuild\\\"},\\\"outputArtifacts\\\":[{\\\"name\\\":\\\"BuildBackendOutput\\\"}],\\\"name\\\":\\\"Build\\\",\\\"inputArtifacts\\\":[{\\\"name\\\":\\\"S3F2\\\"}]}]}],\\\"version\\\":1},\\\"metadata\\\":{\\\"pipelineArn\\\":\\\"arn:aws:codepipeline:eu-west-2:060997615305:S3F2-DeployStack-K0N17ZHR741I-CodePipeline-1VQTQCNQNDHVM\\\",\\\"created\\\":\\\"2020-04-07T09:08:27.203Z\\\"}}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"S3F2-DeployStack-K0N17ZHR741I-CodePipeline-1VQTQCNQNDHVM","resourceName":"S3F2-DeployStack-K0N17ZHR741I-CodePipeline-1VQTQCNQNDHVM","resourceType":"AWS::CodePipeline::Pipeline","resourceValue":null,"state":null,"tags":"[]","title":"S3F2-DeployStack-K0N17ZHR741I-CodePipeline-1VQTQCNQNDHVM","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":874.5,"y":1144.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:codepipeline:eu-west-2:060997615305:S3F2-DeployStack-K0N17ZHR741I-CodePipeline-1VQTQCNQNDHVM","resourceId":["S3F2-DeployStack-K0N17ZHR741I-CodePipeline-1VQTQCNQNDHVM","arn:aws:codepipeline:eu-west-2:060997615305:S3F2-DeployStack-K0N17ZHR741I-CodePipeline-1VQTQCNQNDHVM"],"parent":"Pipeline-eu-west-2-060997615305","level":3,"id":"arn:aws:codepipeline:eu-west-2:060997615305:S3F2-DeployStack-K0N17ZHR741I-CodePipeline-1VQTQCNQNDHVM","title":"S3F2-DeployStack-K0N17ZHR741I-CodePipeline-1VQTQCNQNDHVM","label":"S3F2-DeployS...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:codepipeline:eu-west-2:060997615305:S3F2-DeployStack-K0N17ZHR741I-CodePipeline-1VQTQCNQNDHVM","image":"/icons/AWS-CodePipeline_light-bg.svg","cost":0,"private":false,"resource":{"id":"S3F2-DeployStack-K0N17ZHR741I-CodePipeline-1VQTQCNQNDHVM","name":"S3F2-DeployStack-K0N17ZHR741I-CodePipeline-1VQTQCNQNDHVM","value":null,"type":"AWS::CodePipeline::Pipeline","tags":"[]","arn":"arn:aws:codepipeline:eu-west-2:060997615305:S3F2-DeployStack-K0N17ZHR741I-CodePipeline-1VQTQCNQNDHVM","region":"eu-west-2","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:codepipeline:eu-west-2:060997615305:S3F2-DeployStack-K0N17ZHR741I-CodePipeline-1VQTQCNQNDHVM","configuration":"\"{\\\"pipeline\\\":{\\\"artifactStore\\\":{\\\"location\\\":\\\"s3f2-tempbucket-11k6x2zprcq2v\\\",\\\"type\\\":\\\"S3\\\"},\\\"roleArn\\\":\\\"arn:aws:iam::060997615305:role/S3F2-DeployStack-K0N17ZHR7-CodePipelineServiceRole-M6IHEQO976QZ\\\",\\\"name\\\":\\\"S3F2-DeployStack-K0N17ZHR741I-CodePipeline-1VQTQCNQNDHVM\\\",\\\"stages\\\":[{\\\"name\\\":\\\"Source\\\",\\\"actions\\\":[{\\\"runOrder\\\":1,\\\"actionTypeId\\\":{\\\"owner\\\":\\\"AWS\\\",\\\"provider\\\":\\\"S3\\\",\\\"category\\\":\\\"Source\\\",\\\"version\\\":\\\"1\\\"},\\\"configuration\\\":{\\\"S3Bucket\\\":\\\"s3f2-tempbucket-11k6x2zprcq2v\\\",\\\"S3ObjectKey\\\":\\\"build/s3f2.zip\\\"},\\\"outputArtifacts\\\":[{\\\"name\\\":\\\"S3F2\\\"}],\\\"name\\\":\\\"App\\\",\\\"inputArtifacts\\\":[]}]},{\\\"name\\\":\\\"Frontend\\\",\\\"actions\\\":[{\\\"runOrder\\\":1,\\\"actionTypeId\\\":{\\\"owner\\\":\\\"AWS\\\",\\\"provider\\\":\\\"CodeBuild\\\",\\\"category\\\":\\\"Build\\\",\\\"version\\\":\\\"1\\\"},\\\"configuration\\\":{\\\"ProjectName\\\":\\\"S3F2FrontendBuild\\\"},\\\"outputArtifacts\\\":[{\\\"name\\\":\\\"BuildFrontendOutput\\\"}],\\\"name\\\":\\\"Build\\\",\\\"inputArtifacts\\\":[{\\\"name\\\":\\\"S3F2\\\"}]}]},{\\\"name\\\":\\\"Backend\\\",\\\"actions\\\":[{\\\"runOrder\\\":2,\\\"actionTypeId\\\":{\\\"owner\\\":\\\"AWS\\\",\\\"provider\\\":\\\"CodeBuild\\\",\\\"category\\\":\\\"Build\\\",\\\"version\\\":\\\"1\\\"},\\\"configuration\\\":{\\\"ProjectName\\\":\\\"S3F2BackendBuild\\\"},\\\"outputArtifacts\\\":[{\\\"name\\\":\\\"BuildBackendOutput\\\"}],\\\"name\\\":\\\"Build\\\",\\\"inputArtifacts\\\":[{\\\"name\\\":\\\"S3F2\\\"}]}]}],\\\"version\\\":1},\\\"metadata\\\":{\\\"pipelineArn\\\":\\\"arn:aws:codepipeline:eu-west-2:060997615305:S3F2-DeployStack-K0N17ZHR741I-CodePipeline-1VQTQCNQNDHVM\\\",\\\"created\\\":\\\"2020-04-07T09:08:27.203Z\\\"}}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"S3F2-DeployStack-K0N17ZHR741I-CodePipeline-1VQTQCNQNDHVM","resourceName":"S3F2-DeployStack-K0N17ZHR741I-CodePipeline-1VQTQCNQNDHVM","resourceType":"AWS::CodePipeline::Pipeline","resourceValue":null,"state":null,"tags":"[]","title":"S3F2-DeployStack-K0N17ZHR741I-CodePipeline-1VQTQCNQNDHVM","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":874.5,"y":1144.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2-DeployStack-K0N17ZHR741I/38c1db20-78af-11ea-8e11-0aad4e0395e8","resourceId":["arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2-DeployStack-K0N17ZHR741I/38c1db20-78af-11ea-8e11-0aad4e0395e8","arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2-DeployStack-K0N17ZHR741I/38c1db20-78af-11ea-8e11-0aad4e0395e8"],"parent":"Stack-eu-west-2-060997615305","level":3,"id":"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2-DeployStack-K0N17ZHR741I/38c1db20-78af-11ea-8e11-0aad4e0395e8","title":"S3F2-DeployStack-K0N17ZHR741I","label":"S3F2-DeployS...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2-DeployStack-K0N17ZHR741I/38c1db20-78af-11ea-8e11-0aad4e0395e8","image":"/icons/AWS-CloudFormation.svg","cost":0,"private":false,"resource":{"id":"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2-DeployStack-K0N17ZHR741I/38c1db20-78af-11ea-8e11-0aad4e0395e8","name":"S3F2-DeployStack-K0N17ZHR741I","value":null,"type":"AWS::CloudFormation::Stack","tags":"[]","arn":"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2-DeployStack-K0N17ZHR741I/38c1db20-78af-11ea-8e11-0aad4e0395e8","region":"eu-west-2","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2-DeployStack-K0N17ZHR741I/38c1db20-78af-11ea-8e11-0aad4e0395e8","configuration":"\"{\\\"outputs\\\":[],\\\"capabilities\\\":[\\\"CAPABILITY_IAM\\\",\\\"CAPABILITY_AUTO_EXPAND\\\"],\\\"creationTime\\\":\\\"2020-04-07T09:07:35Z\\\",\\\"notificationARNs\\\":[],\\\"stackId\\\":\\\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2-DeployStack-K0N17ZHR741I/38c1db20-78af-11ea-8e11-0aad4e0395e8\\\",\\\"stackName\\\":\\\"S3F2-DeployStack-K0N17ZHR741I\\\",\\\"description\\\":\\\"Amazon S3 Find and Forget Deployment helper\\\",\\\"stackStatus\\\":\\\"UPDATE_COMPLETE\\\",\\\"disableRollback\\\":true,\\\"parentId\\\":\\\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2/a3dc0710-78ae-11ea-91a4-06bdd06f2a66\\\",\\\"tags\\\":[],\\\"driftInformation\\\":{\\\"stackDriftStatus\\\":\\\"NOT_CHECKED\\\"},\\\"enableTerminationProtection\\\":false,\\\"lastUpdatedTime\\\":\\\"2020-11-12T18:26:02Z\\\",\\\"parameters\\\":[{\\\"parameterKey\\\":\\\"ResourcePrefix\\\",\\\"parameterValue\\\":\\\"S3F2\\\"},{\\\"parameterKey\\\":\\\"CloudFrontDistribution\\\",\\\"parameterValue\\\":\\\"none\\\"},{\\\"parameterKey\\\":\\\"CognitoIdentityPoolId\\\",\\\"parameterValue\\\":\\\"eu-west-2:5ce5d247-40e1-4853-84a6-5eebe03dfd1b\\\"},{\\\"parameterKey\\\":\\\"LogLevel\\\",\\\"parameterValue\\\":\\\"INFO\\\"},{\\\"parameterKey\\\":\\\"CommonLayers\\\",\\\"parameterValue\\\":\\\"arn:aws:lambda:eu-west-2:060997615305:layer:AWSSDK:20,arn:aws:lambda:eu-west-2:060997615305:layer:BotoUtils:139,arn:aws:lambda:eu-west-2:060997615305:layer:CustomResourceHelper:21,arn:aws:lambda:eu-west-2:060997615305:layer:Decorators:89\\\"},{\\\"parameterKey\\\":\\\"CognitoUserPoolClientId\\\",\\\"parameterValue\\\":\\\"19cs7l41k16h3remnqnetosl4\\\"},{\\\"parameterKey\\\":\\\"CognitoUserPoolId\\\",\\\"parameterValue\\\":\\\"eu-west-2_8pbeFp28V\\\"},{\\\"parameterKey\\\":\\\"ApiUrl\\\",\\\"parameterValue\\\":\\\"https://glxxy767i7.execute-api.eu-west-2.amazonaws.com/Prod/\\\"},{\\\"parameterKey\\\":\\\"Version\\\",\\\"parameterValue\\\":\\\"v0.15\\\"},{\\\"parameterKey\\\":\\\"PreBuiltArtefactsBucket\\\",\\\"parameterValue\\\":\\\"builder-artifacts\\\"},{\\\"parameterKey\\\":\\\"CodeBuildArtefactBucket\\\",\\\"parameterValue\\\":\\\"s3f2-tempbucket-11k6x2zprcq2v\\\"},{\\\"parameterKey\\\":\\\"ECRRepository\\\",\\\"parameterValue\\\":\\\"s3f2-ecrre-w3i3oow3iqw4\\\"},{\\\"parameterKey\\\":\\\"AthenaExecutionRole\\\",\\\"parameterValue\\\":\\\"S3F2-StateMachineStack-12M39YWDHR-ExecuteQueryRole-AINKCUZKGOAE\\\"},{\\\"parameterKey\\\":\\\"WebUIBucket\\\",\\\"parameterValue\\\":\\\"s3f2-webuistack-g7p51erory4a-webuibucket-178xy8o6mbtht\\\"},{\\\"parameterKey\\\":\\\"ArtefactName\\\",\\\"parameterValue\\\":\\\"build/s3f2.zip\\\"}]}\"","awsRegion":"eu-west-2","availabilityZone":"Regional","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2-DeployStack-K0N17ZHR741I/38c1db20-78af-11ea-8e11-0aad4e0395e8","resourceName":"S3F2-DeployStack-K0N17ZHR741I","resourceType":"AWS::CloudFormation::Stack","resourceValue":null,"state":null,"tags":"[]","title":"S3F2-DeployStack-K0N17ZHR741I","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":130.5,"y":1217.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2-CodeBuildBackendServiceR-SWAFXTFU7USX","resourceId":["AROAQ4M55X3EQKPT7Y37X","arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2-CodeBuildBackendServiceR-SWAFXTFU7USX"],"parent":"Role-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2-CodeBuildBackendServiceR-SWAFXTFU7USX","title":"S3F2POC-DeployStack-1ETR2-CodeBuildBackendServiceR-SWAFXTFU7USX","label":"S3F2POC-Depl...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2-CodeBuildBackendServiceR-SWAFXTFU7USX","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQ4M55X3EQKPT7Y37X","name":"S3F2POC-DeployStack-1ETR2-CodeBuildBackendServiceR-SWAFXTFU7USX","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2-CodeBuildBackendServiceR-SWAFXTFU7USX","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2-CodeBuildBackendServiceR-SWAFXTFU7USX","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222008-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22codebuild.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQ4M55X3EQKPT7Y37X\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"S3F2POC-DeployStack-1ETR2-CodeBuildBackendServiceR-SWAFXTFU7USX\\\",\\\"arn\\\":\\\"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2-CodeBuildBackendServiceR-SWAFXTFU7USX\\\",\\\"createDate\\\":\\\"2021-01-21T13:26:17.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22logs%3ACreateLogGroup%22%2C%22ecr%3AGetAuthorizationToken%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22logs%3ACreateLogStream%22%2C%22logs%3APutLogEvents%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Alogs%3Aeu-west-1%3A060997615305%3Alog-group%3A%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22s3%3AGet%2A%22%2C%22s3%3AList%2A%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3As3%3A%3A%3As3f2poc-tempbucket-whrisol6u9bh%2F%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22ecr%3AGetDownloadUrlForLayer%22%2C%22ecr%3ABatchGetImage%22%2C%22ecr%3ABatchCheckLayerAvailability%22%2C%22ecr%3APutImage%22%2C%22ecr%3AInitiateLayerUpload%22%2C%22ecr%3AUploadLayerPart%22%2C%22ecr%3ACompleteLayerUpload%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Aecr%3Aeu-west-1%3A060997615305%3Arepository%2Fecrrepository-atiqsii6rr9q%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"root\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQ4M55X3EQKPT7Y37X","resourceName":"S3F2POC-DeployStack-1ETR2-CodeBuildBackendServiceR-SWAFXTFU7USX","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"S3F2POC-DeployStack-1ETR2-CodeBuildBackendServiceR-SWAFXTFU7USX","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-2122.5,"y":2234.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2-CodeBuildBackendServiceR-SWAFXTFU7USX/inlinePolicy/root","resourceId":["arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2-CodeBuildBackendServiceR-SWAFXTFU7USX/inlinePolicy/root","arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2-CodeBuildBackendServiceR-SWAFXTFU7USX/inlinePolicy/root"],"parent":"InlinePolicy-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2-CodeBuildBackendServiceR-SWAFXTFU7USX/inlinePolicy/root","title":"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2-CodeBuildBackendServiceR-SWAFXTFU7USX/inlinePolicy/root","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2-CodeBuildBackendServiceR-SWAFXTFU7USX/inlinePolicy/root","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2-CodeBuildBackendServiceR-SWAFXTFU7USX/inlinePolicy/root","name":"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2-CodeBuildBackendServiceR-SWAFXTFU7USX/inlinePolicy/root","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2-CodeBuildBackendServiceR-SWAFXTFU7USX/inlinePolicy/root","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2-CodeBuildBackendServiceR-SWAFXTFU7USX/inlinePolicy/root","configuration":"\"{\\\"policyName\\\":\\\"root\\\",\\\"policyDocument\\\":{\\\"Statement\\\":[{\\\"Action\\\":[\\\"logs:CreateLogGroup\\\",\\\"ecr:GetAuthorizationToken\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"logs:CreateLogStream\\\",\\\"logs:PutLogEvents\\\"],\\\"Resource\\\":\\\"arn:aws:logs:eu-west-1:060997615305:log-group:*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"s3:Get*\\\",\\\"s3:List*\\\"],\\\"Resource\\\":\\\"arn:aws:s3:::s3f2poc-tempbucket-whrisol6u9bh/*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"ecr:GetDownloadUrlForLayer\\\",\\\"ecr:BatchGetImage\\\",\\\"ecr:BatchCheckLayerAvailability\\\",\\\"ecr:PutImage\\\",\\\"ecr:InitiateLayerUpload\\\",\\\"ecr:UploadLayerPart\\\",\\\"ecr:CompleteLayerUpload\\\"],\\\"Resource\\\":\\\"arn:aws:ecr:eu-west-1:060997615305:repository/ecrrepository-atiqsii6rr9q\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2-CodeBuildBackendServiceR-SWAFXTFU7USX/inlinePolicy/root","resourceName":"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2-CodeBuildBackendServiceR-SWAFXTFU7USX/inlinePolicy/root","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2-CodeBuildBackendServiceR-SWAFXTFU7USX/inlinePolicy/root","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1571.5,"y":2161.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:codebuild:eu-west-1:060997615305:project/S3F2POCBackendBuild","resourceId":["b4f408df-b881-43df-9901-d8f4bd9a27b1","arn:aws:codebuild:eu-west-1:060997615305:project/S3F2POCBackendBuild"],"parent":"Project-eu-west-1-060997615305","level":3,"id":"arn:aws:codebuild:eu-west-1:060997615305:project/S3F2POCBackendBuild","title":"S3F2POCBackendBuild","label":"S3F2POCBacke...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:codebuild:eu-west-1:060997615305:project/S3F2POCBackendBuild","image":"/icons/AWS-CodeBuild_light-bg.svg","cost":0,"private":false,"resource":{"id":"b4f408df-b881-43df-9901-d8f4bd9a27b1","name":"S3F2POCBackendBuild","value":null,"type":"AWS::CodeBuild::Project","tags":"[]","arn":"arn:aws:codebuild:eu-west-1:060997615305:project/S3F2POCBackendBuild","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:codebuild:eu-west-1:060997615305:project/S3F2POCBackendBuild","configuration":"\"{\\\"environment\\\":{\\\"image\\\":\\\"aws/codebuild/docker:18.09.0\\\",\\\"computeType\\\":\\\"BUILD_GENERAL1_SMALL\\\",\\\"imagePullCredentialsType\\\":\\\"CODEBUILD\\\",\\\"environmentVariables\\\":[{\\\"name\\\":\\\"AWS_DEFAULT_REGION\\\",\\\"type\\\":\\\"PLAINTEXT\\\",\\\"value\\\":\\\"******\\\"},{\\\"name\\\":\\\"REPOSITORY_URI\\\",\\\"type\\\":\\\"PLAINTEXT\\\",\\\"value\\\":\\\"******\\\"}],\\\"privilegedMode\\\":true,\\\"type\\\":\\\"LINUX_CONTAINER\\\"},\\\"cache\\\":{\\\"type\\\":\\\"NO_CACHE\\\"},\\\"serviceRole\\\":\\\"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2-CodeBuildBackendServiceR-SWAFXTFU7USX\\\",\\\"name\\\":\\\"S3F2POCBackendBuild\\\",\\\"timeoutInMinutes\\\":60,\\\"source\\\":[{\\\"buildSpec\\\":\\\"version: 0.2\\\\nphases:\\\\n pre_build:\\\\n commands:\\\\n - $(aws ecr get-login --no-include-email)\\\\n - IMAGE_URI=\\\\\\\"${REPOSITORY_URI}\\\\\\\"\\\\n build:\\\\n commands:\\\\n - docker load -i backend/ecs_tasks/python_3.7-slim.tar\\\\n - docker build --tag \\\\\\\"$IMAGE_URI\\\\\\\" -f backend/ecs_tasks/delete_files/Dockerfile .\\\\n post_build:\\\\n commands:\\\\n - docker push \\\\\\\"$IMAGE_URI\\\\\\\"\\\\n\\\",\\\"type\\\":\\\"CODEPIPELINE\\\"}],\\\"encryptionKey\\\":\\\"arn:aws:kms:eu-west-1:060997615305:alias/aws/s3\\\",\\\"queuedtimeoutInMinutes\\\":480,\\\"artifacts\\\":[{\\\"encryptionDisabled\\\":false,\\\"name\\\":\\\"S3F2POCBackendBuild\\\",\\\"packaging\\\":\\\"NONE\\\",\\\"type\\\":\\\"CODEPIPELINE\\\"}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"b4f408df-b881-43df-9901-d8f4bd9a27b1","resourceName":"S3F2POCBackendBuild","resourceType":"AWS::CodeBuild::Project","resourceValue":null,"state":null,"tags":"[]","title":"S3F2POCBackendBuild","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1418.5,"y":1676.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/AmazonKendra-university-chatbot-role","resourceId":["AROAQ4M55X3EQAB7QL3RE","arn:aws:iam::060997615305:role/AmazonKendra-university-chatbot-role"],"parent":"Role-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/AmazonKendra-university-chatbot-role","title":"AmazonKendra-university-chatbot-role","label":"AmazonKendra...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/AmazonKendra-university-chatbot-role","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQ4M55X3EQAB7QL3RE","name":"AmazonKendra-university-chatbot-role","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::060997615305:role/AmazonKendra-university-chatbot-role","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/AmazonKendra-university-chatbot-role","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22kendra.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQ4M55X3EQAB7QL3RE\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"AmazonKendra-university-chatbot-role\\\",\\\"arn\\\":\\\"arn:aws:iam::060997615305:role/AmazonKendra-university-chatbot-role\\\",\\\"createDate\\\":\\\"2020-07-22T10:26:27.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%20%222012-10-17%22%2C%20%22Statement%22%3A%20%5B%7B%22Effect%22%3A%20%22Allow%22%2C%20%22Action%22%3A%20%5B%22cloudwatch%3APutMetricData%22%5D%2C%20%22Resource%22%3A%20%22%2A%22%2C%20%22Condition%22%3A%20%7B%22StringEquals%22%3A%20%7B%22cloudwatch%3Anamespace%22%3A%20%22AWS%2FKendra%22%7D%7D%7D%2C%20%7B%22Effect%22%3A%20%22Allow%22%2C%20%22Action%22%3A%20%5B%22logs%3ADescribeLogGroups%22%5D%2C%20%22Resource%22%3A%20%22%2A%22%7D%2C%20%7B%22Effect%22%3A%20%22Allow%22%2C%20%22Action%22%3A%20%5B%22logs%3ACreateLogGroup%22%5D%2C%20%22Resource%22%3A%20%5B%22arn%3Aaws%3Alogs%3Aeu-west-1%3A060997615305%3Alog-group%3A%2Faws%2Fkendra%2F%2A%22%5D%7D%2C%20%7B%22Effect%22%3A%20%22Allow%22%2C%20%22Action%22%3A%20%5B%22logs%3ADescribeLogStreams%22%2C%20%22logs%3ACreateLogStream%22%2C%20%22logs%3APutLogEvents%22%5D%2C%20%22Resource%22%3A%20%5B%22arn%3Aaws%3Alogs%3Aeu-west-1%3A060997615305%3Alog-group%3A%2Faws%2Fkendra%2F%2A%3Alog-stream%3A%2A%22%5D%7D%5D%7D\\\",\\\"policyName\\\":\\\"AmazonKendra-university-chatbot\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQ4M55X3EQAB7QL3RE","resourceName":"AmazonKendra-university-chatbot-role","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"AmazonKendra-university-chatbot-role","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-2049.5,"y":2234.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/AmazonKendra-university-chatbot-role/inlinePolicy/AmazonKendra-university-chatbot","resourceId":["arn:aws:iam::060997615305:role/AmazonKendra-university-chatbot-role/inlinePolicy/AmazonKendra-university-chatbot","arn:aws:iam::060997615305:role/AmazonKendra-university-chatbot-role/inlinePolicy/AmazonKendra-university-chatbot"],"parent":"InlinePolicy-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/AmazonKendra-university-chatbot-role/inlinePolicy/AmazonKendra-university-chatbot","title":"arn:aws:iam::060997615305:role/AmazonKendra-university-chatbot-role/inlinePolicy/AmazonKendra-university-chatbot","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/AmazonKendra-university-chatbot-role/inlinePolicy/AmazonKendra-university-chatbot","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::060997615305:role/AmazonKendra-university-chatbot-role/inlinePolicy/AmazonKendra-university-chatbot","name":"arn:aws:iam::060997615305:role/AmazonKendra-university-chatbot-role/inlinePolicy/AmazonKendra-university-chatbot","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::060997615305:role/AmazonKendra-university-chatbot-role/inlinePolicy/AmazonKendra-university-chatbot","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/AmazonKendra-university-chatbot-role/inlinePolicy/AmazonKendra-university-chatbot","configuration":"\"{\\\"policyName\\\":\\\"AmazonKendra-university-chatbot\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Effect\\\":\\\"Allow\\\",\\\"Action\\\":[\\\"cloudwatch:PutMetricData\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Condition\\\":{\\\"StringEquals\\\":{\\\"cloudwatch:namespace\\\":\\\"AWS/Kendra\\\"}}},{\\\"Effect\\\":\\\"Allow\\\",\\\"Action\\\":[\\\"logs:DescribeLogGroups\\\"],\\\"Resource\\\":\\\"*\\\"},{\\\"Effect\\\":\\\"Allow\\\",\\\"Action\\\":[\\\"logs:CreateLogGroup\\\"],\\\"Resource\\\":[\\\"arn:aws:logs:eu-west-1:060997615305:log-group:/aws/kendra/*\\\"]},{\\\"Effect\\\":\\\"Allow\\\",\\\"Action\\\":[\\\"logs:DescribeLogStreams\\\",\\\"logs:CreateLogStream\\\",\\\"logs:PutLogEvents\\\"],\\\"Resource\\\":[\\\"arn:aws:logs:eu-west-1:060997615305:log-group:/aws/kendra/*:log-stream:*\\\"]}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::060997615305:role/AmazonKendra-university-chatbot-role/inlinePolicy/AmazonKendra-university-chatbot","resourceName":"arn:aws:iam::060997615305:role/AmazonKendra-university-chatbot-role/inlinePolicy/AmazonKendra-university-chatbot","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::060997615305:role/AmazonKendra-university-chatbot-role/inlinePolicy/AmazonKendra-university-chatbot","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1498.5,"y":2161.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:cloudformation:eu-west-1:060997615305:stack/ChatbotStack/b48cf1a0-cc05-11ea-b813-06527026dd82","resourceId":["arn:aws:cloudformation:eu-west-1:060997615305:stack/ChatbotStack/b48cf1a0-cc05-11ea-b813-06527026dd82","arn:aws:cloudformation:eu-west-1:060997615305:stack/ChatbotStack/b48cf1a0-cc05-11ea-b813-06527026dd82"],"parent":"Stack-eu-west-1-060997615305","level":3,"id":"arn:aws:cloudformation:eu-west-1:060997615305:stack/ChatbotStack/b48cf1a0-cc05-11ea-b813-06527026dd82","title":"ChatbotStack","label":"ChatbotStack","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:cloudformation:eu-west-1:060997615305:stack/ChatbotStack/b48cf1a0-cc05-11ea-b813-06527026dd82","image":"/icons/AWS-CloudFormation.svg","cost":0,"private":false,"resource":{"id":"arn:aws:cloudformation:eu-west-1:060997615305:stack/ChatbotStack/b48cf1a0-cc05-11ea-b813-06527026dd82","name":"ChatbotStack","value":null,"type":"AWS::CloudFormation::Stack","tags":"[]","arn":"arn:aws:cloudformation:eu-west-1:060997615305:stack/ChatbotStack/b48cf1a0-cc05-11ea-b813-06527026dd82","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:cloudformation:eu-west-1:060997615305:stack/ChatbotStack/b48cf1a0-cc05-11ea-b813-06527026dd82","configuration":"\"{\\\"outputs\\\":[],\\\"capabilities\\\":[\\\"CAPABILITY_NAMED_IAM\\\"],\\\"creationTime\\\":\\\"2020-07-22T10:25:46Z\\\",\\\"notificationARNs\\\":[],\\\"stackId\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/ChatbotStack/b48cf1a0-cc05-11ea-b813-06527026dd82\\\",\\\"stackName\\\":\\\"ChatbotStack\\\",\\\"driftInformation\\\":{\\\"stackDriftStatus\\\":\\\"NOT_CHECKED\\\"},\\\"stackStatus\\\":\\\"CREATE_COMPLETE\\\",\\\"enableTerminationProtection\\\":false,\\\"disableRollback\\\":false,\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Regional","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:cloudformation:eu-west-1:060997615305:stack/ChatbotStack/b48cf1a0-cc05-11ea-b813-06527026dd82","resourceName":"ChatbotStack","resourceType":"AWS::CloudFormation::Stack","resourceValue":null,"state":null,"tags":"[]","title":"ChatbotStack","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1863.5,"y":1676.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/knet-integration-NotificationProcessorRole-AIG2F9TOBU4O","resourceId":["AROAQ4M55X3E5YFLW7MCQ","arn:aws:iam::060997615305:role/knet-integration-NotificationProcessorRole-AIG2F9TOBU4O"],"parent":"Role-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/knet-integration-NotificationProcessorRole-AIG2F9TOBU4O","title":"knet-integration-NotificationProcessorRole-AIG2F9TOBU4O","label":"knet-integra...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/knet-integration-NotificationProcessorRole-AIG2F9TOBU4O","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQ4M55X3E5YFLW7MCQ","name":"knet-integration-NotificationProcessorRole-AIG2F9TOBU4O","value":null,"type":"AWS::IAM::Role","tags":"[{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"}]","arn":"arn:aws:iam::060997615305:role/knet-integration-NotificationProcessorRole-AIG2F9TOBU4O","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/knet-integration-NotificationProcessorRole-AIG2F9TOBU4O","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22lambda.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQ4M55X3E5YFLW7MCQ\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/AWSXrayWriteOnlyAccess\\\",\\\"policyName\\\":\\\"AWSXrayWriteOnlyAccess\\\"},{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/service-role/AWSLambdaSQSQueueExecutionRole\\\",\\\"policyName\\\":\\\"AWSLambdaSQSQueueExecutionRole\\\"},{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole\\\",\\\"policyName\\\":\\\"AWSLambdaBasicExecutionRole\\\"}],\\\"roleName\\\":\\\"knet-integration-NotificationProcessorRole-AIG2F9TOBU4O\\\",\\\"arn\\\":\\\"arn:aws:iam::060997615305:role/knet-integration-NotificationProcessorRole-AIG2F9TOBU4O\\\",\\\"createDate\\\":\\\"2020-11-17T15:41:48.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22dynamodb%3AGetItem%22%2C%22dynamodb%3ADeleteItem%22%2C%22dynamodb%3APutItem%22%2C%22dynamodb%3AScan%22%2C%22dynamodb%3AQuery%22%2C%22dynamodb%3AUpdateItem%22%2C%22dynamodb%3ABatchWriteItem%22%2C%22dynamodb%3ABatchGetItem%22%2C%22dynamodb%3ADescribeTable%22%2C%22dynamodb%3AConditionCheckItem%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Adynamodb%3Aus-east-1%3A060997615305%3Atable%2Fspeaker-finder-lenchol-TheDBStack-1890PRWTLE4GC-SpeakerDatabase-18L71W33R31JG%22%2C%22arn%3Aaws%3Adynamodb%3Aus-east-1%3A060997615305%3Atable%2Fspeaker-finder-lenchol-TheDBStack-1890PRWTLE4GC-SpeakerDatabase-18L71W33R31JG%2Findex%2F%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"NotificationProcessorRolePolicy0\\\"},{\\\"policyDocument\\\":\\\"%7B%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22secretsmanager%3AGetSecretValue%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Asecretsmanager%3Aus-east-1%3A060997615305%3Asecret%3AKNETAPIKey-UYLudj%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"NotificationProcessorRolePolicy1\\\"},{\\\"policyDocument\\\":\\\"%7B%22Statement%22%3A%7B%22Action%22%3A%5B%22kms%3AEncrypt%22%2C%22kms%3ADecrypt%22%2C%22kms%3AReEncrypt%2A%22%2C%22kms%3ADescribe%2A%22%2C%22kms%3AGet%2A%22%2C%22kms%3AList%2A%22%2C%22kms%3ACreateGrant%22%2C%22kms%3ARevokeGrant%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Akms%3Aus-east-1%3A060997615305%3Akey%2F10561be6-31a0-4418-939c-c899fb144ee3%22%2C%22Effect%22%3A%22Allow%22%2C%22Sid%22%3A%22AllowDataCMKUse%22%7D%7D\\\",\\\"policyName\\\":\\\"NotificationProcessorRolePolicy2\\\"}],\\\"tags\\\":[{\\\"value\\\":\\\"SAM\\\",\\\"key\\\":\\\"lambda:createdBy\\\"}]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQ4M55X3E5YFLW7MCQ","resourceName":"knet-integration-NotificationProcessorRole-AIG2F9TOBU4O","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"}]","title":"knet-integration-NotificationProcessorRole-AIG2F9TOBU4O","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-1976.5,"y":2234.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/knet-integration-NotificationProcessorRole-AIG2F9TOBU4O/inlinePolicy/NotificationProcessorRolePolicy0","resourceId":["arn:aws:iam::060997615305:role/knet-integration-NotificationProcessorRole-AIG2F9TOBU4O/inlinePolicy/NotificationProcessorRolePolicy0","arn:aws:iam::060997615305:role/knet-integration-NotificationProcessorRole-AIG2F9TOBU4O/inlinePolicy/NotificationProcessorRolePolicy0"],"parent":"InlinePolicy-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/knet-integration-NotificationProcessorRole-AIG2F9TOBU4O/inlinePolicy/NotificationProcessorRolePolicy0","title":"arn:aws:iam::060997615305:role/knet-integration-NotificationProcessorRole-AIG2F9TOBU4O/inlinePolicy/NotificationProcessorRolePolicy0","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/knet-integration-NotificationProcessorRole-AIG2F9TOBU4O/inlinePolicy/NotificationProcessorRolePolicy0","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::060997615305:role/knet-integration-NotificationProcessorRole-AIG2F9TOBU4O/inlinePolicy/NotificationProcessorRolePolicy0","name":"arn:aws:iam::060997615305:role/knet-integration-NotificationProcessorRole-AIG2F9TOBU4O/inlinePolicy/NotificationProcessorRolePolicy0","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::060997615305:role/knet-integration-NotificationProcessorRole-AIG2F9TOBU4O/inlinePolicy/NotificationProcessorRolePolicy0","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/knet-integration-NotificationProcessorRole-AIG2F9TOBU4O/inlinePolicy/NotificationProcessorRolePolicy0","configuration":"\"{\\\"policyName\\\":\\\"NotificationProcessorRolePolicy0\\\",\\\"policyDocument\\\":{\\\"Statement\\\":[{\\\"Action\\\":[\\\"dynamodb:GetItem\\\",\\\"dynamodb:DeleteItem\\\",\\\"dynamodb:PutItem\\\",\\\"dynamodb:Scan\\\",\\\"dynamodb:Query\\\",\\\"dynamodb:UpdateItem\\\",\\\"dynamodb:BatchWriteItem\\\",\\\"dynamodb:BatchGetItem\\\",\\\"dynamodb:DescribeTable\\\",\\\"dynamodb:ConditionCheckItem\\\"],\\\"Resource\\\":[\\\"arn:aws:dynamodb:us-east-1:060997615305:table/speaker-finder-lenchol-TheDBStack-1890PRWTLE4GC-SpeakerDatabase-18L71W33R31JG\\\",\\\"arn:aws:dynamodb:us-east-1:060997615305:table/speaker-finder-lenchol-TheDBStack-1890PRWTLE4GC-SpeakerDatabase-18L71W33R31JG/index/*\\\"],\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::060997615305:role/knet-integration-NotificationProcessorRole-AIG2F9TOBU4O/inlinePolicy/NotificationProcessorRolePolicy0","resourceName":"arn:aws:iam::060997615305:role/knet-integration-NotificationProcessorRole-AIG2F9TOBU4O/inlinePolicy/NotificationProcessorRolePolicy0","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::060997615305:role/knet-integration-NotificationProcessorRole-AIG2F9TOBU4O/inlinePolicy/NotificationProcessorRolePolicy0","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1425.5,"y":2161.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/knet-integration-NotificationProcessorRole-AIG2F9TOBU4O/inlinePolicy/NotificationProcessorRolePolicy1","resourceId":["arn:aws:iam::060997615305:role/knet-integration-NotificationProcessorRole-AIG2F9TOBU4O/inlinePolicy/NotificationProcessorRolePolicy1","arn:aws:iam::060997615305:role/knet-integration-NotificationProcessorRole-AIG2F9TOBU4O/inlinePolicy/NotificationProcessorRolePolicy1"],"parent":"InlinePolicy-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/knet-integration-NotificationProcessorRole-AIG2F9TOBU4O/inlinePolicy/NotificationProcessorRolePolicy1","title":"arn:aws:iam::060997615305:role/knet-integration-NotificationProcessorRole-AIG2F9TOBU4O/inlinePolicy/NotificationProcessorRolePolicy1","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/knet-integration-NotificationProcessorRole-AIG2F9TOBU4O/inlinePolicy/NotificationProcessorRolePolicy1","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::060997615305:role/knet-integration-NotificationProcessorRole-AIG2F9TOBU4O/inlinePolicy/NotificationProcessorRolePolicy1","name":"arn:aws:iam::060997615305:role/knet-integration-NotificationProcessorRole-AIG2F9TOBU4O/inlinePolicy/NotificationProcessorRolePolicy1","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::060997615305:role/knet-integration-NotificationProcessorRole-AIG2F9TOBU4O/inlinePolicy/NotificationProcessorRolePolicy1","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/knet-integration-NotificationProcessorRole-AIG2F9TOBU4O/inlinePolicy/NotificationProcessorRolePolicy1","configuration":"\"{\\\"policyName\\\":\\\"NotificationProcessorRolePolicy1\\\",\\\"policyDocument\\\":{\\\"Statement\\\":[{\\\"Action\\\":[\\\"secretsmanager:GetSecretValue\\\"],\\\"Resource\\\":\\\"arn:aws:secretsmanager:us-east-1:060997615305:secret:KNETAPIKey-UYLudj\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::060997615305:role/knet-integration-NotificationProcessorRole-AIG2F9TOBU4O/inlinePolicy/NotificationProcessorRolePolicy1","resourceName":"arn:aws:iam::060997615305:role/knet-integration-NotificationProcessorRole-AIG2F9TOBU4O/inlinePolicy/NotificationProcessorRolePolicy1","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::060997615305:role/knet-integration-NotificationProcessorRole-AIG2F9TOBU4O/inlinePolicy/NotificationProcessorRolePolicy1","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1352.5,"y":1942.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/knet-integration-NotificationProcessorRole-AIG2F9TOBU4O/inlinePolicy/NotificationProcessorRolePolicy2","resourceId":["arn:aws:iam::060997615305:role/knet-integration-NotificationProcessorRole-AIG2F9TOBU4O/inlinePolicy/NotificationProcessorRolePolicy2","arn:aws:iam::060997615305:role/knet-integration-NotificationProcessorRole-AIG2F9TOBU4O/inlinePolicy/NotificationProcessorRolePolicy2"],"parent":"InlinePolicy-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/knet-integration-NotificationProcessorRole-AIG2F9TOBU4O/inlinePolicy/NotificationProcessorRolePolicy2","title":"arn:aws:iam::060997615305:role/knet-integration-NotificationProcessorRole-AIG2F9TOBU4O/inlinePolicy/NotificationProcessorRolePolicy2","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/knet-integration-NotificationProcessorRole-AIG2F9TOBU4O/inlinePolicy/NotificationProcessorRolePolicy2","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::060997615305:role/knet-integration-NotificationProcessorRole-AIG2F9TOBU4O/inlinePolicy/NotificationProcessorRolePolicy2","name":"arn:aws:iam::060997615305:role/knet-integration-NotificationProcessorRole-AIG2F9TOBU4O/inlinePolicy/NotificationProcessorRolePolicy2","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::060997615305:role/knet-integration-NotificationProcessorRole-AIG2F9TOBU4O/inlinePolicy/NotificationProcessorRolePolicy2","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/knet-integration-NotificationProcessorRole-AIG2F9TOBU4O/inlinePolicy/NotificationProcessorRolePolicy2","configuration":"\"{\\\"policyName\\\":\\\"NotificationProcessorRolePolicy2\\\",\\\"policyDocument\\\":{\\\"Statement\\\":{\\\"Action\\\":[\\\"kms:Encrypt\\\",\\\"kms:Decrypt\\\",\\\"kms:ReEncrypt*\\\",\\\"kms:Describe*\\\",\\\"kms:Get*\\\",\\\"kms:List*\\\",\\\"kms:CreateGrant\\\",\\\"kms:RevokeGrant\\\"],\\\"Resource\\\":\\\"arn:aws:kms:us-east-1:060997615305:key/10561be6-31a0-4418-939c-c899fb144ee3\\\",\\\"Effect\\\":\\\"Allow\\\",\\\"Sid\\\":\\\"AllowDataCMKUse\\\"}}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::060997615305:role/knet-integration-NotificationProcessorRole-AIG2F9TOBU4O/inlinePolicy/NotificationProcessorRolePolicy2","resourceName":"arn:aws:iam::060997615305:role/knet-integration-NotificationProcessorRole-AIG2F9TOBU4O/inlinePolicy/NotificationProcessorRolePolicy2","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::060997615305:role/knet-integration-NotificationProcessorRole-AIG2F9TOBU4O/inlinePolicy/NotificationProcessorRolePolicy2","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1352.5,"y":2015.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/AmazonSSMRoleForAutomationAssumeQuickSetup","resourceId":["AROAQ4M55X3ERZNWRTENJ","arn:aws:iam::060997615305:role/AmazonSSMRoleForAutomationAssumeQuickSetup"],"parent":"Role-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/AmazonSSMRoleForAutomationAssumeQuickSetup","title":"AmazonSSMRoleForAutomationAssumeQuickSetup","label":"AmazonSSMRol...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/AmazonSSMRoleForAutomationAssumeQuickSetup","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQ4M55X3ERZNWRTENJ","name":"AmazonSSMRoleForAutomationAssumeQuickSetup","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::060997615305:role/AmazonSSMRoleForAutomationAssumeQuickSetup","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/AmazonSSMRoleForAutomationAssumeQuickSetup","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22ssm.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQ4M55X3ERZNWRTENJ\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"AmazonSSMRoleForAutomationAssumeQuickSetup\\\",\\\"arn\\\":\\\"arn:aws:iam::060997615305:role/AmazonSSMRoleForAutomationAssumeQuickSetup\\\",\\\"createDate\\\":\\\"2020-03-16T19:43:13.000Z\\\",\\\"rolePolicyList\\\":[],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQ4M55X3ERZNWRTENJ","resourceName":"AmazonSSMRoleForAutomationAssumeQuickSetup","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"AmazonSSMRoleForAutomationAssumeQuickSetup","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-1903.5,"y":2234.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-WorkQueryQueueRole-RUB1XRQO6OOK","resourceId":["AROAQ4M55X3EQT4ZABPUA","arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-WorkQueryQueueRole-RUB1XRQO6OOK"],"parent":"Role-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-WorkQueryQueueRole-RUB1XRQO6OOK","title":"S3F2POC-StateMachineStack-10BR7-WorkQueryQueueRole-RUB1XRQO6OOK","label":"S3F2POC-Stat...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-WorkQueryQueueRole-RUB1XRQO6OOK","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQ4M55X3EQT4ZABPUA","name":"S3F2POC-StateMachineStack-10BR7-WorkQueryQueueRole-RUB1XRQO6OOK","value":null,"type":"AWS::IAM::Role","tags":"[{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"}]","arn":"arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-WorkQueryQueueRole-RUB1XRQO6OOK","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-WorkQueryQueueRole-RUB1XRQO6OOK","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22lambda.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQ4M55X3EQT4ZABPUA\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/AWSXrayWriteOnlyAccess\\\",\\\"policyName\\\":\\\"AWSXrayWriteOnlyAccess\\\"},{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole\\\",\\\"policyName\\\":\\\"AWSLambdaBasicExecutionRole\\\"}],\\\"roleName\\\":\\\"S3F2POC-StateMachineStack-10BR7-WorkQueryQueueRole-RUB1XRQO6OOK\\\",\\\"arn\\\":\\\"arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-WorkQueryQueueRole-RUB1XRQO6OOK\\\",\\\"createDate\\\":\\\"2021-01-21T13:24:06.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22s3%3AGetObject%22%2C%22s3%3AListBucket%22%2C%22s3%3AGetBucketLocation%22%2C%22s3%3AGetObjectVersion%22%2C%22s3%3APutObject%22%2C%22s3%3APutObjectAcl%22%2C%22s3%3AGetLifecycleConfiguration%22%2C%22s3%3APutLifecycleConfiguration%22%2C%22s3%3ADeleteObject%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3As3%3A%3A%3As3f2poc-tempbucket-whrisol6u9bh%22%2C%22arn%3Aaws%3As3%3A%3A%3As3f2poc-tempbucket-whrisol6u9bh%2F%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"WorkQueryQueueRolePolicy0\\\"},{\\\"policyDocument\\\":\\\"%7B%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22states%3AStartExecution%22%2C%22states%3ADescribeExecution%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Astates%3Aeu-west-1%3A060997615305%3AstateMachine%3AS3F2POC-AthenaStateMachine%22%2C%22arn%3Aaws%3Astates%3Aeu-west-1%3A060997615305%3Aexecution%3AS3F2POC-AthenaStateMachine%3A%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22sqs%3AReceiveMessage%2A%22%2C%22sqs%3AChangeMessageVisibility%22%2C%22sqs%3APurgeQueue%22%2C%22sqs%3ADeleteMessage%22%2C%22sqs%3AGetQueueAttributes%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Asqs%3Aeu-west-1%3A060997615305%3AS3F2POC-StateMachineStack-10BR76BS8UYCK-QueryQueue-17F2LH5ZXMXOT%22%5D%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"WorkQueryQueueRolePolicy1\\\"}],\\\"tags\\\":[{\\\"value\\\":\\\"SAM\\\",\\\"key\\\":\\\"lambda:createdBy\\\"}]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQ4M55X3EQT4ZABPUA","resourceName":"S3F2POC-StateMachineStack-10BR7-WorkQueryQueueRole-RUB1XRQO6OOK","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"}]","title":"S3F2POC-StateMachineStack-10BR7-WorkQueryQueueRole-RUB1XRQO6OOK","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-1830.5,"y":1942.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-WorkQueryQueueRole-RUB1XRQO6OOK/inlinePolicy/WorkQueryQueueRolePolicy0","resourceId":["arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-WorkQueryQueueRole-RUB1XRQO6OOK/inlinePolicy/WorkQueryQueueRolePolicy0","arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-WorkQueryQueueRole-RUB1XRQO6OOK/inlinePolicy/WorkQueryQueueRolePolicy0"],"parent":"InlinePolicy-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-WorkQueryQueueRole-RUB1XRQO6OOK/inlinePolicy/WorkQueryQueueRolePolicy0","title":"arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-WorkQueryQueueRole-RUB1XRQO6OOK/inlinePolicy/WorkQueryQueueRolePolicy0","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-WorkQueryQueueRole-RUB1XRQO6OOK/inlinePolicy/WorkQueryQueueRolePolicy0","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-WorkQueryQueueRole-RUB1XRQO6OOK/inlinePolicy/WorkQueryQueueRolePolicy0","name":"arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-WorkQueryQueueRole-RUB1XRQO6OOK/inlinePolicy/WorkQueryQueueRolePolicy0","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-WorkQueryQueueRole-RUB1XRQO6OOK/inlinePolicy/WorkQueryQueueRolePolicy0","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-WorkQueryQueueRole-RUB1XRQO6OOK/inlinePolicy/WorkQueryQueueRolePolicy0","configuration":"\"{\\\"policyName\\\":\\\"WorkQueryQueueRolePolicy0\\\",\\\"policyDocument\\\":{\\\"Statement\\\":[{\\\"Action\\\":[\\\"s3:GetObject\\\",\\\"s3:ListBucket\\\",\\\"s3:GetBucketLocation\\\",\\\"s3:GetObjectVersion\\\",\\\"s3:PutObject\\\",\\\"s3:PutObjectAcl\\\",\\\"s3:GetLifecycleConfiguration\\\",\\\"s3:PutLifecycleConfiguration\\\",\\\"s3:DeleteObject\\\"],\\\"Resource\\\":[\\\"arn:aws:s3:::s3f2poc-tempbucket-whrisol6u9bh\\\",\\\"arn:aws:s3:::s3f2poc-tempbucket-whrisol6u9bh/*\\\"],\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-WorkQueryQueueRole-RUB1XRQO6OOK/inlinePolicy/WorkQueryQueueRolePolicy0","resourceName":"arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-WorkQueryQueueRole-RUB1XRQO6OOK/inlinePolicy/WorkQueryQueueRolePolicy0","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-WorkQueryQueueRole-RUB1XRQO6OOK/inlinePolicy/WorkQueryQueueRolePolicy0","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1352.5,"y":2088.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-WorkQueryQueueRole-RUB1XRQO6OOK/inlinePolicy/WorkQueryQueueRolePolicy1","resourceId":["arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-WorkQueryQueueRole-RUB1XRQO6OOK/inlinePolicy/WorkQueryQueueRolePolicy1","arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-WorkQueryQueueRole-RUB1XRQO6OOK/inlinePolicy/WorkQueryQueueRolePolicy1"],"parent":"InlinePolicy-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-WorkQueryQueueRole-RUB1XRQO6OOK/inlinePolicy/WorkQueryQueueRolePolicy1","title":"arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-WorkQueryQueueRole-RUB1XRQO6OOK/inlinePolicy/WorkQueryQueueRolePolicy1","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-WorkQueryQueueRole-RUB1XRQO6OOK/inlinePolicy/WorkQueryQueueRolePolicy1","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-WorkQueryQueueRole-RUB1XRQO6OOK/inlinePolicy/WorkQueryQueueRolePolicy1","name":"arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-WorkQueryQueueRole-RUB1XRQO6OOK/inlinePolicy/WorkQueryQueueRolePolicy1","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-WorkQueryQueueRole-RUB1XRQO6OOK/inlinePolicy/WorkQueryQueueRolePolicy1","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-WorkQueryQueueRole-RUB1XRQO6OOK/inlinePolicy/WorkQueryQueueRolePolicy1","configuration":"\"{\\\"policyName\\\":\\\"WorkQueryQueueRolePolicy1\\\",\\\"policyDocument\\\":{\\\"Statement\\\":[{\\\"Action\\\":[\\\"states:StartExecution\\\",\\\"states:DescribeExecution\\\"],\\\"Resource\\\":[\\\"arn:aws:states:eu-west-1:060997615305:stateMachine:S3F2POC-AthenaStateMachine\\\",\\\"arn:aws:states:eu-west-1:060997615305:execution:S3F2POC-AthenaStateMachine:*\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"sqs:ReceiveMessage*\\\",\\\"sqs:ChangeMessageVisibility\\\",\\\"sqs:PurgeQueue\\\",\\\"sqs:DeleteMessage\\\",\\\"sqs:GetQueueAttributes\\\"],\\\"Resource\\\":[\\\"arn:aws:sqs:eu-west-1:060997615305:S3F2POC-StateMachineStack-10BR76BS8UYCK-QueryQueue-17F2LH5ZXMXOT\\\"],\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-WorkQueryQueueRole-RUB1XRQO6OOK/inlinePolicy/WorkQueryQueueRolePolicy1","resourceName":"arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-WorkQueryQueueRole-RUB1XRQO6OOK/inlinePolicy/WorkQueryQueueRolePolicy1","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-WorkQueryQueueRole-RUB1XRQO6OOK/inlinePolicy/WorkQueryQueueRolePolicy1","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1352.5,"y":2161.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:lambda:eu-west-1:060997615305:function:S3F2POC-StateMachineStack-10BR76BS8-WorkQueryQueue-J6Z1M0SW9OUI","resourceId":["S3F2POC-StateMachineStack-10BR76BS8-WorkQueryQueue-J6Z1M0SW9OUI","arn:aws:lambda:eu-west-1:060997615305:function:S3F2POC-StateMachineStack-10BR76BS8-WorkQueryQueue-J6Z1M0SW9OUI"],"parent":"Function-eu-west-1-060997615305","level":3,"id":"arn:aws:lambda:eu-west-1:060997615305:function:S3F2POC-StateMachineStack-10BR76BS8-WorkQueryQueue-J6Z1M0SW9OUI","title":"S3F2POC-StateMachineStack-10BR76BS8-WorkQueryQueue-J6Z1M0SW9OUI","label":"S3F2POC-Stat...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:lambda:eu-west-1:060997615305:function:S3F2POC-StateMachineStack-10BR76BS8-WorkQueryQueue-J6Z1M0SW9OUI","image":"/icons/AWS-Lambda-menu.svg","cost":0,"private":false,"resource":{"id":"S3F2POC-StateMachineStack-10BR76BS8-WorkQueryQueue-J6Z1M0SW9OUI","name":"S3F2POC-StateMachineStack-10BR76BS8-WorkQueryQueue-J6Z1M0SW9OUI","value":null,"type":"AWS::Lambda::Function","tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2POC-StateMachineStack-10BR76BS8UYCK\",\"value\":\"S3F2POC-StateMachineStack-10BR76BS8UYCK\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-StateMachineStack-10BR76BS8UYCK/e50ba580-5beb-11eb-8ddc-0287c5a1bc83\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-StateMachineStack-10BR76BS8UYCK/e50ba580-5beb-11eb-8ddc-0287c5a1bc83\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=WorkQueryQueue\",\"value\":\"WorkQueryQueue\",\"key\":\"aws:cloudformation:logical-id\"}]","arn":"arn:aws:lambda:eu-west-1:060997615305:function:S3F2POC-StateMachineStack-10BR76BS8-WorkQueryQueue-J6Z1M0SW9OUI","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/lambda/home?region=eu-west-1#/functions/S3F2POC-StateMachineStack-10BR76BS8-WorkQueryQueue-J6Z1M0SW9OUI?tab=graph","loginURL":"https://060997615305.signin.aws.amazon.com/console/lambda?region=eu-west-1#/functions/S3F2POC-StateMachineStack-10BR76BS8-WorkQueryQueue-J6Z1M0SW9OUI?tab=graph","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:lambda:eu-west-1:060997615305:function:S3F2POC-StateMachineStack-10BR76BS8-WorkQueryQueue-J6Z1M0SW9OUI","configuration":"\"{\\\"architectures\\\":[\\\"x86_64\\\"],\\\"ephemeralStorage\\\":{\\\"size\\\":512},\\\"handler\\\":\\\"work_query_queue.handler\\\",\\\"role\\\":\\\"arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-WorkQueryQueueRole-RUB1XRQO6OOK\\\",\\\"functionName\\\":\\\"S3F2POC-StateMachineStack-10BR76BS8-WorkQueryQueue-J6Z1M0SW9OUI\\\",\\\"tracingConfig\\\":{\\\"mode\\\":\\\"Active\\\"},\\\"runtime\\\":\\\"python3.7\\\",\\\"description\\\":\\\"\\\",\\\"runtimeVersionConfig\\\":{\\\"runtimeVersionArn\\\":\\\"arn:aws:lambda:eu-west-1::runtime:404f127cf4d3b0d7368361968087bb9052f80c682e74e5e3cae6dc86d049242c\\\"},\\\"codeSize\\\":24768,\\\"version\\\":\\\"$LATEST\\\",\\\"packageType\\\":\\\"Zip\\\",\\\"timeout\\\":900,\\\"revisionId\\\":\\\"1f27804c-a02c-4f01-840b-0b9802b5e012\\\",\\\"codeSha256\\\":\\\"JX2MjUB/uzoClroU5F2hQohrv8C+V0ZQ2/Iuu9b3dzY=\\\",\\\"memorySize\\\":128,\\\"fileSystemConfigs\\\":[],\\\"lastUpdateStatus\\\":\\\"Successful\\\",\\\"layers\\\":[{\\\"arn\\\":\\\"arn:aws:lambda:eu-west-1:060997615305:layer:AWSSDK:4\\\",\\\"codeSize\\\":8692749},{\\\"arn\\\":\\\"arn:aws:lambda:eu-west-1:060997615305:layer:Decorators:4\\\",\\\"codeSize\\\":1598219},{\\\"arn\\\":\\\"arn:aws:lambda:eu-west-1:060997615305:layer:BotoUtils:4\\\",\\\"codeSize\\\":7788}],\\\"snapStart\\\":{\\\"applyOn\\\":\\\"None\\\",\\\"optimizationStatus\\\":\\\"Off\\\"},\\\"lastModified\\\":\\\"2021-01-21T13:24:28.915+0000\\\",\\\"state\\\":{\\\"value\\\":\\\"Active\\\"},\\\"functionArn\\\":\\\"arn:aws:lambda:eu-west-1:060997615305:function:S3F2POC-StateMachineStack-10BR76BS8-WorkQueryQueue-J6Z1M0SW9OUI\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/lambda/home?region=eu-west-1#/functions/S3F2POC-StateMachineStack-10BR76BS8-WorkQueryQueue-J6Z1M0SW9OUI?tab=graph","loginURL":"https://060997615305.signin.aws.amazon.com/console/lambda?region=eu-west-1#/functions/S3F2POC-StateMachineStack-10BR76BS8-WorkQueryQueue-J6Z1M0SW9OUI?tab=graph","private":null,"resourceId":"S3F2POC-StateMachineStack-10BR76BS8-WorkQueryQueue-J6Z1M0SW9OUI","resourceName":"S3F2POC-StateMachineStack-10BR76BS8-WorkQueryQueue-J6Z1M0SW9OUI","resourceType":"AWS::Lambda::Function","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2POC-StateMachineStack-10BR76BS8UYCK\",\"value\":\"S3F2POC-StateMachineStack-10BR76BS8UYCK\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-StateMachineStack-10BR76BS8UYCK/e50ba580-5beb-11eb-8ddc-0287c5a1bc83\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-StateMachineStack-10BR76BS8UYCK/e50ba580-5beb-11eb-8ddc-0287c5a1bc83\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=WorkQueryQueue\",\"value\":\"WorkQueryQueue\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"S3F2POC-StateMachineStack-10BR76BS8-WorkQueryQueue-J6Z1M0SW9OUI","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2122.5,"y":1676.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-StateMachineStack-10BR76BS8UYCK/e50ba580-5beb-11eb-8ddc-0287c5a1bc83","resourceId":["arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-StateMachineStack-10BR76BS8UYCK/e50ba580-5beb-11eb-8ddc-0287c5a1bc83","arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-StateMachineStack-10BR76BS8UYCK/e50ba580-5beb-11eb-8ddc-0287c5a1bc83"],"parent":"Stack-eu-west-1-060997615305","level":3,"id":"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-StateMachineStack-10BR76BS8UYCK/e50ba580-5beb-11eb-8ddc-0287c5a1bc83","title":"S3F2POC-StateMachineStack-10BR76BS8UYCK","label":"S3F2POC-Stat...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-StateMachineStack-10BR76BS8UYCK/e50ba580-5beb-11eb-8ddc-0287c5a1bc83","image":"/icons/AWS-CloudFormation.svg","cost":0,"private":false,"resource":{"id":"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-StateMachineStack-10BR76BS8UYCK/e50ba580-5beb-11eb-8ddc-0287c5a1bc83","name":"S3F2POC-StateMachineStack-10BR76BS8UYCK","value":null,"type":"AWS::CloudFormation::Stack","tags":"[]","arn":"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-StateMachineStack-10BR76BS8UYCK/e50ba580-5beb-11eb-8ddc-0287c5a1bc83","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-StateMachineStack-10BR76BS8UYCK/e50ba580-5beb-11eb-8ddc-0287c5a1bc83","configuration":"\"{\\\"outputs\\\":[{\\\"outputKey\\\":\\\"AthenaStateMachineArn\\\",\\\"outputValue\\\":\\\"arn:aws:states:eu-west-1:060997615305:stateMachine:S3F2POC-AthenaStateMachine\\\"},{\\\"outputKey\\\":\\\"AthenaExecutionRoleArn\\\",\\\"outputValue\\\":\\\"arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR76B-ExecuteQueryRole-126HYZ6GZUZ8T\\\"},{\\\"outputKey\\\":\\\"GenerateQueriesRole\\\",\\\"outputValue\\\":\\\"S3F2POC-StateMachineStack-10BR-GenerateQueriesRole-1BDNUTRQIW91V\\\"},{\\\"outputKey\\\":\\\"QueryQueueUrl\\\",\\\"outputValue\\\":\\\"https://sqs.eu-west-1.amazonaws.com/060997615305/S3F2POC-StateMachineStack-10BR76BS8UYCK-QueryQueue-17F2LH5ZXMXOT\\\"},{\\\"outputKey\\\":\\\"StateMachineArn\\\",\\\"outputValue\\\":\\\"arn:aws:states:eu-west-1:060997615305:stateMachine:S3F2POC-StateMachine\\\"},{\\\"outputKey\\\":\\\"AthenaExecutionRole\\\",\\\"outputValue\\\":\\\"S3F2POC-StateMachineStack-10BR76B-ExecuteQueryRole-126HYZ6GZUZ8T\\\"},{\\\"outputKey\\\":\\\"StateMachineRoleArn\\\",\\\"outputValue\\\":\\\"arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR-StatesExecutionRole-L2AE7COWPHDO\\\"}],\\\"capabilities\\\":[\\\"CAPABILITY_AUTO_EXPAND\\\",\\\"CAPABILITY_NAMED_IAM\\\",\\\"CAPABILITY_IAM\\\"],\\\"creationTime\\\":\\\"2021-01-21T13:23:48Z\\\",\\\"notificationARNs\\\":[],\\\"stackId\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-StateMachineStack-10BR76BS8UYCK/e50ba580-5beb-11eb-8ddc-0287c5a1bc83\\\",\\\"stackName\\\":\\\"S3F2POC-StateMachineStack-10BR76BS8UYCK\\\",\\\"description\\\":\\\"Amazon S3 Find and Forget State Machine\\\",\\\"stackStatus\\\":\\\"CREATE_COMPLETE\\\",\\\"disableRollback\\\":true,\\\"parentId\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC/354700e0-5beb-11eb-9702-0214faeb7eeb\\\",\\\"tags\\\":[],\\\"driftInformation\\\":{\\\"stackDriftStatus\\\":\\\"NOT_CHECKED\\\"},\\\"enableTerminationProtection\\\":false,\\\"parameters\\\":[{\\\"parameterKey\\\":\\\"StateMachinePrefix\\\",\\\"parameterValue\\\":\\\"S3F2POC\\\"},{\\\"parameterKey\\\":\\\"ResultBucket\\\",\\\"parameterValue\\\":\\\"s3f2poc-tempbucket-whrisol6u9bh\\\"},{\\\"parameterKey\\\":\\\"CommonLayers\\\",\\\"parameterValue\\\":\\\"arn:aws:lambda:eu-west-1:060997615305:layer:AWSSDK:4,arn:aws:lambda:eu-west-1:060997615305:layer:Decorators:4,arn:aws:lambda:eu-west-1:060997615305:layer:BotoUtils:4\\\"},{\\\"parameterKey\\\":\\\"JobTableName\\\",\\\"parameterValue\\\":\\\"S3F2POC-DDBStack-RQHP8GU73UQO-JobTableRetain-2ZT3OUGC5L21\\\"},{\\\"parameterKey\\\":\\\"AthenaWorkGroup\\\",\\\"parameterValue\\\":\\\"primary\\\"},{\\\"parameterKey\\\":\\\"DeleteQueueUrl\\\",\\\"parameterValue\\\":\\\"https://sqs.eu-west-1.amazonaws.com/060997615305/S3F2POC-DelStack-TC52BDMFNB7Q-DelObjQ-1HUIYZEL4HLJ8.fifo\\\"},{\\\"parameterKey\\\":\\\"ECSCluster\\\",\\\"parameterValue\\\":\\\"S3F2POC-DelStack-TC52BDMFNB7Q-ECSCluster-kZ8X2p7awLv6\\\"},{\\\"parameterKey\\\":\\\"DeleteServiceName\\\",\\\"parameterValue\\\":\\\"S3F2POC-DelStack-TC52BDMFNB7Q-DeleteService-ngsbUHGOkaHg\\\"},{\\\"parameterKey\\\":\\\"LogLevel\\\",\\\"parameterValue\\\":\\\"INFO\\\"},{\\\"parameterKey\\\":\\\"DataMapperTableName\\\",\\\"parameterValue\\\":\\\"S3F2POC-DDBStack-RQHP8GU73UQO-DataMapperTableRetain-1MOXOQFQKD9A6\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Regional","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-StateMachineStack-10BR76BS8UYCK/e50ba580-5beb-11eb-8ddc-0287c5a1bc83","resourceName":"S3F2POC-StateMachineStack-10BR76BS8UYCK","resourceType":"AWS::CloudFormation::Stack","resourceValue":null,"state":null,"tags":"[]","title":"S3F2POC-StateMachineStack-10BR76BS8UYCK","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1936.5,"y":1749.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/MediaAnalysis-DbWriteRole-1Q27Y8BH7IF0O","resourceId":["AROAQ4M55X3ESJNOMRWIX","arn:aws:iam::060997615305:role/MediaAnalysis-DbWriteRole-1Q27Y8BH7IF0O"],"parent":"Role-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/MediaAnalysis-DbWriteRole-1Q27Y8BH7IF0O","title":"MediaAnalysis-DbWriteRole-1Q27Y8BH7IF0O","label":"MediaAnalysi...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/MediaAnalysis-DbWriteRole-1Q27Y8BH7IF0O","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQ4M55X3ESJNOMRWIX","name":"MediaAnalysis-DbWriteRole-1Q27Y8BH7IF0O","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::060997615305:role/MediaAnalysis-DbWriteRole-1Q27Y8BH7IF0O","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/MediaAnalysis-DbWriteRole-1Q27Y8BH7IF0O","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222008-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22apigateway.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQ4M55X3ESJNOMRWIX\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/AmazonDynamoDBFullAccess\\\",\\\"policyName\\\":\\\"AmazonDynamoDBFullAccess\\\"}],\\\"roleName\\\":\\\"MediaAnalysis-DbWriteRole-1Q27Y8BH7IF0O\\\",\\\"arn\\\":\\\"arn:aws:iam::060997615305:role/MediaAnalysis-DbWriteRole-1Q27Y8BH7IF0O\\\",\\\"createDate\\\":\\\"2019-09-26T15:05:45.000Z\\\",\\\"rolePolicyList\\\":[],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQ4M55X3ESJNOMRWIX","resourceName":"MediaAnalysis-DbWriteRole-1Q27Y8BH7IF0O","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"MediaAnalysis-DbWriteRole-1Q27Y8BH7IF0O","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-1830.5,"y":2015.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/aws-service-role/ssm.amazonaws.com/AWSServiceRoleForAmazonSSM","resourceId":["AROAQ4M55X3ERO7WVHIO2","arn:aws:iam::060997615305:role/aws-service-role/ssm.amazonaws.com/AWSServiceRoleForAmazonSSM"],"parent":"Role-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/aws-service-role/ssm.amazonaws.com/AWSServiceRoleForAmazonSSM","title":"AWSServiceRoleForAmazonSSM","label":"AWSServiceRo...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/aws-service-role/ssm.amazonaws.com/AWSServiceRoleForAmazonSSM","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQ4M55X3ERO7WVHIO2","name":"AWSServiceRoleForAmazonSSM","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::060997615305:role/aws-service-role/ssm.amazonaws.com/AWSServiceRoleForAmazonSSM","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/aws-service-role/ssm.amazonaws.com/AWSServiceRoleForAmazonSSM","configuration":"\"{\\\"path\\\":\\\"/aws-service-role/ssm.amazonaws.com/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22ssm.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQ4M55X3ERO7WVHIO2\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/aws-service-role/AmazonSSMServiceRolePolicy\\\",\\\"policyName\\\":\\\"AmazonSSMServiceRolePolicy\\\"}],\\\"roleName\\\":\\\"AWSServiceRoleForAmazonSSM\\\",\\\"arn\\\":\\\"arn:aws:iam::060997615305:role/aws-service-role/ssm.amazonaws.com/AWSServiceRoleForAmazonSSM\\\",\\\"createDate\\\":\\\"2021-03-23T18:22:22.000Z\\\",\\\"rolePolicyList\\\":[],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQ4M55X3ERO7WVHIO2","resourceName":"AWSServiceRoleForAmazonSSM","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"AWSServiceRoleForAmazonSSM","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-1830.5,"y":2088.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/sasidhar","resourceId":["AROAQ4M55X3ERY3IZSI2J","arn:aws:iam::060997615305:role/sasidhar"],"parent":"Role-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/sasidhar","title":"sasidhar","label":"sasidhar","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/sasidhar","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQ4M55X3ERY3IZSI2J","name":"sasidhar","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::060997615305:role/sasidhar","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/sasidhar","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22AWS%22%3A%22arn%3Aaws%3Aiam%3A%3A044693274416%3Aroot%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%2C%22Condition%22%3A%7B%7D%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQ4M55X3ERY3IZSI2J\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/AdministratorAccess\\\",\\\"policyName\\\":\\\"AdministratorAccess\\\"}],\\\"roleName\\\":\\\"sasidhar\\\",\\\"arn\\\":\\\"arn:aws:iam::060997615305:role/sasidhar\\\",\\\"createDate\\\":\\\"2020-05-04T15:08:32.000Z\\\",\\\"rolePolicyList\\\":[],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQ4M55X3ERY3IZSI2J","resourceName":"sasidhar","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"sasidhar","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-1830.5,"y":2161.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/aws-perspective-import-config-account-ConfigRole-1IUC8PCQ7G3PN","resourceId":["AROAQ4M55X3ESU4J4BH4S","arn:aws:iam::060997615305:role/aws-perspective-import-config-account-ConfigRole-1IUC8PCQ7G3PN"],"parent":"Role-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/aws-perspective-import-config-account-ConfigRole-1IUC8PCQ7G3PN","title":"aws-perspective-import-config-account-ConfigRole-1IUC8PCQ7G3PN","label":"aws-perspect...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/aws-perspective-import-config-account-ConfigRole-1IUC8PCQ7G3PN","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQ4M55X3ESU4J4BH4S","name":"aws-perspective-import-config-account-ConfigRole-1IUC8PCQ7G3PN","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::060997615305:role/aws-perspective-import-config-account-ConfigRole-1IUC8PCQ7G3PN","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/aws-perspective-import-config-account-ConfigRole-1IUC8PCQ7G3PN","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22config.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQ4M55X3ESU4J4BH4S\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/service-role/AWSConfigRole\\\",\\\"policyName\\\":\\\"AWSConfigRole\\\"}],\\\"roleName\\\":\\\"aws-perspective-import-config-account-ConfigRole-1IUC8PCQ7G3PN\\\",\\\"arn\\\":\\\"arn:aws:iam::060997615305:role/aws-perspective-import-config-account-ConfigRole-1IUC8PCQ7G3PN\\\",\\\"createDate\\\":\\\"2020-11-24T19:25:40.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%22s3%3AGetBucketAcl%22%2C%22Resource%22%3A%22arn%3Aaws%3As3%3A%3A%3Aaws-perspective-import-config-accoun-configbucket-15xiq7giieth8%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Condition%22%3A%7B%22StringEquals%22%3A%7B%22s3%3Ax-amz-acl%22%3A%22bucket-owner-full-control%22%7D%7D%2C%22Action%22%3A%22s3%3APutObject%22%2C%22Resource%22%3A%22arn%3Aaws%3As3%3A%3A%3Aaws-perspective-import-config-accoun-configbucket-15xiq7giieth8%2FAWSLogs%2F060997615305%2F%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%22config%3APut%2A%22%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"root\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQ4M55X3ESU4J4BH4S","resourceName":"aws-perspective-import-config-account-ConfigRole-1IUC8PCQ7G3PN","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"aws-perspective-import-config-account-ConfigRole-1IUC8PCQ7G3PN","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-1830.5,"y":2234.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/aws-perspective-import-config-account-ConfigRole-1IUC8PCQ7G3PN/inlinePolicy/root","resourceId":["arn:aws:iam::060997615305:role/aws-perspective-import-config-account-ConfigRole-1IUC8PCQ7G3PN/inlinePolicy/root","arn:aws:iam::060997615305:role/aws-perspective-import-config-account-ConfigRole-1IUC8PCQ7G3PN/inlinePolicy/root"],"parent":"InlinePolicy-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/aws-perspective-import-config-account-ConfigRole-1IUC8PCQ7G3PN/inlinePolicy/root","title":"arn:aws:iam::060997615305:role/aws-perspective-import-config-account-ConfigRole-1IUC8PCQ7G3PN/inlinePolicy/root","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/aws-perspective-import-config-account-ConfigRole-1IUC8PCQ7G3PN/inlinePolicy/root","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::060997615305:role/aws-perspective-import-config-account-ConfigRole-1IUC8PCQ7G3PN/inlinePolicy/root","name":"arn:aws:iam::060997615305:role/aws-perspective-import-config-account-ConfigRole-1IUC8PCQ7G3PN/inlinePolicy/root","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::060997615305:role/aws-perspective-import-config-account-ConfigRole-1IUC8PCQ7G3PN/inlinePolicy/root","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/aws-perspective-import-config-account-ConfigRole-1IUC8PCQ7G3PN/inlinePolicy/root","configuration":"\"{\\\"policyName\\\":\\\"root\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":\\\"s3:GetBucketAcl\\\",\\\"Resource\\\":\\\"arn:aws:s3:::aws-perspective-import-config-accoun-configbucket-15xiq7giieth8\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Condition\\\":{\\\"StringEquals\\\":{\\\"s3:x-amz-acl\\\":\\\"bucket-owner-full-control\\\"}},\\\"Action\\\":\\\"s3:PutObject\\\",\\\"Resource\\\":\\\"arn:aws:s3:::aws-perspective-import-config-accoun-configbucket-15xiq7giieth8/AWSLogs/060997615305/*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":\\\"config:Put*\\\",\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::060997615305:role/aws-perspective-import-config-account-ConfigRole-1IUC8PCQ7G3PN/inlinePolicy/root","resourceName":"arn:aws:iam::060997615305:role/aws-perspective-import-config-account-ConfigRole-1IUC8PCQ7G3PN/inlinePolicy/root","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::060997615305:role/aws-perspective-import-config-account-ConfigRole-1IUC8PCQ7G3PN/inlinePolicy/root","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1644.5,"y":2234.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/service-role/StepFunctions_HelloWorldExample_role_5ad7f01e","resourceId":["AROAQ4M55X3ETCKXSFFGB","arn:aws:iam::060997615305:role/service-role/StepFunctions_HelloWorldExample_role_5ad7f01e"],"parent":"Role-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/service-role/StepFunctions_HelloWorldExample_role_5ad7f01e","title":"StepFunctions_HelloWorldExample_role_5ad7f01e","label":"StepFunction...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/service-role/StepFunctions_HelloWorldExample_role_5ad7f01e","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQ4M55X3ETCKXSFFGB","name":"StepFunctions_HelloWorldExample_role_5ad7f01e","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::060997615305:role/service-role/StepFunctions_HelloWorldExample_role_5ad7f01e","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/service-role/StepFunctions_HelloWorldExample_role_5ad7f01e","configuration":"\"{\\\"path\\\":\\\"/service-role/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22states.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQ4M55X3ETCKXSFFGB\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::060997615305:policy/service-role/NoPermissionsAccessPolicy-3dbfa636-cf1e-4b7c-a44b-42b790f17e5c\\\",\\\"policyName\\\":\\\"NoPermissionsAccessPolicy-3dbfa636-cf1e-4b7c-a44b-42b790f17e5c\\\"}],\\\"roleName\\\":\\\"StepFunctions_HelloWorldExample_role_5ad7f01e\\\",\\\"arn\\\":\\\"arn:aws:iam::060997615305:role/service-role/StepFunctions_HelloWorldExample_role_5ad7f01e\\\",\\\"createDate\\\":\\\"2019-10-22T14:09:14.000Z\\\",\\\"rolePolicyList\\\":[],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQ4M55X3ETCKXSFFGB","resourceName":"StepFunctions_HelloWorldExample_role_5ad7f01e","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"StepFunctions_HelloWorldExample_role_5ad7f01e","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-2195.5,"y":2307.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:policy/service-role/NoPermissionsAccessPolicy-3dbfa636-cf1e-4b7c-a44b-42b790f17e5c","resourceId":["ANPAQ4M55X3ERMUD3TK4A","arn:aws:iam::060997615305:policy/service-role/NoPermissionsAccessPolicy-3dbfa636-cf1e-4b7c-a44b-42b790f17e5c"],"parent":"Policy-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:policy/service-role/NoPermissionsAccessPolicy-3dbfa636-cf1e-4b7c-a44b-42b790f17e5c","title":"NoPermissionsAccessPolicy-3dbfa636-cf1e-4b7c-a44b-42b790f17e5c","label":"NoPermission...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:policy/service-role/NoPermissionsAccessPolicy-3dbfa636-cf1e-4b7c-a44b-42b790f17e5c","image":"/icons/IAM_Policy.svg","cost":0,"private":false,"resource":{"id":"ANPAQ4M55X3ERMUD3TK4A","name":"NoPermissionsAccessPolicy-3dbfa636-cf1e-4b7c-a44b-42b790f17e5c","value":null,"type":"AWS::IAM::Policy","tags":"[]","arn":"arn:aws:iam::060997615305:policy/service-role/NoPermissionsAccessPolicy-3dbfa636-cf1e-4b7c-a44b-42b790f17e5c","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/policies","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/policies","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:policy/service-role/NoPermissionsAccessPolicy-3dbfa636-cf1e-4b7c-a44b-42b790f17e5c","configuration":"\"{\\\"permissionsBoundaryUsageCount\\\":0,\\\"policyVersionList\\\":[{\\\"versionId\\\":\\\"v1\\\",\\\"isDefaultVersion\\\":true,\\\"document\\\":\\\"%7B%0A%20%20%20%20%22Version%22%3A%20%222012-10-17%22%2C%0A%20%20%20%20%22Statement%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Effect%22%3A%20%22Deny%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Action%22%3A%20%22%2A%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Resource%22%3A%20%22%2A%22%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%5D%0A%7D\\\",\\\"createDate\\\":\\\"2019-10-22T14:09:14.000Z\\\"}],\\\"path\\\":\\\"/service-role/\\\",\\\"updateDate\\\":\\\"2019-10-22T14:09:14.000Z\\\",\\\"policyId\\\":\\\"ANPAQ4M55X3ERMUD3TK4A\\\",\\\"defaultVersionId\\\":\\\"v1\\\",\\\"policyName\\\":\\\"NoPermissionsAccessPolicy-3dbfa636-cf1e-4b7c-a44b-42b790f17e5c\\\",\\\"isAttachable\\\":true,\\\"attachmentCount\\\":1,\\\"arn\\\":\\\"arn:aws:iam::060997615305:policy/service-role/NoPermissionsAccessPolicy-3dbfa636-cf1e-4b7c-a44b-42b790f17e5c\\\",\\\"createDate\\\":\\\"2019-10-22T14:09:14.000Z\\\"}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/policies","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/policies","private":null,"resourceId":"ANPAQ4M55X3ERMUD3TK4A","resourceName":"NoPermissionsAccessPolicy-3dbfa636-cf1e-4b7c-a44b-42b790f17e5c","resourceType":"AWS::IAM::Policy","resourceValue":null,"state":null,"tags":"[]","title":"NoPermissionsAccessPolicy-3dbfa636-cf1e-4b7c-a44b-42b790f17e5c","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1644.5,"y":2510.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/S3F2-StateMachineStack-12M3-SubmitQueryResultsRole-1AE1S6QWOABSD","resourceId":["AROAQ4M55X3ESBZBKQUGZ","arn:aws:iam::060997615305:role/S3F2-StateMachineStack-12M3-SubmitQueryResultsRole-1AE1S6QWOABSD"],"parent":"Role-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/S3F2-StateMachineStack-12M3-SubmitQueryResultsRole-1AE1S6QWOABSD","title":"S3F2-StateMachineStack-12M3-SubmitQueryResultsRole-1AE1S6QWOABSD","label":"S3F2-StateMa...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/S3F2-StateMachineStack-12M3-SubmitQueryResultsRole-1AE1S6QWOABSD","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQ4M55X3ESBZBKQUGZ","name":"S3F2-StateMachineStack-12M3-SubmitQueryResultsRole-1AE1S6QWOABSD","value":null,"type":"AWS::IAM::Role","tags":"[{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"}]","arn":"arn:aws:iam::060997615305:role/S3F2-StateMachineStack-12M3-SubmitQueryResultsRole-1AE1S6QWOABSD","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/S3F2-StateMachineStack-12M3-SubmitQueryResultsRole-1AE1S6QWOABSD","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22lambda.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQ4M55X3ESBZBKQUGZ\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/AWSXrayWriteOnlyAccess\\\",\\\"policyName\\\":\\\"AWSXrayWriteOnlyAccess\\\"},{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole\\\",\\\"policyName\\\":\\\"AWSLambdaBasicExecutionRole\\\"}],\\\"roleName\\\":\\\"S3F2-StateMachineStack-12M3-SubmitQueryResultsRole-1AE1S6QWOABSD\\\",\\\"arn\\\":\\\"arn:aws:iam::060997615305:role/S3F2-StateMachineStack-12M3-SubmitQueryResultsRole-1AE1S6QWOABSD\\\",\\\"createDate\\\":\\\"2020-04-07T09:05:33.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22s3%3AGetObject%22%2C%22s3%3AListBucket%22%2C%22s3%3AGetBucketLocation%22%2C%22s3%3AGetObjectVersion%22%2C%22s3%3AGetLifecycleConfiguration%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3As3%3A%3A%3As3f2-tempbucket-11k6x2zprcq2v%22%2C%22arn%3Aaws%3As3%3A%3A%3As3f2-tempbucket-11k6x2zprcq2v%2F%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"SubmitQueryResultsRolePolicy0\\\"},{\\\"policyDocument\\\":\\\"%7B%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22athena%3AGetQueryResults%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Aathena%3Aeu-west-2%3A060997615305%3Aworkgroup%2Fprimary%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22sqs%3ASendMessage%22%2C%22sqs%3AGetQueueAttributes%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Asqs%3Aeu-west-2%3A060997615305%3AS3F2-StateMachineStack-12M39YWDHR9RC-QueryQueue-8YRZQRJ1ZY9Z%22%2C%22arn%3Aaws%3Asqs%3Aeu-west-2%3A060997615305%3AS3F2-DelStack-9VN6BTF12OEA-DelObjQ-DF2028UTGXYS.fifo%22%5D%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"SubmitQueryResultsRolePolicy1\\\"}],\\\"tags\\\":[{\\\"value\\\":\\\"SAM\\\",\\\"key\\\":\\\"lambda:createdBy\\\"}]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQ4M55X3ESBZBKQUGZ","resourceName":"S3F2-StateMachineStack-12M3-SubmitQueryResultsRole-1AE1S6QWOABSD","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"}]","title":"S3F2-StateMachineStack-12M3-SubmitQueryResultsRole-1AE1S6QWOABSD","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-2122.5,"y":2307.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/S3F2-StateMachineStack-12M3-SubmitQueryResultsRole-1AE1S6QWOABSD/inlinePolicy/SubmitQueryResultsRolePolicy0","resourceId":["arn:aws:iam::060997615305:role/S3F2-StateMachineStack-12M3-SubmitQueryResultsRole-1AE1S6QWOABSD/inlinePolicy/SubmitQueryResultsRolePolicy0","arn:aws:iam::060997615305:role/S3F2-StateMachineStack-12M3-SubmitQueryResultsRole-1AE1S6QWOABSD/inlinePolicy/SubmitQueryResultsRolePolicy0"],"parent":"InlinePolicy-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/S3F2-StateMachineStack-12M3-SubmitQueryResultsRole-1AE1S6QWOABSD/inlinePolicy/SubmitQueryResultsRolePolicy0","title":"arn:aws:iam::060997615305:role/S3F2-StateMachineStack-12M3-SubmitQueryResultsRole-1AE1S6QWOABSD/inlinePolicy/SubmitQueryResultsRolePolicy0","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/S3F2-StateMachineStack-12M3-SubmitQueryResultsRole-1AE1S6QWOABSD/inlinePolicy/SubmitQueryResultsRolePolicy0","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::060997615305:role/S3F2-StateMachineStack-12M3-SubmitQueryResultsRole-1AE1S6QWOABSD/inlinePolicy/SubmitQueryResultsRolePolicy0","name":"arn:aws:iam::060997615305:role/S3F2-StateMachineStack-12M3-SubmitQueryResultsRole-1AE1S6QWOABSD/inlinePolicy/SubmitQueryResultsRolePolicy0","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::060997615305:role/S3F2-StateMachineStack-12M3-SubmitQueryResultsRole-1AE1S6QWOABSD/inlinePolicy/SubmitQueryResultsRolePolicy0","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/S3F2-StateMachineStack-12M3-SubmitQueryResultsRole-1AE1S6QWOABSD/inlinePolicy/SubmitQueryResultsRolePolicy0","configuration":"\"{\\\"policyName\\\":\\\"SubmitQueryResultsRolePolicy0\\\",\\\"policyDocument\\\":{\\\"Statement\\\":[{\\\"Action\\\":[\\\"s3:GetObject\\\",\\\"s3:ListBucket\\\",\\\"s3:GetBucketLocation\\\",\\\"s3:GetObjectVersion\\\",\\\"s3:GetLifecycleConfiguration\\\"],\\\"Resource\\\":[\\\"arn:aws:s3:::s3f2-tempbucket-11k6x2zprcq2v\\\",\\\"arn:aws:s3:::s3f2-tempbucket-11k6x2zprcq2v/*\\\"],\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::060997615305:role/S3F2-StateMachineStack-12M3-SubmitQueryResultsRole-1AE1S6QWOABSD/inlinePolicy/SubmitQueryResultsRolePolicy0","resourceName":"arn:aws:iam::060997615305:role/S3F2-StateMachineStack-12M3-SubmitQueryResultsRole-1AE1S6QWOABSD/inlinePolicy/SubmitQueryResultsRolePolicy0","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::060997615305:role/S3F2-StateMachineStack-12M3-SubmitQueryResultsRole-1AE1S6QWOABSD/inlinePolicy/SubmitQueryResultsRolePolicy0","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1571.5,"y":2234.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/S3F2-StateMachineStack-12M3-SubmitQueryResultsRole-1AE1S6QWOABSD/inlinePolicy/SubmitQueryResultsRolePolicy1","resourceId":["arn:aws:iam::060997615305:role/S3F2-StateMachineStack-12M3-SubmitQueryResultsRole-1AE1S6QWOABSD/inlinePolicy/SubmitQueryResultsRolePolicy1","arn:aws:iam::060997615305:role/S3F2-StateMachineStack-12M3-SubmitQueryResultsRole-1AE1S6QWOABSD/inlinePolicy/SubmitQueryResultsRolePolicy1"],"parent":"InlinePolicy-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/S3F2-StateMachineStack-12M3-SubmitQueryResultsRole-1AE1S6QWOABSD/inlinePolicy/SubmitQueryResultsRolePolicy1","title":"arn:aws:iam::060997615305:role/S3F2-StateMachineStack-12M3-SubmitQueryResultsRole-1AE1S6QWOABSD/inlinePolicy/SubmitQueryResultsRolePolicy1","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/S3F2-StateMachineStack-12M3-SubmitQueryResultsRole-1AE1S6QWOABSD/inlinePolicy/SubmitQueryResultsRolePolicy1","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::060997615305:role/S3F2-StateMachineStack-12M3-SubmitQueryResultsRole-1AE1S6QWOABSD/inlinePolicy/SubmitQueryResultsRolePolicy1","name":"arn:aws:iam::060997615305:role/S3F2-StateMachineStack-12M3-SubmitQueryResultsRole-1AE1S6QWOABSD/inlinePolicy/SubmitQueryResultsRolePolicy1","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::060997615305:role/S3F2-StateMachineStack-12M3-SubmitQueryResultsRole-1AE1S6QWOABSD/inlinePolicy/SubmitQueryResultsRolePolicy1","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/S3F2-StateMachineStack-12M3-SubmitQueryResultsRole-1AE1S6QWOABSD/inlinePolicy/SubmitQueryResultsRolePolicy1","configuration":"\"{\\\"policyName\\\":\\\"SubmitQueryResultsRolePolicy1\\\",\\\"policyDocument\\\":{\\\"Statement\\\":[{\\\"Action\\\":[\\\"athena:GetQueryResults\\\"],\\\"Resource\\\":\\\"arn:aws:athena:eu-west-2:060997615305:workgroup/primary\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"sqs:SendMessage\\\",\\\"sqs:GetQueueAttributes\\\"],\\\"Resource\\\":[\\\"arn:aws:sqs:eu-west-2:060997615305:S3F2-StateMachineStack-12M39YWDHR9RC-QueryQueue-8YRZQRJ1ZY9Z\\\",\\\"arn:aws:sqs:eu-west-2:060997615305:S3F2-DelStack-9VN6BTF12OEA-DelObjQ-DF2028UTGXYS.fifo\\\"],\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::060997615305:role/S3F2-StateMachineStack-12M3-SubmitQueryResultsRole-1AE1S6QWOABSD/inlinePolicy/SubmitQueryResultsRolePolicy1","resourceName":"arn:aws:iam::060997615305:role/S3F2-StateMachineStack-12M3-SubmitQueryResultsRole-1AE1S6QWOABSD/inlinePolicy/SubmitQueryResultsRolePolicy1","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::060997615305:role/S3F2-StateMachineStack-12M3-SubmitQueryResultsRole-1AE1S6QWOABSD/inlinePolicy/SubmitQueryResultsRolePolicy1","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1498.5,"y":2234.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:lambda:eu-west-2:060997615305:function:S3F2-StateMachineStack-12M39YWD-SubmitQueryResults-14KJHVPX13RC3","resourceId":["S3F2-StateMachineStack-12M39YWD-SubmitQueryResults-14KJHVPX13RC3","arn:aws:lambda:eu-west-2:060997615305:function:S3F2-StateMachineStack-12M39YWD-SubmitQueryResults-14KJHVPX13RC3"],"parent":"Function-eu-west-2-060997615305","level":3,"id":"arn:aws:lambda:eu-west-2:060997615305:function:S3F2-StateMachineStack-12M39YWD-SubmitQueryResults-14KJHVPX13RC3","title":"S3F2-StateMachineStack-12M39YWD-SubmitQueryResults-14KJHVPX13RC3","label":"S3F2-StateMa...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:lambda:eu-west-2:060997615305:function:S3F2-StateMachineStack-12M39YWD-SubmitQueryResults-14KJHVPX13RC3","image":"/icons/AWS-Lambda-menu.svg","cost":0,"private":false,"resource":{"id":"S3F2-StateMachineStack-12M39YWD-SubmitQueryResults-14KJHVPX13RC3","name":"S3F2-StateMachineStack-12M39YWD-SubmitQueryResults-14KJHVPX13RC3","value":null,"type":"AWS::Lambda::Function","tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2-StateMachineStack-12M39YWDHR9RC\",\"value\":\"S3F2-StateMachineStack-12M39YWDHR9RC\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2-StateMachineStack-12M39YWDHR9RC/e6660630-78ae-11ea-b850-0a3915ca55a4\",\"value\":\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2-StateMachineStack-12M39YWDHR9RC/e6660630-78ae-11ea-b850-0a3915ca55a4\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=SubmitQueryResults\",\"value\":\"SubmitQueryResults\",\"key\":\"aws:cloudformation:logical-id\"}]","arn":"arn:aws:lambda:eu-west-2:060997615305:function:S3F2-StateMachineStack-12M39YWD-SubmitQueryResults-14KJHVPX13RC3","region":"eu-west-2","state":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/lambda/home?region=eu-west-2#/functions/S3F2-StateMachineStack-12M39YWD-SubmitQueryResults-14KJHVPX13RC3?tab=graph","loginURL":"https://060997615305.signin.aws.amazon.com/console/lambda?region=eu-west-2#/functions/S3F2-StateMachineStack-12M39YWD-SubmitQueryResults-14KJHVPX13RC3?tab=graph","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:lambda:eu-west-2:060997615305:function:S3F2-StateMachineStack-12M39YWD-SubmitQueryResults-14KJHVPX13RC3","configuration":"\"{\\\"architectures\\\":[\\\"x86_64\\\"],\\\"ephemeralStorage\\\":{\\\"size\\\":512},\\\"handler\\\":\\\"submit_query_results.handler\\\",\\\"role\\\":\\\"arn:aws:iam::060997615305:role/S3F2-StateMachineStack-12M3-SubmitQueryResultsRole-1AE1S6QWOABSD\\\",\\\"functionName\\\":\\\"S3F2-StateMachineStack-12M39YWD-SubmitQueryResults-14KJHVPX13RC3\\\",\\\"tracingConfig\\\":{\\\"mode\\\":\\\"Active\\\"},\\\"runtime\\\":\\\"python3.7\\\",\\\"description\\\":\\\"\\\",\\\"runtimeVersionConfig\\\":{\\\"runtimeVersionArn\\\":\\\"arn:aws:lambda:eu-west-2::runtime:404f127cf4d3b0d7368361968087bb9052f80c682e74e5e3cae6dc86d049242c\\\"},\\\"codeSize\\\":23510,\\\"version\\\":\\\"$LATEST\\\",\\\"packageType\\\":\\\"Zip\\\",\\\"timeout\\\":900,\\\"revisionId\\\":\\\"8c87f47c-81dc-46bb-a08f-be73e5c48482\\\",\\\"codeSha256\\\":\\\"xiVl7DSDinRZ5IDveJOWLMZwtajPDzycr1okPXh/uY8=\\\",\\\"memorySize\\\":128,\\\"fileSystemConfigs\\\":[],\\\"vpcConfig\\\":{\\\"securityGroupIds\\\":[],\\\"subnetIds\\\":[]},\\\"lastUpdateStatus\\\":\\\"Successful\\\",\\\"layers\\\":[{\\\"arn\\\":\\\"arn:aws:lambda:eu-west-2:060997615305:layer:AWSSDK:20\\\",\\\"codeSize\\\":8603512},{\\\"arn\\\":\\\"arn:aws:lambda:eu-west-2:060997615305:layer:Decorators:89\\\",\\\"codeSize\\\":1560296},{\\\"arn\\\":\\\"arn:aws:lambda:eu-west-2:060997615305:layer:BotoUtils:139\\\",\\\"codeSize\\\":7786}],\\\"snapStart\\\":{\\\"applyOn\\\":\\\"None\\\",\\\"optimizationStatus\\\":\\\"Off\\\"},\\\"lastModified\\\":\\\"2020-11-12T17:28:31.355+0000\\\",\\\"state\\\":{\\\"value\\\":\\\"Active\\\"},\\\"functionArn\\\":\\\"arn:aws:lambda:eu-west-2:060997615305:function:S3F2-StateMachineStack-12M39YWD-SubmitQueryResults-14KJHVPX13RC3\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/lambda/home?region=eu-west-2#/functions/S3F2-StateMachineStack-12M39YWD-SubmitQueryResults-14KJHVPX13RC3?tab=graph","loginURL":"https://060997615305.signin.aws.amazon.com/console/lambda?region=eu-west-2#/functions/S3F2-StateMachineStack-12M39YWD-SubmitQueryResults-14KJHVPX13RC3?tab=graph","private":null,"resourceId":"S3F2-StateMachineStack-12M39YWD-SubmitQueryResults-14KJHVPX13RC3","resourceName":"S3F2-StateMachineStack-12M39YWD-SubmitQueryResults-14KJHVPX13RC3","resourceType":"AWS::Lambda::Function","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2-StateMachineStack-12M39YWDHR9RC\",\"value\":\"S3F2-StateMachineStack-12M39YWDHR9RC\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2-StateMachineStack-12M39YWDHR9RC/e6660630-78ae-11ea-b850-0a3915ca55a4\",\"value\":\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2-StateMachineStack-12M39YWDHR9RC/e6660630-78ae-11ea-b850-0a3915ca55a4\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=SubmitQueryResults\",\"value\":\"SubmitQueryResults\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"S3F2-StateMachineStack-12M39YWD-SubmitQueryResults-14KJHVPX13RC3","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":462.5,"y":1144.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2-StateMachineStack-12M39YWDHR9RC/e6660630-78ae-11ea-b850-0a3915ca55a4","resourceId":["arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2-StateMachineStack-12M39YWDHR9RC/e6660630-78ae-11ea-b850-0a3915ca55a4","arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2-StateMachineStack-12M39YWDHR9RC/e6660630-78ae-11ea-b850-0a3915ca55a4"],"parent":"Stack-eu-west-2-060997615305","level":3,"id":"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2-StateMachineStack-12M39YWDHR9RC/e6660630-78ae-11ea-b850-0a3915ca55a4","title":"S3F2-StateMachineStack-12M39YWDHR9RC","label":"S3F2-StateMa...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2-StateMachineStack-12M39YWDHR9RC/e6660630-78ae-11ea-b850-0a3915ca55a4","image":"/icons/AWS-CloudFormation.svg","cost":0,"private":false,"resource":{"id":"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2-StateMachineStack-12M39YWDHR9RC/e6660630-78ae-11ea-b850-0a3915ca55a4","name":"S3F2-StateMachineStack-12M39YWDHR9RC","value":null,"type":"AWS::CloudFormation::Stack","tags":"[]","arn":"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2-StateMachineStack-12M39YWDHR9RC/e6660630-78ae-11ea-b850-0a3915ca55a4","region":"eu-west-2","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2-StateMachineStack-12M39YWDHR9RC/e6660630-78ae-11ea-b850-0a3915ca55a4","configuration":"\"{\\\"outputs\\\":[{\\\"outputKey\\\":\\\"AthenaStateMachineArn\\\",\\\"outputValue\\\":\\\"arn:aws:states:eu-west-2:060997615305:stateMachine:S3F2-AthenaStateMachine\\\"},{\\\"outputKey\\\":\\\"AthenaExecutionRoleArn\\\",\\\"outputValue\\\":\\\"arn:aws:iam::060997615305:role/S3F2-StateMachineStack-12M39YWDHR-ExecuteQueryRole-AINKCUZKGOAE\\\"},{\\\"outputKey\\\":\\\"GenerateQueriesRole\\\",\\\"outputValue\\\":\\\"S3F2-StateMachineStack-12M39YW-GenerateQueriesRole-8NQCE4YPFLJ6\\\"},{\\\"outputKey\\\":\\\"QueryQueueUrl\\\",\\\"outputValue\\\":\\\"https://sqs.eu-west-2.amazonaws.com/060997615305/S3F2-StateMachineStack-12M39YWDHR9RC-QueryQueue-8YRZQRJ1ZY9Z\\\"},{\\\"outputKey\\\":\\\"StateMachineArn\\\",\\\"outputValue\\\":\\\"arn:aws:states:eu-west-2:060997615305:stateMachine:S3F2-StateMachine\\\"},{\\\"outputKey\\\":\\\"AthenaExecutionRole\\\",\\\"outputValue\\\":\\\"S3F2-StateMachineStack-12M39YWDHR-ExecuteQueryRole-AINKCUZKGOAE\\\"},{\\\"outputKey\\\":\\\"StateMachineRoleArn\\\",\\\"outputValue\\\":\\\"arn:aws:iam::060997615305:role/S3F2-StateMachineStack-12M39YW-StatesExecutionRole-1NAJ0QFC15D95\\\"}],\\\"capabilities\\\":[\\\"CAPABILITY_IAM\\\",\\\"CAPABILITY_AUTO_EXPAND\\\"],\\\"creationTime\\\":\\\"2020-04-07T09:05:17Z\\\",\\\"notificationARNs\\\":[],\\\"stackId\\\":\\\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2-StateMachineStack-12M39YWDHR9RC/e6660630-78ae-11ea-b850-0a3915ca55a4\\\",\\\"stackName\\\":\\\"S3F2-StateMachineStack-12M39YWDHR9RC\\\",\\\"description\\\":\\\"Amazon S3 Find and Forget State Machine\\\",\\\"stackStatus\\\":\\\"UPDATE_COMPLETE\\\",\\\"disableRollback\\\":true,\\\"parentId\\\":\\\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2/a3dc0710-78ae-11ea-91a4-06bdd06f2a66\\\",\\\"tags\\\":[],\\\"driftInformation\\\":{\\\"stackDriftStatus\\\":\\\"NOT_CHECKED\\\"},\\\"enableTerminationProtection\\\":false,\\\"lastUpdatedTime\\\":\\\"2020-11-12T18:25:11Z\\\",\\\"parameters\\\":[{\\\"parameterKey\\\":\\\"StateMachinePrefix\\\",\\\"parameterValue\\\":\\\"S3F2\\\"},{\\\"parameterKey\\\":\\\"ResultBucket\\\",\\\"parameterValue\\\":\\\"s3f2-tempbucket-11k6x2zprcq2v\\\"},{\\\"parameterKey\\\":\\\"CommonLayers\\\",\\\"parameterValue\\\":\\\"arn:aws:lambda:eu-west-2:060997615305:layer:AWSSDK:20,arn:aws:lambda:eu-west-2:060997615305:layer:Decorators:89,arn:aws:lambda:eu-west-2:060997615305:layer:BotoUtils:139\\\"},{\\\"parameterKey\\\":\\\"JobTableName\\\",\\\"parameterValue\\\":\\\"S3F2-DDBStack-1XTUSUJ4JOMLW-JobTableRetain-IOHZO19FEV4U\\\"},{\\\"parameterKey\\\":\\\"AthenaWorkGroup\\\",\\\"parameterValue\\\":\\\"primary\\\"},{\\\"parameterKey\\\":\\\"DeleteQueueUrl\\\",\\\"parameterValue\\\":\\\"https://sqs.eu-west-2.amazonaws.com/060997615305/S3F2-DelStack-9VN6BTF12OEA-DelObjQ-DF2028UTGXYS.fifo\\\"},{\\\"parameterKey\\\":\\\"ECSCluster\\\",\\\"parameterValue\\\":\\\"S3F2-DelStack-9VN6BTF12OEA-ECSCluster-7GKJB8W9H5VE\\\"},{\\\"parameterKey\\\":\\\"DeleteServiceName\\\",\\\"parameterValue\\\":\\\"S3F2-DelStack-9VN6BTF12OEA-DeleteService-RPWNN1AGWCB4\\\"},{\\\"parameterKey\\\":\\\"LogLevel\\\",\\\"parameterValue\\\":\\\"INFO\\\"},{\\\"parameterKey\\\":\\\"DataMapperTableName\\\",\\\"parameterValue\\\":\\\"S3F2-DDBStack-1XTUSUJ4JOMLW-DataMapperTableRetain-6KWP55RECD5X\\\"}]}\"","awsRegion":"eu-west-2","availabilityZone":"Regional","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2-StateMachineStack-12M39YWDHR9RC/e6660630-78ae-11ea-b850-0a3915ca55a4","resourceName":"S3F2-StateMachineStack-12M39YWDHR9RC","resourceType":"AWS::CloudFormation::Stack","resourceValue":null,"state":null,"tags":"[]","title":"S3F2-StateMachineStack-12M39YWDHR9RC","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":203.5,"y":1217.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/ecstranscriber","resourceId":["AROAQ4M55X3EUQVDF3LZ3","arn:aws:iam::060997615305:role/ecstranscriber"],"parent":"Role-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/ecstranscriber","title":"ecstranscriber","label":"ecstranscrib...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/ecstranscriber","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQ4M55X3EUQVDF3LZ3","name":"ecstranscriber","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::060997615305:role/ecstranscriber","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/ecstranscriber","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Sid%22%3A%22%22%2C%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22ecs-tasks.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQ4M55X3EUQVDF3LZ3\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/AmazonTranscribeFullAccess\\\",\\\"policyName\\\":\\\"AmazonTranscribeFullAccess\\\"},{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/AmazonDynamoDBFullAccess\\\",\\\"policyName\\\":\\\"AmazonDynamoDBFullAccess\\\"}],\\\"roleName\\\":\\\"ecstranscriber\\\",\\\"arn\\\":\\\"arn:aws:iam::060997615305:role/ecstranscriber\\\",\\\"createDate\\\":\\\"2019-07-25T15:17:39.000Z\\\",\\\"rolePolicyList\\\":[],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQ4M55X3EUQVDF3LZ3","resourceName":"ecstranscriber","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"ecstranscriber","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-2049.5,"y":2307.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"id":"TaskDefinition-eu-west-1-060997615305","parent":"eu-west-1-060997615305","level":2,"title":"TaskDefinition","label":"TaskDefinition","plainLabel":"TaskDefinition","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/ECS-Task-Definition-light-bg-menu.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ecs:eu-west-1:060997615305:task-definition/transcriberfamily:7","label":"AWS_ECS_TaskDefinition","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ecs:eu-west-1:060997615305:task-definition/transcriberfamily:7","configuration":"\"{\\\"Status\\\":\\\"ACTIVE\\\",\\\"TaskRoleArn\\\":\\\"arn:aws:iam::060997615305:role/ecstranscriber\\\",\\\"InferenceAccelerators\\\":[],\\\"Memory\\\":\\\"4096\\\",\\\"PlacementConstraints\\\":[],\\\"Cpu\\\":\\\"2048\\\",\\\"RequiresCompatibilities\\\":[\\\"FARGATE\\\"],\\\"NetworkMode\\\":\\\"awsvpc\\\",\\\"ExecutionRoleArn\\\":\\\"arn:aws:iam::060997615305:role/ecsTaskExecutionRole\\\",\\\"Volumes\\\":[],\\\"ContainerDefinitions\\\":[{\\\"Secrets\\\":[],\\\"ExtraHosts\\\":[],\\\"VolumesFrom\\\":[],\\\"Cpu\\\":0,\\\"EntryPoint\\\":[],\\\"DnsServers\\\":[],\\\"Image\\\":\\\"060997615305.dkr.ecr.eu-west-1.amazonaws.com/transcriber:latest\\\",\\\"Essential\\\":true,\\\"LogConfiguration\\\":{\\\"SecretOptions\\\":[],\\\"Options\\\":{\\\"awslogs-group\\\":\\\"/ecs/transcriberfamily\\\",\\\"awslogs-region\\\":\\\"eu-west-1\\\",\\\"awslogs-stream-prefix\\\":\\\"transcribefargate\\\"},\\\"LogDriver\\\":\\\"awslogs\\\"},\\\"ResourceRequirements\\\":[],\\\"EnvironmentFiles\\\":[],\\\"Name\\\":\\\"transciber\\\",\\\"MountPoints\\\":[],\\\"DependsOn\\\":[],\\\"PortMappings\\\":[],\\\"DockerLabels\\\":{},\\\"DockerSecurityOptions\\\":[],\\\"SystemControls\\\":[],\\\"Command\\\":[],\\\"DnsSearchDomains\\\":[],\\\"Links\\\":[],\\\"Environment\\\":[{\\\"Value\\\":\\\"MediaAnalysisTasks\\\",\\\"Name\\\":\\\"TASKS_DYNAMO_DB_TABLE\\\"},{\\\"Value\\\":\\\"eu-west-1\\\",\\\"Name\\\":\\\"AWS_REGION\\\"},{\\\"Value\\\":\\\"https://d3qqomtyfn19a9.cloudfront.net/out/v1/41ac8697e2a24f55898b4d43e83849cd/index.m3u8\\\",\\\"Name\\\":\\\"MEDIA_URL\\\"},{\\\"Value\\\":\\\"MediaAnalysisTranscript\\\",\\\"Name\\\":\\\"TRANSCRIPTS_DYNAMO_DB_TABLE\\\"}],\\\"Ulimits\\\":[]}],\\\"Family\\\":\\\"transcriberfamily\\\",\\\"Tags\\\":[],\\\"TaskDefinitionArn\\\":\\\"arn:aws:ecs:eu-west-1:060997615305:task-definition/transcriberfamily:7\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Regional","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:ecs:eu-west-1:060997615305:task-definition/transcriberfamily:7","resourceName":"transcriberfamily:7","resourceType":"AWS::ECS::TaskDefinition","resourceValue":null,"state":null,"tags":"[]","title":"transcriberfamily:7","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ecs:eu-west-1:060997615305:task-definition/transriber:3","label":"AWS_ECS_TaskDefinition","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ecs:eu-west-1:060997615305:task-definition/transriber:3","configuration":"\"{\\\"Status\\\":\\\"ACTIVE\\\",\\\"TaskRoleArn\\\":\\\"arn:aws:iam::060997615305:role/ecstranscriber\\\",\\\"InferenceAccelerators\\\":[],\\\"Memory\\\":\\\"4096\\\",\\\"PlacementConstraints\\\":[],\\\"Cpu\\\":\\\"2048\\\",\\\"RequiresCompatibilities\\\":[\\\"FARGATE\\\"],\\\"NetworkMode\\\":\\\"awsvpc\\\",\\\"ExecutionRoleArn\\\":\\\"arn:aws:iam::060997615305:role/ecsTaskExecutionRole\\\",\\\"Volumes\\\":[],\\\"ContainerDefinitions\\\":[{\\\"MemoryReservation\\\":4096,\\\"Secrets\\\":[],\\\"ExtraHosts\\\":[],\\\"VolumesFrom\\\":[],\\\"Cpu\\\":2048,\\\"EntryPoint\\\":[],\\\"DnsServers\\\":[],\\\"Image\\\":\\\"060997615305.dkr.ecr.eu-west-1.amazonaws.com/transcriber:latest\\\",\\\"Essential\\\":true,\\\"LogConfiguration\\\":{\\\"SecretOptions\\\":[],\\\"Options\\\":{\\\"awslogs-group\\\":\\\"/ecs/transriber\\\",\\\"awslogs-region\\\":\\\"eu-west-1\\\",\\\"awslogs-stream-prefix\\\":\\\"ecs\\\"},\\\"LogDriver\\\":\\\"awslogs\\\"},\\\"ResourceRequirements\\\":[],\\\"EnvironmentFiles\\\":[],\\\"Name\\\":\\\"transcriber\\\",\\\"MountPoints\\\":[],\\\"DependsOn\\\":[],\\\"PortMappings\\\":[],\\\"DockerLabels\\\":{},\\\"DockerSecurityOptions\\\":[],\\\"SystemControls\\\":[],\\\"Command\\\":[],\\\"DnsSearchDomains\\\":[],\\\"Links\\\":[],\\\"Environment\\\":[{\\\"Value\\\":\\\"MediaAnalysisTasks\\\",\\\"Name\\\":\\\"TASKS_DYNAMO_DB_TABLE\\\"},{\\\"Value\\\":\\\"eu-west-1\\\",\\\"Name\\\":\\\"AWS_REGION\\\"},{\\\"Value\\\":\\\"https://d3qqomtyfn19a9.cloudfront.net/out/v1/41ac8697e2a24f55898b4d43e83849cd/index.m3u8\\\",\\\"Name\\\":\\\"MEDIA_URL\\\"},{\\\"Value\\\":\\\"MediaAnalysisTranscript\\\",\\\"Name\\\":\\\"TRANSCRIPTS_DYNAMO_DB_TABLE\\\"},{\\\"Value\\\":\\\"true\\\",\\\"Name\\\":\\\"PERSIST_LIFECYCLE_INFO\\\"}],\\\"Ulimits\\\":[]}],\\\"Family\\\":\\\"transriber\\\",\\\"Tags\\\":[],\\\"TaskDefinitionArn\\\":\\\"arn:aws:ecs:eu-west-1:060997615305:task-definition/transriber:3\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Regional","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:ecs:eu-west-1:060997615305:task-definition/transriber:3","resourceName":"transriber:3","resourceType":"AWS::ECS::TaskDefinition","resourceValue":null,"state":null,"tags":"[]","title":"transriber:3","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1641,"y":1713.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ecs:eu-west-1:060997615305:task-definition/transcriberfamily:7","resourceId":["arn:aws:ecs:eu-west-1:060997615305:task-definition/transcriberfamily:7","arn:aws:ecs:eu-west-1:060997615305:task-definition/transcriberfamily:7"],"parent":"TaskDefinition-eu-west-1-060997615305","level":3,"id":"arn:aws:ecs:eu-west-1:060997615305:task-definition/transcriberfamily:7","title":"transcriberfamily:7","label":"transcriberf...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ecs:eu-west-1:060997615305:task-definition/transcriberfamily:7","image":"/icons/ECS-Task-Definition-light-bg-menu.svg","cost":0,"private":false,"resource":{"id":"arn:aws:ecs:eu-west-1:060997615305:task-definition/transcriberfamily:7","name":"transcriberfamily:7","value":null,"type":"AWS::ECS::TaskDefinition","tags":"[]","arn":"arn:aws:ecs:eu-west-1:060997615305:task-definition/transcriberfamily:7","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ecs:eu-west-1:060997615305:task-definition/transcriberfamily:7","configuration":"\"{\\\"Status\\\":\\\"ACTIVE\\\",\\\"TaskRoleArn\\\":\\\"arn:aws:iam::060997615305:role/ecstranscriber\\\",\\\"InferenceAccelerators\\\":[],\\\"Memory\\\":\\\"4096\\\",\\\"PlacementConstraints\\\":[],\\\"Cpu\\\":\\\"2048\\\",\\\"RequiresCompatibilities\\\":[\\\"FARGATE\\\"],\\\"NetworkMode\\\":\\\"awsvpc\\\",\\\"ExecutionRoleArn\\\":\\\"arn:aws:iam::060997615305:role/ecsTaskExecutionRole\\\",\\\"Volumes\\\":[],\\\"ContainerDefinitions\\\":[{\\\"Secrets\\\":[],\\\"ExtraHosts\\\":[],\\\"VolumesFrom\\\":[],\\\"Cpu\\\":0,\\\"EntryPoint\\\":[],\\\"DnsServers\\\":[],\\\"Image\\\":\\\"060997615305.dkr.ecr.eu-west-1.amazonaws.com/transcriber:latest\\\",\\\"Essential\\\":true,\\\"LogConfiguration\\\":{\\\"SecretOptions\\\":[],\\\"Options\\\":{\\\"awslogs-group\\\":\\\"/ecs/transcriberfamily\\\",\\\"awslogs-region\\\":\\\"eu-west-1\\\",\\\"awslogs-stream-prefix\\\":\\\"transcribefargate\\\"},\\\"LogDriver\\\":\\\"awslogs\\\"},\\\"ResourceRequirements\\\":[],\\\"EnvironmentFiles\\\":[],\\\"Name\\\":\\\"transciber\\\",\\\"MountPoints\\\":[],\\\"DependsOn\\\":[],\\\"PortMappings\\\":[],\\\"DockerLabels\\\":{},\\\"DockerSecurityOptions\\\":[],\\\"SystemControls\\\":[],\\\"Command\\\":[],\\\"DnsSearchDomains\\\":[],\\\"Links\\\":[],\\\"Environment\\\":[{\\\"Value\\\":\\\"MediaAnalysisTasks\\\",\\\"Name\\\":\\\"TASKS_DYNAMO_DB_TABLE\\\"},{\\\"Value\\\":\\\"eu-west-1\\\",\\\"Name\\\":\\\"AWS_REGION\\\"},{\\\"Value\\\":\\\"https://d3qqomtyfn19a9.cloudfront.net/out/v1/41ac8697e2a24f55898b4d43e83849cd/index.m3u8\\\",\\\"Name\\\":\\\"MEDIA_URL\\\"},{\\\"Value\\\":\\\"MediaAnalysisTranscript\\\",\\\"Name\\\":\\\"TRANSCRIPTS_DYNAMO_DB_TABLE\\\"}],\\\"Ulimits\\\":[]}],\\\"Family\\\":\\\"transcriberfamily\\\",\\\"Tags\\\":[],\\\"TaskDefinitionArn\\\":\\\"arn:aws:ecs:eu-west-1:060997615305:task-definition/transcriberfamily:7\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Regional","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:ecs:eu-west-1:060997615305:task-definition/transcriberfamily:7","resourceName":"transcriberfamily:7","resourceType":"AWS::ECS::TaskDefinition","resourceValue":null,"state":null,"tags":"[]","title":"transcriberfamily:7","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1677.5,"y":1676.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ecs:eu-west-1:060997615305:task-definition/transriber:3","resourceId":["arn:aws:ecs:eu-west-1:060997615305:task-definition/transriber:3","arn:aws:ecs:eu-west-1:060997615305:task-definition/transriber:3"],"parent":"TaskDefinition-eu-west-1-060997615305","level":3,"id":"arn:aws:ecs:eu-west-1:060997615305:task-definition/transriber:3","title":"transriber:3","label":"transriber:3","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ecs:eu-west-1:060997615305:task-definition/transriber:3","image":"/icons/ECS-Task-Definition-light-bg-menu.svg","cost":0,"private":false,"resource":{"id":"arn:aws:ecs:eu-west-1:060997615305:task-definition/transriber:3","name":"transriber:3","value":null,"type":"AWS::ECS::TaskDefinition","tags":"[]","arn":"arn:aws:ecs:eu-west-1:060997615305:task-definition/transriber:3","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ecs:eu-west-1:060997615305:task-definition/transriber:3","configuration":"\"{\\\"Status\\\":\\\"ACTIVE\\\",\\\"TaskRoleArn\\\":\\\"arn:aws:iam::060997615305:role/ecstranscriber\\\",\\\"InferenceAccelerators\\\":[],\\\"Memory\\\":\\\"4096\\\",\\\"PlacementConstraints\\\":[],\\\"Cpu\\\":\\\"2048\\\",\\\"RequiresCompatibilities\\\":[\\\"FARGATE\\\"],\\\"NetworkMode\\\":\\\"awsvpc\\\",\\\"ExecutionRoleArn\\\":\\\"arn:aws:iam::060997615305:role/ecsTaskExecutionRole\\\",\\\"Volumes\\\":[],\\\"ContainerDefinitions\\\":[{\\\"MemoryReservation\\\":4096,\\\"Secrets\\\":[],\\\"ExtraHosts\\\":[],\\\"VolumesFrom\\\":[],\\\"Cpu\\\":2048,\\\"EntryPoint\\\":[],\\\"DnsServers\\\":[],\\\"Image\\\":\\\"060997615305.dkr.ecr.eu-west-1.amazonaws.com/transcriber:latest\\\",\\\"Essential\\\":true,\\\"LogConfiguration\\\":{\\\"SecretOptions\\\":[],\\\"Options\\\":{\\\"awslogs-group\\\":\\\"/ecs/transriber\\\",\\\"awslogs-region\\\":\\\"eu-west-1\\\",\\\"awslogs-stream-prefix\\\":\\\"ecs\\\"},\\\"LogDriver\\\":\\\"awslogs\\\"},\\\"ResourceRequirements\\\":[],\\\"EnvironmentFiles\\\":[],\\\"Name\\\":\\\"transcriber\\\",\\\"MountPoints\\\":[],\\\"DependsOn\\\":[],\\\"PortMappings\\\":[],\\\"DockerLabels\\\":{},\\\"DockerSecurityOptions\\\":[],\\\"SystemControls\\\":[],\\\"Command\\\":[],\\\"DnsSearchDomains\\\":[],\\\"Links\\\":[],\\\"Environment\\\":[{\\\"Value\\\":\\\"MediaAnalysisTasks\\\",\\\"Name\\\":\\\"TASKS_DYNAMO_DB_TABLE\\\"},{\\\"Value\\\":\\\"eu-west-1\\\",\\\"Name\\\":\\\"AWS_REGION\\\"},{\\\"Value\\\":\\\"https://d3qqomtyfn19a9.cloudfront.net/out/v1/41ac8697e2a24f55898b4d43e83849cd/index.m3u8\\\",\\\"Name\\\":\\\"MEDIA_URL\\\"},{\\\"Value\\\":\\\"MediaAnalysisTranscript\\\",\\\"Name\\\":\\\"TRANSCRIPTS_DYNAMO_DB_TABLE\\\"},{\\\"Value\\\":\\\"true\\\",\\\"Name\\\":\\\"PERSIST_LIFECYCLE_INFO\\\"}],\\\"Ulimits\\\":[]}],\\\"Family\\\":\\\"transriber\\\",\\\"Tags\\\":[],\\\"TaskDefinitionArn\\\":\\\"arn:aws:ecs:eu-west-1:060997615305:task-definition/transriber:3\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Regional","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:ecs:eu-west-1:060997615305:task-definition/transriber:3","resourceName":"transriber:3","resourceType":"AWS::ECS::TaskDefinition","resourceValue":null,"state":null,"tags":"[]","title":"transriber:3","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1604.5,"y":1676.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/cfn-certificate-provider-LambdaRole-MAV1F4ISWUHH","resourceId":["AROAQ4M55X3EU4TNL6VPN","arn:aws:iam::060997615305:role/cfn-certificate-provider-LambdaRole-MAV1F4ISWUHH"],"parent":"Role-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/cfn-certificate-provider-LambdaRole-MAV1F4ISWUHH","title":"cfn-certificate-provider-LambdaRole-MAV1F4ISWUHH","label":"cfn-certific...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/cfn-certificate-provider-LambdaRole-MAV1F4ISWUHH","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQ4M55X3EU4TNL6VPN","name":"cfn-certificate-provider-LambdaRole-MAV1F4ISWUHH","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::060997615305:role/cfn-certificate-provider-LambdaRole-MAV1F4ISWUHH","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/cfn-certificate-provider-LambdaRole-MAV1F4ISWUHH","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22lambda.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQ4M55X3EU4TNL6VPN\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"cfn-certificate-provider-LambdaRole-MAV1F4ISWUHH\\\",\\\"arn\\\":\\\"arn:aws:iam::060997615305:role/cfn-certificate-provider-LambdaRole-MAV1F4ISWUHH\\\",\\\"createDate\\\":\\\"2020-05-21T12:09:13.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22acm%3ARequestCertificate%22%2C%22acm%3ADescribeCertificate%22%2C%22acm%3AUpdateCertificateOptions%22%2C%22acm%3ADeleteCertificate%22%5D%2C%22Resource%22%3A%5B%22%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22lambda%3AInvokeFunction%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Alambda%3Aus-east-1%3A060997615305%3Afunction%3Abinxio-cfn-certificate-provider%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22logs%3A%2A%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Alogs%3A%2A%3A%2A%3A%2A%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"CFNCertificateDomainResourceRecordProvider\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQ4M55X3EU4TNL6VPN","resourceName":"cfn-certificate-provider-LambdaRole-MAV1F4ISWUHH","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"cfn-certificate-provider-LambdaRole-MAV1F4ISWUHH","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-1976.5,"y":2307.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/cfn-certificate-provider-LambdaRole-MAV1F4ISWUHH/inlinePolicy/CFNCertificateDomainResourceRecordProvider","resourceId":["arn:aws:iam::060997615305:role/cfn-certificate-provider-LambdaRole-MAV1F4ISWUHH/inlinePolicy/CFNCertificateDomainResourceRecordProvider","arn:aws:iam::060997615305:role/cfn-certificate-provider-LambdaRole-MAV1F4ISWUHH/inlinePolicy/CFNCertificateDomainResourceRecordProvider"],"parent":"InlinePolicy-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/cfn-certificate-provider-LambdaRole-MAV1F4ISWUHH/inlinePolicy/CFNCertificateDomainResourceRecordProvider","title":"arn:aws:iam::060997615305:role/cfn-certificate-provider-LambdaRole-MAV1F4ISWUHH/inlinePolicy/CFNCertificateDomainResourceRecordProvider","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/cfn-certificate-provider-LambdaRole-MAV1F4ISWUHH/inlinePolicy/CFNCertificateDomainResourceRecordProvider","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::060997615305:role/cfn-certificate-provider-LambdaRole-MAV1F4ISWUHH/inlinePolicy/CFNCertificateDomainResourceRecordProvider","name":"arn:aws:iam::060997615305:role/cfn-certificate-provider-LambdaRole-MAV1F4ISWUHH/inlinePolicy/CFNCertificateDomainResourceRecordProvider","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::060997615305:role/cfn-certificate-provider-LambdaRole-MAV1F4ISWUHH/inlinePolicy/CFNCertificateDomainResourceRecordProvider","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/cfn-certificate-provider-LambdaRole-MAV1F4ISWUHH/inlinePolicy/CFNCertificateDomainResourceRecordProvider","configuration":"\"{\\\"policyName\\\":\\\"CFNCertificateDomainResourceRecordProvider\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"acm:RequestCertificate\\\",\\\"acm:DescribeCertificate\\\",\\\"acm:UpdateCertificateOptions\\\",\\\"acm:DeleteCertificate\\\"],\\\"Resource\\\":[\\\"*\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"lambda:InvokeFunction\\\"],\\\"Resource\\\":[\\\"arn:aws:lambda:us-east-1:060997615305:function:binxio-cfn-certificate-provider\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"logs:*\\\"],\\\"Resource\\\":\\\"arn:aws:logs:*:*:*\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::060997615305:role/cfn-certificate-provider-LambdaRole-MAV1F4ISWUHH/inlinePolicy/CFNCertificateDomainResourceRecordProvider","resourceName":"arn:aws:iam::060997615305:role/cfn-certificate-provider-LambdaRole-MAV1F4ISWUHH/inlinePolicy/CFNCertificateDomainResourceRecordProvider","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::060997615305:role/cfn-certificate-provider-LambdaRole-MAV1F4ISWUHH/inlinePolicy/CFNCertificateDomainResourceRecordProvider","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1425.5,"y":2234.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/borg-test3-RegionListFunctionRole-YKE30VDHLZMM","resourceId":["AROAQ4M55X3ETQ3UHZLHL","arn:aws:iam::060997615305:role/borg-test3-RegionListFunctionRole-YKE30VDHLZMM"],"parent":"Role-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/borg-test3-RegionListFunctionRole-YKE30VDHLZMM","title":"borg-test3-RegionListFunctionRole-YKE30VDHLZMM","label":"borg-test3-R...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/borg-test3-RegionListFunctionRole-YKE30VDHLZMM","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQ4M55X3ETQ3UHZLHL","name":"borg-test3-RegionListFunctionRole-YKE30VDHLZMM","value":null,"type":"AWS::IAM::Role","tags":"[{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"}]","arn":"arn:aws:iam::060997615305:role/borg-test3-RegionListFunctionRole-YKE30VDHLZMM","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/borg-test3-RegionListFunctionRole-YKE30VDHLZMM","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22lambda.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQ4M55X3ETQ3UHZLHL\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole\\\",\\\"policyName\\\":\\\"AWSLambdaBasicExecutionRole\\\"}],\\\"roleName\\\":\\\"borg-test3-RegionListFunctionRole-YKE30VDHLZMM\\\",\\\"arn\\\":\\\"arn:aws:iam::060997615305:role/borg-test3-RegionListFunctionRole-YKE30VDHLZMM\\\",\\\"createDate\\\":\\\"2021-03-23T18:12:06.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22ec2%3ADescribeRegions%22%2C%22ec2%3ADescribeInstances%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"RegionListFunctionRolePolicy0\\\"}],\\\"tags\\\":[{\\\"value\\\":\\\"SAM\\\",\\\"key\\\":\\\"lambda:createdBy\\\"}]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQ4M55X3ETQ3UHZLHL","resourceName":"borg-test3-RegionListFunctionRole-YKE30VDHLZMM","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"}]","title":"borg-test3-RegionListFunctionRole-YKE30VDHLZMM","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-1903.5,"y":2307.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/borg-test3-RegionListFunctionRole-YKE30VDHLZMM/inlinePolicy/RegionListFunctionRolePolicy0","resourceId":["arn:aws:iam::060997615305:role/borg-test3-RegionListFunctionRole-YKE30VDHLZMM/inlinePolicy/RegionListFunctionRolePolicy0","arn:aws:iam::060997615305:role/borg-test3-RegionListFunctionRole-YKE30VDHLZMM/inlinePolicy/RegionListFunctionRolePolicy0"],"parent":"InlinePolicy-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/borg-test3-RegionListFunctionRole-YKE30VDHLZMM/inlinePolicy/RegionListFunctionRolePolicy0","title":"arn:aws:iam::060997615305:role/borg-test3-RegionListFunctionRole-YKE30VDHLZMM/inlinePolicy/RegionListFunctionRolePolicy0","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/borg-test3-RegionListFunctionRole-YKE30VDHLZMM/inlinePolicy/RegionListFunctionRolePolicy0","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::060997615305:role/borg-test3-RegionListFunctionRole-YKE30VDHLZMM/inlinePolicy/RegionListFunctionRolePolicy0","name":"arn:aws:iam::060997615305:role/borg-test3-RegionListFunctionRole-YKE30VDHLZMM/inlinePolicy/RegionListFunctionRolePolicy0","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::060997615305:role/borg-test3-RegionListFunctionRole-YKE30VDHLZMM/inlinePolicy/RegionListFunctionRolePolicy0","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/borg-test3-RegionListFunctionRole-YKE30VDHLZMM/inlinePolicy/RegionListFunctionRolePolicy0","configuration":"\"{\\\"policyName\\\":\\\"RegionListFunctionRolePolicy0\\\",\\\"policyDocument\\\":{\\\"Statement\\\":[{\\\"Action\\\":[\\\"ec2:DescribeRegions\\\",\\\"ec2:DescribeInstances\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::060997615305:role/borg-test3-RegionListFunctionRole-YKE30VDHLZMM/inlinePolicy/RegionListFunctionRolePolicy0","resourceName":"arn:aws:iam::060997615305:role/borg-test3-RegionListFunctionRole-YKE30VDHLZMM/inlinePolicy/RegionListFunctionRolePolicy0","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::060997615305:role/borg-test3-RegionListFunctionRole-YKE30VDHLZMM/inlinePolicy/RegionListFunctionRolePolicy0","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1352.5,"y":2234.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:lambda:eu-west-2:060997615305:function:borg-test3-RegionListFunction-534SX2NNBJX8","resourceId":["borg-test3-RegionListFunction-534SX2NNBJX8","arn:aws:lambda:eu-west-2:060997615305:function:borg-test3-RegionListFunction-534SX2NNBJX8"],"parent":"Function-eu-west-2-060997615305","level":3,"id":"arn:aws:lambda:eu-west-2:060997615305:function:borg-test3-RegionListFunction-534SX2NNBJX8","title":"borg-test3-RegionListFunction-534SX2NNBJX8","label":"borg-test3-R...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:lambda:eu-west-2:060997615305:function:borg-test3-RegionListFunction-534SX2NNBJX8","image":"/icons/AWS-Lambda-menu.svg","cost":0,"private":false,"resource":{"id":"borg-test3-RegionListFunction-534SX2NNBJX8","name":"borg-test3-RegionListFunction-534SX2NNBJX8","value":null,"type":"AWS::Lambda::Function","tags":"[{\"tag\":\"aws:cloudformation:stack-name=borg-test3\",\"value\":\"borg-test3\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-2:060997615305:stack/borg-test3/40464670-8c03-11eb-945d-0a2f01ff0402\",\"value\":\"arn:aws:cloudformation:eu-west-2:060997615305:stack/borg-test3/40464670-8c03-11eb-945d-0a2f01ff0402\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=RegionListFunction\",\"value\":\"RegionListFunction\",\"key\":\"aws:cloudformation:logical-id\"}]","arn":"arn:aws:lambda:eu-west-2:060997615305:function:borg-test3-RegionListFunction-534SX2NNBJX8","region":"eu-west-2","state":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/lambda/home?region=eu-west-2#/functions/borg-test3-RegionListFunction-534SX2NNBJX8?tab=graph","loginURL":"https://060997615305.signin.aws.amazon.com/console/lambda?region=eu-west-2#/functions/borg-test3-RegionListFunction-534SX2NNBJX8?tab=graph","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:lambda:eu-west-2:060997615305:function:borg-test3-RegionListFunction-534SX2NNBJX8","configuration":"\"{\\\"architectures\\\":[\\\"x86_64\\\"],\\\"ephemeralStorage\\\":{\\\"size\\\":512},\\\"handler\\\":\\\"index.handler\\\",\\\"role\\\":\\\"arn:aws:iam::060997615305:role/borg-test3-RegionListFunctionRole-YKE30VDHLZMM\\\",\\\"functionName\\\":\\\"borg-test3-RegionListFunction-534SX2NNBJX8\\\",\\\"tracingConfig\\\":{\\\"mode\\\":\\\"PassThrough\\\"},\\\"runtime\\\":\\\"python3.8\\\",\\\"description\\\":\\\"\\\",\\\"runtimeVersionConfig\\\":{\\\"runtimeVersionArn\\\":\\\"arn:aws:lambda:eu-west-2::runtime:04f6192b7b9a4ad9cb43dc886a5f54868659e182e648f96d6f631cc0cbff8a68\\\"},\\\"codeSize\\\":1231,\\\"version\\\":\\\"$LATEST\\\",\\\"packageType\\\":\\\"Zip\\\",\\\"timeout\\\":3,\\\"revisionId\\\":\\\"70d3658e-0c1c-43f9-9fba-803806bbe251\\\",\\\"codeSha256\\\":\\\"TFwJMm9n7iDP/4noXKZKzyYLYCl4wQT+fvsqvdsoBiQ=\\\",\\\"memorySize\\\":128,\\\"fileSystemConfigs\\\":[],\\\"lastUpdateStatus\\\":\\\"Successful\\\",\\\"layers\\\":[],\\\"snapStart\\\":{\\\"applyOn\\\":\\\"None\\\",\\\"optimizationStatus\\\":\\\"Off\\\"},\\\"lastModified\\\":\\\"2021-03-23T18:12:27.475+0000\\\",\\\"state\\\":{\\\"value\\\":\\\"Active\\\"},\\\"functionArn\\\":\\\"arn:aws:lambda:eu-west-2:060997615305:function:borg-test3-RegionListFunction-534SX2NNBJX8\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/lambda/home?region=eu-west-2#/functions/borg-test3-RegionListFunction-534SX2NNBJX8?tab=graph","loginURL":"https://060997615305.signin.aws.amazon.com/console/lambda?region=eu-west-2#/functions/borg-test3-RegionListFunction-534SX2NNBJX8?tab=graph","private":null,"resourceId":"borg-test3-RegionListFunction-534SX2NNBJX8","resourceName":"borg-test3-RegionListFunction-534SX2NNBJX8","resourceType":"AWS::Lambda::Function","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=borg-test3\",\"value\":\"borg-test3\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-2:060997615305:stack/borg-test3/40464670-8c03-11eb-945d-0a2f01ff0402\",\"value\":\"arn:aws:cloudformation:eu-west-2:060997615305:stack/borg-test3/40464670-8c03-11eb-945d-0a2f01ff0402\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=RegionListFunction\",\"value\":\"RegionListFunction\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"borg-test3-RegionListFunction-534SX2NNBJX8","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":389.5,"y":1217.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:cloudformation:eu-west-2:060997615305:stack/borg-test3/40464670-8c03-11eb-945d-0a2f01ff0402","resourceId":["arn:aws:cloudformation:eu-west-2:060997615305:stack/borg-test3/40464670-8c03-11eb-945d-0a2f01ff0402","arn:aws:cloudformation:eu-west-2:060997615305:stack/borg-test3/40464670-8c03-11eb-945d-0a2f01ff0402"],"parent":"Stack-eu-west-2-060997615305","level":3,"id":"arn:aws:cloudformation:eu-west-2:060997615305:stack/borg-test3/40464670-8c03-11eb-945d-0a2f01ff0402","title":"borg-test3","label":"borg-test3","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:cloudformation:eu-west-2:060997615305:stack/borg-test3/40464670-8c03-11eb-945d-0a2f01ff0402","image":"/icons/AWS-CloudFormation.svg","cost":0,"private":false,"resource":{"id":"arn:aws:cloudformation:eu-west-2:060997615305:stack/borg-test3/40464670-8c03-11eb-945d-0a2f01ff0402","name":"borg-test3","value":null,"type":"AWS::CloudFormation::Stack","tags":"[]","arn":"arn:aws:cloudformation:eu-west-2:060997615305:stack/borg-test3/40464670-8c03-11eb-945d-0a2f01ff0402","region":"eu-west-2","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:cloudformation:eu-west-2:060997615305:stack/borg-test3/40464670-8c03-11eb-945d-0a2f01ff0402","configuration":"\"{\\\"outputs\\\":[],\\\"capabilities\\\":[\\\"CAPABILITY_NAMED_IAM\\\",\\\"CAPABILITY_AUTO_EXPAND\\\"],\\\"creationTime\\\":\\\"2021-03-23T18:11:55Z\\\",\\\"notificationARNs\\\":[],\\\"stackId\\\":\\\"arn:aws:cloudformation:eu-west-2:060997615305:stack/borg-test3/40464670-8c03-11eb-945d-0a2f01ff0402\\\",\\\"stackName\\\":\\\"borg-test3\\\",\\\"description\\\":\\\"Deploy borg to all regions\\\",\\\"stackStatus\\\":\\\"UPDATE_COMPLETE\\\",\\\"disableRollback\\\":false,\\\"tags\\\":[],\\\"driftInformation\\\":{\\\"stackDriftStatus\\\":\\\"NOT_CHECKED\\\"},\\\"enableTerminationProtection\\\":false,\\\"lastUpdatedTime\\\":\\\"2021-03-23T18:21:56Z\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"Regional","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:cloudformation:eu-west-2:060997615305:stack/borg-test3/40464670-8c03-11eb-945d-0a2f01ff0402","resourceName":"borg-test3","resourceType":"AWS::CloudFormation::Stack","resourceValue":null,"state":null,"tags":"[]","title":"borg-test3","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":276.5,"y":1144.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/S3F2-APIStack-1UIVQ59W0AUUU-EnqueueDeletionsRole-1UAVIG4NMEW3J","resourceId":["AROAQ4M55X3EV7SLSE5TZ","arn:aws:iam::060997615305:role/S3F2-APIStack-1UIVQ59W0AUUU-EnqueueDeletionsRole-1UAVIG4NMEW3J"],"parent":"Role-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/S3F2-APIStack-1UIVQ59W0AUUU-EnqueueDeletionsRole-1UAVIG4NMEW3J","title":"S3F2-APIStack-1UIVQ59W0AUUU-EnqueueDeletionsRole-1UAVIG4NMEW3J","label":"S3F2-APIStac...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/S3F2-APIStack-1UIVQ59W0AUUU-EnqueueDeletionsRole-1UAVIG4NMEW3J","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQ4M55X3EV7SLSE5TZ","name":"S3F2-APIStack-1UIVQ59W0AUUU-EnqueueDeletionsRole-1UAVIG4NMEW3J","value":null,"type":"AWS::IAM::Role","tags":"[{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"}]","arn":"arn:aws:iam::060997615305:role/S3F2-APIStack-1UIVQ59W0AUUU-EnqueueDeletionsRole-1UAVIG4NMEW3J","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/S3F2-APIStack-1UIVQ59W0AUUU-EnqueueDeletionsRole-1UAVIG4NMEW3J","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22lambda.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQ4M55X3EV7SLSE5TZ\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole\\\",\\\"policyName\\\":\\\"AWSLambdaBasicExecutionRole\\\"}],\\\"roleName\\\":\\\"S3F2-APIStack-1UIVQ59W0AUUU-EnqueueDeletionsRole-1UAVIG4NMEW3J\\\",\\\"arn\\\":\\\"arn:aws:iam::060997615305:role/S3F2-APIStack-1UIVQ59W0AUUU-EnqueueDeletionsRole-1UAVIG4NMEW3J\\\",\\\"createDate\\\":\\\"2020-11-12T17:27:54.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22dynamodb%3AGetItem%22%2C%22dynamodb%3ADeleteItem%22%2C%22dynamodb%3APutItem%22%2C%22dynamodb%3AScan%22%2C%22dynamodb%3AQuery%22%2C%22dynamodb%3AUpdateItem%22%2C%22dynamodb%3ABatchWriteItem%22%2C%22dynamodb%3ABatchGetItem%22%2C%22dynamodb%3ADescribeTable%22%2C%22dynamodb%3AConditionCheckItem%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Adynamodb%3Aeu-west-2%3A060997615305%3Atable%2FS3F2-DDBStack-1XTUSUJ4JOMLW-DeletionQueueTableRetain-1FHQ5SHE64X52%22%2C%22arn%3Aaws%3Adynamodb%3Aeu-west-2%3A060997615305%3Atable%2FS3F2-DDBStack-1XTUSUJ4JOMLW-DeletionQueueTableRetain-1FHQ5SHE64X52%2Findex%2F%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"EnqueueDeletionsRolePolicy0\\\"}],\\\"tags\\\":[{\\\"value\\\":\\\"SAM\\\",\\\"key\\\":\\\"lambda:createdBy\\\"}]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQ4M55X3EV7SLSE5TZ","resourceName":"S3F2-APIStack-1UIVQ59W0AUUU-EnqueueDeletionsRole-1UAVIG4NMEW3J","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"}]","title":"S3F2-APIStack-1UIVQ59W0AUUU-EnqueueDeletionsRole-1UAVIG4NMEW3J","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-1830.5,"y":2307.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/S3F2-APIStack-1UIVQ59W0AUUU-EnqueueDeletionsRole-1UAVIG4NMEW3J/inlinePolicy/EnqueueDeletionsRolePolicy0","resourceId":["arn:aws:iam::060997615305:role/S3F2-APIStack-1UIVQ59W0AUUU-EnqueueDeletionsRole-1UAVIG4NMEW3J/inlinePolicy/EnqueueDeletionsRolePolicy0","arn:aws:iam::060997615305:role/S3F2-APIStack-1UIVQ59W0AUUU-EnqueueDeletionsRole-1UAVIG4NMEW3J/inlinePolicy/EnqueueDeletionsRolePolicy0"],"parent":"InlinePolicy-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/S3F2-APIStack-1UIVQ59W0AUUU-EnqueueDeletionsRole-1UAVIG4NMEW3J/inlinePolicy/EnqueueDeletionsRolePolicy0","title":"arn:aws:iam::060997615305:role/S3F2-APIStack-1UIVQ59W0AUUU-EnqueueDeletionsRole-1UAVIG4NMEW3J/inlinePolicy/EnqueueDeletionsRolePolicy0","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/S3F2-APIStack-1UIVQ59W0AUUU-EnqueueDeletionsRole-1UAVIG4NMEW3J/inlinePolicy/EnqueueDeletionsRolePolicy0","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::060997615305:role/S3F2-APIStack-1UIVQ59W0AUUU-EnqueueDeletionsRole-1UAVIG4NMEW3J/inlinePolicy/EnqueueDeletionsRolePolicy0","name":"arn:aws:iam::060997615305:role/S3F2-APIStack-1UIVQ59W0AUUU-EnqueueDeletionsRole-1UAVIG4NMEW3J/inlinePolicy/EnqueueDeletionsRolePolicy0","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::060997615305:role/S3F2-APIStack-1UIVQ59W0AUUU-EnqueueDeletionsRole-1UAVIG4NMEW3J/inlinePolicy/EnqueueDeletionsRolePolicy0","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/S3F2-APIStack-1UIVQ59W0AUUU-EnqueueDeletionsRole-1UAVIG4NMEW3J/inlinePolicy/EnqueueDeletionsRolePolicy0","configuration":"\"{\\\"policyName\\\":\\\"EnqueueDeletionsRolePolicy0\\\",\\\"policyDocument\\\":{\\\"Statement\\\":[{\\\"Action\\\":[\\\"dynamodb:GetItem\\\",\\\"dynamodb:DeleteItem\\\",\\\"dynamodb:PutItem\\\",\\\"dynamodb:Scan\\\",\\\"dynamodb:Query\\\",\\\"dynamodb:UpdateItem\\\",\\\"dynamodb:BatchWriteItem\\\",\\\"dynamodb:BatchGetItem\\\",\\\"dynamodb:DescribeTable\\\",\\\"dynamodb:ConditionCheckItem\\\"],\\\"Resource\\\":[\\\"arn:aws:dynamodb:eu-west-2:060997615305:table/S3F2-DDBStack-1XTUSUJ4JOMLW-DeletionQueueTableRetain-1FHQ5SHE64X52\\\",\\\"arn:aws:dynamodb:eu-west-2:060997615305:table/S3F2-DDBStack-1XTUSUJ4JOMLW-DeletionQueueTableRetain-1FHQ5SHE64X52/index/*\\\"],\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::060997615305:role/S3F2-APIStack-1UIVQ59W0AUUU-EnqueueDeletionsRole-1UAVIG4NMEW3J/inlinePolicy/EnqueueDeletionsRolePolicy0","resourceName":"arn:aws:iam::060997615305:role/S3F2-APIStack-1UIVQ59W0AUUU-EnqueueDeletionsRole-1UAVIG4NMEW3J/inlinePolicy/EnqueueDeletionsRolePolicy0","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::060997615305:role/S3F2-APIStack-1UIVQ59W0AUUU-EnqueueDeletionsRole-1UAVIG4NMEW3J/inlinePolicy/EnqueueDeletionsRolePolicy0","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1279.5,"y":1942.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:lambda:eu-west-2:060997615305:function:S3F2-APIStack-1UIVQ59W0AUUU-EnqueueDeletions-17L7V186675OS","resourceId":["S3F2-APIStack-1UIVQ59W0AUUU-EnqueueDeletions-17L7V186675OS","arn:aws:lambda:eu-west-2:060997615305:function:S3F2-APIStack-1UIVQ59W0AUUU-EnqueueDeletions-17L7V186675OS"],"parent":"Function-eu-west-2-060997615305","level":3,"id":"arn:aws:lambda:eu-west-2:060997615305:function:S3F2-APIStack-1UIVQ59W0AUUU-EnqueueDeletions-17L7V186675OS","title":"S3F2-APIStack-1UIVQ59W0AUUU-EnqueueDeletions-17L7V186675OS","label":"S3F2-APIStac...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:lambda:eu-west-2:060997615305:function:S3F2-APIStack-1UIVQ59W0AUUU-EnqueueDeletions-17L7V186675OS","image":"/icons/AWS-Lambda-menu.svg","cost":0,"private":false,"resource":{"id":"S3F2-APIStack-1UIVQ59W0AUUU-EnqueueDeletions-17L7V186675OS","name":"S3F2-APIStack-1UIVQ59W0AUUU-EnqueueDeletions-17L7V186675OS","value":null,"type":"AWS::Lambda::Function","tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2-APIStack-1UIVQ59W0AUUU\",\"value\":\"S3F2-APIStack-1UIVQ59W0AUUU\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2-APIStack-1UIVQ59W0AUUU/c880fa80-78ae-11ea-9aa7-021ebf3a767c\",\"value\":\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2-APIStack-1UIVQ59W0AUUU/c880fa80-78ae-11ea-9aa7-021ebf3a767c\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=EnqueueDeletions\",\"value\":\"EnqueueDeletions\",\"key\":\"aws:cloudformation:logical-id\"}]","arn":"arn:aws:lambda:eu-west-2:060997615305:function:S3F2-APIStack-1UIVQ59W0AUUU-EnqueueDeletions-17L7V186675OS","region":"eu-west-2","state":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/lambda/home?region=eu-west-2#/functions/S3F2-APIStack-1UIVQ59W0AUUU-EnqueueDeletions-17L7V186675OS?tab=graph","loginURL":"https://060997615305.signin.aws.amazon.com/console/lambda?region=eu-west-2#/functions/S3F2-APIStack-1UIVQ59W0AUUU-EnqueueDeletions-17L7V186675OS?tab=graph","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:lambda:eu-west-2:060997615305:function:S3F2-APIStack-1UIVQ59W0AUUU-EnqueueDeletions-17L7V186675OS","configuration":"\"{\\\"architectures\\\":[\\\"x86_64\\\"],\\\"ephemeralStorage\\\":{\\\"size\\\":512},\\\"handler\\\":\\\"handlers.enqueue_batch_handler\\\",\\\"role\\\":\\\"arn:aws:iam::060997615305:role/S3F2-APIStack-1UIVQ59W0AUUU-EnqueueDeletionsRole-1UAVIG4NMEW3J\\\",\\\"functionName\\\":\\\"S3F2-APIStack-1UIVQ59W0AUUU-EnqueueDeletions-17L7V186675OS\\\",\\\"tracingConfig\\\":{\\\"mode\\\":\\\"PassThrough\\\"},\\\"runtime\\\":\\\"python3.7\\\",\\\"description\\\":\\\"\\\",\\\"runtimeVersionConfig\\\":{\\\"runtimeVersionArn\\\":\\\"arn:aws:lambda:eu-west-2::runtime:404f127cf4d3b0d7368361968087bb9052f80c682e74e5e3cae6dc86d049242c\\\"},\\\"codeSize\\\":5632,\\\"version\\\":\\\"$LATEST\\\",\\\"packageType\\\":\\\"Zip\\\",\\\"timeout\\\":180,\\\"revisionId\\\":\\\"847d1271-12fd-4f65-863f-a48e7c87c11e\\\",\\\"codeSha256\\\":\\\"gc7PWPu4SukT1QG3AzHttzwbz3rtsAwh0fZc2ZmaZpc=\\\",\\\"memorySize\\\":128,\\\"fileSystemConfigs\\\":[],\\\"lastUpdateStatus\\\":\\\"Successful\\\",\\\"layers\\\":[{\\\"arn\\\":\\\"arn:aws:lambda:eu-west-2:060997615305:layer:AWSSDK:20\\\",\\\"codeSize\\\":8603512},{\\\"arn\\\":\\\"arn:aws:lambda:eu-west-2:060997615305:layer:Decorators:89\\\",\\\"codeSize\\\":1560296},{\\\"arn\\\":\\\"arn:aws:lambda:eu-west-2:060997615305:layer:BotoUtils:139\\\",\\\"codeSize\\\":7786}],\\\"snapStart\\\":{\\\"applyOn\\\":\\\"None\\\",\\\"optimizationStatus\\\":\\\"Off\\\"},\\\"lastModified\\\":\\\"2020-11-12T17:28:31.980+0000\\\",\\\"state\\\":{\\\"value\\\":\\\"Active\\\"},\\\"functionArn\\\":\\\"arn:aws:lambda:eu-west-2:060997615305:function:S3F2-APIStack-1UIVQ59W0AUUU-EnqueueDeletions-17L7V186675OS\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/lambda/home?region=eu-west-2#/functions/S3F2-APIStack-1UIVQ59W0AUUU-EnqueueDeletions-17L7V186675OS?tab=graph","loginURL":"https://060997615305.signin.aws.amazon.com/console/lambda?region=eu-west-2#/functions/S3F2-APIStack-1UIVQ59W0AUUU-EnqueueDeletions-17L7V186675OS?tab=graph","private":null,"resourceId":"S3F2-APIStack-1UIVQ59W0AUUU-EnqueueDeletions-17L7V186675OS","resourceName":"S3F2-APIStack-1UIVQ59W0AUUU-EnqueueDeletions-17L7V186675OS","resourceType":"AWS::Lambda::Function","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2-APIStack-1UIVQ59W0AUUU\",\"value\":\"S3F2-APIStack-1UIVQ59W0AUUU\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2-APIStack-1UIVQ59W0AUUU/c880fa80-78ae-11ea-9aa7-021ebf3a767c\",\"value\":\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2-APIStack-1UIVQ59W0AUUU/c880fa80-78ae-11ea-9aa7-021ebf3a767c\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=EnqueueDeletions\",\"value\":\"EnqueueDeletions\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"S3F2-APIStack-1UIVQ59W0AUUU-EnqueueDeletions-17L7V186675OS","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":462.5,"y":1217.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2-APIStack-1UIVQ59W0AUUU/c880fa80-78ae-11ea-9aa7-021ebf3a767c","resourceId":["arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2-APIStack-1UIVQ59W0AUUU/c880fa80-78ae-11ea-9aa7-021ebf3a767c","arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2-APIStack-1UIVQ59W0AUUU/c880fa80-78ae-11ea-9aa7-021ebf3a767c"],"parent":"Stack-eu-west-2-060997615305","level":3,"id":"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2-APIStack-1UIVQ59W0AUUU/c880fa80-78ae-11ea-9aa7-021ebf3a767c","title":"S3F2-APIStack-1UIVQ59W0AUUU","label":"S3F2-APIStac...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2-APIStack-1UIVQ59W0AUUU/c880fa80-78ae-11ea-9aa7-021ebf3a767c","image":"/icons/AWS-CloudFormation.svg","cost":0,"private":false,"resource":{"id":"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2-APIStack-1UIVQ59W0AUUU/c880fa80-78ae-11ea-9aa7-021ebf3a767c","name":"S3F2-APIStack-1UIVQ59W0AUUU","value":null,"type":"AWS::CloudFormation::Stack","tags":"[]","arn":"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2-APIStack-1UIVQ59W0AUUU/c880fa80-78ae-11ea-9aa7-021ebf3a767c","region":"eu-west-2","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2-APIStack-1UIVQ59W0AUUU/c880fa80-78ae-11ea-9aa7-021ebf3a767c","configuration":"\"{\\\"outputs\\\":[{\\\"outputKey\\\":\\\"ApiUrl\\\",\\\"outputValue\\\":\\\"https://glxxy767i7.execute-api.eu-west-2.amazonaws.com/Prod/\\\",\\\"description\\\":\\\"API endpoint URL for Prod environment\\\"},{\\\"outputKey\\\":\\\"AccessControlAllowOriginHeader\\\",\\\"outputValue\\\":\\\"*\\\",\\\"description\\\":\\\"Access-Control-Allow-Origin header sent from API endpoints\\\"},{\\\"outputKey\\\":\\\"PutDataMapperRole\\\",\\\"outputValue\\\":\\\"S3F2-APIStack-1UIVQ59W0AUUU-PutDataMapperRole-1HIP2HISQH7MN\\\",\\\"description\\\":\\\"Role used by the PutDataMapper API\\\"}],\\\"capabilities\\\":[\\\"CAPABILITY_IAM\\\",\\\"CAPABILITY_AUTO_EXPAND\\\"],\\\"creationTime\\\":\\\"2020-04-07T09:04:27Z\\\",\\\"notificationARNs\\\":[],\\\"stackId\\\":\\\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2-APIStack-1UIVQ59W0AUUU/c880fa80-78ae-11ea-9aa7-021ebf3a767c\\\",\\\"stackName\\\":\\\"S3F2-APIStack-1UIVQ59W0AUUU\\\",\\\"description\\\":\\\"Amazon S3 Find and Forget API\\\",\\\"stackStatus\\\":\\\"UPDATE_COMPLETE\\\",\\\"disableRollback\\\":true,\\\"parentId\\\":\\\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2/a3dc0710-78ae-11ea-91a4-06bdd06f2a66\\\",\\\"tags\\\":[],\\\"driftInformation\\\":{\\\"stackDriftStatus\\\":\\\"NOT_CHECKED\\\"},\\\"enableTerminationProtection\\\":false,\\\"lastUpdatedTime\\\":\\\"2020-11-12T18:24:56Z\\\",\\\"parameters\\\":[{\\\"parameterKey\\\":\\\"DeletionQueueTableName\\\",\\\"parameterValue\\\":\\\"S3F2-DDBStack-1XTUSUJ4JOMLW-DeletionQueueTableRetain-1FHQ5SHE64X52\\\"},{\\\"parameterKey\\\":\\\"ConfigParameter\\\",\\\"parameterValue\\\":\\\"/s3f2/S3F2-Configuration\\\"},{\\\"parameterKey\\\":\\\"CommonLayers\\\",\\\"parameterValue\\\":\\\"arn:aws:lambda:eu-west-2:060997615305:layer:AWSSDK:20,arn:aws:lambda:eu-west-2:060997615305:layer:Decorators:89,arn:aws:lambda:eu-west-2:060997615305:layer:BotoUtils:139\\\"},{\\\"parameterKey\\\":\\\"JobTableName\\\",\\\"parameterValue\\\":\\\"S3F2-DDBStack-1XTUSUJ4JOMLW-JobTableRetain-IOHZO19FEV4U\\\"},{\\\"parameterKey\\\":\\\"AccessControlAllowOriginOverride\\\",\\\"parameterValue\\\":\\\"*\\\"},{\\\"parameterKey\\\":\\\"WebUIOrigin\\\",\\\"parameterValue\\\":\\\"https://s3f2-webuistack-g7p51erory4a-webuibucket-178xy8o6mbtht.s3.eu-west-2.amazonaws.com\\\"},{\\\"parameterKey\\\":\\\"JobTableDateGSI\\\",\\\"parameterValue\\\":\\\"Date-GSI\\\"},{\\\"parameterKey\\\":\\\"CognitoUserPoolArn\\\",\\\"parameterValue\\\":\\\"arn:aws:cognito-idp:eu-west-2:060997615305:userpool/eu-west-2_8pbeFp28V\\\"},{\\\"parameterKey\\\":\\\"LogLevel\\\",\\\"parameterValue\\\":\\\"INFO\\\"},{\\\"parameterKey\\\":\\\"EnableAccessLogging\\\",\\\"parameterValue\\\":\\\"false\\\"},{\\\"parameterKey\\\":\\\"DataMapperTableName\\\",\\\"parameterValue\\\":\\\"S3F2-DDBStack-1XTUSUJ4JOMLW-DataMapperTableRetain-6KWP55RECD5X\\\"}]}\"","awsRegion":"eu-west-2","availabilityZone":"Regional","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2-APIStack-1UIVQ59W0AUUU/c880fa80-78ae-11ea-9aa7-021ebf3a767c","resourceName":"S3F2-APIStack-1UIVQ59W0AUUU","resourceType":"AWS::CloudFormation::Stack","resourceValue":null,"state":null,"tags":"[]","title":"S3F2-APIStack-1UIVQ59W0AUUU","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":276.5,"y":1217.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-CheckTaskCountRole-LETQMQ7AGI0Y","resourceId":["AROAQ4M55X3EVEY3HH33B","arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-CheckTaskCountRole-LETQMQ7AGI0Y"],"parent":"Role-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-CheckTaskCountRole-LETQMQ7AGI0Y","title":"S3F2POC-StateMachineStack-10BR7-CheckTaskCountRole-LETQMQ7AGI0Y","label":"S3F2POC-Stat...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-CheckTaskCountRole-LETQMQ7AGI0Y","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQ4M55X3EVEY3HH33B","name":"S3F2POC-StateMachineStack-10BR7-CheckTaskCountRole-LETQMQ7AGI0Y","value":null,"type":"AWS::IAM::Role","tags":"[{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"}]","arn":"arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-CheckTaskCountRole-LETQMQ7AGI0Y","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-CheckTaskCountRole-LETQMQ7AGI0Y","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22lambda.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQ4M55X3EVEY3HH33B\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/AWSXrayWriteOnlyAccess\\\",\\\"policyName\\\":\\\"AWSXrayWriteOnlyAccess\\\"},{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole\\\",\\\"policyName\\\":\\\"AWSLambdaBasicExecutionRole\\\"}],\\\"roleName\\\":\\\"S3F2POC-StateMachineStack-10BR7-CheckTaskCountRole-LETQMQ7AGI0Y\\\",\\\"arn\\\":\\\"arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-CheckTaskCountRole-LETQMQ7AGI0Y\\\",\\\"createDate\\\":\\\"2021-01-21T13:24:02.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22ecs%3ADescribeServices%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Aecs%3Aeu-west-1%3A060997615305%3Aservice%2FS3F2POC-DelStack-TC52BDMFNB7Q-ECSCluster-kZ8X2p7awLv6%2FS3F2POC-DelStack-TC52BDMFNB7Q-DeleteService-ngsbUHGOkaHg%22%5D%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"CheckTaskCountRolePolicy0\\\"}],\\\"tags\\\":[{\\\"value\\\":\\\"SAM\\\",\\\"key\\\":\\\"lambda:createdBy\\\"}]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQ4M55X3EVEY3HH33B","resourceName":"S3F2POC-StateMachineStack-10BR7-CheckTaskCountRole-LETQMQ7AGI0Y","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"}]","title":"S3F2POC-StateMachineStack-10BR7-CheckTaskCountRole-LETQMQ7AGI0Y","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-1757.5,"y":1942.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-CheckTaskCountRole-LETQMQ7AGI0Y/inlinePolicy/CheckTaskCountRolePolicy0","resourceId":["arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-CheckTaskCountRole-LETQMQ7AGI0Y/inlinePolicy/CheckTaskCountRolePolicy0","arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-CheckTaskCountRole-LETQMQ7AGI0Y/inlinePolicy/CheckTaskCountRolePolicy0"],"parent":"InlinePolicy-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-CheckTaskCountRole-LETQMQ7AGI0Y/inlinePolicy/CheckTaskCountRolePolicy0","title":"arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-CheckTaskCountRole-LETQMQ7AGI0Y/inlinePolicy/CheckTaskCountRolePolicy0","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-CheckTaskCountRole-LETQMQ7AGI0Y/inlinePolicy/CheckTaskCountRolePolicy0","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-CheckTaskCountRole-LETQMQ7AGI0Y/inlinePolicy/CheckTaskCountRolePolicy0","name":"arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-CheckTaskCountRole-LETQMQ7AGI0Y/inlinePolicy/CheckTaskCountRolePolicy0","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-CheckTaskCountRole-LETQMQ7AGI0Y/inlinePolicy/CheckTaskCountRolePolicy0","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-CheckTaskCountRole-LETQMQ7AGI0Y/inlinePolicy/CheckTaskCountRolePolicy0","configuration":"\"{\\\"policyName\\\":\\\"CheckTaskCountRolePolicy0\\\",\\\"policyDocument\\\":{\\\"Statement\\\":[{\\\"Action\\\":[\\\"ecs:DescribeServices\\\"],\\\"Resource\\\":[\\\"arn:aws:ecs:eu-west-1:060997615305:service/S3F2POC-DelStack-TC52BDMFNB7Q-ECSCluster-kZ8X2p7awLv6/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteService-ngsbUHGOkaHg\\\"],\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-CheckTaskCountRole-LETQMQ7AGI0Y/inlinePolicy/CheckTaskCountRolePolicy0","resourceName":"arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-CheckTaskCountRole-LETQMQ7AGI0Y/inlinePolicy/CheckTaskCountRolePolicy0","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-CheckTaskCountRole-LETQMQ7AGI0Y/inlinePolicy/CheckTaskCountRolePolicy0","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1279.5,"y":2015.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:lambda:eu-west-1:060997615305:function:S3F2POC-StateMachineStack-10BR76BS8-CheckTaskCount-111U1MDPCYRYQ","resourceId":["S3F2POC-StateMachineStack-10BR76BS8-CheckTaskCount-111U1MDPCYRYQ","arn:aws:lambda:eu-west-1:060997615305:function:S3F2POC-StateMachineStack-10BR76BS8-CheckTaskCount-111U1MDPCYRYQ"],"parent":"Function-eu-west-1-060997615305","level":3,"id":"arn:aws:lambda:eu-west-1:060997615305:function:S3F2POC-StateMachineStack-10BR76BS8-CheckTaskCount-111U1MDPCYRYQ","title":"S3F2POC-StateMachineStack-10BR76BS8-CheckTaskCount-111U1MDPCYRYQ","label":"S3F2POC-Stat...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:lambda:eu-west-1:060997615305:function:S3F2POC-StateMachineStack-10BR76BS8-CheckTaskCount-111U1MDPCYRYQ","image":"/icons/AWS-Lambda-menu.svg","cost":0,"private":false,"resource":{"id":"S3F2POC-StateMachineStack-10BR76BS8-CheckTaskCount-111U1MDPCYRYQ","name":"S3F2POC-StateMachineStack-10BR76BS8-CheckTaskCount-111U1MDPCYRYQ","value":null,"type":"AWS::Lambda::Function","tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2POC-StateMachineStack-10BR76BS8UYCK\",\"value\":\"S3F2POC-StateMachineStack-10BR76BS8UYCK\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-StateMachineStack-10BR76BS8UYCK/e50ba580-5beb-11eb-8ddc-0287c5a1bc83\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-StateMachineStack-10BR76BS8UYCK/e50ba580-5beb-11eb-8ddc-0287c5a1bc83\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=CheckTaskCount\",\"value\":\"CheckTaskCount\",\"key\":\"aws:cloudformation:logical-id\"}]","arn":"arn:aws:lambda:eu-west-1:060997615305:function:S3F2POC-StateMachineStack-10BR76BS8-CheckTaskCount-111U1MDPCYRYQ","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/lambda/home?region=eu-west-1#/functions/S3F2POC-StateMachineStack-10BR76BS8-CheckTaskCount-111U1MDPCYRYQ?tab=graph","loginURL":"https://060997615305.signin.aws.amazon.com/console/lambda?region=eu-west-1#/functions/S3F2POC-StateMachineStack-10BR76BS8-CheckTaskCount-111U1MDPCYRYQ?tab=graph","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:lambda:eu-west-1:060997615305:function:S3F2POC-StateMachineStack-10BR76BS8-CheckTaskCount-111U1MDPCYRYQ","configuration":"\"{\\\"architectures\\\":[\\\"x86_64\\\"],\\\"ephemeralStorage\\\":{\\\"size\\\":512},\\\"handler\\\":\\\"check_task_count.handler\\\",\\\"role\\\":\\\"arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-CheckTaskCountRole-LETQMQ7AGI0Y\\\",\\\"functionName\\\":\\\"S3F2POC-StateMachineStack-10BR76BS8-CheckTaskCount-111U1MDPCYRYQ\\\",\\\"tracingConfig\\\":{\\\"mode\\\":\\\"Active\\\"},\\\"runtime\\\":\\\"python3.7\\\",\\\"description\\\":\\\"\\\",\\\"runtimeVersionConfig\\\":{\\\"runtimeVersionArn\\\":\\\"arn:aws:lambda:eu-west-1::runtime:404f127cf4d3b0d7368361968087bb9052f80c682e74e5e3cae6dc86d049242c\\\"},\\\"codeSize\\\":24768,\\\"version\\\":\\\"$LATEST\\\",\\\"packageType\\\":\\\"Zip\\\",\\\"timeout\\\":900,\\\"revisionId\\\":\\\"32bfa74a-7e3f-431b-92a2-054f5ed04123\\\",\\\"codeSha256\\\":\\\"JX2MjUB/uzoClroU5F2hQohrv8C+V0ZQ2/Iuu9b3dzY=\\\",\\\"memorySize\\\":128,\\\"fileSystemConfigs\\\":[],\\\"lastUpdateStatus\\\":\\\"Successful\\\",\\\"layers\\\":[{\\\"arn\\\":\\\"arn:aws:lambda:eu-west-1:060997615305:layer:AWSSDK:4\\\",\\\"codeSize\\\":8692749},{\\\"arn\\\":\\\"arn:aws:lambda:eu-west-1:060997615305:layer:Decorators:4\\\",\\\"codeSize\\\":1598219},{\\\"arn\\\":\\\"arn:aws:lambda:eu-west-1:060997615305:layer:BotoUtils:4\\\",\\\"codeSize\\\":7788}],\\\"snapStart\\\":{\\\"applyOn\\\":\\\"None\\\",\\\"optimizationStatus\\\":\\\"Off\\\"},\\\"lastModified\\\":\\\"2021-01-21T13:24:23.587+0000\\\",\\\"state\\\":{\\\"value\\\":\\\"Active\\\"},\\\"functionArn\\\":\\\"arn:aws:lambda:eu-west-1:060997615305:function:S3F2POC-StateMachineStack-10BR76BS8-CheckTaskCount-111U1MDPCYRYQ\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/lambda/home?region=eu-west-1#/functions/S3F2POC-StateMachineStack-10BR76BS8-CheckTaskCount-111U1MDPCYRYQ?tab=graph","loginURL":"https://060997615305.signin.aws.amazon.com/console/lambda?region=eu-west-1#/functions/S3F2POC-StateMachineStack-10BR76BS8-CheckTaskCount-111U1MDPCYRYQ?tab=graph","private":null,"resourceId":"S3F2POC-StateMachineStack-10BR76BS8-CheckTaskCount-111U1MDPCYRYQ","resourceName":"S3F2POC-StateMachineStack-10BR76BS8-CheckTaskCount-111U1MDPCYRYQ","resourceType":"AWS::Lambda::Function","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2POC-StateMachineStack-10BR76BS8UYCK\",\"value\":\"S3F2POC-StateMachineStack-10BR76BS8UYCK\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-StateMachineStack-10BR76BS8UYCK/e50ba580-5beb-11eb-8ddc-0287c5a1bc83\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-StateMachineStack-10BR76BS8UYCK/e50ba580-5beb-11eb-8ddc-0287c5a1bc83\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=CheckTaskCount\",\"value\":\"CheckTaskCount\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"S3F2POC-StateMachineStack-10BR76BS8-CheckTaskCount-111U1MDPCYRYQ","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2195.5,"y":1749.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/service-role/CloudWatchSyntheticsRole-integ-canary-0f7-59052bd92353","resourceId":["AROAQ4M55X3EVMHFNKWF4","arn:aws:iam::060997615305:role/service-role/CloudWatchSyntheticsRole-integ-canary-0f7-59052bd92353"],"parent":"Role-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/service-role/CloudWatchSyntheticsRole-integ-canary-0f7-59052bd92353","title":"CloudWatchSyntheticsRole-integ-canary-0f7-59052bd92353","label":"CloudWatchSy...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/service-role/CloudWatchSyntheticsRole-integ-canary-0f7-59052bd92353","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQ4M55X3EVMHFNKWF4","name":"CloudWatchSyntheticsRole-integ-canary-0f7-59052bd92353","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::060997615305:role/service-role/CloudWatchSyntheticsRole-integ-canary-0f7-59052bd92353","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/service-role/CloudWatchSyntheticsRole-integ-canary-0f7-59052bd92353","configuration":"\"{\\\"path\\\":\\\"/service-role/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22lambda.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQ4M55X3EVMHFNKWF4\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::060997615305:policy/service-role/CloudWatchSyntheticsPolicy-integ-canary-0f7-59052bd92353\\\",\\\"policyName\\\":\\\"CloudWatchSyntheticsPolicy-integ-canary-0f7-59052bd92353\\\"}],\\\"roleName\\\":\\\"CloudWatchSyntheticsRole-integ-canary-0f7-59052bd92353\\\",\\\"arn\\\":\\\"arn:aws:iam::060997615305:role/service-role/CloudWatchSyntheticsRole-integ-canary-0f7-59052bd92353\\\",\\\"createDate\\\":\\\"2020-09-22T14:08:47.000Z\\\",\\\"rolePolicyList\\\":[],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQ4M55X3EVMHFNKWF4","resourceName":"CloudWatchSyntheticsRole-integ-canary-0f7-59052bd92353","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"CloudWatchSyntheticsRole-integ-canary-0f7-59052bd92353","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-1757.5,"y":2015.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:policy/service-role/CloudWatchSyntheticsPolicy-integ-canary-0f7-59052bd92353","resourceId":["ANPAQ4M55X3EWALHAQXB4","arn:aws:iam::060997615305:policy/service-role/CloudWatchSyntheticsPolicy-integ-canary-0f7-59052bd92353"],"parent":"Policy-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:policy/service-role/CloudWatchSyntheticsPolicy-integ-canary-0f7-59052bd92353","title":"CloudWatchSyntheticsPolicy-integ-canary-0f7-59052bd92353","label":"CloudWatchSy...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:policy/service-role/CloudWatchSyntheticsPolicy-integ-canary-0f7-59052bd92353","image":"/icons/IAM_Policy.svg","cost":0,"private":false,"resource":{"id":"ANPAQ4M55X3EWALHAQXB4","name":"CloudWatchSyntheticsPolicy-integ-canary-0f7-59052bd92353","value":null,"type":"AWS::IAM::Policy","tags":"[]","arn":"arn:aws:iam::060997615305:policy/service-role/CloudWatchSyntheticsPolicy-integ-canary-0f7-59052bd92353","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/policies","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/policies","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:policy/service-role/CloudWatchSyntheticsPolicy-integ-canary-0f7-59052bd92353","configuration":"\"{\\\"permissionsBoundaryUsageCount\\\":0,\\\"policyVersionList\\\":[{\\\"versionId\\\":\\\"v1\\\",\\\"isDefaultVersion\\\":true,\\\"document\\\":\\\"%7B%0A%20%20%20%20%22Version%22%3A%20%222012-10-17%22%2C%0A%20%20%20%20%22Statement%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Effect%22%3A%20%22Allow%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Action%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22s3%3APutObject%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22s3%3AGetBucketLocation%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Resource%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22arn%3Aaws%3As3%3A%3A%3Acw-syn-results-060997615305-us-east-1%2Fcanary%2Finteg-canary-0f7-59052bd92353%2F%2A%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Effect%22%3A%20%22Allow%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Action%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22logs%3ACreateLogStream%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22logs%3APutLogEvents%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22logs%3ACreateLogGroup%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Resource%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22arn%3Aaws%3Alogs%3Aus-east-1%3A060997615305%3Alog-group%3A%2Faws%2Flambda%2Fcwsyn-integ-canary-%2A%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Effect%22%3A%20%22Allow%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Action%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22s3%3AListAllMyBuckets%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22xray%3APutTraceSegments%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Resource%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22%2A%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Effect%22%3A%20%22Allow%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Resource%22%3A%20%22%2A%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Action%22%3A%20%22cloudwatch%3APutMetricData%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Condition%22%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22StringEquals%22%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22cloudwatch%3Anamespace%22%3A%20%22CloudWatchSynthetics%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%5D%0A%7D\\\",\\\"createDate\\\":\\\"2020-09-22T14:08:47.000Z\\\"}],\\\"path\\\":\\\"/service-role/\\\",\\\"updateDate\\\":\\\"2020-09-22T14:08:47.000Z\\\",\\\"policyId\\\":\\\"ANPAQ4M55X3EWALHAQXB4\\\",\\\"defaultVersionId\\\":\\\"v1\\\",\\\"policyName\\\":\\\"CloudWatchSyntheticsPolicy-integ-canary-0f7-59052bd92353\\\",\\\"isAttachable\\\":true,\\\"attachmentCount\\\":1,\\\"arn\\\":\\\"arn:aws:iam::060997615305:policy/service-role/CloudWatchSyntheticsPolicy-integ-canary-0f7-59052bd92353\\\",\\\"createDate\\\":\\\"2020-09-22T14:08:47.000Z\\\"}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/policies","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/policies","private":null,"resourceId":"ANPAQ4M55X3EWALHAQXB4","resourceName":"CloudWatchSyntheticsPolicy-integ-canary-0f7-59052bd92353","resourceType":"AWS::IAM::Policy","resourceValue":null,"state":null,"tags":"[]","title":"CloudWatchSyntheticsPolicy-integ-canary-0f7-59052bd92353","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1644.5,"y":2583.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/MediaAnalysis-ApiGatewayCloudWatchRole-1Q9F0HKFR48LV","resourceId":["AROAQ4M55X3EW32VTEBQR","arn:aws:iam::060997615305:role/MediaAnalysis-ApiGatewayCloudWatchRole-1Q9F0HKFR48LV"],"parent":"Role-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/MediaAnalysis-ApiGatewayCloudWatchRole-1Q9F0HKFR48LV","title":"MediaAnalysis-ApiGatewayCloudWatchRole-1Q9F0HKFR48LV","label":"MediaAnalysi...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/MediaAnalysis-ApiGatewayCloudWatchRole-1Q9F0HKFR48LV","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQ4M55X3EW32VTEBQR","name":"MediaAnalysis-ApiGatewayCloudWatchRole-1Q9F0HKFR48LV","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::060997615305:role/MediaAnalysis-ApiGatewayCloudWatchRole-1Q9F0HKFR48LV","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/MediaAnalysis-ApiGatewayCloudWatchRole-1Q9F0HKFR48LV","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222008-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22apigateway.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQ4M55X3EW32VTEBQR\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/service-role/AmazonAPIGatewayPushToCloudWatchLogs\\\",\\\"policyName\\\":\\\"AmazonAPIGatewayPushToCloudWatchLogs\\\"}],\\\"roleName\\\":\\\"MediaAnalysis-ApiGatewayCloudWatchRole-1Q9F0HKFR48LV\\\",\\\"arn\\\":\\\"arn:aws:iam::060997615305:role/MediaAnalysis-ApiGatewayCloudWatchRole-1Q9F0HKFR48LV\\\",\\\"createDate\\\":\\\"2019-09-26T15:05:45.000Z\\\",\\\"rolePolicyList\\\":[],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQ4M55X3EW32VTEBQR","resourceName":"MediaAnalysis-ApiGatewayCloudWatchRole-1Q9F0HKFR48LV","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"MediaAnalysis-ApiGatewayCloudWatchRole-1Q9F0HKFR48LV","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-1757.5,"y":2088.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/S3F2-DeployStack-K0N17ZHR-CleanupBucketFunctionRol-1WNB7O27FK4RA","resourceId":["AROAQ4M55X3EZ5WAF5C3U","arn:aws:iam::060997615305:role/S3F2-DeployStack-K0N17ZHR-CleanupBucketFunctionRol-1WNB7O27FK4RA"],"parent":"Role-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/S3F2-DeployStack-K0N17ZHR-CleanupBucketFunctionRol-1WNB7O27FK4RA","title":"S3F2-DeployStack-K0N17ZHR-CleanupBucketFunctionRol-1WNB7O27FK4RA","label":"S3F2-DeployS...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/S3F2-DeployStack-K0N17ZHR-CleanupBucketFunctionRol-1WNB7O27FK4RA","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQ4M55X3EZ5WAF5C3U","name":"S3F2-DeployStack-K0N17ZHR-CleanupBucketFunctionRol-1WNB7O27FK4RA","value":null,"type":"AWS::IAM::Role","tags":"[{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"}]","arn":"arn:aws:iam::060997615305:role/S3F2-DeployStack-K0N17ZHR-CleanupBucketFunctionRol-1WNB7O27FK4RA","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/S3F2-DeployStack-K0N17ZHR-CleanupBucketFunctionRol-1WNB7O27FK4RA","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22lambda.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQ4M55X3EZ5WAF5C3U\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole\\\",\\\"policyName\\\":\\\"AWSLambdaBasicExecutionRole\\\"}],\\\"roleName\\\":\\\"S3F2-DeployStack-K0N17ZHR-CleanupBucketFunctionRol-1WNB7O27FK4RA\\\",\\\"arn\\\":\\\"arn:aws:iam::060997615305:role/S3F2-DeployStack-K0N17ZHR-CleanupBucketFunctionRol-1WNB7O27FK4RA\\\",\\\"createDate\\\":\\\"2020-04-07T09:07:42.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22s3%3ADeleteObject%2A%22%2C%22s3%3AGetBucketVersioning%22%2C%22s3%3AListBucket%2A%22%2C%22s3%3AListObject%2A%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3As3%3A%3A%3As3f2-tempbucket-11k6x2zprcq2v%22%2C%22arn%3Aaws%3As3%3A%3A%3As3f2-tempbucket-11k6x2zprcq2v%2F%2A%22%2C%22arn%3Aaws%3As3%3A%3A%3As3f2-webuistack-g7p51erory4a-webuibucket-178xy8o6mbtht%22%2C%22arn%3Aaws%3As3%3A%3A%3As3f2-webuistack-g7p51erory4a-webuibucket-178xy8o6mbtht%2F%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"CleanupBucketFunctionRolePolicy0\\\"}],\\\"tags\\\":[{\\\"value\\\":\\\"SAM\\\",\\\"key\\\":\\\"lambda:createdBy\\\"}]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQ4M55X3EZ5WAF5C3U","resourceName":"S3F2-DeployStack-K0N17ZHR-CleanupBucketFunctionRol-1WNB7O27FK4RA","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"}]","title":"S3F2-DeployStack-K0N17ZHR-CleanupBucketFunctionRol-1WNB7O27FK4RA","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-1757.5,"y":2161.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/S3F2-DeployStack-K0N17ZHR-CleanupBucketFunctionRol-1WNB7O27FK4RA/inlinePolicy/CleanupBucketFunctionRolePolicy0","resourceId":["arn:aws:iam::060997615305:role/S3F2-DeployStack-K0N17ZHR-CleanupBucketFunctionRol-1WNB7O27FK4RA/inlinePolicy/CleanupBucketFunctionRolePolicy0","arn:aws:iam::060997615305:role/S3F2-DeployStack-K0N17ZHR-CleanupBucketFunctionRol-1WNB7O27FK4RA/inlinePolicy/CleanupBucketFunctionRolePolicy0"],"parent":"InlinePolicy-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/S3F2-DeployStack-K0N17ZHR-CleanupBucketFunctionRol-1WNB7O27FK4RA/inlinePolicy/CleanupBucketFunctionRolePolicy0","title":"arn:aws:iam::060997615305:role/S3F2-DeployStack-K0N17ZHR-CleanupBucketFunctionRol-1WNB7O27FK4RA/inlinePolicy/CleanupBucketFunctionRolePolicy0","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/S3F2-DeployStack-K0N17ZHR-CleanupBucketFunctionRol-1WNB7O27FK4RA/inlinePolicy/CleanupBucketFunctionRolePolicy0","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::060997615305:role/S3F2-DeployStack-K0N17ZHR-CleanupBucketFunctionRol-1WNB7O27FK4RA/inlinePolicy/CleanupBucketFunctionRolePolicy0","name":"arn:aws:iam::060997615305:role/S3F2-DeployStack-K0N17ZHR-CleanupBucketFunctionRol-1WNB7O27FK4RA/inlinePolicy/CleanupBucketFunctionRolePolicy0","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::060997615305:role/S3F2-DeployStack-K0N17ZHR-CleanupBucketFunctionRol-1WNB7O27FK4RA/inlinePolicy/CleanupBucketFunctionRolePolicy0","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/S3F2-DeployStack-K0N17ZHR-CleanupBucketFunctionRol-1WNB7O27FK4RA/inlinePolicy/CleanupBucketFunctionRolePolicy0","configuration":"\"{\\\"policyName\\\":\\\"CleanupBucketFunctionRolePolicy0\\\",\\\"policyDocument\\\":{\\\"Statement\\\":[{\\\"Action\\\":[\\\"s3:DeleteObject*\\\",\\\"s3:GetBucketVersioning\\\",\\\"s3:ListBucket*\\\",\\\"s3:ListObject*\\\"],\\\"Resource\\\":[\\\"arn:aws:s3:::s3f2-tempbucket-11k6x2zprcq2v\\\",\\\"arn:aws:s3:::s3f2-tempbucket-11k6x2zprcq2v/*\\\",\\\"arn:aws:s3:::s3f2-webuistack-g7p51erory4a-webuibucket-178xy8o6mbtht\\\",\\\"arn:aws:s3:::s3f2-webuistack-g7p51erory4a-webuibucket-178xy8o6mbtht/*\\\"],\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::060997615305:role/S3F2-DeployStack-K0N17ZHR-CleanupBucketFunctionRol-1WNB7O27FK4RA/inlinePolicy/CleanupBucketFunctionRolePolicy0","resourceName":"arn:aws:iam::060997615305:role/S3F2-DeployStack-K0N17ZHR-CleanupBucketFunctionRol-1WNB7O27FK4RA/inlinePolicy/CleanupBucketFunctionRolePolicy0","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::060997615305:role/S3F2-DeployStack-K0N17ZHR-CleanupBucketFunctionRol-1WNB7O27FK4RA/inlinePolicy/CleanupBucketFunctionRolePolicy0","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1279.5,"y":2088.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:lambda:eu-west-2:060997615305:function:S3F2-DeployStack-K0N17ZHR741-CleanupBucketFunction-1WBQTOB4OJP9F","resourceId":["S3F2-DeployStack-K0N17ZHR741-CleanupBucketFunction-1WBQTOB4OJP9F","arn:aws:lambda:eu-west-2:060997615305:function:S3F2-DeployStack-K0N17ZHR741-CleanupBucketFunction-1WBQTOB4OJP9F"],"parent":"Function-eu-west-2-060997615305","level":3,"id":"arn:aws:lambda:eu-west-2:060997615305:function:S3F2-DeployStack-K0N17ZHR741-CleanupBucketFunction-1WBQTOB4OJP9F","title":"S3F2-DeployStack-K0N17ZHR741-CleanupBucketFunction-1WBQTOB4OJP9F","label":"S3F2-DeployS...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:lambda:eu-west-2:060997615305:function:S3F2-DeployStack-K0N17ZHR741-CleanupBucketFunction-1WBQTOB4OJP9F","image":"/icons/AWS-Lambda-menu.svg","cost":0,"private":false,"resource":{"id":"S3F2-DeployStack-K0N17ZHR741-CleanupBucketFunction-1WBQTOB4OJP9F","name":"S3F2-DeployStack-K0N17ZHR741-CleanupBucketFunction-1WBQTOB4OJP9F","value":null,"type":"AWS::Lambda::Function","tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2-DeployStack-K0N17ZHR741I\",\"value\":\"S3F2-DeployStack-K0N17ZHR741I\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2-DeployStack-K0N17ZHR741I/38c1db20-78af-11ea-8e11-0aad4e0395e8\",\"value\":\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2-DeployStack-K0N17ZHR741I/38c1db20-78af-11ea-8e11-0aad4e0395e8\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=CleanupBucketFunction\",\"value\":\"CleanupBucketFunction\",\"key\":\"aws:cloudformation:logical-id\"}]","arn":"arn:aws:lambda:eu-west-2:060997615305:function:S3F2-DeployStack-K0N17ZHR741-CleanupBucketFunction-1WBQTOB4OJP9F","region":"eu-west-2","state":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/lambda/home?region=eu-west-2#/functions/S3F2-DeployStack-K0N17ZHR741-CleanupBucketFunction-1WBQTOB4OJP9F?tab=graph","loginURL":"https://060997615305.signin.aws.amazon.com/console/lambda?region=eu-west-2#/functions/S3F2-DeployStack-K0N17ZHR741-CleanupBucketFunction-1WBQTOB4OJP9F?tab=graph","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:lambda:eu-west-2:060997615305:function:S3F2-DeployStack-K0N17ZHR741-CleanupBucketFunction-1WBQTOB4OJP9F","configuration":"\"{\\\"architectures\\\":[\\\"x86_64\\\"],\\\"ephemeralStorage\\\":{\\\"size\\\":512},\\\"handler\\\":\\\"cleanup_bucket.handler\\\",\\\"role\\\":\\\"arn:aws:iam::060997615305:role/S3F2-DeployStack-K0N17ZHR-CleanupBucketFunctionRol-1WNB7O27FK4RA\\\",\\\"functionName\\\":\\\"S3F2-DeployStack-K0N17ZHR741-CleanupBucketFunction-1WBQTOB4OJP9F\\\",\\\"tracingConfig\\\":{\\\"mode\\\":\\\"PassThrough\\\"},\\\"runtime\\\":\\\"python3.7\\\",\\\"description\\\":\\\"Custom Lambda resource for the Amazon S3 Find and Forget Cloudformation Stack\\\",\\\"runtimeVersionConfig\\\":{\\\"runtimeVersionArn\\\":\\\"arn:aws:lambda:eu-west-2::runtime:404f127cf4d3b0d7368361968087bb9052f80c682e74e5e3cae6dc86d049242c\\\"},\\\"codeSize\\\":6928,\\\"version\\\":\\\"$LATEST\\\",\\\"packageType\\\":\\\"Zip\\\",\\\"timeout\\\":900,\\\"revisionId\\\":\\\"a017a711-a584-4b90-b4f2-28f734eb20b4\\\",\\\"codeSha256\\\":\\\"gFxNL6d5guU7nApW0jFyEvQG7wQFyMsUtsbDVDQh0n0=\\\",\\\"memorySize\\\":128,\\\"fileSystemConfigs\\\":[],\\\"vpcConfig\\\":{\\\"securityGroupIds\\\":[],\\\"subnetIds\\\":[]},\\\"lastUpdateStatus\\\":\\\"Successful\\\",\\\"layers\\\":[{\\\"arn\\\":\\\"arn:aws:lambda:eu-west-2:060997615305:layer:AWSSDK:20\\\",\\\"codeSize\\\":8603512},{\\\"arn\\\":\\\"arn:aws:lambda:eu-west-2:060997615305:layer:BotoUtils:139\\\",\\\"codeSize\\\":7786},{\\\"arn\\\":\\\"arn:aws:lambda:eu-west-2:060997615305:layer:CustomResourceHelper:21\\\",\\\"codeSize\\\":974304},{\\\"arn\\\":\\\"arn:aws:lambda:eu-west-2:060997615305:layer:Decorators:89\\\",\\\"codeSize\\\":1560296}],\\\"snapStart\\\":{\\\"applyOn\\\":\\\"None\\\",\\\"optimizationStatus\\\":\\\"Off\\\"},\\\"lastModified\\\":\\\"2020-11-12T17:29:15.832+0000\\\",\\\"state\\\":{\\\"value\\\":\\\"Active\\\"},\\\"functionArn\\\":\\\"arn:aws:lambda:eu-west-2:060997615305:function:S3F2-DeployStack-K0N17ZHR741-CleanupBucketFunction-1WBQTOB4OJP9F\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/lambda/home?region=eu-west-2#/functions/S3F2-DeployStack-K0N17ZHR741-CleanupBucketFunction-1WBQTOB4OJP9F?tab=graph","loginURL":"https://060997615305.signin.aws.amazon.com/console/lambda?region=eu-west-2#/functions/S3F2-DeployStack-K0N17ZHR741-CleanupBucketFunction-1WBQTOB4OJP9F?tab=graph","private":null,"resourceId":"S3F2-DeployStack-K0N17ZHR741-CleanupBucketFunction-1WBQTOB4OJP9F","resourceName":"S3F2-DeployStack-K0N17ZHR741-CleanupBucketFunction-1WBQTOB4OJP9F","resourceType":"AWS::Lambda::Function","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2-DeployStack-K0N17ZHR741I\",\"value\":\"S3F2-DeployStack-K0N17ZHR741I\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2-DeployStack-K0N17ZHR741I/38c1db20-78af-11ea-8e11-0aad4e0395e8\",\"value\":\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2-DeployStack-K0N17ZHR741I/38c1db20-78af-11ea-8e11-0aad4e0395e8\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=CleanupBucketFunction\",\"value\":\"CleanupBucketFunction\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"S3F2-DeployStack-K0N17ZHR741-CleanupBucketFunction-1WBQTOB4OJP9F","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":535.5,"y":1144.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/PPE-DEMO-LambdaSetupRole-1K199ATXMC805","resourceId":["AROAQ4M55X3EZECHUHZCS","arn:aws:iam::060997615305:role/PPE-DEMO-LambdaSetupRole-1K199ATXMC805"],"parent":"Role-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/PPE-DEMO-LambdaSetupRole-1K199ATXMC805","title":"PPE-DEMO-LambdaSetupRole-1K199ATXMC805","label":"PPE-DEMO-Lam...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/PPE-DEMO-LambdaSetupRole-1K199ATXMC805","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQ4M55X3EZECHUHZCS","name":"PPE-DEMO-LambdaSetupRole-1K199ATXMC805","value":null,"type":"AWS::IAM::Role","tags":"[{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"}]","arn":"arn:aws:iam::060997615305:role/PPE-DEMO-LambdaSetupRole-1K199ATXMC805","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/PPE-DEMO-LambdaSetupRole-1K199ATXMC805","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22lambda.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQ4M55X3EZECHUHZCS\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole\\\",\\\"policyName\\\":\\\"AWSLambdaBasicExecutionRole\\\"}],\\\"roleName\\\":\\\"PPE-DEMO-LambdaSetupRole-1K199ATXMC805\\\",\\\"arn\\\":\\\"arn:aws:iam::060997615305:role/PPE-DEMO-LambdaSetupRole-1K199ATXMC805\\\",\\\"createDate\\\":\\\"2020-06-29T14:29:37.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22s3%3APutObject%22%2C%22s3%3APutObjectAcl%22%2C%22s3%3ADeleteObject%22%2C%22s3%3AListBucket%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3As3%3A%3A%3Appe-demo-webuibucket-d87c8rhgeqf7%22%2C%22arn%3Aaws%3As3%3A%3A%3Appe-demo-webuibucket-d87c8rhgeqf7%2F%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%22s3%3AGetObject%22%2C%22Resource%22%3A%22arn%3Aaws%3As3%3A%3A%3Asolution-builders-us-east-1%2F%2A%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"LambdaSetupRolePolicy0\\\"}],\\\"tags\\\":[{\\\"value\\\":\\\"SAM\\\",\\\"key\\\":\\\"lambda:createdBy\\\"}]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQ4M55X3EZECHUHZCS","resourceName":"PPE-DEMO-LambdaSetupRole-1K199ATXMC805","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"}]","title":"PPE-DEMO-LambdaSetupRole-1K199ATXMC805","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-1757.5,"y":2234.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/PPE-DEMO-LambdaSetupRole-1K199ATXMC805/inlinePolicy/LambdaSetupRolePolicy0","resourceId":["arn:aws:iam::060997615305:role/PPE-DEMO-LambdaSetupRole-1K199ATXMC805/inlinePolicy/LambdaSetupRolePolicy0","arn:aws:iam::060997615305:role/PPE-DEMO-LambdaSetupRole-1K199ATXMC805/inlinePolicy/LambdaSetupRolePolicy0"],"parent":"InlinePolicy-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/PPE-DEMO-LambdaSetupRole-1K199ATXMC805/inlinePolicy/LambdaSetupRolePolicy0","title":"arn:aws:iam::060997615305:role/PPE-DEMO-LambdaSetupRole-1K199ATXMC805/inlinePolicy/LambdaSetupRolePolicy0","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/PPE-DEMO-LambdaSetupRole-1K199ATXMC805/inlinePolicy/LambdaSetupRolePolicy0","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::060997615305:role/PPE-DEMO-LambdaSetupRole-1K199ATXMC805/inlinePolicy/LambdaSetupRolePolicy0","name":"arn:aws:iam::060997615305:role/PPE-DEMO-LambdaSetupRole-1K199ATXMC805/inlinePolicy/LambdaSetupRolePolicy0","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::060997615305:role/PPE-DEMO-LambdaSetupRole-1K199ATXMC805/inlinePolicy/LambdaSetupRolePolicy0","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/PPE-DEMO-LambdaSetupRole-1K199ATXMC805/inlinePolicy/LambdaSetupRolePolicy0","configuration":"\"{\\\"policyName\\\":\\\"LambdaSetupRolePolicy0\\\",\\\"policyDocument\\\":{\\\"Statement\\\":[{\\\"Action\\\":[\\\"s3:PutObject\\\",\\\"s3:PutObjectAcl\\\",\\\"s3:DeleteObject\\\",\\\"s3:ListBucket\\\"],\\\"Resource\\\":[\\\"arn:aws:s3:::ppe-demo-webuibucket-d87c8rhgeqf7\\\",\\\"arn:aws:s3:::ppe-demo-webuibucket-d87c8rhgeqf7/*\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":\\\"s3:GetObject\\\",\\\"Resource\\\":\\\"arn:aws:s3:::solution-builders-us-east-1/*\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::060997615305:role/PPE-DEMO-LambdaSetupRole-1K199ATXMC805/inlinePolicy/LambdaSetupRolePolicy0","resourceName":"arn:aws:iam::060997615305:role/PPE-DEMO-LambdaSetupRole-1K199ATXMC805/inlinePolicy/LambdaSetupRolePolicy0","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::060997615305:role/PPE-DEMO-LambdaSetupRole-1K199ATXMC805/inlinePolicy/LambdaSetupRolePolicy0","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1279.5,"y":2161.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteTaskRole-ZNGCL9G3LA1A","resourceId":["AROAQ4M55X3EVZQYR2DMQ","arn:aws:iam::060997615305:role/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteTaskRole-ZNGCL9G3LA1A"],"parent":"Role-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteTaskRole-ZNGCL9G3LA1A","title":"S3F2POC-DelStack-TC52BDMFNB7Q-DeleteTaskRole-ZNGCL9G3LA1A","label":"S3F2POC-DelS...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteTaskRole-ZNGCL9G3LA1A","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQ4M55X3EVZQYR2DMQ","name":"S3F2POC-DelStack-TC52BDMFNB7Q-DeleteTaskRole-ZNGCL9G3LA1A","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::060997615305:role/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteTaskRole-ZNGCL9G3LA1A","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteTaskRole-ZNGCL9G3LA1A","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222008-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22ecs-tasks.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQ4M55X3EVZQYR2DMQ\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"S3F2POC-DelStack-TC52BDMFNB7Q-DeleteTaskRole-ZNGCL9G3LA1A\\\",\\\"arn\\\":\\\"arn:aws:iam::060997615305:role/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteTaskRole-ZNGCL9G3LA1A\\\",\\\"createDate\\\":\\\"2021-01-21T13:22:50.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22dynamodb%3AGetItem%22%2C%22dynamodb%3APutItem%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Adynamodb%3Aeu-west-1%3A060997615305%3Atable%2FS3F2POC-DDBStack-RQHP8GU73UQO-JobTableRetain-2ZT3OUGC5L21%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22logs%3ADescribeLogStreams%22%2C%22logs%3ACreateLogStream%22%2C%22logs%3APutLogEvents%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Alogs%3A%2A%3A%2A%3A%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22sts%3AAssumeRole%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Aiam%3A%3A%2A%3Arole%2FS3F2DataAccessRole%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22s3%3AGetObject%2A%22%2C%22s3%3APutObject%2A%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3As3%3A%3A%3As3f2poc-redactionpocbucket-14tk2s2z35dsd%2F%2A%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"ReadWriteExecutionPolicy\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQ4M55X3EVZQYR2DMQ","resourceName":"S3F2POC-DelStack-TC52BDMFNB7Q-DeleteTaskRole-ZNGCL9G3LA1A","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"S3F2POC-DelStack-TC52BDMFNB7Q-DeleteTaskRole-ZNGCL9G3LA1A","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-1757.5,"y":2307.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteTaskRole-ZNGCL9G3LA1A/inlinePolicy/ReadWriteExecutionPolicy","resourceId":["arn:aws:iam::060997615305:role/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteTaskRole-ZNGCL9G3LA1A/inlinePolicy/ReadWriteExecutionPolicy","arn:aws:iam::060997615305:role/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteTaskRole-ZNGCL9G3LA1A/inlinePolicy/ReadWriteExecutionPolicy"],"parent":"InlinePolicy-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteTaskRole-ZNGCL9G3LA1A/inlinePolicy/ReadWriteExecutionPolicy","title":"arn:aws:iam::060997615305:role/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteTaskRole-ZNGCL9G3LA1A/inlinePolicy/ReadWriteExecutionPolicy","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteTaskRole-ZNGCL9G3LA1A/inlinePolicy/ReadWriteExecutionPolicy","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::060997615305:role/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteTaskRole-ZNGCL9G3LA1A/inlinePolicy/ReadWriteExecutionPolicy","name":"arn:aws:iam::060997615305:role/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteTaskRole-ZNGCL9G3LA1A/inlinePolicy/ReadWriteExecutionPolicy","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::060997615305:role/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteTaskRole-ZNGCL9G3LA1A/inlinePolicy/ReadWriteExecutionPolicy","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteTaskRole-ZNGCL9G3LA1A/inlinePolicy/ReadWriteExecutionPolicy","configuration":"\"{\\\"policyName\\\":\\\"ReadWriteExecutionPolicy\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"dynamodb:GetItem\\\",\\\"dynamodb:PutItem\\\"],\\\"Resource\\\":\\\"arn:aws:dynamodb:eu-west-1:060997615305:table/S3F2POC-DDBStack-RQHP8GU73UQO-JobTableRetain-2ZT3OUGC5L21\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"logs:DescribeLogStreams\\\",\\\"logs:CreateLogStream\\\",\\\"logs:PutLogEvents\\\"],\\\"Resource\\\":\\\"arn:aws:logs:*:*:*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"sts:AssumeRole\\\"],\\\"Resource\\\":\\\"arn:aws:iam::*:role/S3F2DataAccessRole\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"s3:GetObject*\\\",\\\"s3:PutObject*\\\"],\\\"Resource\\\":\\\"arn:aws:s3:::s3f2poc-redactionpocbucket-14tk2s2z35dsd/*\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::060997615305:role/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteTaskRole-ZNGCL9G3LA1A/inlinePolicy/ReadWriteExecutionPolicy","resourceName":"arn:aws:iam::060997615305:role/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteTaskRole-ZNGCL9G3LA1A/inlinePolicy/ReadWriteExecutionPolicy","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::060997615305:role/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteTaskRole-ZNGCL9G3LA1A/inlinePolicy/ReadWriteExecutionPolicy","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1279.5,"y":2234.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ecs:eu-west-1:060997615305:task-definition/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteTaskDefinition-Vvxa715MuWm2:1","resourceId":["arn:aws:ecs:eu-west-1:060997615305:task-definition/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteTaskDefinition-Vvxa715MuWm2:1","arn:aws:ecs:eu-west-1:060997615305:task-definition/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteTaskDefinition-Vvxa715MuWm2:1"],"parent":"TaskDefinition-eu-west-1-060997615305","level":3,"id":"arn:aws:ecs:eu-west-1:060997615305:task-definition/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteTaskDefinition-Vvxa715MuWm2:1","title":"S3F2POC-DelStack-TC52BDMFNB7Q-DeleteTaskDefinition-Vvxa715MuWm2:1","label":"S3F2POC-DelS...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ecs:eu-west-1:060997615305:task-definition/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteTaskDefinition-Vvxa715MuWm2:1","image":"/icons/ECS-Task-Definition-light-bg-menu.svg","cost":0,"private":false,"resource":{"id":"arn:aws:ecs:eu-west-1:060997615305:task-definition/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteTaskDefinition-Vvxa715MuWm2:1","name":"S3F2POC-DelStack-TC52BDMFNB7Q-DeleteTaskDefinition-Vvxa715MuWm2:1","value":null,"type":"AWS::ECS::TaskDefinition","tags":"[]","arn":"arn:aws:ecs:eu-west-1:060997615305:task-definition/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteTaskDefinition-Vvxa715MuWm2:1","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ecs:eu-west-1:060997615305:task-definition/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteTaskDefinition-Vvxa715MuWm2:1","configuration":"\"{\\\"Status\\\":\\\"ACTIVE\\\",\\\"TaskRoleArn\\\":\\\"arn:aws:iam::060997615305:role/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteTaskRole-ZNGCL9G3LA1A\\\",\\\"InferenceAccelerators\\\":[],\\\"Memory\\\":\\\"30720\\\",\\\"PlacementConstraints\\\":[],\\\"Cpu\\\":\\\"4096\\\",\\\"RequiresCompatibilities\\\":[\\\"FARGATE\\\"],\\\"NetworkMode\\\":\\\"awsvpc\\\",\\\"ExecutionRoleArn\\\":\\\"arn:aws:iam::060997615305:role/S3F2POC-DelStack-TC52BDMFNB7Q-ECSTaskExecutionRole-F1O2D75GTTYY\\\",\\\"Volumes\\\":[],\\\"ContainerDefinitions\\\":[{\\\"Secrets\\\":[],\\\"ExtraHosts\\\":[],\\\"VolumesFrom\\\":[],\\\"Cpu\\\":0,\\\"EntryPoint\\\":[],\\\"DnsServers\\\":[],\\\"Image\\\":\\\"060997615305.dkr.ecr.eu-west-1.amazonaws.com/ecrrepository-atiqsii6rr9q:latest\\\",\\\"Essential\\\":true,\\\"LogConfiguration\\\":{\\\"SecretOptions\\\":[],\\\"Options\\\":{\\\"awslogs-group\\\":\\\"S3F2POC-DelStack-TC52BDMFNB7Q-DeleteTaskLogGroup-C8lrotaQjsCP\\\",\\\"awslogs-region\\\":\\\"eu-west-1\\\",\\\"awslogs-stream-prefix\\\":\\\"S3F2POC-DelStack-TC52BDMFNB7Q\\\"},\\\"LogDriver\\\":\\\"awslogs\\\"},\\\"ResourceRequirements\\\":[],\\\"EnvironmentFiles\\\":[],\\\"Name\\\":\\\"S3F2POC_DeleteTask\\\",\\\"MountPoints\\\":[],\\\"DependsOn\\\":[],\\\"PortMappings\\\":[],\\\"DockerLabels\\\":{},\\\"DockerSecurityOptions\\\":[],\\\"SystemControls\\\":[],\\\"Command\\\":[],\\\"DnsSearchDomains\\\":[],\\\"Links\\\":[],\\\"Environment\\\":[{\\\"Value\\\":\\\"s3f2poc-redactionpocbucket-14tk2s2z35dsd\\\",\\\"Name\\\":\\\"RedactionPOCBucket\\\"},{\\\"Value\\\":\\\"S3F2POC-DDBStack-RQHP8GU73UQO-JobTableRetain-2ZT3OUGC5L21\\\",\\\"Name\\\":\\\"JobTable\\\"},{\\\"Value\\\":\\\"INFO\\\",\\\"Name\\\":\\\"LOG_LEVEL\\\"},{\\\"Value\\\":\\\"https://sqs.eu-west-1.amazonaws.com/060997615305/S3F2POC-DelStack-TC52BDMFNB7Q-DelObjQ-1HUIYZEL4HLJ8.fifo\\\",\\\"Name\\\":\\\"DELETE_OBJECTS_QUEUE\\\"},{\\\"Value\\\":\\\"true\\\",\\\"Name\\\":\\\"ECS_ENABLE_CONTAINER_METADATA\\\"}],\\\"Ulimits\\\":[]}],\\\"Family\\\":\\\"S3F2POC-DelStack-TC52BDMFNB7Q-DeleteTaskDefinition-Vvxa715MuWm2\\\",\\\"Tags\\\":[],\\\"TaskDefinitionArn\\\":\\\"arn:aws:ecs:eu-west-1:060997615305:task-definition/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteTaskDefinition-Vvxa715MuWm2:1\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Regional","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:ecs:eu-west-1:060997615305:task-definition/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteTaskDefinition-Vvxa715MuWm2:1","resourceName":"S3F2POC-DelStack-TC52BDMFNB7Q-DeleteTaskDefinition-Vvxa715MuWm2:1","resourceType":"AWS::ECS::TaskDefinition","resourceValue":null,"state":null,"tags":"[]","title":"S3F2POC-DelStack-TC52BDMFNB7Q-DeleteTaskDefinition-Vvxa715MuWm2:1","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1677.5,"y":1749.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-DelStack-TC52BDMFNB7Q/be00d5a0-5beb-11eb-bd4f-02f1dbb72c77","resourceId":["arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-DelStack-TC52BDMFNB7Q/be00d5a0-5beb-11eb-bd4f-02f1dbb72c77","arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-DelStack-TC52BDMFNB7Q/be00d5a0-5beb-11eb-bd4f-02f1dbb72c77"],"parent":"Stack-eu-west-1-060997615305","level":3,"id":"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-DelStack-TC52BDMFNB7Q/be00d5a0-5beb-11eb-bd4f-02f1dbb72c77","title":"S3F2POC-DelStack-TC52BDMFNB7Q","label":"S3F2POC-DelS...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-DelStack-TC52BDMFNB7Q/be00d5a0-5beb-11eb-bd4f-02f1dbb72c77","image":"/icons/AWS-CloudFormation.svg","cost":0,"private":false,"resource":{"id":"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-DelStack-TC52BDMFNB7Q/be00d5a0-5beb-11eb-bd4f-02f1dbb72c77","name":"S3F2POC-DelStack-TC52BDMFNB7Q","value":null,"type":"AWS::CloudFormation::Stack","tags":"[]","arn":"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-DelStack-TC52BDMFNB7Q/be00d5a0-5beb-11eb-bd4f-02f1dbb72c77","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-DelStack-TC52BDMFNB7Q/be00d5a0-5beb-11eb-bd4f-02f1dbb72c77","configuration":"\"{\\\"outputs\\\":[{\\\"outputKey\\\":\\\"DeleteTaskRoleArn\\\",\\\"outputValue\\\":\\\"arn:aws:iam::060997615305:role/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteTaskRole-ZNGCL9G3LA1A\\\"},{\\\"outputKey\\\":\\\"DeleteTaskRole\\\",\\\"outputValue\\\":\\\"S3F2POC-DelStack-TC52BDMFNB7Q-DeleteTaskRole-ZNGCL9G3LA1A\\\"},{\\\"outputKey\\\":\\\"ECRRepository\\\",\\\"outputValue\\\":\\\"ecrrepository-atiqsii6rr9q\\\"},{\\\"outputKey\\\":\\\"DLQUrl\\\",\\\"outputValue\\\":\\\"https://sqs.eu-west-1.amazonaws.com/060997615305/S3F2POC-DelStack-TC52BDMFNB7Q-DLQ-M4UGCEO16WJD.fifo\\\"},{\\\"outputKey\\\":\\\"ECSCluster\\\",\\\"outputValue\\\":\\\"S3F2POC-DelStack-TC52BDMFNB7Q-ECSCluster-kZ8X2p7awLv6\\\"},{\\\"outputKey\\\":\\\"DeleteObjectsQueueUrl\\\",\\\"outputValue\\\":\\\"https://sqs.eu-west-1.amazonaws.com/060997615305/S3F2POC-DelStack-TC52BDMFNB7Q-DelObjQ-1HUIYZEL4HLJ8.fifo\\\"},{\\\"outputKey\\\":\\\"DeleteServiceName\\\",\\\"outputValue\\\":\\\"S3F2POC-DelStack-TC52BDMFNB7Q-DeleteService-ngsbUHGOkaHg\\\"}],\\\"capabilities\\\":[\\\"CAPABILITY_AUTO_EXPAND\\\",\\\"CAPABILITY_NAMED_IAM\\\",\\\"CAPABILITY_IAM\\\"],\\\"creationTime\\\":\\\"2021-01-21T13:22:42Z\\\",\\\"notificationARNs\\\":[],\\\"stackId\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-DelStack-TC52BDMFNB7Q/be00d5a0-5beb-11eb-bd4f-02f1dbb72c77\\\",\\\"stackName\\\":\\\"S3F2POC-DelStack-TC52BDMFNB7Q\\\",\\\"description\\\":\\\"Amazon S3 Find and Forget Deletion Flow\\\",\\\"stackStatus\\\":\\\"CREATE_COMPLETE\\\",\\\"disableRollback\\\":true,\\\"parentId\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC/354700e0-5beb-11eb-9702-0214faeb7eeb\\\",\\\"tags\\\":[],\\\"driftInformation\\\":{\\\"stackDriftStatus\\\":\\\"NOT_CHECKED\\\"},\\\"enableTerminationProtection\\\":false,\\\"parameters\\\":[{\\\"parameterKey\\\":\\\"ResourcePrefix\\\",\\\"parameterValue\\\":\\\"S3F2POC\\\"},{\\\"parameterKey\\\":\\\"RedactionPOCBucket\\\",\\\"parameterValue\\\":\\\"s3f2poc-redactionpocbucket-14tk2s2z35dsd\\\"},{\\\"parameterKey\\\":\\\"EnableContainerInsights\\\",\\\"parameterValue\\\":\\\"false\\\"},{\\\"parameterKey\\\":\\\"CommonLayers\\\",\\\"parameterValue\\\":\\\"arn:aws:lambda:eu-west-1:060997615305:layer:AWSSDK:4,arn:aws:lambda:eu-west-1:060997615305:layer:BotoUtils:4,arn:aws:lambda:eu-west-1:060997615305:layer:CustomResourceHelper:4,arn:aws:lambda:eu-west-1:060997615305:layer:Decorators:4\\\"},{\\\"parameterKey\\\":\\\"LogRetentionInDays\\\",\\\"parameterValue\\\":\\\"7\\\"},{\\\"parameterKey\\\":\\\"JobTableName\\\",\\\"parameterValue\\\":\\\"S3F2POC-DDBStack-RQHP8GU73UQO-JobTableRetain-2ZT3OUGC5L21\\\"},{\\\"parameterKey\\\":\\\"VpcSubnets\\\",\\\"parameterValue\\\":\\\"subnet-094e8bf3e6b674e9c,subnet-055bc3199a2ef29c6,subnet-0b5f8a2321f4781d9\\\"},{\\\"parameterKey\\\":\\\"VpcSecurityGroups\\\",\\\"parameterValue\\\":\\\"sg-0caf4503bc4536a40\\\"},{\\\"parameterKey\\\":\\\"DeletionTaskMemory\\\",\\\"parameterValue\\\":\\\"30720\\\"},{\\\"parameterKey\\\":\\\"DeletionTaskCPU\\\",\\\"parameterValue\\\":\\\"4096\\\"},{\\\"parameterKey\\\":\\\"LogLevel\\\",\\\"parameterValue\\\":\\\"INFO\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Regional","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-DelStack-TC52BDMFNB7Q/be00d5a0-5beb-11eb-bd4f-02f1dbb72c77","resourceName":"S3F2POC-DelStack-TC52BDMFNB7Q","resourceType":"AWS::CloudFormation::Stack","resourceValue":null,"state":null,"tags":"[]","title":"S3F2POC-DelStack-TC52BDMFNB7Q","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1863.5,"y":1749.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/S3F2POC-APIStack-13TOEE1K3Y78-GetDeletionQueueRole-MW1R4DON02A8","resourceId":["AROAQ4M55X3EXPBE6PBBD","arn:aws:iam::060997615305:role/S3F2POC-APIStack-13TOEE1K3Y78-GetDeletionQueueRole-MW1R4DON02A8"],"parent":"Role-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/S3F2POC-APIStack-13TOEE1K3Y78-GetDeletionQueueRole-MW1R4DON02A8","title":"S3F2POC-APIStack-13TOEE1K3Y78-GetDeletionQueueRole-MW1R4DON02A8","label":"S3F2POC-APIS...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/S3F2POC-APIStack-13TOEE1K3Y78-GetDeletionQueueRole-MW1R4DON02A8","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQ4M55X3EXPBE6PBBD","name":"S3F2POC-APIStack-13TOEE1K3Y78-GetDeletionQueueRole-MW1R4DON02A8","value":null,"type":"AWS::IAM::Role","tags":"[{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"}]","arn":"arn:aws:iam::060997615305:role/S3F2POC-APIStack-13TOEE1K3Y78-GetDeletionQueueRole-MW1R4DON02A8","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/S3F2POC-APIStack-13TOEE1K3Y78-GetDeletionQueueRole-MW1R4DON02A8","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22lambda.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQ4M55X3EXPBE6PBBD\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole\\\",\\\"policyName\\\":\\\"AWSLambdaBasicExecutionRole\\\"}],\\\"roleName\\\":\\\"S3F2POC-APIStack-13TOEE1K3Y78-GetDeletionQueueRole-MW1R4DON02A8\\\",\\\"arn\\\":\\\"arn:aws:iam::060997615305:role/S3F2POC-APIStack-13TOEE1K3Y78-GetDeletionQueueRole-MW1R4DON02A8\\\",\\\"createDate\\\":\\\"2021-01-21T13:20:12.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22dynamodb%3AGetItem%22%2C%22dynamodb%3ADeleteItem%22%2C%22dynamodb%3APutItem%22%2C%22dynamodb%3AScan%22%2C%22dynamodb%3AQuery%22%2C%22dynamodb%3AUpdateItem%22%2C%22dynamodb%3ABatchWriteItem%22%2C%22dynamodb%3ABatchGetItem%22%2C%22dynamodb%3ADescribeTable%22%2C%22dynamodb%3AConditionCheckItem%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Adynamodb%3Aeu-west-1%3A060997615305%3Atable%2FS3F2POC-DDBStack-RQHP8GU73UQO-DeletionQueueTableRetain-O3FSGXGW6V78%22%2C%22arn%3Aaws%3Adynamodb%3Aeu-west-1%3A060997615305%3Atable%2FS3F2POC-DDBStack-RQHP8GU73UQO-DeletionQueueTableRetain-O3FSGXGW6V78%2Findex%2F%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"GetDeletionQueueRolePolicy0\\\"}],\\\"tags\\\":[{\\\"value\\\":\\\"SAM\\\",\\\"key\\\":\\\"lambda:createdBy\\\"}]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQ4M55X3EXPBE6PBBD","resourceName":"S3F2POC-APIStack-13TOEE1K3Y78-GetDeletionQueueRole-MW1R4DON02A8","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"}]","title":"S3F2POC-APIStack-13TOEE1K3Y78-GetDeletionQueueRole-MW1R4DON02A8","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-2195.5,"y":2380.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/S3F2POC-APIStack-13TOEE1K3Y78-GetDeletionQueueRole-MW1R4DON02A8/inlinePolicy/GetDeletionQueueRolePolicy0","resourceId":["arn:aws:iam::060997615305:role/S3F2POC-APIStack-13TOEE1K3Y78-GetDeletionQueueRole-MW1R4DON02A8/inlinePolicy/GetDeletionQueueRolePolicy0","arn:aws:iam::060997615305:role/S3F2POC-APIStack-13TOEE1K3Y78-GetDeletionQueueRole-MW1R4DON02A8/inlinePolicy/GetDeletionQueueRolePolicy0"],"parent":"InlinePolicy-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/S3F2POC-APIStack-13TOEE1K3Y78-GetDeletionQueueRole-MW1R4DON02A8/inlinePolicy/GetDeletionQueueRolePolicy0","title":"arn:aws:iam::060997615305:role/S3F2POC-APIStack-13TOEE1K3Y78-GetDeletionQueueRole-MW1R4DON02A8/inlinePolicy/GetDeletionQueueRolePolicy0","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/S3F2POC-APIStack-13TOEE1K3Y78-GetDeletionQueueRole-MW1R4DON02A8/inlinePolicy/GetDeletionQueueRolePolicy0","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::060997615305:role/S3F2POC-APIStack-13TOEE1K3Y78-GetDeletionQueueRole-MW1R4DON02A8/inlinePolicy/GetDeletionQueueRolePolicy0","name":"arn:aws:iam::060997615305:role/S3F2POC-APIStack-13TOEE1K3Y78-GetDeletionQueueRole-MW1R4DON02A8/inlinePolicy/GetDeletionQueueRolePolicy0","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::060997615305:role/S3F2POC-APIStack-13TOEE1K3Y78-GetDeletionQueueRole-MW1R4DON02A8/inlinePolicy/GetDeletionQueueRolePolicy0","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/S3F2POC-APIStack-13TOEE1K3Y78-GetDeletionQueueRole-MW1R4DON02A8/inlinePolicy/GetDeletionQueueRolePolicy0","configuration":"\"{\\\"policyName\\\":\\\"GetDeletionQueueRolePolicy0\\\",\\\"policyDocument\\\":{\\\"Statement\\\":[{\\\"Action\\\":[\\\"dynamodb:GetItem\\\",\\\"dynamodb:DeleteItem\\\",\\\"dynamodb:PutItem\\\",\\\"dynamodb:Scan\\\",\\\"dynamodb:Query\\\",\\\"dynamodb:UpdateItem\\\",\\\"dynamodb:BatchWriteItem\\\",\\\"dynamodb:BatchGetItem\\\",\\\"dynamodb:DescribeTable\\\",\\\"dynamodb:ConditionCheckItem\\\"],\\\"Resource\\\":[\\\"arn:aws:dynamodb:eu-west-1:060997615305:table/S3F2POC-DDBStack-RQHP8GU73UQO-DeletionQueueTableRetain-O3FSGXGW6V78\\\",\\\"arn:aws:dynamodb:eu-west-1:060997615305:table/S3F2POC-DDBStack-RQHP8GU73UQO-DeletionQueueTableRetain-O3FSGXGW6V78/index/*\\\"],\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::060997615305:role/S3F2POC-APIStack-13TOEE1K3Y78-GetDeletionQueueRole-MW1R4DON02A8/inlinePolicy/GetDeletionQueueRolePolicy0","resourceName":"arn:aws:iam::060997615305:role/S3F2POC-APIStack-13TOEE1K3Y78-GetDeletionQueueRole-MW1R4DON02A8/inlinePolicy/GetDeletionQueueRolePolicy0","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::060997615305:role/S3F2POC-APIStack-13TOEE1K3Y78-GetDeletionQueueRole-MW1R4DON02A8/inlinePolicy/GetDeletionQueueRolePolicy0","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1644.5,"y":2307.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:lambda:eu-west-1:060997615305:function:S3F2POC-APIStack-13TOEE1K3Y78L-GetDeletionQueue-M4A849NJMSWQ","resourceId":["S3F2POC-APIStack-13TOEE1K3Y78L-GetDeletionQueue-M4A849NJMSWQ","arn:aws:lambda:eu-west-1:060997615305:function:S3F2POC-APIStack-13TOEE1K3Y78L-GetDeletionQueue-M4A849NJMSWQ"],"parent":"Function-eu-west-1-060997615305","level":3,"id":"arn:aws:lambda:eu-west-1:060997615305:function:S3F2POC-APIStack-13TOEE1K3Y78L-GetDeletionQueue-M4A849NJMSWQ","title":"S3F2POC-APIStack-13TOEE1K3Y78L-GetDeletionQueue-M4A849NJMSWQ","label":"S3F2POC-APIS...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:lambda:eu-west-1:060997615305:function:S3F2POC-APIStack-13TOEE1K3Y78L-GetDeletionQueue-M4A849NJMSWQ","image":"/icons/AWS-Lambda-menu.svg","cost":0,"private":false,"resource":{"id":"S3F2POC-APIStack-13TOEE1K3Y78L-GetDeletionQueue-M4A849NJMSWQ","name":"S3F2POC-APIStack-13TOEE1K3Y78L-GetDeletionQueue-M4A849NJMSWQ","value":null,"type":"AWS::Lambda::Function","tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2POC-APIStack-13TOEE1K3Y78L\",\"value\":\"S3F2POC-APIStack-13TOEE1K3Y78L\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-APIStack-13TOEE1K3Y78L/5aa9ed20-5beb-11eb-8147-06d43d249c1b\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-APIStack-13TOEE1K3Y78L/5aa9ed20-5beb-11eb-8147-06d43d249c1b\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=GetDeletionQueue\",\"value\":\"GetDeletionQueue\",\"key\":\"aws:cloudformation:logical-id\"}]","arn":"arn:aws:lambda:eu-west-1:060997615305:function:S3F2POC-APIStack-13TOEE1K3Y78L-GetDeletionQueue-M4A849NJMSWQ","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/lambda/home?region=eu-west-1#/functions/S3F2POC-APIStack-13TOEE1K3Y78L-GetDeletionQueue-M4A849NJMSWQ?tab=graph","loginURL":"https://060997615305.signin.aws.amazon.com/console/lambda?region=eu-west-1#/functions/S3F2POC-APIStack-13TOEE1K3Y78L-GetDeletionQueue-M4A849NJMSWQ?tab=graph","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:lambda:eu-west-1:060997615305:function:S3F2POC-APIStack-13TOEE1K3Y78L-GetDeletionQueue-M4A849NJMSWQ","configuration":"\"{\\\"architectures\\\":[\\\"x86_64\\\"],\\\"ephemeralStorage\\\":{\\\"size\\\":512},\\\"handler\\\":\\\"handlers.get_handler\\\",\\\"role\\\":\\\"arn:aws:iam::060997615305:role/S3F2POC-APIStack-13TOEE1K3Y78-GetDeletionQueueRole-MW1R4DON02A8\\\",\\\"functionName\\\":\\\"S3F2POC-APIStack-13TOEE1K3Y78L-GetDeletionQueue-M4A849NJMSWQ\\\",\\\"tracingConfig\\\":{\\\"mode\\\":\\\"PassThrough\\\"},\\\"runtime\\\":\\\"python3.7\\\",\\\"description\\\":\\\"\\\",\\\"runtimeVersionConfig\\\":{\\\"runtimeVersionArn\\\":\\\"arn:aws:lambda:eu-west-1::runtime:404f127cf4d3b0d7368361968087bb9052f80c682e74e5e3cae6dc86d049242c\\\"},\\\"codeSize\\\":6330,\\\"version\\\":\\\"$LATEST\\\",\\\"packageType\\\":\\\"Zip\\\",\\\"timeout\\\":180,\\\"revisionId\\\":\\\"1bf3c9e7-89f0-433a-8d3e-71fefa8bbaf5\\\",\\\"codeSha256\\\":\\\"AsFXX1p/Cc+ccajSDyKfhxRsxEYfKKDBfv5hDDTOLTc=\\\",\\\"memorySize\\\":128,\\\"fileSystemConfigs\\\":[],\\\"lastUpdateStatus\\\":\\\"Successful\\\",\\\"layers\\\":[{\\\"arn\\\":\\\"arn:aws:lambda:eu-west-1:060997615305:layer:AWSSDK:4\\\",\\\"codeSize\\\":8692749},{\\\"arn\\\":\\\"arn:aws:lambda:eu-west-1:060997615305:layer:Decorators:4\\\",\\\"codeSize\\\":1598219},{\\\"arn\\\":\\\"arn:aws:lambda:eu-west-1:060997615305:layer:BotoUtils:4\\\",\\\"codeSize\\\":7788}],\\\"snapStart\\\":{\\\"applyOn\\\":\\\"None\\\",\\\"optimizationStatus\\\":\\\"Off\\\"},\\\"lastModified\\\":\\\"2021-01-21T13:20:52.769+0000\\\",\\\"state\\\":{\\\"value\\\":\\\"Active\\\"},\\\"functionArn\\\":\\\"arn:aws:lambda:eu-west-1:060997615305:function:S3F2POC-APIStack-13TOEE1K3Y78L-GetDeletionQueue-M4A849NJMSWQ\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/lambda/home?region=eu-west-1#/functions/S3F2POC-APIStack-13TOEE1K3Y78L-GetDeletionQueue-M4A849NJMSWQ?tab=graph","loginURL":"https://060997615305.signin.aws.amazon.com/console/lambda?region=eu-west-1#/functions/S3F2POC-APIStack-13TOEE1K3Y78L-GetDeletionQueue-M4A849NJMSWQ?tab=graph","private":null,"resourceId":"S3F2POC-APIStack-13TOEE1K3Y78L-GetDeletionQueue-M4A849NJMSWQ","resourceName":"S3F2POC-APIStack-13TOEE1K3Y78L-GetDeletionQueue-M4A849NJMSWQ","resourceType":"AWS::Lambda::Function","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2POC-APIStack-13TOEE1K3Y78L\",\"value\":\"S3F2POC-APIStack-13TOEE1K3Y78L\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-APIStack-13TOEE1K3Y78L/5aa9ed20-5beb-11eb-8147-06d43d249c1b\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-APIStack-13TOEE1K3Y78L/5aa9ed20-5beb-11eb-8147-06d43d249c1b\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=GetDeletionQueue\",\"value\":\"GetDeletionQueue\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"S3F2POC-APIStack-13TOEE1K3Y78L-GetDeletionQueue-M4A849NJMSWQ","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2122.5,"y":1749.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-APIStack-13TOEE1K3Y78L/5aa9ed20-5beb-11eb-8147-06d43d249c1b","resourceId":["arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-APIStack-13TOEE1K3Y78L/5aa9ed20-5beb-11eb-8147-06d43d249c1b","arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-APIStack-13TOEE1K3Y78L/5aa9ed20-5beb-11eb-8147-06d43d249c1b"],"parent":"Stack-eu-west-1-060997615305","level":3,"id":"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-APIStack-13TOEE1K3Y78L/5aa9ed20-5beb-11eb-8147-06d43d249c1b","title":"S3F2POC-APIStack-13TOEE1K3Y78L","label":"S3F2POC-APIS...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-APIStack-13TOEE1K3Y78L/5aa9ed20-5beb-11eb-8147-06d43d249c1b","image":"/icons/AWS-CloudFormation.svg","cost":0,"private":false,"resource":{"id":"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-APIStack-13TOEE1K3Y78L/5aa9ed20-5beb-11eb-8147-06d43d249c1b","name":"S3F2POC-APIStack-13TOEE1K3Y78L","value":null,"type":"AWS::CloudFormation::Stack","tags":"[]","arn":"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-APIStack-13TOEE1K3Y78L/5aa9ed20-5beb-11eb-8147-06d43d249c1b","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-APIStack-13TOEE1K3Y78L/5aa9ed20-5beb-11eb-8147-06d43d249c1b","configuration":"\"{\\\"outputs\\\":[{\\\"outputKey\\\":\\\"ApiUrl\\\",\\\"outputValue\\\":\\\"https://798b11ubfl.execute-api.eu-west-1.amazonaws.com/Prod/\\\",\\\"description\\\":\\\"API endpoint URL for Prod environment\\\"},{\\\"outputKey\\\":\\\"AccessControlAllowOriginHeader\\\",\\\"outputValue\\\":\\\"https://s3f2poc-webuistack-1i72elaep43e2-webuibucket-2bku1mkgd04h.s3.eu-west-1.amazonaws.com\\\",\\\"description\\\":\\\"Access-Control-Allow-Origin header sent from API endpoints\\\"},{\\\"outputKey\\\":\\\"PutDataMapperRole\\\",\\\"outputValue\\\":\\\"S3F2POC-APIStack-13TOEE1K3Y78L-PutDataMapperRole-12YSN4B98KE5C\\\",\\\"description\\\":\\\"Role used by the PutDataMapper API\\\"}],\\\"capabilities\\\":[\\\"CAPABILITY_AUTO_EXPAND\\\",\\\"CAPABILITY_NAMED_IAM\\\",\\\"CAPABILITY_IAM\\\"],\\\"creationTime\\\":\\\"2021-01-21T13:19:56Z\\\",\\\"notificationARNs\\\":[],\\\"stackId\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-APIStack-13TOEE1K3Y78L/5aa9ed20-5beb-11eb-8147-06d43d249c1b\\\",\\\"stackName\\\":\\\"S3F2POC-APIStack-13TOEE1K3Y78L\\\",\\\"description\\\":\\\"Amazon S3 Find and Forget API\\\",\\\"stackStatus\\\":\\\"CREATE_COMPLETE\\\",\\\"disableRollback\\\":true,\\\"parentId\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC/354700e0-5beb-11eb-9702-0214faeb7eeb\\\",\\\"tags\\\":[],\\\"driftInformation\\\":{\\\"stackDriftStatus\\\":\\\"NOT_CHECKED\\\"},\\\"enableTerminationProtection\\\":false,\\\"parameters\\\":[{\\\"parameterKey\\\":\\\"DeletionQueueTableName\\\",\\\"parameterValue\\\":\\\"S3F2POC-DDBStack-RQHP8GU73UQO-DeletionQueueTableRetain-O3FSGXGW6V78\\\"},{\\\"parameterKey\\\":\\\"ConfigParameter\\\",\\\"parameterValue\\\":\\\"/s3f2/S3F2POC-Configuration\\\"},{\\\"parameterKey\\\":\\\"CommonLayers\\\",\\\"parameterValue\\\":\\\"arn:aws:lambda:eu-west-1:060997615305:layer:AWSSDK:4,arn:aws:lambda:eu-west-1:060997615305:layer:Decorators:4,arn:aws:lambda:eu-west-1:060997615305:layer:BotoUtils:4\\\"},{\\\"parameterKey\\\":\\\"JobTableName\\\",\\\"parameterValue\\\":\\\"S3F2POC-DDBStack-RQHP8GU73UQO-JobTableRetain-2ZT3OUGC5L21\\\"},{\\\"parameterKey\\\":\\\"AccessControlAllowOriginOverride\\\",\\\"parameterValue\\\":\\\"false\\\"},{\\\"parameterKey\\\":\\\"WebUIOrigin\\\",\\\"parameterValue\\\":\\\"https://s3f2poc-webuistack-1i72elaep43e2-webuibucket-2bku1mkgd04h.s3.eu-west-1.amazonaws.com\\\"},{\\\"parameterKey\\\":\\\"JobTableDateGSI\\\",\\\"parameterValue\\\":\\\"Date-GSI\\\"},{\\\"parameterKey\\\":\\\"CognitoUserPoolArn\\\",\\\"parameterValue\\\":\\\"arn:aws:cognito-idp:eu-west-1:060997615305:userpool/eu-west-1_gpYX5plm5\\\"},{\\\"parameterKey\\\":\\\"LogLevel\\\",\\\"parameterValue\\\":\\\"INFO\\\"},{\\\"parameterKey\\\":\\\"EnableAccessLogging\\\",\\\"parameterValue\\\":\\\"false\\\"},{\\\"parameterKey\\\":\\\"DataMapperTableName\\\",\\\"parameterValue\\\":\\\"S3F2POC-DDBStack-RQHP8GU73UQO-DataMapperTableRetain-1MOXOQFQKD9A6\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Regional","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-APIStack-13TOEE1K3Y78L/5aa9ed20-5beb-11eb-8147-06d43d249c1b","resourceName":"S3F2POC-APIStack-13TOEE1K3Y78L","resourceType":"AWS::CloudFormation::Stack","resourceValue":null,"state":null,"tags":"[]","title":"S3F2POC-APIStack-13TOEE1K3Y78L","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1790.5,"y":1676.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/CloudFormationManagedUplo-LogAndMetricsDeliveryRol-SBQBWN5J1EGI","resourceId":["AROAQ4M55X3EZF25PHY6R","arn:aws:iam::060997615305:role/CloudFormationManagedUplo-LogAndMetricsDeliveryRol-SBQBWN5J1EGI"],"parent":"Role-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/CloudFormationManagedUplo-LogAndMetricsDeliveryRol-SBQBWN5J1EGI","title":"CloudFormationManagedUplo-LogAndMetricsDeliveryRol-SBQBWN5J1EGI","label":"CloudFormati...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/CloudFormationManagedUplo-LogAndMetricsDeliveryRol-SBQBWN5J1EGI","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQ4M55X3EZF25PHY6R","name":"CloudFormationManagedUplo-LogAndMetricsDeliveryRol-SBQBWN5J1EGI","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::060997615305:role/CloudFormationManagedUplo-LogAndMetricsDeliveryRol-SBQBWN5J1EGI","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/CloudFormationManagedUplo-LogAndMetricsDeliveryRol-SBQBWN5J1EGI","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%5B%22cloudformation.amazonaws.com%22%2C%22resources.cloudformation.amazonaws.com%22%5D%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQ4M55X3EZF25PHY6R\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"CloudFormationManagedUplo-LogAndMetricsDeliveryRol-SBQBWN5J1EGI\\\",\\\"arn\\\":\\\"arn:aws:iam::060997615305:role/CloudFormationManagedUplo-LogAndMetricsDeliveryRol-SBQBWN5J1EGI\\\",\\\"createDate\\\":\\\"2020-03-13T09:52:19.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22logs%3ACreateLogGroup%22%2C%22logs%3ACreateLogStream%22%2C%22logs%3ADescribeLogGroups%22%2C%22logs%3ADescribeLogStreams%22%2C%22logs%3APutLogEvents%22%2C%22cloudwatch%3AListMetrics%22%2C%22cloudwatch%3APutMetricData%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"LogAndMetricsDeliveryRolePolicy\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQ4M55X3EZF25PHY6R","resourceName":"CloudFormationManagedUplo-LogAndMetricsDeliveryRol-SBQBWN5J1EGI","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"CloudFormationManagedUplo-LogAndMetricsDeliveryRol-SBQBWN5J1EGI","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-2122.5,"y":2380.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/CloudFormationManagedUplo-LogAndMetricsDeliveryRol-SBQBWN5J1EGI/inlinePolicy/LogAndMetricsDeliveryRolePolicy","resourceId":["arn:aws:iam::060997615305:role/CloudFormationManagedUplo-LogAndMetricsDeliveryRol-SBQBWN5J1EGI/inlinePolicy/LogAndMetricsDeliveryRolePolicy","arn:aws:iam::060997615305:role/CloudFormationManagedUplo-LogAndMetricsDeliveryRol-SBQBWN5J1EGI/inlinePolicy/LogAndMetricsDeliveryRolePolicy"],"parent":"InlinePolicy-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/CloudFormationManagedUplo-LogAndMetricsDeliveryRol-SBQBWN5J1EGI/inlinePolicy/LogAndMetricsDeliveryRolePolicy","title":"arn:aws:iam::060997615305:role/CloudFormationManagedUplo-LogAndMetricsDeliveryRol-SBQBWN5J1EGI/inlinePolicy/LogAndMetricsDeliveryRolePolicy","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/CloudFormationManagedUplo-LogAndMetricsDeliveryRol-SBQBWN5J1EGI/inlinePolicy/LogAndMetricsDeliveryRolePolicy","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::060997615305:role/CloudFormationManagedUplo-LogAndMetricsDeliveryRol-SBQBWN5J1EGI/inlinePolicy/LogAndMetricsDeliveryRolePolicy","name":"arn:aws:iam::060997615305:role/CloudFormationManagedUplo-LogAndMetricsDeliveryRol-SBQBWN5J1EGI/inlinePolicy/LogAndMetricsDeliveryRolePolicy","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::060997615305:role/CloudFormationManagedUplo-LogAndMetricsDeliveryRol-SBQBWN5J1EGI/inlinePolicy/LogAndMetricsDeliveryRolePolicy","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/CloudFormationManagedUplo-LogAndMetricsDeliveryRol-SBQBWN5J1EGI/inlinePolicy/LogAndMetricsDeliveryRolePolicy","configuration":"\"{\\\"policyName\\\":\\\"LogAndMetricsDeliveryRolePolicy\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"logs:CreateLogGroup\\\",\\\"logs:CreateLogStream\\\",\\\"logs:DescribeLogGroups\\\",\\\"logs:DescribeLogStreams\\\",\\\"logs:PutLogEvents\\\",\\\"cloudwatch:ListMetrics\\\",\\\"cloudwatch:PutMetricData\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::060997615305:role/CloudFormationManagedUplo-LogAndMetricsDeliveryRol-SBQBWN5J1EGI/inlinePolicy/LogAndMetricsDeliveryRolePolicy","resourceName":"arn:aws:iam::060997615305:role/CloudFormationManagedUplo-LogAndMetricsDeliveryRol-SBQBWN5J1EGI/inlinePolicy/LogAndMetricsDeliveryRolePolicy","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::060997615305:role/CloudFormationManagedUplo-LogAndMetricsDeliveryRol-SBQBWN5J1EGI/inlinePolicy/LogAndMetricsDeliveryRolePolicy","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1571.5,"y":2307.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:cloudformation:eu-west-2:060997615305:stack/CloudFormationManagedUploadInfrastructure/5205b7d0-6510-11ea-9cf3-02949b77ae4a","resourceId":["arn:aws:cloudformation:eu-west-2:060997615305:stack/CloudFormationManagedUploadInfrastructure/5205b7d0-6510-11ea-9cf3-02949b77ae4a","arn:aws:cloudformation:eu-west-2:060997615305:stack/CloudFormationManagedUploadInfrastructure/5205b7d0-6510-11ea-9cf3-02949b77ae4a"],"parent":"Stack-eu-west-2-060997615305","level":3,"id":"arn:aws:cloudformation:eu-west-2:060997615305:stack/CloudFormationManagedUploadInfrastructure/5205b7d0-6510-11ea-9cf3-02949b77ae4a","title":"CloudFormationManagedUploadInfrastructure","label":"CloudFormati...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:cloudformation:eu-west-2:060997615305:stack/CloudFormationManagedUploadInfrastructure/5205b7d0-6510-11ea-9cf3-02949b77ae4a","image":"/icons/AWS-CloudFormation.svg","cost":0,"private":false,"resource":{"id":"arn:aws:cloudformation:eu-west-2:060997615305:stack/CloudFormationManagedUploadInfrastructure/5205b7d0-6510-11ea-9cf3-02949b77ae4a","name":"CloudFormationManagedUploadInfrastructure","value":null,"type":"AWS::CloudFormation::Stack","tags":"[]","arn":"arn:aws:cloudformation:eu-west-2:060997615305:stack/CloudFormationManagedUploadInfrastructure/5205b7d0-6510-11ea-9cf3-02949b77ae4a","region":"eu-west-2","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:cloudformation:eu-west-2:060997615305:stack/CloudFormationManagedUploadInfrastructure/5205b7d0-6510-11ea-9cf3-02949b77ae4a","configuration":"\"{\\\"outputs\\\":[{\\\"outputKey\\\":\\\"LogAndMetricsDeliveryRoleArn\\\",\\\"outputValue\\\":\\\"arn:aws:iam::060997615305:role/CloudFormationManagedUplo-LogAndMetricsDeliveryRol-SBQBWN5J1EGI\\\"},{\\\"outputKey\\\":\\\"CloudFormationManagedUploadBucketName\\\",\\\"outputValue\\\":\\\"cloudformationmanageduploadinfrast-artifactbucket-dflpdnkhaj8e\\\"}],\\\"capabilities\\\":[\\\"CAPABILITY_IAM\\\"],\\\"creationTime\\\":\\\"2020-03-13T09:52:15Z\\\",\\\"notificationARNs\\\":[],\\\"stackId\\\":\\\"arn:aws:cloudformation:eu-west-2:060997615305:stack/CloudFormationManagedUploadInfrastructure/5205b7d0-6510-11ea-9cf3-02949b77ae4a\\\",\\\"stackName\\\":\\\"CloudFormationManagedUploadInfrastructure\\\",\\\"driftInformation\\\":{\\\"stackDriftStatus\\\":\\\"NOT_CHECKED\\\"},\\\"description\\\":\\\"This CloudFormation template provisions all the infrastructure that is required to upload artifacts to CloudFormation's managed experience.\\\\n\\\",\\\"stackStatus\\\":\\\"CREATE_COMPLETE\\\",\\\"enableTerminationProtection\\\":true,\\\"disableRollback\\\":false,\\\"tags\\\":[]}\"","awsRegion":"eu-west-2","availabilityZone":"Regional","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:cloudformation:eu-west-2:060997615305:stack/CloudFormationManagedUploadInfrastructure/5205b7d0-6510-11ea-9cf3-02949b77ae4a","resourceName":"CloudFormationManagedUploadInfrastructure","resourceType":"AWS::CloudFormation::Stack","resourceValue":null,"state":null,"tags":"[]","title":"CloudFormationManagedUploadInfrastructure","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":130.5,"y":1290.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD","resourceId":["AROAQ4M55X3EZKJ6ZHQYO","arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD"],"parent":"Role-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD","title":"S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD","label":"S3F2-StreamP...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQ4M55X3EZKJ6ZHQYO","name":"S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD","value":null,"type":"AWS::IAM::Role","tags":"[{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"}]","arn":"arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22lambda.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQ4M55X3EZKJ6ZHQYO\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/service-role/AWSLambdaDynamoDBExecutionRole\\\",\\\"policyName\\\":\\\"AWSLambdaDynamoDBExecutionRole\\\"},{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole\\\",\\\"policyName\\\":\\\"AWSLambdaBasicExecutionRole\\\"}],\\\"roleName\\\":\\\"S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD\\\",\\\"arn\\\":\\\"arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD\\\",\\\"createDate\\\":\\\"2020-04-07T09:07:44.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22dynamodb%3AGetItem%22%2C%22dynamodb%3ADeleteItem%22%2C%22dynamodb%3APutItem%22%2C%22dynamodb%3AScan%22%2C%22dynamodb%3AQuery%22%2C%22dynamodb%3AUpdateItem%22%2C%22dynamodb%3ABatchWriteItem%22%2C%22dynamodb%3ABatchGetItem%22%2C%22dynamodb%3ADescribeTable%22%2C%22dynamodb%3AConditionCheckItem%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Adynamodb%3Aeu-west-2%3A060997615305%3Atable%2FS3F2-DDBStack-1XTUSUJ4JOMLW-JobTableRetain-IOHZO19FEV4U%22%2C%22arn%3Aaws%3Adynamodb%3Aeu-west-2%3A060997615305%3Atable%2FS3F2-DDBStack-1XTUSUJ4JOMLW-JobTableRetain-IOHZO19FEV4U%2Findex%2F%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"StreamProcessorRolePolicy0\\\"},{\\\"policyDocument\\\":\\\"%7B%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22dynamodb%3AGetItem%22%2C%22dynamodb%3ADeleteItem%22%2C%22dynamodb%3APutItem%22%2C%22dynamodb%3AScan%22%2C%22dynamodb%3AQuery%22%2C%22dynamodb%3AUpdateItem%22%2C%22dynamodb%3ABatchWriteItem%22%2C%22dynamodb%3ABatchGetItem%22%2C%22dynamodb%3ADescribeTable%22%2C%22dynamodb%3AConditionCheckItem%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Adynamodb%3Aeu-west-2%3A060997615305%3Atable%2FS3F2-DDBStack-1XTUSUJ4JOMLW-DeletionQueueTableRetain-1FHQ5SHE64X52%22%2C%22arn%3Aaws%3Adynamodb%3Aeu-west-2%3A060997615305%3Atable%2FS3F2-DDBStack-1XTUSUJ4JOMLW-DeletionQueueTableRetain-1FHQ5SHE64X52%2Findex%2F%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"StreamProcessorRolePolicy1\\\"},{\\\"policyDocument\\\":\\\"%7B%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22states%3ADescribeStateMachine%22%2C%22states%3ADescribeExecution%22%2C%22states%3AStartExecution%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Astates%3Aeu-west-2%3A060997615305%3AstateMachine%3AS3F2-StateMachine%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"StreamProcessorRolePolicy2\\\"},{\\\"policyDocument\\\":\\\"%7B%22Statement%22%3A%5B%7B%22Action%22%3A%22sqs%3ASendMessage%22%2C%22Resource%22%3A%22arn%3Aaws%3Asqs%3Aeu-west-2%3A060997615305%3AS3F2-StreamProcessorStack-NPYKSZLUZMTS-EventsDLQ-SJRS9VOSMGVK%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"StreamProcessorStreamSQSPolicy\\\"}],\\\"tags\\\":[{\\\"value\\\":\\\"SAM\\\",\\\"key\\\":\\\"lambda:createdBy\\\"}]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQ4M55X3EZKJ6ZHQYO","resourceName":"S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"}]","title":"S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-2049.5,"y":2380.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD/inlinePolicy/StreamProcessorRolePolicy1","resourceId":["arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD/inlinePolicy/StreamProcessorRolePolicy1","arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD/inlinePolicy/StreamProcessorRolePolicy1"],"parent":"InlinePolicy-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD/inlinePolicy/StreamProcessorRolePolicy1","title":"arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD/inlinePolicy/StreamProcessorRolePolicy1","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD/inlinePolicy/StreamProcessorRolePolicy1","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD/inlinePolicy/StreamProcessorRolePolicy1","name":"arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD/inlinePolicy/StreamProcessorRolePolicy1","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD/inlinePolicy/StreamProcessorRolePolicy1","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD/inlinePolicy/StreamProcessorRolePolicy1","configuration":"\"{\\\"policyName\\\":\\\"StreamProcessorRolePolicy1\\\",\\\"policyDocument\\\":{\\\"Statement\\\":[{\\\"Action\\\":[\\\"dynamodb:GetItem\\\",\\\"dynamodb:DeleteItem\\\",\\\"dynamodb:PutItem\\\",\\\"dynamodb:Scan\\\",\\\"dynamodb:Query\\\",\\\"dynamodb:UpdateItem\\\",\\\"dynamodb:BatchWriteItem\\\",\\\"dynamodb:BatchGetItem\\\",\\\"dynamodb:DescribeTable\\\",\\\"dynamodb:ConditionCheckItem\\\"],\\\"Resource\\\":[\\\"arn:aws:dynamodb:eu-west-2:060997615305:table/S3F2-DDBStack-1XTUSUJ4JOMLW-DeletionQueueTableRetain-1FHQ5SHE64X52\\\",\\\"arn:aws:dynamodb:eu-west-2:060997615305:table/S3F2-DDBStack-1XTUSUJ4JOMLW-DeletionQueueTableRetain-1FHQ5SHE64X52/index/*\\\"],\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD/inlinePolicy/StreamProcessorRolePolicy1","resourceName":"arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD/inlinePolicy/StreamProcessorRolePolicy1","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD/inlinePolicy/StreamProcessorRolePolicy1","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1498.5,"y":2307.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD/inlinePolicy/StreamProcessorRolePolicy2","resourceId":["arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD/inlinePolicy/StreamProcessorRolePolicy2","arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD/inlinePolicy/StreamProcessorRolePolicy2"],"parent":"InlinePolicy-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD/inlinePolicy/StreamProcessorRolePolicy2","title":"arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD/inlinePolicy/StreamProcessorRolePolicy2","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD/inlinePolicy/StreamProcessorRolePolicy2","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD/inlinePolicy/StreamProcessorRolePolicy2","name":"arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD/inlinePolicy/StreamProcessorRolePolicy2","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD/inlinePolicy/StreamProcessorRolePolicy2","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD/inlinePolicy/StreamProcessorRolePolicy2","configuration":"\"{\\\"policyName\\\":\\\"StreamProcessorRolePolicy2\\\",\\\"policyDocument\\\":{\\\"Statement\\\":[{\\\"Action\\\":[\\\"states:DescribeStateMachine\\\",\\\"states:DescribeExecution\\\",\\\"states:StartExecution\\\"],\\\"Resource\\\":\\\"arn:aws:states:eu-west-2:060997615305:stateMachine:S3F2-StateMachine\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD/inlinePolicy/StreamProcessorRolePolicy2","resourceName":"arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD/inlinePolicy/StreamProcessorRolePolicy2","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD/inlinePolicy/StreamProcessorRolePolicy2","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1425.5,"y":2307.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD/inlinePolicy/StreamProcessorStreamSQSPolicy","resourceId":["arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD/inlinePolicy/StreamProcessorStreamSQSPolicy","arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD/inlinePolicy/StreamProcessorStreamSQSPolicy"],"parent":"InlinePolicy-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD/inlinePolicy/StreamProcessorStreamSQSPolicy","title":"arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD/inlinePolicy/StreamProcessorStreamSQSPolicy","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD/inlinePolicy/StreamProcessorStreamSQSPolicy","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD/inlinePolicy/StreamProcessorStreamSQSPolicy","name":"arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD/inlinePolicy/StreamProcessorStreamSQSPolicy","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD/inlinePolicy/StreamProcessorStreamSQSPolicy","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD/inlinePolicy/StreamProcessorStreamSQSPolicy","configuration":"\"{\\\"policyName\\\":\\\"StreamProcessorStreamSQSPolicy\\\",\\\"policyDocument\\\":{\\\"Statement\\\":[{\\\"Action\\\":\\\"sqs:SendMessage\\\",\\\"Resource\\\":\\\"arn:aws:sqs:eu-west-2:060997615305:S3F2-StreamProcessorStack-NPYKSZLUZMTS-EventsDLQ-SJRS9VOSMGVK\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD/inlinePolicy/StreamProcessorStreamSQSPolicy","resourceName":"arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD/inlinePolicy/StreamProcessorStreamSQSPolicy","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD/inlinePolicy/StreamProcessorStreamSQSPolicy","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1352.5,"y":2307.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD/inlinePolicy/StreamProcessorRolePolicy0","resourceId":["arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD/inlinePolicy/StreamProcessorRolePolicy0","arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD/inlinePolicy/StreamProcessorRolePolicy0"],"parent":"InlinePolicy-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD/inlinePolicy/StreamProcessorRolePolicy0","title":"arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD/inlinePolicy/StreamProcessorRolePolicy0","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD/inlinePolicy/StreamProcessorRolePolicy0","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD/inlinePolicy/StreamProcessorRolePolicy0","name":"arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD/inlinePolicy/StreamProcessorRolePolicy0","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD/inlinePolicy/StreamProcessorRolePolicy0","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD/inlinePolicy/StreamProcessorRolePolicy0","configuration":"\"{\\\"policyName\\\":\\\"StreamProcessorRolePolicy0\\\",\\\"policyDocument\\\":{\\\"Statement\\\":[{\\\"Action\\\":[\\\"dynamodb:GetItem\\\",\\\"dynamodb:DeleteItem\\\",\\\"dynamodb:PutItem\\\",\\\"dynamodb:Scan\\\",\\\"dynamodb:Query\\\",\\\"dynamodb:UpdateItem\\\",\\\"dynamodb:BatchWriteItem\\\",\\\"dynamodb:BatchGetItem\\\",\\\"dynamodb:DescribeTable\\\",\\\"dynamodb:ConditionCheckItem\\\"],\\\"Resource\\\":[\\\"arn:aws:dynamodb:eu-west-2:060997615305:table/S3F2-DDBStack-1XTUSUJ4JOMLW-JobTableRetain-IOHZO19FEV4U\\\",\\\"arn:aws:dynamodb:eu-west-2:060997615305:table/S3F2-DDBStack-1XTUSUJ4JOMLW-JobTableRetain-IOHZO19FEV4U/index/*\\\"],\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD/inlinePolicy/StreamProcessorRolePolicy0","resourceName":"arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD/inlinePolicy/StreamProcessorRolePolicy0","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD/inlinePolicy/StreamProcessorRolePolicy0","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1279.5,"y":2307.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:lambda:eu-west-2:060997615305:function:S3F2-StreamProcessorStack-NPYKSZLU-StreamProcessor-SZSELCQAXI8X","resourceId":["S3F2-StreamProcessorStack-NPYKSZLU-StreamProcessor-SZSELCQAXI8X","arn:aws:lambda:eu-west-2:060997615305:function:S3F2-StreamProcessorStack-NPYKSZLU-StreamProcessor-SZSELCQAXI8X"],"parent":"Function-eu-west-2-060997615305","level":3,"id":"arn:aws:lambda:eu-west-2:060997615305:function:S3F2-StreamProcessorStack-NPYKSZLU-StreamProcessor-SZSELCQAXI8X","title":"S3F2-StreamProcessorStack-NPYKSZLU-StreamProcessor-SZSELCQAXI8X","label":"S3F2-StreamP...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:lambda:eu-west-2:060997615305:function:S3F2-StreamProcessorStack-NPYKSZLU-StreamProcessor-SZSELCQAXI8X","image":"/icons/AWS-Lambda-menu.svg","cost":0,"private":false,"resource":{"id":"S3F2-StreamProcessorStack-NPYKSZLU-StreamProcessor-SZSELCQAXI8X","name":"S3F2-StreamProcessorStack-NPYKSZLU-StreamProcessor-SZSELCQAXI8X","value":null,"type":"AWS::Lambda::Function","tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2-StreamProcessorStack-NPYKSZLUZMTS\",\"value\":\"S3F2-StreamProcessorStack-NPYKSZLUZMTS\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2-StreamProcessorStack-NPYKSZLUZMTS/38c0a2a0-78af-11ea-ad69-0aea06869730\",\"value\":\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2-StreamProcessorStack-NPYKSZLUZMTS/38c0a2a0-78af-11ea-ad69-0aea06869730\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=StreamProcessor\",\"value\":\"StreamProcessor\",\"key\":\"aws:cloudformation:logical-id\"}]","arn":"arn:aws:lambda:eu-west-2:060997615305:function:S3F2-StreamProcessorStack-NPYKSZLU-StreamProcessor-SZSELCQAXI8X","region":"eu-west-2","state":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/lambda/home?region=eu-west-2#/functions/S3F2-StreamProcessorStack-NPYKSZLU-StreamProcessor-SZSELCQAXI8X?tab=graph","loginURL":"https://060997615305.signin.aws.amazon.com/console/lambda?region=eu-west-2#/functions/S3F2-StreamProcessorStack-NPYKSZLU-StreamProcessor-SZSELCQAXI8X?tab=graph","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:lambda:eu-west-2:060997615305:function:S3F2-StreamProcessorStack-NPYKSZLU-StreamProcessor-SZSELCQAXI8X","configuration":"\"{\\\"architectures\\\":[\\\"x86_64\\\"],\\\"ephemeralStorage\\\":{\\\"size\\\":512},\\\"handler\\\":\\\"stream_processor.handler\\\",\\\"role\\\":\\\"arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD\\\",\\\"functionName\\\":\\\"S3F2-StreamProcessorStack-NPYKSZLU-StreamProcessor-SZSELCQAXI8X\\\",\\\"tracingConfig\\\":{\\\"mode\\\":\\\"PassThrough\\\"},\\\"runtime\\\":\\\"python3.7\\\",\\\"description\\\":\\\"\\\",\\\"runtimeVersionConfig\\\":{\\\"runtimeVersionArn\\\":\\\"arn:aws:lambda:eu-west-2::runtime:404f127cf4d3b0d7368361968087bb9052f80c682e74e5e3cae6dc86d049242c\\\"},\\\"codeSize\\\":17283,\\\"version\\\":\\\"$LATEST\\\",\\\"packageType\\\":\\\"Zip\\\",\\\"timeout\\\":180,\\\"revisionId\\\":\\\"0b9b3ec9-c968-412d-a367-b22931901031\\\",\\\"codeSha256\\\":\\\"lsKKydh7BK9vr6p5WYbJ478HQy+10iNGO7MPcnRazt0=\\\",\\\"memorySize\\\":128,\\\"fileSystemConfigs\\\":[],\\\"vpcConfig\\\":{\\\"securityGroupIds\\\":[],\\\"subnetIds\\\":[]},\\\"lastUpdateStatus\\\":\\\"Successful\\\",\\\"layers\\\":[{\\\"arn\\\":\\\"arn:aws:lambda:eu-west-2:060997615305:layer:AWSSDK:20\\\",\\\"codeSize\\\":8603512},{\\\"arn\\\":\\\"arn:aws:lambda:eu-west-2:060997615305:layer:Decorators:89\\\",\\\"codeSize\\\":1560296},{\\\"arn\\\":\\\"arn:aws:lambda:eu-west-2:060997615305:layer:BotoUtils:139\\\",\\\"codeSize\\\":7786}],\\\"snapStart\\\":{\\\"applyOn\\\":\\\"None\\\",\\\"optimizationStatus\\\":\\\"Off\\\"},\\\"lastModified\\\":\\\"2020-11-12T17:29:08.476+0000\\\",\\\"state\\\":{\\\"value\\\":\\\"Active\\\"},\\\"functionArn\\\":\\\"arn:aws:lambda:eu-west-2:060997615305:function:S3F2-StreamProcessorStack-NPYKSZLU-StreamProcessor-SZSELCQAXI8X\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/lambda/home?region=eu-west-2#/functions/S3F2-StreamProcessorStack-NPYKSZLU-StreamProcessor-SZSELCQAXI8X?tab=graph","loginURL":"https://060997615305.signin.aws.amazon.com/console/lambda?region=eu-west-2#/functions/S3F2-StreamProcessorStack-NPYKSZLU-StreamProcessor-SZSELCQAXI8X?tab=graph","private":null,"resourceId":"S3F2-StreamProcessorStack-NPYKSZLU-StreamProcessor-SZSELCQAXI8X","resourceName":"S3F2-StreamProcessorStack-NPYKSZLU-StreamProcessor-SZSELCQAXI8X","resourceType":"AWS::Lambda::Function","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2-StreamProcessorStack-NPYKSZLUZMTS\",\"value\":\"S3F2-StreamProcessorStack-NPYKSZLUZMTS\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2-StreamProcessorStack-NPYKSZLUZMTS/38c0a2a0-78af-11ea-ad69-0aea06869730\",\"value\":\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2-StreamProcessorStack-NPYKSZLUZMTS/38c0a2a0-78af-11ea-ad69-0aea06869730\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=StreamProcessor\",\"value\":\"StreamProcessor\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"S3F2-StreamProcessorStack-NPYKSZLU-StreamProcessor-SZSELCQAXI8X","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":535.5,"y":1217.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2-StreamProcessorStack-NPYKSZLUZMTS/38c0a2a0-78af-11ea-ad69-0aea06869730","resourceId":["arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2-StreamProcessorStack-NPYKSZLUZMTS/38c0a2a0-78af-11ea-ad69-0aea06869730","arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2-StreamProcessorStack-NPYKSZLUZMTS/38c0a2a0-78af-11ea-ad69-0aea06869730"],"parent":"Stack-eu-west-2-060997615305","level":3,"id":"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2-StreamProcessorStack-NPYKSZLUZMTS/38c0a2a0-78af-11ea-ad69-0aea06869730","title":"S3F2-StreamProcessorStack-NPYKSZLUZMTS","label":"S3F2-StreamP...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2-StreamProcessorStack-NPYKSZLUZMTS/38c0a2a0-78af-11ea-ad69-0aea06869730","image":"/icons/AWS-CloudFormation.svg","cost":0,"private":false,"resource":{"id":"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2-StreamProcessorStack-NPYKSZLUZMTS/38c0a2a0-78af-11ea-ad69-0aea06869730","name":"S3F2-StreamProcessorStack-NPYKSZLUZMTS","value":null,"type":"AWS::CloudFormation::Stack","tags":"[]","arn":"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2-StreamProcessorStack-NPYKSZLUZMTS/38c0a2a0-78af-11ea-ad69-0aea06869730","region":"eu-west-2","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2-StreamProcessorStack-NPYKSZLUZMTS/38c0a2a0-78af-11ea-ad69-0aea06869730","configuration":"\"{\\\"outputs\\\":[],\\\"capabilities\\\":[\\\"CAPABILITY_IAM\\\",\\\"CAPABILITY_AUTO_EXPAND\\\"],\\\"creationTime\\\":\\\"2020-04-07T09:07:35Z\\\",\\\"notificationARNs\\\":[],\\\"stackId\\\":\\\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2-StreamProcessorStack-NPYKSZLUZMTS/38c0a2a0-78af-11ea-ad69-0aea06869730\\\",\\\"stackName\\\":\\\"S3F2-StreamProcessorStack-NPYKSZLUZMTS\\\",\\\"description\\\":\\\"Amazon S3 Find and Forget Stream Processor\\\",\\\"stackStatus\\\":\\\"UPDATE_COMPLETE\\\",\\\"disableRollback\\\":true,\\\"parentId\\\":\\\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2/a3dc0710-78ae-11ea-91a4-06bdd06f2a66\\\",\\\"tags\\\":[],\\\"driftInformation\\\":{\\\"stackDriftStatus\\\":\\\"NOT_CHECKED\\\"},\\\"enableTerminationProtection\\\":false,\\\"lastUpdatedTime\\\":\\\"2020-11-12T18:26:02Z\\\",\\\"parameters\\\":[{\\\"parameterKey\\\":\\\"DeletionQueueTableName\\\",\\\"parameterValue\\\":\\\"S3F2-DDBStack-1XTUSUJ4JOMLW-DeletionQueueTableRetain-1FHQ5SHE64X52\\\"},{\\\"parameterKey\\\":\\\"CommonLayers\\\",\\\"parameterValue\\\":\\\"arn:aws:lambda:eu-west-2:060997615305:layer:AWSSDK:20,arn:aws:lambda:eu-west-2:060997615305:layer:Decorators:89,arn:aws:lambda:eu-west-2:060997615305:layer:BotoUtils:139\\\"},{\\\"parameterKey\\\":\\\"JobTableName\\\",\\\"parameterValue\\\":\\\"S3F2-DDBStack-1XTUSUJ4JOMLW-JobTableRetain-IOHZO19FEV4U\\\"},{\\\"parameterKey\\\":\\\"JobTableStreamArn\\\",\\\"parameterValue\\\":\\\"arn:aws:dynamodb:eu-west-2:060997615305:table/S3F2-DDBStack-1XTUSUJ4JOMLW-JobTableRetain-IOHZO19FEV4U/stream/2020-04-07T09:03:39.812\\\"},{\\\"parameterKey\\\":\\\"StateMachineArn\\\",\\\"parameterValue\\\":\\\"arn:aws:states:eu-west-2:060997615305:stateMachine:S3F2-StateMachine\\\"},{\\\"parameterKey\\\":\\\"JobTableDateGSI\\\",\\\"parameterValue\\\":\\\"Date-GSI\\\"},{\\\"parameterKey\\\":\\\"LogLevel\\\",\\\"parameterValue\\\":\\\"INFO\\\"}]}\"","awsRegion":"eu-west-2","availabilityZone":"Regional","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2-StreamProcessorStack-NPYKSZLUZMTS/38c0a2a0-78af-11ea-ad69-0aea06869730","resourceName":"S3F2-StreamProcessorStack-NPYKSZLUZMTS","resourceType":"AWS::CloudFormation::Stack","resourceValue":null,"state":null,"tags":"[]","title":"S3F2-StreamProcessorStack-NPYKSZLUZMTS","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":203.5,"y":1290.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/DataPipelineDefaultResourceRole","resourceId":["AROAQ4M55X3EY77UTL5XH","arn:aws:iam::060997615305:role/DataPipelineDefaultResourceRole"],"parent":"Role-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/DataPipelineDefaultResourceRole","title":"DataPipelineDefaultResourceRole","label":"DataPipeline...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/DataPipelineDefaultResourceRole","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQ4M55X3EY77UTL5XH","name":"DataPipelineDefaultResourceRole","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::060997615305:role/DataPipelineDefaultResourceRole","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/DataPipelineDefaultResourceRole","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22ec2.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[{\\\"path\\\":\\\"/\\\",\\\"instanceProfileName\\\":\\\"DataPipelineDefaultResourceRole\\\",\\\"roles\\\":[{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22ec2.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"roleId\\\":\\\"AROAQ4M55X3EY77UTL5XH\\\",\\\"roleName\\\":\\\"DataPipelineDefaultResourceRole\\\",\\\"arn\\\":\\\"arn:aws:iam::060997615305:role/DataPipelineDefaultResourceRole\\\",\\\"createDate\\\":\\\"2020-06-02T09:03:49.000Z\\\",\\\"tags\\\":[]}],\\\"instanceProfileId\\\":\\\"AIPAQ4M55X3EU6WWZLIPK\\\",\\\"arn\\\":\\\"arn:aws:iam::060997615305:instance-profile/DataPipelineDefaultResourceRole\\\",\\\"createDate\\\":\\\"2020-06-02T09:03:49.000Z\\\"}],\\\"roleId\\\":\\\"AROAQ4M55X3EY77UTL5XH\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/service-role/AmazonEC2RoleforDataPipelineRole\\\",\\\"policyName\\\":\\\"AmazonEC2RoleforDataPipelineRole\\\"}],\\\"roleName\\\":\\\"DataPipelineDefaultResourceRole\\\",\\\"arn\\\":\\\"arn:aws:iam::060997615305:role/DataPipelineDefaultResourceRole\\\",\\\"createDate\\\":\\\"2020-06-02T09:03:49.000Z\\\",\\\"rolePolicyList\\\":[],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQ4M55X3EY77UTL5XH","resourceName":"DataPipelineDefaultResourceRole","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"DataPipelineDefaultResourceRole","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-1976.5,"y":2380.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/MediaAnalysis-LambdaSetupRole-IJX7ABNYWS1T","resourceId":["AROAQ4M55X3EYSOBRMHCG","arn:aws:iam::060997615305:role/MediaAnalysis-LambdaSetupRole-IJX7ABNYWS1T"],"parent":"Role-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/MediaAnalysis-LambdaSetupRole-IJX7ABNYWS1T","title":"MediaAnalysis-LambdaSetupRole-IJX7ABNYWS1T","label":"MediaAnalysi...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/MediaAnalysis-LambdaSetupRole-IJX7ABNYWS1T","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQ4M55X3EYSOBRMHCG","name":"MediaAnalysis-LambdaSetupRole-IJX7ABNYWS1T","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::060997615305:role/MediaAnalysis-LambdaSetupRole-IJX7ABNYWS1T","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/MediaAnalysis-LambdaSetupRole-IJX7ABNYWS1T","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22lambda.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQ4M55X3EYSOBRMHCG\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole\\\",\\\"policyName\\\":\\\"AWSLambdaBasicExecutionRole\\\"}],\\\"roleName\\\":\\\"MediaAnalysis-LambdaSetupRole-IJX7ABNYWS1T\\\",\\\"arn\\\":\\\"arn:aws:iam::060997615305:role/MediaAnalysis-LambdaSetupRole-IJX7ABNYWS1T\\\",\\\"createDate\\\":\\\"2019-09-26T15:05:44.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22s3%3A%2A%22%2C%22ecr%3A%2A%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"LambdaSetupRolePolicy1\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQ4M55X3EYSOBRMHCG","resourceName":"MediaAnalysis-LambdaSetupRole-IJX7ABNYWS1T","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"MediaAnalysis-LambdaSetupRole-IJX7ABNYWS1T","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-1903.5,"y":2380.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/MediaAnalysis-LambdaSetupRole-IJX7ABNYWS1T/inlinePolicy/LambdaSetupRolePolicy1","resourceId":["arn:aws:iam::060997615305:role/MediaAnalysis-LambdaSetupRole-IJX7ABNYWS1T/inlinePolicy/LambdaSetupRolePolicy1","arn:aws:iam::060997615305:role/MediaAnalysis-LambdaSetupRole-IJX7ABNYWS1T/inlinePolicy/LambdaSetupRolePolicy1"],"parent":"InlinePolicy-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/MediaAnalysis-LambdaSetupRole-IJX7ABNYWS1T/inlinePolicy/LambdaSetupRolePolicy1","title":"arn:aws:iam::060997615305:role/MediaAnalysis-LambdaSetupRole-IJX7ABNYWS1T/inlinePolicy/LambdaSetupRolePolicy1","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/MediaAnalysis-LambdaSetupRole-IJX7ABNYWS1T/inlinePolicy/LambdaSetupRolePolicy1","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::060997615305:role/MediaAnalysis-LambdaSetupRole-IJX7ABNYWS1T/inlinePolicy/LambdaSetupRolePolicy1","name":"arn:aws:iam::060997615305:role/MediaAnalysis-LambdaSetupRole-IJX7ABNYWS1T/inlinePolicy/LambdaSetupRolePolicy1","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::060997615305:role/MediaAnalysis-LambdaSetupRole-IJX7ABNYWS1T/inlinePolicy/LambdaSetupRolePolicy1","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/MediaAnalysis-LambdaSetupRole-IJX7ABNYWS1T/inlinePolicy/LambdaSetupRolePolicy1","configuration":"\"{\\\"policyName\\\":\\\"LambdaSetupRolePolicy1\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"s3:*\\\",\\\"ecr:*\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::060997615305:role/MediaAnalysis-LambdaSetupRole-IJX7ABNYWS1T/inlinePolicy/LambdaSetupRolePolicy1","resourceName":"arn:aws:iam::060997615305:role/MediaAnalysis-LambdaSetupRole-IJX7ABNYWS1T/inlinePolicy/LambdaSetupRolePolicy1","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::060997615305:role/MediaAnalysis-LambdaSetupRole-IJX7ABNYWS1T/inlinePolicy/LambdaSetupRolePolicy1","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1206.5,"y":1942.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:lambda:eu-west-1:060997615305:function:MediaAnalysisSetup","resourceId":["MediaAnalysisSetup","arn:aws:lambda:eu-west-1:060997615305:function:MediaAnalysisSetup"],"parent":"Function-eu-west-1-060997615305","level":3,"id":"arn:aws:lambda:eu-west-1:060997615305:function:MediaAnalysisSetup","title":"MediaAnalysisSetup","label":"MediaAnalysi...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:lambda:eu-west-1:060997615305:function:MediaAnalysisSetup","image":"/icons/AWS-Lambda-menu.svg","cost":0,"private":false,"resource":{"id":"MediaAnalysisSetup","name":"MediaAnalysisSetup","value":null,"type":"AWS::Lambda::Function","tags":"[{\"tag\":\"aws:cloudformation:stack-name=MediaAnalysis\",\"value\":\"MediaAnalysis\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=LambdaSetup\",\"value\":\"LambdaSetup\",\"key\":\"aws:cloudformation:logical-id\"}]","arn":"arn:aws:lambda:eu-west-1:060997615305:function:MediaAnalysisSetup","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/lambda/home?region=eu-west-1#/functions/MediaAnalysisSetup?tab=graph","loginURL":"https://060997615305.signin.aws.amazon.com/console/lambda?region=eu-west-1#/functions/MediaAnalysisSetup?tab=graph","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:lambda:eu-west-1:060997615305:function:MediaAnalysisSetup","configuration":"\"{\\\"architectures\\\":[\\\"x86_64\\\"],\\\"ephemeralStorage\\\":{\\\"size\\\":512},\\\"handler\\\":\\\"index.handler\\\",\\\"role\\\":\\\"arn:aws:iam::060997615305:role/MediaAnalysis-LambdaSetupRole-IJX7ABNYWS1T\\\",\\\"functionName\\\":\\\"MediaAnalysisSetup\\\",\\\"tracingConfig\\\":{\\\"mode\\\":\\\"PassThrough\\\"},\\\"runtime\\\":\\\"nodejs10.x\\\",\\\"description\\\":\\\"Custom Lambda resource for the Media Analysis Cloudformation Stack\\\",\\\"codeSize\\\":5560581,\\\"version\\\":\\\"$LATEST\\\",\\\"packageType\\\":\\\"Zip\\\",\\\"timeout\\\":900,\\\"revisionId\\\":\\\"f67993ef-badc-4d10-9abf-a4e21a0c9e8c\\\",\\\"codeSha256\\\":\\\"asTYvx6ViGUrey8lzBnl+YX4kyE55fBdBmPnD0qu7Gg=\\\",\\\"memorySize\\\":256,\\\"fileSystemConfigs\\\":[],\\\"lastUpdateStatus\\\":\\\"Successful\\\",\\\"layers\\\":[{\\\"arn\\\":\\\"arn:aws:lambda:eu-west-1:060997615305:layer:MediaAnalysisAWSSDK:12\\\",\\\"codeSize\\\":5171574}],\\\"snapStart\\\":{\\\"applyOn\\\":\\\"None\\\",\\\"optimizationStatus\\\":\\\"Off\\\"},\\\"lastModified\\\":\\\"2019-09-26T15:06:25.077+0000\\\",\\\"state\\\":{\\\"value\\\":\\\"Active\\\"},\\\"functionArn\\\":\\\"arn:aws:lambda:eu-west-1:060997615305:function:MediaAnalysisSetup\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/lambda/home?region=eu-west-1#/functions/MediaAnalysisSetup?tab=graph","loginURL":"https://060997615305.signin.aws.amazon.com/console/lambda?region=eu-west-1#/functions/MediaAnalysisSetup?tab=graph","private":null,"resourceId":"MediaAnalysisSetup","resourceName":"MediaAnalysisSetup","resourceType":"AWS::Lambda::Function","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=MediaAnalysis\",\"value\":\"MediaAnalysis\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=LambdaSetup\",\"value\":\"LambdaSetup\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"MediaAnalysisSetup","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2049.5,"y":1676.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/AVMContainersUserRole","resourceId":["AROAQ4M55X3EYT5GAL6ZS","arn:aws:iam::060997615305:role/AVMContainersUserRole"],"parent":"Role-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/AVMContainersUserRole","title":"AVMContainersUserRole","label":"AVMContainer...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/AVMContainersUserRole","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQ4M55X3EYT5GAL6ZS","name":"AVMContainersUserRole","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::060997615305:role/AVMContainersUserRole","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/AVMContainersUserRole","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Sid%22%3A%22%22%2C%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22AWS%22%3A%22arn%3Aaws%3Aiam%3A%3A214732530209%3Aroot%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%2C%22Condition%22%3A%7B%22StringEquals%22%3A%7B%22sts%3AExternalId%22%3A%22InspectorEnablementRoleNu30XxViVbJq%22%7D%7D%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQ4M55X3EYT5GAL6ZS\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"AVMContainersUserRole\\\",\\\"arn\\\":\\\"arn:aws:iam::060997615305:role/AVMContainersUserRole\\\",\\\"createDate\\\":\\\"2023-03-22T18:34:10.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%0A%20%20%22Version%22%3A%20%222012-10-17%22%2C%0A%20%20%22Statement%22%3A%20%5B%0A%20%20%20%20%7B%0A%20%20%20%20%20%20%22Sid%22%3A%20%22AVMContainersUserPolicyForStandaloneAccounts%22%2C%0A%20%20%20%20%20%20%22Effect%22%3A%20%22Allow%22%2C%0A%20%20%20%20%20%20%22Action%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%22inspector2%3ABatchGetAccountStatus%22%2C%0A%20%20%20%20%20%20%20%20%22inspector2%3AListCoverage%22%2C%0A%20%20%20%20%20%20%20%20%22inspector2%3AListCoverageStatistics%22%2C%0A%20%20%20%20%20%20%20%20%22inspector2%3AListFindingAggregations%22%2C%0A%20%20%20%20%20%20%20%20%22inspector2%3AListFindings%22%2C%0A%20%20%20%20%20%20%20%20%22inspector2%3AEnable%22%2C%0A%20%20%20%20%20%20%20%20%22ecr%3APutRegistryScanningConfiguration%22%2C%0A%20%20%20%20%20%20%20%20%22ecr%3AGetRegistryScanningConfiguration%22%0A%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%22Resource%22%3A%20%22%2A%22%0A%20%20%20%20%7D%2C%0A%20%20%20%20%7B%0A%20%20%20%20%20%20%22Effect%22%3A%20%22Allow%22%2C%0A%20%20%20%20%20%20%22Action%22%3A%20%22iam%3ACreateServiceLinkedRole%22%2C%0A%20%20%20%20%20%20%22Resource%22%3A%20%22arn%3A%2A%3Aiam%3A%3A%2A%3Arole%2Faws-service-role%2Finspector2.amazonaws.com%2FAWSServiceRoleForAmazonInspector2%22%2C%0A%20%20%20%20%20%20%22Condition%22%3A%20%7B%0A%20%20%20%20%20%20%20%20%22StringEquals%22%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%22iam%3AAWSServiceName%22%3A%20%22inspector2.amazonaws.com%22%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%5D%0A%7D%0A\\\",\\\"policyName\\\":\\\"AWSContainerAssessmentPolicy\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQ4M55X3EYT5GAL6ZS","resourceName":"AVMContainersUserRole","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"AVMContainersUserRole","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-1830.5,"y":2380.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/AVMContainersUserRole/inlinePolicy/AWSContainerAssessmentPolicy","resourceId":["arn:aws:iam::060997615305:role/AVMContainersUserRole/inlinePolicy/AWSContainerAssessmentPolicy","arn:aws:iam::060997615305:role/AVMContainersUserRole/inlinePolicy/AWSContainerAssessmentPolicy"],"parent":"InlinePolicy-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/AVMContainersUserRole/inlinePolicy/AWSContainerAssessmentPolicy","title":"arn:aws:iam::060997615305:role/AVMContainersUserRole/inlinePolicy/AWSContainerAssessmentPolicy","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/AVMContainersUserRole/inlinePolicy/AWSContainerAssessmentPolicy","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::060997615305:role/AVMContainersUserRole/inlinePolicy/AWSContainerAssessmentPolicy","name":"arn:aws:iam::060997615305:role/AVMContainersUserRole/inlinePolicy/AWSContainerAssessmentPolicy","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::060997615305:role/AVMContainersUserRole/inlinePolicy/AWSContainerAssessmentPolicy","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/AVMContainersUserRole/inlinePolicy/AWSContainerAssessmentPolicy","configuration":"\"{\\\"policyName\\\":\\\"AWSContainerAssessmentPolicy\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Sid\\\":\\\"AVMContainersUserPolicyForStandaloneAccounts\\\",\\\"Effect\\\":\\\"Allow\\\",\\\"Action\\\":[\\\"inspector2:BatchGetAccountStatus\\\",\\\"inspector2:ListCoverage\\\",\\\"inspector2:ListCoverageStatistics\\\",\\\"inspector2:ListFindingAggregations\\\",\\\"inspector2:ListFindings\\\",\\\"inspector2:Enable\\\",\\\"ecr:PutRegistryScanningConfiguration\\\",\\\"ecr:GetRegistryScanningConfiguration\\\"],\\\"Resource\\\":\\\"*\\\"},{\\\"Effect\\\":\\\"Allow\\\",\\\"Action\\\":\\\"iam:CreateServiceLinkedRole\\\",\\\"Resource\\\":\\\"arn:*:iam::*:role/aws-service-role/inspector2.amazonaws.com/AWSServiceRoleForAmazonInspector2\\\",\\\"Condition\\\":{\\\"StringEquals\\\":{\\\"iam:AWSServiceName\\\":\\\"inspector2.amazonaws.com\\\"}}}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::060997615305:role/AVMContainersUserRole/inlinePolicy/AWSContainerAssessmentPolicy","resourceName":"arn:aws:iam::060997615305:role/AVMContainersUserRole/inlinePolicy/AWSContainerAssessmentPolicy","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::060997615305:role/AVMContainersUserRole/inlinePolicy/AWSContainerAssessmentPolicy","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1206.5,"y":2015.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/coco-accelerate-repo","resourceId":["AROAQ4M55X3EZVR25PUWE","arn:aws:iam::060997615305:role/coco-accelerate-repo"],"parent":"Role-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/coco-accelerate-repo","title":"coco-accelerate-repo","label":"coco-acceler...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/coco-accelerate-repo","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQ4M55X3EZVR25PUWE","name":"coco-accelerate-repo","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::060997615305:role/coco-accelerate-repo","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/coco-accelerate-repo","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Sid%22%3A%22%22%2C%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22AWS%22%3A%22arn%3Aaws%3Aiam%3A%3A727820809195%3Aroot%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%2C%22Condition%22%3A%7B%22StringEquals%22%3A%7B%22sts%3AExternalId%22%3A%22IsengardExternalIdXzhQ5IbT1jY9%22%7D%7D%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQ4M55X3EZVR25PUWE\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"coco-accelerate-repo\\\",\\\"arn\\\":\\\"arn:aws:iam::060997615305:role/coco-accelerate-repo\\\",\\\"createDate\\\":\\\"2020-01-09T11:54:18.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%0A%20%20%20%20%22Version%22%3A%20%222012-10-17%22%2C%0A%20%20%20%20%22Statement%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Action%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22codecommit%3AAssociateApprovalRuleTemplateWithRepository%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22codecommit%3ABatchAssociateApprovalRuleTemplateWithRepositories%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22codecommit%3ABatchDisassociateApprovalRuleTemplateFromRepositories%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22codecommit%3ABatchGet%2A%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22codecommit%3ABatchDescribe%2A%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22codecommit%3AGet%2A%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22codecommit%3AList%2A%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22codecommit%3ACreate%2A%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22codecommit%3ADeleteBranch%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22codecommit%3ADeleteFile%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22codecommit%3ADescribe%2A%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22codecommit%3ADisassociateApprovalRuleTemplateFromRepository%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22codecommit%3AEvaluatePullRequestApprovalRules%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22codecommit%3AOverridePullRequestApprovalRules%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22codecommit%3APut%2A%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22codecommit%3APost%2A%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22codecommit%3AMerge%2A%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22codecommit%3ATagResource%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22codecommit%3ATest%2A%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22codecommit%3AUntagResource%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22codecommit%3AUpdate%2A%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22codecommit%3AGitPull%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22codecommit%3AGitPush%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Resource%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22arn%3Aaws%3Acodecommit%3Aeu-west-2%3A060997615305%3Aaccelerate-sa-groupinator%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Effect%22%3A%20%22Allow%22%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%5D%0A%7D\\\",\\\"policyName\\\":\\\"poweruser\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://060997615305.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQ4M55X3EZVR25PUWE","resourceName":"coco-accelerate-repo","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"coco-accelerate-repo","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-1757.5,"y":2380.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::060997615305:role/coco-accelerate-repo/inlinePolicy/poweruser","resourceId":["arn:aws:iam::060997615305:role/coco-accelerate-repo/inlinePolicy/poweruser","arn:aws:iam::060997615305:role/coco-accelerate-repo/inlinePolicy/poweruser"],"parent":"InlinePolicy-global-060997615305","level":3,"id":"arn:aws:iam::060997615305:role/coco-accelerate-repo/inlinePolicy/poweruser","title":"arn:aws:iam::060997615305:role/coco-accelerate-repo/inlinePolicy/poweruser","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::060997615305:role/coco-accelerate-repo/inlinePolicy/poweruser","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::060997615305:role/coco-accelerate-repo/inlinePolicy/poweruser","name":"arn:aws:iam::060997615305:role/coco-accelerate-repo/inlinePolicy/poweruser","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::060997615305:role/coco-accelerate-repo/inlinePolicy/poweruser","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:iam::060997615305:role/coco-accelerate-repo/inlinePolicy/poweruser","configuration":"\"{\\\"policyName\\\":\\\"poweruser\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"codecommit:AssociateApprovalRuleTemplateWithRepository\\\",\\\"codecommit:BatchAssociateApprovalRuleTemplateWithRepositories\\\",\\\"codecommit:BatchDisassociateApprovalRuleTemplateFromRepositories\\\",\\\"codecommit:BatchGet*\\\",\\\"codecommit:BatchDescribe*\\\",\\\"codecommit:Get*\\\",\\\"codecommit:List*\\\",\\\"codecommit:Create*\\\",\\\"codecommit:DeleteBranch\\\",\\\"codecommit:DeleteFile\\\",\\\"codecommit:Describe*\\\",\\\"codecommit:DisassociateApprovalRuleTemplateFromRepository\\\",\\\"codecommit:EvaluatePullRequestApprovalRules\\\",\\\"codecommit:OverridePullRequestApprovalRules\\\",\\\"codecommit:Put*\\\",\\\"codecommit:Post*\\\",\\\"codecommit:Merge*\\\",\\\"codecommit:TagResource\\\",\\\"codecommit:Test*\\\",\\\"codecommit:UntagResource\\\",\\\"codecommit:Update*\\\",\\\"codecommit:GitPull\\\",\\\"codecommit:GitPush\\\"],\\\"Resource\\\":[\\\"arn:aws:codecommit:eu-west-2:060997615305:accelerate-sa-groupinator\\\"],\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::060997615305:role/coco-accelerate-repo/inlinePolicy/poweruser","resourceName":"arn:aws:iam::060997615305:role/coco-accelerate-repo/inlinePolicy/poweruser","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::060997615305:role/coco-accelerate-repo/inlinePolicy/poweruser","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1206.5,"y":2088.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/InspectorEnablementRole","resourceId":["AROAQU6I6AO4WEUDVPEMB","arn:aws:iam::044981683129:role/InspectorEnablementRole"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/InspectorEnablementRole","title":"InspectorEnablementRole","label":"InspectorEna...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/InspectorEnablementRole","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO4WEUDVPEMB","name":"InspectorEnablementRole","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/InspectorEnablementRole","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/InspectorEnablementRole","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Sid%22%3A%22%22%2C%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22AWS%22%3A%22arn%3Aaws%3Aiam%3A%3A670867504298%3Aroot%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%2C%22Condition%22%3A%7B%22StringEquals%22%3A%7B%22sts%3AExternalId%22%3A%22InspectorEnablementRolepfSz8t8WeJ9I%22%7D%7D%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO4WEUDVPEMB\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"InspectorEnablementRole\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/InspectorEnablementRole\\\",\\\"createDate\\\":\\\"2021-12-16T03:18:16.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%0A%20%20%20%20%22Version%22%3A%20%222012-10-17%22%2C%0A%20%20%20%20%22Statement%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Effect%22%3A%20%22Allow%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Action%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22inspector2%3A%2A%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22ecr%3APutRegistryScanningConfiguration%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22ecr%3ADescribeRepositories%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22ecr%3AGetRegistryScanningConfiguration%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22organizations%3AListAccounts%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Resource%22%3A%20%22%2A%22%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Effect%22%3A%20%22Allow%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Action%22%3A%20%22iam%3ACreateServiceLinkedRole%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Resource%22%3A%20%22%2A%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Condition%22%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22StringEquals%22%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22iam%3AAWSServiceName%22%3A%20%22inspector2.amazonaws.com%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%5D%0A%7D\\\",\\\"policyName\\\":\\\"Inspector2EnablementPolicy\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO4WEUDVPEMB","resourceName":"InspectorEnablementRole","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"InspectorEnablementRole","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":476.5,"y":-2540.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/InspectorEnablementRole/inlinePolicy/Inspector2EnablementPolicy","resourceId":["arn:aws:iam::044981683129:role/InspectorEnablementRole/inlinePolicy/Inspector2EnablementPolicy","arn:aws:iam::044981683129:role/InspectorEnablementRole/inlinePolicy/Inspector2EnablementPolicy"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/InspectorEnablementRole/inlinePolicy/Inspector2EnablementPolicy","title":"arn:aws:iam::044981683129:role/InspectorEnablementRole/inlinePolicy/Inspector2EnablementPolicy","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/InspectorEnablementRole/inlinePolicy/Inspector2EnablementPolicy","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/InspectorEnablementRole/inlinePolicy/Inspector2EnablementPolicy","name":"arn:aws:iam::044981683129:role/InspectorEnablementRole/inlinePolicy/Inspector2EnablementPolicy","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/InspectorEnablementRole/inlinePolicy/Inspector2EnablementPolicy","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/InspectorEnablementRole/inlinePolicy/Inspector2EnablementPolicy","configuration":"\"{\\\"policyName\\\":\\\"Inspector2EnablementPolicy\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Effect\\\":\\\"Allow\\\",\\\"Action\\\":[\\\"inspector2:*\\\",\\\"ecr:PutRegistryScanningConfiguration\\\",\\\"ecr:DescribeRepositories\\\",\\\"ecr:GetRegistryScanningConfiguration\\\",\\\"organizations:ListAccounts\\\"],\\\"Resource\\\":\\\"*\\\"},{\\\"Effect\\\":\\\"Allow\\\",\\\"Action\\\":\\\"iam:CreateServiceLinkedRole\\\",\\\"Resource\\\":\\\"*\\\",\\\"Condition\\\":{\\\"StringEquals\\\":{\\\"iam:AWSServiceName\\\":\\\"inspector2.amazonaws.com\\\"}}}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/InspectorEnablementRole/inlinePolicy/Inspector2EnablementPolicy","resourceName":"arn:aws:iam::044981683129:role/InspectorEnablementRole/inlinePolicy/Inspector2EnablementPolicy","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/InspectorEnablementRole/inlinePolicy/Inspector2EnablementPolicy","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1684.5,"y":-2686.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/demo-test-api-CustomResourceRole-WZPGOIJAPYK3","resourceId":["AROAQU6I6AO4WDNRMTNML","arn:aws:iam::044981683129:role/demo-test-api-CustomResourceRole-WZPGOIJAPYK3"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/demo-test-api-CustomResourceRole-WZPGOIJAPYK3","title":"demo-test-api-CustomResourceRole-WZPGOIJAPYK3","label":"demo-test-ap...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/demo-test-api-CustomResourceRole-WZPGOIJAPYK3","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO4WDNRMTNML","name":"demo-test-api-CustomResourceRole-WZPGOIJAPYK3","value":null,"type":"AWS::IAM::Role","tags":"[{\"tag\":\"copilot-environment=test\",\"value\":\"test\",\"key\":\"copilot-environment\"},{\"tag\":\"copilot-application=demo\",\"value\":\"demo\",\"key\":\"copilot-application\"},{\"tag\":\"copilot-service=api\",\"value\":\"api\",\"key\":\"copilot-service\"}]","arn":"arn:aws:iam::044981683129:role/demo-test-api-CustomResourceRole-WZPGOIJAPYK3","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/demo-test-api-CustomResourceRole-WZPGOIJAPYK3","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22lambda.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO4WDNRMTNML\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole\\\",\\\"policyName\\\":\\\"AWSLambdaBasicExecutionRole\\\"}],\\\"roleName\\\":\\\"demo-test-api-CustomResourceRole-WZPGOIJAPYK3\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/demo-test-api-CustomResourceRole-WZPGOIJAPYK3\\\",\\\"createDate\\\":\\\"2022-03-08T11:39:57.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22elasticloadbalancing%3ADescribeRules%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"DNSandACMAccess\\\"}],\\\"tags\\\":[{\\\"value\\\":\\\"api\\\",\\\"key\\\":\\\"copilot-service\\\"},{\\\"value\\\":\\\"test\\\",\\\"key\\\":\\\"copilot-environment\\\"},{\\\"value\\\":\\\"demo\\\",\\\"key\\\":\\\"copilot-application\\\"}]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO4WDNRMTNML","resourceName":"demo-test-api-CustomResourceRole-WZPGOIJAPYK3","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[{\"tag\":\"copilot-environment=test\",\"value\":\"test\",\"key\":\"copilot-environment\"},{\"tag\":\"copilot-application=demo\",\"value\":\"demo\",\"key\":\"copilot-application\"},{\"tag\":\"copilot-service=api\",\"value\":\"api\",\"key\":\"copilot-service\"}]","title":"demo-test-api-CustomResourceRole-WZPGOIJAPYK3","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":549.5,"y":-2540.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/demo-test-api-CustomResourceRole-WZPGOIJAPYK3/inlinePolicy/DNSandACMAccess","resourceId":["arn:aws:iam::044981683129:role/demo-test-api-CustomResourceRole-WZPGOIJAPYK3/inlinePolicy/DNSandACMAccess","arn:aws:iam::044981683129:role/demo-test-api-CustomResourceRole-WZPGOIJAPYK3/inlinePolicy/DNSandACMAccess"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/demo-test-api-CustomResourceRole-WZPGOIJAPYK3/inlinePolicy/DNSandACMAccess","title":"arn:aws:iam::044981683129:role/demo-test-api-CustomResourceRole-WZPGOIJAPYK3/inlinePolicy/DNSandACMAccess","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/demo-test-api-CustomResourceRole-WZPGOIJAPYK3/inlinePolicy/DNSandACMAccess","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/demo-test-api-CustomResourceRole-WZPGOIJAPYK3/inlinePolicy/DNSandACMAccess","name":"arn:aws:iam::044981683129:role/demo-test-api-CustomResourceRole-WZPGOIJAPYK3/inlinePolicy/DNSandACMAccess","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/demo-test-api-CustomResourceRole-WZPGOIJAPYK3/inlinePolicy/DNSandACMAccess","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/demo-test-api-CustomResourceRole-WZPGOIJAPYK3/inlinePolicy/DNSandACMAccess","configuration":"\"{\\\"policyName\\\":\\\"DNSandACMAccess\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"elasticloadbalancing:DescribeRules\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/demo-test-api-CustomResourceRole-WZPGOIJAPYK3/inlinePolicy/DNSandACMAccess","resourceName":"arn:aws:iam::044981683129:role/demo-test-api-CustomResourceRole-WZPGOIJAPYK3/inlinePolicy/DNSandACMAccess","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/demo-test-api-CustomResourceRole-WZPGOIJAPYK3/inlinePolicy/DNSandACMAccess","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1684.5,"y":-2613.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/eksctl-extravagant-rainbow-1649419661-ServiceRole-1L49DM8JX9VTG","resourceId":["AROAQU6I6AO4UTOLAV7XU","arn:aws:iam::044981683129:role/eksctl-extravagant-rainbow-1649419661-ServiceRole-1L49DM8JX9VTG"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/eksctl-extravagant-rainbow-1649419661-ServiceRole-1L49DM8JX9VTG","title":"eksctl-extravagant-rainbow-1649419661-cluster/ServiceRole","label":"eksctl-extra...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/eksctl-extravagant-rainbow-1649419661-ServiceRole-1L49DM8JX9VTG","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO4UTOLAV7XU","name":"eksctl-extravagant-rainbow-1649419661-ServiceRole-1L49DM8JX9VTG","value":null,"type":"AWS::IAM::Role","tags":"[{\"tag\":\"alpha.eksctl.io/cluster-name=extravagant-rainbow-1649419661\",\"value\":\"extravagant-rainbow-1649419661\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.91.0\",\"value\":\"0.91.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=extravagant-rainbow-1649419661\",\"value\":\"extravagant-rainbow-1649419661\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"Name=eksctl-extravagant-rainbow-1649419661-cluster/ServiceRole\",\"value\":\"eksctl-extravagant-rainbow-1649419661-cluster/ServiceRole\",\"key\":\"Name\"}]","arn":"arn:aws:iam::044981683129:role/eksctl-extravagant-rainbow-1649419661-ServiceRole-1L49DM8JX9VTG","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/eksctl-extravagant-rainbow-1649419661-ServiceRole-1L49DM8JX9VTG","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22eks.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO4UTOLAV7XU\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/AmazonEKSClusterPolicy\\\",\\\"policyName\\\":\\\"AmazonEKSClusterPolicy\\\"},{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/AmazonEKSVPCResourceController\\\",\\\"policyName\\\":\\\"AmazonEKSVPCResourceController\\\"}],\\\"roleName\\\":\\\"eksctl-extravagant-rainbow-1649419661-ServiceRole-1L49DM8JX9VTG\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/eksctl-extravagant-rainbow-1649419661-ServiceRole-1L49DM8JX9VTG\\\",\\\"createDate\\\":\\\"2022-04-08T12:07:47.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22cloudwatch%3APutMetricData%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"eksctl-extravagant-rainbow-1649419661-cluster-PolicyCloudWatchMetrics\\\"},{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22ec2%3ADescribeAccountAttributes%22%2C%22ec2%3ADescribeAddresses%22%2C%22ec2%3ADescribeInternetGateways%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"eksctl-extravagant-rainbow-1649419661-cluster-PolicyELBPermissions\\\"}],\\\"tags\\\":[{\\\"value\\\":\\\"extravagant-rainbow-1649419661\\\",\\\"key\\\":\\\"alpha.eksctl.io/cluster-name\\\"},{\\\"value\\\":\\\"extravagant-rainbow-1649419661\\\",\\\"key\\\":\\\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\\\"},{\\\"value\\\":\\\"0.91.0\\\",\\\"key\\\":\\\"alpha.eksctl.io/eksctl-version\\\"},{\\\"value\\\":\\\"eksctl-extravagant-rainbow-1649419661-cluster/ServiceRole\\\",\\\"key\\\":\\\"Name\\\"}]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO4UTOLAV7XU","resourceName":"eksctl-extravagant-rainbow-1649419661-ServiceRole-1L49DM8JX9VTG","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[{\"tag\":\"alpha.eksctl.io/cluster-name=extravagant-rainbow-1649419661\",\"value\":\"extravagant-rainbow-1649419661\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.91.0\",\"value\":\"0.91.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=extravagant-rainbow-1649419661\",\"value\":\"extravagant-rainbow-1649419661\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"Name=eksctl-extravagant-rainbow-1649419661-cluster/ServiceRole\",\"value\":\"eksctl-extravagant-rainbow-1649419661-cluster/ServiceRole\",\"key\":\"Name\"}]","title":"eksctl-extravagant-rainbow-1649419661-cluster/ServiceRole","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":622.5,"y":-2540.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/eksctl-extravagant-rainbow-1649419661-ServiceRole-1L49DM8JX9VTG/inlinePolicy/eksctl-extravagant-rainbow-1649419661-cluster-PolicyCloudWatchMetrics","resourceId":["arn:aws:iam::044981683129:role/eksctl-extravagant-rainbow-1649419661-ServiceRole-1L49DM8JX9VTG/inlinePolicy/eksctl-extravagant-rainbow-1649419661-cluster-PolicyCloudWatchMetrics","arn:aws:iam::044981683129:role/eksctl-extravagant-rainbow-1649419661-ServiceRole-1L49DM8JX9VTG/inlinePolicy/eksctl-extravagant-rainbow-1649419661-cluster-PolicyCloudWatchMetrics"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/eksctl-extravagant-rainbow-1649419661-ServiceRole-1L49DM8JX9VTG/inlinePolicy/eksctl-extravagant-rainbow-1649419661-cluster-PolicyCloudWatchMetrics","title":"arn:aws:iam::044981683129:role/eksctl-extravagant-rainbow-1649419661-ServiceRole-1L49DM8JX9VTG/inlinePolicy/eksctl-extravagant-rainbow-1649419661-cluster-PolicyCloudWatchMetrics","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/eksctl-extravagant-rainbow-1649419661-ServiceRole-1L49DM8JX9VTG/inlinePolicy/eksctl-extravagant-rainbow-1649419661-cluster-PolicyCloudWatchMetrics","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/eksctl-extravagant-rainbow-1649419661-ServiceRole-1L49DM8JX9VTG/inlinePolicy/eksctl-extravagant-rainbow-1649419661-cluster-PolicyCloudWatchMetrics","name":"arn:aws:iam::044981683129:role/eksctl-extravagant-rainbow-1649419661-ServiceRole-1L49DM8JX9VTG/inlinePolicy/eksctl-extravagant-rainbow-1649419661-cluster-PolicyCloudWatchMetrics","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/eksctl-extravagant-rainbow-1649419661-ServiceRole-1L49DM8JX9VTG/inlinePolicy/eksctl-extravagant-rainbow-1649419661-cluster-PolicyCloudWatchMetrics","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/eksctl-extravagant-rainbow-1649419661-ServiceRole-1L49DM8JX9VTG/inlinePolicy/eksctl-extravagant-rainbow-1649419661-cluster-PolicyCloudWatchMetrics","configuration":"\"{\\\"policyName\\\":\\\"eksctl-extravagant-rainbow-1649419661-cluster-PolicyCloudWatchMetrics\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"cloudwatch:PutMetricData\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/eksctl-extravagant-rainbow-1649419661-ServiceRole-1L49DM8JX9VTG/inlinePolicy/eksctl-extravagant-rainbow-1649419661-cluster-PolicyCloudWatchMetrics","resourceName":"arn:aws:iam::044981683129:role/eksctl-extravagant-rainbow-1649419661-ServiceRole-1L49DM8JX9VTG/inlinePolicy/eksctl-extravagant-rainbow-1649419661-cluster-PolicyCloudWatchMetrics","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/eksctl-extravagant-rainbow-1649419661-ServiceRole-1L49DM8JX9VTG/inlinePolicy/eksctl-extravagant-rainbow-1649419661-cluster-PolicyCloudWatchMetrics","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1684.5,"y":-2540.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/eksctl-extravagant-rainbow-1649419661-ServiceRole-1L49DM8JX9VTG/inlinePolicy/eksctl-extravagant-rainbow-1649419661-cluster-PolicyELBPermissions","resourceId":["arn:aws:iam::044981683129:role/eksctl-extravagant-rainbow-1649419661-ServiceRole-1L49DM8JX9VTG/inlinePolicy/eksctl-extravagant-rainbow-1649419661-cluster-PolicyELBPermissions","arn:aws:iam::044981683129:role/eksctl-extravagant-rainbow-1649419661-ServiceRole-1L49DM8JX9VTG/inlinePolicy/eksctl-extravagant-rainbow-1649419661-cluster-PolicyELBPermissions"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/eksctl-extravagant-rainbow-1649419661-ServiceRole-1L49DM8JX9VTG/inlinePolicy/eksctl-extravagant-rainbow-1649419661-cluster-PolicyELBPermissions","title":"arn:aws:iam::044981683129:role/eksctl-extravagant-rainbow-1649419661-ServiceRole-1L49DM8JX9VTG/inlinePolicy/eksctl-extravagant-rainbow-1649419661-cluster-PolicyELBPermissions","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/eksctl-extravagant-rainbow-1649419661-ServiceRole-1L49DM8JX9VTG/inlinePolicy/eksctl-extravagant-rainbow-1649419661-cluster-PolicyELBPermissions","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/eksctl-extravagant-rainbow-1649419661-ServiceRole-1L49DM8JX9VTG/inlinePolicy/eksctl-extravagant-rainbow-1649419661-cluster-PolicyELBPermissions","name":"arn:aws:iam::044981683129:role/eksctl-extravagant-rainbow-1649419661-ServiceRole-1L49DM8JX9VTG/inlinePolicy/eksctl-extravagant-rainbow-1649419661-cluster-PolicyELBPermissions","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/eksctl-extravagant-rainbow-1649419661-ServiceRole-1L49DM8JX9VTG/inlinePolicy/eksctl-extravagant-rainbow-1649419661-cluster-PolicyELBPermissions","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/eksctl-extravagant-rainbow-1649419661-ServiceRole-1L49DM8JX9VTG/inlinePolicy/eksctl-extravagant-rainbow-1649419661-cluster-PolicyELBPermissions","configuration":"\"{\\\"policyName\\\":\\\"eksctl-extravagant-rainbow-1649419661-cluster-PolicyELBPermissions\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"ec2:DescribeAccountAttributes\\\",\\\"ec2:DescribeAddresses\\\",\\\"ec2:DescribeInternetGateways\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/eksctl-extravagant-rainbow-1649419661-ServiceRole-1L49DM8JX9VTG/inlinePolicy/eksctl-extravagant-rainbow-1649419661-cluster-PolicyELBPermissions","resourceName":"arn:aws:iam::044981683129:role/eksctl-extravagant-rainbow-1649419661-ServiceRole-1L49DM8JX9VTG/inlinePolicy/eksctl-extravagant-rainbow-1649419661-cluster-PolicyELBPermissions","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/eksctl-extravagant-rainbow-1649419661-ServiceRole-1L49DM8JX9VTG/inlinePolicy/eksctl-extravagant-rainbow-1649419661-cluster-PolicyELBPermissions","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1392.5,"y":-2467.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:tags::044981683129:tag/Name=eksctl-extravagant-rainbow-1649419661-cluster/ServiceRole","resourceId":["arn:aws:tags::044981683129:tag/Name=eksctl-extravagant-rainbow-1649419661-cluster/ServiceRole","arn:aws:tags::044981683129:tag/Name=eksctl-extravagant-rainbow-1649419661-cluster/ServiceRole"],"parent":"Tag-global-044981683129","level":3,"id":"arn:aws:tags::044981683129:tag/Name=eksctl-extravagant-rainbow-1649419661-cluster/ServiceRole","title":"Name=eksctl-extravagant-rainbow-1649419661-cluster/ServiceRole","label":"Name=eksctl-...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:tags::044981683129:tag/Name=eksctl-extravagant-rainbow-1649419661-cluster/ServiceRole","image":"/icons/AWS-Tags-bg.svg","cost":0,"private":false,"resource":{"id":"arn:aws:tags::044981683129:tag/Name=eksctl-extravagant-rainbow-1649419661-cluster/ServiceRole","name":"Name=eksctl-extravagant-rainbow-1649419661-cluster/ServiceRole","value":null,"type":"AWS::Tags::Tag","tags":"[]","arn":"arn:aws:tags::044981683129:tag/Name=eksctl-extravagant-rainbow-1649419661-cluster/ServiceRole","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:tags::044981683129:tag/Name=eksctl-extravagant-rainbow-1649419661-cluster/ServiceRole","configuration":"\"{}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:tags::044981683129:tag/Name=eksctl-extravagant-rainbow-1649419661-cluster/ServiceRole","resourceName":"Name=eksctl-extravagant-rainbow-1649419661-cluster/ServiceRole","resourceType":"AWS::Tags::Tag","resourceValue":null,"state":null,"tags":"[]","title":"Name=eksctl-extravagant-rainbow-1649419661-cluster/ServiceRole","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":622.5,"y":-1826.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:tags::044981683129:tag/alpha.eksctl.io/cluster-name=extravagant-rainbow-1649419661","resourceId":["arn:aws:tags::044981683129:tag/alpha.eksctl.io/cluster-name=extravagant-rainbow-1649419661","arn:aws:tags::044981683129:tag/alpha.eksctl.io/cluster-name=extravagant-rainbow-1649419661"],"parent":"Tag-global-044981683129","level":3,"id":"arn:aws:tags::044981683129:tag/alpha.eksctl.io/cluster-name=extravagant-rainbow-1649419661","title":"alpha.eksctl.io/cluster-name=extravagant-rainbow-1649419661","label":"alpha.eksctl...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:tags::044981683129:tag/alpha.eksctl.io/cluster-name=extravagant-rainbow-1649419661","image":"/icons/AWS-Tags-bg.svg","cost":0,"private":false,"resource":{"id":"arn:aws:tags::044981683129:tag/alpha.eksctl.io/cluster-name=extravagant-rainbow-1649419661","name":"alpha.eksctl.io/cluster-name=extravagant-rainbow-1649419661","value":null,"type":"AWS::Tags::Tag","tags":"[]","arn":"arn:aws:tags::044981683129:tag/alpha.eksctl.io/cluster-name=extravagant-rainbow-1649419661","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:tags::044981683129:tag/alpha.eksctl.io/cluster-name=extravagant-rainbow-1649419661","configuration":"\"{}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:tags::044981683129:tag/alpha.eksctl.io/cluster-name=extravagant-rainbow-1649419661","resourceName":"alpha.eksctl.io/cluster-name=extravagant-rainbow-1649419661","resourceType":"AWS::Tags::Tag","resourceValue":null,"state":null,"tags":"[]","title":"alpha.eksctl.io/cluster-name=extravagant-rainbow-1649419661","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":476.5,"y":-1753.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:tags::044981683129:tag/eksctl.cluster.k8s.io/v1alpha1/cluster-name=extravagant-rainbow-1649419661","resourceId":["arn:aws:tags::044981683129:tag/eksctl.cluster.k8s.io/v1alpha1/cluster-name=extravagant-rainbow-1649419661","arn:aws:tags::044981683129:tag/eksctl.cluster.k8s.io/v1alpha1/cluster-name=extravagant-rainbow-1649419661"],"parent":"Tag-global-044981683129","level":3,"id":"arn:aws:tags::044981683129:tag/eksctl.cluster.k8s.io/v1alpha1/cluster-name=extravagant-rainbow-1649419661","title":"eksctl.cluster.k8s.io/v1alpha1/cluster-name=extravagant-rainbow-1649419661","label":"eksctl.clust...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:tags::044981683129:tag/eksctl.cluster.k8s.io/v1alpha1/cluster-name=extravagant-rainbow-1649419661","image":"/icons/AWS-Tags-bg.svg","cost":0,"private":false,"resource":{"id":"arn:aws:tags::044981683129:tag/eksctl.cluster.k8s.io/v1alpha1/cluster-name=extravagant-rainbow-1649419661","name":"eksctl.cluster.k8s.io/v1alpha1/cluster-name=extravagant-rainbow-1649419661","value":null,"type":"AWS::Tags::Tag","tags":"[]","arn":"arn:aws:tags::044981683129:tag/eksctl.cluster.k8s.io/v1alpha1/cluster-name=extravagant-rainbow-1649419661","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:tags::044981683129:tag/eksctl.cluster.k8s.io/v1alpha1/cluster-name=extravagant-rainbow-1649419661","configuration":"\"{}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:tags::044981683129:tag/eksctl.cluster.k8s.io/v1alpha1/cluster-name=extravagant-rainbow-1649419661","resourceName":"eksctl.cluster.k8s.io/v1alpha1/cluster-name=extravagant-rainbow-1649419661","resourceType":"AWS::Tags::Tag","resourceValue":null,"state":null,"tags":"[]","title":"eksctl.cluster.k8s.io/v1alpha1/cluster-name=extravagant-rainbow-1649419661","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":549.5,"y":-1753.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:tags::044981683129:tag/alpha.eksctl.io/eksctl-version=0.91.0","resourceId":["arn:aws:tags::044981683129:tag/alpha.eksctl.io/eksctl-version=0.91.0","arn:aws:tags::044981683129:tag/alpha.eksctl.io/eksctl-version=0.91.0"],"parent":"Tag-global-044981683129","level":3,"id":"arn:aws:tags::044981683129:tag/alpha.eksctl.io/eksctl-version=0.91.0","title":"alpha.eksctl.io/eksctl-version=0.91.0","label":"alpha.eksctl...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:tags::044981683129:tag/alpha.eksctl.io/eksctl-version=0.91.0","image":"/icons/AWS-Tags-bg.svg","cost":0,"private":false,"resource":{"id":"arn:aws:tags::044981683129:tag/alpha.eksctl.io/eksctl-version=0.91.0","name":"alpha.eksctl.io/eksctl-version=0.91.0","value":null,"type":"AWS::Tags::Tag","tags":"[]","arn":"arn:aws:tags::044981683129:tag/alpha.eksctl.io/eksctl-version=0.91.0","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:tags::044981683129:tag/alpha.eksctl.io/eksctl-version=0.91.0","configuration":"\"{}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:tags::044981683129:tag/alpha.eksctl.io/eksctl-version=0.91.0","resourceName":"alpha.eksctl.io/eksctl-version=0.91.0","resourceType":"AWS::Tags::Tag","resourceValue":null,"state":null,"tags":"[]","title":"alpha.eksctl.io/eksctl-version=0.91.0","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":622.5,"y":-1753.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/aws-perspective-ApiGatewayCloudWatchLogsRole-DKW9CCDL0HP2","resourceId":["AROAQU6I6AO4WFNRRVK2J","arn:aws:iam::044981683129:role/aws-perspective-ApiGatewayCloudWatchLogsRole-DKW9CCDL0HP2"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/aws-perspective-ApiGatewayCloudWatchLogsRole-DKW9CCDL0HP2","title":"aws-perspective-ApiGatewayCloudWatchLogsRole-DKW9CCDL0HP2","label":"aws-perspect...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/aws-perspective-ApiGatewayCloudWatchLogsRole-DKW9CCDL0HP2","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO4WFNRRVK2J","name":"aws-perspective-ApiGatewayCloudWatchLogsRole-DKW9CCDL0HP2","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/aws-perspective-ApiGatewayCloudWatchLogsRole-DKW9CCDL0HP2","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/aws-perspective-ApiGatewayCloudWatchLogsRole-DKW9CCDL0HP2","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222008-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22apigateway.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO4WFNRRVK2J\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/service-role/AmazonAPIGatewayPushToCloudWatchLogs\\\",\\\"policyName\\\":\\\"AmazonAPIGatewayPushToCloudWatchLogs\\\"}],\\\"roleName\\\":\\\"aws-perspective-ApiGatewayCloudWatchLogsRole-DKW9CCDL0HP2\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/aws-perspective-ApiGatewayCloudWatchLogsRole-DKW9CCDL0HP2\\\",\\\"createDate\\\":\\\"2021-07-07T14:13:40.000Z\\\",\\\"rolePolicyList\\\":[],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO4WFNRRVK2J","resourceName":"aws-perspective-ApiGatewayCloudWatchLogsRole-DKW9CCDL0HP2","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"aws-perspective-ApiGatewayCloudWatchLogsRole-DKW9CCDL0HP2","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":695.5,"y":-2540.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/aws-perspective-v2-Settin-PerspectiveSettingsLambd-GLINBLH275JE","resourceId":["AROAQU6I6AO4VUEQTHASY","arn:aws:iam::044981683129:role/aws-perspective-v2-Settin-PerspectiveSettingsLambd-GLINBLH275JE"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/aws-perspective-v2-Settin-PerspectiveSettingsLambd-GLINBLH275JE","title":"aws-perspective-v2-Settin-PerspectiveSettingsLambd-GLINBLH275JE","label":"aws-perspect...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/aws-perspective-v2-Settin-PerspectiveSettingsLambd-GLINBLH275JE","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO4VUEQTHASY","name":"aws-perspective-v2-Settin-PerspectiveSettingsLambd-GLINBLH275JE","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/aws-perspective-v2-Settin-PerspectiveSettingsLambd-GLINBLH275JE","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/aws-perspective-v2-Settin-PerspectiveSettingsLambd-GLINBLH275JE","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22appsync.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO4VUEQTHASY\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"aws-perspective-v2-Settin-PerspectiveSettingsLambd-GLINBLH275JE\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/aws-perspective-v2-Settin-PerspectiveSettingsLambd-GLINBLH275JE\\\",\\\"createDate\\\":\\\"2022-08-30T14:51:56.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22lambda%3AInvokeFunction%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Alambda%3Aeu-west-2%3A044981683129%3Afunction%3Aaws-perspective-v2-Settin-PerspectiveSettingsFunct-XIb7HjRiIP5y%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"aws-perspective-v2-SettingsResolversStack-L7NBWVCFLPQ4-AppSyncRole\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO4VUEQTHASY","resourceName":"aws-perspective-v2-Settin-PerspectiveSettingsLambd-GLINBLH275JE","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"aws-perspective-v2-Settin-PerspectiveSettingsLambd-GLINBLH275JE","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":768.5,"y":-2759.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/aws-perspective-v2-Settin-PerspectiveSettingsLambd-GLINBLH275JE/inlinePolicy/aws-perspective-v2-SettingsResolversStack-L7NBWVCFLPQ4-AppSyncRole","resourceId":["arn:aws:iam::044981683129:role/aws-perspective-v2-Settin-PerspectiveSettingsLambd-GLINBLH275JE/inlinePolicy/aws-perspective-v2-SettingsResolversStack-L7NBWVCFLPQ4-AppSyncRole","arn:aws:iam::044981683129:role/aws-perspective-v2-Settin-PerspectiveSettingsLambd-GLINBLH275JE/inlinePolicy/aws-perspective-v2-SettingsResolversStack-L7NBWVCFLPQ4-AppSyncRole"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/aws-perspective-v2-Settin-PerspectiveSettingsLambd-GLINBLH275JE/inlinePolicy/aws-perspective-v2-SettingsResolversStack-L7NBWVCFLPQ4-AppSyncRole","title":"arn:aws:iam::044981683129:role/aws-perspective-v2-Settin-PerspectiveSettingsLambd-GLINBLH275JE/inlinePolicy/aws-perspective-v2-SettingsResolversStack-L7NBWVCFLPQ4-AppSyncRole","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/aws-perspective-v2-Settin-PerspectiveSettingsLambd-GLINBLH275JE/inlinePolicy/aws-perspective-v2-SettingsResolversStack-L7NBWVCFLPQ4-AppSyncRole","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/aws-perspective-v2-Settin-PerspectiveSettingsLambd-GLINBLH275JE/inlinePolicy/aws-perspective-v2-SettingsResolversStack-L7NBWVCFLPQ4-AppSyncRole","name":"arn:aws:iam::044981683129:role/aws-perspective-v2-Settin-PerspectiveSettingsLambd-GLINBLH275JE/inlinePolicy/aws-perspective-v2-SettingsResolversStack-L7NBWVCFLPQ4-AppSyncRole","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/aws-perspective-v2-Settin-PerspectiveSettingsLambd-GLINBLH275JE/inlinePolicy/aws-perspective-v2-SettingsResolversStack-L7NBWVCFLPQ4-AppSyncRole","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/aws-perspective-v2-Settin-PerspectiveSettingsLambd-GLINBLH275JE/inlinePolicy/aws-perspective-v2-SettingsResolversStack-L7NBWVCFLPQ4-AppSyncRole","configuration":"\"{\\\"policyName\\\":\\\"aws-perspective-v2-SettingsResolversStack-L7NBWVCFLPQ4-AppSyncRole\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"lambda:InvokeFunction\\\"],\\\"Resource\\\":\\\"arn:aws:lambda:eu-west-2:044981683129:function:aws-perspective-v2-Settin-PerspectiveSettingsFunct-XIb7HjRiIP5y\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/aws-perspective-v2-Settin-PerspectiveSettingsLambd-GLINBLH275JE/inlinePolicy/aws-perspective-v2-SettingsResolversStack-L7NBWVCFLPQ4-AppSyncRole","resourceName":"arn:aws:iam::044981683129:role/aws-perspective-v2-Settin-PerspectiveSettingsLambd-GLINBLH275JE/inlinePolicy/aws-perspective-v2-SettingsResolversStack-L7NBWVCFLPQ4-AppSyncRole","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/aws-perspective-v2-Settin-PerspectiveSettingsLambd-GLINBLH275JE/inlinePolicy/aws-perspective-v2-SettingsResolversStack-L7NBWVCFLPQ4-AppSyncRole","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1465.5,"y":-2467.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPX-TaskExecutionRole-32Y5XYY0POWY","resourceId":["AROAQU6I6AO4VEMELUJMN","arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPX-TaskExecutionRole-32Y5XYY0POWY"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPX-TaskExecutionRole-32Y5XYY0POWY","title":"retaildemostore-Services-1WZNOPX-TaskExecutionRole-32Y5XYY0POWY","label":"retaildemost...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPX-TaskExecutionRole-32Y5XYY0POWY","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO4VEMELUJMN","name":"retaildemostore-Services-1WZNOPX-TaskExecutionRole-32Y5XYY0POWY","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPX-TaskExecutionRole-32Y5XYY0POWY","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPX-TaskExecutionRole-32Y5XYY0POWY","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22ecs-tasks.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO4VEMELUJMN\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy\\\",\\\"policyName\\\":\\\"AmazonECSTaskExecutionRolePolicy\\\"}],\\\"roleName\\\":\\\"retaildemostore-Services-1WZNOPX-TaskExecutionRole-32Y5XYY0POWY\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPX-TaskExecutionRole-32Y5XYY0POWY\\\",\\\"createDate\\\":\\\"2021-10-22T12:06:53.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22ssm%3AGetParameters%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Assm%3Aus-east-1%3A044981683129%3Aparameter%2Fretaildemostore-%2A%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"ReadRetailDemoStoreSSMParams\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO4VEMELUJMN","resourceName":"retaildemostore-Services-1WZNOPX-TaskExecutionRole-32Y5XYY0POWY","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"retaildemostore-Services-1WZNOPX-TaskExecutionRole-32Y5XYY0POWY","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":768.5,"y":-2686.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPX-TaskExecutionRole-32Y5XYY0POWY/inlinePolicy/ReadRetailDemoStoreSSMParams","resourceId":["arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPX-TaskExecutionRole-32Y5XYY0POWY/inlinePolicy/ReadRetailDemoStoreSSMParams","arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPX-TaskExecutionRole-32Y5XYY0POWY/inlinePolicy/ReadRetailDemoStoreSSMParams"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPX-TaskExecutionRole-32Y5XYY0POWY/inlinePolicy/ReadRetailDemoStoreSSMParams","title":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPX-TaskExecutionRole-32Y5XYY0POWY/inlinePolicy/ReadRetailDemoStoreSSMParams","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPX-TaskExecutionRole-32Y5XYY0POWY/inlinePolicy/ReadRetailDemoStoreSSMParams","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPX-TaskExecutionRole-32Y5XYY0POWY/inlinePolicy/ReadRetailDemoStoreSSMParams","name":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPX-TaskExecutionRole-32Y5XYY0POWY/inlinePolicy/ReadRetailDemoStoreSSMParams","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPX-TaskExecutionRole-32Y5XYY0POWY/inlinePolicy/ReadRetailDemoStoreSSMParams","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPX-TaskExecutionRole-32Y5XYY0POWY/inlinePolicy/ReadRetailDemoStoreSSMParams","configuration":"\"{\\\"policyName\\\":\\\"ReadRetailDemoStoreSSMParams\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"ssm:GetParameters\\\"],\\\"Resource\\\":\\\"arn:aws:ssm:us-east-1:044981683129:parameter/retaildemostore-*\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPX-TaskExecutionRole-32Y5XYY0POWY/inlinePolicy/ReadRetailDemoStoreSSMParams","resourceName":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPX-TaskExecutionRole-32Y5XYY0POWY/inlinePolicy/ReadRetailDemoStoreSSMParams","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPX-TaskExecutionRole-32Y5XYY0POWY/inlinePolicy/ReadRetailDemoStoreSSMParams","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1538.5,"y":-2467.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-17Y5R3Y29BF5C","resourceId":["AROAQU6I6AO4VNTTGTQ7J","arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-17Y5R3Y29BF5C"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-17Y5R3Y29BF5C","title":"retaildemostore-Services-1-CodePipelineServiceRole-17Y5R3Y29BF5C","label":"retaildemost...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-17Y5R3Y29BF5C","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO4VNTTGTQ7J","name":"retaildemostore-Services-1-CodePipelineServiceRole-17Y5R3Y29BF5C","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-17Y5R3Y29BF5C","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-17Y5R3Y29BF5C","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22codepipeline.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO4VNTTGTQ7J\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"retaildemostore-Services-1-CodePipelineServiceRole-17Y5R3Y29BF5C\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-17Y5R3Y29BF5C\\\",\\\"createDate\\\":\\\"2021-10-22T12:09:39.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22s3%3APutObject%22%2C%22s3%3AGetObject%22%2C%22s3%3AGetObjectVersion%22%2C%22s3%3AGetBucketVersioning%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3As3%3A%3A%3Aretaildemostore-services-1wznopxsy-artifactbucket-1gpfeye1psqs1%2F%2A%22%2C%22arn%3Aaws%3As3%3A%3A%3Aretaildemostore-services-1wznopxsy-artifactbucket-1gpfeye1psqs1%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22codebuild%3AStartBuild%22%2C%22codebuild%3ABatchGetBuilds%22%2C%22iam%3APassRole%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22codecommit%3AGetBranch%22%2C%22codecommit%3AGetCommit%22%2C%22codecommit%3AUploadArchive%22%2C%22codecommit%3AGetUploadArchiveStatus%22%2C%22codecommit%3ACancelUploadArchive%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Acodecommit%3Aus-east-1%3A044981683129%3Aretaildemostore-src%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22ecs%3AList%2A%22%2C%22ecs%3ADescribe%2A%22%2C%22ecs%3ARegisterTaskDefinition%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22ecs%3AUpdateService%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Aecs%3Aus-east-1%3A044981683129%3Aservice%2Fretaildemostore-Base-193OEK9QLRBTZ-ECSCluster-PT0RYG11SI9K%2Fretaildemostore-Services-1WZNOPXSYAVK8-VideosService-IGQ400QISMJE-Service-1P4B8L4Z3G9MK-FargateService-TFSHGcth9Ewm%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"root\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO4VNTTGTQ7J","resourceName":"retaildemostore-Services-1-CodePipelineServiceRole-17Y5R3Y29BF5C","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"retaildemostore-Services-1-CodePipelineServiceRole-17Y5R3Y29BF5C","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":768.5,"y":-2613.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-17Y5R3Y29BF5C/inlinePolicy/root","resourceId":["arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-17Y5R3Y29BF5C/inlinePolicy/root","arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-17Y5R3Y29BF5C/inlinePolicy/root"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-17Y5R3Y29BF5C/inlinePolicy/root","title":"arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-17Y5R3Y29BF5C/inlinePolicy/root","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-17Y5R3Y29BF5C/inlinePolicy/root","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-17Y5R3Y29BF5C/inlinePolicy/root","name":"arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-17Y5R3Y29BF5C/inlinePolicy/root","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-17Y5R3Y29BF5C/inlinePolicy/root","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-17Y5R3Y29BF5C/inlinePolicy/root","configuration":"\"{\\\"policyName\\\":\\\"root\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"s3:PutObject\\\",\\\"s3:GetObject\\\",\\\"s3:GetObjectVersion\\\",\\\"s3:GetBucketVersioning\\\"],\\\"Resource\\\":[\\\"arn:aws:s3:::retaildemostore-services-1wznopxsy-artifactbucket-1gpfeye1psqs1/*\\\",\\\"arn:aws:s3:::retaildemostore-services-1wznopxsy-artifactbucket-1gpfeye1psqs1\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"codebuild:StartBuild\\\",\\\"codebuild:BatchGetBuilds\\\",\\\"iam:PassRole\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"codecommit:GetBranch\\\",\\\"codecommit:GetCommit\\\",\\\"codecommit:UploadArchive\\\",\\\"codecommit:GetUploadArchiveStatus\\\",\\\"codecommit:CancelUploadArchive\\\"],\\\"Resource\\\":\\\"arn:aws:codecommit:us-east-1:044981683129:retaildemostore-src\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"ecs:List*\\\",\\\"ecs:Describe*\\\",\\\"ecs:RegisterTaskDefinition\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"ecs:UpdateService\\\"],\\\"Resource\\\":\\\"arn:aws:ecs:us-east-1:044981683129:service/retaildemostore-Base-193OEK9QLRBTZ-ECSCluster-PT0RYG11SI9K/retaildemostore-Services-1WZNOPXSYAVK8-VideosService-IGQ400QISMJE-Service-1P4B8L4Z3G9MK-FargateService-TFSHGcth9Ewm\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-17Y5R3Y29BF5C/inlinePolicy/root","resourceName":"arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-17Y5R3Y29BF5C/inlinePolicy/root","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-17Y5R3Y29BF5C/inlinePolicy/root","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1611.5,"y":-2467.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/cdk-hnb659fds-lookup-role-044981683129-eu-west-1","resourceId":["AROAQU6I6AO4VNEU7KA3R","arn:aws:iam::044981683129:role/cdk-hnb659fds-lookup-role-044981683129-eu-west-1"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/cdk-hnb659fds-lookup-role-044981683129-eu-west-1","title":"cdk-hnb659fds-lookup-role-044981683129-eu-west-1","label":"cdk-hnb659fd...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/cdk-hnb659fds-lookup-role-044981683129-eu-west-1","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO4VNEU7KA3R","name":"cdk-hnb659fds-lookup-role-044981683129-eu-west-1","value":null,"type":"AWS::IAM::Role","tags":"[{\"tag\":\"aws-cdk:bootstrap-role=lookup\",\"value\":\"lookup\",\"key\":\"aws-cdk:bootstrap-role\"}]","arn":"arn:aws:iam::044981683129:role/cdk-hnb659fds-lookup-role-044981683129-eu-west-1","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/cdk-hnb659fds-lookup-role-044981683129-eu-west-1","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222008-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22AWS%22%3A%22arn%3Aaws%3Aiam%3A%3A044981683129%3Aroot%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO4VNEU7KA3R\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/ReadOnlyAccess\\\",\\\"policyName\\\":\\\"ReadOnlyAccess\\\"}],\\\"roleName\\\":\\\"cdk-hnb659fds-lookup-role-044981683129-eu-west-1\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/cdk-hnb659fds-lookup-role-044981683129-eu-west-1\\\",\\\"createDate\\\":\\\"2021-12-10T12:14:38.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22kms%3ADecrypt%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Deny%22%2C%22Sid%22%3A%22DontReadSecrets%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"LookupRolePolicy\\\"}],\\\"tags\\\":[{\\\"value\\\":\\\"lookup\\\",\\\"key\\\":\\\"aws-cdk:bootstrap-role\\\"}]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO4VNEU7KA3R","resourceName":"cdk-hnb659fds-lookup-role-044981683129-eu-west-1","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws-cdk:bootstrap-role=lookup\",\"value\":\"lookup\",\"key\":\"aws-cdk:bootstrap-role\"}]","title":"cdk-hnb659fds-lookup-role-044981683129-eu-west-1","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":768.5,"y":-2540.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/cdk-hnb659fds-lookup-role-044981683129-eu-west-1/inlinePolicy/LookupRolePolicy","resourceId":["arn:aws:iam::044981683129:role/cdk-hnb659fds-lookup-role-044981683129-eu-west-1/inlinePolicy/LookupRolePolicy","arn:aws:iam::044981683129:role/cdk-hnb659fds-lookup-role-044981683129-eu-west-1/inlinePolicy/LookupRolePolicy"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/cdk-hnb659fds-lookup-role-044981683129-eu-west-1/inlinePolicy/LookupRolePolicy","title":"arn:aws:iam::044981683129:role/cdk-hnb659fds-lookup-role-044981683129-eu-west-1/inlinePolicy/LookupRolePolicy","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/cdk-hnb659fds-lookup-role-044981683129-eu-west-1/inlinePolicy/LookupRolePolicy","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/cdk-hnb659fds-lookup-role-044981683129-eu-west-1/inlinePolicy/LookupRolePolicy","name":"arn:aws:iam::044981683129:role/cdk-hnb659fds-lookup-role-044981683129-eu-west-1/inlinePolicy/LookupRolePolicy","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/cdk-hnb659fds-lookup-role-044981683129-eu-west-1/inlinePolicy/LookupRolePolicy","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/cdk-hnb659fds-lookup-role-044981683129-eu-west-1/inlinePolicy/LookupRolePolicy","configuration":"\"{\\\"policyName\\\":\\\"LookupRolePolicy\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"kms:Decrypt\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Deny\\\",\\\"Sid\\\":\\\"DontReadSecrets\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/cdk-hnb659fds-lookup-role-044981683129-eu-west-1/inlinePolicy/LookupRolePolicy","resourceName":"arn:aws:iam::044981683129:role/cdk-hnb659fds-lookup-role-044981683129-eu-west-1/inlinePolicy/LookupRolePolicy","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/cdk-hnb659fds-lookup-role-044981683129-eu-west-1/inlinePolicy/LookupRolePolicy","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1684.5,"y":-2467.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:tags::044981683129:tag/aws-cdk:bootstrap-role=lookup","resourceId":["arn:aws:tags::044981683129:tag/aws-cdk:bootstrap-role=lookup","arn:aws:tags::044981683129:tag/aws-cdk:bootstrap-role=lookup"],"parent":"Tag-global-044981683129","level":3,"id":"arn:aws:tags::044981683129:tag/aws-cdk:bootstrap-role=lookup","title":"aws-cdk:bootstrap-role=lookup","label":"aws-cdk:boot...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:tags::044981683129:tag/aws-cdk:bootstrap-role=lookup","image":"/icons/AWS-Tags-bg.svg","cost":0,"private":false,"resource":{"id":"arn:aws:tags::044981683129:tag/aws-cdk:bootstrap-role=lookup","name":"aws-cdk:bootstrap-role=lookup","value":null,"type":"AWS::Tags::Tag","tags":"[]","arn":"arn:aws:tags::044981683129:tag/aws-cdk:bootstrap-role=lookup","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:tags::044981683129:tag/aws-cdk:bootstrap-role=lookup","configuration":"\"{}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:tags::044981683129:tag/aws-cdk:bootstrap-role=lookup","resourceName":"aws-cdk:bootstrap-role=lookup","resourceType":"AWS::Tags::Tag","resourceValue":null,"state":null,"tags":"[]","title":"aws-cdk:bootstrap-role=lookup","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":695.5,"y":-1899.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:cloudformation:eu-west-1:044981683129:stack/CDKToolkit/b79886c0-59b2-11ec-8c01-0a652a81a80d","resourceId":["arn:aws:cloudformation:eu-west-1:044981683129:stack/CDKToolkit/b79886c0-59b2-11ec-8c01-0a652a81a80d","arn:aws:cloudformation:eu-west-1:044981683129:stack/CDKToolkit/b79886c0-59b2-11ec-8c01-0a652a81a80d"],"parent":"Stack-eu-west-1-044981683129","level":3,"id":"arn:aws:cloudformation:eu-west-1:044981683129:stack/CDKToolkit/b79886c0-59b2-11ec-8c01-0a652a81a80d","title":"CDKToolkit","label":"CDKToolkit","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:cloudformation:eu-west-1:044981683129:stack/CDKToolkit/b79886c0-59b2-11ec-8c01-0a652a81a80d","image":"/icons/AWS-CloudFormation.svg","cost":0,"private":false,"resource":{"id":"arn:aws:cloudformation:eu-west-1:044981683129:stack/CDKToolkit/b79886c0-59b2-11ec-8c01-0a652a81a80d","name":"CDKToolkit","value":null,"type":"AWS::CloudFormation::Stack","tags":"[]","arn":"arn:aws:cloudformation:eu-west-1:044981683129:stack/CDKToolkit/b79886c0-59b2-11ec-8c01-0a652a81a80d","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:cloudformation:eu-west-1:044981683129:stack/CDKToolkit/b79886c0-59b2-11ec-8c01-0a652a81a80d","configuration":"\"{\\\"outputs\\\":[{\\\"outputKey\\\":\\\"ImageRepositoryName\\\",\\\"outputValue\\\":\\\"cdk-hnb659fds-container-assets-044981683129-eu-west-1\\\",\\\"description\\\":\\\"The name of the ECR repository which hosts docker image assets\\\"},{\\\"outputKey\\\":\\\"BucketName\\\",\\\"outputValue\\\":\\\"cdk-hnb659fds-assets-044981683129-eu-west-1\\\",\\\"description\\\":\\\"The name of the S3 bucket owned by the CDK toolkit stack\\\"},{\\\"outputKey\\\":\\\"BootstrapVersion\\\",\\\"outputValue\\\":\\\"9\\\",\\\"description\\\":\\\"The version of the bootstrap resources that are currently mastered in this stack\\\"},{\\\"outputKey\\\":\\\"BucketDomainName\\\",\\\"outputValue\\\":\\\"cdk-hnb659fds-assets-044981683129-eu-west-1.s3.eu-west-1.amazonaws.com\\\",\\\"description\\\":\\\"The domain name of the S3 bucket owned by the CDK toolkit stack\\\"},{\\\"outputKey\\\":\\\"FileAssetKeyArn\\\",\\\"outputValue\\\":\\\"AWS_MANAGED_KEY\\\",\\\"description\\\":\\\"The ARN of the KMS key used to encrypt the asset bucket (deprecated)\\\"}],\\\"capabilities\\\":[\\\"CAPABILITY_IAM\\\",\\\"CAPABILITY_NAMED_IAM\\\",\\\"CAPABILITY_AUTO_EXPAND\\\"],\\\"creationTime\\\":\\\"2021-12-10T12:14:26Z\\\",\\\"notificationARNs\\\":[],\\\"stackId\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/CDKToolkit/b79886c0-59b2-11ec-8c01-0a652a81a80d\\\",\\\"stackName\\\":\\\"CDKToolkit\\\",\\\"description\\\":\\\"This stack includes resources needed to deploy AWS CDK apps into this environment\\\",\\\"stackStatus\\\":\\\"CREATE_COMPLETE\\\",\\\"disableRollback\\\":false,\\\"tags\\\":[],\\\"driftInformation\\\":{\\\"stackDriftStatus\\\":\\\"NOT_CHECKED\\\"},\\\"enableTerminationProtection\\\":false,\\\"lastUpdatedTime\\\":\\\"2021-12-10T12:14:31Z\\\",\\\"parameters\\\":[{\\\"parameterKey\\\":\\\"PublicAccessBlockConfiguration\\\",\\\"parameterValue\\\":\\\"true\\\"},{\\\"parameterKey\\\":\\\"FileAssetsBucketKmsKeyId\\\",\\\"parameterValue\\\":\\\"AWS_MANAGED_KEY\\\"},{\\\"parameterKey\\\":\\\"FileAssetsBucketName\\\",\\\"parameterValue\\\":\\\"\\\"},{\\\"parameterKey\\\":\\\"CloudFormationExecutionPolicies\\\",\\\"parameterValue\\\":\\\"\\\"},{\\\"parameterKey\\\":\\\"Qualifier\\\",\\\"parameterValue\\\":\\\"hnb659fds\\\"},{\\\"parameterKey\\\":\\\"TrustedAccountsForLookup\\\",\\\"parameterValue\\\":\\\"\\\"},{\\\"parameterKey\\\":\\\"ContainerAssetsRepositoryName\\\",\\\"parameterValue\\\":\\\"\\\"},{\\\"parameterKey\\\":\\\"TrustedAccounts\\\",\\\"parameterValue\\\":\\\"\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Regional","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:cloudformation:eu-west-1:044981683129:stack/CDKToolkit/b79886c0-59b2-11ec-8c01-0a652a81a80d","resourceName":"CDKToolkit","resourceType":"AWS::CloudFormation::Stack","resourceValue":null,"state":null,"tags":"[]","title":"CDKToolkit","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-799.5,"y":-485.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/AwsSecurityAudit","resourceId":["AROAQU6I6AO4VOYOFACNE","arn:aws:iam::044981683129:role/AwsSecurityAudit"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/AwsSecurityAudit","title":"AwsSecurityAudit","label":"AwsSecurityA...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/AwsSecurityAudit","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO4VOYOFACNE","name":"AwsSecurityAudit","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/AwsSecurityAudit","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/AwsSecurityAudit","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Sid%22%3A%22%22%2C%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22AWS%22%3A%22arn%3Aaws%3Aiam%3A%3A877377650033%3Aroot%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%2C%22Condition%22%3A%7B%22StringEquals%22%3A%7B%22sts%3AExternalId%22%3A%22AwsSecurityAuditBqKNzrxEnC0m%22%7D%7D%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO4VOYOFACNE\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/SecurityAudit\\\",\\\"policyName\\\":\\\"SecurityAudit\\\"}],\\\"roleName\\\":\\\"AwsSecurityAudit\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/AwsSecurityAudit\\\",\\\"createDate\\\":\\\"2019-11-25T15:13:21.000Z\\\",\\\"rolePolicyList\\\":[],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO4VOYOFACNE","resourceName":"AwsSecurityAudit","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"AwsSecurityAudit","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":476.5,"y":-2467.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/retaildemostore-Base-193OEK9-CognitoAuthorizedRole-1L9KKQJFWNBI1","resourceId":["AROAQU6I6AO4VH756SJCV","arn:aws:iam::044981683129:role/retaildemostore-Base-193OEK9-CognitoAuthorizedRole-1L9KKQJFWNBI1"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/retaildemostore-Base-193OEK9-CognitoAuthorizedRole-1L9KKQJFWNBI1","title":"retaildemostore-Base-193OEK9-CognitoAuthorizedRole-1L9KKQJFWNBI1","label":"retaildemost...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/retaildemostore-Base-193OEK9-CognitoAuthorizedRole-1L9KKQJFWNBI1","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO4VH756SJCV","name":"retaildemostore-Base-193OEK9-CognitoAuthorizedRole-1L9KKQJFWNBI1","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/retaildemostore-Base-193OEK9-CognitoAuthorizedRole-1L9KKQJFWNBI1","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/retaildemostore-Base-193OEK9-CognitoAuthorizedRole-1L9KKQJFWNBI1","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Federated%22%3A%22cognito-identity.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRoleWithWebIdentity%22%2C%22Condition%22%3A%7B%22StringEquals%22%3A%7B%22cognito-identity.amazonaws.com%3Aaud%22%3A%22us-east-1%3Ae212e781-c9bf-4a96-aa2e-f34980a4420b%22%7D%2C%22ForAnyValue%3AStringLike%22%3A%7B%22cognito-identity.amazonaws.com%3Aamr%22%3A%22authenticated%22%7D%7D%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO4VH756SJCV\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"retaildemostore-Base-193OEK9-CognitoAuthorizedRole-1L9KKQJFWNBI1\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/retaildemostore-Base-193OEK9-CognitoAuthorizedRole-1L9KKQJFWNBI1\\\",\\\"createDate\\\":\\\"2021-10-22T11:37:10.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22mobiletargeting%3AUpdateEndpoint%22%2C%22mobiletargeting%3APutEvents%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Amobiletargeting%3Aus-east-1%3A044981683129%3Aapps%2Ff223244ba211434da5dd4552ca28cff5%2F%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22mobileanalytics%3APutEvents%22%2C%22personalize%3APutEvents%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22cognito-identity%3A%2A%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Acognito-identity%3Aus-east-1%3A044981683129%3Aidentitypool%2Fus-east-1%3Ae212e781-c9bf-4a96-aa2e-f34980a4420b%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22cognito-sync%3A%2A%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Acognito-sync%3Aus-east-1%3A044981683129%3Aidentitypool%2Fus-east-1%3Ae212e781-c9bf-4a96-aa2e-f34980a4420b%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22lex%3APostText%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Alex%3Aus-east-1%3A044981683129%3Abot%3ARetailDemoStore%3A%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22geo%3ABatchGetDevicePosition%22%2C%22geo%3ABatchUpdateDevicePosition%22%2C%22geo%3ADescribeTracker%22%2C%22geo%3AGetDevicePosition%22%2C%22geo%3AGetDevicePositionHistory%22%2C%22geo%3AListDevicePositions%22%2C%22geo%3AListTrackers%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Ageo%3Aus-east-1%3A044981683129%3Atracker%2Fretaildemostore%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22geo%3AListGeofences%22%2C%22geo%3AListGeofenceCollections%22%2C%22geo%3AGetGeofence%22%2C%22geo%3ADescribeGeofenceCollection%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Ageo%3Aus-east-1%3A044981683129%3Ageofence-collection%2Fretaildemostore%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22geo%3AGetMapGlyphs%22%2C%22geo%3AGetMapSprites%22%2C%22geo%3AGetMapStyleDescriptor%22%2C%22geo%3AGetMapTile%22%2C%22geo%3ADescribeMap%22%2C%22geo%3AListMaps%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Ageo%3Aus-east-1%3A044981683129%3Amap%2Fretaildemostore%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"CognitoAuthorizedPolicy\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO4VH756SJCV","resourceName":"retaildemostore-Base-193OEK9-CognitoAuthorizedRole-1L9KKQJFWNBI1","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"retaildemostore-Base-193OEK9-CognitoAuthorizedRole-1L9KKQJFWNBI1","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":549.5,"y":-2467.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/retaildemostore-Base-193OEK9-CognitoAuthorizedRole-1L9KKQJFWNBI1/inlinePolicy/CognitoAuthorizedPolicy","resourceId":["arn:aws:iam::044981683129:role/retaildemostore-Base-193OEK9-CognitoAuthorizedRole-1L9KKQJFWNBI1/inlinePolicy/CognitoAuthorizedPolicy","arn:aws:iam::044981683129:role/retaildemostore-Base-193OEK9-CognitoAuthorizedRole-1L9KKQJFWNBI1/inlinePolicy/CognitoAuthorizedPolicy"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/retaildemostore-Base-193OEK9-CognitoAuthorizedRole-1L9KKQJFWNBI1/inlinePolicy/CognitoAuthorizedPolicy","title":"arn:aws:iam::044981683129:role/retaildemostore-Base-193OEK9-CognitoAuthorizedRole-1L9KKQJFWNBI1/inlinePolicy/CognitoAuthorizedPolicy","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/retaildemostore-Base-193OEK9-CognitoAuthorizedRole-1L9KKQJFWNBI1/inlinePolicy/CognitoAuthorizedPolicy","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Base-193OEK9-CognitoAuthorizedRole-1L9KKQJFWNBI1/inlinePolicy/CognitoAuthorizedPolicy","name":"arn:aws:iam::044981683129:role/retaildemostore-Base-193OEK9-CognitoAuthorizedRole-1L9KKQJFWNBI1/inlinePolicy/CognitoAuthorizedPolicy","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/retaildemostore-Base-193OEK9-CognitoAuthorizedRole-1L9KKQJFWNBI1/inlinePolicy/CognitoAuthorizedPolicy","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/retaildemostore-Base-193OEK9-CognitoAuthorizedRole-1L9KKQJFWNBI1/inlinePolicy/CognitoAuthorizedPolicy","configuration":"\"{\\\"policyName\\\":\\\"CognitoAuthorizedPolicy\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"mobiletargeting:UpdateEndpoint\\\",\\\"mobiletargeting:PutEvents\\\"],\\\"Resource\\\":[\\\"arn:aws:mobiletargeting:us-east-1:044981683129:apps/f223244ba211434da5dd4552ca28cff5/*\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"mobileanalytics:PutEvents\\\",\\\"personalize:PutEvents\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"cognito-identity:*\\\"],\\\"Resource\\\":[\\\"arn:aws:cognito-identity:us-east-1:044981683129:identitypool/us-east-1:e212e781-c9bf-4a96-aa2e-f34980a4420b\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"cognito-sync:*\\\"],\\\"Resource\\\":[\\\"arn:aws:cognito-sync:us-east-1:044981683129:identitypool/us-east-1:e212e781-c9bf-4a96-aa2e-f34980a4420b\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"lex:PostText\\\"],\\\"Resource\\\":[\\\"arn:aws:lex:us-east-1:044981683129:bot:RetailDemoStore:*\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"geo:BatchGetDevicePosition\\\",\\\"geo:BatchUpdateDevicePosition\\\",\\\"geo:DescribeTracker\\\",\\\"geo:GetDevicePosition\\\",\\\"geo:GetDevicePositionHistory\\\",\\\"geo:ListDevicePositions\\\",\\\"geo:ListTrackers\\\"],\\\"Resource\\\":[\\\"arn:aws:geo:us-east-1:044981683129:tracker/retaildemostore*\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"geo:ListGeofences\\\",\\\"geo:ListGeofenceCollections\\\",\\\"geo:GetGeofence\\\",\\\"geo:DescribeGeofenceCollection\\\"],\\\"Resource\\\":[\\\"arn:aws:geo:us-east-1:044981683129:geofence-collection/retaildemostore*\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"geo:GetMapGlyphs\\\",\\\"geo:GetMapSprites\\\",\\\"geo:GetMapStyleDescriptor\\\",\\\"geo:GetMapTile\\\",\\\"geo:DescribeMap\\\",\\\"geo:ListMaps\\\"],\\\"Resource\\\":[\\\"arn:aws:geo:us-east-1:044981683129:map/retaildemostore*\\\"],\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/retaildemostore-Base-193OEK9-CognitoAuthorizedRole-1L9KKQJFWNBI1/inlinePolicy/CognitoAuthorizedPolicy","resourceName":"arn:aws:iam::044981683129:role/retaildemostore-Base-193OEK9-CognitoAuthorizedRole-1L9KKQJFWNBI1/inlinePolicy/CognitoAuthorizedPolicy","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/retaildemostore-Base-193OEK9-CognitoAuthorizedRole-1L9KKQJFWNBI1/inlinePolicy/CognitoAuthorizedPolicy","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1757.5,"y":-2759.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/aws-perspective-ApiGatewayCloudWatchLogsRole-1H36LGEHQCD3M","resourceId":["AROAQU6I6AO4XRQRKELIW","arn:aws:iam::044981683129:role/aws-perspective-ApiGatewayCloudWatchLogsRole-1H36LGEHQCD3M"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/aws-perspective-ApiGatewayCloudWatchLogsRole-1H36LGEHQCD3M","title":"aws-perspective-ApiGatewayCloudWatchLogsRole-1H36LGEHQCD3M","label":"aws-perspect...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/aws-perspective-ApiGatewayCloudWatchLogsRole-1H36LGEHQCD3M","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO4XRQRKELIW","name":"aws-perspective-ApiGatewayCloudWatchLogsRole-1H36LGEHQCD3M","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/aws-perspective-ApiGatewayCloudWatchLogsRole-1H36LGEHQCD3M","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/aws-perspective-ApiGatewayCloudWatchLogsRole-1H36LGEHQCD3M","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222008-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22apigateway.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO4XRQRKELIW\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/service-role/AmazonAPIGatewayPushToCloudWatchLogs\\\",\\\"policyName\\\":\\\"AmazonAPIGatewayPushToCloudWatchLogs\\\"}],\\\"roleName\\\":\\\"aws-perspective-ApiGatewayCloudWatchLogsRole-1H36LGEHQCD3M\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/aws-perspective-ApiGatewayCloudWatchLogsRole-1H36LGEHQCD3M\\\",\\\"createDate\\\":\\\"2021-05-21T15:33:55.000Z\\\",\\\"rolePolicyList\\\":[],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO4XRQRKELIW","resourceName":"aws-perspective-ApiGatewayCloudWatchLogsRole-1H36LGEHQCD3M","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"aws-perspective-ApiGatewayCloudWatchLogsRole-1H36LGEHQCD3M","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":622.5,"y":-2467.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/aws-service-role/access-analyzer.amazonaws.com/AWSServiceRoleForAccessAnalyzer","resourceId":["AROAQU6I6AO4XSE4A45UI","arn:aws:iam::044981683129:role/aws-service-role/access-analyzer.amazonaws.com/AWSServiceRoleForAccessAnalyzer"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/aws-service-role/access-analyzer.amazonaws.com/AWSServiceRoleForAccessAnalyzer","title":"AWSServiceRoleForAccessAnalyzer","label":"AWSServiceRo...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/aws-service-role/access-analyzer.amazonaws.com/AWSServiceRoleForAccessAnalyzer","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO4XSE4A45UI","name":"AWSServiceRoleForAccessAnalyzer","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/aws-service-role/access-analyzer.amazonaws.com/AWSServiceRoleForAccessAnalyzer","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/aws-service-role/access-analyzer.amazonaws.com/AWSServiceRoleForAccessAnalyzer","configuration":"\"{\\\"path\\\":\\\"/aws-service-role/access-analyzer.amazonaws.com/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22access-analyzer.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO4XSE4A45UI\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/aws-service-role/AccessAnalyzerServiceRolePolicy\\\",\\\"policyName\\\":\\\"AccessAnalyzerServiceRolePolicy\\\"}],\\\"roleName\\\":\\\"AWSServiceRoleForAccessAnalyzer\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/aws-service-role/access-analyzer.amazonaws.com/AWSServiceRoleForAccessAnalyzer\\\",\\\"createDate\\\":\\\"2022-03-30T15:17:03.000Z\\\",\\\"rolePolicyList\\\":[],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO4XSE4A45UI","resourceName":"AWSServiceRoleForAccessAnalyzer","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"AWSServiceRoleForAccessAnalyzer","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":695.5,"y":-2467.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/retaildemostore-us-east-1-PinptP9e","resourceId":["AROAQU6I6AO4WGWWCR2MI","arn:aws:iam::044981683129:role/retaildemostore-us-east-1-PinptP9e"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/retaildemostore-us-east-1-PinptP9e","title":"retaildemostore-us-east-1-PinptP9e","label":"retaildemost...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/retaildemostore-us-east-1-PinptP9e","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO4WGWWCR2MI","name":"retaildemostore-us-east-1-PinptP9e","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/retaildemostore-us-east-1-PinptP9e","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/retaildemostore-us-east-1-PinptP9e","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22pinpoint.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO4WGWWCR2MI\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"retaildemostore-us-east-1-PinptP9e\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/retaildemostore-us-east-1-PinptP9e\\\",\\\"createDate\\\":\\\"2021-10-22T12:11:32.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22personalize%3ADescribeSolution%22%2C%22personalize%3ADescribeCampaign%22%2C%22personalize%3AGetRecommendations%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Apersonalize%3Aus-east-1%3A044981683129%3Asolution%2Fretaildemo%2A%22%2C%22arn%3Aaws%3Apersonalize%3Aus-east-1%3A044981683129%3Acampaign%2Fretaildemo%2A%22%2C%22arn%3Aaws%3Apersonalize%3Aus-east-1%3A044981683129%3Afilter%2Fretaildemo%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"PersonalizeAccess\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO4WGWWCR2MI","resourceName":"retaildemostore-us-east-1-PinptP9e","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"retaildemostore-us-east-1-PinptP9e","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":768.5,"y":-2467.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/retaildemostore-us-east-1-PinptP9e/inlinePolicy/PersonalizeAccess","resourceId":["arn:aws:iam::044981683129:role/retaildemostore-us-east-1-PinptP9e/inlinePolicy/PersonalizeAccess","arn:aws:iam::044981683129:role/retaildemostore-us-east-1-PinptP9e/inlinePolicy/PersonalizeAccess"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/retaildemostore-us-east-1-PinptP9e/inlinePolicy/PersonalizeAccess","title":"arn:aws:iam::044981683129:role/retaildemostore-us-east-1-PinptP9e/inlinePolicy/PersonalizeAccess","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/retaildemostore-us-east-1-PinptP9e/inlinePolicy/PersonalizeAccess","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/retaildemostore-us-east-1-PinptP9e/inlinePolicy/PersonalizeAccess","name":"arn:aws:iam::044981683129:role/retaildemostore-us-east-1-PinptP9e/inlinePolicy/PersonalizeAccess","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/retaildemostore-us-east-1-PinptP9e/inlinePolicy/PersonalizeAccess","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/retaildemostore-us-east-1-PinptP9e/inlinePolicy/PersonalizeAccess","configuration":"\"{\\\"policyName\\\":\\\"PersonalizeAccess\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"personalize:DescribeSolution\\\",\\\"personalize:DescribeCampaign\\\",\\\"personalize:GetRecommendations\\\"],\\\"Resource\\\":[\\\"arn:aws:personalize:us-east-1:044981683129:solution/retaildemo*\\\",\\\"arn:aws:personalize:us-east-1:044981683129:campaign/retaildemo*\\\",\\\"arn:aws:personalize:us-east-1:044981683129:filter/retaildemo*\\\"],\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/retaildemostore-us-east-1-PinptP9e/inlinePolicy/PersonalizeAccess","resourceName":"arn:aws:iam::044981683129:role/retaildemostore-us-east-1-PinptP9e/inlinePolicy/PersonalizeAccess","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/retaildemostore-us-east-1-PinptP9e/inlinePolicy/PersonalizeAccess","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1757.5,"y":-2686.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/cfn4-HelloLambdaRole4-10DER30I5NLMP","resourceId":["AROAQU6I6AO4WMDTB7T33","arn:aws:iam::044981683129:role/cfn4-HelloLambdaRole4-10DER30I5NLMP"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/cfn4-HelloLambdaRole4-10DER30I5NLMP","title":"cfn4-HelloLambdaRole4-10DER30I5NLMP","label":"cfn4-HelloLa...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/cfn4-HelloLambdaRole4-10DER30I5NLMP","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO4WMDTB7T33","name":"cfn4-HelloLambdaRole4-10DER30I5NLMP","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/cfn4-HelloLambdaRole4-10DER30I5NLMP","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/cfn4-HelloLambdaRole4-10DER30I5NLMP","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222008-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22lambda.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO4WMDTB7T33\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"cfn4-HelloLambdaRole4-10DER30I5NLMP\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/cfn4-HelloLambdaRole4-10DER30I5NLMP\\\",\\\"createDate\\\":\\\"2022-05-15T08:48:26.000Z\\\",\\\"rolePolicyList\\\":[],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO4WMDTB7T33","resourceName":"cfn4-HelloLambdaRole4-10DER30I5NLMP","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"cfn4-HelloLambdaRole4-10DER30I5NLMP","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":841.5,"y":-2759.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-Ta-CleanupRepositoryFunctio-JAM7N7JDLEDT","resourceId":["AROAQU6I6AO4XEL3FSQ4O","arn:aws:iam::044981683129:role/workload-discovery-iad-Ta-CleanupRepositoryFunctio-JAM7N7JDLEDT"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/workload-discovery-iad-Ta-CleanupRepositoryFunctio-JAM7N7JDLEDT","title":"workload-discovery-iad-Ta-CleanupRepositoryFunctio-JAM7N7JDLEDT","label":"workload-dis...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/workload-discovery-iad-Ta-CleanupRepositoryFunctio-JAM7N7JDLEDT","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO4XEL3FSQ4O","name":"workload-discovery-iad-Ta-CleanupRepositoryFunctio-JAM7N7JDLEDT","value":null,"type":"AWS::IAM::Role","tags":"[{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"}]","arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-Ta-CleanupRepositoryFunctio-JAM7N7JDLEDT","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-Ta-CleanupRepositoryFunctio-JAM7N7JDLEDT","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22lambda.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO4XEL3FSQ4O\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole\\\",\\\"policyName\\\":\\\"AWSLambdaBasicExecutionRole\\\"}],\\\"roleName\\\":\\\"workload-discovery-iad-Ta-CleanupRepositoryFunctio-JAM7N7JDLEDT\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/workload-discovery-iad-Ta-CleanupRepositoryFunctio-JAM7N7JDLEDT\\\",\\\"createDate\\\":\\\"2022-11-16T14:33:43.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22ecr%3ABatchDeleteImage%22%2C%22ecr%3AListImages%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Aecr%3Aus-east-1%3A044981683129%3Arepository%2Fworkload-discovery-iad-taskstack-1qzdla2pgjbv3-perspectivecontainerrepo-pv99bogatcsi%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"CleanupRepositoryFunctionRolePolicy0\\\"}],\\\"tags\\\":[{\\\"value\\\":\\\"SAM\\\",\\\"key\\\":\\\"lambda:createdBy\\\"}]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO4XEL3FSQ4O","resourceName":"workload-discovery-iad-Ta-CleanupRepositoryFunctio-JAM7N7JDLEDT","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"}]","title":"workload-discovery-iad-Ta-CleanupRepositoryFunctio-JAM7N7JDLEDT","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":841.5,"y":-2686.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-Ta-CleanupRepositoryFunctio-JAM7N7JDLEDT/inlinePolicy/CleanupRepositoryFunctionRolePolicy0","resourceId":["arn:aws:iam::044981683129:role/workload-discovery-iad-Ta-CleanupRepositoryFunctio-JAM7N7JDLEDT/inlinePolicy/CleanupRepositoryFunctionRolePolicy0","arn:aws:iam::044981683129:role/workload-discovery-iad-Ta-CleanupRepositoryFunctio-JAM7N7JDLEDT/inlinePolicy/CleanupRepositoryFunctionRolePolicy0"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/workload-discovery-iad-Ta-CleanupRepositoryFunctio-JAM7N7JDLEDT/inlinePolicy/CleanupRepositoryFunctionRolePolicy0","title":"arn:aws:iam::044981683129:role/workload-discovery-iad-Ta-CleanupRepositoryFunctio-JAM7N7JDLEDT/inlinePolicy/CleanupRepositoryFunctionRolePolicy0","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/workload-discovery-iad-Ta-CleanupRepositoryFunctio-JAM7N7JDLEDT/inlinePolicy/CleanupRepositoryFunctionRolePolicy0","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/workload-discovery-iad-Ta-CleanupRepositoryFunctio-JAM7N7JDLEDT/inlinePolicy/CleanupRepositoryFunctionRolePolicy0","name":"arn:aws:iam::044981683129:role/workload-discovery-iad-Ta-CleanupRepositoryFunctio-JAM7N7JDLEDT/inlinePolicy/CleanupRepositoryFunctionRolePolicy0","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-Ta-CleanupRepositoryFunctio-JAM7N7JDLEDT/inlinePolicy/CleanupRepositoryFunctionRolePolicy0","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-Ta-CleanupRepositoryFunctio-JAM7N7JDLEDT/inlinePolicy/CleanupRepositoryFunctionRolePolicy0","configuration":"\"{\\\"policyName\\\":\\\"CleanupRepositoryFunctionRolePolicy0\\\",\\\"policyDocument\\\":{\\\"Statement\\\":[{\\\"Action\\\":[\\\"ecr:BatchDeleteImage\\\",\\\"ecr:ListImages\\\"],\\\"Resource\\\":\\\"arn:aws:ecr:us-east-1:044981683129:repository/workload-discovery-iad-taskstack-1qzdla2pgjbv3-perspectivecontainerrepo-pv99bogatcsi\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/workload-discovery-iad-Ta-CleanupRepositoryFunctio-JAM7N7JDLEDT/inlinePolicy/CleanupRepositoryFunctionRolePolicy0","resourceName":"arn:aws:iam::044981683129:role/workload-discovery-iad-Ta-CleanupRepositoryFunctio-JAM7N7JDLEDT/inlinePolicy/CleanupRepositoryFunctionRolePolicy0","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/workload-discovery-iad-Ta-CleanupRepositoryFunctio-JAM7N7JDLEDT/inlinePolicy/CleanupRepositoryFunctionRolePolicy0","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1757.5,"y":-2613.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/aws-perspective-044981683-ServerAPIGatewayCloudWat-1Q3W51JUK6NH","resourceId":["AROAQU6I6AO4X22GAMF25","arn:aws:iam::044981683129:role/aws-perspective-044981683-ServerAPIGatewayCloudWat-1Q3W51JUK6NH"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/aws-perspective-044981683-ServerAPIGatewayCloudWat-1Q3W51JUK6NH","title":"aws-perspective-044981683-ServerAPIGatewayCloudWat-1Q3W51JUK6NH","label":"aws-perspect...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/aws-perspective-044981683-ServerAPIGatewayCloudWat-1Q3W51JUK6NH","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO4X22GAMF25","name":"aws-perspective-044981683-ServerAPIGatewayCloudWat-1Q3W51JUK6NH","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/aws-perspective-044981683-ServerAPIGatewayCloudWat-1Q3W51JUK6NH","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/aws-perspective-044981683-ServerAPIGatewayCloudWat-1Q3W51JUK6NH","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22apigateway.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO4X22GAMF25\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"aws-perspective-044981683-ServerAPIGatewayCloudWat-1Q3W51JUK6NH\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/aws-perspective-044981683-ServerAPIGatewayCloudWat-1Q3W51JUK6NH\\\",\\\"createDate\\\":\\\"2020-11-17T14:55:49.000Z\\\",\\\"rolePolicyList\\\":[],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO4X22GAMF25","resourceName":"aws-perspective-044981683-ServerAPIGatewayCloudWat-1Q3W51JUK6NH","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"aws-perspective-044981683-ServerAPIGatewayCloudWat-1Q3W51JUK6NH","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":841.5,"y":-2613.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/wd2-2022-10-07-SettingsRe-PerspectiveSettingsLambd-1ATQ0QK6YYTUD","resourceId":["AROAQU6I6AO4WQ4KV3VAZ","arn:aws:iam::044981683129:role/wd2-2022-10-07-SettingsRe-PerspectiveSettingsLambd-1ATQ0QK6YYTUD"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-SettingsRe-PerspectiveSettingsLambd-1ATQ0QK6YYTUD","title":"wd2-2022-10-07-SettingsRe-PerspectiveSettingsLambd-1ATQ0QK6YYTUD","label":"wd2-2022-10-...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/wd2-2022-10-07-SettingsRe-PerspectiveSettingsLambd-1ATQ0QK6YYTUD","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO4WQ4KV3VAZ","name":"wd2-2022-10-07-SettingsRe-PerspectiveSettingsLambd-1ATQ0QK6YYTUD","value":null,"type":"AWS::IAM::Role","tags":"[{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"}]","arn":"arn:aws:iam::044981683129:role/wd2-2022-10-07-SettingsRe-PerspectiveSettingsLambd-1ATQ0QK6YYTUD","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/wd2-2022-10-07-SettingsRe-PerspectiveSettingsLambd-1ATQ0QK6YYTUD","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22lambda.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO4WQ4KV3VAZ\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole\\\",\\\"policyName\\\":\\\"AWSLambdaVPCAccessExecutionRole\\\"},{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole\\\",\\\"policyName\\\":\\\"AWSLambdaBasicExecutionRole\\\"},{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/AWSXRayDaemonWriteAccess\\\",\\\"policyName\\\":\\\"AWSXRayDaemonWriteAccess\\\"}],\\\"roleName\\\":\\\"wd2-2022-10-07-SettingsRe-PerspectiveSettingsLambd-1ATQ0QK6YYTUD\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/wd2-2022-10-07-SettingsRe-PerspectiveSettingsLambd-1ATQ0QK6YYTUD\\\",\\\"createDate\\\":\\\"2022-10-07T18:00:36.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22dynamodb%3AQuery%22%2C%22dynamodb%3APutItem%22%2C%22dynamodb%3ADeleteItem%22%2C%22dynamodb%3AGetItem%22%2C%22dynamodb%3AUpdateItem%22%2C%22dynamodb%3ABatchWriteItem%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Adynamodb%3Aeu-west-1%3A044981683129%3Atable%2Fwd2-2022-10-07-SettingsResolversStack-1AJF23G4MGX8L-PerspectiveSettingsTable-1HXQR1074JM27%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22config%3AputConfigurationAggregator%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Aconfig%3Aeu-west-1%3A044981683129%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22ec2%3ADescribeRegions%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"wd2-2022-10-07-SettingsResolversStack-1AJF23G4MGX8L-AppSyncLambdaRole\\\"}],\\\"tags\\\":[{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"key\\\":\\\"AppManagerCFNStackKey\\\"}]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO4WQ4KV3VAZ","resourceName":"wd2-2022-10-07-SettingsRe-PerspectiveSettingsLambd-1ATQ0QK6YYTUD","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"}]","title":"wd2-2022-10-07-SettingsRe-PerspectiveSettingsLambd-1ATQ0QK6YYTUD","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":841.5,"y":-2540.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/wd2-2022-10-07-SettingsRe-PerspectiveSettingsLambd-1ATQ0QK6YYTUD/inlinePolicy/wd2-2022-10-07-SettingsResolversStack-1AJF23G4MGX8L-AppSyncLambdaRole","resourceId":["arn:aws:iam::044981683129:role/wd2-2022-10-07-SettingsRe-PerspectiveSettingsLambd-1ATQ0QK6YYTUD/inlinePolicy/wd2-2022-10-07-SettingsResolversStack-1AJF23G4MGX8L-AppSyncLambdaRole","arn:aws:iam::044981683129:role/wd2-2022-10-07-SettingsRe-PerspectiveSettingsLambd-1ATQ0QK6YYTUD/inlinePolicy/wd2-2022-10-07-SettingsResolversStack-1AJF23G4MGX8L-AppSyncLambdaRole"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-SettingsRe-PerspectiveSettingsLambd-1ATQ0QK6YYTUD/inlinePolicy/wd2-2022-10-07-SettingsResolversStack-1AJF23G4MGX8L-AppSyncLambdaRole","title":"arn:aws:iam::044981683129:role/wd2-2022-10-07-SettingsRe-PerspectiveSettingsLambd-1ATQ0QK6YYTUD/inlinePolicy/wd2-2022-10-07-SettingsResolversStack-1AJF23G4MGX8L-AppSyncLambdaRole","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/wd2-2022-10-07-SettingsRe-PerspectiveSettingsLambd-1ATQ0QK6YYTUD/inlinePolicy/wd2-2022-10-07-SettingsResolversStack-1AJF23G4MGX8L-AppSyncLambdaRole","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-SettingsRe-PerspectiveSettingsLambd-1ATQ0QK6YYTUD/inlinePolicy/wd2-2022-10-07-SettingsResolversStack-1AJF23G4MGX8L-AppSyncLambdaRole","name":"arn:aws:iam::044981683129:role/wd2-2022-10-07-SettingsRe-PerspectiveSettingsLambd-1ATQ0QK6YYTUD/inlinePolicy/wd2-2022-10-07-SettingsResolversStack-1AJF23G4MGX8L-AppSyncLambdaRole","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/wd2-2022-10-07-SettingsRe-PerspectiveSettingsLambd-1ATQ0QK6YYTUD/inlinePolicy/wd2-2022-10-07-SettingsResolversStack-1AJF23G4MGX8L-AppSyncLambdaRole","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/wd2-2022-10-07-SettingsRe-PerspectiveSettingsLambd-1ATQ0QK6YYTUD/inlinePolicy/wd2-2022-10-07-SettingsResolversStack-1AJF23G4MGX8L-AppSyncLambdaRole","configuration":"\"{\\\"policyName\\\":\\\"wd2-2022-10-07-SettingsResolversStack-1AJF23G4MGX8L-AppSyncLambdaRole\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"dynamodb:Query\\\",\\\"dynamodb:PutItem\\\",\\\"dynamodb:DeleteItem\\\",\\\"dynamodb:GetItem\\\",\\\"dynamodb:UpdateItem\\\",\\\"dynamodb:BatchWriteItem\\\"],\\\"Resource\\\":\\\"arn:aws:dynamodb:eu-west-1:044981683129:table/wd2-2022-10-07-SettingsResolversStack-1AJF23G4MGX8L-PerspectiveSettingsTable-1HXQR1074JM27\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"config:putConfigurationAggregator\\\"],\\\"Resource\\\":\\\"arn:aws:config:eu-west-1:044981683129*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"ec2:DescribeRegions\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/wd2-2022-10-07-SettingsRe-PerspectiveSettingsLambd-1ATQ0QK6YYTUD/inlinePolicy/wd2-2022-10-07-SettingsResolversStack-1AJF23G4MGX8L-AppSyncLambdaRole","resourceName":"arn:aws:iam::044981683129:role/wd2-2022-10-07-SettingsRe-PerspectiveSettingsLambd-1ATQ0QK6YYTUD/inlinePolicy/wd2-2022-10-07-SettingsResolversStack-1AJF23G4MGX8L-AppSyncLambdaRole","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/wd2-2022-10-07-SettingsRe-PerspectiveSettingsLambd-1ATQ0QK6YYTUD/inlinePolicy/wd2-2022-10-07-SettingsResolversStack-1AJF23G4MGX8L-AppSyncLambdaRole","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1757.5,"y":-2540.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"Function-eu-west-1-044981683129","parent":"eu-west-1-044981683129","level":2,"title":"Function","label":"Function","plainLabel":"Function","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/AWS-Lambda-menu.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-SettingsRe-PerspectiveSettingsFunct-tO9rS9m3dyus","label":"AWS_Lambda_Function","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-SettingsRe-PerspectiveSettingsFunct-tO9rS9m3dyus","configuration":"\"{\\\"architectures\\\":[\\\"x86_64\\\"],\\\"ephemeralStorage\\\":{\\\"size\\\":512},\\\"handler\\\":\\\"index.handler\\\",\\\"role\\\":\\\"arn:aws:iam::044981683129:role/wd2-2022-10-07-SettingsRe-PerspectiveSettingsLambd-1ATQ0QK6YYTUD\\\",\\\"functionName\\\":\\\"wd2-2022-10-07-SettingsRe-PerspectiveSettingsFunct-tO9rS9m3dyus\\\",\\\"tracingConfig\\\":{\\\"mode\\\":\\\"Active\\\"},\\\"runtime\\\":\\\"nodejs16.x\\\",\\\"description\\\":\\\"Lambda for Appsync resolvers\\\",\\\"runtimeVersionConfig\\\":{\\\"runtimeVersionArn\\\":\\\"arn:aws:lambda:eu-west-1::runtime:734d712d91ebc245bd01c52ae85b4025a7885efd1b8c87c0ce49f3e47d2116a4\\\"},\\\"codeSize\\\":17592885,\\\"version\\\":\\\"$LATEST\\\",\\\"packageType\\\":\\\"Zip\\\",\\\"timeout\\\":10,\\\"revisionId\\\":\\\"2759648b-0699-4fbc-8b77-4b4b2600702b\\\",\\\"codeSha256\\\":\\\"Q4czbwHd2hvcZS1DVPPAKCOc2+mnWlZh5Cklsr7+xeg=\\\",\\\"memorySize\\\":1024,\\\"fileSystemConfigs\\\":[],\\\"vpcConfig\\\":{\\\"securityGroupIds\\\":[],\\\"subnetIds\\\":[]},\\\"lastUpdateStatus\\\":\\\"Successful\\\",\\\"layers\\\":[],\\\"snapStart\\\":{\\\"applyOn\\\":\\\"None\\\",\\\"optimizationStatus\\\":\\\"Off\\\"},\\\"lastModified\\\":\\\"2023-02-13T12:52:08.000+0000\\\",\\\"state\\\":{\\\"value\\\":\\\"Active\\\"},\\\"functionArn\\\":\\\"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-SettingsRe-PerspectiveSettingsFunct-tO9rS9m3dyus\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/lambda/home?region=eu-west-1#/functions/wd2-2022-10-07-SettingsRe-PerspectiveSettingsFunct-tO9rS9m3dyus?tab=graph","loginURL":"https://044981683129.signin.aws.amazon.com/console/lambda?region=eu-west-1#/functions/wd2-2022-10-07-SettingsRe-PerspectiveSettingsFunct-tO9rS9m3dyus?tab=graph","private":null,"resourceId":"wd2-2022-10-07-SettingsRe-PerspectiveSettingsFunct-tO9rS9m3dyus","resourceName":"wd2-2022-10-07-SettingsRe-PerspectiveSettingsFunct-tO9rS9m3dyus","resourceType":"AWS::Lambda::Function","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-SettingsResolversStack-1AJF23G4MGX8L\",\"value\":\"wd2-2022-10-07-SettingsResolversStack-1AJF23G4MGX8L\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-SettingsResolversStack-1AJF23G4MGX8L/e292b810-4669-11ed-93ec-02a1b6729eb3\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-SettingsResolversStack-1AJF23G4MGX8L/e292b810-4669-11ed-93ec-02a1b6729eb3\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"aws:cloudformation:logical-id=PerspectiveSettingsFunction\",\"value\":\"PerspectiveSettingsFunction\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"wd2-2022-10-07-SettingsRe-PerspectiveSettingsFunct-tO9rS9m3dyus","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-95.5,"y":-485.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-SettingsRe-PerspectiveSettingsFunct-tO9rS9m3dyus","resourceId":["wd2-2022-10-07-SettingsRe-PerspectiveSettingsFunct-tO9rS9m3dyus","arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-SettingsRe-PerspectiveSettingsFunct-tO9rS9m3dyus"],"parent":"Function-eu-west-1-044981683129","level":3,"id":"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-SettingsRe-PerspectiveSettingsFunct-tO9rS9m3dyus","title":"wd2-2022-10-07-SettingsRe-PerspectiveSettingsFunct-tO9rS9m3dyus","label":"wd2-2022-10-...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-SettingsRe-PerspectiveSettingsFunct-tO9rS9m3dyus","image":"/icons/AWS-Lambda-menu.svg","cost":0,"private":false,"resource":{"id":"wd2-2022-10-07-SettingsRe-PerspectiveSettingsFunct-tO9rS9m3dyus","name":"wd2-2022-10-07-SettingsRe-PerspectiveSettingsFunct-tO9rS9m3dyus","value":null,"type":"AWS::Lambda::Function","tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-SettingsResolversStack-1AJF23G4MGX8L\",\"value\":\"wd2-2022-10-07-SettingsResolversStack-1AJF23G4MGX8L\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-SettingsResolversStack-1AJF23G4MGX8L/e292b810-4669-11ed-93ec-02a1b6729eb3\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-SettingsResolversStack-1AJF23G4MGX8L/e292b810-4669-11ed-93ec-02a1b6729eb3\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"aws:cloudformation:logical-id=PerspectiveSettingsFunction\",\"value\":\"PerspectiveSettingsFunction\",\"key\":\"aws:cloudformation:logical-id\"}]","arn":"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-SettingsRe-PerspectiveSettingsFunct-tO9rS9m3dyus","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/lambda/home?region=eu-west-1#/functions/wd2-2022-10-07-SettingsRe-PerspectiveSettingsFunct-tO9rS9m3dyus?tab=graph","loginURL":"https://044981683129.signin.aws.amazon.com/console/lambda?region=eu-west-1#/functions/wd2-2022-10-07-SettingsRe-PerspectiveSettingsFunct-tO9rS9m3dyus?tab=graph","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-SettingsRe-PerspectiveSettingsFunct-tO9rS9m3dyus","configuration":"\"{\\\"architectures\\\":[\\\"x86_64\\\"],\\\"ephemeralStorage\\\":{\\\"size\\\":512},\\\"handler\\\":\\\"index.handler\\\",\\\"role\\\":\\\"arn:aws:iam::044981683129:role/wd2-2022-10-07-SettingsRe-PerspectiveSettingsLambd-1ATQ0QK6YYTUD\\\",\\\"functionName\\\":\\\"wd2-2022-10-07-SettingsRe-PerspectiveSettingsFunct-tO9rS9m3dyus\\\",\\\"tracingConfig\\\":{\\\"mode\\\":\\\"Active\\\"},\\\"runtime\\\":\\\"nodejs16.x\\\",\\\"description\\\":\\\"Lambda for Appsync resolvers\\\",\\\"runtimeVersionConfig\\\":{\\\"runtimeVersionArn\\\":\\\"arn:aws:lambda:eu-west-1::runtime:734d712d91ebc245bd01c52ae85b4025a7885efd1b8c87c0ce49f3e47d2116a4\\\"},\\\"codeSize\\\":17592885,\\\"version\\\":\\\"$LATEST\\\",\\\"packageType\\\":\\\"Zip\\\",\\\"timeout\\\":10,\\\"revisionId\\\":\\\"2759648b-0699-4fbc-8b77-4b4b2600702b\\\",\\\"codeSha256\\\":\\\"Q4czbwHd2hvcZS1DVPPAKCOc2+mnWlZh5Cklsr7+xeg=\\\",\\\"memorySize\\\":1024,\\\"fileSystemConfigs\\\":[],\\\"vpcConfig\\\":{\\\"securityGroupIds\\\":[],\\\"subnetIds\\\":[]},\\\"lastUpdateStatus\\\":\\\"Successful\\\",\\\"layers\\\":[],\\\"snapStart\\\":{\\\"applyOn\\\":\\\"None\\\",\\\"optimizationStatus\\\":\\\"Off\\\"},\\\"lastModified\\\":\\\"2023-02-13T12:52:08.000+0000\\\",\\\"state\\\":{\\\"value\\\":\\\"Active\\\"},\\\"functionArn\\\":\\\"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-SettingsRe-PerspectiveSettingsFunct-tO9rS9m3dyus\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/lambda/home?region=eu-west-1#/functions/wd2-2022-10-07-SettingsRe-PerspectiveSettingsFunct-tO9rS9m3dyus?tab=graph","loginURL":"https://044981683129.signin.aws.amazon.com/console/lambda?region=eu-west-1#/functions/wd2-2022-10-07-SettingsRe-PerspectiveSettingsFunct-tO9rS9m3dyus?tab=graph","private":null,"resourceId":"wd2-2022-10-07-SettingsRe-PerspectiveSettingsFunct-tO9rS9m3dyus","resourceName":"wd2-2022-10-07-SettingsRe-PerspectiveSettingsFunct-tO9rS9m3dyus","resourceType":"AWS::Lambda::Function","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-SettingsResolversStack-1AJF23G4MGX8L\",\"value\":\"wd2-2022-10-07-SettingsResolversStack-1AJF23G4MGX8L\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-SettingsResolversStack-1AJF23G4MGX8L/e292b810-4669-11ed-93ec-02a1b6729eb3\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-SettingsResolversStack-1AJF23G4MGX8L/e292b810-4669-11ed-93ec-02a1b6729eb3\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"aws:cloudformation:logical-id=PerspectiveSettingsFunction\",\"value\":\"PerspectiveSettingsFunction\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"wd2-2022-10-07-SettingsRe-PerspectiveSettingsFunct-tO9rS9m3dyus","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-168.5,"y":-558.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-SettingsResolversStack-1AJF23G4MGX8L/e292b810-4669-11ed-93ec-02a1b6729eb3","resourceId":["arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-SettingsResolversStack-1AJF23G4MGX8L/e292b810-4669-11ed-93ec-02a1b6729eb3","arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-SettingsResolversStack-1AJF23G4MGX8L/e292b810-4669-11ed-93ec-02a1b6729eb3"],"parent":"Stack-eu-west-1-044981683129","level":3,"id":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-SettingsResolversStack-1AJF23G4MGX8L/e292b810-4669-11ed-93ec-02a1b6729eb3","title":"wd2-2022-10-07-SettingsResolversStack-1AJF23G4MGX8L","label":"wd2-2022-10-...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-SettingsResolversStack-1AJF23G4MGX8L/e292b810-4669-11ed-93ec-02a1b6729eb3","image":"/icons/AWS-CloudFormation.svg","cost":0,"private":false,"resource":{"id":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-SettingsResolversStack-1AJF23G4MGX8L/e292b810-4669-11ed-93ec-02a1b6729eb3","name":"wd2-2022-10-07-SettingsResolversStack-1AJF23G4MGX8L","value":null,"type":"AWS::CloudFormation::Stack","tags":"[{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"}]","arn":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-SettingsResolversStack-1AJF23G4MGX8L/e292b810-4669-11ed-93ec-02a1b6729eb3","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-SettingsResolversStack-1AJF23G4MGX8L/e292b810-4669-11ed-93ec-02a1b6729eb3","configuration":"\"{\\\"outputs\\\":[],\\\"capabilities\\\":[\\\"CAPABILITY_IAM\\\",\\\"CAPABILITY_NAMED_IAM\\\",\\\"CAPABILITY_AUTO_EXPAND\\\"],\\\"creationTime\\\":\\\"2022-10-07T18:00:10Z\\\",\\\"notificationARNs\\\":[],\\\"stackId\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-SettingsResolversStack-1AJF23G4MGX8L/e292b810-4669-11ed-93ec-02a1b6729eb3\\\",\\\"stackName\\\":\\\"wd2-2022-10-07-SettingsResolversStack-1AJF23G4MGX8L\\\",\\\"description\\\":\\\"Workload Discovery on AWS Settings Api Stack\\\",\\\"stackStatus\\\":\\\"UPDATE_COMPLETE\\\",\\\"disableRollback\\\":false,\\\"parentId\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"tags\\\":[{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"key\\\":\\\"AppManagerCFNStackKey\\\"}],\\\"timeoutInMinutes\\\":60,\\\"driftInformation\\\":{\\\"stackDriftStatus\\\":\\\"NOT_CHECKED\\\"},\\\"enableTerminationProtection\\\":false,\\\"lastUpdatedTime\\\":\\\"2023-02-13T12:51:52Z\\\",\\\"parameters\\\":[{\\\"parameterKey\\\":\\\"DeploymentBucketKey\\\",\\\"parameterValue\\\":\\\"workload-discovery/v2.1.0-local.tidy-cfn.1\\\"},{\\\"parameterKey\\\":\\\"DeploymentBucket\\\",\\\"parameterValue\\\":\\\"svozza-local-cfn-eu-west-1\\\"},{\\\"parameterKey\\\":\\\"PerspectiveAppSyncApiId\\\",\\\"parameterValue\\\":\\\"wh6ccb253jbktaquhfuvzfkbsi\\\"},{\\\"parameterKey\\\":\\\"CustomUserAgent\\\",\\\"parameterValue\\\":\\\"AwsSolution/SO0075/v2.1.0-local.tidy-cfn.1\\\"},{\\\"parameterKey\\\":\\\"ConfigurationAggregator\\\",\\\"parameterValue\\\":\\\"aws-perspective-eu-west-1-044981683129-aggregator\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Regional","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-SettingsResolversStack-1AJF23G4MGX8L/e292b810-4669-11ed-93ec-02a1b6729eb3","resourceName":"wd2-2022-10-07-SettingsResolversStack-1AJF23G4MGX8L","resourceType":"AWS::CloudFormation::Stack","resourceValue":null,"state":null,"tags":"[{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"}]","title":"wd2-2022-10-07-SettingsResolversStack-1AJF23G4MGX8L","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-726.5,"y":-485.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/aws-service-role/transitgateway.amazonaws.com/AWSServiceRoleForVPCTransitGateway","resourceId":["AROAQU6I6AO4X3EB356CP","arn:aws:iam::044981683129:role/aws-service-role/transitgateway.amazonaws.com/AWSServiceRoleForVPCTransitGateway"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/aws-service-role/transitgateway.amazonaws.com/AWSServiceRoleForVPCTransitGateway","title":"AWSServiceRoleForVPCTransitGateway","label":"AWSServiceRo...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/aws-service-role/transitgateway.amazonaws.com/AWSServiceRoleForVPCTransitGateway","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO4X3EB356CP","name":"AWSServiceRoleForVPCTransitGateway","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/aws-service-role/transitgateway.amazonaws.com/AWSServiceRoleForVPCTransitGateway","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/aws-service-role/transitgateway.amazonaws.com/AWSServiceRoleForVPCTransitGateway","configuration":"\"{\\\"path\\\":\\\"/aws-service-role/transitgateway.amazonaws.com/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22transitgateway.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO4X3EB356CP\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/aws-service-role/AWSVPCTransitGatewayServiceRolePolicy\\\",\\\"policyName\\\":\\\"AWSVPCTransitGatewayServiceRolePolicy\\\"}],\\\"roleName\\\":\\\"AWSServiceRoleForVPCTransitGateway\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/aws-service-role/transitgateway.amazonaws.com/AWSServiceRoleForVPCTransitGateway\\\",\\\"createDate\\\":\\\"2022-04-26T11:53:08.000Z\\\",\\\"rolePolicyList\\\":[],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO4X3EB356CP","resourceName":"AWSServiceRoleForVPCTransitGateway","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"AWSServiceRoleForVPCTransitGateway","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":841.5,"y":-2467.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/wd2-2022-10-07-GremlinRes-PerspectiveGremlinLambda-2BWE3KGKYZHG","resourceId":["AROAQU6I6AO4X4PA2W5X5","arn:aws:iam::044981683129:role/wd2-2022-10-07-GremlinRes-PerspectiveGremlinLambda-2BWE3KGKYZHG"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-GremlinRes-PerspectiveGremlinLambda-2BWE3KGKYZHG","title":"wd2-2022-10-07-GremlinRes-PerspectiveGremlinLambda-2BWE3KGKYZHG","label":"wd2-2022-10-...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/wd2-2022-10-07-GremlinRes-PerspectiveGremlinLambda-2BWE3KGKYZHG","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO4X4PA2W5X5","name":"wd2-2022-10-07-GremlinRes-PerspectiveGremlinLambda-2BWE3KGKYZHG","value":null,"type":"AWS::IAM::Role","tags":"[{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"}]","arn":"arn:aws:iam::044981683129:role/wd2-2022-10-07-GremlinRes-PerspectiveGremlinLambda-2BWE3KGKYZHG","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/wd2-2022-10-07-GremlinRes-PerspectiveGremlinLambda-2BWE3KGKYZHG","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22appsync.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO4X4PA2W5X5\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"wd2-2022-10-07-GremlinRes-PerspectiveGremlinLambda-2BWE3KGKYZHG\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/wd2-2022-10-07-GremlinRes-PerspectiveGremlinLambda-2BWE3KGKYZHG\\\",\\\"createDate\\\":\\\"2022-10-07T18:08:24.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22lambda%3AInvokeFunction%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Alambda%3Aeu-west-1%3A044981683129%3Afunction%3Awd2-2022-10-07-GremlinResol-GremlinAppSyncFunction-6sQyJsT9RJw9%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8-AppSyncGremlinRole\\\"}],\\\"tags\\\":[{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"key\\\":\\\"AppManagerCFNStackKey\\\"}]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO4X4PA2W5X5","resourceName":"wd2-2022-10-07-GremlinRes-PerspectiveGremlinLambda-2BWE3KGKYZHG","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"}]","title":"wd2-2022-10-07-GremlinRes-PerspectiveGremlinLambda-2BWE3KGKYZHG","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":476.5,"y":-2394.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/wd2-2022-10-07-GremlinRes-PerspectiveGremlinLambda-2BWE3KGKYZHG/inlinePolicy/wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8-AppSyncGremlinRole","resourceId":["arn:aws:iam::044981683129:role/wd2-2022-10-07-GremlinRes-PerspectiveGremlinLambda-2BWE3KGKYZHG/inlinePolicy/wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8-AppSyncGremlinRole","arn:aws:iam::044981683129:role/wd2-2022-10-07-GremlinRes-PerspectiveGremlinLambda-2BWE3KGKYZHG/inlinePolicy/wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8-AppSyncGremlinRole"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-GremlinRes-PerspectiveGremlinLambda-2BWE3KGKYZHG/inlinePolicy/wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8-AppSyncGremlinRole","title":"arn:aws:iam::044981683129:role/wd2-2022-10-07-GremlinRes-PerspectiveGremlinLambda-2BWE3KGKYZHG/inlinePolicy/wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8-AppSyncGremlinRole","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/wd2-2022-10-07-GremlinRes-PerspectiveGremlinLambda-2BWE3KGKYZHG/inlinePolicy/wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8-AppSyncGremlinRole","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-GremlinRes-PerspectiveGremlinLambda-2BWE3KGKYZHG/inlinePolicy/wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8-AppSyncGremlinRole","name":"arn:aws:iam::044981683129:role/wd2-2022-10-07-GremlinRes-PerspectiveGremlinLambda-2BWE3KGKYZHG/inlinePolicy/wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8-AppSyncGremlinRole","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/wd2-2022-10-07-GremlinRes-PerspectiveGremlinLambda-2BWE3KGKYZHG/inlinePolicy/wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8-AppSyncGremlinRole","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/wd2-2022-10-07-GremlinRes-PerspectiveGremlinLambda-2BWE3KGKYZHG/inlinePolicy/wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8-AppSyncGremlinRole","configuration":"\"{\\\"policyName\\\":\\\"wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8-AppSyncGremlinRole\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"lambda:InvokeFunction\\\"],\\\"Resource\\\":\\\"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-GremlinResol-GremlinAppSyncFunction-6sQyJsT9RJw9\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/wd2-2022-10-07-GremlinRes-PerspectiveGremlinLambda-2BWE3KGKYZHG/inlinePolicy/wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8-AppSyncGremlinRole","resourceName":"arn:aws:iam::044981683129:role/wd2-2022-10-07-GremlinRes-PerspectiveGremlinLambda-2BWE3KGKYZHG/inlinePolicy/wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8-AppSyncGremlinRole","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/wd2-2022-10-07-GremlinRes-PerspectiveGremlinLambda-2BWE3KGKYZHG/inlinePolicy/wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8-AppSyncGremlinRole","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1757.5,"y":-2467.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8/84b956d0-466a-11ed-bed8-0e6093335a65","resourceId":["arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8/84b956d0-466a-11ed-bed8-0e6093335a65","arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8/84b956d0-466a-11ed-bed8-0e6093335a65"],"parent":"Stack-eu-west-1-044981683129","level":3,"id":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8/84b956d0-466a-11ed-bed8-0e6093335a65","title":"wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8","label":"wd2-2022-10-...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8/84b956d0-466a-11ed-bed8-0e6093335a65","image":"/icons/AWS-CloudFormation.svg","cost":0,"private":false,"resource":{"id":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8/84b956d0-466a-11ed-bed8-0e6093335a65","name":"wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8","value":null,"type":"AWS::CloudFormation::Stack","tags":"[{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"}]","arn":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8/84b956d0-466a-11ed-bed8-0e6093335a65","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8/84b956d0-466a-11ed-bed8-0e6093335a65","configuration":"\"{\\\"outputs\\\":[],\\\"capabilities\\\":[\\\"CAPABILITY_IAM\\\",\\\"CAPABILITY_NAMED_IAM\\\",\\\"CAPABILITY_AUTO_EXPAND\\\"],\\\"creationTime\\\":\\\"2022-10-07T18:04:42Z\\\",\\\"notificationARNs\\\":[],\\\"stackId\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8/84b956d0-466a-11ed-bed8-0e6093335a65\\\",\\\"stackName\\\":\\\"wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8\\\",\\\"description\\\":\\\"Workload Discovery on AWS Gremlin AppSync Stack\\\",\\\"stackStatus\\\":\\\"UPDATE_COMPLETE\\\",\\\"disableRollback\\\":false,\\\"parentId\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"tags\\\":[{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"key\\\":\\\"AppManagerCFNStackKey\\\"}],\\\"timeoutInMinutes\\\":60,\\\"driftInformation\\\":{\\\"stackDriftStatus\\\":\\\"NOT_CHECKED\\\"},\\\"enableTerminationProtection\\\":false,\\\"lastUpdatedTime\\\":\\\"2023-02-13T12:51:52Z\\\",\\\"parameters\\\":[{\\\"parameterKey\\\":\\\"PrivateSubnet0\\\",\\\"parameterValue\\\":\\\"subnet-02e0c991bba17b7eb\\\"},{\\\"parameterKey\\\":\\\"PrivateSubnet1\\\",\\\"parameterValue\\\":\\\"subnet-010652f698dff6484\\\"},{\\\"parameterKey\\\":\\\"DeploymentBucketKey\\\",\\\"parameterValue\\\":\\\"workload-discovery/v2.1.0-local.tidy-cfn.1\\\"},{\\\"parameterKey\\\":\\\"VpcId\\\",\\\"parameterValue\\\":\\\"vpc-04e5e1c4bc4409222\\\"},{\\\"parameterKey\\\":\\\"NeptuneClusterURL\\\",\\\"parameterValue\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x.cluster-ccc9f5a6ekin.eu-west-1.neptune.amazonaws.com\\\"},{\\\"parameterKey\\\":\\\"NeptuneClusterPort\\\",\\\"parameterValue\\\":\\\"6174\\\"},{\\\"parameterKey\\\":\\\"DeploymentBucket\\\",\\\"parameterValue\\\":\\\"svozza-local-cfn-eu-west-1\\\"},{\\\"parameterKey\\\":\\\"NeptuneClusterResourceId\\\",\\\"parameterValue\\\":\\\"cluster-NXTWW4L6Q3GOE7YJ72XINL7SKI\\\"},{\\\"parameterKey\\\":\\\"PerspectiveAppSyncApiId\\\",\\\"parameterValue\\\":\\\"wh6ccb253jbktaquhfuvzfkbsi\\\"},{\\\"parameterKey\\\":\\\"CustomUserAgent\\\",\\\"parameterValue\\\":\\\"AwsSolution/SO0075/v2.1.0-local.tidy-cfn.1\\\"},{\\\"parameterKey\\\":\\\"NeptuneDbSg\\\",\\\"parameterValue\\\":\\\"sg-02df76c6e6753f6b3\\\"},{\\\"parameterKey\\\":\\\"VPCCidrBlock\\\",\\\"parameterValue\\\":\\\"10.0.0.0/16\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Regional","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8/84b956d0-466a-11ed-bed8-0e6093335a65","resourceName":"wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8","resourceType":"AWS::CloudFormation::Stack","resourceValue":null,"state":null,"tags":"[{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"}]","title":"wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-653.5,"y":-558.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/retaildemostore-Location-LocationResourceStackLam-15GCI8R2TSESU","resourceId":["AROAQU6I6AO4XDGH3J4E3","arn:aws:iam::044981683129:role/retaildemostore-Location-LocationResourceStackLam-15GCI8R2TSESU"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/retaildemostore-Location-LocationResourceStackLam-15GCI8R2TSESU","title":"retaildemostore-Location-LocationResourceStackLam-15GCI8R2TSESU","label":"retaildemost...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/retaildemostore-Location-LocationResourceStackLam-15GCI8R2TSESU","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO4XDGH3J4E3","name":"retaildemostore-Location-LocationResourceStackLam-15GCI8R2TSESU","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/retaildemostore-Location-LocationResourceStackLam-15GCI8R2TSESU","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/retaildemostore-Location-LocationResourceStackLam-15GCI8R2TSESU","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22lambda.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO4XDGH3J4E3\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"retaildemostore-Location-LocationResourceStackLam-15GCI8R2TSESU\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/retaildemostore-Location-LocationResourceStackLam-15GCI8R2TSESU\\\",\\\"createDate\\\":\\\"2021-10-22T12:13:20.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22logs%3ACreateLogStream%22%2C%22logs%3APutLogEvents%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Alogs%3Aus-east-1%3A044981683129%3Alog-group%3A%2Faws%2Flambda%2FLocationNrfDemoLocationResourceStack%3Alog-stream%3A%2A%22%2C%22arn%3Aaws%3Alogs%3Aus-east-1%3A044981683129%3Alog-group%3A%2Faws%2Flambda%2FLocationNrfDemoLocationResourceStack%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22logs%3ACreateLogGroup%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22s3%3AGetObject%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3As3%3A%3A%3Aretail-demo-store-us-east-1%22%2C%22arn%3Aaws%3As3%3A%3A%3Aretail-demo-store-us-east-1%2F%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22geo%3AAssociateTrackerConsumer%22%2C%22geo%3ACreateTracker%22%2C%22geo%3ADeleteTracker%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Ageo%3Aus-east-1%3A044981683129%3Atracker%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22geo%3APutGeofence%22%2C%22geo%3ACreateGeofenceCollection%22%2C%22geo%3ABatchDeleteGeofence%22%2C%22geo%3ADeleteGeofenceCollection%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Ageo%3Aus-east-1%3A044981683129%3Ageofence-collection%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22geo%3ACreateMap%22%2C%22geo%3ADeleteMap%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Ageo%3Aus-east-1%3A044981683129%3Amap%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22geo%3ACreatePlaceIndex%22%2C%22geo%3ADeletePlaceIndex%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Ageo%3Aus-east-1%3A044981683129%3Aplace-index%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"root\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO4XDGH3J4E3","resourceName":"retaildemostore-Location-LocationResourceStackLam-15GCI8R2TSESU","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"retaildemostore-Location-LocationResourceStackLam-15GCI8R2TSESU","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":549.5,"y":-2394.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/retaildemostore-Location-LocationResourceStackLam-15GCI8R2TSESU/inlinePolicy/root","resourceId":["arn:aws:iam::044981683129:role/retaildemostore-Location-LocationResourceStackLam-15GCI8R2TSESU/inlinePolicy/root","arn:aws:iam::044981683129:role/retaildemostore-Location-LocationResourceStackLam-15GCI8R2TSESU/inlinePolicy/root"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/retaildemostore-Location-LocationResourceStackLam-15GCI8R2TSESU/inlinePolicy/root","title":"arn:aws:iam::044981683129:role/retaildemostore-Location-LocationResourceStackLam-15GCI8R2TSESU/inlinePolicy/root","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/retaildemostore-Location-LocationResourceStackLam-15GCI8R2TSESU/inlinePolicy/root","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Location-LocationResourceStackLam-15GCI8R2TSESU/inlinePolicy/root","name":"arn:aws:iam::044981683129:role/retaildemostore-Location-LocationResourceStackLam-15GCI8R2TSESU/inlinePolicy/root","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/retaildemostore-Location-LocationResourceStackLam-15GCI8R2TSESU/inlinePolicy/root","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/retaildemostore-Location-LocationResourceStackLam-15GCI8R2TSESU/inlinePolicy/root","configuration":"\"{\\\"policyName\\\":\\\"root\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"logs:CreateLogStream\\\",\\\"logs:PutLogEvents\\\"],\\\"Resource\\\":[\\\"arn:aws:logs:us-east-1:044981683129:log-group:/aws/lambda/LocationNrfDemoLocationResourceStack:log-stream:*\\\",\\\"arn:aws:logs:us-east-1:044981683129:log-group:/aws/lambda/LocationNrfDemoLocationResourceStack\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"logs:CreateLogGroup\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"s3:GetObject\\\"],\\\"Resource\\\":[\\\"arn:aws:s3:::retail-demo-store-us-east-1\\\",\\\"arn:aws:s3:::retail-demo-store-us-east-1/*\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"geo:AssociateTrackerConsumer\\\",\\\"geo:CreateTracker\\\",\\\"geo:DeleteTracker\\\"],\\\"Resource\\\":[\\\"arn:aws:geo:us-east-1:044981683129:tracker*\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"geo:PutGeofence\\\",\\\"geo:CreateGeofenceCollection\\\",\\\"geo:BatchDeleteGeofence\\\",\\\"geo:DeleteGeofenceCollection\\\"],\\\"Resource\\\":[\\\"arn:aws:geo:us-east-1:044981683129:geofence-collection*\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"geo:CreateMap\\\",\\\"geo:DeleteMap\\\"],\\\"Resource\\\":[\\\"arn:aws:geo:us-east-1:044981683129:map*\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"geo:CreatePlaceIndex\\\",\\\"geo:DeletePlaceIndex\\\"],\\\"Resource\\\":[\\\"arn:aws:geo:us-east-1:044981683129:place-index*\\\"],\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/retaildemostore-Location-LocationResourceStackLam-15GCI8R2TSESU/inlinePolicy/root","resourceName":"arn:aws:iam::044981683129:role/retaildemostore-Location-LocationResourceStackLam-15GCI8R2TSESU/inlinePolicy/root","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/retaildemostore-Location-LocationResourceStackLam-15GCI8R2TSESU/inlinePolicy/root","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1392.5,"y":-2394.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/cdk-hnb659fds-deploy-role-044981683129-eu-west-2","resourceId":["AROAQU6I6AO4XDM5FN6CF","arn:aws:iam::044981683129:role/cdk-hnb659fds-deploy-role-044981683129-eu-west-2"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/cdk-hnb659fds-deploy-role-044981683129-eu-west-2","title":"cdk-hnb659fds-deploy-role-044981683129-eu-west-2","label":"cdk-hnb659fd...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/cdk-hnb659fds-deploy-role-044981683129-eu-west-2","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO4XDM5FN6CF","name":"cdk-hnb659fds-deploy-role-044981683129-eu-west-2","value":null,"type":"AWS::IAM::Role","tags":"[{\"tag\":\"aws-cdk:bootstrap-role=deploy\",\"value\":\"deploy\",\"key\":\"aws-cdk:bootstrap-role\"}]","arn":"arn:aws:iam::044981683129:role/cdk-hnb659fds-deploy-role-044981683129-eu-west-2","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/cdk-hnb659fds-deploy-role-044981683129-eu-west-2","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222008-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22AWS%22%3A%22arn%3Aaws%3Aiam%3A%3A044981683129%3Aroot%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO4XDM5FN6CF\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"cdk-hnb659fds-deploy-role-044981683129-eu-west-2\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/cdk-hnb659fds-deploy-role-044981683129-eu-west-2\\\",\\\"createDate\\\":\\\"2021-12-10T11:38:11.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22cloudformation%3ACreateChangeSet%22%2C%22cloudformation%3ADeleteChangeSet%22%2C%22cloudformation%3ADescribeChangeSet%22%2C%22cloudformation%3ADescribeStacks%22%2C%22cloudformation%3AExecuteChangeSet%22%2C%22cloudformation%3ACreateStack%22%2C%22cloudformation%3AUpdateStack%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%2C%22Sid%22%3A%22CloudFormationPermissions%22%7D%2C%7B%22Condition%22%3A%7B%22StringNotEquals%22%3A%7B%22s3%3AResourceAccount%22%3A%22044981683129%22%7D%7D%2C%22Action%22%3A%5B%22s3%3AGetObject%2A%22%2C%22s3%3AGetBucket%2A%22%2C%22s3%3AList%2A%22%2C%22s3%3AAbort%2A%22%2C%22s3%3ADeleteObject%2A%22%2C%22s3%3APutObject%2A%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%2C%22Sid%22%3A%22PipelineCrossAccountArtifactsBucket%22%7D%2C%7B%22Condition%22%3A%7B%22StringEquals%22%3A%7B%22kms%3AViaService%22%3A%22s3.eu-west-2.amazonaws.com%22%7D%7D%2C%22Action%22%3A%5B%22kms%3ADecrypt%22%2C%22kms%3ADescribeKey%22%2C%22kms%3AEncrypt%22%2C%22kms%3AReEncrypt%2A%22%2C%22kms%3AGenerateDataKey%2A%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%2C%22Sid%22%3A%22PipelineCrossAccountArtifactsKey%22%7D%2C%7B%22Action%22%3A%22iam%3APassRole%22%2C%22Resource%22%3A%22arn%3Aaws%3Aiam%3A%3A044981683129%3Arole%2Fcdk-hnb659fds-cfn-exec-role-044981683129-eu-west-2%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22cloudformation%3ADescribeStackEvents%22%2C%22cloudformation%3AGetTemplate%22%2C%22cloudformation%3ADeleteStack%22%2C%22cloudformation%3AUpdateTerminationProtection%22%2C%22sts%3AGetCallerIdentity%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%2C%22Sid%22%3A%22CliPermissions%22%7D%2C%7B%22Action%22%3A%5B%22s3%3AGetObject%2A%22%2C%22s3%3AGetBucket%2A%22%2C%22s3%3AList%2A%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3As3%3A%3A%3Acdk-hnb659fds-assets-044981683129-eu-west-2%22%2C%22arn%3Aaws%3As3%3A%3A%3Acdk-hnb659fds-assets-044981683129-eu-west-2%2F%2A%22%5D%2C%22Effect%22%3A%22Allow%22%2C%22Sid%22%3A%22CliStagingBucket%22%7D%2C%7B%22Action%22%3A%5B%22ssm%3AGetParameter%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Assm%3Aeu-west-2%3A044981683129%3Aparameter%2Fcdk-bootstrap%2Fhnb659fds%2Fversion%22%5D%2C%22Effect%22%3A%22Allow%22%2C%22Sid%22%3A%22ReadVersion%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"default\\\"}],\\\"tags\\\":[{\\\"value\\\":\\\"deploy\\\",\\\"key\\\":\\\"aws-cdk:bootstrap-role\\\"}]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO4XDM5FN6CF","resourceName":"cdk-hnb659fds-deploy-role-044981683129-eu-west-2","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws-cdk:bootstrap-role=deploy\",\"value\":\"deploy\",\"key\":\"aws-cdk:bootstrap-role\"}]","title":"cdk-hnb659fds-deploy-role-044981683129-eu-west-2","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":622.5,"y":-2394.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/cdk-hnb659fds-deploy-role-044981683129-eu-west-2/inlinePolicy/default","resourceId":["arn:aws:iam::044981683129:role/cdk-hnb659fds-deploy-role-044981683129-eu-west-2/inlinePolicy/default","arn:aws:iam::044981683129:role/cdk-hnb659fds-deploy-role-044981683129-eu-west-2/inlinePolicy/default"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/cdk-hnb659fds-deploy-role-044981683129-eu-west-2/inlinePolicy/default","title":"arn:aws:iam::044981683129:role/cdk-hnb659fds-deploy-role-044981683129-eu-west-2/inlinePolicy/default","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/cdk-hnb659fds-deploy-role-044981683129-eu-west-2/inlinePolicy/default","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/cdk-hnb659fds-deploy-role-044981683129-eu-west-2/inlinePolicy/default","name":"arn:aws:iam::044981683129:role/cdk-hnb659fds-deploy-role-044981683129-eu-west-2/inlinePolicy/default","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/cdk-hnb659fds-deploy-role-044981683129-eu-west-2/inlinePolicy/default","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/cdk-hnb659fds-deploy-role-044981683129-eu-west-2/inlinePolicy/default","configuration":"\"{\\\"policyName\\\":\\\"default\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"cloudformation:CreateChangeSet\\\",\\\"cloudformation:DeleteChangeSet\\\",\\\"cloudformation:DescribeChangeSet\\\",\\\"cloudformation:DescribeStacks\\\",\\\"cloudformation:ExecuteChangeSet\\\",\\\"cloudformation:CreateStack\\\",\\\"cloudformation:UpdateStack\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\",\\\"Sid\\\":\\\"CloudFormationPermissions\\\"},{\\\"Condition\\\":{\\\"StringNotEquals\\\":{\\\"s3:ResourceAccount\\\":\\\"044981683129\\\"}},\\\"Action\\\":[\\\"s3:GetObject*\\\",\\\"s3:GetBucket*\\\",\\\"s3:List*\\\",\\\"s3:Abort*\\\",\\\"s3:DeleteObject*\\\",\\\"s3:PutObject*\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\",\\\"Sid\\\":\\\"PipelineCrossAccountArtifactsBucket\\\"},{\\\"Condition\\\":{\\\"StringEquals\\\":{\\\"kms:ViaService\\\":\\\"s3.eu-west-2.amazonaws.com\\\"}},\\\"Action\\\":[\\\"kms:Decrypt\\\",\\\"kms:DescribeKey\\\",\\\"kms:Encrypt\\\",\\\"kms:ReEncrypt*\\\",\\\"kms:GenerateDataKey*\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\",\\\"Sid\\\":\\\"PipelineCrossAccountArtifactsKey\\\"},{\\\"Action\\\":\\\"iam:PassRole\\\",\\\"Resource\\\":\\\"arn:aws:iam::044981683129:role/cdk-hnb659fds-cfn-exec-role-044981683129-eu-west-2\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"cloudformation:DescribeStackEvents\\\",\\\"cloudformation:GetTemplate\\\",\\\"cloudformation:DeleteStack\\\",\\\"cloudformation:UpdateTerminationProtection\\\",\\\"sts:GetCallerIdentity\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\",\\\"Sid\\\":\\\"CliPermissions\\\"},{\\\"Action\\\":[\\\"s3:GetObject*\\\",\\\"s3:GetBucket*\\\",\\\"s3:List*\\\"],\\\"Resource\\\":[\\\"arn:aws:s3:::cdk-hnb659fds-assets-044981683129-eu-west-2\\\",\\\"arn:aws:s3:::cdk-hnb659fds-assets-044981683129-eu-west-2/*\\\"],\\\"Effect\\\":\\\"Allow\\\",\\\"Sid\\\":\\\"CliStagingBucket\\\"},{\\\"Action\\\":[\\\"ssm:GetParameter\\\"],\\\"Resource\\\":[\\\"arn:aws:ssm:eu-west-2:044981683129:parameter/cdk-bootstrap/hnb659fds/version\\\"],\\\"Effect\\\":\\\"Allow\\\",\\\"Sid\\\":\\\"ReadVersion\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/cdk-hnb659fds-deploy-role-044981683129-eu-west-2/inlinePolicy/default","resourceName":"arn:aws:iam::044981683129:role/cdk-hnb659fds-deploy-role-044981683129-eu-west-2/inlinePolicy/default","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/cdk-hnb659fds-deploy-role-044981683129-eu-west-2/inlinePolicy/default","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1465.5,"y":-2394.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:tags::044981683129:tag/aws-cdk:bootstrap-role=deploy","resourceId":["arn:aws:tags::044981683129:tag/aws-cdk:bootstrap-role=deploy","arn:aws:tags::044981683129:tag/aws-cdk:bootstrap-role=deploy"],"parent":"Tag-global-044981683129","level":3,"id":"arn:aws:tags::044981683129:tag/aws-cdk:bootstrap-role=deploy","title":"aws-cdk:bootstrap-role=deploy","label":"aws-cdk:boot...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:tags::044981683129:tag/aws-cdk:bootstrap-role=deploy","image":"/icons/AWS-Tags-bg.svg","cost":0,"private":false,"resource":{"id":"arn:aws:tags::044981683129:tag/aws-cdk:bootstrap-role=deploy","name":"aws-cdk:bootstrap-role=deploy","value":null,"type":"AWS::Tags::Tag","tags":"[]","arn":"arn:aws:tags::044981683129:tag/aws-cdk:bootstrap-role=deploy","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:tags::044981683129:tag/aws-cdk:bootstrap-role=deploy","configuration":"\"{}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:tags::044981683129:tag/aws-cdk:bootstrap-role=deploy","resourceName":"aws-cdk:bootstrap-role=deploy","resourceType":"AWS::Tags::Tag","resourceValue":null,"state":null,"tags":"[]","title":"aws-cdk:bootstrap-role=deploy","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":695.5,"y":-1826.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/cdk-hnb659fds-cfn-exec-role-044981683129-eu-west-2","resourceId":["AROAQU6I6AO4XXMBU5VPL","arn:aws:iam::044981683129:role/cdk-hnb659fds-cfn-exec-role-044981683129-eu-west-2"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/cdk-hnb659fds-cfn-exec-role-044981683129-eu-west-2","title":"cdk-hnb659fds-cfn-exec-role-044981683129-eu-west-2","label":"cdk-hnb659fd...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/cdk-hnb659fds-cfn-exec-role-044981683129-eu-west-2","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO4XXMBU5VPL","name":"cdk-hnb659fds-cfn-exec-role-044981683129-eu-west-2","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/cdk-hnb659fds-cfn-exec-role-044981683129-eu-west-2","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/cdk-hnb659fds-cfn-exec-role-044981683129-eu-west-2","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22cloudformation.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO4XXMBU5VPL\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/AdministratorAccess\\\",\\\"policyName\\\":\\\"AdministratorAccess\\\"}],\\\"roleName\\\":\\\"cdk-hnb659fds-cfn-exec-role-044981683129-eu-west-2\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/cdk-hnb659fds-cfn-exec-role-044981683129-eu-west-2\\\",\\\"createDate\\\":\\\"2021-12-10T11:37:46.000Z\\\",\\\"rolePolicyList\\\":[],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO4XXMBU5VPL","resourceName":"cdk-hnb659fds-cfn-exec-role-044981683129-eu-west-2","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"cdk-hnb659fds-cfn-exec-role-044981683129-eu-west-2","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":695.5,"y":-2394.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/retaildemostore-Location-LocationGeofenceEventHan-1UNIJLRMOUYQR","resourceId":["AROAQU6I6AO4Y5SXCBZAC","arn:aws:iam::044981683129:role/retaildemostore-Location-LocationGeofenceEventHan-1UNIJLRMOUYQR"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/retaildemostore-Location-LocationGeofenceEventHan-1UNIJLRMOUYQR","title":"retaildemostore-Location-LocationGeofenceEventHan-1UNIJLRMOUYQR","label":"retaildemost...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/retaildemostore-Location-LocationGeofenceEventHan-1UNIJLRMOUYQR","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO4Y5SXCBZAC","name":"retaildemostore-Location-LocationGeofenceEventHan-1UNIJLRMOUYQR","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/retaildemostore-Location-LocationGeofenceEventHan-1UNIJLRMOUYQR","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/retaildemostore-Location-LocationGeofenceEventHan-1UNIJLRMOUYQR","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22lambda.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO4Y5SXCBZAC\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"retaildemostore-Location-LocationGeofenceEventHan-1UNIJLRMOUYQR\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/retaildemostore-Location-LocationGeofenceEventHan-1UNIJLRMOUYQR\\\",\\\"createDate\\\":\\\"2021-10-22T12:13:54.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22logs%3ACreateLogStream%22%2C%22logs%3APutLogEvents%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Alogs%3Aus-east-1%3A044981683129%3Alog-group%3A%2Faws%2Flambda%2FLocationNrfDemoGeofenceEventHandler%3Alog-stream%3A%2A%22%2C%22arn%3Aaws%3Alogs%3Aus-east-1%3A044981683129%3Alog-group%3A%2Faws%2Flambda%2FLocationNrfDemoGeofenceEventHandler%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22logs%3ACreateLogGroup%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22cognito-idp%3AAdminGetUser%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Acognito-idp%3Aus-east-1%3A044981683129%3Auserpool%2Fus-east-1_eyL4GaYZ8%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22mobiletargeting%3ASendMessages%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Amobiletargeting%3Aus-east-1%3A044981683129%3Aapps%2Ff223244ba211434da5dd4552ca28cff5%2Fmessages%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22mobiletargeting%3AGetUserEndpoints%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Amobiletargeting%3Aus-east-1%3A044981683129%3Aapps%2Ff223244ba211434da5dd4552ca28cff5%2Fusers%2F%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22mobiletargeting%3AUpdateEndpoint%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Amobiletargeting%3Aus-east-1%3A044981683129%3Aapps%2Ff223244ba211434da5dd4552ca28cff5%2Fendpoints%2F%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22mobiletargeting%3APutEvents%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Amobiletargeting%3Aus-east-1%3A044981683129%3Aapps%2Ff223244ba211434da5dd4552ca28cff5%2Fevents%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22dynamodb%3AGetItem%22%2C%22dynamodb%3AUpdateItem%22%2C%22dynamodb%3ADeleteItem%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Adynamodb%3Aus-east-1%3A044981683129%3Atable%2Fretaildemostore-Location-12VQUTBFZA25X-WebSocketConnectionTable-VUQD9FNI3LGV%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22execute-api%3AManageConnections%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Aexecute-api%3Aus-east-1%3A044981683129%3Ab5o3q1jjrh%2F%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22ssm%3AGetParameter%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Assm%3Aus-east-1%3A044981683129%3Aparameter%2Fretaildemostore-pinpoint-sms-longcode%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"root\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO4Y5SXCBZAC","resourceName":"retaildemostore-Location-LocationGeofenceEventHan-1UNIJLRMOUYQR","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"retaildemostore-Location-LocationGeofenceEventHan-1UNIJLRMOUYQR","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":768.5,"y":-2394.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/retaildemostore-Location-LocationGeofenceEventHan-1UNIJLRMOUYQR/inlinePolicy/root","resourceId":["arn:aws:iam::044981683129:role/retaildemostore-Location-LocationGeofenceEventHan-1UNIJLRMOUYQR/inlinePolicy/root","arn:aws:iam::044981683129:role/retaildemostore-Location-LocationGeofenceEventHan-1UNIJLRMOUYQR/inlinePolicy/root"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/retaildemostore-Location-LocationGeofenceEventHan-1UNIJLRMOUYQR/inlinePolicy/root","title":"arn:aws:iam::044981683129:role/retaildemostore-Location-LocationGeofenceEventHan-1UNIJLRMOUYQR/inlinePolicy/root","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/retaildemostore-Location-LocationGeofenceEventHan-1UNIJLRMOUYQR/inlinePolicy/root","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Location-LocationGeofenceEventHan-1UNIJLRMOUYQR/inlinePolicy/root","name":"arn:aws:iam::044981683129:role/retaildemostore-Location-LocationGeofenceEventHan-1UNIJLRMOUYQR/inlinePolicy/root","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/retaildemostore-Location-LocationGeofenceEventHan-1UNIJLRMOUYQR/inlinePolicy/root","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/retaildemostore-Location-LocationGeofenceEventHan-1UNIJLRMOUYQR/inlinePolicy/root","configuration":"\"{\\\"policyName\\\":\\\"root\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"logs:CreateLogStream\\\",\\\"logs:PutLogEvents\\\"],\\\"Resource\\\":[\\\"arn:aws:logs:us-east-1:044981683129:log-group:/aws/lambda/LocationNrfDemoGeofenceEventHandler:log-stream:*\\\",\\\"arn:aws:logs:us-east-1:044981683129:log-group:/aws/lambda/LocationNrfDemoGeofenceEventHandler\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"logs:CreateLogGroup\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"cognito-idp:AdminGetUser\\\"],\\\"Resource\\\":\\\"arn:aws:cognito-idp:us-east-1:044981683129:userpool/us-east-1_eyL4GaYZ8\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"mobiletargeting:SendMessages\\\"],\\\"Resource\\\":\\\"arn:aws:mobiletargeting:us-east-1:044981683129:apps/f223244ba211434da5dd4552ca28cff5/messages\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"mobiletargeting:GetUserEndpoints\\\"],\\\"Resource\\\":\\\"arn:aws:mobiletargeting:us-east-1:044981683129:apps/f223244ba211434da5dd4552ca28cff5/users/*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"mobiletargeting:UpdateEndpoint\\\"],\\\"Resource\\\":\\\"arn:aws:mobiletargeting:us-east-1:044981683129:apps/f223244ba211434da5dd4552ca28cff5/endpoints/*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"mobiletargeting:PutEvents\\\"],\\\"Resource\\\":\\\"arn:aws:mobiletargeting:us-east-1:044981683129:apps/f223244ba211434da5dd4552ca28cff5/events\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"dynamodb:GetItem\\\",\\\"dynamodb:UpdateItem\\\",\\\"dynamodb:DeleteItem\\\"],\\\"Resource\\\":\\\"arn:aws:dynamodb:us-east-1:044981683129:table/retaildemostore-Location-12VQUTBFZA25X-WebSocketConnectionTable-VUQD9FNI3LGV\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"execute-api:ManageConnections\\\"],\\\"Resource\\\":[\\\"arn:aws:execute-api:us-east-1:044981683129:b5o3q1jjrh/*\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"ssm:GetParameter\\\"],\\\"Resource\\\":\\\"arn:aws:ssm:us-east-1:044981683129:parameter/retaildemostore-pinpoint-sms-longcode\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/retaildemostore-Location-LocationGeofenceEventHan-1UNIJLRMOUYQR/inlinePolicy/root","resourceName":"arn:aws:iam::044981683129:role/retaildemostore-Location-LocationGeofenceEventHan-1UNIJLRMOUYQR/inlinePolicy/root","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/retaildemostore-Location-LocationGeofenceEventHan-1UNIJLRMOUYQR/inlinePolicy/root","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1538.5,"y":-2394.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-Co-PerspectiveCostLambdaApp-VTHRTHCPQ8TN","resourceId":["AROAQU6I6AO4YGIKE7VFQ","arn:aws:iam::044981683129:role/workload-discovery-iad-Co-PerspectiveCostLambdaApp-VTHRTHCPQ8TN"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/workload-discovery-iad-Co-PerspectiveCostLambdaApp-VTHRTHCPQ8TN","title":"workload-discovery-iad-Co-PerspectiveCostLambdaApp-VTHRTHCPQ8TN","label":"workload-dis...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/workload-discovery-iad-Co-PerspectiveCostLambdaApp-VTHRTHCPQ8TN","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO4YGIKE7VFQ","name":"workload-discovery-iad-Co-PerspectiveCostLambdaApp-VTHRTHCPQ8TN","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-Co-PerspectiveCostLambdaApp-VTHRTHCPQ8TN","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-Co-PerspectiveCostLambdaApp-VTHRTHCPQ8TN","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22appsync.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO4YGIKE7VFQ\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"workload-discovery-iad-Co-PerspectiveCostLambdaApp-VTHRTHCPQ8TN\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/workload-discovery-iad-Co-PerspectiveCostLambdaApp-VTHRTHCPQ8TN\\\",\\\"createDate\\\":\\\"2022-11-16T14:33:45.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22lambda%3AInvokeFunction%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Alambda%3Aus-east-1%3A044981683129%3Afunction%3Aworkload-discovery-iad-Cos-PerspectiveCostFunction-5B4ALRFkubDS%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"workload-discovery-iad-CostResolversStack-Z4KHP6HIYJG3-AppSyncCostRole\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO4YGIKE7VFQ","resourceName":"workload-discovery-iad-Co-PerspectiveCostLambdaApp-VTHRTHCPQ8TN","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"workload-discovery-iad-Co-PerspectiveCostLambdaApp-VTHRTHCPQ8TN","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":841.5,"y":-2394.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-Co-PerspectiveCostLambdaApp-VTHRTHCPQ8TN/inlinePolicy/workload-discovery-iad-CostResolversStack-Z4KHP6HIYJG3-AppSyncCostRole","resourceId":["arn:aws:iam::044981683129:role/workload-discovery-iad-Co-PerspectiveCostLambdaApp-VTHRTHCPQ8TN/inlinePolicy/workload-discovery-iad-CostResolversStack-Z4KHP6HIYJG3-AppSyncCostRole","arn:aws:iam::044981683129:role/workload-discovery-iad-Co-PerspectiveCostLambdaApp-VTHRTHCPQ8TN/inlinePolicy/workload-discovery-iad-CostResolversStack-Z4KHP6HIYJG3-AppSyncCostRole"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/workload-discovery-iad-Co-PerspectiveCostLambdaApp-VTHRTHCPQ8TN/inlinePolicy/workload-discovery-iad-CostResolversStack-Z4KHP6HIYJG3-AppSyncCostRole","title":"arn:aws:iam::044981683129:role/workload-discovery-iad-Co-PerspectiveCostLambdaApp-VTHRTHCPQ8TN/inlinePolicy/workload-discovery-iad-CostResolversStack-Z4KHP6HIYJG3-AppSyncCostRole","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/workload-discovery-iad-Co-PerspectiveCostLambdaApp-VTHRTHCPQ8TN/inlinePolicy/workload-discovery-iad-CostResolversStack-Z4KHP6HIYJG3-AppSyncCostRole","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/workload-discovery-iad-Co-PerspectiveCostLambdaApp-VTHRTHCPQ8TN/inlinePolicy/workload-discovery-iad-CostResolversStack-Z4KHP6HIYJG3-AppSyncCostRole","name":"arn:aws:iam::044981683129:role/workload-discovery-iad-Co-PerspectiveCostLambdaApp-VTHRTHCPQ8TN/inlinePolicy/workload-discovery-iad-CostResolversStack-Z4KHP6HIYJG3-AppSyncCostRole","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-Co-PerspectiveCostLambdaApp-VTHRTHCPQ8TN/inlinePolicy/workload-discovery-iad-CostResolversStack-Z4KHP6HIYJG3-AppSyncCostRole","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-Co-PerspectiveCostLambdaApp-VTHRTHCPQ8TN/inlinePolicy/workload-discovery-iad-CostResolversStack-Z4KHP6HIYJG3-AppSyncCostRole","configuration":"\"{\\\"policyName\\\":\\\"workload-discovery-iad-CostResolversStack-Z4KHP6HIYJG3-AppSyncCostRole\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"lambda:InvokeFunction\\\"],\\\"Resource\\\":\\\"arn:aws:lambda:us-east-1:044981683129:function:workload-discovery-iad-Cos-PerspectiveCostFunction-5B4ALRFkubDS\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/workload-discovery-iad-Co-PerspectiveCostLambdaApp-VTHRTHCPQ8TN/inlinePolicy/workload-discovery-iad-CostResolversStack-Z4KHP6HIYJG3-AppSyncCostRole","resourceName":"arn:aws:iam::044981683129:role/workload-discovery-iad-Co-PerspectiveCostLambdaApp-VTHRTHCPQ8TN/inlinePolicy/workload-discovery-iad-CostResolversStack-Z4KHP6HIYJG3-AppSyncCostRole","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/workload-discovery-iad-Co-PerspectiveCostLambdaApp-VTHRTHCPQ8TN/inlinePolicy/workload-discovery-iad-CostResolversStack-Z4KHP6HIYJG3-AppSyncCostRole","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1611.5,"y":-2394.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7","resourceId":["AROAQU6I6AO4XYPN2U6I2","arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7","title":"eksctl-attractive-badger-1604015308-cluster/ServiceRole","label":"eksctl-attra...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO4XYPN2U6I2","name":"eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7","value":null,"type":"AWS::IAM::Role","tags":"[{\"tag\":\"alpha.eksctl.io/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.30.0\",\"value\":\"0.30.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"Name=eksctl-attractive-badger-1604015308-cluster/ServiceRole\",\"value\":\"eksctl-attractive-badger-1604015308-cluster/ServiceRole\",\"key\":\"Name\"}]","arn":"arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%5B%22eks.amazonaws.com%22%2C%22eks-fargate-pods.amazonaws.com%22%5D%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO4XYPN2U6I2\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/AmazonEKSClusterPolicy\\\",\\\"policyName\\\":\\\"AmazonEKSClusterPolicy\\\"},{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/AmazonEKSVPCResourceController\\\",\\\"policyName\\\":\\\"AmazonEKSVPCResourceController\\\"}],\\\"roleName\\\":\\\"eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7\\\",\\\"createDate\\\":\\\"2020-10-29T23:49:04.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22cloudwatch%3APutMetricData%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"eksctl-attractive-badger-1604015308-cluster-PolicyCloudWatchMetrics\\\"},{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22ec2%3ADescribeAccountAttributes%22%2C%22ec2%3ADescribeAddresses%22%2C%22ec2%3ADescribeInternetGateways%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"eksctl-attractive-badger-1604015308-cluster-PolicyELBPermissions\\\"}],\\\"tags\\\":[{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"alpha.eksctl.io/cluster-name\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\\\"},{\\\"value\\\":\\\"0.30.0\\\",\\\"key\\\":\\\"alpha.eksctl.io/eksctl-version\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster/ServiceRole\\\",\\\"key\\\":\\\"Name\\\"}]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO4XYPN2U6I2","resourceName":"eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[{\"tag\":\"alpha.eksctl.io/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.30.0\",\"value\":\"0.30.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"Name=eksctl-attractive-badger-1604015308-cluster/ServiceRole\",\"value\":\"eksctl-attractive-badger-1604015308-cluster/ServiceRole\",\"key\":\"Name\"}]","title":"eksctl-attractive-badger-1604015308-cluster/ServiceRole","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":914.5,"y":-2759.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7/inlinePolicy/eksctl-attractive-badger-1604015308-cluster-PolicyCloudWatchMetrics","resourceId":["arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7/inlinePolicy/eksctl-attractive-badger-1604015308-cluster-PolicyCloudWatchMetrics","arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7/inlinePolicy/eksctl-attractive-badger-1604015308-cluster-PolicyCloudWatchMetrics"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7/inlinePolicy/eksctl-attractive-badger-1604015308-cluster-PolicyCloudWatchMetrics","title":"arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7/inlinePolicy/eksctl-attractive-badger-1604015308-cluster-PolicyCloudWatchMetrics","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7/inlinePolicy/eksctl-attractive-badger-1604015308-cluster-PolicyCloudWatchMetrics","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7/inlinePolicy/eksctl-attractive-badger-1604015308-cluster-PolicyCloudWatchMetrics","name":"arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7/inlinePolicy/eksctl-attractive-badger-1604015308-cluster-PolicyCloudWatchMetrics","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7/inlinePolicy/eksctl-attractive-badger-1604015308-cluster-PolicyCloudWatchMetrics","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7/inlinePolicy/eksctl-attractive-badger-1604015308-cluster-PolicyCloudWatchMetrics","configuration":"\"{\\\"policyName\\\":\\\"eksctl-attractive-badger-1604015308-cluster-PolicyCloudWatchMetrics\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"cloudwatch:PutMetricData\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7/inlinePolicy/eksctl-attractive-badger-1604015308-cluster-PolicyCloudWatchMetrics","resourceName":"arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7/inlinePolicy/eksctl-attractive-badger-1604015308-cluster-PolicyCloudWatchMetrics","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7/inlinePolicy/eksctl-attractive-badger-1604015308-cluster-PolicyCloudWatchMetrics","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1684.5,"y":-2394.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7/inlinePolicy/eksctl-attractive-badger-1604015308-cluster-PolicyELBPermissions","resourceId":["arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7/inlinePolicy/eksctl-attractive-badger-1604015308-cluster-PolicyELBPermissions","arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7/inlinePolicy/eksctl-attractive-badger-1604015308-cluster-PolicyELBPermissions"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7/inlinePolicy/eksctl-attractive-badger-1604015308-cluster-PolicyELBPermissions","title":"arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7/inlinePolicy/eksctl-attractive-badger-1604015308-cluster-PolicyELBPermissions","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7/inlinePolicy/eksctl-attractive-badger-1604015308-cluster-PolicyELBPermissions","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7/inlinePolicy/eksctl-attractive-badger-1604015308-cluster-PolicyELBPermissions","name":"arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7/inlinePolicy/eksctl-attractive-badger-1604015308-cluster-PolicyELBPermissions","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7/inlinePolicy/eksctl-attractive-badger-1604015308-cluster-PolicyELBPermissions","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7/inlinePolicy/eksctl-attractive-badger-1604015308-cluster-PolicyELBPermissions","configuration":"\"{\\\"policyName\\\":\\\"eksctl-attractive-badger-1604015308-cluster-PolicyELBPermissions\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"ec2:DescribeAccountAttributes\\\",\\\"ec2:DescribeAddresses\\\",\\\"ec2:DescribeInternetGateways\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7/inlinePolicy/eksctl-attractive-badger-1604015308-cluster-PolicyELBPermissions","resourceName":"arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7/inlinePolicy/eksctl-attractive-badger-1604015308-cluster-PolicyELBPermissions","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7/inlinePolicy/eksctl-attractive-badger-1604015308-cluster-PolicyELBPermissions","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1757.5,"y":-2394.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:tags::044981683129:tag/alpha.eksctl.io/eksctl-version=0.30.0","resourceId":["arn:aws:tags::044981683129:tag/alpha.eksctl.io/eksctl-version=0.30.0","arn:aws:tags::044981683129:tag/alpha.eksctl.io/eksctl-version=0.30.0"],"parent":"Tag-global-044981683129","level":3,"id":"arn:aws:tags::044981683129:tag/alpha.eksctl.io/eksctl-version=0.30.0","title":"alpha.eksctl.io/eksctl-version=0.30.0","label":"alpha.eksctl...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:tags::044981683129:tag/alpha.eksctl.io/eksctl-version=0.30.0","image":"/icons/AWS-Tags-bg.svg","cost":0,"private":false,"resource":{"id":"arn:aws:tags::044981683129:tag/alpha.eksctl.io/eksctl-version=0.30.0","name":"alpha.eksctl.io/eksctl-version=0.30.0","value":null,"type":"AWS::Tags::Tag","tags":"[]","arn":"arn:aws:tags::044981683129:tag/alpha.eksctl.io/eksctl-version=0.30.0","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:tags::044981683129:tag/alpha.eksctl.io/eksctl-version=0.30.0","configuration":"\"{}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:tags::044981683129:tag/alpha.eksctl.io/eksctl-version=0.30.0","resourceName":"alpha.eksctl.io/eksctl-version=0.30.0","resourceType":"AWS::Tags::Tag","resourceValue":null,"state":null,"tags":"[]","title":"alpha.eksctl.io/eksctl-version=0.30.0","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":695.5,"y":-1753.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:tags::044981683129:tag/alpha.eksctl.io/cluster-name=attractive-badger-1604015308","resourceId":["arn:aws:tags::044981683129:tag/alpha.eksctl.io/cluster-name=attractive-badger-1604015308","arn:aws:tags::044981683129:tag/alpha.eksctl.io/cluster-name=attractive-badger-1604015308"],"parent":"Tag-global-044981683129","level":3,"id":"arn:aws:tags::044981683129:tag/alpha.eksctl.io/cluster-name=attractive-badger-1604015308","title":"alpha.eksctl.io/cluster-name=attractive-badger-1604015308","label":"alpha.eksctl...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:tags::044981683129:tag/alpha.eksctl.io/cluster-name=attractive-badger-1604015308","image":"/icons/AWS-Tags-bg.svg","cost":0,"private":false,"resource":{"id":"arn:aws:tags::044981683129:tag/alpha.eksctl.io/cluster-name=attractive-badger-1604015308","name":"alpha.eksctl.io/cluster-name=attractive-badger-1604015308","value":null,"type":"AWS::Tags::Tag","tags":"[]","arn":"arn:aws:tags::044981683129:tag/alpha.eksctl.io/cluster-name=attractive-badger-1604015308","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:tags::044981683129:tag/alpha.eksctl.io/cluster-name=attractive-badger-1604015308","configuration":"\"{}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:tags::044981683129:tag/alpha.eksctl.io/cluster-name=attractive-badger-1604015308","resourceName":"alpha.eksctl.io/cluster-name=attractive-badger-1604015308","resourceType":"AWS::Tags::Tag","resourceValue":null,"state":null,"tags":"[]","title":"alpha.eksctl.io/cluster-name=attractive-badger-1604015308","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":476.5,"y":-1680.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:tags::044981683129:tag/Name=eksctl-attractive-badger-1604015308-cluster/ServiceRole","resourceId":["arn:aws:tags::044981683129:tag/Name=eksctl-attractive-badger-1604015308-cluster/ServiceRole","arn:aws:tags::044981683129:tag/Name=eksctl-attractive-badger-1604015308-cluster/ServiceRole"],"parent":"Tag-global-044981683129","level":3,"id":"arn:aws:tags::044981683129:tag/Name=eksctl-attractive-badger-1604015308-cluster/ServiceRole","title":"Name=eksctl-attractive-badger-1604015308-cluster/ServiceRole","label":"Name=eksctl-...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:tags::044981683129:tag/Name=eksctl-attractive-badger-1604015308-cluster/ServiceRole","image":"/icons/AWS-Tags-bg.svg","cost":0,"private":false,"resource":{"id":"arn:aws:tags::044981683129:tag/Name=eksctl-attractive-badger-1604015308-cluster/ServiceRole","name":"Name=eksctl-attractive-badger-1604015308-cluster/ServiceRole","value":null,"type":"AWS::Tags::Tag","tags":"[]","arn":"arn:aws:tags::044981683129:tag/Name=eksctl-attractive-badger-1604015308-cluster/ServiceRole","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:tags::044981683129:tag/Name=eksctl-attractive-badger-1604015308-cluster/ServiceRole","configuration":"\"{}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:tags::044981683129:tag/Name=eksctl-attractive-badger-1604015308-cluster/ServiceRole","resourceName":"Name=eksctl-attractive-badger-1604015308-cluster/ServiceRole","resourceType":"AWS::Tags::Tag","resourceValue":null,"state":null,"tags":"[]","title":"Name=eksctl-attractive-badger-1604015308-cluster/ServiceRole","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":549.5,"y":-1680.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:tags::044981683129:tag/eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308","resourceId":["arn:aws:tags::044981683129:tag/eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308","arn:aws:tags::044981683129:tag/eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308"],"parent":"Tag-global-044981683129","level":3,"id":"arn:aws:tags::044981683129:tag/eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308","title":"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308","label":"eksctl.clust...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:tags::044981683129:tag/eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308","image":"/icons/AWS-Tags-bg.svg","cost":0,"private":false,"resource":{"id":"arn:aws:tags::044981683129:tag/eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308","name":"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308","value":null,"type":"AWS::Tags::Tag","tags":"[]","arn":"arn:aws:tags::044981683129:tag/eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:tags::044981683129:tag/eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308","configuration":"\"{}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:tags::044981683129:tag/eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308","resourceName":"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308","resourceType":"AWS::Tags::Tag","resourceValue":null,"state":null,"tags":"[]","title":"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":622.5,"y":-1680.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"vpc-09839929763048cfc-eu-west-1-044981683129","parent":"eu-west-1-044981683129","level":2,"title":"vpc-09839929763048cfc","label":"vpc-09839929763048cfc","plainLabel":"vpc-09839929763048cfc","type":"vpc","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/VPC-collapsed.svg","clickedId":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc","cost":0,"hasChildren":true,"children":[{"id":null,"label":"eu-west-1a,eu-west-1b,eu-west-1c","parent":null,"type":"availabilityZone","data":null,"properties":null,"children":[{"id":null,"label":"Cluster","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:eks:eu-west-1:044981683129:cluster/attractive-badger-1604015308","label":"AWS_EKS_Cluster","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:eks:eu-west-1:044981683129:cluster/attractive-badger-1604015308","configuration":"\"{\\\"Logging\\\":{\\\"ClusterLogging\\\":{}},\\\"Endpoint\\\":\\\"https://DE3F3380C67D24DE560FF2B93414EF12.gr7.eu-west-1.eks.amazonaws.com\\\",\\\"Version\\\":\\\"1.20\\\",\\\"Arn\\\":\\\"arn:aws:eks:eu-west-1:044981683129:cluster/attractive-badger-1604015308\\\",\\\"CertificateAuthorityData\\\":\\\"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUN5RENDQWJDZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRJd01UQXlPVEl6TlRreU9Gb1hEVE13TVRBeU56SXpOVGt5T0Zvd0ZURVRNQkVHQTFVRQpBeE1LYTNWaVpYSnVaWFJsY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTnA0CjBZN2o4d2tWcHo2MjBNbGxlMnNsL2JSbng4bHQwWmVjU1RZWEgyUlRFaVBUY0NxUFl5dmxINEoxSS93TmluZDgKNW1wcWgzQkY2U3EwbnQ0RmtrcDhmdW5xNkdFY3pkM3dHTzAxTmRVT1VkMWxCNjJwMUJpanl4S1dYdVBvL01FYQp3bGtqMFYrbzRyQm9CaTBJbDlZa2FtRys3UHBNUDNlZk0ydWZUOWlSZjR1cXRRZ0MzajluVDRJOFR5MEREZjBXCkZ0VkhiR3QvRkwzK2tsaXBzSy9PSklMSXRlTEdJdktYTTRwUFB3UENYdVgvTmtJUGdpaXFCbXk5T0ZGZ05icGoKU0pNQ0crZlNDbCt1dCtIdzUvL1VjQlFRNENzVnVLR0orRlNqTU5MaVRRc292bERmRytIY3VRK0dnWU1OeVNobQozMHhWbnl6QXhiVGwwdURoUWZFQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFBWkI1ejc2LytzM2h6NXhkV1IyaVNKSE5iZHUKUTFGRUlERDRMeWRLNHhFMnlxTEV6SGtubitDaHNaUEYyYzFEZ3Y1bkJxS3owQ3ZKN3Z6ZGwzVzhRbkMrSHpOMgp1aGJBdFZmMlB0cDVScDZ1UnFNTmRjSnpZd3g5bW83ZWEvUk5Yc2JVdTYzSEFZNE1pS3JSUkk2Y2xOTW9hRjlUCkdablBxa010cDRqTTdRcElQRjlGVXhqZGtsRXVmeDYwby81RWhtK2Iva0E0bnhFaGcxL2l3OUN4NkpsRXUvZ2wKZy9EYlJYRElqMnVkMXdaUm02M3NnM0g3K3J0dG1XZjdScmJiKzVmQUw1WVdMOFNNS3J0a2tqdE5YNmFudU5SRAp4R25aQkpzUXFzL0FPQ1FwZjFhaEJrNjBpeVpNSnVtUXZNUm81TllMbTVFMk04Mk5Kd20xVUtiaWhWdz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=\\\",\\\"EncryptionConfig\\\":[],\\\"ResourcesVpcConfig\\\":{\\\"EndpointPublicAccess\\\":true,\\\"PublicAccessCidrs\\\":[\\\"0.0.0.0/0\\\"],\\\"EndpointPrivateAccess\\\":false,\\\"SecurityGroupIds\\\":[\\\"sg-062dd3b9b48e7278f\\\"],\\\"SubnetIds\\\":[\\\"subnet-0240cebb8fa82aa33\\\",\\\"subnet-07a6385d759763604\\\",\\\"subnet-03755dc2d4bdd2e2b\\\",\\\"subnet-06deb021a27770578\\\",\\\"subnet-0461a710ed0df3002\\\",\\\"subnet-040b12c6ae776ea8a\\\"]},\\\"KubernetesNetworkConfig\\\":{\\\"ServiceIpv4Cidr\\\":\\\"10.100.0.0/16\\\",\\\"IpFamily\\\":\\\"ipv4\\\"},\\\"RoleArn\\\":\\\"arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7\\\",\\\"Tags\\\":[],\\\"Name\\\":\\\"attractive-badger-1604015308\\\",\\\"OpenIdConnectIssuerUrl\\\":\\\"https://oidc.eks.eu-west-1.amazonaws.com/id/DE3F3380C67D24DE560FF2B93414EF12\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a,eu-west-1b,eu-west-1c","vpcId":"vpc-09839929763048cfc","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:eks:eu-west-1:044981683129:cluster/attractive-badger-1604015308","resourceName":"attractive-badger-1604015308","resourceType":"AWS::EKS::Cluster","resourceValue":null,"state":null,"tags":"[]","title":"attractive-badger-1604015308","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]}]},{"id":null,"label":"Stack","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0","label":"AWS_CloudFormation_Stack","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0","configuration":"\"{\\\"outputs\\\":[{\\\"outputKey\\\":\\\"SubnetsPrivate\\\",\\\"outputValue\\\":\\\"subnet-06deb021a27770578,subnet-0461a710ed0df3002,subnet-040b12c6ae776ea8a\\\"},{\\\"outputKey\\\":\\\"SubnetsPublic\\\",\\\"outputValue\\\":\\\"subnet-0240cebb8fa82aa33,subnet-07a6385d759763604,subnet-03755dc2d4bdd2e2b\\\"},{\\\"outputKey\\\":\\\"FeatureNATMode\\\",\\\"outputValue\\\":\\\"Single\\\"},{\\\"outputKey\\\":\\\"ServiceRoleARN\\\",\\\"outputValue\\\":\\\"arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7\\\"},{\\\"outputKey\\\":\\\"Endpoint\\\",\\\"outputValue\\\":\\\"https://DE3F3380C67D24DE560FF2B93414EF12.gr7.eu-west-1.eks.amazonaws.com\\\"},{\\\"outputKey\\\":\\\"SharedNodeSecurityGroup\\\",\\\"outputValue\\\":\\\"sg-00189a6b426be4510\\\"},{\\\"outputKey\\\":\\\"VPC\\\",\\\"outputValue\\\":\\\"vpc-09839929763048cfc\\\"},{\\\"outputKey\\\":\\\"ClusterSecurityGroupId\\\",\\\"outputValue\\\":\\\"sg-0bcb1987c6667687b\\\"},{\\\"outputKey\\\":\\\"ClusterStackName\\\",\\\"outputValue\\\":\\\"eksctl-attractive-badger-1604015308-cluster\\\"},{\\\"outputKey\\\":\\\"CertificateAuthorityData\\\",\\\"outputValue\\\":\\\"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUN5RENDQWJDZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRJd01UQXlPVEl6TlRreU9Gb1hEVE13TVRBeU56SXpOVGt5T0Zvd0ZURVRNQkVHQTFVRQpBeE1LYTNWaVpYSnVaWFJsY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTnA0CjBZN2o4d2tWcHo2MjBNbGxlMnNsL2JSbng4bHQwWmVjU1RZWEgyUlRFaVBUY0NxUFl5dmxINEoxSS93TmluZDgKNW1wcWgzQkY2U3EwbnQ0RmtrcDhmdW5xNkdFY3pkM3dHTzAxTmRVT1VkMWxCNjJwMUJpanl4S1dYdVBvL01FYQp3bGtqMFYrbzRyQm9CaTBJbDlZa2FtRys3UHBNUDNlZk0ydWZUOWlSZjR1cXRRZ0MzajluVDRJOFR5MEREZjBXCkZ0VkhiR3QvRkwzK2tsaXBzSy9PSklMSXRlTEdJdktYTTRwUFB3UENYdVgvTmtJUGdpaXFCbXk5T0ZGZ05icGoKU0pNQ0crZlNDbCt1dCtIdzUvL1VjQlFRNENzVnVLR0orRlNqTU5MaVRRc292bERmRytIY3VRK0dnWU1OeVNobQozMHhWbnl6QXhiVGwwdURoUWZFQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFBWkI1ejc2LytzM2h6NXhkV1IyaVNKSE5iZHUKUTFGRUlERDRMeWRLNHhFMnlxTEV6SGtubitDaHNaUEYyYzFEZ3Y1bkJxS3owQ3ZKN3Z6ZGwzVzhRbkMrSHpOMgp1aGJBdFZmMlB0cDVScDZ1UnFNTmRjSnpZd3g5bW83ZWEvUk5Yc2JVdTYzSEFZNE1pS3JSUkk2Y2xOTW9hRjlUCkdablBxa010cDRqTTdRcElQRjlGVXhqZGtsRXVmeDYwby81RWhtK2Iva0E0bnhFaGcxL2l3OUN4NkpsRXUvZ2wKZy9EYlJYRElqMnVkMXdaUm02M3NnM0g3K3J0dG1XZjdScmJiKzVmQUw1WVdMOFNNS3J0a2tqdE5YNmFudU5SRAp4R25aQkpzUXFzL0FPQ1FwZjFhaEJrNjBpeVpNSnVtUXZNUm81TllMbTVFMk04Mk5Kd20xVUtiaWhWdz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=\\\"},{\\\"outputKey\\\":\\\"SecurityGroup\\\",\\\"outputValue\\\":\\\"sg-062dd3b9b48e7278f\\\"},{\\\"outputKey\\\":\\\"ARN\\\",\\\"outputValue\\\":\\\"arn:aws:eks:eu-west-1:044981683129:cluster/attractive-badger-1604015308\\\"}],\\\"capabilities\\\":[\\\"CAPABILITY_IAM\\\"],\\\"creationTime\\\":\\\"2020-10-29T23:48:30Z\\\",\\\"notificationARNs\\\":[],\\\"stackId\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\\\",\\\"stackName\\\":\\\"eksctl-attractive-badger-1604015308-cluster\\\",\\\"driftInformation\\\":{\\\"stackDriftStatus\\\":\\\"NOT_CHECKED\\\"},\\\"description\\\":\\\"EKS cluster (dedicated VPC: true, dedicated IAM: true) [created and managed by eksctl]\\\",\\\"stackStatus\\\":\\\"CREATE_COMPLETE\\\",\\\"enableTerminationProtection\\\":false,\\\"disableRollback\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"alpha.eksctl.io/cluster-name\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\\\"},{\\\"value\\\":\\\"0.30.0\\\",\\\"key\\\":\\\"alpha.eksctl.io/eksctl-version\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Regional","vpcId":"vpc-09839929763048cfc","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0","resourceName":"eksctl-attractive-badger-1604015308-cluster","resourceType":"AWS::CloudFormation::Stack","resourceValue":null,"state":null,"tags":"[{\"tag\":\"alpha.eksctl.io/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.30.0\",\"value\":\"0.30.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"}]","title":"eksctl-attractive-badger-1604015308-cluster","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]},{"id":null,"label":"eu-west-1c","parent":null,"type":"availabilityZone","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0240cebb8fa82aa33","label":"subnet-0240cebb8fa82aa33","parent":null,"type":"subnet","data":{"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0240cebb8fa82aa33","configuration":"\"{\\\"subnetId\\\":\\\"subnet-0240cebb8fa82aa33\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0240cebb8fa82aa33\\\",\\\"availabilityZoneId\\\":\\\"euw1-az1\\\",\\\"cidrBlock\\\":\\\"192.168.0.0/19\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"0.30.0\\\",\\\"key\\\":\\\"alpha.eksctl.io/eksctl-version\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"SubnetPublicEUWEST1C\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\\\"},{\\\"value\\\":\\\"1\\\",\\\"key\\\":\\\"kubernetes.io/role/elb\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"alpha.eksctl.io/cluster-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"shared\\\",\\\"key\\\":\\\"kubernetes.io/cluster/attractive-badger-1604015308\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1C\\\",\\\"key\\\":\\\"Name\\\"}],\\\"availableIpAddressCount\\\":8165,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"mapPublicIpOnLaunch\\\":true,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-09839929763048cfc","subnetId":"subnet-0240cebb8fa82aa33","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":"true","resourceId":"subnet-0240cebb8fa82aa33","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster\",\"value\":\"eksctl-attractive-badger-1604015308-cluster\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"alpha.eksctl.io/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"aws:cloudformation:logical-id=SubnetPublicEUWEST1C\",\"value\":\"SubnetPublicEUWEST1C\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"kubernetes.io/role/elb=1\",\"value\":\"1\",\"key\":\"kubernetes.io/role/elb\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.30.0\",\"value\":\"0.30.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"},{\"tag\":\"kubernetes.io/cluster/attractive-badger-1604015308=shared\",\"value\":\"shared\",\"key\":\"kubernetes.io/cluster/attractive-badger-1604015308\"},{\"tag\":\"Name=eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1C\",\"value\":\"eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1C\",\"key\":\"Name\"}]","title":"eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1C","instanceType":null,"statement":null,"dBInstanceStatus":null},"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0240cebb8fa82aa33","label":"AWS_EC2_Subnet"},"properties":null,"children":[]},{"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-06deb021a27770578","label":"subnet-06deb021a27770578","parent":null,"type":"subnet","data":{"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-06deb021a27770578","configuration":"\"{\\\"subnetId\\\":\\\"subnet-06deb021a27770578\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-06deb021a27770578\\\",\\\"availabilityZoneId\\\":\\\"euw1-az1\\\",\\\"cidrBlock\\\":\\\"192.168.96.0/19\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster/SubnetPrivateEUWEST1C\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"1\\\",\\\"key\\\":\\\"kubernetes.io/role/internal-elb\\\"},{\\\"value\\\":\\\"shared\\\",\\\"key\\\":\\\"kubernetes.io/cluster/attractive-badger-1604015308\\\"},{\\\"value\\\":\\\"SubnetPrivateEUWEST1C\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"alpha.eksctl.io/cluster-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"0.30.0\\\",\\\"key\\\":\\\"alpha.eksctl.io/eksctl-version\\\"}],\\\"availableIpAddressCount\\\":8186,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"mapPublicIpOnLaunch\\\":false,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-09839929763048cfc","subnetId":"subnet-06deb021a27770578","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":"false","resourceId":"subnet-06deb021a27770578","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster\",\"value\":\"eksctl-attractive-badger-1604015308-cluster\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"alpha.eksctl.io/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"aws:cloudformation:logical-id=SubnetPrivateEUWEST1C\",\"value\":\"SubnetPrivateEUWEST1C\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"kubernetes.io/role/internal-elb=1\",\"value\":\"1\",\"key\":\"kubernetes.io/role/internal-elb\"},{\"tag\":\"kubernetes.io/cluster/attractive-badger-1604015308=shared\",\"value\":\"shared\",\"key\":\"kubernetes.io/cluster/attractive-badger-1604015308\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.30.0\",\"value\":\"0.30.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"},{\"tag\":\"Name=eksctl-attractive-badger-1604015308-cluster/SubnetPrivateEUWEST1C\",\"value\":\"eksctl-attractive-badger-1604015308-cluster/SubnetPrivateEUWEST1C\",\"key\":\"Name\"}]","title":"eksctl-attractive-badger-1604015308-cluster/SubnetPrivateEUWEST1C","instanceType":null,"statement":null,"dBInstanceStatus":null},"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-06deb021a27770578","label":"AWS_EC2_Subnet"},"properties":null,"children":[]}]},{"id":null,"label":"eu-west-1b","parent":null,"type":"availabilityZone","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-03755dc2d4bdd2e2b","label":"subnet-03755dc2d4bdd2e2b","parent":null,"type":"subnet","data":{"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-03755dc2d4bdd2e2b","configuration":"\"{\\\"subnetId\\\":\\\"subnet-03755dc2d4bdd2e2b\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-03755dc2d4bdd2e2b\\\",\\\"availabilityZoneId\\\":\\\"euw1-az3\\\",\\\"cidrBlock\\\":\\\"192.168.64.0/19\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"0.30.0\\\",\\\"key\\\":\\\"alpha.eksctl.io/eksctl-version\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"alpha.eksctl.io/cluster-name\\\"},{\\\"value\\\":\\\"SubnetPublicEUWEST1B\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"1\\\",\\\"key\\\":\\\"kubernetes.io/role/elb\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\\\"},{\\\"value\\\":\\\"shared\\\",\\\"key\\\":\\\"kubernetes.io/cluster/attractive-badger-1604015308\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1B\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"}],\\\"availableIpAddressCount\\\":8187,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"mapPublicIpOnLaunch\\\":true,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-09839929763048cfc","subnetId":"subnet-03755dc2d4bdd2e2b","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":"true","resourceId":"subnet-03755dc2d4bdd2e2b","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster\",\"value\":\"eksctl-attractive-badger-1604015308-cluster\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"alpha.eksctl.io/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"aws:cloudformation:logical-id=SubnetPublicEUWEST1B\",\"value\":\"SubnetPublicEUWEST1B\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"kubernetes.io/role/elb=1\",\"value\":\"1\",\"key\":\"kubernetes.io/role/elb\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.30.0\",\"value\":\"0.30.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"},{\"tag\":\"kubernetes.io/cluster/attractive-badger-1604015308=shared\",\"value\":\"shared\",\"key\":\"kubernetes.io/cluster/attractive-badger-1604015308\"},{\"tag\":\"Name=eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1B\",\"value\":\"eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1B\",\"key\":\"Name\"}]","title":"eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1B","instanceType":null,"statement":null,"dBInstanceStatus":null},"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-03755dc2d4bdd2e2b","label":"AWS_EC2_Subnet"},"properties":null,"children":[]},{"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-040b12c6ae776ea8a","label":"subnet-040b12c6ae776ea8a","parent":null,"type":"subnet","data":{"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-040b12c6ae776ea8a","configuration":"\"{\\\"subnetId\\\":\\\"subnet-040b12c6ae776ea8a\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-040b12c6ae776ea8a\\\",\\\"availabilityZoneId\\\":\\\"euw1-az3\\\",\\\"cidrBlock\\\":\\\"192.168.160.0/19\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"SubnetPrivateEUWEST1B\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster/SubnetPrivateEUWEST1B\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"1\\\",\\\"key\\\":\\\"kubernetes.io/role/internal-elb\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"alpha.eksctl.io/cluster-name\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\\\"},{\\\"value\\\":\\\"shared\\\",\\\"key\\\":\\\"kubernetes.io/cluster/attractive-badger-1604015308\\\"},{\\\"value\\\":\\\"0.30.0\\\",\\\"key\\\":\\\"alpha.eksctl.io/eksctl-version\\\"}],\\\"availableIpAddressCount\\\":8186,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"mapPublicIpOnLaunch\\\":false,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-09839929763048cfc","subnetId":"subnet-040b12c6ae776ea8a","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":"false","resourceId":"subnet-040b12c6ae776ea8a","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster\",\"value\":\"eksctl-attractive-badger-1604015308-cluster\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"alpha.eksctl.io/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"aws:cloudformation:logical-id=SubnetPrivateEUWEST1B\",\"value\":\"SubnetPrivateEUWEST1B\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"kubernetes.io/role/internal-elb=1\",\"value\":\"1\",\"key\":\"kubernetes.io/role/internal-elb\"},{\"tag\":\"kubernetes.io/cluster/attractive-badger-1604015308=shared\",\"value\":\"shared\",\"key\":\"kubernetes.io/cluster/attractive-badger-1604015308\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.30.0\",\"value\":\"0.30.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"},{\"tag\":\"Name=eksctl-attractive-badger-1604015308-cluster/SubnetPrivateEUWEST1B\",\"value\":\"eksctl-attractive-badger-1604015308-cluster/SubnetPrivateEUWEST1B\",\"key\":\"Name\"}]","title":"eksctl-attractive-badger-1604015308-cluster/SubnetPrivateEUWEST1B","instanceType":null,"statement":null,"dBInstanceStatus":null},"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-040b12c6ae776ea8a","label":"AWS_EC2_Subnet"},"properties":null,"children":[]}]},{"id":null,"label":"eu-west-1a","parent":null,"type":"availabilityZone","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0461a710ed0df3002","label":"subnet-0461a710ed0df3002","parent":null,"type":"subnet","data":{"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0461a710ed0df3002","configuration":"\"{\\\"subnetId\\\":\\\"subnet-0461a710ed0df3002\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0461a710ed0df3002\\\",\\\"availabilityZoneId\\\":\\\"euw1-az2\\\",\\\"cidrBlock\\\":\\\"192.168.128.0/19\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"shared\\\",\\\"key\\\":\\\"kubernetes.io/cluster/attractive-badger-1604015308\\\"},{\\\"value\\\":\\\"1\\\",\\\"key\\\":\\\"kubernetes.io/role/internal-elb\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"alpha.eksctl.io/cluster-name\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster/SubnetPrivateEUWEST1A\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"0.30.0\\\",\\\"key\\\":\\\"alpha.eksctl.io/eksctl-version\\\"},{\\\"value\\\":\\\"SubnetPrivateEUWEST1A\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\\\"}],\\\"availableIpAddressCount\\\":8187,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"mapPublicIpOnLaunch\\\":false,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-09839929763048cfc","subnetId":"subnet-0461a710ed0df3002","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":"false","resourceId":"subnet-0461a710ed0df3002","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster\",\"value\":\"eksctl-attractive-badger-1604015308-cluster\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"alpha.eksctl.io/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"aws:cloudformation:logical-id=SubnetPrivateEUWEST1A\",\"value\":\"SubnetPrivateEUWEST1A\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"kubernetes.io/role/internal-elb=1\",\"value\":\"1\",\"key\":\"kubernetes.io/role/internal-elb\"},{\"tag\":\"kubernetes.io/cluster/attractive-badger-1604015308=shared\",\"value\":\"shared\",\"key\":\"kubernetes.io/cluster/attractive-badger-1604015308\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.30.0\",\"value\":\"0.30.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"},{\"tag\":\"Name=eksctl-attractive-badger-1604015308-cluster/SubnetPrivateEUWEST1A\",\"value\":\"eksctl-attractive-badger-1604015308-cluster/SubnetPrivateEUWEST1A\",\"key\":\"Name\"}]","title":"eksctl-attractive-badger-1604015308-cluster/SubnetPrivateEUWEST1A","instanceType":null,"statement":null,"dBInstanceStatus":null},"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0461a710ed0df3002","label":"AWS_EC2_Subnet"},"properties":null,"children":[]},{"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-07a6385d759763604","label":"subnet-07a6385d759763604","parent":null,"type":"subnet","data":{"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-07a6385d759763604","configuration":"\"{\\\"subnetId\\\":\\\"subnet-07a6385d759763604\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-07a6385d759763604\\\",\\\"availabilityZoneId\\\":\\\"euw1-az2\\\",\\\"cidrBlock\\\":\\\"192.168.32.0/19\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"shared\\\",\\\"key\\\":\\\"kubernetes.io/cluster/attractive-badger-1604015308\\\"},{\\\"value\\\":\\\"SubnetPublicEUWEST1A\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1A\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"0.30.0\\\",\\\"key\\\":\\\"alpha.eksctl.io/eksctl-version\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"alpha.eksctl.io/cluster-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\\\"},{\\\"value\\\":\\\"1\\\",\\\"key\\\":\\\"kubernetes.io/role/elb\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"}],\\\"availableIpAddressCount\\\":8166,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"mapPublicIpOnLaunch\\\":true,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-09839929763048cfc","subnetId":"subnet-07a6385d759763604","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":"true","resourceId":"subnet-07a6385d759763604","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster\",\"value\":\"eksctl-attractive-badger-1604015308-cluster\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"alpha.eksctl.io/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"aws:cloudformation:logical-id=SubnetPublicEUWEST1A\",\"value\":\"SubnetPublicEUWEST1A\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"kubernetes.io/role/elb=1\",\"value\":\"1\",\"key\":\"kubernetes.io/role/elb\"},{\"tag\":\"kubernetes.io/cluster/attractive-badger-1604015308=shared\",\"value\":\"shared\",\"key\":\"kubernetes.io/cluster/attractive-badger-1604015308\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.30.0\",\"value\":\"0.30.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"},{\"tag\":\"Name=eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1A\",\"value\":\"eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1A\",\"key\":\"Name\"}]","title":"eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1A","instanceType":null,"statement":null,"dBInstanceStatus":null},"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-07a6385d759763604","label":"AWS_EC2_Subnet"},"properties":null,"children":[]}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#248814","properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc","configuration":"\"{\\\"instanceTenancy\\\":\\\"default\\\",\\\"isDefault\\\":false,\\\"dhcpOptionsId\\\":\\\"dopt-01ea0a1b1a9b59c0a\\\",\\\"cidrBlock\\\":\\\"192.168.0.0/16\\\",\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"cidrBlockAssociationSet\\\":[{\\\"cidrBlock\\\":\\\"192.168.0.0/16\\\",\\\"cidrBlockState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"associationId\\\":\\\"vpc-cidr-assoc-020a825b3b20e569b\\\"}],\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipv6CidrBlockAssociationSet\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster/VPC\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"alpha.eksctl.io/cluster-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"0.30.0\\\",\\\"key\\\":\\\"alpha.eksctl.io/eksctl-version\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"VPC\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":null,"subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#vpcs:sort=VpcId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#vpcs:sort=VpcId","private":null,"resourceId":"vpc-09839929763048cfc","resourceName":null,"resourceType":"AWS::EC2::VPC","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster\",\"value\":\"eksctl-attractive-badger-1604015308-cluster\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"alpha.eksctl.io/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"aws:cloudformation:logical-id=VPC\",\"value\":\"VPC\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.30.0\",\"value\":\"0.30.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"},{\"tag\":\"Name=eksctl-attractive-badger-1604015308-cluster/VPC\",\"value\":\"eksctl-attractive-badger-1604015308-cluster/VPC\",\"key\":\"Name\"}]","title":"eksctl-attractive-badger-1604015308-cluster/VPC","instanceType":null,"statement":null,"dBInstanceStatus":null},"resource":{"id":"vpc-09839929763048cfc","name":null,"value":null,"type":"AWS::EC2::VPC","tags":"[{\"tag\":\"aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster\",\"value\":\"eksctl-attractive-badger-1604015308-cluster\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"alpha.eksctl.io/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"aws:cloudformation:logical-id=VPC\",\"value\":\"VPC\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.30.0\",\"value\":\"0.30.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"},{\"tag\":\"Name=eksctl-attractive-badger-1604015308-cluster/VPC\",\"value\":\"eksctl-attractive-badger-1604015308-cluster/VPC\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#vpcs:sort=VpcId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#vpcs:sort=VpcId","accountId":"044981683129"}},"position":{"x":-206.5,"y":-2230.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"vpc removeAll _gridParentPadding"},{"data":{"id":"eu-west-1a,eu-west-1b,eu-west-1c-vpc-09839929763048cfc-eu-west-1-044981683129","parent":"vpc-09839929763048cfc-eu-west-1-044981683129","level":3,"title":"eu-west-1a,eu-west-1b,eu-west-1c","label":"eu-west-1a,eu-west-1b,eu-west-1c","plainLabel":"eu-west-1a,eu-west-1b,eu-west-1c","type":"availabilityZone","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/availabilityZone.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":null,"label":"Cluster","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:eks:eu-west-1:044981683129:cluster/attractive-badger-1604015308","label":"AWS_EKS_Cluster","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:eks:eu-west-1:044981683129:cluster/attractive-badger-1604015308","configuration":"\"{\\\"Logging\\\":{\\\"ClusterLogging\\\":{}},\\\"Endpoint\\\":\\\"https://DE3F3380C67D24DE560FF2B93414EF12.gr7.eu-west-1.eks.amazonaws.com\\\",\\\"Version\\\":\\\"1.20\\\",\\\"Arn\\\":\\\"arn:aws:eks:eu-west-1:044981683129:cluster/attractive-badger-1604015308\\\",\\\"CertificateAuthorityData\\\":\\\"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUN5RENDQWJDZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRJd01UQXlPVEl6TlRreU9Gb1hEVE13TVRBeU56SXpOVGt5T0Zvd0ZURVRNQkVHQTFVRQpBeE1LYTNWaVpYSnVaWFJsY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTnA0CjBZN2o4d2tWcHo2MjBNbGxlMnNsL2JSbng4bHQwWmVjU1RZWEgyUlRFaVBUY0NxUFl5dmxINEoxSS93TmluZDgKNW1wcWgzQkY2U3EwbnQ0RmtrcDhmdW5xNkdFY3pkM3dHTzAxTmRVT1VkMWxCNjJwMUJpanl4S1dYdVBvL01FYQp3bGtqMFYrbzRyQm9CaTBJbDlZa2FtRys3UHBNUDNlZk0ydWZUOWlSZjR1cXRRZ0MzajluVDRJOFR5MEREZjBXCkZ0VkhiR3QvRkwzK2tsaXBzSy9PSklMSXRlTEdJdktYTTRwUFB3UENYdVgvTmtJUGdpaXFCbXk5T0ZGZ05icGoKU0pNQ0crZlNDbCt1dCtIdzUvL1VjQlFRNENzVnVLR0orRlNqTU5MaVRRc292bERmRytIY3VRK0dnWU1OeVNobQozMHhWbnl6QXhiVGwwdURoUWZFQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFBWkI1ejc2LytzM2h6NXhkV1IyaVNKSE5iZHUKUTFGRUlERDRMeWRLNHhFMnlxTEV6SGtubitDaHNaUEYyYzFEZ3Y1bkJxS3owQ3ZKN3Z6ZGwzVzhRbkMrSHpOMgp1aGJBdFZmMlB0cDVScDZ1UnFNTmRjSnpZd3g5bW83ZWEvUk5Yc2JVdTYzSEFZNE1pS3JSUkk2Y2xOTW9hRjlUCkdablBxa010cDRqTTdRcElQRjlGVXhqZGtsRXVmeDYwby81RWhtK2Iva0E0bnhFaGcxL2l3OUN4NkpsRXUvZ2wKZy9EYlJYRElqMnVkMXdaUm02M3NnM0g3K3J0dG1XZjdScmJiKzVmQUw1WVdMOFNNS3J0a2tqdE5YNmFudU5SRAp4R25aQkpzUXFzL0FPQ1FwZjFhaEJrNjBpeVpNSnVtUXZNUm81TllMbTVFMk04Mk5Kd20xVUtiaWhWdz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=\\\",\\\"EncryptionConfig\\\":[],\\\"ResourcesVpcConfig\\\":{\\\"EndpointPublicAccess\\\":true,\\\"PublicAccessCidrs\\\":[\\\"0.0.0.0/0\\\"],\\\"EndpointPrivateAccess\\\":false,\\\"SecurityGroupIds\\\":[\\\"sg-062dd3b9b48e7278f\\\"],\\\"SubnetIds\\\":[\\\"subnet-0240cebb8fa82aa33\\\",\\\"subnet-07a6385d759763604\\\",\\\"subnet-03755dc2d4bdd2e2b\\\",\\\"subnet-06deb021a27770578\\\",\\\"subnet-0461a710ed0df3002\\\",\\\"subnet-040b12c6ae776ea8a\\\"]},\\\"KubernetesNetworkConfig\\\":{\\\"ServiceIpv4Cidr\\\":\\\"10.100.0.0/16\\\",\\\"IpFamily\\\":\\\"ipv4\\\"},\\\"RoleArn\\\":\\\"arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7\\\",\\\"Tags\\\":[],\\\"Name\\\":\\\"attractive-badger-1604015308\\\",\\\"OpenIdConnectIssuerUrl\\\":\\\"https://oidc.eks.eu-west-1.amazonaws.com/id/DE3F3380C67D24DE560FF2B93414EF12\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a,eu-west-1b,eu-west-1c","vpcId":"vpc-09839929763048cfc","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:eks:eu-west-1:044981683129:cluster/attractive-badger-1604015308","resourceName":"attractive-badger-1604015308","resourceType":"AWS::EKS::Cluster","resourceValue":null,"state":null,"tags":"[]","title":"attractive-badger-1604015308","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-298,"y":-2076.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"availabilityZone removeAll _gridParentPadding"},{"data":{"id":"Cluster-eu-west-1a,eu-west-1b,eu-west-1c-vpc-09839929763048cfc-eu-west-1-044981683129","parent":"eu-west-1a,eu-west-1b,eu-west-1c-vpc-09839929763048cfc-eu-west-1-044981683129","level":4,"title":"Cluster","label":"Cluster","plainLabel":"Cluster","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-Elastic-Kubernetes-Service-menu.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:eks:eu-west-1:044981683129:cluster/attractive-badger-1604015308","label":"AWS_EKS_Cluster","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:eks:eu-west-1:044981683129:cluster/attractive-badger-1604015308","configuration":"\"{\\\"Logging\\\":{\\\"ClusterLogging\\\":{}},\\\"Endpoint\\\":\\\"https://DE3F3380C67D24DE560FF2B93414EF12.gr7.eu-west-1.eks.amazonaws.com\\\",\\\"Version\\\":\\\"1.20\\\",\\\"Arn\\\":\\\"arn:aws:eks:eu-west-1:044981683129:cluster/attractive-badger-1604015308\\\",\\\"CertificateAuthorityData\\\":\\\"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUN5RENDQWJDZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRJd01UQXlPVEl6TlRreU9Gb1hEVE13TVRBeU56SXpOVGt5T0Zvd0ZURVRNQkVHQTFVRQpBeE1LYTNWaVpYSnVaWFJsY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTnA0CjBZN2o4d2tWcHo2MjBNbGxlMnNsL2JSbng4bHQwWmVjU1RZWEgyUlRFaVBUY0NxUFl5dmxINEoxSS93TmluZDgKNW1wcWgzQkY2U3EwbnQ0RmtrcDhmdW5xNkdFY3pkM3dHTzAxTmRVT1VkMWxCNjJwMUJpanl4S1dYdVBvL01FYQp3bGtqMFYrbzRyQm9CaTBJbDlZa2FtRys3UHBNUDNlZk0ydWZUOWlSZjR1cXRRZ0MzajluVDRJOFR5MEREZjBXCkZ0VkhiR3QvRkwzK2tsaXBzSy9PSklMSXRlTEdJdktYTTRwUFB3UENYdVgvTmtJUGdpaXFCbXk5T0ZGZ05icGoKU0pNQ0crZlNDbCt1dCtIdzUvL1VjQlFRNENzVnVLR0orRlNqTU5MaVRRc292bERmRytIY3VRK0dnWU1OeVNobQozMHhWbnl6QXhiVGwwdURoUWZFQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFBWkI1ejc2LytzM2h6NXhkV1IyaVNKSE5iZHUKUTFGRUlERDRMeWRLNHhFMnlxTEV6SGtubitDaHNaUEYyYzFEZ3Y1bkJxS3owQ3ZKN3Z6ZGwzVzhRbkMrSHpOMgp1aGJBdFZmMlB0cDVScDZ1UnFNTmRjSnpZd3g5bW83ZWEvUk5Yc2JVdTYzSEFZNE1pS3JSUkk2Y2xOTW9hRjlUCkdablBxa010cDRqTTdRcElQRjlGVXhqZGtsRXVmeDYwby81RWhtK2Iva0E0bnhFaGcxL2l3OUN4NkpsRXUvZ2wKZy9EYlJYRElqMnVkMXdaUm02M3NnM0g3K3J0dG1XZjdScmJiKzVmQUw1WVdMOFNNS3J0a2tqdE5YNmFudU5SRAp4R25aQkpzUXFzL0FPQ1FwZjFhaEJrNjBpeVpNSnVtUXZNUm81TllMbTVFMk04Mk5Kd20xVUtiaWhWdz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=\\\",\\\"EncryptionConfig\\\":[],\\\"ResourcesVpcConfig\\\":{\\\"EndpointPublicAccess\\\":true,\\\"PublicAccessCidrs\\\":[\\\"0.0.0.0/0\\\"],\\\"EndpointPrivateAccess\\\":false,\\\"SecurityGroupIds\\\":[\\\"sg-062dd3b9b48e7278f\\\"],\\\"SubnetIds\\\":[\\\"subnet-0240cebb8fa82aa33\\\",\\\"subnet-07a6385d759763604\\\",\\\"subnet-03755dc2d4bdd2e2b\\\",\\\"subnet-06deb021a27770578\\\",\\\"subnet-0461a710ed0df3002\\\",\\\"subnet-040b12c6ae776ea8a\\\"]},\\\"KubernetesNetworkConfig\\\":{\\\"ServiceIpv4Cidr\\\":\\\"10.100.0.0/16\\\",\\\"IpFamily\\\":\\\"ipv4\\\"},\\\"RoleArn\\\":\\\"arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7\\\",\\\"Tags\\\":[],\\\"Name\\\":\\\"attractive-badger-1604015308\\\",\\\"OpenIdConnectIssuerUrl\\\":\\\"https://oidc.eks.eu-west-1.amazonaws.com/id/DE3F3380C67D24DE560FF2B93414EF12\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a,eu-west-1b,eu-west-1c","vpcId":"vpc-09839929763048cfc","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:eks:eu-west-1:044981683129:cluster/attractive-badger-1604015308","resourceName":"attractive-badger-1604015308","resourceType":"AWS::EKS::Cluster","resourceValue":null,"state":null,"tags":"[]","title":"attractive-badger-1604015308","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-354.5,"y":-2141.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:eks:eu-west-1:044981683129:cluster/attractive-badger-1604015308","resourceId":["arn:aws:eks:eu-west-1:044981683129:cluster/attractive-badger-1604015308","arn:aws:eks:eu-west-1:044981683129:cluster/attractive-badger-1604015308"],"parent":"Cluster-eu-west-1a,eu-west-1b,eu-west-1c-vpc-09839929763048cfc-eu-west-1-044981683129","level":5,"id":"arn:aws:eks:eu-west-1:044981683129:cluster/attractive-badger-1604015308","title":"attractive-badger-1604015308","label":"attractive-b...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:eks:eu-west-1:044981683129:cluster/attractive-badger-1604015308","image":"/icons/Amazon-Elastic-Kubernetes-Service-menu.svg","cost":0,"private":false,"resource":{"id":"arn:aws:eks:eu-west-1:044981683129:cluster/attractive-badger-1604015308","name":"attractive-badger-1604015308","value":null,"type":"AWS::EKS::Cluster","tags":"[]","arn":"arn:aws:eks:eu-west-1:044981683129:cluster/attractive-badger-1604015308","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:eks:eu-west-1:044981683129:cluster/attractive-badger-1604015308","configuration":"\"{\\\"Logging\\\":{\\\"ClusterLogging\\\":{}},\\\"Endpoint\\\":\\\"https://DE3F3380C67D24DE560FF2B93414EF12.gr7.eu-west-1.eks.amazonaws.com\\\",\\\"Version\\\":\\\"1.20\\\",\\\"Arn\\\":\\\"arn:aws:eks:eu-west-1:044981683129:cluster/attractive-badger-1604015308\\\",\\\"CertificateAuthorityData\\\":\\\"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUN5RENDQWJDZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRJd01UQXlPVEl6TlRreU9Gb1hEVE13TVRBeU56SXpOVGt5T0Zvd0ZURVRNQkVHQTFVRQpBeE1LYTNWaVpYSnVaWFJsY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTnA0CjBZN2o4d2tWcHo2MjBNbGxlMnNsL2JSbng4bHQwWmVjU1RZWEgyUlRFaVBUY0NxUFl5dmxINEoxSS93TmluZDgKNW1wcWgzQkY2U3EwbnQ0RmtrcDhmdW5xNkdFY3pkM3dHTzAxTmRVT1VkMWxCNjJwMUJpanl4S1dYdVBvL01FYQp3bGtqMFYrbzRyQm9CaTBJbDlZa2FtRys3UHBNUDNlZk0ydWZUOWlSZjR1cXRRZ0MzajluVDRJOFR5MEREZjBXCkZ0VkhiR3QvRkwzK2tsaXBzSy9PSklMSXRlTEdJdktYTTRwUFB3UENYdVgvTmtJUGdpaXFCbXk5T0ZGZ05icGoKU0pNQ0crZlNDbCt1dCtIdzUvL1VjQlFRNENzVnVLR0orRlNqTU5MaVRRc292bERmRytIY3VRK0dnWU1OeVNobQozMHhWbnl6QXhiVGwwdURoUWZFQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFBWkI1ejc2LytzM2h6NXhkV1IyaVNKSE5iZHUKUTFGRUlERDRMeWRLNHhFMnlxTEV6SGtubitDaHNaUEYyYzFEZ3Y1bkJxS3owQ3ZKN3Z6ZGwzVzhRbkMrSHpOMgp1aGJBdFZmMlB0cDVScDZ1UnFNTmRjSnpZd3g5bW83ZWEvUk5Yc2JVdTYzSEFZNE1pS3JSUkk2Y2xOTW9hRjlUCkdablBxa010cDRqTTdRcElQRjlGVXhqZGtsRXVmeDYwby81RWhtK2Iva0E0bnhFaGcxL2l3OUN4NkpsRXUvZ2wKZy9EYlJYRElqMnVkMXdaUm02M3NnM0g3K3J0dG1XZjdScmJiKzVmQUw1WVdMOFNNS3J0a2tqdE5YNmFudU5SRAp4R25aQkpzUXFzL0FPQ1FwZjFhaEJrNjBpeVpNSnVtUXZNUm81TllMbTVFMk04Mk5Kd20xVUtiaWhWdz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=\\\",\\\"EncryptionConfig\\\":[],\\\"ResourcesVpcConfig\\\":{\\\"EndpointPublicAccess\\\":true,\\\"PublicAccessCidrs\\\":[\\\"0.0.0.0/0\\\"],\\\"EndpointPrivateAccess\\\":false,\\\"SecurityGroupIds\\\":[\\\"sg-062dd3b9b48e7278f\\\"],\\\"SubnetIds\\\":[\\\"subnet-0240cebb8fa82aa33\\\",\\\"subnet-07a6385d759763604\\\",\\\"subnet-03755dc2d4bdd2e2b\\\",\\\"subnet-06deb021a27770578\\\",\\\"subnet-0461a710ed0df3002\\\",\\\"subnet-040b12c6ae776ea8a\\\"]},\\\"KubernetesNetworkConfig\\\":{\\\"ServiceIpv4Cidr\\\":\\\"10.100.0.0/16\\\",\\\"IpFamily\\\":\\\"ipv4\\\"},\\\"RoleArn\\\":\\\"arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7\\\",\\\"Tags\\\":[],\\\"Name\\\":\\\"attractive-badger-1604015308\\\",\\\"OpenIdConnectIssuerUrl\\\":\\\"https://oidc.eks.eu-west-1.amazonaws.com/id/DE3F3380C67D24DE560FF2B93414EF12\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a,eu-west-1b,eu-west-1c","vpcId":"vpc-09839929763048cfc","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:eks:eu-west-1:044981683129:cluster/attractive-badger-1604015308","resourceName":"attractive-badger-1604015308","resourceType":"AWS::EKS::Cluster","resourceValue":null,"state":null,"tags":"[]","title":"attractive-badger-1604015308","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-354.5,"y":-2141.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"Stack-vpc-09839929763048cfc-eu-west-1-044981683129","parent":"vpc-09839929763048cfc-eu-west-1-044981683129","level":3,"title":"Stack","label":"Stack","plainLabel":"Stack","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/AWS-CloudFormation.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0","label":"AWS_CloudFormation_Stack","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0","configuration":"\"{\\\"outputs\\\":[{\\\"outputKey\\\":\\\"SubnetsPrivate\\\",\\\"outputValue\\\":\\\"subnet-06deb021a27770578,subnet-0461a710ed0df3002,subnet-040b12c6ae776ea8a\\\"},{\\\"outputKey\\\":\\\"SubnetsPublic\\\",\\\"outputValue\\\":\\\"subnet-0240cebb8fa82aa33,subnet-07a6385d759763604,subnet-03755dc2d4bdd2e2b\\\"},{\\\"outputKey\\\":\\\"FeatureNATMode\\\",\\\"outputValue\\\":\\\"Single\\\"},{\\\"outputKey\\\":\\\"ServiceRoleARN\\\",\\\"outputValue\\\":\\\"arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7\\\"},{\\\"outputKey\\\":\\\"Endpoint\\\",\\\"outputValue\\\":\\\"https://DE3F3380C67D24DE560FF2B93414EF12.gr7.eu-west-1.eks.amazonaws.com\\\"},{\\\"outputKey\\\":\\\"SharedNodeSecurityGroup\\\",\\\"outputValue\\\":\\\"sg-00189a6b426be4510\\\"},{\\\"outputKey\\\":\\\"VPC\\\",\\\"outputValue\\\":\\\"vpc-09839929763048cfc\\\"},{\\\"outputKey\\\":\\\"ClusterSecurityGroupId\\\",\\\"outputValue\\\":\\\"sg-0bcb1987c6667687b\\\"},{\\\"outputKey\\\":\\\"ClusterStackName\\\",\\\"outputValue\\\":\\\"eksctl-attractive-badger-1604015308-cluster\\\"},{\\\"outputKey\\\":\\\"CertificateAuthorityData\\\",\\\"outputValue\\\":\\\"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUN5RENDQWJDZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRJd01UQXlPVEl6TlRreU9Gb1hEVE13TVRBeU56SXpOVGt5T0Zvd0ZURVRNQkVHQTFVRQpBeE1LYTNWaVpYSnVaWFJsY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTnA0CjBZN2o4d2tWcHo2MjBNbGxlMnNsL2JSbng4bHQwWmVjU1RZWEgyUlRFaVBUY0NxUFl5dmxINEoxSS93TmluZDgKNW1wcWgzQkY2U3EwbnQ0RmtrcDhmdW5xNkdFY3pkM3dHTzAxTmRVT1VkMWxCNjJwMUJpanl4S1dYdVBvL01FYQp3bGtqMFYrbzRyQm9CaTBJbDlZa2FtRys3UHBNUDNlZk0ydWZUOWlSZjR1cXRRZ0MzajluVDRJOFR5MEREZjBXCkZ0VkhiR3QvRkwzK2tsaXBzSy9PSklMSXRlTEdJdktYTTRwUFB3UENYdVgvTmtJUGdpaXFCbXk5T0ZGZ05icGoKU0pNQ0crZlNDbCt1dCtIdzUvL1VjQlFRNENzVnVLR0orRlNqTU5MaVRRc292bERmRytIY3VRK0dnWU1OeVNobQozMHhWbnl6QXhiVGwwdURoUWZFQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFBWkI1ejc2LytzM2h6NXhkV1IyaVNKSE5iZHUKUTFGRUlERDRMeWRLNHhFMnlxTEV6SGtubitDaHNaUEYyYzFEZ3Y1bkJxS3owQ3ZKN3Z6ZGwzVzhRbkMrSHpOMgp1aGJBdFZmMlB0cDVScDZ1UnFNTmRjSnpZd3g5bW83ZWEvUk5Yc2JVdTYzSEFZNE1pS3JSUkk2Y2xOTW9hRjlUCkdablBxa010cDRqTTdRcElQRjlGVXhqZGtsRXVmeDYwby81RWhtK2Iva0E0bnhFaGcxL2l3OUN4NkpsRXUvZ2wKZy9EYlJYRElqMnVkMXdaUm02M3NnM0g3K3J0dG1XZjdScmJiKzVmQUw1WVdMOFNNS3J0a2tqdE5YNmFudU5SRAp4R25aQkpzUXFzL0FPQ1FwZjFhaEJrNjBpeVpNSnVtUXZNUm81TllMbTVFMk04Mk5Kd20xVUtiaWhWdz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=\\\"},{\\\"outputKey\\\":\\\"SecurityGroup\\\",\\\"outputValue\\\":\\\"sg-062dd3b9b48e7278f\\\"},{\\\"outputKey\\\":\\\"ARN\\\",\\\"outputValue\\\":\\\"arn:aws:eks:eu-west-1:044981683129:cluster/attractive-badger-1604015308\\\"}],\\\"capabilities\\\":[\\\"CAPABILITY_IAM\\\"],\\\"creationTime\\\":\\\"2020-10-29T23:48:30Z\\\",\\\"notificationARNs\\\":[],\\\"stackId\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\\\",\\\"stackName\\\":\\\"eksctl-attractive-badger-1604015308-cluster\\\",\\\"driftInformation\\\":{\\\"stackDriftStatus\\\":\\\"NOT_CHECKED\\\"},\\\"description\\\":\\\"EKS cluster (dedicated VPC: true, dedicated IAM: true) [created and managed by eksctl]\\\",\\\"stackStatus\\\":\\\"CREATE_COMPLETE\\\",\\\"enableTerminationProtection\\\":false,\\\"disableRollback\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"alpha.eksctl.io/cluster-name\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\\\"},{\\\"value\\\":\\\"0.30.0\\\",\\\"key\\\":\\\"alpha.eksctl.io/eksctl-version\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Regional","vpcId":"vpc-09839929763048cfc","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0","resourceName":"eksctl-attractive-badger-1604015308-cluster","resourceType":"AWS::CloudFormation::Stack","resourceValue":null,"state":null,"tags":"[{\"tag\":\"alpha.eksctl.io/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.30.0\",\"value\":\"0.30.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"}]","title":"eksctl-attractive-badger-1604015308-cluster","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-454.5,"y":-1861.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0","resourceId":["arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0","arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0"],"parent":"Stack-vpc-09839929763048cfc-eu-west-1-044981683129","level":4,"id":"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0","title":"eksctl-attractive-badger-1604015308-cluster","label":"eksctl-attra...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0","image":"/icons/AWS-CloudFormation.svg","cost":0,"private":false,"resource":{"id":"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0","name":"eksctl-attractive-badger-1604015308-cluster","value":null,"type":"AWS::CloudFormation::Stack","tags":"[{\"tag\":\"alpha.eksctl.io/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.30.0\",\"value\":\"0.30.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"}]","arn":"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0","configuration":"\"{\\\"outputs\\\":[{\\\"outputKey\\\":\\\"SubnetsPrivate\\\",\\\"outputValue\\\":\\\"subnet-06deb021a27770578,subnet-0461a710ed0df3002,subnet-040b12c6ae776ea8a\\\"},{\\\"outputKey\\\":\\\"SubnetsPublic\\\",\\\"outputValue\\\":\\\"subnet-0240cebb8fa82aa33,subnet-07a6385d759763604,subnet-03755dc2d4bdd2e2b\\\"},{\\\"outputKey\\\":\\\"FeatureNATMode\\\",\\\"outputValue\\\":\\\"Single\\\"},{\\\"outputKey\\\":\\\"ServiceRoleARN\\\",\\\"outputValue\\\":\\\"arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7\\\"},{\\\"outputKey\\\":\\\"Endpoint\\\",\\\"outputValue\\\":\\\"https://DE3F3380C67D24DE560FF2B93414EF12.gr7.eu-west-1.eks.amazonaws.com\\\"},{\\\"outputKey\\\":\\\"SharedNodeSecurityGroup\\\",\\\"outputValue\\\":\\\"sg-00189a6b426be4510\\\"},{\\\"outputKey\\\":\\\"VPC\\\",\\\"outputValue\\\":\\\"vpc-09839929763048cfc\\\"},{\\\"outputKey\\\":\\\"ClusterSecurityGroupId\\\",\\\"outputValue\\\":\\\"sg-0bcb1987c6667687b\\\"},{\\\"outputKey\\\":\\\"ClusterStackName\\\",\\\"outputValue\\\":\\\"eksctl-attractive-badger-1604015308-cluster\\\"},{\\\"outputKey\\\":\\\"CertificateAuthorityData\\\",\\\"outputValue\\\":\\\"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUN5RENDQWJDZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRJd01UQXlPVEl6TlRreU9Gb1hEVE13TVRBeU56SXpOVGt5T0Zvd0ZURVRNQkVHQTFVRQpBeE1LYTNWaVpYSnVaWFJsY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTnA0CjBZN2o4d2tWcHo2MjBNbGxlMnNsL2JSbng4bHQwWmVjU1RZWEgyUlRFaVBUY0NxUFl5dmxINEoxSS93TmluZDgKNW1wcWgzQkY2U3EwbnQ0RmtrcDhmdW5xNkdFY3pkM3dHTzAxTmRVT1VkMWxCNjJwMUJpanl4S1dYdVBvL01FYQp3bGtqMFYrbzRyQm9CaTBJbDlZa2FtRys3UHBNUDNlZk0ydWZUOWlSZjR1cXRRZ0MzajluVDRJOFR5MEREZjBXCkZ0VkhiR3QvRkwzK2tsaXBzSy9PSklMSXRlTEdJdktYTTRwUFB3UENYdVgvTmtJUGdpaXFCbXk5T0ZGZ05icGoKU0pNQ0crZlNDbCt1dCtIdzUvL1VjQlFRNENzVnVLR0orRlNqTU5MaVRRc292bERmRytIY3VRK0dnWU1OeVNobQozMHhWbnl6QXhiVGwwdURoUWZFQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFBWkI1ejc2LytzM2h6NXhkV1IyaVNKSE5iZHUKUTFGRUlERDRMeWRLNHhFMnlxTEV6SGtubitDaHNaUEYyYzFEZ3Y1bkJxS3owQ3ZKN3Z6ZGwzVzhRbkMrSHpOMgp1aGJBdFZmMlB0cDVScDZ1UnFNTmRjSnpZd3g5bW83ZWEvUk5Yc2JVdTYzSEFZNE1pS3JSUkk2Y2xOTW9hRjlUCkdablBxa010cDRqTTdRcElQRjlGVXhqZGtsRXVmeDYwby81RWhtK2Iva0E0bnhFaGcxL2l3OUN4NkpsRXUvZ2wKZy9EYlJYRElqMnVkMXdaUm02M3NnM0g3K3J0dG1XZjdScmJiKzVmQUw1WVdMOFNNS3J0a2tqdE5YNmFudU5SRAp4R25aQkpzUXFzL0FPQ1FwZjFhaEJrNjBpeVpNSnVtUXZNUm81TllMbTVFMk04Mk5Kd20xVUtiaWhWdz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=\\\"},{\\\"outputKey\\\":\\\"SecurityGroup\\\",\\\"outputValue\\\":\\\"sg-062dd3b9b48e7278f\\\"},{\\\"outputKey\\\":\\\"ARN\\\",\\\"outputValue\\\":\\\"arn:aws:eks:eu-west-1:044981683129:cluster/attractive-badger-1604015308\\\"}],\\\"capabilities\\\":[\\\"CAPABILITY_IAM\\\"],\\\"creationTime\\\":\\\"2020-10-29T23:48:30Z\\\",\\\"notificationARNs\\\":[],\\\"stackId\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\\\",\\\"stackName\\\":\\\"eksctl-attractive-badger-1604015308-cluster\\\",\\\"driftInformation\\\":{\\\"stackDriftStatus\\\":\\\"NOT_CHECKED\\\"},\\\"description\\\":\\\"EKS cluster (dedicated VPC: true, dedicated IAM: true) [created and managed by eksctl]\\\",\\\"stackStatus\\\":\\\"CREATE_COMPLETE\\\",\\\"enableTerminationProtection\\\":false,\\\"disableRollback\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"alpha.eksctl.io/cluster-name\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\\\"},{\\\"value\\\":\\\"0.30.0\\\",\\\"key\\\":\\\"alpha.eksctl.io/eksctl-version\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Regional","vpcId":"vpc-09839929763048cfc","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0","resourceName":"eksctl-attractive-badger-1604015308-cluster","resourceType":"AWS::CloudFormation::Stack","resourceValue":null,"state":null,"tags":"[{\"tag\":\"alpha.eksctl.io/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.30.0\",\"value\":\"0.30.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"}]","title":"eksctl-attractive-badger-1604015308-cluster","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-454.5,"y":-1861.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"eu-west-1c-vpc-09839929763048cfc-eu-west-1-044981683129","parent":"vpc-09839929763048cfc-eu-west-1-044981683129","level":3,"title":"eu-west-1c","label":"eu-west-1c","plainLabel":"eu-west-1c","type":"availabilityZone","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/availabilityZone.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0240cebb8fa82aa33","label":"subnet-0240cebb8fa82aa33","parent":null,"type":"subnet","data":{"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0240cebb8fa82aa33","configuration":"\"{\\\"subnetId\\\":\\\"subnet-0240cebb8fa82aa33\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0240cebb8fa82aa33\\\",\\\"availabilityZoneId\\\":\\\"euw1-az1\\\",\\\"cidrBlock\\\":\\\"192.168.0.0/19\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"0.30.0\\\",\\\"key\\\":\\\"alpha.eksctl.io/eksctl-version\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"SubnetPublicEUWEST1C\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\\\"},{\\\"value\\\":\\\"1\\\",\\\"key\\\":\\\"kubernetes.io/role/elb\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"alpha.eksctl.io/cluster-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"shared\\\",\\\"key\\\":\\\"kubernetes.io/cluster/attractive-badger-1604015308\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1C\\\",\\\"key\\\":\\\"Name\\\"}],\\\"availableIpAddressCount\\\":8165,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"mapPublicIpOnLaunch\\\":true,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-09839929763048cfc","subnetId":"subnet-0240cebb8fa82aa33","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":"true","resourceId":"subnet-0240cebb8fa82aa33","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster\",\"value\":\"eksctl-attractive-badger-1604015308-cluster\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"alpha.eksctl.io/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"aws:cloudformation:logical-id=SubnetPublicEUWEST1C\",\"value\":\"SubnetPublicEUWEST1C\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"kubernetes.io/role/elb=1\",\"value\":\"1\",\"key\":\"kubernetes.io/role/elb\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.30.0\",\"value\":\"0.30.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"},{\"tag\":\"kubernetes.io/cluster/attractive-badger-1604015308=shared\",\"value\":\"shared\",\"key\":\"kubernetes.io/cluster/attractive-badger-1604015308\"},{\"tag\":\"Name=eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1C\",\"value\":\"eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1C\",\"key\":\"Name\"}]","title":"eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1C","instanceType":null,"statement":null,"dBInstanceStatus":null},"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0240cebb8fa82aa33","label":"AWS_EC2_Subnet"},"properties":null,"children":[]},{"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-06deb021a27770578","label":"subnet-06deb021a27770578","parent":null,"type":"subnet","data":{"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-06deb021a27770578","configuration":"\"{\\\"subnetId\\\":\\\"subnet-06deb021a27770578\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-06deb021a27770578\\\",\\\"availabilityZoneId\\\":\\\"euw1-az1\\\",\\\"cidrBlock\\\":\\\"192.168.96.0/19\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster/SubnetPrivateEUWEST1C\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"1\\\",\\\"key\\\":\\\"kubernetes.io/role/internal-elb\\\"},{\\\"value\\\":\\\"shared\\\",\\\"key\\\":\\\"kubernetes.io/cluster/attractive-badger-1604015308\\\"},{\\\"value\\\":\\\"SubnetPrivateEUWEST1C\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"alpha.eksctl.io/cluster-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"0.30.0\\\",\\\"key\\\":\\\"alpha.eksctl.io/eksctl-version\\\"}],\\\"availableIpAddressCount\\\":8186,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"mapPublicIpOnLaunch\\\":false,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-09839929763048cfc","subnetId":"subnet-06deb021a27770578","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":"false","resourceId":"subnet-06deb021a27770578","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster\",\"value\":\"eksctl-attractive-badger-1604015308-cluster\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"alpha.eksctl.io/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"aws:cloudformation:logical-id=SubnetPrivateEUWEST1C\",\"value\":\"SubnetPrivateEUWEST1C\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"kubernetes.io/role/internal-elb=1\",\"value\":\"1\",\"key\":\"kubernetes.io/role/internal-elb\"},{\"tag\":\"kubernetes.io/cluster/attractive-badger-1604015308=shared\",\"value\":\"shared\",\"key\":\"kubernetes.io/cluster/attractive-badger-1604015308\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.30.0\",\"value\":\"0.30.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"},{\"tag\":\"Name=eksctl-attractive-badger-1604015308-cluster/SubnetPrivateEUWEST1C\",\"value\":\"eksctl-attractive-badger-1604015308-cluster/SubnetPrivateEUWEST1C\",\"key\":\"Name\"}]","title":"eksctl-attractive-badger-1604015308-cluster/SubnetPrivateEUWEST1C","instanceType":null,"statement":null,"dBInstanceStatus":null},"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-06deb021a27770578","label":"AWS_EC2_Subnet"},"properties":null,"children":[]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-504,"y":-2493.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"availabilityZone removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0240cebb8fa82aa33","resourceId":["subnet-0240cebb8fa82aa33","arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0240cebb8fa82aa33"],"parent":"eu-west-1c-vpc-09839929763048cfc-eu-west-1-044981683129","level":4,"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0240cebb8fa82aa33","title":"eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1C","label":"eksctl-attra...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0240cebb8fa82aa33","image":"/icons/VPC-subnet-private_light-bg-menu.svg","cost":0,"private":true,"resource":{"id":"subnet-0240cebb8fa82aa33","name":null,"value":null,"type":"AWS::EC2::Subnet","tags":"[{\"tag\":\"aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster\",\"value\":\"eksctl-attractive-badger-1604015308-cluster\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"alpha.eksctl.io/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"aws:cloudformation:logical-id=SubnetPublicEUWEST1C\",\"value\":\"SubnetPublicEUWEST1C\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"kubernetes.io/role/elb=1\",\"value\":\"1\",\"key\":\"kubernetes.io/role/elb\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.30.0\",\"value\":\"0.30.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"},{\"tag\":\"kubernetes.io/cluster/attractive-badger-1604015308=shared\",\"value\":\"shared\",\"key\":\"kubernetes.io/cluster/attractive-badger-1604015308\"},{\"tag\":\"Name=eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1C\",\"value\":\"eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1C\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0240cebb8fa82aa33","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0240cebb8fa82aa33","configuration":"\"{\\\"subnetId\\\":\\\"subnet-0240cebb8fa82aa33\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0240cebb8fa82aa33\\\",\\\"availabilityZoneId\\\":\\\"euw1-az1\\\",\\\"cidrBlock\\\":\\\"192.168.0.0/19\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"0.30.0\\\",\\\"key\\\":\\\"alpha.eksctl.io/eksctl-version\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"SubnetPublicEUWEST1C\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\\\"},{\\\"value\\\":\\\"1\\\",\\\"key\\\":\\\"kubernetes.io/role/elb\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"alpha.eksctl.io/cluster-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"shared\\\",\\\"key\\\":\\\"kubernetes.io/cluster/attractive-badger-1604015308\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1C\\\",\\\"key\\\":\\\"Name\\\"}],\\\"availableIpAddressCount\\\":8165,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"mapPublicIpOnLaunch\\\":true,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-09839929763048cfc","subnetId":"subnet-0240cebb8fa82aa33","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":"true","resourceId":"subnet-0240cebb8fa82aa33","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster\",\"value\":\"eksctl-attractive-badger-1604015308-cluster\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"alpha.eksctl.io/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"aws:cloudformation:logical-id=SubnetPublicEUWEST1C\",\"value\":\"SubnetPublicEUWEST1C\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"kubernetes.io/role/elb=1\",\"value\":\"1\",\"key\":\"kubernetes.io/role/elb\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.30.0\",\"value\":\"0.30.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"},{\"tag\":\"kubernetes.io/cluster/attractive-badger-1604015308=shared\",\"value\":\"shared\",\"key\":\"kubernetes.io/cluster/attractive-badger-1604015308\"},{\"tag\":\"Name=eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1C\",\"value\":\"eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1C\",\"key\":\"Name\"}]","title":"eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1C","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-713.5,"y":-2314.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-06deb021a27770578","resourceId":["subnet-06deb021a27770578","arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-06deb021a27770578"],"parent":"eu-west-1c-vpc-09839929763048cfc-eu-west-1-044981683129","level":4,"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-06deb021a27770578","title":"eksctl-attractive-badger-1604015308-cluster/SubnetPrivateEUWEST1C","label":"eksctl-attra...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-06deb021a27770578","image":"/icons/VPC-subnet-private_light-bg-menu.svg","cost":0,"private":true,"resource":{"id":"subnet-06deb021a27770578","name":null,"value":null,"type":"AWS::EC2::Subnet","tags":"[{\"tag\":\"aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster\",\"value\":\"eksctl-attractive-badger-1604015308-cluster\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"alpha.eksctl.io/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"aws:cloudformation:logical-id=SubnetPrivateEUWEST1C\",\"value\":\"SubnetPrivateEUWEST1C\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"kubernetes.io/role/internal-elb=1\",\"value\":\"1\",\"key\":\"kubernetes.io/role/internal-elb\"},{\"tag\":\"kubernetes.io/cluster/attractive-badger-1604015308=shared\",\"value\":\"shared\",\"key\":\"kubernetes.io/cluster/attractive-badger-1604015308\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.30.0\",\"value\":\"0.30.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"},{\"tag\":\"Name=eksctl-attractive-badger-1604015308-cluster/SubnetPrivateEUWEST1C\",\"value\":\"eksctl-attractive-badger-1604015308-cluster/SubnetPrivateEUWEST1C\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-06deb021a27770578","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-06deb021a27770578","configuration":"\"{\\\"subnetId\\\":\\\"subnet-06deb021a27770578\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-06deb021a27770578\\\",\\\"availabilityZoneId\\\":\\\"euw1-az1\\\",\\\"cidrBlock\\\":\\\"192.168.96.0/19\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster/SubnetPrivateEUWEST1C\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"1\\\",\\\"key\\\":\\\"kubernetes.io/role/internal-elb\\\"},{\\\"value\\\":\\\"shared\\\",\\\"key\\\":\\\"kubernetes.io/cluster/attractive-badger-1604015308\\\"},{\\\"value\\\":\\\"SubnetPrivateEUWEST1C\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"alpha.eksctl.io/cluster-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"0.30.0\\\",\\\"key\\\":\\\"alpha.eksctl.io/eksctl-version\\\"}],\\\"availableIpAddressCount\\\":8186,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"mapPublicIpOnLaunch\\\":false,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-09839929763048cfc","subnetId":"subnet-06deb021a27770578","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":"false","resourceId":"subnet-06deb021a27770578","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster\",\"value\":\"eksctl-attractive-badger-1604015308-cluster\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"alpha.eksctl.io/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"aws:cloudformation:logical-id=SubnetPrivateEUWEST1C\",\"value\":\"SubnetPrivateEUWEST1C\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"kubernetes.io/role/internal-elb=1\",\"value\":\"1\",\"key\":\"kubernetes.io/role/internal-elb\"},{\"tag\":\"kubernetes.io/cluster/attractive-badger-1604015308=shared\",\"value\":\"shared\",\"key\":\"kubernetes.io/cluster/attractive-badger-1604015308\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.30.0\",\"value\":\"0.30.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"},{\"tag\":\"Name=eksctl-attractive-badger-1604015308-cluster/SubnetPrivateEUWEST1C\",\"value\":\"eksctl-attractive-badger-1604015308-cluster/SubnetPrivateEUWEST1C\",\"key\":\"Name\"}]","title":"eksctl-attractive-badger-1604015308-cluster/SubnetPrivateEUWEST1C","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-640.5,"y":-2314.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"eu-west-1b-vpc-09839929763048cfc-eu-west-1-044981683129","parent":"vpc-09839929763048cfc-eu-west-1-044981683129","level":3,"title":"eu-west-1b","label":"eu-west-1b","plainLabel":"eu-west-1b","type":"availabilityZone","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/availabilityZone.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-03755dc2d4bdd2e2b","label":"subnet-03755dc2d4bdd2e2b","parent":null,"type":"subnet","data":{"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-03755dc2d4bdd2e2b","configuration":"\"{\\\"subnetId\\\":\\\"subnet-03755dc2d4bdd2e2b\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-03755dc2d4bdd2e2b\\\",\\\"availabilityZoneId\\\":\\\"euw1-az3\\\",\\\"cidrBlock\\\":\\\"192.168.64.0/19\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"0.30.0\\\",\\\"key\\\":\\\"alpha.eksctl.io/eksctl-version\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"alpha.eksctl.io/cluster-name\\\"},{\\\"value\\\":\\\"SubnetPublicEUWEST1B\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"1\\\",\\\"key\\\":\\\"kubernetes.io/role/elb\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\\\"},{\\\"value\\\":\\\"shared\\\",\\\"key\\\":\\\"kubernetes.io/cluster/attractive-badger-1604015308\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1B\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"}],\\\"availableIpAddressCount\\\":8187,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"mapPublicIpOnLaunch\\\":true,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-09839929763048cfc","subnetId":"subnet-03755dc2d4bdd2e2b","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":"true","resourceId":"subnet-03755dc2d4bdd2e2b","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster\",\"value\":\"eksctl-attractive-badger-1604015308-cluster\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"alpha.eksctl.io/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"aws:cloudformation:logical-id=SubnetPublicEUWEST1B\",\"value\":\"SubnetPublicEUWEST1B\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"kubernetes.io/role/elb=1\",\"value\":\"1\",\"key\":\"kubernetes.io/role/elb\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.30.0\",\"value\":\"0.30.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"},{\"tag\":\"kubernetes.io/cluster/attractive-badger-1604015308=shared\",\"value\":\"shared\",\"key\":\"kubernetes.io/cluster/attractive-badger-1604015308\"},{\"tag\":\"Name=eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1B\",\"value\":\"eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1B\",\"key\":\"Name\"}]","title":"eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1B","instanceType":null,"statement":null,"dBInstanceStatus":null},"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-03755dc2d4bdd2e2b","label":"AWS_EC2_Subnet"},"properties":null,"children":[]},{"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-040b12c6ae776ea8a","label":"subnet-040b12c6ae776ea8a","parent":null,"type":"subnet","data":{"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-040b12c6ae776ea8a","configuration":"\"{\\\"subnetId\\\":\\\"subnet-040b12c6ae776ea8a\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-040b12c6ae776ea8a\\\",\\\"availabilityZoneId\\\":\\\"euw1-az3\\\",\\\"cidrBlock\\\":\\\"192.168.160.0/19\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"SubnetPrivateEUWEST1B\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster/SubnetPrivateEUWEST1B\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"1\\\",\\\"key\\\":\\\"kubernetes.io/role/internal-elb\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"alpha.eksctl.io/cluster-name\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\\\"},{\\\"value\\\":\\\"shared\\\",\\\"key\\\":\\\"kubernetes.io/cluster/attractive-badger-1604015308\\\"},{\\\"value\\\":\\\"0.30.0\\\",\\\"key\\\":\\\"alpha.eksctl.io/eksctl-version\\\"}],\\\"availableIpAddressCount\\\":8186,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"mapPublicIpOnLaunch\\\":false,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-09839929763048cfc","subnetId":"subnet-040b12c6ae776ea8a","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":"false","resourceId":"subnet-040b12c6ae776ea8a","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster\",\"value\":\"eksctl-attractive-badger-1604015308-cluster\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"alpha.eksctl.io/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"aws:cloudformation:logical-id=SubnetPrivateEUWEST1B\",\"value\":\"SubnetPrivateEUWEST1B\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"kubernetes.io/role/internal-elb=1\",\"value\":\"1\",\"key\":\"kubernetes.io/role/internal-elb\"},{\"tag\":\"kubernetes.io/cluster/attractive-badger-1604015308=shared\",\"value\":\"shared\",\"key\":\"kubernetes.io/cluster/attractive-badger-1604015308\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.30.0\",\"value\":\"0.30.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"},{\"tag\":\"Name=eksctl-attractive-badger-1604015308-cluster/SubnetPrivateEUWEST1B\",\"value\":\"eksctl-attractive-badger-1604015308-cluster/SubnetPrivateEUWEST1B\",\"key\":\"Name\"}]","title":"eksctl-attractive-badger-1604015308-cluster/SubnetPrivateEUWEST1B","instanceType":null,"statement":null,"dBInstanceStatus":null},"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-040b12c6ae776ea8a","label":"AWS_EC2_Subnet"},"properties":null,"children":[]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-602,"y":-2116.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"availabilityZone removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-03755dc2d4bdd2e2b","resourceId":["subnet-03755dc2d4bdd2e2b","arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-03755dc2d4bdd2e2b"],"parent":"eu-west-1b-vpc-09839929763048cfc-eu-west-1-044981683129","level":4,"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-03755dc2d4bdd2e2b","title":"eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1B","label":"eksctl-attra...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-03755dc2d4bdd2e2b","image":"/icons/VPC-subnet-private_light-bg-menu.svg","cost":0,"private":true,"resource":{"id":"subnet-03755dc2d4bdd2e2b","name":null,"value":null,"type":"AWS::EC2::Subnet","tags":"[{\"tag\":\"aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster\",\"value\":\"eksctl-attractive-badger-1604015308-cluster\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"alpha.eksctl.io/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"aws:cloudformation:logical-id=SubnetPublicEUWEST1B\",\"value\":\"SubnetPublicEUWEST1B\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"kubernetes.io/role/elb=1\",\"value\":\"1\",\"key\":\"kubernetes.io/role/elb\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.30.0\",\"value\":\"0.30.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"},{\"tag\":\"kubernetes.io/cluster/attractive-badger-1604015308=shared\",\"value\":\"shared\",\"key\":\"kubernetes.io/cluster/attractive-badger-1604015308\"},{\"tag\":\"Name=eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1B\",\"value\":\"eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1B\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-03755dc2d4bdd2e2b","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-03755dc2d4bdd2e2b","configuration":"\"{\\\"subnetId\\\":\\\"subnet-03755dc2d4bdd2e2b\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-03755dc2d4bdd2e2b\\\",\\\"availabilityZoneId\\\":\\\"euw1-az3\\\",\\\"cidrBlock\\\":\\\"192.168.64.0/19\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"0.30.0\\\",\\\"key\\\":\\\"alpha.eksctl.io/eksctl-version\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"alpha.eksctl.io/cluster-name\\\"},{\\\"value\\\":\\\"SubnetPublicEUWEST1B\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"1\\\",\\\"key\\\":\\\"kubernetes.io/role/elb\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\\\"},{\\\"value\\\":\\\"shared\\\",\\\"key\\\":\\\"kubernetes.io/cluster/attractive-badger-1604015308\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1B\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"}],\\\"availableIpAddressCount\\\":8187,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"mapPublicIpOnLaunch\\\":true,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-09839929763048cfc","subnetId":"subnet-03755dc2d4bdd2e2b","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":"true","resourceId":"subnet-03755dc2d4bdd2e2b","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster\",\"value\":\"eksctl-attractive-badger-1604015308-cluster\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"alpha.eksctl.io/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"aws:cloudformation:logical-id=SubnetPublicEUWEST1B\",\"value\":\"SubnetPublicEUWEST1B\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"kubernetes.io/role/elb=1\",\"value\":\"1\",\"key\":\"kubernetes.io/role/elb\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.30.0\",\"value\":\"0.30.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"},{\"tag\":\"kubernetes.io/cluster/attractive-badger-1604015308=shared\",\"value\":\"shared\",\"key\":\"kubernetes.io/cluster/attractive-badger-1604015308\"},{\"tag\":\"Name=eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1B\",\"value\":\"eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1B\",\"key\":\"Name\"}]","title":"eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1B","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-560.5,"y":-2178.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-040b12c6ae776ea8a","resourceId":["subnet-040b12c6ae776ea8a","arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-040b12c6ae776ea8a"],"parent":"eu-west-1b-vpc-09839929763048cfc-eu-west-1-044981683129","level":4,"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-040b12c6ae776ea8a","title":"eksctl-attractive-badger-1604015308-cluster/SubnetPrivateEUWEST1B","label":"eksctl-attra...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-040b12c6ae776ea8a","image":"/icons/VPC-subnet-private_light-bg-menu.svg","cost":0,"private":true,"resource":{"id":"subnet-040b12c6ae776ea8a","name":null,"value":null,"type":"AWS::EC2::Subnet","tags":"[{\"tag\":\"aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster\",\"value\":\"eksctl-attractive-badger-1604015308-cluster\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"alpha.eksctl.io/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"aws:cloudformation:logical-id=SubnetPrivateEUWEST1B\",\"value\":\"SubnetPrivateEUWEST1B\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"kubernetes.io/role/internal-elb=1\",\"value\":\"1\",\"key\":\"kubernetes.io/role/internal-elb\"},{\"tag\":\"kubernetes.io/cluster/attractive-badger-1604015308=shared\",\"value\":\"shared\",\"key\":\"kubernetes.io/cluster/attractive-badger-1604015308\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.30.0\",\"value\":\"0.30.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"},{\"tag\":\"Name=eksctl-attractive-badger-1604015308-cluster/SubnetPrivateEUWEST1B\",\"value\":\"eksctl-attractive-badger-1604015308-cluster/SubnetPrivateEUWEST1B\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-040b12c6ae776ea8a","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-040b12c6ae776ea8a","configuration":"\"{\\\"subnetId\\\":\\\"subnet-040b12c6ae776ea8a\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-040b12c6ae776ea8a\\\",\\\"availabilityZoneId\\\":\\\"euw1-az3\\\",\\\"cidrBlock\\\":\\\"192.168.160.0/19\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"SubnetPrivateEUWEST1B\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster/SubnetPrivateEUWEST1B\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"1\\\",\\\"key\\\":\\\"kubernetes.io/role/internal-elb\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"alpha.eksctl.io/cluster-name\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\\\"},{\\\"value\\\":\\\"shared\\\",\\\"key\\\":\\\"kubernetes.io/cluster/attractive-badger-1604015308\\\"},{\\\"value\\\":\\\"0.30.0\\\",\\\"key\\\":\\\"alpha.eksctl.io/eksctl-version\\\"}],\\\"availableIpAddressCount\\\":8186,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"mapPublicIpOnLaunch\\\":false,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-09839929763048cfc","subnetId":"subnet-040b12c6ae776ea8a","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":"false","resourceId":"subnet-040b12c6ae776ea8a","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster\",\"value\":\"eksctl-attractive-badger-1604015308-cluster\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"alpha.eksctl.io/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"aws:cloudformation:logical-id=SubnetPrivateEUWEST1B\",\"value\":\"SubnetPrivateEUWEST1B\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"kubernetes.io/role/internal-elb=1\",\"value\":\"1\",\"key\":\"kubernetes.io/role/internal-elb\"},{\"tag\":\"kubernetes.io/cluster/attractive-badger-1604015308=shared\",\"value\":\"shared\",\"key\":\"kubernetes.io/cluster/attractive-badger-1604015308\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.30.0\",\"value\":\"0.30.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"},{\"tag\":\"Name=eksctl-attractive-badger-1604015308-cluster/SubnetPrivateEUWEST1B\",\"value\":\"eksctl-attractive-badger-1604015308-cluster/SubnetPrivateEUWEST1B\",\"key\":\"Name\"}]","title":"eksctl-attractive-badger-1604015308-cluster/SubnetPrivateEUWEST1B","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-487.5,"y":-2178.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"eu-west-1a-vpc-09839929763048cfc-eu-west-1-044981683129","parent":"vpc-09839929763048cfc-eu-west-1-044981683129","level":3,"title":"eu-west-1a","label":"eu-west-1a","plainLabel":"eu-west-1a","type":"availabilityZone","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/availabilityZone.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0461a710ed0df3002","label":"subnet-0461a710ed0df3002","parent":null,"type":"subnet","data":{"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0461a710ed0df3002","configuration":"\"{\\\"subnetId\\\":\\\"subnet-0461a710ed0df3002\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0461a710ed0df3002\\\",\\\"availabilityZoneId\\\":\\\"euw1-az2\\\",\\\"cidrBlock\\\":\\\"192.168.128.0/19\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"shared\\\",\\\"key\\\":\\\"kubernetes.io/cluster/attractive-badger-1604015308\\\"},{\\\"value\\\":\\\"1\\\",\\\"key\\\":\\\"kubernetes.io/role/internal-elb\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"alpha.eksctl.io/cluster-name\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster/SubnetPrivateEUWEST1A\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"0.30.0\\\",\\\"key\\\":\\\"alpha.eksctl.io/eksctl-version\\\"},{\\\"value\\\":\\\"SubnetPrivateEUWEST1A\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\\\"}],\\\"availableIpAddressCount\\\":8187,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"mapPublicIpOnLaunch\\\":false,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-09839929763048cfc","subnetId":"subnet-0461a710ed0df3002","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":"false","resourceId":"subnet-0461a710ed0df3002","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster\",\"value\":\"eksctl-attractive-badger-1604015308-cluster\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"alpha.eksctl.io/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"aws:cloudformation:logical-id=SubnetPrivateEUWEST1A\",\"value\":\"SubnetPrivateEUWEST1A\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"kubernetes.io/role/internal-elb=1\",\"value\":\"1\",\"key\":\"kubernetes.io/role/internal-elb\"},{\"tag\":\"kubernetes.io/cluster/attractive-badger-1604015308=shared\",\"value\":\"shared\",\"key\":\"kubernetes.io/cluster/attractive-badger-1604015308\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.30.0\",\"value\":\"0.30.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"},{\"tag\":\"Name=eksctl-attractive-badger-1604015308-cluster/SubnetPrivateEUWEST1A\",\"value\":\"eksctl-attractive-badger-1604015308-cluster/SubnetPrivateEUWEST1A\",\"key\":\"Name\"}]","title":"eksctl-attractive-badger-1604015308-cluster/SubnetPrivateEUWEST1A","instanceType":null,"statement":null,"dBInstanceStatus":null},"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0461a710ed0df3002","label":"AWS_EC2_Subnet"},"properties":null,"children":[]},{"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-07a6385d759763604","label":"subnet-07a6385d759763604","parent":null,"type":"subnet","data":{"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-07a6385d759763604","configuration":"\"{\\\"subnetId\\\":\\\"subnet-07a6385d759763604\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-07a6385d759763604\\\",\\\"availabilityZoneId\\\":\\\"euw1-az2\\\",\\\"cidrBlock\\\":\\\"192.168.32.0/19\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"shared\\\",\\\"key\\\":\\\"kubernetes.io/cluster/attractive-badger-1604015308\\\"},{\\\"value\\\":\\\"SubnetPublicEUWEST1A\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1A\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"0.30.0\\\",\\\"key\\\":\\\"alpha.eksctl.io/eksctl-version\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"alpha.eksctl.io/cluster-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\\\"},{\\\"value\\\":\\\"1\\\",\\\"key\\\":\\\"kubernetes.io/role/elb\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"}],\\\"availableIpAddressCount\\\":8166,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"mapPublicIpOnLaunch\\\":true,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-09839929763048cfc","subnetId":"subnet-07a6385d759763604","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":"true","resourceId":"subnet-07a6385d759763604","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster\",\"value\":\"eksctl-attractive-badger-1604015308-cluster\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"alpha.eksctl.io/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"aws:cloudformation:logical-id=SubnetPublicEUWEST1A\",\"value\":\"SubnetPublicEUWEST1A\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"kubernetes.io/role/elb=1\",\"value\":\"1\",\"key\":\"kubernetes.io/role/elb\"},{\"tag\":\"kubernetes.io/cluster/attractive-badger-1604015308=shared\",\"value\":\"shared\",\"key\":\"kubernetes.io/cluster/attractive-badger-1604015308\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.30.0\",\"value\":\"0.30.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"},{\"tag\":\"Name=eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1A\",\"value\":\"eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1A\",\"key\":\"Name\"}]","title":"eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1A","instanceType":null,"statement":null,"dBInstanceStatus":null},"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-07a6385d759763604","label":"AWS_EC2_Subnet"},"properties":null,"children":[]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-48.5,"y":-2558.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"availabilityZone removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0461a710ed0df3002","resourceId":["subnet-0461a710ed0df3002","arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0461a710ed0df3002"],"parent":"eu-west-1a-vpc-09839929763048cfc-eu-west-1-044981683129","level":4,"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0461a710ed0df3002","title":"eksctl-attractive-badger-1604015308-cluster/SubnetPrivateEUWEST1A","label":"eksctl-attra...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0461a710ed0df3002","image":"/icons/VPC-subnet-private_light-bg-menu.svg","cost":0,"private":true,"resource":{"id":"subnet-0461a710ed0df3002","name":null,"value":null,"type":"AWS::EC2::Subnet","tags":"[{\"tag\":\"aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster\",\"value\":\"eksctl-attractive-badger-1604015308-cluster\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"alpha.eksctl.io/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"aws:cloudformation:logical-id=SubnetPrivateEUWEST1A\",\"value\":\"SubnetPrivateEUWEST1A\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"kubernetes.io/role/internal-elb=1\",\"value\":\"1\",\"key\":\"kubernetes.io/role/internal-elb\"},{\"tag\":\"kubernetes.io/cluster/attractive-badger-1604015308=shared\",\"value\":\"shared\",\"key\":\"kubernetes.io/cluster/attractive-badger-1604015308\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.30.0\",\"value\":\"0.30.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"},{\"tag\":\"Name=eksctl-attractive-badger-1604015308-cluster/SubnetPrivateEUWEST1A\",\"value\":\"eksctl-attractive-badger-1604015308-cluster/SubnetPrivateEUWEST1A\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0461a710ed0df3002","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0461a710ed0df3002","configuration":"\"{\\\"subnetId\\\":\\\"subnet-0461a710ed0df3002\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0461a710ed0df3002\\\",\\\"availabilityZoneId\\\":\\\"euw1-az2\\\",\\\"cidrBlock\\\":\\\"192.168.128.0/19\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"shared\\\",\\\"key\\\":\\\"kubernetes.io/cluster/attractive-badger-1604015308\\\"},{\\\"value\\\":\\\"1\\\",\\\"key\\\":\\\"kubernetes.io/role/internal-elb\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"alpha.eksctl.io/cluster-name\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster/SubnetPrivateEUWEST1A\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"0.30.0\\\",\\\"key\\\":\\\"alpha.eksctl.io/eksctl-version\\\"},{\\\"value\\\":\\\"SubnetPrivateEUWEST1A\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\\\"}],\\\"availableIpAddressCount\\\":8187,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"mapPublicIpOnLaunch\\\":false,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-09839929763048cfc","subnetId":"subnet-0461a710ed0df3002","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":"false","resourceId":"subnet-0461a710ed0df3002","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster\",\"value\":\"eksctl-attractive-badger-1604015308-cluster\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"alpha.eksctl.io/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"aws:cloudformation:logical-id=SubnetPrivateEUWEST1A\",\"value\":\"SubnetPrivateEUWEST1A\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"kubernetes.io/role/internal-elb=1\",\"value\":\"1\",\"key\":\"kubernetes.io/role/internal-elb\"},{\"tag\":\"kubernetes.io/cluster/attractive-badger-1604015308=shared\",\"value\":\"shared\",\"key\":\"kubernetes.io/cluster/attractive-badger-1604015308\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.30.0\",\"value\":\"0.30.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"},{\"tag\":\"Name=eksctl-attractive-badger-1604015308-cluster/SubnetPrivateEUWEST1A\",\"value\":\"eksctl-attractive-badger-1604015308-cluster/SubnetPrivateEUWEST1A\",\"key\":\"Name\"}]","title":"eksctl-attractive-badger-1604015308-cluster/SubnetPrivateEUWEST1A","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-181.5,"y":-2444.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-07a6385d759763604","resourceId":["subnet-07a6385d759763604","arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-07a6385d759763604"],"parent":"eu-west-1a-vpc-09839929763048cfc-eu-west-1-044981683129","level":4,"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-07a6385d759763604","title":"eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1A","label":"eksctl-attra...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-07a6385d759763604","image":"/icons/VPC-subnet-private_light-bg-menu.svg","cost":0,"private":true,"resource":{"id":"subnet-07a6385d759763604","name":null,"value":null,"type":"AWS::EC2::Subnet","tags":"[{\"tag\":\"aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster\",\"value\":\"eksctl-attractive-badger-1604015308-cluster\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"alpha.eksctl.io/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"aws:cloudformation:logical-id=SubnetPublicEUWEST1A\",\"value\":\"SubnetPublicEUWEST1A\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"kubernetes.io/role/elb=1\",\"value\":\"1\",\"key\":\"kubernetes.io/role/elb\"},{\"tag\":\"kubernetes.io/cluster/attractive-badger-1604015308=shared\",\"value\":\"shared\",\"key\":\"kubernetes.io/cluster/attractive-badger-1604015308\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.30.0\",\"value\":\"0.30.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"},{\"tag\":\"Name=eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1A\",\"value\":\"eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1A\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-07a6385d759763604","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-07a6385d759763604","configuration":"\"{\\\"subnetId\\\":\\\"subnet-07a6385d759763604\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-07a6385d759763604\\\",\\\"availabilityZoneId\\\":\\\"euw1-az2\\\",\\\"cidrBlock\\\":\\\"192.168.32.0/19\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"shared\\\",\\\"key\\\":\\\"kubernetes.io/cluster/attractive-badger-1604015308\\\"},{\\\"value\\\":\\\"SubnetPublicEUWEST1A\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1A\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"0.30.0\\\",\\\"key\\\":\\\"alpha.eksctl.io/eksctl-version\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"alpha.eksctl.io/cluster-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\\\"},{\\\"value\\\":\\\"1\\\",\\\"key\\\":\\\"kubernetes.io/role/elb\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"}],\\\"availableIpAddressCount\\\":8166,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"mapPublicIpOnLaunch\\\":true,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-09839929763048cfc","subnetId":"subnet-07a6385d759763604","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":"true","resourceId":"subnet-07a6385d759763604","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster\",\"value\":\"eksctl-attractive-badger-1604015308-cluster\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"alpha.eksctl.io/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"aws:cloudformation:logical-id=SubnetPublicEUWEST1A\",\"value\":\"SubnetPublicEUWEST1A\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"kubernetes.io/role/elb=1\",\"value\":\"1\",\"key\":\"kubernetes.io/role/elb\"},{\"tag\":\"kubernetes.io/cluster/attractive-badger-1604015308=shared\",\"value\":\"shared\",\"key\":\"kubernetes.io/cluster/attractive-badger-1604015308\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.30.0\",\"value\":\"0.30.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"},{\"tag\":\"Name=eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1A\",\"value\":\"eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1A\",\"key\":\"Name\"}]","title":"eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1A","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-108.5,"y":-2444.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/aws-service-role/ops.apigateway.amazonaws.com/AWSServiceRoleForAPIGateway","resourceId":["AROAQU6I6AO4YO3Y3F6YD","arn:aws:iam::044981683129:role/aws-service-role/ops.apigateway.amazonaws.com/AWSServiceRoleForAPIGateway"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/aws-service-role/ops.apigateway.amazonaws.com/AWSServiceRoleForAPIGateway","title":"AWSServiceRoleForAPIGateway","label":"AWSServiceRo...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/aws-service-role/ops.apigateway.amazonaws.com/AWSServiceRoleForAPIGateway","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO4YO3Y3F6YD","name":"AWSServiceRoleForAPIGateway","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/aws-service-role/ops.apigateway.amazonaws.com/AWSServiceRoleForAPIGateway","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/aws-service-role/ops.apigateway.amazonaws.com/AWSServiceRoleForAPIGateway","configuration":"\"{\\\"path\\\":\\\"/aws-service-role/ops.apigateway.amazonaws.com/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22ops.apigateway.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO4YO3Y3F6YD\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/aws-service-role/APIGatewayServiceRolePolicy\\\",\\\"policyName\\\":\\\"APIGatewayServiceRolePolicy\\\"}],\\\"roleName\\\":\\\"AWSServiceRoleForAPIGateway\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/aws-service-role/ops.apigateway.amazonaws.com/AWSServiceRoleForAPIGateway\\\",\\\"createDate\\\":\\\"2021-05-21T12:00:31.000Z\\\",\\\"rolePolicyList\\\":[],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO4YO3Y3F6YD","resourceName":"AWSServiceRoleForAPIGateway","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"AWSServiceRoleForAPIGateway","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":914.5,"y":-2686.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/aws-perspective-ApiGatewayCloudWatchLogsRole-1JQLCXVV1H2MJ","resourceId":["AROAQU6I6AO4YVFZBINOX","arn:aws:iam::044981683129:role/aws-perspective-ApiGatewayCloudWatchLogsRole-1JQLCXVV1H2MJ"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/aws-perspective-ApiGatewayCloudWatchLogsRole-1JQLCXVV1H2MJ","title":"aws-perspective-ApiGatewayCloudWatchLogsRole-1JQLCXVV1H2MJ","label":"aws-perspect...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/aws-perspective-ApiGatewayCloudWatchLogsRole-1JQLCXVV1H2MJ","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO4YVFZBINOX","name":"aws-perspective-ApiGatewayCloudWatchLogsRole-1JQLCXVV1H2MJ","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/aws-perspective-ApiGatewayCloudWatchLogsRole-1JQLCXVV1H2MJ","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/aws-perspective-ApiGatewayCloudWatchLogsRole-1JQLCXVV1H2MJ","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222008-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22apigateway.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO4YVFZBINOX\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/service-role/AmazonAPIGatewayPushToCloudWatchLogs\\\",\\\"policyName\\\":\\\"AmazonAPIGatewayPushToCloudWatchLogs\\\"}],\\\"roleName\\\":\\\"aws-perspective-ApiGatewayCloudWatchLogsRole-1JQLCXVV1H2MJ\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/aws-perspective-ApiGatewayCloudWatchLogsRole-1JQLCXVV1H2MJ\\\",\\\"createDate\\\":\\\"2021-07-08T06:48:05.000Z\\\",\\\"rolePolicyList\\\":[],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO4YVFZBINOX","resourceName":"aws-perspective-ApiGatewayCloudWatchLogsRole-1JQLCXVV1H2MJ","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"aws-perspective-ApiGatewayCloudWatchLogsRole-1JQLCXVV1H2MJ","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":914.5,"y":-2613.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/ShadowTrooperRole","resourceId":["AROAQU6I6AO4YZ7KMXUJB","arn:aws:iam::044981683129:role/ShadowTrooperRole"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/ShadowTrooperRole","title":"ShadowTrooperRole","label":"ShadowTroope...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/ShadowTrooperRole","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO4YZ7KMXUJB","name":"ShadowTrooperRole","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/ShadowTrooperRole","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/ShadowTrooperRole","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Sid%22%3A%22%22%2C%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22prod.shadowtrooper.aws.internal%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%2C%22Condition%22%3A%7B%22StringEquals%22%3A%7B%22sts%3AExternalId%22%3A%22ShadowTrooperRolelIYeJypHgK3Z%22%7D%7D%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO4YZ7KMXUJB\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"ShadowTrooperRole\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/ShadowTrooperRole\\\",\\\"createDate\\\":\\\"2022-12-20T01:41:35.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%0A%22Version%22%3A%20%222012-10-17%22%2C%0A%20%20%22Statement%22%3A%20%5B%0A%20%20%20%20%7B%0A%20%20%20%20%20%20%22Effect%22%3A%20%22Allow%22%2C%0A%20%20%20%20%20%20%22Action%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%22ec2%3AAuthorizeSecurityGroupEgress%22%2C%20%0A%20%20%20%20%20%20%20%20%22ec2%3AAuthorizeSecurityGroupIngress%22%2C%20%0A%20%20%20%20%20%20%20%20%22ec2%3ACreateSecurityGroup%22%2C%20%0A%20%20%20%20%20%20%20%20%22ec2%3ADeleteNatGateway%22%2C%20%0A%20%20%20%20%20%20%20%20%22ec2%3ADescribeIamInstanceProfileAssociations%22%2C%0A%20%20%20%20%20%20%20%20%22ec2%3ADescribeInstances%22%2C%20%0A%20%20%20%20%20%20%20%20%22ec2%3ADescribeNetworkInterfaceAttribute%22%2C%0A%20%20%20%20%20%20%20%20%22ec2%3ADescribeNetworkInterfaces%22%2C%0A%20%20%20%20%20%20%20%20%22ec2%3ADescribeSecurityGroups%22%2C%0A%20%20%20%20%20%20%20%20%22ec2%3ADescribeSubnets%22%2C%0A%20%20%20%20%20%20%20%20%22ec2%3AModifyInstanceAttribute%22%2C%20%0A%20%20%20%20%20%20%20%20%22ec2%3AModifyNetworkInterfaceAttribute%22%2C%20%0A%20%20%20%20%20%20%20%20%22ec2%3ARevokeSecurityGroupEgress%22%2C%20%0A%20%20%20%20%20%20%20%20%22ec2%3ARevokeSecurityGroupIngress%22%2C%20%0A%20%20%20%20%20%20%20%20%22ec2%3AStopInstances%22%2C%20%0A%20%20%20%20%20%20%20%20%22ecs%3ADescribeTasks%22%2C%0A%20%20%20%20%20%20%20%20%22ecs%3AListClusters%22%2C%0A%20%20%20%20%20%20%20%20%22ecs%3AListTasks%22%2C%0A%20%20%20%20%20%20%20%20%22ecs%3AStopTask%22%2C%0A%20%20%20%20%20%20%20%20%22ecs%3AUpdateService%22%2C%0A%20%20%20%20%20%20%20%20%22elasticmapreduce%3ADescribeCluster%22%2C%0A%20%20%20%20%20%20%20%20%22elasticmapreduce%3AGetManagedScalingPolicy%22%2C%0A%20%20%20%20%20%20%20%20%22elasticmapreduce%3AListClusters%22%2C%0A%20%20%20%20%20%20%20%20%22elasticmapreduce%3AListInstances%22%2C%0A%20%20%20%20%20%20%20%20%22elasticmapreduce%3ARemoveAutoScalingPolicy%22%2C%0A%20%20%20%20%20%20%20%20%22elasticmapreduce%3ARemoveAutoTerminationPolicy%22%2C%0A%20%20%20%20%20%20%20%20%22elasticmapreduce%3ARemoveManagedScalingPolicy%22%2C%0A%20%20%20%20%20%20%20%20%22iam%3AGetInstanceProfile%22%2C%0A%20%20%20%20%20%20%20%20%22iam%3AListAccessKeys%22%2C%0A%20%20%20%20%20%20%20%20%22iam%3AListUsers%22%2C%0A%20%20%20%20%20%20%20%20%22iam%3APutRolePolicy%22%2C%0A%20%20%20%20%20%20%20%20%22iam%3APutUserPolicy%22%2C%0A%20%20%20%20%20%20%20%20%22iam%3AUpdateAccessKey%22%2C%0A%20%20%20%20%20%20%20%20%22lightsail%3ACloseInstancePublicPorts%22%2C%0A%20%20%20%20%20%20%20%20%22lightsail%3AGetInstance%22%2C%0A%20%20%20%20%20%20%20%20%22lightsail%3AStopInstance%22%2C%0A%20%20%20%20%20%20%20%20%22s3%3APutAccountPublicAccessBlock%22%2C%20%0A%20%20%20%20%20%20%20%20%22s3%3APutBucketPublicAccessBlock%22%2C%0A%20%20%20%20%20%20%20%20%22secretsmanager%3AGetResourcePolicy%22%2C%0A%20%20%20%20%20%20%20%20%22secretsmanager%3APutResourcePolicy%22%2C%0A%20%20%20%20%20%20%20%20%22ses%3ADescribeReceiptRuleSet%22%2C%0A%20%20%20%20%20%20%20%20%22ses%3AUpdateReceiptRule%22%2C%0A%20%20%20%20%20%20%20%20%22workspaces%3ADescribeWorkspaces%22%2C%0A%20%20%20%20%20%20%20%20%22workspaces%3AModifyWorkspaceProperties%22%2C%0A%20%20%20%20%20%20%20%20%22workspaces%3AModifyWorkspaceState%22%2C%0A%20%20%20%20%20%20%20%20%22workspaces%3AStopWorkspaces%22%0A%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%22Resource%22%3A%20%22%2A%22%0A%20%20%20%20%7D%0A%20%20%5D%0A%7D\\\",\\\"policyName\\\":\\\"ShadowTrooperPolicy-prod\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO4YZ7KMXUJB","resourceName":"ShadowTrooperRole","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"ShadowTrooperRole","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":914.5,"y":-2540.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/ShadowTrooperRole/inlinePolicy/ShadowTrooperPolicy-prod","resourceId":["arn:aws:iam::044981683129:role/ShadowTrooperRole/inlinePolicy/ShadowTrooperPolicy-prod","arn:aws:iam::044981683129:role/ShadowTrooperRole/inlinePolicy/ShadowTrooperPolicy-prod"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/ShadowTrooperRole/inlinePolicy/ShadowTrooperPolicy-prod","title":"arn:aws:iam::044981683129:role/ShadowTrooperRole/inlinePolicy/ShadowTrooperPolicy-prod","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/ShadowTrooperRole/inlinePolicy/ShadowTrooperPolicy-prod","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/ShadowTrooperRole/inlinePolicy/ShadowTrooperPolicy-prod","name":"arn:aws:iam::044981683129:role/ShadowTrooperRole/inlinePolicy/ShadowTrooperPolicy-prod","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/ShadowTrooperRole/inlinePolicy/ShadowTrooperPolicy-prod","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/ShadowTrooperRole/inlinePolicy/ShadowTrooperPolicy-prod","configuration":"\"{\\\"policyName\\\":\\\"ShadowTrooperPolicy-prod\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Effect\\\":\\\"Allow\\\",\\\"Action\\\":[\\\"ec2:AuthorizeSecurityGroupEgress\\\",\\\"ec2:AuthorizeSecurityGroupIngress\\\",\\\"ec2:CreateSecurityGroup\\\",\\\"ec2:DeleteNatGateway\\\",\\\"ec2:DescribeIamInstanceProfileAssociations\\\",\\\"ec2:DescribeInstances\\\",\\\"ec2:DescribeNetworkInterfaceAttribute\\\",\\\"ec2:DescribeNetworkInterfaces\\\",\\\"ec2:DescribeSecurityGroups\\\",\\\"ec2:DescribeSubnets\\\",\\\"ec2:ModifyInstanceAttribute\\\",\\\"ec2:ModifyNetworkInterfaceAttribute\\\",\\\"ec2:RevokeSecurityGroupEgress\\\",\\\"ec2:RevokeSecurityGroupIngress\\\",\\\"ec2:StopInstances\\\",\\\"ecs:DescribeTasks\\\",\\\"ecs:ListClusters\\\",\\\"ecs:ListTasks\\\",\\\"ecs:StopTask\\\",\\\"ecs:UpdateService\\\",\\\"elasticmapreduce:DescribeCluster\\\",\\\"elasticmapreduce:GetManagedScalingPolicy\\\",\\\"elasticmapreduce:ListClusters\\\",\\\"elasticmapreduce:ListInstances\\\",\\\"elasticmapreduce:RemoveAutoScalingPolicy\\\",\\\"elasticmapreduce:RemoveAutoTerminationPolicy\\\",\\\"elasticmapreduce:RemoveManagedScalingPolicy\\\",\\\"iam:GetInstanceProfile\\\",\\\"iam:ListAccessKeys\\\",\\\"iam:ListUsers\\\",\\\"iam:PutRolePolicy\\\",\\\"iam:PutUserPolicy\\\",\\\"iam:UpdateAccessKey\\\",\\\"lightsail:CloseInstancePublicPorts\\\",\\\"lightsail:GetInstance\\\",\\\"lightsail:StopInstance\\\",\\\"s3:PutAccountPublicAccessBlock\\\",\\\"s3:PutBucketPublicAccessBlock\\\",\\\"secretsmanager:GetResourcePolicy\\\",\\\"secretsmanager:PutResourcePolicy\\\",\\\"ses:DescribeReceiptRuleSet\\\",\\\"ses:UpdateReceiptRule\\\",\\\"workspaces:DescribeWorkspaces\\\",\\\"workspaces:ModifyWorkspaceProperties\\\",\\\"workspaces:ModifyWorkspaceState\\\",\\\"workspaces:StopWorkspaces\\\"],\\\"Resource\\\":\\\"*\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/ShadowTrooperRole/inlinePolicy/ShadowTrooperPolicy-prod","resourceName":"arn:aws:iam::044981683129:role/ShadowTrooperRole/inlinePolicy/ShadowTrooperPolicy-prod","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/ShadowTrooperRole/inlinePolicy/ShadowTrooperPolicy-prod","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1830.5,"y":-2759.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/cfn15-HelloLambdaRole1-63EGLC4D298A","resourceId":["AROAQU6I6AO4Z2GZNQANM","arn:aws:iam::044981683129:role/cfn15-HelloLambdaRole1-63EGLC4D298A"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/cfn15-HelloLambdaRole1-63EGLC4D298A","title":"cfn15-HelloLambdaRole1-63EGLC4D298A","label":"cfn15-HelloL...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/cfn15-HelloLambdaRole1-63EGLC4D298A","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO4Z2GZNQANM","name":"cfn15-HelloLambdaRole1-63EGLC4D298A","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/cfn15-HelloLambdaRole1-63EGLC4D298A","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/cfn15-HelloLambdaRole1-63EGLC4D298A","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222008-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22lambda.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO4Z2GZNQANM\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"cfn15-HelloLambdaRole1-63EGLC4D298A\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/cfn15-HelloLambdaRole1-63EGLC4D298A\\\",\\\"createDate\\\":\\\"2022-05-15T08:42:57.000Z\\\",\\\"rolePolicyList\\\":[],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO4Z2GZNQANM","resourceName":"cfn15-HelloLambdaRole1-63EGLC4D298A","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"cfn15-HelloLambdaRole1-63EGLC4D298A","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":914.5,"y":-2467.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-CognitoS-CognitoAuthRole-INUD6X7NC8QK","resourceId":["AROAQU6I6AO4Y3FLIAUPJ","arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-CognitoS-CognitoAuthRole-INUD6X7NC8QK"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-CognitoS-CognitoAuthRole-INUD6X7NC8QK","title":"Workload-Discovery-on-AWS-CognitoS-CognitoAuthRole-INUD6X7NC8QK","label":"Workload-Dis...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-CognitoS-CognitoAuthRole-INUD6X7NC8QK","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO4Y3FLIAUPJ","name":"Workload-Discovery-on-AWS-CognitoS-CognitoAuthRole-INUD6X7NC8QK","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-CognitoS-CognitoAuthRole-INUD6X7NC8QK","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-CognitoS-CognitoAuthRole-INUD6X7NC8QK","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Sid%22%3A%22%22%2C%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Federated%22%3A%22cognito-identity.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRoleWithWebIdentity%22%2C%22Condition%22%3A%7B%22StringEquals%22%3A%7B%22cognito-identity.amazonaws.com%3Aaud%22%3A%22eu-central-1%3Ac6a6253c-e1f9-49b6-9764-9b4142103f44%22%7D%2C%22ForAnyValue%3AStringLike%22%3A%7B%22cognito-identity.amazonaws.com%3Aamr%22%3A%22authenticated%22%7D%7D%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO4Y3FLIAUPJ\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"Workload-Discovery-on-AWS-CognitoS-CognitoAuthRole-INUD6X7NC8QK\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-CognitoS-CognitoAuthRole-INUD6X7NC8QK\\\",\\\"createDate\\\":\\\"2023-02-28T14:30:21.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22s3%3AGetObject%22%2C%22s3%3APutObject%22%2C%22s3%3ADeleteObject%22%2C%22s3%3APutObjectAcl%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3As3%3A%3A%3Aworkload-discovery-on-aws-s3-amplifystoragebucket-qclmeyrz1x9k%2Fprivate%2F%24%7Bcognito-identity.amazonaws.com%3Asub%7D%2F%2A%22%2C%22arn%3Aaws%3As3%3A%3A%3Aworkload-discovery-on-aws-s3-amplifystoragebucket-qclmeyrz1x9k%2Fprotected%2F%24%7Bcognito-identity.amazonaws.com%3Asub%7D%2F%2A%22%2C%22arn%3Aaws%3As3%3A%3A%3Aworkload-discovery-on-aws-s3-amplifystoragebucket-qclmeyrz1x9k%2Fpublic%2F%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%22s3%3APutObject%22%2C%22Resource%22%3A%22arn%3Aaws%3As3%3A%3A%3Aworkload-discovery-on-aws-s3-amplifystoragebucket-qclmeyrz1x9k%2Fuploads%2F%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Condition%22%3A%7B%22StringLike%22%3A%7B%22s3%3Aprefix%22%3A%5B%22public%2F%22%2C%22public%2F%2A%22%2C%22protected%2F%22%2C%22protected%2F%2A%22%2C%22private%2F%24%7Bcognito-identity.amazonaws.com%3Asub%7D%2F%22%2C%22private%2F%24%7Bcognito-identity.amazonaws.com%3Asub%7D%2F%2A%22%5D%7D%7D%2C%22Action%22%3A%22s3%3AGetObject%22%2C%22Resource%22%3A%22arn%3Aaws%3As3%3A%3A%3Aworkload-discovery-on-aws-s3-amplifystoragebucket-qclmeyrz1x9k%2Fprotected%2F%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%22s3%3AListBucket%22%2C%22Resource%22%3A%22arn%3Aaws%3As3%3A%3A%3Aworkload-discovery-on-aws-s3-amplifystoragebucket-qclmeyrz1x9k%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"AuthPerspectiveCognitoExecuteApiAndStorageBucket\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO4Y3FLIAUPJ","resourceName":"Workload-Discovery-on-AWS-CognitoS-CognitoAuthRole-INUD6X7NC8QK","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"Workload-Discovery-on-AWS-CognitoS-CognitoAuthRole-INUD6X7NC8QK","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":914.5,"y":-2394.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-CognitoS-CognitoAuthRole-INUD6X7NC8QK/inlinePolicy/AuthPerspectiveCognitoExecuteApiAndStorageBucket","resourceId":["arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-CognitoS-CognitoAuthRole-INUD6X7NC8QK/inlinePolicy/AuthPerspectiveCognitoExecuteApiAndStorageBucket","arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-CognitoS-CognitoAuthRole-INUD6X7NC8QK/inlinePolicy/AuthPerspectiveCognitoExecuteApiAndStorageBucket"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-CognitoS-CognitoAuthRole-INUD6X7NC8QK/inlinePolicy/AuthPerspectiveCognitoExecuteApiAndStorageBucket","title":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-CognitoS-CognitoAuthRole-INUD6X7NC8QK/inlinePolicy/AuthPerspectiveCognitoExecuteApiAndStorageBucket","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-CognitoS-CognitoAuthRole-INUD6X7NC8QK/inlinePolicy/AuthPerspectiveCognitoExecuteApiAndStorageBucket","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-CognitoS-CognitoAuthRole-INUD6X7NC8QK/inlinePolicy/AuthPerspectiveCognitoExecuteApiAndStorageBucket","name":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-CognitoS-CognitoAuthRole-INUD6X7NC8QK/inlinePolicy/AuthPerspectiveCognitoExecuteApiAndStorageBucket","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-CognitoS-CognitoAuthRole-INUD6X7NC8QK/inlinePolicy/AuthPerspectiveCognitoExecuteApiAndStorageBucket","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-CognitoS-CognitoAuthRole-INUD6X7NC8QK/inlinePolicy/AuthPerspectiveCognitoExecuteApiAndStorageBucket","configuration":"\"{\\\"policyName\\\":\\\"AuthPerspectiveCognitoExecuteApiAndStorageBucket\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"s3:GetObject\\\",\\\"s3:PutObject\\\",\\\"s3:DeleteObject\\\",\\\"s3:PutObjectAcl\\\"],\\\"Resource\\\":[\\\"arn:aws:s3:::workload-discovery-on-aws-s3-amplifystoragebucket-qclmeyrz1x9k/private/${cognito-identity.amazonaws.com:sub}/*\\\",\\\"arn:aws:s3:::workload-discovery-on-aws-s3-amplifystoragebucket-qclmeyrz1x9k/protected/${cognito-identity.amazonaws.com:sub}/*\\\",\\\"arn:aws:s3:::workload-discovery-on-aws-s3-amplifystoragebucket-qclmeyrz1x9k/public/*\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":\\\"s3:PutObject\\\",\\\"Resource\\\":\\\"arn:aws:s3:::workload-discovery-on-aws-s3-amplifystoragebucket-qclmeyrz1x9k/uploads/*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Condition\\\":{\\\"StringLike\\\":{\\\"s3:prefix\\\":[\\\"public/\\\",\\\"public/*\\\",\\\"protected/\\\",\\\"protected/*\\\",\\\"private/${cognito-identity.amazonaws.com:sub}/\\\",\\\"private/${cognito-identity.amazonaws.com:sub}/*\\\"]}},\\\"Action\\\":\\\"s3:GetObject\\\",\\\"Resource\\\":\\\"arn:aws:s3:::workload-discovery-on-aws-s3-amplifystoragebucket-qclmeyrz1x9k/protected/*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":\\\"s3:ListBucket\\\",\\\"Resource\\\":\\\"arn:aws:s3:::workload-discovery-on-aws-s3-amplifystoragebucket-qclmeyrz1x9k\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-CognitoS-CognitoAuthRole-INUD6X7NC8QK/inlinePolicy/AuthPerspectiveCognitoExecuteApiAndStorageBucket","resourceName":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-CognitoS-CognitoAuthRole-INUD6X7NC8QK/inlinePolicy/AuthPerspectiveCognitoExecuteApiAndStorageBucket","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-CognitoS-CognitoAuthRole-INUD6X7NC8QK/inlinePolicy/AuthPerspectiveCognitoExecuteApiAndStorageBucket","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1830.5,"y":-2686.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-JU1L3C7AFM6Q","resourceId":["AROAQU6I6AO4ZLZKAQLKB","arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-JU1L3C7AFM6Q"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-JU1L3C7AFM6Q","title":"recipe-recommendation-engine-CodeBuildServiceRole-JU1L3C7AFM6Q","label":"recipe-recom...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-JU1L3C7AFM6Q","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO4ZLZKAQLKB","name":"recipe-recommendation-engine-CodeBuildServiceRole-JU1L3C7AFM6Q","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-JU1L3C7AFM6Q","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-JU1L3C7AFM6Q","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22codebuild.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO4ZLZKAQLKB\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"recipe-recommendation-engine-CodeBuildServiceRole-JU1L3C7AFM6Q\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-JU1L3C7AFM6Q\\\",\\\"createDate\\\":\\\"2021-10-11T15:27:51.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22ecr%3AGetDownloadUrlForLayer%22%2C%22ecr%3ABatchGetImage%22%2C%22ecr%3ABatchCheckLayerAvailability%22%2C%22ecr%3APutImage%22%2C%22ecr%3AInitiateLayerUpload%22%2C%22ecr%3AUploadLayerPart%22%2C%22ecr%3ACompleteLayerUpload%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Aecr%3Aus-west-2%3A044981683129%3Arepository%2Fretaildemostore%2Fvideos%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"ecr\\\"},{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22logs%3ACreateLogGroup%22%2C%22logs%3ACreateLogStream%22%2C%22logs%3APutLogEvents%22%2C%22ecr%3AGetAuthorizationToken%22%2C%22ssm%3AGetParameters%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"logs\\\"},{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22s3%3AGetObject%22%2C%22s3%3APutObject%22%2C%22s3%3AGetObjectVersion%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3As3%3A%3A%3Arecipe-recommendation-engine-servi-artifactbucket-12tq16rnvm7wc%2F%2A%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"S3\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO4ZLZKAQLKB","resourceName":"recipe-recommendation-engine-CodeBuildServiceRole-JU1L3C7AFM6Q","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"recipe-recommendation-engine-CodeBuildServiceRole-JU1L3C7AFM6Q","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":476.5,"y":-2321.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-JU1L3C7AFM6Q/inlinePolicy/ecr","resourceId":["arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-JU1L3C7AFM6Q/inlinePolicy/ecr","arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-JU1L3C7AFM6Q/inlinePolicy/ecr"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-JU1L3C7AFM6Q/inlinePolicy/ecr","title":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-JU1L3C7AFM6Q/inlinePolicy/ecr","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-JU1L3C7AFM6Q/inlinePolicy/ecr","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-JU1L3C7AFM6Q/inlinePolicy/ecr","name":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-JU1L3C7AFM6Q/inlinePolicy/ecr","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-JU1L3C7AFM6Q/inlinePolicy/ecr","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-JU1L3C7AFM6Q/inlinePolicy/ecr","configuration":"\"{\\\"policyName\\\":\\\"ecr\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"ecr:GetDownloadUrlForLayer\\\",\\\"ecr:BatchGetImage\\\",\\\"ecr:BatchCheckLayerAvailability\\\",\\\"ecr:PutImage\\\",\\\"ecr:InitiateLayerUpload\\\",\\\"ecr:UploadLayerPart\\\",\\\"ecr:CompleteLayerUpload\\\"],\\\"Resource\\\":\\\"arn:aws:ecr:us-west-2:044981683129:repository/retaildemostore/videos\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-JU1L3C7AFM6Q/inlinePolicy/ecr","resourceName":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-JU1L3C7AFM6Q/inlinePolicy/ecr","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-JU1L3C7AFM6Q/inlinePolicy/ecr","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1830.5,"y":-2613.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-JU1L3C7AFM6Q/inlinePolicy/logs","resourceId":["arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-JU1L3C7AFM6Q/inlinePolicy/logs","arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-JU1L3C7AFM6Q/inlinePolicy/logs"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-JU1L3C7AFM6Q/inlinePolicy/logs","title":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-JU1L3C7AFM6Q/inlinePolicy/logs","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-JU1L3C7AFM6Q/inlinePolicy/logs","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-JU1L3C7AFM6Q/inlinePolicy/logs","name":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-JU1L3C7AFM6Q/inlinePolicy/logs","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-JU1L3C7AFM6Q/inlinePolicy/logs","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-JU1L3C7AFM6Q/inlinePolicy/logs","configuration":"\"{\\\"policyName\\\":\\\"logs\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"logs:CreateLogGroup\\\",\\\"logs:CreateLogStream\\\",\\\"logs:PutLogEvents\\\",\\\"ecr:GetAuthorizationToken\\\",\\\"ssm:GetParameters\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-JU1L3C7AFM6Q/inlinePolicy/logs","resourceName":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-JU1L3C7AFM6Q/inlinePolicy/logs","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-JU1L3C7AFM6Q/inlinePolicy/logs","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1830.5,"y":-2540.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-JU1L3C7AFM6Q/inlinePolicy/S3","resourceId":["arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-JU1L3C7AFM6Q/inlinePolicy/S3","arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-JU1L3C7AFM6Q/inlinePolicy/S3"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-JU1L3C7AFM6Q/inlinePolicy/S3","title":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-JU1L3C7AFM6Q/inlinePolicy/S3","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-JU1L3C7AFM6Q/inlinePolicy/S3","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-JU1L3C7AFM6Q/inlinePolicy/S3","name":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-JU1L3C7AFM6Q/inlinePolicy/S3","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-JU1L3C7AFM6Q/inlinePolicy/S3","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-JU1L3C7AFM6Q/inlinePolicy/S3","configuration":"\"{\\\"policyName\\\":\\\"S3\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"s3:GetObject\\\",\\\"s3:PutObject\\\",\\\"s3:GetObjectVersion\\\"],\\\"Resource\\\":\\\"arn:aws:s3:::recipe-recommendation-engine-servi-artifactbucket-12tq16rnvm7wc/*\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-JU1L3C7AFM6Q/inlinePolicy/S3","resourceName":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-JU1L3C7AFM6Q/inlinePolicy/S3","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-JU1L3C7AFM6Q/inlinePolicy/S3","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1830.5,"y":-2467.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-1M6MQIBZNWT16","resourceId":["AROAQU6I6AO4ZBOVY62OE","arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-1M6MQIBZNWT16"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-1M6MQIBZNWT16","title":"retaildemostore-Services-1-CodePipelineServiceRole-1M6MQIBZNWT16","label":"retaildemost...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-1M6MQIBZNWT16","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO4ZBOVY62OE","name":"retaildemostore-Services-1-CodePipelineServiceRole-1M6MQIBZNWT16","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-1M6MQIBZNWT16","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-1M6MQIBZNWT16","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22codepipeline.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO4ZBOVY62OE\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"retaildemostore-Services-1-CodePipelineServiceRole-1M6MQIBZNWT16\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-1M6MQIBZNWT16\\\",\\\"createDate\\\":\\\"2021-10-22T12:09:35.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22s3%3APutObject%22%2C%22s3%3AGetObject%22%2C%22s3%3AGetObjectVersion%22%2C%22s3%3AGetBucketVersioning%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3As3%3A%3A%3Aretaildemostore-services-1wznopxsy-artifactbucket-12gnx6urasd41%2F%2A%22%2C%22arn%3Aaws%3As3%3A%3A%3Aretaildemostore-services-1wznopxsy-artifactbucket-12gnx6urasd41%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22codebuild%3AStartBuild%22%2C%22codebuild%3ABatchGetBuilds%22%2C%22iam%3APassRole%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22codecommit%3AGetBranch%22%2C%22codecommit%3AGetCommit%22%2C%22codecommit%3AUploadArchive%22%2C%22codecommit%3AGetUploadArchiveStatus%22%2C%22codecommit%3ACancelUploadArchive%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Acodecommit%3Aus-east-1%3A044981683129%3Aretaildemostore-src%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22ecs%3AList%2A%22%2C%22ecs%3ADescribe%2A%22%2C%22ecs%3ARegisterTaskDefinition%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22ecs%3AUpdateService%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Aecs%3Aus-east-1%3A044981683129%3Aservice%2Fretaildemostore-Base-193OEK9QLRBTZ-ECSCluster-PT0RYG11SI9K%2Fretaildemostore-Services-1WZNOPXSYAVK8-RecommendationsService-6KBI7H6Q835B-Service-84YVMPO5A7G6-FargateService-FiDzFGcTMAy1%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"root\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO4ZBOVY62OE","resourceName":"retaildemostore-Services-1-CodePipelineServiceRole-1M6MQIBZNWT16","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"retaildemostore-Services-1-CodePipelineServiceRole-1M6MQIBZNWT16","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":549.5,"y":-2321.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-1M6MQIBZNWT16/inlinePolicy/root","resourceId":["arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-1M6MQIBZNWT16/inlinePolicy/root","arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-1M6MQIBZNWT16/inlinePolicy/root"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-1M6MQIBZNWT16/inlinePolicy/root","title":"arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-1M6MQIBZNWT16/inlinePolicy/root","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-1M6MQIBZNWT16/inlinePolicy/root","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-1M6MQIBZNWT16/inlinePolicy/root","name":"arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-1M6MQIBZNWT16/inlinePolicy/root","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-1M6MQIBZNWT16/inlinePolicy/root","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-1M6MQIBZNWT16/inlinePolicy/root","configuration":"\"{\\\"policyName\\\":\\\"root\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"s3:PutObject\\\",\\\"s3:GetObject\\\",\\\"s3:GetObjectVersion\\\",\\\"s3:GetBucketVersioning\\\"],\\\"Resource\\\":[\\\"arn:aws:s3:::retaildemostore-services-1wznopxsy-artifactbucket-12gnx6urasd41/*\\\",\\\"arn:aws:s3:::retaildemostore-services-1wznopxsy-artifactbucket-12gnx6urasd41\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"codebuild:StartBuild\\\",\\\"codebuild:BatchGetBuilds\\\",\\\"iam:PassRole\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"codecommit:GetBranch\\\",\\\"codecommit:GetCommit\\\",\\\"codecommit:UploadArchive\\\",\\\"codecommit:GetUploadArchiveStatus\\\",\\\"codecommit:CancelUploadArchive\\\"],\\\"Resource\\\":\\\"arn:aws:codecommit:us-east-1:044981683129:retaildemostore-src\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"ecs:List*\\\",\\\"ecs:Describe*\\\",\\\"ecs:RegisterTaskDefinition\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"ecs:UpdateService\\\"],\\\"Resource\\\":\\\"arn:aws:ecs:us-east-1:044981683129:service/retaildemostore-Base-193OEK9QLRBTZ-ECSCluster-PT0RYG11SI9K/retaildemostore-Services-1WZNOPXSYAVK8-RecommendationsService-6KBI7H6Q835B-Service-84YVMPO5A7G6-FargateService-FiDzFGcTMAy1\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-1M6MQIBZNWT16/inlinePolicy/root","resourceName":"arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-1M6MQIBZNWT16/inlinePolicy/root","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-1M6MQIBZNWT16/inlinePolicy/root","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1830.5,"y":-2394.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/service-role/lambda","resourceId":["AROAQU6I6AO4ZV7NCFJER","arn:aws:iam::044981683129:role/service-role/lambda"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/service-role/lambda","title":"lambda","label":"lambda","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/service-role/lambda","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO4ZV7NCFJER","name":"lambda","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/service-role/lambda","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/service-role/lambda","configuration":"\"{\\\"path\\\":\\\"/service-role/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22lambda.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO4ZV7NCFJER\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/service-role/AWSLambdaKinesisExecutionRole\\\",\\\"policyName\\\":\\\"AWSLambdaKinesisExecutionRole\\\"},{\\\"policyArn\\\":\\\"arn:aws:iam::044981683129:policy/service-role/AWSLambdaBasicExecutionRole-06d5ec9a-239f-41f4-bc85-a307723168d4\\\",\\\"policyName\\\":\\\"AWSLambdaBasicExecutionRole-06d5ec9a-239f-41f4-bc85-a307723168d4\\\"},{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/service-role/AmazonS3ObjectLambdaExecutionRolePolicy\\\",\\\"policyName\\\":\\\"AmazonS3ObjectLambdaExecutionRolePolicy\\\"}],\\\"roleName\\\":\\\"lambda\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/service-role/lambda\\\",\\\"createDate\\\":\\\"2022-04-07T14:49:30.000Z\\\",\\\"rolePolicyList\\\":[],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO4ZV7NCFJER","resourceName":"lambda","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"lambda","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":622.5,"y":-2321.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:policy/service-role/AWSLambdaBasicExecutionRole-06d5ec9a-239f-41f4-bc85-a307723168d4","resourceId":["ANPAQU6I6AO456NPFSDUH","arn:aws:iam::044981683129:policy/service-role/AWSLambdaBasicExecutionRole-06d5ec9a-239f-41f4-bc85-a307723168d4"],"parent":"Policy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:policy/service-role/AWSLambdaBasicExecutionRole-06d5ec9a-239f-41f4-bc85-a307723168d4","title":"AWSLambdaBasicExecutionRole-06d5ec9a-239f-41f4-bc85-a307723168d4","label":"AWSLambdaBas...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:policy/service-role/AWSLambdaBasicExecutionRole-06d5ec9a-239f-41f4-bc85-a307723168d4","image":"/icons/IAM_Policy.svg","cost":0,"private":false,"resource":{"id":"ANPAQU6I6AO456NPFSDUH","name":"AWSLambdaBasicExecutionRole-06d5ec9a-239f-41f4-bc85-a307723168d4","value":null,"type":"AWS::IAM::Policy","tags":"[]","arn":"arn:aws:iam::044981683129:policy/service-role/AWSLambdaBasicExecutionRole-06d5ec9a-239f-41f4-bc85-a307723168d4","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/policies","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/policies","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:policy/service-role/AWSLambdaBasicExecutionRole-06d5ec9a-239f-41f4-bc85-a307723168d4","configuration":"\"{\\\"permissionsBoundaryUsageCount\\\":0,\\\"policyVersionList\\\":[{\\\"versionId\\\":\\\"v1\\\",\\\"isDefaultVersion\\\":true,\\\"document\\\":\\\"%7B%0A%20%20%20%20%22Version%22%3A%20%222012-10-17%22%2C%0A%20%20%20%20%22Statement%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Effect%22%3A%20%22Allow%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Action%22%3A%20%22logs%3ACreateLogGroup%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Resource%22%3A%20%22arn%3Aaws%3Alogs%3Aeu-west-2%3A044981683129%3A%2A%22%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Effect%22%3A%20%22Allow%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Action%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22logs%3ACreateLogStream%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22logs%3APutLogEvents%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Resource%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22arn%3Aaws%3Alogs%3Aeu-west-2%3A044981683129%3Alog-group%3A%2Faws%2Flambda%2Fefs%3A%2A%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%5D%0A%7D\\\",\\\"createDate\\\":\\\"2022-04-07T14:49:30.000Z\\\"}],\\\"path\\\":\\\"/service-role/\\\",\\\"updateDate\\\":\\\"2022-04-07T14:49:30.000Z\\\",\\\"policyId\\\":\\\"ANPAQU6I6AO456NPFSDUH\\\",\\\"defaultVersionId\\\":\\\"v1\\\",\\\"policyName\\\":\\\"AWSLambdaBasicExecutionRole-06d5ec9a-239f-41f4-bc85-a307723168d4\\\",\\\"isAttachable\\\":true,\\\"attachmentCount\\\":1,\\\"arn\\\":\\\"arn:aws:iam::044981683129:policy/service-role/AWSLambdaBasicExecutionRole-06d5ec9a-239f-41f4-bc85-a307723168d4\\\",\\\"createDate\\\":\\\"2022-04-07T14:49:30.000Z\\\"}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/policies","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/policies","private":null,"resourceId":"ANPAQU6I6AO456NPFSDUH","resourceName":"AWSLambdaBasicExecutionRole-06d5ec9a-239f-41f4-bc85-a307723168d4","resourceType":"AWS::IAM::Policy","resourceValue":null,"state":null,"tags":"[]","title":"AWSLambdaBasicExecutionRole-06d5ec9a-239f-41f4-bc85-a307723168d4","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1027.5,"y":-1826.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/aws-service-role/elasticfilesystem.amazonaws.com/AWSServiceRoleForAmazonElasticFileSystem","resourceId":["AROAQU6I6AO4YI7ILX44E","arn:aws:iam::044981683129:role/aws-service-role/elasticfilesystem.amazonaws.com/AWSServiceRoleForAmazonElasticFileSystem"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/aws-service-role/elasticfilesystem.amazonaws.com/AWSServiceRoleForAmazonElasticFileSystem","title":"AWSServiceRoleForAmazonElasticFileSystem","label":"AWSServiceRo...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/aws-service-role/elasticfilesystem.amazonaws.com/AWSServiceRoleForAmazonElasticFileSystem","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO4YI7ILX44E","name":"AWSServiceRoleForAmazonElasticFileSystem","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/aws-service-role/elasticfilesystem.amazonaws.com/AWSServiceRoleForAmazonElasticFileSystem","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/aws-service-role/elasticfilesystem.amazonaws.com/AWSServiceRoleForAmazonElasticFileSystem","configuration":"\"{\\\"path\\\":\\\"/aws-service-role/elasticfilesystem.amazonaws.com/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22elasticfilesystem.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO4YI7ILX44E\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/aws-service-role/AmazonElasticFileSystemServiceRolePolicy\\\",\\\"policyName\\\":\\\"AmazonElasticFileSystemServiceRolePolicy\\\"}],\\\"roleName\\\":\\\"AWSServiceRoleForAmazonElasticFileSystem\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/aws-service-role/elasticfilesystem.amazonaws.com/AWSServiceRoleForAmazonElasticFileSystem\\\",\\\"createDate\\\":\\\"2022-04-05T10:26:00.000Z\\\",\\\"rolePolicyList\\\":[],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO4YI7ILX44E","resourceName":"AWSServiceRoleForAmazonElasticFileSystem","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"AWSServiceRoleForAmazonElasticFileSystem","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":695.5,"y":-2321.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349","resourceId":["AROAQU6I6AO43NF4FODBE","arn:aws:iam::044981683129:role/recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349","title":"recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349","label":"recipe-recom...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO43NF4FODBE","name":"recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222008-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22ecs-tasks.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO43NF4FODBE\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/AWSCloudMapDiscoverInstanceAccess\\\",\\\"policyName\\\":\\\"AWSCloudMapDiscoverInstanceAccess\\\"}],\\\"roleName\\\":\\\"recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349\\\",\\\"createDate\\\":\\\"2021-10-11T15:25:29.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22dynamodb%3A%2A%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Adynamodb%3Aus-west-2%3A044981683129%3Atable%2Frecipe-recommendation-engine-Base-CSDRI4WSHM46-Tables-YOKRY1DJKI1G-ProductsTable-1GJHE5ICRL1C4%22%2C%22arn%3Aaws%3Adynamodb%3Aus-west-2%3A044981683129%3Atable%2Frecipe-recommendation-engine-Base-CSDRI4WSHM46-Tables-YOKRY1DJKI1G-CategoriesTable-16UJSCA6IA4TB%22%2C%22arn%3Aaws%3Adynamodb%3Aus-west-2%3A044981683129%3Atable%2Frecipe-recommendation-engine-Base-CSDRI4WSHM46-Tables-YOKRY1DJKI1G-ExperimentStrategyTable-1QM20QBCXO0BA%22%2C%22arn%3Aaws%3Adynamodb%3Aus-west-2%3A044981683129%3Atable%2Frecipe-recommendation-engine-Base-CSDRI4WSHM46-Tables-YOKRY1DJKI1G-ProductsTable-1GJHE5ICRL1C4%2Findex%2F%2A%22%2C%22arn%3Aaws%3Adynamodb%3Aus-west-2%3A044981683129%3Atable%2Frecipe-recommendation-engine-Base-CSDRI4WSHM46-Tables-YOKRY1DJKI1G-CategoriesTable-16UJSCA6IA4TB%2Findex%2F%2A%22%2C%22arn%3Aaws%3Adynamodb%3Aus-west-2%3A044981683129%3Atable%2Frecipe-recommendation-engine-Base-CSDRI4WSHM46-Tables-YOKRY1DJKI1G-ExperimentStrategyTable-1QM20QBCXO0BA%2Findex%2F%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"DynamoDB\\\"},{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22ssm%3A%2A%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Assm%3Aus-west-2%3A044981683129%3Aparameter%2Fretaildemostore-%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22logs%3ACreateLogGroup%22%2C%22logs%3ACreateLogStream%22%2C%22logs%3APutLogEvents%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22personalize%3ACreateSchema%22%2C%22personalize%3ACreateDatasetGroup%22%2C%22personalize%3ACreateSolutionVersion%22%2C%22personalize%3ACreateDatasetImportJob%22%2C%22personalize%3ACreateSolution%22%2C%22personalize%3ADescribeDatasetGroup%22%2C%22personalize%3ADescribeDatasetImportJob%22%2C%22personalize%3ADescribeSolution%22%2C%22personalize%3ADescribeSolutionVersion%22%2C%22personalize%3ADescribeEventTracker%22%2C%22personalize%3ADescribeCampaign%22%2C%22personalize%3ACreateCampaign%22%2C%22personalize%3ACreateDataset%22%2C%22personalize%3ACreateEventTracker%22%2C%22personalize%3ACreateFilter%22%2C%22personalize%3AGetPersonalizedRanking%22%2C%22personalize%3AGetRecommendations%22%2C%22personalize%3ADeleteEventTracker%22%2C%22personalize%3ADescribeEventTracker%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Apersonalize%3Aus-west-2%3A044981683129%3A%2A%2Fretaildemostore%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22personalize%3AListCampaigns%22%2C%22personalize%3AListDatasetGroups%22%2C%22personalize%3AListSolutions%22%2C%22personalize%3AListSchemas%22%2C%22personalize%3AListSolutionVersions%22%2C%22personalize%3AListDatasetImportJobs%22%2C%22personalize%3AListDatasets%22%2C%22personalize%3AListEventTrackers%22%5D%2C%22Resource%22%3A%5B%22%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22s3%3AGetObject%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3As3%3A%3A%3Asvozza-local-us-west-2%22%2C%22arn%3Aaws%3As3%3A%3A%3Asvozza-local-us-west-2%2F%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22ivs%3AListStreamKeys%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Aivs%3Aus-west-2%3A044981683129%3A%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22ivs%3AGetChannel%22%2C%22ivs%3AGetStream%22%2C%22ivs%3APutMetadata%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Aivs%3Aus-west-2%3A044981683129%3Achannel%2F%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22ivs%3AGetStreamKey%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Aivs%3Aus-west-2%3A044981683129%3Astream-key%2F%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22events%3APutEvents%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Aevents%3Aus-west-2%3A044981683129%3Aevent-bus%2F%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22events%3ADescribeRule%22%2C%22events%3AListRules%22%2C%22events%3AEnableRule%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Aevents%3Aus-west-2%3A044981683129%3Arule%2FRetailDemoStore-PersonalizePreCreateScheduledRule%22%5D%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"others\\\"},{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22mobiletargeting%3ASendMessages%22%2C%22mobiletargeting%3AGetEndpoint%22%2C%22mobiletargeting%3AUpdateEndpoint%22%2C%22mobiletargeting%3APutEvents%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Amobiletargeting%3Aus-west-2%3A044981683129%3Aapps%2F%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22mobiletargeting%3APhoneNumberValidate%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Amobiletargeting%3Aus-west-2%3A044981683129%3Aphone%2Fnumber%2Fvalidate%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"PinpointSMS\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO43NF4FODBE","resourceName":"recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":768.5,"y":-2321.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349/inlinePolicy/DynamoDB","resourceId":["arn:aws:iam::044981683129:role/recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349/inlinePolicy/DynamoDB","arn:aws:iam::044981683129:role/recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349/inlinePolicy/DynamoDB"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349/inlinePolicy/DynamoDB","title":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349/inlinePolicy/DynamoDB","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349/inlinePolicy/DynamoDB","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349/inlinePolicy/DynamoDB","name":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349/inlinePolicy/DynamoDB","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349/inlinePolicy/DynamoDB","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349/inlinePolicy/DynamoDB","configuration":"\"{\\\"policyName\\\":\\\"DynamoDB\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"dynamodb:*\\\"],\\\"Resource\\\":[\\\"arn:aws:dynamodb:us-west-2:044981683129:table/recipe-recommendation-engine-Base-CSDRI4WSHM46-Tables-YOKRY1DJKI1G-ProductsTable-1GJHE5ICRL1C4\\\",\\\"arn:aws:dynamodb:us-west-2:044981683129:table/recipe-recommendation-engine-Base-CSDRI4WSHM46-Tables-YOKRY1DJKI1G-CategoriesTable-16UJSCA6IA4TB\\\",\\\"arn:aws:dynamodb:us-west-2:044981683129:table/recipe-recommendation-engine-Base-CSDRI4WSHM46-Tables-YOKRY1DJKI1G-ExperimentStrategyTable-1QM20QBCXO0BA\\\",\\\"arn:aws:dynamodb:us-west-2:044981683129:table/recipe-recommendation-engine-Base-CSDRI4WSHM46-Tables-YOKRY1DJKI1G-ProductsTable-1GJHE5ICRL1C4/index/*\\\",\\\"arn:aws:dynamodb:us-west-2:044981683129:table/recipe-recommendation-engine-Base-CSDRI4WSHM46-Tables-YOKRY1DJKI1G-CategoriesTable-16UJSCA6IA4TB/index/*\\\",\\\"arn:aws:dynamodb:us-west-2:044981683129:table/recipe-recommendation-engine-Base-CSDRI4WSHM46-Tables-YOKRY1DJKI1G-ExperimentStrategyTable-1QM20QBCXO0BA/index/*\\\"],\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349/inlinePolicy/DynamoDB","resourceName":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349/inlinePolicy/DynamoDB","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349/inlinePolicy/DynamoDB","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1392.5,"y":-2321.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349/inlinePolicy/others","resourceId":["arn:aws:iam::044981683129:role/recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349/inlinePolicy/others","arn:aws:iam::044981683129:role/recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349/inlinePolicy/others"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349/inlinePolicy/others","title":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349/inlinePolicy/others","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349/inlinePolicy/others","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349/inlinePolicy/others","name":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349/inlinePolicy/others","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349/inlinePolicy/others","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349/inlinePolicy/others","configuration":"\"{\\\"policyName\\\":\\\"others\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"ssm:*\\\"],\\\"Resource\\\":\\\"arn:aws:ssm:us-west-2:044981683129:parameter/retaildemostore-*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"logs:CreateLogGroup\\\",\\\"logs:CreateLogStream\\\",\\\"logs:PutLogEvents\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"personalize:CreateSchema\\\",\\\"personalize:CreateDatasetGroup\\\",\\\"personalize:CreateSolutionVersion\\\",\\\"personalize:CreateDatasetImportJob\\\",\\\"personalize:CreateSolution\\\",\\\"personalize:DescribeDatasetGroup\\\",\\\"personalize:DescribeDatasetImportJob\\\",\\\"personalize:DescribeSolution\\\",\\\"personalize:DescribeSolutionVersion\\\",\\\"personalize:DescribeEventTracker\\\",\\\"personalize:DescribeCampaign\\\",\\\"personalize:CreateCampaign\\\",\\\"personalize:CreateDataset\\\",\\\"personalize:CreateEventTracker\\\",\\\"personalize:CreateFilter\\\",\\\"personalize:GetPersonalizedRanking\\\",\\\"personalize:GetRecommendations\\\",\\\"personalize:DeleteEventTracker\\\",\\\"personalize:DescribeEventTracker\\\"],\\\"Resource\\\":[\\\"arn:aws:personalize:us-west-2:044981683129:*/retaildemostore*\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"personalize:ListCampaigns\\\",\\\"personalize:ListDatasetGroups\\\",\\\"personalize:ListSolutions\\\",\\\"personalize:ListSchemas\\\",\\\"personalize:ListSolutionVersions\\\",\\\"personalize:ListDatasetImportJobs\\\",\\\"personalize:ListDatasets\\\",\\\"personalize:ListEventTrackers\\\"],\\\"Resource\\\":[\\\"*\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"s3:GetObject\\\"],\\\"Resource\\\":[\\\"arn:aws:s3:::svozza-local-us-west-2\\\",\\\"arn:aws:s3:::svozza-local-us-west-2/*\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"ivs:ListStreamKeys\\\"],\\\"Resource\\\":[\\\"arn:aws:ivs:us-west-2:044981683129:*\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"ivs:GetChannel\\\",\\\"ivs:GetStream\\\",\\\"ivs:PutMetadata\\\"],\\\"Resource\\\":[\\\"arn:aws:ivs:us-west-2:044981683129:channel/*\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"ivs:GetStreamKey\\\"],\\\"Resource\\\":[\\\"arn:aws:ivs:us-west-2:044981683129:stream-key/*\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"events:PutEvents\\\"],\\\"Resource\\\":[\\\"arn:aws:events:us-west-2:044981683129:event-bus/*\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"events:DescribeRule\\\",\\\"events:ListRules\\\",\\\"events:EnableRule\\\"],\\\"Resource\\\":[\\\"arn:aws:events:us-west-2:044981683129:rule/RetailDemoStore-PersonalizePreCreateScheduledRule\\\"],\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349/inlinePolicy/others","resourceName":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349/inlinePolicy/others","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349/inlinePolicy/others","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1465.5,"y":-2321.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349/inlinePolicy/PinpointSMS","resourceId":["arn:aws:iam::044981683129:role/recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349/inlinePolicy/PinpointSMS","arn:aws:iam::044981683129:role/recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349/inlinePolicy/PinpointSMS"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349/inlinePolicy/PinpointSMS","title":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349/inlinePolicy/PinpointSMS","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349/inlinePolicy/PinpointSMS","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349/inlinePolicy/PinpointSMS","name":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349/inlinePolicy/PinpointSMS","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349/inlinePolicy/PinpointSMS","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349/inlinePolicy/PinpointSMS","configuration":"\"{\\\"policyName\\\":\\\"PinpointSMS\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"mobiletargeting:SendMessages\\\",\\\"mobiletargeting:GetEndpoint\\\",\\\"mobiletargeting:UpdateEndpoint\\\",\\\"mobiletargeting:PutEvents\\\"],\\\"Resource\\\":\\\"arn:aws:mobiletargeting:us-west-2:044981683129:apps/*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"mobiletargeting:PhoneNumberValidate\\\"],\\\"Resource\\\":\\\"arn:aws:mobiletargeting:us-west-2:044981683129:phone/number/validate\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349/inlinePolicy/PinpointSMS","resourceName":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349/inlinePolicy/PinpointSMS","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349/inlinePolicy/PinpointSMS","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1538.5,"y":-2321.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/recipe-recommendation-engi-CodePipelineServiceRole-1N0H1KT4FB3U7/inlinePolicy/root","resourceId":["arn:aws:iam::044981683129:role/recipe-recommendation-engi-CodePipelineServiceRole-1N0H1KT4FB3U7/inlinePolicy/root","arn:aws:iam::044981683129:role/recipe-recommendation-engi-CodePipelineServiceRole-1N0H1KT4FB3U7/inlinePolicy/root"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/recipe-recommendation-engi-CodePipelineServiceRole-1N0H1KT4FB3U7/inlinePolicy/root","title":"arn:aws:iam::044981683129:role/recipe-recommendation-engi-CodePipelineServiceRole-1N0H1KT4FB3U7/inlinePolicy/root","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/recipe-recommendation-engi-CodePipelineServiceRole-1N0H1KT4FB3U7/inlinePolicy/root","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/recipe-recommendation-engi-CodePipelineServiceRole-1N0H1KT4FB3U7/inlinePolicy/root","name":"arn:aws:iam::044981683129:role/recipe-recommendation-engi-CodePipelineServiceRole-1N0H1KT4FB3U7/inlinePolicy/root","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/recipe-recommendation-engi-CodePipelineServiceRole-1N0H1KT4FB3U7/inlinePolicy/root","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/recipe-recommendation-engi-CodePipelineServiceRole-1N0H1KT4FB3U7/inlinePolicy/root","configuration":"\"{\\\"policyName\\\":\\\"root\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"s3:PutObject\\\",\\\"s3:GetObject\\\",\\\"s3:GetObjectVersion\\\",\\\"s3:GetBucketVersioning\\\"],\\\"Resource\\\":[\\\"arn:aws:s3:::recipe-recommendation-engine-servi-artifactbucket-1284xpmgt3gem/*\\\",\\\"arn:aws:s3:::recipe-recommendation-engine-servi-artifactbucket-1284xpmgt3gem\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"codebuild:StartBuild\\\",\\\"codebuild:BatchGetBuilds\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"iam:PassRole\\\"],\\\"Resource\\\":[\\\"arn:aws:iam::044981683129:role/recipe-recommendation-engine-Ser-TaskExecutionRole-1A649O9KHT1GD\\\",\\\"arn:aws:iam::044981683129:role/recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"codecommit:GetBranch\\\",\\\"codecommit:GetCommit\\\",\\\"codecommit:UploadArchive\\\",\\\"codecommit:GetUploadArchiveStatus\\\",\\\"codecommit:CancelUploadArchive\\\"],\\\"Resource\\\":\\\"arn:aws:codecommit:us-west-2:044981683129:retaildemostore-src\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"ecs:List*\\\",\\\"ecs:Describe*\\\",\\\"ecs:RegisterTaskDefinition\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"ecs:UpdateService\\\"],\\\"Resource\\\":\\\"arn:aws:ecs:us-west-2:044981683129:service/recipe-recommendation-engine-Base-CSDRI4WSHM46-ECSCluster-1UAOZQJ1NAUBZ/recipe-recommendation-engine-Services-6U8QBQDBXTCH-RecommendationsService-18CG-Service-187PV01E2GPPN-FargateService-GJZfzBE3E2kd\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/recipe-recommendation-engi-CodePipelineServiceRole-1N0H1KT4FB3U7/inlinePolicy/root","resourceName":"arn:aws:iam::044981683129:role/recipe-recommendation-engi-CodePipelineServiceRole-1N0H1KT4FB3U7/inlinePolicy/root","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/recipe-recommendation-engi-CodePipelineServiceRole-1N0H1KT4FB3U7/inlinePolicy/root","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1611.5,"y":-2321.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/aws-perspective-CleanupBucketFunctionRole-BYTFSL0AN3Y6","resourceId":["AROAQU6I6AO43VTM3NKFV","arn:aws:iam::044981683129:role/aws-perspective-CleanupBucketFunctionRole-BYTFSL0AN3Y6"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/aws-perspective-CleanupBucketFunctionRole-BYTFSL0AN3Y6","title":"aws-perspective-CleanupBucketFunctionRole-BYTFSL0AN3Y6","label":"aws-perspect...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/aws-perspective-CleanupBucketFunctionRole-BYTFSL0AN3Y6","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO43VTM3NKFV","name":"aws-perspective-CleanupBucketFunctionRole-BYTFSL0AN3Y6","value":null,"type":"AWS::IAM::Role","tags":"[{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"}]","arn":"arn:aws:iam::044981683129:role/aws-perspective-CleanupBucketFunctionRole-BYTFSL0AN3Y6","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/aws-perspective-CleanupBucketFunctionRole-BYTFSL0AN3Y6","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22lambda.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO43VTM3NKFV\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole\\\",\\\"policyName\\\":\\\"AWSLambdaBasicExecutionRole\\\"}],\\\"roleName\\\":\\\"aws-perspective-CleanupBucketFunctionRole-BYTFSL0AN3Y6\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/aws-perspective-CleanupBucketFunctionRole-BYTFSL0AN3Y6\\\",\\\"createDate\\\":\\\"2021-10-15T12:56:23.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22s3%3ADeleteObject%2A%22%2C%22s3%3AListBucket%2A%22%2C%22s3%3AListObject%2A%22%2C%22s3%3APutBucketLogging%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3As3%3A%3A%3Aaws-perspective-webuibucket-1xg1kbrsayiy2%22%2C%22arn%3Aaws%3As3%3A%3A%3Aaws-perspective-webuibucket-1xg1kbrsayiy2%2F%2A%22%2C%22arn%3Aaws%3As3%3A%3A%3Aaws-perspective-discoverybucket-1y17wzr0o1akl%22%2C%22arn%3Aaws%3As3%3A%3A%3Aaws-perspective-discoverybucket-1y17wzr0o1akl%2F%2A%22%2C%22arn%3Aaws%3As3%3A%3A%3Aaws-perspective-amplifystoragebucket-xvudslngfvih%22%2C%22arn%3Aaws%3As3%3A%3A%3Aaws-perspective-amplifystoragebucket-xvudslngfvih%2F%2A%22%2C%22arn%3Aaws%3As3%3A%3A%3Aaws-perspective-044981683129-eu-west-1-cost-bucket%22%2C%22arn%3Aaws%3As3%3A%3A%3Aaws-perspective-044981683129-eu-west-1-cost-bucket%2F%2A%22%2C%22arn%3Aaws%3As3%3A%3A%3Aaws-perspective-costandusagereportbucket-8bba93lxdd1n%22%2C%22arn%3Aaws%3As3%3A%3A%3Aaws-perspective-costandusagereportbucket-8bba93lxdd1n%2F%2A%22%2C%22arn%3Aaws%3As3%3A%3A%3Aaws-perspective-costandusageathenaresultsbucket-1u33hvn4558ju%22%2C%22arn%3Aaws%3As3%3A%3A%3Aaws-perspective-costandusageathenaresultsbucket-1u33hvn4558ju%2F%2A%22%2C%22arn%3Aaws%3As3%3A%3A%3Aaws-perspective-accesslogsbucket-sfp4f7uopjd2%22%2C%22arn%3Aaws%3As3%3A%3A%3Aaws-perspective-accesslogsbucket-sfp4f7uopjd2%2F%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"CleanupBucketFunctionRolePolicy0\\\"}],\\\"tags\\\":[{\\\"value\\\":\\\"SAM\\\",\\\"key\\\":\\\"lambda:createdBy\\\"}]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO43VTM3NKFV","resourceName":"aws-perspective-CleanupBucketFunctionRole-BYTFSL0AN3Y6","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"}]","title":"aws-perspective-CleanupBucketFunctionRole-BYTFSL0AN3Y6","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":841.5,"y":-2321.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/aws-perspective-CleanupBucketFunctionRole-BYTFSL0AN3Y6/inlinePolicy/CleanupBucketFunctionRolePolicy0","resourceId":["arn:aws:iam::044981683129:role/aws-perspective-CleanupBucketFunctionRole-BYTFSL0AN3Y6/inlinePolicy/CleanupBucketFunctionRolePolicy0","arn:aws:iam::044981683129:role/aws-perspective-CleanupBucketFunctionRole-BYTFSL0AN3Y6/inlinePolicy/CleanupBucketFunctionRolePolicy0"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/aws-perspective-CleanupBucketFunctionRole-BYTFSL0AN3Y6/inlinePolicy/CleanupBucketFunctionRolePolicy0","title":"arn:aws:iam::044981683129:role/aws-perspective-CleanupBucketFunctionRole-BYTFSL0AN3Y6/inlinePolicy/CleanupBucketFunctionRolePolicy0","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/aws-perspective-CleanupBucketFunctionRole-BYTFSL0AN3Y6/inlinePolicy/CleanupBucketFunctionRolePolicy0","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/aws-perspective-CleanupBucketFunctionRole-BYTFSL0AN3Y6/inlinePolicy/CleanupBucketFunctionRolePolicy0","name":"arn:aws:iam::044981683129:role/aws-perspective-CleanupBucketFunctionRole-BYTFSL0AN3Y6/inlinePolicy/CleanupBucketFunctionRolePolicy0","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/aws-perspective-CleanupBucketFunctionRole-BYTFSL0AN3Y6/inlinePolicy/CleanupBucketFunctionRolePolicy0","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/aws-perspective-CleanupBucketFunctionRole-BYTFSL0AN3Y6/inlinePolicy/CleanupBucketFunctionRolePolicy0","configuration":"\"{\\\"policyName\\\":\\\"CleanupBucketFunctionRolePolicy0\\\",\\\"policyDocument\\\":{\\\"Statement\\\":[{\\\"Action\\\":[\\\"s3:DeleteObject*\\\",\\\"s3:ListBucket*\\\",\\\"s3:ListObject*\\\",\\\"s3:PutBucketLogging\\\"],\\\"Resource\\\":[\\\"arn:aws:s3:::aws-perspective-webuibucket-1xg1kbrsayiy2\\\",\\\"arn:aws:s3:::aws-perspective-webuibucket-1xg1kbrsayiy2/*\\\",\\\"arn:aws:s3:::aws-perspective-discoverybucket-1y17wzr0o1akl\\\",\\\"arn:aws:s3:::aws-perspective-discoverybucket-1y17wzr0o1akl/*\\\",\\\"arn:aws:s3:::aws-perspective-amplifystoragebucket-xvudslngfvih\\\",\\\"arn:aws:s3:::aws-perspective-amplifystoragebucket-xvudslngfvih/*\\\",\\\"arn:aws:s3:::aws-perspective-044981683129-eu-west-1-cost-bucket\\\",\\\"arn:aws:s3:::aws-perspective-044981683129-eu-west-1-cost-bucket/*\\\",\\\"arn:aws:s3:::aws-perspective-costandusagereportbucket-8bba93lxdd1n\\\",\\\"arn:aws:s3:::aws-perspective-costandusagereportbucket-8bba93lxdd1n/*\\\",\\\"arn:aws:s3:::aws-perspective-costandusageathenaresultsbucket-1u33hvn4558ju\\\",\\\"arn:aws:s3:::aws-perspective-costandusageathenaresultsbucket-1u33hvn4558ju/*\\\",\\\"arn:aws:s3:::aws-perspective-accesslogsbucket-sfp4f7uopjd2\\\",\\\"arn:aws:s3:::aws-perspective-accesslogsbucket-sfp4f7uopjd2/*\\\"],\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/aws-perspective-CleanupBucketFunctionRole-BYTFSL0AN3Y6/inlinePolicy/CleanupBucketFunctionRolePolicy0","resourceName":"arn:aws:iam::044981683129:role/aws-perspective-CleanupBucketFunctionRole-BYTFSL0AN3Y6/inlinePolicy/CleanupBucketFunctionRolePolicy0","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/aws-perspective-CleanupBucketFunctionRole-BYTFSL0AN3Y6/inlinePolicy/CleanupBucketFunctionRolePolicy0","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1684.5,"y":-2321.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:lambda:eu-west-1:044981683129:function:aws-perspective-CleanupBucketFunction-HY5ym4NyGkH2","resourceId":["aws-perspective-CleanupBucketFunction-HY5ym4NyGkH2","arn:aws:lambda:eu-west-1:044981683129:function:aws-perspective-CleanupBucketFunction-HY5ym4NyGkH2"],"parent":"Function-eu-west-1-044981683129","level":3,"id":"arn:aws:lambda:eu-west-1:044981683129:function:aws-perspective-CleanupBucketFunction-HY5ym4NyGkH2","title":"aws-perspective-CleanupBucketFunction-HY5ym4NyGkH2","label":"aws-perspect...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:lambda:eu-west-1:044981683129:function:aws-perspective-CleanupBucketFunction-HY5ym4NyGkH2","image":"/icons/AWS-Lambda-menu.svg","cost":0,"private":false,"resource":{"id":"aws-perspective-CleanupBucketFunction-HY5ym4NyGkH2","name":"aws-perspective-CleanupBucketFunction-HY5ym4NyGkH2","value":null,"type":"AWS::Lambda::Function","tags":"[{\"tag\":\"aws:cloudformation:stack-name=aws-perspective\",\"value\":\"aws-perspective\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective/240c8c70-2db7-11ec-a1f2-0aa3690e772d\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective/240c8c70-2db7-11ec-a1f2-0aa3690e772d\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=CleanupBucketFunction\",\"value\":\"CleanupBucketFunction\",\"key\":\"aws:cloudformation:logical-id\"}]","arn":"arn:aws:lambda:eu-west-1:044981683129:function:aws-perspective-CleanupBucketFunction-HY5ym4NyGkH2","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/lambda/home?region=eu-west-1#/functions/aws-perspective-CleanupBucketFunction-HY5ym4NyGkH2?tab=graph","loginURL":"https://044981683129.signin.aws.amazon.com/console/lambda?region=eu-west-1#/functions/aws-perspective-CleanupBucketFunction-HY5ym4NyGkH2?tab=graph","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:lambda:eu-west-1:044981683129:function:aws-perspective-CleanupBucketFunction-HY5ym4NyGkH2","configuration":"\"{\\\"architectures\\\":[\\\"x86_64\\\"],\\\"ephemeralStorage\\\":{\\\"size\\\":512},\\\"handler\\\":\\\"cleanup_bucket.handler\\\",\\\"role\\\":\\\"arn:aws:iam::044981683129:role/aws-perspective-CleanupBucketFunctionRole-BYTFSL0AN3Y6\\\",\\\"functionName\\\":\\\"aws-perspective-CleanupBucketFunction-HY5ym4NyGkH2\\\",\\\"tracingConfig\\\":{\\\"mode\\\":\\\"PassThrough\\\"},\\\"runtime\\\":\\\"python3.8\\\",\\\"description\\\":\\\"Custom Lambda resource for emptying S3 buckets on stack deletion\\\",\\\"runtimeVersionConfig\\\":{\\\"runtimeVersionArn\\\":\\\"arn:aws:lambda:eu-west-1::runtime:04f6192b7b9a4ad9cb43dc886a5f54868659e182e648f96d6f631cc0cbff8a68\\\"},\\\"codeSize\\\":8773557,\\\"version\\\":\\\"$LATEST\\\",\\\"packageType\\\":\\\"Zip\\\",\\\"timeout\\\":900,\\\"revisionId\\\":\\\"bc54d75e-5f99-4949-a814-141d7a0d8c7e\\\",\\\"codeSha256\\\":\\\"StSgEm7Qa2JwHmBxAjuqzgSF0JwDFhijiEQCPhH6aH0=\\\",\\\"memorySize\\\":128,\\\"fileSystemConfigs\\\":[],\\\"vpcConfig\\\":{\\\"securityGroupIds\\\":[],\\\"subnetIds\\\":[]},\\\"lastUpdateStatus\\\":\\\"Successful\\\",\\\"layers\\\":[],\\\"snapStart\\\":{\\\"applyOn\\\":\\\"None\\\",\\\"optimizationStatus\\\":\\\"Off\\\"},\\\"lastModified\\\":\\\"2022-01-18T19:05:02.000+0000\\\",\\\"state\\\":{\\\"value\\\":\\\"Active\\\"},\\\"functionArn\\\":\\\"arn:aws:lambda:eu-west-1:044981683129:function:aws-perspective-CleanupBucketFunction-HY5ym4NyGkH2\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/lambda/home?region=eu-west-1#/functions/aws-perspective-CleanupBucketFunction-HY5ym4NyGkH2?tab=graph","loginURL":"https://044981683129.signin.aws.amazon.com/console/lambda?region=eu-west-1#/functions/aws-perspective-CleanupBucketFunction-HY5ym4NyGkH2?tab=graph","private":null,"resourceId":"aws-perspective-CleanupBucketFunction-HY5ym4NyGkH2","resourceName":"aws-perspective-CleanupBucketFunction-HY5ym4NyGkH2","resourceType":"AWS::Lambda::Function","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=aws-perspective\",\"value\":\"aws-perspective\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective/240c8c70-2db7-11ec-a1f2-0aa3690e772d\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective/240c8c70-2db7-11ec-a1f2-0aa3690e772d\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=CleanupBucketFunction\",\"value\":\"CleanupBucketFunction\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"aws-perspective-CleanupBucketFunction-HY5ym4NyGkH2","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-95.5,"y":-558.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective/240c8c70-2db7-11ec-a1f2-0aa3690e772d","resourceId":["arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective/240c8c70-2db7-11ec-a1f2-0aa3690e772d","arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective/240c8c70-2db7-11ec-a1f2-0aa3690e772d"],"parent":"Stack-eu-west-1-044981683129","level":3,"id":"arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective/240c8c70-2db7-11ec-a1f2-0aa3690e772d","title":"aws-perspective","label":"aws-perspect...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective/240c8c70-2db7-11ec-a1f2-0aa3690e772d","image":"/icons/AWS-CloudFormation.svg","cost":0,"private":false,"resource":{"id":"arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective/240c8c70-2db7-11ec-a1f2-0aa3690e772d","name":"aws-perspective","value":null,"type":"AWS::CloudFormation::Stack","tags":"[]","arn":"arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective/240c8c70-2db7-11ec-a1f2-0aa3690e772d","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective/240c8c70-2db7-11ec-a1f2-0aa3690e772d","configuration":"\"{\\\"outputs\\\":[{\\\"outputKey\\\":\\\"PerspectiveWebUiApiUrl\\\",\\\"outputValue\\\":\\\"https://gdt8cshu0b.execute-api.eu-west-1.amazonaws.com/Prod\\\",\\\"description\\\":\\\"API URL for Perpective. Use this to make direct API calls\\\"},{\\\"outputKey\\\":\\\"DrawIOApiUrl\\\",\\\"outputValue\\\":\\\"https://03uaqc9u86.execute-api.eu-west-1.amazonaws.com/Prod\\\",\\\"description\\\":\\\"API URL for exporting to DrawIO. Use this to make direct API calls for export to DrawIO functionality\\\"}],\\\"capabilities\\\":[\\\"CAPABILITY_IAM\\\",\\\"CAPABILITY_NAMED_IAM\\\",\\\"CAPABILITY_AUTO_EXPAND\\\"],\\\"creationTime\\\":\\\"2021-10-15T12:55:15Z\\\",\\\"notificationARNs\\\":[],\\\"stackId\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective/240c8c70-2db7-11ec-a1f2-0aa3690e772d\\\",\\\"stackName\\\":\\\"aws-perspective\\\",\\\"description\\\":\\\"AWS Perspective Set Up (SO0075) - Solution - Master Template (uksb-1qbkclgj9) (version:v2.0.0)\\\",\\\"stackStatus\\\":\\\"UPDATE_COMPLETE\\\",\\\"disableRollback\\\":true,\\\"tags\\\":[],\\\"driftInformation\\\":{\\\"stackDriftStatus\\\":\\\"NOT_CHECKED\\\"},\\\"enableTerminationProtection\\\":false,\\\"lastUpdatedTime\\\":\\\"2022-01-18T19:04:28Z\\\",\\\"parameters\\\":[{\\\"parameterKey\\\":\\\"CreateNeptuneReplica\\\",\\\"parameterValue\\\":\\\"No\\\"},{\\\"parameterKey\\\":\\\"AlreadyHaveConfigSetup\\\",\\\"parameterValue\\\":\\\"No\\\"},{\\\"parameterKey\\\":\\\"OptOutOfSendingAnonymousUsageMetrics\\\",\\\"parameterValue\\\":\\\"No\\\"},{\\\"parameterKey\\\":\\\"CreateOpensearchServiceRole\\\",\\\"parameterValue\\\":\\\"No\\\"},{\\\"parameterKey\\\":\\\"OpensearchMultiAz\\\",\\\"parameterValue\\\":\\\"No\\\"},{\\\"parameterKey\\\":\\\"AdminUserEmailAddress\\\",\\\"parameterValue\\\":\\\"svozza@amazon.com\\\"},{\\\"parameterKey\\\":\\\"AthenaWorkgroup\\\",\\\"parameterValue\\\":\\\"primary\\\"},{\\\"parameterKey\\\":\\\"OpensearchInstanceType\\\",\\\"parameterValue\\\":\\\"m6g.large.elasticsearch\\\"},{\\\"parameterKey\\\":\\\"CreateAPIGatewayCloudWatchLogsRole\\\",\\\"parameterValue\\\":\\\"Yes\\\"},{\\\"parameterKey\\\":\\\"NeptuneInstanceClass\\\",\\\"parameterValue\\\":\\\"db.r5.large\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Regional","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective/240c8c70-2db7-11ec-a1f2-0aa3690e772d","resourceName":"aws-perspective","resourceType":"AWS::CloudFormation::Stack","resourceValue":null,"state":null,"tags":"[]","title":"aws-perspective","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-653.5,"y":-485.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/recipe-recommendation-eng-RetailDeliveryStreamRole-1NKN9Q7BO1OB2","resourceId":["AROAQU6I6AO43XKHQ3MDA","arn:aws:iam::044981683129:role/recipe-recommendation-eng-RetailDeliveryStreamRole-1NKN9Q7BO1OB2"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/recipe-recommendation-eng-RetailDeliveryStreamRole-1NKN9Q7BO1OB2","title":"recipe-recommendation-eng-RetailDeliveryStreamRole-1NKN9Q7BO1OB2","label":"recipe-recom...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/recipe-recommendation-eng-RetailDeliveryStreamRole-1NKN9Q7BO1OB2","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO43XKHQ3MDA","name":"recipe-recommendation-eng-RetailDeliveryStreamRole-1NKN9Q7BO1OB2","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/recipe-recommendation-eng-RetailDeliveryStreamRole-1NKN9Q7BO1OB2","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/recipe-recommendation-eng-RetailDeliveryStreamRole-1NKN9Q7BO1OB2","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Sid%22%3A%22RetailDeliveryStreamRoleSid%22%2C%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22firehose.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%2C%22Condition%22%3A%7B%22StringEquals%22%3A%7B%22sts%3AExternalId%22%3A%22044981683129%22%7D%7D%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO43XKHQ3MDA\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"recipe-recommendation-eng-RetailDeliveryStreamRole-1NKN9Q7BO1OB2\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/recipe-recommendation-eng-RetailDeliveryStreamRole-1NKN9Q7BO1OB2\\\",\\\"createDate\\\":\\\"2021-10-11T15:00:33.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22s3%3AAbortMultipartUpload%22%2C%22s3%3AGetBucketLocation%22%2C%22s3%3AGetObject%22%2C%22s3%3AListBucket%22%2C%22s3%3AListBucketMultipartUploads%22%2C%22s3%3APutObject%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3As3%3A%3A%3Arecipe-recommendation-en-retaildeliverystreambuck-16wchw5xnsp0k%22%2C%22arn%3Aaws%3As3%3A%3A%3Arecipe-recommendation-en-retaildeliverystreambuck-16wchw5xnsp0k%2F%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"RetailDeliveryStreamRolePolicy\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO43XKHQ3MDA","resourceName":"recipe-recommendation-eng-RetailDeliveryStreamRole-1NKN9Q7BO1OB2","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"recipe-recommendation-eng-RetailDeliveryStreamRole-1NKN9Q7BO1OB2","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":914.5,"y":-2321.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/recipe-recommendation-eng-RetailDeliveryStreamRole-1NKN9Q7BO1OB2/inlinePolicy/RetailDeliveryStreamRolePolicy","resourceId":["arn:aws:iam::044981683129:role/recipe-recommendation-eng-RetailDeliveryStreamRole-1NKN9Q7BO1OB2/inlinePolicy/RetailDeliveryStreamRolePolicy","arn:aws:iam::044981683129:role/recipe-recommendation-eng-RetailDeliveryStreamRole-1NKN9Q7BO1OB2/inlinePolicy/RetailDeliveryStreamRolePolicy"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/recipe-recommendation-eng-RetailDeliveryStreamRole-1NKN9Q7BO1OB2/inlinePolicy/RetailDeliveryStreamRolePolicy","title":"arn:aws:iam::044981683129:role/recipe-recommendation-eng-RetailDeliveryStreamRole-1NKN9Q7BO1OB2/inlinePolicy/RetailDeliveryStreamRolePolicy","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/recipe-recommendation-eng-RetailDeliveryStreamRole-1NKN9Q7BO1OB2/inlinePolicy/RetailDeliveryStreamRolePolicy","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/recipe-recommendation-eng-RetailDeliveryStreamRole-1NKN9Q7BO1OB2/inlinePolicy/RetailDeliveryStreamRolePolicy","name":"arn:aws:iam::044981683129:role/recipe-recommendation-eng-RetailDeliveryStreamRole-1NKN9Q7BO1OB2/inlinePolicy/RetailDeliveryStreamRolePolicy","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/recipe-recommendation-eng-RetailDeliveryStreamRole-1NKN9Q7BO1OB2/inlinePolicy/RetailDeliveryStreamRolePolicy","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/recipe-recommendation-eng-RetailDeliveryStreamRole-1NKN9Q7BO1OB2/inlinePolicy/RetailDeliveryStreamRolePolicy","configuration":"\"{\\\"policyName\\\":\\\"RetailDeliveryStreamRolePolicy\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"s3:AbortMultipartUpload\\\",\\\"s3:GetBucketLocation\\\",\\\"s3:GetObject\\\",\\\"s3:ListBucket\\\",\\\"s3:ListBucketMultipartUploads\\\",\\\"s3:PutObject\\\"],\\\"Resource\\\":[\\\"arn:aws:s3:::recipe-recommendation-en-retaildeliverystreambuck-16wchw5xnsp0k\\\",\\\"arn:aws:s3:::recipe-recommendation-en-retaildeliverystreambuck-16wchw5xnsp0k/*\\\"],\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/recipe-recommendation-eng-RetailDeliveryStreamRole-1NKN9Q7BO1OB2/inlinePolicy/RetailDeliveryStreamRolePolicy","resourceName":"arn:aws:iam::044981683129:role/recipe-recommendation-eng-RetailDeliveryStreamRole-1NKN9Q7BO1OB2/inlinePolicy/RetailDeliveryStreamRolePolicy","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/recipe-recommendation-eng-RetailDeliveryStreamRole-1NKN9Q7BO1OB2/inlinePolicy/RetailDeliveryStreamRolePolicy","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1757.5,"y":-2321.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/EC2InstanceProfileForImageBuilder","resourceId":["AROAQU6I6AO43YWXJGCFL","arn:aws:iam::044981683129:role/EC2InstanceProfileForImageBuilder"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/EC2InstanceProfileForImageBuilder","title":"EC2InstanceProfileForImageBuilder","label":"EC2InstanceP...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/EC2InstanceProfileForImageBuilder","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO43YWXJGCFL","name":"EC2InstanceProfileForImageBuilder","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/EC2InstanceProfileForImageBuilder","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/EC2InstanceProfileForImageBuilder","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22ec2.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO43YWXJGCFL\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore\\\",\\\"policyName\\\":\\\"AmazonSSMManagedInstanceCore\\\"},{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/EC2InstanceProfileForImageBuilderECRContainerBuilds\\\",\\\"policyName\\\":\\\"EC2InstanceProfileForImageBuilderECRContainerBuilds\\\"},{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/EC2InstanceProfileForImageBuilder\\\",\\\"policyName\\\":\\\"EC2InstanceProfileForImageBuilder\\\"}],\\\"roleName\\\":\\\"EC2InstanceProfileForImageBuilder\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/EC2InstanceProfileForImageBuilder\\\",\\\"createDate\\\":\\\"2021-01-07T15:31:14.000Z\\\",\\\"rolePolicyList\\\":[],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO43YWXJGCFL","resourceName":"EC2InstanceProfileForImageBuilder","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"EC2InstanceProfileForImageBuilder","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":987.5,"y":-2759.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-MIXOUR4XFRP8","resourceId":["AROAQU6I6AO43ZE6JAWS2","arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-MIXOUR4XFRP8"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-MIXOUR4XFRP8","title":"retaildemostore-Services-1WZN-CodeBuildServiceRole-MIXOUR4XFRP8","label":"retaildemost...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-MIXOUR4XFRP8","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO43ZE6JAWS2","name":"retaildemostore-Services-1WZN-CodeBuildServiceRole-MIXOUR4XFRP8","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-MIXOUR4XFRP8","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-MIXOUR4XFRP8","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22codebuild.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO43ZE6JAWS2\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"retaildemostore-Services-1WZN-CodeBuildServiceRole-MIXOUR4XFRP8\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-MIXOUR4XFRP8\\\",\\\"createDate\\\":\\\"2021-10-22T12:09:13.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22ecr%3AGetDownloadUrlForLayer%22%2C%22ecr%3ABatchGetImage%22%2C%22ecr%3ABatchCheckLayerAvailability%22%2C%22ecr%3APutImage%22%2C%22ecr%3AInitiateLayerUpload%22%2C%22ecr%3AUploadLayerPart%22%2C%22ecr%3ACompleteLayerUpload%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Aecr%3Aus-east-1%3A044981683129%3Arepository%2Fretaildemostore%2Foffers%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"ecr\\\"},{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22logs%3ACreateLogGroup%22%2C%22logs%3ACreateLogStream%22%2C%22logs%3APutLogEvents%22%2C%22ecr%3AGetAuthorizationToken%22%2C%22ssm%3AGetParameters%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"logs\\\"},{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22s3%3AGetObject%22%2C%22s3%3APutObject%22%2C%22s3%3AGetObjectVersion%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3As3%3A%3A%3Aretaildemostore-services-1wznopxsy-artifactbucket-1haadslfdrb30%2F%2A%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"S3\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO43ZE6JAWS2","resourceName":"retaildemostore-Services-1WZN-CodeBuildServiceRole-MIXOUR4XFRP8","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"retaildemostore-Services-1WZN-CodeBuildServiceRole-MIXOUR4XFRP8","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":987.5,"y":-2686.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-MIXOUR4XFRP8/inlinePolicy/ecr","resourceId":["arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-MIXOUR4XFRP8/inlinePolicy/ecr","arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-MIXOUR4XFRP8/inlinePolicy/ecr"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-MIXOUR4XFRP8/inlinePolicy/ecr","title":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-MIXOUR4XFRP8/inlinePolicy/ecr","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-MIXOUR4XFRP8/inlinePolicy/ecr","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-MIXOUR4XFRP8/inlinePolicy/ecr","name":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-MIXOUR4XFRP8/inlinePolicy/ecr","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-MIXOUR4XFRP8/inlinePolicy/ecr","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-MIXOUR4XFRP8/inlinePolicy/ecr","configuration":"\"{\\\"policyName\\\":\\\"ecr\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"ecr:GetDownloadUrlForLayer\\\",\\\"ecr:BatchGetImage\\\",\\\"ecr:BatchCheckLayerAvailability\\\",\\\"ecr:PutImage\\\",\\\"ecr:InitiateLayerUpload\\\",\\\"ecr:UploadLayerPart\\\",\\\"ecr:CompleteLayerUpload\\\"],\\\"Resource\\\":\\\"arn:aws:ecr:us-east-1:044981683129:repository/retaildemostore/offers\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-MIXOUR4XFRP8/inlinePolicy/ecr","resourceName":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-MIXOUR4XFRP8/inlinePolicy/ecr","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-MIXOUR4XFRP8/inlinePolicy/ecr","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1830.5,"y":-2321.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-MIXOUR4XFRP8/inlinePolicy/logs","resourceId":["arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-MIXOUR4XFRP8/inlinePolicy/logs","arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-MIXOUR4XFRP8/inlinePolicy/logs"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-MIXOUR4XFRP8/inlinePolicy/logs","title":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-MIXOUR4XFRP8/inlinePolicy/logs","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-MIXOUR4XFRP8/inlinePolicy/logs","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-MIXOUR4XFRP8/inlinePolicy/logs","name":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-MIXOUR4XFRP8/inlinePolicy/logs","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-MIXOUR4XFRP8/inlinePolicy/logs","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-MIXOUR4XFRP8/inlinePolicy/logs","configuration":"\"{\\\"policyName\\\":\\\"logs\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"logs:CreateLogGroup\\\",\\\"logs:CreateLogStream\\\",\\\"logs:PutLogEvents\\\",\\\"ecr:GetAuthorizationToken\\\",\\\"ssm:GetParameters\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-MIXOUR4XFRP8/inlinePolicy/logs","resourceName":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-MIXOUR4XFRP8/inlinePolicy/logs","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-MIXOUR4XFRP8/inlinePolicy/logs","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1903.5,"y":-2759.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-MIXOUR4XFRP8/inlinePolicy/S3","resourceId":["arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-MIXOUR4XFRP8/inlinePolicy/S3","arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-MIXOUR4XFRP8/inlinePolicy/S3"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-MIXOUR4XFRP8/inlinePolicy/S3","title":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-MIXOUR4XFRP8/inlinePolicy/S3","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-MIXOUR4XFRP8/inlinePolicy/S3","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-MIXOUR4XFRP8/inlinePolicy/S3","name":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-MIXOUR4XFRP8/inlinePolicy/S3","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-MIXOUR4XFRP8/inlinePolicy/S3","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-MIXOUR4XFRP8/inlinePolicy/S3","configuration":"\"{\\\"policyName\\\":\\\"S3\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"s3:GetObject\\\",\\\"s3:PutObject\\\",\\\"s3:GetObjectVersion\\\"],\\\"Resource\\\":\\\"arn:aws:s3:::retaildemostore-services-1wznopxsy-artifactbucket-1haadslfdrb30/*\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-MIXOUR4XFRP8/inlinePolicy/S3","resourceName":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-MIXOUR4XFRP8/inlinePolicy/S3","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-MIXOUR4XFRP8/inlinePolicy/S3","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1903.5,"y":-2686.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/recipe-recommendation-eng-PinpointSMSAlertsLambdaE-HE8V21L1ZS1N","resourceId":["AROAQU6I6AO42LX7LFL3C","arn:aws:iam::044981683129:role/recipe-recommendation-eng-PinpointSMSAlertsLambdaE-HE8V21L1ZS1N"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/recipe-recommendation-eng-PinpointSMSAlertsLambdaE-HE8V21L1ZS1N","title":"recipe-recommendation-eng-PinpointSMSAlertsLambdaE-HE8V21L1ZS1N","label":"recipe-recom...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/recipe-recommendation-eng-PinpointSMSAlertsLambdaE-HE8V21L1ZS1N","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO42LX7LFL3C","name":"recipe-recommendation-eng-PinpointSMSAlertsLambdaE-HE8V21L1ZS1N","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/recipe-recommendation-eng-PinpointSMSAlertsLambdaE-HE8V21L1ZS1N","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/recipe-recommendation-eng-PinpointSMSAlertsLambdaE-HE8V21L1ZS1N","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22lambda.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO42LX7LFL3C\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"recipe-recommendation-eng-PinpointSMSAlertsLambdaE-HE8V21L1ZS1N\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/recipe-recommendation-eng-PinpointSMSAlertsLambdaE-HE8V21L1ZS1N\\\",\\\"createDate\\\":\\\"2021-10-11T15:30:37.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22logs%3ACreateLogGroup%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Alogs%3Aus-west-2%3A044981683129%3Alog-group%3A%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22logs%3ACreateLogStream%22%2C%22logs%3APutLogEvents%22%2C%22logs%3AGetLogEvents%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Alogs%3Aus-west-2%3A044981683129%3Alog-group%3A%2Faws%2Flambda%2FRetailDemoStorePinpointSMSAlerts%3Alog-stream%3A%2A%22%2C%22arn%3Aaws%3Alogs%3Aus-west-2%3A044981683129%3Alog-group%3A%2Faws%2Flambda%2FRetailDemoStorePinpointSMSAlerts%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22ssm%3AGetParameter%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Assm%3Aus-west-2%3A044981683129%3Aparameter%2Fretaildemostore-%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22mobiletargeting%3AGetEndpoint%22%2C%22mobiletargeting%3APutEvents%22%2C%22mobiletargeting%3AUpdateEndpoint%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Amobiletargeting%3Aus-west-2%3A044981683129%3Aapps%2Fb0d215186a434e4c8b85d970b927016e%2F%2A%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"root\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO42LX7LFL3C","resourceName":"recipe-recommendation-eng-PinpointSMSAlertsLambdaE-HE8V21L1ZS1N","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"recipe-recommendation-eng-PinpointSMSAlertsLambdaE-HE8V21L1ZS1N","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":987.5,"y":-2613.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/recipe-recommendation-eng-PinpointSMSAlertsLambdaE-HE8V21L1ZS1N/inlinePolicy/root","resourceId":["arn:aws:iam::044981683129:role/recipe-recommendation-eng-PinpointSMSAlertsLambdaE-HE8V21L1ZS1N/inlinePolicy/root","arn:aws:iam::044981683129:role/recipe-recommendation-eng-PinpointSMSAlertsLambdaE-HE8V21L1ZS1N/inlinePolicy/root"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/recipe-recommendation-eng-PinpointSMSAlertsLambdaE-HE8V21L1ZS1N/inlinePolicy/root","title":"arn:aws:iam::044981683129:role/recipe-recommendation-eng-PinpointSMSAlertsLambdaE-HE8V21L1ZS1N/inlinePolicy/root","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/recipe-recommendation-eng-PinpointSMSAlertsLambdaE-HE8V21L1ZS1N/inlinePolicy/root","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/recipe-recommendation-eng-PinpointSMSAlertsLambdaE-HE8V21L1ZS1N/inlinePolicy/root","name":"arn:aws:iam::044981683129:role/recipe-recommendation-eng-PinpointSMSAlertsLambdaE-HE8V21L1ZS1N/inlinePolicy/root","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/recipe-recommendation-eng-PinpointSMSAlertsLambdaE-HE8V21L1ZS1N/inlinePolicy/root","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/recipe-recommendation-eng-PinpointSMSAlertsLambdaE-HE8V21L1ZS1N/inlinePolicy/root","configuration":"\"{\\\"policyName\\\":\\\"root\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"logs:CreateLogGroup\\\"],\\\"Resource\\\":\\\"arn:aws:logs:us-west-2:044981683129:log-group:*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"logs:CreateLogStream\\\",\\\"logs:PutLogEvents\\\",\\\"logs:GetLogEvents\\\"],\\\"Resource\\\":[\\\"arn:aws:logs:us-west-2:044981683129:log-group:/aws/lambda/RetailDemoStorePinpointSMSAlerts:log-stream:*\\\",\\\"arn:aws:logs:us-west-2:044981683129:log-group:/aws/lambda/RetailDemoStorePinpointSMSAlerts\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"ssm:GetParameter\\\"],\\\"Resource\\\":\\\"arn:aws:ssm:us-west-2:044981683129:parameter/retaildemostore-*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"mobiletargeting:GetEndpoint\\\",\\\"mobiletargeting:PutEvents\\\",\\\"mobiletargeting:UpdateEndpoint\\\"],\\\"Resource\\\":\\\"arn:aws:mobiletargeting:us-west-2:044981683129:apps/b0d215186a434e4c8b85d970b927016e/*\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/recipe-recommendation-eng-PinpointSMSAlertsLambdaE-HE8V21L1ZS1N/inlinePolicy/root","resourceName":"arn:aws:iam::044981683129:role/recipe-recommendation-eng-PinpointSMSAlertsLambdaE-HE8V21L1ZS1N/inlinePolicy/root","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/recipe-recommendation-eng-PinpointSMSAlertsLambdaE-HE8V21L1ZS1N/inlinePolicy/root","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1903.5,"y":-2613.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/aws-service-role/logger.cloudfront.amazonaws.com/AWSServiceRoleForCloudFrontLogger","resourceId":["AROAQU6I6AO42P2J2XTKL","arn:aws:iam::044981683129:role/aws-service-role/logger.cloudfront.amazonaws.com/AWSServiceRoleForCloudFrontLogger"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/aws-service-role/logger.cloudfront.amazonaws.com/AWSServiceRoleForCloudFrontLogger","title":"AWSServiceRoleForCloudFrontLogger","label":"AWSServiceRo...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/aws-service-role/logger.cloudfront.amazonaws.com/AWSServiceRoleForCloudFrontLogger","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO42P2J2XTKL","name":"AWSServiceRoleForCloudFrontLogger","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/aws-service-role/logger.cloudfront.amazonaws.com/AWSServiceRoleForCloudFrontLogger","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/aws-service-role/logger.cloudfront.amazonaws.com/AWSServiceRoleForCloudFrontLogger","configuration":"\"{\\\"path\\\":\\\"/aws-service-role/logger.cloudfront.amazonaws.com/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22logger.cloudfront.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO42P2J2XTKL\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/aws-service-role/AWSCloudFrontLogger\\\",\\\"policyName\\\":\\\"AWSCloudFrontLogger\\\"}],\\\"roleName\\\":\\\"AWSServiceRoleForCloudFrontLogger\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/aws-service-role/logger.cloudfront.amazonaws.com/AWSServiceRoleForCloudFrontLogger\\\",\\\"createDate\\\":\\\"2020-04-15T12:48:24.000Z\\\",\\\"rolePolicyList\\\":[],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO42P2J2XTKL","resourceName":"AWSServiceRoleForCloudFrontLogger","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"AWSServiceRoleForCloudFrontLogger","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":987.5,"y":-2540.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/ecs-refarch-LifecycleHook-1O42-LambdaExecutionRole-1677WHGD8ES5T","resourceId":["AROAQU6I6AO42QA7N2BNM","arn:aws:iam::044981683129:role/ecs-refarch-LifecycleHook-1O42-LambdaExecutionRole-1677WHGD8ES5T"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/ecs-refarch-LifecycleHook-1O42-LambdaExecutionRole-1677WHGD8ES5T","title":"ecs-refarch-LifecycleHook-1O42-LambdaExecutionRole-1677WHGD8ES5T","label":"ecs-refarch-...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/ecs-refarch-LifecycleHook-1O42-LambdaExecutionRole-1677WHGD8ES5T","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO42QA7N2BNM","name":"ecs-refarch-LifecycleHook-1O42-LambdaExecutionRole-1677WHGD8ES5T","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/ecs-refarch-LifecycleHook-1O42-LambdaExecutionRole-1677WHGD8ES5T","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/ecs-refarch-LifecycleHook-1O42-LambdaExecutionRole-1677WHGD8ES5T","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22lambda.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO42QA7N2BNM\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/service-role/AutoScalingNotificationAccessRole\\\",\\\"policyName\\\":\\\"AutoScalingNotificationAccessRole\\\"}],\\\"roleName\\\":\\\"ecs-refarch-LifecycleHook-1O42-LambdaExecutionRole-1677WHGD8ES5T\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/ecs-refarch-LifecycleHook-1O42-LambdaExecutionRole-1677WHGD8ES5T\\\",\\\"createDate\\\":\\\"2020-11-11T16:51:27.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22autoscaling%3ACompleteLifecycleAction%22%2C%22logs%3ACreateLogGroup%22%2C%22logs%3ACreateLogStream%22%2C%22logs%3APutLogEvents%22%2C%22ec2%3ADescribeInstances%22%2C%22ec2%3ADescribeInstanceAttribute%22%2C%22ec2%3ADescribeInstanceStatus%22%2C%22ec2%3ADescribeHosts%22%2C%22ecs%3AListContainerInstances%22%2C%22ecs%3ASubmitContainerStateChange%22%2C%22ecs%3ASubmitTaskStateChange%22%2C%22ecs%3ADescribeContainerInstances%22%2C%22ecs%3AUpdateContainerInstancesState%22%2C%22ecs%3AListTasks%22%2C%22ecs%3ADescribeTasks%22%2C%22sns%3APublish%22%2C%22sns%3AListSubscriptions%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"lambda-inline\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO42QA7N2BNM","resourceName":"ecs-refarch-LifecycleHook-1O42-LambdaExecutionRole-1677WHGD8ES5T","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"ecs-refarch-LifecycleHook-1O42-LambdaExecutionRole-1677WHGD8ES5T","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":987.5,"y":-2467.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/ecs-refarch-LifecycleHook-1O42-LambdaExecutionRole-1677WHGD8ES5T/inlinePolicy/lambda-inline","resourceId":["arn:aws:iam::044981683129:role/ecs-refarch-LifecycleHook-1O42-LambdaExecutionRole-1677WHGD8ES5T/inlinePolicy/lambda-inline","arn:aws:iam::044981683129:role/ecs-refarch-LifecycleHook-1O42-LambdaExecutionRole-1677WHGD8ES5T/inlinePolicy/lambda-inline"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/ecs-refarch-LifecycleHook-1O42-LambdaExecutionRole-1677WHGD8ES5T/inlinePolicy/lambda-inline","title":"arn:aws:iam::044981683129:role/ecs-refarch-LifecycleHook-1O42-LambdaExecutionRole-1677WHGD8ES5T/inlinePolicy/lambda-inline","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/ecs-refarch-LifecycleHook-1O42-LambdaExecutionRole-1677WHGD8ES5T/inlinePolicy/lambda-inline","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/ecs-refarch-LifecycleHook-1O42-LambdaExecutionRole-1677WHGD8ES5T/inlinePolicy/lambda-inline","name":"arn:aws:iam::044981683129:role/ecs-refarch-LifecycleHook-1O42-LambdaExecutionRole-1677WHGD8ES5T/inlinePolicy/lambda-inline","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/ecs-refarch-LifecycleHook-1O42-LambdaExecutionRole-1677WHGD8ES5T/inlinePolicy/lambda-inline","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/ecs-refarch-LifecycleHook-1O42-LambdaExecutionRole-1677WHGD8ES5T/inlinePolicy/lambda-inline","configuration":"\"{\\\"policyName\\\":\\\"lambda-inline\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"autoscaling:CompleteLifecycleAction\\\",\\\"logs:CreateLogGroup\\\",\\\"logs:CreateLogStream\\\",\\\"logs:PutLogEvents\\\",\\\"ec2:DescribeInstances\\\",\\\"ec2:DescribeInstanceAttribute\\\",\\\"ec2:DescribeInstanceStatus\\\",\\\"ec2:DescribeHosts\\\",\\\"ecs:ListContainerInstances\\\",\\\"ecs:SubmitContainerStateChange\\\",\\\"ecs:SubmitTaskStateChange\\\",\\\"ecs:DescribeContainerInstances\\\",\\\"ecs:UpdateContainerInstancesState\\\",\\\"ecs:ListTasks\\\",\\\"ecs:DescribeTasks\\\",\\\"sns:Publish\\\",\\\"sns:ListSubscriptions\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/ecs-refarch-LifecycleHook-1O42-LambdaExecutionRole-1677WHGD8ES5T/inlinePolicy/lambda-inline","resourceName":"arn:aws:iam::044981683129:role/ecs-refarch-LifecycleHook-1O42-LambdaExecutionRole-1677WHGD8ES5T/inlinePolicy/lambda-inline","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/ecs-refarch-LifecycleHook-1O42-LambdaExecutionRole-1677WHGD8ES5T/inlinePolicy/lambda-inline","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1903.5,"y":-2540.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:lambda:eu-west-1:044981683129:function:ecs-refarch-LifecycleHook-LifecycleHandlerFunction-ZFGQU3IJFMB5","resourceId":["ecs-refarch-LifecycleHook-LifecycleHandlerFunction-ZFGQU3IJFMB5","arn:aws:lambda:eu-west-1:044981683129:function:ecs-refarch-LifecycleHook-LifecycleHandlerFunction-ZFGQU3IJFMB5"],"parent":"Function-eu-west-1-044981683129","level":3,"id":"arn:aws:lambda:eu-west-1:044981683129:function:ecs-refarch-LifecycleHook-LifecycleHandlerFunction-ZFGQU3IJFMB5","title":"ecs-refarch-LifecycleHook-LifecycleHandlerFunction-ZFGQU3IJFMB5","label":"ecs-refarch-...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:lambda:eu-west-1:044981683129:function:ecs-refarch-LifecycleHook-LifecycleHandlerFunction-ZFGQU3IJFMB5","image":"/icons/AWS-Lambda-menu.svg","cost":0,"private":false,"resource":{"id":"ecs-refarch-LifecycleHook-LifecycleHandlerFunction-ZFGQU3IJFMB5","name":"ecs-refarch-LifecycleHook-LifecycleHandlerFunction-ZFGQU3IJFMB5","value":null,"type":"AWS::Lambda::Function","tags":"[{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-LifecycleHook-1O42RT8VJQQTO\",\"value\":\"ecs-refarch-LifecycleHook-1O42RT8VJQQTO\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-LifecycleHook-1O42RT8VJQQTO/21551b10-243e-11eb-9e6d-02af5a91499d\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-LifecycleHook-1O42RT8VJQQTO/21551b10-243e-11eb-9e6d-02af5a91499d\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=LifecycleHandlerFunction\",\"value\":\"LifecycleHandlerFunction\",\"key\":\"aws:cloudformation:logical-id\"}]","arn":"arn:aws:lambda:eu-west-1:044981683129:function:ecs-refarch-LifecycleHook-LifecycleHandlerFunction-ZFGQU3IJFMB5","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/lambda/home?region=eu-west-1#/functions/ecs-refarch-LifecycleHook-LifecycleHandlerFunction-ZFGQU3IJFMB5?tab=graph","loginURL":"https://044981683129.signin.aws.amazon.com/console/lambda?region=eu-west-1#/functions/ecs-refarch-LifecycleHook-LifecycleHandlerFunction-ZFGQU3IJFMB5?tab=graph","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:lambda:eu-west-1:044981683129:function:ecs-refarch-LifecycleHook-LifecycleHandlerFunction-ZFGQU3IJFMB5","configuration":"\"{\\\"architectures\\\":[\\\"x86_64\\\"],\\\"ephemeralStorage\\\":{\\\"size\\\":512},\\\"handler\\\":\\\"index.lambda_handler\\\",\\\"role\\\":\\\"arn:aws:iam::044981683129:role/ecs-refarch-LifecycleHook-1O42-LambdaExecutionRole-1677WHGD8ES5T\\\",\\\"functionName\\\":\\\"ecs-refarch-LifecycleHook-LifecycleHandlerFunction-ZFGQU3IJFMB5\\\",\\\"tracingConfig\\\":{\\\"mode\\\":\\\"PassThrough\\\"},\\\"runtime\\\":\\\"python3.6\\\",\\\"description\\\":\\\"\\\",\\\"codeSize\\\":818,\\\"version\\\":\\\"$LATEST\\\",\\\"packageType\\\":\\\"Zip\\\",\\\"timeout\\\":10,\\\"revisionId\\\":\\\"e7c3259f-801d-4ce9-a744-44bd46604d38\\\",\\\"codeSha256\\\":\\\"aksRvA0hwU1ARCIEvydErIhtblqhlI2j8h1Z/c+OMU8=\\\",\\\"memorySize\\\":128,\\\"fileSystemConfigs\\\":[],\\\"lastUpdateStatus\\\":\\\"Successful\\\",\\\"layers\\\":[],\\\"snapStart\\\":{\\\"applyOn\\\":\\\"None\\\",\\\"optimizationStatus\\\":\\\"Off\\\"},\\\"lastModified\\\":\\\"2020-11-11T16:52:04.960+0000\\\",\\\"state\\\":{\\\"value\\\":\\\"Active\\\"},\\\"functionArn\\\":\\\"arn:aws:lambda:eu-west-1:044981683129:function:ecs-refarch-LifecycleHook-LifecycleHandlerFunction-ZFGQU3IJFMB5\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/lambda/home?region=eu-west-1#/functions/ecs-refarch-LifecycleHook-LifecycleHandlerFunction-ZFGQU3IJFMB5?tab=graph","loginURL":"https://044981683129.signin.aws.amazon.com/console/lambda?region=eu-west-1#/functions/ecs-refarch-LifecycleHook-LifecycleHandlerFunction-ZFGQU3IJFMB5?tab=graph","private":null,"resourceId":"ecs-refarch-LifecycleHook-LifecycleHandlerFunction-ZFGQU3IJFMB5","resourceName":"ecs-refarch-LifecycleHook-LifecycleHandlerFunction-ZFGQU3IJFMB5","resourceType":"AWS::Lambda::Function","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-LifecycleHook-1O42RT8VJQQTO\",\"value\":\"ecs-refarch-LifecycleHook-1O42RT8VJQQTO\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-LifecycleHook-1O42RT8VJQQTO/21551b10-243e-11eb-9e6d-02af5a91499d\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-LifecycleHook-1O42RT8VJQQTO/21551b10-243e-11eb-9e6d-02af5a91499d\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=LifecycleHandlerFunction\",\"value\":\"LifecycleHandlerFunction\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"ecs-refarch-LifecycleHook-LifecycleHandlerFunction-ZFGQU3IJFMB5","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-168.5,"y":-485.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-LifecycleHook-1O42RT8VJQQTO/21551b10-243e-11eb-9e6d-02af5a91499d","resourceId":["arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-LifecycleHook-1O42RT8VJQQTO/21551b10-243e-11eb-9e6d-02af5a91499d","arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-LifecycleHook-1O42RT8VJQQTO/21551b10-243e-11eb-9e6d-02af5a91499d"],"parent":"Stack-eu-west-1-044981683129","level":3,"id":"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-LifecycleHook-1O42RT8VJQQTO/21551b10-243e-11eb-9e6d-02af5a91499d","title":"ecs-refarch-LifecycleHook-1O42RT8VJQQTO","label":"ecs-refarch-...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-LifecycleHook-1O42RT8VJQQTO/21551b10-243e-11eb-9e6d-02af5a91499d","image":"/icons/AWS-CloudFormation.svg","cost":0,"private":false,"resource":{"id":"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-LifecycleHook-1O42RT8VJQQTO/21551b10-243e-11eb-9e6d-02af5a91499d","name":"ecs-refarch-LifecycleHook-1O42RT8VJQQTO","value":null,"type":"AWS::CloudFormation::Stack","tags":"[]","arn":"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-LifecycleHook-1O42RT8VJQQTO/21551b10-243e-11eb-9e6d-02af5a91499d","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-LifecycleHook-1O42RT8VJQQTO/21551b10-243e-11eb-9e6d-02af5a91499d","configuration":"\"{\\\"outputs\\\":[],\\\"capabilities\\\":[\\\"CAPABILITY_NAMED_IAM\\\",\\\"CAPABILITY_AUTO_EXPAND\\\"],\\\"creationTime\\\":\\\"2020-11-11T16:51:23Z\\\",\\\"notificationARNs\\\":[],\\\"stackId\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-LifecycleHook-1O42RT8VJQQTO/21551b10-243e-11eb-9e6d-02af5a91499d\\\",\\\"stackName\\\":\\\"ecs-refarch-LifecycleHook-1O42RT8VJQQTO\\\",\\\"description\\\":\\\"This template deploys a Lambda Function and Auto Scaling Lifecycle Hook to drain Tasks from your Container Instances when an Instance is selected for Termination in your Auto Scaling Group.\\\\n\\\",\\\"stackStatus\\\":\\\"CREATE_COMPLETE\\\",\\\"disableRollback\\\":true,\\\"parentId\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch/fd2eea00-243c-11eb-82ab-027df2f3014c\\\",\\\"tags\\\":[],\\\"driftInformation\\\":{\\\"stackDriftStatus\\\":\\\"NOT_CHECKED\\\"},\\\"enableTerminationProtection\\\":false,\\\"parameters\\\":[{\\\"parameterKey\\\":\\\"ECSAutoScalingGroupName\\\",\\\"parameterValue\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\\\"},{\\\"parameterKey\\\":\\\"Cluster\\\",\\\"parameterValue\\\":\\\"ecs-refarch\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Regional","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-LifecycleHook-1O42RT8VJQQTO/21551b10-243e-11eb-9e6d-02af5a91499d","resourceName":"ecs-refarch-LifecycleHook-1O42RT8VJQQTO","resourceType":"AWS::CloudFormation::Stack","resourceValue":null,"state":null,"tags":"[]","title":"ecs-refarch-LifecycleHook-1O42RT8VJQQTO","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-799.5,"y":-412.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-PerspectiveGremlinAppSyn-ILVVYIO3YXX0","resourceId":["AROAQU6I6AO4277RTDDX3","arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-PerspectiveGremlinAppSyn-ILVVYIO3YXX0"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-PerspectiveGremlinAppSyn-ILVVYIO3YXX0","title":"Workload-Discovery-on-AWS-PerspectiveGremlinAppSyn-ILVVYIO3YXX0","label":"Workload-Dis...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-PerspectiveGremlinAppSyn-ILVVYIO3YXX0","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO4277RTDDX3","name":"Workload-Discovery-on-AWS-PerspectiveGremlinAppSyn-ILVVYIO3YXX0","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-PerspectiveGremlinAppSyn-ILVVYIO3YXX0","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-PerspectiveGremlinAppSyn-ILVVYIO3YXX0","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222008-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22lambda.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO4277RTDDX3\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole\\\",\\\"policyName\\\":\\\"AWSLambdaVPCAccessExecutionRole\\\"},{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole\\\",\\\"policyName\\\":\\\"AWSLambdaBasicExecutionRole\\\"},{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/AWSXRayDaemonWriteAccess\\\",\\\"policyName\\\":\\\"AWSXRayDaemonWriteAccess\\\"}],\\\"roleName\\\":\\\"Workload-Discovery-on-AWS-PerspectiveGremlinAppSyn-ILVVYIO3YXX0\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-PerspectiveGremlinAppSyn-ILVVYIO3YXX0\\\",\\\"createDate\\\":\\\"2023-02-28T14:37:32.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22neptune-db%3Aconnect%22%2C%22neptune-db%3ADeleteDataViaQuery%22%2C%22neptune-db%3AReadDataViaQuery%22%2C%22neptune-db%3AWriteDataViaQuery%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Aneptune-db%3Aeu-central-1%3A044981683129%3Acluster-2SVN2AOWQ24QQCDQAMXHKNTESA%2F%2A%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"GremlinAppSyncLambdaFunctionPolicy\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO4277RTDDX3","resourceName":"Workload-Discovery-on-AWS-PerspectiveGremlinAppSyn-ILVVYIO3YXX0","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"Workload-Discovery-on-AWS-PerspectiveGremlinAppSyn-ILVVYIO3YXX0","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":987.5,"y":-2394.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-PerspectiveGremlinAppSyn-ILVVYIO3YXX0/inlinePolicy/GremlinAppSyncLambdaFunctionPolicy","resourceId":["arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-PerspectiveGremlinAppSyn-ILVVYIO3YXX0/inlinePolicy/GremlinAppSyncLambdaFunctionPolicy","arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-PerspectiveGremlinAppSyn-ILVVYIO3YXX0/inlinePolicy/GremlinAppSyncLambdaFunctionPolicy"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-PerspectiveGremlinAppSyn-ILVVYIO3YXX0/inlinePolicy/GremlinAppSyncLambdaFunctionPolicy","title":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-PerspectiveGremlinAppSyn-ILVVYIO3YXX0/inlinePolicy/GremlinAppSyncLambdaFunctionPolicy","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-PerspectiveGremlinAppSyn-ILVVYIO3YXX0/inlinePolicy/GremlinAppSyncLambdaFunctionPolicy","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-PerspectiveGremlinAppSyn-ILVVYIO3YXX0/inlinePolicy/GremlinAppSyncLambdaFunctionPolicy","name":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-PerspectiveGremlinAppSyn-ILVVYIO3YXX0/inlinePolicy/GremlinAppSyncLambdaFunctionPolicy","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-PerspectiveGremlinAppSyn-ILVVYIO3YXX0/inlinePolicy/GremlinAppSyncLambdaFunctionPolicy","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-PerspectiveGremlinAppSyn-ILVVYIO3YXX0/inlinePolicy/GremlinAppSyncLambdaFunctionPolicy","configuration":"\"{\\\"policyName\\\":\\\"GremlinAppSyncLambdaFunctionPolicy\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"neptune-db:connect\\\",\\\"neptune-db:DeleteDataViaQuery\\\",\\\"neptune-db:ReadDataViaQuery\\\",\\\"neptune-db:WriteDataViaQuery\\\"],\\\"Resource\\\":\\\"arn:aws:neptune-db:eu-central-1:044981683129:cluster-2SVN2AOWQ24QQCDQAMXHKNTESA/*\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-PerspectiveGremlinAppSyn-ILVVYIO3YXX0/inlinePolicy/GremlinAppSyncLambdaFunctionPolicy","resourceName":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-PerspectiveGremlinAppSyn-ILVVYIO3YXX0/inlinePolicy/GremlinAppSyncLambdaFunctionPolicy","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-PerspectiveGremlinAppSyn-ILVVYIO3YXX0/inlinePolicy/GremlinAppSyncLambdaFunctionPolicy","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1903.5,"y":-2467.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-18ZLD8A7LI3YM","resourceId":["AROAQU6I6AO427WAHIGET","arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-18ZLD8A7LI3YM"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-18ZLD8A7LI3YM","title":"retaildemostore-Services-1-CodePipelineServiceRole-18ZLD8A7LI3YM","label":"retaildemost...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-18ZLD8A7LI3YM","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO427WAHIGET","name":"retaildemostore-Services-1-CodePipelineServiceRole-18ZLD8A7LI3YM","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-18ZLD8A7LI3YM","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-18ZLD8A7LI3YM","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22codepipeline.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO427WAHIGET\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"retaildemostore-Services-1-CodePipelineServiceRole-18ZLD8A7LI3YM\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-18ZLD8A7LI3YM\\\",\\\"createDate\\\":\\\"2021-10-22T12:09:37.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22s3%3APutObject%22%2C%22s3%3AGetObject%22%2C%22s3%3AGetObjectVersion%22%2C%22s3%3AGetBucketVersioning%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3As3%3A%3A%3Aretaildemostore-services-1wznopxsy-artifactbucket-1kdgw7ge2e0kw%2F%2A%22%2C%22arn%3Aaws%3As3%3A%3A%3Aretaildemostore-services-1wznopxsy-artifactbucket-1kdgw7ge2e0kw%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22codebuild%3AStartBuild%22%2C%22codebuild%3ABatchGetBuilds%22%2C%22iam%3APassRole%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22codecommit%3AGetBranch%22%2C%22codecommit%3AGetCommit%22%2C%22codecommit%3AUploadArchive%22%2C%22codecommit%3AGetUploadArchiveStatus%22%2C%22codecommit%3ACancelUploadArchive%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Acodecommit%3Aus-east-1%3A044981683129%3Aretaildemostore-src%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22ecs%3AList%2A%22%2C%22ecs%3ADescribe%2A%22%2C%22ecs%3ARegisterTaskDefinition%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22ecs%3AUpdateService%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Aecs%3Aus-east-1%3A044981683129%3Aservice%2Fretaildemostore-Base-193OEK9QLRBTZ-ECSCluster-PT0RYG11SI9K%2Fretaildemostore-Services-1WZNOPXSYAVK8-CartsService-1LHYGS9SZFSI5-Service-1LM2NIK3Z6M7K-FargateService-joRj4L5Rwc5k%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"root\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO427WAHIGET","resourceName":"retaildemostore-Services-1-CodePipelineServiceRole-18ZLD8A7LI3YM","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"retaildemostore-Services-1-CodePipelineServiceRole-18ZLD8A7LI3YM","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":987.5,"y":-2321.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-18ZLD8A7LI3YM/inlinePolicy/root","resourceId":["arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-18ZLD8A7LI3YM/inlinePolicy/root","arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-18ZLD8A7LI3YM/inlinePolicy/root"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-18ZLD8A7LI3YM/inlinePolicy/root","title":"arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-18ZLD8A7LI3YM/inlinePolicy/root","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-18ZLD8A7LI3YM/inlinePolicy/root","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-18ZLD8A7LI3YM/inlinePolicy/root","name":"arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-18ZLD8A7LI3YM/inlinePolicy/root","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-18ZLD8A7LI3YM/inlinePolicy/root","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-18ZLD8A7LI3YM/inlinePolicy/root","configuration":"\"{\\\"policyName\\\":\\\"root\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"s3:PutObject\\\",\\\"s3:GetObject\\\",\\\"s3:GetObjectVersion\\\",\\\"s3:GetBucketVersioning\\\"],\\\"Resource\\\":[\\\"arn:aws:s3:::retaildemostore-services-1wznopxsy-artifactbucket-1kdgw7ge2e0kw/*\\\",\\\"arn:aws:s3:::retaildemostore-services-1wznopxsy-artifactbucket-1kdgw7ge2e0kw\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"codebuild:StartBuild\\\",\\\"codebuild:BatchGetBuilds\\\",\\\"iam:PassRole\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"codecommit:GetBranch\\\",\\\"codecommit:GetCommit\\\",\\\"codecommit:UploadArchive\\\",\\\"codecommit:GetUploadArchiveStatus\\\",\\\"codecommit:CancelUploadArchive\\\"],\\\"Resource\\\":\\\"arn:aws:codecommit:us-east-1:044981683129:retaildemostore-src\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"ecs:List*\\\",\\\"ecs:Describe*\\\",\\\"ecs:RegisterTaskDefinition\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"ecs:UpdateService\\\"],\\\"Resource\\\":\\\"arn:aws:ecs:us-east-1:044981683129:service/retaildemostore-Base-193OEK9QLRBTZ-ECSCluster-PT0RYG11SI9K/retaildemostore-Services-1WZNOPXSYAVK8-CartsService-1LHYGS9SZFSI5-Service-1LM2NIK3Z6M7K-FargateService-joRj4L5Rwc5k\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-18ZLD8A7LI3YM/inlinePolicy/root","resourceName":"arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-18ZLD8A7LI3YM/inlinePolicy/root","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-18ZLD8A7LI3YM/inlinePolicy/root","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1903.5,"y":-2394.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Or-TaskRole-H0LUUYYMXXJD","resourceId":["AROAQU6I6AO44ZCNT2BOX","arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Or-TaskRole-H0LUUYYMXXJD"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Or-TaskRole-H0LUUYYMXXJD","title":"retaildemostore-Services-1WZNOPXSYAVK8-Or-TaskRole-H0LUUYYMXXJD","label":"retaildemost...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Or-TaskRole-H0LUUYYMXXJD","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO44ZCNT2BOX","name":"retaildemostore-Services-1WZNOPXSYAVK8-Or-TaskRole-H0LUUYYMXXJD","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Or-TaskRole-H0LUUYYMXXJD","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Or-TaskRole-H0LUUYYMXXJD","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222008-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22ecs-tasks.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO44ZCNT2BOX\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/AWSXRayDaemonWriteAccess\\\",\\\"policyName\\\":\\\"AWSXRayDaemonWriteAccess\\\"},{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/AWSCloudMapDiscoverInstanceAccess\\\",\\\"policyName\\\":\\\"AWSCloudMapDiscoverInstanceAccess\\\"}],\\\"roleName\\\":\\\"retaildemostore-Services-1WZNOPXSYAVK8-Or-TaskRole-H0LUUYYMXXJD\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Or-TaskRole-H0LUUYYMXXJD\\\",\\\"createDate\\\":\\\"2021-10-22T12:06:52.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22dynamodb%3A%2A%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Adynamodb%3Aus-east-1%3A044981683129%3Atable%2Fnone%22%2C%22arn%3Aaws%3Adynamodb%3Aus-east-1%3A044981683129%3Atable%2Fnone%22%2C%22arn%3Aaws%3Adynamodb%3Aus-east-1%3A044981683129%3Atable%2Fnone%22%2C%22arn%3Aaws%3Adynamodb%3Aus-east-1%3A044981683129%3Atable%2Fnone%2Findex%2F%2A%22%2C%22arn%3Aaws%3Adynamodb%3Aus-east-1%3A044981683129%3Atable%2Fnone%2Findex%2F%2A%22%2C%22arn%3Aaws%3Adynamodb%3Aus-east-1%3A044981683129%3Atable%2Fnone%2Findex%2F%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"DynamoDB\\\"},{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22ssm%3A%2A%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Assm%3Aus-east-1%3A044981683129%3Aparameter%2Fretaildemostore-%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22logs%3ACreateLogGroup%22%2C%22logs%3ACreateLogStream%22%2C%22logs%3APutLogEvents%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22logs%3ACreateLogGroup%22%2C%22personalize%3ACreateSchema%22%2C%22personalize%3ACreateDatasetGroup%22%2C%22personalize%3ACreateSolutionVersion%22%2C%22personalize%3ACreateDatasetImportJob%22%2C%22personalize%3ACreateSolution%22%2C%22personalize%3ADescribeDatasetGroup%22%2C%22personalize%3ADescribeDatasetImportJob%22%2C%22personalize%3ADescribeSolution%22%2C%22personalize%3ADescribeSolutionVersion%22%2C%22personalize%3ADescribeEventTracker%22%2C%22personalize%3ADescribeCampaign%22%2C%22personalize%3ACreateCampaign%22%2C%22personalize%3ACreateDataset%22%2C%22personalize%3ACreateEventTracker%22%2C%22personalize%3ACreateFilter%22%2C%22personalize%3AGetPersonalizedRanking%22%2C%22personalize%3AGetRecommendations%22%2C%22personalize%3ADeleteEventTracker%22%2C%22personalize%3ADescribeEventTracker%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Apersonalize%3Aus-east-1%3A044981683129%3A%2A%2Fretaildemo%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22logs%3ACreateLogGroup%22%2C%22personalize%3AListCampaigns%22%2C%22personalize%3AListDatasetGroups%22%2C%22personalize%3AListSolutions%22%2C%22personalize%3AListSchemas%22%2C%22personalize%3AListSolutionVersions%22%2C%22personalize%3AListDatasetImportJobs%22%2C%22personalize%3AListDatasets%22%2C%22personalize%3AListEventTrackers%22%5D%2C%22Resource%22%3A%5B%22%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22s3%3AGetObject%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3As3%3A%3A%3Aretail-demo-store-us-east-1%22%2C%22arn%3Aaws%3As3%3A%3A%3Aretail-demo-store-us-east-1%2F%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22ivs%3AListStreamKeys%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Aivs%3Aus-east-1%3A044981683129%3A%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22ivs%3AGetChannel%22%2C%22ivs%3AGetStream%22%2C%22ivs%3APutMetadata%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Aivs%3Aus-east-1%3A044981683129%3Achannel%2F%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22ivs%3AGetStreamKey%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Aivs%3Aus-east-1%3A044981683129%3Astream-key%2F%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22events%3ADescribeRule%22%2C%22events%3AListRules%22%2C%22events%3AEnableRule%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Aevents%3Aus-east-1%3A044981683129%3Arule%2FRetailDemoStore-PersonalizePreCreateScheduledRule%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22lambda%3AInvokeFunction%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Alambda%3Aus-east-1%3A044981683129%3Afunction%3AAmazonPaySigningLambda%22%5D%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"others\\\"},{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22mobiletargeting%3ASendMessages%22%2C%22mobiletargeting%3AGetEndpoint%22%2C%22mobiletargeting%3AUpdateEndpoint%22%2C%22mobiletargeting%3APutEvents%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Amobiletargeting%3Aus-east-1%3A044981683129%3Aapps%2F%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22mobiletargeting%3APhoneNumberValidate%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Amobiletargeting%3Aus-east-1%3A044981683129%3Aphone%2Fnumber%2Fvalidate%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"PinpointSMS\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO44ZCNT2BOX","resourceName":"retaildemostore-Services-1WZNOPXSYAVK8-Or-TaskRole-H0LUUYYMXXJD","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"retaildemostore-Services-1WZNOPXSYAVK8-Or-TaskRole-H0LUUYYMXXJD","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":476.5,"y":-2248.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Or-TaskRole-H0LUUYYMXXJD/inlinePolicy/DynamoDB","resourceId":["arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Or-TaskRole-H0LUUYYMXXJD/inlinePolicy/DynamoDB","arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Or-TaskRole-H0LUUYYMXXJD/inlinePolicy/DynamoDB"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Or-TaskRole-H0LUUYYMXXJD/inlinePolicy/DynamoDB","title":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Or-TaskRole-H0LUUYYMXXJD/inlinePolicy/DynamoDB","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Or-TaskRole-H0LUUYYMXXJD/inlinePolicy/DynamoDB","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Or-TaskRole-H0LUUYYMXXJD/inlinePolicy/DynamoDB","name":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Or-TaskRole-H0LUUYYMXXJD/inlinePolicy/DynamoDB","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Or-TaskRole-H0LUUYYMXXJD/inlinePolicy/DynamoDB","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Or-TaskRole-H0LUUYYMXXJD/inlinePolicy/DynamoDB","configuration":"\"{\\\"policyName\\\":\\\"DynamoDB\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"dynamodb:*\\\"],\\\"Resource\\\":[\\\"arn:aws:dynamodb:us-east-1:044981683129:table/none\\\",\\\"arn:aws:dynamodb:us-east-1:044981683129:table/none\\\",\\\"arn:aws:dynamodb:us-east-1:044981683129:table/none\\\",\\\"arn:aws:dynamodb:us-east-1:044981683129:table/none/index/*\\\",\\\"arn:aws:dynamodb:us-east-1:044981683129:table/none/index/*\\\",\\\"arn:aws:dynamodb:us-east-1:044981683129:table/none/index/*\\\"],\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Or-TaskRole-H0LUUYYMXXJD/inlinePolicy/DynamoDB","resourceName":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Or-TaskRole-H0LUUYYMXXJD/inlinePolicy/DynamoDB","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Or-TaskRole-H0LUUYYMXXJD/inlinePolicy/DynamoDB","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1903.5,"y":-2321.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Or-TaskRole-H0LUUYYMXXJD/inlinePolicy/others","resourceId":["arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Or-TaskRole-H0LUUYYMXXJD/inlinePolicy/others","arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Or-TaskRole-H0LUUYYMXXJD/inlinePolicy/others"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Or-TaskRole-H0LUUYYMXXJD/inlinePolicy/others","title":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Or-TaskRole-H0LUUYYMXXJD/inlinePolicy/others","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Or-TaskRole-H0LUUYYMXXJD/inlinePolicy/others","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Or-TaskRole-H0LUUYYMXXJD/inlinePolicy/others","name":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Or-TaskRole-H0LUUYYMXXJD/inlinePolicy/others","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Or-TaskRole-H0LUUYYMXXJD/inlinePolicy/others","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Or-TaskRole-H0LUUYYMXXJD/inlinePolicy/others","configuration":"\"{\\\"policyName\\\":\\\"others\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"ssm:*\\\"],\\\"Resource\\\":\\\"arn:aws:ssm:us-east-1:044981683129:parameter/retaildemostore-*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"logs:CreateLogGroup\\\",\\\"logs:CreateLogStream\\\",\\\"logs:PutLogEvents\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"logs:CreateLogGroup\\\",\\\"personalize:CreateSchema\\\",\\\"personalize:CreateDatasetGroup\\\",\\\"personalize:CreateSolutionVersion\\\",\\\"personalize:CreateDatasetImportJob\\\",\\\"personalize:CreateSolution\\\",\\\"personalize:DescribeDatasetGroup\\\",\\\"personalize:DescribeDatasetImportJob\\\",\\\"personalize:DescribeSolution\\\",\\\"personalize:DescribeSolutionVersion\\\",\\\"personalize:DescribeEventTracker\\\",\\\"personalize:DescribeCampaign\\\",\\\"personalize:CreateCampaign\\\",\\\"personalize:CreateDataset\\\",\\\"personalize:CreateEventTracker\\\",\\\"personalize:CreateFilter\\\",\\\"personalize:GetPersonalizedRanking\\\",\\\"personalize:GetRecommendations\\\",\\\"personalize:DeleteEventTracker\\\",\\\"personalize:DescribeEventTracker\\\"],\\\"Resource\\\":[\\\"arn:aws:personalize:us-east-1:044981683129:*/retaildemo*\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"logs:CreateLogGroup\\\",\\\"personalize:ListCampaigns\\\",\\\"personalize:ListDatasetGroups\\\",\\\"personalize:ListSolutions\\\",\\\"personalize:ListSchemas\\\",\\\"personalize:ListSolutionVersions\\\",\\\"personalize:ListDatasetImportJobs\\\",\\\"personalize:ListDatasets\\\",\\\"personalize:ListEventTrackers\\\"],\\\"Resource\\\":[\\\"*\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"s3:GetObject\\\"],\\\"Resource\\\":[\\\"arn:aws:s3:::retail-demo-store-us-east-1\\\",\\\"arn:aws:s3:::retail-demo-store-us-east-1/*\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"ivs:ListStreamKeys\\\"],\\\"Resource\\\":[\\\"arn:aws:ivs:us-east-1:044981683129:*\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"ivs:GetChannel\\\",\\\"ivs:GetStream\\\",\\\"ivs:PutMetadata\\\"],\\\"Resource\\\":[\\\"arn:aws:ivs:us-east-1:044981683129:channel/*\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"ivs:GetStreamKey\\\"],\\\"Resource\\\":[\\\"arn:aws:ivs:us-east-1:044981683129:stream-key/*\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"events:DescribeRule\\\",\\\"events:ListRules\\\",\\\"events:EnableRule\\\"],\\\"Resource\\\":[\\\"arn:aws:events:us-east-1:044981683129:rule/RetailDemoStore-PersonalizePreCreateScheduledRule\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"lambda:InvokeFunction\\\"],\\\"Resource\\\":[\\\"arn:aws:lambda:us-east-1:044981683129:function:AmazonPaySigningLambda\\\"],\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Or-TaskRole-H0LUUYYMXXJD/inlinePolicy/others","resourceName":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Or-TaskRole-H0LUUYYMXXJD/inlinePolicy/others","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Or-TaskRole-H0LUUYYMXXJD/inlinePolicy/others","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1392.5,"y":-2248.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Or-TaskRole-H0LUUYYMXXJD/inlinePolicy/PinpointSMS","resourceId":["arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Or-TaskRole-H0LUUYYMXXJD/inlinePolicy/PinpointSMS","arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Or-TaskRole-H0LUUYYMXXJD/inlinePolicy/PinpointSMS"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Or-TaskRole-H0LUUYYMXXJD/inlinePolicy/PinpointSMS","title":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Or-TaskRole-H0LUUYYMXXJD/inlinePolicy/PinpointSMS","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Or-TaskRole-H0LUUYYMXXJD/inlinePolicy/PinpointSMS","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Or-TaskRole-H0LUUYYMXXJD/inlinePolicy/PinpointSMS","name":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Or-TaskRole-H0LUUYYMXXJD/inlinePolicy/PinpointSMS","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Or-TaskRole-H0LUUYYMXXJD/inlinePolicy/PinpointSMS","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Or-TaskRole-H0LUUYYMXXJD/inlinePolicy/PinpointSMS","configuration":"\"{\\\"policyName\\\":\\\"PinpointSMS\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"mobiletargeting:SendMessages\\\",\\\"mobiletargeting:GetEndpoint\\\",\\\"mobiletargeting:UpdateEndpoint\\\",\\\"mobiletargeting:PutEvents\\\"],\\\"Resource\\\":\\\"arn:aws:mobiletargeting:us-east-1:044981683129:apps/*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"mobiletargeting:PhoneNumberValidate\\\"],\\\"Resource\\\":\\\"arn:aws:mobiletargeting:us-east-1:044981683129:phone/number/validate\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Or-TaskRole-H0LUUYYMXXJD/inlinePolicy/PinpointSMS","resourceName":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Or-TaskRole-H0LUUYYMXXJD/inlinePolicy/PinpointSMS","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Or-TaskRole-H0LUUYYMXXJD/inlinePolicy/PinpointSMS","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1465.5,"y":-2248.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZWG5MDRSZ-Mac-RunLambdaRole-ESH3D3AAIQ9U","resourceId":["AROAQU6I6AO42ZHNWLLCA","arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZWG5MDRSZ-Mac-RunLambdaRole-ESH3D3AAIQ9U"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZWG5MDRSZ-Mac-RunLambdaRole-ESH3D3AAIQ9U","title":"mda-stack-Workload-1V66ZWG5MDRSZ-Mac-RunLambdaRole-ESH3D3AAIQ9U","label":"mda-stack-Wo...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZWG5MDRSZ-Mac-RunLambdaRole-ESH3D3AAIQ9U","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO42ZHNWLLCA","name":"mda-stack-Workload-1V66ZWG5MDRSZ-Mac-RunLambdaRole-ESH3D3AAIQ9U","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZWG5MDRSZ-Mac-RunLambdaRole-ESH3D3AAIQ9U","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZWG5MDRSZ-Mac-RunLambdaRole-ESH3D3AAIQ9U","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22lambda.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO42ZHNWLLCA\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/AmazonS3FullAccess\\\",\\\"policyName\\\":\\\"AmazonS3FullAccess\\\"},{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/AmazonDynamoDBFullAccess\\\",\\\"policyName\\\":\\\"AmazonDynamoDBFullAccess\\\"},{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/AmazonAthenaFullAccess\\\",\\\"policyName\\\":\\\"AmazonAthenaFullAccess\\\"},{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole\\\",\\\"policyName\\\":\\\"AWSGlueServiceRole\\\"},{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole\\\",\\\"policyName\\\":\\\"AWSLambdaBasicExecutionRole\\\"},{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/AWSStepFunctionsFullAccess\\\",\\\"policyName\\\":\\\"AWSStepFunctionsFullAccess\\\"},{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/AmazonSageMakerFullAccess\\\",\\\"policyName\\\":\\\"AmazonSageMakerFullAccess\\\"}],\\\"roleName\\\":\\\"mda-stack-Workload-1V66ZWG5MDRSZ-Mac-RunLambdaRole-ESH3D3AAIQ9U\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZWG5MDRSZ-Mac-RunLambdaRole-ESH3D3AAIQ9U\\\",\\\"createDate\\\":\\\"2022-07-06T15:10:20.000Z\\\",\\\"rolePolicyList\\\":[],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO42ZHNWLLCA","resourceName":"mda-stack-Workload-1V66ZWG5MDRSZ-Mac-RunLambdaRole-ESH3D3AAIQ9U","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"mda-stack-Workload-1V66ZWG5MDRSZ-Mac-RunLambdaRole-ESH3D3AAIQ9U","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":549.5,"y":-2248.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/aws-perspective-v2-S3Buck-CleanupBucketFunctionRol-I53DFJ229YA6","resourceId":["AROAQU6I6AO452MNBVLR7","arn:aws:iam::044981683129:role/aws-perspective-v2-S3Buck-CleanupBucketFunctionRol-I53DFJ229YA6"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/aws-perspective-v2-S3Buck-CleanupBucketFunctionRol-I53DFJ229YA6","title":"aws-perspective-v2-S3Buck-CleanupBucketFunctionRol-I53DFJ229YA6","label":"aws-perspect...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/aws-perspective-v2-S3Buck-CleanupBucketFunctionRol-I53DFJ229YA6","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO452MNBVLR7","name":"aws-perspective-v2-S3Buck-CleanupBucketFunctionRol-I53DFJ229YA6","value":null,"type":"AWS::IAM::Role","tags":"[{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"}]","arn":"arn:aws:iam::044981683129:role/aws-perspective-v2-S3Buck-CleanupBucketFunctionRol-I53DFJ229YA6","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/aws-perspective-v2-S3Buck-CleanupBucketFunctionRol-I53DFJ229YA6","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22lambda.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO452MNBVLR7\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole\\\",\\\"policyName\\\":\\\"AWSLambdaBasicExecutionRole\\\"}],\\\"roleName\\\":\\\"aws-perspective-v2-S3Buck-CleanupBucketFunctionRol-I53DFJ229YA6\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/aws-perspective-v2-S3Buck-CleanupBucketFunctionRol-I53DFJ229YA6\\\",\\\"createDate\\\":\\\"2022-08-30T10:43:38.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22s3%3ADeleteObject%2A%22%2C%22s3%3AListBucket%2A%22%2C%22s3%3AListObject%2A%22%2C%22s3%3APutBucketLogging%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3As3%3A%3A%3Aaws-perspective-v2-s3buckets-129-accesslogsbucket-1kkp1emcdcqi5%22%2C%22arn%3Aaws%3As3%3A%3A%3Aaws-perspective-v2-s3buckets-129-accesslogsbucket-1kkp1emcdcqi5%2F%2A%22%2C%22arn%3Aaws%3As3%3A%3A%3Aaws-perspective-v2-s3buckets-amplifystoragebucket-19i7cq9dud6gk%22%2C%22arn%3Aaws%3As3%3A%3A%3Aaws-perspective-v2-s3buckets-amplifystoragebucket-19i7cq9dud6gk%2F%2A%22%2C%22arn%3Aaws%3As3%3A%3A%3Aaws-perspective-v2-s3buck-codebuildartifactbucket-3g1iyrsw5dcc%22%2C%22arn%3Aaws%3As3%3A%3A%3Aaws-perspective-v2-s3buck-codebuildartifactbucket-3g1iyrsw5dcc%2F%2A%22%2C%22arn%3Aaws%3As3%3A%3A%3Aaws-perspective-v2-s3buc-costandusagereportbucket-10n803wepxf8t%22%2C%22arn%3Aaws%3As3%3A%3A%3Aaws-perspective-v2-s3buc-costandusagereportbucket-10n803wepxf8t%2F%2A%22%2C%22arn%3Aaws%3As3%3A%3A%3Aaws-perspective-v2-s3buc-costandusageathenaresult-1pah0hs7rbhk1%22%2C%22arn%3Aaws%3As3%3A%3A%3Aaws-perspective-v2-s3buc-costandusageathenaresult-1pah0hs7rbhk1%2F%2A%22%2C%22arn%3Aaws%3As3%3A%3A%3Aaws-perspective-v2-s3buckets-129o-discoverybucket-i9s509n92whm%22%2C%22arn%3Aaws%3As3%3A%3A%3Aaws-perspective-v2-s3buckets-129o-discoverybucket-i9s509n92whm%2F%2A%22%2C%22arn%3Aaws%3As3%3A%3A%3Aaws-perspective-v2-s3buckets-129o2pzq-webuibucket-1nqji1x2xy4j6%22%2C%22arn%3Aaws%3As3%3A%3A%3Aaws-perspective-v2-s3buckets-129o2pzq-webuibucket-1nqji1x2xy4j6%2F%2A%22%2C%22arn%3Aaws%3As3%3A%3A%3Aaws-perspective-v2-s3buckets-129o2pz-configbucket-juhyavgc800l%22%2C%22arn%3Aaws%3As3%3A%3A%3Aaws-perspective-v2-s3buckets-129o2pz-configbucket-juhyavgc800l%2F%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"CleanupBucketFunctionRolePolicy0\\\"}],\\\"tags\\\":[{\\\"value\\\":\\\"SAM\\\",\\\"key\\\":\\\"lambda:createdBy\\\"}]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO452MNBVLR7","resourceName":"aws-perspective-v2-S3Buck-CleanupBucketFunctionRol-I53DFJ229YA6","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"}]","title":"aws-perspective-v2-S3Buck-CleanupBucketFunctionRol-I53DFJ229YA6","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":622.5,"y":-2248.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/aws-perspective-v2-S3Buck-CleanupBucketFunctionRol-I53DFJ229YA6/inlinePolicy/CleanupBucketFunctionRolePolicy0","resourceId":["arn:aws:iam::044981683129:role/aws-perspective-v2-S3Buck-CleanupBucketFunctionRol-I53DFJ229YA6/inlinePolicy/CleanupBucketFunctionRolePolicy0","arn:aws:iam::044981683129:role/aws-perspective-v2-S3Buck-CleanupBucketFunctionRol-I53DFJ229YA6/inlinePolicy/CleanupBucketFunctionRolePolicy0"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/aws-perspective-v2-S3Buck-CleanupBucketFunctionRol-I53DFJ229YA6/inlinePolicy/CleanupBucketFunctionRolePolicy0","title":"arn:aws:iam::044981683129:role/aws-perspective-v2-S3Buck-CleanupBucketFunctionRol-I53DFJ229YA6/inlinePolicy/CleanupBucketFunctionRolePolicy0","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/aws-perspective-v2-S3Buck-CleanupBucketFunctionRol-I53DFJ229YA6/inlinePolicy/CleanupBucketFunctionRolePolicy0","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/aws-perspective-v2-S3Buck-CleanupBucketFunctionRol-I53DFJ229YA6/inlinePolicy/CleanupBucketFunctionRolePolicy0","name":"arn:aws:iam::044981683129:role/aws-perspective-v2-S3Buck-CleanupBucketFunctionRol-I53DFJ229YA6/inlinePolicy/CleanupBucketFunctionRolePolicy0","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/aws-perspective-v2-S3Buck-CleanupBucketFunctionRol-I53DFJ229YA6/inlinePolicy/CleanupBucketFunctionRolePolicy0","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/aws-perspective-v2-S3Buck-CleanupBucketFunctionRol-I53DFJ229YA6/inlinePolicy/CleanupBucketFunctionRolePolicy0","configuration":"\"{\\\"policyName\\\":\\\"CleanupBucketFunctionRolePolicy0\\\",\\\"policyDocument\\\":{\\\"Statement\\\":[{\\\"Action\\\":[\\\"s3:DeleteObject*\\\",\\\"s3:ListBucket*\\\",\\\"s3:ListObject*\\\",\\\"s3:PutBucketLogging\\\"],\\\"Resource\\\":[\\\"arn:aws:s3:::aws-perspective-v2-s3buckets-129-accesslogsbucket-1kkp1emcdcqi5\\\",\\\"arn:aws:s3:::aws-perspective-v2-s3buckets-129-accesslogsbucket-1kkp1emcdcqi5/*\\\",\\\"arn:aws:s3:::aws-perspective-v2-s3buckets-amplifystoragebucket-19i7cq9dud6gk\\\",\\\"arn:aws:s3:::aws-perspective-v2-s3buckets-amplifystoragebucket-19i7cq9dud6gk/*\\\",\\\"arn:aws:s3:::aws-perspective-v2-s3buck-codebuildartifactbucket-3g1iyrsw5dcc\\\",\\\"arn:aws:s3:::aws-perspective-v2-s3buck-codebuildartifactbucket-3g1iyrsw5dcc/*\\\",\\\"arn:aws:s3:::aws-perspective-v2-s3buc-costandusagereportbucket-10n803wepxf8t\\\",\\\"arn:aws:s3:::aws-perspective-v2-s3buc-costandusagereportbucket-10n803wepxf8t/*\\\",\\\"arn:aws:s3:::aws-perspective-v2-s3buc-costandusageathenaresult-1pah0hs7rbhk1\\\",\\\"arn:aws:s3:::aws-perspective-v2-s3buc-costandusageathenaresult-1pah0hs7rbhk1/*\\\",\\\"arn:aws:s3:::aws-perspective-v2-s3buckets-129o-discoverybucket-i9s509n92whm\\\",\\\"arn:aws:s3:::aws-perspective-v2-s3buckets-129o-discoverybucket-i9s509n92whm/*\\\",\\\"arn:aws:s3:::aws-perspective-v2-s3buckets-129o2pzq-webuibucket-1nqji1x2xy4j6\\\",\\\"arn:aws:s3:::aws-perspective-v2-s3buckets-129o2pzq-webuibucket-1nqji1x2xy4j6/*\\\",\\\"arn:aws:s3:::aws-perspective-v2-s3buckets-129o2pz-configbucket-juhyavgc800l\\\",\\\"arn:aws:s3:::aws-perspective-v2-s3buckets-129o2pz-configbucket-juhyavgc800l/*\\\"],\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/aws-perspective-v2-S3Buck-CleanupBucketFunctionRol-I53DFJ229YA6/inlinePolicy/CleanupBucketFunctionRolePolicy0","resourceName":"arn:aws:iam::044981683129:role/aws-perspective-v2-S3Buck-CleanupBucketFunctionRol-I53DFJ229YA6/inlinePolicy/CleanupBucketFunctionRolePolicy0","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/aws-perspective-v2-S3Buck-CleanupBucketFunctionRol-I53DFJ229YA6/inlinePolicy/CleanupBucketFunctionRolePolicy0","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1538.5,"y":-2248.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/aws-perspective-v2-EchoFunctionRole-6RQ7JJ3JEBTT","resourceId":["AROAQU6I6AO453LTKKTLF","arn:aws:iam::044981683129:role/aws-perspective-v2-EchoFunctionRole-6RQ7JJ3JEBTT"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/aws-perspective-v2-EchoFunctionRole-6RQ7JJ3JEBTT","title":"aws-perspective-v2-EchoFunctionRole-6RQ7JJ3JEBTT","label":"aws-perspect...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/aws-perspective-v2-EchoFunctionRole-6RQ7JJ3JEBTT","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO453LTKKTLF","name":"aws-perspective-v2-EchoFunctionRole-6RQ7JJ3JEBTT","value":null,"type":"AWS::IAM::Role","tags":"[{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"}]","arn":"arn:aws:iam::044981683129:role/aws-perspective-v2-EchoFunctionRole-6RQ7JJ3JEBTT","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/aws-perspective-v2-EchoFunctionRole-6RQ7JJ3JEBTT","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22lambda.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO453LTKKTLF\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole\\\",\\\"policyName\\\":\\\"AWSLambdaBasicExecutionRole\\\"}],\\\"roleName\\\":\\\"aws-perspective-v2-EchoFunctionRole-6RQ7JJ3JEBTT\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/aws-perspective-v2-EchoFunctionRole-6RQ7JJ3JEBTT\\\",\\\"createDate\\\":\\\"2022-08-30T10:41:43.000Z\\\",\\\"rolePolicyList\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"SAM\\\",\\\"key\\\":\\\"lambda:createdBy\\\"}]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO453LTKKTLF","resourceName":"aws-perspective-v2-EchoFunctionRole-6RQ7JJ3JEBTT","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"}]","title":"aws-perspective-v2-EchoFunctionRole-6RQ7JJ3JEBTT","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":695.5,"y":-2248.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/ecs-refarch-london-Lifecy-AutoscalingNotificationR-GPS057GXI0F5","resourceId":["AROAQU6I6AO45I5HZITCZ","arn:aws:iam::044981683129:role/ecs-refarch-london-Lifecy-AutoscalingNotificationR-GPS057GXI0F5"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/ecs-refarch-london-Lifecy-AutoscalingNotificationR-GPS057GXI0F5","title":"ecs-refarch-london-Lifecy-AutoscalingNotificationR-GPS057GXI0F5","label":"ecs-refarch-...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/ecs-refarch-london-Lifecy-AutoscalingNotificationR-GPS057GXI0F5","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO45I5HZITCZ","name":"ecs-refarch-london-Lifecy-AutoscalingNotificationR-GPS057GXI0F5","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/ecs-refarch-london-Lifecy-AutoscalingNotificationR-GPS057GXI0F5","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/ecs-refarch-london-Lifecy-AutoscalingNotificationR-GPS057GXI0F5","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22autoscaling.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO45I5HZITCZ\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/service-role/AutoScalingNotificationAccessRole\\\",\\\"policyName\\\":\\\"AutoScalingNotificationAccessRole\\\"}],\\\"roleName\\\":\\\"ecs-refarch-london-Lifecy-AutoscalingNotificationR-GPS057GXI0F5\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/ecs-refarch-london-Lifecy-AutoscalingNotificationR-GPS057GXI0F5\\\",\\\"createDate\\\":\\\"2022-03-02T17:30:06.000Z\\\",\\\"rolePolicyList\\\":[],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO45I5HZITCZ","resourceName":"ecs-refarch-london-Lifecy-AutoscalingNotificationR-GPS057GXI0F5","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"ecs-refarch-london-Lifecy-AutoscalingNotificationR-GPS057GXI0F5","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":768.5,"y":-2248.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/aws-service-role/spot.amazonaws.com/AWSServiceRoleForEC2Spot","resourceId":["AROAQU6I6AO45X7SAZF2S","arn:aws:iam::044981683129:role/aws-service-role/spot.amazonaws.com/AWSServiceRoleForEC2Spot"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/aws-service-role/spot.amazonaws.com/AWSServiceRoleForEC2Spot","title":"AWSServiceRoleForEC2Spot","label":"AWSServiceRo...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/aws-service-role/spot.amazonaws.com/AWSServiceRoleForEC2Spot","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO45X7SAZF2S","name":"AWSServiceRoleForEC2Spot","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/aws-service-role/spot.amazonaws.com/AWSServiceRoleForEC2Spot","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/aws-service-role/spot.amazonaws.com/AWSServiceRoleForEC2Spot","configuration":"\"{\\\"path\\\":\\\"/aws-service-role/spot.amazonaws.com/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22spot.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO45X7SAZF2S\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/aws-service-role/AWSEC2SpotServiceRolePolicy\\\",\\\"policyName\\\":\\\"AWSEC2SpotServiceRolePolicy\\\"}],\\\"roleName\\\":\\\"AWSServiceRoleForEC2Spot\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/aws-service-role/spot.amazonaws.com/AWSServiceRoleForEC2Spot\\\",\\\"createDate\\\":\\\"2022-03-15T19:00:05.000Z\\\",\\\"rolePolicyList\\\":[],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO45X7SAZF2S","resourceName":"AWSServiceRoleForEC2Spot","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"AWSServiceRoleForEC2Spot","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":841.5,"y":-2248.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-CodebuildS-CodeBuildRole-RURGAEKKVPW9","resourceId":["AROAQU6I6AO466PXNMDZJ","arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-CodebuildS-CodeBuildRole-RURGAEKKVPW9"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-CodebuildS-CodeBuildRole-RURGAEKKVPW9","title":"Workload-Discovery-on-AWS-CodebuildS-CodeBuildRole-RURGAEKKVPW9","label":"Workload-Dis...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-CodebuildS-CodeBuildRole-RURGAEKKVPW9","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO466PXNMDZJ","name":"Workload-Discovery-on-AWS-CodebuildS-CodeBuildRole-RURGAEKKVPW9","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-CodebuildS-CodeBuildRole-RURGAEKKVPW9","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-CodebuildS-CodeBuildRole-RURGAEKKVPW9","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222008-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22codebuild.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO466PXNMDZJ\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"Workload-Discovery-on-AWS-CodebuildS-CodeBuildRole-RURGAEKKVPW9\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-CodebuildS-CodeBuildRole-RURGAEKKVPW9\\\",\\\"createDate\\\":\\\"2023-02-28T14:34:52.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22logs%3ACreateLogGroup%22%2C%22logs%3ACreateLogStream%22%2C%22logs%3APutLogEvents%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Alogs%3Aeu-central-1%3A044981683129%3Alog-group%3A%2Faws%2Fcodebuild%2F%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22ecr%3AGetAuthorizationToken%22%2C%22ecr%3AGetDownloadUrlForLayer%22%2C%22ecr%3ABatchGetImage%22%2C%22ecr%3ABatchCheckLayerAvailability%22%2C%22ecr%3APutImage%22%2C%22ecr%3AInitiateLayerUpload%22%2C%22ecr%3AUploadLayerPart%22%2C%22ecr%3ACompleteLayerUpload%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Aecr%3Aeu-central-1%3A044981683129%3Arepository%2Fworkload-discovery-on-aws-taskstack-db8ysm4i2xj5-perspectivecontainerrepo-bibz6b2msppg%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22ecr%3AGetAuthorizationToken%22%5D%2C%22Resource%22%3A%5B%22%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22s3%3AGetObject%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3As3%3A%3A%3Asolutions-eu-central-1%2F%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22cloudfront%3ACreateInvalidation%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Acloudfront%3A%3A044981683129%3Adistribution%2FE1SU7SICZX19KV%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22s3%3APutObject%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3As3%3A%3A%3Aworkload-discovery-on-aws-s3buckets-1-webuibucket-5g3ejcnydv2s%2F%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"Workload-Discovery-on-AWS-CodebuildStack-SQWV7P6HGHI5-codebuild\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO466PXNMDZJ","resourceName":"Workload-Discovery-on-AWS-CodebuildS-CodeBuildRole-RURGAEKKVPW9","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"Workload-Discovery-on-AWS-CodebuildS-CodeBuildRole-RURGAEKKVPW9","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":914.5,"y":-2248.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-CodebuildS-CodeBuildRole-RURGAEKKVPW9/inlinePolicy/Workload-Discovery-on-AWS-CodebuildStack-SQWV7P6HGHI5-codebuild","resourceId":["arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-CodebuildS-CodeBuildRole-RURGAEKKVPW9/inlinePolicy/Workload-Discovery-on-AWS-CodebuildStack-SQWV7P6HGHI5-codebuild","arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-CodebuildS-CodeBuildRole-RURGAEKKVPW9/inlinePolicy/Workload-Discovery-on-AWS-CodebuildStack-SQWV7P6HGHI5-codebuild"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-CodebuildS-CodeBuildRole-RURGAEKKVPW9/inlinePolicy/Workload-Discovery-on-AWS-CodebuildStack-SQWV7P6HGHI5-codebuild","title":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-CodebuildS-CodeBuildRole-RURGAEKKVPW9/inlinePolicy/Workload-Discovery-on-AWS-CodebuildStack-SQWV7P6HGHI5-codebuild","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-CodebuildS-CodeBuildRole-RURGAEKKVPW9/inlinePolicy/Workload-Discovery-on-AWS-CodebuildStack-SQWV7P6HGHI5-codebuild","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-CodebuildS-CodeBuildRole-RURGAEKKVPW9/inlinePolicy/Workload-Discovery-on-AWS-CodebuildStack-SQWV7P6HGHI5-codebuild","name":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-CodebuildS-CodeBuildRole-RURGAEKKVPW9/inlinePolicy/Workload-Discovery-on-AWS-CodebuildStack-SQWV7P6HGHI5-codebuild","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-CodebuildS-CodeBuildRole-RURGAEKKVPW9/inlinePolicy/Workload-Discovery-on-AWS-CodebuildStack-SQWV7P6HGHI5-codebuild","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-CodebuildS-CodeBuildRole-RURGAEKKVPW9/inlinePolicy/Workload-Discovery-on-AWS-CodebuildStack-SQWV7P6HGHI5-codebuild","configuration":"\"{\\\"policyName\\\":\\\"Workload-Discovery-on-AWS-CodebuildStack-SQWV7P6HGHI5-codebuild\\\",\\\"policyDocument\\\":{\\\"Statement\\\":[{\\\"Action\\\":[\\\"logs:CreateLogGroup\\\",\\\"logs:CreateLogStream\\\",\\\"logs:PutLogEvents\\\"],\\\"Resource\\\":[\\\"arn:aws:logs:eu-central-1:044981683129:log-group:/aws/codebuild/*\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"ecr:GetAuthorizationToken\\\",\\\"ecr:GetDownloadUrlForLayer\\\",\\\"ecr:BatchGetImage\\\",\\\"ecr:BatchCheckLayerAvailability\\\",\\\"ecr:PutImage\\\",\\\"ecr:InitiateLayerUpload\\\",\\\"ecr:UploadLayerPart\\\",\\\"ecr:CompleteLayerUpload\\\"],\\\"Resource\\\":[\\\"arn:aws:ecr:eu-central-1:044981683129:repository/workload-discovery-on-aws-taskstack-db8ysm4i2xj5-perspectivecontainerrepo-bibz6b2msppg*\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"ecr:GetAuthorizationToken\\\"],\\\"Resource\\\":[\\\"*\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"s3:GetObject\\\"],\\\"Resource\\\":[\\\"arn:aws:s3:::solutions-eu-central-1/*\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"cloudfront:CreateInvalidation\\\"],\\\"Resource\\\":\\\"arn:aws:cloudfront::044981683129:distribution/E1SU7SICZX19KV\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"s3:PutObject\\\"],\\\"Resource\\\":[\\\"arn:aws:s3:::workload-discovery-on-aws-s3buckets-1-webuibucket-5g3ejcnydv2s/*\\\"],\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-CodebuildS-CodeBuildRole-RURGAEKKVPW9/inlinePolicy/Workload-Discovery-on-AWS-CodebuildStack-SQWV7P6HGHI5-codebuild","resourceName":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-CodebuildS-CodeBuildRole-RURGAEKKVPW9/inlinePolicy/Workload-Discovery-on-AWS-CodebuildStack-SQWV7P6HGHI5-codebuild","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-CodebuildS-CodeBuildRole-RURGAEKKVPW9/inlinePolicy/Workload-Discovery-on-AWS-CodebuildStack-SQWV7P6HGHI5-codebuild","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1611.5,"y":-2248.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/test-ecs-adminrole","resourceId":["AROAQU6I6AO44BUOTFLY5","arn:aws:iam::044981683129:role/test-ecs-adminrole"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/test-ecs-adminrole","title":"test-ecs-adminrole","label":"test-ecs-adm...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/test-ecs-adminrole","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO44BUOTFLY5","name":"test-ecs-adminrole","value":null,"type":"AWS::IAM::Role","tags":"[{\"tag\":\"copilot-application=test-ecs\",\"value\":\"test-ecs\",\"key\":\"copilot-application\"}]","arn":"arn:aws:iam::044981683129:role/test-ecs-adminrole","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/test-ecs-adminrole","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22cloudformation.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO44BUOTFLY5\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"test-ecs-adminrole\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/test-ecs-adminrole\\\",\\\"createDate\\\":\\\"2021-10-14T17:19:58.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22sts%3AAssumeRole%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Aiam%3A%3A%2A%3Arole%2Ftest-ecs-adminrole%22%5D%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"AssumeRole-AWSCloudFormationStackSetExecutionRole\\\"}],\\\"tags\\\":[{\\\"value\\\":\\\"test-ecs\\\",\\\"key\\\":\\\"copilot-application\\\"}]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO44BUOTFLY5","resourceName":"test-ecs-adminrole","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[{\"tag\":\"copilot-application=test-ecs\",\"value\":\"test-ecs\",\"key\":\"copilot-application\"}]","title":"test-ecs-adminrole","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":987.5,"y":-2248.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/test-ecs-adminrole/inlinePolicy/AssumeRole-AWSCloudFormationStackSetExecutionRole","resourceId":["arn:aws:iam::044981683129:role/test-ecs-adminrole/inlinePolicy/AssumeRole-AWSCloudFormationStackSetExecutionRole","arn:aws:iam::044981683129:role/test-ecs-adminrole/inlinePolicy/AssumeRole-AWSCloudFormationStackSetExecutionRole"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/test-ecs-adminrole/inlinePolicy/AssumeRole-AWSCloudFormationStackSetExecutionRole","title":"arn:aws:iam::044981683129:role/test-ecs-adminrole/inlinePolicy/AssumeRole-AWSCloudFormationStackSetExecutionRole","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/test-ecs-adminrole/inlinePolicy/AssumeRole-AWSCloudFormationStackSetExecutionRole","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/test-ecs-adminrole/inlinePolicy/AssumeRole-AWSCloudFormationStackSetExecutionRole","name":"arn:aws:iam::044981683129:role/test-ecs-adminrole/inlinePolicy/AssumeRole-AWSCloudFormationStackSetExecutionRole","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/test-ecs-adminrole/inlinePolicy/AssumeRole-AWSCloudFormationStackSetExecutionRole","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/test-ecs-adminrole/inlinePolicy/AssumeRole-AWSCloudFormationStackSetExecutionRole","configuration":"\"{\\\"policyName\\\":\\\"AssumeRole-AWSCloudFormationStackSetExecutionRole\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"sts:AssumeRole\\\"],\\\"Resource\\\":[\\\"arn:aws:iam::*:role/test-ecs-adminrole\\\"],\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/test-ecs-adminrole/inlinePolicy/AssumeRole-AWSCloudFormationStackSetExecutionRole","resourceName":"arn:aws:iam::044981683129:role/test-ecs-adminrole/inlinePolicy/AssumeRole-AWSCloudFormationStackSetExecutionRole","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/test-ecs-adminrole/inlinePolicy/AssumeRole-AWSCloudFormationStackSetExecutionRole","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1684.5,"y":-2248.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:tags::044981683129:tag/copilot-application=test-ecs","resourceId":["arn:aws:tags::044981683129:tag/copilot-application=test-ecs","arn:aws:tags::044981683129:tag/copilot-application=test-ecs"],"parent":"Tag-global-044981683129","level":3,"id":"arn:aws:tags::044981683129:tag/copilot-application=test-ecs","title":"copilot-application=test-ecs","label":"copilot-appl...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:tags::044981683129:tag/copilot-application=test-ecs","image":"/icons/AWS-Tags-bg.svg","cost":0,"private":false,"resource":{"id":"arn:aws:tags::044981683129:tag/copilot-application=test-ecs","name":"copilot-application=test-ecs","value":null,"type":"AWS::Tags::Tag","tags":"[]","arn":"arn:aws:tags::044981683129:tag/copilot-application=test-ecs","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:tags::044981683129:tag/copilot-application=test-ecs","configuration":"\"{}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:tags::044981683129:tag/copilot-application=test-ecs","resourceName":"copilot-application=test-ecs","resourceType":"AWS::Tags::Tag","resourceValue":null,"state":null,"tags":"[]","title":"copilot-application=test-ecs","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":695.5,"y":-1680.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:cloudformation:eu-west-1:044981683129:stack/test-ecs-infrastructure-roles/ef131830-2d12-11ec-a109-066dd7ff80a3","resourceId":["arn:aws:cloudformation:eu-west-1:044981683129:stack/test-ecs-infrastructure-roles/ef131830-2d12-11ec-a109-066dd7ff80a3","arn:aws:cloudformation:eu-west-1:044981683129:stack/test-ecs-infrastructure-roles/ef131830-2d12-11ec-a109-066dd7ff80a3"],"parent":"Stack-eu-west-1-044981683129","level":3,"id":"arn:aws:cloudformation:eu-west-1:044981683129:stack/test-ecs-infrastructure-roles/ef131830-2d12-11ec-a109-066dd7ff80a3","title":"test-ecs-infrastructure-roles","label":"test-ecs-inf...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:cloudformation:eu-west-1:044981683129:stack/test-ecs-infrastructure-roles/ef131830-2d12-11ec-a109-066dd7ff80a3","image":"/icons/AWS-CloudFormation.svg","cost":0,"private":false,"resource":{"id":"arn:aws:cloudformation:eu-west-1:044981683129:stack/test-ecs-infrastructure-roles/ef131830-2d12-11ec-a109-066dd7ff80a3","name":"test-ecs-infrastructure-roles","value":null,"type":"AWS::CloudFormation::Stack","tags":"[{\"tag\":\"copilot-application=test-ecs\",\"value\":\"test-ecs\",\"key\":\"copilot-application\"}]","arn":"arn:aws:cloudformation:eu-west-1:044981683129:stack/test-ecs-infrastructure-roles/ef131830-2d12-11ec-a109-066dd7ff80a3","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:cloudformation:eu-west-1:044981683129:stack/test-ecs-infrastructure-roles/ef131830-2d12-11ec-a109-066dd7ff80a3","configuration":"\"{\\\"outputs\\\":[{\\\"outputKey\\\":\\\"ExecutionRoleARN\\\",\\\"outputValue\\\":\\\"arn:aws:iam::044981683129:role/test-ecs-executionrole\\\",\\\"description\\\":\\\"ExecutionRole used by this application to set up ECR Repos, KMS Keys and S3 buckets\\\"},{\\\"outputKey\\\":\\\"AdministrationRoleARN\\\",\\\"outputValue\\\":\\\"arn:aws:iam::044981683129:role/test-ecs-adminrole\\\",\\\"description\\\":\\\"AdministrationRole used by this application to manage this application's StackSet\\\"},{\\\"outputKey\\\":\\\"TemplateVersion\\\",\\\"outputValue\\\":\\\"v1.0.2\\\",\\\"description\\\":\\\"Required output to force the stack to update if mutating version.\\\"}],\\\"capabilities\\\":[\\\"CAPABILITY_IAM\\\",\\\"CAPABILITY_NAMED_IAM\\\",\\\"CAPABILITY_AUTO_EXPAND\\\"],\\\"creationTime\\\":\\\"2021-10-14T17:19:48Z\\\",\\\"notificationARNs\\\":[],\\\"stackId\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/test-ecs-infrastructure-roles/ef131830-2d12-11ec-a109-066dd7ff80a3\\\",\\\"stackName\\\":\\\"test-ecs-infrastructure-roles\\\",\\\"description\\\":\\\"Configure the AWSCloudFormationStackSetAdministrationRole to enable use of AWS CloudFormation StackSets.\\\",\\\"stackStatus\\\":\\\"CREATE_COMPLETE\\\",\\\"disableRollback\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"test-ecs\\\",\\\"key\\\":\\\"copilot-application\\\"}],\\\"driftInformation\\\":{\\\"stackDriftStatus\\\":\\\"NOT_CHECKED\\\"},\\\"enableTerminationProtection\\\":false,\\\"lastUpdatedTime\\\":\\\"2021-10-14T17:19:54Z\\\",\\\"parameters\\\":[{\\\"parameterKey\\\":\\\"AppDomainHostedZoneID\\\",\\\"parameterValue\\\":\\\"\\\"},{\\\"parameterKey\\\":\\\"AdminRoleName\\\",\\\"parameterValue\\\":\\\"test-ecs-adminrole\\\"},{\\\"parameterKey\\\":\\\"AppDomainName\\\",\\\"parameterValue\\\":\\\"\\\"},{\\\"parameterKey\\\":\\\"AppDNSDelegatedAccounts\\\",\\\"parameterValue\\\":\\\"044981683129\\\"},{\\\"parameterKey\\\":\\\"ExecutionRoleName\\\",\\\"parameterValue\\\":\\\"test-ecs-executionrole\\\"},{\\\"parameterKey\\\":\\\"DNSDelegationRoleName\\\",\\\"parameterValue\\\":\\\"test-ecs-DNSDelegationRole\\\"},{\\\"parameterKey\\\":\\\"AppName\\\",\\\"parameterValue\\\":\\\"test-ecs\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Regional","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:cloudformation:eu-west-1:044981683129:stack/test-ecs-infrastructure-roles/ef131830-2d12-11ec-a109-066dd7ff80a3","resourceName":"test-ecs-infrastructure-roles","resourceType":"AWS::CloudFormation::Stack","resourceValue":null,"state":null,"tags":"[{\"tag\":\"copilot-application=test-ecs\",\"value\":\"test-ecs\",\"key\":\"copilot-application\"}]","title":"test-ecs-infrastructure-roles","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-726.5,"y":-412.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-PerspectiveAppSyncLoggin-14QKOBBLF2APU","resourceId":["AROAQU6I6AO46LBCPZTXE","arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-PerspectiveAppSyncLoggin-14QKOBBLF2APU"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-PerspectiveAppSyncLoggin-14QKOBBLF2APU","title":"Workload-Discovery-on-AWS-PerspectiveAppSyncLoggin-14QKOBBLF2APU","label":"Workload-Dis...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-PerspectiveAppSyncLoggin-14QKOBBLF2APU","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO46LBCPZTXE","name":"Workload-Discovery-on-AWS-PerspectiveAppSyncLoggin-14QKOBBLF2APU","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-PerspectiveAppSyncLoggin-14QKOBBLF2APU","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-PerspectiveAppSyncLoggin-14QKOBBLF2APU","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22appsync.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO46LBCPZTXE\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"Workload-Discovery-on-AWS-PerspectiveAppSyncLoggin-14QKOBBLF2APU\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-PerspectiveAppSyncLoggin-14QKOBBLF2APU\\\",\\\"createDate\\\":\\\"2023-02-28T14:31:30.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22logs%3ACreateLogGroup%22%2C%22logs%3ACreateLogStream%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22logs%3APutLogEvents%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Alogs%3Aeu-central-1%3A044981683129%3Alog-group%3A%2A%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"Workload-Discovery-on-AWS-AppSyncApiStack-1B9V7FL7KO0GP-AWSAppSyncPushToCloudWatchLogsPolicy\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO46LBCPZTXE","resourceName":"Workload-Discovery-on-AWS-PerspectiveAppSyncLoggin-14QKOBBLF2APU","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"Workload-Discovery-on-AWS-PerspectiveAppSyncLoggin-14QKOBBLF2APU","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":1060.5,"y":-2759.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-PerspectiveAppSyncLoggin-14QKOBBLF2APU/inlinePolicy/Workload-Discovery-on-AWS-AppSyncApiStack-1B9V7FL7KO0GP-AWSAppSyncPushToCloudWatchLogsPolicy","resourceId":["arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-PerspectiveAppSyncLoggin-14QKOBBLF2APU/inlinePolicy/Workload-Discovery-on-AWS-AppSyncApiStack-1B9V7FL7KO0GP-AWSAppSyncPushToCloudWatchLogsPolicy","arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-PerspectiveAppSyncLoggin-14QKOBBLF2APU/inlinePolicy/Workload-Discovery-on-AWS-AppSyncApiStack-1B9V7FL7KO0GP-AWSAppSyncPushToCloudWatchLogsPolicy"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-PerspectiveAppSyncLoggin-14QKOBBLF2APU/inlinePolicy/Workload-Discovery-on-AWS-AppSyncApiStack-1B9V7FL7KO0GP-AWSAppSyncPushToCloudWatchLogsPolicy","title":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-PerspectiveAppSyncLoggin-14QKOBBLF2APU/inlinePolicy/Workload-Discovery-on-AWS-AppSyncApiStack-1B9V7FL7KO0GP-AWSAppSyncPushToCloudWatchLogsPolicy","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-PerspectiveAppSyncLoggin-14QKOBBLF2APU/inlinePolicy/Workload-Discovery-on-AWS-AppSyncApiStack-1B9V7FL7KO0GP-AWSAppSyncPushToCloudWatchLogsPolicy","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-PerspectiveAppSyncLoggin-14QKOBBLF2APU/inlinePolicy/Workload-Discovery-on-AWS-AppSyncApiStack-1B9V7FL7KO0GP-AWSAppSyncPushToCloudWatchLogsPolicy","name":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-PerspectiveAppSyncLoggin-14QKOBBLF2APU/inlinePolicy/Workload-Discovery-on-AWS-AppSyncApiStack-1B9V7FL7KO0GP-AWSAppSyncPushToCloudWatchLogsPolicy","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-PerspectiveAppSyncLoggin-14QKOBBLF2APU/inlinePolicy/Workload-Discovery-on-AWS-AppSyncApiStack-1B9V7FL7KO0GP-AWSAppSyncPushToCloudWatchLogsPolicy","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-PerspectiveAppSyncLoggin-14QKOBBLF2APU/inlinePolicy/Workload-Discovery-on-AWS-AppSyncApiStack-1B9V7FL7KO0GP-AWSAppSyncPushToCloudWatchLogsPolicy","configuration":"\"{\\\"policyName\\\":\\\"Workload-Discovery-on-AWS-AppSyncApiStack-1B9V7FL7KO0GP-AWSAppSyncPushToCloudWatchLogsPolicy\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"logs:CreateLogGroup\\\",\\\"logs:CreateLogStream\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"logs:PutLogEvents\\\"],\\\"Resource\\\":\\\"arn:aws:logs:eu-central-1:044981683129:log-group:*\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-PerspectiveAppSyncLoggin-14QKOBBLF2APU/inlinePolicy/Workload-Discovery-on-AWS-AppSyncApiStack-1B9V7FL7KO0GP-AWSAppSyncPushToCloudWatchLogsPolicy","resourceName":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-PerspectiveAppSyncLoggin-14QKOBBLF2APU/inlinePolicy/Workload-Discovery-on-AWS-AppSyncApiStack-1B9V7FL7KO0GP-AWSAppSyncPushToCloudWatchLogsPolicy","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-PerspectiveAppSyncLoggin-14QKOBBLF2APU/inlinePolicy/Workload-Discovery-on-AWS-AppSyncApiStack-1B9V7FL7KO0GP-AWSAppSyncPushToCloudWatchLogsPolicy","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1757.5,"y":-2248.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/retaildemostore-CleanupBu-CleanupBucketLambdaExecu-E4I91363I2MI","resourceId":["AROAQU6I6AO46LEDSSEQD","arn:aws:iam::044981683129:role/retaildemostore-CleanupBu-CleanupBucketLambdaExecu-E4I91363I2MI"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/retaildemostore-CleanupBu-CleanupBucketLambdaExecu-E4I91363I2MI","title":"retaildemostore-CleanupBu-CleanupBucketLambdaExecu-E4I91363I2MI","label":"retaildemost...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/retaildemostore-CleanupBu-CleanupBucketLambdaExecu-E4I91363I2MI","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO46LEDSSEQD","name":"retaildemostore-CleanupBu-CleanupBucketLambdaExecu-E4I91363I2MI","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/retaildemostore-CleanupBu-CleanupBucketLambdaExecu-E4I91363I2MI","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/retaildemostore-CleanupBu-CleanupBucketLambdaExecu-E4I91363I2MI","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22lambda.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO46LEDSSEQD\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"retaildemostore-CleanupBu-CleanupBucketLambdaExecu-E4I91363I2MI\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/retaildemostore-CleanupBu-CleanupBucketLambdaExecu-E4I91363I2MI\\\",\\\"createDate\\\":\\\"2021-10-22T11:35:53.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22logs%3ACreateLogGroup%22%2C%22logs%3ACreateLogStream%22%2C%22logs%3APutLogEvents%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"LoggingPolicy\\\"},{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22s3%3AList%2A%22%2C%22s3%3ADeleteObject%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"S3Policy\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO46LEDSSEQD","resourceName":"retaildemostore-CleanupBu-CleanupBucketLambdaExecu-E4I91363I2MI","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"retaildemostore-CleanupBu-CleanupBucketLambdaExecu-E4I91363I2MI","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":1060.5,"y":-2686.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/retaildemostore-CleanupBu-CleanupBucketLambdaExecu-E4I91363I2MI/inlinePolicy/LoggingPolicy","resourceId":["arn:aws:iam::044981683129:role/retaildemostore-CleanupBu-CleanupBucketLambdaExecu-E4I91363I2MI/inlinePolicy/LoggingPolicy","arn:aws:iam::044981683129:role/retaildemostore-CleanupBu-CleanupBucketLambdaExecu-E4I91363I2MI/inlinePolicy/LoggingPolicy"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/retaildemostore-CleanupBu-CleanupBucketLambdaExecu-E4I91363I2MI/inlinePolicy/LoggingPolicy","title":"arn:aws:iam::044981683129:role/retaildemostore-CleanupBu-CleanupBucketLambdaExecu-E4I91363I2MI/inlinePolicy/LoggingPolicy","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/retaildemostore-CleanupBu-CleanupBucketLambdaExecu-E4I91363I2MI/inlinePolicy/LoggingPolicy","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/retaildemostore-CleanupBu-CleanupBucketLambdaExecu-E4I91363I2MI/inlinePolicy/LoggingPolicy","name":"arn:aws:iam::044981683129:role/retaildemostore-CleanupBu-CleanupBucketLambdaExecu-E4I91363I2MI/inlinePolicy/LoggingPolicy","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/retaildemostore-CleanupBu-CleanupBucketLambdaExecu-E4I91363I2MI/inlinePolicy/LoggingPolicy","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/retaildemostore-CleanupBu-CleanupBucketLambdaExecu-E4I91363I2MI/inlinePolicy/LoggingPolicy","configuration":"\"{\\\"policyName\\\":\\\"LoggingPolicy\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"logs:CreateLogGroup\\\",\\\"logs:CreateLogStream\\\",\\\"logs:PutLogEvents\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/retaildemostore-CleanupBu-CleanupBucketLambdaExecu-E4I91363I2MI/inlinePolicy/LoggingPolicy","resourceName":"arn:aws:iam::044981683129:role/retaildemostore-CleanupBu-CleanupBucketLambdaExecu-E4I91363I2MI/inlinePolicy/LoggingPolicy","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/retaildemostore-CleanupBu-CleanupBucketLambdaExecu-E4I91363I2MI/inlinePolicy/LoggingPolicy","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1830.5,"y":-2248.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/retaildemostore-CleanupBu-CleanupBucketLambdaExecu-E4I91363I2MI/inlinePolicy/S3Policy","resourceId":["arn:aws:iam::044981683129:role/retaildemostore-CleanupBu-CleanupBucketLambdaExecu-E4I91363I2MI/inlinePolicy/S3Policy","arn:aws:iam::044981683129:role/retaildemostore-CleanupBu-CleanupBucketLambdaExecu-E4I91363I2MI/inlinePolicy/S3Policy"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/retaildemostore-CleanupBu-CleanupBucketLambdaExecu-E4I91363I2MI/inlinePolicy/S3Policy","title":"arn:aws:iam::044981683129:role/retaildemostore-CleanupBu-CleanupBucketLambdaExecu-E4I91363I2MI/inlinePolicy/S3Policy","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/retaildemostore-CleanupBu-CleanupBucketLambdaExecu-E4I91363I2MI/inlinePolicy/S3Policy","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/retaildemostore-CleanupBu-CleanupBucketLambdaExecu-E4I91363I2MI/inlinePolicy/S3Policy","name":"arn:aws:iam::044981683129:role/retaildemostore-CleanupBu-CleanupBucketLambdaExecu-E4I91363I2MI/inlinePolicy/S3Policy","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/retaildemostore-CleanupBu-CleanupBucketLambdaExecu-E4I91363I2MI/inlinePolicy/S3Policy","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/retaildemostore-CleanupBu-CleanupBucketLambdaExecu-E4I91363I2MI/inlinePolicy/S3Policy","configuration":"\"{\\\"policyName\\\":\\\"S3Policy\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"s3:List*\\\",\\\"s3:DeleteObject\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/retaildemostore-CleanupBu-CleanupBucketLambdaExecu-E4I91363I2MI/inlinePolicy/S3Policy","resourceName":"arn:aws:iam::044981683129:role/retaildemostore-CleanupBu-CleanupBucketLambdaExecu-E4I91363I2MI/inlinePolicy/S3Policy","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/retaildemostore-CleanupBu-CleanupBucketLambdaExecu-E4I91363I2MI/inlinePolicy/S3Policy","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1903.5,"y":-2248.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-C1BR9BSBISF6","resourceId":["AROAQU6I6AO47I7EN2LOO","arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-C1BR9BSBISF6"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-C1BR9BSBISF6","title":"retaildemostore-Services-1WZN-CodeBuildServiceRole-C1BR9BSBISF6","label":"retaildemost...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-C1BR9BSBISF6","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO47I7EN2LOO","name":"retaildemostore-Services-1WZN-CodeBuildServiceRole-C1BR9BSBISF6","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-C1BR9BSBISF6","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-C1BR9BSBISF6","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22codebuild.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO47I7EN2LOO\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"retaildemostore-Services-1WZN-CodeBuildServiceRole-C1BR9BSBISF6\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-C1BR9BSBISF6\\\",\\\"createDate\\\":\\\"2021-10-22T12:09:15.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22ecr%3AGetDownloadUrlForLayer%22%2C%22ecr%3ABatchGetImage%22%2C%22ecr%3ABatchCheckLayerAvailability%22%2C%22ecr%3APutImage%22%2C%22ecr%3AInitiateLayerUpload%22%2C%22ecr%3AUploadLayerPart%22%2C%22ecr%3ACompleteLayerUpload%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Aecr%3Aus-east-1%3A044981683129%3Arepository%2Fretaildemostore%2Fproducts%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"ecr\\\"},{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22logs%3ACreateLogGroup%22%2C%22logs%3ACreateLogStream%22%2C%22logs%3APutLogEvents%22%2C%22ecr%3AGetAuthorizationToken%22%2C%22ssm%3AGetParameters%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"logs\\\"},{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22s3%3AGetObject%22%2C%22s3%3APutObject%22%2C%22s3%3AGetObjectVersion%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3As3%3A%3A%3Aretaildemostore-services-1wznopxsy-artifactbucket-1ss75c578eg09%2F%2A%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"S3\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO47I7EN2LOO","resourceName":"retaildemostore-Services-1WZN-CodeBuildServiceRole-C1BR9BSBISF6","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"retaildemostore-Services-1WZN-CodeBuildServiceRole-C1BR9BSBISF6","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":1060.5,"y":-2613.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-C1BR9BSBISF6/inlinePolicy/ecr","resourceId":["arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-C1BR9BSBISF6/inlinePolicy/ecr","arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-C1BR9BSBISF6/inlinePolicy/ecr"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-C1BR9BSBISF6/inlinePolicy/ecr","title":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-C1BR9BSBISF6/inlinePolicy/ecr","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-C1BR9BSBISF6/inlinePolicy/ecr","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-C1BR9BSBISF6/inlinePolicy/ecr","name":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-C1BR9BSBISF6/inlinePolicy/ecr","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-C1BR9BSBISF6/inlinePolicy/ecr","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-C1BR9BSBISF6/inlinePolicy/ecr","configuration":"\"{\\\"policyName\\\":\\\"ecr\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"ecr:GetDownloadUrlForLayer\\\",\\\"ecr:BatchGetImage\\\",\\\"ecr:BatchCheckLayerAvailability\\\",\\\"ecr:PutImage\\\",\\\"ecr:InitiateLayerUpload\\\",\\\"ecr:UploadLayerPart\\\",\\\"ecr:CompleteLayerUpload\\\"],\\\"Resource\\\":\\\"arn:aws:ecr:us-east-1:044981683129:repository/retaildemostore/products\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-C1BR9BSBISF6/inlinePolicy/ecr","resourceName":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-C1BR9BSBISF6/inlinePolicy/ecr","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-C1BR9BSBISF6/inlinePolicy/ecr","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1976.5,"y":-2759.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-C1BR9BSBISF6/inlinePolicy/logs","resourceId":["arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-C1BR9BSBISF6/inlinePolicy/logs","arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-C1BR9BSBISF6/inlinePolicy/logs"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-C1BR9BSBISF6/inlinePolicy/logs","title":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-C1BR9BSBISF6/inlinePolicy/logs","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-C1BR9BSBISF6/inlinePolicy/logs","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-C1BR9BSBISF6/inlinePolicy/logs","name":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-C1BR9BSBISF6/inlinePolicy/logs","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-C1BR9BSBISF6/inlinePolicy/logs","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-C1BR9BSBISF6/inlinePolicy/logs","configuration":"\"{\\\"policyName\\\":\\\"logs\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"logs:CreateLogGroup\\\",\\\"logs:CreateLogStream\\\",\\\"logs:PutLogEvents\\\",\\\"ecr:GetAuthorizationToken\\\",\\\"ssm:GetParameters\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-C1BR9BSBISF6/inlinePolicy/logs","resourceName":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-C1BR9BSBISF6/inlinePolicy/logs","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-C1BR9BSBISF6/inlinePolicy/logs","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1976.5,"y":-2686.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-C1BR9BSBISF6/inlinePolicy/S3","resourceId":["arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-C1BR9BSBISF6/inlinePolicy/S3","arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-C1BR9BSBISF6/inlinePolicy/S3"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-C1BR9BSBISF6/inlinePolicy/S3","title":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-C1BR9BSBISF6/inlinePolicy/S3","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-C1BR9BSBISF6/inlinePolicy/S3","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-C1BR9BSBISF6/inlinePolicy/S3","name":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-C1BR9BSBISF6/inlinePolicy/S3","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-C1BR9BSBISF6/inlinePolicy/S3","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-C1BR9BSBISF6/inlinePolicy/S3","configuration":"\"{\\\"policyName\\\":\\\"S3\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"s3:GetObject\\\",\\\"s3:PutObject\\\",\\\"s3:GetObjectVersion\\\"],\\\"Resource\\\":\\\"arn:aws:s3:::retaildemostore-services-1wznopxsy-artifactbucket-1ss75c578eg09/*\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-C1BR9BSBISF6/inlinePolicy/S3","resourceName":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-C1BR9BSBISF6/inlinePolicy/S3","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-C1BR9BSBISF6/inlinePolicy/S3","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1976.5,"y":-2613.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/eksctl-fargate-cluster-cluster-ServiceRole-VKVVQREX5PZ2","resourceId":["AROAQU6I6AO45LHROJOEA","arn:aws:iam::044981683129:role/eksctl-fargate-cluster-cluster-ServiceRole-VKVVQREX5PZ2"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/eksctl-fargate-cluster-cluster-ServiceRole-VKVVQREX5PZ2","title":"eksctl-fargate-cluster-cluster/ServiceRole","label":"eksctl-farga...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/eksctl-fargate-cluster-cluster-ServiceRole-VKVVQREX5PZ2","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO45LHROJOEA","name":"eksctl-fargate-cluster-cluster-ServiceRole-VKVVQREX5PZ2","value":null,"type":"AWS::IAM::Role","tags":"[{\"tag\":\"alpha.eksctl.io/cluster-oidc-enabled=false\",\"value\":\"false\",\"key\":\"alpha.eksctl.io/cluster-oidc-enabled\"},{\"tag\":\"alpha.eksctl.io/cluster-name=fargate-cluster\",\"value\":\"fargate-cluster\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.125.0\",\"value\":\"0.125.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=fargate-cluster\",\"value\":\"fargate-cluster\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"Name=eksctl-fargate-cluster-cluster/ServiceRole\",\"value\":\"eksctl-fargate-cluster-cluster/ServiceRole\",\"key\":\"Name\"}]","arn":"arn:aws:iam::044981683129:role/eksctl-fargate-cluster-cluster-ServiceRole-VKVVQREX5PZ2","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/eksctl-fargate-cluster-cluster-ServiceRole-VKVVQREX5PZ2","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22eks.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO45LHROJOEA\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/AmazonEKSClusterPolicy\\\",\\\"policyName\\\":\\\"AmazonEKSClusterPolicy\\\"},{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/AmazonEKSVPCResourceController\\\",\\\"policyName\\\":\\\"AmazonEKSVPCResourceController\\\"}],\\\"roleName\\\":\\\"eksctl-fargate-cluster-cluster-ServiceRole-VKVVQREX5PZ2\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/eksctl-fargate-cluster-cluster-ServiceRole-VKVVQREX5PZ2\\\",\\\"createDate\\\":\\\"2023-01-17T14:30:00.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22cloudwatch%3APutMetricData%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"eksctl-fargate-cluster-cluster-PolicyCloudWatchMetrics\\\"},{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22ec2%3ADescribeAccountAttributes%22%2C%22ec2%3ADescribeAddresses%22%2C%22ec2%3ADescribeInternetGateways%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"eksctl-fargate-cluster-cluster-PolicyELBPermissions\\\"}],\\\"tags\\\":[{\\\"value\\\":\\\"fargate-cluster\\\",\\\"key\\\":\\\"alpha.eksctl.io/cluster-name\\\"},{\\\"value\\\":\\\"fargate-cluster\\\",\\\"key\\\":\\\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\\\"},{\\\"value\\\":\\\"false\\\",\\\"key\\\":\\\"alpha.eksctl.io/cluster-oidc-enabled\\\"},{\\\"value\\\":\\\"0.125.0\\\",\\\"key\\\":\\\"alpha.eksctl.io/eksctl-version\\\"},{\\\"value\\\":\\\"eksctl-fargate-cluster-cluster/ServiceRole\\\",\\\"key\\\":\\\"Name\\\"}]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO45LHROJOEA","resourceName":"eksctl-fargate-cluster-cluster-ServiceRole-VKVVQREX5PZ2","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[{\"tag\":\"alpha.eksctl.io/cluster-oidc-enabled=false\",\"value\":\"false\",\"key\":\"alpha.eksctl.io/cluster-oidc-enabled\"},{\"tag\":\"alpha.eksctl.io/cluster-name=fargate-cluster\",\"value\":\"fargate-cluster\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.125.0\",\"value\":\"0.125.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=fargate-cluster\",\"value\":\"fargate-cluster\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"Name=eksctl-fargate-cluster-cluster/ServiceRole\",\"value\":\"eksctl-fargate-cluster-cluster/ServiceRole\",\"key\":\"Name\"}]","title":"eksctl-fargate-cluster-cluster/ServiceRole","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":1060.5,"y":-2540.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/eksctl-fargate-cluster-cluster-ServiceRole-VKVVQREX5PZ2/inlinePolicy/eksctl-fargate-cluster-cluster-PolicyCloudWatchMetrics","resourceId":["arn:aws:iam::044981683129:role/eksctl-fargate-cluster-cluster-ServiceRole-VKVVQREX5PZ2/inlinePolicy/eksctl-fargate-cluster-cluster-PolicyCloudWatchMetrics","arn:aws:iam::044981683129:role/eksctl-fargate-cluster-cluster-ServiceRole-VKVVQREX5PZ2/inlinePolicy/eksctl-fargate-cluster-cluster-PolicyCloudWatchMetrics"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/eksctl-fargate-cluster-cluster-ServiceRole-VKVVQREX5PZ2/inlinePolicy/eksctl-fargate-cluster-cluster-PolicyCloudWatchMetrics","title":"arn:aws:iam::044981683129:role/eksctl-fargate-cluster-cluster-ServiceRole-VKVVQREX5PZ2/inlinePolicy/eksctl-fargate-cluster-cluster-PolicyCloudWatchMetrics","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/eksctl-fargate-cluster-cluster-ServiceRole-VKVVQREX5PZ2/inlinePolicy/eksctl-fargate-cluster-cluster-PolicyCloudWatchMetrics","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/eksctl-fargate-cluster-cluster-ServiceRole-VKVVQREX5PZ2/inlinePolicy/eksctl-fargate-cluster-cluster-PolicyCloudWatchMetrics","name":"arn:aws:iam::044981683129:role/eksctl-fargate-cluster-cluster-ServiceRole-VKVVQREX5PZ2/inlinePolicy/eksctl-fargate-cluster-cluster-PolicyCloudWatchMetrics","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/eksctl-fargate-cluster-cluster-ServiceRole-VKVVQREX5PZ2/inlinePolicy/eksctl-fargate-cluster-cluster-PolicyCloudWatchMetrics","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/eksctl-fargate-cluster-cluster-ServiceRole-VKVVQREX5PZ2/inlinePolicy/eksctl-fargate-cluster-cluster-PolicyCloudWatchMetrics","configuration":"\"{\\\"policyName\\\":\\\"eksctl-fargate-cluster-cluster-PolicyCloudWatchMetrics\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"cloudwatch:PutMetricData\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/eksctl-fargate-cluster-cluster-ServiceRole-VKVVQREX5PZ2/inlinePolicy/eksctl-fargate-cluster-cluster-PolicyCloudWatchMetrics","resourceName":"arn:aws:iam::044981683129:role/eksctl-fargate-cluster-cluster-ServiceRole-VKVVQREX5PZ2/inlinePolicy/eksctl-fargate-cluster-cluster-PolicyCloudWatchMetrics","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/eksctl-fargate-cluster-cluster-ServiceRole-VKVVQREX5PZ2/inlinePolicy/eksctl-fargate-cluster-cluster-PolicyCloudWatchMetrics","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1976.5,"y":-2540.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/eksctl-fargate-cluster-cluster-ServiceRole-VKVVQREX5PZ2/inlinePolicy/eksctl-fargate-cluster-cluster-PolicyELBPermissions","resourceId":["arn:aws:iam::044981683129:role/eksctl-fargate-cluster-cluster-ServiceRole-VKVVQREX5PZ2/inlinePolicy/eksctl-fargate-cluster-cluster-PolicyELBPermissions","arn:aws:iam::044981683129:role/eksctl-fargate-cluster-cluster-ServiceRole-VKVVQREX5PZ2/inlinePolicy/eksctl-fargate-cluster-cluster-PolicyELBPermissions"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/eksctl-fargate-cluster-cluster-ServiceRole-VKVVQREX5PZ2/inlinePolicy/eksctl-fargate-cluster-cluster-PolicyELBPermissions","title":"arn:aws:iam::044981683129:role/eksctl-fargate-cluster-cluster-ServiceRole-VKVVQREX5PZ2/inlinePolicy/eksctl-fargate-cluster-cluster-PolicyELBPermissions","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/eksctl-fargate-cluster-cluster-ServiceRole-VKVVQREX5PZ2/inlinePolicy/eksctl-fargate-cluster-cluster-PolicyELBPermissions","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/eksctl-fargate-cluster-cluster-ServiceRole-VKVVQREX5PZ2/inlinePolicy/eksctl-fargate-cluster-cluster-PolicyELBPermissions","name":"arn:aws:iam::044981683129:role/eksctl-fargate-cluster-cluster-ServiceRole-VKVVQREX5PZ2/inlinePolicy/eksctl-fargate-cluster-cluster-PolicyELBPermissions","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/eksctl-fargate-cluster-cluster-ServiceRole-VKVVQREX5PZ2/inlinePolicy/eksctl-fargate-cluster-cluster-PolicyELBPermissions","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/eksctl-fargate-cluster-cluster-ServiceRole-VKVVQREX5PZ2/inlinePolicy/eksctl-fargate-cluster-cluster-PolicyELBPermissions","configuration":"\"{\\\"policyName\\\":\\\"eksctl-fargate-cluster-cluster-PolicyELBPermissions\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"ec2:DescribeAccountAttributes\\\",\\\"ec2:DescribeAddresses\\\",\\\"ec2:DescribeInternetGateways\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/eksctl-fargate-cluster-cluster-ServiceRole-VKVVQREX5PZ2/inlinePolicy/eksctl-fargate-cluster-cluster-PolicyELBPermissions","resourceName":"arn:aws:iam::044981683129:role/eksctl-fargate-cluster-cluster-ServiceRole-VKVVQREX5PZ2/inlinePolicy/eksctl-fargate-cluster-cluster-PolicyELBPermissions","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/eksctl-fargate-cluster-cluster-ServiceRole-VKVVQREX5PZ2/inlinePolicy/eksctl-fargate-cluster-cluster-PolicyELBPermissions","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1976.5,"y":-2467.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:tags::044981683129:tag/alpha.eksctl.io/cluster-oidc-enabled=false","resourceId":["arn:aws:tags::044981683129:tag/alpha.eksctl.io/cluster-oidc-enabled=false","arn:aws:tags::044981683129:tag/alpha.eksctl.io/cluster-oidc-enabled=false"],"parent":"Tag-global-044981683129","level":3,"id":"arn:aws:tags::044981683129:tag/alpha.eksctl.io/cluster-oidc-enabled=false","title":"alpha.eksctl.io/cluster-oidc-enabled=false","label":"alpha.eksctl...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:tags::044981683129:tag/alpha.eksctl.io/cluster-oidc-enabled=false","image":"/icons/AWS-Tags-bg.svg","cost":0,"private":false,"resource":{"id":"arn:aws:tags::044981683129:tag/alpha.eksctl.io/cluster-oidc-enabled=false","name":"alpha.eksctl.io/cluster-oidc-enabled=false","value":null,"type":"AWS::Tags::Tag","tags":"[]","arn":"arn:aws:tags::044981683129:tag/alpha.eksctl.io/cluster-oidc-enabled=false","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:tags::044981683129:tag/alpha.eksctl.io/cluster-oidc-enabled=false","configuration":"\"{}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:tags::044981683129:tag/alpha.eksctl.io/cluster-oidc-enabled=false","resourceName":"alpha.eksctl.io/cluster-oidc-enabled=false","resourceType":"AWS::Tags::Tag","resourceValue":null,"state":null,"tags":"[]","title":"alpha.eksctl.io/cluster-oidc-enabled=false","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":768.5,"y":-1899.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:tags::044981683129:tag/alpha.eksctl.io/cluster-name=fargate-cluster","resourceId":["arn:aws:tags::044981683129:tag/alpha.eksctl.io/cluster-name=fargate-cluster","arn:aws:tags::044981683129:tag/alpha.eksctl.io/cluster-name=fargate-cluster"],"parent":"Tag-global-044981683129","level":3,"id":"arn:aws:tags::044981683129:tag/alpha.eksctl.io/cluster-name=fargate-cluster","title":"alpha.eksctl.io/cluster-name=fargate-cluster","label":"alpha.eksctl...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:tags::044981683129:tag/alpha.eksctl.io/cluster-name=fargate-cluster","image":"/icons/AWS-Tags-bg.svg","cost":0,"private":false,"resource":{"id":"arn:aws:tags::044981683129:tag/alpha.eksctl.io/cluster-name=fargate-cluster","name":"alpha.eksctl.io/cluster-name=fargate-cluster","value":null,"type":"AWS::Tags::Tag","tags":"[]","arn":"arn:aws:tags::044981683129:tag/alpha.eksctl.io/cluster-name=fargate-cluster","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:tags::044981683129:tag/alpha.eksctl.io/cluster-name=fargate-cluster","configuration":"\"{}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:tags::044981683129:tag/alpha.eksctl.io/cluster-name=fargate-cluster","resourceName":"alpha.eksctl.io/cluster-name=fargate-cluster","resourceType":"AWS::Tags::Tag","resourceValue":null,"state":null,"tags":"[]","title":"alpha.eksctl.io/cluster-name=fargate-cluster","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":768.5,"y":-1826.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:tags::044981683129:tag/alpha.eksctl.io/eksctl-version=0.125.0","resourceId":["arn:aws:tags::044981683129:tag/alpha.eksctl.io/eksctl-version=0.125.0","arn:aws:tags::044981683129:tag/alpha.eksctl.io/eksctl-version=0.125.0"],"parent":"Tag-global-044981683129","level":3,"id":"arn:aws:tags::044981683129:tag/alpha.eksctl.io/eksctl-version=0.125.0","title":"alpha.eksctl.io/eksctl-version=0.125.0","label":"alpha.eksctl...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:tags::044981683129:tag/alpha.eksctl.io/eksctl-version=0.125.0","image":"/icons/AWS-Tags-bg.svg","cost":0,"private":false,"resource":{"id":"arn:aws:tags::044981683129:tag/alpha.eksctl.io/eksctl-version=0.125.0","name":"alpha.eksctl.io/eksctl-version=0.125.0","value":null,"type":"AWS::Tags::Tag","tags":"[]","arn":"arn:aws:tags::044981683129:tag/alpha.eksctl.io/eksctl-version=0.125.0","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:tags::044981683129:tag/alpha.eksctl.io/eksctl-version=0.125.0","configuration":"\"{}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:tags::044981683129:tag/alpha.eksctl.io/eksctl-version=0.125.0","resourceName":"alpha.eksctl.io/eksctl-version=0.125.0","resourceType":"AWS::Tags::Tag","resourceValue":null,"state":null,"tags":"[]","title":"alpha.eksctl.io/eksctl-version=0.125.0","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":768.5,"y":-1753.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:tags::044981683129:tag/eksctl.cluster.k8s.io/v1alpha1/cluster-name=fargate-cluster","resourceId":["arn:aws:tags::044981683129:tag/eksctl.cluster.k8s.io/v1alpha1/cluster-name=fargate-cluster","arn:aws:tags::044981683129:tag/eksctl.cluster.k8s.io/v1alpha1/cluster-name=fargate-cluster"],"parent":"Tag-global-044981683129","level":3,"id":"arn:aws:tags::044981683129:tag/eksctl.cluster.k8s.io/v1alpha1/cluster-name=fargate-cluster","title":"eksctl.cluster.k8s.io/v1alpha1/cluster-name=fargate-cluster","label":"eksctl.clust...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:tags::044981683129:tag/eksctl.cluster.k8s.io/v1alpha1/cluster-name=fargate-cluster","image":"/icons/AWS-Tags-bg.svg","cost":0,"private":false,"resource":{"id":"arn:aws:tags::044981683129:tag/eksctl.cluster.k8s.io/v1alpha1/cluster-name=fargate-cluster","name":"eksctl.cluster.k8s.io/v1alpha1/cluster-name=fargate-cluster","value":null,"type":"AWS::Tags::Tag","tags":"[]","arn":"arn:aws:tags::044981683129:tag/eksctl.cluster.k8s.io/v1alpha1/cluster-name=fargate-cluster","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:tags::044981683129:tag/eksctl.cluster.k8s.io/v1alpha1/cluster-name=fargate-cluster","configuration":"\"{}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:tags::044981683129:tag/eksctl.cluster.k8s.io/v1alpha1/cluster-name=fargate-cluster","resourceName":"eksctl.cluster.k8s.io/v1alpha1/cluster-name=fargate-cluster","resourceType":"AWS::Tags::Tag","resourceValue":null,"state":null,"tags":"[]","title":"eksctl.cluster.k8s.io/v1alpha1/cluster-name=fargate-cluster","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":768.5,"y":-1680.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:tags::044981683129:tag/Name=eksctl-fargate-cluster-cluster/ServiceRole","resourceId":["arn:aws:tags::044981683129:tag/Name=eksctl-fargate-cluster-cluster/ServiceRole","arn:aws:tags::044981683129:tag/Name=eksctl-fargate-cluster-cluster/ServiceRole"],"parent":"Tag-global-044981683129","level":3,"id":"arn:aws:tags::044981683129:tag/Name=eksctl-fargate-cluster-cluster/ServiceRole","title":"Name=eksctl-fargate-cluster-cluster/ServiceRole","label":"Name=eksctl-...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:tags::044981683129:tag/Name=eksctl-fargate-cluster-cluster/ServiceRole","image":"/icons/AWS-Tags-bg.svg","cost":0,"private":false,"resource":{"id":"arn:aws:tags::044981683129:tag/Name=eksctl-fargate-cluster-cluster/ServiceRole","name":"Name=eksctl-fargate-cluster-cluster/ServiceRole","value":null,"type":"AWS::Tags::Tag","tags":"[]","arn":"arn:aws:tags::044981683129:tag/Name=eksctl-fargate-cluster-cluster/ServiceRole","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:tags::044981683129:tag/Name=eksctl-fargate-cluster-cluster/ServiceRole","configuration":"\"{}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:tags::044981683129:tag/Name=eksctl-fargate-cluster-cluster/ServiceRole","resourceName":"Name=eksctl-fargate-cluster-cluster/ServiceRole","resourceType":"AWS::Tags::Tag","resourceValue":null,"state":null,"tags":"[]","title":"Name=eksctl-fargate-cluster-cluster/ServiceRole","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":476.5,"y":-1607.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Re-TaskRole-1CWIHEBF7BEVS","resourceId":["AROAQU6I6AO45LOSKVTUU","arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Re-TaskRole-1CWIHEBF7BEVS"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Re-TaskRole-1CWIHEBF7BEVS","title":"retaildemostore-Services-1WZNOPXSYAVK8-Re-TaskRole-1CWIHEBF7BEVS","label":"retaildemost...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Re-TaskRole-1CWIHEBF7BEVS","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO45LOSKVTUU","name":"retaildemostore-Services-1WZNOPXSYAVK8-Re-TaskRole-1CWIHEBF7BEVS","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Re-TaskRole-1CWIHEBF7BEVS","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Re-TaskRole-1CWIHEBF7BEVS","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222008-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22ecs-tasks.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO45LOSKVTUU\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/AWSXRayDaemonWriteAccess\\\",\\\"policyName\\\":\\\"AWSXRayDaemonWriteAccess\\\"},{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/AWSCloudMapDiscoverInstanceAccess\\\",\\\"policyName\\\":\\\"AWSCloudMapDiscoverInstanceAccess\\\"}],\\\"roleName\\\":\\\"retaildemostore-Services-1WZNOPXSYAVK8-Re-TaskRole-1CWIHEBF7BEVS\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Re-TaskRole-1CWIHEBF7BEVS\\\",\\\"createDate\\\":\\\"2021-10-22T12:06:51.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22dynamodb%3A%2A%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Adynamodb%3Aus-east-1%3A044981683129%3Atable%2Fretaildemostore-Base-193OEK9QLRBTZ-Tables-1BNG3TKJH8PD8-ProductsTable-19R4XZHX65X0V%22%2C%22arn%3Aaws%3Adynamodb%3Aus-east-1%3A044981683129%3Atable%2Fretaildemostore-Base-193OEK9QLRBTZ-Tables-1BNG3TKJH8PD8-CategoriesTable-98HBU20YXE1Q%22%2C%22arn%3Aaws%3Adynamodb%3Aus-east-1%3A044981683129%3Atable%2Fretaildemostore-Base-193OEK9QLRBTZ-Tables-1BNG3TKJH8PD8-ExperimentStrategyTable-1AK9DPYXT3MJG%22%2C%22arn%3Aaws%3Adynamodb%3Aus-east-1%3A044981683129%3Atable%2Fretaildemostore-Base-193OEK9QLRBTZ-Tables-1BNG3TKJH8PD8-ProductsTable-19R4XZHX65X0V%2Findex%2F%2A%22%2C%22arn%3Aaws%3Adynamodb%3Aus-east-1%3A044981683129%3Atable%2Fretaildemostore-Base-193OEK9QLRBTZ-Tables-1BNG3TKJH8PD8-CategoriesTable-98HBU20YXE1Q%2Findex%2F%2A%22%2C%22arn%3Aaws%3Adynamodb%3Aus-east-1%3A044981683129%3Atable%2Fretaildemostore-Base-193OEK9QLRBTZ-Tables-1BNG3TKJH8PD8-ExperimentStrategyTable-1AK9DPYXT3MJG%2Findex%2F%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"DynamoDB\\\"},{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22ssm%3A%2A%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Assm%3Aus-east-1%3A044981683129%3Aparameter%2Fretaildemostore-%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22logs%3ACreateLogGroup%22%2C%22logs%3ACreateLogStream%22%2C%22logs%3APutLogEvents%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22logs%3ACreateLogGroup%22%2C%22personalize%3ACreateSchema%22%2C%22personalize%3ACreateDatasetGroup%22%2C%22personalize%3ACreateSolutionVersion%22%2C%22personalize%3ACreateDatasetImportJob%22%2C%22personalize%3ACreateSolution%22%2C%22personalize%3ADescribeDatasetGroup%22%2C%22personalize%3ADescribeDatasetImportJob%22%2C%22personalize%3ADescribeSolution%22%2C%22personalize%3ADescribeSolutionVersion%22%2C%22personalize%3ADescribeEventTracker%22%2C%22personalize%3ADescribeCampaign%22%2C%22personalize%3ACreateCampaign%22%2C%22personalize%3ACreateDataset%22%2C%22personalize%3ACreateEventTracker%22%2C%22personalize%3ACreateFilter%22%2C%22personalize%3AGetPersonalizedRanking%22%2C%22personalize%3AGetRecommendations%22%2C%22personalize%3ADeleteEventTracker%22%2C%22personalize%3ADescribeEventTracker%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Apersonalize%3Aus-east-1%3A044981683129%3A%2A%2Fretaildemo%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22logs%3ACreateLogGroup%22%2C%22personalize%3AListCampaigns%22%2C%22personalize%3AListDatasetGroups%22%2C%22personalize%3AListSolutions%22%2C%22personalize%3AListSchemas%22%2C%22personalize%3AListSolutionVersions%22%2C%22personalize%3AListDatasetImportJobs%22%2C%22personalize%3AListDatasets%22%2C%22personalize%3AListEventTrackers%22%5D%2C%22Resource%22%3A%5B%22%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22s3%3AGetObject%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3As3%3A%3A%3Aretail-demo-store-us-east-1%22%2C%22arn%3Aaws%3As3%3A%3A%3Aretail-demo-store-us-east-1%2F%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22ivs%3AListStreamKeys%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Aivs%3Aus-east-1%3A044981683129%3A%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22ivs%3AGetChannel%22%2C%22ivs%3AGetStream%22%2C%22ivs%3APutMetadata%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Aivs%3Aus-east-1%3A044981683129%3Achannel%2F%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22ivs%3AGetStreamKey%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Aivs%3Aus-east-1%3A044981683129%3Astream-key%2F%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22events%3ADescribeRule%22%2C%22events%3AListRules%22%2C%22events%3AEnableRule%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Aevents%3Aus-east-1%3A044981683129%3Arule%2FRetailDemoStore-PersonalizePreCreateScheduledRule%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22lambda%3AInvokeFunction%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Alambda%3Aus-east-1%3A044981683129%3Afunction%3AAmazonPaySigningLambda%22%5D%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"others\\\"},{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22mobiletargeting%3ASendMessages%22%2C%22mobiletargeting%3AGetEndpoint%22%2C%22mobiletargeting%3AUpdateEndpoint%22%2C%22mobiletargeting%3APutEvents%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Amobiletargeting%3Aus-east-1%3A044981683129%3Aapps%2F%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22mobiletargeting%3APhoneNumberValidate%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Amobiletargeting%3Aus-east-1%3A044981683129%3Aphone%2Fnumber%2Fvalidate%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"PinpointSMS\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO45LOSKVTUU","resourceName":"retaildemostore-Services-1WZNOPXSYAVK8-Re-TaskRole-1CWIHEBF7BEVS","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"retaildemostore-Services-1WZNOPXSYAVK8-Re-TaskRole-1CWIHEBF7BEVS","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":1060.5,"y":-2467.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Re-TaskRole-1CWIHEBF7BEVS/inlinePolicy/DynamoDB","resourceId":["arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Re-TaskRole-1CWIHEBF7BEVS/inlinePolicy/DynamoDB","arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Re-TaskRole-1CWIHEBF7BEVS/inlinePolicy/DynamoDB"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Re-TaskRole-1CWIHEBF7BEVS/inlinePolicy/DynamoDB","title":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Re-TaskRole-1CWIHEBF7BEVS/inlinePolicy/DynamoDB","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Re-TaskRole-1CWIHEBF7BEVS/inlinePolicy/DynamoDB","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Re-TaskRole-1CWIHEBF7BEVS/inlinePolicy/DynamoDB","name":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Re-TaskRole-1CWIHEBF7BEVS/inlinePolicy/DynamoDB","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Re-TaskRole-1CWIHEBF7BEVS/inlinePolicy/DynamoDB","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Re-TaskRole-1CWIHEBF7BEVS/inlinePolicy/DynamoDB","configuration":"\"{\\\"policyName\\\":\\\"DynamoDB\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"dynamodb:*\\\"],\\\"Resource\\\":[\\\"arn:aws:dynamodb:us-east-1:044981683129:table/retaildemostore-Base-193OEK9QLRBTZ-Tables-1BNG3TKJH8PD8-ProductsTable-19R4XZHX65X0V\\\",\\\"arn:aws:dynamodb:us-east-1:044981683129:table/retaildemostore-Base-193OEK9QLRBTZ-Tables-1BNG3TKJH8PD8-CategoriesTable-98HBU20YXE1Q\\\",\\\"arn:aws:dynamodb:us-east-1:044981683129:table/retaildemostore-Base-193OEK9QLRBTZ-Tables-1BNG3TKJH8PD8-ExperimentStrategyTable-1AK9DPYXT3MJG\\\",\\\"arn:aws:dynamodb:us-east-1:044981683129:table/retaildemostore-Base-193OEK9QLRBTZ-Tables-1BNG3TKJH8PD8-ProductsTable-19R4XZHX65X0V/index/*\\\",\\\"arn:aws:dynamodb:us-east-1:044981683129:table/retaildemostore-Base-193OEK9QLRBTZ-Tables-1BNG3TKJH8PD8-CategoriesTable-98HBU20YXE1Q/index/*\\\",\\\"arn:aws:dynamodb:us-east-1:044981683129:table/retaildemostore-Base-193OEK9QLRBTZ-Tables-1BNG3TKJH8PD8-ExperimentStrategyTable-1AK9DPYXT3MJG/index/*\\\"],\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Re-TaskRole-1CWIHEBF7BEVS/inlinePolicy/DynamoDB","resourceName":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Re-TaskRole-1CWIHEBF7BEVS/inlinePolicy/DynamoDB","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Re-TaskRole-1CWIHEBF7BEVS/inlinePolicy/DynamoDB","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1976.5,"y":-2394.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Re-TaskRole-1CWIHEBF7BEVS/inlinePolicy/others","resourceId":["arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Re-TaskRole-1CWIHEBF7BEVS/inlinePolicy/others","arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Re-TaskRole-1CWIHEBF7BEVS/inlinePolicy/others"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Re-TaskRole-1CWIHEBF7BEVS/inlinePolicy/others","title":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Re-TaskRole-1CWIHEBF7BEVS/inlinePolicy/others","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Re-TaskRole-1CWIHEBF7BEVS/inlinePolicy/others","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Re-TaskRole-1CWIHEBF7BEVS/inlinePolicy/others","name":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Re-TaskRole-1CWIHEBF7BEVS/inlinePolicy/others","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Re-TaskRole-1CWIHEBF7BEVS/inlinePolicy/others","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Re-TaskRole-1CWIHEBF7BEVS/inlinePolicy/others","configuration":"\"{\\\"policyName\\\":\\\"others\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"ssm:*\\\"],\\\"Resource\\\":\\\"arn:aws:ssm:us-east-1:044981683129:parameter/retaildemostore-*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"logs:CreateLogGroup\\\",\\\"logs:CreateLogStream\\\",\\\"logs:PutLogEvents\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"logs:CreateLogGroup\\\",\\\"personalize:CreateSchema\\\",\\\"personalize:CreateDatasetGroup\\\",\\\"personalize:CreateSolutionVersion\\\",\\\"personalize:CreateDatasetImportJob\\\",\\\"personalize:CreateSolution\\\",\\\"personalize:DescribeDatasetGroup\\\",\\\"personalize:DescribeDatasetImportJob\\\",\\\"personalize:DescribeSolution\\\",\\\"personalize:DescribeSolutionVersion\\\",\\\"personalize:DescribeEventTracker\\\",\\\"personalize:DescribeCampaign\\\",\\\"personalize:CreateCampaign\\\",\\\"personalize:CreateDataset\\\",\\\"personalize:CreateEventTracker\\\",\\\"personalize:CreateFilter\\\",\\\"personalize:GetPersonalizedRanking\\\",\\\"personalize:GetRecommendations\\\",\\\"personalize:DeleteEventTracker\\\",\\\"personalize:DescribeEventTracker\\\"],\\\"Resource\\\":[\\\"arn:aws:personalize:us-east-1:044981683129:*/retaildemo*\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"logs:CreateLogGroup\\\",\\\"personalize:ListCampaigns\\\",\\\"personalize:ListDatasetGroups\\\",\\\"personalize:ListSolutions\\\",\\\"personalize:ListSchemas\\\",\\\"personalize:ListSolutionVersions\\\",\\\"personalize:ListDatasetImportJobs\\\",\\\"personalize:ListDatasets\\\",\\\"personalize:ListEventTrackers\\\"],\\\"Resource\\\":[\\\"*\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"s3:GetObject\\\"],\\\"Resource\\\":[\\\"arn:aws:s3:::retail-demo-store-us-east-1\\\",\\\"arn:aws:s3:::retail-demo-store-us-east-1/*\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"ivs:ListStreamKeys\\\"],\\\"Resource\\\":[\\\"arn:aws:ivs:us-east-1:044981683129:*\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"ivs:GetChannel\\\",\\\"ivs:GetStream\\\",\\\"ivs:PutMetadata\\\"],\\\"Resource\\\":[\\\"arn:aws:ivs:us-east-1:044981683129:channel/*\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"ivs:GetStreamKey\\\"],\\\"Resource\\\":[\\\"arn:aws:ivs:us-east-1:044981683129:stream-key/*\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"events:DescribeRule\\\",\\\"events:ListRules\\\",\\\"events:EnableRule\\\"],\\\"Resource\\\":[\\\"arn:aws:events:us-east-1:044981683129:rule/RetailDemoStore-PersonalizePreCreateScheduledRule\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"lambda:InvokeFunction\\\"],\\\"Resource\\\":[\\\"arn:aws:lambda:us-east-1:044981683129:function:AmazonPaySigningLambda\\\"],\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Re-TaskRole-1CWIHEBF7BEVS/inlinePolicy/others","resourceName":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Re-TaskRole-1CWIHEBF7BEVS/inlinePolicy/others","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Re-TaskRole-1CWIHEBF7BEVS/inlinePolicy/others","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1976.5,"y":-2321.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Re-TaskRole-1CWIHEBF7BEVS/inlinePolicy/PinpointSMS","resourceId":["arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Re-TaskRole-1CWIHEBF7BEVS/inlinePolicy/PinpointSMS","arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Re-TaskRole-1CWIHEBF7BEVS/inlinePolicy/PinpointSMS"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Re-TaskRole-1CWIHEBF7BEVS/inlinePolicy/PinpointSMS","title":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Re-TaskRole-1CWIHEBF7BEVS/inlinePolicy/PinpointSMS","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Re-TaskRole-1CWIHEBF7BEVS/inlinePolicy/PinpointSMS","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Re-TaskRole-1CWIHEBF7BEVS/inlinePolicy/PinpointSMS","name":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Re-TaskRole-1CWIHEBF7BEVS/inlinePolicy/PinpointSMS","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Re-TaskRole-1CWIHEBF7BEVS/inlinePolicy/PinpointSMS","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Re-TaskRole-1CWIHEBF7BEVS/inlinePolicy/PinpointSMS","configuration":"\"{\\\"policyName\\\":\\\"PinpointSMS\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"mobiletargeting:SendMessages\\\",\\\"mobiletargeting:GetEndpoint\\\",\\\"mobiletargeting:UpdateEndpoint\\\",\\\"mobiletargeting:PutEvents\\\"],\\\"Resource\\\":\\\"arn:aws:mobiletargeting:us-east-1:044981683129:apps/*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"mobiletargeting:PhoneNumberValidate\\\"],\\\"Resource\\\":\\\"arn:aws:mobiletargeting:us-east-1:044981683129:phone/number/validate\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Re-TaskRole-1CWIHEBF7BEVS/inlinePolicy/PinpointSMS","resourceName":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Re-TaskRole-1CWIHEBF7BEVS/inlinePolicy/PinpointSMS","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Re-TaskRole-1CWIHEBF7BEVS/inlinePolicy/PinpointSMS","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1976.5,"y":-2248.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/ecs-service-ecs-refarch-london-WebsiteService-1SOWL0MC5RGNG","resourceId":["AROAQU6I6AO47M3WD4PMP","arn:aws:iam::044981683129:role/ecs-service-ecs-refarch-london-WebsiteService-1SOWL0MC5RGNG"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/ecs-service-ecs-refarch-london-WebsiteService-1SOWL0MC5RGNG","title":"ecs-service-ecs-refarch-london-WebsiteService-1SOWL0MC5RGNG","label":"ecs-service-...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/ecs-service-ecs-refarch-london-WebsiteService-1SOWL0MC5RGNG","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO47M3WD4PMP","name":"ecs-service-ecs-refarch-london-WebsiteService-1SOWL0MC5RGNG","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/ecs-service-ecs-refarch-london-WebsiteService-1SOWL0MC5RGNG","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/ecs-service-ecs-refarch-london-WebsiteService-1SOWL0MC5RGNG","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222008-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22ecs.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO47M3WD4PMP\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"ecs-service-ecs-refarch-london-WebsiteService-1SOWL0MC5RGNG\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/ecs-service-ecs-refarch-london-WebsiteService-1SOWL0MC5RGNG\\\",\\\"createDate\\\":\\\"2022-03-02T17:30:07.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22ec2%3AAuthorizeSecurityGroupIngress%22%2C%22ec2%3ADescribe%2A%22%2C%22elasticloadbalancing%3ADeregisterInstancesFromLoadBalancer%22%2C%22elasticloadbalancing%3ADescribe%2A%22%2C%22elasticloadbalancing%3ARegisterInstancesWithLoadBalancer%22%2C%22elasticloadbalancing%3ADeregisterTargets%22%2C%22elasticloadbalancing%3ADescribeTargetGroups%22%2C%22elasticloadbalancing%3ADescribeTargetHealth%22%2C%22elasticloadbalancing%3ARegisterTargets%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"ecs-service-ecs-refarch-london-WebsiteService-1SOWL0MC5RGNG\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO47M3WD4PMP","resourceName":"ecs-service-ecs-refarch-london-WebsiteService-1SOWL0MC5RGNG","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"ecs-service-ecs-refarch-london-WebsiteService-1SOWL0MC5RGNG","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":1060.5,"y":-2394.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/ecs-service-ecs-refarch-london-WebsiteService-1SOWL0MC5RGNG/inlinePolicy/ecs-service-ecs-refarch-london-WebsiteService-1SOWL0MC5RGNG","resourceId":["arn:aws:iam::044981683129:role/ecs-service-ecs-refarch-london-WebsiteService-1SOWL0MC5RGNG/inlinePolicy/ecs-service-ecs-refarch-london-WebsiteService-1SOWL0MC5RGNG","arn:aws:iam::044981683129:role/ecs-service-ecs-refarch-london-WebsiteService-1SOWL0MC5RGNG/inlinePolicy/ecs-service-ecs-refarch-london-WebsiteService-1SOWL0MC5RGNG"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/ecs-service-ecs-refarch-london-WebsiteService-1SOWL0MC5RGNG/inlinePolicy/ecs-service-ecs-refarch-london-WebsiteService-1SOWL0MC5RGNG","title":"arn:aws:iam::044981683129:role/ecs-service-ecs-refarch-london-WebsiteService-1SOWL0MC5RGNG/inlinePolicy/ecs-service-ecs-refarch-london-WebsiteService-1SOWL0MC5RGNG","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/ecs-service-ecs-refarch-london-WebsiteService-1SOWL0MC5RGNG/inlinePolicy/ecs-service-ecs-refarch-london-WebsiteService-1SOWL0MC5RGNG","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/ecs-service-ecs-refarch-london-WebsiteService-1SOWL0MC5RGNG/inlinePolicy/ecs-service-ecs-refarch-london-WebsiteService-1SOWL0MC5RGNG","name":"arn:aws:iam::044981683129:role/ecs-service-ecs-refarch-london-WebsiteService-1SOWL0MC5RGNG/inlinePolicy/ecs-service-ecs-refarch-london-WebsiteService-1SOWL0MC5RGNG","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/ecs-service-ecs-refarch-london-WebsiteService-1SOWL0MC5RGNG/inlinePolicy/ecs-service-ecs-refarch-london-WebsiteService-1SOWL0MC5RGNG","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/ecs-service-ecs-refarch-london-WebsiteService-1SOWL0MC5RGNG/inlinePolicy/ecs-service-ecs-refarch-london-WebsiteService-1SOWL0MC5RGNG","configuration":"\"{\\\"policyName\\\":\\\"ecs-service-ecs-refarch-london-WebsiteService-1SOWL0MC5RGNG\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"ec2:AuthorizeSecurityGroupIngress\\\",\\\"ec2:Describe*\\\",\\\"elasticloadbalancing:DeregisterInstancesFromLoadBalancer\\\",\\\"elasticloadbalancing:Describe*\\\",\\\"elasticloadbalancing:RegisterInstancesWithLoadBalancer\\\",\\\"elasticloadbalancing:DeregisterTargets\\\",\\\"elasticloadbalancing:DescribeTargetGroups\\\",\\\"elasticloadbalancing:DescribeTargetHealth\\\",\\\"elasticloadbalancing:RegisterTargets\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/ecs-service-ecs-refarch-london-WebsiteService-1SOWL0MC5RGNG/inlinePolicy/ecs-service-ecs-refarch-london-WebsiteService-1SOWL0MC5RGNG","resourceName":"arn:aws:iam::044981683129:role/ecs-service-ecs-refarch-london-WebsiteService-1SOWL0MC5RGNG/inlinePolicy/ecs-service-ecs-refarch-london-WebsiteService-1SOWL0MC5RGNG","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/ecs-service-ecs-refarch-london-WebsiteService-1SOWL0MC5RGNG/inlinePolicy/ecs-service-ecs-refarch-london-WebsiteService-1SOWL0MC5RGNG","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1392.5,"y":-2175.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/retaildemostore-ChatbotFu-BotRecommendationsLambda-1EP31TLYECBRS","resourceId":["AROAQU6I6AO47P5TYBMNX","arn:aws:iam::044981683129:role/retaildemostore-ChatbotFu-BotRecommendationsLambda-1EP31TLYECBRS"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/retaildemostore-ChatbotFu-BotRecommendationsLambda-1EP31TLYECBRS","title":"retaildemostore-ChatbotFu-BotRecommendationsLambda-1EP31TLYECBRS","label":"retaildemost...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/retaildemostore-ChatbotFu-BotRecommendationsLambda-1EP31TLYECBRS","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO47P5TYBMNX","name":"retaildemostore-ChatbotFu-BotRecommendationsLambda-1EP31TLYECBRS","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/retaildemostore-ChatbotFu-BotRecommendationsLambda-1EP31TLYECBRS","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/retaildemostore-ChatbotFu-BotRecommendationsLambda-1EP31TLYECBRS","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22lambda.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO47P5TYBMNX\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"retaildemostore-ChatbotFu-BotRecommendationsLambda-1EP31TLYECBRS\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/retaildemostore-ChatbotFu-BotRecommendationsLambda-1EP31TLYECBRS\\\",\\\"createDate\\\":\\\"2021-10-22T12:13:18.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22logs%3ACreateLogStream%22%2C%22logs%3APutLogEvents%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Alogs%3Aus-east-1%3A044981683129%3Alog-group%3A%2Faws%2Flambda%2FRetailDemoStore-Chat-Recommendations%3Alog-stream%3A%2A%22%2C%22arn%3Aaws%3Alogs%3Aus-east-1%3A044981683129%3Alog-group%3A%2Faws%2Flambda%2FRetailDemoStore-Chat-Recommendations%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22logs%3ACreateLogGroup%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"root\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO47P5TYBMNX","resourceName":"retaildemostore-ChatbotFu-BotRecommendationsLambda-1EP31TLYECBRS","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"retaildemostore-ChatbotFu-BotRecommendationsLambda-1EP31TLYECBRS","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":1060.5,"y":-2321.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/retaildemostore-ChatbotFu-BotRecommendationsLambda-1EP31TLYECBRS/inlinePolicy/root","resourceId":["arn:aws:iam::044981683129:role/retaildemostore-ChatbotFu-BotRecommendationsLambda-1EP31TLYECBRS/inlinePolicy/root","arn:aws:iam::044981683129:role/retaildemostore-ChatbotFu-BotRecommendationsLambda-1EP31TLYECBRS/inlinePolicy/root"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/retaildemostore-ChatbotFu-BotRecommendationsLambda-1EP31TLYECBRS/inlinePolicy/root","title":"arn:aws:iam::044981683129:role/retaildemostore-ChatbotFu-BotRecommendationsLambda-1EP31TLYECBRS/inlinePolicy/root","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/retaildemostore-ChatbotFu-BotRecommendationsLambda-1EP31TLYECBRS/inlinePolicy/root","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/retaildemostore-ChatbotFu-BotRecommendationsLambda-1EP31TLYECBRS/inlinePolicy/root","name":"arn:aws:iam::044981683129:role/retaildemostore-ChatbotFu-BotRecommendationsLambda-1EP31TLYECBRS/inlinePolicy/root","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/retaildemostore-ChatbotFu-BotRecommendationsLambda-1EP31TLYECBRS/inlinePolicy/root","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/retaildemostore-ChatbotFu-BotRecommendationsLambda-1EP31TLYECBRS/inlinePolicy/root","configuration":"\"{\\\"policyName\\\":\\\"root\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"logs:CreateLogStream\\\",\\\"logs:PutLogEvents\\\"],\\\"Resource\\\":[\\\"arn:aws:logs:us-east-1:044981683129:log-group:/aws/lambda/RetailDemoStore-Chat-Recommendations:log-stream:*\\\",\\\"arn:aws:logs:us-east-1:044981683129:log-group:/aws/lambda/RetailDemoStore-Chat-Recommendations\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"logs:CreateLogGroup\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/retaildemostore-ChatbotFu-BotRecommendationsLambda-1EP31TLYECBRS/inlinePolicy/root","resourceName":"arn:aws:iam::044981683129:role/retaildemostore-ChatbotFu-BotRecommendationsLambda-1EP31TLYECBRS/inlinePolicy/root","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/retaildemostore-ChatbotFu-BotRecommendationsLambda-1EP31TLYECBRS/inlinePolicy/root","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1465.5,"y":-2175.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-ILSMH8MQ6XC3","resourceId":["AROAQU6I6AO4QESGXLVRS","arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-ILSMH8MQ6XC3"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-ILSMH8MQ6XC3","title":"retaildemostore-Services-1WZN-CodeBuildServiceRole-ILSMH8MQ6XC3","label":"retaildemost...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-ILSMH8MQ6XC3","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO4QESGXLVRS","name":"retaildemostore-Services-1WZN-CodeBuildServiceRole-ILSMH8MQ6XC3","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-ILSMH8MQ6XC3","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-ILSMH8MQ6XC3","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22codebuild.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO4QESGXLVRS\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"retaildemostore-Services-1WZN-CodeBuildServiceRole-ILSMH8MQ6XC3\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-ILSMH8MQ6XC3\\\",\\\"createDate\\\":\\\"2021-10-22T12:09:38.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22ecr%3AGetDownloadUrlForLayer%22%2C%22ecr%3ABatchGetImage%22%2C%22ecr%3ABatchCheckLayerAvailability%22%2C%22ecr%3APutImage%22%2C%22ecr%3AInitiateLayerUpload%22%2C%22ecr%3AUploadLayerPart%22%2C%22ecr%3ACompleteLayerUpload%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Aecr%3Aus-east-1%3A044981683129%3Arepository%2Fretaildemostore%2Flocation%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"ecr\\\"},{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22logs%3ACreateLogGroup%22%2C%22logs%3ACreateLogStream%22%2C%22logs%3APutLogEvents%22%2C%22ecr%3AGetAuthorizationToken%22%2C%22ssm%3AGetParameters%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"logs\\\"},{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22s3%3AGetObject%22%2C%22s3%3APutObject%22%2C%22s3%3AGetObjectVersion%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3As3%3A%3A%3Aretaildemostore-services-1wznopxsy-artifactbucket-427f3n7c1564%2F%2A%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"S3\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO4QESGXLVRS","resourceName":"retaildemostore-Services-1WZN-CodeBuildServiceRole-ILSMH8MQ6XC3","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"retaildemostore-Services-1WZN-CodeBuildServiceRole-ILSMH8MQ6XC3","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":1060.5,"y":-2248.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-ILSMH8MQ6XC3/inlinePolicy/ecr","resourceId":["arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-ILSMH8MQ6XC3/inlinePolicy/ecr","arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-ILSMH8MQ6XC3/inlinePolicy/ecr"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-ILSMH8MQ6XC3/inlinePolicy/ecr","title":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-ILSMH8MQ6XC3/inlinePolicy/ecr","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-ILSMH8MQ6XC3/inlinePolicy/ecr","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-ILSMH8MQ6XC3/inlinePolicy/ecr","name":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-ILSMH8MQ6XC3/inlinePolicy/ecr","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-ILSMH8MQ6XC3/inlinePolicy/ecr","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-ILSMH8MQ6XC3/inlinePolicy/ecr","configuration":"\"{\\\"policyName\\\":\\\"ecr\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"ecr:GetDownloadUrlForLayer\\\",\\\"ecr:BatchGetImage\\\",\\\"ecr:BatchCheckLayerAvailability\\\",\\\"ecr:PutImage\\\",\\\"ecr:InitiateLayerUpload\\\",\\\"ecr:UploadLayerPart\\\",\\\"ecr:CompleteLayerUpload\\\"],\\\"Resource\\\":\\\"arn:aws:ecr:us-east-1:044981683129:repository/retaildemostore/location\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-ILSMH8MQ6XC3/inlinePolicy/ecr","resourceName":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-ILSMH8MQ6XC3/inlinePolicy/ecr","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-ILSMH8MQ6XC3/inlinePolicy/ecr","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1538.5,"y":-2175.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-ILSMH8MQ6XC3/inlinePolicy/logs","resourceId":["arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-ILSMH8MQ6XC3/inlinePolicy/logs","arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-ILSMH8MQ6XC3/inlinePolicy/logs"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-ILSMH8MQ6XC3/inlinePolicy/logs","title":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-ILSMH8MQ6XC3/inlinePolicy/logs","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-ILSMH8MQ6XC3/inlinePolicy/logs","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-ILSMH8MQ6XC3/inlinePolicy/logs","name":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-ILSMH8MQ6XC3/inlinePolicy/logs","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-ILSMH8MQ6XC3/inlinePolicy/logs","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-ILSMH8MQ6XC3/inlinePolicy/logs","configuration":"\"{\\\"policyName\\\":\\\"logs\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"logs:CreateLogGroup\\\",\\\"logs:CreateLogStream\\\",\\\"logs:PutLogEvents\\\",\\\"ecr:GetAuthorizationToken\\\",\\\"ssm:GetParameters\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-ILSMH8MQ6XC3/inlinePolicy/logs","resourceName":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-ILSMH8MQ6XC3/inlinePolicy/logs","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-ILSMH8MQ6XC3/inlinePolicy/logs","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1611.5,"y":-2175.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-ILSMH8MQ6XC3/inlinePolicy/S3","resourceId":["arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-ILSMH8MQ6XC3/inlinePolicy/S3","arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-ILSMH8MQ6XC3/inlinePolicy/S3"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-ILSMH8MQ6XC3/inlinePolicy/S3","title":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-ILSMH8MQ6XC3/inlinePolicy/S3","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-ILSMH8MQ6XC3/inlinePolicy/S3","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-ILSMH8MQ6XC3/inlinePolicy/S3","name":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-ILSMH8MQ6XC3/inlinePolicy/S3","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-ILSMH8MQ6XC3/inlinePolicy/S3","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-ILSMH8MQ6XC3/inlinePolicy/S3","configuration":"\"{\\\"policyName\\\":\\\"S3\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"s3:GetObject\\\",\\\"s3:PutObject\\\",\\\"s3:GetObjectVersion\\\"],\\\"Resource\\\":\\\"arn:aws:s3:::retaildemostore-services-1wznopxsy-artifactbucket-427f3n7c1564/*\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-ILSMH8MQ6XC3/inlinePolicy/S3","resourceName":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-ILSMH8MQ6XC3/inlinePolicy/S3","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-ILSMH8MQ6XC3/inlinePolicy/S3","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1684.5,"y":-2175.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/cdk-hnb659fds-lookup-role-044981683129-eu-west-2","resourceId":["AROAQU6I6AO47UXOLSOP3","arn:aws:iam::044981683129:role/cdk-hnb659fds-lookup-role-044981683129-eu-west-2"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/cdk-hnb659fds-lookup-role-044981683129-eu-west-2","title":"cdk-hnb659fds-lookup-role-044981683129-eu-west-2","label":"cdk-hnb659fd...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/cdk-hnb659fds-lookup-role-044981683129-eu-west-2","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO47UXOLSOP3","name":"cdk-hnb659fds-lookup-role-044981683129-eu-west-2","value":null,"type":"AWS::IAM::Role","tags":"[{\"tag\":\"aws-cdk:bootstrap-role=lookup\",\"value\":\"lookup\",\"key\":\"aws-cdk:bootstrap-role\"}]","arn":"arn:aws:iam::044981683129:role/cdk-hnb659fds-lookup-role-044981683129-eu-west-2","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/cdk-hnb659fds-lookup-role-044981683129-eu-west-2","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222008-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22AWS%22%3A%22arn%3Aaws%3Aiam%3A%3A044981683129%3Aroot%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO47UXOLSOP3\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/ReadOnlyAccess\\\",\\\"policyName\\\":\\\"ReadOnlyAccess\\\"}],\\\"roleName\\\":\\\"cdk-hnb659fds-lookup-role-044981683129-eu-west-2\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/cdk-hnb659fds-lookup-role-044981683129-eu-west-2\\\",\\\"createDate\\\":\\\"2021-12-10T11:37:46.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22kms%3ADecrypt%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Deny%22%2C%22Sid%22%3A%22DontReadSecrets%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"LookupRolePolicy\\\"}],\\\"tags\\\":[{\\\"value\\\":\\\"lookup\\\",\\\"key\\\":\\\"aws-cdk:bootstrap-role\\\"}]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO47UXOLSOP3","resourceName":"cdk-hnb659fds-lookup-role-044981683129-eu-west-2","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws-cdk:bootstrap-role=lookup\",\"value\":\"lookup\",\"key\":\"aws-cdk:bootstrap-role\"}]","title":"cdk-hnb659fds-lookup-role-044981683129-eu-west-2","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":476.5,"y":-2175.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/cdk-hnb659fds-lookup-role-044981683129-eu-west-2/inlinePolicy/LookupRolePolicy","resourceId":["arn:aws:iam::044981683129:role/cdk-hnb659fds-lookup-role-044981683129-eu-west-2/inlinePolicy/LookupRolePolicy","arn:aws:iam::044981683129:role/cdk-hnb659fds-lookup-role-044981683129-eu-west-2/inlinePolicy/LookupRolePolicy"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/cdk-hnb659fds-lookup-role-044981683129-eu-west-2/inlinePolicy/LookupRolePolicy","title":"arn:aws:iam::044981683129:role/cdk-hnb659fds-lookup-role-044981683129-eu-west-2/inlinePolicy/LookupRolePolicy","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/cdk-hnb659fds-lookup-role-044981683129-eu-west-2/inlinePolicy/LookupRolePolicy","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/cdk-hnb659fds-lookup-role-044981683129-eu-west-2/inlinePolicy/LookupRolePolicy","name":"arn:aws:iam::044981683129:role/cdk-hnb659fds-lookup-role-044981683129-eu-west-2/inlinePolicy/LookupRolePolicy","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/cdk-hnb659fds-lookup-role-044981683129-eu-west-2/inlinePolicy/LookupRolePolicy","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/cdk-hnb659fds-lookup-role-044981683129-eu-west-2/inlinePolicy/LookupRolePolicy","configuration":"\"{\\\"policyName\\\":\\\"LookupRolePolicy\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"kms:Decrypt\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Deny\\\",\\\"Sid\\\":\\\"DontReadSecrets\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/cdk-hnb659fds-lookup-role-044981683129-eu-west-2/inlinePolicy/LookupRolePolicy","resourceName":"arn:aws:iam::044981683129:role/cdk-hnb659fds-lookup-role-044981683129-eu-west-2/inlinePolicy/LookupRolePolicy","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/cdk-hnb659fds-lookup-role-044981683129-eu-west-2/inlinePolicy/LookupRolePolicy","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1757.5,"y":-2175.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/retaildemostore-Location-LocationGeofenceWebsocke-7PR68QYUA2LS","resourceId":["AROAQU6I6AO4SFR5SMZAI","arn:aws:iam::044981683129:role/retaildemostore-Location-LocationGeofenceWebsocke-7PR68QYUA2LS"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/retaildemostore-Location-LocationGeofenceWebsocke-7PR68QYUA2LS","title":"retaildemostore-Location-LocationGeofenceWebsocke-7PR68QYUA2LS","label":"retaildemost...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/retaildemostore-Location-LocationGeofenceWebsocke-7PR68QYUA2LS","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO4SFR5SMZAI","name":"retaildemostore-Location-LocationGeofenceWebsocke-7PR68QYUA2LS","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/retaildemostore-Location-LocationGeofenceWebsocke-7PR68QYUA2LS","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/retaildemostore-Location-LocationGeofenceWebsocke-7PR68QYUA2LS","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22lambda.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO4SFR5SMZAI\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"retaildemostore-Location-LocationGeofenceWebsocke-7PR68QYUA2LS\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/retaildemostore-Location-LocationGeofenceWebsocke-7PR68QYUA2LS\\\",\\\"createDate\\\":\\\"2021-10-22T12:13:54.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22logs%3ACreateLogStream%22%2C%22logs%3APutLogEvents%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Alogs%3Aus-east-1%3A044981683129%3Alog-group%3A%2Faws%2Flambda%2FLocationNrfDemoNotificationApiConnect%3Alog-stream%3A%2A%22%2C%22arn%3Aaws%3Alogs%3Aus-east-1%3A044981683129%3Alog-group%3A%2Faws%2Flambda%2FLocationNrfDemoNotificationApiConnect%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22logs%3ACreateLogGroup%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22dynamodb%3AGetItem%22%2C%22dynamodb%3AUpdateItem%22%2C%22dynamodb%3APutItem%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Adynamodb%3Aus-east-1%3A044981683129%3Atable%2Fretaildemostore-Location-12VQUTBFZA25X-WebSocketConnectionTable-VUQD9FNI3LGV%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"root\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO4SFR5SMZAI","resourceName":"retaildemostore-Location-LocationGeofenceWebsocke-7PR68QYUA2LS","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"retaildemostore-Location-LocationGeofenceWebsocke-7PR68QYUA2LS","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":549.5,"y":-2175.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/retaildemostore-Location-LocationGeofenceWebsocke-7PR68QYUA2LS/inlinePolicy/root","resourceId":["arn:aws:iam::044981683129:role/retaildemostore-Location-LocationGeofenceWebsocke-7PR68QYUA2LS/inlinePolicy/root","arn:aws:iam::044981683129:role/retaildemostore-Location-LocationGeofenceWebsocke-7PR68QYUA2LS/inlinePolicy/root"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/retaildemostore-Location-LocationGeofenceWebsocke-7PR68QYUA2LS/inlinePolicy/root","title":"arn:aws:iam::044981683129:role/retaildemostore-Location-LocationGeofenceWebsocke-7PR68QYUA2LS/inlinePolicy/root","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/retaildemostore-Location-LocationGeofenceWebsocke-7PR68QYUA2LS/inlinePolicy/root","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Location-LocationGeofenceWebsocke-7PR68QYUA2LS/inlinePolicy/root","name":"arn:aws:iam::044981683129:role/retaildemostore-Location-LocationGeofenceWebsocke-7PR68QYUA2LS/inlinePolicy/root","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/retaildemostore-Location-LocationGeofenceWebsocke-7PR68QYUA2LS/inlinePolicy/root","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/retaildemostore-Location-LocationGeofenceWebsocke-7PR68QYUA2LS/inlinePolicy/root","configuration":"\"{\\\"policyName\\\":\\\"root\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"logs:CreateLogStream\\\",\\\"logs:PutLogEvents\\\"],\\\"Resource\\\":[\\\"arn:aws:logs:us-east-1:044981683129:log-group:/aws/lambda/LocationNrfDemoNotificationApiConnect:log-stream:*\\\",\\\"arn:aws:logs:us-east-1:044981683129:log-group:/aws/lambda/LocationNrfDemoNotificationApiConnect\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"logs:CreateLogGroup\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"dynamodb:GetItem\\\",\\\"dynamodb:UpdateItem\\\",\\\"dynamodb:PutItem\\\"],\\\"Resource\\\":\\\"arn:aws:dynamodb:us-east-1:044981683129:table/retaildemostore-Location-12VQUTBFZA25X-WebSocketConnectionTable-VUQD9FNI3LGV\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/retaildemostore-Location-LocationGeofenceWebsocke-7PR68QYUA2LS/inlinePolicy/root","resourceName":"arn:aws:iam::044981683129:role/retaildemostore-Location-LocationGeofenceWebsocke-7PR68QYUA2LS/inlinePolicy/root","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/retaildemostore-Location-LocationGeofenceWebsocke-7PR68QYUA2LS/inlinePolicy/root","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1830.5,"y":-2175.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/bastion-neptune","resourceId":["AROAQU6I6AO4STBOZSTWJ","arn:aws:iam::044981683129:role/bastion-neptune"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/bastion-neptune","title":"bastion-neptune","label":"bastion-nept...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/bastion-neptune","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO4STBOZSTWJ","name":"bastion-neptune","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/bastion-neptune","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/bastion-neptune","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22ec2.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[{\\\"path\\\":\\\"/\\\",\\\"instanceProfileName\\\":\\\"bastion-neptune\\\",\\\"roles\\\":[{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22ec2.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"roleId\\\":\\\"AROAQU6I6AO4STBOZSTWJ\\\",\\\"roleName\\\":\\\"bastion-neptune\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/bastion-neptune\\\",\\\"createDate\\\":\\\"2019-11-26T17:32:31.000Z\\\",\\\"tags\\\":[]}],\\\"instanceProfileId\\\":\\\"AIPAQU6I6AO42FDEXTUBU\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:instance-profile/bastion-neptune\\\",\\\"createDate\\\":\\\"2019-11-26T17:32:31.000Z\\\",\\\"tags\\\":[]}],\\\"roleId\\\":\\\"AROAQU6I6AO4STBOZSTWJ\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/NeptuneFullAccess\\\",\\\"policyName\\\":\\\"NeptuneFullAccess\\\"}],\\\"roleName\\\":\\\"bastion-neptune\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/bastion-neptune\\\",\\\"createDate\\\":\\\"2019-11-26T17:32:31.000Z\\\",\\\"rolePolicyList\\\":[],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO4STBOZSTWJ","resourceName":"bastion-neptune","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"bastion-neptune","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":622.5,"y":-2175.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-Ac-AccountImportTemplatesAp-GNEM8P4GG3V6","resourceId":["AROAQU6I6AO477W4KFPGJ","arn:aws:iam::044981683129:role/workload-discovery-iad-Ac-AccountImportTemplatesAp-GNEM8P4GG3V6"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/workload-discovery-iad-Ac-AccountImportTemplatesAp-GNEM8P4GG3V6","title":"workload-discovery-iad-Ac-AccountImportTemplatesAp-GNEM8P4GG3V6","label":"workload-dis...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/workload-discovery-iad-Ac-AccountImportTemplatesAp-GNEM8P4GG3V6","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO477W4KFPGJ","name":"workload-discovery-iad-Ac-AccountImportTemplatesAp-GNEM8P4GG3V6","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-Ac-AccountImportTemplatesAp-GNEM8P4GG3V6","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-Ac-AccountImportTemplatesAp-GNEM8P4GG3V6","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22appsync.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO477W4KFPGJ\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"workload-discovery-iad-Ac-AccountImportTemplatesAp-GNEM8P4GG3V6\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/workload-discovery-iad-Ac-AccountImportTemplatesAp-GNEM8P4GG3V6\\\",\\\"createDate\\\":\\\"2022-11-16T14:33:45.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22lambda%3AInvokeFunction%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Alambda%3Aus-east-1%3A044981683129%3Afunction%3Aworkload-discovery-iad-Ac-AccountImportTemplatesAp-DBlxrizDh7Al%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"workload-discovery-iad-AccountImportTemplatesResolversStack-12UBH5SGX3GMS-AppSyncSearchRole\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO477W4KFPGJ","resourceName":"workload-discovery-iad-Ac-AccountImportTemplatesAp-GNEM8P4GG3V6","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"workload-discovery-iad-Ac-AccountImportTemplatesAp-GNEM8P4GG3V6","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":695.5,"y":-2175.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-Ac-AccountImportTemplatesAp-GNEM8P4GG3V6/inlinePolicy/workload-discovery-iad-AccountImportTemplatesResolversStack-12UBH5SGX3GMS-AppSyncSearchRole","resourceId":["arn:aws:iam::044981683129:role/workload-discovery-iad-Ac-AccountImportTemplatesAp-GNEM8P4GG3V6/inlinePolicy/workload-discovery-iad-AccountImportTemplatesResolversStack-12UBH5SGX3GMS-AppSyncSearchRole","arn:aws:iam::044981683129:role/workload-discovery-iad-Ac-AccountImportTemplatesAp-GNEM8P4GG3V6/inlinePolicy/workload-discovery-iad-AccountImportTemplatesResolversStack-12UBH5SGX3GMS-AppSyncSearchRole"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/workload-discovery-iad-Ac-AccountImportTemplatesAp-GNEM8P4GG3V6/inlinePolicy/workload-discovery-iad-AccountImportTemplatesResolversStack-12UBH5SGX3GMS-AppSyncSearchRole","title":"arn:aws:iam::044981683129:role/workload-discovery-iad-Ac-AccountImportTemplatesAp-GNEM8P4GG3V6/inlinePolicy/workload-discovery-iad-AccountImportTemplatesResolversStack-12UBH5SGX3GMS-AppSyncSearchRole","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/workload-discovery-iad-Ac-AccountImportTemplatesAp-GNEM8P4GG3V6/inlinePolicy/workload-discovery-iad-AccountImportTemplatesResolversStack-12UBH5SGX3GMS-AppSyncSearchRole","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/workload-discovery-iad-Ac-AccountImportTemplatesAp-GNEM8P4GG3V6/inlinePolicy/workload-discovery-iad-AccountImportTemplatesResolversStack-12UBH5SGX3GMS-AppSyncSearchRole","name":"arn:aws:iam::044981683129:role/workload-discovery-iad-Ac-AccountImportTemplatesAp-GNEM8P4GG3V6/inlinePolicy/workload-discovery-iad-AccountImportTemplatesResolversStack-12UBH5SGX3GMS-AppSyncSearchRole","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-Ac-AccountImportTemplatesAp-GNEM8P4GG3V6/inlinePolicy/workload-discovery-iad-AccountImportTemplatesResolversStack-12UBH5SGX3GMS-AppSyncSearchRole","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-Ac-AccountImportTemplatesAp-GNEM8P4GG3V6/inlinePolicy/workload-discovery-iad-AccountImportTemplatesResolversStack-12UBH5SGX3GMS-AppSyncSearchRole","configuration":"\"{\\\"policyName\\\":\\\"workload-discovery-iad-AccountImportTemplatesResolversStack-12UBH5SGX3GMS-AppSyncSearchRole\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"lambda:InvokeFunction\\\"],\\\"Resource\\\":\\\"arn:aws:lambda:us-east-1:044981683129:function:workload-discovery-iad-Ac-AccountImportTemplatesAp-DBlxrizDh7Al\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/workload-discovery-iad-Ac-AccountImportTemplatesAp-GNEM8P4GG3V6/inlinePolicy/workload-discovery-iad-AccountImportTemplatesResolversStack-12UBH5SGX3GMS-AppSyncSearchRole","resourceName":"arn:aws:iam::044981683129:role/workload-discovery-iad-Ac-AccountImportTemplatesAp-GNEM8P4GG3V6/inlinePolicy/workload-discovery-iad-AccountImportTemplatesResolversStack-12UBH5SGX3GMS-AppSyncSearchRole","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/workload-discovery-iad-Ac-AccountImportTemplatesAp-GNEM8P4GG3V6/inlinePolicy/workload-discovery-iad-AccountImportTemplatesResolversStack-12UBH5SGX3GMS-AppSyncSearchRole","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1903.5,"y":-2175.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/aws-perspective-v2-OpenSearchRole-SearchLambdaRole-1BHSBP4XNW1OR","resourceId":["AROAQU6I6AO4R5KPFQSL3","arn:aws:iam::044981683129:role/aws-perspective-v2-OpenSearchRole-SearchLambdaRole-1BHSBP4XNW1OR"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/aws-perspective-v2-OpenSearchRole-SearchLambdaRole-1BHSBP4XNW1OR","title":"aws-perspective-v2-OpenSearchRole-SearchLambdaRole-1BHSBP4XNW1OR","label":"aws-perspect...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/aws-perspective-v2-OpenSearchRole-SearchLambdaRole-1BHSBP4XNW1OR","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO4R5KPFQSL3","name":"aws-perspective-v2-OpenSearchRole-SearchLambdaRole-1BHSBP4XNW1OR","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/aws-perspective-v2-OpenSearchRole-SearchLambdaRole-1BHSBP4XNW1OR","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/aws-perspective-v2-OpenSearchRole-SearchLambdaRole-1BHSBP4XNW1OR","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22lambda.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO4R5KPFQSL3\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole\\\",\\\"policyName\\\":\\\"AWSLambdaVPCAccessExecutionRole\\\"},{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole\\\",\\\"policyName\\\":\\\"AWSLambdaBasicExecutionRole\\\"},{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/AWSXRayDaemonWriteAccess\\\",\\\"policyName\\\":\\\"AWSXRayDaemonWriteAccess\\\"}],\\\"roleName\\\":\\\"aws-perspective-v2-OpenSearchRole-SearchLambdaRole-1BHSBP4XNW1OR\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/aws-perspective-v2-OpenSearchRole-SearchLambdaRole-1BHSBP4XNW1OR\\\",\\\"createDate\\\":\\\"2022-08-30T12:26:00.000Z\\\",\\\"rolePolicyList\\\":[],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO4R5KPFQSL3","resourceName":"aws-perspective-v2-OpenSearchRole-SearchLambdaRole-1BHSBP4XNW1OR","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"aws-perspective-v2-OpenSearchRole-SearchLambdaRole-1BHSBP4XNW1OR","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":768.5,"y":-2175.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/service-role/mda-stack-Workload-1V66ZWG5MDRSZ-RedshiftS-IAMRole-CDA6DT0IS2NZ","resourceId":["AROAQU6I6AO4R25KXTN5L","arn:aws:iam::044981683129:role/service-role/mda-stack-Workload-1V66ZWG5MDRSZ-RedshiftS-IAMRole-CDA6DT0IS2NZ"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/service-role/mda-stack-Workload-1V66ZWG5MDRSZ-RedshiftS-IAMRole-CDA6DT0IS2NZ","title":"mda-stack-Workload-1V66ZWG5MDRSZ-RedshiftS-IAMRole-CDA6DT0IS2NZ","label":"mda-stack-Wo...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/service-role/mda-stack-Workload-1V66ZWG5MDRSZ-RedshiftS-IAMRole-CDA6DT0IS2NZ","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO4R25KXTN5L","name":"mda-stack-Workload-1V66ZWG5MDRSZ-RedshiftS-IAMRole-CDA6DT0IS2NZ","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/service-role/mda-stack-Workload-1V66ZWG5MDRSZ-RedshiftS-IAMRole-CDA6DT0IS2NZ","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/service-role/mda-stack-Workload-1V66ZWG5MDRSZ-RedshiftS-IAMRole-CDA6DT0IS2NZ","configuration":"\"{\\\"path\\\":\\\"/service-role/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22glue.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO4R25KXTN5L\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/AmazonS3FullAccess\\\",\\\"policyName\\\":\\\"AmazonS3FullAccess\\\"},{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole\\\",\\\"policyName\\\":\\\"AWSGlueServiceRole\\\"},{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/AmazonRedshiftFullAccess\\\",\\\"policyName\\\":\\\"AmazonRedshiftFullAccess\\\"}],\\\"roleName\\\":\\\"mda-stack-Workload-1V66ZWG5MDRSZ-RedshiftS-IAMRole-CDA6DT0IS2NZ\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/service-role/mda-stack-Workload-1V66ZWG5MDRSZ-RedshiftS-IAMRole-CDA6DT0IS2NZ\\\",\\\"createDate\\\":\\\"2022-07-06T15:10:18.000Z\\\",\\\"rolePolicyList\\\":[],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO4R25KXTN5L","resourceName":"mda-stack-Workload-1V66ZWG5MDRSZ-RedshiftS-IAMRole-CDA6DT0IS2NZ","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"mda-stack-Workload-1V66ZWG5MDRSZ-RedshiftS-IAMRole-CDA6DT0IS2NZ","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":841.5,"y":-2175.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/IsengardRole-DO-NOT-DELETE","resourceId":["AROAQU6I6AO4T6NCEJJJT","arn:aws:iam::044981683129:role/IsengardRole-DO-NOT-DELETE"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/IsengardRole-DO-NOT-DELETE","title":"IsengardRole-DO-NOT-DELETE","label":"IsengardRole...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/IsengardRole-DO-NOT-DELETE","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO4T6NCEJJJT","name":"IsengardRole-DO-NOT-DELETE","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/IsengardRole-DO-NOT-DELETE","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/IsengardRole-DO-NOT-DELETE","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Sid%22%3A%22%22%2C%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22AWS%22%3A%22arn%3Aaws%3Aiam%3A%3A727820809195%3Aroot%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%2C%22Condition%22%3A%7B%22StringEquals%22%3A%7B%22sts%3AExternalId%22%3A%22IsengardExternalId7spr8knF9q9E%22%7D%7D%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO4T6NCEJJJT\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"IsengardRole-DO-NOT-DELETE\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/IsengardRole-DO-NOT-DELETE\\\",\\\"createDate\\\":\\\"2019-11-25T15:13:09.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%20%222012-10-17%22%2C%20%22Statement%22%3A%20%5B%20%7B%22Effect%22%3A%20%22Allow%22%2C%20%22Action%22%3A%20%22%2A%22%2C%20%22Resource%22%3A%20%22%2A%22%20%7D%5D%7D\\\",\\\"policyName\\\":\\\"IsengardControllerPolicy\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO4T6NCEJJJT","resourceName":"IsengardRole-DO-NOT-DELETE","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"IsengardRole-DO-NOT-DELETE","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":914.5,"y":-2175.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/IsengardRole-DO-NOT-DELETE/inlinePolicy/IsengardControllerPolicy","resourceId":["arn:aws:iam::044981683129:role/IsengardRole-DO-NOT-DELETE/inlinePolicy/IsengardControllerPolicy","arn:aws:iam::044981683129:role/IsengardRole-DO-NOT-DELETE/inlinePolicy/IsengardControllerPolicy"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/IsengardRole-DO-NOT-DELETE/inlinePolicy/IsengardControllerPolicy","title":"arn:aws:iam::044981683129:role/IsengardRole-DO-NOT-DELETE/inlinePolicy/IsengardControllerPolicy","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/IsengardRole-DO-NOT-DELETE/inlinePolicy/IsengardControllerPolicy","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/IsengardRole-DO-NOT-DELETE/inlinePolicy/IsengardControllerPolicy","name":"arn:aws:iam::044981683129:role/IsengardRole-DO-NOT-DELETE/inlinePolicy/IsengardControllerPolicy","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/IsengardRole-DO-NOT-DELETE/inlinePolicy/IsengardControllerPolicy","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/IsengardRole-DO-NOT-DELETE/inlinePolicy/IsengardControllerPolicy","configuration":"\"{\\\"policyName\\\":\\\"IsengardControllerPolicy\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Effect\\\":\\\"Allow\\\",\\\"Action\\\":\\\"*\\\",\\\"Resource\\\":\\\"*\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/IsengardRole-DO-NOT-DELETE/inlinePolicy/IsengardControllerPolicy","resourceName":"arn:aws:iam::044981683129:role/IsengardRole-DO-NOT-DELETE/inlinePolicy/IsengardControllerPolicy","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/IsengardRole-DO-NOT-DELETE/inlinePolicy/IsengardControllerPolicy","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1976.5,"y":-2175.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-DrawIoExpo-DrawIoInvokeRole-1V9QEAJJETBA6","resourceId":["AROAQU6I6AO4TECF2RYRT","arn:aws:iam::044981683129:role/workload-discovery-iad-DrawIoExpo-DrawIoInvokeRole-1V9QEAJJETBA6"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/workload-discovery-iad-DrawIoExpo-DrawIoInvokeRole-1V9QEAJJETBA6","title":"workload-discovery-iad-DrawIoExpo-DrawIoInvokeRole-1V9QEAJJETBA6","label":"workload-dis...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/workload-discovery-iad-DrawIoExpo-DrawIoInvokeRole-1V9QEAJJETBA6","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO4TECF2RYRT","name":"workload-discovery-iad-DrawIoExpo-DrawIoInvokeRole-1V9QEAJJETBA6","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-DrawIoExpo-DrawIoInvokeRole-1V9QEAJJETBA6","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-DrawIoExpo-DrawIoInvokeRole-1V9QEAJJETBA6","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22appsync.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO4TECF2RYRT\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"workload-discovery-iad-DrawIoExpo-DrawIoInvokeRole-1V9QEAJJETBA6\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/workload-discovery-iad-DrawIoExpo-DrawIoInvokeRole-1V9QEAJJETBA6\\\",\\\"createDate\\\":\\\"2022-11-16T14:33:46.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22lambda%3AInvokeFunction%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Alambda%3Aus-east-1%3A044981683129%3Afunction%3Aworkload-discovery-iad-DrawIoExport-DrawIoFunction-OZHqrnfgiRif%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"workload-discovery-iad-DrawIoExportResolversStack-19YX0UZI3ECNU-AppSyncDrawIohRole\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO4TECF2RYRT","resourceName":"workload-discovery-iad-DrawIoExpo-DrawIoInvokeRole-1V9QEAJJETBA6","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"workload-discovery-iad-DrawIoExpo-DrawIoInvokeRole-1V9QEAJJETBA6","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":987.5,"y":-2175.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-DrawIoExpo-DrawIoInvokeRole-1V9QEAJJETBA6/inlinePolicy/workload-discovery-iad-DrawIoExportResolversStack-19YX0UZI3ECNU-AppSyncDrawIohRole","resourceId":["arn:aws:iam::044981683129:role/workload-discovery-iad-DrawIoExpo-DrawIoInvokeRole-1V9QEAJJETBA6/inlinePolicy/workload-discovery-iad-DrawIoExportResolversStack-19YX0UZI3ECNU-AppSyncDrawIohRole","arn:aws:iam::044981683129:role/workload-discovery-iad-DrawIoExpo-DrawIoInvokeRole-1V9QEAJJETBA6/inlinePolicy/workload-discovery-iad-DrawIoExportResolversStack-19YX0UZI3ECNU-AppSyncDrawIohRole"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/workload-discovery-iad-DrawIoExpo-DrawIoInvokeRole-1V9QEAJJETBA6/inlinePolicy/workload-discovery-iad-DrawIoExportResolversStack-19YX0UZI3ECNU-AppSyncDrawIohRole","title":"arn:aws:iam::044981683129:role/workload-discovery-iad-DrawIoExpo-DrawIoInvokeRole-1V9QEAJJETBA6/inlinePolicy/workload-discovery-iad-DrawIoExportResolversStack-19YX0UZI3ECNU-AppSyncDrawIohRole","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/workload-discovery-iad-DrawIoExpo-DrawIoInvokeRole-1V9QEAJJETBA6/inlinePolicy/workload-discovery-iad-DrawIoExportResolversStack-19YX0UZI3ECNU-AppSyncDrawIohRole","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/workload-discovery-iad-DrawIoExpo-DrawIoInvokeRole-1V9QEAJJETBA6/inlinePolicy/workload-discovery-iad-DrawIoExportResolversStack-19YX0UZI3ECNU-AppSyncDrawIohRole","name":"arn:aws:iam::044981683129:role/workload-discovery-iad-DrawIoExpo-DrawIoInvokeRole-1V9QEAJJETBA6/inlinePolicy/workload-discovery-iad-DrawIoExportResolversStack-19YX0UZI3ECNU-AppSyncDrawIohRole","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-DrawIoExpo-DrawIoInvokeRole-1V9QEAJJETBA6/inlinePolicy/workload-discovery-iad-DrawIoExportResolversStack-19YX0UZI3ECNU-AppSyncDrawIohRole","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-DrawIoExpo-DrawIoInvokeRole-1V9QEAJJETBA6/inlinePolicy/workload-discovery-iad-DrawIoExportResolversStack-19YX0UZI3ECNU-AppSyncDrawIohRole","configuration":"\"{\\\"policyName\\\":\\\"workload-discovery-iad-DrawIoExportResolversStack-19YX0UZI3ECNU-AppSyncDrawIohRole\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"lambda:InvokeFunction\\\"],\\\"Resource\\\":\\\"arn:aws:lambda:us-east-1:044981683129:function:workload-discovery-iad-DrawIoExport-DrawIoFunction-OZHqrnfgiRif\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/workload-discovery-iad-DrawIoExpo-DrawIoInvokeRole-1V9QEAJJETBA6/inlinePolicy/workload-discovery-iad-DrawIoExportResolversStack-19YX0UZI3ECNU-AppSyncDrawIohRole","resourceName":"arn:aws:iam::044981683129:role/workload-discovery-iad-DrawIoExpo-DrawIoInvokeRole-1V9QEAJJETBA6/inlinePolicy/workload-discovery-iad-DrawIoExportResolversStack-19YX0UZI3ECNU-AppSyncDrawIohRole","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/workload-discovery-iad-DrawIoExpo-DrawIoInvokeRole-1V9QEAJJETBA6/inlinePolicy/workload-discovery-iad-DrawIoExportResolversStack-19YX0UZI3ECNU-AppSyncDrawIohRole","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":2049.5,"y":-2759.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/service-role/mda-stack-Workload-1V66ZWG5MDRSZ-Machi-CrawlerRole-1RFMT10CQ45HL","resourceId":["AROAQU6I6AO4TEGZOWYZJ","arn:aws:iam::044981683129:role/service-role/mda-stack-Workload-1V66ZWG5MDRSZ-Machi-CrawlerRole-1RFMT10CQ45HL"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/service-role/mda-stack-Workload-1V66ZWG5MDRSZ-Machi-CrawlerRole-1RFMT10CQ45HL","title":"mda-stack-Workload-1V66ZWG5MDRSZ-Machi-CrawlerRole-1RFMT10CQ45HL","label":"mda-stack-Wo...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/service-role/mda-stack-Workload-1V66ZWG5MDRSZ-Machi-CrawlerRole-1RFMT10CQ45HL","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO4TEGZOWYZJ","name":"mda-stack-Workload-1V66ZWG5MDRSZ-Machi-CrawlerRole-1RFMT10CQ45HL","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/service-role/mda-stack-Workload-1V66ZWG5MDRSZ-Machi-CrawlerRole-1RFMT10CQ45HL","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/service-role/mda-stack-Workload-1V66ZWG5MDRSZ-Machi-CrawlerRole-1RFMT10CQ45HL","configuration":"\"{\\\"path\\\":\\\"/service-role/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22glue.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO4TEGZOWYZJ\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/AmazonS3FullAccess\\\",\\\"policyName\\\":\\\"AmazonS3FullAccess\\\"},{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole\\\",\\\"policyName\\\":\\\"AWSGlueServiceRole\\\"}],\\\"roleName\\\":\\\"mda-stack-Workload-1V66ZWG5MDRSZ-Machi-CrawlerRole-1RFMT10CQ45HL\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/service-role/mda-stack-Workload-1V66ZWG5MDRSZ-Machi-CrawlerRole-1RFMT10CQ45HL\\\",\\\"createDate\\\":\\\"2022-07-06T15:10:20.000Z\\\",\\\"rolePolicyList\\\":[],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO4TEGZOWYZJ","resourceName":"mda-stack-Workload-1V66ZWG5MDRSZ-Machi-CrawlerRole-1RFMT10CQ45HL","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"mda-stack-Workload-1V66ZWG5MDRSZ-Machi-CrawlerRole-1RFMT10CQ45HL","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":1060.5,"y":-2175.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPX-TaskExecutionRole-4K0A4JGIF62E","resourceId":["AROAQU6I6AO4TWY2QJ4J5","arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPX-TaskExecutionRole-4K0A4JGIF62E"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPX-TaskExecutionRole-4K0A4JGIF62E","title":"retaildemostore-Services-1WZNOPX-TaskExecutionRole-4K0A4JGIF62E","label":"retaildemost...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPX-TaskExecutionRole-4K0A4JGIF62E","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO4TWY2QJ4J5","name":"retaildemostore-Services-1WZNOPX-TaskExecutionRole-4K0A4JGIF62E","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPX-TaskExecutionRole-4K0A4JGIF62E","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPX-TaskExecutionRole-4K0A4JGIF62E","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22ecs-tasks.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO4TWY2QJ4J5\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy\\\",\\\"policyName\\\":\\\"AmazonECSTaskExecutionRolePolicy\\\"}],\\\"roleName\\\":\\\"retaildemostore-Services-1WZNOPX-TaskExecutionRole-4K0A4JGIF62E\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPX-TaskExecutionRole-4K0A4JGIF62E\\\",\\\"createDate\\\":\\\"2021-10-22T12:06:52.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22ssm%3AGetParameters%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Assm%3Aus-east-1%3A044981683129%3Aparameter%2Fretaildemostore-%2A%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"ReadRetailDemoStoreSSMParams\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO4TWY2QJ4J5","resourceName":"retaildemostore-Services-1WZNOPX-TaskExecutionRole-4K0A4JGIF62E","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"retaildemostore-Services-1WZNOPX-TaskExecutionRole-4K0A4JGIF62E","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":1133.5,"y":-2759.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPX-TaskExecutionRole-4K0A4JGIF62E/inlinePolicy/ReadRetailDemoStoreSSMParams","resourceId":["arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPX-TaskExecutionRole-4K0A4JGIF62E/inlinePolicy/ReadRetailDemoStoreSSMParams","arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPX-TaskExecutionRole-4K0A4JGIF62E/inlinePolicy/ReadRetailDemoStoreSSMParams"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPX-TaskExecutionRole-4K0A4JGIF62E/inlinePolicy/ReadRetailDemoStoreSSMParams","title":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPX-TaskExecutionRole-4K0A4JGIF62E/inlinePolicy/ReadRetailDemoStoreSSMParams","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPX-TaskExecutionRole-4K0A4JGIF62E/inlinePolicy/ReadRetailDemoStoreSSMParams","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPX-TaskExecutionRole-4K0A4JGIF62E/inlinePolicy/ReadRetailDemoStoreSSMParams","name":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPX-TaskExecutionRole-4K0A4JGIF62E/inlinePolicy/ReadRetailDemoStoreSSMParams","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPX-TaskExecutionRole-4K0A4JGIF62E/inlinePolicy/ReadRetailDemoStoreSSMParams","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPX-TaskExecutionRole-4K0A4JGIF62E/inlinePolicy/ReadRetailDemoStoreSSMParams","configuration":"\"{\\\"policyName\\\":\\\"ReadRetailDemoStoreSSMParams\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"ssm:GetParameters\\\"],\\\"Resource\\\":\\\"arn:aws:ssm:us-east-1:044981683129:parameter/retaildemostore-*\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPX-TaskExecutionRole-4K0A4JGIF62E/inlinePolicy/ReadRetailDemoStoreSSMParams","resourceName":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPX-TaskExecutionRole-4K0A4JGIF62E/inlinePolicy/ReadRetailDemoStoreSSMParams","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPX-TaskExecutionRole-4K0A4JGIF62E/inlinePolicy/ReadRetailDemoStoreSSMParams","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":2049.5,"y":-2686.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/aws-service-role/kafka.amazonaws.com/AWSServiceRoleForKafka","resourceId":["AROAQU6I6AO4RTAGQXLT5","arn:aws:iam::044981683129:role/aws-service-role/kafka.amazonaws.com/AWSServiceRoleForKafka"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/aws-service-role/kafka.amazonaws.com/AWSServiceRoleForKafka","title":"AWSServiceRoleForKafka","label":"AWSServiceRo...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/aws-service-role/kafka.amazonaws.com/AWSServiceRoleForKafka","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO4RTAGQXLT5","name":"AWSServiceRoleForKafka","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/aws-service-role/kafka.amazonaws.com/AWSServiceRoleForKafka","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/aws-service-role/kafka.amazonaws.com/AWSServiceRoleForKafka","configuration":"\"{\\\"path\\\":\\\"/aws-service-role/kafka.amazonaws.com/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22kafka.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO4RTAGQXLT5\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/aws-service-role/KafkaServiceRolePolicy\\\",\\\"policyName\\\":\\\"KafkaServiceRolePolicy\\\"}],\\\"roleName\\\":\\\"AWSServiceRoleForKafka\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/aws-service-role/kafka.amazonaws.com/AWSServiceRoleForKafka\\\",\\\"createDate\\\":\\\"2022-06-20T11:52:51.000Z\\\",\\\"rolePolicyList\\\":[],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO4RTAGQXLT5","resourceName":"AWSServiceRoleForKafka","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"AWSServiceRoleForKafka","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":1133.5,"y":-2686.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/aws-perspective-v2-NeptuneStack-1RYQ5Y-NeptuneRole-1QA0K0A45DDCS","resourceId":["AROAQU6I6AO4UV5QZZBQV","arn:aws:iam::044981683129:role/aws-perspective-v2-NeptuneStack-1RYQ5Y-NeptuneRole-1QA0K0A45DDCS"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/aws-perspective-v2-NeptuneStack-1RYQ5Y-NeptuneRole-1QA0K0A45DDCS","title":"aws-perspective-v2-NeptuneStack-1RYQ5Y-NeptuneRole-1QA0K0A45DDCS","label":"aws-perspect...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/aws-perspective-v2-NeptuneStack-1RYQ5Y-NeptuneRole-1QA0K0A45DDCS","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO4UV5QZZBQV","name":"aws-perspective-v2-NeptuneStack-1RYQ5Y-NeptuneRole-1QA0K0A45DDCS","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/aws-perspective-v2-NeptuneStack-1RYQ5Y-NeptuneRole-1QA0K0A45DDCS","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/aws-perspective-v2-NeptuneStack-1RYQ5Y-NeptuneRole-1QA0K0A45DDCS","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%5B%22rds.amazonaws.com%22%2C%22monitoring.rds.amazonaws.com%22%5D%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO4UV5QZZBQV\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::044981683129:policy/aws-perspective-v2-NeptuneStack-1RYQ5YHQV9L78-NeptuneS3Policy-1RPRKVJ9IG95Q\\\",\\\"policyName\\\":\\\"aws-perspective-v2-NeptuneStack-1RYQ5YHQV9L78-NeptuneS3Policy-1RPRKVJ9IG95Q\\\"},{\\\"policyArn\\\":\\\"arn:aws:iam::044981683129:policy/aws-perspective-v2-NeptuneStack-1RYQ5YHQV9L78-NeptuneCloudWatchPolicy-MX40OIB93CCH\\\",\\\"policyName\\\":\\\"aws-perspective-v2-NeptuneStack-1RYQ5YHQV9L78-NeptuneCloudWatchPolicy-MX40OIB93CCH\\\"}],\\\"roleName\\\":\\\"aws-perspective-v2-NeptuneStack-1RYQ5Y-NeptuneRole-1QA0K0A45DDCS\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/aws-perspective-v2-NeptuneStack-1RYQ5Y-NeptuneRole-1QA0K0A45DDCS\\\",\\\"createDate\\\":\\\"2022-08-30T10:45:49.000Z\\\",\\\"rolePolicyList\\\":[],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO4UV5QZZBQV","resourceName":"aws-perspective-v2-NeptuneStack-1RYQ5Y-NeptuneRole-1QA0K0A45DDCS","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"aws-perspective-v2-NeptuneStack-1RYQ5Y-NeptuneRole-1QA0K0A45DDCS","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":1133.5,"y":-2613.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:policy/aws-perspective-v2-NeptuneStack-1RYQ5YHQV9L78-NeptuneS3Policy-1RPRKVJ9IG95Q","resourceId":["ANPAQU6I6AO47XEMZ42LC","arn:aws:iam::044981683129:policy/aws-perspective-v2-NeptuneStack-1RYQ5YHQV9L78-NeptuneS3Policy-1RPRKVJ9IG95Q"],"parent":"Policy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:policy/aws-perspective-v2-NeptuneStack-1RYQ5YHQV9L78-NeptuneS3Policy-1RPRKVJ9IG95Q","title":"aws-perspective-v2-NeptuneStack-1RYQ5YHQV9L78-NeptuneS3Policy-1RPRKVJ9IG95Q","label":"aws-perspect...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:policy/aws-perspective-v2-NeptuneStack-1RYQ5YHQV9L78-NeptuneS3Policy-1RPRKVJ9IG95Q","image":"/icons/IAM_Policy.svg","cost":0,"private":false,"resource":{"id":"ANPAQU6I6AO47XEMZ42LC","name":"aws-perspective-v2-NeptuneStack-1RYQ5YHQV9L78-NeptuneS3Policy-1RPRKVJ9IG95Q","value":null,"type":"AWS::IAM::Policy","tags":"[]","arn":"arn:aws:iam::044981683129:policy/aws-perspective-v2-NeptuneStack-1RYQ5YHQV9L78-NeptuneS3Policy-1RPRKVJ9IG95Q","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/policies","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/policies","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:policy/aws-perspective-v2-NeptuneStack-1RYQ5YHQV9L78-NeptuneS3Policy-1RPRKVJ9IG95Q","configuration":"\"{\\\"permissionsBoundaryUsageCount\\\":0,\\\"policyVersionList\\\":[{\\\"versionId\\\":\\\"v1\\\",\\\"isDefaultVersion\\\":true,\\\"document\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22s3%3AGet%2A%22%2C%22s3%3AList%2A%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3As3%3A%3A%3A%2A%22%2C%22Effect%22%3A%22Allow%22%2C%22Sid%22%3A%22AllowNeptuneAccessToS3%22%7D%5D%7D\\\",\\\"createDate\\\":\\\"2022-08-30T10:45:28.000Z\\\"}],\\\"path\\\":\\\"/\\\",\\\"updateDate\\\":\\\"2022-08-30T10:45:28.000Z\\\",\\\"policyId\\\":\\\"ANPAQU6I6AO47XEMZ42LC\\\",\\\"defaultVersionId\\\":\\\"v1\\\",\\\"policyName\\\":\\\"aws-perspective-v2-NeptuneStack-1RYQ5YHQV9L78-NeptuneS3Policy-1RPRKVJ9IG95Q\\\",\\\"isAttachable\\\":true,\\\"description\\\":\\\"Neptune default policy for S3 access for data load\\\",\\\"attachmentCount\\\":1,\\\"arn\\\":\\\"arn:aws:iam::044981683129:policy/aws-perspective-v2-NeptuneStack-1RYQ5YHQV9L78-NeptuneS3Policy-1RPRKVJ9IG95Q\\\",\\\"createDate\\\":\\\"2022-08-30T10:45:28.000Z\\\"}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/policies","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/policies","private":null,"resourceId":"ANPAQU6I6AO47XEMZ42LC","resourceName":"aws-perspective-v2-NeptuneStack-1RYQ5YHQV9L78-NeptuneS3Policy-1RPRKVJ9IG95Q","resourceType":"AWS::IAM::Policy","resourceValue":null,"state":null,"tags":"[]","title":"aws-perspective-v2-NeptuneStack-1RYQ5YHQV9L78-NeptuneS3Policy-1RPRKVJ9IG95Q","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1100.5,"y":-1826.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:policy/aws-perspective-v2-NeptuneStack-1RYQ5YHQV9L78-NeptuneCloudWatchPolicy-MX40OIB93CCH","resourceId":["ANPAQU6I6AO4V5E26RDFT","arn:aws:iam::044981683129:policy/aws-perspective-v2-NeptuneStack-1RYQ5YHQV9L78-NeptuneCloudWatchPolicy-MX40OIB93CCH"],"parent":"Policy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:policy/aws-perspective-v2-NeptuneStack-1RYQ5YHQV9L78-NeptuneCloudWatchPolicy-MX40OIB93CCH","title":"aws-perspective-v2-NeptuneStack-1RYQ5YHQV9L78-NeptuneCloudWatchPolicy-MX40OIB93CCH","label":"aws-perspect...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:policy/aws-perspective-v2-NeptuneStack-1RYQ5YHQV9L78-NeptuneCloudWatchPolicy-MX40OIB93CCH","image":"/icons/IAM_Policy.svg","cost":0,"private":false,"resource":{"id":"ANPAQU6I6AO4V5E26RDFT","name":"aws-perspective-v2-NeptuneStack-1RYQ5YHQV9L78-NeptuneCloudWatchPolicy-MX40OIB93CCH","value":null,"type":"AWS::IAM::Policy","tags":"[]","arn":"arn:aws:iam::044981683129:policy/aws-perspective-v2-NeptuneStack-1RYQ5YHQV9L78-NeptuneCloudWatchPolicy-MX40OIB93CCH","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/policies","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/policies","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:policy/aws-perspective-v2-NeptuneStack-1RYQ5YHQV9L78-NeptuneCloudWatchPolicy-MX40OIB93CCH","configuration":"\"{\\\"permissionsBoundaryUsageCount\\\":0,\\\"policyVersionList\\\":[{\\\"versionId\\\":\\\"v1\\\",\\\"isDefaultVersion\\\":true,\\\"document\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22logs%3ACreateLogGroup%22%2C%22logs%3APutRetentionPolicy%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Alogs%3A%2A%3A%2A%3Alog-group%3A%2Faws%2Fneptune%2F%2A%22%5D%2C%22Effect%22%3A%22Allow%22%2C%22Sid%22%3A%22EnableLogGroups%22%7D%2C%7B%22Action%22%3A%5B%22logs%3ACreateLogStream%22%2C%22logs%3APutLogEvents%22%2C%22logs%3ADescriptLogStreams%22%2C%22logs%3AGetLogEvents%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Alogs%3A%2A%3A%2A%3Alog-group%3A%2Faws%2Fneptune%2F%2A%3Alog-stream%3A%2A%22%5D%2C%22Effect%22%3A%22Allow%22%2C%22Sid%22%3A%22EnableLogStreams%22%7D%5D%7D\\\",\\\"createDate\\\":\\\"2022-08-30T10:45:28.000Z\\\"}],\\\"path\\\":\\\"/\\\",\\\"updateDate\\\":\\\"2022-08-30T10:45:28.000Z\\\",\\\"policyId\\\":\\\"ANPAQU6I6AO4V5E26RDFT\\\",\\\"defaultVersionId\\\":\\\"v1\\\",\\\"policyName\\\":\\\"aws-perspective-v2-NeptuneStack-1RYQ5YHQV9L78-NeptuneCloudWatchPolicy-MX40OIB93CCH\\\",\\\"isAttachable\\\":true,\\\"description\\\":\\\"Default policy for CloudWatch logs\\\",\\\"attachmentCount\\\":1,\\\"arn\\\":\\\"arn:aws:iam::044981683129:policy/aws-perspective-v2-NeptuneStack-1RYQ5YHQV9L78-NeptuneCloudWatchPolicy-MX40OIB93CCH\\\",\\\"createDate\\\":\\\"2022-08-30T10:45:28.000Z\\\"}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/policies","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/policies","private":null,"resourceId":"ANPAQU6I6AO4V5E26RDFT","resourceName":"aws-perspective-v2-NeptuneStack-1RYQ5YHQV9L78-NeptuneCloudWatchPolicy-MX40OIB93CCH","resourceType":"AWS::IAM::Policy","resourceValue":null,"state":null,"tags":"[]","title":"aws-perspective-v2-NeptuneStack-1RYQ5YHQV9L78-NeptuneCloudWatchPolicy-MX40OIB93CCH","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1173.5,"y":-1899.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-AccountImportTemplatesAp-1VQIW5JGZL566","resourceId":["AROAQU6I6AO4ZRWFD6XZV","arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-AccountImportTemplatesAp-1VQIW5JGZL566"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-AccountImportTemplatesAp-1VQIW5JGZL566","title":"Workload-Discovery-on-AWS-AccountImportTemplatesAp-1VQIW5JGZL566","label":"Workload-Dis...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-AccountImportTemplatesAp-1VQIW5JGZL566","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO4ZRWFD6XZV","name":"Workload-Discovery-on-AWS-AccountImportTemplatesAp-1VQIW5JGZL566","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-AccountImportTemplatesAp-1VQIW5JGZL566","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-AccountImportTemplatesAp-1VQIW5JGZL566","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22appsync.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO4ZRWFD6XZV\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"Workload-Discovery-on-AWS-AccountImportTemplatesAp-1VQIW5JGZL566\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-AccountImportTemplatesAp-1VQIW5JGZL566\\\",\\\"createDate\\\":\\\"2023-02-28T14:33:21.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22lambda%3AInvokeFunction%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Alambda%3Aeu-central-1%3A044981683129%3Afunction%3AWorkload-Discovery-on-AWS-AccountImportTemplatesAp-EYfO6192MYpb%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"Workload-Discovery-on-AWS-AccountImportTemplatesResolversStack-1FFQSZIJTFZ6W-AppSyncSearchRole\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO4ZRWFD6XZV","resourceName":"Workload-Discovery-on-AWS-AccountImportTemplatesAp-1VQIW5JGZL566","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"Workload-Discovery-on-AWS-AccountImportTemplatesAp-1VQIW5JGZL566","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":1133.5,"y":-2540.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-AccountImportTemplatesAp-1VQIW5JGZL566/inlinePolicy/Workload-Discovery-on-AWS-AccountImportTemplatesResolversStack-1FFQSZIJTFZ6W-AppSyncSearchRole","resourceId":["arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-AccountImportTemplatesAp-1VQIW5JGZL566/inlinePolicy/Workload-Discovery-on-AWS-AccountImportTemplatesResolversStack-1FFQSZIJTFZ6W-AppSyncSearchRole","arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-AccountImportTemplatesAp-1VQIW5JGZL566/inlinePolicy/Workload-Discovery-on-AWS-AccountImportTemplatesResolversStack-1FFQSZIJTFZ6W-AppSyncSearchRole"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-AccountImportTemplatesAp-1VQIW5JGZL566/inlinePolicy/Workload-Discovery-on-AWS-AccountImportTemplatesResolversStack-1FFQSZIJTFZ6W-AppSyncSearchRole","title":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-AccountImportTemplatesAp-1VQIW5JGZL566/inlinePolicy/Workload-Discovery-on-AWS-AccountImportTemplatesResolversStack-1FFQSZIJTFZ6W-AppSyncSearchRole","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-AccountImportTemplatesAp-1VQIW5JGZL566/inlinePolicy/Workload-Discovery-on-AWS-AccountImportTemplatesResolversStack-1FFQSZIJTFZ6W-AppSyncSearchRole","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-AccountImportTemplatesAp-1VQIW5JGZL566/inlinePolicy/Workload-Discovery-on-AWS-AccountImportTemplatesResolversStack-1FFQSZIJTFZ6W-AppSyncSearchRole","name":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-AccountImportTemplatesAp-1VQIW5JGZL566/inlinePolicy/Workload-Discovery-on-AWS-AccountImportTemplatesResolversStack-1FFQSZIJTFZ6W-AppSyncSearchRole","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-AccountImportTemplatesAp-1VQIW5JGZL566/inlinePolicy/Workload-Discovery-on-AWS-AccountImportTemplatesResolversStack-1FFQSZIJTFZ6W-AppSyncSearchRole","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-AccountImportTemplatesAp-1VQIW5JGZL566/inlinePolicy/Workload-Discovery-on-AWS-AccountImportTemplatesResolversStack-1FFQSZIJTFZ6W-AppSyncSearchRole","configuration":"\"{\\\"policyName\\\":\\\"Workload-Discovery-on-AWS-AccountImportTemplatesResolversStack-1FFQSZIJTFZ6W-AppSyncSearchRole\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"lambda:InvokeFunction\\\"],\\\"Resource\\\":\\\"arn:aws:lambda:eu-central-1:044981683129:function:Workload-Discovery-on-AWS-AccountImportTemplatesAp-EYfO6192MYpb\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-AccountImportTemplatesAp-1VQIW5JGZL566/inlinePolicy/Workload-Discovery-on-AWS-AccountImportTemplatesResolversStack-1FFQSZIJTFZ6W-AppSyncSearchRole","resourceName":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-AccountImportTemplatesAp-1VQIW5JGZL566/inlinePolicy/Workload-Discovery-on-AWS-AccountImportTemplatesResolversStack-1FFQSZIJTFZ6W-AppSyncSearchRole","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-AccountImportTemplatesAp-1VQIW5JGZL566/inlinePolicy/Workload-Discovery-on-AWS-AccountImportTemplatesResolversStack-1FFQSZIJTFZ6W-AppSyncSearchRole","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":2049.5,"y":-2613.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-InvokeGlueReadshiftWflRo-HOSEGPGYXHI7","resourceId":["AROAQU6I6AO44QMRGAKKI","arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-InvokeGlueReadshiftWflRo-HOSEGPGYXHI7"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-InvokeGlueReadshiftWflRo-HOSEGPGYXHI7","title":"mda-stack-Workload-1V66ZW-InvokeGlueReadshiftWflRo-HOSEGPGYXHI7","label":"mda-stack-Wo...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-InvokeGlueReadshiftWflRo-HOSEGPGYXHI7","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO44QMRGAKKI","name":"mda-stack-Workload-1V66ZW-InvokeGlueReadshiftWflRo-HOSEGPGYXHI7","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-InvokeGlueReadshiftWflRo-HOSEGPGYXHI7","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-InvokeGlueReadshiftWflRo-HOSEGPGYXHI7","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22events.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO44QMRGAKKI\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"mda-stack-Workload-1V66ZW-InvokeGlueReadshiftWflRo-HOSEGPGYXHI7\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-InvokeGlueReadshiftWflRo-HOSEGPGYXHI7\\\",\\\"createDate\\\":\\\"2022-07-06T15:10:18.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%22glue%3AnotifyEvent%22%2C%22Resource%22%3A%22arn%3Aaws%3Aglue%3Aus-east-1%3A044981683129%3Aworkflow%2F%2A%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"Glue-notify-events\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO44QMRGAKKI","resourceName":"mda-stack-Workload-1V66ZW-InvokeGlueReadshiftWflRo-HOSEGPGYXHI7","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"mda-stack-Workload-1V66ZW-InvokeGlueReadshiftWflRo-HOSEGPGYXHI7","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":1133.5,"y":-2467.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-InvokeGlueReadshiftWflRo-HOSEGPGYXHI7/inlinePolicy/Glue-notify-events","resourceId":["arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-InvokeGlueReadshiftWflRo-HOSEGPGYXHI7/inlinePolicy/Glue-notify-events","arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-InvokeGlueReadshiftWflRo-HOSEGPGYXHI7/inlinePolicy/Glue-notify-events"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-InvokeGlueReadshiftWflRo-HOSEGPGYXHI7/inlinePolicy/Glue-notify-events","title":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-InvokeGlueReadshiftWflRo-HOSEGPGYXHI7/inlinePolicy/Glue-notify-events","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-InvokeGlueReadshiftWflRo-HOSEGPGYXHI7/inlinePolicy/Glue-notify-events","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-InvokeGlueReadshiftWflRo-HOSEGPGYXHI7/inlinePolicy/Glue-notify-events","name":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-InvokeGlueReadshiftWflRo-HOSEGPGYXHI7/inlinePolicy/Glue-notify-events","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-InvokeGlueReadshiftWflRo-HOSEGPGYXHI7/inlinePolicy/Glue-notify-events","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-InvokeGlueReadshiftWflRo-HOSEGPGYXHI7/inlinePolicy/Glue-notify-events","configuration":"\"{\\\"policyName\\\":\\\"Glue-notify-events\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":\\\"glue:notifyEvent\\\",\\\"Resource\\\":\\\"arn:aws:glue:us-east-1:044981683129:workflow/*\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-InvokeGlueReadshiftWflRo-HOSEGPGYXHI7/inlinePolicy/Glue-notify-events","resourceName":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-InvokeGlueReadshiftWflRo-HOSEGPGYXHI7/inlinePolicy/Glue-notify-events","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-InvokeGlueReadshiftWflRo-HOSEGPGYXHI7/inlinePolicy/Glue-notify-events","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":2049.5,"y":-2540.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA","resourceId":["AROAQU6I6AO4S5SU7H6MB","arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA","title":"mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA","label":"mda-stack-Wo...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO4S5SU7H6MB","name":"mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA","value":null,"type":"AWS::IAM::Role","tags":"[{\"tag\":\"stateMachine:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"stateMachine:createdBy\"}]","arn":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22states.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO4S5SU7H6MB\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA\\\",\\\"createDate\\\":\\\"2022-07-06T15:11:01.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22iam%3APassRole%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Aiam%3A%3A044981683129%3Arole%2F%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22events%3ADescribeRule%22%2C%22events%3APutRule%22%2C%22events%3APutTargets%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Aevents%3Aus-east-1%3A044981683129%3Arule%2FStepFunctionsGetEventsForSageMakerTrainingJobsRule%22%2C%22arn%3Aaws%3Aevents%3Aus-east-1%3A044981683129%3Arule%2FStepFunctionsGetEventsForStepFunctionsExecutionRule%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22sagemaker%3ACreateTrainingJob%22%2C%22sagemaker%3ADescribeTrainingJob%22%2C%22sagemaker%3AStopTrainingJob%22%2C%22sagemaker%3ACreateHyperParameterTuningJob%22%2C%22sagemaker%3ADescribeHyperParameterTuningJob%22%2C%22sagemaker%3AStopHyperParameterTuningJob%22%2C%22sagemaker%3ACreateModel%22%2C%22sagemaker%3ACreateEndpointConfig%22%2C%22sagemaker%3ACreateEndpoint%22%2C%22sagemaker%3ADeleteEndpointConfig%22%2C%22sagemaker%3ADeleteEndpoint%22%2C%22sagemaker%3AUpdateEndpoint%22%2C%22sagemaker%3AListTags%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Asagemaker%3Aus-east-1%3A044981683129%3Atraining-job%2F%2A%22%2C%22arn%3Aaws%3Asagemaker%3Aus-east-1%3A044981683129%3Amodel%2F%2A%22%2C%22arn%3Aaws%3Asagemaker%3Aus-east-1%3A044981683129%3Aendpoint%2F%2A%22%2C%22arn%3Aaws%3Asagemaker%3Aus-east-1%3A044981683129%3Aendpoint-config%2F%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"MachineLearningPipelineModelTrainingStateMachineRolePolicy0\\\"},{\\\"policyDocument\\\":\\\"%7B%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22lambda%3AInvokeFunction%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Alambda%3Aus-east-1%3A044981683129%3Afunction%3Amda-stack-Workload-1V66ZWG-PrepareTrainingFunction-4xJzXNrxKRFm%2A%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"MachineLearningPipelineModelTrainingStateMachineRolePolicy1\\\"},{\\\"policyDocument\\\":\\\"%7B%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22lambda%3AInvokeFunction%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Alambda%3Aus-east-1%3A044981683129%3Afunction%3Amda-stack-Workload-1V66ZWG5M-LoadPipelineParameter-ILCpd3sSFSYe%2A%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"MachineLearningPipelineModelTrainingStateMachineRolePolicy2\\\"},{\\\"policyDocument\\\":\\\"%7B%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22lambda%3AInvokeFunction%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Alambda%3Aus-east-1%3A044981683129%3Afunction%3Amda-stack-Workload-1V66ZWG5MDRSZ-Machi-HasEndpoint-i4fmFjpH83P1%2A%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"MachineLearningPipelineModelTrainingStateMachineRolePolicy3\\\"}],\\\"tags\\\":[{\\\"value\\\":\\\"SAM\\\",\\\"key\\\":\\\"stateMachine:createdBy\\\"}]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO4S5SU7H6MB","resourceName":"mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[{\"tag\":\"stateMachine:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"stateMachine:createdBy\"}]","title":"mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":1133.5,"y":-2394.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA/inlinePolicy/MachineLearningPipelineModelTrainingStateMachineRolePolicy0","resourceId":["arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA/inlinePolicy/MachineLearningPipelineModelTrainingStateMachineRolePolicy0","arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA/inlinePolicy/MachineLearningPipelineModelTrainingStateMachineRolePolicy0"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA/inlinePolicy/MachineLearningPipelineModelTrainingStateMachineRolePolicy0","title":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA/inlinePolicy/MachineLearningPipelineModelTrainingStateMachineRolePolicy0","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA/inlinePolicy/MachineLearningPipelineModelTrainingStateMachineRolePolicy0","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA/inlinePolicy/MachineLearningPipelineModelTrainingStateMachineRolePolicy0","name":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA/inlinePolicy/MachineLearningPipelineModelTrainingStateMachineRolePolicy0","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA/inlinePolicy/MachineLearningPipelineModelTrainingStateMachineRolePolicy0","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA/inlinePolicy/MachineLearningPipelineModelTrainingStateMachineRolePolicy0","configuration":"\"{\\\"policyName\\\":\\\"MachineLearningPipelineModelTrainingStateMachineRolePolicy0\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"iam:PassRole\\\"],\\\"Resource\\\":\\\"arn:aws:iam::044981683129:role/*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"events:DescribeRule\\\",\\\"events:PutRule\\\",\\\"events:PutTargets\\\"],\\\"Resource\\\":[\\\"arn:aws:events:us-east-1:044981683129:rule/StepFunctionsGetEventsForSageMakerTrainingJobsRule\\\",\\\"arn:aws:events:us-east-1:044981683129:rule/StepFunctionsGetEventsForStepFunctionsExecutionRule\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"sagemaker:CreateTrainingJob\\\",\\\"sagemaker:DescribeTrainingJob\\\",\\\"sagemaker:StopTrainingJob\\\",\\\"sagemaker:CreateHyperParameterTuningJob\\\",\\\"sagemaker:DescribeHyperParameterTuningJob\\\",\\\"sagemaker:StopHyperParameterTuningJob\\\",\\\"sagemaker:CreateModel\\\",\\\"sagemaker:CreateEndpointConfig\\\",\\\"sagemaker:CreateEndpoint\\\",\\\"sagemaker:DeleteEndpointConfig\\\",\\\"sagemaker:DeleteEndpoint\\\",\\\"sagemaker:UpdateEndpoint\\\",\\\"sagemaker:ListTags\\\"],\\\"Resource\\\":[\\\"arn:aws:sagemaker:us-east-1:044981683129:training-job/*\\\",\\\"arn:aws:sagemaker:us-east-1:044981683129:model/*\\\",\\\"arn:aws:sagemaker:us-east-1:044981683129:endpoint/*\\\",\\\"arn:aws:sagemaker:us-east-1:044981683129:endpoint-config/*\\\"],\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA/inlinePolicy/MachineLearningPipelineModelTrainingStateMachineRolePolicy0","resourceName":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA/inlinePolicy/MachineLearningPipelineModelTrainingStateMachineRolePolicy0","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA/inlinePolicy/MachineLearningPipelineModelTrainingStateMachineRolePolicy0","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":2049.5,"y":-2467.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA/inlinePolicy/MachineLearningPipelineModelTrainingStateMachineRolePolicy1","resourceId":["arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA/inlinePolicy/MachineLearningPipelineModelTrainingStateMachineRolePolicy1","arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA/inlinePolicy/MachineLearningPipelineModelTrainingStateMachineRolePolicy1"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA/inlinePolicy/MachineLearningPipelineModelTrainingStateMachineRolePolicy1","title":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA/inlinePolicy/MachineLearningPipelineModelTrainingStateMachineRolePolicy1","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA/inlinePolicy/MachineLearningPipelineModelTrainingStateMachineRolePolicy1","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA/inlinePolicy/MachineLearningPipelineModelTrainingStateMachineRolePolicy1","name":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA/inlinePolicy/MachineLearningPipelineModelTrainingStateMachineRolePolicy1","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA/inlinePolicy/MachineLearningPipelineModelTrainingStateMachineRolePolicy1","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA/inlinePolicy/MachineLearningPipelineModelTrainingStateMachineRolePolicy1","configuration":"\"{\\\"policyName\\\":\\\"MachineLearningPipelineModelTrainingStateMachineRolePolicy1\\\",\\\"policyDocument\\\":{\\\"Statement\\\":[{\\\"Action\\\":[\\\"lambda:InvokeFunction\\\"],\\\"Resource\\\":\\\"arn:aws:lambda:us-east-1:044981683129:function:mda-stack-Workload-1V66ZWG-PrepareTrainingFunction-4xJzXNrxKRFm*\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA/inlinePolicy/MachineLearningPipelineModelTrainingStateMachineRolePolicy1","resourceName":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA/inlinePolicy/MachineLearningPipelineModelTrainingStateMachineRolePolicy1","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA/inlinePolicy/MachineLearningPipelineModelTrainingStateMachineRolePolicy1","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":2049.5,"y":-2394.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA/inlinePolicy/MachineLearningPipelineModelTrainingStateMachineRolePolicy2","resourceId":["arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA/inlinePolicy/MachineLearningPipelineModelTrainingStateMachineRolePolicy2","arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA/inlinePolicy/MachineLearningPipelineModelTrainingStateMachineRolePolicy2"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA/inlinePolicy/MachineLearningPipelineModelTrainingStateMachineRolePolicy2","title":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA/inlinePolicy/MachineLearningPipelineModelTrainingStateMachineRolePolicy2","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA/inlinePolicy/MachineLearningPipelineModelTrainingStateMachineRolePolicy2","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA/inlinePolicy/MachineLearningPipelineModelTrainingStateMachineRolePolicy2","name":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA/inlinePolicy/MachineLearningPipelineModelTrainingStateMachineRolePolicy2","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA/inlinePolicy/MachineLearningPipelineModelTrainingStateMachineRolePolicy2","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA/inlinePolicy/MachineLearningPipelineModelTrainingStateMachineRolePolicy2","configuration":"\"{\\\"policyName\\\":\\\"MachineLearningPipelineModelTrainingStateMachineRolePolicy2\\\",\\\"policyDocument\\\":{\\\"Statement\\\":[{\\\"Action\\\":[\\\"lambda:InvokeFunction\\\"],\\\"Resource\\\":\\\"arn:aws:lambda:us-east-1:044981683129:function:mda-stack-Workload-1V66ZWG5M-LoadPipelineParameter-ILCpd3sSFSYe*\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA/inlinePolicy/MachineLearningPipelineModelTrainingStateMachineRolePolicy2","resourceName":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA/inlinePolicy/MachineLearningPipelineModelTrainingStateMachineRolePolicy2","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA/inlinePolicy/MachineLearningPipelineModelTrainingStateMachineRolePolicy2","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":2049.5,"y":-2321.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA/inlinePolicy/MachineLearningPipelineModelTrainingStateMachineRolePolicy3","resourceId":["arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA/inlinePolicy/MachineLearningPipelineModelTrainingStateMachineRolePolicy3","arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA/inlinePolicy/MachineLearningPipelineModelTrainingStateMachineRolePolicy3"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA/inlinePolicy/MachineLearningPipelineModelTrainingStateMachineRolePolicy3","title":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA/inlinePolicy/MachineLearningPipelineModelTrainingStateMachineRolePolicy3","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA/inlinePolicy/MachineLearningPipelineModelTrainingStateMachineRolePolicy3","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA/inlinePolicy/MachineLearningPipelineModelTrainingStateMachineRolePolicy3","name":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA/inlinePolicy/MachineLearningPipelineModelTrainingStateMachineRolePolicy3","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA/inlinePolicy/MachineLearningPipelineModelTrainingStateMachineRolePolicy3","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA/inlinePolicy/MachineLearningPipelineModelTrainingStateMachineRolePolicy3","configuration":"\"{\\\"policyName\\\":\\\"MachineLearningPipelineModelTrainingStateMachineRolePolicy3\\\",\\\"policyDocument\\\":{\\\"Statement\\\":[{\\\"Action\\\":[\\\"lambda:InvokeFunction\\\"],\\\"Resource\\\":\\\"arn:aws:lambda:us-east-1:044981683129:function:mda-stack-Workload-1V66ZWG5MDRSZ-Machi-HasEndpoint-i4fmFjpH83P1*\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA/inlinePolicy/MachineLearningPipelineModelTrainingStateMachineRolePolicy3","resourceName":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA/inlinePolicy/MachineLearningPipelineModelTrainingStateMachineRolePolicy3","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA/inlinePolicy/MachineLearningPipelineModelTrainingStateMachineRolePolicy3","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":2049.5,"y":-2248.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:tags::044981683129:tag/stateMachine:createdBy=SAM","resourceId":["arn:aws:tags::044981683129:tag/stateMachine:createdBy=SAM","arn:aws:tags::044981683129:tag/stateMachine:createdBy=SAM"],"parent":"Tag-global-044981683129","level":3,"id":"arn:aws:tags::044981683129:tag/stateMachine:createdBy=SAM","title":"stateMachine:createdBy=SAM","label":"stateMachine...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:tags::044981683129:tag/stateMachine:createdBy=SAM","image":"/icons/AWS-Tags-bg.svg","cost":0,"private":false,"resource":{"id":"arn:aws:tags::044981683129:tag/stateMachine:createdBy=SAM","name":"stateMachine:createdBy=SAM","value":null,"type":"AWS::Tags::Tag","tags":"[]","arn":"arn:aws:tags::044981683129:tag/stateMachine:createdBy=SAM","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:tags::044981683129:tag/stateMachine:createdBy=SAM","configuration":"\"{}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:tags::044981683129:tag/stateMachine:createdBy=SAM","resourceName":"stateMachine:createdBy=SAM","resourceType":"AWS::Tags::Tag","resourceValue":null,"state":null,"tags":"[]","title":"stateMachine:createdBy=SAM","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":549.5,"y":-1607.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/cfn7-HelloLambdaRole7-370UF338HK8Z","resourceId":["AROAQU6I6AO45GVJZL4AJ","arn:aws:iam::044981683129:role/cfn7-HelloLambdaRole7-370UF338HK8Z"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/cfn7-HelloLambdaRole7-370UF338HK8Z","title":"cfn7-HelloLambdaRole7-370UF338HK8Z","label":"cfn7-HelloLa...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/cfn7-HelloLambdaRole7-370UF338HK8Z","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO45GVJZL4AJ","name":"cfn7-HelloLambdaRole7-370UF338HK8Z","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/cfn7-HelloLambdaRole7-370UF338HK8Z","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/cfn7-HelloLambdaRole7-370UF338HK8Z","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222008-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22lambda.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO45GVJZL4AJ\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"cfn7-HelloLambdaRole7-370UF338HK8Z\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/cfn7-HelloLambdaRole7-370UF338HK8Z\\\",\\\"createDate\\\":\\\"2022-05-15T08:57:20.000Z\\\",\\\"rolePolicyList\\\":[],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO45GVJZL4AJ","resourceName":"cfn7-HelloLambdaRole7-370UF338HK8Z","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"cfn7-HelloLambdaRole7-370UF338HK8Z","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":1133.5,"y":-2321.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/aws-perspective-v2-Settin-PerspectiveSettingsLambd-1FRGAQN88CD4R","resourceId":["AROAQU6I6AO46BXCZAOLC","arn:aws:iam::044981683129:role/aws-perspective-v2-Settin-PerspectiveSettingsLambd-1FRGAQN88CD4R"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/aws-perspective-v2-Settin-PerspectiveSettingsLambd-1FRGAQN88CD4R","title":"aws-perspective-v2-Settin-PerspectiveSettingsLambd-1FRGAQN88CD4R","label":"aws-perspect...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/aws-perspective-v2-Settin-PerspectiveSettingsLambd-1FRGAQN88CD4R","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO46BXCZAOLC","name":"aws-perspective-v2-Settin-PerspectiveSettingsLambd-1FRGAQN88CD4R","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/aws-perspective-v2-Settin-PerspectiveSettingsLambd-1FRGAQN88CD4R","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/aws-perspective-v2-Settin-PerspectiveSettingsLambd-1FRGAQN88CD4R","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22lambda.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO46BXCZAOLC\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole\\\",\\\"policyName\\\":\\\"AWSLambdaVPCAccessExecutionRole\\\"},{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole\\\",\\\"policyName\\\":\\\"AWSLambdaBasicExecutionRole\\\"},{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/AWSXRayDaemonWriteAccess\\\",\\\"policyName\\\":\\\"AWSXRayDaemonWriteAccess\\\"}],\\\"roleName\\\":\\\"aws-perspective-v2-Settin-PerspectiveSettingsLambd-1FRGAQN88CD4R\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/aws-perspective-v2-Settin-PerspectiveSettingsLambd-1FRGAQN88CD4R\\\",\\\"createDate\\\":\\\"2022-08-30T14:51:23.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22dynamodb%3AQuery%22%2C%22dynamodb%3APutItem%22%2C%22dynamodb%3ADeleteItem%22%2C%22dynamodb%3AGetItem%22%2C%22dynamodb%3AUpdateItem%22%2C%22dynamodb%3ABatchWriteItem%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Adynamodb%3Aeu-west-2%3A044981683129%3Atable%2Faws-perspective-v2-SettingsResolversStack-L7NBWVCFLPQ4-PerspectiveSettingsTable-HVJ4KK4W9SO9%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22config%3AputConfigurationAggregator%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Aconfig%3Aeu-west-2%3A044981683129%2A%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"aws-perspective-v2-SettingsResolversStack-L7NBWVCFLPQ4-AppSyncLambdaRole\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO46BXCZAOLC","resourceName":"aws-perspective-v2-Settin-PerspectiveSettingsLambd-1FRGAQN88CD4R","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"aws-perspective-v2-Settin-PerspectiveSettingsLambd-1FRGAQN88CD4R","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":1133.5,"y":-2248.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/aws-perspective-v2-Settin-PerspectiveSettingsLambd-1FRGAQN88CD4R/inlinePolicy/aws-perspective-v2-SettingsResolversStack-L7NBWVCFLPQ4-AppSyncLambdaRole","resourceId":["arn:aws:iam::044981683129:role/aws-perspective-v2-Settin-PerspectiveSettingsLambd-1FRGAQN88CD4R/inlinePolicy/aws-perspective-v2-SettingsResolversStack-L7NBWVCFLPQ4-AppSyncLambdaRole","arn:aws:iam::044981683129:role/aws-perspective-v2-Settin-PerspectiveSettingsLambd-1FRGAQN88CD4R/inlinePolicy/aws-perspective-v2-SettingsResolversStack-L7NBWVCFLPQ4-AppSyncLambdaRole"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/aws-perspective-v2-Settin-PerspectiveSettingsLambd-1FRGAQN88CD4R/inlinePolicy/aws-perspective-v2-SettingsResolversStack-L7NBWVCFLPQ4-AppSyncLambdaRole","title":"arn:aws:iam::044981683129:role/aws-perspective-v2-Settin-PerspectiveSettingsLambd-1FRGAQN88CD4R/inlinePolicy/aws-perspective-v2-SettingsResolversStack-L7NBWVCFLPQ4-AppSyncLambdaRole","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/aws-perspective-v2-Settin-PerspectiveSettingsLambd-1FRGAQN88CD4R/inlinePolicy/aws-perspective-v2-SettingsResolversStack-L7NBWVCFLPQ4-AppSyncLambdaRole","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/aws-perspective-v2-Settin-PerspectiveSettingsLambd-1FRGAQN88CD4R/inlinePolicy/aws-perspective-v2-SettingsResolversStack-L7NBWVCFLPQ4-AppSyncLambdaRole","name":"arn:aws:iam::044981683129:role/aws-perspective-v2-Settin-PerspectiveSettingsLambd-1FRGAQN88CD4R/inlinePolicy/aws-perspective-v2-SettingsResolversStack-L7NBWVCFLPQ4-AppSyncLambdaRole","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/aws-perspective-v2-Settin-PerspectiveSettingsLambd-1FRGAQN88CD4R/inlinePolicy/aws-perspective-v2-SettingsResolversStack-L7NBWVCFLPQ4-AppSyncLambdaRole","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/aws-perspective-v2-Settin-PerspectiveSettingsLambd-1FRGAQN88CD4R/inlinePolicy/aws-perspective-v2-SettingsResolversStack-L7NBWVCFLPQ4-AppSyncLambdaRole","configuration":"\"{\\\"policyName\\\":\\\"aws-perspective-v2-SettingsResolversStack-L7NBWVCFLPQ4-AppSyncLambdaRole\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"dynamodb:Query\\\",\\\"dynamodb:PutItem\\\",\\\"dynamodb:DeleteItem\\\",\\\"dynamodb:GetItem\\\",\\\"dynamodb:UpdateItem\\\",\\\"dynamodb:BatchWriteItem\\\"],\\\"Resource\\\":\\\"arn:aws:dynamodb:eu-west-2:044981683129:table/aws-perspective-v2-SettingsResolversStack-L7NBWVCFLPQ4-PerspectiveSettingsTable-HVJ4KK4W9SO9\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"config:putConfigurationAggregator\\\"],\\\"Resource\\\":\\\"arn:aws:config:eu-west-2:044981683129*\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/aws-perspective-v2-Settin-PerspectiveSettingsLambd-1FRGAQN88CD4R/inlinePolicy/aws-perspective-v2-SettingsResolversStack-L7NBWVCFLPQ4-AppSyncLambdaRole","resourceName":"arn:aws:iam::044981683129:role/aws-perspective-v2-Settin-PerspectiveSettingsLambd-1FRGAQN88CD4R/inlinePolicy/aws-perspective-v2-SettingsResolversStack-L7NBWVCFLPQ4-AppSyncLambdaRole","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/aws-perspective-v2-Settin-PerspectiveSettingsLambd-1FRGAQN88CD4R/inlinePolicy/aws-perspective-v2-SettingsResolversStack-L7NBWVCFLPQ4-AppSyncLambdaRole","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":2049.5,"y":-2175.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/aws-perspective-v2-DrawIoExport-DrawIoFunctionRole-3L27NSRANQKP","resourceId":["AROAQU6I6AO4SHJYPEA52","arn:aws:iam::044981683129:role/aws-perspective-v2-DrawIoExport-DrawIoFunctionRole-3L27NSRANQKP"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/aws-perspective-v2-DrawIoExport-DrawIoFunctionRole-3L27NSRANQKP","title":"aws-perspective-v2-DrawIoExport-DrawIoFunctionRole-3L27NSRANQKP","label":"aws-perspect...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/aws-perspective-v2-DrawIoExport-DrawIoFunctionRole-3L27NSRANQKP","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO4SHJYPEA52","name":"aws-perspective-v2-DrawIoExport-DrawIoFunctionRole-3L27NSRANQKP","value":null,"type":"AWS::IAM::Role","tags":"[{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"}]","arn":"arn:aws:iam::044981683129:role/aws-perspective-v2-DrawIoExport-DrawIoFunctionRole-3L27NSRANQKP","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/aws-perspective-v2-DrawIoExport-DrawIoFunctionRole-3L27NSRANQKP","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22lambda.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO4SHJYPEA52\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole\\\",\\\"policyName\\\":\\\"AWSLambdaBasicExecutionRole\\\"}],\\\"roleName\\\":\\\"aws-perspective-v2-DrawIoExport-DrawIoFunctionRole-3L27NSRANQKP\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/aws-perspective-v2-DrawIoExport-DrawIoFunctionRole-3L27NSRANQKP\\\",\\\"createDate\\\":\\\"2022-08-30T10:47:29.000Z\\\",\\\"rolePolicyList\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"SAM\\\",\\\"key\\\":\\\"lambda:createdBy\\\"}]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO4SHJYPEA52","resourceName":"aws-perspective-v2-DrawIoExport-DrawIoFunctionRole-3L27NSRANQKP","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"}]","title":"aws-perspective-v2-DrawIoExport-DrawIoFunctionRole-3L27NSRANQKP","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":1133.5,"y":-2175.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/aws-perspective-v2-AthenaGl-AWSS3CURLambdaExecutor-165O2J5XTRNSA","resourceId":["AROAQU6I6AO4V233YI7W3","arn:aws:iam::044981683129:role/aws-perspective-v2-AthenaGl-AWSS3CURLambdaExecutor-165O2J5XTRNSA"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/aws-perspective-v2-AthenaGl-AWSS3CURLambdaExecutor-165O2J5XTRNSA","title":"aws-perspective-v2-AthenaGl-AWSS3CURLambdaExecutor-165O2J5XTRNSA","label":"aws-perspect...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/aws-perspective-v2-AthenaGl-AWSS3CURLambdaExecutor-165O2J5XTRNSA","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO4V233YI7W3","name":"aws-perspective-v2-AthenaGl-AWSS3CURLambdaExecutor-165O2J5XTRNSA","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/aws-perspective-v2-AthenaGl-AWSS3CURLambdaExecutor-165O2J5XTRNSA","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/aws-perspective-v2-AthenaGl-AWSS3CURLambdaExecutor-165O2J5XTRNSA","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22lambda.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO4V233YI7W3\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"aws-perspective-v2-AthenaGl-AWSS3CURLambdaExecutor-165O2J5XTRNSA\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/aws-perspective-v2-AthenaGl-AWSS3CURLambdaExecutor-165O2J5XTRNSA\\\",\\\"createDate\\\":\\\"2022-08-30T10:44:44.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22logs%3ACreateLogGroup%22%2C%22logs%3ACreateLogStream%22%2C%22logs%3APutLogEvents%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Alogs%3A%2A%3A%2A%3A%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22s3%3APutBucketNotification%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3As3%3A%3A%3Aaws-perspective-v2-s3buc-costandusagereportbucket-10n803wepxf8t%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"AWSS3CURLambdaExecutor\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO4V233YI7W3","resourceName":"aws-perspective-v2-AthenaGl-AWSS3CURLambdaExecutor-165O2J5XTRNSA","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"aws-perspective-v2-AthenaGl-AWSS3CURLambdaExecutor-165O2J5XTRNSA","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":476.5,"y":-2102.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/aws-perspective-v2-AthenaGl-AWSS3CURLambdaExecutor-165O2J5XTRNSA/inlinePolicy/AWSS3CURLambdaExecutor","resourceId":["arn:aws:iam::044981683129:role/aws-perspective-v2-AthenaGl-AWSS3CURLambdaExecutor-165O2J5XTRNSA/inlinePolicy/AWSS3CURLambdaExecutor","arn:aws:iam::044981683129:role/aws-perspective-v2-AthenaGl-AWSS3CURLambdaExecutor-165O2J5XTRNSA/inlinePolicy/AWSS3CURLambdaExecutor"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/aws-perspective-v2-AthenaGl-AWSS3CURLambdaExecutor-165O2J5XTRNSA/inlinePolicy/AWSS3CURLambdaExecutor","title":"arn:aws:iam::044981683129:role/aws-perspective-v2-AthenaGl-AWSS3CURLambdaExecutor-165O2J5XTRNSA/inlinePolicy/AWSS3CURLambdaExecutor","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/aws-perspective-v2-AthenaGl-AWSS3CURLambdaExecutor-165O2J5XTRNSA/inlinePolicy/AWSS3CURLambdaExecutor","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/aws-perspective-v2-AthenaGl-AWSS3CURLambdaExecutor-165O2J5XTRNSA/inlinePolicy/AWSS3CURLambdaExecutor","name":"arn:aws:iam::044981683129:role/aws-perspective-v2-AthenaGl-AWSS3CURLambdaExecutor-165O2J5XTRNSA/inlinePolicy/AWSS3CURLambdaExecutor","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/aws-perspective-v2-AthenaGl-AWSS3CURLambdaExecutor-165O2J5XTRNSA/inlinePolicy/AWSS3CURLambdaExecutor","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/aws-perspective-v2-AthenaGl-AWSS3CURLambdaExecutor-165O2J5XTRNSA/inlinePolicy/AWSS3CURLambdaExecutor","configuration":"\"{\\\"policyName\\\":\\\"AWSS3CURLambdaExecutor\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"logs:CreateLogGroup\\\",\\\"logs:CreateLogStream\\\",\\\"logs:PutLogEvents\\\"],\\\"Resource\\\":\\\"arn:aws:logs:*:*:*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"s3:PutBucketNotification\\\"],\\\"Resource\\\":\\\"arn:aws:s3:::aws-perspective-v2-s3buc-costandusagereportbucket-10n803wepxf8t\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/aws-perspective-v2-AthenaGl-AWSS3CURLambdaExecutor-165O2J5XTRNSA/inlinePolicy/AWSS3CURLambdaExecutor","resourceName":"arn:aws:iam::044981683129:role/aws-perspective-v2-AthenaGl-AWSS3CURLambdaExecutor-165O2J5XTRNSA/inlinePolicy/AWSS3CURLambdaExecutor","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/aws-perspective-v2-AthenaGl-AWSS3CURLambdaExecutor-165O2J5XTRNSA/inlinePolicy/AWSS3CURLambdaExecutor","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1392.5,"y":-2102.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-CodebuildStac-CodeBuildRole-1FSCSGV5TP188","resourceId":["AROAQU6I6AO4YGDOFFXYA","arn:aws:iam::044981683129:role/workload-discovery-iad-CodebuildStac-CodeBuildRole-1FSCSGV5TP188"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/workload-discovery-iad-CodebuildStac-CodeBuildRole-1FSCSGV5TP188","title":"workload-discovery-iad-CodebuildStac-CodeBuildRole-1FSCSGV5TP188","label":"workload-dis...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/workload-discovery-iad-CodebuildStac-CodeBuildRole-1FSCSGV5TP188","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO4YGDOFFXYA","name":"workload-discovery-iad-CodebuildStac-CodeBuildRole-1FSCSGV5TP188","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-CodebuildStac-CodeBuildRole-1FSCSGV5TP188","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-CodebuildStac-CodeBuildRole-1FSCSGV5TP188","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222008-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22codebuild.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO4YGDOFFXYA\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"workload-discovery-iad-CodebuildStac-CodeBuildRole-1FSCSGV5TP188\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/workload-discovery-iad-CodebuildStac-CodeBuildRole-1FSCSGV5TP188\\\",\\\"createDate\\\":\\\"2022-11-16T14:35:33.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22logs%3ACreateLogGroup%22%2C%22logs%3ACreateLogStream%22%2C%22logs%3APutLogEvents%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Alogs%3Aus-east-1%3A044981683129%3Alog-group%3A%2Faws%2Fcodebuild%2F%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22ecr%3AGetAuthorizationToken%22%2C%22ecr%3AGetDownloadUrlForLayer%22%2C%22ecr%3ABatchGetImage%22%2C%22ecr%3ABatchCheckLayerAvailability%22%2C%22ecr%3APutImage%22%2C%22ecr%3AInitiateLayerUpload%22%2C%22ecr%3AUploadLayerPart%22%2C%22ecr%3ACompleteLayerUpload%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Aecr%3Aus-east-1%3A044981683129%3Arepository%2Fworkload-discovery-iad-taskstack-1qzdla2pgjbv3-perspectivecontainerrepo-pv99bogatcsi%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22ecr%3AGetAuthorizationToken%22%5D%2C%22Resource%22%3A%5B%22%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22s3%3AGetObject%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3As3%3A%3A%3Asvozza-local-cfn-us-east-1%2F%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22cloudfront%3ACreateInvalidation%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Acloudfront%3A%3A044981683129%3Adistribution%2FE3VRN6ZBES3GSD%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22s3%3APutObject%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3As3%3A%3A%3Aworkload-discovery-iad-s3buckets-1ouy-webuibucket-11ud5500bv788%2F%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"workload-discovery-iad-CodebuildStack-3DCMVQM4SIT8-codebuild\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO4YGDOFFXYA","resourceName":"workload-discovery-iad-CodebuildStac-CodeBuildRole-1FSCSGV5TP188","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"workload-discovery-iad-CodebuildStac-CodeBuildRole-1FSCSGV5TP188","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":549.5,"y":-2102.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-CodebuildStac-CodeBuildRole-1FSCSGV5TP188/inlinePolicy/workload-discovery-iad-CodebuildStack-3DCMVQM4SIT8-codebuild","resourceId":["arn:aws:iam::044981683129:role/workload-discovery-iad-CodebuildStac-CodeBuildRole-1FSCSGV5TP188/inlinePolicy/workload-discovery-iad-CodebuildStack-3DCMVQM4SIT8-codebuild","arn:aws:iam::044981683129:role/workload-discovery-iad-CodebuildStac-CodeBuildRole-1FSCSGV5TP188/inlinePolicy/workload-discovery-iad-CodebuildStack-3DCMVQM4SIT8-codebuild"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/workload-discovery-iad-CodebuildStac-CodeBuildRole-1FSCSGV5TP188/inlinePolicy/workload-discovery-iad-CodebuildStack-3DCMVQM4SIT8-codebuild","title":"arn:aws:iam::044981683129:role/workload-discovery-iad-CodebuildStac-CodeBuildRole-1FSCSGV5TP188/inlinePolicy/workload-discovery-iad-CodebuildStack-3DCMVQM4SIT8-codebuild","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/workload-discovery-iad-CodebuildStac-CodeBuildRole-1FSCSGV5TP188/inlinePolicy/workload-discovery-iad-CodebuildStack-3DCMVQM4SIT8-codebuild","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/workload-discovery-iad-CodebuildStac-CodeBuildRole-1FSCSGV5TP188/inlinePolicy/workload-discovery-iad-CodebuildStack-3DCMVQM4SIT8-codebuild","name":"arn:aws:iam::044981683129:role/workload-discovery-iad-CodebuildStac-CodeBuildRole-1FSCSGV5TP188/inlinePolicy/workload-discovery-iad-CodebuildStack-3DCMVQM4SIT8-codebuild","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-CodebuildStac-CodeBuildRole-1FSCSGV5TP188/inlinePolicy/workload-discovery-iad-CodebuildStack-3DCMVQM4SIT8-codebuild","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-CodebuildStac-CodeBuildRole-1FSCSGV5TP188/inlinePolicy/workload-discovery-iad-CodebuildStack-3DCMVQM4SIT8-codebuild","configuration":"\"{\\\"policyName\\\":\\\"workload-discovery-iad-CodebuildStack-3DCMVQM4SIT8-codebuild\\\",\\\"policyDocument\\\":{\\\"Statement\\\":[{\\\"Action\\\":[\\\"logs:CreateLogGroup\\\",\\\"logs:CreateLogStream\\\",\\\"logs:PutLogEvents\\\"],\\\"Resource\\\":[\\\"arn:aws:logs:us-east-1:044981683129:log-group:/aws/codebuild/*\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"ecr:GetAuthorizationToken\\\",\\\"ecr:GetDownloadUrlForLayer\\\",\\\"ecr:BatchGetImage\\\",\\\"ecr:BatchCheckLayerAvailability\\\",\\\"ecr:PutImage\\\",\\\"ecr:InitiateLayerUpload\\\",\\\"ecr:UploadLayerPart\\\",\\\"ecr:CompleteLayerUpload\\\"],\\\"Resource\\\":[\\\"arn:aws:ecr:us-east-1:044981683129:repository/workload-discovery-iad-taskstack-1qzdla2pgjbv3-perspectivecontainerrepo-pv99bogatcsi*\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"ecr:GetAuthorizationToken\\\"],\\\"Resource\\\":[\\\"*\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"s3:GetObject\\\"],\\\"Resource\\\":[\\\"arn:aws:s3:::svozza-local-cfn-us-east-1/*\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"cloudfront:CreateInvalidation\\\"],\\\"Resource\\\":\\\"arn:aws:cloudfront::044981683129:distribution/E3VRN6ZBES3GSD\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"s3:PutObject\\\"],\\\"Resource\\\":[\\\"arn:aws:s3:::workload-discovery-iad-s3buckets-1ouy-webuibucket-11ud5500bv788/*\\\"],\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/workload-discovery-iad-CodebuildStac-CodeBuildRole-1FSCSGV5TP188/inlinePolicy/workload-discovery-iad-CodebuildStack-3DCMVQM4SIT8-codebuild","resourceName":"arn:aws:iam::044981683129:role/workload-discovery-iad-CodebuildStac-CodeBuildRole-1FSCSGV5TP188/inlinePolicy/workload-discovery-iad-CodebuildStack-3DCMVQM4SIT8-codebuild","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/workload-discovery-iad-CodebuildStac-CodeBuildRole-1FSCSGV5TP188/inlinePolicy/workload-discovery-iad-CodebuildStack-3DCMVQM4SIT8-codebuild","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1465.5,"y":-2102.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-WebU-UiSettingsResourceRole-1NAQ051HZYLCZ","resourceId":["AROAQU6I6AO42PUF3CGTS","arn:aws:iam::044981683129:role/workload-discovery-iad-WebU-UiSettingsResourceRole-1NAQ051HZYLCZ"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/workload-discovery-iad-WebU-UiSettingsResourceRole-1NAQ051HZYLCZ","title":"workload-discovery-iad-WebU-UiSettingsResourceRole-1NAQ051HZYLCZ","label":"workload-dis...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/workload-discovery-iad-WebU-UiSettingsResourceRole-1NAQ051HZYLCZ","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO42PUF3CGTS","name":"workload-discovery-iad-WebU-UiSettingsResourceRole-1NAQ051HZYLCZ","value":null,"type":"AWS::IAM::Role","tags":"[{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"}]","arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-WebU-UiSettingsResourceRole-1NAQ051HZYLCZ","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-WebU-UiSettingsResourceRole-1NAQ051HZYLCZ","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22lambda.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO42PUF3CGTS\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole\\\",\\\"policyName\\\":\\\"AWSLambdaBasicExecutionRole\\\"}],\\\"roleName\\\":\\\"workload-discovery-iad-WebU-UiSettingsResourceRole-1NAQ051HZYLCZ\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/workload-discovery-iad-WebU-UiSettingsResourceRole-1NAQ051HZYLCZ\\\",\\\"createDate\\\":\\\"2022-11-16T14:33:13.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22s3%3APutObject%22%2C%22s3%3APutObjectAcl%22%2C%22s3%3ADeleteObject%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3As3%3A%3A%3Aworkload-discovery-iad-s3buckets-1ouy-webuibucket-11ud5500bv788%2Fsettings.js%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"UiSettingsResourceRolePolicy0\\\"}],\\\"tags\\\":[{\\\"value\\\":\\\"SAM\\\",\\\"key\\\":\\\"lambda:createdBy\\\"}]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO42PUF3CGTS","resourceName":"workload-discovery-iad-WebU-UiSettingsResourceRole-1NAQ051HZYLCZ","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"}]","title":"workload-discovery-iad-WebU-UiSettingsResourceRole-1NAQ051HZYLCZ","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":622.5,"y":-2102.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-WebU-UiSettingsResourceRole-1NAQ051HZYLCZ/inlinePolicy/UiSettingsResourceRolePolicy0","resourceId":["arn:aws:iam::044981683129:role/workload-discovery-iad-WebU-UiSettingsResourceRole-1NAQ051HZYLCZ/inlinePolicy/UiSettingsResourceRolePolicy0","arn:aws:iam::044981683129:role/workload-discovery-iad-WebU-UiSettingsResourceRole-1NAQ051HZYLCZ/inlinePolicy/UiSettingsResourceRolePolicy0"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/workload-discovery-iad-WebU-UiSettingsResourceRole-1NAQ051HZYLCZ/inlinePolicy/UiSettingsResourceRolePolicy0","title":"arn:aws:iam::044981683129:role/workload-discovery-iad-WebU-UiSettingsResourceRole-1NAQ051HZYLCZ/inlinePolicy/UiSettingsResourceRolePolicy0","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/workload-discovery-iad-WebU-UiSettingsResourceRole-1NAQ051HZYLCZ/inlinePolicy/UiSettingsResourceRolePolicy0","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/workload-discovery-iad-WebU-UiSettingsResourceRole-1NAQ051HZYLCZ/inlinePolicy/UiSettingsResourceRolePolicy0","name":"arn:aws:iam::044981683129:role/workload-discovery-iad-WebU-UiSettingsResourceRole-1NAQ051HZYLCZ/inlinePolicy/UiSettingsResourceRolePolicy0","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-WebU-UiSettingsResourceRole-1NAQ051HZYLCZ/inlinePolicy/UiSettingsResourceRolePolicy0","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-WebU-UiSettingsResourceRole-1NAQ051HZYLCZ/inlinePolicy/UiSettingsResourceRolePolicy0","configuration":"\"{\\\"policyName\\\":\\\"UiSettingsResourceRolePolicy0\\\",\\\"policyDocument\\\":{\\\"Statement\\\":[{\\\"Action\\\":[\\\"s3:PutObject\\\",\\\"s3:PutObjectAcl\\\",\\\"s3:DeleteObject\\\"],\\\"Resource\\\":\\\"arn:aws:s3:::workload-discovery-iad-s3buckets-1ouy-webuibucket-11ud5500bv788/settings.js\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/workload-discovery-iad-WebU-UiSettingsResourceRole-1NAQ051HZYLCZ/inlinePolicy/UiSettingsResourceRolePolicy0","resourceName":"arn:aws:iam::044981683129:role/workload-discovery-iad-WebU-UiSettingsResourceRole-1NAQ051HZYLCZ/inlinePolicy/UiSettingsResourceRolePolicy0","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/workload-discovery-iad-WebU-UiSettingsResourceRole-1NAQ051HZYLCZ/inlinePolicy/UiSettingsResourceRolePolicy0","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1538.5,"y":-2102.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/aws-service-role/compute-optimizer.amazonaws.com/AWSServiceRoleForComputeOptimizer","resourceId":["AROAQU6I6AO43SKIMAS2U","arn:aws:iam::044981683129:role/aws-service-role/compute-optimizer.amazonaws.com/AWSServiceRoleForComputeOptimizer"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/aws-service-role/compute-optimizer.amazonaws.com/AWSServiceRoleForComputeOptimizer","title":"AWSServiceRoleForComputeOptimizer","label":"AWSServiceRo...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/aws-service-role/compute-optimizer.amazonaws.com/AWSServiceRoleForComputeOptimizer","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO43SKIMAS2U","name":"AWSServiceRoleForComputeOptimizer","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/aws-service-role/compute-optimizer.amazonaws.com/AWSServiceRoleForComputeOptimizer","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/aws-service-role/compute-optimizer.amazonaws.com/AWSServiceRoleForComputeOptimizer","configuration":"\"{\\\"path\\\":\\\"/aws-service-role/compute-optimizer.amazonaws.com/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22compute-optimizer.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO43SKIMAS2U\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/aws-service-role/ComputeOptimizerServiceRolePolicy\\\",\\\"policyName\\\":\\\"ComputeOptimizerServiceRolePolicy\\\"}],\\\"roleName\\\":\\\"AWSServiceRoleForComputeOptimizer\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/aws-service-role/compute-optimizer.amazonaws.com/AWSServiceRoleForComputeOptimizer\\\",\\\"createDate\\\":\\\"2022-04-22T12:12:01.000Z\\\",\\\"rolePolicyList\\\":[],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO43SKIMAS2U","resourceName":"AWSServiceRoleForComputeOptimizer","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"AWSServiceRoleForComputeOptimizer","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":695.5,"y":-2102.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-EHR1UOW6T8PA","resourceId":["AROAQU6I6AO42V5K4AEFG","arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-EHR1UOW6T8PA"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-EHR1UOW6T8PA","title":"recipe-recommendation-engine-CodeBuildServiceRole-EHR1UOW6T8PA","label":"recipe-recom...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-EHR1UOW6T8PA","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO42V5K4AEFG","name":"recipe-recommendation-engine-CodeBuildServiceRole-EHR1UOW6T8PA","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-EHR1UOW6T8PA","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-EHR1UOW6T8PA","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22codebuild.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO42V5K4AEFG\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"recipe-recommendation-engine-CodeBuildServiceRole-EHR1UOW6T8PA\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-EHR1UOW6T8PA\\\",\\\"createDate\\\":\\\"2021-10-11T15:27:51.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22ecr%3AGetDownloadUrlForLayer%22%2C%22ecr%3ABatchGetImage%22%2C%22ecr%3ABatchCheckLayerAvailability%22%2C%22ecr%3APutImage%22%2C%22ecr%3AInitiateLayerUpload%22%2C%22ecr%3AUploadLayerPart%22%2C%22ecr%3ACompleteLayerUpload%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Aecr%3Aus-west-2%3A044981683129%3Arepository%2Fretaildemostore%2Frecommendations%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"ecr\\\"},{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22logs%3ACreateLogGroup%22%2C%22logs%3ACreateLogStream%22%2C%22logs%3APutLogEvents%22%2C%22ecr%3AGetAuthorizationToken%22%2C%22ssm%3AGetParameters%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"logs\\\"},{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22s3%3AGetObject%22%2C%22s3%3APutObject%22%2C%22s3%3AGetObjectVersion%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3As3%3A%3A%3Arecipe-recommendation-engine-servi-artifactbucket-1284xpmgt3gem%2F%2A%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"S3\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO42V5K4AEFG","resourceName":"recipe-recommendation-engine-CodeBuildServiceRole-EHR1UOW6T8PA","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"recipe-recommendation-engine-CodeBuildServiceRole-EHR1UOW6T8PA","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":768.5,"y":-2102.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-EHR1UOW6T8PA/inlinePolicy/S3","resourceId":["arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-EHR1UOW6T8PA/inlinePolicy/S3","arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-EHR1UOW6T8PA/inlinePolicy/S3"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-EHR1UOW6T8PA/inlinePolicy/S3","title":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-EHR1UOW6T8PA/inlinePolicy/S3","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-EHR1UOW6T8PA/inlinePolicy/S3","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-EHR1UOW6T8PA/inlinePolicy/S3","name":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-EHR1UOW6T8PA/inlinePolicy/S3","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-EHR1UOW6T8PA/inlinePolicy/S3","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-EHR1UOW6T8PA/inlinePolicy/S3","configuration":"\"{\\\"policyName\\\":\\\"S3\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"s3:GetObject\\\",\\\"s3:PutObject\\\",\\\"s3:GetObjectVersion\\\"],\\\"Resource\\\":\\\"arn:aws:s3:::recipe-recommendation-engine-servi-artifactbucket-1284xpmgt3gem/*\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-EHR1UOW6T8PA/inlinePolicy/S3","resourceName":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-EHR1UOW6T8PA/inlinePolicy/S3","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-EHR1UOW6T8PA/inlinePolicy/S3","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1611.5,"y":-2102.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-EHR1UOW6T8PA/inlinePolicy/ecr","resourceId":["arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-EHR1UOW6T8PA/inlinePolicy/ecr","arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-EHR1UOW6T8PA/inlinePolicy/ecr"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-EHR1UOW6T8PA/inlinePolicy/ecr","title":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-EHR1UOW6T8PA/inlinePolicy/ecr","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-EHR1UOW6T8PA/inlinePolicy/ecr","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-EHR1UOW6T8PA/inlinePolicy/ecr","name":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-EHR1UOW6T8PA/inlinePolicy/ecr","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-EHR1UOW6T8PA/inlinePolicy/ecr","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-EHR1UOW6T8PA/inlinePolicy/ecr","configuration":"\"{\\\"policyName\\\":\\\"ecr\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"ecr:GetDownloadUrlForLayer\\\",\\\"ecr:BatchGetImage\\\",\\\"ecr:BatchCheckLayerAvailability\\\",\\\"ecr:PutImage\\\",\\\"ecr:InitiateLayerUpload\\\",\\\"ecr:UploadLayerPart\\\",\\\"ecr:CompleteLayerUpload\\\"],\\\"Resource\\\":\\\"arn:aws:ecr:us-west-2:044981683129:repository/retaildemostore/recommendations\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-EHR1UOW6T8PA/inlinePolicy/ecr","resourceName":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-EHR1UOW6T8PA/inlinePolicy/ecr","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-EHR1UOW6T8PA/inlinePolicy/ecr","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1684.5,"y":-2102.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-EHR1UOW6T8PA/inlinePolicy/logs","resourceId":["arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-EHR1UOW6T8PA/inlinePolicy/logs","arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-EHR1UOW6T8PA/inlinePolicy/logs"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-EHR1UOW6T8PA/inlinePolicy/logs","title":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-EHR1UOW6T8PA/inlinePolicy/logs","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-EHR1UOW6T8PA/inlinePolicy/logs","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-EHR1UOW6T8PA/inlinePolicy/logs","name":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-EHR1UOW6T8PA/inlinePolicy/logs","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-EHR1UOW6T8PA/inlinePolicy/logs","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-EHR1UOW6T8PA/inlinePolicy/logs","configuration":"\"{\\\"policyName\\\":\\\"logs\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"logs:CreateLogGroup\\\",\\\"logs:CreateLogStream\\\",\\\"logs:PutLogEvents\\\",\\\"ecr:GetAuthorizationToken\\\",\\\"ssm:GetParameters\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-EHR1UOW6T8PA/inlinePolicy/logs","resourceName":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-EHR1UOW6T8PA/inlinePolicy/logs","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-EHR1UOW6T8PA/inlinePolicy/logs","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1757.5,"y":-2102.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/aws-service-role/securityhub.amazonaws.com/AWSServiceRoleForSecurityHub","resourceId":["AROAQU6I6AO43QQ2D7UOT","arn:aws:iam::044981683129:role/aws-service-role/securityhub.amazonaws.com/AWSServiceRoleForSecurityHub"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/aws-service-role/securityhub.amazonaws.com/AWSServiceRoleForSecurityHub","title":"AWSServiceRoleForSecurityHub","label":"AWSServiceRo...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/aws-service-role/securityhub.amazonaws.com/AWSServiceRoleForSecurityHub","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO43QQ2D7UOT","name":"AWSServiceRoleForSecurityHub","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/aws-service-role/securityhub.amazonaws.com/AWSServiceRoleForSecurityHub","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/aws-service-role/securityhub.amazonaws.com/AWSServiceRoleForSecurityHub","configuration":"\"{\\\"path\\\":\\\"/aws-service-role/securityhub.amazonaws.com/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22securityhub.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO43QQ2D7UOT\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/aws-service-role/AWSSecurityHubServiceRolePolicy\\\",\\\"policyName\\\":\\\"AWSSecurityHubServiceRolePolicy\\\"}],\\\"roleName\\\":\\\"AWSServiceRoleForSecurityHub\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/aws-service-role/securityhub.amazonaws.com/AWSServiceRoleForSecurityHub\\\",\\\"createDate\\\":\\\"2022-04-14T10:15:54.000Z\\\",\\\"rolePolicyList\\\":[],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO43QQ2D7UOT","resourceName":"AWSServiceRoleForSecurityHub","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"AWSServiceRoleForSecurityHub","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":841.5,"y":-2102.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/OrthancRole","resourceId":["AROAQU6I6AO4XRK3LQRKE","arn:aws:iam::044981683129:role/OrthancRole"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/OrthancRole","title":"OrthancRole","label":"OrthancRole","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/OrthancRole","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO4XRK3LQRKE","name":"OrthancRole","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/OrthancRole","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/OrthancRole","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Sid%22%3A%22%22%2C%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%5B%22prod.sentry.orthanc.epoxy.aws.internal%22%2C%22prod.stronghold.orthanc.epoxy.aws.internal%22%5D%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%2C%22Condition%22%3A%7B%22StringEquals%22%3A%7B%22sts%3AExternalId%22%3A%22OrthancRoleiqlUPdj8v0dq%22%7D%7D%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO4XRK3LQRKE\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/AmazonGuardDutyFullAccess\\\",\\\"policyName\\\":\\\"AmazonGuardDutyFullAccess\\\"}],\\\"roleName\\\":\\\"OrthancRole\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/OrthancRole\\\",\\\"createDate\\\":\\\"2023-01-24T16:36:21.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%20%222012-10-17%22%2C%22Statement%22%3A%20%5B%7B%22Effect%22%3A%20%22Allow%22%2C%22Action%22%3A%20%5B%22ec2%3ADescribeRegions%22%5D%2C%22Resource%22%3A%20%22%2A%22%7D%2C%7B%22Effect%22%3A%20%22Allow%22%2C%22Action%22%3A%20%5B%22events%3ADescribeRule%22%2C%22events%3AListTargetsByRule%22%5D%2C%22Resource%22%3A%20%22arn%3Aaws%3Aevents%3A%2A%3A%2A%3Arule%2FAwsSecurityNacundaAuditFindings-DO-NOT-DELETE%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"AmazonGuardDutyFullAccess\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO4XRK3LQRKE","resourceName":"OrthancRole","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"OrthancRole","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":914.5,"y":-2102.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/OrthancRole/inlinePolicy/AmazonGuardDutyFullAccess","resourceId":["arn:aws:iam::044981683129:role/OrthancRole/inlinePolicy/AmazonGuardDutyFullAccess","arn:aws:iam::044981683129:role/OrthancRole/inlinePolicy/AmazonGuardDutyFullAccess"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/OrthancRole/inlinePolicy/AmazonGuardDutyFullAccess","title":"arn:aws:iam::044981683129:role/OrthancRole/inlinePolicy/AmazonGuardDutyFullAccess","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/OrthancRole/inlinePolicy/AmazonGuardDutyFullAccess","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/OrthancRole/inlinePolicy/AmazonGuardDutyFullAccess","name":"arn:aws:iam::044981683129:role/OrthancRole/inlinePolicy/AmazonGuardDutyFullAccess","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/OrthancRole/inlinePolicy/AmazonGuardDutyFullAccess","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/OrthancRole/inlinePolicy/AmazonGuardDutyFullAccess","configuration":"\"{\\\"policyName\\\":\\\"AmazonGuardDutyFullAccess\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Effect\\\":\\\"Allow\\\",\\\"Action\\\":[\\\"ec2:DescribeRegions\\\"],\\\"Resource\\\":\\\"*\\\"},{\\\"Effect\\\":\\\"Allow\\\",\\\"Action\\\":[\\\"events:DescribeRule\\\",\\\"events:ListTargetsByRule\\\"],\\\"Resource\\\":\\\"arn:aws:events:*:*:rule/AwsSecurityNacundaAuditFindings-DO-NOT-DELETE\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/OrthancRole/inlinePolicy/AmazonGuardDutyFullAccess","resourceName":"arn:aws:iam::044981683129:role/OrthancRole/inlinePolicy/AmazonGuardDutyFullAccess","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/OrthancRole/inlinePolicy/AmazonGuardDutyFullAccess","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1830.5,"y":-2102.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/service-role/topLevelAwait-role-9bmrz80z","resourceId":["AROAQU6I6AO42VWN4KTD5","arn:aws:iam::044981683129:role/service-role/topLevelAwait-role-9bmrz80z"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/service-role/topLevelAwait-role-9bmrz80z","title":"topLevelAwait-role-9bmrz80z","label":"topLevelAwai...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/service-role/topLevelAwait-role-9bmrz80z","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO42VWN4KTD5","name":"topLevelAwait-role-9bmrz80z","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/service-role/topLevelAwait-role-9bmrz80z","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/service-role/topLevelAwait-role-9bmrz80z","configuration":"\"{\\\"path\\\":\\\"/service-role/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22lambda.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO42VWN4KTD5\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::044981683129:policy/service-role/AWSLambdaBasicExecutionRole-d2714e62-9a7c-47a2-b2bb-b31050291429\\\",\\\"policyName\\\":\\\"AWSLambdaBasicExecutionRole-d2714e62-9a7c-47a2-b2bb-b31050291429\\\"}],\\\"roleName\\\":\\\"topLevelAwait-role-9bmrz80z\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/service-role/topLevelAwait-role-9bmrz80z\\\",\\\"createDate\\\":\\\"2021-11-24T11:19:29.000Z\\\",\\\"rolePolicyList\\\":[],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO42VWN4KTD5","resourceName":"topLevelAwait-role-9bmrz80z","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"topLevelAwait-role-9bmrz80z","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":987.5,"y":-2102.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:policy/service-role/AWSLambdaBasicExecutionRole-d2714e62-9a7c-47a2-b2bb-b31050291429","resourceId":["ANPAQU6I6AO4XDS4BYW27","arn:aws:iam::044981683129:policy/service-role/AWSLambdaBasicExecutionRole-d2714e62-9a7c-47a2-b2bb-b31050291429"],"parent":"Policy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:policy/service-role/AWSLambdaBasicExecutionRole-d2714e62-9a7c-47a2-b2bb-b31050291429","title":"AWSLambdaBasicExecutionRole-d2714e62-9a7c-47a2-b2bb-b31050291429","label":"AWSLambdaBas...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:policy/service-role/AWSLambdaBasicExecutionRole-d2714e62-9a7c-47a2-b2bb-b31050291429","image":"/icons/IAM_Policy.svg","cost":0,"private":false,"resource":{"id":"ANPAQU6I6AO4XDS4BYW27","name":"AWSLambdaBasicExecutionRole-d2714e62-9a7c-47a2-b2bb-b31050291429","value":null,"type":"AWS::IAM::Policy","tags":"[]","arn":"arn:aws:iam::044981683129:policy/service-role/AWSLambdaBasicExecutionRole-d2714e62-9a7c-47a2-b2bb-b31050291429","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/policies","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/policies","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:policy/service-role/AWSLambdaBasicExecutionRole-d2714e62-9a7c-47a2-b2bb-b31050291429","configuration":"\"{\\\"permissionsBoundaryUsageCount\\\":0,\\\"policyVersionList\\\":[{\\\"versionId\\\":\\\"v1\\\",\\\"isDefaultVersion\\\":true,\\\"document\\\":\\\"%7B%0A%20%20%20%20%22Version%22%3A%20%222012-10-17%22%2C%0A%20%20%20%20%22Statement%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Effect%22%3A%20%22Allow%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Action%22%3A%20%22logs%3ACreateLogGroup%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Resource%22%3A%20%22arn%3Aaws%3Alogs%3Aeu-west-1%3A044981683129%3A%2A%22%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Effect%22%3A%20%22Allow%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Action%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22logs%3ACreateLogStream%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22logs%3APutLogEvents%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Resource%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22arn%3Aaws%3Alogs%3Aeu-west-1%3A044981683129%3Alog-group%3A%2Faws%2Flambda%2FtopLevelAwait%3A%2A%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%5D%0A%7D\\\",\\\"createDate\\\":\\\"2021-11-24T11:19:29.000Z\\\"}],\\\"path\\\":\\\"/service-role/\\\",\\\"updateDate\\\":\\\"2021-11-24T11:19:29.000Z\\\",\\\"policyId\\\":\\\"ANPAQU6I6AO4XDS4BYW27\\\",\\\"defaultVersionId\\\":\\\"v1\\\",\\\"policyName\\\":\\\"AWSLambdaBasicExecutionRole-d2714e62-9a7c-47a2-b2bb-b31050291429\\\",\\\"isAttachable\\\":true,\\\"attachmentCount\\\":1,\\\"arn\\\":\\\"arn:aws:iam::044981683129:policy/service-role/AWSLambdaBasicExecutionRole-d2714e62-9a7c-47a2-b2bb-b31050291429\\\",\\\"createDate\\\":\\\"2021-11-24T11:19:29.000Z\\\"}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/policies","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/policies","private":null,"resourceId":"ANPAQU6I6AO4XDS4BYW27","resourceName":"AWSLambdaBasicExecutionRole-d2714e62-9a7c-47a2-b2bb-b31050291429","resourceType":"AWS::IAM::Policy","resourceValue":null,"state":null,"tags":"[]","title":"AWSLambdaBasicExecutionRole-d2714e62-9a7c-47a2-b2bb-b31050291429","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1173.5,"y":-1826.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1UCDPB2P23HB5","resourceId":["AROAQU6I6AO425QPLYXRZ","arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1UCDPB2P23HB5"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1UCDPB2P23HB5","title":"retaildemostore-Services-1WZN-CodeBuildServiceRole-1UCDPB2P23HB5","label":"retaildemost...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1UCDPB2P23HB5","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO425QPLYXRZ","name":"retaildemostore-Services-1WZN-CodeBuildServiceRole-1UCDPB2P23HB5","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1UCDPB2P23HB5","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1UCDPB2P23HB5","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22codebuild.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO425QPLYXRZ\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"retaildemostore-Services-1WZN-CodeBuildServiceRole-1UCDPB2P23HB5\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1UCDPB2P23HB5\\\",\\\"createDate\\\":\\\"2021-10-22T12:09:35.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22ecr%3AGetDownloadUrlForLayer%22%2C%22ecr%3ABatchGetImage%22%2C%22ecr%3ABatchCheckLayerAvailability%22%2C%22ecr%3APutImage%22%2C%22ecr%3AInitiateLayerUpload%22%2C%22ecr%3AUploadLayerPart%22%2C%22ecr%3ACompleteLayerUpload%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Aecr%3Aus-east-1%3A044981683129%3Arepository%2Fretaildemostore%2Frecommendations%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"ecr\\\"},{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22logs%3ACreateLogGroup%22%2C%22logs%3ACreateLogStream%22%2C%22logs%3APutLogEvents%22%2C%22ecr%3AGetAuthorizationToken%22%2C%22ssm%3AGetParameters%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"logs\\\"},{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22s3%3AGetObject%22%2C%22s3%3APutObject%22%2C%22s3%3AGetObjectVersion%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3As3%3A%3A%3Aretaildemostore-services-1wznopxsy-artifactbucket-12gnx6urasd41%2F%2A%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"S3\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO425QPLYXRZ","resourceName":"retaildemostore-Services-1WZN-CodeBuildServiceRole-1UCDPB2P23HB5","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"retaildemostore-Services-1WZN-CodeBuildServiceRole-1UCDPB2P23HB5","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":1060.5,"y":-2102.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1UCDPB2P23HB5/inlinePolicy/ecr","resourceId":["arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1UCDPB2P23HB5/inlinePolicy/ecr","arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1UCDPB2P23HB5/inlinePolicy/ecr"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1UCDPB2P23HB5/inlinePolicy/ecr","title":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1UCDPB2P23HB5/inlinePolicy/ecr","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1UCDPB2P23HB5/inlinePolicy/ecr","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1UCDPB2P23HB5/inlinePolicy/ecr","name":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1UCDPB2P23HB5/inlinePolicy/ecr","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1UCDPB2P23HB5/inlinePolicy/ecr","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1UCDPB2P23HB5/inlinePolicy/ecr","configuration":"\"{\\\"policyName\\\":\\\"ecr\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"ecr:GetDownloadUrlForLayer\\\",\\\"ecr:BatchGetImage\\\",\\\"ecr:BatchCheckLayerAvailability\\\",\\\"ecr:PutImage\\\",\\\"ecr:InitiateLayerUpload\\\",\\\"ecr:UploadLayerPart\\\",\\\"ecr:CompleteLayerUpload\\\"],\\\"Resource\\\":\\\"arn:aws:ecr:us-east-1:044981683129:repository/retaildemostore/recommendations\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1UCDPB2P23HB5/inlinePolicy/ecr","resourceName":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1UCDPB2P23HB5/inlinePolicy/ecr","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1UCDPB2P23HB5/inlinePolicy/ecr","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1903.5,"y":-2102.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1UCDPB2P23HB5/inlinePolicy/logs","resourceId":["arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1UCDPB2P23HB5/inlinePolicy/logs","arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1UCDPB2P23HB5/inlinePolicy/logs"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1UCDPB2P23HB5/inlinePolicy/logs","title":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1UCDPB2P23HB5/inlinePolicy/logs","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1UCDPB2P23HB5/inlinePolicy/logs","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1UCDPB2P23HB5/inlinePolicy/logs","name":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1UCDPB2P23HB5/inlinePolicy/logs","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1UCDPB2P23HB5/inlinePolicy/logs","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1UCDPB2P23HB5/inlinePolicy/logs","configuration":"\"{\\\"policyName\\\":\\\"logs\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"logs:CreateLogGroup\\\",\\\"logs:CreateLogStream\\\",\\\"logs:PutLogEvents\\\",\\\"ecr:GetAuthorizationToken\\\",\\\"ssm:GetParameters\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1UCDPB2P23HB5/inlinePolicy/logs","resourceName":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1UCDPB2P23HB5/inlinePolicy/logs","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1UCDPB2P23HB5/inlinePolicy/logs","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1976.5,"y":-2102.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1UCDPB2P23HB5/inlinePolicy/S3","resourceId":["arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1UCDPB2P23HB5/inlinePolicy/S3","arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1UCDPB2P23HB5/inlinePolicy/S3"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1UCDPB2P23HB5/inlinePolicy/S3","title":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1UCDPB2P23HB5/inlinePolicy/S3","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1UCDPB2P23HB5/inlinePolicy/S3","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1UCDPB2P23HB5/inlinePolicy/S3","name":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1UCDPB2P23HB5/inlinePolicy/S3","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1UCDPB2P23HB5/inlinePolicy/S3","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1UCDPB2P23HB5/inlinePolicy/S3","configuration":"\"{\\\"policyName\\\":\\\"S3\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"s3:GetObject\\\",\\\"s3:PutObject\\\",\\\"s3:GetObjectVersion\\\"],\\\"Resource\\\":\\\"arn:aws:s3:::retaildemostore-services-1wznopxsy-artifactbucket-12gnx6urasd41/*\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1UCDPB2P23HB5/inlinePolicy/S3","resourceName":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1UCDPB2P23HB5/inlinePolicy/S3","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1UCDPB2P23HB5/inlinePolicy/S3","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":2049.5,"y":-2102.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/IsengardConfigRole","resourceId":["AROAQU6I6AO42AXUIXKJB","arn:aws:iam::044981683129:role/IsengardConfigRole"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/IsengardConfigRole","title":"IsengardConfigRole","label":"IsengardConf...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/IsengardConfigRole","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO42AXUIXKJB","name":"IsengardConfigRole","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/IsengardConfigRole","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/IsengardConfigRole","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Sid%22%3A%22%22%2C%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22config-setup.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%2C%22Condition%22%3A%7B%22StringEquals%22%3A%7B%22sts%3AExternalId%22%3A%22IsengardConfigRoleLZ0GB7Q7KFNd%22%7D%7D%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO42AXUIXKJB\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::044981683129:policy/ConfigAccessPolicy\\\",\\\"policyName\\\":\\\"ConfigAccessPolicy\\\"}],\\\"roleName\\\":\\\"IsengardConfigRole\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/IsengardConfigRole\\\",\\\"createDate\\\":\\\"2019-11-25T15:13:22.000Z\\\",\\\"rolePolicyList\\\":[],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO42AXUIXKJB","resourceName":"IsengardConfigRole","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"IsengardConfigRole","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":1133.5,"y":-2102.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:policy/ConfigAccessPolicy","resourceId":["ANPAQU6I6AO4T3XW3KFPN","arn:aws:iam::044981683129:policy/ConfigAccessPolicy"],"parent":"Policy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:policy/ConfigAccessPolicy","title":"ConfigAccessPolicy","label":"ConfigAccess...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:policy/ConfigAccessPolicy","image":"/icons/IAM_Policy.svg","cost":0,"private":false,"resource":{"id":"ANPAQU6I6AO4T3XW3KFPN","name":"ConfigAccessPolicy","value":null,"type":"AWS::IAM::Policy","tags":"[]","arn":"arn:aws:iam::044981683129:policy/ConfigAccessPolicy","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/policies","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/policies","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:policy/ConfigAccessPolicy","configuration":"\"{\\\"permissionsBoundaryUsageCount\\\":0,\\\"policyVersionList\\\":[{\\\"versionId\\\":\\\"v1\\\",\\\"isDefaultVersion\\\":true,\\\"document\\\":\\\"%7B%0A%20%20%20%20%22Version%22%3A%20%222012-10-17%22%2C%0A%20%20%20%20%22Statement%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Effect%22%3A%20%22Allow%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Action%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22s3%3ACreateBucket%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22s3%3ADeleteBucket%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22s3%3APutBucketPolicy%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Resource%22%3A%20%22arn%3Aaws%3As3%3A%3A%3Aconfig-bucket-trustedservice-do-not-delete-%2A%22%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Effect%22%3A%20%22Allow%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Action%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22s3%3AListAllMyBuckets%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Resource%22%3A%20%22arn%3Aaws%3As3%3A%3A%3A%2A%22%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Effect%22%3A%20%22Allow%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Action%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22config%3A%2A%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Resource%22%3A%20%22%2A%22%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Effect%22%3A%20%22Allow%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Action%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22iam%3AGetRole%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22iam%3APassRole%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22iam%3ACreateServiceLinkedRole%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22iam%3ADeleteServiceLinkedRole%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22iam%3AGetServiceLinkedRoleDeletionStatus%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Resource%22%3A%20%22arn%3Aaws%3Aiam%3A%3A%2A%3Arole%2Faws-service-role%2Fconfig.amazonaws.com%2F%2A%22%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%5D%0A%7D\\\",\\\"createDate\\\":\\\"2019-11-25T15:13:22.000Z\\\"}],\\\"path\\\":\\\"/\\\",\\\"updateDate\\\":\\\"2019-11-25T15:13:22.000Z\\\",\\\"policyId\\\":\\\"ANPAQU6I6AO4T3XW3KFPN\\\",\\\"defaultVersionId\\\":\\\"v1\\\",\\\"policyName\\\":\\\"ConfigAccessPolicy\\\",\\\"isAttachable\\\":true,\\\"attachmentCount\\\":1,\\\"arn\\\":\\\"arn:aws:iam::044981683129:policy/ConfigAccessPolicy\\\",\\\"createDate\\\":\\\"2019-11-25T15:13:22.000Z\\\"}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/policies","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/policies","private":null,"resourceId":"ANPAQU6I6AO4T3XW3KFPN","resourceName":"ConfigAccessPolicy","resourceType":"AWS::IAM::Policy","resourceValue":null,"state":null,"tags":"[]","title":"ConfigAccessPolicy","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1027.5,"y":-1753.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/aws-perspective-ApiGatewayCloudWatchLogsRole-15CJ7Q43EBA03","resourceId":["AROAQU6I6AO42JQ3JP5F4","arn:aws:iam::044981683129:role/aws-perspective-ApiGatewayCloudWatchLogsRole-15CJ7Q43EBA03"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/aws-perspective-ApiGatewayCloudWatchLogsRole-15CJ7Q43EBA03","title":"aws-perspective-ApiGatewayCloudWatchLogsRole-15CJ7Q43EBA03","label":"aws-perspect...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/aws-perspective-ApiGatewayCloudWatchLogsRole-15CJ7Q43EBA03","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO42JQ3JP5F4","name":"aws-perspective-ApiGatewayCloudWatchLogsRole-15CJ7Q43EBA03","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/aws-perspective-ApiGatewayCloudWatchLogsRole-15CJ7Q43EBA03","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/aws-perspective-ApiGatewayCloudWatchLogsRole-15CJ7Q43EBA03","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222008-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22apigateway.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO42JQ3JP5F4\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/service-role/AmazonAPIGatewayPushToCloudWatchLogs\\\",\\\"policyName\\\":\\\"AmazonAPIGatewayPushToCloudWatchLogs\\\"}],\\\"roleName\\\":\\\"aws-perspective-ApiGatewayCloudWatchLogsRole-15CJ7Q43EBA03\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/aws-perspective-ApiGatewayCloudWatchLogsRole-15CJ7Q43EBA03\\\",\\\"createDate\\\":\\\"2021-10-15T12:55:32.000Z\\\",\\\"rolePolicyList\\\":[],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO42JQ3JP5F4","resourceName":"aws-perspective-ApiGatewayCloudWatchLogsRole-15CJ7Q43EBA03","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"aws-perspective-ApiGatewayCloudWatchLogsRole-15CJ7Q43EBA03","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":1206.5,"y":-2759.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/aws-perspective-ApiGatewayCloudWatchLogsRole-LKNFNR9WBHBS","resourceId":["AROAQU6I6AO44EYQGR5Q3","arn:aws:iam::044981683129:role/aws-perspective-ApiGatewayCloudWatchLogsRole-LKNFNR9WBHBS"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/aws-perspective-ApiGatewayCloudWatchLogsRole-LKNFNR9WBHBS","title":"aws-perspective-ApiGatewayCloudWatchLogsRole-LKNFNR9WBHBS","label":"aws-perspect...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/aws-perspective-ApiGatewayCloudWatchLogsRole-LKNFNR9WBHBS","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO44EYQGR5Q3","name":"aws-perspective-ApiGatewayCloudWatchLogsRole-LKNFNR9WBHBS","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/aws-perspective-ApiGatewayCloudWatchLogsRole-LKNFNR9WBHBS","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/aws-perspective-ApiGatewayCloudWatchLogsRole-LKNFNR9WBHBS","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222008-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22apigateway.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO44EYQGR5Q3\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/service-role/AmazonAPIGatewayPushToCloudWatchLogs\\\",\\\"policyName\\\":\\\"AmazonAPIGatewayPushToCloudWatchLogs\\\"}],\\\"roleName\\\":\\\"aws-perspective-ApiGatewayCloudWatchLogsRole-LKNFNR9WBHBS\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/aws-perspective-ApiGatewayCloudWatchLogsRole-LKNFNR9WBHBS\\\",\\\"createDate\\\":\\\"2021-06-10T17:50:39.000Z\\\",\\\"rolePolicyList\\\":[],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO44EYQGR5Q3","resourceName":"aws-perspective-ApiGatewayCloudWatchLogsRole-LKNFNR9WBHBS","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"aws-perspective-ApiGatewayCloudWatchLogsRole-LKNFNR9WBHBS","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":1206.5,"y":-2686.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/aws-perspective-LambdaExecutionRole-MKUDGQ3HDOBQ","resourceId":["AROAQU6I6AO44QKDPLQKA","arn:aws:iam::044981683129:role/aws-perspective-LambdaExecutionRole-MKUDGQ3HDOBQ"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/aws-perspective-LambdaExecutionRole-MKUDGQ3HDOBQ","title":"aws-perspective-LambdaExecutionRole-MKUDGQ3HDOBQ","label":"aws-perspect...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/aws-perspective-LambdaExecutionRole-MKUDGQ3HDOBQ","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO44QKDPLQKA","name":"aws-perspective-LambdaExecutionRole-MKUDGQ3HDOBQ","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/aws-perspective-LambdaExecutionRole-MKUDGQ3HDOBQ","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/aws-perspective-LambdaExecutionRole-MKUDGQ3HDOBQ","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222008-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22lambda.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO44QKDPLQKA\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/NeptuneFullAccess\\\",\\\"policyName\\\":\\\"NeptuneFullAccess\\\"},{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole\\\",\\\"policyName\\\":\\\"AWSLambdaBasicExecutionRole\\\"}],\\\"roleName\\\":\\\"aws-perspective-LambdaExecutionRole-MKUDGQ3HDOBQ\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/aws-perspective-LambdaExecutionRole-MKUDGQ3HDOBQ\\\",\\\"createDate\\\":\\\"2021-10-15T12:55:46.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22events%3APutRule%22%2C%22events%3ADescribeRule%22%2C%22events%3APutTargets%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%22iam%3APassRole%22%2C%22Resource%22%3A%22arn%3Aaws%3Aiam%3A%3A044981683129%3Arole%2F%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22iam%3AGetRole%22%2C%22iam%3ACreateRole%22%2C%22iam%3APutRolePolicy%22%2C%22iam%3AgetRolePolicy%22%2C%22iam%3AAttachRolePolicy%22%2C%22iam%3ACreateServiceLinkedRole%22%2C%22iam%3AListRoles%22%2C%22iam%3AGetPolicy%22%2C%22iam%3ACreatePolicy%22%2C%22iam%3ACreateInstanceProfile%22%2C%22iam%3AAddRoleToInstanceProfile%22%2C%22iam%3ADeleteRolePolicy%22%2C%22iam%3ADeleteRole%22%2C%22iam%3ADetachRolePolicy%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22cognito-idp%3ACreateUserPoolClient%22%2C%22cognito-identity%3ASetIdentityPoolRoles%22%2C%22cognito-idp%3AAdminCreateUser%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Acognito-identity%3Aeu-west-1%3A044981683129%3Aidentitypool%2Feu-west-1%3A85debaa8-7fe1-4f68-b8dd-3fe0f90b858d%22%2C%22arn%3Aaws%3Acognito-idp%3Aeu-west-1%3A044981683129%3Auserpool%2Feu-west-1_oVourIZJ3%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22dynamodb%3ACreateTable%22%2C%22dynamodb%3ADeleteTable%22%2C%22dynamodb%3ADescribeTable%22%2C%22dynamodb%3ADescribeContinuousBackups%22%2C%22dynamodb%3AUpdateContinuousBackups%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Adynamodb%3Aeu-west-1%3A044981683129%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22s3%3AGet%2A%22%2C%22s3%3AList%2A%22%2C%22s3%3APut%2A%22%2C%22s3%3ACreate%2A%22%2C%22s3%3ADeleteBucket%22%2C%22s3%3ADeleteBucketPolicy%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3As3%3A%3A%3A%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%22sts%3AAssumeRole%22%2C%22Resource%22%3A%5B%22arn%3Aaws%3Aiam%3A%3A044981683129%3Arole%2F%2ALambdaExecutionRole-%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22cloudformation%3ACreateStack%22%2C%22cloudformation%3ACreateChangeSet%22%2C%22cloudformation%3ADescribeStackResources%22%2C%22cloudformation%3AUpdateStack%22%2C%22cloudformation%3AUpdateTerminationProtection%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Acloudformation%3Aeu-west-1%3A%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22ssm%3AGetParameters%22%2C%22ssm%3APutParameter%22%2C%22ssm%3AAddTagsToResource%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Assm%3Aeu-west-1%3A044981683129%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22config%3APutConfigurationAggregator%22%2C%22config%3APutConfigRule%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Aconfig%3Aeu-west-1%3A044981683129%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22config%3APutDeliveryChannel%22%2C%22config%3ADescribeConfigurationRecorders%22%2C%22config%3APutConfigurationRecorder%22%2C%22config%3AStartConfigurationRecorder%22%2C%22config%3ADescribeConfigurationAggregators%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22ec2%3AAllocateAddress%22%2C%22ec2%3ADescribeAddresses%22%2C%22ec2%3ACreateVpc%22%2C%22ec2%3ADescribeVpcEndpoints%22%2C%22ec2%3ADescribeVpcs%22%2C%22ec2%3AModifyVpcAttribute%22%2C%22ec2%3ACreateRouteTable%22%2C%22ec2%3ACreateSubnet%22%2C%22ec2%3ACreateNetworkAcl%22%2C%22ec2%3ACreateInternetGateway%22%2C%22ec2%3ADescribeRouteTables%22%2C%22ec2%3ADescribeNetworkAcls%22%2C%22ec2%3ACreateNetworkAclEntry%22%2C%22ec2%3ADescribeSubnets%22%2C%22ec2%3ADescribeInternetGateways%22%2C%22ec2%3AModifySubnetAttribute%22%2C%22ec2%3AAttachInternetGateway%22%2C%22ec2%3AReplaceNetworkAclAssociation%22%2C%22ec2%3AAssociateRouteTable%22%2C%22ec2%3ACreateNatGateway%22%2C%22ec2%3ADescribeNatGateways%22%2C%22ec2%3ADescribeSecurityGroups%22%2C%22ec2%3ACreateSecurityGroup%22%2C%22ec2%3ACreateFlowLogs%22%2C%22ec2%3ADescribeFlowLogs%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22ec2%3ACreateVpcEndpoint%22%2C%22ec2%3ACreateTags%22%2C%22ec2%3ACreateRoute%22%2C%22ec2%3AAuthorizeSecurityGroupIngress%22%2C%22ec2%3ARevokeSecurityGroupEgress%22%2C%22ec2%3AAuthorizeSecurityGroupEgress%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Aec2%3Aeu-west-1%3A044981683129%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22lambda%3ACreateFunction%22%2C%22lambda%3ADeleteFunction%22%2C%22lambda%3ADeleteFunctionConcurrency%22%2C%22lambda%3ARemovePermission%22%2C%22lambda%3AGetFunctionConfiguration%22%2C%22lambda%3AGetFunction%22%2C%22lambda%3AInvokeFunction%22%2C%22lambda%3AUpdateFunctionCode%22%2C%22lambda%3AAddPermission%22%2C%22lambda%3APublishLayerVersion%22%2C%22lambda%3AGetLayerVersion%22%2C%22lambda%3AEnableReplication%22%2C%22lambda%3AListTags%22%2C%22lambda%3ATagResource%22%2C%22lambda%3AUntagResource%22%2C%22lambda%3ADeleteLayerVersion%22%2C%22lambda%3AUpdateFunctionConfiguration%22%2C%22lambda%3APutFunctionConcurrency%22%2C%22lambda%3ADeleteFunctionConcurrency%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Alambda%3A%2A%3A044981683129%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22kms%3AList%2A%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22kms%3ADescribe%2A%22%2C%22kms%3AEnable%2A%22%2C%22kms%3AGet%2A%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Akms%3Aeu-west-1%3A044981683129%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22SNS%3ACreateTopic%22%2C%22SNS%3AGetTopicAttributes%22%2C%22SNS%3ASubscribe%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Asns%3Aeu-west-1%3A044981683129%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22rds%3ACreateDBClusterParameterGroup%22%2C%22rds%3ACreateDBInstance%22%2C%22rds%3ACreateDBSubnetGroup%22%2C%22rds%3ACreateDBParameterGroup%22%2C%22rds%3AModifyDBClusterParameterGroup%22%2C%22rds%3AModifyDBParameterGroup%22%2C%22rds%3ADescribeDBClusterParameterGroups%22%2C%22rds%3ADescribeDBParameterGroups%22%2C%22rds%3ARemoveTagsFromResource%22%2C%22rds%3AAddTagsToResource%22%2C%22rds%3ACreateDBCluster%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Ards%3Aeu-west-1%3A044981683129%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22rds%3ADescribeEngineDefaultClusterParameters%22%2C%22rds%3ADescribeEngineDefaultParameters%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22cloudwatch%3APutMetricAlarm%22%2C%22cloudwatch%3ADescribeAlarms%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Acloudwatch%3Aeu-west-1%3A044981683129%3Aalarm%3A%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22es%3ACreateElasticsearchDomain%22%2C%22es%3ADescribeElasticsearchDomain%22%2C%22es%3AUpdateElasticsearchDomainConfig%22%2C%22es%3AAddTags%22%2C%22es%3AUpgradeElasticsearchDomain%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Aes%3Aeu-west-1%3A044981683129%3Adomain%2F%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22neptune%3AModifyDBInstance%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Aneptune-db%3Aeu-west-1%3A044981683129%3Adb%3A%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22cloudfront%3ACreateCloudFrontOriginAccessIdentity%22%2C%22cloudfront%3ACreateDistribution%22%2C%22cloudfront%3AGetCloudFrontOriginAccessIdentity%22%2C%22cloudfront%3ATagResource%22%2C%22cloudfront%3AGetDistribution%22%2C%22cloudfront%3ACreateInvalidation%22%2C%22cloudfront%3ACreateFunction%22%2C%22cloudfront%3ADeleteFunction%22%2C%22cloudfront%3ADescribeFunction%22%2C%22cloudfront%3AGetFunction%22%2C%22cloudfront%3AListFunctions%22%2C%22cloudfront%3AUpdateFunction%22%2C%22cloudfront%3ATestFunction%22%2C%22cloudfront%3APublishFunction%22%2C%22cloudfront%3AGetDistribution%22%2C%22cloudfront%3AGetDistributionConfig%22%2C%22cloudfront%3AListTagsForResource%22%2C%22cloudfront%3AUpdateDistribution%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22apigateway%3AGET%22%2C%22apigateway%3APOST%22%2C%22apigateway%3APUT%22%2C%22apigateway%3APATCH%22%2C%22apigateway%3ADELETE%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Aexecute-api%3Aeu-west-1%3A044981683129%3Agdt8cshu0b%2F%2A%22%2C%22arn%3Aaws%3Aexecute-api%3Aeu-west-1%3A044981683129%3A3rikdd0t11%2F%2A%22%2C%22arn%3Aaws%3Aexecute-api%3Aeu-west-1%3A044981683129%3A03uaqc9u86%2F%2A%22%2C%22arn%3Aaws%3Aapigateway%3Aeu-west-1%3A%3A%2Frestapis%2Fgdt8cshu0b%2F%2A%22%2C%22arn%3Aaws%3Aapigateway%3Aeu-west-1%3A%3A%2Frestapis%2F3rikdd0t11%2F%2A%22%2C%22arn%3Aaws%3Aapigateway%3Aeu-west-1%3A%3A%2Frestapis%2F03uaqc9u86%2F%2A%22%2C%22arn%3Aaws%3Aapigateway%3Aeu-west-1%3A%3A%2Faccount%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22codepipeline%3ACreatePipeline%22%2C%22codepipeline%3AGetPipeline%22%2C%22codepipeline%3AGetPipelineState%22%2C%22codepipeline%3ATagResource%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Acodepipeline%3Aeu-west-1%3A044981683129%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22codebuild%3ABatchGetProjects%22%2C%22codebuild%3ACreateProject%22%2C%22codebuild%3AUpdateProject%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Acodebuild%3Aeu-west-1%3A044981683129%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22ecr%3AListImages%22%2C%22ecr%3APutImage%22%2C%22ecr%3ADescribeImages%22%2C%22ecr%3ACreateRepository%22%2C%22ecr%3ADescribeRepositories%22%2C%22ecr%3AListTagsForResource%22%2C%22ecr%3APutImageScanningConfiguration%22%2C%22ecr%3APutLifecyclePolicy%22%2C%22ecr%3ASetRepositoryPolicy%22%2C%22ecr%3APutImageScanningConfiguration%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Aecr%3Aeu-west-1%3A044981683129%3Arepository%2F%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22ecs%3ACreateCluster%22%2C%22ecs%3ACreateTaskSet%22%2C%22ecs%3AListClusters%22%2C%22ecs%3AListServices%22%2C%22ecs%3ARegisterTaskDefinition%22%2C%22ecs%3ADeregisterTaskDefinition%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22ecs%3ACreateService%22%2C%22ecs%3ADeleteTaskSet%22%2C%22ecs%3ADescribeClusters%22%2C%22ecs%3ADescribeTasks%22%2C%22ecs%3ADescribeTaskSets%22%2C%22ecs%3AListTasks%22%2C%22ecs%3ATagResource%22%2C%22ecs%3AUpdateTaskSet%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Aecs%3Aeu-west-1%3A044981683129%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22logs%3ACreateLogStream%22%2C%22logs%3ADeleteLogGroup%22%2C%22logs%3AGetLogEvents%22%2C%22logs%3ADescribeLogStreams%22%2C%22logs%3ADescribeLogGroups%22%2C%22logs%3APutRetentionPolicy%22%2C%22logs%3APutLogEvents%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Alogs%3Aeu-west-1%3A044981683129%3Alog-group%3A%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22logs%3ACreateLogGroup%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22appsync%3ATagResource%22%2C%22appsync%3ACreateGraphqlApi%22%2C%22appsync%3AGetGraphqlApi%22%2C%22appsync%3AStartSchemaCreation%22%2C%22appsync%3AGetSchemaCreationStatus%22%2C%22appsync%3ACreateDataSource%22%2C%22appsync%3AGetDataSource%22%2C%22appsync%3ACreateResolver%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22glue%3ACreateDatabase%22%2C%22glue%3ACreateTable%22%2C%22glue%3ACreateCrawler%22%2C%22glue%3AUpdateCrawler%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Aglue%3Aeu-west-1%3A044981683129%3A%2A%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"lambda-execution-perspective\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO44QKDPLQKA","resourceName":"aws-perspective-LambdaExecutionRole-MKUDGQ3HDOBQ","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"aws-perspective-LambdaExecutionRole-MKUDGQ3HDOBQ","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":1206.5,"y":-2613.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/aws-perspective-LambdaExecutionRole-MKUDGQ3HDOBQ/inlinePolicy/lambda-execution-perspective","resourceId":["arn:aws:iam::044981683129:role/aws-perspective-LambdaExecutionRole-MKUDGQ3HDOBQ/inlinePolicy/lambda-execution-perspective","arn:aws:iam::044981683129:role/aws-perspective-LambdaExecutionRole-MKUDGQ3HDOBQ/inlinePolicy/lambda-execution-perspective"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/aws-perspective-LambdaExecutionRole-MKUDGQ3HDOBQ/inlinePolicy/lambda-execution-perspective","title":"arn:aws:iam::044981683129:role/aws-perspective-LambdaExecutionRole-MKUDGQ3HDOBQ/inlinePolicy/lambda-execution-perspective","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/aws-perspective-LambdaExecutionRole-MKUDGQ3HDOBQ/inlinePolicy/lambda-execution-perspective","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/aws-perspective-LambdaExecutionRole-MKUDGQ3HDOBQ/inlinePolicy/lambda-execution-perspective","name":"arn:aws:iam::044981683129:role/aws-perspective-LambdaExecutionRole-MKUDGQ3HDOBQ/inlinePolicy/lambda-execution-perspective","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/aws-perspective-LambdaExecutionRole-MKUDGQ3HDOBQ/inlinePolicy/lambda-execution-perspective","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/aws-perspective-LambdaExecutionRole-MKUDGQ3HDOBQ/inlinePolicy/lambda-execution-perspective","configuration":"\"{\\\"policyName\\\":\\\"lambda-execution-perspective\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"events:PutRule\\\",\\\"events:DescribeRule\\\",\\\"events:PutTargets\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":\\\"iam:PassRole\\\",\\\"Resource\\\":\\\"arn:aws:iam::044981683129:role/*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"iam:GetRole\\\",\\\"iam:CreateRole\\\",\\\"iam:PutRolePolicy\\\",\\\"iam:getRolePolicy\\\",\\\"iam:AttachRolePolicy\\\",\\\"iam:CreateServiceLinkedRole\\\",\\\"iam:ListRoles\\\",\\\"iam:GetPolicy\\\",\\\"iam:CreatePolicy\\\",\\\"iam:CreateInstanceProfile\\\",\\\"iam:AddRoleToInstanceProfile\\\",\\\"iam:DeleteRolePolicy\\\",\\\"iam:DeleteRole\\\",\\\"iam:DetachRolePolicy\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"cognito-idp:CreateUserPoolClient\\\",\\\"cognito-identity:SetIdentityPoolRoles\\\",\\\"cognito-idp:AdminCreateUser\\\"],\\\"Resource\\\":[\\\"arn:aws:cognito-identity:eu-west-1:044981683129:identitypool/eu-west-1:85debaa8-7fe1-4f68-b8dd-3fe0f90b858d\\\",\\\"arn:aws:cognito-idp:eu-west-1:044981683129:userpool/eu-west-1_oVourIZJ3\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"dynamodb:CreateTable\\\",\\\"dynamodb:DeleteTable\\\",\\\"dynamodb:DescribeTable\\\",\\\"dynamodb:DescribeContinuousBackups\\\",\\\"dynamodb:UpdateContinuousBackups\\\"],\\\"Resource\\\":\\\"arn:aws:dynamodb:eu-west-1:044981683129*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"s3:Get*\\\",\\\"s3:List*\\\",\\\"s3:Put*\\\",\\\"s3:Create*\\\",\\\"s3:DeleteBucket\\\",\\\"s3:DeleteBucketPolicy\\\"],\\\"Resource\\\":\\\"arn:aws:s3:::*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":\\\"sts:AssumeRole\\\",\\\"Resource\\\":[\\\"arn:aws:iam::044981683129:role/*LambdaExecutionRole-*\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"cloudformation:CreateStack\\\",\\\"cloudformation:CreateChangeSet\\\",\\\"cloudformation:DescribeStackResources\\\",\\\"cloudformation:UpdateStack\\\",\\\"cloudformation:UpdateTerminationProtection\\\"],\\\"Resource\\\":\\\"arn:aws:cloudformation:eu-west-1:*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"ssm:GetParameters\\\",\\\"ssm:PutParameter\\\",\\\"ssm:AddTagsToResource\\\"],\\\"Resource\\\":\\\"arn:aws:ssm:eu-west-1:044981683129*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"config:PutConfigurationAggregator\\\",\\\"config:PutConfigRule\\\"],\\\"Resource\\\":\\\"arn:aws:config:eu-west-1:044981683129*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"config:PutDeliveryChannel\\\",\\\"config:DescribeConfigurationRecorders\\\",\\\"config:PutConfigurationRecorder\\\",\\\"config:StartConfigurationRecorder\\\",\\\"config:DescribeConfigurationAggregators\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"ec2:AllocateAddress\\\",\\\"ec2:DescribeAddresses\\\",\\\"ec2:CreateVpc\\\",\\\"ec2:DescribeVpcEndpoints\\\",\\\"ec2:DescribeVpcs\\\",\\\"ec2:ModifyVpcAttribute\\\",\\\"ec2:CreateRouteTable\\\",\\\"ec2:CreateSubnet\\\",\\\"ec2:CreateNetworkAcl\\\",\\\"ec2:CreateInternetGateway\\\",\\\"ec2:DescribeRouteTables\\\",\\\"ec2:DescribeNetworkAcls\\\",\\\"ec2:CreateNetworkAclEntry\\\",\\\"ec2:DescribeSubnets\\\",\\\"ec2:DescribeInternetGateways\\\",\\\"ec2:ModifySubnetAttribute\\\",\\\"ec2:AttachInternetGateway\\\",\\\"ec2:ReplaceNetworkAclAssociation\\\",\\\"ec2:AssociateRouteTable\\\",\\\"ec2:CreateNatGateway\\\",\\\"ec2:DescribeNatGateways\\\",\\\"ec2:DescribeSecurityGroups\\\",\\\"ec2:CreateSecurityGroup\\\",\\\"ec2:CreateFlowLogs\\\",\\\"ec2:DescribeFlowLogs\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"ec2:CreateVpcEndpoint\\\",\\\"ec2:CreateTags\\\",\\\"ec2:CreateRoute\\\",\\\"ec2:AuthorizeSecurityGroupIngress\\\",\\\"ec2:RevokeSecurityGroupEgress\\\",\\\"ec2:AuthorizeSecurityGroupEgress\\\"],\\\"Resource\\\":\\\"arn:aws:ec2:eu-west-1:044981683129*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"lambda:CreateFunction\\\",\\\"lambda:DeleteFunction\\\",\\\"lambda:DeleteFunctionConcurrency\\\",\\\"lambda:RemovePermission\\\",\\\"lambda:GetFunctionConfiguration\\\",\\\"lambda:GetFunction\\\",\\\"lambda:InvokeFunction\\\",\\\"lambda:UpdateFunctionCode\\\",\\\"lambda:AddPermission\\\",\\\"lambda:PublishLayerVersion\\\",\\\"lambda:GetLayerVersion\\\",\\\"lambda:EnableReplication\\\",\\\"lambda:ListTags\\\",\\\"lambda:TagResource\\\",\\\"lambda:UntagResource\\\",\\\"lambda:DeleteLayerVersion\\\",\\\"lambda:UpdateFunctionConfiguration\\\",\\\"lambda:PutFunctionConcurrency\\\",\\\"lambda:DeleteFunctionConcurrency\\\"],\\\"Resource\\\":\\\"arn:aws:lambda:*:044981683129*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"kms:List*\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"kms:Describe*\\\",\\\"kms:Enable*\\\",\\\"kms:Get*\\\"],\\\"Resource\\\":\\\"arn:aws:kms:eu-west-1:044981683129*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"SNS:CreateTopic\\\",\\\"SNS:GetTopicAttributes\\\",\\\"SNS:Subscribe\\\"],\\\"Resource\\\":\\\"arn:aws:sns:eu-west-1:044981683129*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"rds:CreateDBClusterParameterGroup\\\",\\\"rds:CreateDBInstance\\\",\\\"rds:CreateDBSubnetGroup\\\",\\\"rds:CreateDBParameterGroup\\\",\\\"rds:ModifyDBClusterParameterGroup\\\",\\\"rds:ModifyDBParameterGroup\\\",\\\"rds:DescribeDBClusterParameterGroups\\\",\\\"rds:DescribeDBParameterGroups\\\",\\\"rds:RemoveTagsFromResource\\\",\\\"rds:AddTagsToResource\\\",\\\"rds:CreateDBCluster\\\"],\\\"Resource\\\":\\\"arn:aws:rds:eu-west-1:044981683129*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"rds:DescribeEngineDefaultClusterParameters\\\",\\\"rds:DescribeEngineDefaultParameters\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"cloudwatch:PutMetricAlarm\\\",\\\"cloudwatch:DescribeAlarms\\\"],\\\"Resource\\\":\\\"arn:aws:cloudwatch:eu-west-1:044981683129:alarm:*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"es:CreateElasticsearchDomain\\\",\\\"es:DescribeElasticsearchDomain\\\",\\\"es:UpdateElasticsearchDomainConfig\\\",\\\"es:AddTags\\\",\\\"es:UpgradeElasticsearchDomain\\\"],\\\"Resource\\\":\\\"arn:aws:es:eu-west-1:044981683129:domain/*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"neptune:ModifyDBInstance\\\"],\\\"Resource\\\":\\\"arn:aws:neptune-db:eu-west-1:044981683129:db:*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"cloudfront:CreateCloudFrontOriginAccessIdentity\\\",\\\"cloudfront:CreateDistribution\\\",\\\"cloudfront:GetCloudFrontOriginAccessIdentity\\\",\\\"cloudfront:TagResource\\\",\\\"cloudfront:GetDistribution\\\",\\\"cloudfront:CreateInvalidation\\\",\\\"cloudfront:CreateFunction\\\",\\\"cloudfront:DeleteFunction\\\",\\\"cloudfront:DescribeFunction\\\",\\\"cloudfront:GetFunction\\\",\\\"cloudfront:ListFunctions\\\",\\\"cloudfront:UpdateFunction\\\",\\\"cloudfront:TestFunction\\\",\\\"cloudfront:PublishFunction\\\",\\\"cloudfront:GetDistribution\\\",\\\"cloudfront:GetDistributionConfig\\\",\\\"cloudfront:ListTagsForResource\\\",\\\"cloudfront:UpdateDistribution\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"apigateway:GET\\\",\\\"apigateway:POST\\\",\\\"apigateway:PUT\\\",\\\"apigateway:PATCH\\\",\\\"apigateway:DELETE\\\"],\\\"Resource\\\":[\\\"arn:aws:execute-api:eu-west-1:044981683129:gdt8cshu0b/*\\\",\\\"arn:aws:execute-api:eu-west-1:044981683129:3rikdd0t11/*\\\",\\\"arn:aws:execute-api:eu-west-1:044981683129:03uaqc9u86/*\\\",\\\"arn:aws:apigateway:eu-west-1::/restapis/gdt8cshu0b/*\\\",\\\"arn:aws:apigateway:eu-west-1::/restapis/3rikdd0t11/*\\\",\\\"arn:aws:apigateway:eu-west-1::/restapis/03uaqc9u86/*\\\",\\\"arn:aws:apigateway:eu-west-1::/account\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"codepipeline:CreatePipeline\\\",\\\"codepipeline:GetPipeline\\\",\\\"codepipeline:GetPipelineState\\\",\\\"codepipeline:TagResource\\\"],\\\"Resource\\\":\\\"arn:aws:codepipeline:eu-west-1:044981683129*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"codebuild:BatchGetProjects\\\",\\\"codebuild:CreateProject\\\",\\\"codebuild:UpdateProject\\\"],\\\"Resource\\\":\\\"arn:aws:codebuild:eu-west-1:044981683129*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"ecr:ListImages\\\",\\\"ecr:PutImage\\\",\\\"ecr:DescribeImages\\\",\\\"ecr:CreateRepository\\\",\\\"ecr:DescribeRepositories\\\",\\\"ecr:ListTagsForResource\\\",\\\"ecr:PutImageScanningConfiguration\\\",\\\"ecr:PutLifecyclePolicy\\\",\\\"ecr:SetRepositoryPolicy\\\",\\\"ecr:PutImageScanningConfiguration\\\"],\\\"Resource\\\":\\\"arn:aws:ecr:eu-west-1:044981683129:repository/*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"ecs:CreateCluster\\\",\\\"ecs:CreateTaskSet\\\",\\\"ecs:ListClusters\\\",\\\"ecs:ListServices\\\",\\\"ecs:RegisterTaskDefinition\\\",\\\"ecs:DeregisterTaskDefinition\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"ecs:CreateService\\\",\\\"ecs:DeleteTaskSet\\\",\\\"ecs:DescribeClusters\\\",\\\"ecs:DescribeTasks\\\",\\\"ecs:DescribeTaskSets\\\",\\\"ecs:ListTasks\\\",\\\"ecs:TagResource\\\",\\\"ecs:UpdateTaskSet\\\"],\\\"Resource\\\":\\\"arn:aws:ecs:eu-west-1:044981683129*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"logs:CreateLogStream\\\",\\\"logs:DeleteLogGroup\\\",\\\"logs:GetLogEvents\\\",\\\"logs:DescribeLogStreams\\\",\\\"logs:DescribeLogGroups\\\",\\\"logs:PutRetentionPolicy\\\",\\\"logs:PutLogEvents\\\"],\\\"Resource\\\":\\\"arn:aws:logs:eu-west-1:044981683129:log-group:*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"logs:CreateLogGroup\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"appsync:TagResource\\\",\\\"appsync:CreateGraphqlApi\\\",\\\"appsync:GetGraphqlApi\\\",\\\"appsync:StartSchemaCreation\\\",\\\"appsync:GetSchemaCreationStatus\\\",\\\"appsync:CreateDataSource\\\",\\\"appsync:GetDataSource\\\",\\\"appsync:CreateResolver\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"glue:CreateDatabase\\\",\\\"glue:CreateTable\\\",\\\"glue:CreateCrawler\\\",\\\"glue:UpdateCrawler\\\"],\\\"Resource\\\":\\\"arn:aws:glue:eu-west-1:044981683129:*\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/aws-perspective-LambdaExecutionRole-MKUDGQ3HDOBQ/inlinePolicy/lambda-execution-perspective","resourceName":"arn:aws:iam::044981683129:role/aws-perspective-LambdaExecutionRole-MKUDGQ3HDOBQ/inlinePolicy/lambda-execution-perspective","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/aws-perspective-LambdaExecutionRole-MKUDGQ3HDOBQ/inlinePolicy/lambda-execution-perspective","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":2122.5,"y":-2759.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:lambda:eu-west-1:044981683129:function:aws-perspective-LambdaSetup-FkTdFSUgfqHz","resourceId":["aws-perspective-LambdaSetup-FkTdFSUgfqHz","arn:aws:lambda:eu-west-1:044981683129:function:aws-perspective-LambdaSetup-FkTdFSUgfqHz"],"parent":"Function-eu-west-1-044981683129","level":3,"id":"arn:aws:lambda:eu-west-1:044981683129:function:aws-perspective-LambdaSetup-FkTdFSUgfqHz","title":"aws-perspective-LambdaSetup-FkTdFSUgfqHz","label":"aws-perspect...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:lambda:eu-west-1:044981683129:function:aws-perspective-LambdaSetup-FkTdFSUgfqHz","image":"/icons/AWS-Lambda-menu.svg","cost":0,"private":false,"resource":{"id":"aws-perspective-LambdaSetup-FkTdFSUgfqHz","name":"aws-perspective-LambdaSetup-FkTdFSUgfqHz","value":null,"type":"AWS::Lambda::Function","tags":"[{\"tag\":\"aws:cloudformation:stack-name=aws-perspective\",\"value\":\"aws-perspective\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective/240c8c70-2db7-11ec-a1f2-0aa3690e772d\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective/240c8c70-2db7-11ec-a1f2-0aa3690e772d\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=LambdaSetup\",\"value\":\"LambdaSetup\",\"key\":\"aws:cloudformation:logical-id\"}]","arn":"arn:aws:lambda:eu-west-1:044981683129:function:aws-perspective-LambdaSetup-FkTdFSUgfqHz","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/lambda/home?region=eu-west-1#/functions/aws-perspective-LambdaSetup-FkTdFSUgfqHz?tab=graph","loginURL":"https://044981683129.signin.aws.amazon.com/console/lambda?region=eu-west-1#/functions/aws-perspective-LambdaSetup-FkTdFSUgfqHz?tab=graph","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:lambda:eu-west-1:044981683129:function:aws-perspective-LambdaSetup-FkTdFSUgfqHz","configuration":"\"{\\\"architectures\\\":[\\\"x86_64\\\"],\\\"ephemeralStorage\\\":{\\\"size\\\":512},\\\"handler\\\":\\\"index.handler\\\",\\\"role\\\":\\\"arn:aws:iam::044981683129:role/aws-perspective-LambdaExecutionRole-MKUDGQ3HDOBQ\\\",\\\"functionName\\\":\\\"aws-perspective-LambdaSetup-FkTdFSUgfqHz\\\",\\\"tracingConfig\\\":{\\\"mode\\\":\\\"PassThrough\\\"},\\\"runtime\\\":\\\"nodejs12.x\\\",\\\"description\\\":\\\"Custom Lambda resource for the Perspective Cloudformation Stack\\\",\\\"runtimeVersionConfig\\\":{\\\"runtimeVersionArn\\\":\\\"arn:aws:lambda:eu-west-1::runtime:db39b9e20d3a63139e915407c62fe6bb595fa16d432debd2847d5c5588ea7f35\\\"},\\\"codeSize\\\":1090533,\\\"version\\\":\\\"$LATEST\\\",\\\"packageType\\\":\\\"Zip\\\",\\\"timeout\\\":900,\\\"revisionId\\\":\\\"612cbfd7-2a24-4b42-b373-e9fb08000d6f\\\",\\\"codeSha256\\\":\\\"7wIZzcSOrD0GDmR8ojZqdVVCcFBGSj2ex4kwO01xr5s=\\\",\\\"memorySize\\\":1024,\\\"fileSystemConfigs\\\":[],\\\"vpcConfig\\\":{\\\"securityGroupIds\\\":[],\\\"subnetIds\\\":[]},\\\"lastUpdateStatus\\\":\\\"Successful\\\",\\\"layers\\\":[],\\\"snapStart\\\":{\\\"applyOn\\\":\\\"None\\\",\\\"optimizationStatus\\\":\\\"Off\\\"},\\\"lastModified\\\":\\\"2022-01-18T19:05:18.000+0000\\\",\\\"state\\\":{\\\"value\\\":\\\"Active\\\"},\\\"functionArn\\\":\\\"arn:aws:lambda:eu-west-1:044981683129:function:aws-perspective-LambdaSetup-FkTdFSUgfqHz\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/lambda/home?region=eu-west-1#/functions/aws-perspective-LambdaSetup-FkTdFSUgfqHz?tab=graph","loginURL":"https://044981683129.signin.aws.amazon.com/console/lambda?region=eu-west-1#/functions/aws-perspective-LambdaSetup-FkTdFSUgfqHz?tab=graph","private":null,"resourceId":"aws-perspective-LambdaSetup-FkTdFSUgfqHz","resourceName":"aws-perspective-LambdaSetup-FkTdFSUgfqHz","resourceType":"AWS::Lambda::Function","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=aws-perspective\",\"value\":\"aws-perspective\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective/240c8c70-2db7-11ec-a1f2-0aa3690e772d\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective/240c8c70-2db7-11ec-a1f2-0aa3690e772d\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=LambdaSetup\",\"value\":\"LambdaSetup\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"aws-perspective-LambdaSetup-FkTdFSUgfqHz","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-95.5,"y":-485.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/IsengardCloudTrailRole","resourceId":["AROAQU6I6AO452G7PILXD","arn:aws:iam::044981683129:role/IsengardCloudTrailRole"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/IsengardCloudTrailRole","title":"IsengardCloudTrailRole","label":"IsengardClou...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/IsengardCloudTrailRole","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO452G7PILXD","name":"IsengardCloudTrailRole","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/IsengardCloudTrailRole","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/IsengardCloudTrailRole","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Sid%22%3A%22%22%2C%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22AWS%22%3A%22arn%3Aaws%3Aiam%3A%3A086441151436%3Aroot%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%2C%22Condition%22%3A%7B%22StringEquals%22%3A%7B%22sts%3AExternalId%22%3A%22IsengardCloudTrailRolevDK6UuXJKVkx%22%7D%7D%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO452G7PILXD\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"IsengardCloudTrailRole\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/IsengardCloudTrailRole\\\",\\\"createDate\\\":\\\"2021-03-17T03:49:29.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%20%222012-10-17%22%2C%20%22Statement%22%3A%20%5B%20%7B%20%22Effect%22%3A%20%22Allow%22%2C%20%22Action%22%3A%20%5B%20%22s3%3ACreateBucket%22%2C%20%22s3%3APutBucketPolicy%22%2C%20%22s3%3APutLifecycleConfiguration%22%2C%20%22s3%3APutEncryptionConfiguration%22%2C%20%22s3%3AGetBucketAcl%22%20%5D%2C%20%22Resource%22%3A%20%22arn%3Aaws%3As3%3A%3A%3Acloudtrail-awslogs-%2A%22%20%7D%2C%20%7B%22Effect%22%3A%20%22Allow%22%2C%20%22Action%22%3A%20%5B%20%22s3%3AListAllMyBuckets%22%20%5D%2C%20%22Resource%22%3A%20%22arn%3Aaws%3As3%3A%3A%3A%2A%22%20%7D%2C%20%7B%22Effect%22%3A%20%22Allow%22%2C%20%22Action%22%3A%20%5B%20%22cloudtrail%3ACreateTrail%22%2C%20%22cloudtrail%3AStartLogging%22%20%5D%2C%20%22Resource%22%3A%20%22%2A%22%20%7D%20%5D%20%7D%20\\\",\\\"policyName\\\":\\\"AWSCloudTrailAccessPolicy\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO452G7PILXD","resourceName":"IsengardCloudTrailRole","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"IsengardCloudTrailRole","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":1206.5,"y":-2540.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/IsengardCloudTrailRole/inlinePolicy/AWSCloudTrailAccessPolicy","resourceId":["arn:aws:iam::044981683129:role/IsengardCloudTrailRole/inlinePolicy/AWSCloudTrailAccessPolicy","arn:aws:iam::044981683129:role/IsengardCloudTrailRole/inlinePolicy/AWSCloudTrailAccessPolicy"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/IsengardCloudTrailRole/inlinePolicy/AWSCloudTrailAccessPolicy","title":"arn:aws:iam::044981683129:role/IsengardCloudTrailRole/inlinePolicy/AWSCloudTrailAccessPolicy","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/IsengardCloudTrailRole/inlinePolicy/AWSCloudTrailAccessPolicy","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/IsengardCloudTrailRole/inlinePolicy/AWSCloudTrailAccessPolicy","name":"arn:aws:iam::044981683129:role/IsengardCloudTrailRole/inlinePolicy/AWSCloudTrailAccessPolicy","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/IsengardCloudTrailRole/inlinePolicy/AWSCloudTrailAccessPolicy","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/IsengardCloudTrailRole/inlinePolicy/AWSCloudTrailAccessPolicy","configuration":"\"{\\\"policyName\\\":\\\"AWSCloudTrailAccessPolicy\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Effect\\\":\\\"Allow\\\",\\\"Action\\\":[\\\"s3:CreateBucket\\\",\\\"s3:PutBucketPolicy\\\",\\\"s3:PutLifecycleConfiguration\\\",\\\"s3:PutEncryptionConfiguration\\\",\\\"s3:GetBucketAcl\\\"],\\\"Resource\\\":\\\"arn:aws:s3:::cloudtrail-awslogs-*\\\"},{\\\"Effect\\\":\\\"Allow\\\",\\\"Action\\\":[\\\"s3:ListAllMyBuckets\\\"],\\\"Resource\\\":\\\"arn:aws:s3:::*\\\"},{\\\"Effect\\\":\\\"Allow\\\",\\\"Action\\\":[\\\"cloudtrail:CreateTrail\\\",\\\"cloudtrail:StartLogging\\\"],\\\"Resource\\\":\\\"*\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/IsengardCloudTrailRole/inlinePolicy/AWSCloudTrailAccessPolicy","resourceName":"arn:aws:iam::044981683129:role/IsengardCloudTrailRole/inlinePolicy/AWSCloudTrailAccessPolicy","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/IsengardCloudTrailRole/inlinePolicy/AWSCloudTrailAccessPolicy","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":2122.5,"y":-2686.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/wd2-2022-10-07-CodebuildS-RunCodebuildFunctionRole-1WQUGGJTDY7A1","resourceId":["AROAQU6I6AO453J47FY7Z","arn:aws:iam::044981683129:role/wd2-2022-10-07-CodebuildS-RunCodebuildFunctionRole-1WQUGGJTDY7A1"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-CodebuildS-RunCodebuildFunctionRole-1WQUGGJTDY7A1","title":"wd2-2022-10-07-CodebuildS-RunCodebuildFunctionRole-1WQUGGJTDY7A1","label":"wd2-2022-10-...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/wd2-2022-10-07-CodebuildS-RunCodebuildFunctionRole-1WQUGGJTDY7A1","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO453J47FY7Z","name":"wd2-2022-10-07-CodebuildS-RunCodebuildFunctionRole-1WQUGGJTDY7A1","value":null,"type":"AWS::IAM::Role","tags":"[{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"}]","arn":"arn:aws:iam::044981683129:role/wd2-2022-10-07-CodebuildS-RunCodebuildFunctionRole-1WQUGGJTDY7A1","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/wd2-2022-10-07-CodebuildS-RunCodebuildFunctionRole-1WQUGGJTDY7A1","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22lambda.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO453J47FY7Z\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole\\\",\\\"policyName\\\":\\\"AWSLambdaBasicExecutionRole\\\"}],\\\"roleName\\\":\\\"wd2-2022-10-07-CodebuildS-RunCodebuildFunctionRole-1WQUGGJTDY7A1\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/wd2-2022-10-07-CodebuildS-RunCodebuildFunctionRole-1WQUGGJTDY7A1\\\",\\\"createDate\\\":\\\"2022-10-07T18:03:06.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22codebuild%3AStartBuild%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Acodebuild%3Aeu-west-1%3A044981683129%3Aproject%2Fwd2-2022-10-07-CodebuildStack-U8PNO9EGQQUF%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"RunCodebuildFunctionRolePolicy0\\\"}],\\\"tags\\\":[{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"key\\\":\\\"AppManagerCFNStackKey\\\"},{\\\"value\\\":\\\"SAM\\\",\\\"key\\\":\\\"lambda:createdBy\\\"}]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO453J47FY7Z","resourceName":"wd2-2022-10-07-CodebuildS-RunCodebuildFunctionRole-1WQUGGJTDY7A1","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"}]","title":"wd2-2022-10-07-CodebuildS-RunCodebuildFunctionRole-1WQUGGJTDY7A1","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":1206.5,"y":-2467.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/wd2-2022-10-07-CodebuildS-RunCodebuildFunctionRole-1WQUGGJTDY7A1/inlinePolicy/RunCodebuildFunctionRolePolicy0","resourceId":["arn:aws:iam::044981683129:role/wd2-2022-10-07-CodebuildS-RunCodebuildFunctionRole-1WQUGGJTDY7A1/inlinePolicy/RunCodebuildFunctionRolePolicy0","arn:aws:iam::044981683129:role/wd2-2022-10-07-CodebuildS-RunCodebuildFunctionRole-1WQUGGJTDY7A1/inlinePolicy/RunCodebuildFunctionRolePolicy0"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-CodebuildS-RunCodebuildFunctionRole-1WQUGGJTDY7A1/inlinePolicy/RunCodebuildFunctionRolePolicy0","title":"arn:aws:iam::044981683129:role/wd2-2022-10-07-CodebuildS-RunCodebuildFunctionRole-1WQUGGJTDY7A1/inlinePolicy/RunCodebuildFunctionRolePolicy0","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/wd2-2022-10-07-CodebuildS-RunCodebuildFunctionRole-1WQUGGJTDY7A1/inlinePolicy/RunCodebuildFunctionRolePolicy0","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-CodebuildS-RunCodebuildFunctionRole-1WQUGGJTDY7A1/inlinePolicy/RunCodebuildFunctionRolePolicy0","name":"arn:aws:iam::044981683129:role/wd2-2022-10-07-CodebuildS-RunCodebuildFunctionRole-1WQUGGJTDY7A1/inlinePolicy/RunCodebuildFunctionRolePolicy0","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/wd2-2022-10-07-CodebuildS-RunCodebuildFunctionRole-1WQUGGJTDY7A1/inlinePolicy/RunCodebuildFunctionRolePolicy0","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/wd2-2022-10-07-CodebuildS-RunCodebuildFunctionRole-1WQUGGJTDY7A1/inlinePolicy/RunCodebuildFunctionRolePolicy0","configuration":"\"{\\\"policyName\\\":\\\"RunCodebuildFunctionRolePolicy0\\\",\\\"policyDocument\\\":{\\\"Statement\\\":[{\\\"Action\\\":[\\\"codebuild:StartBuild\\\"],\\\"Resource\\\":\\\"arn:aws:codebuild:eu-west-1:044981683129:project/wd2-2022-10-07-CodebuildStack-U8PNO9EGQQUF\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/wd2-2022-10-07-CodebuildS-RunCodebuildFunctionRole-1WQUGGJTDY7A1/inlinePolicy/RunCodebuildFunctionRolePolicy0","resourceName":"arn:aws:iam::044981683129:role/wd2-2022-10-07-CodebuildS-RunCodebuildFunctionRole-1WQUGGJTDY7A1/inlinePolicy/RunCodebuildFunctionRolePolicy0","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/wd2-2022-10-07-CodebuildS-RunCodebuildFunctionRole-1WQUGGJTDY7A1/inlinePolicy/RunCodebuildFunctionRolePolicy0","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":2122.5,"y":-2613.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-CodebuildStack-RunCodebuildFunction-P7iK29q345tJ","resourceId":["wd2-2022-10-07-CodebuildStack-RunCodebuildFunction-P7iK29q345tJ","arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-CodebuildStack-RunCodebuildFunction-P7iK29q345tJ"],"parent":"Function-eu-west-1-044981683129","level":3,"id":"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-CodebuildStack-RunCodebuildFunction-P7iK29q345tJ","title":"wd2-2022-10-07-CodebuildStack-RunCodebuildFunction-P7iK29q345tJ","label":"wd2-2022-10-...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-CodebuildStack-RunCodebuildFunction-P7iK29q345tJ","image":"/icons/AWS-Lambda-menu.svg","cost":0,"private":false,"resource":{"id":"wd2-2022-10-07-CodebuildStack-RunCodebuildFunction-P7iK29q345tJ","name":"wd2-2022-10-07-CodebuildStack-RunCodebuildFunction-P7iK29q345tJ","value":null,"type":"AWS::Lambda::Function","tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-CodebuildStack-U8PNO9EGQQUF\",\"value\":\"wd2-2022-10-07-CodebuildStack-U8PNO9EGQQUF\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-CodebuildStack-U8PNO9EGQQUF/34e34260-466a-11ed-8329-0604795736a1\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-CodebuildStack-U8PNO9EGQQUF/34e34260-466a-11ed-8329-0604795736a1\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"aws:cloudformation:logical-id=RunCodebuildFunction\",\"value\":\"RunCodebuildFunction\",\"key\":\"aws:cloudformation:logical-id\"}]","arn":"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-CodebuildStack-RunCodebuildFunction-P7iK29q345tJ","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/lambda/home?region=eu-west-1#/functions/wd2-2022-10-07-CodebuildStack-RunCodebuildFunction-P7iK29q345tJ?tab=graph","loginURL":"https://044981683129.signin.aws.amazon.com/console/lambda?region=eu-west-1#/functions/wd2-2022-10-07-CodebuildStack-RunCodebuildFunction-P7iK29q345tJ?tab=graph","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-CodebuildStack-RunCodebuildFunction-P7iK29q345tJ","configuration":"\"{\\\"architectures\\\":[\\\"x86_64\\\"],\\\"ephemeralStorage\\\":{\\\"size\\\":512},\\\"handler\\\":\\\"run_codebuild.handler\\\",\\\"role\\\":\\\"arn:aws:iam::044981683129:role/wd2-2022-10-07-CodebuildS-RunCodebuildFunctionRole-1WQUGGJTDY7A1\\\",\\\"functionName\\\":\\\"wd2-2022-10-07-CodebuildStack-RunCodebuildFunction-P7iK29q345tJ\\\",\\\"tracingConfig\\\":{\\\"mode\\\":\\\"PassThrough\\\"},\\\"runtime\\\":\\\"python3.8\\\",\\\"description\\\":\\\"\\\",\\\"runtimeVersionConfig\\\":{\\\"runtimeVersionArn\\\":\\\"arn:aws:lambda:eu-west-1::runtime:04f6192b7b9a4ad9cb43dc886a5f54868659e182e648f96d6f631cc0cbff8a68\\\"},\\\"codeSize\\\":600,\\\"version\\\":\\\"$LATEST\\\",\\\"packageType\\\":\\\"Zip\\\",\\\"timeout\\\":900,\\\"revisionId\\\":\\\"cbfff74d-53fb-4169-bb22-04ea209e0d97\\\",\\\"codeSha256\\\":\\\"ge9StyycGztqK9B0RAmgA/aaqYGtMyF1fp4A8+Wp/FY=\\\",\\\"memorySize\\\":128,\\\"fileSystemConfigs\\\":[],\\\"vpcConfig\\\":{\\\"securityGroupIds\\\":[],\\\"subnetIds\\\":[]},\\\"lastUpdateStatus\\\":\\\"Successful\\\",\\\"layers\\\":[{\\\"arn\\\":\\\"arn:aws:lambda:eu-west-1:044981683129:layer:CustomResourceHelper:144\\\",\\\"codeSize\\\":915887}],\\\"snapStart\\\":{\\\"applyOn\\\":\\\"None\\\",\\\"optimizationStatus\\\":\\\"Off\\\"},\\\"lastModified\\\":\\\"2023-02-13T12:53:56.000+0000\\\",\\\"state\\\":{\\\"value\\\":\\\"Active\\\"},\\\"functionArn\\\":\\\"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-CodebuildStack-RunCodebuildFunction-P7iK29q345tJ\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/lambda/home?region=eu-west-1#/functions/wd2-2022-10-07-CodebuildStack-RunCodebuildFunction-P7iK29q345tJ?tab=graph","loginURL":"https://044981683129.signin.aws.amazon.com/console/lambda?region=eu-west-1#/functions/wd2-2022-10-07-CodebuildStack-RunCodebuildFunction-P7iK29q345tJ?tab=graph","private":null,"resourceId":"wd2-2022-10-07-CodebuildStack-RunCodebuildFunction-P7iK29q345tJ","resourceName":"wd2-2022-10-07-CodebuildStack-RunCodebuildFunction-P7iK29q345tJ","resourceType":"AWS::Lambda::Function","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-CodebuildStack-U8PNO9EGQQUF\",\"value\":\"wd2-2022-10-07-CodebuildStack-U8PNO9EGQQUF\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-CodebuildStack-U8PNO9EGQQUF/34e34260-466a-11ed-8329-0604795736a1\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-CodebuildStack-U8PNO9EGQQUF/34e34260-466a-11ed-8329-0604795736a1\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"aws:cloudformation:logical-id=RunCodebuildFunction\",\"value\":\"RunCodebuildFunction\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"wd2-2022-10-07-CodebuildStack-RunCodebuildFunction-P7iK29q345tJ","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-22.5,"y":-558.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-CodebuildStack-U8PNO9EGQQUF/34e34260-466a-11ed-8329-0604795736a1","resourceId":["arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-CodebuildStack-U8PNO9EGQQUF/34e34260-466a-11ed-8329-0604795736a1","arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-CodebuildStack-U8PNO9EGQQUF/34e34260-466a-11ed-8329-0604795736a1"],"parent":"Stack-eu-west-1-044981683129","level":3,"id":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-CodebuildStack-U8PNO9EGQQUF/34e34260-466a-11ed-8329-0604795736a1","title":"wd2-2022-10-07-CodebuildStack-U8PNO9EGQQUF","label":"wd2-2022-10-...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-CodebuildStack-U8PNO9EGQQUF/34e34260-466a-11ed-8329-0604795736a1","image":"/icons/AWS-CloudFormation.svg","cost":0,"private":false,"resource":{"id":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-CodebuildStack-U8PNO9EGQQUF/34e34260-466a-11ed-8329-0604795736a1","name":"wd2-2022-10-07-CodebuildStack-U8PNO9EGQQUF","value":null,"type":"AWS::CloudFormation::Stack","tags":"[{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"}]","arn":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-CodebuildStack-U8PNO9EGQQUF/34e34260-466a-11ed-8329-0604795736a1","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-CodebuildStack-U8PNO9EGQQUF/34e34260-466a-11ed-8329-0604795736a1","configuration":"\"{\\\"outputs\\\":[],\\\"capabilities\\\":[\\\"CAPABILITY_IAM\\\",\\\"CAPABILITY_NAMED_IAM\\\",\\\"CAPABILITY_AUTO_EXPAND\\\"],\\\"creationTime\\\":\\\"2022-10-07T18:02:28Z\\\",\\\"notificationARNs\\\":[],\\\"stackId\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-CodebuildStack-U8PNO9EGQQUF/34e34260-466a-11ed-8329-0604795736a1\\\",\\\"stackName\\\":\\\"wd2-2022-10-07-CodebuildStack-U8PNO9EGQQUF\\\",\\\"description\\\":\\\"Workload Discovery on AWS Codepipeline/Codebuild Stack\\\",\\\"stackStatus\\\":\\\"UPDATE_COMPLETE\\\",\\\"disableRollback\\\":false,\\\"parentId\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"tags\\\":[{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"key\\\":\\\"AppManagerCFNStackKey\\\"}],\\\"timeoutInMinutes\\\":60,\\\"driftInformation\\\":{\\\"stackDriftStatus\\\":\\\"NOT_CHECKED\\\"},\\\"enableTerminationProtection\\\":false,\\\"lastUpdatedTime\\\":\\\"2023-02-13T12:53:30Z\\\",\\\"parameters\\\":[{\\\"parameterKey\\\":\\\"DeploymentBucketKey\\\",\\\"parameterValue\\\":\\\"workload-discovery/v2.1.0-local.tidy-cfn.1\\\"},{\\\"parameterKey\\\":\\\"CloudfrontDistributionId\\\",\\\"parameterValue\\\":\\\"E3NEAOX8GDLP2\\\"},{\\\"parameterKey\\\":\\\"ImageVersion\\\",\\\"parameterValue\\\":\\\"latest\\\"},{\\\"parameterKey\\\":\\\"ContainerRepo\\\",\\\"parameterValue\\\":\\\"wd2-2022-10-07-taskstack-hrsva4hb3b79-perspectivecontainerrepo-uyaex6xytkbp\\\"},{\\\"parameterKey\\\":\\\"DeploymentBucketName\\\",\\\"parameterValue\\\":\\\"svozza-local-cfn-eu-west-1\\\"},{\\\"parameterKey\\\":\\\"WebUIBucket\\\",\\\"parameterValue\\\":\\\"wd2-2022-10-07-s3buckets-ctywpxlbrszf-webuibucket-1eh9dr0ajbgd1\\\"},{\\\"parameterKey\\\":\\\"CustomResourceHelperLambdaLayer\\\",\\\"parameterValue\\\":\\\"arn:aws:lambda:eu-west-1:044981683129:layer:CustomResourceHelper:144\\\"},{\\\"parameterKey\\\":\\\"SolutionVersion\\\",\\\"parameterValue\\\":\\\"v2.1.0-local.tidy-cfn.1\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Regional","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-CodebuildStack-U8PNO9EGQQUF/34e34260-466a-11ed-8329-0604795736a1","resourceName":"wd2-2022-10-07-CodebuildStack-U8PNO9EGQQUF","resourceType":"AWS::CloudFormation::Stack","resourceValue":null,"state":null,"tags":"[{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"}]","title":"wd2-2022-10-07-CodebuildStack-U8PNO9EGQQUF","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-653.5,"y":-412.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-CleanupRepositoryFunctio-10PO00Z6TCQIE","resourceId":["AROAQU6I6AO45CSQFF6N2","arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-CleanupRepositoryFunctio-10PO00Z6TCQIE"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-CleanupRepositoryFunctio-10PO00Z6TCQIE","title":"wd2-2022-10-07-TaskStack-CleanupRepositoryFunctio-10PO00Z6TCQIE","label":"wd2-2022-10-...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-CleanupRepositoryFunctio-10PO00Z6TCQIE","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO45CSQFF6N2","name":"wd2-2022-10-07-TaskStack-CleanupRepositoryFunctio-10PO00Z6TCQIE","value":null,"type":"AWS::IAM::Role","tags":"[{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"}]","arn":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-CleanupRepositoryFunctio-10PO00Z6TCQIE","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-CleanupRepositoryFunctio-10PO00Z6TCQIE","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22lambda.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO45CSQFF6N2\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole\\\",\\\"policyName\\\":\\\"AWSLambdaBasicExecutionRole\\\"}],\\\"roleName\\\":\\\"wd2-2022-10-07-TaskStack-CleanupRepositoryFunctio-10PO00Z6TCQIE\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-CleanupRepositoryFunctio-10PO00Z6TCQIE\\\",\\\"createDate\\\":\\\"2022-10-07T18:00:50.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22ecr%3ABatchDeleteImage%22%2C%22ecr%3AListImages%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Aecr%3Aeu-west-1%3A044981683129%3Arepository%2Fwd2-2022-10-07-taskstack-hrsva4hb3b79-perspectivecontainerrepo-uyaex6xytkbp%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"CleanupRepositoryFunctionRolePolicy0\\\"}],\\\"tags\\\":[{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"key\\\":\\\"AppManagerCFNStackKey\\\"},{\\\"value\\\":\\\"SAM\\\",\\\"key\\\":\\\"lambda:createdBy\\\"}]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO45CSQFF6N2","resourceName":"wd2-2022-10-07-TaskStack-CleanupRepositoryFunctio-10PO00Z6TCQIE","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"}]","title":"wd2-2022-10-07-TaskStack-CleanupRepositoryFunctio-10PO00Z6TCQIE","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":1206.5,"y":-2394.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-CleanupRepositoryFunctio-10PO00Z6TCQIE/inlinePolicy/CleanupRepositoryFunctionRolePolicy0","resourceId":["arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-CleanupRepositoryFunctio-10PO00Z6TCQIE/inlinePolicy/CleanupRepositoryFunctionRolePolicy0","arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-CleanupRepositoryFunctio-10PO00Z6TCQIE/inlinePolicy/CleanupRepositoryFunctionRolePolicy0"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-CleanupRepositoryFunctio-10PO00Z6TCQIE/inlinePolicy/CleanupRepositoryFunctionRolePolicy0","title":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-CleanupRepositoryFunctio-10PO00Z6TCQIE/inlinePolicy/CleanupRepositoryFunctionRolePolicy0","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-CleanupRepositoryFunctio-10PO00Z6TCQIE/inlinePolicy/CleanupRepositoryFunctionRolePolicy0","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-CleanupRepositoryFunctio-10PO00Z6TCQIE/inlinePolicy/CleanupRepositoryFunctionRolePolicy0","name":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-CleanupRepositoryFunctio-10PO00Z6TCQIE/inlinePolicy/CleanupRepositoryFunctionRolePolicy0","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-CleanupRepositoryFunctio-10PO00Z6TCQIE/inlinePolicy/CleanupRepositoryFunctionRolePolicy0","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-CleanupRepositoryFunctio-10PO00Z6TCQIE/inlinePolicy/CleanupRepositoryFunctionRolePolicy0","configuration":"\"{\\\"policyName\\\":\\\"CleanupRepositoryFunctionRolePolicy0\\\",\\\"policyDocument\\\":{\\\"Statement\\\":[{\\\"Action\\\":[\\\"ecr:BatchDeleteImage\\\",\\\"ecr:ListImages\\\"],\\\"Resource\\\":\\\"arn:aws:ecr:eu-west-1:044981683129:repository/wd2-2022-10-07-taskstack-hrsva4hb3b79-perspectivecontainerrepo-uyaex6xytkbp\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-CleanupRepositoryFunctio-10PO00Z6TCQIE/inlinePolicy/CleanupRepositoryFunctionRolePolicy0","resourceName":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-CleanupRepositoryFunctio-10PO00Z6TCQIE/inlinePolicy/CleanupRepositoryFunctionRolePolicy0","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-CleanupRepositoryFunctio-10PO00Z6TCQIE/inlinePolicy/CleanupRepositoryFunctionRolePolicy0","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":2122.5,"y":-2540.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-TaskStack--CleanupRepositoryFunctio-fasZB6rSwhCE","resourceId":["wd2-2022-10-07-TaskStack--CleanupRepositoryFunctio-fasZB6rSwhCE","arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-TaskStack--CleanupRepositoryFunctio-fasZB6rSwhCE"],"parent":"Function-eu-west-1-044981683129","level":3,"id":"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-TaskStack--CleanupRepositoryFunctio-fasZB6rSwhCE","title":"wd2-2022-10-07-TaskStack--CleanupRepositoryFunctio-fasZB6rSwhCE","label":"wd2-2022-10-...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-TaskStack--CleanupRepositoryFunctio-fasZB6rSwhCE","image":"/icons/AWS-Lambda-menu.svg","cost":0,"private":false,"resource":{"id":"wd2-2022-10-07-TaskStack--CleanupRepositoryFunctio-fasZB6rSwhCE","name":"wd2-2022-10-07-TaskStack--CleanupRepositoryFunctio-fasZB6rSwhCE","value":null,"type":"AWS::Lambda::Function","tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-TaskStack-HRSVA4HB3B79\",\"value\":\"wd2-2022-10-07-TaskStack-HRSVA4HB3B79\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-TaskStack-HRSVA4HB3B79/e2929100-4669-11ed-b4d3-06482d7663f5\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-TaskStack-HRSVA4HB3B79/e2929100-4669-11ed-b4d3-06482d7663f5\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"aws:cloudformation:logical-id=CleanupRepositoryFunction\",\"value\":\"CleanupRepositoryFunction\",\"key\":\"aws:cloudformation:logical-id\"}]","arn":"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-TaskStack--CleanupRepositoryFunctio-fasZB6rSwhCE","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/lambda/home?region=eu-west-1#/functions/wd2-2022-10-07-TaskStack--CleanupRepositoryFunctio-fasZB6rSwhCE?tab=graph","loginURL":"https://044981683129.signin.aws.amazon.com/console/lambda?region=eu-west-1#/functions/wd2-2022-10-07-TaskStack--CleanupRepositoryFunctio-fasZB6rSwhCE?tab=graph","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-TaskStack--CleanupRepositoryFunctio-fasZB6rSwhCE","configuration":"\"{\\\"architectures\\\":[\\\"x86_64\\\"],\\\"ephemeralStorage\\\":{\\\"size\\\":512},\\\"handler\\\":\\\"cleanup_ecr.handler\\\",\\\"role\\\":\\\"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-CleanupRepositoryFunctio-10PO00Z6TCQIE\\\",\\\"functionName\\\":\\\"wd2-2022-10-07-TaskStack--CleanupRepositoryFunctio-fasZB6rSwhCE\\\",\\\"tracingConfig\\\":{\\\"mode\\\":\\\"PassThrough\\\"},\\\"runtime\\\":\\\"python3.8\\\",\\\"description\\\":\\\"Custom Lambda resource for deleting images in ECR on stack deletion\\\",\\\"runtimeVersionConfig\\\":{\\\"runtimeVersionArn\\\":\\\"arn:aws:lambda:eu-west-1::runtime:04f6192b7b9a4ad9cb43dc886a5f54868659e182e648f96d6f631cc0cbff8a68\\\"},\\\"codeSize\\\":598,\\\"version\\\":\\\"$LATEST\\\",\\\"packageType\\\":\\\"Zip\\\",\\\"timeout\\\":3,\\\"revisionId\\\":\\\"ec1e4500-a5cc-4488-a3ee-b5ded839257b\\\",\\\"codeSha256\\\":\\\"VplINRSPtrNV71zOTH8Jan6PydK9pAixNyW3FVkXYuI=\\\",\\\"memorySize\\\":128,\\\"fileSystemConfigs\\\":[],\\\"vpcConfig\\\":{\\\"securityGroupIds\\\":[],\\\"subnetIds\\\":[]},\\\"lastUpdateStatus\\\":\\\"Successful\\\",\\\"layers\\\":[{\\\"arn\\\":\\\"arn:aws:lambda:eu-west-1:044981683129:layer:Decorators:145\\\",\\\"codeSize\\\":569183},{\\\"arn\\\":\\\"arn:aws:lambda:eu-west-1:044981683129:layer:BotoUtils:145\\\",\\\"codeSize\\\":2382},{\\\"arn\\\":\\\"arn:aws:lambda:eu-west-1:044981683129:layer:CustomResourceHelper:144\\\",\\\"codeSize\\\":915887}],\\\"snapStart\\\":{\\\"applyOn\\\":\\\"None\\\",\\\"optimizationStatus\\\":\\\"Off\\\"},\\\"lastModified\\\":\\\"2023-02-13T12:52:15.000+0000\\\",\\\"state\\\":{\\\"value\\\":\\\"Active\\\"},\\\"functionArn\\\":\\\"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-TaskStack--CleanupRepositoryFunctio-fasZB6rSwhCE\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/lambda/home?region=eu-west-1#/functions/wd2-2022-10-07-TaskStack--CleanupRepositoryFunctio-fasZB6rSwhCE?tab=graph","loginURL":"https://044981683129.signin.aws.amazon.com/console/lambda?region=eu-west-1#/functions/wd2-2022-10-07-TaskStack--CleanupRepositoryFunctio-fasZB6rSwhCE?tab=graph","private":null,"resourceId":"wd2-2022-10-07-TaskStack--CleanupRepositoryFunctio-fasZB6rSwhCE","resourceName":"wd2-2022-10-07-TaskStack--CleanupRepositoryFunctio-fasZB6rSwhCE","resourceType":"AWS::Lambda::Function","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-TaskStack-HRSVA4HB3B79\",\"value\":\"wd2-2022-10-07-TaskStack-HRSVA4HB3B79\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-TaskStack-HRSVA4HB3B79/e2929100-4669-11ed-b4d3-06482d7663f5\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-TaskStack-HRSVA4HB3B79/e2929100-4669-11ed-b4d3-06482d7663f5\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"aws:cloudformation:logical-id=CleanupRepositoryFunction\",\"value\":\"CleanupRepositoryFunction\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"wd2-2022-10-07-TaskStack--CleanupRepositoryFunctio-fasZB6rSwhCE","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-22.5,"y":-485.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Vi-TaskRole-3IK2EA1VZD5B","resourceId":["AROAQU6I6AO45D4KAFWE7","arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Vi-TaskRole-3IK2EA1VZD5B"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Vi-TaskRole-3IK2EA1VZD5B","title":"retaildemostore-Services-1WZNOPXSYAVK8-Vi-TaskRole-3IK2EA1VZD5B","label":"retaildemost...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Vi-TaskRole-3IK2EA1VZD5B","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO45D4KAFWE7","name":"retaildemostore-Services-1WZNOPXSYAVK8-Vi-TaskRole-3IK2EA1VZD5B","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Vi-TaskRole-3IK2EA1VZD5B","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Vi-TaskRole-3IK2EA1VZD5B","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222008-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22ecs-tasks.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO45D4KAFWE7\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/AWSXRayDaemonWriteAccess\\\",\\\"policyName\\\":\\\"AWSXRayDaemonWriteAccess\\\"},{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/AWSCloudMapDiscoverInstanceAccess\\\",\\\"policyName\\\":\\\"AWSCloudMapDiscoverInstanceAccess\\\"}],\\\"roleName\\\":\\\"retaildemostore-Services-1WZNOPXSYAVK8-Vi-TaskRole-3IK2EA1VZD5B\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Vi-TaskRole-3IK2EA1VZD5B\\\",\\\"createDate\\\":\\\"2021-10-22T12:06:53.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22dynamodb%3A%2A%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Adynamodb%3Aus-east-1%3A044981683129%3Atable%2Fnone%22%2C%22arn%3Aaws%3Adynamodb%3Aus-east-1%3A044981683129%3Atable%2Fnone%22%2C%22arn%3Aaws%3Adynamodb%3Aus-east-1%3A044981683129%3Atable%2Fnone%22%2C%22arn%3Aaws%3Adynamodb%3Aus-east-1%3A044981683129%3Atable%2Fnone%2Findex%2F%2A%22%2C%22arn%3Aaws%3Adynamodb%3Aus-east-1%3A044981683129%3Atable%2Fnone%2Findex%2F%2A%22%2C%22arn%3Aaws%3Adynamodb%3Aus-east-1%3A044981683129%3Atable%2Fnone%2Findex%2F%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"DynamoDB\\\"},{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22ssm%3A%2A%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Assm%3Aus-east-1%3A044981683129%3Aparameter%2Fretaildemostore-%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22logs%3ACreateLogGroup%22%2C%22logs%3ACreateLogStream%22%2C%22logs%3APutLogEvents%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22logs%3ACreateLogGroup%22%2C%22personalize%3ACreateSchema%22%2C%22personalize%3ACreateDatasetGroup%22%2C%22personalize%3ACreateSolutionVersion%22%2C%22personalize%3ACreateDatasetImportJob%22%2C%22personalize%3ACreateSolution%22%2C%22personalize%3ADescribeDatasetGroup%22%2C%22personalize%3ADescribeDatasetImportJob%22%2C%22personalize%3ADescribeSolution%22%2C%22personalize%3ADescribeSolutionVersion%22%2C%22personalize%3ADescribeEventTracker%22%2C%22personalize%3ADescribeCampaign%22%2C%22personalize%3ACreateCampaign%22%2C%22personalize%3ACreateDataset%22%2C%22personalize%3ACreateEventTracker%22%2C%22personalize%3ACreateFilter%22%2C%22personalize%3AGetPersonalizedRanking%22%2C%22personalize%3AGetRecommendations%22%2C%22personalize%3ADeleteEventTracker%22%2C%22personalize%3ADescribeEventTracker%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Apersonalize%3Aus-east-1%3A044981683129%3A%2A%2Fretaildemo%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22logs%3ACreateLogGroup%22%2C%22personalize%3AListCampaigns%22%2C%22personalize%3AListDatasetGroups%22%2C%22personalize%3AListSolutions%22%2C%22personalize%3AListSchemas%22%2C%22personalize%3AListSolutionVersions%22%2C%22personalize%3AListDatasetImportJobs%22%2C%22personalize%3AListDatasets%22%2C%22personalize%3AListEventTrackers%22%5D%2C%22Resource%22%3A%5B%22%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22s3%3AGetObject%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3As3%3A%3A%3Aretail-demo-store-us-east-1%22%2C%22arn%3Aaws%3As3%3A%3A%3Aretail-demo-store-us-east-1%2F%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22ivs%3AListStreamKeys%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Aivs%3Aus-east-1%3A044981683129%3A%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22ivs%3AGetChannel%22%2C%22ivs%3AGetStream%22%2C%22ivs%3APutMetadata%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Aivs%3Aus-east-1%3A044981683129%3Achannel%2F%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22ivs%3AGetStreamKey%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Aivs%3Aus-east-1%3A044981683129%3Astream-key%2F%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22events%3ADescribeRule%22%2C%22events%3AListRules%22%2C%22events%3AEnableRule%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Aevents%3Aus-east-1%3A044981683129%3Arule%2FRetailDemoStore-PersonalizePreCreateScheduledRule%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22lambda%3AInvokeFunction%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Alambda%3Aus-east-1%3A044981683129%3Afunction%3AAmazonPaySigningLambda%22%5D%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"others\\\"},{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22mobiletargeting%3ASendMessages%22%2C%22mobiletargeting%3AGetEndpoint%22%2C%22mobiletargeting%3AUpdateEndpoint%22%2C%22mobiletargeting%3APutEvents%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Amobiletargeting%3Aus-east-1%3A044981683129%3Aapps%2F%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22mobiletargeting%3APhoneNumberValidate%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Amobiletargeting%3Aus-east-1%3A044981683129%3Aphone%2Fnumber%2Fvalidate%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"PinpointSMS\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO45D4KAFWE7","resourceName":"retaildemostore-Services-1WZNOPXSYAVK8-Vi-TaskRole-3IK2EA1VZD5B","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"retaildemostore-Services-1WZNOPXSYAVK8-Vi-TaskRole-3IK2EA1VZD5B","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":1206.5,"y":-2321.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Vi-TaskRole-3IK2EA1VZD5B/inlinePolicy/DynamoDB","resourceId":["arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Vi-TaskRole-3IK2EA1VZD5B/inlinePolicy/DynamoDB","arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Vi-TaskRole-3IK2EA1VZD5B/inlinePolicy/DynamoDB"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Vi-TaskRole-3IK2EA1VZD5B/inlinePolicy/DynamoDB","title":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Vi-TaskRole-3IK2EA1VZD5B/inlinePolicy/DynamoDB","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Vi-TaskRole-3IK2EA1VZD5B/inlinePolicy/DynamoDB","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Vi-TaskRole-3IK2EA1VZD5B/inlinePolicy/DynamoDB","name":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Vi-TaskRole-3IK2EA1VZD5B/inlinePolicy/DynamoDB","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Vi-TaskRole-3IK2EA1VZD5B/inlinePolicy/DynamoDB","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Vi-TaskRole-3IK2EA1VZD5B/inlinePolicy/DynamoDB","configuration":"\"{\\\"policyName\\\":\\\"DynamoDB\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"dynamodb:*\\\"],\\\"Resource\\\":[\\\"arn:aws:dynamodb:us-east-1:044981683129:table/none\\\",\\\"arn:aws:dynamodb:us-east-1:044981683129:table/none\\\",\\\"arn:aws:dynamodb:us-east-1:044981683129:table/none\\\",\\\"arn:aws:dynamodb:us-east-1:044981683129:table/none/index/*\\\",\\\"arn:aws:dynamodb:us-east-1:044981683129:table/none/index/*\\\",\\\"arn:aws:dynamodb:us-east-1:044981683129:table/none/index/*\\\"],\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Vi-TaskRole-3IK2EA1VZD5B/inlinePolicy/DynamoDB","resourceName":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Vi-TaskRole-3IK2EA1VZD5B/inlinePolicy/DynamoDB","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Vi-TaskRole-3IK2EA1VZD5B/inlinePolicy/DynamoDB","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":2122.5,"y":-2467.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Vi-TaskRole-3IK2EA1VZD5B/inlinePolicy/others","resourceId":["arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Vi-TaskRole-3IK2EA1VZD5B/inlinePolicy/others","arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Vi-TaskRole-3IK2EA1VZD5B/inlinePolicy/others"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Vi-TaskRole-3IK2EA1VZD5B/inlinePolicy/others","title":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Vi-TaskRole-3IK2EA1VZD5B/inlinePolicy/others","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Vi-TaskRole-3IK2EA1VZD5B/inlinePolicy/others","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Vi-TaskRole-3IK2EA1VZD5B/inlinePolicy/others","name":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Vi-TaskRole-3IK2EA1VZD5B/inlinePolicy/others","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Vi-TaskRole-3IK2EA1VZD5B/inlinePolicy/others","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Vi-TaskRole-3IK2EA1VZD5B/inlinePolicy/others","configuration":"\"{\\\"policyName\\\":\\\"others\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"ssm:*\\\"],\\\"Resource\\\":\\\"arn:aws:ssm:us-east-1:044981683129:parameter/retaildemostore-*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"logs:CreateLogGroup\\\",\\\"logs:CreateLogStream\\\",\\\"logs:PutLogEvents\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"logs:CreateLogGroup\\\",\\\"personalize:CreateSchema\\\",\\\"personalize:CreateDatasetGroup\\\",\\\"personalize:CreateSolutionVersion\\\",\\\"personalize:CreateDatasetImportJob\\\",\\\"personalize:CreateSolution\\\",\\\"personalize:DescribeDatasetGroup\\\",\\\"personalize:DescribeDatasetImportJob\\\",\\\"personalize:DescribeSolution\\\",\\\"personalize:DescribeSolutionVersion\\\",\\\"personalize:DescribeEventTracker\\\",\\\"personalize:DescribeCampaign\\\",\\\"personalize:CreateCampaign\\\",\\\"personalize:CreateDataset\\\",\\\"personalize:CreateEventTracker\\\",\\\"personalize:CreateFilter\\\",\\\"personalize:GetPersonalizedRanking\\\",\\\"personalize:GetRecommendations\\\",\\\"personalize:DeleteEventTracker\\\",\\\"personalize:DescribeEventTracker\\\"],\\\"Resource\\\":[\\\"arn:aws:personalize:us-east-1:044981683129:*/retaildemo*\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"logs:CreateLogGroup\\\",\\\"personalize:ListCampaigns\\\",\\\"personalize:ListDatasetGroups\\\",\\\"personalize:ListSolutions\\\",\\\"personalize:ListSchemas\\\",\\\"personalize:ListSolutionVersions\\\",\\\"personalize:ListDatasetImportJobs\\\",\\\"personalize:ListDatasets\\\",\\\"personalize:ListEventTrackers\\\"],\\\"Resource\\\":[\\\"*\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"s3:GetObject\\\"],\\\"Resource\\\":[\\\"arn:aws:s3:::retail-demo-store-us-east-1\\\",\\\"arn:aws:s3:::retail-demo-store-us-east-1/*\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"ivs:ListStreamKeys\\\"],\\\"Resource\\\":[\\\"arn:aws:ivs:us-east-1:044981683129:*\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"ivs:GetChannel\\\",\\\"ivs:GetStream\\\",\\\"ivs:PutMetadata\\\"],\\\"Resource\\\":[\\\"arn:aws:ivs:us-east-1:044981683129:channel/*\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"ivs:GetStreamKey\\\"],\\\"Resource\\\":[\\\"arn:aws:ivs:us-east-1:044981683129:stream-key/*\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"events:DescribeRule\\\",\\\"events:ListRules\\\",\\\"events:EnableRule\\\"],\\\"Resource\\\":[\\\"arn:aws:events:us-east-1:044981683129:rule/RetailDemoStore-PersonalizePreCreateScheduledRule\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"lambda:InvokeFunction\\\"],\\\"Resource\\\":[\\\"arn:aws:lambda:us-east-1:044981683129:function:AmazonPaySigningLambda\\\"],\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Vi-TaskRole-3IK2EA1VZD5B/inlinePolicy/others","resourceName":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Vi-TaskRole-3IK2EA1VZD5B/inlinePolicy/others","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Vi-TaskRole-3IK2EA1VZD5B/inlinePolicy/others","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":2122.5,"y":-2394.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Vi-TaskRole-3IK2EA1VZD5B/inlinePolicy/PinpointSMS","resourceId":["arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Vi-TaskRole-3IK2EA1VZD5B/inlinePolicy/PinpointSMS","arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Vi-TaskRole-3IK2EA1VZD5B/inlinePolicy/PinpointSMS"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Vi-TaskRole-3IK2EA1VZD5B/inlinePolicy/PinpointSMS","title":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Vi-TaskRole-3IK2EA1VZD5B/inlinePolicy/PinpointSMS","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Vi-TaskRole-3IK2EA1VZD5B/inlinePolicy/PinpointSMS","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Vi-TaskRole-3IK2EA1VZD5B/inlinePolicy/PinpointSMS","name":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Vi-TaskRole-3IK2EA1VZD5B/inlinePolicy/PinpointSMS","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Vi-TaskRole-3IK2EA1VZD5B/inlinePolicy/PinpointSMS","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Vi-TaskRole-3IK2EA1VZD5B/inlinePolicy/PinpointSMS","configuration":"\"{\\\"policyName\\\":\\\"PinpointSMS\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"mobiletargeting:SendMessages\\\",\\\"mobiletargeting:GetEndpoint\\\",\\\"mobiletargeting:UpdateEndpoint\\\",\\\"mobiletargeting:PutEvents\\\"],\\\"Resource\\\":\\\"arn:aws:mobiletargeting:us-east-1:044981683129:apps/*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"mobiletargeting:PhoneNumberValidate\\\"],\\\"Resource\\\":\\\"arn:aws:mobiletargeting:us-east-1:044981683129:phone/number/validate\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Vi-TaskRole-3IK2EA1VZD5B/inlinePolicy/PinpointSMS","resourceName":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Vi-TaskRole-3IK2EA1VZD5B/inlinePolicy/PinpointSMS","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Vi-TaskRole-3IK2EA1VZD5B/inlinePolicy/PinpointSMS","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":2122.5,"y":-2321.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/ScyllaBackfilling","resourceId":["AROAQU6I6AO45WO2HF6AX","arn:aws:iam::044981683129:role/ScyllaBackfilling"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/ScyllaBackfilling","title":"ScyllaBackfilling","label":"ScyllaBackfi...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/ScyllaBackfilling","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO45WO2HF6AX","name":"ScyllaBackfilling","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/ScyllaBackfilling","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/ScyllaBackfilling","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22AWS%22%3A%22arn%3Aaws%3Asts%3A%3A546105730296%3Aassumed-role%2FScyllaPrototype-Infra-alp-GraphBackfillerServiceRo-1UU5X3RS2UM2U%2FGraphBackfiller%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%2C%22Condition%22%3A%7B%7D%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO45WO2HF6AX\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/IAMReadOnlyAccess\\\",\\\"policyName\\\":\\\"IAMReadOnlyAccess\\\"}],\\\"roleName\\\":\\\"ScyllaBackfilling\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/ScyllaBackfilling\\\",\\\"createDate\\\":\\\"2022-05-11T14:37:42.000Z\\\",\\\"rolePolicyList\\\":[],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO45WO2HF6AX","resourceName":"ScyllaBackfilling","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"ScyllaBackfilling","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":1206.5,"y":-2248.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/AVMContainersUserRole","resourceId":["AROAQU6I6AO466S5VOKFD","arn:aws:iam::044981683129:role/AVMContainersUserRole"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/AVMContainersUserRole","title":"AVMContainersUserRole","label":"AVMContainer...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/AVMContainersUserRole","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO466S5VOKFD","name":"AVMContainersUserRole","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/AVMContainersUserRole","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/AVMContainersUserRole","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Sid%22%3A%22%22%2C%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22AWS%22%3A%22arn%3Aaws%3Aiam%3A%3A214732530209%3Aroot%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%2C%22Condition%22%3A%7B%22StringEquals%22%3A%7B%22sts%3AExternalId%22%3A%22InspectorEnablementRoleh0xIB8a6wzTb%22%7D%7D%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO466S5VOKFD\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"AVMContainersUserRole\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/AVMContainersUserRole\\\",\\\"createDate\\\":\\\"2023-03-24T13:37:17.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%0A%20%20%22Version%22%3A%20%222012-10-17%22%2C%0A%20%20%22Statement%22%3A%20%5B%0A%20%20%20%20%7B%0A%20%20%20%20%20%20%22Sid%22%3A%20%22AVMContainersUserPolicyForStandaloneAccounts%22%2C%0A%20%20%20%20%20%20%22Effect%22%3A%20%22Allow%22%2C%0A%20%20%20%20%20%20%22Action%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%22inspector2%3ABatchGetAccountStatus%22%2C%0A%20%20%20%20%20%20%20%20%22inspector2%3AListCoverage%22%2C%0A%20%20%20%20%20%20%20%20%22inspector2%3AListCoverageStatistics%22%2C%0A%20%20%20%20%20%20%20%20%22inspector2%3AListFindingAggregations%22%2C%0A%20%20%20%20%20%20%20%20%22inspector2%3AListFindings%22%2C%0A%20%20%20%20%20%20%20%20%22inspector2%3AEnable%22%2C%0A%20%20%20%20%20%20%20%20%22ecr%3APutRegistryScanningConfiguration%22%2C%0A%20%20%20%20%20%20%20%20%22ecr%3AGetRegistryScanningConfiguration%22%0A%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%22Resource%22%3A%20%22%2A%22%0A%20%20%20%20%7D%2C%0A%20%20%20%20%7B%0A%20%20%20%20%20%20%22Effect%22%3A%20%22Allow%22%2C%0A%20%20%20%20%20%20%22Action%22%3A%20%22iam%3ACreateServiceLinkedRole%22%2C%0A%20%20%20%20%20%20%22Resource%22%3A%20%22arn%3A%2A%3Aiam%3A%3A%2A%3Arole%2Faws-service-role%2Finspector2.amazonaws.com%2FAWSServiceRoleForAmazonInspector2%22%2C%0A%20%20%20%20%20%20%22Condition%22%3A%20%7B%0A%20%20%20%20%20%20%20%20%22StringEquals%22%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%22iam%3AAWSServiceName%22%3A%20%22inspector2.amazonaws.com%22%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%5D%0A%7D%0A\\\",\\\"policyName\\\":\\\"AWSContainerAssessmentPolicy\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO466S5VOKFD","resourceName":"AVMContainersUserRole","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"AVMContainersUserRole","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":1206.5,"y":-2175.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/AVMContainersUserRole/inlinePolicy/AWSContainerAssessmentPolicy","resourceId":["arn:aws:iam::044981683129:role/AVMContainersUserRole/inlinePolicy/AWSContainerAssessmentPolicy","arn:aws:iam::044981683129:role/AVMContainersUserRole/inlinePolicy/AWSContainerAssessmentPolicy"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/AVMContainersUserRole/inlinePolicy/AWSContainerAssessmentPolicy","title":"arn:aws:iam::044981683129:role/AVMContainersUserRole/inlinePolicy/AWSContainerAssessmentPolicy","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/AVMContainersUserRole/inlinePolicy/AWSContainerAssessmentPolicy","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/AVMContainersUserRole/inlinePolicy/AWSContainerAssessmentPolicy","name":"arn:aws:iam::044981683129:role/AVMContainersUserRole/inlinePolicy/AWSContainerAssessmentPolicy","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/AVMContainersUserRole/inlinePolicy/AWSContainerAssessmentPolicy","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/AVMContainersUserRole/inlinePolicy/AWSContainerAssessmentPolicy","configuration":"\"{\\\"policyName\\\":\\\"AWSContainerAssessmentPolicy\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Sid\\\":\\\"AVMContainersUserPolicyForStandaloneAccounts\\\",\\\"Effect\\\":\\\"Allow\\\",\\\"Action\\\":[\\\"inspector2:BatchGetAccountStatus\\\",\\\"inspector2:ListCoverage\\\",\\\"inspector2:ListCoverageStatistics\\\",\\\"inspector2:ListFindingAggregations\\\",\\\"inspector2:ListFindings\\\",\\\"inspector2:Enable\\\",\\\"ecr:PutRegistryScanningConfiguration\\\",\\\"ecr:GetRegistryScanningConfiguration\\\"],\\\"Resource\\\":\\\"*\\\"},{\\\"Effect\\\":\\\"Allow\\\",\\\"Action\\\":\\\"iam:CreateServiceLinkedRole\\\",\\\"Resource\\\":\\\"arn:*:iam::*:role/aws-service-role/inspector2.amazonaws.com/AWSServiceRoleForAmazonInspector2\\\",\\\"Condition\\\":{\\\"StringEquals\\\":{\\\"iam:AWSServiceName\\\":\\\"inspector2.amazonaws.com\\\"}}}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/AVMContainersUserRole/inlinePolicy/AWSContainerAssessmentPolicy","resourceName":"arn:aws:iam::044981683129:role/AVMContainersUserRole/inlinePolicy/AWSContainerAssessmentPolicy","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/AVMContainersUserRole/inlinePolicy/AWSContainerAssessmentPolicy","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":2122.5,"y":-2248.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-Se-PerspectiveSettingsLambd-196F19BSKJYPS","resourceId":["AROAQU6I6AO45LXDML4JB","arn:aws:iam::044981683129:role/workload-discovery-iad-Se-PerspectiveSettingsLambd-196F19BSKJYPS"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/workload-discovery-iad-Se-PerspectiveSettingsLambd-196F19BSKJYPS","title":"workload-discovery-iad-Se-PerspectiveSettingsLambd-196F19BSKJYPS","label":"workload-dis...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/workload-discovery-iad-Se-PerspectiveSettingsLambd-196F19BSKJYPS","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO45LXDML4JB","name":"workload-discovery-iad-Se-PerspectiveSettingsLambd-196F19BSKJYPS","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-Se-PerspectiveSettingsLambd-196F19BSKJYPS","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-Se-PerspectiveSettingsLambd-196F19BSKJYPS","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22lambda.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO45LXDML4JB\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole\\\",\\\"policyName\\\":\\\"AWSLambdaVPCAccessExecutionRole\\\"},{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole\\\",\\\"policyName\\\":\\\"AWSLambdaBasicExecutionRole\\\"},{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/AWSXRayDaemonWriteAccess\\\",\\\"policyName\\\":\\\"AWSXRayDaemonWriteAccess\\\"}],\\\"roleName\\\":\\\"workload-discovery-iad-Se-PerspectiveSettingsLambd-196F19BSKJYPS\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/workload-discovery-iad-Se-PerspectiveSettingsLambd-196F19BSKJYPS\\\",\\\"createDate\\\":\\\"2022-11-16T14:33:32.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22dynamodb%3AQuery%22%2C%22dynamodb%3APutItem%22%2C%22dynamodb%3ADeleteItem%22%2C%22dynamodb%3AGetItem%22%2C%22dynamodb%3AUpdateItem%22%2C%22dynamodb%3ABatchWriteItem%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Adynamodb%3Aus-east-1%3A044981683129%3Atable%2Fworkload-discovery-iad-SettingsResolversStack-5BT7BQGN8YN6-PerspectiveSettingsTable-1KOP0WUMSQIL4%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22config%3AputConfigurationAggregator%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Aconfig%3Aus-east-1%3A044981683129%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22ec2%3ADescribeRegions%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"workload-discovery-iad-SettingsResolversStack-5BT7BQGN8YN6-AppSyncLambdaRole\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO45LXDML4JB","resourceName":"workload-discovery-iad-Se-PerspectiveSettingsLambd-196F19BSKJYPS","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"workload-discovery-iad-Se-PerspectiveSettingsLambd-196F19BSKJYPS","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":1206.5,"y":-2102.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-Se-PerspectiveSettingsLambd-196F19BSKJYPS/inlinePolicy/workload-discovery-iad-SettingsResolversStack-5BT7BQGN8YN6-AppSyncLambdaRole","resourceId":["arn:aws:iam::044981683129:role/workload-discovery-iad-Se-PerspectiveSettingsLambd-196F19BSKJYPS/inlinePolicy/workload-discovery-iad-SettingsResolversStack-5BT7BQGN8YN6-AppSyncLambdaRole","arn:aws:iam::044981683129:role/workload-discovery-iad-Se-PerspectiveSettingsLambd-196F19BSKJYPS/inlinePolicy/workload-discovery-iad-SettingsResolversStack-5BT7BQGN8YN6-AppSyncLambdaRole"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/workload-discovery-iad-Se-PerspectiveSettingsLambd-196F19BSKJYPS/inlinePolicy/workload-discovery-iad-SettingsResolversStack-5BT7BQGN8YN6-AppSyncLambdaRole","title":"arn:aws:iam::044981683129:role/workload-discovery-iad-Se-PerspectiveSettingsLambd-196F19BSKJYPS/inlinePolicy/workload-discovery-iad-SettingsResolversStack-5BT7BQGN8YN6-AppSyncLambdaRole","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/workload-discovery-iad-Se-PerspectiveSettingsLambd-196F19BSKJYPS/inlinePolicy/workload-discovery-iad-SettingsResolversStack-5BT7BQGN8YN6-AppSyncLambdaRole","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/workload-discovery-iad-Se-PerspectiveSettingsLambd-196F19BSKJYPS/inlinePolicy/workload-discovery-iad-SettingsResolversStack-5BT7BQGN8YN6-AppSyncLambdaRole","name":"arn:aws:iam::044981683129:role/workload-discovery-iad-Se-PerspectiveSettingsLambd-196F19BSKJYPS/inlinePolicy/workload-discovery-iad-SettingsResolversStack-5BT7BQGN8YN6-AppSyncLambdaRole","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-Se-PerspectiveSettingsLambd-196F19BSKJYPS/inlinePolicy/workload-discovery-iad-SettingsResolversStack-5BT7BQGN8YN6-AppSyncLambdaRole","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-Se-PerspectiveSettingsLambd-196F19BSKJYPS/inlinePolicy/workload-discovery-iad-SettingsResolversStack-5BT7BQGN8YN6-AppSyncLambdaRole","configuration":"\"{\\\"policyName\\\":\\\"workload-discovery-iad-SettingsResolversStack-5BT7BQGN8YN6-AppSyncLambdaRole\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"dynamodb:Query\\\",\\\"dynamodb:PutItem\\\",\\\"dynamodb:DeleteItem\\\",\\\"dynamodb:GetItem\\\",\\\"dynamodb:UpdateItem\\\",\\\"dynamodb:BatchWriteItem\\\"],\\\"Resource\\\":\\\"arn:aws:dynamodb:us-east-1:044981683129:table/workload-discovery-iad-SettingsResolversStack-5BT7BQGN8YN6-PerspectiveSettingsTable-1KOP0WUMSQIL4\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"config:putConfigurationAggregator\\\"],\\\"Resource\\\":\\\"arn:aws:config:us-east-1:044981683129*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"ec2:DescribeRegions\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/workload-discovery-iad-Se-PerspectiveSettingsLambd-196F19BSKJYPS/inlinePolicy/workload-discovery-iad-SettingsResolversStack-5BT7BQGN8YN6-AppSyncLambdaRole","resourceName":"arn:aws:iam::044981683129:role/workload-discovery-iad-Se-PerspectiveSettingsLambd-196F19BSKJYPS/inlinePolicy/workload-discovery-iad-SettingsResolversStack-5BT7BQGN8YN6-AppSyncLambdaRole","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/workload-discovery-iad-Se-PerspectiveSettingsLambd-196F19BSKJYPS/inlinePolicy/workload-discovery-iad-SettingsResolversStack-5BT7BQGN8YN6-AppSyncLambdaRole","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":2122.5,"y":-2175.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Se-TaskRole-1W0XHIR08R8NO","resourceId":["AROAQU6I6AO44DBA5ZFBY","arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Se-TaskRole-1W0XHIR08R8NO"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Se-TaskRole-1W0XHIR08R8NO","title":"retaildemostore-Services-1WZNOPXSYAVK8-Se-TaskRole-1W0XHIR08R8NO","label":"retaildemost...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Se-TaskRole-1W0XHIR08R8NO","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO44DBA5ZFBY","name":"retaildemostore-Services-1WZNOPXSYAVK8-Se-TaskRole-1W0XHIR08R8NO","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Se-TaskRole-1W0XHIR08R8NO","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Se-TaskRole-1W0XHIR08R8NO","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222008-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22ecs-tasks.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO44DBA5ZFBY\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/AWSXRayDaemonWriteAccess\\\",\\\"policyName\\\":\\\"AWSXRayDaemonWriteAccess\\\"},{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/AWSCloudMapDiscoverInstanceAccess\\\",\\\"policyName\\\":\\\"AWSCloudMapDiscoverInstanceAccess\\\"}],\\\"roleName\\\":\\\"retaildemostore-Services-1WZNOPXSYAVK8-Se-TaskRole-1W0XHIR08R8NO\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Se-TaskRole-1W0XHIR08R8NO\\\",\\\"createDate\\\":\\\"2021-10-22T12:06:50.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22dynamodb%3A%2A%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Adynamodb%3Aus-east-1%3A044981683129%3Atable%2Fnone%22%2C%22arn%3Aaws%3Adynamodb%3Aus-east-1%3A044981683129%3Atable%2Fnone%22%2C%22arn%3Aaws%3Adynamodb%3Aus-east-1%3A044981683129%3Atable%2Fnone%22%2C%22arn%3Aaws%3Adynamodb%3Aus-east-1%3A044981683129%3Atable%2Fnone%2Findex%2F%2A%22%2C%22arn%3Aaws%3Adynamodb%3Aus-east-1%3A044981683129%3Atable%2Fnone%2Findex%2F%2A%22%2C%22arn%3Aaws%3Adynamodb%3Aus-east-1%3A044981683129%3Atable%2Fnone%2Findex%2F%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"DynamoDB\\\"},{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22ssm%3A%2A%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Assm%3Aus-east-1%3A044981683129%3Aparameter%2Fretaildemostore-%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22logs%3ACreateLogGroup%22%2C%22logs%3ACreateLogStream%22%2C%22logs%3APutLogEvents%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22logs%3ACreateLogGroup%22%2C%22personalize%3ACreateSchema%22%2C%22personalize%3ACreateDatasetGroup%22%2C%22personalize%3ACreateSolutionVersion%22%2C%22personalize%3ACreateDatasetImportJob%22%2C%22personalize%3ACreateSolution%22%2C%22personalize%3ADescribeDatasetGroup%22%2C%22personalize%3ADescribeDatasetImportJob%22%2C%22personalize%3ADescribeSolution%22%2C%22personalize%3ADescribeSolutionVersion%22%2C%22personalize%3ADescribeEventTracker%22%2C%22personalize%3ADescribeCampaign%22%2C%22personalize%3ACreateCampaign%22%2C%22personalize%3ACreateDataset%22%2C%22personalize%3ACreateEventTracker%22%2C%22personalize%3ACreateFilter%22%2C%22personalize%3AGetPersonalizedRanking%22%2C%22personalize%3AGetRecommendations%22%2C%22personalize%3ADeleteEventTracker%22%2C%22personalize%3ADescribeEventTracker%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Apersonalize%3Aus-east-1%3A044981683129%3A%2A%2Fretaildemo%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22logs%3ACreateLogGroup%22%2C%22personalize%3AListCampaigns%22%2C%22personalize%3AListDatasetGroups%22%2C%22personalize%3AListSolutions%22%2C%22personalize%3AListSchemas%22%2C%22personalize%3AListSolutionVersions%22%2C%22personalize%3AListDatasetImportJobs%22%2C%22personalize%3AListDatasets%22%2C%22personalize%3AListEventTrackers%22%5D%2C%22Resource%22%3A%5B%22%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22s3%3AGetObject%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3As3%3A%3A%3Aretail-demo-store-us-east-1%22%2C%22arn%3Aaws%3As3%3A%3A%3Aretail-demo-store-us-east-1%2F%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22ivs%3AListStreamKeys%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Aivs%3Aus-east-1%3A044981683129%3A%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22ivs%3AGetChannel%22%2C%22ivs%3AGetStream%22%2C%22ivs%3APutMetadata%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Aivs%3Aus-east-1%3A044981683129%3Achannel%2F%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22ivs%3AGetStreamKey%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Aivs%3Aus-east-1%3A044981683129%3Astream-key%2F%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22events%3ADescribeRule%22%2C%22events%3AListRules%22%2C%22events%3AEnableRule%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Aevents%3Aus-east-1%3A044981683129%3Arule%2FRetailDemoStore-PersonalizePreCreateScheduledRule%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22lambda%3AInvokeFunction%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Alambda%3Aus-east-1%3A044981683129%3Afunction%3AAmazonPaySigningLambda%22%5D%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"others\\\"},{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22mobiletargeting%3ASendMessages%22%2C%22mobiletargeting%3AGetEndpoint%22%2C%22mobiletargeting%3AUpdateEndpoint%22%2C%22mobiletargeting%3APutEvents%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Amobiletargeting%3Aus-east-1%3A044981683129%3Aapps%2F%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22mobiletargeting%3APhoneNumberValidate%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Amobiletargeting%3Aus-east-1%3A044981683129%3Aphone%2Fnumber%2Fvalidate%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"PinpointSMS\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO44DBA5ZFBY","resourceName":"retaildemostore-Services-1WZNOPXSYAVK8-Se-TaskRole-1W0XHIR08R8NO","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"retaildemostore-Services-1WZNOPXSYAVK8-Se-TaskRole-1W0XHIR08R8NO","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":476.5,"y":-2029.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Se-TaskRole-1W0XHIR08R8NO/inlinePolicy/DynamoDB","resourceId":["arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Se-TaskRole-1W0XHIR08R8NO/inlinePolicy/DynamoDB","arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Se-TaskRole-1W0XHIR08R8NO/inlinePolicy/DynamoDB"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Se-TaskRole-1W0XHIR08R8NO/inlinePolicy/DynamoDB","title":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Se-TaskRole-1W0XHIR08R8NO/inlinePolicy/DynamoDB","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Se-TaskRole-1W0XHIR08R8NO/inlinePolicy/DynamoDB","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Se-TaskRole-1W0XHIR08R8NO/inlinePolicy/DynamoDB","name":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Se-TaskRole-1W0XHIR08R8NO/inlinePolicy/DynamoDB","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Se-TaskRole-1W0XHIR08R8NO/inlinePolicy/DynamoDB","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Se-TaskRole-1W0XHIR08R8NO/inlinePolicy/DynamoDB","configuration":"\"{\\\"policyName\\\":\\\"DynamoDB\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"dynamodb:*\\\"],\\\"Resource\\\":[\\\"arn:aws:dynamodb:us-east-1:044981683129:table/none\\\",\\\"arn:aws:dynamodb:us-east-1:044981683129:table/none\\\",\\\"arn:aws:dynamodb:us-east-1:044981683129:table/none\\\",\\\"arn:aws:dynamodb:us-east-1:044981683129:table/none/index/*\\\",\\\"arn:aws:dynamodb:us-east-1:044981683129:table/none/index/*\\\",\\\"arn:aws:dynamodb:us-east-1:044981683129:table/none/index/*\\\"],\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Se-TaskRole-1W0XHIR08R8NO/inlinePolicy/DynamoDB","resourceName":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Se-TaskRole-1W0XHIR08R8NO/inlinePolicy/DynamoDB","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Se-TaskRole-1W0XHIR08R8NO/inlinePolicy/DynamoDB","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":2122.5,"y":-2102.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Se-TaskRole-1W0XHIR08R8NO/inlinePolicy/others","resourceId":["arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Se-TaskRole-1W0XHIR08R8NO/inlinePolicy/others","arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Se-TaskRole-1W0XHIR08R8NO/inlinePolicy/others"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Se-TaskRole-1W0XHIR08R8NO/inlinePolicy/others","title":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Se-TaskRole-1W0XHIR08R8NO/inlinePolicy/others","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Se-TaskRole-1W0XHIR08R8NO/inlinePolicy/others","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Se-TaskRole-1W0XHIR08R8NO/inlinePolicy/others","name":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Se-TaskRole-1W0XHIR08R8NO/inlinePolicy/others","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Se-TaskRole-1W0XHIR08R8NO/inlinePolicy/others","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Se-TaskRole-1W0XHIR08R8NO/inlinePolicy/others","configuration":"\"{\\\"policyName\\\":\\\"others\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"ssm:*\\\"],\\\"Resource\\\":\\\"arn:aws:ssm:us-east-1:044981683129:parameter/retaildemostore-*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"logs:CreateLogGroup\\\",\\\"logs:CreateLogStream\\\",\\\"logs:PutLogEvents\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"logs:CreateLogGroup\\\",\\\"personalize:CreateSchema\\\",\\\"personalize:CreateDatasetGroup\\\",\\\"personalize:CreateSolutionVersion\\\",\\\"personalize:CreateDatasetImportJob\\\",\\\"personalize:CreateSolution\\\",\\\"personalize:DescribeDatasetGroup\\\",\\\"personalize:DescribeDatasetImportJob\\\",\\\"personalize:DescribeSolution\\\",\\\"personalize:DescribeSolutionVersion\\\",\\\"personalize:DescribeEventTracker\\\",\\\"personalize:DescribeCampaign\\\",\\\"personalize:CreateCampaign\\\",\\\"personalize:CreateDataset\\\",\\\"personalize:CreateEventTracker\\\",\\\"personalize:CreateFilter\\\",\\\"personalize:GetPersonalizedRanking\\\",\\\"personalize:GetRecommendations\\\",\\\"personalize:DeleteEventTracker\\\",\\\"personalize:DescribeEventTracker\\\"],\\\"Resource\\\":[\\\"arn:aws:personalize:us-east-1:044981683129:*/retaildemo*\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"logs:CreateLogGroup\\\",\\\"personalize:ListCampaigns\\\",\\\"personalize:ListDatasetGroups\\\",\\\"personalize:ListSolutions\\\",\\\"personalize:ListSchemas\\\",\\\"personalize:ListSolutionVersions\\\",\\\"personalize:ListDatasetImportJobs\\\",\\\"personalize:ListDatasets\\\",\\\"personalize:ListEventTrackers\\\"],\\\"Resource\\\":[\\\"*\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"s3:GetObject\\\"],\\\"Resource\\\":[\\\"arn:aws:s3:::retail-demo-store-us-east-1\\\",\\\"arn:aws:s3:::retail-demo-store-us-east-1/*\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"ivs:ListStreamKeys\\\"],\\\"Resource\\\":[\\\"arn:aws:ivs:us-east-1:044981683129:*\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"ivs:GetChannel\\\",\\\"ivs:GetStream\\\",\\\"ivs:PutMetadata\\\"],\\\"Resource\\\":[\\\"arn:aws:ivs:us-east-1:044981683129:channel/*\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"ivs:GetStreamKey\\\"],\\\"Resource\\\":[\\\"arn:aws:ivs:us-east-1:044981683129:stream-key/*\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"events:DescribeRule\\\",\\\"events:ListRules\\\",\\\"events:EnableRule\\\"],\\\"Resource\\\":[\\\"arn:aws:events:us-east-1:044981683129:rule/RetailDemoStore-PersonalizePreCreateScheduledRule\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"lambda:InvokeFunction\\\"],\\\"Resource\\\":[\\\"arn:aws:lambda:us-east-1:044981683129:function:AmazonPaySigningLambda\\\"],\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Se-TaskRole-1W0XHIR08R8NO/inlinePolicy/others","resourceName":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Se-TaskRole-1W0XHIR08R8NO/inlinePolicy/others","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Se-TaskRole-1W0XHIR08R8NO/inlinePolicy/others","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1392.5,"y":-2029.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Se-TaskRole-1W0XHIR08R8NO/inlinePolicy/PinpointSMS","resourceId":["arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Se-TaskRole-1W0XHIR08R8NO/inlinePolicy/PinpointSMS","arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Se-TaskRole-1W0XHIR08R8NO/inlinePolicy/PinpointSMS"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Se-TaskRole-1W0XHIR08R8NO/inlinePolicy/PinpointSMS","title":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Se-TaskRole-1W0XHIR08R8NO/inlinePolicy/PinpointSMS","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Se-TaskRole-1W0XHIR08R8NO/inlinePolicy/PinpointSMS","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Se-TaskRole-1W0XHIR08R8NO/inlinePolicy/PinpointSMS","name":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Se-TaskRole-1W0XHIR08R8NO/inlinePolicy/PinpointSMS","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Se-TaskRole-1W0XHIR08R8NO/inlinePolicy/PinpointSMS","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Se-TaskRole-1W0XHIR08R8NO/inlinePolicy/PinpointSMS","configuration":"\"{\\\"policyName\\\":\\\"PinpointSMS\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"mobiletargeting:SendMessages\\\",\\\"mobiletargeting:GetEndpoint\\\",\\\"mobiletargeting:UpdateEndpoint\\\",\\\"mobiletargeting:PutEvents\\\"],\\\"Resource\\\":\\\"arn:aws:mobiletargeting:us-east-1:044981683129:apps/*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"mobiletargeting:PhoneNumberValidate\\\"],\\\"Resource\\\":\\\"arn:aws:mobiletargeting:us-east-1:044981683129:phone/number/validate\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Se-TaskRole-1W0XHIR08R8NO/inlinePolicy/PinpointSMS","resourceName":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Se-TaskRole-1W0XHIR08R8NO/inlinePolicy/PinpointSMS","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Se-TaskRole-1W0XHIR08R8NO/inlinePolicy/PinpointSMS","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1465.5,"y":-2029.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZWG5MDR-LambdaExecutionRole-17SJ3SG620L8L","resourceId":["AROAQU6I6AO46NWV7ZCID","arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZWG5MDR-LambdaExecutionRole-17SJ3SG620L8L"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZWG5MDR-LambdaExecutionRole-17SJ3SG620L8L","title":"mda-stack-Workload-1V66ZWG5MDR-LambdaExecutionRole-17SJ3SG620L8L","label":"mda-stack-Wo...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZWG5MDR-LambdaExecutionRole-17SJ3SG620L8L","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO46NWV7ZCID","name":"mda-stack-Workload-1V66ZWG5MDR-LambdaExecutionRole-17SJ3SG620L8L","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZWG5MDR-LambdaExecutionRole-17SJ3SG620L8L","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZWG5MDR-LambdaExecutionRole-17SJ3SG620L8L","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22lambda.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO46NWV7ZCID\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"mda-stack-Workload-1V66ZWG5MDR-LambdaExecutionRole-17SJ3SG620L8L\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZWG5MDR-LambdaExecutionRole-17SJ3SG620L8L\\\",\\\"createDate\\\":\\\"2022-07-06T15:10:32.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22logs%3ACreateLogGroup%22%2C%22logs%3ACreateLogStream%22%2C%22logs%3APutLogEvents%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Alogs%3A%2A%3A%2A%3A%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22cloudformation%3ADescribeStacks%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"lambda_policy\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO46NWV7ZCID","resourceName":"mda-stack-Workload-1V66ZWG5MDR-LambdaExecutionRole-17SJ3SG620L8L","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"mda-stack-Workload-1V66ZWG5MDR-LambdaExecutionRole-17SJ3SG620L8L","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":549.5,"y":-2029.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZWG5MDR-LambdaExecutionRole-17SJ3SG620L8L/inlinePolicy/lambda_policy","resourceId":["arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZWG5MDR-LambdaExecutionRole-17SJ3SG620L8L/inlinePolicy/lambda_policy","arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZWG5MDR-LambdaExecutionRole-17SJ3SG620L8L/inlinePolicy/lambda_policy"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZWG5MDR-LambdaExecutionRole-17SJ3SG620L8L/inlinePolicy/lambda_policy","title":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZWG5MDR-LambdaExecutionRole-17SJ3SG620L8L/inlinePolicy/lambda_policy","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZWG5MDR-LambdaExecutionRole-17SJ3SG620L8L/inlinePolicy/lambda_policy","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZWG5MDR-LambdaExecutionRole-17SJ3SG620L8L/inlinePolicy/lambda_policy","name":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZWG5MDR-LambdaExecutionRole-17SJ3SG620L8L/inlinePolicy/lambda_policy","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZWG5MDR-LambdaExecutionRole-17SJ3SG620L8L/inlinePolicy/lambda_policy","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZWG5MDR-LambdaExecutionRole-17SJ3SG620L8L/inlinePolicy/lambda_policy","configuration":"\"{\\\"policyName\\\":\\\"lambda_policy\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"logs:CreateLogGroup\\\",\\\"logs:CreateLogStream\\\",\\\"logs:PutLogEvents\\\"],\\\"Resource\\\":\\\"arn:aws:logs:*:*:*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"cloudformation:DescribeStacks\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZWG5MDR-LambdaExecutionRole-17SJ3SG620L8L/inlinePolicy/lambda_policy","resourceName":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZWG5MDR-LambdaExecutionRole-17SJ3SG620L8L/inlinePolicy/lambda_policy","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZWG5MDR-LambdaExecutionRole-17SJ3SG620L8L/inlinePolicy/lambda_policy","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1538.5,"y":-2029.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/NP2-dummy-WebSSMRole","resourceId":["AROAQU6I6AO46KPB5KLXP","arn:aws:iam::044981683129:role/NP2-dummy-WebSSMRole"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/NP2-dummy-WebSSMRole","title":"NP2-dummy-WebSSMRole","label":"NP2-dummy-We...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/NP2-dummy-WebSSMRole","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO46KPB5KLXP","name":"NP2-dummy-WebSSMRole","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/NP2-dummy-WebSSMRole","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/NP2-dummy-WebSSMRole","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22ec2.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[{\\\"path\\\":\\\"/\\\",\\\"instanceProfileName\\\":\\\"nlb-test-WebInstanceProfileNP2-161JG7I82HOEE\\\",\\\"roles\\\":[{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22ec2.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"roleId\\\":\\\"AROAQU6I6AO46KPB5KLXP\\\",\\\"roleName\\\":\\\"NP2-dummy-WebSSMRole\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/NP2-dummy-WebSSMRole\\\",\\\"createDate\\\":\\\"2022-04-08T09:54:37.000Z\\\",\\\"tags\\\":[]}],\\\"instanceProfileId\\\":\\\"AIPAQU6I6AO43EX6CJXFF\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:instance-profile/nlb-test-WebInstanceProfileNP2-161JG7I82HOEE\\\",\\\"createDate\\\":\\\"2022-04-08T09:54:55.000Z\\\",\\\"tags\\\":[]}],\\\"roleId\\\":\\\"AROAQU6I6AO46KPB5KLXP\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/service-role/AmazonEC2RoleforSSM\\\",\\\"policyName\\\":\\\"AmazonEC2RoleforSSM\\\"}],\\\"roleName\\\":\\\"NP2-dummy-WebSSMRole\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/NP2-dummy-WebSSMRole\\\",\\\"createDate\\\":\\\"2022-04-08T09:54:37.000Z\\\",\\\"rolePolicyList\\\":[],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO46KPB5KLXP","resourceName":"NP2-dummy-WebSSMRole","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"NP2-dummy-WebSSMRole","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":622.5,"y":-2029.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/recipe-recommendation-eng-SegmentCrossAccountLambd-1SPH7CP56X446","resourceId":["AROAQU6I6AO45SUGGLKM2","arn:aws:iam::044981683129:role/recipe-recommendation-eng-SegmentCrossAccountLambd-1SPH7CP56X446"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/recipe-recommendation-eng-SegmentCrossAccountLambd-1SPH7CP56X446","title":"recipe-recommendation-eng-SegmentCrossAccountLambd-1SPH7CP56X446","label":"recipe-recom...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/recipe-recommendation-eng-SegmentCrossAccountLambd-1SPH7CP56X446","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO45SUGGLKM2","name":"recipe-recommendation-eng-SegmentCrossAccountLambd-1SPH7CP56X446","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/recipe-recommendation-eng-SegmentCrossAccountLambd-1SPH7CP56X446","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/recipe-recommendation-eng-SegmentCrossAccountLambd-1SPH7CP56X446","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22AWS%22%3A%22arn%3Aaws%3Aiam%3A%3A044981683129%3Aroot%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%2C%22Condition%22%3A%7B%22StringEquals%22%3A%7B%22sts%3AExternalId%22%3A%22123456789%22%7D%7D%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO45SUGGLKM2\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"recipe-recommendation-eng-SegmentCrossAccountLambd-1SPH7CP56X446\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/recipe-recommendation-eng-SegmentCrossAccountLambd-1SPH7CP56X446\\\",\\\"createDate\\\":\\\"2021-10-11T14:59:23.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22lambda%3AInvokeFunction%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Alambda%3Aus-west-2%3A044981683129%3Afunction%3ASegmentPersonalize%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"root\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO45SUGGLKM2","resourceName":"recipe-recommendation-eng-SegmentCrossAccountLambd-1SPH7CP56X446","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"recipe-recommendation-eng-SegmentCrossAccountLambd-1SPH7CP56X446","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":695.5,"y":-2029.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/recipe-recommendation-eng-SegmentCrossAccountLambd-1SPH7CP56X446/inlinePolicy/root","resourceId":["arn:aws:iam::044981683129:role/recipe-recommendation-eng-SegmentCrossAccountLambd-1SPH7CP56X446/inlinePolicy/root","arn:aws:iam::044981683129:role/recipe-recommendation-eng-SegmentCrossAccountLambd-1SPH7CP56X446/inlinePolicy/root"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/recipe-recommendation-eng-SegmentCrossAccountLambd-1SPH7CP56X446/inlinePolicy/root","title":"arn:aws:iam::044981683129:role/recipe-recommendation-eng-SegmentCrossAccountLambd-1SPH7CP56X446/inlinePolicy/root","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/recipe-recommendation-eng-SegmentCrossAccountLambd-1SPH7CP56X446/inlinePolicy/root","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/recipe-recommendation-eng-SegmentCrossAccountLambd-1SPH7CP56X446/inlinePolicy/root","name":"arn:aws:iam::044981683129:role/recipe-recommendation-eng-SegmentCrossAccountLambd-1SPH7CP56X446/inlinePolicy/root","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/recipe-recommendation-eng-SegmentCrossAccountLambd-1SPH7CP56X446/inlinePolicy/root","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/recipe-recommendation-eng-SegmentCrossAccountLambd-1SPH7CP56X446/inlinePolicy/root","configuration":"\"{\\\"policyName\\\":\\\"root\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"lambda:InvokeFunction\\\"],\\\"Resource\\\":[\\\"arn:aws:lambda:us-west-2:044981683129:function:SegmentPersonalize*\\\"],\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/recipe-recommendation-eng-SegmentCrossAccountLambd-1SPH7CP56X446/inlinePolicy/root","resourceName":"arn:aws:iam::044981683129:role/recipe-recommendation-eng-SegmentCrossAccountLambd-1SPH7CP56X446/inlinePolicy/root","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/recipe-recommendation-eng-SegmentCrossAccountLambd-1SPH7CP56X446/inlinePolicy/root","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1611.5,"y":-2029.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/IsengardAuditorRole-DO-NOT-DELETE","resourceId":["AROAQU6I6AO43DZEFU3WH","arn:aws:iam::044981683129:role/IsengardAuditorRole-DO-NOT-DELETE"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/IsengardAuditorRole-DO-NOT-DELETE","title":"IsengardAuditorRole-DO-NOT-DELETE","label":"IsengardAudi...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/IsengardAuditorRole-DO-NOT-DELETE","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO43DZEFU3WH","name":"IsengardAuditorRole-DO-NOT-DELETE","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/IsengardAuditorRole-DO-NOT-DELETE","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/IsengardAuditorRole-DO-NOT-DELETE","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Sid%22%3A%22%22%2C%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22AWS%22%3A%22arn%3Aaws%3Aiam%3A%3A727820809195%3Aroot%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%2C%22Condition%22%3A%7B%22StringEquals%22%3A%7B%22sts%3AExternalId%22%3A%22IsengardAuditorExternalIdqklD7HZTZjbV%22%7D%7D%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO43DZEFU3WH\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"IsengardAuditorRole-DO-NOT-DELETE\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/IsengardAuditorRole-DO-NOT-DELETE\\\",\\\"createDate\\\":\\\"2019-11-27T00:57:13.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%20%222012-10-17%22%2C%22Statement%22%3A%20%5B%7B%22Action%22%3A%20%5B%22autoscaling%3ADescribeAdjustmentTypes%22%2C%22autoscaling%3ADescribeAutoScalingGroups%22%2C%22autoscaling%3ADescribeAutoScalingInstances%22%2C%22autoscaling%3ADescribeAutoScalingNotificationTypes%22%2C%22autoscaling%3ADescribeLaunchConfigurations%22%2C%22autoscaling%3ADescribeMetricCollectionTypes%22%2C%22autoscaling%3ADescribeNotificationConfigurations%22%2C%22autoscaling%3ADescribePolicies%22%2C%22autoscaling%3ADescribeScalingActivities%22%2C%22autoscaling%3ADescribeScalingProcessTypes%22%2C%22autoscaling%3ADescribeScheduledActions%22%2C%22autoscaling%3ADescribeTags%22%2C%22autoscaling%3ADescribeTriggers%22%5D%2C%22Effect%22%3A%20%22Allow%22%2C%22Resource%22%3A%20%22%2A%22%7D%2C%7B%22Action%22%3A%20%5B%22cloudformation%3ADescribeStackEvents%22%2C%22cloudformation%3ADescribeStackResource%22%2C%22cloudformation%3ADescribeStackResources%22%2C%22cloudformation%3ADescribeStacks%22%2C%22cloudformation%3AGetTemplate%22%2C%22cloudformation%3AListStacks%22%2C%22cloudformation%3AListStackResources%22%5D%2C%22Effect%22%3A%20%22Allow%22%2C%22Resource%22%3A%20%22%2A%22%7D%2C%7B%22Action%22%3A%20%5B%22cloudfront%3AGetCloudFrontOriginAccessIdentity%22%2C%22cloudfront%3AGetCloudFrontOriginAccessIdentityConfig%22%2C%22cloudfront%3AGetDistribution%22%2C%22cloudfront%3AGetDistributionConfig%22%2C%22cloudfront%3AGetInvalidation%22%2C%22cloudfront%3AGetStreamingDistribution%22%2C%22cloudfront%3AGetStreamingDistributionConfig%22%2C%22cloudfront%3AListCloudFrontOriginAccessIdentities%22%2C%22cloudfront%3AListDistributions%22%2C%22cloudfront%3AListInvalidations%22%2C%22cloudfront%3AListStreamingDistributions%22%5D%2C%22Effect%22%3A%20%22Allow%22%2C%22Resource%22%3A%20%22%2A%22%7D%2C%7B%22Action%22%3A%20%5B%22cloudtrail%3ADescribeTrails%22%5D%2C%22Effect%22%3A%20%22Allow%22%2C%22Resource%22%3A%20%22%2A%22%7D%2C%7B%22Action%22%3A%20%5B%22cloudwatch%3ADescribeAlarms%22%2C%22cloudwatch%3ADescribeAlarmsForMetric%22%5D%2C%22Effect%22%3A%20%22Allow%22%2C%22Resource%22%3A%20%22%2A%22%7D%2C%7B%22Action%22%3A%20%5B%22directconnect%3ADescribeConnectionDetail%22%2C%22directconnect%3ADescribeConnections%22%2C%22directconnect%3ADescribeOfferingDetail%22%2C%22directconnect%3ADescribeOfferings%22%2C%22directconnect%3ADescribeVirtualGateways%22%2C%22directconnect%3ADescribeVirtualInterfaces%22%5D%2C%22Effect%22%3A%20%22Allow%22%2C%22Resource%22%3A%20%22%2A%22%7D%2C%7B%22Action%22%3A%20%5B%22dynamodb%3AListTables%22%5D%2C%22Effect%22%3A%20%22Allow%22%2C%22Resource%22%3A%20%22%2A%22%7D%2C%7B%22Action%22%3A%20%5B%22ec2%3ADescribeAccountAttributes%22%2C%22ec2%3ADescribeAddresses%22%2C%22ec2%3ADescribeAvailabilityZones%22%2C%22ec2%3ADescribeBundleTasks%22%2C%22ec2%3ADescribeConversionTasks%22%2C%22ec2%3ADescribeCustomerGateways%22%2C%22ec2%3ADescribeDhcpOptions%22%2C%22ec2%3ADescribeExportTasks%22%2C%22ec2%3ADescribeImageAttribute%22%2C%22ec2%3ADescribeImages%22%2C%22ec2%3ADescribeInstanceAttribute%22%2C%22ec2%3ADescribeInstanceStatus%22%2C%22ec2%3ADescribeInstances%22%2C%22ec2%3ADescribeInternetGateways%22%2C%22ec2%3ADescribeKeyPairs%22%2C%22ec2%3ADescribeLicenses%22%2C%22ec2%3ADescribeNetworkAcls%22%2C%22ec2%3ADescribeNetworkInterfaceAttribute%22%2C%22ec2%3ADescribeNetworkInterfaces%22%2C%22ec2%3ADescribePlacementGroups%22%2C%22ec2%3ADescribeRegions%22%2C%22ec2%3ADescribeReservedInstances%22%2C%22ec2%3ADescribeReservedInstancesOfferings%22%2C%22ec2%3ADescribeRouteTables%22%2C%22ec2%3ADescribeSecurityGroups%22%2C%22ec2%3ADescribeSnapshotAttribute%22%2C%22ec2%3ADescribeSnapshots%22%2C%22ec2%3ADescribeSpotDatafeedSubscription%22%2C%22ec2%3ADescribeSpotInstanceRequests%22%2C%22ec2%3ADescribeSpotPriceHistory%22%2C%22ec2%3ADescribeSubnets%22%2C%22ec2%3ADescribeTags%22%2C%22ec2%3ADescribeVolumeAttribute%22%2C%22ec2%3ADescribeVolumeStatus%22%2C%22ec2%3ADescribeVolumes%22%2C%22ec2%3ADescribeVpcPeeringConnection%22%2C%22ec2%3ADescribeVpcs%22%2C%22ec2%3ADescribeVpnConnections%22%2C%22ec2%3ADescribeVpnGateways%22%5D%2C%22Effect%22%3A%20%22Allow%22%2C%22Resource%22%3A%20%22%2A%22%7D%2C%7B%22Action%22%3A%20%5B%22elasticbeanstalk%3ADescribeApplicationVersions%22%2C%22elasticbeanstalk%3ADescribeApplications%22%2C%22elasticbeanstalk%3ADescribeConfigurationOptions%22%2C%22elasticbeanstalk%3ADescribeConfigurationSettings%22%2C%22elasticbeanstalk%3ADescribeEnvironmentResources%22%2C%22elasticbeanstalk%3ADescribeEnvironments%22%2C%22elasticbeanstalk%3ADescribeEvents%22%5D%2C%22Effect%22%3A%20%22Allow%22%2C%22Resource%22%3A%20%22%2A%22%7D%2C%7B%22Action%22%3A%20%5B%22elasticache%3ADescribeCacheClusters%22%2C%22elasticache%3ADescribeCacheParameterGroups%22%2C%22elasticache%3ADescribeCacheParameters%22%2C%22elasticache%3ADescribeCacheSecurityGroups%22%2C%22elasticache%3ADescribeEngineDefaultParameters%22%2C%22elasticache%3ADescribeEvents%22%5D%2C%22Effect%22%3A%20%22Allow%22%2C%22Resource%22%3A%20%22%2A%22%7D%2C%7B%22Action%22%3A%20%5B%22elasticloadbalancing%3ADescribeInstanceHealth%22%2C%22elasticloadbalancing%3ADescribeLoadBalancers%22%5D%2C%22Effect%22%3A%20%22Allow%22%2C%22Resource%22%3A%20%22%2A%22%7D%2C%7B%22Action%22%3A%20%5B%22elasticmapreduce%3ADescribeJobFlows%22%5D%2C%22Effect%22%3A%20%22Allow%22%2C%22Resource%22%3A%20%22%2A%22%7D%2C%7B%22Action%22%3A%20%5B%22glacier%3AListVaults%22%5D%2C%22Effect%22%3A%20%22Allow%22%2C%22Resource%22%3A%20%22%2A%22%7D%2C%7B%22Action%22%3A%20%5B%22iam%3AGenerateCredentialReport%22%2C%22iam%3AGetAccountPasswordPolicy%22%2C%22iam%3AGetAccountSummary%22%2C%22iam%3AGetGroup%22%2C%22iam%3AGetGroupPolicy%22%2C%22iam%3AGetInstanceProfile%22%2C%22iam%3AGetLoginProfile%22%2C%22iam%3AGetRole%22%2C%22iam%3AGetRolePolicy%22%2C%22iam%3AGetServerCertificate%22%2C%22iam%3AGetUser%22%2C%22iam%3AGetUserPolicy%22%2C%22iam%3AListAccessKeys%22%2C%22iam%3AListAccountAliases%22%2C%22iam%3AListGroupPolicies%22%2C%22iam%3AListGroups%22%2C%22iam%3AListGroupsForUser%22%2C%22iam%3AListInstanceProfiles%22%2C%22iam%3AListInstanceProfilesForRole%22%2C%22iam%3AListMFADevices%22%2C%22iam%3AListRolePolicies%22%2C%22iam%3AListRoles%22%2C%22iam%3AListServerCertificates%22%2C%22iam%3AListSigningCertificates%22%2C%22iam%3AListUserPolicies%22%2C%22iam%3AListUsers%22%2C%22iam%3AListVirtualMFADevices%22%5D%2C%22Effect%22%3A%20%22Allow%22%2C%22Resource%22%3A%20%22%2A%22%7D%2C%7B%22Action%22%3A%20%5B%22rds%3ADescribeEngineDefaultParameters%22%2C%22rds%3ADescribeDBInstances%22%2C%22rds%3ADescribeDBLogFiles%22%2C%22rds%3ADescribeDBParameterGroups%22%2C%22rds%3ADescribeDBParameters%22%2C%22rds%3ADescribeDBSecurityGroups%22%2C%22rds%3ADescribeDBSnapshots%22%2C%22rds%3ADescribeDBEngineVersions%22%2C%22rds%3ADescribeDBSubnetGroups%22%2C%22rds%3ADescribeEventCategories%22%2C%22rds%3ADescribeEvents%22%2C%22rds%3ADescribeEventSubscriptions%22%2C%22rds%3ADescribeOptionGroups%22%2C%22rds%3ADescribeOptionGroupOptions%22%2C%22rds%3ADescribeOrderableDBInstanceOptions%22%2C%22rds%3ADescribeReservedDBInstances%22%2C%22rds%3ADescribeReservedDBInstancesOfferings%22%2C%22rds%3ADownloadDBLogFilePortion%22%2C%22rds%3AListTagsForResource%22%5D%2C%22Effect%22%3A%20%22Allow%22%2C%22Resource%22%3A%20%22%2A%22%7D%2C%7B%22Action%22%3A%20%5B%22redshift%3ADescribeClusterParameterGroups%22%2C%22redshift%3ADescribeClusterParameters%22%2C%22redshift%3ADescribeClusterSecurityGroups%22%2C%22redshift%3ADescribeClusterSnapshots%22%2C%22redshift%3ADescribeClusterSubnetGroups%22%2C%22redshift%3ADescribeClusterVersions%22%2C%22redshift%3ADescribeClusters%22%2C%22redshift%3ADescribeDefaultClusterParameters%22%2C%22redshift%3ADescribeEvents%22%2C%22redshift%3ADescribeOrderableClusterOptions%22%2C%22redshift%3ADescribeReservedNodeOfferings%22%2C%22redshift%3ADescribeReservedNodes%22%2C%22redshift%3ADescribeResize%22%5D%2C%22Effect%22%3A%20%22Allow%22%2C%22Resource%22%3A%20%22%2A%22%7D%2C%7B%22Action%22%3A%20%5B%22route53%3AGetHostedZone%22%2C%22route53%3AListHostedZones%22%2C%22route53%3AListResourceRecordSets%22%5D%2C%22Effect%22%3A%20%22Allow%22%2C%22Resource%22%3A%20%22%2A%22%7D%2C%7B%22Action%22%3A%20%5B%22s3%3AGetBucketAcl%22%2C%22s3%3AGetBucketLocation%22%2C%22s3%3AGetBucketLogging%22%2C%22s3%3AGetBucketNotification%22%2C%22s3%3AGetBucketPolicy%22%2C%22s3%3AGetBucketRequestPayment%22%2C%22s3%3AGetBucketVersioning%22%2C%22s3%3AGetBucketWebsite%22%2C%22s3%3AGetLifecycleConfiguration%22%2C%22s3%3AGetObjectAcl%22%2C%22s3%3AGetObjectVersionAcl%22%2C%22s3%3AListAllMyBuckets%22%2C%22s3%3AListBucket%22%5D%2C%22Effect%22%3A%20%22Allow%22%2C%22Resource%22%3A%20%22%2A%22%7D%2C%7B%22Action%22%3A%20%5B%22sdb%3ADomainMetadata%22%2C%22sdb%3AListDomains%22%5D%2C%22Effect%22%3A%20%22Allow%22%2C%22Resource%22%3A%20%22%2A%22%7D%2C%7B%22Action%22%3A%20%5B%22sns%3AGetTopicAttributes%22%2C%22sns%3AListTopics%22%5D%2C%22Effect%22%3A%20%22Allow%22%2C%22Resource%22%3A%20%22%2A%22%7D%2C%7B%22Action%22%3A%20%5B%22sqs%3AGetQueueAttributes%22%2C%22sqs%3AListQueues%22%5D%2C%22Effect%22%3A%20%22Allow%22%2C%22Resource%22%3A%20%22%2A%22%7D%2C%7B%22Action%22%3A%20%5B%22kms%3ADescribe%2A%22%2C%22kms%3AGet%2A%22%2C%22kms%3AList%2A%22%5D%2C%22Effect%22%3A%20%22Allow%22%2C%22Resource%22%3A%20%5B%22%2A%22%5D%20%7D%2C%7B%22Action%22%3A%20%5B%22ds%3ACheck%2A%22%2C%22ds%3ADescribe%2A%22%2C%22ds%3AGet%2A%22%2C%22ds%3AList%2A%22%5D%2C%22Effect%22%3A%20%22Allow%22%2C%22Resource%22%3A%20%5B%22%2A%22%5D%7D%2C%7B%22Action%22%20%3A%20%5B%22codedeploy%3AGet%2A%22%2C%22codedeploy%3AList%2A%22%5D%2C%22Effect%22%20%3A%20%22Allow%22%2C%22Resource%22%3A%20%5B%22%2A%22%5D%7D%5D%7D\\\",\\\"policyName\\\":\\\"IsengardAuditorPolicy\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO43DZEFU3WH","resourceName":"IsengardAuditorRole-DO-NOT-DELETE","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"IsengardAuditorRole-DO-NOT-DELETE","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":768.5,"y":-2029.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/IsengardAuditorRole-DO-NOT-DELETE/inlinePolicy/IsengardAuditorPolicy","resourceId":["arn:aws:iam::044981683129:role/IsengardAuditorRole-DO-NOT-DELETE/inlinePolicy/IsengardAuditorPolicy","arn:aws:iam::044981683129:role/IsengardAuditorRole-DO-NOT-DELETE/inlinePolicy/IsengardAuditorPolicy"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/IsengardAuditorRole-DO-NOT-DELETE/inlinePolicy/IsengardAuditorPolicy","title":"arn:aws:iam::044981683129:role/IsengardAuditorRole-DO-NOT-DELETE/inlinePolicy/IsengardAuditorPolicy","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/IsengardAuditorRole-DO-NOT-DELETE/inlinePolicy/IsengardAuditorPolicy","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/IsengardAuditorRole-DO-NOT-DELETE/inlinePolicy/IsengardAuditorPolicy","name":"arn:aws:iam::044981683129:role/IsengardAuditorRole-DO-NOT-DELETE/inlinePolicy/IsengardAuditorPolicy","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/IsengardAuditorRole-DO-NOT-DELETE/inlinePolicy/IsengardAuditorPolicy","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/IsengardAuditorRole-DO-NOT-DELETE/inlinePolicy/IsengardAuditorPolicy","configuration":"\"{\\\"policyName\\\":\\\"IsengardAuditorPolicy\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"autoscaling:DescribeAdjustmentTypes\\\",\\\"autoscaling:DescribeAutoScalingGroups\\\",\\\"autoscaling:DescribeAutoScalingInstances\\\",\\\"autoscaling:DescribeAutoScalingNotificationTypes\\\",\\\"autoscaling:DescribeLaunchConfigurations\\\",\\\"autoscaling:DescribeMetricCollectionTypes\\\",\\\"autoscaling:DescribeNotificationConfigurations\\\",\\\"autoscaling:DescribePolicies\\\",\\\"autoscaling:DescribeScalingActivities\\\",\\\"autoscaling:DescribeScalingProcessTypes\\\",\\\"autoscaling:DescribeScheduledActions\\\",\\\"autoscaling:DescribeTags\\\",\\\"autoscaling:DescribeTriggers\\\"],\\\"Effect\\\":\\\"Allow\\\",\\\"Resource\\\":\\\"*\\\"},{\\\"Action\\\":[\\\"cloudformation:DescribeStackEvents\\\",\\\"cloudformation:DescribeStackResource\\\",\\\"cloudformation:DescribeStackResources\\\",\\\"cloudformation:DescribeStacks\\\",\\\"cloudformation:GetTemplate\\\",\\\"cloudformation:ListStacks\\\",\\\"cloudformation:ListStackResources\\\"],\\\"Effect\\\":\\\"Allow\\\",\\\"Resource\\\":\\\"*\\\"},{\\\"Action\\\":[\\\"cloudfront:GetCloudFrontOriginAccessIdentity\\\",\\\"cloudfront:GetCloudFrontOriginAccessIdentityConfig\\\",\\\"cloudfront:GetDistribution\\\",\\\"cloudfront:GetDistributionConfig\\\",\\\"cloudfront:GetInvalidation\\\",\\\"cloudfront:GetStreamingDistribution\\\",\\\"cloudfront:GetStreamingDistributionConfig\\\",\\\"cloudfront:ListCloudFrontOriginAccessIdentities\\\",\\\"cloudfront:ListDistributions\\\",\\\"cloudfront:ListInvalidations\\\",\\\"cloudfront:ListStreamingDistributions\\\"],\\\"Effect\\\":\\\"Allow\\\",\\\"Resource\\\":\\\"*\\\"},{\\\"Action\\\":[\\\"cloudtrail:DescribeTrails\\\"],\\\"Effect\\\":\\\"Allow\\\",\\\"Resource\\\":\\\"*\\\"},{\\\"Action\\\":[\\\"cloudwatch:DescribeAlarms\\\",\\\"cloudwatch:DescribeAlarmsForMetric\\\"],\\\"Effect\\\":\\\"Allow\\\",\\\"Resource\\\":\\\"*\\\"},{\\\"Action\\\":[\\\"directconnect:DescribeConnectionDetail\\\",\\\"directconnect:DescribeConnections\\\",\\\"directconnect:DescribeOfferingDetail\\\",\\\"directconnect:DescribeOfferings\\\",\\\"directconnect:DescribeVirtualGateways\\\",\\\"directconnect:DescribeVirtualInterfaces\\\"],\\\"Effect\\\":\\\"Allow\\\",\\\"Resource\\\":\\\"*\\\"},{\\\"Action\\\":[\\\"dynamodb:ListTables\\\"],\\\"Effect\\\":\\\"Allow\\\",\\\"Resource\\\":\\\"*\\\"},{\\\"Action\\\":[\\\"ec2:DescribeAccountAttributes\\\",\\\"ec2:DescribeAddresses\\\",\\\"ec2:DescribeAvailabilityZones\\\",\\\"ec2:DescribeBundleTasks\\\",\\\"ec2:DescribeConversionTasks\\\",\\\"ec2:DescribeCustomerGateways\\\",\\\"ec2:DescribeDhcpOptions\\\",\\\"ec2:DescribeExportTasks\\\",\\\"ec2:DescribeImageAttribute\\\",\\\"ec2:DescribeImages\\\",\\\"ec2:DescribeInstanceAttribute\\\",\\\"ec2:DescribeInstanceStatus\\\",\\\"ec2:DescribeInstances\\\",\\\"ec2:DescribeInternetGateways\\\",\\\"ec2:DescribeKeyPairs\\\",\\\"ec2:DescribeLicenses\\\",\\\"ec2:DescribeNetworkAcls\\\",\\\"ec2:DescribeNetworkInterfaceAttribute\\\",\\\"ec2:DescribeNetworkInterfaces\\\",\\\"ec2:DescribePlacementGroups\\\",\\\"ec2:DescribeRegions\\\",\\\"ec2:DescribeReservedInstances\\\",\\\"ec2:DescribeReservedInstancesOfferings\\\",\\\"ec2:DescribeRouteTables\\\",\\\"ec2:DescribeSecurityGroups\\\",\\\"ec2:DescribeSnapshotAttribute\\\",\\\"ec2:DescribeSnapshots\\\",\\\"ec2:DescribeSpotDatafeedSubscription\\\",\\\"ec2:DescribeSpotInstanceRequests\\\",\\\"ec2:DescribeSpotPriceHistory\\\",\\\"ec2:DescribeSubnets\\\",\\\"ec2:DescribeTags\\\",\\\"ec2:DescribeVolumeAttribute\\\",\\\"ec2:DescribeVolumeStatus\\\",\\\"ec2:DescribeVolumes\\\",\\\"ec2:DescribeVpcPeeringConnection\\\",\\\"ec2:DescribeVpcs\\\",\\\"ec2:DescribeVpnConnections\\\",\\\"ec2:DescribeVpnGateways\\\"],\\\"Effect\\\":\\\"Allow\\\",\\\"Resource\\\":\\\"*\\\"},{\\\"Action\\\":[\\\"elasticbeanstalk:DescribeApplicationVersions\\\",\\\"elasticbeanstalk:DescribeApplications\\\",\\\"elasticbeanstalk:DescribeConfigurationOptions\\\",\\\"elasticbeanstalk:DescribeConfigurationSettings\\\",\\\"elasticbeanstalk:DescribeEnvironmentResources\\\",\\\"elasticbeanstalk:DescribeEnvironments\\\",\\\"elasticbeanstalk:DescribeEvents\\\"],\\\"Effect\\\":\\\"Allow\\\",\\\"Resource\\\":\\\"*\\\"},{\\\"Action\\\":[\\\"elasticache:DescribeCacheClusters\\\",\\\"elasticache:DescribeCacheParameterGroups\\\",\\\"elasticache:DescribeCacheParameters\\\",\\\"elasticache:DescribeCacheSecurityGroups\\\",\\\"elasticache:DescribeEngineDefaultParameters\\\",\\\"elasticache:DescribeEvents\\\"],\\\"Effect\\\":\\\"Allow\\\",\\\"Resource\\\":\\\"*\\\"},{\\\"Action\\\":[\\\"elasticloadbalancing:DescribeInstanceHealth\\\",\\\"elasticloadbalancing:DescribeLoadBalancers\\\"],\\\"Effect\\\":\\\"Allow\\\",\\\"Resource\\\":\\\"*\\\"},{\\\"Action\\\":[\\\"elasticmapreduce:DescribeJobFlows\\\"],\\\"Effect\\\":\\\"Allow\\\",\\\"Resource\\\":\\\"*\\\"},{\\\"Action\\\":[\\\"glacier:ListVaults\\\"],\\\"Effect\\\":\\\"Allow\\\",\\\"Resource\\\":\\\"*\\\"},{\\\"Action\\\":[\\\"iam:GenerateCredentialReport\\\",\\\"iam:GetAccountPasswordPolicy\\\",\\\"iam:GetAccountSummary\\\",\\\"iam:GetGroup\\\",\\\"iam:GetGroupPolicy\\\",\\\"iam:GetInstanceProfile\\\",\\\"iam:GetLoginProfile\\\",\\\"iam:GetRole\\\",\\\"iam:GetRolePolicy\\\",\\\"iam:GetServerCertificate\\\",\\\"iam:GetUser\\\",\\\"iam:GetUserPolicy\\\",\\\"iam:ListAccessKeys\\\",\\\"iam:ListAccountAliases\\\",\\\"iam:ListGroupPolicies\\\",\\\"iam:ListGroups\\\",\\\"iam:ListGroupsForUser\\\",\\\"iam:ListInstanceProfiles\\\",\\\"iam:ListInstanceProfilesForRole\\\",\\\"iam:ListMFADevices\\\",\\\"iam:ListRolePolicies\\\",\\\"iam:ListRoles\\\",\\\"iam:ListServerCertificates\\\",\\\"iam:ListSigningCertificates\\\",\\\"iam:ListUserPolicies\\\",\\\"iam:ListUsers\\\",\\\"iam:ListVirtualMFADevices\\\"],\\\"Effect\\\":\\\"Allow\\\",\\\"Resource\\\":\\\"*\\\"},{\\\"Action\\\":[\\\"rds:DescribeEngineDefaultParameters\\\",\\\"rds:DescribeDBInstances\\\",\\\"rds:DescribeDBLogFiles\\\",\\\"rds:DescribeDBParameterGroups\\\",\\\"rds:DescribeDBParameters\\\",\\\"rds:DescribeDBSecurityGroups\\\",\\\"rds:DescribeDBSnapshots\\\",\\\"rds:DescribeDBEngineVersions\\\",\\\"rds:DescribeDBSubnetGroups\\\",\\\"rds:DescribeEventCategories\\\",\\\"rds:DescribeEvents\\\",\\\"rds:DescribeEventSubscriptions\\\",\\\"rds:DescribeOptionGroups\\\",\\\"rds:DescribeOptionGroupOptions\\\",\\\"rds:DescribeOrderableDBInstanceOptions\\\",\\\"rds:DescribeReservedDBInstances\\\",\\\"rds:DescribeReservedDBInstancesOfferings\\\",\\\"rds:DownloadDBLogFilePortion\\\",\\\"rds:ListTagsForResource\\\"],\\\"Effect\\\":\\\"Allow\\\",\\\"Resource\\\":\\\"*\\\"},{\\\"Action\\\":[\\\"redshift:DescribeClusterParameterGroups\\\",\\\"redshift:DescribeClusterParameters\\\",\\\"redshift:DescribeClusterSecurityGroups\\\",\\\"redshift:DescribeClusterSnapshots\\\",\\\"redshift:DescribeClusterSubnetGroups\\\",\\\"redshift:DescribeClusterVersions\\\",\\\"redshift:DescribeClusters\\\",\\\"redshift:DescribeDefaultClusterParameters\\\",\\\"redshift:DescribeEvents\\\",\\\"redshift:DescribeOrderableClusterOptions\\\",\\\"redshift:DescribeReservedNodeOfferings\\\",\\\"redshift:DescribeReservedNodes\\\",\\\"redshift:DescribeResize\\\"],\\\"Effect\\\":\\\"Allow\\\",\\\"Resource\\\":\\\"*\\\"},{\\\"Action\\\":[\\\"route53:GetHostedZone\\\",\\\"route53:ListHostedZones\\\",\\\"route53:ListResourceRecordSets\\\"],\\\"Effect\\\":\\\"Allow\\\",\\\"Resource\\\":\\\"*\\\"},{\\\"Action\\\":[\\\"s3:GetBucketAcl\\\",\\\"s3:GetBucketLocation\\\",\\\"s3:GetBucketLogging\\\",\\\"s3:GetBucketNotification\\\",\\\"s3:GetBucketPolicy\\\",\\\"s3:GetBucketRequestPayment\\\",\\\"s3:GetBucketVersioning\\\",\\\"s3:GetBucketWebsite\\\",\\\"s3:GetLifecycleConfiguration\\\",\\\"s3:GetObjectAcl\\\",\\\"s3:GetObjectVersionAcl\\\",\\\"s3:ListAllMyBuckets\\\",\\\"s3:ListBucket\\\"],\\\"Effect\\\":\\\"Allow\\\",\\\"Resource\\\":\\\"*\\\"},{\\\"Action\\\":[\\\"sdb:DomainMetadata\\\",\\\"sdb:ListDomains\\\"],\\\"Effect\\\":\\\"Allow\\\",\\\"Resource\\\":\\\"*\\\"},{\\\"Action\\\":[\\\"sns:GetTopicAttributes\\\",\\\"sns:ListTopics\\\"],\\\"Effect\\\":\\\"Allow\\\",\\\"Resource\\\":\\\"*\\\"},{\\\"Action\\\":[\\\"sqs:GetQueueAttributes\\\",\\\"sqs:ListQueues\\\"],\\\"Effect\\\":\\\"Allow\\\",\\\"Resource\\\":\\\"*\\\"},{\\\"Action\\\":[\\\"kms:Describe*\\\",\\\"kms:Get*\\\",\\\"kms:List*\\\"],\\\"Effect\\\":\\\"Allow\\\",\\\"Resource\\\":[\\\"*\\\"]},{\\\"Action\\\":[\\\"ds:Check*\\\",\\\"ds:Describe*\\\",\\\"ds:Get*\\\",\\\"ds:List*\\\"],\\\"Effect\\\":\\\"Allow\\\",\\\"Resource\\\":[\\\"*\\\"]},{\\\"Action\\\":[\\\"codedeploy:Get*\\\",\\\"codedeploy:List*\\\"],\\\"Effect\\\":\\\"Allow\\\",\\\"Resource\\\":[\\\"*\\\"]}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/IsengardAuditorRole-DO-NOT-DELETE/inlinePolicy/IsengardAuditorPolicy","resourceName":"arn:aws:iam::044981683129:role/IsengardAuditorRole-DO-NOT-DELETE/inlinePolicy/IsengardAuditorPolicy","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/IsengardAuditorRole-DO-NOT-DELETE/inlinePolicy/IsengardAuditorPolicy","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1684.5,"y":-2029.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/service-role/s3crr_role_for_aws-perspective-accesslogsbucket-163y1cix8v0lc_to","resourceId":["AROAQU6I6AO47GTOF7LCX","arn:aws:iam::044981683129:role/service-role/s3crr_role_for_aws-perspective-accesslogsbucket-163y1cix8v0lc_to"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/service-role/s3crr_role_for_aws-perspective-accesslogsbucket-163y1cix8v0lc_to","title":"s3crr_role_for_aws-perspective-accesslogsbucket-163y1cix8v0lc_to","label":"s3crr_role_f...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/service-role/s3crr_role_for_aws-perspective-accesslogsbucket-163y1cix8v0lc_to","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO47GTOF7LCX","name":"s3crr_role_for_aws-perspective-accesslogsbucket-163y1cix8v0lc_to","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/service-role/s3crr_role_for_aws-perspective-accesslogsbucket-163y1cix8v0lc_to","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/service-role/s3crr_role_for_aws-perspective-accesslogsbucket-163y1cix8v0lc_to","configuration":"\"{\\\"path\\\":\\\"/service-role/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22s3.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO47GTOF7LCX\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::044981683129:policy/service-role/s3crr_for_aws-perspective-accesslogsbucket-163y1cix8v0lc_to_amplify-elm-app-20190329163312-deployment_0cc22c\\\",\\\"policyName\\\":\\\"s3crr_for_aws-perspective-accesslogsbucket-163y1cix8v0lc_to_amplify-elm-app-20190329163312-deployment_0cc22c\\\"}],\\\"roleName\\\":\\\"s3crr_role_for_aws-perspective-accesslogsbucket-163y1cix8v0lc_to\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/service-role/s3crr_role_for_aws-perspective-accesslogsbucket-163y1cix8v0lc_to\\\",\\\"createDate\\\":\\\"2020-11-06T16:41:17.000Z\\\",\\\"rolePolicyList\\\":[],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO47GTOF7LCX","resourceName":"s3crr_role_for_aws-perspective-accesslogsbucket-163y1cix8v0lc_to","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"s3crr_role_for_aws-perspective-accesslogsbucket-163y1cix8v0lc_to","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":841.5,"y":-2029.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:policy/service-role/s3crr_for_aws-perspective-accesslogsbucket-163y1cix8v0lc_to_amplify-elm-app-20190329163312-deployment_0cc22c","resourceId":["ANPAQU6I6AO4T4J3BZ2JZ","arn:aws:iam::044981683129:policy/service-role/s3crr_for_aws-perspective-accesslogsbucket-163y1cix8v0lc_to_amplify-elm-app-20190329163312-deployment_0cc22c"],"parent":"Policy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:policy/service-role/s3crr_for_aws-perspective-accesslogsbucket-163y1cix8v0lc_to_amplify-elm-app-20190329163312-deployment_0cc22c","title":"s3crr_for_aws-perspective-accesslogsbucket-163y1cix8v0lc_to_amplify-elm-app-20190329163312-deployment_0cc22c","label":"s3crr_for_aw...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:policy/service-role/s3crr_for_aws-perspective-accesslogsbucket-163y1cix8v0lc_to_amplify-elm-app-20190329163312-deployment_0cc22c","image":"/icons/IAM_Policy.svg","cost":0,"private":false,"resource":{"id":"ANPAQU6I6AO4T4J3BZ2JZ","name":"s3crr_for_aws-perspective-accesslogsbucket-163y1cix8v0lc_to_amplify-elm-app-20190329163312-deployment_0cc22c","value":null,"type":"AWS::IAM::Policy","tags":"[]","arn":"arn:aws:iam::044981683129:policy/service-role/s3crr_for_aws-perspective-accesslogsbucket-163y1cix8v0lc_to_amplify-elm-app-20190329163312-deployment_0cc22c","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/policies","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/policies","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:policy/service-role/s3crr_for_aws-perspective-accesslogsbucket-163y1cix8v0lc_to_amplify-elm-app-20190329163312-deployment_0cc22c","configuration":"\"{\\\"permissionsBoundaryUsageCount\\\":0,\\\"policyVersionList\\\":[{\\\"versionId\\\":\\\"v1\\\",\\\"isDefaultVersion\\\":true,\\\"document\\\":\\\"%7B%0A%20%20%20%20%22Version%22%3A%20%222012-10-17%22%2C%0A%20%20%20%20%22Statement%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Action%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22s3%3AGet%2A%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22s3%3AListBucket%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Effect%22%3A%20%22Allow%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Resource%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22arn%3Aaws%3As3%3A%3A%3Aaws-perspective-accesslogsbucket-163y1cix8v0lc%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22arn%3Aaws%3As3%3A%3A%3Aaws-perspective-accesslogsbucket-163y1cix8v0lc%2F%2A%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Action%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22s3%3AReplicateObject%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22s3%3AReplicateDelete%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22s3%3AReplicateTags%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22s3%3AGetObjectVersionTagging%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22s3%3AObjectOwnerOverrideToBucketOwner%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Effect%22%3A%20%22Allow%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Resource%22%3A%20%22arn%3Aaws%3As3%3A%3A%3Aamplify-elm-app-20190329163312-deployment%2F%2A%22%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%5D%0A%7D\\\",\\\"createDate\\\":\\\"2020-11-06T16:41:18.000Z\\\"}],\\\"path\\\":\\\"/service-role/\\\",\\\"updateDate\\\":\\\"2020-11-06T16:41:18.000Z\\\",\\\"policyId\\\":\\\"ANPAQU6I6AO4T4J3BZ2JZ\\\",\\\"defaultVersionId\\\":\\\"v1\\\",\\\"policyName\\\":\\\"s3crr_for_aws-perspective-accesslogsbucket-163y1cix8v0lc_to_amplify-elm-app-20190329163312-deployment_0cc22c\\\",\\\"isAttachable\\\":true,\\\"attachmentCount\\\":1,\\\"arn\\\":\\\"arn:aws:iam::044981683129:policy/service-role/s3crr_for_aws-perspective-accesslogsbucket-163y1cix8v0lc_to_amplify-elm-app-20190329163312-deployment_0cc22c\\\",\\\"createDate\\\":\\\"2020-11-06T16:41:18.000Z\\\"}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/policies","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/policies","private":null,"resourceId":"ANPAQU6I6AO4T4J3BZ2JZ","resourceName":"s3crr_for_aws-perspective-accesslogsbucket-163y1cix8v0lc_to_amplify-elm-app-20190329163312-deployment_0cc22c","resourceType":"AWS::IAM::Policy","resourceValue":null,"state":null,"tags":"[]","title":"s3crr_for_aws-perspective-accesslogsbucket-163y1cix8v0lc_to_amplify-elm-app-20190329163312-deployment_0cc22c","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1100.5,"y":-1753.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/ecs-refarch-london-ECS-8V-ECSServiceAutoScalingRol-1UGZF8WKABXYA","resourceId":["AROAQU6I6AO47QWKTB4WV","arn:aws:iam::044981683129:role/ecs-refarch-london-ECS-8V-ECSServiceAutoScalingRol-1UGZF8WKABXYA"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/ecs-refarch-london-ECS-8V-ECSServiceAutoScalingRol-1UGZF8WKABXYA","title":"ecs-refarch-london-ECS-8V-ECSServiceAutoScalingRol-1UGZF8WKABXYA","label":"ecs-refarch-...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/ecs-refarch-london-ECS-8V-ECSServiceAutoScalingRol-1UGZF8WKABXYA","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO47QWKTB4WV","name":"ecs-refarch-london-ECS-8V-ECSServiceAutoScalingRol-1UGZF8WKABXYA","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/ecs-refarch-london-ECS-8V-ECSServiceAutoScalingRol-1UGZF8WKABXYA","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/ecs-refarch-london-ECS-8V-ECSServiceAutoScalingRol-1UGZF8WKABXYA","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22application-autoscaling.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO47QWKTB4WV\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"ecs-refarch-london-ECS-8V-ECSServiceAutoScalingRol-1UGZF8WKABXYA\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/ecs-refarch-london-ECS-8V-ECSServiceAutoScalingRol-1UGZF8WKABXYA\\\",\\\"createDate\\\":\\\"2022-03-02T17:25:59.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Statement%22%3A%7B%22Action%22%3A%5B%22application-autoscaling%3A%2A%22%2C%22cloudwatch%3ADescribeAlarms%22%2C%22cloudwatch%3APutMetricAlarm%22%2C%22ecs%3ADescribeServices%22%2C%22ecs%3AUpdateService%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%7D%7D\\\",\\\"policyName\\\":\\\"ecs-service-autoscaling\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO47QWKTB4WV","resourceName":"ecs-refarch-london-ECS-8V-ECSServiceAutoScalingRol-1UGZF8WKABXYA","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"ecs-refarch-london-ECS-8V-ECSServiceAutoScalingRol-1UGZF8WKABXYA","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":914.5,"y":-2029.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/ecs-refarch-london-ECS-8V-ECSServiceAutoScalingRol-1UGZF8WKABXYA/inlinePolicy/ecs-service-autoscaling","resourceId":["arn:aws:iam::044981683129:role/ecs-refarch-london-ECS-8V-ECSServiceAutoScalingRol-1UGZF8WKABXYA/inlinePolicy/ecs-service-autoscaling","arn:aws:iam::044981683129:role/ecs-refarch-london-ECS-8V-ECSServiceAutoScalingRol-1UGZF8WKABXYA/inlinePolicy/ecs-service-autoscaling"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/ecs-refarch-london-ECS-8V-ECSServiceAutoScalingRol-1UGZF8WKABXYA/inlinePolicy/ecs-service-autoscaling","title":"arn:aws:iam::044981683129:role/ecs-refarch-london-ECS-8V-ECSServiceAutoScalingRol-1UGZF8WKABXYA/inlinePolicy/ecs-service-autoscaling","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/ecs-refarch-london-ECS-8V-ECSServiceAutoScalingRol-1UGZF8WKABXYA/inlinePolicy/ecs-service-autoscaling","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/ecs-refarch-london-ECS-8V-ECSServiceAutoScalingRol-1UGZF8WKABXYA/inlinePolicy/ecs-service-autoscaling","name":"arn:aws:iam::044981683129:role/ecs-refarch-london-ECS-8V-ECSServiceAutoScalingRol-1UGZF8WKABXYA/inlinePolicy/ecs-service-autoscaling","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/ecs-refarch-london-ECS-8V-ECSServiceAutoScalingRol-1UGZF8WKABXYA/inlinePolicy/ecs-service-autoscaling","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/ecs-refarch-london-ECS-8V-ECSServiceAutoScalingRol-1UGZF8WKABXYA/inlinePolicy/ecs-service-autoscaling","configuration":"\"{\\\"policyName\\\":\\\"ecs-service-autoscaling\\\",\\\"policyDocument\\\":{\\\"Statement\\\":{\\\"Action\\\":[\\\"application-autoscaling:*\\\",\\\"cloudwatch:DescribeAlarms\\\",\\\"cloudwatch:PutMetricAlarm\\\",\\\"ecs:DescribeServices\\\",\\\"ecs:UpdateService\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"}}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/ecs-refarch-london-ECS-8V-ECSServiceAutoScalingRol-1UGZF8WKABXYA/inlinePolicy/ecs-service-autoscaling","resourceName":"arn:aws:iam::044981683129:role/ecs-refarch-london-ECS-8V-ECSServiceAutoScalingRol-1UGZF8WKABXYA/inlinePolicy/ecs-service-autoscaling","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/ecs-refarch-london-ECS-8V-ECSServiceAutoScalingRol-1UGZF8WKABXYA/inlinePolicy/ecs-service-autoscaling","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1757.5,"y":-2029.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-1F542O0QJS04B","resourceId":["AROAQU6I6AO4QIRL7S2OG","arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-1F542O0QJS04B"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-1F542O0QJS04B","title":"recipe-recommendation-engine-CodeBuildServiceRole-1F542O0QJS04B","label":"recipe-recom...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-1F542O0QJS04B","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO4QIRL7S2OG","name":"recipe-recommendation-engine-CodeBuildServiceRole-1F542O0QJS04B","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-1F542O0QJS04B","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-1F542O0QJS04B","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22codebuild.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO4QIRL7S2OG\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"recipe-recommendation-engine-CodeBuildServiceRole-1F542O0QJS04B\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-1F542O0QJS04B\\\",\\\"createDate\\\":\\\"2021-10-11T15:29:08.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22ecr%3AGetDownloadUrlForLayer%22%2C%22ecr%3ABatchGetImage%22%2C%22ecr%3ABatchCheckLayerAvailability%22%2C%22ecr%3APutImage%22%2C%22ecr%3AInitiateLayerUpload%22%2C%22ecr%3AUploadLayerPart%22%2C%22ecr%3ACompleteLayerUpload%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Aecr%3Aus-west-2%3A044981683129%3Arepository%2Fretaildemostore%2Fsearch%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"ecr\\\"},{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22logs%3ACreateLogGroup%22%2C%22logs%3ACreateLogStream%22%2C%22logs%3APutLogEvents%22%2C%22ecr%3AGetAuthorizationToken%22%2C%22ssm%3AGetParameters%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"logs\\\"},{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22s3%3AGetObject%22%2C%22s3%3APutObject%22%2C%22s3%3AGetObjectVersion%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3As3%3A%3A%3Arecipe-recommendation-engine-servi-artifactbucket-1hs6v3op1dl09%2F%2A%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"S3\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO4QIRL7S2OG","resourceName":"recipe-recommendation-engine-CodeBuildServiceRole-1F542O0QJS04B","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"recipe-recommendation-engine-CodeBuildServiceRole-1F542O0QJS04B","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":987.5,"y":-2029.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-1F542O0QJS04B/inlinePolicy/ecr","resourceId":["arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-1F542O0QJS04B/inlinePolicy/ecr","arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-1F542O0QJS04B/inlinePolicy/ecr"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-1F542O0QJS04B/inlinePolicy/ecr","title":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-1F542O0QJS04B/inlinePolicy/ecr","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-1F542O0QJS04B/inlinePolicy/ecr","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-1F542O0QJS04B/inlinePolicy/ecr","name":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-1F542O0QJS04B/inlinePolicy/ecr","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-1F542O0QJS04B/inlinePolicy/ecr","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-1F542O0QJS04B/inlinePolicy/ecr","configuration":"\"{\\\"policyName\\\":\\\"ecr\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"ecr:GetDownloadUrlForLayer\\\",\\\"ecr:BatchGetImage\\\",\\\"ecr:BatchCheckLayerAvailability\\\",\\\"ecr:PutImage\\\",\\\"ecr:InitiateLayerUpload\\\",\\\"ecr:UploadLayerPart\\\",\\\"ecr:CompleteLayerUpload\\\"],\\\"Resource\\\":\\\"arn:aws:ecr:us-west-2:044981683129:repository/retaildemostore/search\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-1F542O0QJS04B/inlinePolicy/ecr","resourceName":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-1F542O0QJS04B/inlinePolicy/ecr","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-1F542O0QJS04B/inlinePolicy/ecr","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1830.5,"y":-2029.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-1F542O0QJS04B/inlinePolicy/logs","resourceId":["arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-1F542O0QJS04B/inlinePolicy/logs","arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-1F542O0QJS04B/inlinePolicy/logs"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-1F542O0QJS04B/inlinePolicy/logs","title":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-1F542O0QJS04B/inlinePolicy/logs","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-1F542O0QJS04B/inlinePolicy/logs","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-1F542O0QJS04B/inlinePolicy/logs","name":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-1F542O0QJS04B/inlinePolicy/logs","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-1F542O0QJS04B/inlinePolicy/logs","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-1F542O0QJS04B/inlinePolicy/logs","configuration":"\"{\\\"policyName\\\":\\\"logs\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"logs:CreateLogGroup\\\",\\\"logs:CreateLogStream\\\",\\\"logs:PutLogEvents\\\",\\\"ecr:GetAuthorizationToken\\\",\\\"ssm:GetParameters\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-1F542O0QJS04B/inlinePolicy/logs","resourceName":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-1F542O0QJS04B/inlinePolicy/logs","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-1F542O0QJS04B/inlinePolicy/logs","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1903.5,"y":-2029.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-1F542O0QJS04B/inlinePolicy/S3","resourceId":["arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-1F542O0QJS04B/inlinePolicy/S3","arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-1F542O0QJS04B/inlinePolicy/S3"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-1F542O0QJS04B/inlinePolicy/S3","title":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-1F542O0QJS04B/inlinePolicy/S3","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-1F542O0QJS04B/inlinePolicy/S3","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-1F542O0QJS04B/inlinePolicy/S3","name":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-1F542O0QJS04B/inlinePolicy/S3","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-1F542O0QJS04B/inlinePolicy/S3","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-1F542O0QJS04B/inlinePolicy/S3","configuration":"\"{\\\"policyName\\\":\\\"S3\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"s3:GetObject\\\",\\\"s3:PutObject\\\",\\\"s3:GetObjectVersion\\\"],\\\"Resource\\\":\\\"arn:aws:s3:::recipe-recommendation-engine-servi-artifactbucket-1hs6v3op1dl09/*\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-1F542O0QJS04B/inlinePolicy/S3","resourceName":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-1F542O0QJS04B/inlinePolicy/S3","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-1F542O0QJS04B/inlinePolicy/S3","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1976.5,"y":-2029.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-NeptuneStack-NeptuneRole-1ILIOFBOXQQJB","resourceId":["AROAQU6I6AO4QLMK6WN36","arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-NeptuneStack-NeptuneRole-1ILIOFBOXQQJB"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-NeptuneStack-NeptuneRole-1ILIOFBOXQQJB","title":"Workload-Discovery-on-AWS-NeptuneStack-NeptuneRole-1ILIOFBOXQQJB","label":"Workload-Dis...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-NeptuneStack-NeptuneRole-1ILIOFBOXQQJB","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO4QLMK6WN36","name":"Workload-Discovery-on-AWS-NeptuneStack-NeptuneRole-1ILIOFBOXQQJB","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-NeptuneStack-NeptuneRole-1ILIOFBOXQQJB","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-NeptuneStack-NeptuneRole-1ILIOFBOXQQJB","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%5B%22rds.amazonaws.com%22%2C%22monitoring.rds.amazonaws.com%22%5D%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO4QLMK6WN36\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::044981683129:policy/Workload-Discovery-on-AWS-NeptuneStack-1TSSEEQW41B1F-NeptuneCloudWatchPolicy-G1BJODXSMIXZ\\\",\\\"policyName\\\":\\\"Workload-Discovery-on-AWS-NeptuneStack-1TSSEEQW41B1F-NeptuneCloudWatchPolicy-G1BJODXSMIXZ\\\"},{\\\"policyArn\\\":\\\"arn:aws:iam::044981683129:policy/Workload-Discovery-on-AWS-NeptuneStack-1TSSEEQW41B1F-NeptuneS3Policy-11G38S3HRQAOI\\\",\\\"policyName\\\":\\\"Workload-Discovery-on-AWS-NeptuneStack-1TSSEEQW41B1F-NeptuneS3Policy-11G38S3HRQAOI\\\"}],\\\"roleName\\\":\\\"Workload-Discovery-on-AWS-NeptuneStack-NeptuneRole-1ILIOFBOXQQJB\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-NeptuneStack-NeptuneRole-1ILIOFBOXQQJB\\\",\\\"createDate\\\":\\\"2023-02-28T14:27:25.000Z\\\",\\\"rolePolicyList\\\":[],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO4QLMK6WN36","resourceName":"Workload-Discovery-on-AWS-NeptuneStack-NeptuneRole-1ILIOFBOXQQJB","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"Workload-Discovery-on-AWS-NeptuneStack-NeptuneRole-1ILIOFBOXQQJB","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":1060.5,"y":-2029.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:policy/Workload-Discovery-on-AWS-NeptuneStack-1TSSEEQW41B1F-NeptuneCloudWatchPolicy-G1BJODXSMIXZ","resourceId":["ANPAQU6I6AO45X4EI3VHX","arn:aws:iam::044981683129:policy/Workload-Discovery-on-AWS-NeptuneStack-1TSSEEQW41B1F-NeptuneCloudWatchPolicy-G1BJODXSMIXZ"],"parent":"Policy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:policy/Workload-Discovery-on-AWS-NeptuneStack-1TSSEEQW41B1F-NeptuneCloudWatchPolicy-G1BJODXSMIXZ","title":"Workload-Discovery-on-AWS-NeptuneStack-1TSSEEQW41B1F-NeptuneCloudWatchPolicy-G1BJODXSMIXZ","label":"Workload-Dis...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:policy/Workload-Discovery-on-AWS-NeptuneStack-1TSSEEQW41B1F-NeptuneCloudWatchPolicy-G1BJODXSMIXZ","image":"/icons/IAM_Policy.svg","cost":0,"private":false,"resource":{"id":"ANPAQU6I6AO45X4EI3VHX","name":"Workload-Discovery-on-AWS-NeptuneStack-1TSSEEQW41B1F-NeptuneCloudWatchPolicy-G1BJODXSMIXZ","value":null,"type":"AWS::IAM::Policy","tags":"[]","arn":"arn:aws:iam::044981683129:policy/Workload-Discovery-on-AWS-NeptuneStack-1TSSEEQW41B1F-NeptuneCloudWatchPolicy-G1BJODXSMIXZ","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/policies","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/policies","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:policy/Workload-Discovery-on-AWS-NeptuneStack-1TSSEEQW41B1F-NeptuneCloudWatchPolicy-G1BJODXSMIXZ","configuration":"\"{\\\"permissionsBoundaryUsageCount\\\":0,\\\"policyVersionList\\\":[{\\\"versionId\\\":\\\"v1\\\",\\\"isDefaultVersion\\\":true,\\\"document\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22logs%3ACreateLogGroup%22%2C%22logs%3APutRetentionPolicy%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Alogs%3A%2A%3A%2A%3Alog-group%3A%2Faws%2Fneptune%2F%2A%22%5D%2C%22Effect%22%3A%22Allow%22%2C%22Sid%22%3A%22EnableLogGroups%22%7D%2C%7B%22Action%22%3A%5B%22logs%3ACreateLogStream%22%2C%22logs%3APutLogEvents%22%2C%22logs%3ADescriptLogStreams%22%2C%22logs%3AGetLogEvents%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Alogs%3A%2A%3A%2A%3Alog-group%3A%2Faws%2Fneptune%2F%2A%3Alog-stream%3A%2A%22%5D%2C%22Effect%22%3A%22Allow%22%2C%22Sid%22%3A%22EnableLogStreams%22%7D%5D%7D\\\",\\\"createDate\\\":\\\"2023-02-28T14:26:53.000Z\\\"}],\\\"path\\\":\\\"/\\\",\\\"updateDate\\\":\\\"2023-02-28T14:26:53.000Z\\\",\\\"policyId\\\":\\\"ANPAQU6I6AO45X4EI3VHX\\\",\\\"defaultVersionId\\\":\\\"v1\\\",\\\"policyName\\\":\\\"Workload-Discovery-on-AWS-NeptuneStack-1TSSEEQW41B1F-NeptuneCloudWatchPolicy-G1BJODXSMIXZ\\\",\\\"isAttachable\\\":true,\\\"description\\\":\\\"Default policy for CloudWatch logs\\\",\\\"attachmentCount\\\":1,\\\"arn\\\":\\\"arn:aws:iam::044981683129:policy/Workload-Discovery-on-AWS-NeptuneStack-1TSSEEQW41B1F-NeptuneCloudWatchPolicy-G1BJODXSMIXZ\\\",\\\"createDate\\\":\\\"2023-02-28T14:26:53.000Z\\\"}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/policies","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/policies","private":null,"resourceId":"ANPAQU6I6AO45X4EI3VHX","resourceName":"Workload-Discovery-on-AWS-NeptuneStack-1TSSEEQW41B1F-NeptuneCloudWatchPolicy-G1BJODXSMIXZ","resourceType":"AWS::IAM::Policy","resourceValue":null,"state":null,"tags":"[]","title":"Workload-Discovery-on-AWS-NeptuneStack-1TSSEEQW41B1F-NeptuneCloudWatchPolicy-G1BJODXSMIXZ","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1173.5,"y":-1753.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:policy/Workload-Discovery-on-AWS-NeptuneStack-1TSSEEQW41B1F-NeptuneS3Policy-11G38S3HRQAOI","resourceId":["ANPAQU6I6AO4QDIPRAOOX","arn:aws:iam::044981683129:policy/Workload-Discovery-on-AWS-NeptuneStack-1TSSEEQW41B1F-NeptuneS3Policy-11G38S3HRQAOI"],"parent":"Policy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:policy/Workload-Discovery-on-AWS-NeptuneStack-1TSSEEQW41B1F-NeptuneS3Policy-11G38S3HRQAOI","title":"Workload-Discovery-on-AWS-NeptuneStack-1TSSEEQW41B1F-NeptuneS3Policy-11G38S3HRQAOI","label":"Workload-Dis...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:policy/Workload-Discovery-on-AWS-NeptuneStack-1TSSEEQW41B1F-NeptuneS3Policy-11G38S3HRQAOI","image":"/icons/IAM_Policy.svg","cost":0,"private":false,"resource":{"id":"ANPAQU6I6AO4QDIPRAOOX","name":"Workload-Discovery-on-AWS-NeptuneStack-1TSSEEQW41B1F-NeptuneS3Policy-11G38S3HRQAOI","value":null,"type":"AWS::IAM::Policy","tags":"[]","arn":"arn:aws:iam::044981683129:policy/Workload-Discovery-on-AWS-NeptuneStack-1TSSEEQW41B1F-NeptuneS3Policy-11G38S3HRQAOI","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/policies","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/policies","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:policy/Workload-Discovery-on-AWS-NeptuneStack-1TSSEEQW41B1F-NeptuneS3Policy-11G38S3HRQAOI","configuration":"\"{\\\"permissionsBoundaryUsageCount\\\":0,\\\"policyVersionList\\\":[{\\\"versionId\\\":\\\"v1\\\",\\\"isDefaultVersion\\\":true,\\\"document\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22s3%3AGet%2A%22%2C%22s3%3AList%2A%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3As3%3A%3A%3A%2A%22%2C%22Effect%22%3A%22Allow%22%2C%22Sid%22%3A%22AllowNeptuneAccessToS3%22%7D%5D%7D\\\",\\\"createDate\\\":\\\"2023-02-28T14:26:53.000Z\\\"}],\\\"path\\\":\\\"/\\\",\\\"updateDate\\\":\\\"2023-02-28T14:26:53.000Z\\\",\\\"policyId\\\":\\\"ANPAQU6I6AO4QDIPRAOOX\\\",\\\"defaultVersionId\\\":\\\"v1\\\",\\\"policyName\\\":\\\"Workload-Discovery-on-AWS-NeptuneStack-1TSSEEQW41B1F-NeptuneS3Policy-11G38S3HRQAOI\\\",\\\"isAttachable\\\":true,\\\"description\\\":\\\"Neptune default policy for S3 access for data load\\\",\\\"attachmentCount\\\":1,\\\"arn\\\":\\\"arn:aws:iam::044981683129:policy/Workload-Discovery-on-AWS-NeptuneStack-1TSSEEQW41B1F-NeptuneS3Policy-11G38S3HRQAOI\\\",\\\"createDate\\\":\\\"2023-02-28T14:26:53.000Z\\\"}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/policies","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/policies","private":null,"resourceId":"ANPAQU6I6AO4QDIPRAOOX","resourceName":"Workload-Discovery-on-AWS-NeptuneStack-1TSSEEQW41B1F-NeptuneS3Policy-11G38S3HRQAOI","resourceType":"AWS::IAM::Policy","resourceValue":null,"state":null,"tags":"[]","title":"Workload-Discovery-on-AWS-NeptuneStack-1TSSEEQW41B1F-NeptuneS3Policy-11G38S3HRQAOI","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1246.5,"y":-1899.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/aws-perspective-v2-Search-PerspectiveSearchLambdaA-1L8H5AM7DG3Z3","resourceId":["AROAQU6I6AO46X2INUECZ","arn:aws:iam::044981683129:role/aws-perspective-v2-Search-PerspectiveSearchLambdaA-1L8H5AM7DG3Z3"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/aws-perspective-v2-Search-PerspectiveSearchLambdaA-1L8H5AM7DG3Z3","title":"aws-perspective-v2-Search-PerspectiveSearchLambdaA-1L8H5AM7DG3Z3","label":"aws-perspect...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/aws-perspective-v2-Search-PerspectiveSearchLambdaA-1L8H5AM7DG3Z3","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO46X2INUECZ","name":"aws-perspective-v2-Search-PerspectiveSearchLambdaA-1L8H5AM7DG3Z3","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/aws-perspective-v2-Search-PerspectiveSearchLambdaA-1L8H5AM7DG3Z3","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/aws-perspective-v2-Search-PerspectiveSearchLambdaA-1L8H5AM7DG3Z3","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22appsync.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO46X2INUECZ\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"aws-perspective-v2-Search-PerspectiveSearchLambdaA-1L8H5AM7DG3Z3\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/aws-perspective-v2-Search-PerspectiveSearchLambdaA-1L8H5AM7DG3Z3\\\",\\\"createDate\\\":\\\"2022-08-30T11:02:34.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22lambda%3AInvokeFunction%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Alambda%3Aeu-west-2%3A044981683129%3Afunction%3Aaws-perspective-v2-Search-SearchApiAppSyncFunction-NUfdeRkBajDF%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"aws-perspective-v2-SearchResolversStack-LGHA18LGEXCE-AppSyncSearchRole\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO46X2INUECZ","resourceName":"aws-perspective-v2-Search-PerspectiveSearchLambdaA-1L8H5AM7DG3Z3","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"aws-perspective-v2-Search-PerspectiveSearchLambdaA-1L8H5AM7DG3Z3","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":1133.5,"y":-2029.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/aws-perspective-v2-Search-PerspectiveSearchLambdaA-1L8H5AM7DG3Z3/inlinePolicy/aws-perspective-v2-SearchResolversStack-LGHA18LGEXCE-AppSyncSearchRole","resourceId":["arn:aws:iam::044981683129:role/aws-perspective-v2-Search-PerspectiveSearchLambdaA-1L8H5AM7DG3Z3/inlinePolicy/aws-perspective-v2-SearchResolversStack-LGHA18LGEXCE-AppSyncSearchRole","arn:aws:iam::044981683129:role/aws-perspective-v2-Search-PerspectiveSearchLambdaA-1L8H5AM7DG3Z3/inlinePolicy/aws-perspective-v2-SearchResolversStack-LGHA18LGEXCE-AppSyncSearchRole"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/aws-perspective-v2-Search-PerspectiveSearchLambdaA-1L8H5AM7DG3Z3/inlinePolicy/aws-perspective-v2-SearchResolversStack-LGHA18LGEXCE-AppSyncSearchRole","title":"arn:aws:iam::044981683129:role/aws-perspective-v2-Search-PerspectiveSearchLambdaA-1L8H5AM7DG3Z3/inlinePolicy/aws-perspective-v2-SearchResolversStack-LGHA18LGEXCE-AppSyncSearchRole","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/aws-perspective-v2-Search-PerspectiveSearchLambdaA-1L8H5AM7DG3Z3/inlinePolicy/aws-perspective-v2-SearchResolversStack-LGHA18LGEXCE-AppSyncSearchRole","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/aws-perspective-v2-Search-PerspectiveSearchLambdaA-1L8H5AM7DG3Z3/inlinePolicy/aws-perspective-v2-SearchResolversStack-LGHA18LGEXCE-AppSyncSearchRole","name":"arn:aws:iam::044981683129:role/aws-perspective-v2-Search-PerspectiveSearchLambdaA-1L8H5AM7DG3Z3/inlinePolicy/aws-perspective-v2-SearchResolversStack-LGHA18LGEXCE-AppSyncSearchRole","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/aws-perspective-v2-Search-PerspectiveSearchLambdaA-1L8H5AM7DG3Z3/inlinePolicy/aws-perspective-v2-SearchResolversStack-LGHA18LGEXCE-AppSyncSearchRole","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/aws-perspective-v2-Search-PerspectiveSearchLambdaA-1L8H5AM7DG3Z3/inlinePolicy/aws-perspective-v2-SearchResolversStack-LGHA18LGEXCE-AppSyncSearchRole","configuration":"\"{\\\"policyName\\\":\\\"aws-perspective-v2-SearchResolversStack-LGHA18LGEXCE-AppSyncSearchRole\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"lambda:InvokeFunction\\\"],\\\"Resource\\\":\\\"arn:aws:lambda:eu-west-2:044981683129:function:aws-perspective-v2-Search-SearchApiAppSyncFunction-NUfdeRkBajDF\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/aws-perspective-v2-Search-PerspectiveSearchLambdaA-1L8H5AM7DG3Z3/inlinePolicy/aws-perspective-v2-SearchResolversStack-LGHA18LGEXCE-AppSyncSearchRole","resourceName":"arn:aws:iam::044981683129:role/aws-perspective-v2-Search-PerspectiveSearchLambdaA-1L8H5AM7DG3Z3/inlinePolicy/aws-perspective-v2-SearchResolversStack-LGHA18LGEXCE-AppSyncSearchRole","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/aws-perspective-v2-Search-PerspectiveSearchLambdaA-1L8H5AM7DG3Z3/inlinePolicy/aws-perspective-v2-SearchResolversStack-LGHA18LGEXCE-AppSyncSearchRole","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":2049.5,"y":-2029.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/wd2-2022-10-07-VpcStack-JV66F8IP5PCO-FlowLogRole-1MR95V0BSSCV0","resourceId":["AROAQU6I6AO4QOJB6JVH5","arn:aws:iam::044981683129:role/wd2-2022-10-07-VpcStack-JV66F8IP5PCO-FlowLogRole-1MR95V0BSSCV0"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-VpcStack-JV66F8IP5PCO-FlowLogRole-1MR95V0BSSCV0","title":"wd2-2022-10-07-VpcStack-JV66F8IP5PCO-FlowLogRole-1MR95V0BSSCV0","label":"wd2-2022-10-...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/wd2-2022-10-07-VpcStack-JV66F8IP5PCO-FlowLogRole-1MR95V0BSSCV0","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO4QOJB6JVH5","name":"wd2-2022-10-07-VpcStack-JV66F8IP5PCO-FlowLogRole-1MR95V0BSSCV0","value":null,"type":"AWS::IAM::Role","tags":"[{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"}]","arn":"arn:aws:iam::044981683129:role/wd2-2022-10-07-VpcStack-JV66F8IP5PCO-FlowLogRole-1MR95V0BSSCV0","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/wd2-2022-10-07-VpcStack-JV66F8IP5PCO-FlowLogRole-1MR95V0BSSCV0","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22vpc-flow-logs.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO4QOJB6JVH5\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO-FlowLogRole-1MR95V0BSSCV0\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/wd2-2022-10-07-VpcStack-JV66F8IP5PCO-FlowLogRole-1MR95V0BSSCV0\\\",\\\"createDate\\\":\\\"2022-10-07T17:51:08.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22logs%3ADescribeLogGroups%22%2C%22logs%3ADescribeLogStreams%22%2C%22logs%3ACreateLogStream%22%2C%22logs%3APutLogEvents%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Alogs%3Aeu-west-1%3A044981683129%3Alog-group%3Awd2-2022-10-07-VpcStack-JV66F8IP5PCO-FlowLogGroup-XMKMQdCH8eSz%3A%2A%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"flowlog-policy\\\"}],\\\"tags\\\":[{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"key\\\":\\\"AppManagerCFNStackKey\\\"}]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO4QOJB6JVH5","resourceName":"wd2-2022-10-07-VpcStack-JV66F8IP5PCO-FlowLogRole-1MR95V0BSSCV0","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"}]","title":"wd2-2022-10-07-VpcStack-JV66F8IP5PCO-FlowLogRole-1MR95V0BSSCV0","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":1206.5,"y":-2029.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/wd2-2022-10-07-VpcStack-JV66F8IP5PCO-FlowLogRole-1MR95V0BSSCV0/inlinePolicy/flowlog-policy","resourceId":["arn:aws:iam::044981683129:role/wd2-2022-10-07-VpcStack-JV66F8IP5PCO-FlowLogRole-1MR95V0BSSCV0/inlinePolicy/flowlog-policy","arn:aws:iam::044981683129:role/wd2-2022-10-07-VpcStack-JV66F8IP5PCO-FlowLogRole-1MR95V0BSSCV0/inlinePolicy/flowlog-policy"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-VpcStack-JV66F8IP5PCO-FlowLogRole-1MR95V0BSSCV0/inlinePolicy/flowlog-policy","title":"arn:aws:iam::044981683129:role/wd2-2022-10-07-VpcStack-JV66F8IP5PCO-FlowLogRole-1MR95V0BSSCV0/inlinePolicy/flowlog-policy","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/wd2-2022-10-07-VpcStack-JV66F8IP5PCO-FlowLogRole-1MR95V0BSSCV0/inlinePolicy/flowlog-policy","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-VpcStack-JV66F8IP5PCO-FlowLogRole-1MR95V0BSSCV0/inlinePolicy/flowlog-policy","name":"arn:aws:iam::044981683129:role/wd2-2022-10-07-VpcStack-JV66F8IP5PCO-FlowLogRole-1MR95V0BSSCV0/inlinePolicy/flowlog-policy","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/wd2-2022-10-07-VpcStack-JV66F8IP5PCO-FlowLogRole-1MR95V0BSSCV0/inlinePolicy/flowlog-policy","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/wd2-2022-10-07-VpcStack-JV66F8IP5PCO-FlowLogRole-1MR95V0BSSCV0/inlinePolicy/flowlog-policy","configuration":"\"{\\\"policyName\\\":\\\"flowlog-policy\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"logs:DescribeLogGroups\\\",\\\"logs:DescribeLogStreams\\\",\\\"logs:CreateLogStream\\\",\\\"logs:PutLogEvents\\\"],\\\"Resource\\\":\\\"arn:aws:logs:eu-west-1:044981683129:log-group:wd2-2022-10-07-VpcStack-JV66F8IP5PCO-FlowLogGroup-XMKMQdCH8eSz:*\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/wd2-2022-10-07-VpcStack-JV66F8IP5PCO-FlowLogRole-1MR95V0BSSCV0/inlinePolicy/flowlog-policy","resourceName":"arn:aws:iam::044981683129:role/wd2-2022-10-07-VpcStack-JV66F8IP5PCO-FlowLogRole-1MR95V0BSSCV0/inlinePolicy/flowlog-policy","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/wd2-2022-10-07-VpcStack-JV66F8IP5PCO-FlowLogRole-1MR95V0BSSCV0/inlinePolicy/flowlog-policy","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":2122.5,"y":-2029.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"vpc-04e5e1c4bc4409222-eu-west-1-044981683129","parent":"eu-west-1-044981683129","level":2,"title":"vpc-04e5e1c4bc4409222","label":"vpc-04e5e1c4bc4409222","plainLabel":"vpc-04e5e1c4bc4409222","type":"vpc","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/VPC-collapsed.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":null,"label":"Stack","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447","label":"AWS_CloudFormation_Stack","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447","configuration":"\"{\\\"outputs\\\":[{\\\"outputKey\\\":\\\"AvailabilityZone1\\\",\\\"outputValue\\\":\\\"eu-west-1b\\\"},{\\\"outputKey\\\":\\\"PrivateSubnet0\\\",\\\"outputValue\\\":\\\"subnet-02e0c991bba17b7eb\\\",\\\"description\\\":\\\"SubnetId of private subnet 0\\\"},{\\\"outputKey\\\":\\\"PrivateSubnet1\\\",\\\"outputValue\\\":\\\"subnet-010652f698dff6484\\\",\\\"description\\\":\\\"SubnetId of private subnet 1\\\"},{\\\"outputKey\\\":\\\"AvailabilityZone0\\\",\\\"outputValue\\\":\\\"eu-west-1a\\\"},{\\\"outputKey\\\":\\\"VpcCidr\\\",\\\"outputValue\\\":\\\"10.0.0.0/16\\\",\\\"description\\\":\\\"VPC CIDR\\\"},{\\\"outputKey\\\":\\\"VPCId\\\",\\\"outputValue\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"description\\\":\\\"VPCId of VPC\\\"},{\\\"outputKey\\\":\\\"VpcEndpointsSg\\\",\\\"outputValue\\\":\\\"sg-02b585bfae59e4fe3\\\",\\\"description\\\":\\\"Security group for all VPC Endpoints\\\"},{\\\"outputKey\\\":\\\"PublicSubnet1\\\",\\\"outputValue\\\":\\\"subnet-09a8d208939761202\\\",\\\"description\\\":\\\"SubnetId of public subnet 1\\\"},{\\\"outputKey\\\":\\\"PublicSubnet0\\\",\\\"outputValue\\\":\\\"subnet-0a0fb0d325b2f6e27\\\",\\\"description\\\":\\\"SubnetId of public subnet 0\\\"}],\\\"capabilities\\\":[\\\"CAPABILITY_IAM\\\",\\\"CAPABILITY_NAMED_IAM\\\",\\\"CAPABILITY_AUTO_EXPAND\\\"],\\\"creationTime\\\":\\\"2022-10-07T17:50:59Z\\\",\\\"notificationARNs\\\":[],\\\"stackId\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\\\",\\\"stackName\\\":\\\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\\\",\\\"description\\\":\\\"Workload Discovery on AWS VPC Stack\\\",\\\"stackStatus\\\":\\\"UPDATE_COMPLETE\\\",\\\"disableRollback\\\":false,\\\"parentId\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"tags\\\":[{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"key\\\":\\\"AppManagerCFNStackKey\\\"}],\\\"timeoutInMinutes\\\":60,\\\"driftInformation\\\":{\\\"stackDriftStatus\\\":\\\"NOT_CHECKED\\\"},\\\"enableTerminationProtection\\\":false,\\\"lastUpdatedTime\\\":\\\"2023-01-23T16:04:14Z\\\",\\\"parameters\\\":[{\\\"parameterKey\\\":\\\"RetentionInDays\\\",\\\"parameterValue\\\":\\\"14\\\"},{\\\"parameterKey\\\":\\\"TrafficType\\\",\\\"parameterValue\\\":\\\"ALL\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Regional","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447","resourceName":"wd2-2022-10-07-VpcStack-JV66F8IP5PCO","resourceType":"AWS::CloudFormation::Stack","resourceValue":null,"state":null,"tags":"[{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"}]","title":"wd2-2022-10-07-VpcStack-JV66F8IP5PCO","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1521,"y":-2160.5},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"vpc removeAll _gridParentPadding"},{"data":{"id":"Stack-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","parent":"vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":3,"title":"Stack","label":"Stack","plainLabel":"Stack","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/AWS-CloudFormation.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447","label":"AWS_CloudFormation_Stack","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447","configuration":"\"{\\\"outputs\\\":[{\\\"outputKey\\\":\\\"AvailabilityZone1\\\",\\\"outputValue\\\":\\\"eu-west-1b\\\"},{\\\"outputKey\\\":\\\"PrivateSubnet0\\\",\\\"outputValue\\\":\\\"subnet-02e0c991bba17b7eb\\\",\\\"description\\\":\\\"SubnetId of private subnet 0\\\"},{\\\"outputKey\\\":\\\"PrivateSubnet1\\\",\\\"outputValue\\\":\\\"subnet-010652f698dff6484\\\",\\\"description\\\":\\\"SubnetId of private subnet 1\\\"},{\\\"outputKey\\\":\\\"AvailabilityZone0\\\",\\\"outputValue\\\":\\\"eu-west-1a\\\"},{\\\"outputKey\\\":\\\"VpcCidr\\\",\\\"outputValue\\\":\\\"10.0.0.0/16\\\",\\\"description\\\":\\\"VPC CIDR\\\"},{\\\"outputKey\\\":\\\"VPCId\\\",\\\"outputValue\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"description\\\":\\\"VPCId of VPC\\\"},{\\\"outputKey\\\":\\\"VpcEndpointsSg\\\",\\\"outputValue\\\":\\\"sg-02b585bfae59e4fe3\\\",\\\"description\\\":\\\"Security group for all VPC Endpoints\\\"},{\\\"outputKey\\\":\\\"PublicSubnet1\\\",\\\"outputValue\\\":\\\"subnet-09a8d208939761202\\\",\\\"description\\\":\\\"SubnetId of public subnet 1\\\"},{\\\"outputKey\\\":\\\"PublicSubnet0\\\",\\\"outputValue\\\":\\\"subnet-0a0fb0d325b2f6e27\\\",\\\"description\\\":\\\"SubnetId of public subnet 0\\\"}],\\\"capabilities\\\":[\\\"CAPABILITY_IAM\\\",\\\"CAPABILITY_NAMED_IAM\\\",\\\"CAPABILITY_AUTO_EXPAND\\\"],\\\"creationTime\\\":\\\"2022-10-07T17:50:59Z\\\",\\\"notificationARNs\\\":[],\\\"stackId\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\\\",\\\"stackName\\\":\\\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\\\",\\\"description\\\":\\\"Workload Discovery on AWS VPC Stack\\\",\\\"stackStatus\\\":\\\"UPDATE_COMPLETE\\\",\\\"disableRollback\\\":false,\\\"parentId\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"tags\\\":[{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"key\\\":\\\"AppManagerCFNStackKey\\\"}],\\\"timeoutInMinutes\\\":60,\\\"driftInformation\\\":{\\\"stackDriftStatus\\\":\\\"NOT_CHECKED\\\"},\\\"enableTerminationProtection\\\":false,\\\"lastUpdatedTime\\\":\\\"2023-01-23T16:04:14Z\\\",\\\"parameters\\\":[{\\\"parameterKey\\\":\\\"RetentionInDays\\\",\\\"parameterValue\\\":\\\"14\\\"},{\\\"parameterKey\\\":\\\"TrafficType\\\",\\\"parameterValue\\\":\\\"ALL\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Regional","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447","resourceName":"wd2-2022-10-07-VpcStack-JV66F8IP5PCO","resourceType":"AWS::CloudFormation::Stack","resourceValue":null,"state":null,"tags":"[{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"}]","title":"wd2-2022-10-07-VpcStack-JV66F8IP5PCO","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1989.5,"y":-1699.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447","resourceId":["arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447","arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447"],"parent":"Stack-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":4,"id":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447","title":"wd2-2022-10-07-VpcStack-JV66F8IP5PCO","label":"wd2-2022-10-...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447","image":"/icons/AWS-CloudFormation.svg","cost":0,"private":false,"resource":{"id":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447","name":"wd2-2022-10-07-VpcStack-JV66F8IP5PCO","value":null,"type":"AWS::CloudFormation::Stack","tags":"[{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"}]","arn":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447","configuration":"\"{\\\"outputs\\\":[{\\\"outputKey\\\":\\\"AvailabilityZone1\\\",\\\"outputValue\\\":\\\"eu-west-1b\\\"},{\\\"outputKey\\\":\\\"PrivateSubnet0\\\",\\\"outputValue\\\":\\\"subnet-02e0c991bba17b7eb\\\",\\\"description\\\":\\\"SubnetId of private subnet 0\\\"},{\\\"outputKey\\\":\\\"PrivateSubnet1\\\",\\\"outputValue\\\":\\\"subnet-010652f698dff6484\\\",\\\"description\\\":\\\"SubnetId of private subnet 1\\\"},{\\\"outputKey\\\":\\\"AvailabilityZone0\\\",\\\"outputValue\\\":\\\"eu-west-1a\\\"},{\\\"outputKey\\\":\\\"VpcCidr\\\",\\\"outputValue\\\":\\\"10.0.0.0/16\\\",\\\"description\\\":\\\"VPC CIDR\\\"},{\\\"outputKey\\\":\\\"VPCId\\\",\\\"outputValue\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"description\\\":\\\"VPCId of VPC\\\"},{\\\"outputKey\\\":\\\"VpcEndpointsSg\\\",\\\"outputValue\\\":\\\"sg-02b585bfae59e4fe3\\\",\\\"description\\\":\\\"Security group for all VPC Endpoints\\\"},{\\\"outputKey\\\":\\\"PublicSubnet1\\\",\\\"outputValue\\\":\\\"subnet-09a8d208939761202\\\",\\\"description\\\":\\\"SubnetId of public subnet 1\\\"},{\\\"outputKey\\\":\\\"PublicSubnet0\\\",\\\"outputValue\\\":\\\"subnet-0a0fb0d325b2f6e27\\\",\\\"description\\\":\\\"SubnetId of public subnet 0\\\"}],\\\"capabilities\\\":[\\\"CAPABILITY_IAM\\\",\\\"CAPABILITY_NAMED_IAM\\\",\\\"CAPABILITY_AUTO_EXPAND\\\"],\\\"creationTime\\\":\\\"2022-10-07T17:50:59Z\\\",\\\"notificationARNs\\\":[],\\\"stackId\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\\\",\\\"stackName\\\":\\\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\\\",\\\"description\\\":\\\"Workload Discovery on AWS VPC Stack\\\",\\\"stackStatus\\\":\\\"UPDATE_COMPLETE\\\",\\\"disableRollback\\\":false,\\\"parentId\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"tags\\\":[{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"key\\\":\\\"AppManagerCFNStackKey\\\"}],\\\"timeoutInMinutes\\\":60,\\\"driftInformation\\\":{\\\"stackDriftStatus\\\":\\\"NOT_CHECKED\\\"},\\\"enableTerminationProtection\\\":false,\\\"lastUpdatedTime\\\":\\\"2023-01-23T16:04:14Z\\\",\\\"parameters\\\":[{\\\"parameterKey\\\":\\\"RetentionInDays\\\",\\\"parameterValue\\\":\\\"14\\\"},{\\\"parameterKey\\\":\\\"TrafficType\\\",\\\"parameterValue\\\":\\\"ALL\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Regional","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447","resourceName":"wd2-2022-10-07-VpcStack-JV66F8IP5PCO","resourceType":"AWS::CloudFormation::Stack","resourceValue":null,"state":null,"tags":"[{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"}]","title":"wd2-2022-10-07-VpcStack-JV66F8IP5PCO","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1989.5,"y":-1699.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1R6Z5RD9AWOW3","resourceId":["AROAQU6I6AO47B5KJC7IH","arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1R6Z5RD9AWOW3"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1R6Z5RD9AWOW3","title":"retaildemostore-Services-1WZN-CodeBuildServiceRole-1R6Z5RD9AWOW3","label":"retaildemost...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1R6Z5RD9AWOW3","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO47B5KJC7IH","name":"retaildemostore-Services-1WZN-CodeBuildServiceRole-1R6Z5RD9AWOW3","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1R6Z5RD9AWOW3","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1R6Z5RD9AWOW3","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22codebuild.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO47B5KJC7IH\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"retaildemostore-Services-1WZN-CodeBuildServiceRole-1R6Z5RD9AWOW3\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1R6Z5RD9AWOW3\\\",\\\"createDate\\\":\\\"2021-10-22T12:09:37.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22ecr%3AGetDownloadUrlForLayer%22%2C%22ecr%3ABatchGetImage%22%2C%22ecr%3ABatchCheckLayerAvailability%22%2C%22ecr%3APutImage%22%2C%22ecr%3AInitiateLayerUpload%22%2C%22ecr%3AUploadLayerPart%22%2C%22ecr%3ACompleteLayerUpload%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Aecr%3Aus-east-1%3A044981683129%3Arepository%2Fretaildemostore%2Fcarts%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"ecr\\\"},{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22logs%3ACreateLogGroup%22%2C%22logs%3ACreateLogStream%22%2C%22logs%3APutLogEvents%22%2C%22ecr%3AGetAuthorizationToken%22%2C%22ssm%3AGetParameters%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"logs\\\"},{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22s3%3AGetObject%22%2C%22s3%3APutObject%22%2C%22s3%3AGetObjectVersion%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3As3%3A%3A%3Aretaildemostore-services-1wznopxsy-artifactbucket-1kdgw7ge2e0kw%2F%2A%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"S3\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO47B5KJC7IH","resourceName":"retaildemostore-Services-1WZN-CodeBuildServiceRole-1R6Z5RD9AWOW3","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"retaildemostore-Services-1WZN-CodeBuildServiceRole-1R6Z5RD9AWOW3","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":1279.5,"y":-2759.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1R6Z5RD9AWOW3/inlinePolicy/ecr","resourceId":["arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1R6Z5RD9AWOW3/inlinePolicy/ecr","arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1R6Z5RD9AWOW3/inlinePolicy/ecr"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1R6Z5RD9AWOW3/inlinePolicy/ecr","title":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1R6Z5RD9AWOW3/inlinePolicy/ecr","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1R6Z5RD9AWOW3/inlinePolicy/ecr","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1R6Z5RD9AWOW3/inlinePolicy/ecr","name":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1R6Z5RD9AWOW3/inlinePolicy/ecr","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1R6Z5RD9AWOW3/inlinePolicy/ecr","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1R6Z5RD9AWOW3/inlinePolicy/ecr","configuration":"\"{\\\"policyName\\\":\\\"ecr\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"ecr:GetDownloadUrlForLayer\\\",\\\"ecr:BatchGetImage\\\",\\\"ecr:BatchCheckLayerAvailability\\\",\\\"ecr:PutImage\\\",\\\"ecr:InitiateLayerUpload\\\",\\\"ecr:UploadLayerPart\\\",\\\"ecr:CompleteLayerUpload\\\"],\\\"Resource\\\":\\\"arn:aws:ecr:us-east-1:044981683129:repository/retaildemostore/carts\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1R6Z5RD9AWOW3/inlinePolicy/ecr","resourceName":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1R6Z5RD9AWOW3/inlinePolicy/ecr","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1R6Z5RD9AWOW3/inlinePolicy/ecr","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":2195.5,"y":-2759.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1R6Z5RD9AWOW3/inlinePolicy/logs","resourceId":["arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1R6Z5RD9AWOW3/inlinePolicy/logs","arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1R6Z5RD9AWOW3/inlinePolicy/logs"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1R6Z5RD9AWOW3/inlinePolicy/logs","title":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1R6Z5RD9AWOW3/inlinePolicy/logs","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1R6Z5RD9AWOW3/inlinePolicy/logs","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1R6Z5RD9AWOW3/inlinePolicy/logs","name":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1R6Z5RD9AWOW3/inlinePolicy/logs","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1R6Z5RD9AWOW3/inlinePolicy/logs","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1R6Z5RD9AWOW3/inlinePolicy/logs","configuration":"\"{\\\"policyName\\\":\\\"logs\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"logs:CreateLogGroup\\\",\\\"logs:CreateLogStream\\\",\\\"logs:PutLogEvents\\\",\\\"ecr:GetAuthorizationToken\\\",\\\"ssm:GetParameters\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1R6Z5RD9AWOW3/inlinePolicy/logs","resourceName":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1R6Z5RD9AWOW3/inlinePolicy/logs","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1R6Z5RD9AWOW3/inlinePolicy/logs","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":2195.5,"y":-2686.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1R6Z5RD9AWOW3/inlinePolicy/S3","resourceId":["arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1R6Z5RD9AWOW3/inlinePolicy/S3","arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1R6Z5RD9AWOW3/inlinePolicy/S3"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1R6Z5RD9AWOW3/inlinePolicy/S3","title":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1R6Z5RD9AWOW3/inlinePolicy/S3","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1R6Z5RD9AWOW3/inlinePolicy/S3","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1R6Z5RD9AWOW3/inlinePolicy/S3","name":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1R6Z5RD9AWOW3/inlinePolicy/S3","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1R6Z5RD9AWOW3/inlinePolicy/S3","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1R6Z5RD9AWOW3/inlinePolicy/S3","configuration":"\"{\\\"policyName\\\":\\\"S3\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"s3:GetObject\\\",\\\"s3:PutObject\\\",\\\"s3:GetObjectVersion\\\"],\\\"Resource\\\":\\\"arn:aws:s3:::retaildemostore-services-1wznopxsy-artifactbucket-1kdgw7ge2e0kw/*\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1R6Z5RD9AWOW3/inlinePolicy/S3","resourceName":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1R6Z5RD9AWOW3/inlinePolicy/S3","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1R6Z5RD9AWOW3/inlinePolicy/S3","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":2195.5,"y":-2613.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-S3-CleanupBucketFunctionRol-62XKP203PYW4","resourceId":["AROAQU6I6AO4SFM22Q5RS","arn:aws:iam::044981683129:role/workload-discovery-iad-S3-CleanupBucketFunctionRol-62XKP203PYW4"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/workload-discovery-iad-S3-CleanupBucketFunctionRol-62XKP203PYW4","title":"workload-discovery-iad-S3-CleanupBucketFunctionRol-62XKP203PYW4","label":"workload-dis...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/workload-discovery-iad-S3-CleanupBucketFunctionRol-62XKP203PYW4","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO4SFM22Q5RS","name":"workload-discovery-iad-S3-CleanupBucketFunctionRol-62XKP203PYW4","value":null,"type":"AWS::IAM::Role","tags":"[{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"}]","arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-S3-CleanupBucketFunctionRol-62XKP203PYW4","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-S3-CleanupBucketFunctionRol-62XKP203PYW4","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22lambda.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO4SFM22Q5RS\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole\\\",\\\"policyName\\\":\\\"AWSLambdaBasicExecutionRole\\\"}],\\\"roleName\\\":\\\"workload-discovery-iad-S3-CleanupBucketFunctionRol-62XKP203PYW4\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/workload-discovery-iad-S3-CleanupBucketFunctionRol-62XKP203PYW4\\\",\\\"createDate\\\":\\\"2022-11-16T14:26:49.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22s3%3ADeleteObject%2A%22%2C%22s3%3AListBucket%2A%22%2C%22s3%3AListObject%2A%22%2C%22s3%3APutBucketLogging%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3As3%3A%3A%3Aworkload-discovery-iad-s3buckets-accesslogsbucket-qi8gk5qqvhm%22%2C%22arn%3Aaws%3As3%3A%3A%3Aworkload-discovery-iad-s3buckets-accesslogsbucket-qi8gk5qqvhm%2F%2A%22%2C%22arn%3Aaws%3As3%3A%3A%3Aworkload-discovery-iad-s3buc-amplifystoragebucket-1f844f3r13smt%22%2C%22arn%3Aaws%3As3%3A%3A%3Aworkload-discovery-iad-s3buc-amplifystoragebucket-1f844f3r13smt%2F%2A%22%2C%22arn%3Aaws%3As3%3A%3A%3Aworkload-discovery-iad-s-costandusagereportbucket-bvs5op3f90e3%22%2C%22arn%3Aaws%3As3%3A%3A%3Aworkload-discovery-iad-s-costandusagereportbucket-bvs5op3f90e3%2F%2A%22%2C%22arn%3Aaws%3As3%3A%3A%3Aworkload-discovery-iad-s-costandusageathenaresult-k7krn9zhv1pj%22%2C%22arn%3Aaws%3As3%3A%3A%3Aworkload-discovery-iad-s-costandusageathenaresult-k7krn9zhv1pj%2F%2A%22%2C%22arn%3Aaws%3As3%3A%3A%3Aworkload-discovery-iad-s3buckets-discoverybucket-ysvlvc7de576%22%2C%22arn%3Aaws%3As3%3A%3A%3Aworkload-discovery-iad-s3buckets-discoverybucket-ysvlvc7de576%2F%2A%22%2C%22arn%3Aaws%3As3%3A%3A%3Aworkload-discovery-iad-s3buckets-1ouy-webuibucket-11ud5500bv788%22%2C%22arn%3Aaws%3As3%3A%3A%3Aworkload-discovery-iad-s3buckets-1ouy-webuibucket-11ud5500bv788%2F%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"CleanupBucketFunctionRolePolicy0\\\"}],\\\"tags\\\":[{\\\"value\\\":\\\"SAM\\\",\\\"key\\\":\\\"lambda:createdBy\\\"}]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO4SFM22Q5RS","resourceName":"workload-discovery-iad-S3-CleanupBucketFunctionRol-62XKP203PYW4","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"}]","title":"workload-discovery-iad-S3-CleanupBucketFunctionRol-62XKP203PYW4","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":1279.5,"y":-2686.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-S3-CleanupBucketFunctionRol-62XKP203PYW4/inlinePolicy/CleanupBucketFunctionRolePolicy0","resourceId":["arn:aws:iam::044981683129:role/workload-discovery-iad-S3-CleanupBucketFunctionRol-62XKP203PYW4/inlinePolicy/CleanupBucketFunctionRolePolicy0","arn:aws:iam::044981683129:role/workload-discovery-iad-S3-CleanupBucketFunctionRol-62XKP203PYW4/inlinePolicy/CleanupBucketFunctionRolePolicy0"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/workload-discovery-iad-S3-CleanupBucketFunctionRol-62XKP203PYW4/inlinePolicy/CleanupBucketFunctionRolePolicy0","title":"arn:aws:iam::044981683129:role/workload-discovery-iad-S3-CleanupBucketFunctionRol-62XKP203PYW4/inlinePolicy/CleanupBucketFunctionRolePolicy0","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/workload-discovery-iad-S3-CleanupBucketFunctionRol-62XKP203PYW4/inlinePolicy/CleanupBucketFunctionRolePolicy0","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/workload-discovery-iad-S3-CleanupBucketFunctionRol-62XKP203PYW4/inlinePolicy/CleanupBucketFunctionRolePolicy0","name":"arn:aws:iam::044981683129:role/workload-discovery-iad-S3-CleanupBucketFunctionRol-62XKP203PYW4/inlinePolicy/CleanupBucketFunctionRolePolicy0","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-S3-CleanupBucketFunctionRol-62XKP203PYW4/inlinePolicy/CleanupBucketFunctionRolePolicy0","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/workload-discovery-iad-S3-CleanupBucketFunctionRol-62XKP203PYW4/inlinePolicy/CleanupBucketFunctionRolePolicy0","configuration":"\"{\\\"policyName\\\":\\\"CleanupBucketFunctionRolePolicy0\\\",\\\"policyDocument\\\":{\\\"Statement\\\":[{\\\"Action\\\":[\\\"s3:DeleteObject*\\\",\\\"s3:ListBucket*\\\",\\\"s3:ListObject*\\\",\\\"s3:PutBucketLogging\\\"],\\\"Resource\\\":[\\\"arn:aws:s3:::workload-discovery-iad-s3buckets-accesslogsbucket-qi8gk5qqvhm\\\",\\\"arn:aws:s3:::workload-discovery-iad-s3buckets-accesslogsbucket-qi8gk5qqvhm/*\\\",\\\"arn:aws:s3:::workload-discovery-iad-s3buc-amplifystoragebucket-1f844f3r13smt\\\",\\\"arn:aws:s3:::workload-discovery-iad-s3buc-amplifystoragebucket-1f844f3r13smt/*\\\",\\\"arn:aws:s3:::workload-discovery-iad-s-costandusagereportbucket-bvs5op3f90e3\\\",\\\"arn:aws:s3:::workload-discovery-iad-s-costandusagereportbucket-bvs5op3f90e3/*\\\",\\\"arn:aws:s3:::workload-discovery-iad-s-costandusageathenaresult-k7krn9zhv1pj\\\",\\\"arn:aws:s3:::workload-discovery-iad-s-costandusageathenaresult-k7krn9zhv1pj/*\\\",\\\"arn:aws:s3:::workload-discovery-iad-s3buckets-discoverybucket-ysvlvc7de576\\\",\\\"arn:aws:s3:::workload-discovery-iad-s3buckets-discoverybucket-ysvlvc7de576/*\\\",\\\"arn:aws:s3:::workload-discovery-iad-s3buckets-1ouy-webuibucket-11ud5500bv788\\\",\\\"arn:aws:s3:::workload-discovery-iad-s3buckets-1ouy-webuibucket-11ud5500bv788/*\\\"],\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/workload-discovery-iad-S3-CleanupBucketFunctionRol-62XKP203PYW4/inlinePolicy/CleanupBucketFunctionRolePolicy0","resourceName":"arn:aws:iam::044981683129:role/workload-discovery-iad-S3-CleanupBucketFunctionRol-62XKP203PYW4/inlinePolicy/CleanupBucketFunctionRolePolicy0","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/workload-discovery-iad-S3-CleanupBucketFunctionRol-62XKP203PYW4/inlinePolicy/CleanupBucketFunctionRolePolicy0","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":2195.5,"y":-2540.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/wd2-2022-10-07-S3Buckets-CleanupBucketFunctionRol-150P46MM6RRPS","resourceId":["AROAQU6I6AO4RBN7AHEZA","arn:aws:iam::044981683129:role/wd2-2022-10-07-S3Buckets-CleanupBucketFunctionRol-150P46MM6RRPS"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-S3Buckets-CleanupBucketFunctionRol-150P46MM6RRPS","title":"wd2-2022-10-07-S3Buckets-CleanupBucketFunctionRol-150P46MM6RRPS","label":"wd2-2022-10-...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/wd2-2022-10-07-S3Buckets-CleanupBucketFunctionRol-150P46MM6RRPS","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO4RBN7AHEZA","name":"wd2-2022-10-07-S3Buckets-CleanupBucketFunctionRol-150P46MM6RRPS","value":null,"type":"AWS::IAM::Role","tags":"[{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"}]","arn":"arn:aws:iam::044981683129:role/wd2-2022-10-07-S3Buckets-CleanupBucketFunctionRol-150P46MM6RRPS","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/wd2-2022-10-07-S3Buckets-CleanupBucketFunctionRol-150P46MM6RRPS","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22lambda.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO4RBN7AHEZA\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole\\\",\\\"policyName\\\":\\\"AWSLambdaBasicExecutionRole\\\"}],\\\"roleName\\\":\\\"wd2-2022-10-07-S3Buckets-CleanupBucketFunctionRol-150P46MM6RRPS\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/wd2-2022-10-07-S3Buckets-CleanupBucketFunctionRol-150P46MM6RRPS\\\",\\\"createDate\\\":\\\"2022-10-07T17:52:22.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22s3%3ADeleteObject%2A%22%2C%22s3%3AListBucket%2A%22%2C%22s3%3AListObject%2A%22%2C%22s3%3APutBucketLogging%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3As3%3A%3A%3Awd2-2022-10-07-s3buckets-ctywpxl-accesslogsbucket-1mh7bc05dafvp%22%2C%22arn%3Aaws%3As3%3A%3A%3Awd2-2022-10-07-s3buckets-ctywpxl-accesslogsbucket-1mh7bc05dafvp%2F%2A%22%2C%22arn%3Aaws%3As3%3A%3A%3Awd2-2022-10-07-s3buckets-cty-amplifystoragebucket-jxec4ueo6h7i%22%2C%22arn%3Aaws%3As3%3A%3A%3Awd2-2022-10-07-s3buckets-cty-amplifystoragebucket-jxec4ueo6h7i%2F%2A%22%2C%22arn%3Aaws%3As3%3A%3A%3Awd2-2022-10-07-s3buckets-costandusagereportbucket-1blz819sl4c3g%22%2C%22arn%3Aaws%3As3%3A%3A%3Awd2-2022-10-07-s3buckets-costandusagereportbucket-1blz819sl4c3g%2F%2A%22%2C%22arn%3Aaws%3As3%3A%3A%3Awd2-2022-10-07-s3buckets-costandusageathenaresult-sdb8e5d0jzg3%22%2C%22arn%3Aaws%3As3%3A%3A%3Awd2-2022-10-07-s3buckets-costandusageathenaresult-sdb8e5d0jzg3%2F%2A%22%2C%22arn%3Aaws%3As3%3A%3A%3Awd2-2022-10-07-s3buckets-ctywpxlb-discoverybucket-tnf84zkqt510%22%2C%22arn%3Aaws%3As3%3A%3A%3Awd2-2022-10-07-s3buckets-ctywpxlb-discoverybucket-tnf84zkqt510%2F%2A%22%2C%22arn%3Aaws%3As3%3A%3A%3Awd2-2022-10-07-s3buckets-ctywpxlbrszf-webuibucket-1eh9dr0ajbgd1%22%2C%22arn%3Aaws%3As3%3A%3A%3Awd2-2022-10-07-s3buckets-ctywpxlbrszf-webuibucket-1eh9dr0ajbgd1%2F%2A%22%2C%22arn%3Aaws%3As3%3A%3A%3Awd2-2022-10-07-s3buckets-ctywpxlbrsz-configbucket-4dy56kjj04e5%22%2C%22arn%3Aaws%3As3%3A%3A%3Awd2-2022-10-07-s3buckets-ctywpxlbrsz-configbucket-4dy56kjj04e5%2F%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"CleanupBucketFunctionRolePolicy0\\\"}],\\\"tags\\\":[{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"key\\\":\\\"AppManagerCFNStackKey\\\"},{\\\"value\\\":\\\"SAM\\\",\\\"key\\\":\\\"lambda:createdBy\\\"}]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO4RBN7AHEZA","resourceName":"wd2-2022-10-07-S3Buckets-CleanupBucketFunctionRol-150P46MM6RRPS","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"}]","title":"wd2-2022-10-07-S3Buckets-CleanupBucketFunctionRol-150P46MM6RRPS","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":1279.5,"y":-2613.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/wd2-2022-10-07-S3Buckets-CleanupBucketFunctionRol-150P46MM6RRPS/inlinePolicy/CleanupBucketFunctionRolePolicy0","resourceId":["arn:aws:iam::044981683129:role/wd2-2022-10-07-S3Buckets-CleanupBucketFunctionRol-150P46MM6RRPS/inlinePolicy/CleanupBucketFunctionRolePolicy0","arn:aws:iam::044981683129:role/wd2-2022-10-07-S3Buckets-CleanupBucketFunctionRol-150P46MM6RRPS/inlinePolicy/CleanupBucketFunctionRolePolicy0"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-S3Buckets-CleanupBucketFunctionRol-150P46MM6RRPS/inlinePolicy/CleanupBucketFunctionRolePolicy0","title":"arn:aws:iam::044981683129:role/wd2-2022-10-07-S3Buckets-CleanupBucketFunctionRol-150P46MM6RRPS/inlinePolicy/CleanupBucketFunctionRolePolicy0","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/wd2-2022-10-07-S3Buckets-CleanupBucketFunctionRol-150P46MM6RRPS/inlinePolicy/CleanupBucketFunctionRolePolicy0","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-S3Buckets-CleanupBucketFunctionRol-150P46MM6RRPS/inlinePolicy/CleanupBucketFunctionRolePolicy0","name":"arn:aws:iam::044981683129:role/wd2-2022-10-07-S3Buckets-CleanupBucketFunctionRol-150P46MM6RRPS/inlinePolicy/CleanupBucketFunctionRolePolicy0","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/wd2-2022-10-07-S3Buckets-CleanupBucketFunctionRol-150P46MM6RRPS/inlinePolicy/CleanupBucketFunctionRolePolicy0","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/wd2-2022-10-07-S3Buckets-CleanupBucketFunctionRol-150P46MM6RRPS/inlinePolicy/CleanupBucketFunctionRolePolicy0","configuration":"\"{\\\"policyName\\\":\\\"CleanupBucketFunctionRolePolicy0\\\",\\\"policyDocument\\\":{\\\"Statement\\\":[{\\\"Action\\\":[\\\"s3:DeleteObject*\\\",\\\"s3:ListBucket*\\\",\\\"s3:ListObject*\\\",\\\"s3:PutBucketLogging\\\"],\\\"Resource\\\":[\\\"arn:aws:s3:::wd2-2022-10-07-s3buckets-ctywpxl-accesslogsbucket-1mh7bc05dafvp\\\",\\\"arn:aws:s3:::wd2-2022-10-07-s3buckets-ctywpxl-accesslogsbucket-1mh7bc05dafvp/*\\\",\\\"arn:aws:s3:::wd2-2022-10-07-s3buckets-cty-amplifystoragebucket-jxec4ueo6h7i\\\",\\\"arn:aws:s3:::wd2-2022-10-07-s3buckets-cty-amplifystoragebucket-jxec4ueo6h7i/*\\\",\\\"arn:aws:s3:::wd2-2022-10-07-s3buckets-costandusagereportbucket-1blz819sl4c3g\\\",\\\"arn:aws:s3:::wd2-2022-10-07-s3buckets-costandusagereportbucket-1blz819sl4c3g/*\\\",\\\"arn:aws:s3:::wd2-2022-10-07-s3buckets-costandusageathenaresult-sdb8e5d0jzg3\\\",\\\"arn:aws:s3:::wd2-2022-10-07-s3buckets-costandusageathenaresult-sdb8e5d0jzg3/*\\\",\\\"arn:aws:s3:::wd2-2022-10-07-s3buckets-ctywpxlb-discoverybucket-tnf84zkqt510\\\",\\\"arn:aws:s3:::wd2-2022-10-07-s3buckets-ctywpxlb-discoverybucket-tnf84zkqt510/*\\\",\\\"arn:aws:s3:::wd2-2022-10-07-s3buckets-ctywpxlbrszf-webuibucket-1eh9dr0ajbgd1\\\",\\\"arn:aws:s3:::wd2-2022-10-07-s3buckets-ctywpxlbrszf-webuibucket-1eh9dr0ajbgd1/*\\\",\\\"arn:aws:s3:::wd2-2022-10-07-s3buckets-ctywpxlbrsz-configbucket-4dy56kjj04e5\\\",\\\"arn:aws:s3:::wd2-2022-10-07-s3buckets-ctywpxlbrsz-configbucket-4dy56kjj04e5/*\\\"],\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/wd2-2022-10-07-S3Buckets-CleanupBucketFunctionRol-150P46MM6RRPS/inlinePolicy/CleanupBucketFunctionRolePolicy0","resourceName":"arn:aws:iam::044981683129:role/wd2-2022-10-07-S3Buckets-CleanupBucketFunctionRol-150P46MM6RRPS/inlinePolicy/CleanupBucketFunctionRolePolicy0","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/wd2-2022-10-07-S3Buckets-CleanupBucketFunctionRol-150P46MM6RRPS/inlinePolicy/CleanupBucketFunctionRolePolicy0","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":2195.5,"y":-2467.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-S3Buckets-CTY-CleanupBucketFunction-f4R1Islp8F3N","resourceId":["wd2-2022-10-07-S3Buckets-CTY-CleanupBucketFunction-f4R1Islp8F3N","arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-S3Buckets-CTY-CleanupBucketFunction-f4R1Islp8F3N"],"parent":"Function-eu-west-1-044981683129","level":3,"id":"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-S3Buckets-CTY-CleanupBucketFunction-f4R1Islp8F3N","title":"wd2-2022-10-07-S3Buckets-CTY-CleanupBucketFunction-f4R1Islp8F3N","label":"wd2-2022-10-...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-S3Buckets-CTY-CleanupBucketFunction-f4R1Islp8F3N","image":"/icons/AWS-Lambda-menu.svg","cost":0,"private":false,"resource":{"id":"wd2-2022-10-07-S3Buckets-CTY-CleanupBucketFunction-f4R1Islp8F3N","name":"wd2-2022-10-07-S3Buckets-CTY-CleanupBucketFunction-f4R1Islp8F3N","value":null,"type":"AWS::Lambda::Function","tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-S3Buckets-CTYWPXLBRSZF\",\"value\":\"wd2-2022-10-07-S3Buckets-CTYWPXLBRSZF\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-S3Buckets-CTYWPXLBRSZF/a8c68900-4668-11ed-93ec-02a1b6729eb3\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-S3Buckets-CTYWPXLBRSZF/a8c68900-4668-11ed-93ec-02a1b6729eb3\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"aws:cloudformation:logical-id=CleanupBucketFunction\",\"value\":\"CleanupBucketFunction\",\"key\":\"aws:cloudformation:logical-id\"}]","arn":"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-S3Buckets-CTY-CleanupBucketFunction-f4R1Islp8F3N","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/lambda/home?region=eu-west-1#/functions/wd2-2022-10-07-S3Buckets-CTY-CleanupBucketFunction-f4R1Islp8F3N?tab=graph","loginURL":"https://044981683129.signin.aws.amazon.com/console/lambda?region=eu-west-1#/functions/wd2-2022-10-07-S3Buckets-CTY-CleanupBucketFunction-f4R1Islp8F3N?tab=graph","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-S3Buckets-CTY-CleanupBucketFunction-f4R1Islp8F3N","configuration":"\"{\\\"architectures\\\":[\\\"x86_64\\\"],\\\"ephemeralStorage\\\":{\\\"size\\\":512},\\\"handler\\\":\\\"cleanup_bucket.handler\\\",\\\"role\\\":\\\"arn:aws:iam::044981683129:role/wd2-2022-10-07-S3Buckets-CleanupBucketFunctionRol-150P46MM6RRPS\\\",\\\"functionName\\\":\\\"wd2-2022-10-07-S3Buckets-CTY-CleanupBucketFunction-f4R1Islp8F3N\\\",\\\"tracingConfig\\\":{\\\"mode\\\":\\\"PassThrough\\\"},\\\"runtime\\\":\\\"python3.8\\\",\\\"description\\\":\\\"Custom Lambda resource for emptying S3 buckets on stack deletion\\\",\\\"runtimeVersionConfig\\\":{\\\"runtimeVersionArn\\\":\\\"arn:aws:lambda:eu-west-1::runtime:04f6192b7b9a4ad9cb43dc886a5f54868659e182e648f96d6f631cc0cbff8a68\\\"},\\\"codeSize\\\":977,\\\"version\\\":\\\"$LATEST\\\",\\\"packageType\\\":\\\"Zip\\\",\\\"timeout\\\":60,\\\"revisionId\\\":\\\"9af07510-978d-4237-b88c-7604ebdec907\\\",\\\"codeSha256\\\":\\\"9xxQQ4u/2pW2CQfT7wx/laiHlnOX12OFpJKiEbUpWVA=\\\",\\\"memorySize\\\":128,\\\"fileSystemConfigs\\\":[],\\\"vpcConfig\\\":{\\\"securityGroupIds\\\":[],\\\"subnetIds\\\":[]},\\\"lastUpdateStatus\\\":\\\"Successful\\\",\\\"layers\\\":[{\\\"arn\\\":\\\"arn:aws:lambda:eu-west-1:044981683129:layer:CustomResourceHelper:144\\\",\\\"codeSize\\\":915887}],\\\"snapStart\\\":{\\\"applyOn\\\":\\\"None\\\",\\\"optimizationStatus\\\":\\\"Off\\\"},\\\"lastModified\\\":\\\"2023-02-13T12:49:56.000+0000\\\",\\\"state\\\":{\\\"value\\\":\\\"Active\\\"},\\\"functionArn\\\":\\\"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-S3Buckets-CTY-CleanupBucketFunction-f4R1Islp8F3N\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/lambda/home?region=eu-west-1#/functions/wd2-2022-10-07-S3Buckets-CTY-CleanupBucketFunction-f4R1Islp8F3N?tab=graph","loginURL":"https://044981683129.signin.aws.amazon.com/console/lambda?region=eu-west-1#/functions/wd2-2022-10-07-S3Buckets-CTY-CleanupBucketFunction-f4R1Islp8F3N?tab=graph","private":null,"resourceId":"wd2-2022-10-07-S3Buckets-CTY-CleanupBucketFunction-f4R1Islp8F3N","resourceName":"wd2-2022-10-07-S3Buckets-CTY-CleanupBucketFunction-f4R1Islp8F3N","resourceType":"AWS::Lambda::Function","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-S3Buckets-CTYWPXLBRSZF\",\"value\":\"wd2-2022-10-07-S3Buckets-CTYWPXLBRSZF\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-S3Buckets-CTYWPXLBRSZF/a8c68900-4668-11ed-93ec-02a1b6729eb3\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-S3Buckets-CTYWPXLBRSZF/a8c68900-4668-11ed-93ec-02a1b6729eb3\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"aws:cloudformation:logical-id=CleanupBucketFunction\",\"value\":\"CleanupBucketFunction\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"wd2-2022-10-07-S3Buckets-CTY-CleanupBucketFunction-f4R1Islp8F3N","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-168.5,"y":-412.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-S3Buckets-CTYWPXLBRSZF/a8c68900-4668-11ed-93ec-02a1b6729eb3","resourceId":["arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-S3Buckets-CTYWPXLBRSZF/a8c68900-4668-11ed-93ec-02a1b6729eb3","arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-S3Buckets-CTYWPXLBRSZF/a8c68900-4668-11ed-93ec-02a1b6729eb3"],"parent":"Stack-eu-west-1-044981683129","level":3,"id":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-S3Buckets-CTYWPXLBRSZF/a8c68900-4668-11ed-93ec-02a1b6729eb3","title":"wd2-2022-10-07-S3Buckets-CTYWPXLBRSZF","label":"wd2-2022-10-...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-S3Buckets-CTYWPXLBRSZF/a8c68900-4668-11ed-93ec-02a1b6729eb3","image":"/icons/AWS-CloudFormation.svg","cost":0,"private":false,"resource":{"id":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-S3Buckets-CTYWPXLBRSZF/a8c68900-4668-11ed-93ec-02a1b6729eb3","name":"wd2-2022-10-07-S3Buckets-CTYWPXLBRSZF","value":null,"type":"AWS::CloudFormation::Stack","tags":"[{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"}]","arn":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-S3Buckets-CTYWPXLBRSZF/a8c68900-4668-11ed-93ec-02a1b6729eb3","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-S3Buckets-CTYWPXLBRSZF/a8c68900-4668-11ed-93ec-02a1b6729eb3","configuration":"\"{\\\"outputs\\\":[{\\\"outputKey\\\":\\\"DiscoveryBucket\\\",\\\"outputValue\\\":\\\"wd2-2022-10-07-s3buckets-ctywpxlb-discoverybucket-tnf84zkqt510\\\"},{\\\"outputKey\\\":\\\"CostAndUsageAthenaResultsBucket\\\",\\\"outputValue\\\":\\\"wd2-2022-10-07-s3buckets-costandusageathenaresult-sdb8e5d0jzg3\\\"},{\\\"outputKey\\\":\\\"WebUIBucketRegionalDomainName\\\",\\\"outputValue\\\":\\\"wd2-2022-10-07-s3buckets-ctywpxlbrszf-webuibucket-1eh9dr0ajbgd1.s3.eu-west-1.amazonaws.com\\\"},{\\\"outputKey\\\":\\\"AmplifyStorageBucket\\\",\\\"outputValue\\\":\\\"wd2-2022-10-07-s3buckets-cty-amplifystoragebucket-jxec4ueo6h7i\\\"},{\\\"outputKey\\\":\\\"ConfigBucket\\\",\\\"outputValue\\\":\\\"wd2-2022-10-07-s3buckets-ctywpxlbrsz-configbucket-4dy56kjj04e5\\\"},{\\\"outputKey\\\":\\\"WebUIBucket\\\",\\\"outputValue\\\":\\\"wd2-2022-10-07-s3buckets-ctywpxlbrszf-webuibucket-1eh9dr0ajbgd1\\\"},{\\\"outputKey\\\":\\\"CostAndUsageReportBucket\\\",\\\"outputValue\\\":\\\"wd2-2022-10-07-s3buckets-costandusagereportbucket-1blz819sl4c3g\\\"},{\\\"outputKey\\\":\\\"AccessLogsBucket\\\",\\\"outputValue\\\":\\\"wd2-2022-10-07-s3buckets-ctywpxl-accesslogsbucket-1mh7bc05dafvp\\\"}],\\\"capabilities\\\":[\\\"CAPABILITY_IAM\\\",\\\"CAPABILITY_NAMED_IAM\\\",\\\"CAPABILITY_AUTO_EXPAND\\\"],\\\"creationTime\\\":\\\"2022-10-07T17:51:24Z\\\",\\\"notificationARNs\\\":[],\\\"stackId\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-S3Buckets-CTYWPXLBRSZF/a8c68900-4668-11ed-93ec-02a1b6729eb3\\\",\\\"stackName\\\":\\\"wd2-2022-10-07-S3Buckets-CTYWPXLBRSZF\\\",\\\"description\\\":\\\"Workload Discovery on AWS S3 Buckets Stack\\\",\\\"stackStatus\\\":\\\"UPDATE_COMPLETE\\\",\\\"disableRollback\\\":false,\\\"parentId\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"tags\\\":[{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"key\\\":\\\"AppManagerCFNStackKey\\\"}],\\\"timeoutInMinutes\\\":60,\\\"driftInformation\\\":{\\\"stackDriftStatus\\\":\\\"NOT_CHECKED\\\"},\\\"enableTerminationProtection\\\":false,\\\"lastUpdatedTime\\\":\\\"2023-02-13T12:49:35Z\\\",\\\"parameters\\\":[{\\\"parameterKey\\\":\\\"DeploymentBucketKey\\\",\\\"parameterValue\\\":\\\"workload-discovery/v2.1.0-local.tidy-cfn.1\\\"},{\\\"parameterKey\\\":\\\"S3CleanupBucket\\\",\\\"parameterValue\\\":\\\"svozza-local-cfn-eu-west-1\\\"},{\\\"parameterKey\\\":\\\"CreateConfigBucket\\\",\\\"parameterValue\\\":\\\"true\\\"},{\\\"parameterKey\\\":\\\"CustomResourceHelperLambdaLayer\\\",\\\"parameterValue\\\":\\\"arn:aws:lambda:eu-west-1:044981683129:layer:CustomResourceHelper:144\\\"},{\\\"parameterKey\\\":\\\"LogLevel\\\",\\\"parameterValue\\\":\\\"INFO\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Regional","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-S3Buckets-CTYWPXLBRSZF/a8c68900-4668-11ed-93ec-02a1b6729eb3","resourceName":"wd2-2022-10-07-S3Buckets-CTYWPXLBRSZF","resourceType":"AWS::CloudFormation::Stack","resourceValue":null,"state":null,"tags":"[{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"}]","title":"wd2-2022-10-07-S3Buckets-CTYWPXLBRSZF","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-580.5,"y":-558.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Pr-TaskRole-1E6FYOARUANTU","resourceId":["AROAQU6I6AO4Q746F6XCJ","arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Pr-TaskRole-1E6FYOARUANTU"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Pr-TaskRole-1E6FYOARUANTU","title":"retaildemostore-Services-1WZNOPXSYAVK8-Pr-TaskRole-1E6FYOARUANTU","label":"retaildemost...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Pr-TaskRole-1E6FYOARUANTU","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO4Q746F6XCJ","name":"retaildemostore-Services-1WZNOPXSYAVK8-Pr-TaskRole-1E6FYOARUANTU","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Pr-TaskRole-1E6FYOARUANTU","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Pr-TaskRole-1E6FYOARUANTU","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222008-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22ecs-tasks.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO4Q746F6XCJ\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/AWSXRayDaemonWriteAccess\\\",\\\"policyName\\\":\\\"AWSXRayDaemonWriteAccess\\\"},{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/AWSCloudMapDiscoverInstanceAccess\\\",\\\"policyName\\\":\\\"AWSCloudMapDiscoverInstanceAccess\\\"}],\\\"roleName\\\":\\\"retaildemostore-Services-1WZNOPXSYAVK8-Pr-TaskRole-1E6FYOARUANTU\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Pr-TaskRole-1E6FYOARUANTU\\\",\\\"createDate\\\":\\\"2021-10-22T12:06:52.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22dynamodb%3A%2A%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Adynamodb%3Aus-east-1%3A044981683129%3Atable%2Fretaildemostore-Base-193OEK9QLRBTZ-Tables-1BNG3TKJH8PD8-ProductsTable-19R4XZHX65X0V%22%2C%22arn%3Aaws%3Adynamodb%3Aus-east-1%3A044981683129%3Atable%2Fretaildemostore-Base-193OEK9QLRBTZ-Tables-1BNG3TKJH8PD8-CategoriesTable-98HBU20YXE1Q%22%2C%22arn%3Aaws%3Adynamodb%3Aus-east-1%3A044981683129%3Atable%2Fretaildemostore-Base-193OEK9QLRBTZ-Tables-1BNG3TKJH8PD8-ExperimentStrategyTable-1AK9DPYXT3MJG%22%2C%22arn%3Aaws%3Adynamodb%3Aus-east-1%3A044981683129%3Atable%2Fretaildemostore-Base-193OEK9QLRBTZ-Tables-1BNG3TKJH8PD8-ProductsTable-19R4XZHX65X0V%2Findex%2F%2A%22%2C%22arn%3Aaws%3Adynamodb%3Aus-east-1%3A044981683129%3Atable%2Fretaildemostore-Base-193OEK9QLRBTZ-Tables-1BNG3TKJH8PD8-CategoriesTable-98HBU20YXE1Q%2Findex%2F%2A%22%2C%22arn%3Aaws%3Adynamodb%3Aus-east-1%3A044981683129%3Atable%2Fretaildemostore-Base-193OEK9QLRBTZ-Tables-1BNG3TKJH8PD8-ExperimentStrategyTable-1AK9DPYXT3MJG%2Findex%2F%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"DynamoDB\\\"},{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22ssm%3A%2A%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Assm%3Aus-east-1%3A044981683129%3Aparameter%2Fretaildemostore-%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22logs%3ACreateLogGroup%22%2C%22logs%3ACreateLogStream%22%2C%22logs%3APutLogEvents%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22logs%3ACreateLogGroup%22%2C%22personalize%3ACreateSchema%22%2C%22personalize%3ACreateDatasetGroup%22%2C%22personalize%3ACreateSolutionVersion%22%2C%22personalize%3ACreateDatasetImportJob%22%2C%22personalize%3ACreateSolution%22%2C%22personalize%3ADescribeDatasetGroup%22%2C%22personalize%3ADescribeDatasetImportJob%22%2C%22personalize%3ADescribeSolution%22%2C%22personalize%3ADescribeSolutionVersion%22%2C%22personalize%3ADescribeEventTracker%22%2C%22personalize%3ADescribeCampaign%22%2C%22personalize%3ACreateCampaign%22%2C%22personalize%3ACreateDataset%22%2C%22personalize%3ACreateEventTracker%22%2C%22personalize%3ACreateFilter%22%2C%22personalize%3AGetPersonalizedRanking%22%2C%22personalize%3AGetRecommendations%22%2C%22personalize%3ADeleteEventTracker%22%2C%22personalize%3ADescribeEventTracker%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Apersonalize%3Aus-east-1%3A044981683129%3A%2A%2Fretaildemo%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22logs%3ACreateLogGroup%22%2C%22personalize%3AListCampaigns%22%2C%22personalize%3AListDatasetGroups%22%2C%22personalize%3AListSolutions%22%2C%22personalize%3AListSchemas%22%2C%22personalize%3AListSolutionVersions%22%2C%22personalize%3AListDatasetImportJobs%22%2C%22personalize%3AListDatasets%22%2C%22personalize%3AListEventTrackers%22%5D%2C%22Resource%22%3A%5B%22%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22s3%3AGetObject%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3As3%3A%3A%3Aretail-demo-store-us-east-1%22%2C%22arn%3Aaws%3As3%3A%3A%3Aretail-demo-store-us-east-1%2F%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22ivs%3AListStreamKeys%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Aivs%3Aus-east-1%3A044981683129%3A%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22ivs%3AGetChannel%22%2C%22ivs%3AGetStream%22%2C%22ivs%3APutMetadata%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Aivs%3Aus-east-1%3A044981683129%3Achannel%2F%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22ivs%3AGetStreamKey%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Aivs%3Aus-east-1%3A044981683129%3Astream-key%2F%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22events%3ADescribeRule%22%2C%22events%3AListRules%22%2C%22events%3AEnableRule%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Aevents%3Aus-east-1%3A044981683129%3Arule%2FRetailDemoStore-PersonalizePreCreateScheduledRule%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22lambda%3AInvokeFunction%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Alambda%3Aus-east-1%3A044981683129%3Afunction%3AAmazonPaySigningLambda%22%5D%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"others\\\"},{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22mobiletargeting%3ASendMessages%22%2C%22mobiletargeting%3AGetEndpoint%22%2C%22mobiletargeting%3AUpdateEndpoint%22%2C%22mobiletargeting%3APutEvents%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Amobiletargeting%3Aus-east-1%3A044981683129%3Aapps%2F%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22mobiletargeting%3APhoneNumberValidate%22%5D%2C%22Resource%22%3A%22arn%3Aaws%3Amobiletargeting%3Aus-east-1%3A044981683129%3Aphone%2Fnumber%2Fvalidate%22%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"PinpointSMS\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO4Q746F6XCJ","resourceName":"retaildemostore-Services-1WZNOPXSYAVK8-Pr-TaskRole-1E6FYOARUANTU","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"retaildemostore-Services-1WZNOPXSYAVK8-Pr-TaskRole-1E6FYOARUANTU","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":1279.5,"y":-2540.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Pr-TaskRole-1E6FYOARUANTU/inlinePolicy/DynamoDB","resourceId":["arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Pr-TaskRole-1E6FYOARUANTU/inlinePolicy/DynamoDB","arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Pr-TaskRole-1E6FYOARUANTU/inlinePolicy/DynamoDB"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Pr-TaskRole-1E6FYOARUANTU/inlinePolicy/DynamoDB","title":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Pr-TaskRole-1E6FYOARUANTU/inlinePolicy/DynamoDB","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Pr-TaskRole-1E6FYOARUANTU/inlinePolicy/DynamoDB","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Pr-TaskRole-1E6FYOARUANTU/inlinePolicy/DynamoDB","name":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Pr-TaskRole-1E6FYOARUANTU/inlinePolicy/DynamoDB","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Pr-TaskRole-1E6FYOARUANTU/inlinePolicy/DynamoDB","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Pr-TaskRole-1E6FYOARUANTU/inlinePolicy/DynamoDB","configuration":"\"{\\\"policyName\\\":\\\"DynamoDB\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"dynamodb:*\\\"],\\\"Resource\\\":[\\\"arn:aws:dynamodb:us-east-1:044981683129:table/retaildemostore-Base-193OEK9QLRBTZ-Tables-1BNG3TKJH8PD8-ProductsTable-19R4XZHX65X0V\\\",\\\"arn:aws:dynamodb:us-east-1:044981683129:table/retaildemostore-Base-193OEK9QLRBTZ-Tables-1BNG3TKJH8PD8-CategoriesTable-98HBU20YXE1Q\\\",\\\"arn:aws:dynamodb:us-east-1:044981683129:table/retaildemostore-Base-193OEK9QLRBTZ-Tables-1BNG3TKJH8PD8-ExperimentStrategyTable-1AK9DPYXT3MJG\\\",\\\"arn:aws:dynamodb:us-east-1:044981683129:table/retaildemostore-Base-193OEK9QLRBTZ-Tables-1BNG3TKJH8PD8-ProductsTable-19R4XZHX65X0V/index/*\\\",\\\"arn:aws:dynamodb:us-east-1:044981683129:table/retaildemostore-Base-193OEK9QLRBTZ-Tables-1BNG3TKJH8PD8-CategoriesTable-98HBU20YXE1Q/index/*\\\",\\\"arn:aws:dynamodb:us-east-1:044981683129:table/retaildemostore-Base-193OEK9QLRBTZ-Tables-1BNG3TKJH8PD8-ExperimentStrategyTable-1AK9DPYXT3MJG/index/*\\\"],\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Pr-TaskRole-1E6FYOARUANTU/inlinePolicy/DynamoDB","resourceName":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Pr-TaskRole-1E6FYOARUANTU/inlinePolicy/DynamoDB","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Pr-TaskRole-1E6FYOARUANTU/inlinePolicy/DynamoDB","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":2195.5,"y":-2394.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Pr-TaskRole-1E6FYOARUANTU/inlinePolicy/others","resourceId":["arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Pr-TaskRole-1E6FYOARUANTU/inlinePolicy/others","arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Pr-TaskRole-1E6FYOARUANTU/inlinePolicy/others"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Pr-TaskRole-1E6FYOARUANTU/inlinePolicy/others","title":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Pr-TaskRole-1E6FYOARUANTU/inlinePolicy/others","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Pr-TaskRole-1E6FYOARUANTU/inlinePolicy/others","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Pr-TaskRole-1E6FYOARUANTU/inlinePolicy/others","name":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Pr-TaskRole-1E6FYOARUANTU/inlinePolicy/others","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Pr-TaskRole-1E6FYOARUANTU/inlinePolicy/others","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Pr-TaskRole-1E6FYOARUANTU/inlinePolicy/others","configuration":"\"{\\\"policyName\\\":\\\"others\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"ssm:*\\\"],\\\"Resource\\\":\\\"arn:aws:ssm:us-east-1:044981683129:parameter/retaildemostore-*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"logs:CreateLogGroup\\\",\\\"logs:CreateLogStream\\\",\\\"logs:PutLogEvents\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"logs:CreateLogGroup\\\",\\\"personalize:CreateSchema\\\",\\\"personalize:CreateDatasetGroup\\\",\\\"personalize:CreateSolutionVersion\\\",\\\"personalize:CreateDatasetImportJob\\\",\\\"personalize:CreateSolution\\\",\\\"personalize:DescribeDatasetGroup\\\",\\\"personalize:DescribeDatasetImportJob\\\",\\\"personalize:DescribeSolution\\\",\\\"personalize:DescribeSolutionVersion\\\",\\\"personalize:DescribeEventTracker\\\",\\\"personalize:DescribeCampaign\\\",\\\"personalize:CreateCampaign\\\",\\\"personalize:CreateDataset\\\",\\\"personalize:CreateEventTracker\\\",\\\"personalize:CreateFilter\\\",\\\"personalize:GetPersonalizedRanking\\\",\\\"personalize:GetRecommendations\\\",\\\"personalize:DeleteEventTracker\\\",\\\"personalize:DescribeEventTracker\\\"],\\\"Resource\\\":[\\\"arn:aws:personalize:us-east-1:044981683129:*/retaildemo*\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"logs:CreateLogGroup\\\",\\\"personalize:ListCampaigns\\\",\\\"personalize:ListDatasetGroups\\\",\\\"personalize:ListSolutions\\\",\\\"personalize:ListSchemas\\\",\\\"personalize:ListSolutionVersions\\\",\\\"personalize:ListDatasetImportJobs\\\",\\\"personalize:ListDatasets\\\",\\\"personalize:ListEventTrackers\\\"],\\\"Resource\\\":[\\\"*\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"s3:GetObject\\\"],\\\"Resource\\\":[\\\"arn:aws:s3:::retail-demo-store-us-east-1\\\",\\\"arn:aws:s3:::retail-demo-store-us-east-1/*\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"ivs:ListStreamKeys\\\"],\\\"Resource\\\":[\\\"arn:aws:ivs:us-east-1:044981683129:*\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"ivs:GetChannel\\\",\\\"ivs:GetStream\\\",\\\"ivs:PutMetadata\\\"],\\\"Resource\\\":[\\\"arn:aws:ivs:us-east-1:044981683129:channel/*\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"ivs:GetStreamKey\\\"],\\\"Resource\\\":[\\\"arn:aws:ivs:us-east-1:044981683129:stream-key/*\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"events:DescribeRule\\\",\\\"events:ListRules\\\",\\\"events:EnableRule\\\"],\\\"Resource\\\":[\\\"arn:aws:events:us-east-1:044981683129:rule/RetailDemoStore-PersonalizePreCreateScheduledRule\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"lambda:InvokeFunction\\\"],\\\"Resource\\\":[\\\"arn:aws:lambda:us-east-1:044981683129:function:AmazonPaySigningLambda\\\"],\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Pr-TaskRole-1E6FYOARUANTU/inlinePolicy/others","resourceName":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Pr-TaskRole-1E6FYOARUANTU/inlinePolicy/others","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Pr-TaskRole-1E6FYOARUANTU/inlinePolicy/others","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":2195.5,"y":-2321.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Pr-TaskRole-1E6FYOARUANTU/inlinePolicy/PinpointSMS","resourceId":["arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Pr-TaskRole-1E6FYOARUANTU/inlinePolicy/PinpointSMS","arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Pr-TaskRole-1E6FYOARUANTU/inlinePolicy/PinpointSMS"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Pr-TaskRole-1E6FYOARUANTU/inlinePolicy/PinpointSMS","title":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Pr-TaskRole-1E6FYOARUANTU/inlinePolicy/PinpointSMS","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Pr-TaskRole-1E6FYOARUANTU/inlinePolicy/PinpointSMS","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Pr-TaskRole-1E6FYOARUANTU/inlinePolicy/PinpointSMS","name":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Pr-TaskRole-1E6FYOARUANTU/inlinePolicy/PinpointSMS","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Pr-TaskRole-1E6FYOARUANTU/inlinePolicy/PinpointSMS","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Pr-TaskRole-1E6FYOARUANTU/inlinePolicy/PinpointSMS","configuration":"\"{\\\"policyName\\\":\\\"PinpointSMS\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"mobiletargeting:SendMessages\\\",\\\"mobiletargeting:GetEndpoint\\\",\\\"mobiletargeting:UpdateEndpoint\\\",\\\"mobiletargeting:PutEvents\\\"],\\\"Resource\\\":\\\"arn:aws:mobiletargeting:us-east-1:044981683129:apps/*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"mobiletargeting:PhoneNumberValidate\\\"],\\\"Resource\\\":\\\"arn:aws:mobiletargeting:us-east-1:044981683129:phone/number/validate\\\",\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Pr-TaskRole-1E6FYOARUANTU/inlinePolicy/PinpointSMS","resourceName":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Pr-TaskRole-1E6FYOARUANTU/inlinePolicy/PinpointSMS","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Pr-TaskRole-1E6FYOARUANTU/inlinePolicy/PinpointSMS","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":2195.5,"y":-2248.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/cfn5-HelloLambdaRole5-1PHQQQ47YG7H1","resourceId":["AROAQU6I6AO4RCSEM5SS2","arn:aws:iam::044981683129:role/cfn5-HelloLambdaRole5-1PHQQQ47YG7H1"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/cfn5-HelloLambdaRole5-1PHQQQ47YG7H1","title":"cfn5-HelloLambdaRole5-1PHQQQ47YG7H1","label":"cfn5-HelloLa...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/cfn5-HelloLambdaRole5-1PHQQQ47YG7H1","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO4RCSEM5SS2","name":"cfn5-HelloLambdaRole5-1PHQQQ47YG7H1","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/cfn5-HelloLambdaRole5-1PHQQQ47YG7H1","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/cfn5-HelloLambdaRole5-1PHQQQ47YG7H1","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222008-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22lambda.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO4RCSEM5SS2\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"cfn5-HelloLambdaRole5-1PHQQQ47YG7H1\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/cfn5-HelloLambdaRole5-1PHQQQ47YG7H1\\\",\\\"createDate\\\":\\\"2022-05-15T08:49:09.000Z\\\",\\\"rolePolicyList\\\":[],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO4RCSEM5SS2","resourceName":"cfn5-HelloLambdaRole5-1PHQQQ47YG7H1","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"cfn5-HelloLambdaRole5-1PHQQQ47YG7H1","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":1279.5,"y":-2467.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/service-role/aws-quicksight-service-role-v0","resourceId":["AROAQU6I6AO4RCZM5BYQM","arn:aws:iam::044981683129:role/service-role/aws-quicksight-service-role-v0"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/service-role/aws-quicksight-service-role-v0","title":"aws-quicksight-service-role-v0","label":"aws-quicksig...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/service-role/aws-quicksight-service-role-v0","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO4RCZM5BYQM","name":"aws-quicksight-service-role-v0","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/service-role/aws-quicksight-service-role-v0","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/service-role/aws-quicksight-service-role-v0","configuration":"\"{\\\"path\\\":\\\"/service-role/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22quicksight.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO4RCZM5BYQM\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/service-role/AWSQuicksightAthenaAccess\\\",\\\"policyName\\\":\\\"AWSQuicksightAthenaAccess\\\"},{\\\"policyArn\\\":\\\"arn:aws:iam::044981683129:policy/service-role/AWSQuickSightRDSPolicy\\\",\\\"policyName\\\":\\\"AWSQuickSightRDSPolicy\\\"},{\\\"policyArn\\\":\\\"arn:aws:iam::044981683129:policy/service-role/AWSQuickSightIAMPolicy\\\",\\\"policyName\\\":\\\"AWSQuickSightIAMPolicy\\\"},{\\\"policyArn\\\":\\\"arn:aws:iam::044981683129:policy/service-role/AWSQuickSightRedshiftPolicy\\\",\\\"policyName\\\":\\\"AWSQuickSightRedshiftPolicy\\\"},{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/service-role/AWSQuickSightSageMakerPolicy\\\",\\\"policyName\\\":\\\"AWSQuickSightSageMakerPolicy\\\"}],\\\"roleName\\\":\\\"aws-quicksight-service-role-v0\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/service-role/aws-quicksight-service-role-v0\\\",\\\"createDate\\\":\\\"2022-07-26T23:53:42.000Z\\\",\\\"rolePolicyList\\\":[],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO4RCZM5BYQM","resourceName":"aws-quicksight-service-role-v0","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"aws-quicksight-service-role-v0","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":1279.5,"y":-2394.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:policy/service-role/AWSQuickSightIAMPolicy","resourceId":["ANPAQU6I6AO46D6YE5RCF","arn:aws:iam::044981683129:policy/service-role/AWSQuickSightIAMPolicy"],"parent":"Policy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:policy/service-role/AWSQuickSightIAMPolicy","title":"AWSQuickSightIAMPolicy","label":"AWSQuickSigh...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:policy/service-role/AWSQuickSightIAMPolicy","image":"/icons/IAM_Policy.svg","cost":0,"private":false,"resource":{"id":"ANPAQU6I6AO46D6YE5RCF","name":"AWSQuickSightIAMPolicy","value":null,"type":"AWS::IAM::Policy","tags":"[]","arn":"arn:aws:iam::044981683129:policy/service-role/AWSQuickSightIAMPolicy","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/policies","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/policies","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:policy/service-role/AWSQuickSightIAMPolicy","configuration":"\"{\\\"permissionsBoundaryUsageCount\\\":0,\\\"policyVersionList\\\":[{\\\"versionId\\\":\\\"v1\\\",\\\"isDefaultVersion\\\":true,\\\"document\\\":\\\"%7B%0A%20%20%20%20%22Version%22%3A%20%222012-10-17%22%2C%0A%20%20%20%20%22Statement%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Effect%22%3A%20%22Allow%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Action%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22iam%3AList%2A%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Resource%22%3A%20%22%2A%22%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%5D%0A%7D\\\",\\\"createDate\\\":\\\"2022-07-26T23:53:43.000Z\\\"}],\\\"path\\\":\\\"/service-role/\\\",\\\"updateDate\\\":\\\"2022-07-26T23:53:43.000Z\\\",\\\"policyId\\\":\\\"ANPAQU6I6AO46D6YE5RCF\\\",\\\"defaultVersionId\\\":\\\"v1\\\",\\\"policyName\\\":\\\"AWSQuickSightIAMPolicy\\\",\\\"isAttachable\\\":true,\\\"description\\\":\\\"Grants Amazon QuickSight list permissions to AWS IAM resources\\\",\\\"attachmentCount\\\":1,\\\"arn\\\":\\\"arn:aws:iam::044981683129:policy/service-role/AWSQuickSightIAMPolicy\\\",\\\"createDate\\\":\\\"2022-07-26T23:53:43.000Z\\\"}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/policies","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/policies","private":null,"resourceId":"ANPAQU6I6AO46D6YE5RCF","resourceName":"AWSQuickSightIAMPolicy","resourceType":"AWS::IAM::Policy","resourceValue":null,"state":null,"tags":"[]","title":"AWSQuickSightIAMPolicy","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1246.5,"y":-1826.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:policy/service-role/AWSQuickSightRDSPolicy","resourceId":["ANPAQU6I6AO44QKQDPR6M","arn:aws:iam::044981683129:policy/service-role/AWSQuickSightRDSPolicy"],"parent":"Policy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:policy/service-role/AWSQuickSightRDSPolicy","title":"AWSQuickSightRDSPolicy","label":"AWSQuickSigh...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:policy/service-role/AWSQuickSightRDSPolicy","image":"/icons/IAM_Policy.svg","cost":0,"private":false,"resource":{"id":"ANPAQU6I6AO44QKQDPR6M","name":"AWSQuickSightRDSPolicy","value":null,"type":"AWS::IAM::Policy","tags":"[]","arn":"arn:aws:iam::044981683129:policy/service-role/AWSQuickSightRDSPolicy","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/policies","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/policies","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:policy/service-role/AWSQuickSightRDSPolicy","configuration":"\"{\\\"permissionsBoundaryUsageCount\\\":0,\\\"policyVersionList\\\":[{\\\"versionId\\\":\\\"v1\\\",\\\"isDefaultVersion\\\":true,\\\"document\\\":\\\"%7B%0A%20%20%20%20%22Version%22%3A%20%222012-10-17%22%2C%0A%20%20%20%20%22Statement%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Action%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22rds%3ADescribe%2A%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Effect%22%3A%20%22Allow%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Resource%22%3A%20%22%2A%22%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%5D%0A%7D\\\",\\\"createDate\\\":\\\"2022-07-26T23:53:42.000Z\\\"}],\\\"path\\\":\\\"/service-role/\\\",\\\"updateDate\\\":\\\"2022-07-26T23:53:42.000Z\\\",\\\"policyId\\\":\\\"ANPAQU6I6AO44QKQDPR6M\\\",\\\"defaultVersionId\\\":\\\"v1\\\",\\\"policyName\\\":\\\"AWSQuickSightRDSPolicy\\\",\\\"isAttachable\\\":true,\\\"description\\\":\\\"Grants Amazon QuickSight describe permissions to AWS RDS resources\\\",\\\"attachmentCount\\\":1,\\\"arn\\\":\\\"arn:aws:iam::044981683129:policy/service-role/AWSQuickSightRDSPolicy\\\",\\\"createDate\\\":\\\"2022-07-26T23:53:42.000Z\\\"}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/policies","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/policies","private":null,"resourceId":"ANPAQU6I6AO44QKQDPR6M","resourceName":"AWSQuickSightRDSPolicy","resourceType":"AWS::IAM::Policy","resourceValue":null,"state":null,"tags":"[]","title":"AWSQuickSightRDSPolicy","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1246.5,"y":-1753.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:policy/service-role/AWSQuickSightRedshiftPolicy","resourceId":["ANPAQU6I6AO4UBKUTQEG4","arn:aws:iam::044981683129:policy/service-role/AWSQuickSightRedshiftPolicy"],"parent":"Policy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:policy/service-role/AWSQuickSightRedshiftPolicy","title":"AWSQuickSightRedshiftPolicy","label":"AWSQuickSigh...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:policy/service-role/AWSQuickSightRedshiftPolicy","image":"/icons/IAM_Policy.svg","cost":0,"private":false,"resource":{"id":"ANPAQU6I6AO4UBKUTQEG4","name":"AWSQuickSightRedshiftPolicy","value":null,"type":"AWS::IAM::Policy","tags":"[]","arn":"arn:aws:iam::044981683129:policy/service-role/AWSQuickSightRedshiftPolicy","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/policies","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/policies","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:policy/service-role/AWSQuickSightRedshiftPolicy","configuration":"\"{\\\"permissionsBoundaryUsageCount\\\":0,\\\"policyVersionList\\\":[{\\\"versionId\\\":\\\"v1\\\",\\\"isDefaultVersion\\\":true,\\\"document\\\":\\\"%7B%0A%20%20%20%20%22Version%22%3A%20%222012-10-17%22%2C%0A%20%20%20%20%22Statement%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Action%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22redshift%3ADescribe%2A%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Effect%22%3A%20%22Allow%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Resource%22%3A%20%22%2A%22%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%5D%0A%7D\\\",\\\"createDate\\\":\\\"2022-07-26T23:53:42.000Z\\\"}],\\\"path\\\":\\\"/service-role/\\\",\\\"updateDate\\\":\\\"2022-07-26T23:53:42.000Z\\\",\\\"policyId\\\":\\\"ANPAQU6I6AO4UBKUTQEG4\\\",\\\"defaultVersionId\\\":\\\"v1\\\",\\\"policyName\\\":\\\"AWSQuickSightRedshiftPolicy\\\",\\\"isAttachable\\\":true,\\\"description\\\":\\\"Grants Amazon QuickSight describe permissions to Amazon Redshift resources\\\",\\\"attachmentCount\\\":1,\\\"arn\\\":\\\"arn:aws:iam::044981683129:policy/service-role/AWSQuickSightRedshiftPolicy\\\",\\\"createDate\\\":\\\"2022-07-26T23:53:42.000Z\\\"}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/policies","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/policies","private":null,"resourceId":"ANPAQU6I6AO4UBKUTQEG4","resourceName":"AWSQuickSightRedshiftPolicy","resourceType":"AWS::IAM::Policy","resourceValue":null,"state":null,"tags":"[]","title":"AWSQuickSightRedshiftPolicy","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1027.5,"y":-1680.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/rds-monitoring-role","resourceId":["AROAQU6I6AO46O3LKDFNF","arn:aws:iam::044981683129:role/rds-monitoring-role"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/rds-monitoring-role","title":"rds-monitoring-role","label":"rds-monitori...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/rds-monitoring-role","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO46O3LKDFNF","name":"rds-monitoring-role","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/rds-monitoring-role","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/rds-monitoring-role","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Sid%22%3A%22%22%2C%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22monitoring.rds.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO46O3LKDFNF\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/service-role/AmazonRDSEnhancedMonitoringRole\\\",\\\"policyName\\\":\\\"AmazonRDSEnhancedMonitoringRole\\\"}],\\\"roleName\\\":\\\"rds-monitoring-role\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/rds-monitoring-role\\\",\\\"createDate\\\":\\\"2021-09-02T12:03:04.000Z\\\",\\\"rolePolicyList\\\":[],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO46O3LKDFNF","resourceName":"rds-monitoring-role","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"rds-monitoring-role","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":1279.5,"y":-2321.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/retaildemostore-Base-193OE-CognitoUnAuthorizedRole-1KGQY6L3G6HEK","resourceId":["AROAQU6I6AO4RLGEIQEKK","arn:aws:iam::044981683129:role/retaildemostore-Base-193OE-CognitoUnAuthorizedRole-1KGQY6L3G6HEK"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/retaildemostore-Base-193OE-CognitoUnAuthorizedRole-1KGQY6L3G6HEK","title":"retaildemostore-Base-193OE-CognitoUnAuthorizedRole-1KGQY6L3G6HEK","label":"retaildemost...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/retaildemostore-Base-193OE-CognitoUnAuthorizedRole-1KGQY6L3G6HEK","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO4RLGEIQEKK","name":"retaildemostore-Base-193OE-CognitoUnAuthorizedRole-1KGQY6L3G6HEK","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/retaildemostore-Base-193OE-CognitoUnAuthorizedRole-1KGQY6L3G6HEK","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/retaildemostore-Base-193OE-CognitoUnAuthorizedRole-1KGQY6L3G6HEK","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Federated%22%3A%22cognito-identity.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRoleWithWebIdentity%22%2C%22Condition%22%3A%7B%22StringEquals%22%3A%7B%22cognito-identity.amazonaws.com%3Aaud%22%3A%22us-east-1%3Ae212e781-c9bf-4a96-aa2e-f34980a4420b%22%7D%2C%22ForAnyValue%3AStringLike%22%3A%7B%22cognito-identity.amazonaws.com%3Aamr%22%3A%22unauthenticated%22%7D%7D%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO4RLGEIQEKK\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"retaildemostore-Base-193OE-CognitoUnAuthorizedRole-1KGQY6L3G6HEK\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/retaildemostore-Base-193OE-CognitoUnAuthorizedRole-1KGQY6L3G6HEK\\\",\\\"createDate\\\":\\\"2021-10-22T11:37:11.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Action%22%3A%5B%22mobiletargeting%3AUpdateEndpoint%22%2C%22mobiletargeting%3APutEvents%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Amobiletargeting%3Aus-east-1%3A044981683129%3Aapps%2Ff223244ba211434da5dd4552ca28cff5%2F%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22mobileanalytics%3APutEvents%22%2C%22personalize%3APutEvents%22%5D%2C%22Resource%22%3A%22%2A%22%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22cognito-sync%3A%2A%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Acognito-sync%3Aus-east-1%3A044981683129%3Aidentitypool%2Fus-east-1%3Ae212e781-c9bf-4a96-aa2e-f34980a4420b%22%5D%2C%22Effect%22%3A%22Allow%22%7D%2C%7B%22Action%22%3A%5B%22lex%3APostText%22%5D%2C%22Resource%22%3A%5B%22arn%3Aaws%3Alex%3Aus-east-1%3A044981683129%3Abot%3ARetailDemoStore%3A%2A%22%5D%2C%22Effect%22%3A%22Allow%22%7D%5D%7D\\\",\\\"policyName\\\":\\\"CognitoUnauthorizedPolicy\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO4RLGEIQEKK","resourceName":"retaildemostore-Base-193OE-CognitoUnAuthorizedRole-1KGQY6L3G6HEK","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"retaildemostore-Base-193OE-CognitoUnAuthorizedRole-1KGQY6L3G6HEK","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":1279.5,"y":-2248.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/retaildemostore-Base-193OE-CognitoUnAuthorizedRole-1KGQY6L3G6HEK/inlinePolicy/CognitoUnauthorizedPolicy","resourceId":["arn:aws:iam::044981683129:role/retaildemostore-Base-193OE-CognitoUnAuthorizedRole-1KGQY6L3G6HEK/inlinePolicy/CognitoUnauthorizedPolicy","arn:aws:iam::044981683129:role/retaildemostore-Base-193OE-CognitoUnAuthorizedRole-1KGQY6L3G6HEK/inlinePolicy/CognitoUnauthorizedPolicy"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/retaildemostore-Base-193OE-CognitoUnAuthorizedRole-1KGQY6L3G6HEK/inlinePolicy/CognitoUnauthorizedPolicy","title":"arn:aws:iam::044981683129:role/retaildemostore-Base-193OE-CognitoUnAuthorizedRole-1KGQY6L3G6HEK/inlinePolicy/CognitoUnauthorizedPolicy","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/retaildemostore-Base-193OE-CognitoUnAuthorizedRole-1KGQY6L3G6HEK/inlinePolicy/CognitoUnauthorizedPolicy","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Base-193OE-CognitoUnAuthorizedRole-1KGQY6L3G6HEK/inlinePolicy/CognitoUnauthorizedPolicy","name":"arn:aws:iam::044981683129:role/retaildemostore-Base-193OE-CognitoUnAuthorizedRole-1KGQY6L3G6HEK/inlinePolicy/CognitoUnauthorizedPolicy","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/retaildemostore-Base-193OE-CognitoUnAuthorizedRole-1KGQY6L3G6HEK/inlinePolicy/CognitoUnauthorizedPolicy","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/retaildemostore-Base-193OE-CognitoUnAuthorizedRole-1KGQY6L3G6HEK/inlinePolicy/CognitoUnauthorizedPolicy","configuration":"\"{\\\"policyName\\\":\\\"CognitoUnauthorizedPolicy\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Action\\\":[\\\"mobiletargeting:UpdateEndpoint\\\",\\\"mobiletargeting:PutEvents\\\"],\\\"Resource\\\":[\\\"arn:aws:mobiletargeting:us-east-1:044981683129:apps/f223244ba211434da5dd4552ca28cff5/*\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"mobileanalytics:PutEvents\\\",\\\"personalize:PutEvents\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"cognito-sync:*\\\"],\\\"Resource\\\":[\\\"arn:aws:cognito-sync:us-east-1:044981683129:identitypool/us-east-1:e212e781-c9bf-4a96-aa2e-f34980a4420b\\\"],\\\"Effect\\\":\\\"Allow\\\"},{\\\"Action\\\":[\\\"lex:PostText\\\"],\\\"Resource\\\":[\\\"arn:aws:lex:us-east-1:044981683129:bot:RetailDemoStore:*\\\"],\\\"Effect\\\":\\\"Allow\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/retaildemostore-Base-193OE-CognitoUnAuthorizedRole-1KGQY6L3G6HEK/inlinePolicy/CognitoUnauthorizedPolicy","resourceName":"arn:aws:iam::044981683129:role/retaildemostore-Base-193OE-CognitoUnAuthorizedRole-1KGQY6L3G6HEK/inlinePolicy/CognitoUnauthorizedPolicy","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/retaildemostore-Base-193OE-CognitoUnAuthorizedRole-1KGQY6L3G6HEK/inlinePolicy/CognitoUnauthorizedPolicy","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":2195.5,"y":-2175.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"Multiple Availability Zones-eu-west-1-060997615305","parent":"eu-west-1-060997615305","level":2,"title":"Multiple Availability Zones","label":"Multiple Availability Zones","plainLabel":"Multiple Availability Zones","type":"availabilityZone","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/availabilityZone.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":null,"label":"VPC","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0c7085cd6156fa1a4","label":"AWS_EC2_VPC","parent":true,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0c7085cd6156fa1a4","configuration":"\"{\\\"instanceTenancy\\\":\\\"default\\\",\\\"isDefault\\\":false,\\\"dhcpOptionsId\\\":\\\"dopt-43b00b25\\\",\\\"cidrBlock\\\":\\\"10.0.0.0/16\\\",\\\"vpcId\\\":\\\"vpc-0c7085cd6156fa1a4\\\",\\\"cidrBlockAssociationSet\\\":[{\\\"cidrBlock\\\":\\\"10.0.0.0/16\\\",\\\"cidrBlockState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"associationId\\\":\\\"vpc-cidr-assoc-08f4caf51fb432b5a\\\"}],\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipv6CidrBlockAssociationSet\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"MediaAnalysis VPC\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"MediaAnalysis\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"VPC\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":null,"subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#vpcs:sort=VpcId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#vpcs:sort=VpcId","private":null,"resourceId":"vpc-0c7085cd6156fa1a4","resourceName":null,"resourceType":"AWS::EC2::VPC","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=MediaAnalysis\",\"value\":\"MediaAnalysis\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=VPC\",\"value\":\"VPC\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=MediaAnalysis VPC\",\"value\":\"MediaAnalysis VPC\",\"key\":\"Name\"}]","title":"MediaAnalysis VPC","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-677,"y":1224.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"availabilityZone removeAll _gridParentPadding"},{"data":{"id":"VPC-Multiple Availability Zones-eu-west-1-060997615305","parent":"Multiple Availability Zones-eu-west-1-060997615305","level":3,"title":"VPC","label":"VPC","plainLabel":"VPC","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/VPC-menu.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0c7085cd6156fa1a4","label":"AWS_EC2_VPC","parent":true,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0c7085cd6156fa1a4","configuration":"\"{\\\"instanceTenancy\\\":\\\"default\\\",\\\"isDefault\\\":false,\\\"dhcpOptionsId\\\":\\\"dopt-43b00b25\\\",\\\"cidrBlock\\\":\\\"10.0.0.0/16\\\",\\\"vpcId\\\":\\\"vpc-0c7085cd6156fa1a4\\\",\\\"cidrBlockAssociationSet\\\":[{\\\"cidrBlock\\\":\\\"10.0.0.0/16\\\",\\\"cidrBlockState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"associationId\\\":\\\"vpc-cidr-assoc-08f4caf51fb432b5a\\\"}],\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipv6CidrBlockAssociationSet\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"MediaAnalysis VPC\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"MediaAnalysis\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"VPC\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":null,"subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#vpcs:sort=VpcId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#vpcs:sort=VpcId","private":null,"resourceId":"vpc-0c7085cd6156fa1a4","resourceName":null,"resourceType":"AWS::EC2::VPC","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=MediaAnalysis\",\"value\":\"MediaAnalysis\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=VPC\",\"value\":\"VPC\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=MediaAnalysis VPC\",\"value\":\"MediaAnalysis VPC\",\"key\":\"Name\"}]","title":"MediaAnalysis VPC","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-677,"y":1224.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0c7085cd6156fa1a4","resourceId":["vpc-0c7085cd6156fa1a4","arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0c7085cd6156fa1a4"],"parent":"VPC-Multiple Availability Zones-eu-west-1-060997615305","level":4,"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0c7085cd6156fa1a4","title":"MediaAnalysis VPC","label":"MediaAnalysi...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0c7085cd6156fa1a4","image":"/icons/VPC-menu.svg","cost":0,"private":false,"resource":{"id":"vpc-0c7085cd6156fa1a4","name":null,"value":null,"type":"AWS::EC2::VPC","tags":"[{\"tag\":\"aws:cloudformation:stack-name=MediaAnalysis\",\"value\":\"MediaAnalysis\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=VPC\",\"value\":\"VPC\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=MediaAnalysis VPC\",\"value\":\"MediaAnalysis VPC\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0c7085cd6156fa1a4","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#vpcs:sort=VpcId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#vpcs:sort=VpcId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0c7085cd6156fa1a4","configuration":"\"{\\\"instanceTenancy\\\":\\\"default\\\",\\\"isDefault\\\":false,\\\"dhcpOptionsId\\\":\\\"dopt-43b00b25\\\",\\\"cidrBlock\\\":\\\"10.0.0.0/16\\\",\\\"vpcId\\\":\\\"vpc-0c7085cd6156fa1a4\\\",\\\"cidrBlockAssociationSet\\\":[{\\\"cidrBlock\\\":\\\"10.0.0.0/16\\\",\\\"cidrBlockState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"associationId\\\":\\\"vpc-cidr-assoc-08f4caf51fb432b5a\\\"}],\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipv6CidrBlockAssociationSet\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"MediaAnalysis VPC\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"MediaAnalysis\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"VPC\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":null,"subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#vpcs:sort=VpcId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#vpcs:sort=VpcId","private":null,"resourceId":"vpc-0c7085cd6156fa1a4","resourceName":null,"resourceType":"AWS::EC2::VPC","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=MediaAnalysis\",\"value\":\"MediaAnalysis\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=VPC\",\"value\":\"VPC\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=MediaAnalysis VPC\",\"value\":\"MediaAnalysis VPC\",\"key\":\"Name\"}]","title":"MediaAnalysis VPC","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-713.5,"y":1187.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"id":"SecurityGroup-vpc-0c7085cd6156fa1a4-eu-west-1-060997615305","parent":"vpc-0c7085cd6156fa1a4-eu-west-1-060997615305","level":3,"title":"SecurityGroup","label":"SecurityGroup","plainLabel":"SecurityGroup","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/AWSSecurityGroup.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-033e6ddf648654069","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-033e6ddf648654069","configuration":"\"{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-033e6ddf648654069\\\",\\\"vpcId\\\":\\\"vpc-0c7085cd6156fa1a4\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"default VPC security group\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[{\\\"groupId\\\":\\\"sg-033e6ddf648654069\\\",\\\"userId\\\":\\\"060997615305\\\"}],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-0c7085cd6156fa1a4","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-033e6ddf648654069","resourceName":"default","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"default","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1763.5,"y":1187.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-033e6ddf648654069","resourceId":["sg-033e6ddf648654069","arn:aws:ec2:eu-west-1:060997615305:security-group/sg-033e6ddf648654069"],"parent":"SecurityGroup-vpc-0c7085cd6156fa1a4-eu-west-1-060997615305","level":4,"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-033e6ddf648654069","title":"default","label":"default","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-033e6ddf648654069","image":"/icons/AWSSecurityGroup.svg","cost":0,"private":false,"resource":{"id":"sg-033e6ddf648654069","name":"default","value":null,"type":"AWS::EC2::SecurityGroup","tags":"[]","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-033e6ddf648654069","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-033e6ddf648654069","configuration":"\"{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-033e6ddf648654069\\\",\\\"vpcId\\\":\\\"vpc-0c7085cd6156fa1a4\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"default VPC security group\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[{\\\"groupId\\\":\\\"sg-033e6ddf648654069\\\",\\\"userId\\\":\\\"060997615305\\\"}],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-0c7085cd6156fa1a4","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-033e6ddf648654069","resourceName":"default","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"default","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1763.5,"y":1187.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"RouteTable-vpc-0c7085cd6156fa1a4-eu-west-1-060997615305","parent":"vpc-0c7085cd6156fa1a4-eu-west-1-060997615305","level":3,"title":"RouteTable","label":"RouteTable","plainLabel":"RouteTable","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-VPC_Router_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-0ebb017bbc6e6bb89","label":"AWS_EC2_RouteTable","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-0ebb017bbc6e6bb89","configuration":"\"{\\\"associations\\\":[{\\\"routeTableId\\\":\\\"rtb-0ebb017bbc6e6bb89\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-01e7218cb67d43e0f\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":true}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"10.0.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"}],\\\"routeTableId\\\":\\\"rtb-0ebb017bbc6e6bb89\\\",\\\"vpcId\\\":\\\"vpc-0c7085cd6156fa1a4\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-0c7085cd6156fa1a4","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-0ebb017bbc6e6bb89","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[]","title":"rtb-0ebb017bbc6e6bb89","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-024dd935e27622d38","label":"AWS_EC2_RouteTable","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-024dd935e27622d38","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-0cceea9e085020181\\\",\\\"routeTableId\\\":\\\"rtb-024dd935e27622d38\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-01fc8dcd619476a0e\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":false},{\\\"subnetId\\\":\\\"subnet-0147ad908aa90db3b\\\",\\\"routeTableId\\\":\\\"rtb-024dd935e27622d38\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-0ace3c1a391249fc4\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":false},{\\\"subnetId\\\":\\\"subnet-00a91f29894b9d3d2\\\",\\\"routeTableId\\\":\\\"rtb-024dd935e27622d38\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-0d63d40c115382609\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":false}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"10.0.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"},{\\\"destinationCidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"igw-09d8c8015bfa842a8\\\"}],\\\"routeTableId\\\":\\\"rtb-024dd935e27622d38\\\",\\\"vpcId\\\":\\\"vpc-0c7085cd6156fa1a4\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"MediaAnalysis\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"PublicRouteTable\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-0c7085cd6156fa1a4","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-024dd935e27622d38","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=MediaAnalysis\",\"value\":\"MediaAnalysis\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PublicRouteTable\",\"value\":\"PublicRouteTable\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"rtb-024dd935e27622d38","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1913,"y":1187.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-0ebb017bbc6e6bb89","resourceId":["rtb-0ebb017bbc6e6bb89","arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-0ebb017bbc6e6bb89"],"parent":"RouteTable-vpc-0c7085cd6156fa1a4-eu-west-1-060997615305","level":4,"id":"arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-0ebb017bbc6e6bb89","title":"rtb-0ebb017bbc6e6bb89","label":"rtb-0ebb017b...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-0ebb017bbc6e6bb89","image":"/icons/Amazon-VPC_Router_light-bg.svg","cost":0,"private":false,"resource":{"id":"rtb-0ebb017bbc6e6bb89","name":null,"value":null,"type":"AWS::EC2::RouteTable","tags":"[]","arn":"arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-0ebb017bbc6e6bb89","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-0ebb017bbc6e6bb89","configuration":"\"{\\\"associations\\\":[{\\\"routeTableId\\\":\\\"rtb-0ebb017bbc6e6bb89\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-01e7218cb67d43e0f\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":true}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"10.0.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"}],\\\"routeTableId\\\":\\\"rtb-0ebb017bbc6e6bb89\\\",\\\"vpcId\\\":\\\"vpc-0c7085cd6156fa1a4\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-0c7085cd6156fa1a4","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-0ebb017bbc6e6bb89","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[]","title":"rtb-0ebb017bbc6e6bb89","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1949.5,"y":1187.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-024dd935e27622d38","resourceId":["rtb-024dd935e27622d38","arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-024dd935e27622d38"],"parent":"RouteTable-vpc-0c7085cd6156fa1a4-eu-west-1-060997615305","level":4,"id":"arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-024dd935e27622d38","title":"rtb-024dd935e27622d38","label":"rtb-024dd935...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-024dd935e27622d38","image":"/icons/Amazon-VPC_Router_light-bg.svg","cost":0,"private":false,"resource":{"id":"rtb-024dd935e27622d38","name":null,"value":null,"type":"AWS::EC2::RouteTable","tags":"[{\"tag\":\"aws:cloudformation:stack-name=MediaAnalysis\",\"value\":\"MediaAnalysis\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PublicRouteTable\",\"value\":\"PublicRouteTable\",\"key\":\"aws:cloudformation:logical-id\"}]","arn":"arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-024dd935e27622d38","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-024dd935e27622d38","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-0cceea9e085020181\\\",\\\"routeTableId\\\":\\\"rtb-024dd935e27622d38\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-01fc8dcd619476a0e\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":false},{\\\"subnetId\\\":\\\"subnet-0147ad908aa90db3b\\\",\\\"routeTableId\\\":\\\"rtb-024dd935e27622d38\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-0ace3c1a391249fc4\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":false},{\\\"subnetId\\\":\\\"subnet-00a91f29894b9d3d2\\\",\\\"routeTableId\\\":\\\"rtb-024dd935e27622d38\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-0d63d40c115382609\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":false}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"10.0.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"},{\\\"destinationCidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"igw-09d8c8015bfa842a8\\\"}],\\\"routeTableId\\\":\\\"rtb-024dd935e27622d38\\\",\\\"vpcId\\\":\\\"vpc-0c7085cd6156fa1a4\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"MediaAnalysis\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"PublicRouteTable\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-0c7085cd6156fa1a4","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-024dd935e27622d38","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=MediaAnalysis\",\"value\":\"MediaAnalysis\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PublicRouteTable\",\"value\":\"PublicRouteTable\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"rtb-024dd935e27622d38","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1876.5,"y":1187.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"eu-west-1c-vpc-0c7085cd6156fa1a4-eu-west-1-060997615305","parent":"vpc-0c7085cd6156fa1a4-eu-west-1-060997615305","level":3,"title":"eu-west-1c","label":"eu-west-1c","plainLabel":"eu-west-1c","type":"availabilityZone","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/availabilityZone.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-0cceea9e085020181","label":"subnet-0cceea9e085020181","parent":null,"type":"subnet","data":{"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-0cceea9e085020181","configuration":"\"{\\\"subnetId\\\":\\\"subnet-0cceea9e085020181\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-0cceea9e085020181\\\",\\\"availabilityZoneId\\\":\\\"euw1-az1\\\",\\\"cidrBlock\\\":\\\"10.0.20.0/22\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"PublicSubnet3\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"MediaAnalysis Public Subnet 3\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"MediaAnalysis\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"}],\\\"availableIpAddressCount\\\":1019,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-0c7085cd6156fa1a4\\\",\\\"mapPublicIpOnLaunch\\\":true,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-0c7085cd6156fa1a4","subnetId":"subnet-0cceea9e085020181","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":"true","resourceId":"subnet-0cceea9e085020181","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=MediaAnalysis\",\"value\":\"MediaAnalysis\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PublicSubnet3\",\"value\":\"PublicSubnet3\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=MediaAnalysis Public Subnet 3\",\"value\":\"MediaAnalysis Public Subnet 3\",\"key\":\"Name\"}]","title":"MediaAnalysis Public Subnet 3","instanceType":null,"statement":null,"dBInstanceStatus":null},"id":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-0cceea9e085020181","label":"AWS_EC2_Subnet"},"properties":null,"children":[]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-2175.5,"y":1516.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"availabilityZone removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-0cceea9e085020181","resourceId":["subnet-0cceea9e085020181","arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-0cceea9e085020181"],"parent":"eu-west-1c-vpc-0c7085cd6156fa1a4-eu-west-1-060997615305","level":4,"id":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-0cceea9e085020181","title":"MediaAnalysis Public Subnet 3","label":"MediaAnalysi...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-0cceea9e085020181","image":"/icons/VPC-subnet-private_light-bg-menu.svg","cost":0,"private":true,"resource":{"id":"subnet-0cceea9e085020181","name":null,"value":null,"type":"AWS::EC2::Subnet","tags":"[{\"tag\":\"aws:cloudformation:stack-name=MediaAnalysis\",\"value\":\"MediaAnalysis\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PublicSubnet3\",\"value\":\"PublicSubnet3\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=MediaAnalysis Public Subnet 3\",\"value\":\"MediaAnalysis Public Subnet 3\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-0cceea9e085020181","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-0cceea9e085020181","configuration":"\"{\\\"subnetId\\\":\\\"subnet-0cceea9e085020181\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-0cceea9e085020181\\\",\\\"availabilityZoneId\\\":\\\"euw1-az1\\\",\\\"cidrBlock\\\":\\\"10.0.20.0/22\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"PublicSubnet3\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"MediaAnalysis Public Subnet 3\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"MediaAnalysis\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"}],\\\"availableIpAddressCount\\\":1019,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-0c7085cd6156fa1a4\\\",\\\"mapPublicIpOnLaunch\\\":true,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-0c7085cd6156fa1a4","subnetId":"subnet-0cceea9e085020181","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":"true","resourceId":"subnet-0cceea9e085020181","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=MediaAnalysis\",\"value\":\"MediaAnalysis\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PublicSubnet3\",\"value\":\"PublicSubnet3\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=MediaAnalysis Public Subnet 3\",\"value\":\"MediaAnalysis Public Subnet 3\",\"key\":\"Name\"}]","title":"MediaAnalysis Public Subnet 3","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2175.5,"y":1516.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"eu-west-1a-vpc-0c7085cd6156fa1a4-eu-west-1-060997615305","parent":"vpc-0c7085cd6156fa1a4-eu-west-1-060997615305","level":3,"title":"eu-west-1a","label":"eu-west-1a","plainLabel":"eu-west-1a","type":"availabilityZone","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/availabilityZone.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-00a91f29894b9d3d2","label":"subnet-00a91f29894b9d3d2","parent":null,"type":"subnet","data":{"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-00a91f29894b9d3d2","configuration":"\"{\\\"subnetId\\\":\\\"subnet-00a91f29894b9d3d2\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-00a91f29894b9d3d2\\\",\\\"availabilityZoneId\\\":\\\"euw1-az2\\\",\\\"cidrBlock\\\":\\\"10.0.12.0/22\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"PublicSubnet1\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"MediaAnalysis\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"MediaAnalysis Public Subnet 1\\\",\\\"key\\\":\\\"Name\\\"}],\\\"availableIpAddressCount\\\":1019,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-0c7085cd6156fa1a4\\\",\\\"mapPublicIpOnLaunch\\\":true,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-0c7085cd6156fa1a4","subnetId":"subnet-00a91f29894b9d3d2","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":"true","resourceId":"subnet-00a91f29894b9d3d2","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=MediaAnalysis\",\"value\":\"MediaAnalysis\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PublicSubnet1\",\"value\":\"PublicSubnet1\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=MediaAnalysis Public Subnet 1\",\"value\":\"MediaAnalysis Public Subnet 1\",\"key\":\"Name\"}]","title":"MediaAnalysis Public Subnet 1","instanceType":null,"statement":null,"dBInstanceStatus":null},"id":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-00a91f29894b9d3d2","label":"AWS_EC2_Subnet"},"properties":null,"children":[]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-2062.5,"y":1516.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"availabilityZone removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-00a91f29894b9d3d2","resourceId":["subnet-00a91f29894b9d3d2","arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-00a91f29894b9d3d2"],"parent":"eu-west-1a-vpc-0c7085cd6156fa1a4-eu-west-1-060997615305","level":4,"id":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-00a91f29894b9d3d2","title":"MediaAnalysis Public Subnet 1","label":"MediaAnalysi...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-00a91f29894b9d3d2","image":"/icons/VPC-subnet-private_light-bg-menu.svg","cost":0,"private":true,"resource":{"id":"subnet-00a91f29894b9d3d2","name":null,"value":null,"type":"AWS::EC2::Subnet","tags":"[{\"tag\":\"aws:cloudformation:stack-name=MediaAnalysis\",\"value\":\"MediaAnalysis\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PublicSubnet1\",\"value\":\"PublicSubnet1\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=MediaAnalysis Public Subnet 1\",\"value\":\"MediaAnalysis Public Subnet 1\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-00a91f29894b9d3d2","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-00a91f29894b9d3d2","configuration":"\"{\\\"subnetId\\\":\\\"subnet-00a91f29894b9d3d2\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-00a91f29894b9d3d2\\\",\\\"availabilityZoneId\\\":\\\"euw1-az2\\\",\\\"cidrBlock\\\":\\\"10.0.12.0/22\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"PublicSubnet1\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"MediaAnalysis\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"MediaAnalysis Public Subnet 1\\\",\\\"key\\\":\\\"Name\\\"}],\\\"availableIpAddressCount\\\":1019,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-0c7085cd6156fa1a4\\\",\\\"mapPublicIpOnLaunch\\\":true,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-0c7085cd6156fa1a4","subnetId":"subnet-00a91f29894b9d3d2","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":"true","resourceId":"subnet-00a91f29894b9d3d2","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=MediaAnalysis\",\"value\":\"MediaAnalysis\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PublicSubnet1\",\"value\":\"PublicSubnet1\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=MediaAnalysis Public Subnet 1\",\"value\":\"MediaAnalysis Public Subnet 1\",\"key\":\"Name\"}]","title":"MediaAnalysis Public Subnet 1","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2062.5,"y":1516.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"eu-west-1b-vpc-0c7085cd6156fa1a4-eu-west-1-060997615305","parent":"vpc-0c7085cd6156fa1a4-eu-west-1-060997615305","level":3,"title":"eu-west-1b","label":"eu-west-1b","plainLabel":"eu-west-1b","type":"availabilityZone","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/availabilityZone.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-0147ad908aa90db3b","label":"subnet-0147ad908aa90db3b","parent":null,"type":"subnet","data":{"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-0147ad908aa90db3b","configuration":"\"{\\\"subnetId\\\":\\\"subnet-0147ad908aa90db3b\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-0147ad908aa90db3b\\\",\\\"availabilityZoneId\\\":\\\"euw1-az3\\\",\\\"cidrBlock\\\":\\\"10.0.16.0/22\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"MediaAnalysis\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"PublicSubnet2\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"MediaAnalysis Public Subnet 2\\\",\\\"key\\\":\\\"Name\\\"}],\\\"availableIpAddressCount\\\":1019,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-0c7085cd6156fa1a4\\\",\\\"mapPublicIpOnLaunch\\\":true,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-0c7085cd6156fa1a4","subnetId":"subnet-0147ad908aa90db3b","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":"true","resourceId":"subnet-0147ad908aa90db3b","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=MediaAnalysis\",\"value\":\"MediaAnalysis\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PublicSubnet2\",\"value\":\"PublicSubnet2\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=MediaAnalysis Public Subnet 2\",\"value\":\"MediaAnalysis Public Subnet 2\",\"key\":\"Name\"}]","title":"MediaAnalysis Public Subnet 2","instanceType":null,"statement":null,"dBInstanceStatus":null},"id":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-0147ad908aa90db3b","label":"AWS_EC2_Subnet"},"properties":null,"children":[]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1949.5,"y":1516.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"availabilityZone removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-0147ad908aa90db3b","resourceId":["subnet-0147ad908aa90db3b","arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-0147ad908aa90db3b"],"parent":"eu-west-1b-vpc-0c7085cd6156fa1a4-eu-west-1-060997615305","level":4,"id":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-0147ad908aa90db3b","title":"MediaAnalysis Public Subnet 2","label":"MediaAnalysi...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-0147ad908aa90db3b","image":"/icons/VPC-subnet-private_light-bg-menu.svg","cost":0,"private":true,"resource":{"id":"subnet-0147ad908aa90db3b","name":null,"value":null,"type":"AWS::EC2::Subnet","tags":"[{\"tag\":\"aws:cloudformation:stack-name=MediaAnalysis\",\"value\":\"MediaAnalysis\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PublicSubnet2\",\"value\":\"PublicSubnet2\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=MediaAnalysis Public Subnet 2\",\"value\":\"MediaAnalysis Public Subnet 2\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-0147ad908aa90db3b","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-0147ad908aa90db3b","configuration":"\"{\\\"subnetId\\\":\\\"subnet-0147ad908aa90db3b\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-0147ad908aa90db3b\\\",\\\"availabilityZoneId\\\":\\\"euw1-az3\\\",\\\"cidrBlock\\\":\\\"10.0.16.0/22\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"MediaAnalysis\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"PublicSubnet2\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"MediaAnalysis Public Subnet 2\\\",\\\"key\\\":\\\"Name\\\"}],\\\"availableIpAddressCount\\\":1019,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-0c7085cd6156fa1a4\\\",\\\"mapPublicIpOnLaunch\\\":true,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-0c7085cd6156fa1a4","subnetId":"subnet-0147ad908aa90db3b","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":"true","resourceId":"subnet-0147ad908aa90db3b","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=MediaAnalysis\",\"value\":\"MediaAnalysis\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PublicSubnet2\",\"value\":\"PublicSubnet2\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=MediaAnalysis Public Subnet 2\",\"value\":\"MediaAnalysis Public Subnet 2\",\"key\":\"Name\"}]","title":"MediaAnalysis Public Subnet 2","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1949.5,"y":1516.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"Multiple Availability Zones-vpc-0c7085cd6156fa1a4-eu-west-1-060997615305","parent":"vpc-0c7085cd6156fa1a4-eu-west-1-060997615305","level":3,"title":"Multiple Availability Zones","label":"Multiple Availability Zones","plainLabel":"Multiple Availability Zones","type":"availabilityZone","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/availabilityZone.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":null,"label":"NetworkAcl","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-00b049ce164ed3a82","label":"AWS_EC2_NetworkAcl","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-00b049ce164ed3a82","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-00a91f29894b9d3d2\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-0dea8c9f485c8b966\\\",\\\"networkAclId\\\":\\\"acl-00b049ce164ed3a82\\\"},{\\\"subnetId\\\":\\\"subnet-0147ad908aa90db3b\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-0f400db8d246da634\\\",\\\"networkAclId\\\":\\\"acl-00b049ce164ed3a82\\\"},{\\\"subnetId\\\":\\\"subnet-0cceea9e085020181\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-050c5dfae3516fd91\\\",\\\"networkAclId\\\":\\\"acl-00b049ce164ed3a82\\\"}],\\\"entries\\\":[{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":99,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":99,\\\"egress\\\":false},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":false}],\\\"isDefault\\\":false,\\\"vpcId\\\":\\\"vpc-0c7085cd6156fa1a4\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"networkAclId\\\":\\\"acl-00b049ce164ed3a82\\\",\\\"tags\\\":[{\\\"value\\\":\\\"MediaAnalysis\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"PublicNetworkAcl\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-0c7085cd6156fa1a4","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#acls:sort=networkAclId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#acls:sort=networkAclId","private":null,"resourceId":"acl-00b049ce164ed3a82","resourceName":null,"resourceType":"AWS::EC2::NetworkAcl","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=MediaAnalysis\",\"value\":\"MediaAnalysis\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PublicNetworkAcl\",\"value\":\"PublicNetworkAcl\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"acl-00b049ce164ed3a82","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-0427015ae795beae9","label":"AWS_EC2_NetworkAcl","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-0427015ae795beae9","configuration":"\"{\\\"associations\\\":[],\\\"entries\\\":[{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":false},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":false}],\\\"isDefault\\\":true,\\\"vpcId\\\":\\\"vpc-0c7085cd6156fa1a4\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"networkAclId\\\":\\\"acl-0427015ae795beae9\\\",\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-0c7085cd6156fa1a4","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#acls:sort=networkAclId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#acls:sort=networkAclId","private":null,"resourceId":"acl-0427015ae795beae9","resourceName":null,"resourceType":"AWS::EC2::NetworkAcl","resourceValue":null,"state":null,"tags":"[]","title":"acl-0427015ae795beae9","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]},{"id":null,"label":"InternetGateway","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:internet-gateway/igw-09d8c8015bfa842a8","label":"AWS_EC2_InternetGateway","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:internet-gateway/igw-09d8c8015bfa842a8","configuration":"\"{\\\"attachments\\\":[{\\\"vpcId\\\":\\\"vpc-0c7085cd6156fa1a4\\\",\\\"state\\\":\\\"available\\\"}],\\\"internetGatewayId\\\":\\\"igw-09d8c8015bfa842a8\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"tags\\\":[{\\\"value\\\":\\\"InternetGateway\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"MediaAnalysis\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-0c7085cd6156fa1a4","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#igws:sort=internetGatewayId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#igws:sort=internetGatewayId","private":null,"resourceId":"igw-09d8c8015bfa842a8","resourceName":null,"resourceType":"AWS::EC2::InternetGateway","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=MediaAnalysis\",\"value\":\"MediaAnalysis\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=InternetGateway\",\"value\":\"InternetGateway\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"igw-09d8c8015bfa842a8","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-2119,"y":1295.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"availabilityZone removeAll _gridParentPadding"},{"data":{"id":"NetworkAcl-Multiple Availability Zones-vpc-0c7085cd6156fa1a4-eu-west-1-060997615305","parent":"Multiple Availability Zones-vpc-0c7085cd6156fa1a4-eu-west-1-060997615305","level":4,"title":"NetworkAcl","label":"NetworkAcl","plainLabel":"NetworkAcl","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-VPC_Network-Access-Control-List_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-00b049ce164ed3a82","label":"AWS_EC2_NetworkAcl","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-00b049ce164ed3a82","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-00a91f29894b9d3d2\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-0dea8c9f485c8b966\\\",\\\"networkAclId\\\":\\\"acl-00b049ce164ed3a82\\\"},{\\\"subnetId\\\":\\\"subnet-0147ad908aa90db3b\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-0f400db8d246da634\\\",\\\"networkAclId\\\":\\\"acl-00b049ce164ed3a82\\\"},{\\\"subnetId\\\":\\\"subnet-0cceea9e085020181\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-050c5dfae3516fd91\\\",\\\"networkAclId\\\":\\\"acl-00b049ce164ed3a82\\\"}],\\\"entries\\\":[{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":99,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":99,\\\"egress\\\":false},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":false}],\\\"isDefault\\\":false,\\\"vpcId\\\":\\\"vpc-0c7085cd6156fa1a4\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"networkAclId\\\":\\\"acl-00b049ce164ed3a82\\\",\\\"tags\\\":[{\\\"value\\\":\\\"MediaAnalysis\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"PublicNetworkAcl\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-0c7085cd6156fa1a4","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#acls:sort=networkAclId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#acls:sort=networkAclId","private":null,"resourceId":"acl-00b049ce164ed3a82","resourceName":null,"resourceType":"AWS::EC2::NetworkAcl","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=MediaAnalysis\",\"value\":\"MediaAnalysis\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PublicNetworkAcl\",\"value\":\"PublicNetworkAcl\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"acl-00b049ce164ed3a82","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-0427015ae795beae9","label":"AWS_EC2_NetworkAcl","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-0427015ae795beae9","configuration":"\"{\\\"associations\\\":[],\\\"entries\\\":[{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":false},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":false}],\\\"isDefault\\\":true,\\\"vpcId\\\":\\\"vpc-0c7085cd6156fa1a4\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"networkAclId\\\":\\\"acl-0427015ae795beae9\\\",\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-0c7085cd6156fa1a4","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#acls:sort=networkAclId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#acls:sort=networkAclId","private":null,"resourceId":"acl-0427015ae795beae9","resourceName":null,"resourceType":"AWS::EC2::NetworkAcl","resourceValue":null,"state":null,"tags":"[]","title":"acl-0427015ae795beae9","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-2119,"y":1230.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-00b049ce164ed3a82","resourceId":["acl-00b049ce164ed3a82","arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-00b049ce164ed3a82"],"parent":"NetworkAcl-Multiple Availability Zones-vpc-0c7085cd6156fa1a4-eu-west-1-060997615305","level":5,"id":"arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-00b049ce164ed3a82","title":"acl-00b049ce164ed3a82","label":"acl-00b049ce...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-00b049ce164ed3a82","image":"/icons/Amazon-VPC_Network-Access-Control-List_light-bg.svg","cost":0,"private":false,"resource":{"id":"acl-00b049ce164ed3a82","name":null,"value":null,"type":"AWS::EC2::NetworkAcl","tags":"[{\"tag\":\"aws:cloudformation:stack-name=MediaAnalysis\",\"value\":\"MediaAnalysis\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PublicNetworkAcl\",\"value\":\"PublicNetworkAcl\",\"key\":\"aws:cloudformation:logical-id\"}]","arn":"arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-00b049ce164ed3a82","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#acls:sort=networkAclId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#acls:sort=networkAclId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-00b049ce164ed3a82","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-00a91f29894b9d3d2\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-0dea8c9f485c8b966\\\",\\\"networkAclId\\\":\\\"acl-00b049ce164ed3a82\\\"},{\\\"subnetId\\\":\\\"subnet-0147ad908aa90db3b\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-0f400db8d246da634\\\",\\\"networkAclId\\\":\\\"acl-00b049ce164ed3a82\\\"},{\\\"subnetId\\\":\\\"subnet-0cceea9e085020181\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-050c5dfae3516fd91\\\",\\\"networkAclId\\\":\\\"acl-00b049ce164ed3a82\\\"}],\\\"entries\\\":[{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":99,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":99,\\\"egress\\\":false},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":false}],\\\"isDefault\\\":false,\\\"vpcId\\\":\\\"vpc-0c7085cd6156fa1a4\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"networkAclId\\\":\\\"acl-00b049ce164ed3a82\\\",\\\"tags\\\":[{\\\"value\\\":\\\"MediaAnalysis\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"PublicNetworkAcl\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-0c7085cd6156fa1a4","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#acls:sort=networkAclId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#acls:sort=networkAclId","private":null,"resourceId":"acl-00b049ce164ed3a82","resourceName":null,"resourceType":"AWS::EC2::NetworkAcl","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=MediaAnalysis\",\"value\":\"MediaAnalysis\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PublicNetworkAcl\",\"value\":\"PublicNetworkAcl\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"acl-00b049ce164ed3a82","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2155.5,"y":1230.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-0427015ae795beae9","resourceId":["acl-0427015ae795beae9","arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-0427015ae795beae9"],"parent":"NetworkAcl-Multiple Availability Zones-vpc-0c7085cd6156fa1a4-eu-west-1-060997615305","level":5,"id":"arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-0427015ae795beae9","title":"acl-0427015ae795beae9","label":"acl-0427015a...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-0427015ae795beae9","image":"/icons/Amazon-VPC_Network-Access-Control-List_light-bg.svg","cost":0,"private":false,"resource":{"id":"acl-0427015ae795beae9","name":null,"value":null,"type":"AWS::EC2::NetworkAcl","tags":"[]","arn":"arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-0427015ae795beae9","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#acls:sort=networkAclId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#acls:sort=networkAclId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-0427015ae795beae9","configuration":"\"{\\\"associations\\\":[],\\\"entries\\\":[{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":false},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":false}],\\\"isDefault\\\":true,\\\"vpcId\\\":\\\"vpc-0c7085cd6156fa1a4\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"networkAclId\\\":\\\"acl-0427015ae795beae9\\\",\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-0c7085cd6156fa1a4","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#acls:sort=networkAclId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#acls:sort=networkAclId","private":null,"resourceId":"acl-0427015ae795beae9","resourceName":null,"resourceType":"AWS::EC2::NetworkAcl","resourceValue":null,"state":null,"tags":"[]","title":"acl-0427015ae795beae9","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2082.5,"y":1230.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"InternetGateway-Multiple Availability Zones-vpc-0c7085cd6156fa1a4-eu-west-1-060997615305","parent":"Multiple Availability Zones-vpc-0c7085cd6156fa1a4-eu-west-1-060997615305","level":4,"title":"InternetGateway","label":"InternetGateway","plainLabel":"InternetGateway","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-VPC_Internet-Gateway_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:internet-gateway/igw-09d8c8015bfa842a8","label":"AWS_EC2_InternetGateway","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:internet-gateway/igw-09d8c8015bfa842a8","configuration":"\"{\\\"attachments\\\":[{\\\"vpcId\\\":\\\"vpc-0c7085cd6156fa1a4\\\",\\\"state\\\":\\\"available\\\"}],\\\"internetGatewayId\\\":\\\"igw-09d8c8015bfa842a8\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"tags\\\":[{\\\"value\\\":\\\"InternetGateway\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"MediaAnalysis\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-0c7085cd6156fa1a4","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#igws:sort=internetGatewayId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#igws:sort=internetGatewayId","private":null,"resourceId":"igw-09d8c8015bfa842a8","resourceName":null,"resourceType":"AWS::EC2::InternetGateway","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=MediaAnalysis\",\"value\":\"MediaAnalysis\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=InternetGateway\",\"value\":\"InternetGateway\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"igw-09d8c8015bfa842a8","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-2155.5,"y":1360.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:internet-gateway/igw-09d8c8015bfa842a8","resourceId":["igw-09d8c8015bfa842a8","arn:aws:ec2:eu-west-1:060997615305:internet-gateway/igw-09d8c8015bfa842a8"],"parent":"InternetGateway-Multiple Availability Zones-vpc-0c7085cd6156fa1a4-eu-west-1-060997615305","level":5,"id":"arn:aws:ec2:eu-west-1:060997615305:internet-gateway/igw-09d8c8015bfa842a8","title":"igw-09d8c8015bfa842a8","label":"igw-09d8c801...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:internet-gateway/igw-09d8c8015bfa842a8","image":"/icons/Amazon-VPC_Internet-Gateway_light-bg.svg","cost":0,"private":false,"resource":{"id":"igw-09d8c8015bfa842a8","name":null,"value":null,"type":"AWS::EC2::InternetGateway","tags":"[{\"tag\":\"aws:cloudformation:stack-name=MediaAnalysis\",\"value\":\"MediaAnalysis\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=InternetGateway\",\"value\":\"InternetGateway\",\"key\":\"aws:cloudformation:logical-id\"}]","arn":"arn:aws:ec2:eu-west-1:060997615305:internet-gateway/igw-09d8c8015bfa842a8","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#igws:sort=internetGatewayId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#igws:sort=internetGatewayId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:internet-gateway/igw-09d8c8015bfa842a8","configuration":"\"{\\\"attachments\\\":[{\\\"vpcId\\\":\\\"vpc-0c7085cd6156fa1a4\\\",\\\"state\\\":\\\"available\\\"}],\\\"internetGatewayId\\\":\\\"igw-09d8c8015bfa842a8\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"tags\\\":[{\\\"value\\\":\\\"InternetGateway\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"MediaAnalysis\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-0c7085cd6156fa1a4","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#igws:sort=internetGatewayId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#igws:sort=internetGatewayId","private":null,"resourceId":"igw-09d8c8015bfa842a8","resourceName":null,"resourceType":"AWS::EC2::InternetGateway","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=MediaAnalysis\",\"value\":\"MediaAnalysis\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=InternetGateway\",\"value\":\"InternetGateway\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"igw-09d8c8015bfa842a8","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2155.5,"y":1360.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:tags::060997615305:tag/aws:cloudformation:logical-id=VPC","resourceId":["arn:aws:tags::060997615305:tag/aws:cloudformation:logical-id=VPC","arn:aws:tags::060997615305:tag/aws:cloudformation:logical-id=VPC"],"parent":"Tag-global-060997615305","level":3,"id":"arn:aws:tags::060997615305:tag/aws:cloudformation:logical-id=VPC","title":"aws:cloudformation:logical-id=VPC","label":"aws:cloudfor...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:tags::060997615305:tag/aws:cloudformation:logical-id=VPC","image":"/icons/AWS-Tags-bg.svg","cost":0,"private":false,"resource":{"id":"arn:aws:tags::060997615305:tag/aws:cloudformation:logical-id=VPC","name":"aws:cloudformation:logical-id=VPC","value":null,"type":"AWS::Tags::Tag","tags":"[]","arn":"arn:aws:tags::060997615305:tag/aws:cloudformation:logical-id=VPC","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:tags::060997615305:tag/aws:cloudformation:logical-id=VPC","configuration":"\"{}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:tags::060997615305:tag/aws:cloudformation:logical-id=VPC","resourceName":"aws:cloudformation:logical-id=VPC","resourceType":"AWS::Tags::Tag","resourceValue":null,"state":null,"tags":"[]","title":"aws:cloudformation:logical-id=VPC","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2122.5,"y":2510.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:tags::060997615305:tag/Name=MediaAnalysis VPC","resourceId":["arn:aws:tags::060997615305:tag/Name=MediaAnalysis VPC","arn:aws:tags::060997615305:tag/Name=MediaAnalysis VPC"],"parent":"Tag-global-060997615305","level":3,"id":"arn:aws:tags::060997615305:tag/Name=MediaAnalysis VPC","title":"Name=MediaAnalysis VPC","label":"Name=MediaAn...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:tags::060997615305:tag/Name=MediaAnalysis VPC","image":"/icons/AWS-Tags-bg.svg","cost":0,"private":false,"resource":{"id":"arn:aws:tags::060997615305:tag/Name=MediaAnalysis VPC","name":"Name=MediaAnalysis VPC","value":null,"type":"AWS::Tags::Tag","tags":"[]","arn":"arn:aws:tags::060997615305:tag/Name=MediaAnalysis VPC","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:tags::060997615305:tag/Name=MediaAnalysis VPC","configuration":"\"{}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:tags::060997615305:tag/Name=MediaAnalysis VPC","resourceName":"Name=MediaAnalysis VPC","resourceType":"AWS::Tags::Tag","resourceValue":null,"state":null,"tags":"[]","title":"Name=MediaAnalysis VPC","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2195.5,"y":2583.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:tags::060997615305:tag/aws:cloudformation:stack-name=MediaAnalysis","resourceId":["arn:aws:tags::060997615305:tag/aws:cloudformation:stack-name=MediaAnalysis","arn:aws:tags::060997615305:tag/aws:cloudformation:stack-name=MediaAnalysis"],"parent":"Tag-global-060997615305","level":3,"id":"arn:aws:tags::060997615305:tag/aws:cloudformation:stack-name=MediaAnalysis","title":"aws:cloudformation:stack-name=MediaAnalysis","label":"aws:cloudfor...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:tags::060997615305:tag/aws:cloudformation:stack-name=MediaAnalysis","image":"/icons/AWS-Tags-bg.svg","cost":0,"private":false,"resource":{"id":"arn:aws:tags::060997615305:tag/aws:cloudformation:stack-name=MediaAnalysis","name":"aws:cloudformation:stack-name=MediaAnalysis","value":null,"type":"AWS::Tags::Tag","tags":"[]","arn":"arn:aws:tags::060997615305:tag/aws:cloudformation:stack-name=MediaAnalysis","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:tags::060997615305:tag/aws:cloudformation:stack-name=MediaAnalysis","configuration":"\"{}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:tags::060997615305:tag/aws:cloudformation:stack-name=MediaAnalysis","resourceName":"aws:cloudformation:stack-name=MediaAnalysis","resourceType":"AWS::Tags::Tag","resourceValue":null,"state":null,"tags":"[]","title":"aws:cloudformation:stack-name=MediaAnalysis","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2122.5,"y":2583.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:tags::060997615305:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e","resourceId":["arn:aws:tags::060997615305:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e","arn:aws:tags::060997615305:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e"],"parent":"Tag-global-060997615305","level":3,"id":"arn:aws:tags::060997615305:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e","title":"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e","label":"aws:cloudfor...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:tags::060997615305:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e","image":"/icons/AWS-Tags-bg.svg","cost":0,"private":false,"resource":{"id":"arn:aws:tags::060997615305:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e","name":"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e","value":null,"type":"AWS::Tags::Tag","tags":"[]","arn":"arn:aws:tags::060997615305:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:tags::060997615305:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e","configuration":"\"{}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:tags::060997615305:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e","resourceName":"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e","resourceType":"AWS::Tags::Tag","resourceValue":null,"state":null,"tags":"[]","title":"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2049.5,"y":2510.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/wd2-2022-10-07-AccountImp-AccountImportTemplatesAp-11R7J70DATOV3","resourceId":["AROAQU6I6AO4QBMIOPHXP","arn:aws:iam::044981683129:role/wd2-2022-10-07-AccountImp-AccountImportTemplatesAp-11R7J70DATOV3"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-AccountImp-AccountImportTemplatesAp-11R7J70DATOV3","title":"wd2-2022-10-07-AccountImp-AccountImportTemplatesAp-11R7J70DATOV3","label":"wd2-2022-10-...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/wd2-2022-10-07-AccountImp-AccountImportTemplatesAp-11R7J70DATOV3","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO4QBMIOPHXP","name":"wd2-2022-10-07-AccountImp-AccountImportTemplatesAp-11R7J70DATOV3","value":null,"type":"AWS::IAM::Role","tags":"[{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"}]","arn":"arn:aws:iam::044981683129:role/wd2-2022-10-07-AccountImp-AccountImportTemplatesAp-11R7J70DATOV3","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/wd2-2022-10-07-AccountImp-AccountImportTemplatesAp-11R7J70DATOV3","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222008-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22lambda.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO4QBMIOPHXP\\\",\\\"attachedManagedPolicies\\\":[{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole\\\",\\\"policyName\\\":\\\"AWSLambdaBasicExecutionRole\\\"},{\\\"policyArn\\\":\\\"arn:aws:iam::aws:policy/AWSXRayDaemonWriteAccess\\\",\\\"policyName\\\":\\\"AWSXRayDaemonWriteAccess\\\"}],\\\"roleName\\\":\\\"wd2-2022-10-07-AccountImp-AccountImportTemplatesAp-11R7J70DATOV3\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/wd2-2022-10-07-AccountImp-AccountImportTemplatesAp-11R7J70DATOV3\\\",\\\"createDate\\\":\\\"2022-10-07T18:00:18.000Z\\\",\\\"rolePolicyList\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"key\\\":\\\"AppManagerCFNStackKey\\\"}]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO4QBMIOPHXP","resourceName":"wd2-2022-10-07-AccountImp-AccountImportTemplatesAp-11R7J70DATOV3","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"}]","title":"wd2-2022-10-07-AccountImp-AccountImportTemplatesAp-11R7J70DATOV3","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":1279.5,"y":-2175.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-AccountImp-AccountImportTemplatesAp-7vuKEokXIADF","resourceId":["wd2-2022-10-07-AccountImp-AccountImportTemplatesAp-7vuKEokXIADF","arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-AccountImp-AccountImportTemplatesAp-7vuKEokXIADF"],"parent":"Function-eu-west-1-044981683129","level":3,"id":"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-AccountImp-AccountImportTemplatesAp-7vuKEokXIADF","title":"wd2-2022-10-07-AccountImp-AccountImportTemplatesAp-7vuKEokXIADF","label":"wd2-2022-10-...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-AccountImp-AccountImportTemplatesAp-7vuKEokXIADF","image":"/icons/AWS-Lambda-menu.svg","cost":0,"private":false,"resource":{"id":"wd2-2022-10-07-AccountImp-AccountImportTemplatesAp-7vuKEokXIADF","name":"wd2-2022-10-07-AccountImp-AccountImportTemplatesAp-7vuKEokXIADF","value":null,"type":"AWS::Lambda::Function","tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-AccountImportTemplatesResolversStack-11OQ0Q2R1JD1C\",\"value\":\"wd2-2022-10-07-AccountImportTemplatesResolversStack-11OQ0Q2R1JD1C\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-AccountImportTemplatesResolversStack-11OQ0Q2R1JD1C/e2afdd00-4669-11ed-b26c-02dabe6c6d83\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-AccountImportTemplatesResolversStack-11OQ0Q2R1JD1C/e2afdd00-4669-11ed-b26c-02dabe6c6d83\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"aws:cloudformation:logical-id=AccountImportTemplatesApiFunction\",\"value\":\"AccountImportTemplatesApiFunction\",\"key\":\"aws:cloudformation:logical-id\"}]","arn":"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-AccountImp-AccountImportTemplatesAp-7vuKEokXIADF","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/lambda/home?region=eu-west-1#/functions/wd2-2022-10-07-AccountImp-AccountImportTemplatesAp-7vuKEokXIADF?tab=graph","loginURL":"https://044981683129.signin.aws.amazon.com/console/lambda?region=eu-west-1#/functions/wd2-2022-10-07-AccountImp-AccountImportTemplatesAp-7vuKEokXIADF?tab=graph","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-AccountImp-AccountImportTemplatesAp-7vuKEokXIADF","configuration":"\"{\\\"architectures\\\":[\\\"x86_64\\\"],\\\"ephemeralStorage\\\":{\\\"size\\\":512},\\\"handler\\\":\\\"index.handler\\\",\\\"role\\\":\\\"arn:aws:iam::044981683129:role/wd2-2022-10-07-AccountImp-AccountImportTemplatesAp-11R7J70DATOV3\\\",\\\"functionName\\\":\\\"wd2-2022-10-07-AccountImp-AccountImportTemplatesAp-7vuKEokXIADF\\\",\\\"tracingConfig\\\":{\\\"mode\\\":\\\"Active\\\"},\\\"runtime\\\":\\\"nodejs16.x\\\",\\\"description\\\":\\\"Lambda for Account Import Template Api\\\",\\\"runtimeVersionConfig\\\":{\\\"runtimeVersionArn\\\":\\\"arn:aws:lambda:eu-west-1::runtime:734d712d91ebc245bd01c52ae85b4025a7885efd1b8c87c0ce49f3e47d2116a4\\\"},\\\"codeSize\\\":3746,\\\"version\\\":\\\"$LATEST\\\",\\\"packageType\\\":\\\"Zip\\\",\\\"timeout\\\":10,\\\"revisionId\\\":\\\"f56617f4-fed9-4285-84d1-176666f3b55d\\\",\\\"codeSha256\\\":\\\"m6kHjvKPnNVlKo2e5i6Kq4VQnTwrROJcSzfM3M7PXIo=\\\",\\\"memorySize\\\":1024,\\\"fileSystemConfigs\\\":[],\\\"lastUpdateStatus\\\":\\\"Successful\\\",\\\"layers\\\":[],\\\"snapStart\\\":{\\\"applyOn\\\":\\\"None\\\",\\\"optimizationStatus\\\":\\\"Off\\\"},\\\"lastModified\\\":\\\"2023-02-13T12:52:02.000+0000\\\",\\\"state\\\":{\\\"value\\\":\\\"Active\\\"},\\\"functionArn\\\":\\\"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-AccountImp-AccountImportTemplatesAp-7vuKEokXIADF\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/lambda/home?region=eu-west-1#/functions/wd2-2022-10-07-AccountImp-AccountImportTemplatesAp-7vuKEokXIADF?tab=graph","loginURL":"https://044981683129.signin.aws.amazon.com/console/lambda?region=eu-west-1#/functions/wd2-2022-10-07-AccountImp-AccountImportTemplatesAp-7vuKEokXIADF?tab=graph","private":null,"resourceId":"wd2-2022-10-07-AccountImp-AccountImportTemplatesAp-7vuKEokXIADF","resourceName":"wd2-2022-10-07-AccountImp-AccountImportTemplatesAp-7vuKEokXIADF","resourceType":"AWS::Lambda::Function","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-AccountImportTemplatesResolversStack-11OQ0Q2R1JD1C\",\"value\":\"wd2-2022-10-07-AccountImportTemplatesResolversStack-11OQ0Q2R1JD1C\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-AccountImportTemplatesResolversStack-11OQ0Q2R1JD1C/e2afdd00-4669-11ed-b26c-02dabe6c6d83\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-AccountImportTemplatesResolversStack-11OQ0Q2R1JD1C/e2afdd00-4669-11ed-b26c-02dabe6c6d83\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"aws:cloudformation:logical-id=AccountImportTemplatesApiFunction\",\"value\":\"AccountImportTemplatesApiFunction\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"wd2-2022-10-07-AccountImp-AccountImportTemplatesAp-7vuKEokXIADF","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-95.5,"y":-412.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-AccountImportTemplatesResolversStack-11OQ0Q2R1JD1C/e2afdd00-4669-11ed-b26c-02dabe6c6d83","resourceId":["arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-AccountImportTemplatesResolversStack-11OQ0Q2R1JD1C/e2afdd00-4669-11ed-b26c-02dabe6c6d83","arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-AccountImportTemplatesResolversStack-11OQ0Q2R1JD1C/e2afdd00-4669-11ed-b26c-02dabe6c6d83"],"parent":"Stack-eu-west-1-044981683129","level":3,"id":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-AccountImportTemplatesResolversStack-11OQ0Q2R1JD1C/e2afdd00-4669-11ed-b26c-02dabe6c6d83","title":"wd2-2022-10-07-AccountImportTemplatesResolversStack-11OQ0Q2R1JD1C","label":"wd2-2022-10-...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-AccountImportTemplatesResolversStack-11OQ0Q2R1JD1C/e2afdd00-4669-11ed-b26c-02dabe6c6d83","image":"/icons/AWS-CloudFormation.svg","cost":0,"private":false,"resource":{"id":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-AccountImportTemplatesResolversStack-11OQ0Q2R1JD1C/e2afdd00-4669-11ed-b26c-02dabe6c6d83","name":"wd2-2022-10-07-AccountImportTemplatesResolversStack-11OQ0Q2R1JD1C","value":null,"type":"AWS::CloudFormation::Stack","tags":"[{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"}]","arn":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-AccountImportTemplatesResolversStack-11OQ0Q2R1JD1C/e2afdd00-4669-11ed-b26c-02dabe6c6d83","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-AccountImportTemplatesResolversStack-11OQ0Q2R1JD1C/e2afdd00-4669-11ed-b26c-02dabe6c6d83","configuration":"\"{\\\"outputs\\\":[],\\\"capabilities\\\":[\\\"CAPABILITY_IAM\\\",\\\"CAPABILITY_NAMED_IAM\\\",\\\"CAPABILITY_AUTO_EXPAND\\\"],\\\"creationTime\\\":\\\"2022-10-07T18:00:10Z\\\",\\\"notificationARNs\\\":[],\\\"stackId\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-AccountImportTemplatesResolversStack-11OQ0Q2R1JD1C/e2afdd00-4669-11ed-b26c-02dabe6c6d83\\\",\\\"stackName\\\":\\\"wd2-2022-10-07-AccountImportTemplatesResolversStack-11OQ0Q2R1JD1C\\\",\\\"description\\\":\\\"Workload Discovery on AWS Account Import Template API\\\",\\\"stackStatus\\\":\\\"UPDATE_COMPLETE\\\",\\\"disableRollback\\\":false,\\\"parentId\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"tags\\\":[{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"key\\\":\\\"AppManagerCFNStackKey\\\"}],\\\"timeoutInMinutes\\\":60,\\\"driftInformation\\\":{\\\"stackDriftStatus\\\":\\\"NOT_CHECKED\\\"},\\\"enableTerminationProtection\\\":false,\\\"lastUpdatedTime\\\":\\\"2023-02-13T12:51:52Z\\\",\\\"parameters\\\":[{\\\"parameterKey\\\":\\\"DeploymentBucketKey\\\",\\\"parameterValue\\\":\\\"workload-discovery/v2.1.0-local.tidy-cfn.1\\\"},{\\\"parameterKey\\\":\\\"DeploymentBucket\\\",\\\"parameterValue\\\":\\\"svozza-local-cfn-eu-west-1\\\"},{\\\"parameterKey\\\":\\\"PerspectiveAppSyncApiId\\\",\\\"parameterValue\\\":\\\"wh6ccb253jbktaquhfuvzfkbsi\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Regional","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-AccountImportTemplatesResolversStack-11OQ0Q2R1JD1C/e2afdd00-4669-11ed-b26c-02dabe6c6d83","resourceName":"wd2-2022-10-07-AccountImportTemplatesResolversStack-11OQ0Q2R1JD1C","resourceType":"AWS::CloudFormation::Stack","resourceValue":null,"state":null,"tags":"[{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"}]","title":"wd2-2022-10-07-AccountImportTemplatesResolversStack-11OQ0Q2R1JD1C","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-580.5,"y":-485.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/GatedGardenInternalAudit","resourceId":["AROAQU6I6AO4R3TLHZ3BM","arn:aws:iam::044981683129:role/GatedGardenInternalAudit"],"parent":"Role-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/GatedGardenInternalAudit","title":"GatedGardenInternalAudit","label":"GatedGardenI...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/GatedGardenInternalAudit","image":"/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg","cost":0,"private":false,"resource":{"id":"AROAQU6I6AO4R3TLHZ3BM","name":"GatedGardenInternalAudit","value":null,"type":"AWS::IAM::Role","tags":"[]","arn":"arn:aws:iam::044981683129:role/GatedGardenInternalAudit","region":"global","state":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/GatedGardenInternalAudit","configuration":"\"{\\\"path\\\":\\\"/\\\",\\\"assumeRolePolicyDocument\\\":\\\"%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Sid%22%3A%22%22%2C%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22AWS%22%3A%22arn%3Aaws%3Aiam%3A%3A222385417670%3Aroot%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%2C%22Condition%22%3A%7B%22StringEquals%22%3A%7B%22sts%3AExternalId%22%3A%22GatedGardenInternalAuditKtF963dK82pN%22%7D%7D%7D%5D%7D\\\",\\\"instanceProfileList\\\":[],\\\"roleId\\\":\\\"AROAQU6I6AO4R3TLHZ3BM\\\",\\\"attachedManagedPolicies\\\":[],\\\"roleName\\\":\\\"GatedGardenInternalAudit\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:role/GatedGardenInternalAudit\\\",\\\"createDate\\\":\\\"2022-06-18T23:32:52.000Z\\\",\\\"rolePolicyList\\\":[{\\\"policyDocument\\\":\\\"%7B%0A%20%20%22Version%22%3A%20%222012-10-17%22%2C%0A%20%20%22Statement%22%3A%20%5B%0A%20%20%20%20%7B%0A%20%20%20%20%20%20%22Sid%22%3A%20%22VerifyCloudTrailsExistAndAreMultiRegion%22%2C%0A%20%20%20%20%20%20%22Action%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%22cloudtrail%3ADescribeTrails%22%2C%0A%20%20%20%20%20%20%20%20%22cloudtrail%3AGetTrailStatus%22%2C%0A%20%20%20%20%20%20%20%20%22cloudtrail%3AGetEventSelectors%22%0A%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%22Effect%22%3A%20%22Allow%22%2C%0A%20%20%20%20%20%20%22Resource%22%3A%20%22%2A%22%0A%20%20%20%20%7D%2C%0A%20%20%20%20%7B%0A%20%20%20%20%20%20%22Sid%22%3A%20%22CreateCloudTrailIfMissing%22%2C%0A%20%20%20%20%20%20%22Action%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%22cloudtrail%3ACreateTrail%22%2C%0A%20%20%20%20%20%20%20%20%22cloudtrail%3AStartLogging%22%2C%0A%20%20%20%20%20%20%20%20%22cloudtrail%3ADeleteTrail%22%0A%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%22Effect%22%3A%20%22Allow%22%2C%0A%20%20%20%20%20%20%22Resource%22%3A%20%22arn%3Aaws%3Acloudtrail%3A%2A%3A%2A%3Atrail%2FDO-NOT-DELETE-GatedGarden-Audit%2A%22%0A%20%20%20%20%7D%2C%0A%20%20%20%20%7B%0A%20%20%20%20%20%20%22Sid%22%3A%20%22VerifyCWEAuditRulesExists%22%2C%0A%20%20%20%20%20%20%22Action%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%22events%3AListRuleNamesByTarget%22%2C%0A%20%20%20%20%20%20%20%20%22events%3AListRules%22%2C%0A%20%20%20%20%20%20%20%20%22events%3AListTargetsByRule%22%0A%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%22Effect%22%3A%20%22Allow%22%2C%0A%20%20%20%20%20%20%22Resource%22%3A%20%22%2A%22%0A%20%20%20%20%7D%2C%0A%20%20%20%20%7B%0A%20%20%20%20%20%20%22Sid%22%3A%20%22VerifyCWESingleAuditRule%22%2C%0A%20%20%20%20%20%20%22Action%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%22events%3ADescribeRule%22%0A%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%22Effect%22%3A%20%22Allow%22%2C%0A%20%20%20%20%20%20%22Resource%22%3A%20%22arn%3Aaws%3Aevents%3A%2A%3A%2A%3Arule%2FDO-NOT-DELETE-GatedGarden-Audit%2A%22%0A%20%20%20%20%7D%2C%0A%20%20%20%20%7B%0A%20%20%20%20%20%20%22Sid%22%3A%20%22CreateCodeDeployAndLambdaCWERules%22%2C%0A%20%20%20%20%20%20%22Action%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%22events%3APutRule%22%0A%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%22Effect%22%3A%20%22Allow%22%2C%0A%20%20%20%20%20%20%22Resource%22%3A%20%22arn%3Aaws%3Aevents%3A%2A%3A%2A%3Arule%2FDO-NOT-DELETE-GatedGarden-Audit%2A%22%2C%0A%20%20%20%20%20%20%22Condition%22%3A%20%7B%0A%20%20%20%20%20%20%20%20%22StringEquals%22%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%22events%3Asource%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%22aws.codedeploy%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22aws.lambda%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22aws.codecommit%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22aws.codebuild%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22aws.ecs%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22aws.codeartifact%22%0A%20%20%20%20%20%20%20%20%20%20%5D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%2C%0A%20%20%20%20%7B%0A%20%20%20%20%20%20%22Sid%22%3A%20%22DeliverCWEEventsToGatedGardenBus%22%2C%0A%20%20%20%20%20%20%22Action%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%22events%3APutTargets%22%0A%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%22Effect%22%3A%20%22Allow%22%2C%0A%20%20%20%20%20%20%22Resource%22%3A%20%22arn%3Aaws%3Aevents%3A%2A%3A%2A%3Arule%2FDO-NOT-DELETE-GatedGarden-Audit%2A%22%2C%0A%20%20%20%20%20%20%22Condition%22%3A%20%7B%0A%20%20%20%20%20%20%20%20%22ArnLike%22%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%22events%3ATargetArn%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%22arn%3Aaws%3Aevents%3A%2A%3A222385417670%3Aevent-bus%2Fdefault%22%20%20%20%20%20%20%20%20%20%20%5D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%2C%0A%20%20%20%20%7B%0A%20%20%20%20%20%20%22Sid%22%3A%20%22CreateCloudTrailBucketIfMissing%22%2C%0A%20%20%20%20%20%20%22Action%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%22s3%3ACreateBucket%22%2C%0A%20%20%20%20%20%20%20%20%22s3%3APutLifecycleConfiguration%22%2C%0A%20%20%20%20%20%20%20%20%22s3%3APutBucketPolicy%22%0A%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%22Effect%22%3A%20%22Allow%22%2C%0A%20%20%20%20%20%20%22Resource%22%3A%20%22arn%3Aaws%3As3%3A%3A%3Acloudtrail-awslogs-gatedgardenaudit-%2A%22%0A%20%20%20%20%7D%2C%0A%20%20%20%20%7B%0A%20%20%20%20%20%20%22Sid%22%3A%20%22CreateCodeBuildTrackingInfoBucketIfMissing%22%2C%0A%20%20%20%20%20%20%22Effect%22%3A%20%22Allow%22%2C%0A%20%20%20%20%20%20%22Action%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%22s3%3ACreateBucket%22%2C%0A%20%20%20%20%20%20%20%20%22s3%3APutBucketPolicy%22%2C%0A%20%20%20%20%20%20%20%20%22s3%3APutLifecycleConfiguration%22%2C%0A%20%20%20%20%20%20%20%20%22s3%3AGet%2A%22%2C%0A%20%20%20%20%20%20%20%20%22s3%3AList%2A%22%0A%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%22Resource%22%3A%20%22arn%3Aaws%3As3%3A%3A%3Ado-not-delete-gatedgarden-audit-%2A%22%0A%20%20%20%20%7D%2C%0A%20%20%20%20%7B%0A%20%20%20%20%20%20%22Sid%22%3A%20%22AntiEntropyListOfLambdaAndValidatingLatest%22%2C%0A%20%20%20%20%20%20%22Action%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%22lambda%3AGetFunctionConfiguration%22%2C%0A%20%20%20%20%20%20%20%20%22lambda%3AListFunctions%22%2C%0A%20%20%20%20%20%20%20%20%22lambda%3AListVersionsByFunction%22%0A%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%22Effect%22%3A%20%22Allow%22%2C%0A%20%20%20%20%20%20%22Resource%22%3A%20%22%2A%22%0A%20%20%20%20%7D%2C%0A%20%20%20%20%7B%0A%20%20%20%20%20%20%22Sid%22%3A%20%22GetFunctionMetadata%22%2C%0A%20%20%20%20%20%20%22Action%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%22lambda%3AGetFunction%22%0A%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%22Effect%22%3A%20%22Allow%22%2C%0A%20%20%20%20%20%20%22Resource%22%3A%20%22%2A%22%0A%20%20%20%20%7D%2C%0A%20%20%20%20%7B%0A%20%20%20%20%20%20%22Sid%22%3A%20%22CodeDeployAudit%22%2C%0A%20%20%20%20%20%20%22Action%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%22codedeploy%3ABatchGetApplications%22%2C%0A%20%20%20%20%20%20%20%20%22codedeploy%3ABatchGetDeployments%22%2C%0A%20%20%20%20%20%20%20%20%22codedeploy%3ABatchGetOnPremisesInstances%22%2C%0A%20%20%20%20%20%20%20%20%22codedeploy%3AGetApplication%22%2C%0A%20%20%20%20%20%20%20%20%22codedeploy%3AGetApplicationRevision%22%2C%0A%20%20%20%20%20%20%20%20%22codedeploy%3AGetDeployment%22%2C%0A%20%20%20%20%20%20%20%20%22codedeploy%3AGetDeploymentConfig%22%2C%0A%20%20%20%20%20%20%20%20%22codedeploy%3AGetDeploymentGroup%22%2C%0A%20%20%20%20%20%20%20%20%22codedeploy%3AGetDeploymentInstance%22%2C%0A%20%20%20%20%20%20%20%20%22codedeploy%3AGetOnPremisesInstance%22%2C%0A%20%20%20%20%20%20%20%20%22codedeploy%3AListApplicationRevisions%22%2C%0A%20%20%20%20%20%20%20%20%22codedeploy%3AListApplications%22%2C%0A%20%20%20%20%20%20%20%20%22codedeploy%3AListDeploymentConfigs%22%2C%0A%20%20%20%20%20%20%20%20%22codedeploy%3AListDeploymentGroups%22%2C%0A%20%20%20%20%20%20%20%20%22codedeploy%3AListDeploymentInstances%22%2C%0A%20%20%20%20%20%20%20%20%22codedeploy%3AListDeployments%22%2C%0A%20%20%20%20%20%20%20%20%22codedeploy%3AListOnPremisesInstances%22%0A%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%22Effect%22%3A%20%22Allow%22%2C%0A%20%20%20%20%20%20%22Resource%22%3A%20%22%2A%22%0A%20%20%20%20%7D%2C%0A%20%20%20%20%7B%0A%20%20%20%20%20%20%22Sid%22%3A%20%22CodeArtifactAudit%22%2C%0A%20%20%20%20%20%20%22Action%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%22codeartifact%3ADescribeRepository%22%2C%0A%20%20%20%20%20%20%20%20%22codeartifact%3ADescribePackageVersion%22%2C%0A%20%20%20%20%20%20%20%20%22codeartifact%3AListDomains%22%2C%0A%20%20%20%20%20%20%20%20%22codeartifact%3AListRepositories%22%2C%0A%20%20%20%20%20%20%20%20%22codeartifact%3AListPackages%22%2C%0A%20%20%20%20%20%20%20%20%22codeartifact%3AListPackageVersions%22%0A%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%22Effect%22%3A%20%22Allow%22%2C%0A%20%20%20%20%20%20%22Resource%22%3A%20%22%2A%22%0A%20%20%20%20%7D%2C%0A%20%20%20%20%7B%0A%20%20%20%20%20%20%22Sid%22%3A%20%22CodeArtifactModify%22%2C%0A%20%20%20%20%20%20%22Action%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%22codeartifact%3AUpdatePackageVersionsStatus%22%0A%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%22Effect%22%3A%20%22Allow%22%2C%0A%20%20%20%20%20%20%22Resource%22%3A%20%22%2A%22%0A%20%20%20%20%7D%2C%0A%20%20%20%20%7B%0A%20%20%20%20%20%20%22Sid%22%3A%20%22CodeBuildBuildHistoryAndDetailsReadAccess%22%2C%0A%20%20%20%20%20%20%22Effect%22%3A%20%22Allow%22%2C%0A%20%20%20%20%20%20%22Action%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%22codebuild%3ABatchGetBuilds%22%2C%0A%20%20%20%20%20%20%20%20%22codebuild%3AListBuilds%22%0A%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%22Resource%22%3A%20%22arn%3Aaws%3Acodebuild%3A%2A%3A%2A%3A%2A%22%0A%20%20%20%20%7D%2C%0A%20%20%20%20%7B%0A%20%20%20%20%20%20%22Sid%22%3A%20%22DescribeAndListECSTasks%22%2C%0A%20%20%20%20%20%20%22Action%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%22ecs%3ADescribeTasks%22%2C%0A%20%20%20%20%20%20%20%20%22ecs%3AListTasks%22%0A%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%22Effect%22%3A%22Allow%22%2C%0A%20%20%20%20%20%20%22Resource%22%3A%22%2A%22%0A%20%20%20%20%7D%2C%0A%20%20%20%20%7B%0A%20%20%20%20%20%20%22Sid%22%3A%20%22ConfigureS3AuditBuckets%22%2C%0A%20%20%20%20%20%20%22Effect%22%3A%20%22Allow%22%2C%0A%20%20%20%20%20%20%22Action%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%22s3%3APutEncryptionConfiguration%22%2C%0A%20%20%20%20%20%20%20%20%22s3%3AGetEncryptionConfiguration%22%2C%0A%20%20%20%20%20%20%20%20%22s3%3AGetBucketPublicAccessBlock%22%2C%0A%20%20%20%20%20%20%20%20%22s3%3APutBucketPublicAccessBlock%22%0A%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%22Resource%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%22arn%3Aaws%3As3%3A%3A%3Acloudtrail-awslogs-gatedgardenaudit-%2A%22%2C%0A%20%20%20%20%20%20%20%20%22arn%3Aaws%3As3%3A%3A%3Ado-not-delete-gatedgarden-audit-%2A%22%0A%20%20%20%20%20%20%5D%0A%20%20%20%20%7D%2C%0A%20%20%20%20%7B%0A%20%20%20%20%20%20%22Sid%22%3A%20%22ECRAudit%22%2C%0A%20%20%20%20%20%20%22Effect%22%3A%20%22Allow%22%2C%0A%20%20%20%20%20%20%22Action%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%22ecr%3ABatchGetImage%22%2C%0A%20%20%20%20%20%20%20%20%22ecr%3AGetDownloadUrlForLayer%22%2C%0A%20%20%20%20%20%20%20%20%22ecr%3ADescribeRepositories%22%0A%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%22Resource%22%3A%20%22%2A%22%0A%20%20%20%20%7D%0A%20%20%5D%0A%7D%0A\\\",\\\"policyName\\\":\\\"GatedGardenInternalAuditPolicy\\\"}],\\\"tags\\\":[]}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":"https://console.aws.amazon.com/iam/home?#/roles","loginURL":"https://044981683129.signin.aws.amazon.com/console/iam?home?#/roles","private":null,"resourceId":"AROAQU6I6AO4R3TLHZ3BM","resourceName":"GatedGardenInternalAudit","resourceType":"AWS::IAM::Role","resourceValue":null,"state":null,"tags":"[]","title":"GatedGardenInternalAudit","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":1279.5,"y":-2102.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:iam::044981683129:role/GatedGardenInternalAudit/inlinePolicy/GatedGardenInternalAuditPolicy","resourceId":["arn:aws:iam::044981683129:role/GatedGardenInternalAudit/inlinePolicy/GatedGardenInternalAuditPolicy","arn:aws:iam::044981683129:role/GatedGardenInternalAudit/inlinePolicy/GatedGardenInternalAuditPolicy"],"parent":"InlinePolicy-global-044981683129","level":3,"id":"arn:aws:iam::044981683129:role/GatedGardenInternalAudit/inlinePolicy/GatedGardenInternalAuditPolicy","title":"arn:aws:iam::044981683129:role/GatedGardenInternalAudit/inlinePolicy/GatedGardenInternalAuditPolicy","label":"arn:aws:iam:...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:iam::044981683129:role/GatedGardenInternalAudit/inlinePolicy/GatedGardenInternalAuditPolicy","image":"/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg","cost":0,"private":false,"resource":{"id":"arn:aws:iam::044981683129:role/GatedGardenInternalAudit/inlinePolicy/GatedGardenInternalAuditPolicy","name":"arn:aws:iam::044981683129:role/GatedGardenInternalAudit/inlinePolicy/GatedGardenInternalAuditPolicy","value":null,"type":"AWS::IAM::InlinePolicy","tags":"[]","arn":"arn:aws:iam::044981683129:role/GatedGardenInternalAudit/inlinePolicy/GatedGardenInternalAuditPolicy","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:iam::044981683129:role/GatedGardenInternalAudit/inlinePolicy/GatedGardenInternalAuditPolicy","configuration":"\"{\\\"policyName\\\":\\\"GatedGardenInternalAuditPolicy\\\",\\\"policyDocument\\\":{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Sid\\\":\\\"VerifyCloudTrailsExistAndAreMultiRegion\\\",\\\"Action\\\":[\\\"cloudtrail:DescribeTrails\\\",\\\"cloudtrail:GetTrailStatus\\\",\\\"cloudtrail:GetEventSelectors\\\"],\\\"Effect\\\":\\\"Allow\\\",\\\"Resource\\\":\\\"*\\\"},{\\\"Sid\\\":\\\"CreateCloudTrailIfMissing\\\",\\\"Action\\\":[\\\"cloudtrail:CreateTrail\\\",\\\"cloudtrail:StartLogging\\\",\\\"cloudtrail:DeleteTrail\\\"],\\\"Effect\\\":\\\"Allow\\\",\\\"Resource\\\":\\\"arn:aws:cloudtrail:*:*:trail/DO-NOT-DELETE-GatedGarden-Audit*\\\"},{\\\"Sid\\\":\\\"VerifyCWEAuditRulesExists\\\",\\\"Action\\\":[\\\"events:ListRuleNamesByTarget\\\",\\\"events:ListRules\\\",\\\"events:ListTargetsByRule\\\"],\\\"Effect\\\":\\\"Allow\\\",\\\"Resource\\\":\\\"*\\\"},{\\\"Sid\\\":\\\"VerifyCWESingleAuditRule\\\",\\\"Action\\\":[\\\"events:DescribeRule\\\"],\\\"Effect\\\":\\\"Allow\\\",\\\"Resource\\\":\\\"arn:aws:events:*:*:rule/DO-NOT-DELETE-GatedGarden-Audit*\\\"},{\\\"Sid\\\":\\\"CreateCodeDeployAndLambdaCWERules\\\",\\\"Action\\\":[\\\"events:PutRule\\\"],\\\"Effect\\\":\\\"Allow\\\",\\\"Resource\\\":\\\"arn:aws:events:*:*:rule/DO-NOT-DELETE-GatedGarden-Audit*\\\",\\\"Condition\\\":{\\\"StringEquals\\\":{\\\"events:source\\\":[\\\"aws.codedeploy\\\",\\\"aws.lambda\\\",\\\"aws.codecommit\\\",\\\"aws.codebuild\\\",\\\"aws.ecs\\\",\\\"aws.codeartifact\\\"]}}},{\\\"Sid\\\":\\\"DeliverCWEEventsToGatedGardenBus\\\",\\\"Action\\\":[\\\"events:PutTargets\\\"],\\\"Effect\\\":\\\"Allow\\\",\\\"Resource\\\":\\\"arn:aws:events:*:*:rule/DO-NOT-DELETE-GatedGarden-Audit*\\\",\\\"Condition\\\":{\\\"ArnLike\\\":{\\\"events:TargetArn\\\":[\\\"arn:aws:events:*:222385417670:event-bus/default\\\"]}}},{\\\"Sid\\\":\\\"CreateCloudTrailBucketIfMissing\\\",\\\"Action\\\":[\\\"s3:CreateBucket\\\",\\\"s3:PutLifecycleConfiguration\\\",\\\"s3:PutBucketPolicy\\\"],\\\"Effect\\\":\\\"Allow\\\",\\\"Resource\\\":\\\"arn:aws:s3:::cloudtrail-awslogs-gatedgardenaudit-*\\\"},{\\\"Sid\\\":\\\"CreateCodeBuildTrackingInfoBucketIfMissing\\\",\\\"Effect\\\":\\\"Allow\\\",\\\"Action\\\":[\\\"s3:CreateBucket\\\",\\\"s3:PutBucketPolicy\\\",\\\"s3:PutLifecycleConfiguration\\\",\\\"s3:Get*\\\",\\\"s3:List*\\\"],\\\"Resource\\\":\\\"arn:aws:s3:::do-not-delete-gatedgarden-audit-*\\\"},{\\\"Sid\\\":\\\"AntiEntropyListOfLambdaAndValidatingLatest\\\",\\\"Action\\\":[\\\"lambda:GetFunctionConfiguration\\\",\\\"lambda:ListFunctions\\\",\\\"lambda:ListVersionsByFunction\\\"],\\\"Effect\\\":\\\"Allow\\\",\\\"Resource\\\":\\\"*\\\"},{\\\"Sid\\\":\\\"GetFunctionMetadata\\\",\\\"Action\\\":[\\\"lambda:GetFunction\\\"],\\\"Effect\\\":\\\"Allow\\\",\\\"Resource\\\":\\\"*\\\"},{\\\"Sid\\\":\\\"CodeDeployAudit\\\",\\\"Action\\\":[\\\"codedeploy:BatchGetApplications\\\",\\\"codedeploy:BatchGetDeployments\\\",\\\"codedeploy:BatchGetOnPremisesInstances\\\",\\\"codedeploy:GetApplication\\\",\\\"codedeploy:GetApplicationRevision\\\",\\\"codedeploy:GetDeployment\\\",\\\"codedeploy:GetDeploymentConfig\\\",\\\"codedeploy:GetDeploymentGroup\\\",\\\"codedeploy:GetDeploymentInstance\\\",\\\"codedeploy:GetOnPremisesInstance\\\",\\\"codedeploy:ListApplicationRevisions\\\",\\\"codedeploy:ListApplications\\\",\\\"codedeploy:ListDeploymentConfigs\\\",\\\"codedeploy:ListDeploymentGroups\\\",\\\"codedeploy:ListDeploymentInstances\\\",\\\"codedeploy:ListDeployments\\\",\\\"codedeploy:ListOnPremisesInstances\\\"],\\\"Effect\\\":\\\"Allow\\\",\\\"Resource\\\":\\\"*\\\"},{\\\"Sid\\\":\\\"CodeArtifactAudit\\\",\\\"Action\\\":[\\\"codeartifact:DescribeRepository\\\",\\\"codeartifact:DescribePackageVersion\\\",\\\"codeartifact:ListDomains\\\",\\\"codeartifact:ListRepositories\\\",\\\"codeartifact:ListPackages\\\",\\\"codeartifact:ListPackageVersions\\\"],\\\"Effect\\\":\\\"Allow\\\",\\\"Resource\\\":\\\"*\\\"},{\\\"Sid\\\":\\\"CodeArtifactModify\\\",\\\"Action\\\":[\\\"codeartifact:UpdatePackageVersionsStatus\\\"],\\\"Effect\\\":\\\"Allow\\\",\\\"Resource\\\":\\\"*\\\"},{\\\"Sid\\\":\\\"CodeBuildBuildHistoryAndDetailsReadAccess\\\",\\\"Effect\\\":\\\"Allow\\\",\\\"Action\\\":[\\\"codebuild:BatchGetBuilds\\\",\\\"codebuild:ListBuilds\\\"],\\\"Resource\\\":\\\"arn:aws:codebuild:*:*:*\\\"},{\\\"Sid\\\":\\\"DescribeAndListECSTasks\\\",\\\"Action\\\":[\\\"ecs:DescribeTasks\\\",\\\"ecs:ListTasks\\\"],\\\"Effect\\\":\\\"Allow\\\",\\\"Resource\\\":\\\"*\\\"},{\\\"Sid\\\":\\\"ConfigureS3AuditBuckets\\\",\\\"Effect\\\":\\\"Allow\\\",\\\"Action\\\":[\\\"s3:PutEncryptionConfiguration\\\",\\\"s3:GetEncryptionConfiguration\\\",\\\"s3:GetBucketPublicAccessBlock\\\",\\\"s3:PutBucketPublicAccessBlock\\\"],\\\"Resource\\\":[\\\"arn:aws:s3:::cloudtrail-awslogs-gatedgardenaudit-*\\\",\\\"arn:aws:s3:::do-not-delete-gatedgarden-audit-*\\\"]},{\\\"Sid\\\":\\\"ECRAudit\\\",\\\"Effect\\\":\\\"Allow\\\",\\\"Action\\\":[\\\"ecr:BatchGetImage\\\",\\\"ecr:GetDownloadUrlForLayer\\\",\\\"ecr:DescribeRepositories\\\"],\\\"Resource\\\":\\\"*\\\"}]}}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:iam::044981683129:role/GatedGardenInternalAudit/inlinePolicy/GatedGardenInternalAuditPolicy","resourceName":"arn:aws:iam::044981683129:role/GatedGardenInternalAudit/inlinePolicy/GatedGardenInternalAuditPolicy","resourceType":"AWS::IAM::InlinePolicy","resourceValue":null,"state":null,"tags":"[]","title":"arn:aws:iam::044981683129:role/GatedGardenInternalAudit/inlinePolicy/GatedGardenInternalAuditPolicy","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":2195.5,"y":-2102.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-02c9119bc7ff6cb1c","resourceId":["vpc-02c9119bc7ff6cb1c","arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-02c9119bc7ff6cb1c"],"parent":"VPC-Multiple Availability Zones-eu-west-1-060997615305","level":4,"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-02c9119bc7ff6cb1c","title":"ECS default - VPC","label":"ECS default ...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-02c9119bc7ff6cb1c","image":"/icons/VPC-menu.svg","cost":0,"private":false,"resource":{"id":"vpc-02c9119bc7ff6cb1c","name":null,"value":null,"type":"AWS::EC2::VPC","tags":"[{\"tag\":\"aws:cloudformation:stack-name=EC2ContainerService-default\",\"value\":\"EC2ContainerService-default\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"Description=Created for ECS cluster default\",\"value\":\"Created for ECS cluster default\",\"key\":\"Description\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=Vpc\",\"value\":\"Vpc\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ECS default - VPC\",\"value\":\"ECS default - VPC\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-02c9119bc7ff6cb1c","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#vpcs:sort=VpcId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#vpcs:sort=VpcId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-02c9119bc7ff6cb1c","configuration":"\"{\\\"instanceTenancy\\\":\\\"default\\\",\\\"isDefault\\\":false,\\\"dhcpOptionsId\\\":\\\"dopt-43b00b25\\\",\\\"cidrBlock\\\":\\\"10.0.0.0/16\\\",\\\"vpcId\\\":\\\"vpc-02c9119bc7ff6cb1c\\\",\\\"cidrBlockAssociationSet\\\":[{\\\"cidrBlock\\\":\\\"10.0.0.0/16\\\",\\\"cidrBlockState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"associationId\\\":\\\"vpc-cidr-assoc-08d01d71dcd3ffdf8\\\"}],\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipv6CidrBlockAssociationSet\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"Created for ECS cluster default\\\",\\\"key\\\":\\\"Description\\\"},{\\\"value\\\":\\\"Vpc\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"EC2ContainerService-default\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"ECS default - VPC\\\",\\\"key\\\":\\\"Name\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":null,"subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#vpcs:sort=VpcId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#vpcs:sort=VpcId","private":null,"resourceId":"vpc-02c9119bc7ff6cb1c","resourceName":null,"resourceType":"AWS::EC2::VPC","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=EC2ContainerService-default\",\"value\":\"EC2ContainerService-default\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"Description=Created for ECS cluster default\",\"value\":\"Created for ECS cluster default\",\"key\":\"Description\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=Vpc\",\"value\":\"Vpc\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ECS default - VPC\",\"value\":\"ECS default - VPC\",\"key\":\"Name\"}]","title":"ECS default - VPC","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-640.5,"y":1187.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"id":"vpc-02c9119bc7ff6cb1c-eu-west-1-060997615305","parent":"eu-west-1-060997615305","level":2,"title":"vpc-02c9119bc7ff6cb1c","label":"vpc-02c9119bc7ff6cb1c","plainLabel":"vpc-02c9119bc7ff6cb1c","type":"vpc","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/VPC-collapsed.svg","clickedId":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-02c9119bc7ff6cb1c","cost":0,"hasChildren":true,"children":[{"id":null,"label":"SecurityGroup","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-03de25d028c763f2b","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-03de25d028c763f2b","configuration":"\"{\\\"groupName\\\":\\\"transr-9144\\\",\\\"groupId\\\":\\\"sg-03de25d028c763f2b\\\",\\\"vpcId\\\":\\\"vpc-02c9119bc7ff6cb1c\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"2019-07-25T16:49:18.814Z\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":80,\\\"toPort\\\":80,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-02c9119bc7ff6cb1c","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-03de25d028c763f2b","resourceName":"transr-9144","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"transr-9144","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-042ae93e368fcb496","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-042ae93e368fcb496","configuration":"\"{\\\"groupName\\\":\\\"EC2ContainerService-default-EcsSecurityGroup-GQ2GXMR321LM\\\",\\\"groupId\\\":\\\"sg-042ae93e368fcb496\\\",\\\"vpcId\\\":\\\"vpc-02c9119bc7ff6cb1c\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"ECS Allowed Ports\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":80,\\\"toPort\\\":80,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[{\\\"value\\\":\\\"ECS default - ECS SecurityGroup\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"EcsSecurityGroup\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"EC2ContainerService-default\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"Created for ECS cluster default\\\",\\\"key\\\":\\\"Description\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-02c9119bc7ff6cb1c","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-042ae93e368fcb496","resourceName":"EC2ContainerService-default-EcsSecurityGroup-GQ2GXMR321LM","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=EC2ContainerService-default\",\"value\":\"EC2ContainerService-default\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"Description=Created for ECS cluster default\",\"value\":\"Created for ECS cluster default\",\"key\":\"Description\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=EcsSecurityGroup\",\"value\":\"EcsSecurityGroup\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ECS default - ECS SecurityGroup\",\"value\":\"ECS default - ECS SecurityGroup\",\"key\":\"Name\"}]","title":"ECS default - ECS SecurityGroup","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-071409072a9e03635","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-071409072a9e03635","configuration":"\"{\\\"groupName\\\":\\\"transr-6789\\\",\\\"groupId\\\":\\\"sg-071409072a9e03635\\\",\\\"vpcId\\\":\\\"vpc-02c9119bc7ff6cb1c\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"2019-07-25T15:29:06.280Z\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":80,\\\"toPort\\\":80,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-02c9119bc7ff6cb1c","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-071409072a9e03635","resourceName":"transr-6789","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"transr-6789","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0a6a68d70e29652ab","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0a6a68d70e29652ab","configuration":"\"{\\\"groupName\\\":\\\"transr-2595\\\",\\\"groupId\\\":\\\"sg-0a6a68d70e29652ab\\\",\\\"vpcId\\\":\\\"vpc-02c9119bc7ff6cb1c\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"2019-07-25T16:10:20.365Z\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":80,\\\"toPort\\\":80,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-02c9119bc7ff6cb1c","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0a6a68d70e29652ab","resourceName":"transr-2595","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"transr-2595","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0ab7f1fe08d6532ca","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0ab7f1fe08d6532ca","configuration":"\"{\\\"groupName\\\":\\\"first--2331\\\",\\\"groupId\\\":\\\"sg-0ab7f1fe08d6532ca\\\",\\\"vpcId\\\":\\\"vpc-02c9119bc7ff6cb1c\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"2019-07-25T16:52:10.748Z\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":80,\\\"toPort\\\":80,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-02c9119bc7ff6cb1c","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0ab7f1fe08d6532ca","resourceName":"first--2331","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"first--2331","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0e4abec6feb362504","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0e4abec6feb362504","configuration":"\"{\\\"groupName\\\":\\\"transr-1396\\\",\\\"groupId\\\":\\\"sg-0e4abec6feb362504\\\",\\\"vpcId\\\":\\\"vpc-02c9119bc7ff6cb1c\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"2019-07-25T16:52:32.184Z\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":80,\\\"toPort\\\":80,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-02c9119bc7ff6cb1c","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0e4abec6feb362504","resourceName":"transr-1396","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"transr-1396","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-00dd06ef8e372a2ba","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-00dd06ef8e372a2ba","configuration":"\"{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-00dd06ef8e372a2ba\\\",\\\"vpcId\\\":\\\"vpc-02c9119bc7ff6cb1c\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"default VPC security group\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[{\\\"groupId\\\":\\\"sg-00dd06ef8e372a2ba\\\",\\\"userId\\\":\\\"060997615305\\\"}],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-02c9119bc7ff6cb1c","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-00dd06ef8e372a2ba","resourceName":"default","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"default","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]},{"id":null,"label":"RouteTable","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-05d6ec3f2e3d8160b","label":"AWS_EC2_RouteTable","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-05d6ec3f2e3d8160b","configuration":"\"{\\\"associations\\\":[{\\\"routeTableId\\\":\\\"rtb-05d6ec3f2e3d8160b\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-040669c2498fd2039\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":true}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"10.0.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"}],\\\"routeTableId\\\":\\\"rtb-05d6ec3f2e3d8160b\\\",\\\"vpcId\\\":\\\"vpc-02c9119bc7ff6cb1c\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-02c9119bc7ff6cb1c","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-05d6ec3f2e3d8160b","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[]","title":"rtb-05d6ec3f2e3d8160b","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]},{"id":null,"label":"Stack","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda","label":"AWS_CloudFormation_Stack","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda","configuration":"\"{\\\"outputs\\\":[{\\\"outputKey\\\":\\\"Version\\\",\\\"outputValue\\\":\\\"3.0.0\\\",\\\"description\\\":\\\"ECS Cloudformation template version\\\"},{\\\"outputKey\\\":\\\"EcsElbName\\\",\\\"outputValue\\\":\\\"\\\",\\\"description\\\":\\\"Load Balancer for ECS Service\\\"}],\\\"creationTime\\\":\\\"2019-02-07T16:43:03Z\\\",\\\"notificationARNs\\\":[],\\\"stackId\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda\\\",\\\"stackName\\\":\\\"EC2ContainerService-default\\\",\\\"description\\\":\\\"AWS CloudFormation template to create a new ECS Fargate First Run stack\\\",\\\"stackStatus\\\":\\\"DELETE_FAILED\\\",\\\"disableRollback\\\":false,\\\"tags\\\":[],\\\"driftInformation\\\":{\\\"stackDriftStatus\\\":\\\"NOT_CHECKED\\\"},\\\"enableTerminationProtection\\\":false,\\\"parameters\\\":[{\\\"parameterKey\\\":\\\"EcsEndpoint\\\",\\\"parameterValue\\\":\\\"\\\"},{\\\"parameterKey\\\":\\\"IsFargate\\\",\\\"parameterValue\\\":\\\"true\\\"},{\\\"parameterKey\\\":\\\"VpcCidrBlock\\\",\\\"parameterValue\\\":\\\"10.0.0.0/16\\\"},{\\\"parameterKey\\\":\\\"IamRoleInstanceProfile\\\",\\\"parameterValue\\\":\\\"ecsInstanceRole\\\"},{\\\"parameterKey\\\":\\\"SourceCidr\\\",\\\"parameterValue\\\":\\\"0.0.0.0/0\\\"},{\\\"parameterKey\\\":\\\"CreateElasticLoadBalancer\\\",\\\"parameterValue\\\":\\\"false\\\"},{\\\"parameterKey\\\":\\\"EcsClusterName\\\",\\\"parameterValue\\\":\\\"default\\\"},{\\\"parameterKey\\\":\\\"EcsPort\\\",\\\"parameterValue\\\":\\\"80\\\"},{\\\"parameterKey\\\":\\\"ElbHealthCheckTarget\\\",\\\"parameterValue\\\":\\\"HTTP:80/\\\"},{\\\"parameterKey\\\":\\\"KeyName\\\",\\\"parameterValue\\\":\\\"\\\"},{\\\"parameterKey\\\":\\\"AsgMaxSize\\\",\\\"parameterValue\\\":\\\"1\\\"},{\\\"parameterKey\\\":\\\"TargetType\\\",\\\"parameterValue\\\":\\\"ip\\\"},{\\\"parameterKey\\\":\\\"ElbPort\\\",\\\"parameterValue\\\":\\\"80\\\"},{\\\"parameterKey\\\":\\\"SubnetCidrBlock1\\\",\\\"parameterValue\\\":\\\"10.0.0.0/24\\\"},{\\\"parameterKey\\\":\\\"EcsInstanceType\\\",\\\"parameterValue\\\":\\\"t2.micro\\\"},{\\\"parameterKey\\\":\\\"EcsAmiId\\\",\\\"parameterValue\\\":\\\"ami-066826c6a40879d75\\\"},{\\\"parameterKey\\\":\\\"VpcAvailabilityZones\\\",\\\"parameterValue\\\":\\\"eu-west-1a,eu-west-1b,eu-west-1c\\\"},{\\\"parameterKey\\\":\\\"TargetGroupName\\\",\\\"parameterValue\\\":\\\"ECSFirstRunTargetGroup\\\"},{\\\"parameterKey\\\":\\\"SubnetCidrBlock2\\\",\\\"parameterValue\\\":\\\"10.0.1.0/24\\\"}],\\\"stackStatusReason\\\":\\\"The following resource(s) failed to delete: [InternetGateway, AttachGateway, EcsSecurityGroup, PublicSubnetAz2, Vpc]. \\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Regional","vpcId":"vpc-02c9119bc7ff6cb1c","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda","resourceName":"EC2ContainerService-default","resourceType":"AWS::CloudFormation::Stack","resourceValue":null,"state":null,"tags":"[]","title":"EC2ContainerService-default","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]},{"id":null,"label":"eu-west-1b","parent":null,"type":"availabilityZone","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-07fd83a1a39595461","label":"subnet-07fd83a1a39595461","parent":null,"type":"subnet","data":{"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-07fd83a1a39595461","configuration":"\"{\\\"subnetId\\\":\\\"subnet-07fd83a1a39595461\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-07fd83a1a39595461\\\",\\\"availabilityZoneId\\\":\\\"euw1-az3\\\",\\\"cidrBlock\\\":\\\"10.0.1.0/24\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"ECS default - Public Subnet 2\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"PublicSubnetAz2\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"EC2ContainerService-default\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"Created for ECS cluster default\\\",\\\"key\\\":\\\"Description\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"}],\\\"availableIpAddressCount\\\":251,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-02c9119bc7ff6cb1c\\\",\\\"mapPublicIpOnLaunch\\\":false,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-02c9119bc7ff6cb1c","subnetId":"subnet-07fd83a1a39595461","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":null,"resourceId":"subnet-07fd83a1a39595461","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=EC2ContainerService-default\",\"value\":\"EC2ContainerService-default\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"Description=Created for ECS cluster default\",\"value\":\"Created for ECS cluster default\",\"key\":\"Description\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PublicSubnetAz2\",\"value\":\"PublicSubnetAz2\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ECS default - Public Subnet 2\",\"value\":\"ECS default - Public Subnet 2\",\"key\":\"Name\"}]","title":"ECS default - Public Subnet 2","instanceType":null,"statement":null,"dBInstanceStatus":null},"id":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-07fd83a1a39595461","label":"AWS_EC2_Subnet"},"properties":null,"children":[{"id":null,"label":"NetworkAcl","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-076a2c5fbdb51bb74","label":"AWS_EC2_NetworkAcl","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-076a2c5fbdb51bb74","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-07fd83a1a39595461\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-0476f386e9cd9ad75\\\",\\\"networkAclId\\\":\\\"acl-076a2c5fbdb51bb74\\\"}],\\\"entries\\\":[{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":false},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":false}],\\\"isDefault\\\":true,\\\"vpcId\\\":\\\"vpc-02c9119bc7ff6cb1c\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"networkAclId\\\":\\\"acl-076a2c5fbdb51bb74\\\",\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-02c9119bc7ff6cb1c","subnetId":"subnet-07fd83a1a39595461","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#acls:sort=networkAclId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#acls:sort=networkAclId","private":null,"resourceId":"acl-076a2c5fbdb51bb74","resourceName":null,"resourceType":"AWS::EC2::NetworkAcl","resourceValue":null,"state":null,"tags":"[]","title":"acl-076a2c5fbdb51bb74","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}]}]},{"id":null,"label":"Multiple Availability Zones","parent":null,"type":"availabilityZone","data":null,"properties":null,"children":[{"id":null,"label":"InternetGateway","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:internet-gateway/igw-09fedc11a7187a8e2","label":"AWS_EC2_InternetGateway","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:internet-gateway/igw-09fedc11a7187a8e2","configuration":"\"{\\\"attachments\\\":[{\\\"vpcId\\\":\\\"vpc-02c9119bc7ff6cb1c\\\",\\\"state\\\":\\\"available\\\"}],\\\"internetGatewayId\\\":\\\"igw-09fedc11a7187a8e2\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"tags\\\":[{\\\"value\\\":\\\"EC2ContainerService-default\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"InternetGateway\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"Created for ECS cluster default\\\",\\\"key\\\":\\\"Description\\\"},{\\\"value\\\":\\\"ECS default - InternetGateway\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-02c9119bc7ff6cb1c","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#igws:sort=internetGatewayId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#igws:sort=internetGatewayId","private":null,"resourceId":"igw-09fedc11a7187a8e2","resourceName":null,"resourceType":"AWS::EC2::InternetGateway","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=EC2ContainerService-default\",\"value\":\"EC2ContainerService-default\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"Description=Created for ECS cluster default\",\"value\":\"Created for ECS cluster default\",\"key\":\"Description\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=InternetGateway\",\"value\":\"InternetGateway\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ECS default - InternetGateway\",\"value\":\"ECS default - InternetGateway\",\"key\":\"Name\"}]","title":"ECS default - InternetGateway","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#248814","properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-02c9119bc7ff6cb1c","configuration":"\"{\\\"instanceTenancy\\\":\\\"default\\\",\\\"isDefault\\\":false,\\\"dhcpOptionsId\\\":\\\"dopt-43b00b25\\\",\\\"cidrBlock\\\":\\\"10.0.0.0/16\\\",\\\"vpcId\\\":\\\"vpc-02c9119bc7ff6cb1c\\\",\\\"cidrBlockAssociationSet\\\":[{\\\"cidrBlock\\\":\\\"10.0.0.0/16\\\",\\\"cidrBlockState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"associationId\\\":\\\"vpc-cidr-assoc-08d01d71dcd3ffdf8\\\"}],\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipv6CidrBlockAssociationSet\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"Created for ECS cluster default\\\",\\\"key\\\":\\\"Description\\\"},{\\\"value\\\":\\\"Vpc\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"EC2ContainerService-default\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"ECS default - VPC\\\",\\\"key\\\":\\\"Name\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":null,"subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#vpcs:sort=VpcId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#vpcs:sort=VpcId","private":null,"resourceId":"vpc-02c9119bc7ff6cb1c","resourceName":null,"resourceType":"AWS::EC2::VPC","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=EC2ContainerService-default\",\"value\":\"EC2ContainerService-default\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"Description=Created for ECS cluster default\",\"value\":\"Created for ECS cluster default\",\"key\":\"Description\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=Vpc\",\"value\":\"Vpc\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ECS default - VPC\",\"value\":\"ECS default - VPC\",\"key\":\"Name\"}]","title":"ECS default - VPC","instanceType":null,"statement":null,"dBInstanceStatus":null},"resource":{"id":"vpc-02c9119bc7ff6cb1c","name":null,"value":null,"type":"AWS::EC2::VPC","tags":"[{\"tag\":\"aws:cloudformation:stack-name=EC2ContainerService-default\",\"value\":\"EC2ContainerService-default\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"Description=Created for ECS cluster default\",\"value\":\"Created for ECS cluster default\",\"key\":\"Description\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=Vpc\",\"value\":\"Vpc\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ECS default - VPC\",\"value\":\"ECS default - VPC\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-02c9119bc7ff6cb1c","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#vpcs:sort=VpcId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#vpcs:sort=VpcId","accountId":"060997615305"},"selected":true},"position":{"x":-1440.25,"y":1358},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"vpc removeAll _gridParentPadding"},{"data":{"id":"SecurityGroup-vpc-02c9119bc7ff6cb1c-eu-west-1-060997615305","parent":"vpc-02c9119bc7ff6cb1c-eu-west-1-060997615305","level":3,"title":"SecurityGroup","label":"SecurityGroup","plainLabel":"SecurityGroup","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/AWSSecurityGroup.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-03de25d028c763f2b","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-03de25d028c763f2b","configuration":"\"{\\\"groupName\\\":\\\"transr-9144\\\",\\\"groupId\\\":\\\"sg-03de25d028c763f2b\\\",\\\"vpcId\\\":\\\"vpc-02c9119bc7ff6cb1c\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"2019-07-25T16:49:18.814Z\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":80,\\\"toPort\\\":80,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-02c9119bc7ff6cb1c","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-03de25d028c763f2b","resourceName":"transr-9144","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"transr-9144","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-042ae93e368fcb496","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-042ae93e368fcb496","configuration":"\"{\\\"groupName\\\":\\\"EC2ContainerService-default-EcsSecurityGroup-GQ2GXMR321LM\\\",\\\"groupId\\\":\\\"sg-042ae93e368fcb496\\\",\\\"vpcId\\\":\\\"vpc-02c9119bc7ff6cb1c\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"ECS Allowed Ports\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":80,\\\"toPort\\\":80,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[{\\\"value\\\":\\\"ECS default - ECS SecurityGroup\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"EcsSecurityGroup\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"EC2ContainerService-default\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"Created for ECS cluster default\\\",\\\"key\\\":\\\"Description\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-02c9119bc7ff6cb1c","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-042ae93e368fcb496","resourceName":"EC2ContainerService-default-EcsSecurityGroup-GQ2GXMR321LM","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=EC2ContainerService-default\",\"value\":\"EC2ContainerService-default\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"Description=Created for ECS cluster default\",\"value\":\"Created for ECS cluster default\",\"key\":\"Description\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=EcsSecurityGroup\",\"value\":\"EcsSecurityGroup\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ECS default - ECS SecurityGroup\",\"value\":\"ECS default - ECS SecurityGroup\",\"key\":\"Name\"}]","title":"ECS default - ECS SecurityGroup","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-071409072a9e03635","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-071409072a9e03635","configuration":"\"{\\\"groupName\\\":\\\"transr-6789\\\",\\\"groupId\\\":\\\"sg-071409072a9e03635\\\",\\\"vpcId\\\":\\\"vpc-02c9119bc7ff6cb1c\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"2019-07-25T15:29:06.280Z\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":80,\\\"toPort\\\":80,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-02c9119bc7ff6cb1c","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-071409072a9e03635","resourceName":"transr-6789","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"transr-6789","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0a6a68d70e29652ab","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0a6a68d70e29652ab","configuration":"\"{\\\"groupName\\\":\\\"transr-2595\\\",\\\"groupId\\\":\\\"sg-0a6a68d70e29652ab\\\",\\\"vpcId\\\":\\\"vpc-02c9119bc7ff6cb1c\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"2019-07-25T16:10:20.365Z\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":80,\\\"toPort\\\":80,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-02c9119bc7ff6cb1c","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0a6a68d70e29652ab","resourceName":"transr-2595","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"transr-2595","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0ab7f1fe08d6532ca","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0ab7f1fe08d6532ca","configuration":"\"{\\\"groupName\\\":\\\"first--2331\\\",\\\"groupId\\\":\\\"sg-0ab7f1fe08d6532ca\\\",\\\"vpcId\\\":\\\"vpc-02c9119bc7ff6cb1c\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"2019-07-25T16:52:10.748Z\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":80,\\\"toPort\\\":80,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-02c9119bc7ff6cb1c","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0ab7f1fe08d6532ca","resourceName":"first--2331","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"first--2331","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0e4abec6feb362504","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0e4abec6feb362504","configuration":"\"{\\\"groupName\\\":\\\"transr-1396\\\",\\\"groupId\\\":\\\"sg-0e4abec6feb362504\\\",\\\"vpcId\\\":\\\"vpc-02c9119bc7ff6cb1c\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"2019-07-25T16:52:32.184Z\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":80,\\\"toPort\\\":80,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-02c9119bc7ff6cb1c","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0e4abec6feb362504","resourceName":"transr-1396","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"transr-1396","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-00dd06ef8e372a2ba","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-00dd06ef8e372a2ba","configuration":"\"{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-00dd06ef8e372a2ba\\\",\\\"vpcId\\\":\\\"vpc-02c9119bc7ff6cb1c\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"default VPC security group\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[{\\\"groupId\\\":\\\"sg-00dd06ef8e372a2ba\\\",\\\"userId\\\":\\\"060997615305\\\"}],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-02c9119bc7ff6cb1c","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-00dd06ef8e372a2ba","resourceName":"default","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"default","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1537.5,"y":1260.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-03de25d028c763f2b","resourceId":["sg-03de25d028c763f2b","arn:aws:ec2:eu-west-1:060997615305:security-group/sg-03de25d028c763f2b"],"parent":"SecurityGroup-vpc-02c9119bc7ff6cb1c-eu-west-1-060997615305","level":4,"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-03de25d028c763f2b","title":"transr-9144","label":"transr-9144","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-03de25d028c763f2b","image":"/icons/AWSSecurityGroup.svg","cost":0,"private":false,"resource":{"id":"sg-03de25d028c763f2b","name":"transr-9144","value":null,"type":"AWS::EC2::SecurityGroup","tags":"[]","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-03de25d028c763f2b","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-03de25d028c763f2b","configuration":"\"{\\\"groupName\\\":\\\"transr-9144\\\",\\\"groupId\\\":\\\"sg-03de25d028c763f2b\\\",\\\"vpcId\\\":\\\"vpc-02c9119bc7ff6cb1c\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"2019-07-25T16:49:18.814Z\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":80,\\\"toPort\\\":80,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-02c9119bc7ff6cb1c","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-03de25d028c763f2b","resourceName":"transr-9144","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"transr-9144","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1610.5,"y":1187.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-042ae93e368fcb496","resourceId":["sg-042ae93e368fcb496","arn:aws:ec2:eu-west-1:060997615305:security-group/sg-042ae93e368fcb496"],"parent":"SecurityGroup-vpc-02c9119bc7ff6cb1c-eu-west-1-060997615305","level":4,"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-042ae93e368fcb496","title":"ECS default - ECS SecurityGroup","label":"ECS default ...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-042ae93e368fcb496","image":"/icons/AWSSecurityGroup.svg","cost":0,"private":false,"resource":{"id":"sg-042ae93e368fcb496","name":"EC2ContainerService-default-EcsSecurityGroup-GQ2GXMR321LM","value":null,"type":"AWS::EC2::SecurityGroup","tags":"[{\"tag\":\"aws:cloudformation:stack-name=EC2ContainerService-default\",\"value\":\"EC2ContainerService-default\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"Description=Created for ECS cluster default\",\"value\":\"Created for ECS cluster default\",\"key\":\"Description\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=EcsSecurityGroup\",\"value\":\"EcsSecurityGroup\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ECS default - ECS SecurityGroup\",\"value\":\"ECS default - ECS SecurityGroup\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-042ae93e368fcb496","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-042ae93e368fcb496","configuration":"\"{\\\"groupName\\\":\\\"EC2ContainerService-default-EcsSecurityGroup-GQ2GXMR321LM\\\",\\\"groupId\\\":\\\"sg-042ae93e368fcb496\\\",\\\"vpcId\\\":\\\"vpc-02c9119bc7ff6cb1c\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"ECS Allowed Ports\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":80,\\\"toPort\\\":80,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[{\\\"value\\\":\\\"ECS default - ECS SecurityGroup\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"EcsSecurityGroup\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"EC2ContainerService-default\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"Created for ECS cluster default\\\",\\\"key\\\":\\\"Description\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-02c9119bc7ff6cb1c","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-042ae93e368fcb496","resourceName":"EC2ContainerService-default-EcsSecurityGroup-GQ2GXMR321LM","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=EC2ContainerService-default\",\"value\":\"EC2ContainerService-default\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"Description=Created for ECS cluster default\",\"value\":\"Created for ECS cluster default\",\"key\":\"Description\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=EcsSecurityGroup\",\"value\":\"EcsSecurityGroup\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ECS default - ECS SecurityGroup\",\"value\":\"ECS default - ECS SecurityGroup\",\"key\":\"Name\"}]","title":"ECS default - ECS SecurityGroup","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1537.5,"y":1187.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-071409072a9e03635","resourceId":["sg-071409072a9e03635","arn:aws:ec2:eu-west-1:060997615305:security-group/sg-071409072a9e03635"],"parent":"SecurityGroup-vpc-02c9119bc7ff6cb1c-eu-west-1-060997615305","level":4,"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-071409072a9e03635","title":"transr-6789","label":"transr-6789","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-071409072a9e03635","image":"/icons/AWSSecurityGroup.svg","cost":0,"private":false,"resource":{"id":"sg-071409072a9e03635","name":"transr-6789","value":null,"type":"AWS::EC2::SecurityGroup","tags":"[]","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-071409072a9e03635","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-071409072a9e03635","configuration":"\"{\\\"groupName\\\":\\\"transr-6789\\\",\\\"groupId\\\":\\\"sg-071409072a9e03635\\\",\\\"vpcId\\\":\\\"vpc-02c9119bc7ff6cb1c\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"2019-07-25T15:29:06.280Z\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":80,\\\"toPort\\\":80,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-02c9119bc7ff6cb1c","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-071409072a9e03635","resourceName":"transr-6789","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"transr-6789","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1610.5,"y":1260.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0a6a68d70e29652ab","resourceId":["sg-0a6a68d70e29652ab","arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0a6a68d70e29652ab"],"parent":"SecurityGroup-vpc-02c9119bc7ff6cb1c-eu-west-1-060997615305","level":4,"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0a6a68d70e29652ab","title":"transr-2595","label":"transr-2595","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0a6a68d70e29652ab","image":"/icons/AWSSecurityGroup.svg","cost":0,"private":false,"resource":{"id":"sg-0a6a68d70e29652ab","name":"transr-2595","value":null,"type":"AWS::EC2::SecurityGroup","tags":"[]","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0a6a68d70e29652ab","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0a6a68d70e29652ab","configuration":"\"{\\\"groupName\\\":\\\"transr-2595\\\",\\\"groupId\\\":\\\"sg-0a6a68d70e29652ab\\\",\\\"vpcId\\\":\\\"vpc-02c9119bc7ff6cb1c\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"2019-07-25T16:10:20.365Z\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":80,\\\"toPort\\\":80,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-02c9119bc7ff6cb1c","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0a6a68d70e29652ab","resourceName":"transr-2595","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"transr-2595","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1537.5,"y":1260.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0ab7f1fe08d6532ca","resourceId":["sg-0ab7f1fe08d6532ca","arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0ab7f1fe08d6532ca"],"parent":"SecurityGroup-vpc-02c9119bc7ff6cb1c-eu-west-1-060997615305","level":4,"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0ab7f1fe08d6532ca","title":"first--2331","label":"first--2331","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0ab7f1fe08d6532ca","image":"/icons/AWSSecurityGroup.svg","cost":0,"private":false,"resource":{"id":"sg-0ab7f1fe08d6532ca","name":"first--2331","value":null,"type":"AWS::EC2::SecurityGroup","tags":"[]","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0ab7f1fe08d6532ca","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0ab7f1fe08d6532ca","configuration":"\"{\\\"groupName\\\":\\\"first--2331\\\",\\\"groupId\\\":\\\"sg-0ab7f1fe08d6532ca\\\",\\\"vpcId\\\":\\\"vpc-02c9119bc7ff6cb1c\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"2019-07-25T16:52:10.748Z\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":80,\\\"toPort\\\":80,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-02c9119bc7ff6cb1c","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0ab7f1fe08d6532ca","resourceName":"first--2331","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"first--2331","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1464.5,"y":1187.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0e4abec6feb362504","resourceId":["sg-0e4abec6feb362504","arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0e4abec6feb362504"],"parent":"SecurityGroup-vpc-02c9119bc7ff6cb1c-eu-west-1-060997615305","level":4,"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0e4abec6feb362504","title":"transr-1396","label":"transr-1396","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0e4abec6feb362504","image":"/icons/AWSSecurityGroup.svg","cost":0,"private":false,"resource":{"id":"sg-0e4abec6feb362504","name":"transr-1396","value":null,"type":"AWS::EC2::SecurityGroup","tags":"[]","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0e4abec6feb362504","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0e4abec6feb362504","configuration":"\"{\\\"groupName\\\":\\\"transr-1396\\\",\\\"groupId\\\":\\\"sg-0e4abec6feb362504\\\",\\\"vpcId\\\":\\\"vpc-02c9119bc7ff6cb1c\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"2019-07-25T16:52:32.184Z\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":80,\\\"toPort\\\":80,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-02c9119bc7ff6cb1c","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0e4abec6feb362504","resourceName":"transr-1396","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"transr-1396","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1464.5,"y":1260.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-00dd06ef8e372a2ba","resourceId":["sg-00dd06ef8e372a2ba","arn:aws:ec2:eu-west-1:060997615305:security-group/sg-00dd06ef8e372a2ba"],"parent":"SecurityGroup-vpc-02c9119bc7ff6cb1c-eu-west-1-060997615305","level":4,"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-00dd06ef8e372a2ba","title":"default","label":"default","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-00dd06ef8e372a2ba","image":"/icons/AWSSecurityGroup.svg","cost":0,"private":false,"resource":{"id":"sg-00dd06ef8e372a2ba","name":"default","value":null,"type":"AWS::EC2::SecurityGroup","tags":"[]","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-00dd06ef8e372a2ba","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-00dd06ef8e372a2ba","configuration":"\"{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-00dd06ef8e372a2ba\\\",\\\"vpcId\\\":\\\"vpc-02c9119bc7ff6cb1c\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"default VPC security group\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[{\\\"groupId\\\":\\\"sg-00dd06ef8e372a2ba\\\",\\\"userId\\\":\\\"060997615305\\\"}],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-02c9119bc7ff6cb1c","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-00dd06ef8e372a2ba","resourceName":"default","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"default","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1610.5,"y":1333.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"RouteTable-vpc-02c9119bc7ff6cb1c-eu-west-1-060997615305","parent":"vpc-02c9119bc7ff6cb1c-eu-west-1-060997615305","level":3,"title":"RouteTable","label":"RouteTable","plainLabel":"RouteTable","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-VPC_Router_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-05d6ec3f2e3d8160b","label":"AWS_EC2_RouteTable","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-05d6ec3f2e3d8160b","configuration":"\"{\\\"associations\\\":[{\\\"routeTableId\\\":\\\"rtb-05d6ec3f2e3d8160b\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-040669c2498fd2039\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":true}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"10.0.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"}],\\\"routeTableId\\\":\\\"rtb-05d6ec3f2e3d8160b\\\",\\\"vpcId\\\":\\\"vpc-02c9119bc7ff6cb1c\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-02c9119bc7ff6cb1c","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-05d6ec3f2e3d8160b","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[]","title":"rtb-05d6ec3f2e3d8160b","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1457.5,"y":1463.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-05d6ec3f2e3d8160b","resourceId":["rtb-05d6ec3f2e3d8160b","arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-05d6ec3f2e3d8160b"],"parent":"RouteTable-vpc-02c9119bc7ff6cb1c-eu-west-1-060997615305","level":4,"id":"arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-05d6ec3f2e3d8160b","title":"rtb-05d6ec3f2e3d8160b","label":"rtb-05d6ec3f...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-05d6ec3f2e3d8160b","image":"/icons/Amazon-VPC_Router_light-bg.svg","cost":0,"private":false,"resource":{"id":"rtb-05d6ec3f2e3d8160b","name":null,"value":null,"type":"AWS::EC2::RouteTable","tags":"[]","arn":"arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-05d6ec3f2e3d8160b","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-05d6ec3f2e3d8160b","configuration":"\"{\\\"associations\\\":[{\\\"routeTableId\\\":\\\"rtb-05d6ec3f2e3d8160b\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-040669c2498fd2039\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":true}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"10.0.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"}],\\\"routeTableId\\\":\\\"rtb-05d6ec3f2e3d8160b\\\",\\\"vpcId\\\":\\\"vpc-02c9119bc7ff6cb1c\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-02c9119bc7ff6cb1c","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-05d6ec3f2e3d8160b","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[]","title":"rtb-05d6ec3f2e3d8160b","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1457.5,"y":1463.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"Stack-vpc-02c9119bc7ff6cb1c-eu-west-1-060997615305","parent":"vpc-02c9119bc7ff6cb1c-eu-west-1-060997615305","level":3,"title":"Stack","label":"Stack","plainLabel":"Stack","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/AWS-CloudFormation.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda","label":"AWS_CloudFormation_Stack","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda","configuration":"\"{\\\"outputs\\\":[{\\\"outputKey\\\":\\\"Version\\\",\\\"outputValue\\\":\\\"3.0.0\\\",\\\"description\\\":\\\"ECS Cloudformation template version\\\"},{\\\"outputKey\\\":\\\"EcsElbName\\\",\\\"outputValue\\\":\\\"\\\",\\\"description\\\":\\\"Load Balancer for ECS Service\\\"}],\\\"creationTime\\\":\\\"2019-02-07T16:43:03Z\\\",\\\"notificationARNs\\\":[],\\\"stackId\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda\\\",\\\"stackName\\\":\\\"EC2ContainerService-default\\\",\\\"description\\\":\\\"AWS CloudFormation template to create a new ECS Fargate First Run stack\\\",\\\"stackStatus\\\":\\\"DELETE_FAILED\\\",\\\"disableRollback\\\":false,\\\"tags\\\":[],\\\"driftInformation\\\":{\\\"stackDriftStatus\\\":\\\"NOT_CHECKED\\\"},\\\"enableTerminationProtection\\\":false,\\\"parameters\\\":[{\\\"parameterKey\\\":\\\"EcsEndpoint\\\",\\\"parameterValue\\\":\\\"\\\"},{\\\"parameterKey\\\":\\\"IsFargate\\\",\\\"parameterValue\\\":\\\"true\\\"},{\\\"parameterKey\\\":\\\"VpcCidrBlock\\\",\\\"parameterValue\\\":\\\"10.0.0.0/16\\\"},{\\\"parameterKey\\\":\\\"IamRoleInstanceProfile\\\",\\\"parameterValue\\\":\\\"ecsInstanceRole\\\"},{\\\"parameterKey\\\":\\\"SourceCidr\\\",\\\"parameterValue\\\":\\\"0.0.0.0/0\\\"},{\\\"parameterKey\\\":\\\"CreateElasticLoadBalancer\\\",\\\"parameterValue\\\":\\\"false\\\"},{\\\"parameterKey\\\":\\\"EcsClusterName\\\",\\\"parameterValue\\\":\\\"default\\\"},{\\\"parameterKey\\\":\\\"EcsPort\\\",\\\"parameterValue\\\":\\\"80\\\"},{\\\"parameterKey\\\":\\\"ElbHealthCheckTarget\\\",\\\"parameterValue\\\":\\\"HTTP:80/\\\"},{\\\"parameterKey\\\":\\\"KeyName\\\",\\\"parameterValue\\\":\\\"\\\"},{\\\"parameterKey\\\":\\\"AsgMaxSize\\\",\\\"parameterValue\\\":\\\"1\\\"},{\\\"parameterKey\\\":\\\"TargetType\\\",\\\"parameterValue\\\":\\\"ip\\\"},{\\\"parameterKey\\\":\\\"ElbPort\\\",\\\"parameterValue\\\":\\\"80\\\"},{\\\"parameterKey\\\":\\\"SubnetCidrBlock1\\\",\\\"parameterValue\\\":\\\"10.0.0.0/24\\\"},{\\\"parameterKey\\\":\\\"EcsInstanceType\\\",\\\"parameterValue\\\":\\\"t2.micro\\\"},{\\\"parameterKey\\\":\\\"EcsAmiId\\\",\\\"parameterValue\\\":\\\"ami-066826c6a40879d75\\\"},{\\\"parameterKey\\\":\\\"VpcAvailabilityZones\\\",\\\"parameterValue\\\":\\\"eu-west-1a,eu-west-1b,eu-west-1c\\\"},{\\\"parameterKey\\\":\\\"TargetGroupName\\\",\\\"parameterValue\\\":\\\"ECSFirstRunTargetGroup\\\"},{\\\"parameterKey\\\":\\\"SubnetCidrBlock2\\\",\\\"parameterValue\\\":\\\"10.0.1.0/24\\\"}],\\\"stackStatusReason\\\":\\\"The following resource(s) failed to delete: [InternetGateway, AttachGateway, EcsSecurityGroup, PublicSubnetAz2, Vpc]. \\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Regional","vpcId":"vpc-02c9119bc7ff6cb1c","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda","resourceName":"EC2ContainerService-default","resourceType":"AWS::CloudFormation::Stack","resourceValue":null,"state":null,"tags":"[]","title":"EC2ContainerService-default","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1344.5,"y":1463.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda","resourceId":["arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda","arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda"],"parent":"Stack-vpc-02c9119bc7ff6cb1c-eu-west-1-060997615305","level":4,"id":"arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda","title":"EC2ContainerService-default","label":"EC2Container...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda","image":"/icons/AWS-CloudFormation.svg","cost":0,"private":false,"resource":{"id":"arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda","name":"EC2ContainerService-default","value":null,"type":"AWS::CloudFormation::Stack","tags":"[]","arn":"arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda","configuration":"\"{\\\"outputs\\\":[{\\\"outputKey\\\":\\\"Version\\\",\\\"outputValue\\\":\\\"3.0.0\\\",\\\"description\\\":\\\"ECS Cloudformation template version\\\"},{\\\"outputKey\\\":\\\"EcsElbName\\\",\\\"outputValue\\\":\\\"\\\",\\\"description\\\":\\\"Load Balancer for ECS Service\\\"}],\\\"creationTime\\\":\\\"2019-02-07T16:43:03Z\\\",\\\"notificationARNs\\\":[],\\\"stackId\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda\\\",\\\"stackName\\\":\\\"EC2ContainerService-default\\\",\\\"description\\\":\\\"AWS CloudFormation template to create a new ECS Fargate First Run stack\\\",\\\"stackStatus\\\":\\\"DELETE_FAILED\\\",\\\"disableRollback\\\":false,\\\"tags\\\":[],\\\"driftInformation\\\":{\\\"stackDriftStatus\\\":\\\"NOT_CHECKED\\\"},\\\"enableTerminationProtection\\\":false,\\\"parameters\\\":[{\\\"parameterKey\\\":\\\"EcsEndpoint\\\",\\\"parameterValue\\\":\\\"\\\"},{\\\"parameterKey\\\":\\\"IsFargate\\\",\\\"parameterValue\\\":\\\"true\\\"},{\\\"parameterKey\\\":\\\"VpcCidrBlock\\\",\\\"parameterValue\\\":\\\"10.0.0.0/16\\\"},{\\\"parameterKey\\\":\\\"IamRoleInstanceProfile\\\",\\\"parameterValue\\\":\\\"ecsInstanceRole\\\"},{\\\"parameterKey\\\":\\\"SourceCidr\\\",\\\"parameterValue\\\":\\\"0.0.0.0/0\\\"},{\\\"parameterKey\\\":\\\"CreateElasticLoadBalancer\\\",\\\"parameterValue\\\":\\\"false\\\"},{\\\"parameterKey\\\":\\\"EcsClusterName\\\",\\\"parameterValue\\\":\\\"default\\\"},{\\\"parameterKey\\\":\\\"EcsPort\\\",\\\"parameterValue\\\":\\\"80\\\"},{\\\"parameterKey\\\":\\\"ElbHealthCheckTarget\\\",\\\"parameterValue\\\":\\\"HTTP:80/\\\"},{\\\"parameterKey\\\":\\\"KeyName\\\",\\\"parameterValue\\\":\\\"\\\"},{\\\"parameterKey\\\":\\\"AsgMaxSize\\\",\\\"parameterValue\\\":\\\"1\\\"},{\\\"parameterKey\\\":\\\"TargetType\\\",\\\"parameterValue\\\":\\\"ip\\\"},{\\\"parameterKey\\\":\\\"ElbPort\\\",\\\"parameterValue\\\":\\\"80\\\"},{\\\"parameterKey\\\":\\\"SubnetCidrBlock1\\\",\\\"parameterValue\\\":\\\"10.0.0.0/24\\\"},{\\\"parameterKey\\\":\\\"EcsInstanceType\\\",\\\"parameterValue\\\":\\\"t2.micro\\\"},{\\\"parameterKey\\\":\\\"EcsAmiId\\\",\\\"parameterValue\\\":\\\"ami-066826c6a40879d75\\\"},{\\\"parameterKey\\\":\\\"VpcAvailabilityZones\\\",\\\"parameterValue\\\":\\\"eu-west-1a,eu-west-1b,eu-west-1c\\\"},{\\\"parameterKey\\\":\\\"TargetGroupName\\\",\\\"parameterValue\\\":\\\"ECSFirstRunTargetGroup\\\"},{\\\"parameterKey\\\":\\\"SubnetCidrBlock2\\\",\\\"parameterValue\\\":\\\"10.0.1.0/24\\\"}],\\\"stackStatusReason\\\":\\\"The following resource(s) failed to delete: [InternetGateway, AttachGateway, EcsSecurityGroup, PublicSubnetAz2, Vpc]. \\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Regional","vpcId":"vpc-02c9119bc7ff6cb1c","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda","resourceName":"EC2ContainerService-default","resourceType":"AWS::CloudFormation::Stack","resourceValue":null,"state":null,"tags":"[]","title":"EC2ContainerService-default","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1344.5,"y":1463.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"eu-west-1b-vpc-02c9119bc7ff6cb1c-eu-west-1-060997615305","parent":"vpc-02c9119bc7ff6cb1c-eu-west-1-060997615305","level":3,"title":"eu-west-1b","label":"eu-west-1b","plainLabel":"eu-west-1b","type":"availabilityZone","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/availabilityZone.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-07fd83a1a39595461","label":"subnet-07fd83a1a39595461","parent":null,"type":"subnet","data":{"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-07fd83a1a39595461","configuration":"\"{\\\"subnetId\\\":\\\"subnet-07fd83a1a39595461\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-07fd83a1a39595461\\\",\\\"availabilityZoneId\\\":\\\"euw1-az3\\\",\\\"cidrBlock\\\":\\\"10.0.1.0/24\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"ECS default - Public Subnet 2\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"PublicSubnetAz2\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"EC2ContainerService-default\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"Created for ECS cluster default\\\",\\\"key\\\":\\\"Description\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"}],\\\"availableIpAddressCount\\\":251,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-02c9119bc7ff6cb1c\\\",\\\"mapPublicIpOnLaunch\\\":false,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-02c9119bc7ff6cb1c","subnetId":"subnet-07fd83a1a39595461","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":null,"resourceId":"subnet-07fd83a1a39595461","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=EC2ContainerService-default\",\"value\":\"EC2ContainerService-default\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"Description=Created for ECS cluster default\",\"value\":\"Created for ECS cluster default\",\"key\":\"Description\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PublicSubnetAz2\",\"value\":\"PublicSubnetAz2\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ECS default - Public Subnet 2\",\"value\":\"ECS default - Public Subnet 2\",\"key\":\"Name\"}]","title":"ECS default - Public Subnet 2","instanceType":null,"statement":null,"dBInstanceStatus":null},"id":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-07fd83a1a39595461","label":"AWS_EC2_Subnet"},"properties":null,"children":[{"id":null,"label":"NetworkAcl","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-076a2c5fbdb51bb74","label":"AWS_EC2_NetworkAcl","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-076a2c5fbdb51bb74","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-07fd83a1a39595461\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-0476f386e9cd9ad75\\\",\\\"networkAclId\\\":\\\"acl-076a2c5fbdb51bb74\\\"}],\\\"entries\\\":[{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":false},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":false}],\\\"isDefault\\\":true,\\\"vpcId\\\":\\\"vpc-02c9119bc7ff6cb1c\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"networkAclId\\\":\\\"acl-076a2c5fbdb51bb74\\\",\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-02c9119bc7ff6cb1c","subnetId":"subnet-07fd83a1a39595461","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#acls:sort=networkAclId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#acls:sort=networkAclId","private":null,"resourceId":"acl-076a2c5fbdb51bb74","resourceName":null,"resourceType":"AWS::EC2::NetworkAcl","resourceValue":null,"state":null,"tags":"[]","title":"acl-076a2c5fbdb51bb74","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1311.5,"y":1273.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"availabilityZone removeAll _gridParentPadding"},{"data":{"id":"subnet-07fd83a1a39595461-eu-west-1b-vpc-02c9119bc7ff6cb1c-eu-west-1-060997615305","parent":"eu-west-1b-vpc-02c9119bc7ff6cb1c-eu-west-1-060997615305","level":4,"title":"subnet-07fd83a1a39595461","label":"subnet-07fd83a1a39595461","plainLabel":"subnet-07fd83a1a39595461","type":"subnet","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/VPC-subnet-private_light-bg-collapsed.svg","clickedId":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-07fd83a1a39595461","cost":0,"hasChildren":true,"children":[{"id":null,"label":"NetworkAcl","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-076a2c5fbdb51bb74","label":"AWS_EC2_NetworkAcl","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-076a2c5fbdb51bb74","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-07fd83a1a39595461\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-0476f386e9cd9ad75\\\",\\\"networkAclId\\\":\\\"acl-076a2c5fbdb51bb74\\\"}],\\\"entries\\\":[{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":false},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":false}],\\\"isDefault\\\":true,\\\"vpcId\\\":\\\"vpc-02c9119bc7ff6cb1c\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"networkAclId\\\":\\\"acl-076a2c5fbdb51bb74\\\",\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-02c9119bc7ff6cb1c","subnetId":"subnet-07fd83a1a39595461","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#acls:sort=networkAclId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#acls:sort=networkAclId","private":null,"resourceId":"acl-076a2c5fbdb51bb74","resourceName":null,"resourceType":"AWS::EC2::NetworkAcl","resourceValue":null,"state":null,"tags":"[]","title":"acl-076a2c5fbdb51bb74","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#248814","properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-07fd83a1a39595461","configuration":"\"{\\\"subnetId\\\":\\\"subnet-07fd83a1a39595461\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-07fd83a1a39595461\\\",\\\"availabilityZoneId\\\":\\\"euw1-az3\\\",\\\"cidrBlock\\\":\\\"10.0.1.0/24\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"ECS default - Public Subnet 2\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"PublicSubnetAz2\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"EC2ContainerService-default\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"Created for ECS cluster default\\\",\\\"key\\\":\\\"Description\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"}],\\\"availableIpAddressCount\\\":251,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-02c9119bc7ff6cb1c\\\",\\\"mapPublicIpOnLaunch\\\":false,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-02c9119bc7ff6cb1c","subnetId":"subnet-07fd83a1a39595461","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":null,"resourceId":"subnet-07fd83a1a39595461","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=EC2ContainerService-default\",\"value\":\"EC2ContainerService-default\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"Description=Created for ECS cluster default\",\"value\":\"Created for ECS cluster default\",\"key\":\"Description\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PublicSubnetAz2\",\"value\":\"PublicSubnetAz2\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ECS default - Public Subnet 2\",\"value\":\"ECS default - Public Subnet 2\",\"key\":\"Name\"}]","title":"ECS default - Public Subnet 2","instanceType":null,"statement":null,"dBInstanceStatus":null},"resource":{"id":"subnet-07fd83a1a39595461","name":null,"value":null,"type":"AWS::EC2::Subnet","tags":"[{\"tag\":\"aws:cloudformation:stack-name=EC2ContainerService-default\",\"value\":\"EC2ContainerService-default\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"Description=Created for ECS cluster default\",\"value\":\"Created for ECS cluster default\",\"key\":\"Description\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PublicSubnetAz2\",\"value\":\"PublicSubnetAz2\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ECS default - Public Subnet 2\",\"value\":\"ECS default - Public Subnet 2\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-07fd83a1a39595461","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","accountId":"060997615305"}},"position":{"x":-1311.5,"y":1273.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"subnet removeAll _gridParentPadding"},{"data":{"id":"NetworkAcl-subnet-07fd83a1a39595461-eu-west-1b-vpc-02c9119bc7ff6cb1c-eu-west-1-060997615305","parent":"subnet-07fd83a1a39595461-eu-west-1b-vpc-02c9119bc7ff6cb1c-eu-west-1-060997615305","level":5,"title":"NetworkAcl","label":"NetworkAcl","plainLabel":"NetworkAcl","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-VPC_Network-Access-Control-List_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-076a2c5fbdb51bb74","label":"AWS_EC2_NetworkAcl","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-076a2c5fbdb51bb74","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-07fd83a1a39595461\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-0476f386e9cd9ad75\\\",\\\"networkAclId\\\":\\\"acl-076a2c5fbdb51bb74\\\"}],\\\"entries\\\":[{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":false},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":false}],\\\"isDefault\\\":true,\\\"vpcId\\\":\\\"vpc-02c9119bc7ff6cb1c\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"networkAclId\\\":\\\"acl-076a2c5fbdb51bb74\\\",\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-02c9119bc7ff6cb1c","subnetId":"subnet-07fd83a1a39595461","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#acls:sort=networkAclId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#acls:sort=networkAclId","private":null,"resourceId":"acl-076a2c5fbdb51bb74","resourceName":null,"resourceType":"AWS::EC2::NetworkAcl","resourceValue":null,"state":null,"tags":"[]","title":"acl-076a2c5fbdb51bb74","instanceType":null,"statement":null,"dBInstanceStatus":null}}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1311.5,"y":1273.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-076a2c5fbdb51bb74","resourceId":["acl-076a2c5fbdb51bb74","arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-076a2c5fbdb51bb74"],"parent":"NetworkAcl-subnet-07fd83a1a39595461-eu-west-1b-vpc-02c9119bc7ff6cb1c-eu-west-1-060997615305","level":6,"id":"arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-076a2c5fbdb51bb74","title":"acl-076a2c5fbdb51bb74","label":"acl-076a2c5f...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-076a2c5fbdb51bb74","image":"/icons/Amazon-VPC_Network-Access-Control-List_light-bg.svg","cost":0,"private":false,"resource":{"id":"acl-076a2c5fbdb51bb74","name":null,"value":null,"type":"AWS::EC2::NetworkAcl","tags":"[]","arn":"arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-076a2c5fbdb51bb74","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#acls:sort=networkAclId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#acls:sort=networkAclId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-076a2c5fbdb51bb74","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-07fd83a1a39595461\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-0476f386e9cd9ad75\\\",\\\"networkAclId\\\":\\\"acl-076a2c5fbdb51bb74\\\"}],\\\"entries\\\":[{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":false},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":false}],\\\"isDefault\\\":true,\\\"vpcId\\\":\\\"vpc-02c9119bc7ff6cb1c\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"networkAclId\\\":\\\"acl-076a2c5fbdb51bb74\\\",\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-02c9119bc7ff6cb1c","subnetId":"subnet-07fd83a1a39595461","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#acls:sort=networkAclId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#acls:sort=networkAclId","private":null,"resourceId":"acl-076a2c5fbdb51bb74","resourceName":null,"resourceType":"AWS::EC2::NetworkAcl","resourceValue":null,"state":null,"tags":"[]","title":"acl-076a2c5fbdb51bb74","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1311.5,"y":1273.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"Multiple Availability Zones-vpc-02c9119bc7ff6cb1c-eu-west-1-060997615305","parent":"vpc-02c9119bc7ff6cb1c-eu-west-1-060997615305","level":3,"title":"Multiple Availability Zones","label":"Multiple Availability Zones","plainLabel":"Multiple Availability Zones","type":"availabilityZone","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/availabilityZone.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":null,"label":"InternetGateway","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:internet-gateway/igw-09fedc11a7187a8e2","label":"AWS_EC2_InternetGateway","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:internet-gateway/igw-09fedc11a7187a8e2","configuration":"\"{\\\"attachments\\\":[{\\\"vpcId\\\":\\\"vpc-02c9119bc7ff6cb1c\\\",\\\"state\\\":\\\"available\\\"}],\\\"internetGatewayId\\\":\\\"igw-09fedc11a7187a8e2\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"tags\\\":[{\\\"value\\\":\\\"EC2ContainerService-default\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"InternetGateway\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"Created for ECS cluster default\\\",\\\"key\\\":\\\"Description\\\"},{\\\"value\\\":\\\"ECS default - InternetGateway\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-02c9119bc7ff6cb1c","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#igws:sort=internetGatewayId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#igws:sort=internetGatewayId","private":null,"resourceId":"igw-09fedc11a7187a8e2","resourceName":null,"resourceType":"AWS::EC2::InternetGateway","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=EC2ContainerService-default\",\"value\":\"EC2ContainerService-default\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"Description=Created for ECS cluster default\",\"value\":\"Created for ECS cluster default\",\"key\":\"Description\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=InternetGateway\",\"value\":\"InternetGateway\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ECS default - InternetGateway\",\"value\":\"ECS default - InternetGateway\",\"key\":\"Name\"}]","title":"ECS default - InternetGateway","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1590.5,"y":1506.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"availabilityZone removeAll _gridParentPadding"},{"data":{"id":"InternetGateway-Multiple Availability Zones-vpc-02c9119bc7ff6cb1c-eu-west-1-060997615305","parent":"Multiple Availability Zones-vpc-02c9119bc7ff6cb1c-eu-west-1-060997615305","level":4,"title":"InternetGateway","label":"InternetGateway","plainLabel":"InternetGateway","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-VPC_Internet-Gateway_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:internet-gateway/igw-09fedc11a7187a8e2","label":"AWS_EC2_InternetGateway","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:internet-gateway/igw-09fedc11a7187a8e2","configuration":"\"{\\\"attachments\\\":[{\\\"vpcId\\\":\\\"vpc-02c9119bc7ff6cb1c\\\",\\\"state\\\":\\\"available\\\"}],\\\"internetGatewayId\\\":\\\"igw-09fedc11a7187a8e2\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"tags\\\":[{\\\"value\\\":\\\"EC2ContainerService-default\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"InternetGateway\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"Created for ECS cluster default\\\",\\\"key\\\":\\\"Description\\\"},{\\\"value\\\":\\\"ECS default - InternetGateway\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-02c9119bc7ff6cb1c","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#igws:sort=internetGatewayId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#igws:sort=internetGatewayId","private":null,"resourceId":"igw-09fedc11a7187a8e2","resourceName":null,"resourceType":"AWS::EC2::InternetGateway","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=EC2ContainerService-default\",\"value\":\"EC2ContainerService-default\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"Description=Created for ECS cluster default\",\"value\":\"Created for ECS cluster default\",\"key\":\"Description\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=InternetGateway\",\"value\":\"InternetGateway\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ECS default - InternetGateway\",\"value\":\"ECS default - InternetGateway\",\"key\":\"Name\"}]","title":"ECS default - InternetGateway","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1590.5,"y":1506.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:internet-gateway/igw-09fedc11a7187a8e2","resourceId":["igw-09fedc11a7187a8e2","arn:aws:ec2:eu-west-1:060997615305:internet-gateway/igw-09fedc11a7187a8e2"],"parent":"InternetGateway-Multiple Availability Zones-vpc-02c9119bc7ff6cb1c-eu-west-1-060997615305","level":5,"id":"arn:aws:ec2:eu-west-1:060997615305:internet-gateway/igw-09fedc11a7187a8e2","title":"ECS default - InternetGateway","label":"ECS default ...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:internet-gateway/igw-09fedc11a7187a8e2","image":"/icons/Amazon-VPC_Internet-Gateway_light-bg.svg","cost":0,"private":false,"resource":{"id":"igw-09fedc11a7187a8e2","name":null,"value":null,"type":"AWS::EC2::InternetGateway","tags":"[{\"tag\":\"aws:cloudformation:stack-name=EC2ContainerService-default\",\"value\":\"EC2ContainerService-default\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"Description=Created for ECS cluster default\",\"value\":\"Created for ECS cluster default\",\"key\":\"Description\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=InternetGateway\",\"value\":\"InternetGateway\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ECS default - InternetGateway\",\"value\":\"ECS default - InternetGateway\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-1:060997615305:internet-gateway/igw-09fedc11a7187a8e2","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#igws:sort=internetGatewayId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#igws:sort=internetGatewayId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:internet-gateway/igw-09fedc11a7187a8e2","configuration":"\"{\\\"attachments\\\":[{\\\"vpcId\\\":\\\"vpc-02c9119bc7ff6cb1c\\\",\\\"state\\\":\\\"available\\\"}],\\\"internetGatewayId\\\":\\\"igw-09fedc11a7187a8e2\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"tags\\\":[{\\\"value\\\":\\\"EC2ContainerService-default\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"InternetGateway\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"Created for ECS cluster default\\\",\\\"key\\\":\\\"Description\\\"},{\\\"value\\\":\\\"ECS default - InternetGateway\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-02c9119bc7ff6cb1c","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#igws:sort=internetGatewayId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#igws:sort=internetGatewayId","private":null,"resourceId":"igw-09fedc11a7187a8e2","resourceName":null,"resourceType":"AWS::EC2::InternetGateway","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=EC2ContainerService-default\",\"value\":\"EC2ContainerService-default\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"Description=Created for ECS cluster default\",\"value\":\"Created for ECS cluster default\",\"key\":\"Description\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=InternetGateway\",\"value\":\"InternetGateway\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ECS default - InternetGateway\",\"value\":\"ECS default - InternetGateway\",\"key\":\"Name\"}]","title":"ECS default - InternetGateway","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1590.5,"y":1506.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:tags::060997615305:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda","resourceId":["arn:aws:tags::060997615305:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda","arn:aws:tags::060997615305:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda"],"parent":"Tag-global-060997615305","level":3,"id":"arn:aws:tags::060997615305:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda","title":"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda","label":"aws:cloudfor...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:tags::060997615305:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda","image":"/icons/AWS-Tags-bg.svg","cost":0,"private":false,"resource":{"id":"arn:aws:tags::060997615305:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda","name":"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda","value":null,"type":"AWS::Tags::Tag","tags":"[]","arn":"arn:aws:tags::060997615305:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:tags::060997615305:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda","configuration":"\"{}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:tags::060997615305:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda","resourceName":"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda","resourceType":"AWS::Tags::Tag","resourceValue":null,"state":null,"tags":"[]","title":"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2049.5,"y":2583.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:tags::060997615305:tag/aws:cloudformation:logical-id=Vpc","resourceId":["arn:aws:tags::060997615305:tag/aws:cloudformation:logical-id=Vpc","arn:aws:tags::060997615305:tag/aws:cloudformation:logical-id=Vpc"],"parent":"Tag-global-060997615305","level":3,"id":"arn:aws:tags::060997615305:tag/aws:cloudformation:logical-id=Vpc","title":"aws:cloudformation:logical-id=Vpc","label":"aws:cloudfor...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:tags::060997615305:tag/aws:cloudformation:logical-id=Vpc","image":"/icons/AWS-Tags-bg.svg","cost":0,"private":false,"resource":{"id":"arn:aws:tags::060997615305:tag/aws:cloudformation:logical-id=Vpc","name":"aws:cloudformation:logical-id=Vpc","value":null,"type":"AWS::Tags::Tag","tags":"[]","arn":"arn:aws:tags::060997615305:tag/aws:cloudformation:logical-id=Vpc","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:tags::060997615305:tag/aws:cloudformation:logical-id=Vpc","configuration":"\"{}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:tags::060997615305:tag/aws:cloudformation:logical-id=Vpc","resourceName":"aws:cloudformation:logical-id=Vpc","resourceType":"AWS::Tags::Tag","resourceValue":null,"state":null,"tags":"[]","title":"aws:cloudformation:logical-id=Vpc","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2195.5,"y":2656.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:tags::060997615305:tag/Name=ECS default - VPC","resourceId":["arn:aws:tags::060997615305:tag/Name=ECS default - VPC","arn:aws:tags::060997615305:tag/Name=ECS default - VPC"],"parent":"Tag-global-060997615305","level":3,"id":"arn:aws:tags::060997615305:tag/Name=ECS default - VPC","title":"Name=ECS default - VPC","label":"Name=ECS def...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:tags::060997615305:tag/Name=ECS default - VPC","image":"/icons/AWS-Tags-bg.svg","cost":0,"private":false,"resource":{"id":"arn:aws:tags::060997615305:tag/Name=ECS default - VPC","name":"Name=ECS default - VPC","value":null,"type":"AWS::Tags::Tag","tags":"[]","arn":"arn:aws:tags::060997615305:tag/Name=ECS default - VPC","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:tags::060997615305:tag/Name=ECS default - VPC","configuration":"\"{}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:tags::060997615305:tag/Name=ECS default - VPC","resourceName":"Name=ECS default - VPC","resourceType":"AWS::Tags::Tag","resourceValue":null,"state":null,"tags":"[]","title":"Name=ECS default - VPC","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2122.5,"y":2656.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:tags::060997615305:tag/aws:cloudformation:stack-name=EC2ContainerService-default","resourceId":["arn:aws:tags::060997615305:tag/aws:cloudformation:stack-name=EC2ContainerService-default","arn:aws:tags::060997615305:tag/aws:cloudformation:stack-name=EC2ContainerService-default"],"parent":"Tag-global-060997615305","level":3,"id":"arn:aws:tags::060997615305:tag/aws:cloudformation:stack-name=EC2ContainerService-default","title":"aws:cloudformation:stack-name=EC2ContainerService-default","label":"aws:cloudfor...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:tags::060997615305:tag/aws:cloudformation:stack-name=EC2ContainerService-default","image":"/icons/AWS-Tags-bg.svg","cost":0,"private":false,"resource":{"id":"arn:aws:tags::060997615305:tag/aws:cloudformation:stack-name=EC2ContainerService-default","name":"aws:cloudformation:stack-name=EC2ContainerService-default","value":null,"type":"AWS::Tags::Tag","tags":"[]","arn":"arn:aws:tags::060997615305:tag/aws:cloudformation:stack-name=EC2ContainerService-default","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:tags::060997615305:tag/aws:cloudformation:stack-name=EC2ContainerService-default","configuration":"\"{}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:tags::060997615305:tag/aws:cloudformation:stack-name=EC2ContainerService-default","resourceName":"aws:cloudformation:stack-name=EC2ContainerService-default","resourceType":"AWS::Tags::Tag","resourceValue":null,"state":null,"tags":"[]","title":"aws:cloudformation:stack-name=EC2ContainerService-default","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2049.5,"y":2656.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:tags::060997615305:tag/Description=Created for ECS cluster default","resourceId":["arn:aws:tags::060997615305:tag/Description=Created for ECS cluster default","arn:aws:tags::060997615305:tag/Description=Created for ECS cluster default"],"parent":"Tag-global-060997615305","level":3,"id":"arn:aws:tags::060997615305:tag/Description=Created for ECS cluster default","title":"Description=Created for ECS cluster default","label":"Description=...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:tags::060997615305:tag/Description=Created for ECS cluster default","image":"/icons/AWS-Tags-bg.svg","cost":0,"private":false,"resource":{"id":"arn:aws:tags::060997615305:tag/Description=Created for ECS cluster default","name":"Description=Created for ECS cluster default","value":null,"type":"AWS::Tags::Tag","tags":"[]","arn":"arn:aws:tags::060997615305:tag/Description=Created for ECS cluster default","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:tags::060997615305:tag/Description=Created for ECS cluster default","configuration":"\"{}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:tags::060997615305:tag/Description=Created for ECS cluster default","resourceName":"Description=Created for ECS cluster default","resourceType":"AWS::Tags::Tag","resourceValue":null,"state":null,"tags":"[]","title":"Description=Created for ECS cluster default","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1976.5,"y":2510.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"Multiple Availability Zones-eu-west-1-044981683129","parent":"eu-west-1-044981683129","level":2,"title":"Multiple Availability Zones","label":"Multiple Availability Zones","plainLabel":"Multiple Availability Zones","type":"availabilityZone","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/availabilityZone.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":null,"label":"VPC","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc","label":"AWS_EC2_VPC","parent":true,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc","configuration":"\"{\\\"instanceTenancy\\\":\\\"default\\\",\\\"isDefault\\\":false,\\\"dhcpOptionsId\\\":\\\"dopt-01ea0a1b1a9b59c0a\\\",\\\"cidrBlock\\\":\\\"192.168.0.0/16\\\",\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"cidrBlockAssociationSet\\\":[{\\\"cidrBlock\\\":\\\"192.168.0.0/16\\\",\\\"cidrBlockState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"associationId\\\":\\\"vpc-cidr-assoc-020a825b3b20e569b\\\"}],\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipv6CidrBlockAssociationSet\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster/VPC\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"alpha.eksctl.io/cluster-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"0.30.0\\\",\\\"key\\\":\\\"alpha.eksctl.io/eksctl-version\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"VPC\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":null,"subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#vpcs:sort=VpcId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#vpcs:sort=VpcId","private":null,"resourceId":"vpc-09839929763048cfc","resourceName":null,"resourceType":"AWS::EC2::VPC","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster\",\"value\":\"eksctl-attractive-badger-1604015308-cluster\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"alpha.eksctl.io/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"aws:cloudformation:logical-id=VPC\",\"value\":\"VPC\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.30.0\",\"value\":\"0.30.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"},{\"tag\":\"Name=eksctl-attractive-badger-1604015308-cluster/VPC\",\"value\":\"eksctl-attractive-badger-1604015308-cluster/VPC\",\"key\":\"Name\"}]","title":"eksctl-attractive-badger-1604015308-cluster/VPC","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-374.5,"y":-478.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"availabilityZone removeAll _gridParentPadding"},{"data":{"id":"VPC-Multiple Availability Zones-eu-west-1-044981683129","parent":"Multiple Availability Zones-eu-west-1-044981683129","level":3,"title":"VPC","label":"VPC","plainLabel":"VPC","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/VPC-menu.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc","label":"AWS_EC2_VPC","parent":true,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc","configuration":"\"{\\\"instanceTenancy\\\":\\\"default\\\",\\\"isDefault\\\":false,\\\"dhcpOptionsId\\\":\\\"dopt-01ea0a1b1a9b59c0a\\\",\\\"cidrBlock\\\":\\\"192.168.0.0/16\\\",\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"cidrBlockAssociationSet\\\":[{\\\"cidrBlock\\\":\\\"192.168.0.0/16\\\",\\\"cidrBlockState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"associationId\\\":\\\"vpc-cidr-assoc-020a825b3b20e569b\\\"}],\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipv6CidrBlockAssociationSet\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster/VPC\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"alpha.eksctl.io/cluster-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"0.30.0\\\",\\\"key\\\":\\\"alpha.eksctl.io/eksctl-version\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"VPC\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":null,"subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#vpcs:sort=VpcId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#vpcs:sort=VpcId","private":null,"resourceId":"vpc-09839929763048cfc","resourceName":null,"resourceType":"AWS::EC2::VPC","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster\",\"value\":\"eksctl-attractive-badger-1604015308-cluster\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"alpha.eksctl.io/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"aws:cloudformation:logical-id=VPC\",\"value\":\"VPC\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.30.0\",\"value\":\"0.30.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"},{\"tag\":\"Name=eksctl-attractive-badger-1604015308-cluster/VPC\",\"value\":\"eksctl-attractive-badger-1604015308-cluster/VPC\",\"key\":\"Name\"}]","title":"eksctl-attractive-badger-1604015308-cluster/VPC","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-374.5,"y":-478.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc","resourceId":["vpc-09839929763048cfc","arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc"],"parent":"VPC-Multiple Availability Zones-eu-west-1-044981683129","level":4,"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc","title":"eksctl-attractive-badger-1604015308-cluster/VPC","label":"eksctl-attra...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc","image":"/icons/VPC-menu.svg","cost":0,"private":false,"resource":{"id":"vpc-09839929763048cfc","name":null,"value":null,"type":"AWS::EC2::VPC","tags":"[{\"tag\":\"aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster\",\"value\":\"eksctl-attractive-badger-1604015308-cluster\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"alpha.eksctl.io/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"aws:cloudformation:logical-id=VPC\",\"value\":\"VPC\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.30.0\",\"value\":\"0.30.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"},{\"tag\":\"Name=eksctl-attractive-badger-1604015308-cluster/VPC\",\"value\":\"eksctl-attractive-badger-1604015308-cluster/VPC\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#vpcs:sort=VpcId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#vpcs:sort=VpcId","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc","configuration":"\"{\\\"instanceTenancy\\\":\\\"default\\\",\\\"isDefault\\\":false,\\\"dhcpOptionsId\\\":\\\"dopt-01ea0a1b1a9b59c0a\\\",\\\"cidrBlock\\\":\\\"192.168.0.0/16\\\",\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"cidrBlockAssociationSet\\\":[{\\\"cidrBlock\\\":\\\"192.168.0.0/16\\\",\\\"cidrBlockState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"associationId\\\":\\\"vpc-cidr-assoc-020a825b3b20e569b\\\"}],\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipv6CidrBlockAssociationSet\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster/VPC\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"alpha.eksctl.io/cluster-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"0.30.0\\\",\\\"key\\\":\\\"alpha.eksctl.io/eksctl-version\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"VPC\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":null,"subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#vpcs:sort=VpcId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#vpcs:sort=VpcId","private":null,"resourceId":"vpc-09839929763048cfc","resourceName":null,"resourceType":"AWS::EC2::VPC","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster\",\"value\":\"eksctl-attractive-badger-1604015308-cluster\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"alpha.eksctl.io/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"aws:cloudformation:logical-id=VPC\",\"value\":\"VPC\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.30.0\",\"value\":\"0.30.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"},{\"tag\":\"Name=eksctl-attractive-badger-1604015308-cluster/VPC\",\"value\":\"eksctl-attractive-badger-1604015308-cluster/VPC\",\"key\":\"Name\"}]","title":"eksctl-attractive-badger-1604015308-cluster/VPC","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-447.5,"y":-515.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"id":"SecurityGroup-vpc-09839929763048cfc-eu-west-1-044981683129","parent":"vpc-09839929763048cfc-eu-west-1-044981683129","level":3,"title":"SecurityGroup","label":"SecurityGroup","plainLabel":"SecurityGroup","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/AWSSecurityGroup.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-062dd3b9b48e7278f","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-062dd3b9b48e7278f","configuration":"\"{\\\"groupName\\\":\\\"eksctl-attractive-badger-1604015308-cluster-ControlPlaneSecurityGroup-1L49W8336JER8\\\",\\\"groupId\\\":\\\"sg-062dd3b9b48e7278f\\\",\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"Communication between the control plane and worker nodegroups\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipPermissions\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"0.30.0\\\",\\\"key\\\":\\\"alpha.eksctl.io/eksctl-version\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"alpha.eksctl.io/cluster-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster/ControlPlaneSecurityGroup\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"ControlPlaneSecurityGroup\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-09839929763048cfc","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-062dd3b9b48e7278f","resourceName":"eksctl-attractive-badger-1604015308-cluster-ControlPlaneSecurityGroup-1L49W8336JER8","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster\",\"value\":\"eksctl-attractive-badger-1604015308-cluster\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"alpha.eksctl.io/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"aws:cloudformation:logical-id=ControlPlaneSecurityGroup\",\"value\":\"ControlPlaneSecurityGroup\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.30.0\",\"value\":\"0.30.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"},{\"tag\":\"Name=eksctl-attractive-badger-1604015308-cluster/ControlPlaneSecurityGroup\",\"value\":\"eksctl-attractive-badger-1604015308-cluster/ControlPlaneSecurityGroup\",\"key\":\"Name\"}]","title":"eksctl-attractive-badger-1604015308-cluster/ControlPlaneSecurityGroup","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-00189a6b426be4510","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-00189a6b426be4510","configuration":"\"{\\\"groupName\\\":\\\"eksctl-attractive-badger-1604015308-cluster-ClusterSharedNodeSecurityGroup-RWQUMLED8OTT\\\",\\\"groupId\\\":\\\"sg-00189a6b426be4510\\\",\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"Communication between all nodes in the cluster\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[{\\\"groupId\\\":\\\"sg-00189a6b426be4510\\\",\\\"description\\\":\\\"Allow nodes to communicate with each other (all ports)\\\",\\\"userId\\\":\\\"044981683129\\\"},{\\\"groupId\\\":\\\"sg-0bcb1987c6667687b\\\",\\\"description\\\":\\\"Allow managed and unmanaged nodes to communicate with each other (all ports)\\\",\\\"userId\\\":\\\"044981683129\\\"}],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"alpha.eksctl.io/cluster-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\\\"},{\\\"value\\\":\\\"0.30.0\\\",\\\"key\\\":\\\"alpha.eksctl.io/eksctl-version\\\"},{\\\"value\\\":\\\"ClusterSharedNodeSecurityGroup\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster/ClusterSharedNodeSecurityGroup\\\",\\\"key\\\":\\\"Name\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-09839929763048cfc","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-00189a6b426be4510","resourceName":"eksctl-attractive-badger-1604015308-cluster-ClusterSharedNodeSecurityGroup-RWQUMLED8OTT","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster\",\"value\":\"eksctl-attractive-badger-1604015308-cluster\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"alpha.eksctl.io/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"aws:cloudformation:logical-id=ClusterSharedNodeSecurityGroup\",\"value\":\"ClusterSharedNodeSecurityGroup\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.30.0\",\"value\":\"0.30.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"},{\"tag\":\"Name=eksctl-attractive-badger-1604015308-cluster/ClusterSharedNodeSecurityGroup\",\"value\":\"eksctl-attractive-badger-1604015308-cluster/ClusterSharedNodeSecurityGroup\",\"key\":\"Name\"}]","title":"eksctl-attractive-badger-1604015308-cluster/ClusterSharedNodeSecurityGroup","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0bcb1987c6667687b","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0bcb1987c6667687b","configuration":"\"{\\\"groupName\\\":\\\"eks-cluster-sg-attractive-badger-1604015308-1273556504\\\",\\\"groupId\\\":\\\"sg-0bcb1987c6667687b\\\",\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"EKS created security group applied to ENI that is attached to EKS Control Plane master nodes, as well as any managed workloads.\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[{\\\"groupId\\\":\\\"sg-0bcb1987c6667687b\\\",\\\"userId\\\":\\\"044981683129\\\"},{\\\"groupId\\\":\\\"sg-00189a6b426be4510\\\",\\\"description\\\":\\\"Allow unmanaged nodes to communicate with control plane (all ports)\\\",\\\"userId\\\":\\\"044981683129\\\"},{\\\"groupId\\\":\\\"sg-0f682d01b121c4504\\\",\\\"userId\\\":\\\"044981683129\\\"}],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"aws:eks:cluster-name\\\"},{\\\"value\\\":\\\"owned\\\",\\\"key\\\":\\\"kubernetes.io/cluster/attractive-badger-1604015308\\\"},{\\\"value\\\":\\\"eks-cluster-sg-attractive-badger-1604015308-1273556504\\\",\\\"key\\\":\\\"Name\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-09839929763048cfc","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0bcb1987c6667687b","resourceName":"eks-cluster-sg-attractive-badger-1604015308-1273556504","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:eks:cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"aws:eks:cluster-name\"},{\"tag\":\"kubernetes.io/cluster/attractive-badger-1604015308=owned\",\"value\":\"owned\",\"key\":\"kubernetes.io/cluster/attractive-badger-1604015308\"},{\"tag\":\"Name=eks-cluster-sg-attractive-badger-1604015308-1273556504\",\"value\":\"eks-cluster-sg-attractive-badger-1604015308-1273556504\",\"key\":\"Name\"}]","title":"eks-cluster-sg-attractive-badger-1604015308-1273556504","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0c556ea978c9899ed","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0c556ea978c9899ed","configuration":"\"{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-0c556ea978c9899ed\\\",\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"default VPC security group\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[{\\\"groupId\\\":\\\"sg-0c556ea978c9899ed\\\",\\\"userId\\\":\\\"044981683129\\\"}],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-09839929763048cfc","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0c556ea978c9899ed","resourceName":"default","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"default","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0f682d01b121c4504","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0f682d01b121c4504","configuration":"\"{\\\"groupName\\\":\\\"k8s-elb-a3af06af9830647219ca4bb76e335070\\\",\\\"groupId\\\":\\\"sg-0f682d01b121c4504\\\",\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"Security group for Kubernetes ELB a3af06af9830647219ca4bb76e335070 (default/example-service)\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":80,\\\"toPort\\\":80,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":3,\\\"toPort\\\":4,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"icmp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[{\\\"value\\\":\\\"owned\\\",\\\"key\\\":\\\"kubernetes.io/cluster/attractive-badger-1604015308\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-09839929763048cfc","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0f682d01b121c4504","resourceName":"k8s-elb-a3af06af9830647219ca4bb76e335070","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[{\"tag\":\"kubernetes.io/cluster/attractive-badger-1604015308=owned\",\"value\":\"owned\",\"key\":\"kubernetes.io/cluster/attractive-badger-1604015308\"}]","title":"k8s-elb-a3af06af9830647219ca4bb76e335070","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":230.5,"y":-2147.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-062dd3b9b48e7278f","resourceId":["sg-062dd3b9b48e7278f","arn:aws:ec2:eu-west-1:044981683129:security-group/sg-062dd3b9b48e7278f"],"parent":"SecurityGroup-vpc-09839929763048cfc-eu-west-1-044981683129","level":4,"id":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-062dd3b9b48e7278f","title":"eksctl-attractive-badger-1604015308-cluster/ControlPlaneSecurityGroup","label":"eksctl-attra...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-062dd3b9b48e7278f","image":"/icons/AWSSecurityGroup.svg","cost":0,"private":false,"resource":{"id":"sg-062dd3b9b48e7278f","name":"eksctl-attractive-badger-1604015308-cluster-ControlPlaneSecurityGroup-1L49W8336JER8","value":null,"type":"AWS::EC2::SecurityGroup","tags":"[{\"tag\":\"aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster\",\"value\":\"eksctl-attractive-badger-1604015308-cluster\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"alpha.eksctl.io/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"aws:cloudformation:logical-id=ControlPlaneSecurityGroup\",\"value\":\"ControlPlaneSecurityGroup\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.30.0\",\"value\":\"0.30.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"},{\"tag\":\"Name=eksctl-attractive-badger-1604015308-cluster/ControlPlaneSecurityGroup\",\"value\":\"eksctl-attractive-badger-1604015308-cluster/ControlPlaneSecurityGroup\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-062dd3b9b48e7278f","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-062dd3b9b48e7278f","configuration":"\"{\\\"groupName\\\":\\\"eksctl-attractive-badger-1604015308-cluster-ControlPlaneSecurityGroup-1L49W8336JER8\\\",\\\"groupId\\\":\\\"sg-062dd3b9b48e7278f\\\",\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"Communication between the control plane and worker nodegroups\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipPermissions\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"0.30.0\\\",\\\"key\\\":\\\"alpha.eksctl.io/eksctl-version\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"alpha.eksctl.io/cluster-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster/ControlPlaneSecurityGroup\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"ControlPlaneSecurityGroup\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-09839929763048cfc","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-062dd3b9b48e7278f","resourceName":"eksctl-attractive-badger-1604015308-cluster-ControlPlaneSecurityGroup-1L49W8336JER8","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster\",\"value\":\"eksctl-attractive-badger-1604015308-cluster\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"alpha.eksctl.io/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"aws:cloudformation:logical-id=ControlPlaneSecurityGroup\",\"value\":\"ControlPlaneSecurityGroup\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.30.0\",\"value\":\"0.30.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"},{\"tag\":\"Name=eksctl-attractive-badger-1604015308-cluster/ControlPlaneSecurityGroup\",\"value\":\"eksctl-attractive-badger-1604015308-cluster/ControlPlaneSecurityGroup\",\"key\":\"Name\"}]","title":"eksctl-attractive-badger-1604015308-cluster/ControlPlaneSecurityGroup","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":157.5,"y":-2184.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-00189a6b426be4510","resourceId":["sg-00189a6b426be4510","arn:aws:ec2:eu-west-1:044981683129:security-group/sg-00189a6b426be4510"],"parent":"SecurityGroup-vpc-09839929763048cfc-eu-west-1-044981683129","level":4,"id":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-00189a6b426be4510","title":"eksctl-attractive-badger-1604015308-cluster/ClusterSharedNodeSecurityGroup","label":"eksctl-attra...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-00189a6b426be4510","image":"/icons/AWSSecurityGroup.svg","cost":0,"private":false,"resource":{"id":"sg-00189a6b426be4510","name":"eksctl-attractive-badger-1604015308-cluster-ClusterSharedNodeSecurityGroup-RWQUMLED8OTT","value":null,"type":"AWS::EC2::SecurityGroup","tags":"[{\"tag\":\"aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster\",\"value\":\"eksctl-attractive-badger-1604015308-cluster\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"alpha.eksctl.io/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"aws:cloudformation:logical-id=ClusterSharedNodeSecurityGroup\",\"value\":\"ClusterSharedNodeSecurityGroup\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.30.0\",\"value\":\"0.30.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"},{\"tag\":\"Name=eksctl-attractive-badger-1604015308-cluster/ClusterSharedNodeSecurityGroup\",\"value\":\"eksctl-attractive-badger-1604015308-cluster/ClusterSharedNodeSecurityGroup\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-00189a6b426be4510","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-00189a6b426be4510","configuration":"\"{\\\"groupName\\\":\\\"eksctl-attractive-badger-1604015308-cluster-ClusterSharedNodeSecurityGroup-RWQUMLED8OTT\\\",\\\"groupId\\\":\\\"sg-00189a6b426be4510\\\",\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"Communication between all nodes in the cluster\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[{\\\"groupId\\\":\\\"sg-00189a6b426be4510\\\",\\\"description\\\":\\\"Allow nodes to communicate with each other (all ports)\\\",\\\"userId\\\":\\\"044981683129\\\"},{\\\"groupId\\\":\\\"sg-0bcb1987c6667687b\\\",\\\"description\\\":\\\"Allow managed and unmanaged nodes to communicate with each other (all ports)\\\",\\\"userId\\\":\\\"044981683129\\\"}],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"alpha.eksctl.io/cluster-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\\\"},{\\\"value\\\":\\\"0.30.0\\\",\\\"key\\\":\\\"alpha.eksctl.io/eksctl-version\\\"},{\\\"value\\\":\\\"ClusterSharedNodeSecurityGroup\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster/ClusterSharedNodeSecurityGroup\\\",\\\"key\\\":\\\"Name\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-09839929763048cfc","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-00189a6b426be4510","resourceName":"eksctl-attractive-badger-1604015308-cluster-ClusterSharedNodeSecurityGroup-RWQUMLED8OTT","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster\",\"value\":\"eksctl-attractive-badger-1604015308-cluster\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"alpha.eksctl.io/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"aws:cloudformation:logical-id=ClusterSharedNodeSecurityGroup\",\"value\":\"ClusterSharedNodeSecurityGroup\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.30.0\",\"value\":\"0.30.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"},{\"tag\":\"Name=eksctl-attractive-badger-1604015308-cluster/ClusterSharedNodeSecurityGroup\",\"value\":\"eksctl-attractive-badger-1604015308-cluster/ClusterSharedNodeSecurityGroup\",\"key\":\"Name\"}]","title":"eksctl-attractive-badger-1604015308-cluster/ClusterSharedNodeSecurityGroup","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":230.5,"y":-2184.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0bcb1987c6667687b","resourceId":["sg-0bcb1987c6667687b","arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0bcb1987c6667687b"],"parent":"SecurityGroup-vpc-09839929763048cfc-eu-west-1-044981683129","level":4,"id":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0bcb1987c6667687b","title":"eks-cluster-sg-attractive-badger-1604015308-1273556504","label":"eks-cluster-...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0bcb1987c6667687b","image":"/icons/AWSSecurityGroup.svg","cost":0,"private":false,"resource":{"id":"sg-0bcb1987c6667687b","name":"eks-cluster-sg-attractive-badger-1604015308-1273556504","value":null,"type":"AWS::EC2::SecurityGroup","tags":"[{\"tag\":\"aws:eks:cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"aws:eks:cluster-name\"},{\"tag\":\"kubernetes.io/cluster/attractive-badger-1604015308=owned\",\"value\":\"owned\",\"key\":\"kubernetes.io/cluster/attractive-badger-1604015308\"},{\"tag\":\"Name=eks-cluster-sg-attractive-badger-1604015308-1273556504\",\"value\":\"eks-cluster-sg-attractive-badger-1604015308-1273556504\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0bcb1987c6667687b","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0bcb1987c6667687b","configuration":"\"{\\\"groupName\\\":\\\"eks-cluster-sg-attractive-badger-1604015308-1273556504\\\",\\\"groupId\\\":\\\"sg-0bcb1987c6667687b\\\",\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"EKS created security group applied to ENI that is attached to EKS Control Plane master nodes, as well as any managed workloads.\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[{\\\"groupId\\\":\\\"sg-0bcb1987c6667687b\\\",\\\"userId\\\":\\\"044981683129\\\"},{\\\"groupId\\\":\\\"sg-00189a6b426be4510\\\",\\\"description\\\":\\\"Allow unmanaged nodes to communicate with control plane (all ports)\\\",\\\"userId\\\":\\\"044981683129\\\"},{\\\"groupId\\\":\\\"sg-0f682d01b121c4504\\\",\\\"userId\\\":\\\"044981683129\\\"}],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"aws:eks:cluster-name\\\"},{\\\"value\\\":\\\"owned\\\",\\\"key\\\":\\\"kubernetes.io/cluster/attractive-badger-1604015308\\\"},{\\\"value\\\":\\\"eks-cluster-sg-attractive-badger-1604015308-1273556504\\\",\\\"key\\\":\\\"Name\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-09839929763048cfc","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0bcb1987c6667687b","resourceName":"eks-cluster-sg-attractive-badger-1604015308-1273556504","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:eks:cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"aws:eks:cluster-name\"},{\"tag\":\"kubernetes.io/cluster/attractive-badger-1604015308=owned\",\"value\":\"owned\",\"key\":\"kubernetes.io/cluster/attractive-badger-1604015308\"},{\"tag\":\"Name=eks-cluster-sg-attractive-badger-1604015308-1273556504\",\"value\":\"eks-cluster-sg-attractive-badger-1604015308-1273556504\",\"key\":\"Name\"}]","title":"eks-cluster-sg-attractive-badger-1604015308-1273556504","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":157.5,"y":-2111.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0c556ea978c9899ed","resourceId":["sg-0c556ea978c9899ed","arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0c556ea978c9899ed"],"parent":"SecurityGroup-vpc-09839929763048cfc-eu-west-1-044981683129","level":4,"id":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0c556ea978c9899ed","title":"default","label":"default","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0c556ea978c9899ed","image":"/icons/AWSSecurityGroup.svg","cost":0,"private":false,"resource":{"id":"sg-0c556ea978c9899ed","name":"default","value":null,"type":"AWS::EC2::SecurityGroup","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0c556ea978c9899ed","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0c556ea978c9899ed","configuration":"\"{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-0c556ea978c9899ed\\\",\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"default VPC security group\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[{\\\"groupId\\\":\\\"sg-0c556ea978c9899ed\\\",\\\"userId\\\":\\\"044981683129\\\"}],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-09839929763048cfc","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0c556ea978c9899ed","resourceName":"default","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"default","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":230.5,"y":-2111.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0f682d01b121c4504","resourceId":["sg-0f682d01b121c4504","arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0f682d01b121c4504"],"parent":"SecurityGroup-vpc-09839929763048cfc-eu-west-1-044981683129","level":4,"id":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0f682d01b121c4504","title":"k8s-elb-a3af06af9830647219ca4bb76e335070","label":"k8s-elb-a3af...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0f682d01b121c4504","image":"/icons/AWSSecurityGroup.svg","cost":0,"private":false,"resource":{"id":"sg-0f682d01b121c4504","name":"k8s-elb-a3af06af9830647219ca4bb76e335070","value":null,"type":"AWS::EC2::SecurityGroup","tags":"[{\"tag\":\"kubernetes.io/cluster/attractive-badger-1604015308=owned\",\"value\":\"owned\",\"key\":\"kubernetes.io/cluster/attractive-badger-1604015308\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0f682d01b121c4504","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0f682d01b121c4504","configuration":"\"{\\\"groupName\\\":\\\"k8s-elb-a3af06af9830647219ca4bb76e335070\\\",\\\"groupId\\\":\\\"sg-0f682d01b121c4504\\\",\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"Security group for Kubernetes ELB a3af06af9830647219ca4bb76e335070 (default/example-service)\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":80,\\\"toPort\\\":80,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":3,\\\"toPort\\\":4,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"icmp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[{\\\"value\\\":\\\"owned\\\",\\\"key\\\":\\\"kubernetes.io/cluster/attractive-badger-1604015308\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-09839929763048cfc","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0f682d01b121c4504","resourceName":"k8s-elb-a3af06af9830647219ca4bb76e335070","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[{\"tag\":\"kubernetes.io/cluster/attractive-badger-1604015308=owned\",\"value\":\"owned\",\"key\":\"kubernetes.io/cluster/attractive-badger-1604015308\"}]","title":"k8s-elb-a3af06af9830647219ca4bb76e335070","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":303.5,"y":-2184.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"RouteTable-vpc-09839929763048cfc-eu-west-1-044981683129","parent":"vpc-09839929763048cfc-eu-west-1-044981683129","level":3,"title":"RouteTable","label":"RouteTable","plainLabel":"RouteTable","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-VPC_Router_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0a6baac6e5b5ece15","label":"AWS_EC2_RouteTable","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0a6baac6e5b5ece15","configuration":"\"{\\\"associations\\\":[{\\\"routeTableId\\\":\\\"rtb-0a6baac6e5b5ece15\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-024922d8c849389bd\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":true}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"192.168.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"}],\\\"routeTableId\\\":\\\"rtb-0a6baac6e5b5ece15\\\",\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-09839929763048cfc","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-0a6baac6e5b5ece15","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[]","title":"rtb-0a6baac6e5b5ece15","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0e4546694e5f29f3e","label":"AWS_EC2_RouteTable","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0e4546694e5f29f3e","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-07a6385d759763604\\\",\\\"routeTableId\\\":\\\"rtb-0e4546694e5f29f3e\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-0c838e2d201376b77\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":false},{\\\"subnetId\\\":\\\"subnet-0240cebb8fa82aa33\\\",\\\"routeTableId\\\":\\\"rtb-0e4546694e5f29f3e\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-04c73008b02adaab2\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":false},{\\\"subnetId\\\":\\\"subnet-03755dc2d4bdd2e2b\\\",\\\"routeTableId\\\":\\\"rtb-0e4546694e5f29f3e\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-0f1fcb0b380ab80fd\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":false}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"192.168.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"},{\\\"destinationCidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"igw-08b8d3537a4856281\\\"}],\\\"routeTableId\\\":\\\"rtb-0e4546694e5f29f3e\\\",\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"PublicRouteTable\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"0.30.0\\\",\\\"key\\\":\\\"alpha.eksctl.io/eksctl-version\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"alpha.eksctl.io/cluster-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster/PublicRouteTable\\\",\\\"key\\\":\\\"Name\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-09839929763048cfc","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-0e4546694e5f29f3e","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster\",\"value\":\"eksctl-attractive-badger-1604015308-cluster\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"alpha.eksctl.io/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"aws:cloudformation:logical-id=PublicRouteTable\",\"value\":\"PublicRouteTable\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.30.0\",\"value\":\"0.30.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"},{\"tag\":\"Name=eksctl-attractive-badger-1604015308-cluster/PublicRouteTable\",\"value\":\"eksctl-attractive-badger-1604015308-cluster/PublicRouteTable\",\"key\":\"Name\"}]","title":"eksctl-attractive-badger-1604015308-cluster/PublicRouteTable","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-00c6164c6e973b920","label":"AWS_EC2_RouteTable","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-00c6164c6e973b920","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-0461a710ed0df3002\\\",\\\"routeTableId\\\":\\\"rtb-00c6164c6e973b920\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-09a7f43171d877988\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":false}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"192.168.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"},{\\\"destinationCidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"natGatewayId\\\":\\\"nat-062d82ea74dec8c3c\\\",\\\"state\\\":\\\"active\\\"}],\\\"routeTableId\\\":\\\"rtb-00c6164c6e973b920\\\",\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"PrivateRouteTableEUWEST1A\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"alpha.eksctl.io/cluster-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster/PrivateRouteTableEUWEST1A\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"0.30.0\\\",\\\"key\\\":\\\"alpha.eksctl.io/eksctl-version\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-09839929763048cfc","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-00c6164c6e973b920","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster\",\"value\":\"eksctl-attractive-badger-1604015308-cluster\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"alpha.eksctl.io/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateRouteTableEUWEST1A\",\"value\":\"PrivateRouteTableEUWEST1A\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.30.0\",\"value\":\"0.30.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"},{\"tag\":\"Name=eksctl-attractive-badger-1604015308-cluster/PrivateRouteTableEUWEST1A\",\"value\":\"eksctl-attractive-badger-1604015308-cluster/PrivateRouteTableEUWEST1A\",\"key\":\"Name\"}]","title":"eksctl-attractive-badger-1604015308-cluster/PrivateRouteTableEUWEST1A","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0482e106b5b8276c9","label":"AWS_EC2_RouteTable","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0482e106b5b8276c9","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-040b12c6ae776ea8a\\\",\\\"routeTableId\\\":\\\"rtb-0482e106b5b8276c9\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-03b6b64d4e533dd02\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":false}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"192.168.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"},{\\\"destinationCidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"natGatewayId\\\":\\\"nat-062d82ea74dec8c3c\\\",\\\"state\\\":\\\"active\\\"}],\\\"routeTableId\\\":\\\"rtb-0482e106b5b8276c9\\\",\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"0.30.0\\\",\\\"key\\\":\\\"alpha.eksctl.io/eksctl-version\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster/PrivateRouteTableEUWEST1B\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"alpha.eksctl.io/cluster-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"PrivateRouteTableEUWEST1B\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-09839929763048cfc","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-0482e106b5b8276c9","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster\",\"value\":\"eksctl-attractive-badger-1604015308-cluster\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"alpha.eksctl.io/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateRouteTableEUWEST1B\",\"value\":\"PrivateRouteTableEUWEST1B\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.30.0\",\"value\":\"0.30.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"},{\"tag\":\"Name=eksctl-attractive-badger-1604015308-cluster/PrivateRouteTableEUWEST1B\",\"value\":\"eksctl-attractive-badger-1604015308-cluster/PrivateRouteTableEUWEST1B\",\"key\":\"Name\"}]","title":"eksctl-attractive-badger-1604015308-cluster/PrivateRouteTableEUWEST1B","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-00606deec1ab74b66","label":"AWS_EC2_RouteTable","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-00606deec1ab74b66","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-06deb021a27770578\\\",\\\"routeTableId\\\":\\\"rtb-00606deec1ab74b66\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-0278f9beb1afbdb83\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":false}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"192.168.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"},{\\\"destinationCidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"natGatewayId\\\":\\\"nat-062d82ea74dec8c3c\\\",\\\"state\\\":\\\"active\\\"}],\\\"routeTableId\\\":\\\"rtb-00606deec1ab74b66\\\",\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"PrivateRouteTableEUWEST1C\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"alpha.eksctl.io/cluster-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster/PrivateRouteTableEUWEST1C\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"0.30.0\\\",\\\"key\\\":\\\"alpha.eksctl.io/eksctl-version\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-09839929763048cfc","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-00606deec1ab74b66","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster\",\"value\":\"eksctl-attractive-badger-1604015308-cluster\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"alpha.eksctl.io/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateRouteTableEUWEST1C\",\"value\":\"PrivateRouteTableEUWEST1C\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.30.0\",\"value\":\"0.30.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"},{\"tag\":\"Name=eksctl-attractive-badger-1604015308-cluster/PrivateRouteTableEUWEST1C\",\"value\":\"eksctl-attractive-badger-1604015308-cluster/PrivateRouteTableEUWEST1C\",\"key\":\"Name\"}]","title":"eksctl-attractive-badger-1604015308-cluster/PrivateRouteTableEUWEST1C","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-640.5,"y":-1824.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0a6baac6e5b5ece15","resourceId":["rtb-0a6baac6e5b5ece15","arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0a6baac6e5b5ece15"],"parent":"RouteTable-vpc-09839929763048cfc-eu-west-1-044981683129","level":4,"id":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0a6baac6e5b5ece15","title":"rtb-0a6baac6e5b5ece15","label":"rtb-0a6baac6...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0a6baac6e5b5ece15","image":"/icons/Amazon-VPC_Router_light-bg.svg","cost":0,"private":false,"resource":{"id":"rtb-0a6baac6e5b5ece15","name":null,"value":null,"type":"AWS::EC2::RouteTable","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0a6baac6e5b5ece15","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0a6baac6e5b5ece15","configuration":"\"{\\\"associations\\\":[{\\\"routeTableId\\\":\\\"rtb-0a6baac6e5b5ece15\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-024922d8c849389bd\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":true}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"192.168.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"}],\\\"routeTableId\\\":\\\"rtb-0a6baac6e5b5ece15\\\",\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-09839929763048cfc","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-0a6baac6e5b5ece15","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[]","title":"rtb-0a6baac6e5b5ece15","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-713.5,"y":-1861.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0e4546694e5f29f3e","resourceId":["rtb-0e4546694e5f29f3e","arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0e4546694e5f29f3e"],"parent":"RouteTable-vpc-09839929763048cfc-eu-west-1-044981683129","level":4,"id":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0e4546694e5f29f3e","title":"eksctl-attractive-badger-1604015308-cluster/PublicRouteTable","label":"eksctl-attra...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0e4546694e5f29f3e","image":"/icons/Amazon-VPC_Router_light-bg.svg","cost":0,"private":false,"resource":{"id":"rtb-0e4546694e5f29f3e","name":null,"value":null,"type":"AWS::EC2::RouteTable","tags":"[{\"tag\":\"aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster\",\"value\":\"eksctl-attractive-badger-1604015308-cluster\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"alpha.eksctl.io/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"aws:cloudformation:logical-id=PublicRouteTable\",\"value\":\"PublicRouteTable\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.30.0\",\"value\":\"0.30.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"},{\"tag\":\"Name=eksctl-attractive-badger-1604015308-cluster/PublicRouteTable\",\"value\":\"eksctl-attractive-badger-1604015308-cluster/PublicRouteTable\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0e4546694e5f29f3e","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0e4546694e5f29f3e","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-07a6385d759763604\\\",\\\"routeTableId\\\":\\\"rtb-0e4546694e5f29f3e\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-0c838e2d201376b77\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":false},{\\\"subnetId\\\":\\\"subnet-0240cebb8fa82aa33\\\",\\\"routeTableId\\\":\\\"rtb-0e4546694e5f29f3e\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-04c73008b02adaab2\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":false},{\\\"subnetId\\\":\\\"subnet-03755dc2d4bdd2e2b\\\",\\\"routeTableId\\\":\\\"rtb-0e4546694e5f29f3e\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-0f1fcb0b380ab80fd\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":false}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"192.168.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"},{\\\"destinationCidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"igw-08b8d3537a4856281\\\"}],\\\"routeTableId\\\":\\\"rtb-0e4546694e5f29f3e\\\",\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"PublicRouteTable\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"0.30.0\\\",\\\"key\\\":\\\"alpha.eksctl.io/eksctl-version\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"alpha.eksctl.io/cluster-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster/PublicRouteTable\\\",\\\"key\\\":\\\"Name\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-09839929763048cfc","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-0e4546694e5f29f3e","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster\",\"value\":\"eksctl-attractive-badger-1604015308-cluster\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"alpha.eksctl.io/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"aws:cloudformation:logical-id=PublicRouteTable\",\"value\":\"PublicRouteTable\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.30.0\",\"value\":\"0.30.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"},{\"tag\":\"Name=eksctl-attractive-badger-1604015308-cluster/PublicRouteTable\",\"value\":\"eksctl-attractive-badger-1604015308-cluster/PublicRouteTable\",\"key\":\"Name\"}]","title":"eksctl-attractive-badger-1604015308-cluster/PublicRouteTable","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-640.5,"y":-1861.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-00c6164c6e973b920","resourceId":["rtb-00c6164c6e973b920","arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-00c6164c6e973b920"],"parent":"RouteTable-vpc-09839929763048cfc-eu-west-1-044981683129","level":4,"id":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-00c6164c6e973b920","title":"eksctl-attractive-badger-1604015308-cluster/PrivateRouteTableEUWEST1A","label":"eksctl-attra...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-00c6164c6e973b920","image":"/icons/Amazon-VPC_Router_light-bg.svg","cost":0,"private":false,"resource":{"id":"rtb-00c6164c6e973b920","name":null,"value":null,"type":"AWS::EC2::RouteTable","tags":"[{\"tag\":\"aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster\",\"value\":\"eksctl-attractive-badger-1604015308-cluster\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"alpha.eksctl.io/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateRouteTableEUWEST1A\",\"value\":\"PrivateRouteTableEUWEST1A\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.30.0\",\"value\":\"0.30.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"},{\"tag\":\"Name=eksctl-attractive-badger-1604015308-cluster/PrivateRouteTableEUWEST1A\",\"value\":\"eksctl-attractive-badger-1604015308-cluster/PrivateRouteTableEUWEST1A\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-00c6164c6e973b920","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-00c6164c6e973b920","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-0461a710ed0df3002\\\",\\\"routeTableId\\\":\\\"rtb-00c6164c6e973b920\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-09a7f43171d877988\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":false}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"192.168.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"},{\\\"destinationCidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"natGatewayId\\\":\\\"nat-062d82ea74dec8c3c\\\",\\\"state\\\":\\\"active\\\"}],\\\"routeTableId\\\":\\\"rtb-00c6164c6e973b920\\\",\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"PrivateRouteTableEUWEST1A\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"alpha.eksctl.io/cluster-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster/PrivateRouteTableEUWEST1A\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"0.30.0\\\",\\\"key\\\":\\\"alpha.eksctl.io/eksctl-version\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-09839929763048cfc","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-00c6164c6e973b920","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster\",\"value\":\"eksctl-attractive-badger-1604015308-cluster\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"alpha.eksctl.io/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateRouteTableEUWEST1A\",\"value\":\"PrivateRouteTableEUWEST1A\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.30.0\",\"value\":\"0.30.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"},{\"tag\":\"Name=eksctl-attractive-badger-1604015308-cluster/PrivateRouteTableEUWEST1A\",\"value\":\"eksctl-attractive-badger-1604015308-cluster/PrivateRouteTableEUWEST1A\",\"key\":\"Name\"}]","title":"eksctl-attractive-badger-1604015308-cluster/PrivateRouteTableEUWEST1A","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-713.5,"y":-1788.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0482e106b5b8276c9","resourceId":["rtb-0482e106b5b8276c9","arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0482e106b5b8276c9"],"parent":"RouteTable-vpc-09839929763048cfc-eu-west-1-044981683129","level":4,"id":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0482e106b5b8276c9","title":"eksctl-attractive-badger-1604015308-cluster/PrivateRouteTableEUWEST1B","label":"eksctl-attra...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0482e106b5b8276c9","image":"/icons/Amazon-VPC_Router_light-bg.svg","cost":0,"private":false,"resource":{"id":"rtb-0482e106b5b8276c9","name":null,"value":null,"type":"AWS::EC2::RouteTable","tags":"[{\"tag\":\"aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster\",\"value\":\"eksctl-attractive-badger-1604015308-cluster\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"alpha.eksctl.io/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateRouteTableEUWEST1B\",\"value\":\"PrivateRouteTableEUWEST1B\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.30.0\",\"value\":\"0.30.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"},{\"tag\":\"Name=eksctl-attractive-badger-1604015308-cluster/PrivateRouteTableEUWEST1B\",\"value\":\"eksctl-attractive-badger-1604015308-cluster/PrivateRouteTableEUWEST1B\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0482e106b5b8276c9","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0482e106b5b8276c9","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-040b12c6ae776ea8a\\\",\\\"routeTableId\\\":\\\"rtb-0482e106b5b8276c9\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-03b6b64d4e533dd02\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":false}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"192.168.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"},{\\\"destinationCidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"natGatewayId\\\":\\\"nat-062d82ea74dec8c3c\\\",\\\"state\\\":\\\"active\\\"}],\\\"routeTableId\\\":\\\"rtb-0482e106b5b8276c9\\\",\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"0.30.0\\\",\\\"key\\\":\\\"alpha.eksctl.io/eksctl-version\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster/PrivateRouteTableEUWEST1B\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"alpha.eksctl.io/cluster-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"PrivateRouteTableEUWEST1B\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-09839929763048cfc","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-0482e106b5b8276c9","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster\",\"value\":\"eksctl-attractive-badger-1604015308-cluster\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"alpha.eksctl.io/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateRouteTableEUWEST1B\",\"value\":\"PrivateRouteTableEUWEST1B\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.30.0\",\"value\":\"0.30.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"},{\"tag\":\"Name=eksctl-attractive-badger-1604015308-cluster/PrivateRouteTableEUWEST1B\",\"value\":\"eksctl-attractive-badger-1604015308-cluster/PrivateRouteTableEUWEST1B\",\"key\":\"Name\"}]","title":"eksctl-attractive-badger-1604015308-cluster/PrivateRouteTableEUWEST1B","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-640.5,"y":-1788.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-00606deec1ab74b66","resourceId":["rtb-00606deec1ab74b66","arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-00606deec1ab74b66"],"parent":"RouteTable-vpc-09839929763048cfc-eu-west-1-044981683129","level":4,"id":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-00606deec1ab74b66","title":"eksctl-attractive-badger-1604015308-cluster/PrivateRouteTableEUWEST1C","label":"eksctl-attra...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-00606deec1ab74b66","image":"/icons/Amazon-VPC_Router_light-bg.svg","cost":0,"private":false,"resource":{"id":"rtb-00606deec1ab74b66","name":null,"value":null,"type":"AWS::EC2::RouteTable","tags":"[{\"tag\":\"aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster\",\"value\":\"eksctl-attractive-badger-1604015308-cluster\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"alpha.eksctl.io/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateRouteTableEUWEST1C\",\"value\":\"PrivateRouteTableEUWEST1C\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.30.0\",\"value\":\"0.30.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"},{\"tag\":\"Name=eksctl-attractive-badger-1604015308-cluster/PrivateRouteTableEUWEST1C\",\"value\":\"eksctl-attractive-badger-1604015308-cluster/PrivateRouteTableEUWEST1C\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-00606deec1ab74b66","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-00606deec1ab74b66","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-06deb021a27770578\\\",\\\"routeTableId\\\":\\\"rtb-00606deec1ab74b66\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-0278f9beb1afbdb83\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":false}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"192.168.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"},{\\\"destinationCidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"natGatewayId\\\":\\\"nat-062d82ea74dec8c3c\\\",\\\"state\\\":\\\"active\\\"}],\\\"routeTableId\\\":\\\"rtb-00606deec1ab74b66\\\",\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"PrivateRouteTableEUWEST1C\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"alpha.eksctl.io/cluster-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster/PrivateRouteTableEUWEST1C\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"0.30.0\\\",\\\"key\\\":\\\"alpha.eksctl.io/eksctl-version\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-09839929763048cfc","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-00606deec1ab74b66","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster\",\"value\":\"eksctl-attractive-badger-1604015308-cluster\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"alpha.eksctl.io/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateRouteTableEUWEST1C\",\"value\":\"PrivateRouteTableEUWEST1C\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.30.0\",\"value\":\"0.30.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"},{\"tag\":\"Name=eksctl-attractive-badger-1604015308-cluster/PrivateRouteTableEUWEST1C\",\"value\":\"eksctl-attractive-badger-1604015308-cluster/PrivateRouteTableEUWEST1C\",\"key\":\"Name\"}]","title":"eksctl-attractive-badger-1604015308-cluster/PrivateRouteTableEUWEST1C","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-567.5,"y":-1861.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"subnet-0240cebb8fa82aa33-eu-west-1c-vpc-09839929763048cfc-eu-west-1-044981683129","parent":"eu-west-1c-vpc-09839929763048cfc-eu-west-1-044981683129","level":4,"title":"subnet-0240cebb8fa82aa33","label":"subnet-0240cebb8fa82aa33","plainLabel":"subnet-0240cebb8fa82aa33","type":"subnet","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/VPC-subnet-private_light-bg-collapsed.svg","clickedId":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0240cebb8fa82aa33","cost":0,"hasChildren":true,"children":[{"id":null,"label":"NetworkInterface","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-01302c518568235ff","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-01302c518568235ff","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-01302c518568235ff\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"044981683129\\\",\\\"allocationId\\\":\\\"eipalloc-0766a216ad66c5b96\\\",\\\"publicIp\\\":\\\"54.73.171.107\\\",\\\"publicDnsName\\\":\\\"ec2-54-73-171-107.eu-west-1.compute.amazonaws.com\\\",\\\"associationId\\\":\\\"eipassoc-07b08e917871bb183\\\"},\\\"privateDnsName\\\":\\\"ip-192-168-17-93.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.17.93\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0240cebb8fa82aa33\\\",\\\"requesterId\\\":\\\"142026654166\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"044981683129\\\",\\\"allocationId\\\":\\\"eipalloc-0766a216ad66c5b96\\\",\\\"publicIp\\\":\\\"54.73.171.107\\\",\\\"publicDnsName\\\":\\\"ec2-54-73-171-107.eu-west-1.compute.amazonaws.com\\\",\\\"associationId\\\":\\\"eipassoc-07b08e917871bb183\\\"},\\\"description\\\":\\\"Interface for NAT Gateway nat-062d82ea74dec8c3c\\\",\\\"groups\\\":[],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":false,\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"192.168.17.93\\\",\\\"interfaceType\\\":\\\"nat_gateway\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:bc:49:73:a9:27\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-914a17b2\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"privateDnsName\\\":\\\"ip-192-168-17-93.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-09839929763048cfc","subnetId":"subnet-0240cebb8fa82aa33","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-01302c518568235ff","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-01302c518568235ff","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-04f5460a4defeec00","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-04f5460a4defeec00","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-04f5460a4defeec00\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"34.252.14.196\\\",\\\"publicDnsName\\\":\\\"ec2-34-252-14-196.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-192-168-3-86.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.3.86\\\",\\\"primary\\\":true},{\\\"privateDnsName\\\":\\\"ip-192-168-9-25.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.9.25\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-8-236.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.8.236\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-25-220.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.25.220\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-26-255.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.26.255\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-14-239.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.14.239\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-4-241.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.4.241\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-21-226.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.21.226\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-16-243.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.16.243\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-2-245.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.2.245\\\",\\\"primary\\\":false}],\\\"subnetId\\\":\\\"subnet-0240cebb8fa82aa33\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"34.252.14.196\\\",\\\"publicDnsName\\\":\\\"ec2-34-252-14-196.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"eks-cluster-sg-attractive-badger-1604015308-1273556504\\\",\\\"groupId\\\":\\\"sg-0bcb1987c6667687b\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"192.168.3.86\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:af:26:96:5c:eb\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"instanceId\\\":\\\"i-094153cb430d51f61\\\",\\\"attachmentId\\\":\\\"eni-attach-0ecd77a69eb9de26e\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"instanceOwnerId\\\":\\\"044981683129\\\",\\\"attachTime\\\":\\\"2020-10-30T00:09:12.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"privateDnsName\\\":\\\"ip-192-168-3-86.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-09839929763048cfc","subnetId":"subnet-0240cebb8fa82aa33","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-04f5460a4defeec00","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-04f5460a4defeec00","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-034e2d32e58987e71","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-034e2d32e58987e71","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-034e2d32e58987e71\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-192-168-7-182.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.7.182\\\",\\\"primary\\\":true},{\\\"privateDnsName\\\":\\\"ip-192-168-10-24.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.10.24\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-14-10.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.14.10\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-25-202.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.25.202\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-1-60.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.1.60\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-25-29.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.25.29\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-27-254.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.27.254\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-22-158.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.22.158\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-3-95.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.3.95\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-31-226.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.31.226\\\",\\\"primary\\\":false}],\\\"subnetId\\\":\\\"subnet-0240cebb8fa82aa33\\\",\\\"requesterId\\\":\\\"AROAQU6I6AO4ZO5Y2J6HU:i-094153cb430d51f61\\\",\\\"description\\\":\\\"aws-K8S-i-094153cb430d51f61\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"eks-cluster-sg-attractive-badger-1604015308-1273556504\\\",\\\"groupId\\\":\\\"sg-0bcb1987c6667687b\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"192.168.7.182\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[{\\\"value\\\":\\\"2020-10-30T00:10:13Z\\\",\\\"key\\\":\\\"node.k8s.amazonaws.com/createdAt\\\"},{\\\"value\\\":\\\"i-094153cb430d51f61\\\",\\\"key\\\":\\\"node.k8s.amazonaws.com/instance_id\\\"}],\\\"macAddress\\\":\\\"02:bf:79:1b:39:6d\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"instanceId\\\":\\\"i-094153cb430d51f61\\\",\\\"attachmentId\\\":\\\"eni-attach-0c4e1085013656b41\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"044981683129\\\",\\\"attachTime\\\":\\\"2020-10-30T00:10:14.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"privateDnsName\\\":\\\"ip-192-168-7-182.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-09839929763048cfc","subnetId":"subnet-0240cebb8fa82aa33","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-034e2d32e58987e71","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[{\"tag\":\"node.k8s.amazonaws.com/instance_id=i-094153cb430d51f61\",\"value\":\"i-094153cb430d51f61\",\"key\":\"node.k8s.amazonaws.com/instance_id\"},{\"tag\":\"node.k8s.amazonaws.com/createdAt=2020-10-30T00:10:13Z\",\"value\":\"2020-10-30T00:10:13Z\",\"key\":\"node.k8s.amazonaws.com/createdAt\"}]","title":"eni-034e2d32e58987e71","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0c9fb00a36adc2b12","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0c9fb00a36adc2b12","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0c9fb00a36adc2b12\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon-elb\\\",\\\"publicIp\\\":\\\"52.16.207.160\\\",\\\"publicDnsName\\\":\\\"ec2-52-16-207-160.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-192-168-28-250.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.28.250\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0240cebb8fa82aa33\\\",\\\"requesterId\\\":\\\"amazon-elb\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon-elb\\\",\\\"publicIp\\\":\\\"52.16.207.160\\\",\\\"publicDnsName\\\":\\\"ec2-52-16-207-160.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"ELB a3af06af9830647219ca4bb76e335070\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"k8s-elb-a3af06af9830647219ca4bb76e335070\\\",\\\"groupId\\\":\\\"sg-0f682d01b121c4504\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"192.168.28.250\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:7e:ce:b4:91:4f\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-00ec7916a9cb4d155\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-elb\\\",\\\"attachTime\\\":\\\"2023-04-13T04:57:57.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"privateDnsName\\\":\\\"ip-192-168-28-250.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-09839929763048cfc","subnetId":"subnet-0240cebb8fa82aa33","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0c9fb00a36adc2b12","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0c9fb00a36adc2b12","instanceType":null,"statement":null,"dBInstanceStatus":null}}]},{"id":null,"label":"Instance","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:instance/i-094153cb430d51f61","label":"AWS_EC2_Instance","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:instance/i-094153cb430d51f61","configuration":"\"{\\\"subnetId\\\":\\\"subnet-0240cebb8fa82aa33\\\",\\\"virtualizationType\\\":\\\"hvm\\\",\\\"capacityReservationSpecification\\\":{\\\"capacityReservationPreference\\\":\\\"open\\\"},\\\"amiLaunchIndex\\\":0,\\\"enaSupport\\\":true,\\\"elasticInferenceAcceleratorAssociations\\\":[],\\\"sourceDestCheck\\\":true,\\\"hibernationOptions\\\":{\\\"configured\\\":false},\\\"instanceId\\\":\\\"i-094153cb430d51f61\\\",\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"hypervisor\\\":\\\"xen\\\",\\\"rootDeviceName\\\":\\\"/dev/xvda\\\",\\\"productCodes\\\":[],\\\"state\\\":{\\\"code\\\":\\\"16\\\",\\\"name\\\":\\\"running\\\"},\\\"architecture\\\":\\\"x86_64\\\",\\\"ebsOptimized\\\":false,\\\"imageId\\\":\\\"ami-0ca9e57915fd7e017\\\",\\\"blockDeviceMappings\\\":[{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-0b92d530489c1b24a\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2020-10-30T00:09:13.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvda\\\"}],\\\"publicIpAddress\\\":\\\"34.252.14.196\\\",\\\"stateTransitionReason\\\":\\\"\\\",\\\"clientToken\\\":\\\"fleet-0202ee4c-5623-0b08-ae32-09804cdffe17-0\\\",\\\"instanceType\\\":\\\"m5.large\\\",\\\"cpuOptions\\\":{\\\"threadsPerCore\\\":2,\\\"coreCount\\\":1},\\\"monitoring\\\":{\\\"state\\\":\\\"disabled\\\"},\\\"publicDnsName\\\":\\\"ec2-34-252-14-196.eu-west-1.compute.amazonaws.com\\\",\\\"iamInstanceProfile\\\":{\\\"id\\\":\\\"AIPAQU6I6AO437UEUY4FE\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:instance-profile/eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3\\\"},\\\"privateIpAddress\\\":\\\"192.168.3.86\\\",\\\"rootDeviceType\\\":\\\"ebs\\\",\\\"tags\\\":[{\\\"value\\\":\\\"eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3\\\",\\\"key\\\":\\\"aws:autoscaling:groupName\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"aws:eks:cluster-name\\\"},{\\\"value\\\":\\\"fleet-0202ee4c-5623-0b08-ae32-09804cdffe17\\\",\\\"key\\\":\\\"aws:ec2:fleet-id\\\"},{\\\"value\\\":\\\"lt-09c499a8e3e1ce269\\\",\\\"key\\\":\\\"aws:ec2launchtemplate:id\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"eks:cluster-name\\\"},{\\\"value\\\":\\\"owned\\\",\\\"key\\\":\\\"k8s.io/cluster-autoscaler/attractive-badger-1604015308\\\"},{\\\"value\\\":\\\"owned\\\",\\\"key\\\":\\\"kubernetes.io/cluster/attractive-badger-1604015308\\\"},{\\\"value\\\":\\\"ng-608957a7\\\",\\\"key\\\":\\\"alpha.eksctl.io/nodegroup-name\\\"},{\\\"value\\\":\\\"ng-608957a7\\\",\\\"key\\\":\\\"eks:nodegroup-name\\\"},{\\\"value\\\":\\\"managed\\\",\\\"key\\\":\\\"alpha.eksctl.io/nodegroup-type\\\"},{\\\"value\\\":\\\"1\\\",\\\"key\\\":\\\"aws:ec2launchtemplate:version\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308-ng-608957a7-Node\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"true\\\",\\\"key\\\":\\\"k8s.io/cluster-autoscaler/enabled\\\"}],\\\"enclaveOptions\\\":{\\\"enabled\\\":false},\\\"launchTime\\\":\\\"2020-10-30T00:09:12.000Z\\\",\\\"elasticGpuAssociations\\\":[],\\\"licenses\\\":[],\\\"networkInterfaces\\\":[{\\\"networkInterfaceId\\\":\\\"eni-034e2d32e58987e71\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-192-168-7-182.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.7.182\\\",\\\"primary\\\":true},{\\\"privateDnsName\\\":\\\"ip-192-168-10-24.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.10.24\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-14-10.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.14.10\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-25-202.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.25.202\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-1-60.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.1.60\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-25-29.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.25.29\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-27-254.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.27.254\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-22-158.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.22.158\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-3-95.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.3.95\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-31-226.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.31.226\\\",\\\"primary\\\":false}],\\\"subnetId\\\":\\\"subnet-0240cebb8fa82aa33\\\",\\\"description\\\":\\\"aws-K8S-i-094153cb430d51f61\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"eks-cluster-sg-attractive-badger-1604015308-1273556504\\\",\\\"groupId\\\":\\\"sg-0bcb1987c6667687b\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"privateIpAddress\\\":\\\"192.168.7.182\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"macAddress\\\":\\\"02:bf:79:1b:39:6d\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0c4e1085013656b41\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":1,\\\"attachTime\\\":\\\"2020-10-30T00:10:14.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"privateDnsName\\\":\\\"ip-192-168-7-182.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"},{\\\"networkInterfaceId\\\":\\\"eni-04f5460a4defeec00\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"34.252.14.196\\\",\\\"publicDnsName\\\":\\\"ec2-34-252-14-196.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-192-168-3-86.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.3.86\\\",\\\"primary\\\":true},{\\\"privateDnsName\\\":\\\"ip-192-168-9-25.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.9.25\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-8-236.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.8.236\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-25-220.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.25.220\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-26-255.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.26.255\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-14-239.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.14.239\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-4-241.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.4.241\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-21-226.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.21.226\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-16-243.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.16.243\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-2-245.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.2.245\\\",\\\"primary\\\":false}],\\\"subnetId\\\":\\\"subnet-0240cebb8fa82aa33\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"34.252.14.196\\\",\\\"publicDnsName\\\":\\\"ec2-34-252-14-196.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"eks-cluster-sg-attractive-badger-1604015308-1273556504\\\",\\\"groupId\\\":\\\"sg-0bcb1987c6667687b\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"privateIpAddress\\\":\\\"192.168.3.86\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"macAddress\\\":\\\"02:af:26:96:5c:eb\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0ecd77a69eb9de26e\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"attachTime\\\":\\\"2020-10-30T00:09:12.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"privateDnsName\\\":\\\"ip-192-168-3-86.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}],\\\"metadataOptions\\\":{\\\"httpPutResponseHopLimit\\\":2,\\\"httpEndpoint\\\":\\\"enabled\\\",\\\"state\\\":\\\"applied\\\",\\\"httpTokens\\\":\\\"optional\\\"},\\\"privateDnsName\\\":\\\"ip-192-168-3-86.eu-west-1.compute.internal\\\",\\\"securityGroups\\\":[{\\\"groupName\\\":\\\"eks-cluster-sg-attractive-badger-1604015308-1273556504\\\",\\\"groupId\\\":\\\"sg-0bcb1987c6667687b\\\"}],\\\"placement\\\":{\\\"groupName\\\":\\\"\\\",\\\"tenancy\\\":\\\"default\\\",\\\"availabilityZone\\\":\\\"eu-west-1c\\\"}}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-09839929763048cfc","subnetId":"subnet-0240cebb8fa82aa33","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#Instances:sort=instanceId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#Instances:sort=instanceId","private":null,"resourceId":"i-094153cb430d51f61","resourceName":null,"resourceType":"AWS::EC2::Instance","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:eks:cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"aws:eks:cluster-name\"},{\"tag\":\"k8s.io/cluster-autoscaler/attractive-badger-1604015308=owned\",\"value\":\"owned\",\"key\":\"k8s.io/cluster-autoscaler/attractive-badger-1604015308\"},{\"tag\":\"eks:cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eks:cluster-name\"},{\"tag\":\"alpha.eksctl.io/nodegroup-type=managed\",\"value\":\"managed\",\"key\":\"alpha.eksctl.io/nodegroup-type\"},{\"tag\":\"aws:ec2launchtemplate:version=1\",\"value\":\"1\",\"key\":\"aws:ec2launchtemplate:version\"},{\"tag\":\"k8s.io/cluster-autoscaler/enabled=true\",\"value\":\"true\",\"key\":\"k8s.io/cluster-autoscaler/enabled\"},{\"tag\":\"Name=attractive-badger-1604015308-ng-608957a7-Node\",\"value\":\"attractive-badger-1604015308-ng-608957a7-Node\",\"key\":\"Name\"},{\"tag\":\"aws:autoscaling:groupName=eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3\",\"value\":\"eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3\",\"key\":\"aws:autoscaling:groupName\"},{\"tag\":\"aws:ec2:fleet-id=fleet-0202ee4c-5623-0b08-ae32-09804cdffe17\",\"value\":\"fleet-0202ee4c-5623-0b08-ae32-09804cdffe17\",\"key\":\"aws:ec2:fleet-id\"},{\"tag\":\"alpha.eksctl.io/nodegroup-name=ng-608957a7\",\"value\":\"ng-608957a7\",\"key\":\"alpha.eksctl.io/nodegroup-name\"},{\"tag\":\"eks:nodegroup-name=ng-608957a7\",\"value\":\"ng-608957a7\",\"key\":\"eks:nodegroup-name\"},{\"tag\":\"kubernetes.io/cluster/attractive-badger-1604015308=owned\",\"value\":\"owned\",\"key\":\"kubernetes.io/cluster/attractive-badger-1604015308\"},{\"tag\":\"aws:ec2launchtemplate:id=lt-09c499a8e3e1ce269\",\"value\":\"lt-09c499a8e3e1ce269\",\"key\":\"aws:ec2launchtemplate:id\"}]","title":"attractive-badger-1604015308-ng-608957a7-Node","instanceType":null,"statement":null,"dBInstanceStatus":null}}]},{"id":null,"label":"NatGateway","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-062d82ea74dec8c3c","label":"AWS_EC2_NatGateway","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-062d82ea74dec8c3c","configuration":"\"{\\\"subnetId\\\":\\\"subnet-0240cebb8fa82aa33\\\",\\\"connectivityType\\\":\\\"public\\\",\\\"createTime\\\":1604015381000,\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"natGatewayId\\\":\\\"nat-062d82ea74dec8c3c\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"natGatewayAddresses\\\":[{\\\"networkInterfaceId\\\":\\\"eni-01302c518568235ff\\\",\\\"isPrimary\\\":true,\\\"privateIp\\\":\\\"192.168.17.93\\\",\\\"allocationId\\\":\\\"eipalloc-0766a216ad66c5b96\\\",\\\"publicIp\\\":\\\"54.73.171.107\\\",\\\"associationId\\\":\\\"eipassoc-07b08e917871bb183\\\",\\\"status\\\":\\\"succeeded\\\",\\\"primary\\\":true}],\\\"tags\\\":[{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"alpha.eksctl.io/cluster-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\\\"},{\\\"value\\\":\\\"NATGateway\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"0.30.0\\\",\\\"key\\\":\\\"alpha.eksctl.io/eksctl-version\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster/NATGateway\\\",\\\"key\\\":\\\"Name\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-09839929763048cfc","subnetId":"subnet-0240cebb8fa82aa33","loggedInURL":null,"loginURL":null,"private":null,"resourceId":"nat-062d82ea74dec8c3c","resourceName":null,"resourceType":"AWS::EC2::NatGateway","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster\",\"value\":\"eksctl-attractive-badger-1604015308-cluster\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"alpha.eksctl.io/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"aws:cloudformation:logical-id=NATGateway\",\"value\":\"NATGateway\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.30.0\",\"value\":\"0.30.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"},{\"tag\":\"Name=eksctl-attractive-badger-1604015308-cluster/NATGateway\",\"value\":\"eksctl-attractive-badger-1604015308-cluster/NATGateway\",\"key\":\"Name\"}]","title":"eksctl-attractive-badger-1604015308-cluster/NATGateway","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#147eba","properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0240cebb8fa82aa33","configuration":"\"{\\\"subnetId\\\":\\\"subnet-0240cebb8fa82aa33\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0240cebb8fa82aa33\\\",\\\"availabilityZoneId\\\":\\\"euw1-az1\\\",\\\"cidrBlock\\\":\\\"192.168.0.0/19\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"0.30.0\\\",\\\"key\\\":\\\"alpha.eksctl.io/eksctl-version\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"SubnetPublicEUWEST1C\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\\\"},{\\\"value\\\":\\\"1\\\",\\\"key\\\":\\\"kubernetes.io/role/elb\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"alpha.eksctl.io/cluster-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"shared\\\",\\\"key\\\":\\\"kubernetes.io/cluster/attractive-badger-1604015308\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1C\\\",\\\"key\\\":\\\"Name\\\"}],\\\"availableIpAddressCount\\\":8165,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"mapPublicIpOnLaunch\\\":true,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-09839929763048cfc","subnetId":"subnet-0240cebb8fa82aa33","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":"true","resourceId":"subnet-0240cebb8fa82aa33","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster\",\"value\":\"eksctl-attractive-badger-1604015308-cluster\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"alpha.eksctl.io/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"aws:cloudformation:logical-id=SubnetPublicEUWEST1C\",\"value\":\"SubnetPublicEUWEST1C\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"kubernetes.io/role/elb=1\",\"value\":\"1\",\"key\":\"kubernetes.io/role/elb\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.30.0\",\"value\":\"0.30.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"},{\"tag\":\"kubernetes.io/cluster/attractive-badger-1604015308=shared\",\"value\":\"shared\",\"key\":\"kubernetes.io/cluster/attractive-badger-1604015308\"},{\"tag\":\"Name=eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1C\",\"value\":\"eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1C\",\"key\":\"Name\"}]","title":"eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1C","instanceType":null,"statement":null,"dBInstanceStatus":null},"resource":{"id":"subnet-0240cebb8fa82aa33","name":null,"value":null,"type":"AWS::EC2::Subnet","tags":"[{\"tag\":\"aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster\",\"value\":\"eksctl-attractive-badger-1604015308-cluster\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"alpha.eksctl.io/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"aws:cloudformation:logical-id=SubnetPublicEUWEST1C\",\"value\":\"SubnetPublicEUWEST1C\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"kubernetes.io/role/elb=1\",\"value\":\"1\",\"key\":\"kubernetes.io/role/elb\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.30.0\",\"value\":\"0.30.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"},{\"tag\":\"kubernetes.io/cluster/attractive-badger-1604015308=shared\",\"value\":\"shared\",\"key\":\"kubernetes.io/cluster/attractive-badger-1604015308\"},{\"tag\":\"Name=eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1C\",\"value\":\"eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1C\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0240cebb8fa82aa33","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","accountId":"044981683129"}},"position":{"x":-580.5,"y":-2528.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"subnet removeAll _gridParentPadding"},{"data":{"id":"NetworkInterface-subnet-0240cebb8fa82aa33-eu-west-1c-vpc-09839929763048cfc-eu-west-1-044981683129","parent":"subnet-0240cebb8fa82aa33-eu-west-1c-vpc-09839929763048cfc-eu-west-1-044981683129","level":5,"title":"NetworkInterface","label":"NetworkInterface","plainLabel":"NetworkInterface","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-01302c518568235ff","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-01302c518568235ff","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-01302c518568235ff\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"044981683129\\\",\\\"allocationId\\\":\\\"eipalloc-0766a216ad66c5b96\\\",\\\"publicIp\\\":\\\"54.73.171.107\\\",\\\"publicDnsName\\\":\\\"ec2-54-73-171-107.eu-west-1.compute.amazonaws.com\\\",\\\"associationId\\\":\\\"eipassoc-07b08e917871bb183\\\"},\\\"privateDnsName\\\":\\\"ip-192-168-17-93.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.17.93\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0240cebb8fa82aa33\\\",\\\"requesterId\\\":\\\"142026654166\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"044981683129\\\",\\\"allocationId\\\":\\\"eipalloc-0766a216ad66c5b96\\\",\\\"publicIp\\\":\\\"54.73.171.107\\\",\\\"publicDnsName\\\":\\\"ec2-54-73-171-107.eu-west-1.compute.amazonaws.com\\\",\\\"associationId\\\":\\\"eipassoc-07b08e917871bb183\\\"},\\\"description\\\":\\\"Interface for NAT Gateway nat-062d82ea74dec8c3c\\\",\\\"groups\\\":[],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":false,\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"192.168.17.93\\\",\\\"interfaceType\\\":\\\"nat_gateway\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:bc:49:73:a9:27\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-914a17b2\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"privateDnsName\\\":\\\"ip-192-168-17-93.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-09839929763048cfc","subnetId":"subnet-0240cebb8fa82aa33","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-01302c518568235ff","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-01302c518568235ff","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-04f5460a4defeec00","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-04f5460a4defeec00","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-04f5460a4defeec00\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"34.252.14.196\\\",\\\"publicDnsName\\\":\\\"ec2-34-252-14-196.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-192-168-3-86.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.3.86\\\",\\\"primary\\\":true},{\\\"privateDnsName\\\":\\\"ip-192-168-9-25.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.9.25\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-8-236.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.8.236\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-25-220.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.25.220\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-26-255.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.26.255\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-14-239.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.14.239\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-4-241.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.4.241\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-21-226.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.21.226\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-16-243.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.16.243\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-2-245.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.2.245\\\",\\\"primary\\\":false}],\\\"subnetId\\\":\\\"subnet-0240cebb8fa82aa33\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"34.252.14.196\\\",\\\"publicDnsName\\\":\\\"ec2-34-252-14-196.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"eks-cluster-sg-attractive-badger-1604015308-1273556504\\\",\\\"groupId\\\":\\\"sg-0bcb1987c6667687b\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"192.168.3.86\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:af:26:96:5c:eb\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"instanceId\\\":\\\"i-094153cb430d51f61\\\",\\\"attachmentId\\\":\\\"eni-attach-0ecd77a69eb9de26e\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"instanceOwnerId\\\":\\\"044981683129\\\",\\\"attachTime\\\":\\\"2020-10-30T00:09:12.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"privateDnsName\\\":\\\"ip-192-168-3-86.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-09839929763048cfc","subnetId":"subnet-0240cebb8fa82aa33","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-04f5460a4defeec00","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-04f5460a4defeec00","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-034e2d32e58987e71","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-034e2d32e58987e71","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-034e2d32e58987e71\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-192-168-7-182.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.7.182\\\",\\\"primary\\\":true},{\\\"privateDnsName\\\":\\\"ip-192-168-10-24.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.10.24\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-14-10.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.14.10\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-25-202.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.25.202\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-1-60.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.1.60\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-25-29.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.25.29\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-27-254.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.27.254\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-22-158.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.22.158\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-3-95.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.3.95\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-31-226.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.31.226\\\",\\\"primary\\\":false}],\\\"subnetId\\\":\\\"subnet-0240cebb8fa82aa33\\\",\\\"requesterId\\\":\\\"AROAQU6I6AO4ZO5Y2J6HU:i-094153cb430d51f61\\\",\\\"description\\\":\\\"aws-K8S-i-094153cb430d51f61\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"eks-cluster-sg-attractive-badger-1604015308-1273556504\\\",\\\"groupId\\\":\\\"sg-0bcb1987c6667687b\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"192.168.7.182\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[{\\\"value\\\":\\\"2020-10-30T00:10:13Z\\\",\\\"key\\\":\\\"node.k8s.amazonaws.com/createdAt\\\"},{\\\"value\\\":\\\"i-094153cb430d51f61\\\",\\\"key\\\":\\\"node.k8s.amazonaws.com/instance_id\\\"}],\\\"macAddress\\\":\\\"02:bf:79:1b:39:6d\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"instanceId\\\":\\\"i-094153cb430d51f61\\\",\\\"attachmentId\\\":\\\"eni-attach-0c4e1085013656b41\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"044981683129\\\",\\\"attachTime\\\":\\\"2020-10-30T00:10:14.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"privateDnsName\\\":\\\"ip-192-168-7-182.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-09839929763048cfc","subnetId":"subnet-0240cebb8fa82aa33","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-034e2d32e58987e71","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[{\"tag\":\"node.k8s.amazonaws.com/instance_id=i-094153cb430d51f61\",\"value\":\"i-094153cb430d51f61\",\"key\":\"node.k8s.amazonaws.com/instance_id\"},{\"tag\":\"node.k8s.amazonaws.com/createdAt=2020-10-30T00:10:13Z\",\"value\":\"2020-10-30T00:10:13Z\",\"key\":\"node.k8s.amazonaws.com/createdAt\"}]","title":"eni-034e2d32e58987e71","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0c9fb00a36adc2b12","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0c9fb00a36adc2b12","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0c9fb00a36adc2b12\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon-elb\\\",\\\"publicIp\\\":\\\"52.16.207.160\\\",\\\"publicDnsName\\\":\\\"ec2-52-16-207-160.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-192-168-28-250.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.28.250\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0240cebb8fa82aa33\\\",\\\"requesterId\\\":\\\"amazon-elb\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon-elb\\\",\\\"publicIp\\\":\\\"52.16.207.160\\\",\\\"publicDnsName\\\":\\\"ec2-52-16-207-160.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"ELB a3af06af9830647219ca4bb76e335070\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"k8s-elb-a3af06af9830647219ca4bb76e335070\\\",\\\"groupId\\\":\\\"sg-0f682d01b121c4504\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"192.168.28.250\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:7e:ce:b4:91:4f\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-00ec7916a9cb4d155\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-elb\\\",\\\"attachTime\\\":\\\"2023-04-13T04:57:57.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"privateDnsName\\\":\\\"ip-192-168-28-250.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-09839929763048cfc","subnetId":"subnet-0240cebb8fa82aa33","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0c9fb00a36adc2b12","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0c9fb00a36adc2b12","instanceType":null,"statement":null,"dBInstanceStatus":null}}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-637,"y":-2593.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-01302c518568235ff","resourceId":["eni-01302c518568235ff","arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-01302c518568235ff"],"parent":"NetworkInterface-subnet-0240cebb8fa82aa33-eu-west-1c-vpc-09839929763048cfc-eu-west-1-044981683129","level":6,"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-01302c518568235ff","title":"eni-01302c518568235ff","label":"eni-01302c51...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-01302c518568235ff","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-01302c518568235ff","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-01302c518568235ff","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-01302c518568235ff","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-01302c518568235ff\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"044981683129\\\",\\\"allocationId\\\":\\\"eipalloc-0766a216ad66c5b96\\\",\\\"publicIp\\\":\\\"54.73.171.107\\\",\\\"publicDnsName\\\":\\\"ec2-54-73-171-107.eu-west-1.compute.amazonaws.com\\\",\\\"associationId\\\":\\\"eipassoc-07b08e917871bb183\\\"},\\\"privateDnsName\\\":\\\"ip-192-168-17-93.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.17.93\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0240cebb8fa82aa33\\\",\\\"requesterId\\\":\\\"142026654166\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"044981683129\\\",\\\"allocationId\\\":\\\"eipalloc-0766a216ad66c5b96\\\",\\\"publicIp\\\":\\\"54.73.171.107\\\",\\\"publicDnsName\\\":\\\"ec2-54-73-171-107.eu-west-1.compute.amazonaws.com\\\",\\\"associationId\\\":\\\"eipassoc-07b08e917871bb183\\\"},\\\"description\\\":\\\"Interface for NAT Gateway nat-062d82ea74dec8c3c\\\",\\\"groups\\\":[],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":false,\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"192.168.17.93\\\",\\\"interfaceType\\\":\\\"nat_gateway\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:bc:49:73:a9:27\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-914a17b2\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"privateDnsName\\\":\\\"ip-192-168-17-93.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-09839929763048cfc","subnetId":"subnet-0240cebb8fa82aa33","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-01302c518568235ff","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-01302c518568235ff","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-673.5,"y":-2630.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-04f5460a4defeec00","resourceId":["eni-04f5460a4defeec00","arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-04f5460a4defeec00"],"parent":"NetworkInterface-subnet-0240cebb8fa82aa33-eu-west-1c-vpc-09839929763048cfc-eu-west-1-044981683129","level":6,"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-04f5460a4defeec00","title":"eni-04f5460a4defeec00","label":"eni-04f5460a...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-04f5460a4defeec00","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-04f5460a4defeec00","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-04f5460a4defeec00","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-04f5460a4defeec00","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-04f5460a4defeec00\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"34.252.14.196\\\",\\\"publicDnsName\\\":\\\"ec2-34-252-14-196.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-192-168-3-86.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.3.86\\\",\\\"primary\\\":true},{\\\"privateDnsName\\\":\\\"ip-192-168-9-25.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.9.25\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-8-236.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.8.236\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-25-220.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.25.220\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-26-255.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.26.255\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-14-239.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.14.239\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-4-241.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.4.241\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-21-226.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.21.226\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-16-243.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.16.243\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-2-245.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.2.245\\\",\\\"primary\\\":false}],\\\"subnetId\\\":\\\"subnet-0240cebb8fa82aa33\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"34.252.14.196\\\",\\\"publicDnsName\\\":\\\"ec2-34-252-14-196.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"eks-cluster-sg-attractive-badger-1604015308-1273556504\\\",\\\"groupId\\\":\\\"sg-0bcb1987c6667687b\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"192.168.3.86\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:af:26:96:5c:eb\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"instanceId\\\":\\\"i-094153cb430d51f61\\\",\\\"attachmentId\\\":\\\"eni-attach-0ecd77a69eb9de26e\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"instanceOwnerId\\\":\\\"044981683129\\\",\\\"attachTime\\\":\\\"2020-10-30T00:09:12.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"privateDnsName\\\":\\\"ip-192-168-3-86.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-09839929763048cfc","subnetId":"subnet-0240cebb8fa82aa33","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-04f5460a4defeec00","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-04f5460a4defeec00","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-600.5,"y":-2630.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-034e2d32e58987e71","resourceId":["eni-034e2d32e58987e71","arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-034e2d32e58987e71"],"parent":"NetworkInterface-subnet-0240cebb8fa82aa33-eu-west-1c-vpc-09839929763048cfc-eu-west-1-044981683129","level":6,"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-034e2d32e58987e71","title":"eni-034e2d32e58987e71","label":"eni-034e2d32...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-034e2d32e58987e71","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-034e2d32e58987e71","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[{\"tag\":\"node.k8s.amazonaws.com/instance_id=i-094153cb430d51f61\",\"value\":\"i-094153cb430d51f61\",\"key\":\"node.k8s.amazonaws.com/instance_id\"},{\"tag\":\"node.k8s.amazonaws.com/createdAt=2020-10-30T00:10:13Z\",\"value\":\"2020-10-30T00:10:13Z\",\"key\":\"node.k8s.amazonaws.com/createdAt\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-034e2d32e58987e71","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-034e2d32e58987e71","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-034e2d32e58987e71\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-192-168-7-182.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.7.182\\\",\\\"primary\\\":true},{\\\"privateDnsName\\\":\\\"ip-192-168-10-24.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.10.24\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-14-10.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.14.10\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-25-202.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.25.202\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-1-60.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.1.60\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-25-29.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.25.29\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-27-254.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.27.254\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-22-158.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.22.158\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-3-95.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.3.95\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-31-226.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.31.226\\\",\\\"primary\\\":false}],\\\"subnetId\\\":\\\"subnet-0240cebb8fa82aa33\\\",\\\"requesterId\\\":\\\"AROAQU6I6AO4ZO5Y2J6HU:i-094153cb430d51f61\\\",\\\"description\\\":\\\"aws-K8S-i-094153cb430d51f61\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"eks-cluster-sg-attractive-badger-1604015308-1273556504\\\",\\\"groupId\\\":\\\"sg-0bcb1987c6667687b\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"192.168.7.182\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[{\\\"value\\\":\\\"2020-10-30T00:10:13Z\\\",\\\"key\\\":\\\"node.k8s.amazonaws.com/createdAt\\\"},{\\\"value\\\":\\\"i-094153cb430d51f61\\\",\\\"key\\\":\\\"node.k8s.amazonaws.com/instance_id\\\"}],\\\"macAddress\\\":\\\"02:bf:79:1b:39:6d\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"instanceId\\\":\\\"i-094153cb430d51f61\\\",\\\"attachmentId\\\":\\\"eni-attach-0c4e1085013656b41\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"044981683129\\\",\\\"attachTime\\\":\\\"2020-10-30T00:10:14.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"privateDnsName\\\":\\\"ip-192-168-7-182.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-09839929763048cfc","subnetId":"subnet-0240cebb8fa82aa33","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-034e2d32e58987e71","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[{\"tag\":\"node.k8s.amazonaws.com/instance_id=i-094153cb430d51f61\",\"value\":\"i-094153cb430d51f61\",\"key\":\"node.k8s.amazonaws.com/instance_id\"},{\"tag\":\"node.k8s.amazonaws.com/createdAt=2020-10-30T00:10:13Z\",\"value\":\"2020-10-30T00:10:13Z\",\"key\":\"node.k8s.amazonaws.com/createdAt\"}]","title":"eni-034e2d32e58987e71","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-673.5,"y":-2557.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0c9fb00a36adc2b12","resourceId":["eni-0c9fb00a36adc2b12","arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0c9fb00a36adc2b12"],"parent":"NetworkInterface-subnet-0240cebb8fa82aa33-eu-west-1c-vpc-09839929763048cfc-eu-west-1-044981683129","level":6,"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0c9fb00a36adc2b12","title":"eni-0c9fb00a36adc2b12","label":"eni-0c9fb00a...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0c9fb00a36adc2b12","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-0c9fb00a36adc2b12","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0c9fb00a36adc2b12","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0c9fb00a36adc2b12","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0c9fb00a36adc2b12\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon-elb\\\",\\\"publicIp\\\":\\\"52.16.207.160\\\",\\\"publicDnsName\\\":\\\"ec2-52-16-207-160.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-192-168-28-250.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.28.250\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0240cebb8fa82aa33\\\",\\\"requesterId\\\":\\\"amazon-elb\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon-elb\\\",\\\"publicIp\\\":\\\"52.16.207.160\\\",\\\"publicDnsName\\\":\\\"ec2-52-16-207-160.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"ELB a3af06af9830647219ca4bb76e335070\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"k8s-elb-a3af06af9830647219ca4bb76e335070\\\",\\\"groupId\\\":\\\"sg-0f682d01b121c4504\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"192.168.28.250\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:7e:ce:b4:91:4f\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-00ec7916a9cb4d155\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-elb\\\",\\\"attachTime\\\":\\\"2023-04-13T04:57:57.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"privateDnsName\\\":\\\"ip-192-168-28-250.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-09839929763048cfc","subnetId":"subnet-0240cebb8fa82aa33","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0c9fb00a36adc2b12","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0c9fb00a36adc2b12","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-600.5,"y":-2557.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"Instance-subnet-0240cebb8fa82aa33-eu-west-1c-vpc-09839929763048cfc-eu-west-1-044981683129","parent":"subnet-0240cebb8fa82aa33-eu-west-1c-vpc-09839929763048cfc-eu-west-1-044981683129","level":5,"title":"Instance","label":"Instance","plainLabel":"Instance","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-EC2_Instance_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:instance/i-094153cb430d51f61","label":"AWS_EC2_Instance","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:instance/i-094153cb430d51f61","configuration":"\"{\\\"subnetId\\\":\\\"subnet-0240cebb8fa82aa33\\\",\\\"virtualizationType\\\":\\\"hvm\\\",\\\"capacityReservationSpecification\\\":{\\\"capacityReservationPreference\\\":\\\"open\\\"},\\\"amiLaunchIndex\\\":0,\\\"enaSupport\\\":true,\\\"elasticInferenceAcceleratorAssociations\\\":[],\\\"sourceDestCheck\\\":true,\\\"hibernationOptions\\\":{\\\"configured\\\":false},\\\"instanceId\\\":\\\"i-094153cb430d51f61\\\",\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"hypervisor\\\":\\\"xen\\\",\\\"rootDeviceName\\\":\\\"/dev/xvda\\\",\\\"productCodes\\\":[],\\\"state\\\":{\\\"code\\\":\\\"16\\\",\\\"name\\\":\\\"running\\\"},\\\"architecture\\\":\\\"x86_64\\\",\\\"ebsOptimized\\\":false,\\\"imageId\\\":\\\"ami-0ca9e57915fd7e017\\\",\\\"blockDeviceMappings\\\":[{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-0b92d530489c1b24a\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2020-10-30T00:09:13.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvda\\\"}],\\\"publicIpAddress\\\":\\\"34.252.14.196\\\",\\\"stateTransitionReason\\\":\\\"\\\",\\\"clientToken\\\":\\\"fleet-0202ee4c-5623-0b08-ae32-09804cdffe17-0\\\",\\\"instanceType\\\":\\\"m5.large\\\",\\\"cpuOptions\\\":{\\\"threadsPerCore\\\":2,\\\"coreCount\\\":1},\\\"monitoring\\\":{\\\"state\\\":\\\"disabled\\\"},\\\"publicDnsName\\\":\\\"ec2-34-252-14-196.eu-west-1.compute.amazonaws.com\\\",\\\"iamInstanceProfile\\\":{\\\"id\\\":\\\"AIPAQU6I6AO437UEUY4FE\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:instance-profile/eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3\\\"},\\\"privateIpAddress\\\":\\\"192.168.3.86\\\",\\\"rootDeviceType\\\":\\\"ebs\\\",\\\"tags\\\":[{\\\"value\\\":\\\"eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3\\\",\\\"key\\\":\\\"aws:autoscaling:groupName\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"aws:eks:cluster-name\\\"},{\\\"value\\\":\\\"fleet-0202ee4c-5623-0b08-ae32-09804cdffe17\\\",\\\"key\\\":\\\"aws:ec2:fleet-id\\\"},{\\\"value\\\":\\\"lt-09c499a8e3e1ce269\\\",\\\"key\\\":\\\"aws:ec2launchtemplate:id\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"eks:cluster-name\\\"},{\\\"value\\\":\\\"owned\\\",\\\"key\\\":\\\"k8s.io/cluster-autoscaler/attractive-badger-1604015308\\\"},{\\\"value\\\":\\\"owned\\\",\\\"key\\\":\\\"kubernetes.io/cluster/attractive-badger-1604015308\\\"},{\\\"value\\\":\\\"ng-608957a7\\\",\\\"key\\\":\\\"alpha.eksctl.io/nodegroup-name\\\"},{\\\"value\\\":\\\"ng-608957a7\\\",\\\"key\\\":\\\"eks:nodegroup-name\\\"},{\\\"value\\\":\\\"managed\\\",\\\"key\\\":\\\"alpha.eksctl.io/nodegroup-type\\\"},{\\\"value\\\":\\\"1\\\",\\\"key\\\":\\\"aws:ec2launchtemplate:version\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308-ng-608957a7-Node\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"true\\\",\\\"key\\\":\\\"k8s.io/cluster-autoscaler/enabled\\\"}],\\\"enclaveOptions\\\":{\\\"enabled\\\":false},\\\"launchTime\\\":\\\"2020-10-30T00:09:12.000Z\\\",\\\"elasticGpuAssociations\\\":[],\\\"licenses\\\":[],\\\"networkInterfaces\\\":[{\\\"networkInterfaceId\\\":\\\"eni-034e2d32e58987e71\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-192-168-7-182.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.7.182\\\",\\\"primary\\\":true},{\\\"privateDnsName\\\":\\\"ip-192-168-10-24.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.10.24\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-14-10.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.14.10\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-25-202.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.25.202\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-1-60.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.1.60\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-25-29.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.25.29\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-27-254.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.27.254\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-22-158.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.22.158\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-3-95.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.3.95\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-31-226.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.31.226\\\",\\\"primary\\\":false}],\\\"subnetId\\\":\\\"subnet-0240cebb8fa82aa33\\\",\\\"description\\\":\\\"aws-K8S-i-094153cb430d51f61\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"eks-cluster-sg-attractive-badger-1604015308-1273556504\\\",\\\"groupId\\\":\\\"sg-0bcb1987c6667687b\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"privateIpAddress\\\":\\\"192.168.7.182\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"macAddress\\\":\\\"02:bf:79:1b:39:6d\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0c4e1085013656b41\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":1,\\\"attachTime\\\":\\\"2020-10-30T00:10:14.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"privateDnsName\\\":\\\"ip-192-168-7-182.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"},{\\\"networkInterfaceId\\\":\\\"eni-04f5460a4defeec00\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"34.252.14.196\\\",\\\"publicDnsName\\\":\\\"ec2-34-252-14-196.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-192-168-3-86.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.3.86\\\",\\\"primary\\\":true},{\\\"privateDnsName\\\":\\\"ip-192-168-9-25.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.9.25\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-8-236.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.8.236\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-25-220.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.25.220\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-26-255.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.26.255\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-14-239.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.14.239\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-4-241.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.4.241\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-21-226.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.21.226\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-16-243.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.16.243\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-2-245.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.2.245\\\",\\\"primary\\\":false}],\\\"subnetId\\\":\\\"subnet-0240cebb8fa82aa33\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"34.252.14.196\\\",\\\"publicDnsName\\\":\\\"ec2-34-252-14-196.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"eks-cluster-sg-attractive-badger-1604015308-1273556504\\\",\\\"groupId\\\":\\\"sg-0bcb1987c6667687b\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"privateIpAddress\\\":\\\"192.168.3.86\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"macAddress\\\":\\\"02:af:26:96:5c:eb\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0ecd77a69eb9de26e\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"attachTime\\\":\\\"2020-10-30T00:09:12.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"privateDnsName\\\":\\\"ip-192-168-3-86.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}],\\\"metadataOptions\\\":{\\\"httpPutResponseHopLimit\\\":2,\\\"httpEndpoint\\\":\\\"enabled\\\",\\\"state\\\":\\\"applied\\\",\\\"httpTokens\\\":\\\"optional\\\"},\\\"privateDnsName\\\":\\\"ip-192-168-3-86.eu-west-1.compute.internal\\\",\\\"securityGroups\\\":[{\\\"groupName\\\":\\\"eks-cluster-sg-attractive-badger-1604015308-1273556504\\\",\\\"groupId\\\":\\\"sg-0bcb1987c6667687b\\\"}],\\\"placement\\\":{\\\"groupName\\\":\\\"\\\",\\\"tenancy\\\":\\\"default\\\",\\\"availabilityZone\\\":\\\"eu-west-1c\\\"}}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-09839929763048cfc","subnetId":"subnet-0240cebb8fa82aa33","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#Instances:sort=instanceId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#Instances:sort=instanceId","private":null,"resourceId":"i-094153cb430d51f61","resourceName":null,"resourceType":"AWS::EC2::Instance","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:eks:cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"aws:eks:cluster-name\"},{\"tag\":\"k8s.io/cluster-autoscaler/attractive-badger-1604015308=owned\",\"value\":\"owned\",\"key\":\"k8s.io/cluster-autoscaler/attractive-badger-1604015308\"},{\"tag\":\"eks:cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eks:cluster-name\"},{\"tag\":\"alpha.eksctl.io/nodegroup-type=managed\",\"value\":\"managed\",\"key\":\"alpha.eksctl.io/nodegroup-type\"},{\"tag\":\"aws:ec2launchtemplate:version=1\",\"value\":\"1\",\"key\":\"aws:ec2launchtemplate:version\"},{\"tag\":\"k8s.io/cluster-autoscaler/enabled=true\",\"value\":\"true\",\"key\":\"k8s.io/cluster-autoscaler/enabled\"},{\"tag\":\"Name=attractive-badger-1604015308-ng-608957a7-Node\",\"value\":\"attractive-badger-1604015308-ng-608957a7-Node\",\"key\":\"Name\"},{\"tag\":\"aws:autoscaling:groupName=eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3\",\"value\":\"eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3\",\"key\":\"aws:autoscaling:groupName\"},{\"tag\":\"aws:ec2:fleet-id=fleet-0202ee4c-5623-0b08-ae32-09804cdffe17\",\"value\":\"fleet-0202ee4c-5623-0b08-ae32-09804cdffe17\",\"key\":\"aws:ec2:fleet-id\"},{\"tag\":\"alpha.eksctl.io/nodegroup-name=ng-608957a7\",\"value\":\"ng-608957a7\",\"key\":\"alpha.eksctl.io/nodegroup-name\"},{\"tag\":\"eks:nodegroup-name=ng-608957a7\",\"value\":\"ng-608957a7\",\"key\":\"eks:nodegroup-name\"},{\"tag\":\"kubernetes.io/cluster/attractive-badger-1604015308=owned\",\"value\":\"owned\",\"key\":\"kubernetes.io/cluster/attractive-badger-1604015308\"},{\"tag\":\"aws:ec2launchtemplate:id=lt-09c499a8e3e1ce269\",\"value\":\"lt-09c499a8e3e1ce269\",\"key\":\"aws:ec2launchtemplate:id\"}]","title":"attractive-badger-1604015308-ng-608957a7-Node","instanceType":null,"statement":null,"dBInstanceStatus":null}}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-487.5,"y":-2630.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:instance/i-094153cb430d51f61","resourceId":["i-094153cb430d51f61","arn:aws:ec2:eu-west-1:044981683129:instance/i-094153cb430d51f61"],"parent":"Instance-subnet-0240cebb8fa82aa33-eu-west-1c-vpc-09839929763048cfc-eu-west-1-044981683129","level":6,"id":"arn:aws:ec2:eu-west-1:044981683129:instance/i-094153cb430d51f61","title":"attractive-badger-1604015308-ng-608957a7-Node","label":"attractive-b...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#FF9900","borderStyle":"dotted","borderColour":"#FF9900","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:instance/i-094153cb430d51f61","state":{"status":"status-warning","text":"no state data","color":"#FF9900"},"image":"/icons/Amazon-EC2_M5-Instance_light-bg-warning.svg","cost":0,"private":false,"detailsComponent":{"key":null,"ref":null,"props":{"title":"Instance Details","configuration":"\"{\\\"subnetId\\\":\\\"subnet-0240cebb8fa82aa33\\\",\\\"virtualizationType\\\":\\\"hvm\\\",\\\"capacityReservationSpecification\\\":{\\\"capacityReservationPreference\\\":\\\"open\\\"},\\\"amiLaunchIndex\\\":0,\\\"enaSupport\\\":true,\\\"elasticInferenceAcceleratorAssociations\\\":[],\\\"sourceDestCheck\\\":true,\\\"hibernationOptions\\\":{\\\"configured\\\":false},\\\"instanceId\\\":\\\"i-094153cb430d51f61\\\",\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"hypervisor\\\":\\\"xen\\\",\\\"rootDeviceName\\\":\\\"/dev/xvda\\\",\\\"productCodes\\\":[],\\\"state\\\":{\\\"code\\\":\\\"16\\\",\\\"name\\\":\\\"running\\\"},\\\"architecture\\\":\\\"x86_64\\\",\\\"ebsOptimized\\\":false,\\\"imageId\\\":\\\"ami-0ca9e57915fd7e017\\\",\\\"blockDeviceMappings\\\":[{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-0b92d530489c1b24a\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2020-10-30T00:09:13.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvda\\\"}],\\\"publicIpAddress\\\":\\\"34.252.14.196\\\",\\\"stateTransitionReason\\\":\\\"\\\",\\\"clientToken\\\":\\\"fleet-0202ee4c-5623-0b08-ae32-09804cdffe17-0\\\",\\\"instanceType\\\":\\\"m5.large\\\",\\\"cpuOptions\\\":{\\\"threadsPerCore\\\":2,\\\"coreCount\\\":1},\\\"monitoring\\\":{\\\"state\\\":\\\"disabled\\\"},\\\"publicDnsName\\\":\\\"ec2-34-252-14-196.eu-west-1.compute.amazonaws.com\\\",\\\"iamInstanceProfile\\\":{\\\"id\\\":\\\"AIPAQU6I6AO437UEUY4FE\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:instance-profile/eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3\\\"},\\\"privateIpAddress\\\":\\\"192.168.3.86\\\",\\\"rootDeviceType\\\":\\\"ebs\\\",\\\"tags\\\":[{\\\"value\\\":\\\"eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3\\\",\\\"key\\\":\\\"aws:autoscaling:groupName\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"aws:eks:cluster-name\\\"},{\\\"value\\\":\\\"fleet-0202ee4c-5623-0b08-ae32-09804cdffe17\\\",\\\"key\\\":\\\"aws:ec2:fleet-id\\\"},{\\\"value\\\":\\\"lt-09c499a8e3e1ce269\\\",\\\"key\\\":\\\"aws:ec2launchtemplate:id\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"eks:cluster-name\\\"},{\\\"value\\\":\\\"owned\\\",\\\"key\\\":\\\"k8s.io/cluster-autoscaler/attractive-badger-1604015308\\\"},{\\\"value\\\":\\\"owned\\\",\\\"key\\\":\\\"kubernetes.io/cluster/attractive-badger-1604015308\\\"},{\\\"value\\\":\\\"ng-608957a7\\\",\\\"key\\\":\\\"alpha.eksctl.io/nodegroup-name\\\"},{\\\"value\\\":\\\"ng-608957a7\\\",\\\"key\\\":\\\"eks:nodegroup-name\\\"},{\\\"value\\\":\\\"managed\\\",\\\"key\\\":\\\"alpha.eksctl.io/nodegroup-type\\\"},{\\\"value\\\":\\\"1\\\",\\\"key\\\":\\\"aws:ec2launchtemplate:version\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308-ng-608957a7-Node\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"true\\\",\\\"key\\\":\\\"k8s.io/cluster-autoscaler/enabled\\\"}],\\\"enclaveOptions\\\":{\\\"enabled\\\":false},\\\"launchTime\\\":\\\"2020-10-30T00:09:12.000Z\\\",\\\"elasticGpuAssociations\\\":[],\\\"licenses\\\":[],\\\"networkInterfaces\\\":[{\\\"networkInterfaceId\\\":\\\"eni-034e2d32e58987e71\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-192-168-7-182.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.7.182\\\",\\\"primary\\\":true},{\\\"privateDnsName\\\":\\\"ip-192-168-10-24.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.10.24\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-14-10.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.14.10\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-25-202.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.25.202\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-1-60.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.1.60\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-25-29.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.25.29\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-27-254.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.27.254\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-22-158.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.22.158\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-3-95.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.3.95\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-31-226.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.31.226\\\",\\\"primary\\\":false}],\\\"subnetId\\\":\\\"subnet-0240cebb8fa82aa33\\\",\\\"description\\\":\\\"aws-K8S-i-094153cb430d51f61\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"eks-cluster-sg-attractive-badger-1604015308-1273556504\\\",\\\"groupId\\\":\\\"sg-0bcb1987c6667687b\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"privateIpAddress\\\":\\\"192.168.7.182\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"macAddress\\\":\\\"02:bf:79:1b:39:6d\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0c4e1085013656b41\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":1,\\\"attachTime\\\":\\\"2020-10-30T00:10:14.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"privateDnsName\\\":\\\"ip-192-168-7-182.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"},{\\\"networkInterfaceId\\\":\\\"eni-04f5460a4defeec00\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"34.252.14.196\\\",\\\"publicDnsName\\\":\\\"ec2-34-252-14-196.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-192-168-3-86.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.3.86\\\",\\\"primary\\\":true},{\\\"privateDnsName\\\":\\\"ip-192-168-9-25.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.9.25\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-8-236.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.8.236\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-25-220.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.25.220\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-26-255.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.26.255\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-14-239.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.14.239\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-4-241.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.4.241\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-21-226.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.21.226\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-16-243.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.16.243\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-2-245.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.2.245\\\",\\\"primary\\\":false}],\\\"subnetId\\\":\\\"subnet-0240cebb8fa82aa33\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"34.252.14.196\\\",\\\"publicDnsName\\\":\\\"ec2-34-252-14-196.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"eks-cluster-sg-attractive-badger-1604015308-1273556504\\\",\\\"groupId\\\":\\\"sg-0bcb1987c6667687b\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"privateIpAddress\\\":\\\"192.168.3.86\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"macAddress\\\":\\\"02:af:26:96:5c:eb\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0ecd77a69eb9de26e\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"attachTime\\\":\\\"2020-10-30T00:09:12.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"privateDnsName\\\":\\\"ip-192-168-3-86.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}],\\\"metadataOptions\\\":{\\\"httpPutResponseHopLimit\\\":2,\\\"httpEndpoint\\\":\\\"enabled\\\",\\\"state\\\":\\\"applied\\\",\\\"httpTokens\\\":\\\"optional\\\"},\\\"privateDnsName\\\":\\\"ip-192-168-3-86.eu-west-1.compute.internal\\\",\\\"securityGroups\\\":[{\\\"groupName\\\":\\\"eks-cluster-sg-attractive-badger-1604015308-1273556504\\\",\\\"groupId\\\":\\\"sg-0bcb1987c6667687b\\\"}],\\\"placement\\\":{\\\"groupName\\\":\\\"\\\",\\\"tenancy\\\":\\\"default\\\",\\\"availabilityZone\\\":\\\"eu-west-1c\\\"}}\""},"_owner":null,"_store":{}},"resource":{"id":"i-094153cb430d51f61","name":null,"value":null,"type":"AWS::EC2::Instance","tags":"[{\"tag\":\"aws:eks:cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"aws:eks:cluster-name\"},{\"tag\":\"k8s.io/cluster-autoscaler/attractive-badger-1604015308=owned\",\"value\":\"owned\",\"key\":\"k8s.io/cluster-autoscaler/attractive-badger-1604015308\"},{\"tag\":\"eks:cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eks:cluster-name\"},{\"tag\":\"alpha.eksctl.io/nodegroup-type=managed\",\"value\":\"managed\",\"key\":\"alpha.eksctl.io/nodegroup-type\"},{\"tag\":\"aws:ec2launchtemplate:version=1\",\"value\":\"1\",\"key\":\"aws:ec2launchtemplate:version\"},{\"tag\":\"k8s.io/cluster-autoscaler/enabled=true\",\"value\":\"true\",\"key\":\"k8s.io/cluster-autoscaler/enabled\"},{\"tag\":\"Name=attractive-badger-1604015308-ng-608957a7-Node\",\"value\":\"attractive-badger-1604015308-ng-608957a7-Node\",\"key\":\"Name\"},{\"tag\":\"aws:autoscaling:groupName=eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3\",\"value\":\"eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3\",\"key\":\"aws:autoscaling:groupName\"},{\"tag\":\"aws:ec2:fleet-id=fleet-0202ee4c-5623-0b08-ae32-09804cdffe17\",\"value\":\"fleet-0202ee4c-5623-0b08-ae32-09804cdffe17\",\"key\":\"aws:ec2:fleet-id\"},{\"tag\":\"alpha.eksctl.io/nodegroup-name=ng-608957a7\",\"value\":\"ng-608957a7\",\"key\":\"alpha.eksctl.io/nodegroup-name\"},{\"tag\":\"eks:nodegroup-name=ng-608957a7\",\"value\":\"ng-608957a7\",\"key\":\"eks:nodegroup-name\"},{\"tag\":\"kubernetes.io/cluster/attractive-badger-1604015308=owned\",\"value\":\"owned\",\"key\":\"kubernetes.io/cluster/attractive-badger-1604015308\"},{\"tag\":\"aws:ec2launchtemplate:id=lt-09c499a8e3e1ce269\",\"value\":\"lt-09c499a8e3e1ce269\",\"key\":\"aws:ec2launchtemplate:id\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:instance/i-094153cb430d51f61","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#Instances:sort=instanceId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#Instances:sort=instanceId","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:instance/i-094153cb430d51f61","configuration":"\"{\\\"subnetId\\\":\\\"subnet-0240cebb8fa82aa33\\\",\\\"virtualizationType\\\":\\\"hvm\\\",\\\"capacityReservationSpecification\\\":{\\\"capacityReservationPreference\\\":\\\"open\\\"},\\\"amiLaunchIndex\\\":0,\\\"enaSupport\\\":true,\\\"elasticInferenceAcceleratorAssociations\\\":[],\\\"sourceDestCheck\\\":true,\\\"hibernationOptions\\\":{\\\"configured\\\":false},\\\"instanceId\\\":\\\"i-094153cb430d51f61\\\",\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"hypervisor\\\":\\\"xen\\\",\\\"rootDeviceName\\\":\\\"/dev/xvda\\\",\\\"productCodes\\\":[],\\\"state\\\":{\\\"code\\\":\\\"16\\\",\\\"name\\\":\\\"running\\\"},\\\"architecture\\\":\\\"x86_64\\\",\\\"ebsOptimized\\\":false,\\\"imageId\\\":\\\"ami-0ca9e57915fd7e017\\\",\\\"blockDeviceMappings\\\":[{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-0b92d530489c1b24a\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2020-10-30T00:09:13.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvda\\\"}],\\\"publicIpAddress\\\":\\\"34.252.14.196\\\",\\\"stateTransitionReason\\\":\\\"\\\",\\\"clientToken\\\":\\\"fleet-0202ee4c-5623-0b08-ae32-09804cdffe17-0\\\",\\\"instanceType\\\":\\\"m5.large\\\",\\\"cpuOptions\\\":{\\\"threadsPerCore\\\":2,\\\"coreCount\\\":1},\\\"monitoring\\\":{\\\"state\\\":\\\"disabled\\\"},\\\"publicDnsName\\\":\\\"ec2-34-252-14-196.eu-west-1.compute.amazonaws.com\\\",\\\"iamInstanceProfile\\\":{\\\"id\\\":\\\"AIPAQU6I6AO437UEUY4FE\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:instance-profile/eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3\\\"},\\\"privateIpAddress\\\":\\\"192.168.3.86\\\",\\\"rootDeviceType\\\":\\\"ebs\\\",\\\"tags\\\":[{\\\"value\\\":\\\"eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3\\\",\\\"key\\\":\\\"aws:autoscaling:groupName\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"aws:eks:cluster-name\\\"},{\\\"value\\\":\\\"fleet-0202ee4c-5623-0b08-ae32-09804cdffe17\\\",\\\"key\\\":\\\"aws:ec2:fleet-id\\\"},{\\\"value\\\":\\\"lt-09c499a8e3e1ce269\\\",\\\"key\\\":\\\"aws:ec2launchtemplate:id\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"eks:cluster-name\\\"},{\\\"value\\\":\\\"owned\\\",\\\"key\\\":\\\"k8s.io/cluster-autoscaler/attractive-badger-1604015308\\\"},{\\\"value\\\":\\\"owned\\\",\\\"key\\\":\\\"kubernetes.io/cluster/attractive-badger-1604015308\\\"},{\\\"value\\\":\\\"ng-608957a7\\\",\\\"key\\\":\\\"alpha.eksctl.io/nodegroup-name\\\"},{\\\"value\\\":\\\"ng-608957a7\\\",\\\"key\\\":\\\"eks:nodegroup-name\\\"},{\\\"value\\\":\\\"managed\\\",\\\"key\\\":\\\"alpha.eksctl.io/nodegroup-type\\\"},{\\\"value\\\":\\\"1\\\",\\\"key\\\":\\\"aws:ec2launchtemplate:version\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308-ng-608957a7-Node\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"true\\\",\\\"key\\\":\\\"k8s.io/cluster-autoscaler/enabled\\\"}],\\\"enclaveOptions\\\":{\\\"enabled\\\":false},\\\"launchTime\\\":\\\"2020-10-30T00:09:12.000Z\\\",\\\"elasticGpuAssociations\\\":[],\\\"licenses\\\":[],\\\"networkInterfaces\\\":[{\\\"networkInterfaceId\\\":\\\"eni-034e2d32e58987e71\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-192-168-7-182.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.7.182\\\",\\\"primary\\\":true},{\\\"privateDnsName\\\":\\\"ip-192-168-10-24.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.10.24\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-14-10.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.14.10\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-25-202.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.25.202\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-1-60.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.1.60\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-25-29.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.25.29\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-27-254.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.27.254\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-22-158.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.22.158\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-3-95.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.3.95\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-31-226.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.31.226\\\",\\\"primary\\\":false}],\\\"subnetId\\\":\\\"subnet-0240cebb8fa82aa33\\\",\\\"description\\\":\\\"aws-K8S-i-094153cb430d51f61\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"eks-cluster-sg-attractive-badger-1604015308-1273556504\\\",\\\"groupId\\\":\\\"sg-0bcb1987c6667687b\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"privateIpAddress\\\":\\\"192.168.7.182\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"macAddress\\\":\\\"02:bf:79:1b:39:6d\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0c4e1085013656b41\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":1,\\\"attachTime\\\":\\\"2020-10-30T00:10:14.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"privateDnsName\\\":\\\"ip-192-168-7-182.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"},{\\\"networkInterfaceId\\\":\\\"eni-04f5460a4defeec00\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"34.252.14.196\\\",\\\"publicDnsName\\\":\\\"ec2-34-252-14-196.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-192-168-3-86.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.3.86\\\",\\\"primary\\\":true},{\\\"privateDnsName\\\":\\\"ip-192-168-9-25.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.9.25\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-8-236.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.8.236\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-25-220.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.25.220\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-26-255.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.26.255\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-14-239.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.14.239\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-4-241.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.4.241\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-21-226.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.21.226\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-16-243.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.16.243\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-2-245.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.2.245\\\",\\\"primary\\\":false}],\\\"subnetId\\\":\\\"subnet-0240cebb8fa82aa33\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"34.252.14.196\\\",\\\"publicDnsName\\\":\\\"ec2-34-252-14-196.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"eks-cluster-sg-attractive-badger-1604015308-1273556504\\\",\\\"groupId\\\":\\\"sg-0bcb1987c6667687b\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"privateIpAddress\\\":\\\"192.168.3.86\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"macAddress\\\":\\\"02:af:26:96:5c:eb\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0ecd77a69eb9de26e\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"attachTime\\\":\\\"2020-10-30T00:09:12.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"privateDnsName\\\":\\\"ip-192-168-3-86.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}],\\\"metadataOptions\\\":{\\\"httpPutResponseHopLimit\\\":2,\\\"httpEndpoint\\\":\\\"enabled\\\",\\\"state\\\":\\\"applied\\\",\\\"httpTokens\\\":\\\"optional\\\"},\\\"privateDnsName\\\":\\\"ip-192-168-3-86.eu-west-1.compute.internal\\\",\\\"securityGroups\\\":[{\\\"groupName\\\":\\\"eks-cluster-sg-attractive-badger-1604015308-1273556504\\\",\\\"groupId\\\":\\\"sg-0bcb1987c6667687b\\\"}],\\\"placement\\\":{\\\"groupName\\\":\\\"\\\",\\\"tenancy\\\":\\\"default\\\",\\\"availabilityZone\\\":\\\"eu-west-1c\\\"}}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-09839929763048cfc","subnetId":"subnet-0240cebb8fa82aa33","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#Instances:sort=instanceId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#Instances:sort=instanceId","private":null,"resourceId":"i-094153cb430d51f61","resourceName":null,"resourceType":"AWS::EC2::Instance","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:eks:cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"aws:eks:cluster-name\"},{\"tag\":\"k8s.io/cluster-autoscaler/attractive-badger-1604015308=owned\",\"value\":\"owned\",\"key\":\"k8s.io/cluster-autoscaler/attractive-badger-1604015308\"},{\"tag\":\"eks:cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eks:cluster-name\"},{\"tag\":\"alpha.eksctl.io/nodegroup-type=managed\",\"value\":\"managed\",\"key\":\"alpha.eksctl.io/nodegroup-type\"},{\"tag\":\"aws:ec2launchtemplate:version=1\",\"value\":\"1\",\"key\":\"aws:ec2launchtemplate:version\"},{\"tag\":\"k8s.io/cluster-autoscaler/enabled=true\",\"value\":\"true\",\"key\":\"k8s.io/cluster-autoscaler/enabled\"},{\"tag\":\"Name=attractive-badger-1604015308-ng-608957a7-Node\",\"value\":\"attractive-badger-1604015308-ng-608957a7-Node\",\"key\":\"Name\"},{\"tag\":\"aws:autoscaling:groupName=eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3\",\"value\":\"eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3\",\"key\":\"aws:autoscaling:groupName\"},{\"tag\":\"aws:ec2:fleet-id=fleet-0202ee4c-5623-0b08-ae32-09804cdffe17\",\"value\":\"fleet-0202ee4c-5623-0b08-ae32-09804cdffe17\",\"key\":\"aws:ec2:fleet-id\"},{\"tag\":\"alpha.eksctl.io/nodegroup-name=ng-608957a7\",\"value\":\"ng-608957a7\",\"key\":\"alpha.eksctl.io/nodegroup-name\"},{\"tag\":\"eks:nodegroup-name=ng-608957a7\",\"value\":\"ng-608957a7\",\"key\":\"eks:nodegroup-name\"},{\"tag\":\"kubernetes.io/cluster/attractive-badger-1604015308=owned\",\"value\":\"owned\",\"key\":\"kubernetes.io/cluster/attractive-badger-1604015308\"},{\"tag\":\"aws:ec2launchtemplate:id=lt-09c499a8e3e1ce269\",\"value\":\"lt-09c499a8e3e1ce269\",\"key\":\"aws:ec2launchtemplate:id\"}]","title":"attractive-badger-1604015308-ng-608957a7-Node","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-487.5,"y":-2630.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"NatGateway-subnet-0240cebb8fa82aa33-eu-west-1c-vpc-09839929763048cfc-eu-west-1-044981683129","parent":"subnet-0240cebb8fa82aa33-eu-west-1c-vpc-09839929763048cfc-eu-west-1-044981683129","level":5,"title":"NatGateway","label":"NatGateway","plainLabel":"NatGateway","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-VPC_NAT-Gateway_light-bg-menu.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-062d82ea74dec8c3c","label":"AWS_EC2_NatGateway","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-062d82ea74dec8c3c","configuration":"\"{\\\"subnetId\\\":\\\"subnet-0240cebb8fa82aa33\\\",\\\"connectivityType\\\":\\\"public\\\",\\\"createTime\\\":1604015381000,\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"natGatewayId\\\":\\\"nat-062d82ea74dec8c3c\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"natGatewayAddresses\\\":[{\\\"networkInterfaceId\\\":\\\"eni-01302c518568235ff\\\",\\\"isPrimary\\\":true,\\\"privateIp\\\":\\\"192.168.17.93\\\",\\\"allocationId\\\":\\\"eipalloc-0766a216ad66c5b96\\\",\\\"publicIp\\\":\\\"54.73.171.107\\\",\\\"associationId\\\":\\\"eipassoc-07b08e917871bb183\\\",\\\"status\\\":\\\"succeeded\\\",\\\"primary\\\":true}],\\\"tags\\\":[{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"alpha.eksctl.io/cluster-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\\\"},{\\\"value\\\":\\\"NATGateway\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"0.30.0\\\",\\\"key\\\":\\\"alpha.eksctl.io/eksctl-version\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster/NATGateway\\\",\\\"key\\\":\\\"Name\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-09839929763048cfc","subnetId":"subnet-0240cebb8fa82aa33","loggedInURL":null,"loginURL":null,"private":null,"resourceId":"nat-062d82ea74dec8c3c","resourceName":null,"resourceType":"AWS::EC2::NatGateway","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster\",\"value\":\"eksctl-attractive-badger-1604015308-cluster\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"alpha.eksctl.io/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"aws:cloudformation:logical-id=NATGateway\",\"value\":\"NATGateway\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.30.0\",\"value\":\"0.30.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"},{\"tag\":\"Name=eksctl-attractive-badger-1604015308-cluster/NATGateway\",\"value\":\"eksctl-attractive-badger-1604015308-cluster/NATGateway\",\"key\":\"Name\"}]","title":"eksctl-attractive-badger-1604015308-cluster/NATGateway","instanceType":null,"statement":null,"dBInstanceStatus":null}}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-673.5,"y":-2427.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-062d82ea74dec8c3c","resourceId":["nat-062d82ea74dec8c3c","arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-062d82ea74dec8c3c"],"parent":"NatGateway-subnet-0240cebb8fa82aa33-eu-west-1c-vpc-09839929763048cfc-eu-west-1-044981683129","level":6,"id":"arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-062d82ea74dec8c3c","title":"eksctl-attractive-badger-1604015308-cluster/NATGateway","label":"eksctl-attra...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-062d82ea74dec8c3c","image":"/icons/Amazon-VPC_NAT-Gateway_light-bg-menu.svg","cost":0,"private":false,"resource":{"id":"nat-062d82ea74dec8c3c","name":null,"value":null,"type":"AWS::EC2::NatGateway","tags":"[{\"tag\":\"aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster\",\"value\":\"eksctl-attractive-badger-1604015308-cluster\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"alpha.eksctl.io/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"aws:cloudformation:logical-id=NATGateway\",\"value\":\"NATGateway\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.30.0\",\"value\":\"0.30.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"},{\"tag\":\"Name=eksctl-attractive-badger-1604015308-cluster/NATGateway\",\"value\":\"eksctl-attractive-badger-1604015308-cluster/NATGateway\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-062d82ea74dec8c3c","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-062d82ea74dec8c3c","configuration":"\"{\\\"subnetId\\\":\\\"subnet-0240cebb8fa82aa33\\\",\\\"connectivityType\\\":\\\"public\\\",\\\"createTime\\\":1604015381000,\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"natGatewayId\\\":\\\"nat-062d82ea74dec8c3c\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"natGatewayAddresses\\\":[{\\\"networkInterfaceId\\\":\\\"eni-01302c518568235ff\\\",\\\"isPrimary\\\":true,\\\"privateIp\\\":\\\"192.168.17.93\\\",\\\"allocationId\\\":\\\"eipalloc-0766a216ad66c5b96\\\",\\\"publicIp\\\":\\\"54.73.171.107\\\",\\\"associationId\\\":\\\"eipassoc-07b08e917871bb183\\\",\\\"status\\\":\\\"succeeded\\\",\\\"primary\\\":true}],\\\"tags\\\":[{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"alpha.eksctl.io/cluster-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\\\"},{\\\"value\\\":\\\"NATGateway\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"0.30.0\\\",\\\"key\\\":\\\"alpha.eksctl.io/eksctl-version\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster/NATGateway\\\",\\\"key\\\":\\\"Name\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-09839929763048cfc","subnetId":"subnet-0240cebb8fa82aa33","loggedInURL":null,"loginURL":null,"private":null,"resourceId":"nat-062d82ea74dec8c3c","resourceName":null,"resourceType":"AWS::EC2::NatGateway","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster\",\"value\":\"eksctl-attractive-badger-1604015308-cluster\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"alpha.eksctl.io/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"aws:cloudformation:logical-id=NATGateway\",\"value\":\"NATGateway\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.30.0\",\"value\":\"0.30.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"},{\"tag\":\"Name=eksctl-attractive-badger-1604015308-cluster/NATGateway\",\"value\":\"eksctl-attractive-badger-1604015308-cluster/NATGateway\",\"key\":\"Name\"}]","title":"eksctl-attractive-badger-1604015308-cluster/NATGateway","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-673.5,"y":-2427.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"subnet-06deb021a27770578-eu-west-1c-vpc-09839929763048cfc-eu-west-1-044981683129","parent":"eu-west-1c-vpc-09839929763048cfc-eu-west-1-044981683129","level":4,"title":"subnet-06deb021a27770578","label":"subnet-06deb021a27770578","plainLabel":"subnet-06deb021a27770578","type":"subnet","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/VPC-subnet-private_light-bg-collapsed.svg","clickedId":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-06deb021a27770578","cost":0,"hasChildren":true,"children":[{"id":null,"label":"NetworkInterface","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-053cf43eeff208e35","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-053cf43eeff208e35","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-053cf43eeff208e35\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-192-168-104-109.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.104.109\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-06deb021a27770578\\\",\\\"requesterId\\\":\\\"600220326335\\\",\\\"description\\\":\\\"Amazon EKS attractive-badger-1604015308\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"eks-cluster-sg-attractive-badger-1604015308-1273556504\\\",\\\"groupId\\\":\\\"sg-0bcb1987c6667687b\\\"},{\\\"groupName\\\":\\\"eksctl-attractive-badger-1604015308-cluster-ControlPlaneSecurityGroup-1L49W8336JER8\\\",\\\"groupId\\\":\\\"sg-062dd3b9b48e7278f\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"192.168.104.109\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:78:6e:e1:f1:fd\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0caa01bdcfd7b2d55\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"600220326335\\\",\\\"attachTime\\\":\\\"2023-03-10T09:46:00.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"privateDnsName\\\":\\\"ip-192-168-104-109.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-09839929763048cfc","subnetId":"subnet-06deb021a27770578","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-053cf43eeff208e35","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-053cf43eeff208e35","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#147eba","properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-06deb021a27770578","configuration":"\"{\\\"subnetId\\\":\\\"subnet-06deb021a27770578\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-06deb021a27770578\\\",\\\"availabilityZoneId\\\":\\\"euw1-az1\\\",\\\"cidrBlock\\\":\\\"192.168.96.0/19\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster/SubnetPrivateEUWEST1C\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"1\\\",\\\"key\\\":\\\"kubernetes.io/role/internal-elb\\\"},{\\\"value\\\":\\\"shared\\\",\\\"key\\\":\\\"kubernetes.io/cluster/attractive-badger-1604015308\\\"},{\\\"value\\\":\\\"SubnetPrivateEUWEST1C\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"alpha.eksctl.io/cluster-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"0.30.0\\\",\\\"key\\\":\\\"alpha.eksctl.io/eksctl-version\\\"}],\\\"availableIpAddressCount\\\":8186,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"mapPublicIpOnLaunch\\\":false,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-09839929763048cfc","subnetId":"subnet-06deb021a27770578","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":"false","resourceId":"subnet-06deb021a27770578","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster\",\"value\":\"eksctl-attractive-badger-1604015308-cluster\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"alpha.eksctl.io/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"aws:cloudformation:logical-id=SubnetPrivateEUWEST1C\",\"value\":\"SubnetPrivateEUWEST1C\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"kubernetes.io/role/internal-elb=1\",\"value\":\"1\",\"key\":\"kubernetes.io/role/internal-elb\"},{\"tag\":\"kubernetes.io/cluster/attractive-badger-1604015308=shared\",\"value\":\"shared\",\"key\":\"kubernetes.io/cluster/attractive-badger-1604015308\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.30.0\",\"value\":\"0.30.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"},{\"tag\":\"Name=eksctl-attractive-badger-1604015308-cluster/SubnetPrivateEUWEST1C\",\"value\":\"eksctl-attractive-badger-1604015308-cluster/SubnetPrivateEUWEST1C\",\"key\":\"Name\"}]","title":"eksctl-attractive-badger-1604015308-cluster/SubnetPrivateEUWEST1C","instanceType":null,"statement":null,"dBInstanceStatus":null},"resource":{"id":"subnet-06deb021a27770578","name":null,"value":null,"type":"AWS::EC2::Subnet","tags":"[{\"tag\":\"aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster\",\"value\":\"eksctl-attractive-badger-1604015308-cluster\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"alpha.eksctl.io/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"aws:cloudformation:logical-id=SubnetPrivateEUWEST1C\",\"value\":\"SubnetPrivateEUWEST1C\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"kubernetes.io/role/internal-elb=1\",\"value\":\"1\",\"key\":\"kubernetes.io/role/internal-elb\"},{\"tag\":\"kubernetes.io/cluster/attractive-badger-1604015308=shared\",\"value\":\"shared\",\"key\":\"kubernetes.io/cluster/attractive-badger-1604015308\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.30.0\",\"value\":\"0.30.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"},{\"tag\":\"Name=eksctl-attractive-badger-1604015308-cluster/SubnetPrivateEUWEST1C\",\"value\":\"eksctl-attractive-badger-1604015308-cluster/SubnetPrivateEUWEST1C\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-06deb021a27770578","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","accountId":"044981683129"}},"position":{"x":-334.5,"y":-2630.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"subnet removeAll _gridParentPadding"},{"data":{"id":"NetworkInterface-subnet-06deb021a27770578-eu-west-1c-vpc-09839929763048cfc-eu-west-1-044981683129","parent":"subnet-06deb021a27770578-eu-west-1c-vpc-09839929763048cfc-eu-west-1-044981683129","level":5,"title":"NetworkInterface","label":"NetworkInterface","plainLabel":"NetworkInterface","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-053cf43eeff208e35","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-053cf43eeff208e35","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-053cf43eeff208e35\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-192-168-104-109.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.104.109\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-06deb021a27770578\\\",\\\"requesterId\\\":\\\"600220326335\\\",\\\"description\\\":\\\"Amazon EKS attractive-badger-1604015308\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"eks-cluster-sg-attractive-badger-1604015308-1273556504\\\",\\\"groupId\\\":\\\"sg-0bcb1987c6667687b\\\"},{\\\"groupName\\\":\\\"eksctl-attractive-badger-1604015308-cluster-ControlPlaneSecurityGroup-1L49W8336JER8\\\",\\\"groupId\\\":\\\"sg-062dd3b9b48e7278f\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"192.168.104.109\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:78:6e:e1:f1:fd\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0caa01bdcfd7b2d55\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"600220326335\\\",\\\"attachTime\\\":\\\"2023-03-10T09:46:00.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"privateDnsName\\\":\\\"ip-192-168-104-109.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-09839929763048cfc","subnetId":"subnet-06deb021a27770578","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-053cf43eeff208e35","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-053cf43eeff208e35","instanceType":null,"statement":null,"dBInstanceStatus":null}}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-334.5,"y":-2630.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-053cf43eeff208e35","resourceId":["eni-053cf43eeff208e35","arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-053cf43eeff208e35"],"parent":"NetworkInterface-subnet-06deb021a27770578-eu-west-1c-vpc-09839929763048cfc-eu-west-1-044981683129","level":6,"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-053cf43eeff208e35","title":"eni-053cf43eeff208e35","label":"eni-053cf43e...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-053cf43eeff208e35","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-053cf43eeff208e35","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-053cf43eeff208e35","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-053cf43eeff208e35","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-053cf43eeff208e35\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-192-168-104-109.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.104.109\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-06deb021a27770578\\\",\\\"requesterId\\\":\\\"600220326335\\\",\\\"description\\\":\\\"Amazon EKS attractive-badger-1604015308\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"eks-cluster-sg-attractive-badger-1604015308-1273556504\\\",\\\"groupId\\\":\\\"sg-0bcb1987c6667687b\\\"},{\\\"groupName\\\":\\\"eksctl-attractive-badger-1604015308-cluster-ControlPlaneSecurityGroup-1L49W8336JER8\\\",\\\"groupId\\\":\\\"sg-062dd3b9b48e7278f\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"192.168.104.109\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:78:6e:e1:f1:fd\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0caa01bdcfd7b2d55\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"600220326335\\\",\\\"attachTime\\\":\\\"2023-03-10T09:46:00.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"privateDnsName\\\":\\\"ip-192-168-104-109.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-09839929763048cfc","subnetId":"subnet-06deb021a27770578","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-053cf43eeff208e35","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-053cf43eeff208e35","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-334.5,"y":-2630.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"subnet-040b12c6ae776ea8a-eu-west-1b-vpc-09839929763048cfc-eu-west-1-044981683129","parent":"eu-west-1b-vpc-09839929763048cfc-eu-west-1-044981683129","level":4,"title":"subnet-040b12c6ae776ea8a","label":"subnet-040b12c6ae776ea8a","plainLabel":"subnet-040b12c6ae776ea8a","type":"subnet","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/VPC-subnet-private_light-bg-collapsed.svg","clickedId":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-040b12c6ae776ea8a","cost":0,"hasChildren":true,"children":[{"id":null,"label":"NetworkInterface","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-023092cb4c6311c93","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-023092cb4c6311c93","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-023092cb4c6311c93\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-192-168-165-25.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.165.25\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-040b12c6ae776ea8a\\\",\\\"requesterId\\\":\\\"600220326335\\\",\\\"description\\\":\\\"Amazon EKS attractive-badger-1604015308\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"eks-cluster-sg-attractive-badger-1604015308-1273556504\\\",\\\"groupId\\\":\\\"sg-0bcb1987c6667687b\\\"},{\\\"groupName\\\":\\\"eksctl-attractive-badger-1604015308-cluster-ControlPlaneSecurityGroup-1L49W8336JER8\\\",\\\"groupId\\\":\\\"sg-062dd3b9b48e7278f\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"192.168.165.25\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:7b:13:1f:53:25\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-07b6a8234648aafa6\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"600220326335\\\",\\\"attachTime\\\":\\\"2023-03-10T09:39:59.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"privateDnsName\\\":\\\"ip-192-168-165-25.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-09839929763048cfc","subnetId":"subnet-040b12c6ae776ea8a","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-023092cb4c6311c93","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-023092cb4c6311c93","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#147eba","properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-040b12c6ae776ea8a","configuration":"\"{\\\"subnetId\\\":\\\"subnet-040b12c6ae776ea8a\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-040b12c6ae776ea8a\\\",\\\"availabilityZoneId\\\":\\\"euw1-az3\\\",\\\"cidrBlock\\\":\\\"192.168.160.0/19\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"SubnetPrivateEUWEST1B\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster/SubnetPrivateEUWEST1B\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"1\\\",\\\"key\\\":\\\"kubernetes.io/role/internal-elb\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"alpha.eksctl.io/cluster-name\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\\\"},{\\\"value\\\":\\\"shared\\\",\\\"key\\\":\\\"kubernetes.io/cluster/attractive-badger-1604015308\\\"},{\\\"value\\\":\\\"0.30.0\\\",\\\"key\\\":\\\"alpha.eksctl.io/eksctl-version\\\"}],\\\"availableIpAddressCount\\\":8186,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"mapPublicIpOnLaunch\\\":false,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-09839929763048cfc","subnetId":"subnet-040b12c6ae776ea8a","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":"false","resourceId":"subnet-040b12c6ae776ea8a","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster\",\"value\":\"eksctl-attractive-badger-1604015308-cluster\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"alpha.eksctl.io/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"aws:cloudformation:logical-id=SubnetPrivateEUWEST1B\",\"value\":\"SubnetPrivateEUWEST1B\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"kubernetes.io/role/internal-elb=1\",\"value\":\"1\",\"key\":\"kubernetes.io/role/internal-elb\"},{\"tag\":\"kubernetes.io/cluster/attractive-badger-1604015308=shared\",\"value\":\"shared\",\"key\":\"kubernetes.io/cluster/attractive-badger-1604015308\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.30.0\",\"value\":\"0.30.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"},{\"tag\":\"Name=eksctl-attractive-badger-1604015308-cluster/SubnetPrivateEUWEST1B\",\"value\":\"eksctl-attractive-badger-1604015308-cluster/SubnetPrivateEUWEST1B\",\"key\":\"Name\"}]","title":"eksctl-attractive-badger-1604015308-cluster/SubnetPrivateEUWEST1B","instanceType":null,"statement":null,"dBInstanceStatus":null},"resource":{"id":"subnet-040b12c6ae776ea8a","name":null,"value":null,"type":"AWS::EC2::Subnet","tags":"[{\"tag\":\"aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster\",\"value\":\"eksctl-attractive-badger-1604015308-cluster\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"alpha.eksctl.io/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"aws:cloudformation:logical-id=SubnetPrivateEUWEST1B\",\"value\":\"SubnetPrivateEUWEST1B\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"kubernetes.io/role/internal-elb=1\",\"value\":\"1\",\"key\":\"kubernetes.io/role/internal-elb\"},{\"tag\":\"kubernetes.io/cluster/attractive-badger-1604015308=shared\",\"value\":\"shared\",\"key\":\"kubernetes.io/cluster/attractive-badger-1604015308\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.30.0\",\"value\":\"0.30.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"},{\"tag\":\"Name=eksctl-attractive-badger-1604015308-cluster/SubnetPrivateEUWEST1B\",\"value\":\"eksctl-attractive-badger-1604015308-cluster/SubnetPrivateEUWEST1B\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-040b12c6ae776ea8a","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","accountId":"044981683129"}},"position":{"x":-673.5,"y":-2098.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"subnet removeAll _gridParentPadding"},{"data":{"id":"NetworkInterface-subnet-040b12c6ae776ea8a-eu-west-1b-vpc-09839929763048cfc-eu-west-1-044981683129","parent":"subnet-040b12c6ae776ea8a-eu-west-1b-vpc-09839929763048cfc-eu-west-1-044981683129","level":5,"title":"NetworkInterface","label":"NetworkInterface","plainLabel":"NetworkInterface","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-023092cb4c6311c93","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-023092cb4c6311c93","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-023092cb4c6311c93\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-192-168-165-25.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.165.25\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-040b12c6ae776ea8a\\\",\\\"requesterId\\\":\\\"600220326335\\\",\\\"description\\\":\\\"Amazon EKS attractive-badger-1604015308\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"eks-cluster-sg-attractive-badger-1604015308-1273556504\\\",\\\"groupId\\\":\\\"sg-0bcb1987c6667687b\\\"},{\\\"groupName\\\":\\\"eksctl-attractive-badger-1604015308-cluster-ControlPlaneSecurityGroup-1L49W8336JER8\\\",\\\"groupId\\\":\\\"sg-062dd3b9b48e7278f\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"192.168.165.25\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:7b:13:1f:53:25\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-07b6a8234648aafa6\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"600220326335\\\",\\\"attachTime\\\":\\\"2023-03-10T09:39:59.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"privateDnsName\\\":\\\"ip-192-168-165-25.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-09839929763048cfc","subnetId":"subnet-040b12c6ae776ea8a","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-023092cb4c6311c93","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-023092cb4c6311c93","instanceType":null,"statement":null,"dBInstanceStatus":null}}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-673.5,"y":-2098.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-023092cb4c6311c93","resourceId":["eni-023092cb4c6311c93","arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-023092cb4c6311c93"],"parent":"NetworkInterface-subnet-040b12c6ae776ea8a-eu-west-1b-vpc-09839929763048cfc-eu-west-1-044981683129","level":6,"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-023092cb4c6311c93","title":"eni-023092cb4c6311c93","label":"eni-023092cb...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-023092cb4c6311c93","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-023092cb4c6311c93","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-023092cb4c6311c93","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-023092cb4c6311c93","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-023092cb4c6311c93\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-192-168-165-25.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.165.25\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-040b12c6ae776ea8a\\\",\\\"requesterId\\\":\\\"600220326335\\\",\\\"description\\\":\\\"Amazon EKS attractive-badger-1604015308\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"eks-cluster-sg-attractive-badger-1604015308-1273556504\\\",\\\"groupId\\\":\\\"sg-0bcb1987c6667687b\\\"},{\\\"groupName\\\":\\\"eksctl-attractive-badger-1604015308-cluster-ControlPlaneSecurityGroup-1L49W8336JER8\\\",\\\"groupId\\\":\\\"sg-062dd3b9b48e7278f\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"192.168.165.25\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:7b:13:1f:53:25\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-07b6a8234648aafa6\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"600220326335\\\",\\\"attachTime\\\":\\\"2023-03-10T09:39:59.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"privateDnsName\\\":\\\"ip-192-168-165-25.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-09839929763048cfc","subnetId":"subnet-040b12c6ae776ea8a","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-023092cb4c6311c93","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-023092cb4c6311c93","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-673.5,"y":-2098.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"subnet-07a6385d759763604-eu-west-1a-vpc-09839929763048cfc-eu-west-1-044981683129","parent":"eu-west-1a-vpc-09839929763048cfc-eu-west-1-044981683129","level":4,"title":"subnet-07a6385d759763604","label":"subnet-07a6385d759763604","plainLabel":"subnet-07a6385d759763604","type":"subnet","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/VPC-subnet-private_light-bg-collapsed.svg","clickedId":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-07a6385d759763604","cost":0,"hasChildren":true,"children":[{"id":null,"label":"NetworkInterface","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-042b61ae6b9558d21","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-042b61ae6b9558d21","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-042b61ae6b9558d21\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-192-168-50-14.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.50.14\\\",\\\"primary\\\":true},{\\\"privateDnsName\\\":\\\"ip-192-168-61-249.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.61.249\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-40-42.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.40.42\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-56-156.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.56.156\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-52-189.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.52.189\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-56-30.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.56.30\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-60-160.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.60.160\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-49-114.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.49.114\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-63-101.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.63.101\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-44-85.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.44.85\\\",\\\"primary\\\":false}],\\\"subnetId\\\":\\\"subnet-07a6385d759763604\\\",\\\"requesterId\\\":\\\"AROAQU6I6AO4ZO5Y2J6HU:i-0d6dc57f292feae19\\\",\\\"description\\\":\\\"aws-K8S-i-0d6dc57f292feae19\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"eks-cluster-sg-attractive-badger-1604015308-1273556504\\\",\\\"groupId\\\":\\\"sg-0bcb1987c6667687b\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"192.168.50.14\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[{\\\"value\\\":\\\"2020-10-30T02:21:13Z\\\",\\\"key\\\":\\\"node.k8s.amazonaws.com/createdAt\\\"},{\\\"value\\\":\\\"i-0d6dc57f292feae19\\\",\\\"key\\\":\\\"node.k8s.amazonaws.com/instance_id\\\"}],\\\"macAddress\\\":\\\"06:43:4d:60:05:d5\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"instanceId\\\":\\\"i-0d6dc57f292feae19\\\",\\\"attachmentId\\\":\\\"eni-attach-0acfe3a6e193fd639\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"044981683129\\\",\\\"attachTime\\\":\\\"2020-10-30T02:21:14.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"privateDnsName\\\":\\\"ip-192-168-50-14.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-09839929763048cfc","subnetId":"subnet-07a6385d759763604","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-042b61ae6b9558d21","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[{\"tag\":\"node.k8s.amazonaws.com/instance_id=i-0d6dc57f292feae19\",\"value\":\"i-0d6dc57f292feae19\",\"key\":\"node.k8s.amazonaws.com/instance_id\"},{\"tag\":\"node.k8s.amazonaws.com/createdAt=2020-10-30T02:21:13Z\",\"value\":\"2020-10-30T02:21:13Z\",\"key\":\"node.k8s.amazonaws.com/createdAt\"}]","title":"eni-042b61ae6b9558d21","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0f82403202f592988","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0f82403202f592988","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0f82403202f592988\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"3.248.222.37\\\",\\\"publicDnsName\\\":\\\"ec2-3-248-222-37.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-192-168-56-232.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.56.232\\\",\\\"primary\\\":true},{\\\"privateDnsName\\\":\\\"ip-192-168-38-232.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.38.232\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-33-253.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.33.253\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-39-194.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.39.194\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-51-178.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.51.178\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-40-163.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.40.163\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-56-243.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.56.243\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-57-227.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.57.227\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-57-36.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.57.36\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-32-181.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.32.181\\\",\\\"primary\\\":false}],\\\"subnetId\\\":\\\"subnet-07a6385d759763604\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"3.248.222.37\\\",\\\"publicDnsName\\\":\\\"ec2-3-248-222-37.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"eks-cluster-sg-attractive-badger-1604015308-1273556504\\\",\\\"groupId\\\":\\\"sg-0bcb1987c6667687b\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"192.168.56.232\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:c6:f7:ee:11:59\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"instanceId\\\":\\\"i-0d6dc57f292feae19\\\",\\\"attachmentId\\\":\\\"eni-attach-066082615feff427a\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"instanceOwnerId\\\":\\\"044981683129\\\",\\\"attachTime\\\":\\\"2020-10-30T00:09:12.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"privateDnsName\\\":\\\"ip-192-168-56-232.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-09839929763048cfc","subnetId":"subnet-07a6385d759763604","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0f82403202f592988","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0f82403202f592988","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-06723dbc83ce589dd","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-06723dbc83ce589dd","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-06723dbc83ce589dd\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon-elb\\\",\\\"publicIp\\\":\\\"54.73.0.75\\\",\\\"publicDnsName\\\":\\\"ec2-54-73-0-75.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-192-168-43-141.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.43.141\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-07a6385d759763604\\\",\\\"requesterId\\\":\\\"amazon-elb\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon-elb\\\",\\\"publicIp\\\":\\\"54.73.0.75\\\",\\\"publicDnsName\\\":\\\"ec2-54-73-0-75.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"ELB a3af06af9830647219ca4bb76e335070\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"k8s-elb-a3af06af9830647219ca4bb76e335070\\\",\\\"groupId\\\":\\\"sg-0f682d01b121c4504\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"192.168.43.141\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:34:dc:32:f8:77\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-03a559581dfb82dfa\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-elb\\\",\\\"attachTime\\\":\\\"2023-04-13T04:57:55.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"privateDnsName\\\":\\\"ip-192-168-43-141.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-09839929763048cfc","subnetId":"subnet-07a6385d759763604","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-06723dbc83ce589dd","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-06723dbc83ce589dd","instanceType":null,"statement":null,"dBInstanceStatus":null}}]},{"id":null,"label":"Instance","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:instance/i-0d6dc57f292feae19","label":"AWS_EC2_Instance","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:instance/i-0d6dc57f292feae19","configuration":"\"{\\\"subnetId\\\":\\\"subnet-07a6385d759763604\\\",\\\"virtualizationType\\\":\\\"hvm\\\",\\\"capacityReservationSpecification\\\":{\\\"capacityReservationPreference\\\":\\\"open\\\"},\\\"amiLaunchIndex\\\":0,\\\"enaSupport\\\":true,\\\"elasticInferenceAcceleratorAssociations\\\":[],\\\"sourceDestCheck\\\":true,\\\"hibernationOptions\\\":{\\\"configured\\\":false},\\\"instanceId\\\":\\\"i-0d6dc57f292feae19\\\",\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"hypervisor\\\":\\\"xen\\\",\\\"rootDeviceName\\\":\\\"/dev/xvda\\\",\\\"productCodes\\\":[],\\\"state\\\":{\\\"code\\\":\\\"16\\\",\\\"name\\\":\\\"running\\\"},\\\"architecture\\\":\\\"x86_64\\\",\\\"ebsOptimized\\\":false,\\\"imageId\\\":\\\"ami-0ca9e57915fd7e017\\\",\\\"blockDeviceMappings\\\":[{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-0e70971b0fc3b875f\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2020-10-30T00:09:13.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvda\\\"}],\\\"publicIpAddress\\\":\\\"3.248.222.37\\\",\\\"stateTransitionReason\\\":\\\"\\\",\\\"clientToken\\\":\\\"fleet-228a6666-5c2b-8188-2cb2-8b0233ae5d94-0\\\",\\\"instanceType\\\":\\\"m5.large\\\",\\\"cpuOptions\\\":{\\\"threadsPerCore\\\":2,\\\"coreCount\\\":1},\\\"monitoring\\\":{\\\"state\\\":\\\"disabled\\\"},\\\"publicDnsName\\\":\\\"ec2-3-248-222-37.eu-west-1.compute.amazonaws.com\\\",\\\"iamInstanceProfile\\\":{\\\"id\\\":\\\"AIPAQU6I6AO437UEUY4FE\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:instance-profile/eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3\\\"},\\\"privateIpAddress\\\":\\\"192.168.56.232\\\",\\\"rootDeviceType\\\":\\\"ebs\\\",\\\"tags\\\":[{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"eks:cluster-name\\\"},{\\\"value\\\":\\\"owned\\\",\\\"key\\\":\\\"kubernetes.io/cluster/attractive-badger-1604015308\\\"},{\\\"value\\\":\\\"ng-608957a7\\\",\\\"key\\\":\\\"alpha.eksctl.io/nodegroup-name\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"aws:eks:cluster-name\\\"},{\\\"value\\\":\\\"owned\\\",\\\"key\\\":\\\"k8s.io/cluster-autoscaler/attractive-badger-1604015308\\\"},{\\\"value\\\":\\\"eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3\\\",\\\"key\\\":\\\"aws:autoscaling:groupName\\\"},{\\\"value\\\":\\\"lt-09c499a8e3e1ce269\\\",\\\"key\\\":\\\"aws:ec2launchtemplate:id\\\"},{\\\"value\\\":\\\"ng-608957a7\\\",\\\"key\\\":\\\"eks:nodegroup-name\\\"},{\\\"value\\\":\\\"1\\\",\\\"key\\\":\\\"aws:ec2launchtemplate:version\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308-ng-608957a7-Node\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"fleet-228a6666-5c2b-8188-2cb2-8b0233ae5d94\\\",\\\"key\\\":\\\"aws:ec2:fleet-id\\\"},{\\\"value\\\":\\\"managed\\\",\\\"key\\\":\\\"alpha.eksctl.io/nodegroup-type\\\"},{\\\"value\\\":\\\"true\\\",\\\"key\\\":\\\"k8s.io/cluster-autoscaler/enabled\\\"}],\\\"enclaveOptions\\\":{\\\"enabled\\\":false},\\\"launchTime\\\":\\\"2020-10-30T00:09:12.000Z\\\",\\\"elasticGpuAssociations\\\":[],\\\"licenses\\\":[],\\\"networkInterfaces\\\":[{\\\"networkInterfaceId\\\":\\\"eni-0f82403202f592988\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"3.248.222.37\\\",\\\"publicDnsName\\\":\\\"ec2-3-248-222-37.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-192-168-56-232.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.56.232\\\",\\\"primary\\\":true},{\\\"privateDnsName\\\":\\\"ip-192-168-38-232.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.38.232\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-33-253.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.33.253\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-39-194.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.39.194\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-51-178.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.51.178\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-40-163.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.40.163\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-56-243.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.56.243\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-57-227.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.57.227\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-57-36.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.57.36\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-32-181.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.32.181\\\",\\\"primary\\\":false}],\\\"subnetId\\\":\\\"subnet-07a6385d759763604\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"3.248.222.37\\\",\\\"publicDnsName\\\":\\\"ec2-3-248-222-37.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"eks-cluster-sg-attractive-badger-1604015308-1273556504\\\",\\\"groupId\\\":\\\"sg-0bcb1987c6667687b\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"privateIpAddress\\\":\\\"192.168.56.232\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"macAddress\\\":\\\"06:c6:f7:ee:11:59\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-066082615feff427a\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"attachTime\\\":\\\"2020-10-30T00:09:12.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"privateDnsName\\\":\\\"ip-192-168-56-232.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"},{\\\"networkInterfaceId\\\":\\\"eni-042b61ae6b9558d21\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-192-168-50-14.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.50.14\\\",\\\"primary\\\":true},{\\\"privateDnsName\\\":\\\"ip-192-168-61-249.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.61.249\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-40-42.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.40.42\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-56-156.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.56.156\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-52-189.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.52.189\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-56-30.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.56.30\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-60-160.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.60.160\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-49-114.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.49.114\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-63-101.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.63.101\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-44-85.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.44.85\\\",\\\"primary\\\":false}],\\\"subnetId\\\":\\\"subnet-07a6385d759763604\\\",\\\"description\\\":\\\"aws-K8S-i-0d6dc57f292feae19\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"eks-cluster-sg-attractive-badger-1604015308-1273556504\\\",\\\"groupId\\\":\\\"sg-0bcb1987c6667687b\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"privateIpAddress\\\":\\\"192.168.50.14\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"macAddress\\\":\\\"06:43:4d:60:05:d5\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0acfe3a6e193fd639\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":1,\\\"attachTime\\\":\\\"2020-10-30T02:21:14.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"privateDnsName\\\":\\\"ip-192-168-50-14.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}],\\\"metadataOptions\\\":{\\\"httpPutResponseHopLimit\\\":2,\\\"httpEndpoint\\\":\\\"enabled\\\",\\\"state\\\":\\\"applied\\\",\\\"httpTokens\\\":\\\"optional\\\"},\\\"privateDnsName\\\":\\\"ip-192-168-56-232.eu-west-1.compute.internal\\\",\\\"securityGroups\\\":[{\\\"groupName\\\":\\\"eks-cluster-sg-attractive-badger-1604015308-1273556504\\\",\\\"groupId\\\":\\\"sg-0bcb1987c6667687b\\\"}],\\\"placement\\\":{\\\"groupName\\\":\\\"\\\",\\\"tenancy\\\":\\\"default\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\"}}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-09839929763048cfc","subnetId":"subnet-07a6385d759763604","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#Instances:sort=instanceId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#Instances:sort=instanceId","private":null,"resourceId":"i-0d6dc57f292feae19","resourceName":null,"resourceType":"AWS::EC2::Instance","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:eks:cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"aws:eks:cluster-name\"},{\"tag\":\"k8s.io/cluster-autoscaler/attractive-badger-1604015308=owned\",\"value\":\"owned\",\"key\":\"k8s.io/cluster-autoscaler/attractive-badger-1604015308\"},{\"tag\":\"eks:cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eks:cluster-name\"},{\"tag\":\"alpha.eksctl.io/nodegroup-type=managed\",\"value\":\"managed\",\"key\":\"alpha.eksctl.io/nodegroup-type\"},{\"tag\":\"aws:ec2launchtemplate:version=1\",\"value\":\"1\",\"key\":\"aws:ec2launchtemplate:version\"},{\"tag\":\"k8s.io/cluster-autoscaler/enabled=true\",\"value\":\"true\",\"key\":\"k8s.io/cluster-autoscaler/enabled\"},{\"tag\":\"Name=attractive-badger-1604015308-ng-608957a7-Node\",\"value\":\"attractive-badger-1604015308-ng-608957a7-Node\",\"key\":\"Name\"},{\"tag\":\"aws:autoscaling:groupName=eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3\",\"value\":\"eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3\",\"key\":\"aws:autoscaling:groupName\"},{\"tag\":\"aws:ec2:fleet-id=fleet-228a6666-5c2b-8188-2cb2-8b0233ae5d94\",\"value\":\"fleet-228a6666-5c2b-8188-2cb2-8b0233ae5d94\",\"key\":\"aws:ec2:fleet-id\"},{\"tag\":\"alpha.eksctl.io/nodegroup-name=ng-608957a7\",\"value\":\"ng-608957a7\",\"key\":\"alpha.eksctl.io/nodegroup-name\"},{\"tag\":\"eks:nodegroup-name=ng-608957a7\",\"value\":\"ng-608957a7\",\"key\":\"eks:nodegroup-name\"},{\"tag\":\"kubernetes.io/cluster/attractive-badger-1604015308=owned\",\"value\":\"owned\",\"key\":\"kubernetes.io/cluster/attractive-badger-1604015308\"},{\"tag\":\"aws:ec2launchtemplate:id=lt-09c499a8e3e1ce269\",\"value\":\"lt-09c499a8e3e1ce269\",\"key\":\"aws:ec2launchtemplate:id\"}]","title":"attractive-badger-1604015308-ng-608957a7-Node","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#147eba","properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-07a6385d759763604","configuration":"\"{\\\"subnetId\\\":\\\"subnet-07a6385d759763604\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-07a6385d759763604\\\",\\\"availabilityZoneId\\\":\\\"euw1-az2\\\",\\\"cidrBlock\\\":\\\"192.168.32.0/19\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"shared\\\",\\\"key\\\":\\\"kubernetes.io/cluster/attractive-badger-1604015308\\\"},{\\\"value\\\":\\\"SubnetPublicEUWEST1A\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1A\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"0.30.0\\\",\\\"key\\\":\\\"alpha.eksctl.io/eksctl-version\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"alpha.eksctl.io/cluster-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\\\"},{\\\"value\\\":\\\"1\\\",\\\"key\\\":\\\"kubernetes.io/role/elb\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"}],\\\"availableIpAddressCount\\\":8166,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"mapPublicIpOnLaunch\\\":true,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-09839929763048cfc","subnetId":"subnet-07a6385d759763604","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":"true","resourceId":"subnet-07a6385d759763604","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster\",\"value\":\"eksctl-attractive-badger-1604015308-cluster\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"alpha.eksctl.io/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"aws:cloudformation:logical-id=SubnetPublicEUWEST1A\",\"value\":\"SubnetPublicEUWEST1A\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"kubernetes.io/role/elb=1\",\"value\":\"1\",\"key\":\"kubernetes.io/role/elb\"},{\"tag\":\"kubernetes.io/cluster/attractive-badger-1604015308=shared\",\"value\":\"shared\",\"key\":\"kubernetes.io/cluster/attractive-badger-1604015308\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.30.0\",\"value\":\"0.30.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"},{\"tag\":\"Name=eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1A\",\"value\":\"eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1A\",\"key\":\"Name\"}]","title":"eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1A","instanceType":null,"statement":null,"dBInstanceStatus":null},"resource":{"id":"subnet-07a6385d759763604","name":null,"value":null,"type":"AWS::EC2::Subnet","tags":"[{\"tag\":\"aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster\",\"value\":\"eksctl-attractive-badger-1604015308-cluster\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"alpha.eksctl.io/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"aws:cloudformation:logical-id=SubnetPublicEUWEST1A\",\"value\":\"SubnetPublicEUWEST1A\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"kubernetes.io/role/elb=1\",\"value\":\"1\",\"key\":\"kubernetes.io/role/elb\"},{\"tag\":\"kubernetes.io/cluster/attractive-badger-1604015308=shared\",\"value\":\"shared\",\"key\":\"kubernetes.io/cluster/attractive-badger-1604015308\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.30.0\",\"value\":\"0.30.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"},{\"tag\":\"Name=eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1A\",\"value\":\"eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1A\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-07a6385d759763604","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","accountId":"044981683129"}},"position":{"x":-48.5,"y":-2593.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"subnet removeAll _gridParentPadding"},{"data":{"id":"NetworkInterface-subnet-07a6385d759763604-eu-west-1a-vpc-09839929763048cfc-eu-west-1-044981683129","parent":"subnet-07a6385d759763604-eu-west-1a-vpc-09839929763048cfc-eu-west-1-044981683129","level":5,"title":"NetworkInterface","label":"NetworkInterface","plainLabel":"NetworkInterface","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-042b61ae6b9558d21","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-042b61ae6b9558d21","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-042b61ae6b9558d21\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-192-168-50-14.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.50.14\\\",\\\"primary\\\":true},{\\\"privateDnsName\\\":\\\"ip-192-168-61-249.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.61.249\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-40-42.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.40.42\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-56-156.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.56.156\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-52-189.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.52.189\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-56-30.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.56.30\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-60-160.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.60.160\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-49-114.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.49.114\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-63-101.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.63.101\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-44-85.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.44.85\\\",\\\"primary\\\":false}],\\\"subnetId\\\":\\\"subnet-07a6385d759763604\\\",\\\"requesterId\\\":\\\"AROAQU6I6AO4ZO5Y2J6HU:i-0d6dc57f292feae19\\\",\\\"description\\\":\\\"aws-K8S-i-0d6dc57f292feae19\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"eks-cluster-sg-attractive-badger-1604015308-1273556504\\\",\\\"groupId\\\":\\\"sg-0bcb1987c6667687b\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"192.168.50.14\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[{\\\"value\\\":\\\"2020-10-30T02:21:13Z\\\",\\\"key\\\":\\\"node.k8s.amazonaws.com/createdAt\\\"},{\\\"value\\\":\\\"i-0d6dc57f292feae19\\\",\\\"key\\\":\\\"node.k8s.amazonaws.com/instance_id\\\"}],\\\"macAddress\\\":\\\"06:43:4d:60:05:d5\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"instanceId\\\":\\\"i-0d6dc57f292feae19\\\",\\\"attachmentId\\\":\\\"eni-attach-0acfe3a6e193fd639\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"044981683129\\\",\\\"attachTime\\\":\\\"2020-10-30T02:21:14.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"privateDnsName\\\":\\\"ip-192-168-50-14.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-09839929763048cfc","subnetId":"subnet-07a6385d759763604","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-042b61ae6b9558d21","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[{\"tag\":\"node.k8s.amazonaws.com/instance_id=i-0d6dc57f292feae19\",\"value\":\"i-0d6dc57f292feae19\",\"key\":\"node.k8s.amazonaws.com/instance_id\"},{\"tag\":\"node.k8s.amazonaws.com/createdAt=2020-10-30T02:21:13Z\",\"value\":\"2020-10-30T02:21:13Z\",\"key\":\"node.k8s.amazonaws.com/createdAt\"}]","title":"eni-042b61ae6b9558d21","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0f82403202f592988","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0f82403202f592988","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0f82403202f592988\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"3.248.222.37\\\",\\\"publicDnsName\\\":\\\"ec2-3-248-222-37.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-192-168-56-232.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.56.232\\\",\\\"primary\\\":true},{\\\"privateDnsName\\\":\\\"ip-192-168-38-232.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.38.232\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-33-253.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.33.253\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-39-194.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.39.194\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-51-178.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.51.178\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-40-163.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.40.163\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-56-243.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.56.243\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-57-227.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.57.227\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-57-36.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.57.36\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-32-181.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.32.181\\\",\\\"primary\\\":false}],\\\"subnetId\\\":\\\"subnet-07a6385d759763604\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"3.248.222.37\\\",\\\"publicDnsName\\\":\\\"ec2-3-248-222-37.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"eks-cluster-sg-attractive-badger-1604015308-1273556504\\\",\\\"groupId\\\":\\\"sg-0bcb1987c6667687b\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"192.168.56.232\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:c6:f7:ee:11:59\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"instanceId\\\":\\\"i-0d6dc57f292feae19\\\",\\\"attachmentId\\\":\\\"eni-attach-066082615feff427a\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"instanceOwnerId\\\":\\\"044981683129\\\",\\\"attachTime\\\":\\\"2020-10-30T00:09:12.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"privateDnsName\\\":\\\"ip-192-168-56-232.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-09839929763048cfc","subnetId":"subnet-07a6385d759763604","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0f82403202f592988","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0f82403202f592988","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-06723dbc83ce589dd","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-06723dbc83ce589dd","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-06723dbc83ce589dd\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon-elb\\\",\\\"publicIp\\\":\\\"54.73.0.75\\\",\\\"publicDnsName\\\":\\\"ec2-54-73-0-75.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-192-168-43-141.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.43.141\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-07a6385d759763604\\\",\\\"requesterId\\\":\\\"amazon-elb\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon-elb\\\",\\\"publicIp\\\":\\\"54.73.0.75\\\",\\\"publicDnsName\\\":\\\"ec2-54-73-0-75.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"ELB a3af06af9830647219ca4bb76e335070\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"k8s-elb-a3af06af9830647219ca4bb76e335070\\\",\\\"groupId\\\":\\\"sg-0f682d01b121c4504\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"192.168.43.141\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:34:dc:32:f8:77\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-03a559581dfb82dfa\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-elb\\\",\\\"attachTime\\\":\\\"2023-04-13T04:57:55.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"privateDnsName\\\":\\\"ip-192-168-43-141.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-09839929763048cfc","subnetId":"subnet-07a6385d759763604","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-06723dbc83ce589dd","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-06723dbc83ce589dd","instanceType":null,"statement":null,"dBInstanceStatus":null}}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-105,"y":-2593.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-042b61ae6b9558d21","resourceId":["eni-042b61ae6b9558d21","arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-042b61ae6b9558d21"],"parent":"NetworkInterface-subnet-07a6385d759763604-eu-west-1a-vpc-09839929763048cfc-eu-west-1-044981683129","level":6,"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-042b61ae6b9558d21","title":"eni-042b61ae6b9558d21","label":"eni-042b61ae...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-042b61ae6b9558d21","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-042b61ae6b9558d21","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[{\"tag\":\"node.k8s.amazonaws.com/instance_id=i-0d6dc57f292feae19\",\"value\":\"i-0d6dc57f292feae19\",\"key\":\"node.k8s.amazonaws.com/instance_id\"},{\"tag\":\"node.k8s.amazonaws.com/createdAt=2020-10-30T02:21:13Z\",\"value\":\"2020-10-30T02:21:13Z\",\"key\":\"node.k8s.amazonaws.com/createdAt\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-042b61ae6b9558d21","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-042b61ae6b9558d21","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-042b61ae6b9558d21\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-192-168-50-14.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.50.14\\\",\\\"primary\\\":true},{\\\"privateDnsName\\\":\\\"ip-192-168-61-249.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.61.249\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-40-42.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.40.42\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-56-156.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.56.156\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-52-189.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.52.189\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-56-30.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.56.30\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-60-160.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.60.160\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-49-114.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.49.114\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-63-101.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.63.101\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-44-85.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.44.85\\\",\\\"primary\\\":false}],\\\"subnetId\\\":\\\"subnet-07a6385d759763604\\\",\\\"requesterId\\\":\\\"AROAQU6I6AO4ZO5Y2J6HU:i-0d6dc57f292feae19\\\",\\\"description\\\":\\\"aws-K8S-i-0d6dc57f292feae19\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"eks-cluster-sg-attractive-badger-1604015308-1273556504\\\",\\\"groupId\\\":\\\"sg-0bcb1987c6667687b\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"192.168.50.14\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[{\\\"value\\\":\\\"2020-10-30T02:21:13Z\\\",\\\"key\\\":\\\"node.k8s.amazonaws.com/createdAt\\\"},{\\\"value\\\":\\\"i-0d6dc57f292feae19\\\",\\\"key\\\":\\\"node.k8s.amazonaws.com/instance_id\\\"}],\\\"macAddress\\\":\\\"06:43:4d:60:05:d5\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"instanceId\\\":\\\"i-0d6dc57f292feae19\\\",\\\"attachmentId\\\":\\\"eni-attach-0acfe3a6e193fd639\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"044981683129\\\",\\\"attachTime\\\":\\\"2020-10-30T02:21:14.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"privateDnsName\\\":\\\"ip-192-168-50-14.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-09839929763048cfc","subnetId":"subnet-07a6385d759763604","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-042b61ae6b9558d21","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[{\"tag\":\"node.k8s.amazonaws.com/instance_id=i-0d6dc57f292feae19\",\"value\":\"i-0d6dc57f292feae19\",\"key\":\"node.k8s.amazonaws.com/instance_id\"},{\"tag\":\"node.k8s.amazonaws.com/createdAt=2020-10-30T02:21:13Z\",\"value\":\"2020-10-30T02:21:13Z\",\"key\":\"node.k8s.amazonaws.com/createdAt\"}]","title":"eni-042b61ae6b9558d21","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-141.5,"y":-2630.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0f82403202f592988","resourceId":["eni-0f82403202f592988","arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0f82403202f592988"],"parent":"NetworkInterface-subnet-07a6385d759763604-eu-west-1a-vpc-09839929763048cfc-eu-west-1-044981683129","level":6,"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0f82403202f592988","title":"eni-0f82403202f592988","label":"eni-0f824032...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0f82403202f592988","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-0f82403202f592988","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0f82403202f592988","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0f82403202f592988","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0f82403202f592988\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"3.248.222.37\\\",\\\"publicDnsName\\\":\\\"ec2-3-248-222-37.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-192-168-56-232.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.56.232\\\",\\\"primary\\\":true},{\\\"privateDnsName\\\":\\\"ip-192-168-38-232.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.38.232\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-33-253.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.33.253\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-39-194.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.39.194\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-51-178.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.51.178\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-40-163.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.40.163\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-56-243.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.56.243\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-57-227.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.57.227\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-57-36.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.57.36\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-32-181.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.32.181\\\",\\\"primary\\\":false}],\\\"subnetId\\\":\\\"subnet-07a6385d759763604\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"3.248.222.37\\\",\\\"publicDnsName\\\":\\\"ec2-3-248-222-37.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"eks-cluster-sg-attractive-badger-1604015308-1273556504\\\",\\\"groupId\\\":\\\"sg-0bcb1987c6667687b\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"192.168.56.232\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:c6:f7:ee:11:59\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"instanceId\\\":\\\"i-0d6dc57f292feae19\\\",\\\"attachmentId\\\":\\\"eni-attach-066082615feff427a\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"instanceOwnerId\\\":\\\"044981683129\\\",\\\"attachTime\\\":\\\"2020-10-30T00:09:12.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"privateDnsName\\\":\\\"ip-192-168-56-232.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-09839929763048cfc","subnetId":"subnet-07a6385d759763604","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0f82403202f592988","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0f82403202f592988","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-68.5,"y":-2630.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-06723dbc83ce589dd","resourceId":["eni-06723dbc83ce589dd","arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-06723dbc83ce589dd"],"parent":"NetworkInterface-subnet-07a6385d759763604-eu-west-1a-vpc-09839929763048cfc-eu-west-1-044981683129","level":6,"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-06723dbc83ce589dd","title":"eni-06723dbc83ce589dd","label":"eni-06723dbc...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-06723dbc83ce589dd","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-06723dbc83ce589dd","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-06723dbc83ce589dd","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-06723dbc83ce589dd","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-06723dbc83ce589dd\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon-elb\\\",\\\"publicIp\\\":\\\"54.73.0.75\\\",\\\"publicDnsName\\\":\\\"ec2-54-73-0-75.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-192-168-43-141.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.43.141\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-07a6385d759763604\\\",\\\"requesterId\\\":\\\"amazon-elb\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon-elb\\\",\\\"publicIp\\\":\\\"54.73.0.75\\\",\\\"publicDnsName\\\":\\\"ec2-54-73-0-75.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"ELB a3af06af9830647219ca4bb76e335070\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"k8s-elb-a3af06af9830647219ca4bb76e335070\\\",\\\"groupId\\\":\\\"sg-0f682d01b121c4504\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"192.168.43.141\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:34:dc:32:f8:77\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-03a559581dfb82dfa\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-elb\\\",\\\"attachTime\\\":\\\"2023-04-13T04:57:55.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"privateDnsName\\\":\\\"ip-192-168-43-141.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-09839929763048cfc","subnetId":"subnet-07a6385d759763604","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-06723dbc83ce589dd","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-06723dbc83ce589dd","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-141.5,"y":-2557.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"Instance-subnet-07a6385d759763604-eu-west-1a-vpc-09839929763048cfc-eu-west-1-044981683129","parent":"subnet-07a6385d759763604-eu-west-1a-vpc-09839929763048cfc-eu-west-1-044981683129","level":5,"title":"Instance","label":"Instance","plainLabel":"Instance","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-EC2_Instance_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:instance/i-0d6dc57f292feae19","label":"AWS_EC2_Instance","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:instance/i-0d6dc57f292feae19","configuration":"\"{\\\"subnetId\\\":\\\"subnet-07a6385d759763604\\\",\\\"virtualizationType\\\":\\\"hvm\\\",\\\"capacityReservationSpecification\\\":{\\\"capacityReservationPreference\\\":\\\"open\\\"},\\\"amiLaunchIndex\\\":0,\\\"enaSupport\\\":true,\\\"elasticInferenceAcceleratorAssociations\\\":[],\\\"sourceDestCheck\\\":true,\\\"hibernationOptions\\\":{\\\"configured\\\":false},\\\"instanceId\\\":\\\"i-0d6dc57f292feae19\\\",\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"hypervisor\\\":\\\"xen\\\",\\\"rootDeviceName\\\":\\\"/dev/xvda\\\",\\\"productCodes\\\":[],\\\"state\\\":{\\\"code\\\":\\\"16\\\",\\\"name\\\":\\\"running\\\"},\\\"architecture\\\":\\\"x86_64\\\",\\\"ebsOptimized\\\":false,\\\"imageId\\\":\\\"ami-0ca9e57915fd7e017\\\",\\\"blockDeviceMappings\\\":[{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-0e70971b0fc3b875f\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2020-10-30T00:09:13.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvda\\\"}],\\\"publicIpAddress\\\":\\\"3.248.222.37\\\",\\\"stateTransitionReason\\\":\\\"\\\",\\\"clientToken\\\":\\\"fleet-228a6666-5c2b-8188-2cb2-8b0233ae5d94-0\\\",\\\"instanceType\\\":\\\"m5.large\\\",\\\"cpuOptions\\\":{\\\"threadsPerCore\\\":2,\\\"coreCount\\\":1},\\\"monitoring\\\":{\\\"state\\\":\\\"disabled\\\"},\\\"publicDnsName\\\":\\\"ec2-3-248-222-37.eu-west-1.compute.amazonaws.com\\\",\\\"iamInstanceProfile\\\":{\\\"id\\\":\\\"AIPAQU6I6AO437UEUY4FE\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:instance-profile/eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3\\\"},\\\"privateIpAddress\\\":\\\"192.168.56.232\\\",\\\"rootDeviceType\\\":\\\"ebs\\\",\\\"tags\\\":[{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"eks:cluster-name\\\"},{\\\"value\\\":\\\"owned\\\",\\\"key\\\":\\\"kubernetes.io/cluster/attractive-badger-1604015308\\\"},{\\\"value\\\":\\\"ng-608957a7\\\",\\\"key\\\":\\\"alpha.eksctl.io/nodegroup-name\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"aws:eks:cluster-name\\\"},{\\\"value\\\":\\\"owned\\\",\\\"key\\\":\\\"k8s.io/cluster-autoscaler/attractive-badger-1604015308\\\"},{\\\"value\\\":\\\"eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3\\\",\\\"key\\\":\\\"aws:autoscaling:groupName\\\"},{\\\"value\\\":\\\"lt-09c499a8e3e1ce269\\\",\\\"key\\\":\\\"aws:ec2launchtemplate:id\\\"},{\\\"value\\\":\\\"ng-608957a7\\\",\\\"key\\\":\\\"eks:nodegroup-name\\\"},{\\\"value\\\":\\\"1\\\",\\\"key\\\":\\\"aws:ec2launchtemplate:version\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308-ng-608957a7-Node\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"fleet-228a6666-5c2b-8188-2cb2-8b0233ae5d94\\\",\\\"key\\\":\\\"aws:ec2:fleet-id\\\"},{\\\"value\\\":\\\"managed\\\",\\\"key\\\":\\\"alpha.eksctl.io/nodegroup-type\\\"},{\\\"value\\\":\\\"true\\\",\\\"key\\\":\\\"k8s.io/cluster-autoscaler/enabled\\\"}],\\\"enclaveOptions\\\":{\\\"enabled\\\":false},\\\"launchTime\\\":\\\"2020-10-30T00:09:12.000Z\\\",\\\"elasticGpuAssociations\\\":[],\\\"licenses\\\":[],\\\"networkInterfaces\\\":[{\\\"networkInterfaceId\\\":\\\"eni-0f82403202f592988\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"3.248.222.37\\\",\\\"publicDnsName\\\":\\\"ec2-3-248-222-37.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-192-168-56-232.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.56.232\\\",\\\"primary\\\":true},{\\\"privateDnsName\\\":\\\"ip-192-168-38-232.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.38.232\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-33-253.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.33.253\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-39-194.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.39.194\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-51-178.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.51.178\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-40-163.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.40.163\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-56-243.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.56.243\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-57-227.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.57.227\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-57-36.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.57.36\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-32-181.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.32.181\\\",\\\"primary\\\":false}],\\\"subnetId\\\":\\\"subnet-07a6385d759763604\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"3.248.222.37\\\",\\\"publicDnsName\\\":\\\"ec2-3-248-222-37.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"eks-cluster-sg-attractive-badger-1604015308-1273556504\\\",\\\"groupId\\\":\\\"sg-0bcb1987c6667687b\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"privateIpAddress\\\":\\\"192.168.56.232\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"macAddress\\\":\\\"06:c6:f7:ee:11:59\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-066082615feff427a\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"attachTime\\\":\\\"2020-10-30T00:09:12.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"privateDnsName\\\":\\\"ip-192-168-56-232.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"},{\\\"networkInterfaceId\\\":\\\"eni-042b61ae6b9558d21\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-192-168-50-14.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.50.14\\\",\\\"primary\\\":true},{\\\"privateDnsName\\\":\\\"ip-192-168-61-249.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.61.249\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-40-42.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.40.42\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-56-156.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.56.156\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-52-189.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.52.189\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-56-30.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.56.30\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-60-160.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.60.160\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-49-114.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.49.114\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-63-101.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.63.101\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-44-85.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.44.85\\\",\\\"primary\\\":false}],\\\"subnetId\\\":\\\"subnet-07a6385d759763604\\\",\\\"description\\\":\\\"aws-K8S-i-0d6dc57f292feae19\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"eks-cluster-sg-attractive-badger-1604015308-1273556504\\\",\\\"groupId\\\":\\\"sg-0bcb1987c6667687b\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"privateIpAddress\\\":\\\"192.168.50.14\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"macAddress\\\":\\\"06:43:4d:60:05:d5\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0acfe3a6e193fd639\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":1,\\\"attachTime\\\":\\\"2020-10-30T02:21:14.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"privateDnsName\\\":\\\"ip-192-168-50-14.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}],\\\"metadataOptions\\\":{\\\"httpPutResponseHopLimit\\\":2,\\\"httpEndpoint\\\":\\\"enabled\\\",\\\"state\\\":\\\"applied\\\",\\\"httpTokens\\\":\\\"optional\\\"},\\\"privateDnsName\\\":\\\"ip-192-168-56-232.eu-west-1.compute.internal\\\",\\\"securityGroups\\\":[{\\\"groupName\\\":\\\"eks-cluster-sg-attractive-badger-1604015308-1273556504\\\",\\\"groupId\\\":\\\"sg-0bcb1987c6667687b\\\"}],\\\"placement\\\":{\\\"groupName\\\":\\\"\\\",\\\"tenancy\\\":\\\"default\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\"}}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-09839929763048cfc","subnetId":"subnet-07a6385d759763604","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#Instances:sort=instanceId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#Instances:sort=instanceId","private":null,"resourceId":"i-0d6dc57f292feae19","resourceName":null,"resourceType":"AWS::EC2::Instance","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:eks:cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"aws:eks:cluster-name\"},{\"tag\":\"k8s.io/cluster-autoscaler/attractive-badger-1604015308=owned\",\"value\":\"owned\",\"key\":\"k8s.io/cluster-autoscaler/attractive-badger-1604015308\"},{\"tag\":\"eks:cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eks:cluster-name\"},{\"tag\":\"alpha.eksctl.io/nodegroup-type=managed\",\"value\":\"managed\",\"key\":\"alpha.eksctl.io/nodegroup-type\"},{\"tag\":\"aws:ec2launchtemplate:version=1\",\"value\":\"1\",\"key\":\"aws:ec2launchtemplate:version\"},{\"tag\":\"k8s.io/cluster-autoscaler/enabled=true\",\"value\":\"true\",\"key\":\"k8s.io/cluster-autoscaler/enabled\"},{\"tag\":\"Name=attractive-badger-1604015308-ng-608957a7-Node\",\"value\":\"attractive-badger-1604015308-ng-608957a7-Node\",\"key\":\"Name\"},{\"tag\":\"aws:autoscaling:groupName=eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3\",\"value\":\"eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3\",\"key\":\"aws:autoscaling:groupName\"},{\"tag\":\"aws:ec2:fleet-id=fleet-228a6666-5c2b-8188-2cb2-8b0233ae5d94\",\"value\":\"fleet-228a6666-5c2b-8188-2cb2-8b0233ae5d94\",\"key\":\"aws:ec2:fleet-id\"},{\"tag\":\"alpha.eksctl.io/nodegroup-name=ng-608957a7\",\"value\":\"ng-608957a7\",\"key\":\"alpha.eksctl.io/nodegroup-name\"},{\"tag\":\"eks:nodegroup-name=ng-608957a7\",\"value\":\"ng-608957a7\",\"key\":\"eks:nodegroup-name\"},{\"tag\":\"kubernetes.io/cluster/attractive-badger-1604015308=owned\",\"value\":\"owned\",\"key\":\"kubernetes.io/cluster/attractive-badger-1604015308\"},{\"tag\":\"aws:ec2launchtemplate:id=lt-09c499a8e3e1ce269\",\"value\":\"lt-09c499a8e3e1ce269\",\"key\":\"aws:ec2launchtemplate:id\"}]","title":"attractive-badger-1604015308-ng-608957a7-Node","instanceType":null,"statement":null,"dBInstanceStatus":null}}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":44.5,"y":-2630.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:instance/i-0d6dc57f292feae19","resourceId":["i-0d6dc57f292feae19","arn:aws:ec2:eu-west-1:044981683129:instance/i-0d6dc57f292feae19"],"parent":"Instance-subnet-07a6385d759763604-eu-west-1a-vpc-09839929763048cfc-eu-west-1-044981683129","level":6,"id":"arn:aws:ec2:eu-west-1:044981683129:instance/i-0d6dc57f292feae19","title":"attractive-badger-1604015308-ng-608957a7-Node","label":"attractive-b...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#FF9900","borderStyle":"dotted","borderColour":"#FF9900","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:instance/i-0d6dc57f292feae19","state":{"status":"status-warning","text":"no state data","color":"#FF9900"},"image":"/icons/Amazon-EC2_M5-Instance_light-bg-warning.svg","cost":0,"private":false,"detailsComponent":{"key":null,"ref":null,"props":{"title":"Instance Details","configuration":"\"{\\\"subnetId\\\":\\\"subnet-07a6385d759763604\\\",\\\"virtualizationType\\\":\\\"hvm\\\",\\\"capacityReservationSpecification\\\":{\\\"capacityReservationPreference\\\":\\\"open\\\"},\\\"amiLaunchIndex\\\":0,\\\"enaSupport\\\":true,\\\"elasticInferenceAcceleratorAssociations\\\":[],\\\"sourceDestCheck\\\":true,\\\"hibernationOptions\\\":{\\\"configured\\\":false},\\\"instanceId\\\":\\\"i-0d6dc57f292feae19\\\",\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"hypervisor\\\":\\\"xen\\\",\\\"rootDeviceName\\\":\\\"/dev/xvda\\\",\\\"productCodes\\\":[],\\\"state\\\":{\\\"code\\\":\\\"16\\\",\\\"name\\\":\\\"running\\\"},\\\"architecture\\\":\\\"x86_64\\\",\\\"ebsOptimized\\\":false,\\\"imageId\\\":\\\"ami-0ca9e57915fd7e017\\\",\\\"blockDeviceMappings\\\":[{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-0e70971b0fc3b875f\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2020-10-30T00:09:13.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvda\\\"}],\\\"publicIpAddress\\\":\\\"3.248.222.37\\\",\\\"stateTransitionReason\\\":\\\"\\\",\\\"clientToken\\\":\\\"fleet-228a6666-5c2b-8188-2cb2-8b0233ae5d94-0\\\",\\\"instanceType\\\":\\\"m5.large\\\",\\\"cpuOptions\\\":{\\\"threadsPerCore\\\":2,\\\"coreCount\\\":1},\\\"monitoring\\\":{\\\"state\\\":\\\"disabled\\\"},\\\"publicDnsName\\\":\\\"ec2-3-248-222-37.eu-west-1.compute.amazonaws.com\\\",\\\"iamInstanceProfile\\\":{\\\"id\\\":\\\"AIPAQU6I6AO437UEUY4FE\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:instance-profile/eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3\\\"},\\\"privateIpAddress\\\":\\\"192.168.56.232\\\",\\\"rootDeviceType\\\":\\\"ebs\\\",\\\"tags\\\":[{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"eks:cluster-name\\\"},{\\\"value\\\":\\\"owned\\\",\\\"key\\\":\\\"kubernetes.io/cluster/attractive-badger-1604015308\\\"},{\\\"value\\\":\\\"ng-608957a7\\\",\\\"key\\\":\\\"alpha.eksctl.io/nodegroup-name\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"aws:eks:cluster-name\\\"},{\\\"value\\\":\\\"owned\\\",\\\"key\\\":\\\"k8s.io/cluster-autoscaler/attractive-badger-1604015308\\\"},{\\\"value\\\":\\\"eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3\\\",\\\"key\\\":\\\"aws:autoscaling:groupName\\\"},{\\\"value\\\":\\\"lt-09c499a8e3e1ce269\\\",\\\"key\\\":\\\"aws:ec2launchtemplate:id\\\"},{\\\"value\\\":\\\"ng-608957a7\\\",\\\"key\\\":\\\"eks:nodegroup-name\\\"},{\\\"value\\\":\\\"1\\\",\\\"key\\\":\\\"aws:ec2launchtemplate:version\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308-ng-608957a7-Node\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"fleet-228a6666-5c2b-8188-2cb2-8b0233ae5d94\\\",\\\"key\\\":\\\"aws:ec2:fleet-id\\\"},{\\\"value\\\":\\\"managed\\\",\\\"key\\\":\\\"alpha.eksctl.io/nodegroup-type\\\"},{\\\"value\\\":\\\"true\\\",\\\"key\\\":\\\"k8s.io/cluster-autoscaler/enabled\\\"}],\\\"enclaveOptions\\\":{\\\"enabled\\\":false},\\\"launchTime\\\":\\\"2020-10-30T00:09:12.000Z\\\",\\\"elasticGpuAssociations\\\":[],\\\"licenses\\\":[],\\\"networkInterfaces\\\":[{\\\"networkInterfaceId\\\":\\\"eni-0f82403202f592988\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"3.248.222.37\\\",\\\"publicDnsName\\\":\\\"ec2-3-248-222-37.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-192-168-56-232.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.56.232\\\",\\\"primary\\\":true},{\\\"privateDnsName\\\":\\\"ip-192-168-38-232.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.38.232\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-33-253.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.33.253\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-39-194.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.39.194\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-51-178.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.51.178\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-40-163.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.40.163\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-56-243.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.56.243\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-57-227.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.57.227\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-57-36.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.57.36\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-32-181.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.32.181\\\",\\\"primary\\\":false}],\\\"subnetId\\\":\\\"subnet-07a6385d759763604\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"3.248.222.37\\\",\\\"publicDnsName\\\":\\\"ec2-3-248-222-37.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"eks-cluster-sg-attractive-badger-1604015308-1273556504\\\",\\\"groupId\\\":\\\"sg-0bcb1987c6667687b\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"privateIpAddress\\\":\\\"192.168.56.232\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"macAddress\\\":\\\"06:c6:f7:ee:11:59\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-066082615feff427a\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"attachTime\\\":\\\"2020-10-30T00:09:12.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"privateDnsName\\\":\\\"ip-192-168-56-232.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"},{\\\"networkInterfaceId\\\":\\\"eni-042b61ae6b9558d21\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-192-168-50-14.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.50.14\\\",\\\"primary\\\":true},{\\\"privateDnsName\\\":\\\"ip-192-168-61-249.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.61.249\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-40-42.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.40.42\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-56-156.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.56.156\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-52-189.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.52.189\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-56-30.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.56.30\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-60-160.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.60.160\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-49-114.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.49.114\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-63-101.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.63.101\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-44-85.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.44.85\\\",\\\"primary\\\":false}],\\\"subnetId\\\":\\\"subnet-07a6385d759763604\\\",\\\"description\\\":\\\"aws-K8S-i-0d6dc57f292feae19\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"eks-cluster-sg-attractive-badger-1604015308-1273556504\\\",\\\"groupId\\\":\\\"sg-0bcb1987c6667687b\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"privateIpAddress\\\":\\\"192.168.50.14\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"macAddress\\\":\\\"06:43:4d:60:05:d5\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0acfe3a6e193fd639\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":1,\\\"attachTime\\\":\\\"2020-10-30T02:21:14.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"privateDnsName\\\":\\\"ip-192-168-50-14.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}],\\\"metadataOptions\\\":{\\\"httpPutResponseHopLimit\\\":2,\\\"httpEndpoint\\\":\\\"enabled\\\",\\\"state\\\":\\\"applied\\\",\\\"httpTokens\\\":\\\"optional\\\"},\\\"privateDnsName\\\":\\\"ip-192-168-56-232.eu-west-1.compute.internal\\\",\\\"securityGroups\\\":[{\\\"groupName\\\":\\\"eks-cluster-sg-attractive-badger-1604015308-1273556504\\\",\\\"groupId\\\":\\\"sg-0bcb1987c6667687b\\\"}],\\\"placement\\\":{\\\"groupName\\\":\\\"\\\",\\\"tenancy\\\":\\\"default\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\"}}\""},"_owner":null,"_store":{}},"resource":{"id":"i-0d6dc57f292feae19","name":null,"value":null,"type":"AWS::EC2::Instance","tags":"[{\"tag\":\"aws:eks:cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"aws:eks:cluster-name\"},{\"tag\":\"k8s.io/cluster-autoscaler/attractive-badger-1604015308=owned\",\"value\":\"owned\",\"key\":\"k8s.io/cluster-autoscaler/attractive-badger-1604015308\"},{\"tag\":\"eks:cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eks:cluster-name\"},{\"tag\":\"alpha.eksctl.io/nodegroup-type=managed\",\"value\":\"managed\",\"key\":\"alpha.eksctl.io/nodegroup-type\"},{\"tag\":\"aws:ec2launchtemplate:version=1\",\"value\":\"1\",\"key\":\"aws:ec2launchtemplate:version\"},{\"tag\":\"k8s.io/cluster-autoscaler/enabled=true\",\"value\":\"true\",\"key\":\"k8s.io/cluster-autoscaler/enabled\"},{\"tag\":\"Name=attractive-badger-1604015308-ng-608957a7-Node\",\"value\":\"attractive-badger-1604015308-ng-608957a7-Node\",\"key\":\"Name\"},{\"tag\":\"aws:autoscaling:groupName=eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3\",\"value\":\"eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3\",\"key\":\"aws:autoscaling:groupName\"},{\"tag\":\"aws:ec2:fleet-id=fleet-228a6666-5c2b-8188-2cb2-8b0233ae5d94\",\"value\":\"fleet-228a6666-5c2b-8188-2cb2-8b0233ae5d94\",\"key\":\"aws:ec2:fleet-id\"},{\"tag\":\"alpha.eksctl.io/nodegroup-name=ng-608957a7\",\"value\":\"ng-608957a7\",\"key\":\"alpha.eksctl.io/nodegroup-name\"},{\"tag\":\"eks:nodegroup-name=ng-608957a7\",\"value\":\"ng-608957a7\",\"key\":\"eks:nodegroup-name\"},{\"tag\":\"kubernetes.io/cluster/attractive-badger-1604015308=owned\",\"value\":\"owned\",\"key\":\"kubernetes.io/cluster/attractive-badger-1604015308\"},{\"tag\":\"aws:ec2launchtemplate:id=lt-09c499a8e3e1ce269\",\"value\":\"lt-09c499a8e3e1ce269\",\"key\":\"aws:ec2launchtemplate:id\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:instance/i-0d6dc57f292feae19","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#Instances:sort=instanceId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#Instances:sort=instanceId","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:instance/i-0d6dc57f292feae19","configuration":"\"{\\\"subnetId\\\":\\\"subnet-07a6385d759763604\\\",\\\"virtualizationType\\\":\\\"hvm\\\",\\\"capacityReservationSpecification\\\":{\\\"capacityReservationPreference\\\":\\\"open\\\"},\\\"amiLaunchIndex\\\":0,\\\"enaSupport\\\":true,\\\"elasticInferenceAcceleratorAssociations\\\":[],\\\"sourceDestCheck\\\":true,\\\"hibernationOptions\\\":{\\\"configured\\\":false},\\\"instanceId\\\":\\\"i-0d6dc57f292feae19\\\",\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"hypervisor\\\":\\\"xen\\\",\\\"rootDeviceName\\\":\\\"/dev/xvda\\\",\\\"productCodes\\\":[],\\\"state\\\":{\\\"code\\\":\\\"16\\\",\\\"name\\\":\\\"running\\\"},\\\"architecture\\\":\\\"x86_64\\\",\\\"ebsOptimized\\\":false,\\\"imageId\\\":\\\"ami-0ca9e57915fd7e017\\\",\\\"blockDeviceMappings\\\":[{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-0e70971b0fc3b875f\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2020-10-30T00:09:13.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvda\\\"}],\\\"publicIpAddress\\\":\\\"3.248.222.37\\\",\\\"stateTransitionReason\\\":\\\"\\\",\\\"clientToken\\\":\\\"fleet-228a6666-5c2b-8188-2cb2-8b0233ae5d94-0\\\",\\\"instanceType\\\":\\\"m5.large\\\",\\\"cpuOptions\\\":{\\\"threadsPerCore\\\":2,\\\"coreCount\\\":1},\\\"monitoring\\\":{\\\"state\\\":\\\"disabled\\\"},\\\"publicDnsName\\\":\\\"ec2-3-248-222-37.eu-west-1.compute.amazonaws.com\\\",\\\"iamInstanceProfile\\\":{\\\"id\\\":\\\"AIPAQU6I6AO437UEUY4FE\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:instance-profile/eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3\\\"},\\\"privateIpAddress\\\":\\\"192.168.56.232\\\",\\\"rootDeviceType\\\":\\\"ebs\\\",\\\"tags\\\":[{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"eks:cluster-name\\\"},{\\\"value\\\":\\\"owned\\\",\\\"key\\\":\\\"kubernetes.io/cluster/attractive-badger-1604015308\\\"},{\\\"value\\\":\\\"ng-608957a7\\\",\\\"key\\\":\\\"alpha.eksctl.io/nodegroup-name\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"aws:eks:cluster-name\\\"},{\\\"value\\\":\\\"owned\\\",\\\"key\\\":\\\"k8s.io/cluster-autoscaler/attractive-badger-1604015308\\\"},{\\\"value\\\":\\\"eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3\\\",\\\"key\\\":\\\"aws:autoscaling:groupName\\\"},{\\\"value\\\":\\\"lt-09c499a8e3e1ce269\\\",\\\"key\\\":\\\"aws:ec2launchtemplate:id\\\"},{\\\"value\\\":\\\"ng-608957a7\\\",\\\"key\\\":\\\"eks:nodegroup-name\\\"},{\\\"value\\\":\\\"1\\\",\\\"key\\\":\\\"aws:ec2launchtemplate:version\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308-ng-608957a7-Node\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"fleet-228a6666-5c2b-8188-2cb2-8b0233ae5d94\\\",\\\"key\\\":\\\"aws:ec2:fleet-id\\\"},{\\\"value\\\":\\\"managed\\\",\\\"key\\\":\\\"alpha.eksctl.io/nodegroup-type\\\"},{\\\"value\\\":\\\"true\\\",\\\"key\\\":\\\"k8s.io/cluster-autoscaler/enabled\\\"}],\\\"enclaveOptions\\\":{\\\"enabled\\\":false},\\\"launchTime\\\":\\\"2020-10-30T00:09:12.000Z\\\",\\\"elasticGpuAssociations\\\":[],\\\"licenses\\\":[],\\\"networkInterfaces\\\":[{\\\"networkInterfaceId\\\":\\\"eni-0f82403202f592988\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"3.248.222.37\\\",\\\"publicDnsName\\\":\\\"ec2-3-248-222-37.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-192-168-56-232.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.56.232\\\",\\\"primary\\\":true},{\\\"privateDnsName\\\":\\\"ip-192-168-38-232.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.38.232\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-33-253.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.33.253\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-39-194.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.39.194\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-51-178.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.51.178\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-40-163.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.40.163\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-56-243.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.56.243\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-57-227.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.57.227\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-57-36.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.57.36\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-32-181.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.32.181\\\",\\\"primary\\\":false}],\\\"subnetId\\\":\\\"subnet-07a6385d759763604\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"3.248.222.37\\\",\\\"publicDnsName\\\":\\\"ec2-3-248-222-37.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"eks-cluster-sg-attractive-badger-1604015308-1273556504\\\",\\\"groupId\\\":\\\"sg-0bcb1987c6667687b\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"privateIpAddress\\\":\\\"192.168.56.232\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"macAddress\\\":\\\"06:c6:f7:ee:11:59\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-066082615feff427a\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"attachTime\\\":\\\"2020-10-30T00:09:12.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"privateDnsName\\\":\\\"ip-192-168-56-232.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"},{\\\"networkInterfaceId\\\":\\\"eni-042b61ae6b9558d21\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-192-168-50-14.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.50.14\\\",\\\"primary\\\":true},{\\\"privateDnsName\\\":\\\"ip-192-168-61-249.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.61.249\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-40-42.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.40.42\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-56-156.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.56.156\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-52-189.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.52.189\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-56-30.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.56.30\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-60-160.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.60.160\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-49-114.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.49.114\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-63-101.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.63.101\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-192-168-44-85.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"192.168.44.85\\\",\\\"primary\\\":false}],\\\"subnetId\\\":\\\"subnet-07a6385d759763604\\\",\\\"description\\\":\\\"aws-K8S-i-0d6dc57f292feae19\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"eks-cluster-sg-attractive-badger-1604015308-1273556504\\\",\\\"groupId\\\":\\\"sg-0bcb1987c6667687b\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"privateIpAddress\\\":\\\"192.168.50.14\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"macAddress\\\":\\\"06:43:4d:60:05:d5\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0acfe3a6e193fd639\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":1,\\\"attachTime\\\":\\\"2020-10-30T02:21:14.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"privateDnsName\\\":\\\"ip-192-168-50-14.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}],\\\"metadataOptions\\\":{\\\"httpPutResponseHopLimit\\\":2,\\\"httpEndpoint\\\":\\\"enabled\\\",\\\"state\\\":\\\"applied\\\",\\\"httpTokens\\\":\\\"optional\\\"},\\\"privateDnsName\\\":\\\"ip-192-168-56-232.eu-west-1.compute.internal\\\",\\\"securityGroups\\\":[{\\\"groupName\\\":\\\"eks-cluster-sg-attractive-badger-1604015308-1273556504\\\",\\\"groupId\\\":\\\"sg-0bcb1987c6667687b\\\"}],\\\"placement\\\":{\\\"groupName\\\":\\\"\\\",\\\"tenancy\\\":\\\"default\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\"}}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-09839929763048cfc","subnetId":"subnet-07a6385d759763604","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#Instances:sort=instanceId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#Instances:sort=instanceId","private":null,"resourceId":"i-0d6dc57f292feae19","resourceName":null,"resourceType":"AWS::EC2::Instance","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:eks:cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"aws:eks:cluster-name\"},{\"tag\":\"k8s.io/cluster-autoscaler/attractive-badger-1604015308=owned\",\"value\":\"owned\",\"key\":\"k8s.io/cluster-autoscaler/attractive-badger-1604015308\"},{\"tag\":\"eks:cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eks:cluster-name\"},{\"tag\":\"alpha.eksctl.io/nodegroup-type=managed\",\"value\":\"managed\",\"key\":\"alpha.eksctl.io/nodegroup-type\"},{\"tag\":\"aws:ec2launchtemplate:version=1\",\"value\":\"1\",\"key\":\"aws:ec2launchtemplate:version\"},{\"tag\":\"k8s.io/cluster-autoscaler/enabled=true\",\"value\":\"true\",\"key\":\"k8s.io/cluster-autoscaler/enabled\"},{\"tag\":\"Name=attractive-badger-1604015308-ng-608957a7-Node\",\"value\":\"attractive-badger-1604015308-ng-608957a7-Node\",\"key\":\"Name\"},{\"tag\":\"aws:autoscaling:groupName=eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3\",\"value\":\"eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3\",\"key\":\"aws:autoscaling:groupName\"},{\"tag\":\"aws:ec2:fleet-id=fleet-228a6666-5c2b-8188-2cb2-8b0233ae5d94\",\"value\":\"fleet-228a6666-5c2b-8188-2cb2-8b0233ae5d94\",\"key\":\"aws:ec2:fleet-id\"},{\"tag\":\"alpha.eksctl.io/nodegroup-name=ng-608957a7\",\"value\":\"ng-608957a7\",\"key\":\"alpha.eksctl.io/nodegroup-name\"},{\"tag\":\"eks:nodegroup-name=ng-608957a7\",\"value\":\"ng-608957a7\",\"key\":\"eks:nodegroup-name\"},{\"tag\":\"kubernetes.io/cluster/attractive-badger-1604015308=owned\",\"value\":\"owned\",\"key\":\"kubernetes.io/cluster/attractive-badger-1604015308\"},{\"tag\":\"aws:ec2launchtemplate:id=lt-09c499a8e3e1ce269\",\"value\":\"lt-09c499a8e3e1ce269\",\"key\":\"aws:ec2launchtemplate:id\"}]","title":"attractive-badger-1604015308-ng-608957a7-Node","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":44.5,"y":-2630.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"Multiple Availability Zones-vpc-09839929763048cfc-eu-west-1-044981683129","parent":"vpc-09839929763048cfc-eu-west-1-044981683129","level":3,"title":"Multiple Availability Zones","label":"Multiple Availability Zones","plainLabel":"Multiple Availability Zones","type":"availabilityZone","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/availabilityZone.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":null,"label":"NetworkAcl","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-0f3f92e8ff8da4d6d","label":"AWS_EC2_NetworkAcl","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-0f3f92e8ff8da4d6d","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-07a6385d759763604\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-7f15fc0d\\\",\\\"networkAclId\\\":\\\"acl-0f3f92e8ff8da4d6d\\\"},{\\\"subnetId\\\":\\\"subnet-06deb021a27770578\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-524aa320\\\",\\\"networkAclId\\\":\\\"acl-0f3f92e8ff8da4d6d\\\"},{\\\"subnetId\\\":\\\"subnet-0461a710ed0df3002\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-6e729b1c\\\",\\\"networkAclId\\\":\\\"acl-0f3f92e8ff8da4d6d\\\"},{\\\"subnetId\\\":\\\"subnet-0240cebb8fa82aa33\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-096b827b\\\",\\\"networkAclId\\\":\\\"acl-0f3f92e8ff8da4d6d\\\"},{\\\"subnetId\\\":\\\"subnet-040b12c6ae776ea8a\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-926980e0\\\",\\\"networkAclId\\\":\\\"acl-0f3f92e8ff8da4d6d\\\"},{\\\"subnetId\\\":\\\"subnet-03755dc2d4bdd2e2b\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-b01cf5c2\\\",\\\"networkAclId\\\":\\\"acl-0f3f92e8ff8da4d6d\\\"}],\\\"entries\\\":[{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":false},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":false}],\\\"isDefault\\\":true,\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"networkAclId\\\":\\\"acl-0f3f92e8ff8da4d6d\\\",\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-09839929763048cfc","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#acls:sort=networkAclId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#acls:sort=networkAclId","private":null,"resourceId":"acl-0f3f92e8ff8da4d6d","resourceName":null,"resourceType":"AWS::EC2::NetworkAcl","resourceValue":null,"state":null,"tags":"[]","title":"acl-0f3f92e8ff8da4d6d","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]},{"id":null,"label":"InternetGateway","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:internet-gateway/igw-08b8d3537a4856281","label":"AWS_EC2_InternetGateway","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:internet-gateway/igw-08b8d3537a4856281","configuration":"\"{\\\"attachments\\\":[{\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"state\\\":\\\"available\\\"}],\\\"internetGatewayId\\\":\\\"igw-08b8d3537a4856281\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"tags\\\":[{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"alpha.eksctl.io/cluster-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"0.30.0\\\",\\\"key\\\":\\\"alpha.eksctl.io/eksctl-version\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster/InternetGateway\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"InternetGateway\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-09839929763048cfc","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#igws:sort=internetGatewayId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#igws:sort=internetGatewayId","private":null,"resourceId":"igw-08b8d3537a4856281","resourceName":null,"resourceType":"AWS::EC2::InternetGateway","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster\",\"value\":\"eksctl-attractive-badger-1604015308-cluster\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"alpha.eksctl.io/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"aws:cloudformation:logical-id=InternetGateway\",\"value\":\"InternetGateway\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.30.0\",\"value\":\"0.30.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"},{\"tag\":\"Name=eksctl-attractive-badger-1604015308-cluster/InternetGateway\",\"value\":\"eksctl-attractive-badger-1604015308-cluster/InternetGateway\",\"key\":\"Name\"}]","title":"eksctl-attractive-badger-1604015308-cluster/InternetGateway","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]},{"id":null,"label":"LoadBalancer","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:loadbalancer/a3af06af9830647219ca4bb76e335070","label":"AWS_ElasticLoadBalancing_LoadBalancer","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:loadbalancer/a3af06af9830647219ca4bb76e335070","configuration":"\"{\\\"canonicalHostedZoneNameID\\\":\\\"Z32O12XQLNTSW2\\\",\\\"scheme\\\":\\\"internet-facing\\\",\\\"policies\\\":{\\\"lbcookieStickinessPolicies\\\":[],\\\"appCookieStickinessPolicies\\\":[],\\\"otherPolicies\\\":[]},\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"}],\\\"backendServerDescriptions\\\":[],\\\"sourceSecurityGroup\\\":{\\\"ownerAlias\\\":\\\"044981683129\\\",\\\"groupName\\\":\\\"k8s-elb-a3af06af9830647219ca4bb76e335070\\\"},\\\"loadBalancerName\\\":\\\"a3af06af9830647219ca4bb76e335070\\\",\\\"listenerDescriptions\\\":[{\\\"listener\\\":{\\\"instancePort\\\":31463,\\\"instanceProtocol\\\":\\\"TCP\\\",\\\"protocol\\\":\\\"TCP\\\",\\\"loadBalancerPort\\\":80},\\\"policyNames\\\":[]}],\\\"vpcid\\\":\\\"vpc-09839929763048cfc\\\",\\\"dnsname\\\":\\\"a3af06af9830647219ca4bb76e335070-156699768.eu-west-1.elb.amazonaws.com\\\",\\\"createdTime\\\":1604058515940,\\\"subnets\\\":[{\\\"value\\\":\\\"subnet-0240cebb8fa82aa33\\\"},{\\\"value\\\":\\\"subnet-03755dc2d4bdd2e2b\\\"},{\\\"value\\\":\\\"subnet-07a6385d759763604\\\"}],\\\"securityGroups\\\":[{\\\"value\\\":\\\"sg-0f682d01b121c4504\\\"}],\\\"canonicalHostedZoneName\\\":\\\"a3af06af9830647219ca4bb76e335070-156699768.eu-west-1.elb.amazonaws.com\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-09839929763048cfc","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"a3af06af9830647219ca4bb76e335070","resourceName":"a3af06af9830647219ca4bb76e335070","resourceType":"AWS::ElasticLoadBalancing::LoadBalancer","resourceValue":null,"state":null,"tags":"[{\"tag\":\"kubernetes.io/service-name=default/example-service\",\"value\":\"default/example-service\",\"key\":\"kubernetes.io/service-name\"},{\"tag\":\"kubernetes.io/cluster/attractive-badger-1604015308=owned\",\"value\":\"owned\",\"key\":\"kubernetes.io/cluster/attractive-badger-1604015308\"}]","title":"a3af06af9830647219ca4bb76e335070","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-32,"y":-2076.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"availabilityZone removeAll _gridParentPadding"},{"data":{"id":"NetworkAcl-Multiple Availability Zones-vpc-09839929763048cfc-eu-west-1-044981683129","parent":"Multiple Availability Zones-vpc-09839929763048cfc-eu-west-1-044981683129","level":4,"title":"NetworkAcl","label":"NetworkAcl","plainLabel":"NetworkAcl","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-VPC_Network-Access-Control-List_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-0f3f92e8ff8da4d6d","label":"AWS_EC2_NetworkAcl","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-0f3f92e8ff8da4d6d","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-07a6385d759763604\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-7f15fc0d\\\",\\\"networkAclId\\\":\\\"acl-0f3f92e8ff8da4d6d\\\"},{\\\"subnetId\\\":\\\"subnet-06deb021a27770578\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-524aa320\\\",\\\"networkAclId\\\":\\\"acl-0f3f92e8ff8da4d6d\\\"},{\\\"subnetId\\\":\\\"subnet-0461a710ed0df3002\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-6e729b1c\\\",\\\"networkAclId\\\":\\\"acl-0f3f92e8ff8da4d6d\\\"},{\\\"subnetId\\\":\\\"subnet-0240cebb8fa82aa33\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-096b827b\\\",\\\"networkAclId\\\":\\\"acl-0f3f92e8ff8da4d6d\\\"},{\\\"subnetId\\\":\\\"subnet-040b12c6ae776ea8a\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-926980e0\\\",\\\"networkAclId\\\":\\\"acl-0f3f92e8ff8da4d6d\\\"},{\\\"subnetId\\\":\\\"subnet-03755dc2d4bdd2e2b\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-b01cf5c2\\\",\\\"networkAclId\\\":\\\"acl-0f3f92e8ff8da4d6d\\\"}],\\\"entries\\\":[{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":false},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":false}],\\\"isDefault\\\":true,\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"networkAclId\\\":\\\"acl-0f3f92e8ff8da4d6d\\\",\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-09839929763048cfc","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#acls:sort=networkAclId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#acls:sort=networkAclId","private":null,"resourceId":"acl-0f3f92e8ff8da4d6d","resourceName":null,"resourceType":"AWS::EC2::NetworkAcl","resourceValue":null,"state":null,"tags":"[]","title":"acl-0f3f92e8ff8da4d6d","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-88.5,"y":-2141.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-0f3f92e8ff8da4d6d","resourceId":["acl-0f3f92e8ff8da4d6d","arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-0f3f92e8ff8da4d6d"],"parent":"NetworkAcl-Multiple Availability Zones-vpc-09839929763048cfc-eu-west-1-044981683129","level":5,"id":"arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-0f3f92e8ff8da4d6d","title":"acl-0f3f92e8ff8da4d6d","label":"acl-0f3f92e8...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-0f3f92e8ff8da4d6d","image":"/icons/Amazon-VPC_Network-Access-Control-List_light-bg.svg","cost":0,"private":false,"resource":{"id":"acl-0f3f92e8ff8da4d6d","name":null,"value":null,"type":"AWS::EC2::NetworkAcl","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-0f3f92e8ff8da4d6d","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#acls:sort=networkAclId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#acls:sort=networkAclId","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-0f3f92e8ff8da4d6d","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-07a6385d759763604\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-7f15fc0d\\\",\\\"networkAclId\\\":\\\"acl-0f3f92e8ff8da4d6d\\\"},{\\\"subnetId\\\":\\\"subnet-06deb021a27770578\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-524aa320\\\",\\\"networkAclId\\\":\\\"acl-0f3f92e8ff8da4d6d\\\"},{\\\"subnetId\\\":\\\"subnet-0461a710ed0df3002\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-6e729b1c\\\",\\\"networkAclId\\\":\\\"acl-0f3f92e8ff8da4d6d\\\"},{\\\"subnetId\\\":\\\"subnet-0240cebb8fa82aa33\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-096b827b\\\",\\\"networkAclId\\\":\\\"acl-0f3f92e8ff8da4d6d\\\"},{\\\"subnetId\\\":\\\"subnet-040b12c6ae776ea8a\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-926980e0\\\",\\\"networkAclId\\\":\\\"acl-0f3f92e8ff8da4d6d\\\"},{\\\"subnetId\\\":\\\"subnet-03755dc2d4bdd2e2b\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-b01cf5c2\\\",\\\"networkAclId\\\":\\\"acl-0f3f92e8ff8da4d6d\\\"}],\\\"entries\\\":[{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":false},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":false}],\\\"isDefault\\\":true,\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"networkAclId\\\":\\\"acl-0f3f92e8ff8da4d6d\\\",\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-09839929763048cfc","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#acls:sort=networkAclId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#acls:sort=networkAclId","private":null,"resourceId":"acl-0f3f92e8ff8da4d6d","resourceName":null,"resourceType":"AWS::EC2::NetworkAcl","resourceValue":null,"state":null,"tags":"[]","title":"acl-0f3f92e8ff8da4d6d","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-88.5,"y":-2141.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"InternetGateway-Multiple Availability Zones-vpc-09839929763048cfc-eu-west-1-044981683129","parent":"Multiple Availability Zones-vpc-09839929763048cfc-eu-west-1-044981683129","level":4,"title":"InternetGateway","label":"InternetGateway","plainLabel":"InternetGateway","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-VPC_Internet-Gateway_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:internet-gateway/igw-08b8d3537a4856281","label":"AWS_EC2_InternetGateway","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:internet-gateway/igw-08b8d3537a4856281","configuration":"\"{\\\"attachments\\\":[{\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"state\\\":\\\"available\\\"}],\\\"internetGatewayId\\\":\\\"igw-08b8d3537a4856281\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"tags\\\":[{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"alpha.eksctl.io/cluster-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"0.30.0\\\",\\\"key\\\":\\\"alpha.eksctl.io/eksctl-version\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster/InternetGateway\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"InternetGateway\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-09839929763048cfc","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#igws:sort=internetGatewayId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#igws:sort=internetGatewayId","private":null,"resourceId":"igw-08b8d3537a4856281","resourceName":null,"resourceType":"AWS::EC2::InternetGateway","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster\",\"value\":\"eksctl-attractive-badger-1604015308-cluster\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"alpha.eksctl.io/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"aws:cloudformation:logical-id=InternetGateway\",\"value\":\"InternetGateway\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.30.0\",\"value\":\"0.30.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"},{\"tag\":\"Name=eksctl-attractive-badger-1604015308-cluster/InternetGateway\",\"value\":\"eksctl-attractive-badger-1604015308-cluster/InternetGateway\",\"key\":\"Name\"}]","title":"eksctl-attractive-badger-1604015308-cluster/InternetGateway","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":24.5,"y":-2141.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:internet-gateway/igw-08b8d3537a4856281","resourceId":["igw-08b8d3537a4856281","arn:aws:ec2:eu-west-1:044981683129:internet-gateway/igw-08b8d3537a4856281"],"parent":"InternetGateway-Multiple Availability Zones-vpc-09839929763048cfc-eu-west-1-044981683129","level":5,"id":"arn:aws:ec2:eu-west-1:044981683129:internet-gateway/igw-08b8d3537a4856281","title":"eksctl-attractive-badger-1604015308-cluster/InternetGateway","label":"eksctl-attra...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:internet-gateway/igw-08b8d3537a4856281","image":"/icons/Amazon-VPC_Internet-Gateway_light-bg.svg","cost":0,"private":false,"resource":{"id":"igw-08b8d3537a4856281","name":null,"value":null,"type":"AWS::EC2::InternetGateway","tags":"[{\"tag\":\"aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster\",\"value\":\"eksctl-attractive-badger-1604015308-cluster\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"alpha.eksctl.io/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"aws:cloudformation:logical-id=InternetGateway\",\"value\":\"InternetGateway\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.30.0\",\"value\":\"0.30.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"},{\"tag\":\"Name=eksctl-attractive-badger-1604015308-cluster/InternetGateway\",\"value\":\"eksctl-attractive-badger-1604015308-cluster/InternetGateway\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:internet-gateway/igw-08b8d3537a4856281","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#igws:sort=internetGatewayId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#igws:sort=internetGatewayId","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:internet-gateway/igw-08b8d3537a4856281","configuration":"\"{\\\"attachments\\\":[{\\\"vpcId\\\":\\\"vpc-09839929763048cfc\\\",\\\"state\\\":\\\"available\\\"}],\\\"internetGatewayId\\\":\\\"igw-08b8d3537a4856281\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"tags\\\":[{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\\\"},{\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"alpha.eksctl.io/cluster-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"0.30.0\\\",\\\"key\\\":\\\"alpha.eksctl.io/eksctl-version\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"eksctl-attractive-badger-1604015308-cluster/InternetGateway\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"InternetGateway\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-09839929763048cfc","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#igws:sort=internetGatewayId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#igws:sort=internetGatewayId","private":null,"resourceId":"igw-08b8d3537a4856281","resourceName":null,"resourceType":"AWS::EC2::InternetGateway","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster\",\"value\":\"eksctl-attractive-badger-1604015308-cluster\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"alpha.eksctl.io/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"alpha.eksctl.io/cluster-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\"},{\"tag\":\"aws:cloudformation:logical-id=InternetGateway\",\"value\":\"InternetGateway\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"alpha.eksctl.io/eksctl-version=0.30.0\",\"value\":\"0.30.0\",\"key\":\"alpha.eksctl.io/eksctl-version\"},{\"tag\":\"Name=eksctl-attractive-badger-1604015308-cluster/InternetGateway\",\"value\":\"eksctl-attractive-badger-1604015308-cluster/InternetGateway\",\"key\":\"Name\"}]","title":"eksctl-attractive-badger-1604015308-cluster/InternetGateway","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":24.5,"y":-2141.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"LoadBalancer-Multiple Availability Zones-vpc-09839929763048cfc-eu-west-1-044981683129","parent":"Multiple Availability Zones-vpc-09839929763048cfc-eu-west-1-044981683129","level":4,"title":"LoadBalancer","label":"LoadBalancer","plainLabel":"LoadBalancer","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Elastic-Load-Balancing_Classic-load-balancer_light-bg-menu.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:loadbalancer/a3af06af9830647219ca4bb76e335070","label":"AWS_ElasticLoadBalancing_LoadBalancer","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:loadbalancer/a3af06af9830647219ca4bb76e335070","configuration":"\"{\\\"canonicalHostedZoneNameID\\\":\\\"Z32O12XQLNTSW2\\\",\\\"scheme\\\":\\\"internet-facing\\\",\\\"policies\\\":{\\\"lbcookieStickinessPolicies\\\":[],\\\"appCookieStickinessPolicies\\\":[],\\\"otherPolicies\\\":[]},\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"}],\\\"backendServerDescriptions\\\":[],\\\"sourceSecurityGroup\\\":{\\\"ownerAlias\\\":\\\"044981683129\\\",\\\"groupName\\\":\\\"k8s-elb-a3af06af9830647219ca4bb76e335070\\\"},\\\"loadBalancerName\\\":\\\"a3af06af9830647219ca4bb76e335070\\\",\\\"listenerDescriptions\\\":[{\\\"listener\\\":{\\\"instancePort\\\":31463,\\\"instanceProtocol\\\":\\\"TCP\\\",\\\"protocol\\\":\\\"TCP\\\",\\\"loadBalancerPort\\\":80},\\\"policyNames\\\":[]}],\\\"vpcid\\\":\\\"vpc-09839929763048cfc\\\",\\\"dnsname\\\":\\\"a3af06af9830647219ca4bb76e335070-156699768.eu-west-1.elb.amazonaws.com\\\",\\\"createdTime\\\":1604058515940,\\\"subnets\\\":[{\\\"value\\\":\\\"subnet-0240cebb8fa82aa33\\\"},{\\\"value\\\":\\\"subnet-03755dc2d4bdd2e2b\\\"},{\\\"value\\\":\\\"subnet-07a6385d759763604\\\"}],\\\"securityGroups\\\":[{\\\"value\\\":\\\"sg-0f682d01b121c4504\\\"}],\\\"canonicalHostedZoneName\\\":\\\"a3af06af9830647219ca4bb76e335070-156699768.eu-west-1.elb.amazonaws.com\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-09839929763048cfc","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"a3af06af9830647219ca4bb76e335070","resourceName":"a3af06af9830647219ca4bb76e335070","resourceType":"AWS::ElasticLoadBalancing::LoadBalancer","resourceValue":null,"state":null,"tags":"[{\"tag\":\"kubernetes.io/service-name=default/example-service\",\"value\":\"default/example-service\",\"key\":\"kubernetes.io/service-name\"},{\"tag\":\"kubernetes.io/cluster/attractive-badger-1604015308=owned\",\"value\":\"owned\",\"key\":\"kubernetes.io/cluster/attractive-badger-1604015308\"}]","title":"a3af06af9830647219ca4bb76e335070","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-88.5,"y":-2011.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:loadbalancer/a3af06af9830647219ca4bb76e335070","resourceId":["a3af06af9830647219ca4bb76e335070","arn:aws:elasticloadbalancing:eu-west-1:044981683129:loadbalancer/a3af06af9830647219ca4bb76e335070"],"parent":"LoadBalancer-Multiple Availability Zones-vpc-09839929763048cfc-eu-west-1-044981683129","level":5,"id":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:loadbalancer/a3af06af9830647219ca4bb76e335070","title":"a3af06af9830647219ca4bb76e335070","label":"a3af06af9830...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#FF9900","borderStyle":"dotted","borderColour":"#FF9900","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:loadbalancer/a3af06af9830647219ca4bb76e335070","state":{"status":"status-warning","text":"no state data","color":"#FF9900"},"image":"/icons/Elastic-Load-Balancing_Classic-load-balancer_light-bg-warning.svg","cost":0,"private":false,"detailsComponent":{"key":null,"ref":null,"props":{"title":"Load Balancer Details","configuration":"\"{\\\"canonicalHostedZoneNameID\\\":\\\"Z32O12XQLNTSW2\\\",\\\"scheme\\\":\\\"internet-facing\\\",\\\"policies\\\":{\\\"lbcookieStickinessPolicies\\\":[],\\\"appCookieStickinessPolicies\\\":[],\\\"otherPolicies\\\":[]},\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"}],\\\"backendServerDescriptions\\\":[],\\\"sourceSecurityGroup\\\":{\\\"ownerAlias\\\":\\\"044981683129\\\",\\\"groupName\\\":\\\"k8s-elb-a3af06af9830647219ca4bb76e335070\\\"},\\\"loadBalancerName\\\":\\\"a3af06af9830647219ca4bb76e335070\\\",\\\"listenerDescriptions\\\":[{\\\"listener\\\":{\\\"instancePort\\\":31463,\\\"instanceProtocol\\\":\\\"TCP\\\",\\\"protocol\\\":\\\"TCP\\\",\\\"loadBalancerPort\\\":80},\\\"policyNames\\\":[]}],\\\"vpcid\\\":\\\"vpc-09839929763048cfc\\\",\\\"dnsname\\\":\\\"a3af06af9830647219ca4bb76e335070-156699768.eu-west-1.elb.amazonaws.com\\\",\\\"createdTime\\\":1604058515940,\\\"subnets\\\":[{\\\"value\\\":\\\"subnet-0240cebb8fa82aa33\\\"},{\\\"value\\\":\\\"subnet-03755dc2d4bdd2e2b\\\"},{\\\"value\\\":\\\"subnet-07a6385d759763604\\\"}],\\\"securityGroups\\\":[{\\\"value\\\":\\\"sg-0f682d01b121c4504\\\"}],\\\"canonicalHostedZoneName\\\":\\\"a3af06af9830647219ca4bb76e335070-156699768.eu-west-1.elb.amazonaws.com\\\"}\""},"_owner":null,"_store":{}},"resource":{"id":"a3af06af9830647219ca4bb76e335070","name":"a3af06af9830647219ca4bb76e335070","value":null,"type":"AWS::ElasticLoadBalancing::LoadBalancer","tags":"[{\"tag\":\"kubernetes.io/service-name=default/example-service\",\"value\":\"default/example-service\",\"key\":\"kubernetes.io/service-name\"},{\"tag\":\"kubernetes.io/cluster/attractive-badger-1604015308=owned\",\"value\":\"owned\",\"key\":\"kubernetes.io/cluster/attractive-badger-1604015308\"}]","arn":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:loadbalancer/a3af06af9830647219ca4bb76e335070","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:loadbalancer/a3af06af9830647219ca4bb76e335070","configuration":"\"{\\\"canonicalHostedZoneNameID\\\":\\\"Z32O12XQLNTSW2\\\",\\\"scheme\\\":\\\"internet-facing\\\",\\\"policies\\\":{\\\"lbcookieStickinessPolicies\\\":[],\\\"appCookieStickinessPolicies\\\":[],\\\"otherPolicies\\\":[]},\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"}],\\\"backendServerDescriptions\\\":[],\\\"sourceSecurityGroup\\\":{\\\"ownerAlias\\\":\\\"044981683129\\\",\\\"groupName\\\":\\\"k8s-elb-a3af06af9830647219ca4bb76e335070\\\"},\\\"loadBalancerName\\\":\\\"a3af06af9830647219ca4bb76e335070\\\",\\\"listenerDescriptions\\\":[{\\\"listener\\\":{\\\"instancePort\\\":31463,\\\"instanceProtocol\\\":\\\"TCP\\\",\\\"protocol\\\":\\\"TCP\\\",\\\"loadBalancerPort\\\":80},\\\"policyNames\\\":[]}],\\\"vpcid\\\":\\\"vpc-09839929763048cfc\\\",\\\"dnsname\\\":\\\"a3af06af9830647219ca4bb76e335070-156699768.eu-west-1.elb.amazonaws.com\\\",\\\"createdTime\\\":1604058515940,\\\"subnets\\\":[{\\\"value\\\":\\\"subnet-0240cebb8fa82aa33\\\"},{\\\"value\\\":\\\"subnet-03755dc2d4bdd2e2b\\\"},{\\\"value\\\":\\\"subnet-07a6385d759763604\\\"}],\\\"securityGroups\\\":[{\\\"value\\\":\\\"sg-0f682d01b121c4504\\\"}],\\\"canonicalHostedZoneName\\\":\\\"a3af06af9830647219ca4bb76e335070-156699768.eu-west-1.elb.amazonaws.com\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-09839929763048cfc","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"a3af06af9830647219ca4bb76e335070","resourceName":"a3af06af9830647219ca4bb76e335070","resourceType":"AWS::ElasticLoadBalancing::LoadBalancer","resourceValue":null,"state":null,"tags":"[{\"tag\":\"kubernetes.io/service-name=default/example-service\",\"value\":\"default/example-service\",\"key\":\"kubernetes.io/service-name\"},{\"tag\":\"kubernetes.io/cluster/attractive-badger-1604015308=owned\",\"value\":\"owned\",\"key\":\"kubernetes.io/cluster/attractive-badger-1604015308\"}]","title":"a3af06af9830647219ca4bb76e335070","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-88.5,"y":-2011.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"AutoScalingGroup-eu-west-1a,eu-west-1b,eu-west-1c-vpc-09839929763048cfc-eu-west-1-044981683129","parent":"eu-west-1a,eu-west-1b,eu-west-1c-vpc-09839929763048cfc-eu-west-1-044981683129","level":4,"title":"AutoScalingGroup","label":"AutoScalingGroup","plainLabel":"AutoScalingGroup","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-EC2-Auto-Scaling.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:autoscaling:eu-west-1:044981683129:autoScalingGroup:cc4a478a-ce27-43ad-b468-3b5f3a4013e6:autoScalingGroupName/eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3","label":"AWS_AutoScaling_AutoScalingGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:autoscaling:eu-west-1:044981683129:autoScalingGroup:cc4a478a-ce27-43ad-b468-3b5f3a4013e6:autoScalingGroupName/eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3","configuration":"\"{\\\"healthCheckType\\\":\\\"EC2\\\",\\\"loadBalancerNames\\\":[],\\\"instances\\\":[{\\\"lifecycleState\\\":\\\"InService\\\",\\\"instanceId\\\":\\\"i-094153cb430d51f61\\\",\\\"healthStatus\\\":\\\"Healthy\\\",\\\"instanceType\\\":\\\"m5.large\\\",\\\"launchTemplate\\\":{\\\"launchTemplateId\\\":\\\"lt-09c499a8e3e1ce269\\\",\\\"version\\\":\\\"1\\\",\\\"launchTemplateName\\\":\\\"eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3\\\"},\\\"protectedFromScaleIn\\\":false,\\\"availabilityZone\\\":\\\"eu-west-1c\\\"},{\\\"lifecycleState\\\":\\\"InService\\\",\\\"instanceId\\\":\\\"i-0d6dc57f292feae19\\\",\\\"healthStatus\\\":\\\"Healthy\\\",\\\"instanceType\\\":\\\"m5.large\\\",\\\"launchTemplate\\\":{\\\"launchTemplateId\\\":\\\"lt-09c499a8e3e1ce269\\\",\\\"version\\\":\\\"1\\\",\\\"launchTemplateName\\\":\\\"eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3\\\"},\\\"protectedFromScaleIn\\\":false,\\\"availabilityZone\\\":\\\"eu-west-1a\\\"}],\\\"terminationPolicies\\\":[\\\"OldestLaunchTemplate\\\",\\\"OldestInstance\\\"],\\\"defaultCooldown\\\":300,\\\"autoScalingGroupARN\\\":\\\"arn:aws:autoscaling:eu-west-1:044981683129:autoScalingGroup:cc4a478a-ce27-43ad-b468-3b5f3a4013e6:autoScalingGroupName/eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3\\\",\\\"enabledMetrics\\\":[],\\\"maxSize\\\":2,\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"}],\\\"targetGroupARNs\\\":[],\\\"tags\\\":[{\\\"resourceId\\\":\\\"eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3\\\",\\\"propagateAtLaunch\\\":true,\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"eks:cluster-name\\\",\\\"resourceType\\\":\\\"auto-scaling-group\\\"},{\\\"resourceId\\\":\\\"eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3\\\",\\\"propagateAtLaunch\\\":true,\\\"value\\\":\\\"ng-608957a7\\\",\\\"key\\\":\\\"eks:nodegroup-name\\\",\\\"resourceType\\\":\\\"auto-scaling-group\\\"},{\\\"resourceId\\\":\\\"eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3\\\",\\\"propagateAtLaunch\\\":true,\\\"value\\\":\\\"owned\\\",\\\"key\\\":\\\"k8s.io/cluster-autoscaler/attractive-badger-1604015308\\\",\\\"resourceType\\\":\\\"auto-scaling-group\\\"},{\\\"resourceId\\\":\\\"eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3\\\",\\\"propagateAtLaunch\\\":true,\\\"value\\\":\\\"true\\\",\\\"key\\\":\\\"k8s.io/cluster-autoscaler/enabled\\\",\\\"resourceType\\\":\\\"auto-scaling-group\\\"},{\\\"resourceId\\\":\\\"eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3\\\",\\\"propagateAtLaunch\\\":true,\\\"value\\\":\\\"owned\\\",\\\"key\\\":\\\"kubernetes.io/cluster/attractive-badger-1604015308\\\",\\\"resourceType\\\":\\\"auto-scaling-group\\\"}],\\\"serviceLinkedRoleARN\\\":\\\"arn:aws:iam::044981683129:role/aws-service-role/autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling\\\",\\\"autoScalingGroupName\\\":\\\"eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3\\\",\\\"mixedInstancesPolicy\\\":{\\\"launchTemplate\\\":{\\\"overrides\\\":[],\\\"launchTemplateSpecification\\\":{\\\"launchTemplateId\\\":\\\"lt-09c499a8e3e1ce269\\\",\\\"version\\\":\\\"1\\\",\\\"launchTemplateName\\\":\\\"eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3\\\"}},\\\"instancesDistribution\\\":{\\\"onDemandBaseCapacity\\\":0,\\\"spotInstancePools\\\":2,\\\"spotAllocationStrategy\\\":\\\"lowest-price\\\",\\\"onDemandAllocationStrategy\\\":\\\"prioritized\\\",\\\"onDemandPercentageAboveBaseCapacity\\\":100}},\\\"healthCheckGracePeriod\\\":15,\\\"newInstancesProtectedFromScaleIn\\\":false,\\\"createdTime\\\":1604016546968,\\\"minSize\\\":2,\\\"suspendedProcesses\\\":[],\\\"vpczoneIdentifier\\\":\\\"subnet-0240cebb8fa82aa33,subnet-07a6385d759763604,subnet-03755dc2d4bdd2e2b\\\",\\\"desiredCapacity\\\":2,\\\"trafficSources\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a,eu-west-1b,eu-west-1c","vpcId":"vpc-09839929763048cfc","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/home/autoscaling/home?region=eu-west-1#AutoScalingGroups:id=eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3;view=details","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2/autoscaling/home?region=eu-west-1#AutoScalingGroups:id=eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3;view=details","private":null,"resourceId":"arn:aws:autoscaling:eu-west-1:044981683129:autoScalingGroup:cc4a478a-ce27-43ad-b468-3b5f3a4013e6:autoScalingGroupName/eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3","resourceName":"eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3","resourceType":"AWS::AutoScaling::AutoScalingGroup","resourceValue":null,"state":null,"tags":"[{\"tag\":\"k8s.io/cluster-autoscaler/attractive-badger-1604015308=owned\",\"value\":\"owned\",\"key\":\"k8s.io/cluster-autoscaler/attractive-badger-1604015308\"},{\"tag\":\"eks:cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eks:cluster-name\"},{\"tag\":\"eks:nodegroup-name=ng-608957a7\",\"value\":\"ng-608957a7\",\"key\":\"eks:nodegroup-name\"},{\"tag\":\"k8s.io/cluster-autoscaler/enabled=true\",\"value\":\"true\",\"key\":\"k8s.io/cluster-autoscaler/enabled\"},{\"tag\":\"kubernetes.io/cluster/attractive-badger-1604015308=owned\",\"value\":\"owned\",\"key\":\"kubernetes.io/cluster/attractive-badger-1604015308\"}]","title":"eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-241.5,"y":-2141.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:autoscaling:eu-west-1:044981683129:autoScalingGroup:cc4a478a-ce27-43ad-b468-3b5f3a4013e6:autoScalingGroupName/eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3","resourceId":["arn:aws:autoscaling:eu-west-1:044981683129:autoScalingGroup:cc4a478a-ce27-43ad-b468-3b5f3a4013e6:autoScalingGroupName/eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3","arn:aws:autoscaling:eu-west-1:044981683129:autoScalingGroup:cc4a478a-ce27-43ad-b468-3b5f3a4013e6:autoScalingGroupName/eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3"],"parent":"AutoScalingGroup-eu-west-1a,eu-west-1b,eu-west-1c-vpc-09839929763048cfc-eu-west-1-044981683129","level":5,"id":"arn:aws:autoscaling:eu-west-1:044981683129:autoScalingGroup:cc4a478a-ce27-43ad-b468-3b5f3a4013e6:autoScalingGroupName/eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3","title":"eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3","label":"eks-5ababb6a...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:autoscaling:eu-west-1:044981683129:autoScalingGroup:cc4a478a-ce27-43ad-b468-3b5f3a4013e6:autoScalingGroupName/eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3","image":"/icons/Amazon-EC2-Auto-Scaling.svg","cost":0,"private":false,"resource":{"id":"arn:aws:autoscaling:eu-west-1:044981683129:autoScalingGroup:cc4a478a-ce27-43ad-b468-3b5f3a4013e6:autoScalingGroupName/eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3","name":"eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3","value":null,"type":"AWS::AutoScaling::AutoScalingGroup","tags":"[{\"tag\":\"k8s.io/cluster-autoscaler/attractive-badger-1604015308=owned\",\"value\":\"owned\",\"key\":\"k8s.io/cluster-autoscaler/attractive-badger-1604015308\"},{\"tag\":\"eks:cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eks:cluster-name\"},{\"tag\":\"eks:nodegroup-name=ng-608957a7\",\"value\":\"ng-608957a7\",\"key\":\"eks:nodegroup-name\"},{\"tag\":\"k8s.io/cluster-autoscaler/enabled=true\",\"value\":\"true\",\"key\":\"k8s.io/cluster-autoscaler/enabled\"},{\"tag\":\"kubernetes.io/cluster/attractive-badger-1604015308=owned\",\"value\":\"owned\",\"key\":\"kubernetes.io/cluster/attractive-badger-1604015308\"}]","arn":"arn:aws:autoscaling:eu-west-1:044981683129:autoScalingGroup:cc4a478a-ce27-43ad-b468-3b5f3a4013e6:autoScalingGroupName/eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/home/autoscaling/home?region=eu-west-1#AutoScalingGroups:id=eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3;view=details","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2/autoscaling/home?region=eu-west-1#AutoScalingGroups:id=eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3;view=details","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:autoscaling:eu-west-1:044981683129:autoScalingGroup:cc4a478a-ce27-43ad-b468-3b5f3a4013e6:autoScalingGroupName/eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3","configuration":"\"{\\\"healthCheckType\\\":\\\"EC2\\\",\\\"loadBalancerNames\\\":[],\\\"instances\\\":[{\\\"lifecycleState\\\":\\\"InService\\\",\\\"instanceId\\\":\\\"i-094153cb430d51f61\\\",\\\"healthStatus\\\":\\\"Healthy\\\",\\\"instanceType\\\":\\\"m5.large\\\",\\\"launchTemplate\\\":{\\\"launchTemplateId\\\":\\\"lt-09c499a8e3e1ce269\\\",\\\"version\\\":\\\"1\\\",\\\"launchTemplateName\\\":\\\"eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3\\\"},\\\"protectedFromScaleIn\\\":false,\\\"availabilityZone\\\":\\\"eu-west-1c\\\"},{\\\"lifecycleState\\\":\\\"InService\\\",\\\"instanceId\\\":\\\"i-0d6dc57f292feae19\\\",\\\"healthStatus\\\":\\\"Healthy\\\",\\\"instanceType\\\":\\\"m5.large\\\",\\\"launchTemplate\\\":{\\\"launchTemplateId\\\":\\\"lt-09c499a8e3e1ce269\\\",\\\"version\\\":\\\"1\\\",\\\"launchTemplateName\\\":\\\"eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3\\\"},\\\"protectedFromScaleIn\\\":false,\\\"availabilityZone\\\":\\\"eu-west-1a\\\"}],\\\"terminationPolicies\\\":[\\\"OldestLaunchTemplate\\\",\\\"OldestInstance\\\"],\\\"defaultCooldown\\\":300,\\\"autoScalingGroupARN\\\":\\\"arn:aws:autoscaling:eu-west-1:044981683129:autoScalingGroup:cc4a478a-ce27-43ad-b468-3b5f3a4013e6:autoScalingGroupName/eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3\\\",\\\"enabledMetrics\\\":[],\\\"maxSize\\\":2,\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"}],\\\"targetGroupARNs\\\":[],\\\"tags\\\":[{\\\"resourceId\\\":\\\"eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3\\\",\\\"propagateAtLaunch\\\":true,\\\"value\\\":\\\"attractive-badger-1604015308\\\",\\\"key\\\":\\\"eks:cluster-name\\\",\\\"resourceType\\\":\\\"auto-scaling-group\\\"},{\\\"resourceId\\\":\\\"eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3\\\",\\\"propagateAtLaunch\\\":true,\\\"value\\\":\\\"ng-608957a7\\\",\\\"key\\\":\\\"eks:nodegroup-name\\\",\\\"resourceType\\\":\\\"auto-scaling-group\\\"},{\\\"resourceId\\\":\\\"eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3\\\",\\\"propagateAtLaunch\\\":true,\\\"value\\\":\\\"owned\\\",\\\"key\\\":\\\"k8s.io/cluster-autoscaler/attractive-badger-1604015308\\\",\\\"resourceType\\\":\\\"auto-scaling-group\\\"},{\\\"resourceId\\\":\\\"eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3\\\",\\\"propagateAtLaunch\\\":true,\\\"value\\\":\\\"true\\\",\\\"key\\\":\\\"k8s.io/cluster-autoscaler/enabled\\\",\\\"resourceType\\\":\\\"auto-scaling-group\\\"},{\\\"resourceId\\\":\\\"eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3\\\",\\\"propagateAtLaunch\\\":true,\\\"value\\\":\\\"owned\\\",\\\"key\\\":\\\"kubernetes.io/cluster/attractive-badger-1604015308\\\",\\\"resourceType\\\":\\\"auto-scaling-group\\\"}],\\\"serviceLinkedRoleARN\\\":\\\"arn:aws:iam::044981683129:role/aws-service-role/autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling\\\",\\\"autoScalingGroupName\\\":\\\"eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3\\\",\\\"mixedInstancesPolicy\\\":{\\\"launchTemplate\\\":{\\\"overrides\\\":[],\\\"launchTemplateSpecification\\\":{\\\"launchTemplateId\\\":\\\"lt-09c499a8e3e1ce269\\\",\\\"version\\\":\\\"1\\\",\\\"launchTemplateName\\\":\\\"eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3\\\"}},\\\"instancesDistribution\\\":{\\\"onDemandBaseCapacity\\\":0,\\\"spotInstancePools\\\":2,\\\"spotAllocationStrategy\\\":\\\"lowest-price\\\",\\\"onDemandAllocationStrategy\\\":\\\"prioritized\\\",\\\"onDemandPercentageAboveBaseCapacity\\\":100}},\\\"healthCheckGracePeriod\\\":15,\\\"newInstancesProtectedFromScaleIn\\\":false,\\\"createdTime\\\":1604016546968,\\\"minSize\\\":2,\\\"suspendedProcesses\\\":[],\\\"vpczoneIdentifier\\\":\\\"subnet-0240cebb8fa82aa33,subnet-07a6385d759763604,subnet-03755dc2d4bdd2e2b\\\",\\\"desiredCapacity\\\":2,\\\"trafficSources\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a,eu-west-1b,eu-west-1c","vpcId":"vpc-09839929763048cfc","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/home/autoscaling/home?region=eu-west-1#AutoScalingGroups:id=eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3;view=details","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2/autoscaling/home?region=eu-west-1#AutoScalingGroups:id=eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3;view=details","private":null,"resourceId":"arn:aws:autoscaling:eu-west-1:044981683129:autoScalingGroup:cc4a478a-ce27-43ad-b468-3b5f3a4013e6:autoScalingGroupName/eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3","resourceName":"eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3","resourceType":"AWS::AutoScaling::AutoScalingGroup","resourceValue":null,"state":null,"tags":"[{\"tag\":\"k8s.io/cluster-autoscaler/attractive-badger-1604015308=owned\",\"value\":\"owned\",\"key\":\"k8s.io/cluster-autoscaler/attractive-badger-1604015308\"},{\"tag\":\"eks:cluster-name=attractive-badger-1604015308\",\"value\":\"attractive-badger-1604015308\",\"key\":\"eks:cluster-name\"},{\"tag\":\"eks:nodegroup-name=ng-608957a7\",\"value\":\"ng-608957a7\",\"key\":\"eks:nodegroup-name\"},{\"tag\":\"k8s.io/cluster-autoscaler/enabled=true\",\"value\":\"true\",\"key\":\"k8s.io/cluster-autoscaler/enabled\"},{\"tag\":\"kubernetes.io/cluster/attractive-badger-1604015308=owned\",\"value\":\"owned\",\"key\":\"kubernetes.io/cluster/attractive-badger-1604015308\"}]","title":"eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-241.5,"y":-2141.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"Nodegroup-eu-west-1a,eu-west-1b,eu-west-1c-vpc-09839929763048cfc-eu-west-1-044981683129","parent":"eu-west-1a,eu-west-1b,eu-west-1c-vpc-09839929763048cfc-eu-west-1-044981683129","level":4,"title":"Nodegroup","label":"Nodegroup","plainLabel":"Nodegroup","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Arch_Amazon-EKS-Distro_64.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:eks:eu-west-1:044981683129:nodegroup/attractive-badger-1604015308/ng-608957a7/5ababb6a-75d5-8af7-0351-02c55b0db9f3","label":"AWS_EKS_Nodegroup","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:eks:eu-west-1:044981683129:nodegroup/attractive-badger-1604015308/ng-608957a7/5ababb6a-75d5-8af7-0351-02c55b0db9f3","configuration":"\"{\\\"amiType\\\":\\\"AL2_x86_64\\\",\\\"capacityType\\\":\\\"ON_DEMAND\\\",\\\"clusterName\\\":\\\"attractive-badger-1604015308\\\",\\\"createdAt\\\":\\\"2020-10-30T00:07:49.422Z\\\",\\\"health\\\":{\\\"issues\\\":[]},\\\"labels\\\":{\\\"alpha.eksctl.io/nodegroup-name\\\":\\\"ng-608957a7\\\",\\\"alpha.eksctl.io/cluster-name\\\":\\\"attractive-badger-1604015308\\\"},\\\"launchTemplate\\\":{\\\"id\\\":\\\"lt-044ec7f10ea928431\\\",\\\"name\\\":\\\"eksctl-attractive-badger-1604015308-nodegroup-ng-608957a7\\\",\\\"version\\\":\\\"1\\\"},\\\"modifiedAt\\\":\\\"2023-04-21T13:27:45.926Z\\\",\\\"nodeRole\\\":\\\"arn:aws:iam::044981683129:role/eksctl-attractive-badger-16040153-NodeInstanceRole-2Z7NJ7AA4UZA\\\",\\\"nodegroupArn\\\":\\\"arn:aws:eks:eu-west-1:044981683129:nodegroup/attractive-badger-1604015308/ng-608957a7/5ababb6a-75d5-8af7-0351-02c55b0db9f3\\\",\\\"nodegroupName\\\":\\\"ng-608957a7\\\",\\\"releaseVersion\\\":\\\"1.18.8-20201007\\\",\\\"resources\\\":{\\\"autoScalingGroups\\\":[{\\\"name\\\":\\\"eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3\\\"}]},\\\"scalingConfig\\\":{\\\"desiredSize\\\":2,\\\"maxSize\\\":2,\\\"minSize\\\":2},\\\"status\\\":\\\"ACTIVE\\\",\\\"subnets\\\":[\\\"subnet-0240cebb8fa82aa33\\\",\\\"subnet-07a6385d759763604\\\",\\\"subnet-03755dc2d4bdd2e2b\\\"],\\\"tags\\\":{\\\"aws:cloudformation:stack-name\\\":\\\"eksctl-attractive-badger-1604015308-nodegroup-ng-608957a7\\\",\\\"alpha.eksctl.io/cluster-name\\\":\\\"attractive-badger-1604015308\\\",\\\"alpha.eksctl.io/nodegroup-name\\\":\\\"ng-608957a7\\\",\\\"aws:cloudformation:stack-id\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-nodegroup-ng-608957a7/d6e8e3d0-1a43-11eb-953b-06b448abb2ce\\\",\\\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\\\":\\\"attractive-badger-1604015308\\\",\\\"aws:cloudformation:logical-id\\\":\\\"ManagedNodeGroup\\\",\\\"alpha.eksctl.io/nodegroup-type\\\":\\\"managed\\\",\\\"alpha.eksctl.io/eksctl-version\\\":\\\"0.30.0\\\"},\\\"updateConfig\\\":{\\\"maxUnavailable\\\":1},\\\"version\\\":\\\"1.18\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a,eu-west-1b,eu-west-1c","vpcId":"vpc-09839929763048cfc","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:eks:eu-west-1:044981683129:nodegroup/attractive-badger-1604015308/ng-608957a7/5ababb6a-75d5-8af7-0351-02c55b0db9f3","resourceName":"ng-608957a7","resourceType":"AWS::EKS::Nodegroup","resourceValue":null,"state":null,"tags":"[{\"key\":\"aws:cloudformation:stack-name\",\"value\":\"eksctl-attractive-badger-1604015308-nodegroup-ng-608957a7\"},{\"key\":\"alpha.eksctl.io/cluster-name\",\"value\":\"attractive-badger-1604015308\"},{\"key\":\"alpha.eksctl.io/nodegroup-name\",\"value\":\"ng-608957a7\"},{\"key\":\"aws:cloudformation:stack-id\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-nodegroup-ng-608957a7/d6e8e3d0-1a43-11eb-953b-06b448abb2ce\"},{\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\",\"value\":\"attractive-badger-1604015308\"},{\"key\":\"aws:cloudformation:logical-id\",\"value\":\"ManagedNodeGroup\"},{\"key\":\"alpha.eksctl.io/nodegroup-type\",\"value\":\"managed\"},{\"key\":\"alpha.eksctl.io/eksctl-version\",\"value\":\"0.30.0\"}]","title":"ng-608957a7","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-354.5,"y":-2011.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:eks:eu-west-1:044981683129:nodegroup/attractive-badger-1604015308/ng-608957a7/5ababb6a-75d5-8af7-0351-02c55b0db9f3","resourceId":["arn:aws:eks:eu-west-1:044981683129:nodegroup/attractive-badger-1604015308/ng-608957a7/5ababb6a-75d5-8af7-0351-02c55b0db9f3","arn:aws:eks:eu-west-1:044981683129:nodegroup/attractive-badger-1604015308/ng-608957a7/5ababb6a-75d5-8af7-0351-02c55b0db9f3"],"parent":"Nodegroup-eu-west-1a,eu-west-1b,eu-west-1c-vpc-09839929763048cfc-eu-west-1-044981683129","level":5,"id":"arn:aws:eks:eu-west-1:044981683129:nodegroup/attractive-badger-1604015308/ng-608957a7/5ababb6a-75d5-8af7-0351-02c55b0db9f3","title":"ng-608957a7","label":"ng-608957a7","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:eks:eu-west-1:044981683129:nodegroup/attractive-badger-1604015308/ng-608957a7/5ababb6a-75d5-8af7-0351-02c55b0db9f3","image":"/icons/Arch_Amazon-EKS-Distro_64.svg","cost":0,"private":false,"resource":{"id":"arn:aws:eks:eu-west-1:044981683129:nodegroup/attractive-badger-1604015308/ng-608957a7/5ababb6a-75d5-8af7-0351-02c55b0db9f3","name":"ng-608957a7","value":null,"type":"AWS::EKS::Nodegroup","tags":"[{\"key\":\"aws:cloudformation:stack-name\",\"value\":\"eksctl-attractive-badger-1604015308-nodegroup-ng-608957a7\"},{\"key\":\"alpha.eksctl.io/cluster-name\",\"value\":\"attractive-badger-1604015308\"},{\"key\":\"alpha.eksctl.io/nodegroup-name\",\"value\":\"ng-608957a7\"},{\"key\":\"aws:cloudformation:stack-id\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-nodegroup-ng-608957a7/d6e8e3d0-1a43-11eb-953b-06b448abb2ce\"},{\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\",\"value\":\"attractive-badger-1604015308\"},{\"key\":\"aws:cloudformation:logical-id\",\"value\":\"ManagedNodeGroup\"},{\"key\":\"alpha.eksctl.io/nodegroup-type\",\"value\":\"managed\"},{\"key\":\"alpha.eksctl.io/eksctl-version\",\"value\":\"0.30.0\"}]","arn":"arn:aws:eks:eu-west-1:044981683129:nodegroup/attractive-badger-1604015308/ng-608957a7/5ababb6a-75d5-8af7-0351-02c55b0db9f3","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:eks:eu-west-1:044981683129:nodegroup/attractive-badger-1604015308/ng-608957a7/5ababb6a-75d5-8af7-0351-02c55b0db9f3","configuration":"\"{\\\"amiType\\\":\\\"AL2_x86_64\\\",\\\"capacityType\\\":\\\"ON_DEMAND\\\",\\\"clusterName\\\":\\\"attractive-badger-1604015308\\\",\\\"createdAt\\\":\\\"2020-10-30T00:07:49.422Z\\\",\\\"health\\\":{\\\"issues\\\":[]},\\\"labels\\\":{\\\"alpha.eksctl.io/nodegroup-name\\\":\\\"ng-608957a7\\\",\\\"alpha.eksctl.io/cluster-name\\\":\\\"attractive-badger-1604015308\\\"},\\\"launchTemplate\\\":{\\\"id\\\":\\\"lt-044ec7f10ea928431\\\",\\\"name\\\":\\\"eksctl-attractive-badger-1604015308-nodegroup-ng-608957a7\\\",\\\"version\\\":\\\"1\\\"},\\\"modifiedAt\\\":\\\"2023-04-21T13:27:45.926Z\\\",\\\"nodeRole\\\":\\\"arn:aws:iam::044981683129:role/eksctl-attractive-badger-16040153-NodeInstanceRole-2Z7NJ7AA4UZA\\\",\\\"nodegroupArn\\\":\\\"arn:aws:eks:eu-west-1:044981683129:nodegroup/attractive-badger-1604015308/ng-608957a7/5ababb6a-75d5-8af7-0351-02c55b0db9f3\\\",\\\"nodegroupName\\\":\\\"ng-608957a7\\\",\\\"releaseVersion\\\":\\\"1.18.8-20201007\\\",\\\"resources\\\":{\\\"autoScalingGroups\\\":[{\\\"name\\\":\\\"eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3\\\"}]},\\\"scalingConfig\\\":{\\\"desiredSize\\\":2,\\\"maxSize\\\":2,\\\"minSize\\\":2},\\\"status\\\":\\\"ACTIVE\\\",\\\"subnets\\\":[\\\"subnet-0240cebb8fa82aa33\\\",\\\"subnet-07a6385d759763604\\\",\\\"subnet-03755dc2d4bdd2e2b\\\"],\\\"tags\\\":{\\\"aws:cloudformation:stack-name\\\":\\\"eksctl-attractive-badger-1604015308-nodegroup-ng-608957a7\\\",\\\"alpha.eksctl.io/cluster-name\\\":\\\"attractive-badger-1604015308\\\",\\\"alpha.eksctl.io/nodegroup-name\\\":\\\"ng-608957a7\\\",\\\"aws:cloudformation:stack-id\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-nodegroup-ng-608957a7/d6e8e3d0-1a43-11eb-953b-06b448abb2ce\\\",\\\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\\\":\\\"attractive-badger-1604015308\\\",\\\"aws:cloudformation:logical-id\\\":\\\"ManagedNodeGroup\\\",\\\"alpha.eksctl.io/nodegroup-type\\\":\\\"managed\\\",\\\"alpha.eksctl.io/eksctl-version\\\":\\\"0.30.0\\\"},\\\"updateConfig\\\":{\\\"maxUnavailable\\\":1},\\\"version\\\":\\\"1.18\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a,eu-west-1b,eu-west-1c","vpcId":"vpc-09839929763048cfc","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:eks:eu-west-1:044981683129:nodegroup/attractive-badger-1604015308/ng-608957a7/5ababb6a-75d5-8af7-0351-02c55b0db9f3","resourceName":"ng-608957a7","resourceType":"AWS::EKS::Nodegroup","resourceValue":null,"state":null,"tags":"[{\"key\":\"aws:cloudformation:stack-name\",\"value\":\"eksctl-attractive-badger-1604015308-nodegroup-ng-608957a7\"},{\"key\":\"alpha.eksctl.io/cluster-name\",\"value\":\"attractive-badger-1604015308\"},{\"key\":\"alpha.eksctl.io/nodegroup-name\",\"value\":\"ng-608957a7\"},{\"key\":\"aws:cloudformation:stack-id\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-nodegroup-ng-608957a7/d6e8e3d0-1a43-11eb-953b-06b448abb2ce\"},{\"key\":\"eksctl.cluster.k8s.io/v1alpha1/cluster-name\",\"value\":\"attractive-badger-1604015308\"},{\"key\":\"aws:cloudformation:logical-id\",\"value\":\"ManagedNodeGroup\"},{\"key\":\"alpha.eksctl.io/nodegroup-type\",\"value\":\"managed\"},{\"key\":\"alpha.eksctl.io/eksctl-version\",\"value\":\"0.30.0\"}]","title":"ng-608957a7","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-354.5,"y":-2011.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:tags::044981683129:tag/aws:cloudformation:logical-id=VPC","resourceId":["arn:aws:tags::044981683129:tag/aws:cloudformation:logical-id=VPC","arn:aws:tags::044981683129:tag/aws:cloudformation:logical-id=VPC"],"parent":"Tag-global-044981683129","level":3,"id":"arn:aws:tags::044981683129:tag/aws:cloudformation:logical-id=VPC","title":"aws:cloudformation:logical-id=VPC","label":"aws:cloudfor...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:tags::044981683129:tag/aws:cloudformation:logical-id=VPC","image":"/icons/AWS-Tags-bg.svg","cost":0,"private":false,"resource":{"id":"arn:aws:tags::044981683129:tag/aws:cloudformation:logical-id=VPC","name":"aws:cloudformation:logical-id=VPC","value":null,"type":"AWS::Tags::Tag","tags":"[]","arn":"arn:aws:tags::044981683129:tag/aws:cloudformation:logical-id=VPC","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:tags::044981683129:tag/aws:cloudformation:logical-id=VPC","configuration":"\"{}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:tags::044981683129:tag/aws:cloudformation:logical-id=VPC","resourceName":"aws:cloudformation:logical-id=VPC","resourceType":"AWS::Tags::Tag","resourceValue":null,"state":null,"tags":"[]","title":"aws:cloudformation:logical-id=VPC","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":622.5,"y":-1607.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:tags::044981683129:tag/Name=eksctl-attractive-badger-1604015308-cluster/VPC","resourceId":["arn:aws:tags::044981683129:tag/Name=eksctl-attractive-badger-1604015308-cluster/VPC","arn:aws:tags::044981683129:tag/Name=eksctl-attractive-badger-1604015308-cluster/VPC"],"parent":"Tag-global-044981683129","level":3,"id":"arn:aws:tags::044981683129:tag/Name=eksctl-attractive-badger-1604015308-cluster/VPC","title":"Name=eksctl-attractive-badger-1604015308-cluster/VPC","label":"Name=eksctl-...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:tags::044981683129:tag/Name=eksctl-attractive-badger-1604015308-cluster/VPC","image":"/icons/AWS-Tags-bg.svg","cost":0,"private":false,"resource":{"id":"arn:aws:tags::044981683129:tag/Name=eksctl-attractive-badger-1604015308-cluster/VPC","name":"Name=eksctl-attractive-badger-1604015308-cluster/VPC","value":null,"type":"AWS::Tags::Tag","tags":"[]","arn":"arn:aws:tags::044981683129:tag/Name=eksctl-attractive-badger-1604015308-cluster/VPC","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:tags::044981683129:tag/Name=eksctl-attractive-badger-1604015308-cluster/VPC","configuration":"\"{}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:tags::044981683129:tag/Name=eksctl-attractive-badger-1604015308-cluster/VPC","resourceName":"Name=eksctl-attractive-badger-1604015308-cluster/VPC","resourceType":"AWS::Tags::Tag","resourceValue":null,"state":null,"tags":"[]","title":"Name=eksctl-attractive-badger-1604015308-cluster/VPC","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":695.5,"y":-1607.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:tags::044981683129:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0","resourceId":["arn:aws:tags::044981683129:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0","arn:aws:tags::044981683129:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0"],"parent":"Tag-global-044981683129","level":3,"id":"arn:aws:tags::044981683129:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0","title":"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0","label":"aws:cloudfor...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:tags::044981683129:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0","image":"/icons/AWS-Tags-bg.svg","cost":0,"private":false,"resource":{"id":"arn:aws:tags::044981683129:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0","name":"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0","value":null,"type":"AWS::Tags::Tag","tags":"[]","arn":"arn:aws:tags::044981683129:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:tags::044981683129:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0","configuration":"\"{}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:tags::044981683129:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0","resourceName":"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0","resourceType":"AWS::Tags::Tag","resourceValue":null,"state":null,"tags":"[]","title":"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":768.5,"y":-1607.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:tags::044981683129:tag/aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster","resourceId":["arn:aws:tags::044981683129:tag/aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster","arn:aws:tags::044981683129:tag/aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster"],"parent":"Tag-global-044981683129","level":3,"id":"arn:aws:tags::044981683129:tag/aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster","title":"aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster","label":"aws:cloudfor...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:tags::044981683129:tag/aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster","image":"/icons/AWS-Tags-bg.svg","cost":0,"private":false,"resource":{"id":"arn:aws:tags::044981683129:tag/aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster","name":"aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster","value":null,"type":"AWS::Tags::Tag","tags":"[]","arn":"arn:aws:tags::044981683129:tag/aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:tags::044981683129:tag/aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster","configuration":"\"{}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:tags::044981683129:tag/aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster","resourceName":"aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster","resourceType":"AWS::Tags::Tag","resourceValue":null,"state":null,"tags":"[]","title":"aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":841.5,"y":-1899.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657","resourceId":["vpc-08ab1368aff4e5657","arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657"],"parent":"VPC-Multiple Availability Zones-eu-west-1-044981683129","level":4,"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657","title":"ecs-refarch","label":"ecs-refarch","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657","image":"/icons/VPC-menu.svg","cost":0,"private":false,"resource":{"id":"vpc-08ab1368aff4e5657","name":null,"value":null,"type":"AWS::EC2::VPC","tags":"[{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-VPC-10OMNTHQBEJPY\",\"value\":\"ecs-refarch-VPC-10OMNTHQBEJPY\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=VPC\",\"value\":\"VPC\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch\",\"value\":\"ecs-refarch\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#vpcs:sort=VpcId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#vpcs:sort=VpcId","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657","configuration":"\"{\\\"instanceTenancy\\\":\\\"default\\\",\\\"isDefault\\\":false,\\\"dhcpOptionsId\\\":\\\"dopt-01ea0a1b1a9b59c0a\\\",\\\"cidrBlock\\\":\\\"10.180.0.0/16\\\",\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"cidrBlockAssociationSet\\\":[{\\\"cidrBlock\\\":\\\"10.180.0.0/16\\\",\\\"cidrBlockState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"associationId\\\":\\\"vpc-cidr-assoc-0882774a297230082\\\"}],\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipv6CidrBlockAssociationSet\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"VPC\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"ecs-refarch-VPC-10OMNTHQBEJPY\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"ecs-refarch\\\",\\\"key\\\":\\\"Name\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":null,"subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#vpcs:sort=VpcId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#vpcs:sort=VpcId","private":null,"resourceId":"vpc-08ab1368aff4e5657","resourceName":null,"resourceType":"AWS::EC2::VPC","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-VPC-10OMNTHQBEJPY\",\"value\":\"ecs-refarch-VPC-10OMNTHQBEJPY\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=VPC\",\"value\":\"VPC\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch\",\"value\":\"ecs-refarch\",\"key\":\"Name\"}]","title":"ecs-refarch","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-374.5,"y":-515.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"id":"vpc-08ab1368aff4e5657-eu-west-1-044981683129","parent":"eu-west-1-044981683129","level":2,"title":"vpc-08ab1368aff4e5657","label":"vpc-08ab1368aff4e5657","plainLabel":"vpc-08ab1368aff4e5657","type":"vpc","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/VPC-collapsed.svg","clickedId":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657","cost":0,"hasChildren":true,"children":[{"id":null,"label":"SecurityGroup","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-05a9ece4840a0a346","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-05a9ece4840a0a346","configuration":"\"{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-05a9ece4840a0a346\\\",\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"default VPC security group\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[{\\\"groupId\\\":\\\"sg-05a9ece4840a0a346\\\",\\\"userId\\\":\\\"044981683129\\\"}],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-08ab1368aff4e5657","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-05a9ece4840a0a346","resourceName":"default","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"default","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-08891adf615ba4aa1","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-08891adf615ba4aa1","configuration":"\"{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-LoadBalancerSecurityGroup-ZSINZ6V8BUSQ\\\",\\\"groupId\\\":\\\"sg-08891adf615ba4aa1\\\",\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"Access to the load balancer that sits in front of ECS\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[{\\\"value\\\":\\\"LoadBalancerSecurityGroup\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"ecs-refarch-LoadBalancers\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-SecurityGroups-OB6L96U7FA2M/800ddfd0-243d-11eb-a82a-060129d1c243\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-08ab1368aff4e5657","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-08891adf615ba4aa1","resourceName":"ecs-refarch-SecurityGroups-OB6L96U7FA2M-LoadBalancerSecurityGroup-ZSINZ6V8BUSQ","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-SecurityGroups-OB6L96U7FA2M\",\"value\":\"ecs-refarch-SecurityGroups-OB6L96U7FA2M\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-SecurityGroups-OB6L96U7FA2M/800ddfd0-243d-11eb-a82a-060129d1c243\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-SecurityGroups-OB6L96U7FA2M/800ddfd0-243d-11eb-a82a-060129d1c243\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=LoadBalancerSecurityGroup\",\"value\":\"LoadBalancerSecurityGroup\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch-LoadBalancers\",\"value\":\"ecs-refarch-LoadBalancers\",\"key\":\"Name\"}]","title":"ecs-refarch-LoadBalancers","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0c02229ab89b7cad1","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0c02229ab89b7cad1","configuration":"\"{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6\\\",\\\"groupId\\\":\\\"sg-0c02229ab89b7cad1\\\",\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"Access to the ECS hosts and the tasks/containers that run on them\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[{\\\"groupId\\\":\\\"sg-08891adf615ba4aa1\\\",\\\"userId\\\":\\\"044981683129\\\"}],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[{\\\"value\\\":\\\"ecs-refarch-ECS-Hosts\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"ECSHostSecurityGroup\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-SecurityGroups-OB6L96U7FA2M/800ddfd0-243d-11eb-a82a-060129d1c243\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-08ab1368aff4e5657","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0c02229ab89b7cad1","resourceName":"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-SecurityGroups-OB6L96U7FA2M\",\"value\":\"ecs-refarch-SecurityGroups-OB6L96U7FA2M\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-SecurityGroups-OB6L96U7FA2M/800ddfd0-243d-11eb-a82a-060129d1c243\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-SecurityGroups-OB6L96U7FA2M/800ddfd0-243d-11eb-a82a-060129d1c243\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=ECSHostSecurityGroup\",\"value\":\"ECSHostSecurityGroup\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch-ECS-Hosts\",\"value\":\"ecs-refarch-ECS-Hosts\",\"key\":\"Name\"}]","title":"ecs-refarch-ECS-Hosts","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]},{"id":null,"label":"RouteTable","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0b62b93a064e8db4d","label":"AWS_EC2_RouteTable","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0b62b93a064e8db4d","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-05e96e37260564e8f\\\",\\\"routeTableId\\\":\\\"rtb-0b62b93a064e8db4d\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-01ca3e251f3078899\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":false}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"10.180.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"},{\\\"destinationCidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"natGatewayId\\\":\\\"nat-003288d2892af9777\\\",\\\"state\\\":\\\"active\\\"}],\\\"routeTableId\\\":\\\"rtb-0b62b93a064e8db4d\\\",\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"ecs-refarch Private Routes (AZ1)\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"PrivateRouteTable1\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"ecs-refarch-VPC-10OMNTHQBEJPY\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-08ab1368aff4e5657","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-0b62b93a064e8db4d","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-VPC-10OMNTHQBEJPY\",\"value\":\"ecs-refarch-VPC-10OMNTHQBEJPY\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateRouteTable1\",\"value\":\"PrivateRouteTable1\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch Private Routes (AZ1)\",\"value\":\"ecs-refarch Private Routes (AZ1)\",\"key\":\"Name\"}]","title":"ecs-refarch Private Routes (AZ1)","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0fbd9569f6a499b36","label":"AWS_EC2_RouteTable","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0fbd9569f6a499b36","configuration":"\"{\\\"associations\\\":[{\\\"routeTableId\\\":\\\"rtb-0fbd9569f6a499b36\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-07054214be24fe8bb\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":true}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"10.180.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"}],\\\"routeTableId\\\":\\\"rtb-0fbd9569f6a499b36\\\",\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-08ab1368aff4e5657","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-0fbd9569f6a499b36","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[]","title":"rtb-0fbd9569f6a499b36","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-06faafa610fab8386","label":"AWS_EC2_RouteTable","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-06faafa610fab8386","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-05231ecdc5364570e\\\",\\\"routeTableId\\\":\\\"rtb-06faafa610fab8386\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-0649a904aa2b65f9b\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":false},{\\\"subnetId\\\":\\\"subnet-0d37c18e65ab499bd\\\",\\\"routeTableId\\\":\\\"rtb-06faafa610fab8386\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-0e800a23c2dbfa1a5\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":false}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"10.180.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"},{\\\"destinationCidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"igw-07c75587f7231c86e\\\"}],\\\"routeTableId\\\":\\\"rtb-06faafa610fab8386\\\",\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"PublicRouteTable\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"ecs-refarch-VPC-10OMNTHQBEJPY\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"ecs-refarch Public Routes\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-08ab1368aff4e5657","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-06faafa610fab8386","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-VPC-10OMNTHQBEJPY\",\"value\":\"ecs-refarch-VPC-10OMNTHQBEJPY\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PublicRouteTable\",\"value\":\"PublicRouteTable\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch Public Routes\",\"value\":\"ecs-refarch Public Routes\",\"key\":\"Name\"}]","title":"ecs-refarch Public Routes","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0a338347d2bde85af","label":"AWS_EC2_RouteTable","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0a338347d2bde85af","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-05b78a71606d218fa\\\",\\\"routeTableId\\\":\\\"rtb-0a338347d2bde85af\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-0f3bc05f5ebb81ddf\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":false}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"10.180.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"},{\\\"destinationCidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"natGatewayId\\\":\\\"nat-01cf55db622bc959c\\\",\\\"state\\\":\\\"active\\\"}],\\\"routeTableId\\\":\\\"rtb-0a338347d2bde85af\\\",\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"ecs-refarch Private Routes (AZ2)\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"PrivateRouteTable2\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"ecs-refarch-VPC-10OMNTHQBEJPY\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-08ab1368aff4e5657","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-0a338347d2bde85af","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-VPC-10OMNTHQBEJPY\",\"value\":\"ecs-refarch-VPC-10OMNTHQBEJPY\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateRouteTable2\",\"value\":\"PrivateRouteTable2\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch Private Routes (AZ2)\",\"value\":\"ecs-refarch Private Routes (AZ2)\",\"key\":\"Name\"}]","title":"ecs-refarch Private Routes (AZ2)","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]},{"id":null,"label":"Stack","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436","label":"AWS_CloudFormation_Stack","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436","configuration":"\"{\\\"outputs\\\":[{\\\"outputKey\\\":\\\"PrivateSubnet1\\\",\\\"outputValue\\\":\\\"subnet-05e96e37260564e8f\\\",\\\"description\\\":\\\"A reference to the private subnet in the 1st Availability Zone\\\"},{\\\"outputKey\\\":\\\"PrivateSubnet2\\\",\\\"outputValue\\\":\\\"subnet-05b78a71606d218fa\\\",\\\"description\\\":\\\"A reference to the private subnet in the 2nd Availability Zone\\\"},{\\\"outputKey\\\":\\\"PrivateSubnets\\\",\\\"outputValue\\\":\\\"subnet-05e96e37260564e8f,subnet-05b78a71606d218fa\\\",\\\"description\\\":\\\"A list of the private subnets\\\"},{\\\"outputKey\\\":\\\"VPC\\\",\\\"outputValue\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"description\\\":\\\"A reference to the created VPC\\\"},{\\\"outputKey\\\":\\\"PublicSubnets\\\",\\\"outputValue\\\":\\\"subnet-0d37c18e65ab499bd,subnet-05231ecdc5364570e\\\",\\\"description\\\":\\\"A list of the public subnets\\\"},{\\\"outputKey\\\":\\\"PublicSubnet2\\\",\\\"outputValue\\\":\\\"subnet-05231ecdc5364570e\\\",\\\"description\\\":\\\"A reference to the public subnet in the 2nd Availability Zone\\\"},{\\\"outputKey\\\":\\\"PublicSubnet1\\\",\\\"outputValue\\\":\\\"subnet-0d37c18e65ab499bd\\\",\\\"description\\\":\\\"A reference to the public subnet in the 1st Availability Zone\\\"}],\\\"capabilities\\\":[\\\"CAPABILITY_NAMED_IAM\\\",\\\"CAPABILITY_AUTO_EXPAND\\\"],\\\"creationTime\\\":\\\"2020-11-11T16:43:18Z\\\",\\\"notificationARNs\\\":[],\\\"stackId\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\\\",\\\"stackName\\\":\\\"ecs-refarch-VPC-10OMNTHQBEJPY\\\",\\\"description\\\":\\\"This template deploys a VPC, with a pair of public and private subnets spread across two Availabilty Zones. It deploys an Internet Gateway, with a default route on the public subnets. It deploys a pair of NAT Gateways (one in each AZ), and default routes for them in the private subnets.\\\\n\\\",\\\"stackStatus\\\":\\\"CREATE_COMPLETE\\\",\\\"disableRollback\\\":true,\\\"parentId\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch/fd2eea00-243c-11eb-82ab-027df2f3014c\\\",\\\"tags\\\":[],\\\"driftInformation\\\":{\\\"stackDriftStatus\\\":\\\"NOT_CHECKED\\\"},\\\"enableTerminationProtection\\\":false,\\\"parameters\\\":[{\\\"parameterKey\\\":\\\"PrivateSubnet1CIDR\\\",\\\"parameterValue\\\":\\\"10.180.24.0/21\\\"},{\\\"parameterKey\\\":\\\"PublicSubnet2CIDR\\\",\\\"parameterValue\\\":\\\"10.180.16.0/21\\\"},{\\\"parameterKey\\\":\\\"PublicSubnet1CIDR\\\",\\\"parameterValue\\\":\\\"10.180.8.0/21\\\"},{\\\"parameterKey\\\":\\\"VpcCIDR\\\",\\\"parameterValue\\\":\\\"10.180.0.0/16\\\"},{\\\"parameterKey\\\":\\\"PrivateSubnet2CIDR\\\",\\\"parameterValue\\\":\\\"10.180.32.0/21\\\"},{\\\"parameterKey\\\":\\\"EnvironmentName\\\",\\\"parameterValue\\\":\\\"ecs-refarch\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Regional","vpcId":"vpc-08ab1368aff4e5657","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436","resourceName":"ecs-refarch-VPC-10OMNTHQBEJPY","resourceType":"AWS::CloudFormation::Stack","resourceValue":null,"state":null,"tags":"[]","title":"ecs-refarch-VPC-10OMNTHQBEJPY","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]},{"id":null,"label":"eu-west-1b","parent":null,"type":"availabilityZone","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-05231ecdc5364570e","label":"subnet-05231ecdc5364570e","parent":null,"type":"subnet","data":{"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-05231ecdc5364570e","configuration":"\"{\\\"subnetId\\\":\\\"subnet-05231ecdc5364570e\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-05231ecdc5364570e\\\",\\\"availabilityZoneId\\\":\\\"euw1-az3\\\",\\\"cidrBlock\\\":\\\"10.180.16.0/21\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"ecs-refarch Public Subnet (AZ2)\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"ecs-refarch-VPC-10OMNTHQBEJPY\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"PublicSubnet2\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"}],\\\"availableIpAddressCount\\\":2041,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"mapPublicIpOnLaunch\\\":true,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-05231ecdc5364570e","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":"true","resourceId":"subnet-05231ecdc5364570e","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-VPC-10OMNTHQBEJPY\",\"value\":\"ecs-refarch-VPC-10OMNTHQBEJPY\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PublicSubnet2\",\"value\":\"PublicSubnet2\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch Public Subnet (AZ2)\",\"value\":\"ecs-refarch Public Subnet (AZ2)\",\"key\":\"Name\"}]","title":"ecs-refarch Public Subnet (AZ2)","instanceType":null,"statement":null,"dBInstanceStatus":null},"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-05231ecdc5364570e","label":"AWS_EC2_Subnet"},"properties":null,"children":[{"id":null,"label":"NetworkInterface","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-05d7efdc2a3c7d241","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-05d7efdc2a3c7d241","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-05d7efdc2a3c7d241\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"044981683129\\\",\\\"allocationId\\\":\\\"eipalloc-08e4a37414b3eae0b\\\",\\\"publicIp\\\":\\\"54.154.146.95\\\",\\\"publicDnsName\\\":\\\"ec2-54-154-146-95.eu-west-1.compute.amazonaws.com\\\",\\\"associationId\\\":\\\"eipassoc-028c317858014bc2d\\\"},\\\"privateDnsName\\\":\\\"ip-10-180-19-165.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.180.19.165\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-05231ecdc5364570e\\\",\\\"requesterId\\\":\\\"036872051663\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"044981683129\\\",\\\"allocationId\\\":\\\"eipalloc-08e4a37414b3eae0b\\\",\\\"publicIp\\\":\\\"54.154.146.95\\\",\\\"publicDnsName\\\":\\\"ec2-54-154-146-95.eu-west-1.compute.amazonaws.com\\\",\\\"associationId\\\":\\\"eipassoc-028c317858014bc2d\\\"},\\\"description\\\":\\\"Interface for NAT Gateway nat-01cf55db622bc959c\\\",\\\"groups\\\":[],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":false,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.180.19.165\\\",\\\"interfaceType\\\":\\\"nat_gateway\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:dd:e5:b8:c6:23\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-8f8faab0\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"privateDnsName\\\":\\\"ip-10-180-19-165.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-05231ecdc5364570e","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-05d7efdc2a3c7d241","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-05d7efdc2a3c7d241","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-041bf1918a8cf34a3","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-041bf1918a8cf34a3","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-041bf1918a8cf34a3\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon-elb\\\",\\\"publicIp\\\":\\\"52.51.242.250\\\",\\\"publicDnsName\\\":\\\"ec2-52-51-242-250.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-10-180-16-171.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.180.16.171\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-05231ecdc5364570e\\\",\\\"requesterId\\\":\\\"amazon-elb\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon-elb\\\",\\\"publicIp\\\":\\\"52.51.242.250\\\",\\\"publicDnsName\\\":\\\"ec2-52-51-242-250.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"ELB app/ecs-refarch/59fc9a20002d9393\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-LoadBalancerSecurityGroup-ZSINZ6V8BUSQ\\\",\\\"groupId\\\":\\\"sg-08891adf615ba4aa1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.180.16.171\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:7e:49:ac:6a:9b\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0f506a693149955df\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-elb\\\",\\\"attachTime\\\":\\\"2023-04-13T22:10:50.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"privateDnsName\\\":\\\"ip-10-180-16-171.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-05231ecdc5364570e","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-041bf1918a8cf34a3","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-041bf1918a8cf34a3","instanceType":null,"statement":null,"dBInstanceStatus":null}}]},{"id":null,"label":"NatGateway","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-01cf55db622bc959c","label":"AWS_EC2_NatGateway","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-01cf55db622bc959c","configuration":"\"{\\\"subnetId\\\":\\\"subnet-05231ecdc5364570e\\\",\\\"connectivityType\\\":\\\"public\\\",\\\"createTime\\\":1605113057000,\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"natGatewayId\\\":\\\"nat-01cf55db622bc959c\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"natGatewayAddresses\\\":[{\\\"networkInterfaceId\\\":\\\"eni-05d7efdc2a3c7d241\\\",\\\"isPrimary\\\":true,\\\"privateIp\\\":\\\"10.180.19.165\\\",\\\"allocationId\\\":\\\"eipalloc-08e4a37414b3eae0b\\\",\\\"publicIp\\\":\\\"54.154.146.95\\\",\\\"associationId\\\":\\\"eipassoc-028c317858014bc2d\\\",\\\"status\\\":\\\"succeeded\\\",\\\"primary\\\":true}],\\\"tags\\\":[{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"ecs-refarch-VPC-10OMNTHQBEJPY\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"NatGateway2\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-05231ecdc5364570e","loggedInURL":null,"loginURL":null,"private":null,"resourceId":"nat-01cf55db622bc959c","resourceName":null,"resourceType":"AWS::EC2::NatGateway","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-VPC-10OMNTHQBEJPY\",\"value\":\"ecs-refarch-VPC-10OMNTHQBEJPY\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=NatGateway2\",\"value\":\"NatGateway2\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"nat-01cf55db622bc959c","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}]},{"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-05b78a71606d218fa","label":"subnet-05b78a71606d218fa","parent":null,"type":"subnet","data":{"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-05b78a71606d218fa","configuration":"\"{\\\"subnetId\\\":\\\"subnet-05b78a71606d218fa\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-05b78a71606d218fa\\\",\\\"availabilityZoneId\\\":\\\"euw1-az3\\\",\\\"cidrBlock\\\":\\\"10.180.32.0/21\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"PrivateSubnet2\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"ecs-refarch Private Subnet (AZ2)\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"ecs-refarch-VPC-10OMNTHQBEJPY\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"}],\\\"availableIpAddressCount\\\":2041,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"mapPublicIpOnLaunch\\\":false,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-05b78a71606d218fa","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":"false","resourceId":"subnet-05b78a71606d218fa","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-VPC-10OMNTHQBEJPY\",\"value\":\"ecs-refarch-VPC-10OMNTHQBEJPY\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateSubnet2\",\"value\":\"PrivateSubnet2\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch Private Subnet (AZ2)\",\"value\":\"ecs-refarch Private Subnet (AZ2)\",\"key\":\"Name\"}]","title":"ecs-refarch Private Subnet (AZ2)","instanceType":null,"statement":null,"dBInstanceStatus":null},"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-05b78a71606d218fa","label":"AWS_EC2_Subnet"},"properties":null,"children":[{"id":null,"label":"NetworkInterface","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-04938e2eb5bfafe99","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-04938e2eb5bfafe99","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-04938e2eb5bfafe99\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-180-37-89.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.180.37.89\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-05b78a71606d218fa\\\",\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6\\\",\\\"groupId\\\":\\\"sg-0c02229ab89b7cad1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"10.180.37.89\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:76:24:17:11:dd\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"instanceId\\\":\\\"i-038f307ddeb9caaec\\\",\\\"attachmentId\\\":\\\"eni-attach-05db01ffad53b70d2\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"instanceOwnerId\\\":\\\"044981683129\\\",\\\"attachTime\\\":\\\"2020-11-11T16:49:52.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"privateDnsName\\\":\\\"ip-10-180-37-89.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-05b78a71606d218fa","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-04938e2eb5bfafe99","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-04938e2eb5bfafe99","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0407eecd556929d77","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0407eecd556929d77","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0407eecd556929d77\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-180-39-82.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.180.39.82\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-05b78a71606d218fa\\\",\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6\\\",\\\"groupId\\\":\\\"sg-0c02229ab89b7cad1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"10.180.39.82\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:74:73:6a:f1:ed\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"instanceId\\\":\\\"i-0568d352e5293f7ba\\\",\\\"attachmentId\\\":\\\"eni-attach-0b8db282bfae76ed4\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"instanceOwnerId\\\":\\\"044981683129\\\",\\\"attachTime\\\":\\\"2020-11-11T16:49:52.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"privateDnsName\\\":\\\"ip-10-180-39-82.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-05b78a71606d218fa","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0407eecd556929d77","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0407eecd556929d77","instanceType":null,"statement":null,"dBInstanceStatus":null}}]},{"id":null,"label":"Instance","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:instance/i-038f307ddeb9caaec","label":"AWS_EC2_Instance","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:instance/i-038f307ddeb9caaec","configuration":"\"{\\\"subnetId\\\":\\\"subnet-05b78a71606d218fa\\\",\\\"virtualizationType\\\":\\\"hvm\\\",\\\"capacityReservationSpecification\\\":{\\\"capacityReservationPreference\\\":\\\"open\\\"},\\\"amiLaunchIndex\\\":0,\\\"enaSupport\\\":true,\\\"elasticInferenceAcceleratorAssociations\\\":[],\\\"sourceDestCheck\\\":true,\\\"hibernationOptions\\\":{\\\"configured\\\":false},\\\"instanceId\\\":\\\"i-038f307ddeb9caaec\\\",\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"hypervisor\\\":\\\"xen\\\",\\\"rootDeviceName\\\":\\\"/dev/xvda\\\",\\\"productCodes\\\":[],\\\"state\\\":{\\\"code\\\":\\\"16\\\",\\\"name\\\":\\\"running\\\"},\\\"architecture\\\":\\\"x86_64\\\",\\\"ebsOptimized\\\":false,\\\"imageId\\\":\\\"ami-0d3c55e1582bd84fd\\\",\\\"blockDeviceMappings\\\":[{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-045aff0accd0447e8\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2020-11-11T16:49:53.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvda\\\"},{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-0c52a596424c16120\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2020-11-11T16:49:53.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvdcz\\\"}],\\\"stateTransitionReason\\\":\\\"\\\",\\\"clientToken\\\":\\\"d315d6e0-da9e-3845-842c-91665076bd54\\\",\\\"instanceType\\\":\\\"t2.large\\\",\\\"cpuOptions\\\":{\\\"threadsPerCore\\\":1,\\\"coreCount\\\":2},\\\"monitoring\\\":{\\\"state\\\":\\\"enabled\\\"},\\\"publicDnsName\\\":\\\"\\\",\\\"iamInstanceProfile\\\":{\\\"id\\\":\\\"AIPAQU6I6AO4SHWPDYPQ5\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:instance-profile/ecs-refarch-ECS-1AFGNR7O7APCU-ECSInstanceProfile-10AECDOPB7UQW\\\"},\\\"privateIpAddress\\\":\\\"10.180.37.89\\\",\\\"rootDeviceType\\\":\\\"ebs\\\",\\\"tags\\\":[{\\\"value\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"ecs-refarch ECS host\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\\\",\\\"key\\\":\\\"aws:autoscaling:groupName\\\"},{\\\"value\\\":\\\"ECSAutoScalingGroup\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"}],\\\"enclaveOptions\\\":{\\\"enabled\\\":false},\\\"launchTime\\\":\\\"2020-11-11T16:49:52.000Z\\\",\\\"elasticGpuAssociations\\\":[],\\\"licenses\\\":[],\\\"networkInterfaces\\\":[{\\\"networkInterfaceId\\\":\\\"eni-04938e2eb5bfafe99\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-180-37-89.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.180.37.89\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-05b78a71606d218fa\\\",\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6\\\",\\\"groupId\\\":\\\"sg-0c02229ab89b7cad1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"privateIpAddress\\\":\\\"10.180.37.89\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"macAddress\\\":\\\"0a:76:24:17:11:dd\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-05db01ffad53b70d2\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"attachTime\\\":\\\"2020-11-11T16:49:52.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"privateDnsName\\\":\\\"ip-10-180-37-89.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}],\\\"metadataOptions\\\":{\\\"httpPutResponseHopLimit\\\":1,\\\"httpEndpoint\\\":\\\"enabled\\\",\\\"state\\\":\\\"applied\\\",\\\"httpTokens\\\":\\\"optional\\\"},\\\"privateDnsName\\\":\\\"ip-10-180-37-89.eu-west-1.compute.internal\\\",\\\"securityGroups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6\\\",\\\"groupId\\\":\\\"sg-0c02229ab89b7cad1\\\"}],\\\"placement\\\":{\\\"groupName\\\":\\\"\\\",\\\"tenancy\\\":\\\"default\\\",\\\"availabilityZone\\\":\\\"eu-west-1b\\\"}}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-05b78a71606d218fa","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#Instances:sort=instanceId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#Instances:sort=instanceId","private":null,"resourceId":"i-038f307ddeb9caaec","resourceName":null,"resourceType":"AWS::EC2::Instance","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-ECS-1AFGNR7O7APCU\",\"value\":\"ecs-refarch-ECS-1AFGNR7O7APCU\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:autoscaling:groupName=ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\",\"value\":\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\",\"key\":\"aws:autoscaling:groupName\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=ECSAutoScalingGroup\",\"value\":\"ECSAutoScalingGroup\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch ECS host\",\"value\":\"ecs-refarch ECS host\",\"key\":\"Name\"}]","title":"ecs-refarch ECS host","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:instance/i-0568d352e5293f7ba","label":"AWS_EC2_Instance","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:instance/i-0568d352e5293f7ba","configuration":"\"{\\\"subnetId\\\":\\\"subnet-05b78a71606d218fa\\\",\\\"virtualizationType\\\":\\\"hvm\\\",\\\"capacityReservationSpecification\\\":{\\\"capacityReservationPreference\\\":\\\"open\\\"},\\\"amiLaunchIndex\\\":1,\\\"enaSupport\\\":true,\\\"elasticInferenceAcceleratorAssociations\\\":[],\\\"sourceDestCheck\\\":true,\\\"hibernationOptions\\\":{\\\"configured\\\":false},\\\"instanceId\\\":\\\"i-0568d352e5293f7ba\\\",\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"hypervisor\\\":\\\"xen\\\",\\\"rootDeviceName\\\":\\\"/dev/xvda\\\",\\\"productCodes\\\":[],\\\"state\\\":{\\\"code\\\":\\\"16\\\",\\\"name\\\":\\\"running\\\"},\\\"architecture\\\":\\\"x86_64\\\",\\\"ebsOptimized\\\":false,\\\"imageId\\\":\\\"ami-0d3c55e1582bd84fd\\\",\\\"blockDeviceMappings\\\":[{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-07dbcc0ff67f0c1bc\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2020-11-11T16:49:53.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvda\\\"},{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-0c1ead3869a3d378f\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2020-11-11T16:49:53.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvdcz\\\"}],\\\"stateTransitionReason\\\":\\\"\\\",\\\"clientToken\\\":\\\"d315d6e0-da9e-3845-842c-91665076bd54\\\",\\\"instanceType\\\":\\\"t2.large\\\",\\\"cpuOptions\\\":{\\\"threadsPerCore\\\":1,\\\"coreCount\\\":2},\\\"monitoring\\\":{\\\"state\\\":\\\"enabled\\\"},\\\"publicDnsName\\\":\\\"\\\",\\\"iamInstanceProfile\\\":{\\\"id\\\":\\\"AIPAQU6I6AO4SHWPDYPQ5\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:instance-profile/ecs-refarch-ECS-1AFGNR7O7APCU-ECSInstanceProfile-10AECDOPB7UQW\\\"},\\\"privateIpAddress\\\":\\\"10.180.39.82\\\",\\\"rootDeviceType\\\":\\\"ebs\\\",\\\"tags\\\":[{\\\"value\\\":\\\"ECSAutoScalingGroup\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\\\",\\\"key\\\":\\\"aws:autoscaling:groupName\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"ecs-refarch ECS host\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"}],\\\"enclaveOptions\\\":{\\\"enabled\\\":false},\\\"launchTime\\\":\\\"2020-11-11T16:49:52.000Z\\\",\\\"elasticGpuAssociations\\\":[],\\\"licenses\\\":[],\\\"networkInterfaces\\\":[{\\\"networkInterfaceId\\\":\\\"eni-0407eecd556929d77\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-180-39-82.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.180.39.82\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-05b78a71606d218fa\\\",\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6\\\",\\\"groupId\\\":\\\"sg-0c02229ab89b7cad1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"privateIpAddress\\\":\\\"10.180.39.82\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"macAddress\\\":\\\"0a:74:73:6a:f1:ed\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0b8db282bfae76ed4\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"attachTime\\\":\\\"2020-11-11T16:49:52.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"privateDnsName\\\":\\\"ip-10-180-39-82.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}],\\\"metadataOptions\\\":{\\\"httpPutResponseHopLimit\\\":1,\\\"httpEndpoint\\\":\\\"enabled\\\",\\\"state\\\":\\\"applied\\\",\\\"httpTokens\\\":\\\"optional\\\"},\\\"privateDnsName\\\":\\\"ip-10-180-39-82.eu-west-1.compute.internal\\\",\\\"securityGroups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6\\\",\\\"groupId\\\":\\\"sg-0c02229ab89b7cad1\\\"}],\\\"placement\\\":{\\\"groupName\\\":\\\"\\\",\\\"tenancy\\\":\\\"default\\\",\\\"availabilityZone\\\":\\\"eu-west-1b\\\"}}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-05b78a71606d218fa","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#Instances:sort=instanceId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#Instances:sort=instanceId","private":null,"resourceId":"i-0568d352e5293f7ba","resourceName":null,"resourceType":"AWS::EC2::Instance","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:autoscaling:groupName=ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\",\"value\":\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\",\"key\":\"aws:autoscaling:groupName\"},{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-ECS-1AFGNR7O7APCU\",\"value\":\"ecs-refarch-ECS-1AFGNR7O7APCU\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=ECSAutoScalingGroup\",\"value\":\"ECSAutoScalingGroup\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch ECS host\",\"value\":\"ecs-refarch ECS host\",\"key\":\"Name\"}]","title":"ecs-refarch ECS host","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}]}]},{"id":null,"label":"eu-west-1a","parent":null,"type":"availabilityZone","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-05e96e37260564e8f","label":"subnet-05e96e37260564e8f","parent":null,"type":"subnet","data":{"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-05e96e37260564e8f","configuration":"\"{\\\"subnetId\\\":\\\"subnet-05e96e37260564e8f\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-05e96e37260564e8f\\\",\\\"availabilityZoneId\\\":\\\"euw1-az2\\\",\\\"cidrBlock\\\":\\\"10.180.24.0/21\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"ecs-refarch-VPC-10OMNTHQBEJPY\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"ecs-refarch Private Subnet (AZ1)\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"PrivateSubnet1\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"}],\\\"availableIpAddressCount\\\":2041,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"mapPublicIpOnLaunch\\\":false,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-05e96e37260564e8f","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":"false","resourceId":"subnet-05e96e37260564e8f","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-VPC-10OMNTHQBEJPY\",\"value\":\"ecs-refarch-VPC-10OMNTHQBEJPY\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateSubnet1\",\"value\":\"PrivateSubnet1\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch Private Subnet (AZ1)\",\"value\":\"ecs-refarch Private Subnet (AZ1)\",\"key\":\"Name\"}]","title":"ecs-refarch Private Subnet (AZ1)","instanceType":null,"statement":null,"dBInstanceStatus":null},"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-05e96e37260564e8f","label":"AWS_EC2_Subnet"},"properties":null,"children":[{"id":null,"label":"NetworkInterface","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0c1c4432165335ad6","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0c1c4432165335ad6","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0c1c4432165335ad6\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-180-26-154.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.180.26.154\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-05e96e37260564e8f\\\",\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6\\\",\\\"groupId\\\":\\\"sg-0c02229ab89b7cad1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"10.180.26.154\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:58:01:4c:e7:31\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"instanceId\\\":\\\"i-0c90e93ebfc159e4a\\\",\\\"attachmentId\\\":\\\"eni-attach-03bcf65504708818e\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"instanceOwnerId\\\":\\\"044981683129\\\",\\\"attachTime\\\":\\\"2020-11-11T16:49:52.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"privateDnsName\\\":\\\"ip-10-180-26-154.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-05e96e37260564e8f","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0c1c4432165335ad6","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0c1c4432165335ad6","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0f9bd2b79bd4f437f","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0f9bd2b79bd4f437f","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0f9bd2b79bd4f437f\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-180-28-11.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.180.28.11\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-05e96e37260564e8f\\\",\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6\\\",\\\"groupId\\\":\\\"sg-0c02229ab89b7cad1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"10.180.28.11\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:e0:f7:40:22:01\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"instanceId\\\":\\\"i-052f9f64097ac2769\\\",\\\"attachmentId\\\":\\\"eni-attach-0882c9122a79bf84f\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"instanceOwnerId\\\":\\\"044981683129\\\",\\\"attachTime\\\":\\\"2022-06-21T06:55:41.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"privateDnsName\\\":\\\"ip-10-180-28-11.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-05e96e37260564e8f","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0f9bd2b79bd4f437f","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0f9bd2b79bd4f437f","instanceType":null,"statement":null,"dBInstanceStatus":null}}]},{"id":null,"label":"Instance","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:instance/i-052f9f64097ac2769","label":"AWS_EC2_Instance","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:instance/i-052f9f64097ac2769","configuration":"\"{\\\"subnetId\\\":\\\"subnet-05e96e37260564e8f\\\",\\\"virtualizationType\\\":\\\"hvm\\\",\\\"capacityReservationSpecification\\\":{\\\"capacityReservationPreference\\\":\\\"open\\\"},\\\"amiLaunchIndex\\\":0,\\\"enaSupport\\\":true,\\\"elasticInferenceAcceleratorAssociations\\\":[],\\\"sourceDestCheck\\\":true,\\\"hibernationOptions\\\":{\\\"configured\\\":false},\\\"instanceId\\\":\\\"i-052f9f64097ac2769\\\",\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"hypervisor\\\":\\\"xen\\\",\\\"rootDeviceName\\\":\\\"/dev/xvda\\\",\\\"productCodes\\\":[],\\\"state\\\":{\\\"code\\\":\\\"16\\\",\\\"name\\\":\\\"running\\\"},\\\"architecture\\\":\\\"x86_64\\\",\\\"ebsOptimized\\\":false,\\\"imageId\\\":\\\"ami-0d3c55e1582bd84fd\\\",\\\"blockDeviceMappings\\\":[{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-04e43f90baefcee69\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2022-06-21T06:55:42.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvda\\\"},{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-038dddb4899e7db85\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2022-06-21T06:55:42.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvdcz\\\"}],\\\"stateTransitionReason\\\":\\\"\\\",\\\"clientToken\\\":\\\"d2560614-2e7c-762f-e92b-d81be35df88b\\\",\\\"instanceType\\\":\\\"t2.large\\\",\\\"cpuOptions\\\":{\\\"threadsPerCore\\\":1,\\\"coreCount\\\":2},\\\"monitoring\\\":{\\\"state\\\":\\\"enabled\\\"},\\\"publicDnsName\\\":\\\"\\\",\\\"iamInstanceProfile\\\":{\\\"id\\\":\\\"AIPAQU6I6AO4SHWPDYPQ5\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:instance-profile/ecs-refarch-ECS-1AFGNR7O7APCU-ECSInstanceProfile-10AECDOPB7UQW\\\"},\\\"privateIpAddress\\\":\\\"10.180.28.11\\\",\\\"rootDeviceType\\\":\\\"ebs\\\",\\\"tags\\\":[{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"ECSAutoScalingGroup\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\\\",\\\"key\\\":\\\"aws:autoscaling:groupName\\\"},{\\\"value\\\":\\\"ecs-refarch ECS host\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"}],\\\"enclaveOptions\\\":{\\\"enabled\\\":false},\\\"launchTime\\\":\\\"2022-06-21T06:55:41.000Z\\\",\\\"elasticGpuAssociations\\\":[],\\\"licenses\\\":[],\\\"networkInterfaces\\\":[{\\\"networkInterfaceId\\\":\\\"eni-0f9bd2b79bd4f437f\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-180-28-11.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.180.28.11\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-05e96e37260564e8f\\\",\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6\\\",\\\"groupId\\\":\\\"sg-0c02229ab89b7cad1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"privateIpAddress\\\":\\\"10.180.28.11\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"macAddress\\\":\\\"06:e0:f7:40:22:01\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0882c9122a79bf84f\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"attachTime\\\":\\\"2022-06-21T06:55:41.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"privateDnsName\\\":\\\"ip-10-180-28-11.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}],\\\"metadataOptions\\\":{\\\"httpPutResponseHopLimit\\\":1,\\\"httpEndpoint\\\":\\\"enabled\\\",\\\"state\\\":\\\"applied\\\",\\\"httpTokens\\\":\\\"optional\\\"},\\\"privateDnsName\\\":\\\"ip-10-180-28-11.eu-west-1.compute.internal\\\",\\\"securityGroups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6\\\",\\\"groupId\\\":\\\"sg-0c02229ab89b7cad1\\\"}],\\\"placement\\\":{\\\"groupName\\\":\\\"\\\",\\\"tenancy\\\":\\\"default\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\"}}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-05e96e37260564e8f","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#Instances:sort=instanceId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#Instances:sort=instanceId","private":null,"resourceId":"i-052f9f64097ac2769","resourceName":null,"resourceType":"AWS::EC2::Instance","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:autoscaling:groupName=ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\",\"value\":\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\",\"key\":\"aws:autoscaling:groupName\"},{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-ECS-1AFGNR7O7APCU\",\"value\":\"ecs-refarch-ECS-1AFGNR7O7APCU\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=ECSAutoScalingGroup\",\"value\":\"ECSAutoScalingGroup\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch ECS host\",\"value\":\"ecs-refarch ECS host\",\"key\":\"Name\"}]","title":"ecs-refarch ECS host","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:instance/i-0c90e93ebfc159e4a","label":"AWS_EC2_Instance","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:instance/i-0c90e93ebfc159e4a","configuration":"\"{\\\"subnetId\\\":\\\"subnet-05e96e37260564e8f\\\",\\\"virtualizationType\\\":\\\"hvm\\\",\\\"capacityReservationSpecification\\\":{\\\"capacityReservationPreference\\\":\\\"open\\\"},\\\"amiLaunchIndex\\\":0,\\\"enaSupport\\\":true,\\\"elasticInferenceAcceleratorAssociations\\\":[],\\\"sourceDestCheck\\\":true,\\\"hibernationOptions\\\":{\\\"configured\\\":false},\\\"instanceId\\\":\\\"i-0c90e93ebfc159e4a\\\",\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"hypervisor\\\":\\\"xen\\\",\\\"rootDeviceName\\\":\\\"/dev/xvda\\\",\\\"productCodes\\\":[],\\\"state\\\":{\\\"code\\\":\\\"16\\\",\\\"name\\\":\\\"running\\\"},\\\"architecture\\\":\\\"x86_64\\\",\\\"ebsOptimized\\\":false,\\\"imageId\\\":\\\"ami-0d3c55e1582bd84fd\\\",\\\"blockDeviceMappings\\\":[{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-0af527c0224f85642\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2020-11-11T16:49:53.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvda\\\"},{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-0677639d598ef8143\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2020-11-11T16:49:53.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvdcz\\\"}],\\\"stateTransitionReason\\\":\\\"\\\",\\\"clientToken\\\":\\\"27a5d6e0-da9d-3eab-7100-74f60e48fbf6\\\",\\\"instanceType\\\":\\\"t2.large\\\",\\\"cpuOptions\\\":{\\\"threadsPerCore\\\":1,\\\"coreCount\\\":2},\\\"monitoring\\\":{\\\"state\\\":\\\"enabled\\\"},\\\"publicDnsName\\\":\\\"\\\",\\\"iamInstanceProfile\\\":{\\\"id\\\":\\\"AIPAQU6I6AO4SHWPDYPQ5\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:instance-profile/ecs-refarch-ECS-1AFGNR7O7APCU-ECSInstanceProfile-10AECDOPB7UQW\\\"},\\\"privateIpAddress\\\":\\\"10.180.26.154\\\",\\\"rootDeviceType\\\":\\\"ebs\\\",\\\"tags\\\":[{\\\"value\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\\\",\\\"key\\\":\\\"aws:autoscaling:groupName\\\"},{\\\"value\\\":\\\"ecs-refarch ECS host\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"ECSAutoScalingGroup\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"}],\\\"enclaveOptions\\\":{\\\"enabled\\\":false},\\\"launchTime\\\":\\\"2020-11-11T16:49:52.000Z\\\",\\\"elasticGpuAssociations\\\":[],\\\"licenses\\\":[],\\\"networkInterfaces\\\":[{\\\"networkInterfaceId\\\":\\\"eni-0c1c4432165335ad6\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-180-26-154.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.180.26.154\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-05e96e37260564e8f\\\",\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6\\\",\\\"groupId\\\":\\\"sg-0c02229ab89b7cad1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"privateIpAddress\\\":\\\"10.180.26.154\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"macAddress\\\":\\\"06:58:01:4c:e7:31\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-03bcf65504708818e\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"attachTime\\\":\\\"2020-11-11T16:49:52.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"privateDnsName\\\":\\\"ip-10-180-26-154.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}],\\\"metadataOptions\\\":{\\\"httpPutResponseHopLimit\\\":1,\\\"httpEndpoint\\\":\\\"enabled\\\",\\\"state\\\":\\\"applied\\\",\\\"httpTokens\\\":\\\"optional\\\"},\\\"privateDnsName\\\":\\\"ip-10-180-26-154.eu-west-1.compute.internal\\\",\\\"securityGroups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6\\\",\\\"groupId\\\":\\\"sg-0c02229ab89b7cad1\\\"}],\\\"placement\\\":{\\\"groupName\\\":\\\"\\\",\\\"tenancy\\\":\\\"default\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\"}}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-05e96e37260564e8f","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#Instances:sort=instanceId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#Instances:sort=instanceId","private":null,"resourceId":"i-0c90e93ebfc159e4a","resourceName":null,"resourceType":"AWS::EC2::Instance","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:autoscaling:groupName=ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\",\"value\":\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\",\"key\":\"aws:autoscaling:groupName\"},{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-ECS-1AFGNR7O7APCU\",\"value\":\"ecs-refarch-ECS-1AFGNR7O7APCU\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=ECSAutoScalingGroup\",\"value\":\"ECSAutoScalingGroup\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch ECS host\",\"value\":\"ecs-refarch ECS host\",\"key\":\"Name\"}]","title":"ecs-refarch ECS host","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}]},{"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0d37c18e65ab499bd","label":"subnet-0d37c18e65ab499bd","parent":null,"type":"subnet","data":{"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0d37c18e65ab499bd","configuration":"\"{\\\"subnetId\\\":\\\"subnet-0d37c18e65ab499bd\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0d37c18e65ab499bd\\\",\\\"availabilityZoneId\\\":\\\"euw1-az2\\\",\\\"cidrBlock\\\":\\\"10.180.8.0/21\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"ecs-refarch Public Subnet (AZ1)\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"PublicSubnet1\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"ecs-refarch-VPC-10OMNTHQBEJPY\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"}],\\\"availableIpAddressCount\\\":2041,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"mapPublicIpOnLaunch\\\":true,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-0d37c18e65ab499bd","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":"true","resourceId":"subnet-0d37c18e65ab499bd","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-VPC-10OMNTHQBEJPY\",\"value\":\"ecs-refarch-VPC-10OMNTHQBEJPY\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PublicSubnet1\",\"value\":\"PublicSubnet1\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch Public Subnet (AZ1)\",\"value\":\"ecs-refarch Public Subnet (AZ1)\",\"key\":\"Name\"}]","title":"ecs-refarch Public Subnet (AZ1)","instanceType":null,"statement":null,"dBInstanceStatus":null},"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0d37c18e65ab499bd","label":"AWS_EC2_Subnet"},"properties":null,"children":[{"id":null,"label":"NetworkInterface","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-06293fbac397e7013","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-06293fbac397e7013","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-06293fbac397e7013\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"044981683129\\\",\\\"allocationId\\\":\\\"eipalloc-09729f659f29e77ce\\\",\\\"publicIp\\\":\\\"54.78.105.178\\\",\\\"publicDnsName\\\":\\\"ec2-54-78-105-178.eu-west-1.compute.amazonaws.com\\\",\\\"associationId\\\":\\\"eipassoc-0dca22cfc4b9ef19b\\\"},\\\"privateDnsName\\\":\\\"ip-10-180-14-89.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.180.14.89\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0d37c18e65ab499bd\\\",\\\"requesterId\\\":\\\"659071214717\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"044981683129\\\",\\\"allocationId\\\":\\\"eipalloc-09729f659f29e77ce\\\",\\\"publicIp\\\":\\\"54.78.105.178\\\",\\\"publicDnsName\\\":\\\"ec2-54-78-105-178.eu-west-1.compute.amazonaws.com\\\",\\\"associationId\\\":\\\"eipassoc-0dca22cfc4b9ef19b\\\"},\\\"description\\\":\\\"Interface for NAT Gateway nat-003288d2892af9777\\\",\\\"groups\\\":[],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":false,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.180.14.89\\\",\\\"interfaceType\\\":\\\"nat_gateway\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:3d:55:f6:d2:5b\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-4553197c\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"privateDnsName\\\":\\\"ip-10-180-14-89.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-0d37c18e65ab499bd","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-06293fbac397e7013","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-06293fbac397e7013","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0d1f9081934f9a63c","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0d1f9081934f9a63c","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0d1f9081934f9a63c\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon-elb\\\",\\\"publicIp\\\":\\\"34.249.182.151\\\",\\\"publicDnsName\\\":\\\"ec2-34-249-182-151.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-10-180-11-114.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.180.11.114\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0d37c18e65ab499bd\\\",\\\"requesterId\\\":\\\"amazon-elb\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon-elb\\\",\\\"publicIp\\\":\\\"34.249.182.151\\\",\\\"publicDnsName\\\":\\\"ec2-34-249-182-151.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"ELB app/ecs-refarch/59fc9a20002d9393\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-LoadBalancerSecurityGroup-ZSINZ6V8BUSQ\\\",\\\"groupId\\\":\\\"sg-08891adf615ba4aa1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.180.11.114\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:6f:4e:f6:03:9b\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-07dba044bfa7a2d8e\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-elb\\\",\\\"attachTime\\\":\\\"2023-04-17T15:38:37.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"privateDnsName\\\":\\\"ip-10-180-11-114.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-0d37c18e65ab499bd","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0d1f9081934f9a63c","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0d1f9081934f9a63c","instanceType":null,"statement":null,"dBInstanceStatus":null}}]},{"id":null,"label":"NatGateway","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-003288d2892af9777","label":"AWS_EC2_NatGateway","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-003288d2892af9777","configuration":"\"{\\\"subnetId\\\":\\\"subnet-0d37c18e65ab499bd\\\",\\\"connectivityType\\\":\\\"public\\\",\\\"createTime\\\":1605113057000,\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"natGatewayId\\\":\\\"nat-003288d2892af9777\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"natGatewayAddresses\\\":[{\\\"networkInterfaceId\\\":\\\"eni-06293fbac397e7013\\\",\\\"isPrimary\\\":true,\\\"privateIp\\\":\\\"10.180.14.89\\\",\\\"allocationId\\\":\\\"eipalloc-09729f659f29e77ce\\\",\\\"publicIp\\\":\\\"54.78.105.178\\\",\\\"associationId\\\":\\\"eipassoc-0dca22cfc4b9ef19b\\\",\\\"status\\\":\\\"succeeded\\\",\\\"primary\\\":true}],\\\"tags\\\":[{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"ecs-refarch-VPC-10OMNTHQBEJPY\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"NatGateway1\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-0d37c18e65ab499bd","loggedInURL":null,"loginURL":null,"private":null,"resourceId":"nat-003288d2892af9777","resourceName":null,"resourceType":"AWS::EC2::NatGateway","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-VPC-10OMNTHQBEJPY\",\"value\":\"ecs-refarch-VPC-10OMNTHQBEJPY\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=NatGateway1\",\"value\":\"NatGateway1\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"nat-003288d2892af9777","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}]}]},{"id":null,"label":"Multiple Availability Zones","parent":null,"type":"availabilityZone","data":null,"properties":null,"children":[{"id":null,"label":"NetworkAcl","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-04ca40b08ab961109","label":"AWS_EC2_NetworkAcl","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-04ca40b08ab961109","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-05e96e37260564e8f\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-cd038ebf\\\",\\\"networkAclId\\\":\\\"acl-04ca40b08ab961109\\\"},{\\\"subnetId\\\":\\\"subnet-0d37c18e65ab499bd\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-243ab756\\\",\\\"networkAclId\\\":\\\"acl-04ca40b08ab961109\\\"},{\\\"subnetId\\\":\\\"subnet-05b78a71606d218fa\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-4e23ae3c\\\",\\\"networkAclId\\\":\\\"acl-04ca40b08ab961109\\\"},{\\\"subnetId\\\":\\\"subnet-05231ecdc5364570e\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-ab1e93d9\\\",\\\"networkAclId\\\":\\\"acl-04ca40b08ab961109\\\"}],\\\"entries\\\":[{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":false},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":false}],\\\"isDefault\\\":true,\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"networkAclId\\\":\\\"acl-04ca40b08ab961109\\\",\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-08ab1368aff4e5657","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#acls:sort=networkAclId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#acls:sort=networkAclId","private":null,"resourceId":"acl-04ca40b08ab961109","resourceName":null,"resourceType":"AWS::EC2::NetworkAcl","resourceValue":null,"state":null,"tags":"[]","title":"acl-04ca40b08ab961109","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]},{"id":null,"label":"InternetGateway","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:internet-gateway/igw-07c75587f7231c86e","label":"AWS_EC2_InternetGateway","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:internet-gateway/igw-07c75587f7231c86e","configuration":"\"{\\\"attachments\\\":[{\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"state\\\":\\\"available\\\"}],\\\"internetGatewayId\\\":\\\"igw-07c75587f7231c86e\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"tags\\\":[{\\\"value\\\":\\\"ecs-refarch-VPC-10OMNTHQBEJPY\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"InternetGateway\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"ecs-refarch\\\",\\\"key\\\":\\\"Name\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-08ab1368aff4e5657","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#igws:sort=internetGatewayId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#igws:sort=internetGatewayId","private":null,"resourceId":"igw-07c75587f7231c86e","resourceName":null,"resourceType":"AWS::EC2::InternetGateway","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-VPC-10OMNTHQBEJPY\",\"value\":\"ecs-refarch-VPC-10OMNTHQBEJPY\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=InternetGateway\",\"value\":\"InternetGateway\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch\",\"value\":\"ecs-refarch\",\"key\":\"Name\"}]","title":"ecs-refarch","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]},{"id":null,"label":"LoadBalancer","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:loadbalancer/app/ecs-refarch/59fc9a20002d9393","label":"AWS_ElasticLoadBalancingV2_LoadBalancer","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:loadbalancer/app/ecs-refarch/59fc9a20002d9393","configuration":"\"{\\\"loadBalancerArn\\\":\\\"arn:aws:elasticloadbalancing:eu-west-1:044981683129:loadbalancer/app/ecs-refarch/59fc9a20002d9393\\\",\\\"scheme\\\":\\\"internet-facing\\\",\\\"loadBalancerName\\\":\\\"ecs-refarch\\\",\\\"canonicalHostedZoneId\\\":\\\"Z32O12XQLNTSW2\\\",\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"createdTime\\\":\\\"2020-11-11T16:47:23.030Z\\\",\\\"availabilityZones\\\":[{\\\"subnetId\\\":\\\"subnet-05231ecdc5364570e\\\",\\\"zoneName\\\":\\\"eu-west-1b\\\",\\\"loadBalancerAddresses\\\":[]},{\\\"subnetId\\\":\\\"subnet-0d37c18e65ab499bd\\\",\\\"zoneName\\\":\\\"eu-west-1a\\\",\\\"loadBalancerAddresses\\\":[]}],\\\"securityGroups\\\":[{\\\"value\\\":\\\"sg-08891adf615ba4aa1\\\"}],\\\"dNSName\\\":\\\"ecs-refarch-2061625068.eu-west-1.elb.amazonaws.com\\\",\\\"state\\\":{\\\"code\\\":\\\"active\\\"},\\\"type\\\":\\\"application\\\",\\\"ipAddressType\\\":\\\"ipv4\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-08ab1368aff4e5657","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#LoadBalancers:","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#LoadBalancers:","private":null,"resourceId":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:loadbalancer/app/ecs-refarch/59fc9a20002d9393","resourceName":"ecs-refarch","resourceType":"AWS::ElasticLoadBalancingV2::LoadBalancer","resourceValue":null,"state":null,"tags":"[{\"tag\":\"Name=ecs-refarch\",\"value\":\"ecs-refarch\",\"key\":\"Name\"}]","title":"ecs-refarch","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]},{"id":null,"label":"TargetGroup","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-r-Targe-1CEAOHL7A3S92/91f8ad87a71b6d0c","label":"AWS_ElasticLoadBalancingV2_TargetGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-r-Targe-1CEAOHL7A3S92/91f8ad87a71b6d0c","configuration":"\"{\\\"TargetGroupArn\\\":\\\"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-r-Targe-1CEAOHL7A3S92/91f8ad87a71b6d0c\\\",\\\"TargetGroupName\\\":\\\"ecs-r-Targe-1CEAOHL7A3S92\\\",\\\"Protocol\\\":\\\"HTTP\\\",\\\"Port\\\":80,\\\"VpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"HealthCheckProtocol\\\":\\\"HTTP\\\",\\\"HealthCheckPort\\\":\\\"traffic-port\\\",\\\"HealthCheckEnabled\\\":true,\\\"HealthCheckIntervalSeconds\\\":10,\\\"HealthCheckTimeoutSeconds\\\":5,\\\"HealthyThresholdCount\\\":2,\\\"UnhealthyThresholdCount\\\":2,\\\"HealthCheckPath\\\":\\\"/products\\\",\\\"Matcher\\\":{\\\"HttpCode\\\":\\\"200-299\\\"},\\\"LoadBalancerArns\\\":[\\\"arn:aws:elasticloadbalancing:eu-west-1:044981683129:loadbalancer/app/ecs-refarch/59fc9a20002d9393\\\"],\\\"TargetType\\\":\\\"instance\\\",\\\"ProtocolVersion\\\":\\\"HTTP1\\\",\\\"IpAddressType\\\":\\\"ipv4\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-08ab1368aff4e5657","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#TargetGroups:","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#TargetGroups:","private":null,"resourceId":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-r-Targe-1CEAOHL7A3S92/91f8ad87a71b6d0c","resourceName":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-r-Targe-1CEAOHL7A3S92/91f8ad87a71b6d0c","resourceType":"AWS::ElasticLoadBalancingV2::TargetGroup","resourceValue":null,"state":null,"tags":"[]","title":"targetgroup/ecs-r-Targe-1CEAOHL7A3S92/91f8ad87a71b6d0c","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-r-Targe-WGHBKNSPECN5/4ded139adab8201e","label":"AWS_ElasticLoadBalancingV2_TargetGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-r-Targe-WGHBKNSPECN5/4ded139adab8201e","configuration":"\"{\\\"TargetGroupArn\\\":\\\"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-r-Targe-WGHBKNSPECN5/4ded139adab8201e\\\",\\\"TargetGroupName\\\":\\\"ecs-r-Targe-WGHBKNSPECN5\\\",\\\"Protocol\\\":\\\"HTTP\\\",\\\"Port\\\":80,\\\"VpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"HealthCheckProtocol\\\":\\\"HTTP\\\",\\\"HealthCheckPort\\\":\\\"traffic-port\\\",\\\"HealthCheckEnabled\\\":true,\\\"HealthCheckIntervalSeconds\\\":10,\\\"HealthCheckTimeoutSeconds\\\":5,\\\"HealthyThresholdCount\\\":2,\\\"UnhealthyThresholdCount\\\":2,\\\"HealthCheckPath\\\":\\\"/\\\",\\\"Matcher\\\":{\\\"HttpCode\\\":\\\"200-299\\\"},\\\"LoadBalancerArns\\\":[\\\"arn:aws:elasticloadbalancing:eu-west-1:044981683129:loadbalancer/app/ecs-refarch/59fc9a20002d9393\\\"],\\\"TargetType\\\":\\\"instance\\\",\\\"ProtocolVersion\\\":\\\"HTTP1\\\",\\\"IpAddressType\\\":\\\"ipv4\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-08ab1368aff4e5657","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#TargetGroups:","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#TargetGroups:","private":null,"resourceId":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-r-Targe-WGHBKNSPECN5/4ded139adab8201e","resourceName":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-r-Targe-WGHBKNSPECN5/4ded139adab8201e","resourceType":"AWS::ElasticLoadBalancingV2::TargetGroup","resourceValue":null,"state":null,"tags":"[]","title":"targetgroup/ecs-r-Targe-WGHBKNSPECN5/4ded139adab8201e","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-refarch-default/550856ea884e2cfa","label":"AWS_ElasticLoadBalancingV2_TargetGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-refarch-default/550856ea884e2cfa","configuration":"\"{\\\"TargetGroupArn\\\":\\\"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-refarch-default/550856ea884e2cfa\\\",\\\"TargetGroupName\\\":\\\"ecs-refarch-default\\\",\\\"Protocol\\\":\\\"HTTP\\\",\\\"Port\\\":80,\\\"VpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"HealthCheckProtocol\\\":\\\"HTTP\\\",\\\"HealthCheckPort\\\":\\\"traffic-port\\\",\\\"HealthCheckEnabled\\\":true,\\\"HealthCheckIntervalSeconds\\\":30,\\\"HealthCheckTimeoutSeconds\\\":5,\\\"HealthyThresholdCount\\\":5,\\\"UnhealthyThresholdCount\\\":2,\\\"HealthCheckPath\\\":\\\"/\\\",\\\"Matcher\\\":{\\\"HttpCode\\\":\\\"200\\\"},\\\"LoadBalancerArns\\\":[\\\"arn:aws:elasticloadbalancing:eu-west-1:044981683129:loadbalancer/app/ecs-refarch/59fc9a20002d9393\\\"],\\\"TargetType\\\":\\\"instance\\\",\\\"ProtocolVersion\\\":\\\"HTTP1\\\",\\\"IpAddressType\\\":\\\"ipv4\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-08ab1368aff4e5657","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#TargetGroups:","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#TargetGroups:","private":null,"resourceId":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-refarch-default/550856ea884e2cfa","resourceName":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-refarch-default/550856ea884e2cfa","resourceType":"AWS::ElasticLoadBalancingV2::TargetGroup","resourceValue":null,"state":null,"tags":"[]","title":"targetgroup/ecs-refarch-default/550856ea884e2cfa","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]}]},{"id":null,"label":"eu-west-1a,eu-west-1b","parent":null,"type":"availabilityZone","data":null,"properties":null,"children":[{"id":null,"label":"AutoScalingGroup","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:autoscaling:eu-west-1:044981683129:autoScalingGroup:afb5ee16-414e-4850-a65a-03b6f80e0a5b:autoScalingGroupName/ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD","label":"AWS_AutoScaling_AutoScalingGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:autoscaling:eu-west-1:044981683129:autoScalingGroup:afb5ee16-414e-4850-a65a-03b6f80e0a5b:autoScalingGroupName/ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD","configuration":"\"{\\\"healthCheckType\\\":\\\"EC2\\\",\\\"loadBalancerNames\\\":[],\\\"instances\\\":[{\\\"lifecycleState\\\":\\\"InService\\\",\\\"launchConfigurationName\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSLaunchConfiguration-VJ0I7YPXHY6F\\\",\\\"instanceId\\\":\\\"i-038f307ddeb9caaec\\\",\\\"healthStatus\\\":\\\"Healthy\\\",\\\"instanceType\\\":\\\"t2.large\\\",\\\"protectedFromScaleIn\\\":false,\\\"availabilityZone\\\":\\\"eu-west-1b\\\"},{\\\"lifecycleState\\\":\\\"InService\\\",\\\"launchConfigurationName\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSLaunchConfiguration-VJ0I7YPXHY6F\\\",\\\"instanceId\\\":\\\"i-052f9f64097ac2769\\\",\\\"healthStatus\\\":\\\"Healthy\\\",\\\"instanceType\\\":\\\"t2.large\\\",\\\"protectedFromScaleIn\\\":false,\\\"availabilityZone\\\":\\\"eu-west-1a\\\"},{\\\"lifecycleState\\\":\\\"InService\\\",\\\"launchConfigurationName\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSLaunchConfiguration-VJ0I7YPXHY6F\\\",\\\"instanceId\\\":\\\"i-0568d352e5293f7ba\\\",\\\"healthStatus\\\":\\\"Healthy\\\",\\\"instanceType\\\":\\\"t2.large\\\",\\\"protectedFromScaleIn\\\":false,\\\"availabilityZone\\\":\\\"eu-west-1b\\\"},{\\\"lifecycleState\\\":\\\"InService\\\",\\\"launchConfigurationName\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSLaunchConfiguration-VJ0I7YPXHY6F\\\",\\\"instanceId\\\":\\\"i-0c90e93ebfc159e4a\\\",\\\"healthStatus\\\":\\\"Healthy\\\",\\\"instanceType\\\":\\\"t2.large\\\",\\\"protectedFromScaleIn\\\":false,\\\"availabilityZone\\\":\\\"eu-west-1a\\\"}],\\\"terminationPolicies\\\":[\\\"Default\\\"],\\\"defaultCooldown\\\":300,\\\"autoScalingGroupARN\\\":\\\"arn:aws:autoscaling:eu-west-1:044981683129:autoScalingGroup:afb5ee16-414e-4850-a65a-03b6f80e0a5b:autoScalingGroupName/ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\\\",\\\"enabledMetrics\\\":[],\\\"maxSize\\\":4,\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"}],\\\"targetGroupARNs\\\":[],\\\"tags\\\":[{\\\"resourceId\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\\\",\\\"propagateAtLaunch\\\":true,\\\"value\\\":\\\"ecs-refarch ECS host\\\",\\\"key\\\":\\\"Name\\\",\\\"resourceType\\\":\\\"auto-scaling-group\\\"},{\\\"resourceId\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\\\",\\\"propagateAtLaunch\\\":true,\\\"value\\\":\\\"ECSAutoScalingGroup\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\",\\\"resourceType\\\":\\\"auto-scaling-group\\\"},{\\\"resourceId\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\\\",\\\"propagateAtLaunch\\\":true,\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\",\\\"resourceType\\\":\\\"auto-scaling-group\\\"},{\\\"resourceId\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\\\",\\\"propagateAtLaunch\\\":true,\\\"value\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\",\\\"resourceType\\\":\\\"auto-scaling-group\\\"}],\\\"serviceLinkedRoleARN\\\":\\\"arn:aws:iam::044981683129:role/aws-service-role/autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling\\\",\\\"launchConfigurationName\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSLaunchConfiguration-VJ0I7YPXHY6F\\\",\\\"autoScalingGroupName\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\\\",\\\"healthCheckGracePeriod\\\":0,\\\"newInstancesProtectedFromScaleIn\\\":false,\\\"createdTime\\\":1605113387750,\\\"minSize\\\":4,\\\"suspendedProcesses\\\":[],\\\"vpczoneIdentifier\\\":\\\"subnet-05b78a71606d218fa,subnet-05e96e37260564e8f\\\",\\\"desiredCapacity\\\":4,\\\"trafficSources\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a,eu-west-1b","vpcId":"vpc-08ab1368aff4e5657","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/home/autoscaling/home?region=eu-west-1#AutoScalingGroups:id=ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD;view=details","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2/autoscaling/home?region=eu-west-1#AutoScalingGroups:id=ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD;view=details","private":null,"resourceId":"arn:aws:autoscaling:eu-west-1:044981683129:autoScalingGroup:afb5ee16-414e-4850-a65a-03b6f80e0a5b:autoScalingGroupName/ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD","resourceName":"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD","resourceType":"AWS::AutoScaling::AutoScalingGroup","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-ECS-1AFGNR7O7APCU\",\"value\":\"ecs-refarch-ECS-1AFGNR7O7APCU\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=ECSAutoScalingGroup\",\"value\":\"ECSAutoScalingGroup\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch ECS host\",\"value\":\"ecs-refarch ECS host\",\"key\":\"Name\"}]","title":"ecs-refarch ECS host","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#248814","properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657","configuration":"\"{\\\"instanceTenancy\\\":\\\"default\\\",\\\"isDefault\\\":false,\\\"dhcpOptionsId\\\":\\\"dopt-01ea0a1b1a9b59c0a\\\",\\\"cidrBlock\\\":\\\"10.180.0.0/16\\\",\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"cidrBlockAssociationSet\\\":[{\\\"cidrBlock\\\":\\\"10.180.0.0/16\\\",\\\"cidrBlockState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"associationId\\\":\\\"vpc-cidr-assoc-0882774a297230082\\\"}],\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipv6CidrBlockAssociationSet\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"VPC\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"ecs-refarch-VPC-10OMNTHQBEJPY\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"ecs-refarch\\\",\\\"key\\\":\\\"Name\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":null,"subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#vpcs:sort=VpcId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#vpcs:sort=VpcId","private":null,"resourceId":"vpc-08ab1368aff4e5657","resourceName":null,"resourceType":"AWS::EC2::VPC","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-VPC-10OMNTHQBEJPY\",\"value\":\"ecs-refarch-VPC-10OMNTHQBEJPY\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=VPC\",\"value\":\"VPC\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch\",\"value\":\"ecs-refarch\",\"key\":\"Name\"}]","title":"ecs-refarch","instanceType":null,"statement":null,"dBInstanceStatus":null},"resource":{"id":"vpc-08ab1368aff4e5657","name":null,"value":null,"type":"AWS::EC2::VPC","tags":"[{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-VPC-10OMNTHQBEJPY\",\"value\":\"ecs-refarch-VPC-10OMNTHQBEJPY\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=VPC\",\"value\":\"VPC\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch\",\"value\":\"ecs-refarch\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#vpcs:sort=VpcId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#vpcs:sort=VpcId","accountId":"044981683129"},"selected":true},"position":{"x":-610,"y":-1085},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"vpc removeAll _gridParentPadding"},{"data":{"id":"SecurityGroup-vpc-08ab1368aff4e5657-eu-west-1-044981683129","parent":"vpc-08ab1368aff4e5657-eu-west-1-044981683129","level":3,"title":"SecurityGroup","label":"SecurityGroup","plainLabel":"SecurityGroup","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/AWSSecurityGroup.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-05a9ece4840a0a346","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-05a9ece4840a0a346","configuration":"\"{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-05a9ece4840a0a346\\\",\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"default VPC security group\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[{\\\"groupId\\\":\\\"sg-05a9ece4840a0a346\\\",\\\"userId\\\":\\\"044981683129\\\"}],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-08ab1368aff4e5657","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-05a9ece4840a0a346","resourceName":"default","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"default","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-08891adf615ba4aa1","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-08891adf615ba4aa1","configuration":"\"{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-LoadBalancerSecurityGroup-ZSINZ6V8BUSQ\\\",\\\"groupId\\\":\\\"sg-08891adf615ba4aa1\\\",\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"Access to the load balancer that sits in front of ECS\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[{\\\"value\\\":\\\"LoadBalancerSecurityGroup\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"ecs-refarch-LoadBalancers\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-SecurityGroups-OB6L96U7FA2M/800ddfd0-243d-11eb-a82a-060129d1c243\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-08ab1368aff4e5657","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-08891adf615ba4aa1","resourceName":"ecs-refarch-SecurityGroups-OB6L96U7FA2M-LoadBalancerSecurityGroup-ZSINZ6V8BUSQ","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-SecurityGroups-OB6L96U7FA2M\",\"value\":\"ecs-refarch-SecurityGroups-OB6L96U7FA2M\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-SecurityGroups-OB6L96U7FA2M/800ddfd0-243d-11eb-a82a-060129d1c243\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-SecurityGroups-OB6L96U7FA2M/800ddfd0-243d-11eb-a82a-060129d1c243\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=LoadBalancerSecurityGroup\",\"value\":\"LoadBalancerSecurityGroup\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch-LoadBalancers\",\"value\":\"ecs-refarch-LoadBalancers\",\"key\":\"Name\"}]","title":"ecs-refarch-LoadBalancers","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0c02229ab89b7cad1","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0c02229ab89b7cad1","configuration":"\"{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6\\\",\\\"groupId\\\":\\\"sg-0c02229ab89b7cad1\\\",\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"Access to the ECS hosts and the tasks/containers that run on them\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[{\\\"groupId\\\":\\\"sg-08891adf615ba4aa1\\\",\\\"userId\\\":\\\"044981683129\\\"}],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[{\\\"value\\\":\\\"ecs-refarch-ECS-Hosts\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"ECSHostSecurityGroup\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-SecurityGroups-OB6L96U7FA2M/800ddfd0-243d-11eb-a82a-060129d1c243\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-08ab1368aff4e5657","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0c02229ab89b7cad1","resourceName":"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-SecurityGroups-OB6L96U7FA2M\",\"value\":\"ecs-refarch-SecurityGroups-OB6L96U7FA2M\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-SecurityGroups-OB6L96U7FA2M/800ddfd0-243d-11eb-a82a-060129d1c243\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-SecurityGroups-OB6L96U7FA2M/800ddfd0-243d-11eb-a82a-060129d1c243\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=ECSHostSecurityGroup\",\"value\":\"ECSHostSecurityGroup\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch-ECS-Hosts\",\"value\":\"ecs-refarch-ECS-Hosts\",\"key\":\"Name\"}]","title":"ecs-refarch-ECS-Hosts","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-670,"y":-1010.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-05a9ece4840a0a346","resourceId":["sg-05a9ece4840a0a346","arn:aws:ec2:eu-west-1:044981683129:security-group/sg-05a9ece4840a0a346"],"parent":"SecurityGroup-vpc-08ab1368aff4e5657-eu-west-1-044981683129","level":4,"id":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-05a9ece4840a0a346","title":"default","label":"default","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-05a9ece4840a0a346","image":"/icons/AWSSecurityGroup.svg","cost":0,"private":false,"resource":{"id":"sg-05a9ece4840a0a346","name":"default","value":null,"type":"AWS::EC2::SecurityGroup","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-05a9ece4840a0a346","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-05a9ece4840a0a346","configuration":"\"{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-05a9ece4840a0a346\\\",\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"default VPC security group\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[{\\\"groupId\\\":\\\"sg-05a9ece4840a0a346\\\",\\\"userId\\\":\\\"044981683129\\\"}],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-08ab1368aff4e5657","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-05a9ece4840a0a346","resourceName":"default","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"default","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-706.5,"y":-1047.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-08891adf615ba4aa1","resourceId":["sg-08891adf615ba4aa1","arn:aws:ec2:eu-west-1:044981683129:security-group/sg-08891adf615ba4aa1"],"parent":"SecurityGroup-vpc-08ab1368aff4e5657-eu-west-1-044981683129","level":4,"id":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-08891adf615ba4aa1","title":"ecs-refarch-LoadBalancers","label":"ecs-refarch-...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-08891adf615ba4aa1","image":"/icons/AWSSecurityGroup.svg","cost":0,"private":false,"resource":{"id":"sg-08891adf615ba4aa1","name":"ecs-refarch-SecurityGroups-OB6L96U7FA2M-LoadBalancerSecurityGroup-ZSINZ6V8BUSQ","value":null,"type":"AWS::EC2::SecurityGroup","tags":"[{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-SecurityGroups-OB6L96U7FA2M\",\"value\":\"ecs-refarch-SecurityGroups-OB6L96U7FA2M\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-SecurityGroups-OB6L96U7FA2M/800ddfd0-243d-11eb-a82a-060129d1c243\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-SecurityGroups-OB6L96U7FA2M/800ddfd0-243d-11eb-a82a-060129d1c243\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=LoadBalancerSecurityGroup\",\"value\":\"LoadBalancerSecurityGroup\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch-LoadBalancers\",\"value\":\"ecs-refarch-LoadBalancers\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-08891adf615ba4aa1","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-08891adf615ba4aa1","configuration":"\"{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-LoadBalancerSecurityGroup-ZSINZ6V8BUSQ\\\",\\\"groupId\\\":\\\"sg-08891adf615ba4aa1\\\",\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"Access to the load balancer that sits in front of ECS\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[{\\\"value\\\":\\\"LoadBalancerSecurityGroup\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"ecs-refarch-LoadBalancers\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-SecurityGroups-OB6L96U7FA2M/800ddfd0-243d-11eb-a82a-060129d1c243\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-08ab1368aff4e5657","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-08891adf615ba4aa1","resourceName":"ecs-refarch-SecurityGroups-OB6L96U7FA2M-LoadBalancerSecurityGroup-ZSINZ6V8BUSQ","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-SecurityGroups-OB6L96U7FA2M\",\"value\":\"ecs-refarch-SecurityGroups-OB6L96U7FA2M\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-SecurityGroups-OB6L96U7FA2M/800ddfd0-243d-11eb-a82a-060129d1c243\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-SecurityGroups-OB6L96U7FA2M/800ddfd0-243d-11eb-a82a-060129d1c243\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=LoadBalancerSecurityGroup\",\"value\":\"LoadBalancerSecurityGroup\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch-LoadBalancers\",\"value\":\"ecs-refarch-LoadBalancers\",\"key\":\"Name\"}]","title":"ecs-refarch-LoadBalancers","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-633.5,"y":-1047.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0c02229ab89b7cad1","resourceId":["sg-0c02229ab89b7cad1","arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0c02229ab89b7cad1"],"parent":"SecurityGroup-vpc-08ab1368aff4e5657-eu-west-1-044981683129","level":4,"id":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0c02229ab89b7cad1","title":"ecs-refarch-ECS-Hosts","label":"ecs-refarch-...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0c02229ab89b7cad1","image":"/icons/AWSSecurityGroup.svg","cost":0,"private":false,"resource":{"id":"sg-0c02229ab89b7cad1","name":"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6","value":null,"type":"AWS::EC2::SecurityGroup","tags":"[{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-SecurityGroups-OB6L96U7FA2M\",\"value\":\"ecs-refarch-SecurityGroups-OB6L96U7FA2M\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-SecurityGroups-OB6L96U7FA2M/800ddfd0-243d-11eb-a82a-060129d1c243\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-SecurityGroups-OB6L96U7FA2M/800ddfd0-243d-11eb-a82a-060129d1c243\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=ECSHostSecurityGroup\",\"value\":\"ECSHostSecurityGroup\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch-ECS-Hosts\",\"value\":\"ecs-refarch-ECS-Hosts\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0c02229ab89b7cad1","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0c02229ab89b7cad1","configuration":"\"{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6\\\",\\\"groupId\\\":\\\"sg-0c02229ab89b7cad1\\\",\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"Access to the ECS hosts and the tasks/containers that run on them\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[{\\\"groupId\\\":\\\"sg-08891adf615ba4aa1\\\",\\\"userId\\\":\\\"044981683129\\\"}],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[{\\\"value\\\":\\\"ecs-refarch-ECS-Hosts\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"ECSHostSecurityGroup\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-SecurityGroups-OB6L96U7FA2M/800ddfd0-243d-11eb-a82a-060129d1c243\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-08ab1368aff4e5657","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0c02229ab89b7cad1","resourceName":"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-SecurityGroups-OB6L96U7FA2M\",\"value\":\"ecs-refarch-SecurityGroups-OB6L96U7FA2M\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-SecurityGroups-OB6L96U7FA2M/800ddfd0-243d-11eb-a82a-060129d1c243\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-SecurityGroups-OB6L96U7FA2M/800ddfd0-243d-11eb-a82a-060129d1c243\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=ECSHostSecurityGroup\",\"value\":\"ECSHostSecurityGroup\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch-ECS-Hosts\",\"value\":\"ecs-refarch-ECS-Hosts\",\"key\":\"Name\"}]","title":"ecs-refarch-ECS-Hosts","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-706.5,"y":-974.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"RouteTable-vpc-08ab1368aff4e5657-eu-west-1-044981683129","parent":"vpc-08ab1368aff4e5657-eu-west-1-044981683129","level":3,"title":"RouteTable","label":"RouteTable","plainLabel":"RouteTable","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-VPC_Router_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0b62b93a064e8db4d","label":"AWS_EC2_RouteTable","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0b62b93a064e8db4d","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-05e96e37260564e8f\\\",\\\"routeTableId\\\":\\\"rtb-0b62b93a064e8db4d\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-01ca3e251f3078899\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":false}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"10.180.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"},{\\\"destinationCidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"natGatewayId\\\":\\\"nat-003288d2892af9777\\\",\\\"state\\\":\\\"active\\\"}],\\\"routeTableId\\\":\\\"rtb-0b62b93a064e8db4d\\\",\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"ecs-refarch Private Routes (AZ1)\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"PrivateRouteTable1\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"ecs-refarch-VPC-10OMNTHQBEJPY\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-08ab1368aff4e5657","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-0b62b93a064e8db4d","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-VPC-10OMNTHQBEJPY\",\"value\":\"ecs-refarch-VPC-10OMNTHQBEJPY\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateRouteTable1\",\"value\":\"PrivateRouteTable1\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch Private Routes (AZ1)\",\"value\":\"ecs-refarch Private Routes (AZ1)\",\"key\":\"Name\"}]","title":"ecs-refarch Private Routes (AZ1)","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0fbd9569f6a499b36","label":"AWS_EC2_RouteTable","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0fbd9569f6a499b36","configuration":"\"{\\\"associations\\\":[{\\\"routeTableId\\\":\\\"rtb-0fbd9569f6a499b36\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-07054214be24fe8bb\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":true}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"10.180.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"}],\\\"routeTableId\\\":\\\"rtb-0fbd9569f6a499b36\\\",\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-08ab1368aff4e5657","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-0fbd9569f6a499b36","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[]","title":"rtb-0fbd9569f6a499b36","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-06faafa610fab8386","label":"AWS_EC2_RouteTable","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-06faafa610fab8386","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-05231ecdc5364570e\\\",\\\"routeTableId\\\":\\\"rtb-06faafa610fab8386\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-0649a904aa2b65f9b\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":false},{\\\"subnetId\\\":\\\"subnet-0d37c18e65ab499bd\\\",\\\"routeTableId\\\":\\\"rtb-06faafa610fab8386\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-0e800a23c2dbfa1a5\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":false}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"10.180.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"},{\\\"destinationCidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"igw-07c75587f7231c86e\\\"}],\\\"routeTableId\\\":\\\"rtb-06faafa610fab8386\\\",\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"PublicRouteTable\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"ecs-refarch-VPC-10OMNTHQBEJPY\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"ecs-refarch Public Routes\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-08ab1368aff4e5657","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-06faafa610fab8386","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-VPC-10OMNTHQBEJPY\",\"value\":\"ecs-refarch-VPC-10OMNTHQBEJPY\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PublicRouteTable\",\"value\":\"PublicRouteTable\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch Public Routes\",\"value\":\"ecs-refarch Public Routes\",\"key\":\"Name\"}]","title":"ecs-refarch Public Routes","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0a338347d2bde85af","label":"AWS_EC2_RouteTable","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0a338347d2bde85af","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-05b78a71606d218fa\\\",\\\"routeTableId\\\":\\\"rtb-0a338347d2bde85af\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-0f3bc05f5ebb81ddf\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":false}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"10.180.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"},{\\\"destinationCidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"natGatewayId\\\":\\\"nat-01cf55db622bc959c\\\",\\\"state\\\":\\\"active\\\"}],\\\"routeTableId\\\":\\\"rtb-0a338347d2bde85af\\\",\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"ecs-refarch Private Routes (AZ2)\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"PrivateRouteTable2\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"ecs-refarch-VPC-10OMNTHQBEJPY\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-08ab1368aff4e5657","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-0a338347d2bde85af","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-VPC-10OMNTHQBEJPY\",\"value\":\"ecs-refarch-VPC-10OMNTHQBEJPY\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateRouteTable2\",\"value\":\"PrivateRouteTable2\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch Private Routes (AZ2)\",\"value\":\"ecs-refarch Private Routes (AZ2)\",\"key\":\"Name\"}]","title":"ecs-refarch Private Routes (AZ2)","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-484,"y":-1010.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0b62b93a064e8db4d","resourceId":["rtb-0b62b93a064e8db4d","arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0b62b93a064e8db4d"],"parent":"RouteTable-vpc-08ab1368aff4e5657-eu-west-1-044981683129","level":4,"id":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0b62b93a064e8db4d","title":"ecs-refarch Private Routes (AZ1)","label":"ecs-refarch ...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0b62b93a064e8db4d","image":"/icons/Amazon-VPC_Router_light-bg.svg","cost":0,"private":false,"resource":{"id":"rtb-0b62b93a064e8db4d","name":null,"value":null,"type":"AWS::EC2::RouteTable","tags":"[{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-VPC-10OMNTHQBEJPY\",\"value\":\"ecs-refarch-VPC-10OMNTHQBEJPY\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateRouteTable1\",\"value\":\"PrivateRouteTable1\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch Private Routes (AZ1)\",\"value\":\"ecs-refarch Private Routes (AZ1)\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0b62b93a064e8db4d","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0b62b93a064e8db4d","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-05e96e37260564e8f\\\",\\\"routeTableId\\\":\\\"rtb-0b62b93a064e8db4d\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-01ca3e251f3078899\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":false}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"10.180.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"},{\\\"destinationCidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"natGatewayId\\\":\\\"nat-003288d2892af9777\\\",\\\"state\\\":\\\"active\\\"}],\\\"routeTableId\\\":\\\"rtb-0b62b93a064e8db4d\\\",\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"ecs-refarch Private Routes (AZ1)\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"PrivateRouteTable1\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"ecs-refarch-VPC-10OMNTHQBEJPY\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-08ab1368aff4e5657","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-0b62b93a064e8db4d","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-VPC-10OMNTHQBEJPY\",\"value\":\"ecs-refarch-VPC-10OMNTHQBEJPY\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateRouteTable1\",\"value\":\"PrivateRouteTable1\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch Private Routes (AZ1)\",\"value\":\"ecs-refarch Private Routes (AZ1)\",\"key\":\"Name\"}]","title":"ecs-refarch Private Routes (AZ1)","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-520.5,"y":-1047.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0fbd9569f6a499b36","resourceId":["rtb-0fbd9569f6a499b36","arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0fbd9569f6a499b36"],"parent":"RouteTable-vpc-08ab1368aff4e5657-eu-west-1-044981683129","level":4,"id":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0fbd9569f6a499b36","title":"rtb-0fbd9569f6a499b36","label":"rtb-0fbd9569...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0fbd9569f6a499b36","image":"/icons/Amazon-VPC_Router_light-bg.svg","cost":0,"private":false,"resource":{"id":"rtb-0fbd9569f6a499b36","name":null,"value":null,"type":"AWS::EC2::RouteTable","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0fbd9569f6a499b36","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0fbd9569f6a499b36","configuration":"\"{\\\"associations\\\":[{\\\"routeTableId\\\":\\\"rtb-0fbd9569f6a499b36\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-07054214be24fe8bb\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":true}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"10.180.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"}],\\\"routeTableId\\\":\\\"rtb-0fbd9569f6a499b36\\\",\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-08ab1368aff4e5657","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-0fbd9569f6a499b36","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[]","title":"rtb-0fbd9569f6a499b36","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-447.5,"y":-1047.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-06faafa610fab8386","resourceId":["rtb-06faafa610fab8386","arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-06faafa610fab8386"],"parent":"RouteTable-vpc-08ab1368aff4e5657-eu-west-1-044981683129","level":4,"id":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-06faafa610fab8386","title":"ecs-refarch Public Routes","label":"ecs-refarch ...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-06faafa610fab8386","image":"/icons/Amazon-VPC_Router_light-bg.svg","cost":0,"private":false,"resource":{"id":"rtb-06faafa610fab8386","name":null,"value":null,"type":"AWS::EC2::RouteTable","tags":"[{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-VPC-10OMNTHQBEJPY\",\"value\":\"ecs-refarch-VPC-10OMNTHQBEJPY\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PublicRouteTable\",\"value\":\"PublicRouteTable\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch Public Routes\",\"value\":\"ecs-refarch Public Routes\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-06faafa610fab8386","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-06faafa610fab8386","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-05231ecdc5364570e\\\",\\\"routeTableId\\\":\\\"rtb-06faafa610fab8386\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-0649a904aa2b65f9b\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":false},{\\\"subnetId\\\":\\\"subnet-0d37c18e65ab499bd\\\",\\\"routeTableId\\\":\\\"rtb-06faafa610fab8386\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-0e800a23c2dbfa1a5\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":false}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"10.180.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"},{\\\"destinationCidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"igw-07c75587f7231c86e\\\"}],\\\"routeTableId\\\":\\\"rtb-06faafa610fab8386\\\",\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"PublicRouteTable\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"ecs-refarch-VPC-10OMNTHQBEJPY\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"ecs-refarch Public Routes\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-08ab1368aff4e5657","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-06faafa610fab8386","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-VPC-10OMNTHQBEJPY\",\"value\":\"ecs-refarch-VPC-10OMNTHQBEJPY\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PublicRouteTable\",\"value\":\"PublicRouteTable\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch Public Routes\",\"value\":\"ecs-refarch Public Routes\",\"key\":\"Name\"}]","title":"ecs-refarch Public Routes","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-520.5,"y":-974.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0a338347d2bde85af","resourceId":["rtb-0a338347d2bde85af","arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0a338347d2bde85af"],"parent":"RouteTable-vpc-08ab1368aff4e5657-eu-west-1-044981683129","level":4,"id":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0a338347d2bde85af","title":"ecs-refarch Private Routes (AZ2)","label":"ecs-refarch ...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0a338347d2bde85af","image":"/icons/Amazon-VPC_Router_light-bg.svg","cost":0,"private":false,"resource":{"id":"rtb-0a338347d2bde85af","name":null,"value":null,"type":"AWS::EC2::RouteTable","tags":"[{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-VPC-10OMNTHQBEJPY\",\"value\":\"ecs-refarch-VPC-10OMNTHQBEJPY\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateRouteTable2\",\"value\":\"PrivateRouteTable2\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch Private Routes (AZ2)\",\"value\":\"ecs-refarch Private Routes (AZ2)\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0a338347d2bde85af","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0a338347d2bde85af","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-05b78a71606d218fa\\\",\\\"routeTableId\\\":\\\"rtb-0a338347d2bde85af\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-0f3bc05f5ebb81ddf\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":false}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"10.180.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"},{\\\"destinationCidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"natGatewayId\\\":\\\"nat-01cf55db622bc959c\\\",\\\"state\\\":\\\"active\\\"}],\\\"routeTableId\\\":\\\"rtb-0a338347d2bde85af\\\",\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"ecs-refarch Private Routes (AZ2)\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"PrivateRouteTable2\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"ecs-refarch-VPC-10OMNTHQBEJPY\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-08ab1368aff4e5657","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-0a338347d2bde85af","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-VPC-10OMNTHQBEJPY\",\"value\":\"ecs-refarch-VPC-10OMNTHQBEJPY\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateRouteTable2\",\"value\":\"PrivateRouteTable2\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch Private Routes (AZ2)\",\"value\":\"ecs-refarch Private Routes (AZ2)\",\"key\":\"Name\"}]","title":"ecs-refarch Private Routes (AZ2)","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-447.5,"y":-974.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"Stack-vpc-08ab1368aff4e5657-eu-west-1-044981683129","parent":"vpc-08ab1368aff4e5657-eu-west-1-044981683129","level":3,"title":"Stack","label":"Stack","plainLabel":"Stack","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/AWS-CloudFormation.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436","label":"AWS_CloudFormation_Stack","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436","configuration":"\"{\\\"outputs\\\":[{\\\"outputKey\\\":\\\"PrivateSubnet1\\\",\\\"outputValue\\\":\\\"subnet-05e96e37260564e8f\\\",\\\"description\\\":\\\"A reference to the private subnet in the 1st Availability Zone\\\"},{\\\"outputKey\\\":\\\"PrivateSubnet2\\\",\\\"outputValue\\\":\\\"subnet-05b78a71606d218fa\\\",\\\"description\\\":\\\"A reference to the private subnet in the 2nd Availability Zone\\\"},{\\\"outputKey\\\":\\\"PrivateSubnets\\\",\\\"outputValue\\\":\\\"subnet-05e96e37260564e8f,subnet-05b78a71606d218fa\\\",\\\"description\\\":\\\"A list of the private subnets\\\"},{\\\"outputKey\\\":\\\"VPC\\\",\\\"outputValue\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"description\\\":\\\"A reference to the created VPC\\\"},{\\\"outputKey\\\":\\\"PublicSubnets\\\",\\\"outputValue\\\":\\\"subnet-0d37c18e65ab499bd,subnet-05231ecdc5364570e\\\",\\\"description\\\":\\\"A list of the public subnets\\\"},{\\\"outputKey\\\":\\\"PublicSubnet2\\\",\\\"outputValue\\\":\\\"subnet-05231ecdc5364570e\\\",\\\"description\\\":\\\"A reference to the public subnet in the 2nd Availability Zone\\\"},{\\\"outputKey\\\":\\\"PublicSubnet1\\\",\\\"outputValue\\\":\\\"subnet-0d37c18e65ab499bd\\\",\\\"description\\\":\\\"A reference to the public subnet in the 1st Availability Zone\\\"}],\\\"capabilities\\\":[\\\"CAPABILITY_NAMED_IAM\\\",\\\"CAPABILITY_AUTO_EXPAND\\\"],\\\"creationTime\\\":\\\"2020-11-11T16:43:18Z\\\",\\\"notificationARNs\\\":[],\\\"stackId\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\\\",\\\"stackName\\\":\\\"ecs-refarch-VPC-10OMNTHQBEJPY\\\",\\\"description\\\":\\\"This template deploys a VPC, with a pair of public and private subnets spread across two Availabilty Zones. It deploys an Internet Gateway, with a default route on the public subnets. It deploys a pair of NAT Gateways (one in each AZ), and default routes for them in the private subnets.\\\\n\\\",\\\"stackStatus\\\":\\\"CREATE_COMPLETE\\\",\\\"disableRollback\\\":true,\\\"parentId\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch/fd2eea00-243c-11eb-82ab-027df2f3014c\\\",\\\"tags\\\":[],\\\"driftInformation\\\":{\\\"stackDriftStatus\\\":\\\"NOT_CHECKED\\\"},\\\"enableTerminationProtection\\\":false,\\\"parameters\\\":[{\\\"parameterKey\\\":\\\"PrivateSubnet1CIDR\\\",\\\"parameterValue\\\":\\\"10.180.24.0/21\\\"},{\\\"parameterKey\\\":\\\"PublicSubnet2CIDR\\\",\\\"parameterValue\\\":\\\"10.180.16.0/21\\\"},{\\\"parameterKey\\\":\\\"PublicSubnet1CIDR\\\",\\\"parameterValue\\\":\\\"10.180.8.0/21\\\"},{\\\"parameterKey\\\":\\\"VpcCIDR\\\",\\\"parameterValue\\\":\\\"10.180.0.0/16\\\"},{\\\"parameterKey\\\":\\\"PrivateSubnet2CIDR\\\",\\\"parameterValue\\\":\\\"10.180.32.0/21\\\"},{\\\"parameterKey\\\":\\\"EnvironmentName\\\",\\\"parameterValue\\\":\\\"ecs-refarch\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Regional","vpcId":"vpc-08ab1368aff4e5657","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436","resourceName":"ecs-refarch-VPC-10OMNTHQBEJPY","resourceType":"AWS::CloudFormation::Stack","resourceValue":null,"state":null,"tags":"[]","title":"ecs-refarch-VPC-10OMNTHQBEJPY","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-181.5,"y":-1047.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436","resourceId":["arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436","arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436"],"parent":"Stack-vpc-08ab1368aff4e5657-eu-west-1-044981683129","level":4,"id":"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436","title":"ecs-refarch-VPC-10OMNTHQBEJPY","label":"ecs-refarch-...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436","image":"/icons/AWS-CloudFormation.svg","cost":0,"private":false,"resource":{"id":"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436","name":"ecs-refarch-VPC-10OMNTHQBEJPY","value":null,"type":"AWS::CloudFormation::Stack","tags":"[]","arn":"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436","configuration":"\"{\\\"outputs\\\":[{\\\"outputKey\\\":\\\"PrivateSubnet1\\\",\\\"outputValue\\\":\\\"subnet-05e96e37260564e8f\\\",\\\"description\\\":\\\"A reference to the private subnet in the 1st Availability Zone\\\"},{\\\"outputKey\\\":\\\"PrivateSubnet2\\\",\\\"outputValue\\\":\\\"subnet-05b78a71606d218fa\\\",\\\"description\\\":\\\"A reference to the private subnet in the 2nd Availability Zone\\\"},{\\\"outputKey\\\":\\\"PrivateSubnets\\\",\\\"outputValue\\\":\\\"subnet-05e96e37260564e8f,subnet-05b78a71606d218fa\\\",\\\"description\\\":\\\"A list of the private subnets\\\"},{\\\"outputKey\\\":\\\"VPC\\\",\\\"outputValue\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"description\\\":\\\"A reference to the created VPC\\\"},{\\\"outputKey\\\":\\\"PublicSubnets\\\",\\\"outputValue\\\":\\\"subnet-0d37c18e65ab499bd,subnet-05231ecdc5364570e\\\",\\\"description\\\":\\\"A list of the public subnets\\\"},{\\\"outputKey\\\":\\\"PublicSubnet2\\\",\\\"outputValue\\\":\\\"subnet-05231ecdc5364570e\\\",\\\"description\\\":\\\"A reference to the public subnet in the 2nd Availability Zone\\\"},{\\\"outputKey\\\":\\\"PublicSubnet1\\\",\\\"outputValue\\\":\\\"subnet-0d37c18e65ab499bd\\\",\\\"description\\\":\\\"A reference to the public subnet in the 1st Availability Zone\\\"}],\\\"capabilities\\\":[\\\"CAPABILITY_NAMED_IAM\\\",\\\"CAPABILITY_AUTO_EXPAND\\\"],\\\"creationTime\\\":\\\"2020-11-11T16:43:18Z\\\",\\\"notificationARNs\\\":[],\\\"stackId\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\\\",\\\"stackName\\\":\\\"ecs-refarch-VPC-10OMNTHQBEJPY\\\",\\\"description\\\":\\\"This template deploys a VPC, with a pair of public and private subnets spread across two Availabilty Zones. It deploys an Internet Gateway, with a default route on the public subnets. It deploys a pair of NAT Gateways (one in each AZ), and default routes for them in the private subnets.\\\\n\\\",\\\"stackStatus\\\":\\\"CREATE_COMPLETE\\\",\\\"disableRollback\\\":true,\\\"parentId\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch/fd2eea00-243c-11eb-82ab-027df2f3014c\\\",\\\"tags\\\":[],\\\"driftInformation\\\":{\\\"stackDriftStatus\\\":\\\"NOT_CHECKED\\\"},\\\"enableTerminationProtection\\\":false,\\\"parameters\\\":[{\\\"parameterKey\\\":\\\"PrivateSubnet1CIDR\\\",\\\"parameterValue\\\":\\\"10.180.24.0/21\\\"},{\\\"parameterKey\\\":\\\"PublicSubnet2CIDR\\\",\\\"parameterValue\\\":\\\"10.180.16.0/21\\\"},{\\\"parameterKey\\\":\\\"PublicSubnet1CIDR\\\",\\\"parameterValue\\\":\\\"10.180.8.0/21\\\"},{\\\"parameterKey\\\":\\\"VpcCIDR\\\",\\\"parameterValue\\\":\\\"10.180.0.0/16\\\"},{\\\"parameterKey\\\":\\\"PrivateSubnet2CIDR\\\",\\\"parameterValue\\\":\\\"10.180.32.0/21\\\"},{\\\"parameterKey\\\":\\\"EnvironmentName\\\",\\\"parameterValue\\\":\\\"ecs-refarch\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Regional","vpcId":"vpc-08ab1368aff4e5657","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436","resourceName":"ecs-refarch-VPC-10OMNTHQBEJPY","resourceType":"AWS::CloudFormation::Stack","resourceValue":null,"state":null,"tags":"[]","title":"ecs-refarch-VPC-10OMNTHQBEJPY","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-181.5,"y":-1047.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"eu-west-1b-vpc-08ab1368aff4e5657-eu-west-1-044981683129","parent":"vpc-08ab1368aff4e5657-eu-west-1-044981683129","level":3,"title":"eu-west-1b","label":"eu-west-1b","plainLabel":"eu-west-1b","type":"availabilityZone","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/availabilityZone.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-05231ecdc5364570e","label":"subnet-05231ecdc5364570e","parent":null,"type":"subnet","data":{"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-05231ecdc5364570e","configuration":"\"{\\\"subnetId\\\":\\\"subnet-05231ecdc5364570e\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-05231ecdc5364570e\\\",\\\"availabilityZoneId\\\":\\\"euw1-az3\\\",\\\"cidrBlock\\\":\\\"10.180.16.0/21\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"ecs-refarch Public Subnet (AZ2)\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"ecs-refarch-VPC-10OMNTHQBEJPY\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"PublicSubnet2\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"}],\\\"availableIpAddressCount\\\":2041,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"mapPublicIpOnLaunch\\\":true,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-05231ecdc5364570e","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":"true","resourceId":"subnet-05231ecdc5364570e","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-VPC-10OMNTHQBEJPY\",\"value\":\"ecs-refarch-VPC-10OMNTHQBEJPY\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PublicSubnet2\",\"value\":\"PublicSubnet2\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch Public Subnet (AZ2)\",\"value\":\"ecs-refarch Public Subnet (AZ2)\",\"key\":\"Name\"}]","title":"ecs-refarch Public Subnet (AZ2)","instanceType":null,"statement":null,"dBInstanceStatus":null},"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-05231ecdc5364570e","label":"AWS_EC2_Subnet"},"properties":null,"children":[{"id":null,"label":"NetworkInterface","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-05d7efdc2a3c7d241","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-05d7efdc2a3c7d241","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-05d7efdc2a3c7d241\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"044981683129\\\",\\\"allocationId\\\":\\\"eipalloc-08e4a37414b3eae0b\\\",\\\"publicIp\\\":\\\"54.154.146.95\\\",\\\"publicDnsName\\\":\\\"ec2-54-154-146-95.eu-west-1.compute.amazonaws.com\\\",\\\"associationId\\\":\\\"eipassoc-028c317858014bc2d\\\"},\\\"privateDnsName\\\":\\\"ip-10-180-19-165.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.180.19.165\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-05231ecdc5364570e\\\",\\\"requesterId\\\":\\\"036872051663\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"044981683129\\\",\\\"allocationId\\\":\\\"eipalloc-08e4a37414b3eae0b\\\",\\\"publicIp\\\":\\\"54.154.146.95\\\",\\\"publicDnsName\\\":\\\"ec2-54-154-146-95.eu-west-1.compute.amazonaws.com\\\",\\\"associationId\\\":\\\"eipassoc-028c317858014bc2d\\\"},\\\"description\\\":\\\"Interface for NAT Gateway nat-01cf55db622bc959c\\\",\\\"groups\\\":[],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":false,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.180.19.165\\\",\\\"interfaceType\\\":\\\"nat_gateway\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:dd:e5:b8:c6:23\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-8f8faab0\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"privateDnsName\\\":\\\"ip-10-180-19-165.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-05231ecdc5364570e","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-05d7efdc2a3c7d241","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-05d7efdc2a3c7d241","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-041bf1918a8cf34a3","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-041bf1918a8cf34a3","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-041bf1918a8cf34a3\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon-elb\\\",\\\"publicIp\\\":\\\"52.51.242.250\\\",\\\"publicDnsName\\\":\\\"ec2-52-51-242-250.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-10-180-16-171.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.180.16.171\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-05231ecdc5364570e\\\",\\\"requesterId\\\":\\\"amazon-elb\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon-elb\\\",\\\"publicIp\\\":\\\"52.51.242.250\\\",\\\"publicDnsName\\\":\\\"ec2-52-51-242-250.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"ELB app/ecs-refarch/59fc9a20002d9393\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-LoadBalancerSecurityGroup-ZSINZ6V8BUSQ\\\",\\\"groupId\\\":\\\"sg-08891adf615ba4aa1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.180.16.171\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:7e:49:ac:6a:9b\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0f506a693149955df\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-elb\\\",\\\"attachTime\\\":\\\"2023-04-13T22:10:50.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"privateDnsName\\\":\\\"ip-10-180-16-171.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-05231ecdc5364570e","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-041bf1918a8cf34a3","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-041bf1918a8cf34a3","instanceType":null,"statement":null,"dBInstanceStatus":null}}]},{"id":null,"label":"NatGateway","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-01cf55db622bc959c","label":"AWS_EC2_NatGateway","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-01cf55db622bc959c","configuration":"\"{\\\"subnetId\\\":\\\"subnet-05231ecdc5364570e\\\",\\\"connectivityType\\\":\\\"public\\\",\\\"createTime\\\":1605113057000,\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"natGatewayId\\\":\\\"nat-01cf55db622bc959c\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"natGatewayAddresses\\\":[{\\\"networkInterfaceId\\\":\\\"eni-05d7efdc2a3c7d241\\\",\\\"isPrimary\\\":true,\\\"privateIp\\\":\\\"10.180.19.165\\\",\\\"allocationId\\\":\\\"eipalloc-08e4a37414b3eae0b\\\",\\\"publicIp\\\":\\\"54.154.146.95\\\",\\\"associationId\\\":\\\"eipassoc-028c317858014bc2d\\\",\\\"status\\\":\\\"succeeded\\\",\\\"primary\\\":true}],\\\"tags\\\":[{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"ecs-refarch-VPC-10OMNTHQBEJPY\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"NatGateway2\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-05231ecdc5364570e","loggedInURL":null,"loginURL":null,"private":null,"resourceId":"nat-01cf55db622bc959c","resourceName":null,"resourceType":"AWS::EC2::NatGateway","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-VPC-10OMNTHQBEJPY\",\"value\":\"ecs-refarch-VPC-10OMNTHQBEJPY\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=NatGateway2\",\"value\":\"NatGateway2\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"nat-01cf55db622bc959c","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}]},{"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-05b78a71606d218fa","label":"subnet-05b78a71606d218fa","parent":null,"type":"subnet","data":{"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-05b78a71606d218fa","configuration":"\"{\\\"subnetId\\\":\\\"subnet-05b78a71606d218fa\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-05b78a71606d218fa\\\",\\\"availabilityZoneId\\\":\\\"euw1-az3\\\",\\\"cidrBlock\\\":\\\"10.180.32.0/21\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"PrivateSubnet2\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"ecs-refarch Private Subnet (AZ2)\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"ecs-refarch-VPC-10OMNTHQBEJPY\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"}],\\\"availableIpAddressCount\\\":2041,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"mapPublicIpOnLaunch\\\":false,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-05b78a71606d218fa","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":"false","resourceId":"subnet-05b78a71606d218fa","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-VPC-10OMNTHQBEJPY\",\"value\":\"ecs-refarch-VPC-10OMNTHQBEJPY\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateSubnet2\",\"value\":\"PrivateSubnet2\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch Private Subnet (AZ2)\",\"value\":\"ecs-refarch Private Subnet (AZ2)\",\"key\":\"Name\"}]","title":"ecs-refarch Private Subnet (AZ2)","instanceType":null,"statement":null,"dBInstanceStatus":null},"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-05b78a71606d218fa","label":"AWS_EC2_Subnet"},"properties":null,"children":[{"id":null,"label":"NetworkInterface","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-04938e2eb5bfafe99","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-04938e2eb5bfafe99","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-04938e2eb5bfafe99\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-180-37-89.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.180.37.89\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-05b78a71606d218fa\\\",\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6\\\",\\\"groupId\\\":\\\"sg-0c02229ab89b7cad1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"10.180.37.89\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:76:24:17:11:dd\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"instanceId\\\":\\\"i-038f307ddeb9caaec\\\",\\\"attachmentId\\\":\\\"eni-attach-05db01ffad53b70d2\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"instanceOwnerId\\\":\\\"044981683129\\\",\\\"attachTime\\\":\\\"2020-11-11T16:49:52.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"privateDnsName\\\":\\\"ip-10-180-37-89.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-05b78a71606d218fa","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-04938e2eb5bfafe99","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-04938e2eb5bfafe99","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0407eecd556929d77","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0407eecd556929d77","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0407eecd556929d77\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-180-39-82.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.180.39.82\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-05b78a71606d218fa\\\",\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6\\\",\\\"groupId\\\":\\\"sg-0c02229ab89b7cad1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"10.180.39.82\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:74:73:6a:f1:ed\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"instanceId\\\":\\\"i-0568d352e5293f7ba\\\",\\\"attachmentId\\\":\\\"eni-attach-0b8db282bfae76ed4\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"instanceOwnerId\\\":\\\"044981683129\\\",\\\"attachTime\\\":\\\"2020-11-11T16:49:52.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"privateDnsName\\\":\\\"ip-10-180-39-82.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-05b78a71606d218fa","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0407eecd556929d77","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0407eecd556929d77","instanceType":null,"statement":null,"dBInstanceStatus":null}}]},{"id":null,"label":"Instance","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:instance/i-038f307ddeb9caaec","label":"AWS_EC2_Instance","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:instance/i-038f307ddeb9caaec","configuration":"\"{\\\"subnetId\\\":\\\"subnet-05b78a71606d218fa\\\",\\\"virtualizationType\\\":\\\"hvm\\\",\\\"capacityReservationSpecification\\\":{\\\"capacityReservationPreference\\\":\\\"open\\\"},\\\"amiLaunchIndex\\\":0,\\\"enaSupport\\\":true,\\\"elasticInferenceAcceleratorAssociations\\\":[],\\\"sourceDestCheck\\\":true,\\\"hibernationOptions\\\":{\\\"configured\\\":false},\\\"instanceId\\\":\\\"i-038f307ddeb9caaec\\\",\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"hypervisor\\\":\\\"xen\\\",\\\"rootDeviceName\\\":\\\"/dev/xvda\\\",\\\"productCodes\\\":[],\\\"state\\\":{\\\"code\\\":\\\"16\\\",\\\"name\\\":\\\"running\\\"},\\\"architecture\\\":\\\"x86_64\\\",\\\"ebsOptimized\\\":false,\\\"imageId\\\":\\\"ami-0d3c55e1582bd84fd\\\",\\\"blockDeviceMappings\\\":[{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-045aff0accd0447e8\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2020-11-11T16:49:53.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvda\\\"},{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-0c52a596424c16120\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2020-11-11T16:49:53.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvdcz\\\"}],\\\"stateTransitionReason\\\":\\\"\\\",\\\"clientToken\\\":\\\"d315d6e0-da9e-3845-842c-91665076bd54\\\",\\\"instanceType\\\":\\\"t2.large\\\",\\\"cpuOptions\\\":{\\\"threadsPerCore\\\":1,\\\"coreCount\\\":2},\\\"monitoring\\\":{\\\"state\\\":\\\"enabled\\\"},\\\"publicDnsName\\\":\\\"\\\",\\\"iamInstanceProfile\\\":{\\\"id\\\":\\\"AIPAQU6I6AO4SHWPDYPQ5\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:instance-profile/ecs-refarch-ECS-1AFGNR7O7APCU-ECSInstanceProfile-10AECDOPB7UQW\\\"},\\\"privateIpAddress\\\":\\\"10.180.37.89\\\",\\\"rootDeviceType\\\":\\\"ebs\\\",\\\"tags\\\":[{\\\"value\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"ecs-refarch ECS host\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\\\",\\\"key\\\":\\\"aws:autoscaling:groupName\\\"},{\\\"value\\\":\\\"ECSAutoScalingGroup\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"}],\\\"enclaveOptions\\\":{\\\"enabled\\\":false},\\\"launchTime\\\":\\\"2020-11-11T16:49:52.000Z\\\",\\\"elasticGpuAssociations\\\":[],\\\"licenses\\\":[],\\\"networkInterfaces\\\":[{\\\"networkInterfaceId\\\":\\\"eni-04938e2eb5bfafe99\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-180-37-89.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.180.37.89\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-05b78a71606d218fa\\\",\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6\\\",\\\"groupId\\\":\\\"sg-0c02229ab89b7cad1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"privateIpAddress\\\":\\\"10.180.37.89\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"macAddress\\\":\\\"0a:76:24:17:11:dd\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-05db01ffad53b70d2\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"attachTime\\\":\\\"2020-11-11T16:49:52.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"privateDnsName\\\":\\\"ip-10-180-37-89.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}],\\\"metadataOptions\\\":{\\\"httpPutResponseHopLimit\\\":1,\\\"httpEndpoint\\\":\\\"enabled\\\",\\\"state\\\":\\\"applied\\\",\\\"httpTokens\\\":\\\"optional\\\"},\\\"privateDnsName\\\":\\\"ip-10-180-37-89.eu-west-1.compute.internal\\\",\\\"securityGroups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6\\\",\\\"groupId\\\":\\\"sg-0c02229ab89b7cad1\\\"}],\\\"placement\\\":{\\\"groupName\\\":\\\"\\\",\\\"tenancy\\\":\\\"default\\\",\\\"availabilityZone\\\":\\\"eu-west-1b\\\"}}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-05b78a71606d218fa","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#Instances:sort=instanceId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#Instances:sort=instanceId","private":null,"resourceId":"i-038f307ddeb9caaec","resourceName":null,"resourceType":"AWS::EC2::Instance","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-ECS-1AFGNR7O7APCU\",\"value\":\"ecs-refarch-ECS-1AFGNR7O7APCU\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:autoscaling:groupName=ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\",\"value\":\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\",\"key\":\"aws:autoscaling:groupName\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=ECSAutoScalingGroup\",\"value\":\"ECSAutoScalingGroup\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch ECS host\",\"value\":\"ecs-refarch ECS host\",\"key\":\"Name\"}]","title":"ecs-refarch ECS host","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:instance/i-0568d352e5293f7ba","label":"AWS_EC2_Instance","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:instance/i-0568d352e5293f7ba","configuration":"\"{\\\"subnetId\\\":\\\"subnet-05b78a71606d218fa\\\",\\\"virtualizationType\\\":\\\"hvm\\\",\\\"capacityReservationSpecification\\\":{\\\"capacityReservationPreference\\\":\\\"open\\\"},\\\"amiLaunchIndex\\\":1,\\\"enaSupport\\\":true,\\\"elasticInferenceAcceleratorAssociations\\\":[],\\\"sourceDestCheck\\\":true,\\\"hibernationOptions\\\":{\\\"configured\\\":false},\\\"instanceId\\\":\\\"i-0568d352e5293f7ba\\\",\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"hypervisor\\\":\\\"xen\\\",\\\"rootDeviceName\\\":\\\"/dev/xvda\\\",\\\"productCodes\\\":[],\\\"state\\\":{\\\"code\\\":\\\"16\\\",\\\"name\\\":\\\"running\\\"},\\\"architecture\\\":\\\"x86_64\\\",\\\"ebsOptimized\\\":false,\\\"imageId\\\":\\\"ami-0d3c55e1582bd84fd\\\",\\\"blockDeviceMappings\\\":[{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-07dbcc0ff67f0c1bc\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2020-11-11T16:49:53.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvda\\\"},{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-0c1ead3869a3d378f\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2020-11-11T16:49:53.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvdcz\\\"}],\\\"stateTransitionReason\\\":\\\"\\\",\\\"clientToken\\\":\\\"d315d6e0-da9e-3845-842c-91665076bd54\\\",\\\"instanceType\\\":\\\"t2.large\\\",\\\"cpuOptions\\\":{\\\"threadsPerCore\\\":1,\\\"coreCount\\\":2},\\\"monitoring\\\":{\\\"state\\\":\\\"enabled\\\"},\\\"publicDnsName\\\":\\\"\\\",\\\"iamInstanceProfile\\\":{\\\"id\\\":\\\"AIPAQU6I6AO4SHWPDYPQ5\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:instance-profile/ecs-refarch-ECS-1AFGNR7O7APCU-ECSInstanceProfile-10AECDOPB7UQW\\\"},\\\"privateIpAddress\\\":\\\"10.180.39.82\\\",\\\"rootDeviceType\\\":\\\"ebs\\\",\\\"tags\\\":[{\\\"value\\\":\\\"ECSAutoScalingGroup\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\\\",\\\"key\\\":\\\"aws:autoscaling:groupName\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"ecs-refarch ECS host\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"}],\\\"enclaveOptions\\\":{\\\"enabled\\\":false},\\\"launchTime\\\":\\\"2020-11-11T16:49:52.000Z\\\",\\\"elasticGpuAssociations\\\":[],\\\"licenses\\\":[],\\\"networkInterfaces\\\":[{\\\"networkInterfaceId\\\":\\\"eni-0407eecd556929d77\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-180-39-82.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.180.39.82\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-05b78a71606d218fa\\\",\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6\\\",\\\"groupId\\\":\\\"sg-0c02229ab89b7cad1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"privateIpAddress\\\":\\\"10.180.39.82\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"macAddress\\\":\\\"0a:74:73:6a:f1:ed\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0b8db282bfae76ed4\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"attachTime\\\":\\\"2020-11-11T16:49:52.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"privateDnsName\\\":\\\"ip-10-180-39-82.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}],\\\"metadataOptions\\\":{\\\"httpPutResponseHopLimit\\\":1,\\\"httpEndpoint\\\":\\\"enabled\\\",\\\"state\\\":\\\"applied\\\",\\\"httpTokens\\\":\\\"optional\\\"},\\\"privateDnsName\\\":\\\"ip-10-180-39-82.eu-west-1.compute.internal\\\",\\\"securityGroups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6\\\",\\\"groupId\\\":\\\"sg-0c02229ab89b7cad1\\\"}],\\\"placement\\\":{\\\"groupName\\\":\\\"\\\",\\\"tenancy\\\":\\\"default\\\",\\\"availabilityZone\\\":\\\"eu-west-1b\\\"}}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-05b78a71606d218fa","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#Instances:sort=instanceId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#Instances:sort=instanceId","private":null,"resourceId":"i-0568d352e5293f7ba","resourceName":null,"resourceType":"AWS::EC2::Instance","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:autoscaling:groupName=ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\",\"value\":\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\",\"key\":\"aws:autoscaling:groupName\"},{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-ECS-1AFGNR7O7APCU\",\"value\":\"ecs-refarch-ECS-1AFGNR7O7APCU\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=ECSAutoScalingGroup\",\"value\":\"ECSAutoScalingGroup\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch ECS host\",\"value\":\"ecs-refarch ECS host\",\"key\":\"Name\"}]","title":"ecs-refarch ECS host","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-856,"y":-1282.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"availabilityZone removeAll _gridParentPadding"},{"data":{"id":"subnet-05231ecdc5364570e-eu-west-1b-vpc-08ab1368aff4e5657-eu-west-1-044981683129","parent":"eu-west-1b-vpc-08ab1368aff4e5657-eu-west-1-044981683129","level":4,"title":"subnet-05231ecdc5364570e","label":"subnet-05231ecdc5364570e","plainLabel":"subnet-05231ecdc5364570e","type":"subnet","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/VPC-subnet-private_light-bg-collapsed.svg","clickedId":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-05231ecdc5364570e","cost":0,"hasChildren":true,"children":[{"id":null,"label":"NetworkInterface","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-05d7efdc2a3c7d241","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-05d7efdc2a3c7d241","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-05d7efdc2a3c7d241\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"044981683129\\\",\\\"allocationId\\\":\\\"eipalloc-08e4a37414b3eae0b\\\",\\\"publicIp\\\":\\\"54.154.146.95\\\",\\\"publicDnsName\\\":\\\"ec2-54-154-146-95.eu-west-1.compute.amazonaws.com\\\",\\\"associationId\\\":\\\"eipassoc-028c317858014bc2d\\\"},\\\"privateDnsName\\\":\\\"ip-10-180-19-165.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.180.19.165\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-05231ecdc5364570e\\\",\\\"requesterId\\\":\\\"036872051663\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"044981683129\\\",\\\"allocationId\\\":\\\"eipalloc-08e4a37414b3eae0b\\\",\\\"publicIp\\\":\\\"54.154.146.95\\\",\\\"publicDnsName\\\":\\\"ec2-54-154-146-95.eu-west-1.compute.amazonaws.com\\\",\\\"associationId\\\":\\\"eipassoc-028c317858014bc2d\\\"},\\\"description\\\":\\\"Interface for NAT Gateway nat-01cf55db622bc959c\\\",\\\"groups\\\":[],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":false,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.180.19.165\\\",\\\"interfaceType\\\":\\\"nat_gateway\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:dd:e5:b8:c6:23\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-8f8faab0\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"privateDnsName\\\":\\\"ip-10-180-19-165.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-05231ecdc5364570e","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-05d7efdc2a3c7d241","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-05d7efdc2a3c7d241","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-041bf1918a8cf34a3","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-041bf1918a8cf34a3","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-041bf1918a8cf34a3\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon-elb\\\",\\\"publicIp\\\":\\\"52.51.242.250\\\",\\\"publicDnsName\\\":\\\"ec2-52-51-242-250.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-10-180-16-171.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.180.16.171\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-05231ecdc5364570e\\\",\\\"requesterId\\\":\\\"amazon-elb\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon-elb\\\",\\\"publicIp\\\":\\\"52.51.242.250\\\",\\\"publicDnsName\\\":\\\"ec2-52-51-242-250.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"ELB app/ecs-refarch/59fc9a20002d9393\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-LoadBalancerSecurityGroup-ZSINZ6V8BUSQ\\\",\\\"groupId\\\":\\\"sg-08891adf615ba4aa1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.180.16.171\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:7e:49:ac:6a:9b\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0f506a693149955df\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-elb\\\",\\\"attachTime\\\":\\\"2023-04-13T22:10:50.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"privateDnsName\\\":\\\"ip-10-180-16-171.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-05231ecdc5364570e","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-041bf1918a8cf34a3","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-041bf1918a8cf34a3","instanceType":null,"statement":null,"dBInstanceStatus":null}}]},{"id":null,"label":"NatGateway","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-01cf55db622bc959c","label":"AWS_EC2_NatGateway","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-01cf55db622bc959c","configuration":"\"{\\\"subnetId\\\":\\\"subnet-05231ecdc5364570e\\\",\\\"connectivityType\\\":\\\"public\\\",\\\"createTime\\\":1605113057000,\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"natGatewayId\\\":\\\"nat-01cf55db622bc959c\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"natGatewayAddresses\\\":[{\\\"networkInterfaceId\\\":\\\"eni-05d7efdc2a3c7d241\\\",\\\"isPrimary\\\":true,\\\"privateIp\\\":\\\"10.180.19.165\\\",\\\"allocationId\\\":\\\"eipalloc-08e4a37414b3eae0b\\\",\\\"publicIp\\\":\\\"54.154.146.95\\\",\\\"associationId\\\":\\\"eipassoc-028c317858014bc2d\\\",\\\"status\\\":\\\"succeeded\\\",\\\"primary\\\":true}],\\\"tags\\\":[{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"ecs-refarch-VPC-10OMNTHQBEJPY\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"NatGateway2\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-05231ecdc5364570e","loggedInURL":null,"loginURL":null,"private":null,"resourceId":"nat-01cf55db622bc959c","resourceName":null,"resourceType":"AWS::EC2::NatGateway","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-VPC-10OMNTHQBEJPY\",\"value\":\"ecs-refarch-VPC-10OMNTHQBEJPY\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=NatGateway2\",\"value\":\"NatGateway2\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"nat-01cf55db622bc959c","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#147eba","properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-05231ecdc5364570e","configuration":"\"{\\\"subnetId\\\":\\\"subnet-05231ecdc5364570e\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-05231ecdc5364570e\\\",\\\"availabilityZoneId\\\":\\\"euw1-az3\\\",\\\"cidrBlock\\\":\\\"10.180.16.0/21\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"ecs-refarch Public Subnet (AZ2)\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"ecs-refarch-VPC-10OMNTHQBEJPY\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"PublicSubnet2\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"}],\\\"availableIpAddressCount\\\":2041,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"mapPublicIpOnLaunch\\\":true,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-05231ecdc5364570e","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":"true","resourceId":"subnet-05231ecdc5364570e","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-VPC-10OMNTHQBEJPY\",\"value\":\"ecs-refarch-VPC-10OMNTHQBEJPY\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PublicSubnet2\",\"value\":\"PublicSubnet2\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch Public Subnet (AZ2)\",\"value\":\"ecs-refarch Public Subnet (AZ2)\",\"key\":\"Name\"}]","title":"ecs-refarch Public Subnet (AZ2)","instanceType":null,"statement":null,"dBInstanceStatus":null},"resource":{"id":"subnet-05231ecdc5364570e","name":null,"value":null,"type":"AWS::EC2::Subnet","tags":"[{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-VPC-10OMNTHQBEJPY\",\"value\":\"ecs-refarch-VPC-10OMNTHQBEJPY\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PublicSubnet2\",\"value\":\"PublicSubnet2\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch Public Subnet (AZ2)\",\"value\":\"ecs-refarch Public Subnet (AZ2)\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-05231ecdc5364570e","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","accountId":"044981683129"}},"position":{"x":-969,"y":-1282.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"subnet removeAll _gridParentPadding"},{"data":{"id":"NetworkInterface-subnet-05231ecdc5364570e-eu-west-1b-vpc-08ab1368aff4e5657-eu-west-1-044981683129","parent":"subnet-05231ecdc5364570e-eu-west-1b-vpc-08ab1368aff4e5657-eu-west-1-044981683129","level":5,"title":"NetworkInterface","label":"NetworkInterface","plainLabel":"NetworkInterface","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-05d7efdc2a3c7d241","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-05d7efdc2a3c7d241","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-05d7efdc2a3c7d241\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"044981683129\\\",\\\"allocationId\\\":\\\"eipalloc-08e4a37414b3eae0b\\\",\\\"publicIp\\\":\\\"54.154.146.95\\\",\\\"publicDnsName\\\":\\\"ec2-54-154-146-95.eu-west-1.compute.amazonaws.com\\\",\\\"associationId\\\":\\\"eipassoc-028c317858014bc2d\\\"},\\\"privateDnsName\\\":\\\"ip-10-180-19-165.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.180.19.165\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-05231ecdc5364570e\\\",\\\"requesterId\\\":\\\"036872051663\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"044981683129\\\",\\\"allocationId\\\":\\\"eipalloc-08e4a37414b3eae0b\\\",\\\"publicIp\\\":\\\"54.154.146.95\\\",\\\"publicDnsName\\\":\\\"ec2-54-154-146-95.eu-west-1.compute.amazonaws.com\\\",\\\"associationId\\\":\\\"eipassoc-028c317858014bc2d\\\"},\\\"description\\\":\\\"Interface for NAT Gateway nat-01cf55db622bc959c\\\",\\\"groups\\\":[],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":false,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.180.19.165\\\",\\\"interfaceType\\\":\\\"nat_gateway\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:dd:e5:b8:c6:23\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-8f8faab0\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"privateDnsName\\\":\\\"ip-10-180-19-165.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-05231ecdc5364570e","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-05d7efdc2a3c7d241","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-05d7efdc2a3c7d241","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-041bf1918a8cf34a3","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-041bf1918a8cf34a3","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-041bf1918a8cf34a3\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon-elb\\\",\\\"publicIp\\\":\\\"52.51.242.250\\\",\\\"publicDnsName\\\":\\\"ec2-52-51-242-250.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-10-180-16-171.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.180.16.171\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-05231ecdc5364570e\\\",\\\"requesterId\\\":\\\"amazon-elb\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon-elb\\\",\\\"publicIp\\\":\\\"52.51.242.250\\\",\\\"publicDnsName\\\":\\\"ec2-52-51-242-250.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"ELB app/ecs-refarch/59fc9a20002d9393\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-LoadBalancerSecurityGroup-ZSINZ6V8BUSQ\\\",\\\"groupId\\\":\\\"sg-08891adf615ba4aa1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.180.16.171\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:7e:49:ac:6a:9b\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0f506a693149955df\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-elb\\\",\\\"attachTime\\\":\\\"2023-04-13T22:10:50.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"privateDnsName\\\":\\\"ip-10-180-16-171.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-05231ecdc5364570e","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-041bf1918a8cf34a3","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-041bf1918a8cf34a3","instanceType":null,"statement":null,"dBInstanceStatus":null}}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-969,"y":-1347.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-05d7efdc2a3c7d241","resourceId":["eni-05d7efdc2a3c7d241","arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-05d7efdc2a3c7d241"],"parent":"NetworkInterface-subnet-05231ecdc5364570e-eu-west-1b-vpc-08ab1368aff4e5657-eu-west-1-044981683129","level":6,"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-05d7efdc2a3c7d241","title":"eni-05d7efdc2a3c7d241","label":"eni-05d7efdc...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-05d7efdc2a3c7d241","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-05d7efdc2a3c7d241","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-05d7efdc2a3c7d241","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-05d7efdc2a3c7d241","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-05d7efdc2a3c7d241\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"044981683129\\\",\\\"allocationId\\\":\\\"eipalloc-08e4a37414b3eae0b\\\",\\\"publicIp\\\":\\\"54.154.146.95\\\",\\\"publicDnsName\\\":\\\"ec2-54-154-146-95.eu-west-1.compute.amazonaws.com\\\",\\\"associationId\\\":\\\"eipassoc-028c317858014bc2d\\\"},\\\"privateDnsName\\\":\\\"ip-10-180-19-165.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.180.19.165\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-05231ecdc5364570e\\\",\\\"requesterId\\\":\\\"036872051663\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"044981683129\\\",\\\"allocationId\\\":\\\"eipalloc-08e4a37414b3eae0b\\\",\\\"publicIp\\\":\\\"54.154.146.95\\\",\\\"publicDnsName\\\":\\\"ec2-54-154-146-95.eu-west-1.compute.amazonaws.com\\\",\\\"associationId\\\":\\\"eipassoc-028c317858014bc2d\\\"},\\\"description\\\":\\\"Interface for NAT Gateway nat-01cf55db622bc959c\\\",\\\"groups\\\":[],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":false,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.180.19.165\\\",\\\"interfaceType\\\":\\\"nat_gateway\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:dd:e5:b8:c6:23\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-8f8faab0\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"privateDnsName\\\":\\\"ip-10-180-19-165.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-05231ecdc5364570e","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-05d7efdc2a3c7d241","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-05d7efdc2a3c7d241","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1005.5,"y":-1347.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-041bf1918a8cf34a3","resourceId":["eni-041bf1918a8cf34a3","arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-041bf1918a8cf34a3"],"parent":"NetworkInterface-subnet-05231ecdc5364570e-eu-west-1b-vpc-08ab1368aff4e5657-eu-west-1-044981683129","level":6,"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-041bf1918a8cf34a3","title":"eni-041bf1918a8cf34a3","label":"eni-041bf191...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-041bf1918a8cf34a3","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-041bf1918a8cf34a3","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-041bf1918a8cf34a3","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-041bf1918a8cf34a3","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-041bf1918a8cf34a3\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon-elb\\\",\\\"publicIp\\\":\\\"52.51.242.250\\\",\\\"publicDnsName\\\":\\\"ec2-52-51-242-250.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-10-180-16-171.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.180.16.171\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-05231ecdc5364570e\\\",\\\"requesterId\\\":\\\"amazon-elb\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon-elb\\\",\\\"publicIp\\\":\\\"52.51.242.250\\\",\\\"publicDnsName\\\":\\\"ec2-52-51-242-250.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"ELB app/ecs-refarch/59fc9a20002d9393\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-LoadBalancerSecurityGroup-ZSINZ6V8BUSQ\\\",\\\"groupId\\\":\\\"sg-08891adf615ba4aa1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.180.16.171\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:7e:49:ac:6a:9b\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0f506a693149955df\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-elb\\\",\\\"attachTime\\\":\\\"2023-04-13T22:10:50.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"privateDnsName\\\":\\\"ip-10-180-16-171.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-05231ecdc5364570e","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-041bf1918a8cf34a3","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-041bf1918a8cf34a3","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-932.5,"y":-1347.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"NatGateway-subnet-05231ecdc5364570e-eu-west-1b-vpc-08ab1368aff4e5657-eu-west-1-044981683129","parent":"subnet-05231ecdc5364570e-eu-west-1b-vpc-08ab1368aff4e5657-eu-west-1-044981683129","level":5,"title":"NatGateway","label":"NatGateway","plainLabel":"NatGateway","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-VPC_NAT-Gateway_light-bg-menu.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-01cf55db622bc959c","label":"AWS_EC2_NatGateway","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-01cf55db622bc959c","configuration":"\"{\\\"subnetId\\\":\\\"subnet-05231ecdc5364570e\\\",\\\"connectivityType\\\":\\\"public\\\",\\\"createTime\\\":1605113057000,\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"natGatewayId\\\":\\\"nat-01cf55db622bc959c\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"natGatewayAddresses\\\":[{\\\"networkInterfaceId\\\":\\\"eni-05d7efdc2a3c7d241\\\",\\\"isPrimary\\\":true,\\\"privateIp\\\":\\\"10.180.19.165\\\",\\\"allocationId\\\":\\\"eipalloc-08e4a37414b3eae0b\\\",\\\"publicIp\\\":\\\"54.154.146.95\\\",\\\"associationId\\\":\\\"eipassoc-028c317858014bc2d\\\",\\\"status\\\":\\\"succeeded\\\",\\\"primary\\\":true}],\\\"tags\\\":[{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"ecs-refarch-VPC-10OMNTHQBEJPY\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"NatGateway2\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-05231ecdc5364570e","loggedInURL":null,"loginURL":null,"private":null,"resourceId":"nat-01cf55db622bc959c","resourceName":null,"resourceType":"AWS::EC2::NatGateway","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-VPC-10OMNTHQBEJPY\",\"value\":\"ecs-refarch-VPC-10OMNTHQBEJPY\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=NatGateway2\",\"value\":\"NatGateway2\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"nat-01cf55db622bc959c","instanceType":null,"statement":null,"dBInstanceStatus":null}}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1005.5,"y":-1217.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-01cf55db622bc959c","resourceId":["nat-01cf55db622bc959c","arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-01cf55db622bc959c"],"parent":"NatGateway-subnet-05231ecdc5364570e-eu-west-1b-vpc-08ab1368aff4e5657-eu-west-1-044981683129","level":6,"id":"arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-01cf55db622bc959c","title":"nat-01cf55db622bc959c","label":"nat-01cf55db...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-01cf55db622bc959c","image":"/icons/Amazon-VPC_NAT-Gateway_light-bg-menu.svg","cost":0,"private":false,"resource":{"id":"nat-01cf55db622bc959c","name":null,"value":null,"type":"AWS::EC2::NatGateway","tags":"[{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-VPC-10OMNTHQBEJPY\",\"value\":\"ecs-refarch-VPC-10OMNTHQBEJPY\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=NatGateway2\",\"value\":\"NatGateway2\",\"key\":\"aws:cloudformation:logical-id\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-01cf55db622bc959c","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-01cf55db622bc959c","configuration":"\"{\\\"subnetId\\\":\\\"subnet-05231ecdc5364570e\\\",\\\"connectivityType\\\":\\\"public\\\",\\\"createTime\\\":1605113057000,\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"natGatewayId\\\":\\\"nat-01cf55db622bc959c\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"natGatewayAddresses\\\":[{\\\"networkInterfaceId\\\":\\\"eni-05d7efdc2a3c7d241\\\",\\\"isPrimary\\\":true,\\\"privateIp\\\":\\\"10.180.19.165\\\",\\\"allocationId\\\":\\\"eipalloc-08e4a37414b3eae0b\\\",\\\"publicIp\\\":\\\"54.154.146.95\\\",\\\"associationId\\\":\\\"eipassoc-028c317858014bc2d\\\",\\\"status\\\":\\\"succeeded\\\",\\\"primary\\\":true}],\\\"tags\\\":[{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"ecs-refarch-VPC-10OMNTHQBEJPY\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"NatGateway2\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-05231ecdc5364570e","loggedInURL":null,"loginURL":null,"private":null,"resourceId":"nat-01cf55db622bc959c","resourceName":null,"resourceType":"AWS::EC2::NatGateway","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-VPC-10OMNTHQBEJPY\",\"value\":\"ecs-refarch-VPC-10OMNTHQBEJPY\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=NatGateway2\",\"value\":\"NatGateway2\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"nat-01cf55db622bc959c","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1005.5,"y":-1217.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"subnet-05b78a71606d218fa-eu-west-1b-vpc-08ab1368aff4e5657-eu-west-1-044981683129","parent":"eu-west-1b-vpc-08ab1368aff4e5657-eu-west-1-044981683129","level":4,"title":"subnet-05b78a71606d218fa","label":"subnet-05b78a71606d218fa","plainLabel":"subnet-05b78a71606d218fa","type":"subnet","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/VPC-subnet-private_light-bg-collapsed.svg","clickedId":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-05b78a71606d218fa","cost":0,"hasChildren":true,"children":[{"id":null,"label":"NetworkInterface","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-04938e2eb5bfafe99","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-04938e2eb5bfafe99","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-04938e2eb5bfafe99\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-180-37-89.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.180.37.89\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-05b78a71606d218fa\\\",\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6\\\",\\\"groupId\\\":\\\"sg-0c02229ab89b7cad1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"10.180.37.89\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:76:24:17:11:dd\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"instanceId\\\":\\\"i-038f307ddeb9caaec\\\",\\\"attachmentId\\\":\\\"eni-attach-05db01ffad53b70d2\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"instanceOwnerId\\\":\\\"044981683129\\\",\\\"attachTime\\\":\\\"2020-11-11T16:49:52.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"privateDnsName\\\":\\\"ip-10-180-37-89.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-05b78a71606d218fa","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-04938e2eb5bfafe99","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-04938e2eb5bfafe99","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0407eecd556929d77","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0407eecd556929d77","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0407eecd556929d77\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-180-39-82.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.180.39.82\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-05b78a71606d218fa\\\",\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6\\\",\\\"groupId\\\":\\\"sg-0c02229ab89b7cad1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"10.180.39.82\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:74:73:6a:f1:ed\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"instanceId\\\":\\\"i-0568d352e5293f7ba\\\",\\\"attachmentId\\\":\\\"eni-attach-0b8db282bfae76ed4\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"instanceOwnerId\\\":\\\"044981683129\\\",\\\"attachTime\\\":\\\"2020-11-11T16:49:52.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"privateDnsName\\\":\\\"ip-10-180-39-82.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-05b78a71606d218fa","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0407eecd556929d77","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0407eecd556929d77","instanceType":null,"statement":null,"dBInstanceStatus":null}}]},{"id":null,"label":"Instance","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:instance/i-038f307ddeb9caaec","label":"AWS_EC2_Instance","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:instance/i-038f307ddeb9caaec","configuration":"\"{\\\"subnetId\\\":\\\"subnet-05b78a71606d218fa\\\",\\\"virtualizationType\\\":\\\"hvm\\\",\\\"capacityReservationSpecification\\\":{\\\"capacityReservationPreference\\\":\\\"open\\\"},\\\"amiLaunchIndex\\\":0,\\\"enaSupport\\\":true,\\\"elasticInferenceAcceleratorAssociations\\\":[],\\\"sourceDestCheck\\\":true,\\\"hibernationOptions\\\":{\\\"configured\\\":false},\\\"instanceId\\\":\\\"i-038f307ddeb9caaec\\\",\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"hypervisor\\\":\\\"xen\\\",\\\"rootDeviceName\\\":\\\"/dev/xvda\\\",\\\"productCodes\\\":[],\\\"state\\\":{\\\"code\\\":\\\"16\\\",\\\"name\\\":\\\"running\\\"},\\\"architecture\\\":\\\"x86_64\\\",\\\"ebsOptimized\\\":false,\\\"imageId\\\":\\\"ami-0d3c55e1582bd84fd\\\",\\\"blockDeviceMappings\\\":[{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-045aff0accd0447e8\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2020-11-11T16:49:53.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvda\\\"},{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-0c52a596424c16120\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2020-11-11T16:49:53.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvdcz\\\"}],\\\"stateTransitionReason\\\":\\\"\\\",\\\"clientToken\\\":\\\"d315d6e0-da9e-3845-842c-91665076bd54\\\",\\\"instanceType\\\":\\\"t2.large\\\",\\\"cpuOptions\\\":{\\\"threadsPerCore\\\":1,\\\"coreCount\\\":2},\\\"monitoring\\\":{\\\"state\\\":\\\"enabled\\\"},\\\"publicDnsName\\\":\\\"\\\",\\\"iamInstanceProfile\\\":{\\\"id\\\":\\\"AIPAQU6I6AO4SHWPDYPQ5\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:instance-profile/ecs-refarch-ECS-1AFGNR7O7APCU-ECSInstanceProfile-10AECDOPB7UQW\\\"},\\\"privateIpAddress\\\":\\\"10.180.37.89\\\",\\\"rootDeviceType\\\":\\\"ebs\\\",\\\"tags\\\":[{\\\"value\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"ecs-refarch ECS host\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\\\",\\\"key\\\":\\\"aws:autoscaling:groupName\\\"},{\\\"value\\\":\\\"ECSAutoScalingGroup\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"}],\\\"enclaveOptions\\\":{\\\"enabled\\\":false},\\\"launchTime\\\":\\\"2020-11-11T16:49:52.000Z\\\",\\\"elasticGpuAssociations\\\":[],\\\"licenses\\\":[],\\\"networkInterfaces\\\":[{\\\"networkInterfaceId\\\":\\\"eni-04938e2eb5bfafe99\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-180-37-89.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.180.37.89\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-05b78a71606d218fa\\\",\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6\\\",\\\"groupId\\\":\\\"sg-0c02229ab89b7cad1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"privateIpAddress\\\":\\\"10.180.37.89\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"macAddress\\\":\\\"0a:76:24:17:11:dd\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-05db01ffad53b70d2\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"attachTime\\\":\\\"2020-11-11T16:49:52.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"privateDnsName\\\":\\\"ip-10-180-37-89.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}],\\\"metadataOptions\\\":{\\\"httpPutResponseHopLimit\\\":1,\\\"httpEndpoint\\\":\\\"enabled\\\",\\\"state\\\":\\\"applied\\\",\\\"httpTokens\\\":\\\"optional\\\"},\\\"privateDnsName\\\":\\\"ip-10-180-37-89.eu-west-1.compute.internal\\\",\\\"securityGroups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6\\\",\\\"groupId\\\":\\\"sg-0c02229ab89b7cad1\\\"}],\\\"placement\\\":{\\\"groupName\\\":\\\"\\\",\\\"tenancy\\\":\\\"default\\\",\\\"availabilityZone\\\":\\\"eu-west-1b\\\"}}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-05b78a71606d218fa","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#Instances:sort=instanceId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#Instances:sort=instanceId","private":null,"resourceId":"i-038f307ddeb9caaec","resourceName":null,"resourceType":"AWS::EC2::Instance","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-ECS-1AFGNR7O7APCU\",\"value\":\"ecs-refarch-ECS-1AFGNR7O7APCU\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:autoscaling:groupName=ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\",\"value\":\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\",\"key\":\"aws:autoscaling:groupName\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=ECSAutoScalingGroup\",\"value\":\"ECSAutoScalingGroup\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch ECS host\",\"value\":\"ecs-refarch ECS host\",\"key\":\"Name\"}]","title":"ecs-refarch ECS host","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:instance/i-0568d352e5293f7ba","label":"AWS_EC2_Instance","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:instance/i-0568d352e5293f7ba","configuration":"\"{\\\"subnetId\\\":\\\"subnet-05b78a71606d218fa\\\",\\\"virtualizationType\\\":\\\"hvm\\\",\\\"capacityReservationSpecification\\\":{\\\"capacityReservationPreference\\\":\\\"open\\\"},\\\"amiLaunchIndex\\\":1,\\\"enaSupport\\\":true,\\\"elasticInferenceAcceleratorAssociations\\\":[],\\\"sourceDestCheck\\\":true,\\\"hibernationOptions\\\":{\\\"configured\\\":false},\\\"instanceId\\\":\\\"i-0568d352e5293f7ba\\\",\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"hypervisor\\\":\\\"xen\\\",\\\"rootDeviceName\\\":\\\"/dev/xvda\\\",\\\"productCodes\\\":[],\\\"state\\\":{\\\"code\\\":\\\"16\\\",\\\"name\\\":\\\"running\\\"},\\\"architecture\\\":\\\"x86_64\\\",\\\"ebsOptimized\\\":false,\\\"imageId\\\":\\\"ami-0d3c55e1582bd84fd\\\",\\\"blockDeviceMappings\\\":[{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-07dbcc0ff67f0c1bc\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2020-11-11T16:49:53.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvda\\\"},{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-0c1ead3869a3d378f\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2020-11-11T16:49:53.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvdcz\\\"}],\\\"stateTransitionReason\\\":\\\"\\\",\\\"clientToken\\\":\\\"d315d6e0-da9e-3845-842c-91665076bd54\\\",\\\"instanceType\\\":\\\"t2.large\\\",\\\"cpuOptions\\\":{\\\"threadsPerCore\\\":1,\\\"coreCount\\\":2},\\\"monitoring\\\":{\\\"state\\\":\\\"enabled\\\"},\\\"publicDnsName\\\":\\\"\\\",\\\"iamInstanceProfile\\\":{\\\"id\\\":\\\"AIPAQU6I6AO4SHWPDYPQ5\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:instance-profile/ecs-refarch-ECS-1AFGNR7O7APCU-ECSInstanceProfile-10AECDOPB7UQW\\\"},\\\"privateIpAddress\\\":\\\"10.180.39.82\\\",\\\"rootDeviceType\\\":\\\"ebs\\\",\\\"tags\\\":[{\\\"value\\\":\\\"ECSAutoScalingGroup\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\\\",\\\"key\\\":\\\"aws:autoscaling:groupName\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"ecs-refarch ECS host\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"}],\\\"enclaveOptions\\\":{\\\"enabled\\\":false},\\\"launchTime\\\":\\\"2020-11-11T16:49:52.000Z\\\",\\\"elasticGpuAssociations\\\":[],\\\"licenses\\\":[],\\\"networkInterfaces\\\":[{\\\"networkInterfaceId\\\":\\\"eni-0407eecd556929d77\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-180-39-82.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.180.39.82\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-05b78a71606d218fa\\\",\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6\\\",\\\"groupId\\\":\\\"sg-0c02229ab89b7cad1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"privateIpAddress\\\":\\\"10.180.39.82\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"macAddress\\\":\\\"0a:74:73:6a:f1:ed\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0b8db282bfae76ed4\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"attachTime\\\":\\\"2020-11-11T16:49:52.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"privateDnsName\\\":\\\"ip-10-180-39-82.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}],\\\"metadataOptions\\\":{\\\"httpPutResponseHopLimit\\\":1,\\\"httpEndpoint\\\":\\\"enabled\\\",\\\"state\\\":\\\"applied\\\",\\\"httpTokens\\\":\\\"optional\\\"},\\\"privateDnsName\\\":\\\"ip-10-180-39-82.eu-west-1.compute.internal\\\",\\\"securityGroups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6\\\",\\\"groupId\\\":\\\"sg-0c02229ab89b7cad1\\\"}],\\\"placement\\\":{\\\"groupName\\\":\\\"\\\",\\\"tenancy\\\":\\\"default\\\",\\\"availabilityZone\\\":\\\"eu-west-1b\\\"}}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-05b78a71606d218fa","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#Instances:sort=instanceId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#Instances:sort=instanceId","private":null,"resourceId":"i-0568d352e5293f7ba","resourceName":null,"resourceType":"AWS::EC2::Instance","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:autoscaling:groupName=ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\",\"value\":\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\",\"key\":\"aws:autoscaling:groupName\"},{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-ECS-1AFGNR7O7APCU\",\"value\":\"ecs-refarch-ECS-1AFGNR7O7APCU\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=ECSAutoScalingGroup\",\"value\":\"ECSAutoScalingGroup\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch ECS host\",\"value\":\"ecs-refarch ECS host\",\"key\":\"Name\"}]","title":"ecs-refarch ECS host","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#147eba","properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-05b78a71606d218fa","configuration":"\"{\\\"subnetId\\\":\\\"subnet-05b78a71606d218fa\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-05b78a71606d218fa\\\",\\\"availabilityZoneId\\\":\\\"euw1-az3\\\",\\\"cidrBlock\\\":\\\"10.180.32.0/21\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"PrivateSubnet2\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"ecs-refarch Private Subnet (AZ2)\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"ecs-refarch-VPC-10OMNTHQBEJPY\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"}],\\\"availableIpAddressCount\\\":2041,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"mapPublicIpOnLaunch\\\":false,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-05b78a71606d218fa","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":"false","resourceId":"subnet-05b78a71606d218fa","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-VPC-10OMNTHQBEJPY\",\"value\":\"ecs-refarch-VPC-10OMNTHQBEJPY\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateSubnet2\",\"value\":\"PrivateSubnet2\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch Private Subnet (AZ2)\",\"value\":\"ecs-refarch Private Subnet (AZ2)\",\"key\":\"Name\"}]","title":"ecs-refarch Private Subnet (AZ2)","instanceType":null,"statement":null,"dBInstanceStatus":null},"resource":{"id":"subnet-05b78a71606d218fa","name":null,"value":null,"type":"AWS::EC2::Subnet","tags":"[{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-VPC-10OMNTHQBEJPY\",\"value\":\"ecs-refarch-VPC-10OMNTHQBEJPY\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateSubnet2\",\"value\":\"PrivateSubnet2\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch Private Subnet (AZ2)\",\"value\":\"ecs-refarch Private Subnet (AZ2)\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-05b78a71606d218fa","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","accountId":"044981683129"}},"position":{"x":-743,"y":-1282.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"subnet removeAll _gridParentPadding"},{"data":{"id":"NetworkInterface-subnet-05b78a71606d218fa-eu-west-1b-vpc-08ab1368aff4e5657-eu-west-1-044981683129","parent":"subnet-05b78a71606d218fa-eu-west-1b-vpc-08ab1368aff4e5657-eu-west-1-044981683129","level":5,"title":"NetworkInterface","label":"NetworkInterface","plainLabel":"NetworkInterface","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-04938e2eb5bfafe99","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-04938e2eb5bfafe99","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-04938e2eb5bfafe99\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-180-37-89.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.180.37.89\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-05b78a71606d218fa\\\",\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6\\\",\\\"groupId\\\":\\\"sg-0c02229ab89b7cad1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"10.180.37.89\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:76:24:17:11:dd\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"instanceId\\\":\\\"i-038f307ddeb9caaec\\\",\\\"attachmentId\\\":\\\"eni-attach-05db01ffad53b70d2\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"instanceOwnerId\\\":\\\"044981683129\\\",\\\"attachTime\\\":\\\"2020-11-11T16:49:52.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"privateDnsName\\\":\\\"ip-10-180-37-89.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-05b78a71606d218fa","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-04938e2eb5bfafe99","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-04938e2eb5bfafe99","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0407eecd556929d77","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0407eecd556929d77","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0407eecd556929d77\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-180-39-82.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.180.39.82\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-05b78a71606d218fa\\\",\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6\\\",\\\"groupId\\\":\\\"sg-0c02229ab89b7cad1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"10.180.39.82\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:74:73:6a:f1:ed\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"instanceId\\\":\\\"i-0568d352e5293f7ba\\\",\\\"attachmentId\\\":\\\"eni-attach-0b8db282bfae76ed4\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"instanceOwnerId\\\":\\\"044981683129\\\",\\\"attachTime\\\":\\\"2020-11-11T16:49:52.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"privateDnsName\\\":\\\"ip-10-180-39-82.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-05b78a71606d218fa","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0407eecd556929d77","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0407eecd556929d77","instanceType":null,"statement":null,"dBInstanceStatus":null}}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-743,"y":-1347.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-04938e2eb5bfafe99","resourceId":["eni-04938e2eb5bfafe99","arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-04938e2eb5bfafe99"],"parent":"NetworkInterface-subnet-05b78a71606d218fa-eu-west-1b-vpc-08ab1368aff4e5657-eu-west-1-044981683129","level":6,"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-04938e2eb5bfafe99","title":"eni-04938e2eb5bfafe99","label":"eni-04938e2e...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-04938e2eb5bfafe99","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-04938e2eb5bfafe99","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-04938e2eb5bfafe99","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-04938e2eb5bfafe99","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-04938e2eb5bfafe99\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-180-37-89.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.180.37.89\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-05b78a71606d218fa\\\",\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6\\\",\\\"groupId\\\":\\\"sg-0c02229ab89b7cad1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"10.180.37.89\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:76:24:17:11:dd\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"instanceId\\\":\\\"i-038f307ddeb9caaec\\\",\\\"attachmentId\\\":\\\"eni-attach-05db01ffad53b70d2\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"instanceOwnerId\\\":\\\"044981683129\\\",\\\"attachTime\\\":\\\"2020-11-11T16:49:52.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"privateDnsName\\\":\\\"ip-10-180-37-89.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-05b78a71606d218fa","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-04938e2eb5bfafe99","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-04938e2eb5bfafe99","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-779.5,"y":-1347.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0407eecd556929d77","resourceId":["eni-0407eecd556929d77","arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0407eecd556929d77"],"parent":"NetworkInterface-subnet-05b78a71606d218fa-eu-west-1b-vpc-08ab1368aff4e5657-eu-west-1-044981683129","level":6,"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0407eecd556929d77","title":"eni-0407eecd556929d77","label":"eni-0407eecd...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0407eecd556929d77","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-0407eecd556929d77","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0407eecd556929d77","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0407eecd556929d77","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0407eecd556929d77\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-180-39-82.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.180.39.82\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-05b78a71606d218fa\\\",\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6\\\",\\\"groupId\\\":\\\"sg-0c02229ab89b7cad1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"10.180.39.82\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:74:73:6a:f1:ed\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"instanceId\\\":\\\"i-0568d352e5293f7ba\\\",\\\"attachmentId\\\":\\\"eni-attach-0b8db282bfae76ed4\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"instanceOwnerId\\\":\\\"044981683129\\\",\\\"attachTime\\\":\\\"2020-11-11T16:49:52.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"privateDnsName\\\":\\\"ip-10-180-39-82.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-05b78a71606d218fa","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0407eecd556929d77","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0407eecd556929d77","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-706.5,"y":-1347.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"Instance-subnet-05b78a71606d218fa-eu-west-1b-vpc-08ab1368aff4e5657-eu-west-1-044981683129","parent":"subnet-05b78a71606d218fa-eu-west-1b-vpc-08ab1368aff4e5657-eu-west-1-044981683129","level":5,"title":"Instance","label":"Instance","plainLabel":"Instance","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-EC2_Instance_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:instance/i-038f307ddeb9caaec","label":"AWS_EC2_Instance","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:instance/i-038f307ddeb9caaec","configuration":"\"{\\\"subnetId\\\":\\\"subnet-05b78a71606d218fa\\\",\\\"virtualizationType\\\":\\\"hvm\\\",\\\"capacityReservationSpecification\\\":{\\\"capacityReservationPreference\\\":\\\"open\\\"},\\\"amiLaunchIndex\\\":0,\\\"enaSupport\\\":true,\\\"elasticInferenceAcceleratorAssociations\\\":[],\\\"sourceDestCheck\\\":true,\\\"hibernationOptions\\\":{\\\"configured\\\":false},\\\"instanceId\\\":\\\"i-038f307ddeb9caaec\\\",\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"hypervisor\\\":\\\"xen\\\",\\\"rootDeviceName\\\":\\\"/dev/xvda\\\",\\\"productCodes\\\":[],\\\"state\\\":{\\\"code\\\":\\\"16\\\",\\\"name\\\":\\\"running\\\"},\\\"architecture\\\":\\\"x86_64\\\",\\\"ebsOptimized\\\":false,\\\"imageId\\\":\\\"ami-0d3c55e1582bd84fd\\\",\\\"blockDeviceMappings\\\":[{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-045aff0accd0447e8\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2020-11-11T16:49:53.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvda\\\"},{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-0c52a596424c16120\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2020-11-11T16:49:53.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvdcz\\\"}],\\\"stateTransitionReason\\\":\\\"\\\",\\\"clientToken\\\":\\\"d315d6e0-da9e-3845-842c-91665076bd54\\\",\\\"instanceType\\\":\\\"t2.large\\\",\\\"cpuOptions\\\":{\\\"threadsPerCore\\\":1,\\\"coreCount\\\":2},\\\"monitoring\\\":{\\\"state\\\":\\\"enabled\\\"},\\\"publicDnsName\\\":\\\"\\\",\\\"iamInstanceProfile\\\":{\\\"id\\\":\\\"AIPAQU6I6AO4SHWPDYPQ5\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:instance-profile/ecs-refarch-ECS-1AFGNR7O7APCU-ECSInstanceProfile-10AECDOPB7UQW\\\"},\\\"privateIpAddress\\\":\\\"10.180.37.89\\\",\\\"rootDeviceType\\\":\\\"ebs\\\",\\\"tags\\\":[{\\\"value\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"ecs-refarch ECS host\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\\\",\\\"key\\\":\\\"aws:autoscaling:groupName\\\"},{\\\"value\\\":\\\"ECSAutoScalingGroup\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"}],\\\"enclaveOptions\\\":{\\\"enabled\\\":false},\\\"launchTime\\\":\\\"2020-11-11T16:49:52.000Z\\\",\\\"elasticGpuAssociations\\\":[],\\\"licenses\\\":[],\\\"networkInterfaces\\\":[{\\\"networkInterfaceId\\\":\\\"eni-04938e2eb5bfafe99\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-180-37-89.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.180.37.89\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-05b78a71606d218fa\\\",\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6\\\",\\\"groupId\\\":\\\"sg-0c02229ab89b7cad1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"privateIpAddress\\\":\\\"10.180.37.89\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"macAddress\\\":\\\"0a:76:24:17:11:dd\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-05db01ffad53b70d2\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"attachTime\\\":\\\"2020-11-11T16:49:52.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"privateDnsName\\\":\\\"ip-10-180-37-89.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}],\\\"metadataOptions\\\":{\\\"httpPutResponseHopLimit\\\":1,\\\"httpEndpoint\\\":\\\"enabled\\\",\\\"state\\\":\\\"applied\\\",\\\"httpTokens\\\":\\\"optional\\\"},\\\"privateDnsName\\\":\\\"ip-10-180-37-89.eu-west-1.compute.internal\\\",\\\"securityGroups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6\\\",\\\"groupId\\\":\\\"sg-0c02229ab89b7cad1\\\"}],\\\"placement\\\":{\\\"groupName\\\":\\\"\\\",\\\"tenancy\\\":\\\"default\\\",\\\"availabilityZone\\\":\\\"eu-west-1b\\\"}}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-05b78a71606d218fa","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#Instances:sort=instanceId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#Instances:sort=instanceId","private":null,"resourceId":"i-038f307ddeb9caaec","resourceName":null,"resourceType":"AWS::EC2::Instance","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-ECS-1AFGNR7O7APCU\",\"value\":\"ecs-refarch-ECS-1AFGNR7O7APCU\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:autoscaling:groupName=ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\",\"value\":\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\",\"key\":\"aws:autoscaling:groupName\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=ECSAutoScalingGroup\",\"value\":\"ECSAutoScalingGroup\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch ECS host\",\"value\":\"ecs-refarch ECS host\",\"key\":\"Name\"}]","title":"ecs-refarch ECS host","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:instance/i-0568d352e5293f7ba","label":"AWS_EC2_Instance","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:instance/i-0568d352e5293f7ba","configuration":"\"{\\\"subnetId\\\":\\\"subnet-05b78a71606d218fa\\\",\\\"virtualizationType\\\":\\\"hvm\\\",\\\"capacityReservationSpecification\\\":{\\\"capacityReservationPreference\\\":\\\"open\\\"},\\\"amiLaunchIndex\\\":1,\\\"enaSupport\\\":true,\\\"elasticInferenceAcceleratorAssociations\\\":[],\\\"sourceDestCheck\\\":true,\\\"hibernationOptions\\\":{\\\"configured\\\":false},\\\"instanceId\\\":\\\"i-0568d352e5293f7ba\\\",\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"hypervisor\\\":\\\"xen\\\",\\\"rootDeviceName\\\":\\\"/dev/xvda\\\",\\\"productCodes\\\":[],\\\"state\\\":{\\\"code\\\":\\\"16\\\",\\\"name\\\":\\\"running\\\"},\\\"architecture\\\":\\\"x86_64\\\",\\\"ebsOptimized\\\":false,\\\"imageId\\\":\\\"ami-0d3c55e1582bd84fd\\\",\\\"blockDeviceMappings\\\":[{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-07dbcc0ff67f0c1bc\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2020-11-11T16:49:53.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvda\\\"},{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-0c1ead3869a3d378f\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2020-11-11T16:49:53.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvdcz\\\"}],\\\"stateTransitionReason\\\":\\\"\\\",\\\"clientToken\\\":\\\"d315d6e0-da9e-3845-842c-91665076bd54\\\",\\\"instanceType\\\":\\\"t2.large\\\",\\\"cpuOptions\\\":{\\\"threadsPerCore\\\":1,\\\"coreCount\\\":2},\\\"monitoring\\\":{\\\"state\\\":\\\"enabled\\\"},\\\"publicDnsName\\\":\\\"\\\",\\\"iamInstanceProfile\\\":{\\\"id\\\":\\\"AIPAQU6I6AO4SHWPDYPQ5\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:instance-profile/ecs-refarch-ECS-1AFGNR7O7APCU-ECSInstanceProfile-10AECDOPB7UQW\\\"},\\\"privateIpAddress\\\":\\\"10.180.39.82\\\",\\\"rootDeviceType\\\":\\\"ebs\\\",\\\"tags\\\":[{\\\"value\\\":\\\"ECSAutoScalingGroup\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\\\",\\\"key\\\":\\\"aws:autoscaling:groupName\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"ecs-refarch ECS host\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"}],\\\"enclaveOptions\\\":{\\\"enabled\\\":false},\\\"launchTime\\\":\\\"2020-11-11T16:49:52.000Z\\\",\\\"elasticGpuAssociations\\\":[],\\\"licenses\\\":[],\\\"networkInterfaces\\\":[{\\\"networkInterfaceId\\\":\\\"eni-0407eecd556929d77\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-180-39-82.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.180.39.82\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-05b78a71606d218fa\\\",\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6\\\",\\\"groupId\\\":\\\"sg-0c02229ab89b7cad1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"privateIpAddress\\\":\\\"10.180.39.82\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"macAddress\\\":\\\"0a:74:73:6a:f1:ed\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0b8db282bfae76ed4\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"attachTime\\\":\\\"2020-11-11T16:49:52.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"privateDnsName\\\":\\\"ip-10-180-39-82.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}],\\\"metadataOptions\\\":{\\\"httpPutResponseHopLimit\\\":1,\\\"httpEndpoint\\\":\\\"enabled\\\",\\\"state\\\":\\\"applied\\\",\\\"httpTokens\\\":\\\"optional\\\"},\\\"privateDnsName\\\":\\\"ip-10-180-39-82.eu-west-1.compute.internal\\\",\\\"securityGroups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6\\\",\\\"groupId\\\":\\\"sg-0c02229ab89b7cad1\\\"}],\\\"placement\\\":{\\\"groupName\\\":\\\"\\\",\\\"tenancy\\\":\\\"default\\\",\\\"availabilityZone\\\":\\\"eu-west-1b\\\"}}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-05b78a71606d218fa","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#Instances:sort=instanceId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#Instances:sort=instanceId","private":null,"resourceId":"i-0568d352e5293f7ba","resourceName":null,"resourceType":"AWS::EC2::Instance","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:autoscaling:groupName=ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\",\"value\":\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\",\"key\":\"aws:autoscaling:groupName\"},{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-ECS-1AFGNR7O7APCU\",\"value\":\"ecs-refarch-ECS-1AFGNR7O7APCU\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=ECSAutoScalingGroup\",\"value\":\"ECSAutoScalingGroup\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch ECS host\",\"value\":\"ecs-refarch ECS host\",\"key\":\"Name\"}]","title":"ecs-refarch ECS host","instanceType":null,"statement":null,"dBInstanceStatus":null}}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-743,"y":-1217.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:instance/i-038f307ddeb9caaec","resourceId":["i-038f307ddeb9caaec","arn:aws:ec2:eu-west-1:044981683129:instance/i-038f307ddeb9caaec"],"parent":"Instance-subnet-05b78a71606d218fa-eu-west-1b-vpc-08ab1368aff4e5657-eu-west-1-044981683129","level":6,"id":"arn:aws:ec2:eu-west-1:044981683129:instance/i-038f307ddeb9caaec","title":"ecs-refarch ECS host","label":"ecs-refarch ...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#FF9900","borderStyle":"dotted","borderColour":"#FF9900","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:instance/i-038f307ddeb9caaec","state":{"status":"status-warning","text":"no state data","color":"#FF9900"},"image":"/icons/Amazon-EC2_T2-Instance_light-bg-warning.svg","cost":0,"private":false,"detailsComponent":{"key":null,"ref":null,"props":{"title":"Instance Details","configuration":"\"{\\\"subnetId\\\":\\\"subnet-05b78a71606d218fa\\\",\\\"virtualizationType\\\":\\\"hvm\\\",\\\"capacityReservationSpecification\\\":{\\\"capacityReservationPreference\\\":\\\"open\\\"},\\\"amiLaunchIndex\\\":0,\\\"enaSupport\\\":true,\\\"elasticInferenceAcceleratorAssociations\\\":[],\\\"sourceDestCheck\\\":true,\\\"hibernationOptions\\\":{\\\"configured\\\":false},\\\"instanceId\\\":\\\"i-038f307ddeb9caaec\\\",\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"hypervisor\\\":\\\"xen\\\",\\\"rootDeviceName\\\":\\\"/dev/xvda\\\",\\\"productCodes\\\":[],\\\"state\\\":{\\\"code\\\":\\\"16\\\",\\\"name\\\":\\\"running\\\"},\\\"architecture\\\":\\\"x86_64\\\",\\\"ebsOptimized\\\":false,\\\"imageId\\\":\\\"ami-0d3c55e1582bd84fd\\\",\\\"blockDeviceMappings\\\":[{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-045aff0accd0447e8\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2020-11-11T16:49:53.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvda\\\"},{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-0c52a596424c16120\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2020-11-11T16:49:53.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvdcz\\\"}],\\\"stateTransitionReason\\\":\\\"\\\",\\\"clientToken\\\":\\\"d315d6e0-da9e-3845-842c-91665076bd54\\\",\\\"instanceType\\\":\\\"t2.large\\\",\\\"cpuOptions\\\":{\\\"threadsPerCore\\\":1,\\\"coreCount\\\":2},\\\"monitoring\\\":{\\\"state\\\":\\\"enabled\\\"},\\\"publicDnsName\\\":\\\"\\\",\\\"iamInstanceProfile\\\":{\\\"id\\\":\\\"AIPAQU6I6AO4SHWPDYPQ5\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:instance-profile/ecs-refarch-ECS-1AFGNR7O7APCU-ECSInstanceProfile-10AECDOPB7UQW\\\"},\\\"privateIpAddress\\\":\\\"10.180.37.89\\\",\\\"rootDeviceType\\\":\\\"ebs\\\",\\\"tags\\\":[{\\\"value\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"ecs-refarch ECS host\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\\\",\\\"key\\\":\\\"aws:autoscaling:groupName\\\"},{\\\"value\\\":\\\"ECSAutoScalingGroup\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"}],\\\"enclaveOptions\\\":{\\\"enabled\\\":false},\\\"launchTime\\\":\\\"2020-11-11T16:49:52.000Z\\\",\\\"elasticGpuAssociations\\\":[],\\\"licenses\\\":[],\\\"networkInterfaces\\\":[{\\\"networkInterfaceId\\\":\\\"eni-04938e2eb5bfafe99\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-180-37-89.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.180.37.89\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-05b78a71606d218fa\\\",\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6\\\",\\\"groupId\\\":\\\"sg-0c02229ab89b7cad1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"privateIpAddress\\\":\\\"10.180.37.89\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"macAddress\\\":\\\"0a:76:24:17:11:dd\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-05db01ffad53b70d2\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"attachTime\\\":\\\"2020-11-11T16:49:52.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"privateDnsName\\\":\\\"ip-10-180-37-89.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}],\\\"metadataOptions\\\":{\\\"httpPutResponseHopLimit\\\":1,\\\"httpEndpoint\\\":\\\"enabled\\\",\\\"state\\\":\\\"applied\\\",\\\"httpTokens\\\":\\\"optional\\\"},\\\"privateDnsName\\\":\\\"ip-10-180-37-89.eu-west-1.compute.internal\\\",\\\"securityGroups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6\\\",\\\"groupId\\\":\\\"sg-0c02229ab89b7cad1\\\"}],\\\"placement\\\":{\\\"groupName\\\":\\\"\\\",\\\"tenancy\\\":\\\"default\\\",\\\"availabilityZone\\\":\\\"eu-west-1b\\\"}}\""},"_owner":null,"_store":{}},"resource":{"id":"i-038f307ddeb9caaec","name":null,"value":null,"type":"AWS::EC2::Instance","tags":"[{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-ECS-1AFGNR7O7APCU\",\"value\":\"ecs-refarch-ECS-1AFGNR7O7APCU\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:autoscaling:groupName=ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\",\"value\":\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\",\"key\":\"aws:autoscaling:groupName\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=ECSAutoScalingGroup\",\"value\":\"ECSAutoScalingGroup\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch ECS host\",\"value\":\"ecs-refarch ECS host\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:instance/i-038f307ddeb9caaec","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#Instances:sort=instanceId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#Instances:sort=instanceId","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:instance/i-038f307ddeb9caaec","configuration":"\"{\\\"subnetId\\\":\\\"subnet-05b78a71606d218fa\\\",\\\"virtualizationType\\\":\\\"hvm\\\",\\\"capacityReservationSpecification\\\":{\\\"capacityReservationPreference\\\":\\\"open\\\"},\\\"amiLaunchIndex\\\":0,\\\"enaSupport\\\":true,\\\"elasticInferenceAcceleratorAssociations\\\":[],\\\"sourceDestCheck\\\":true,\\\"hibernationOptions\\\":{\\\"configured\\\":false},\\\"instanceId\\\":\\\"i-038f307ddeb9caaec\\\",\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"hypervisor\\\":\\\"xen\\\",\\\"rootDeviceName\\\":\\\"/dev/xvda\\\",\\\"productCodes\\\":[],\\\"state\\\":{\\\"code\\\":\\\"16\\\",\\\"name\\\":\\\"running\\\"},\\\"architecture\\\":\\\"x86_64\\\",\\\"ebsOptimized\\\":false,\\\"imageId\\\":\\\"ami-0d3c55e1582bd84fd\\\",\\\"blockDeviceMappings\\\":[{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-045aff0accd0447e8\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2020-11-11T16:49:53.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvda\\\"},{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-0c52a596424c16120\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2020-11-11T16:49:53.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvdcz\\\"}],\\\"stateTransitionReason\\\":\\\"\\\",\\\"clientToken\\\":\\\"d315d6e0-da9e-3845-842c-91665076bd54\\\",\\\"instanceType\\\":\\\"t2.large\\\",\\\"cpuOptions\\\":{\\\"threadsPerCore\\\":1,\\\"coreCount\\\":2},\\\"monitoring\\\":{\\\"state\\\":\\\"enabled\\\"},\\\"publicDnsName\\\":\\\"\\\",\\\"iamInstanceProfile\\\":{\\\"id\\\":\\\"AIPAQU6I6AO4SHWPDYPQ5\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:instance-profile/ecs-refarch-ECS-1AFGNR7O7APCU-ECSInstanceProfile-10AECDOPB7UQW\\\"},\\\"privateIpAddress\\\":\\\"10.180.37.89\\\",\\\"rootDeviceType\\\":\\\"ebs\\\",\\\"tags\\\":[{\\\"value\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"ecs-refarch ECS host\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\\\",\\\"key\\\":\\\"aws:autoscaling:groupName\\\"},{\\\"value\\\":\\\"ECSAutoScalingGroup\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"}],\\\"enclaveOptions\\\":{\\\"enabled\\\":false},\\\"launchTime\\\":\\\"2020-11-11T16:49:52.000Z\\\",\\\"elasticGpuAssociations\\\":[],\\\"licenses\\\":[],\\\"networkInterfaces\\\":[{\\\"networkInterfaceId\\\":\\\"eni-04938e2eb5bfafe99\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-180-37-89.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.180.37.89\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-05b78a71606d218fa\\\",\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6\\\",\\\"groupId\\\":\\\"sg-0c02229ab89b7cad1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"privateIpAddress\\\":\\\"10.180.37.89\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"macAddress\\\":\\\"0a:76:24:17:11:dd\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-05db01ffad53b70d2\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"attachTime\\\":\\\"2020-11-11T16:49:52.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"privateDnsName\\\":\\\"ip-10-180-37-89.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}],\\\"metadataOptions\\\":{\\\"httpPutResponseHopLimit\\\":1,\\\"httpEndpoint\\\":\\\"enabled\\\",\\\"state\\\":\\\"applied\\\",\\\"httpTokens\\\":\\\"optional\\\"},\\\"privateDnsName\\\":\\\"ip-10-180-37-89.eu-west-1.compute.internal\\\",\\\"securityGroups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6\\\",\\\"groupId\\\":\\\"sg-0c02229ab89b7cad1\\\"}],\\\"placement\\\":{\\\"groupName\\\":\\\"\\\",\\\"tenancy\\\":\\\"default\\\",\\\"availabilityZone\\\":\\\"eu-west-1b\\\"}}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-05b78a71606d218fa","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#Instances:sort=instanceId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#Instances:sort=instanceId","private":null,"resourceId":"i-038f307ddeb9caaec","resourceName":null,"resourceType":"AWS::EC2::Instance","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-ECS-1AFGNR7O7APCU\",\"value\":\"ecs-refarch-ECS-1AFGNR7O7APCU\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:autoscaling:groupName=ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\",\"value\":\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\",\"key\":\"aws:autoscaling:groupName\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=ECSAutoScalingGroup\",\"value\":\"ECSAutoScalingGroup\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch ECS host\",\"value\":\"ecs-refarch ECS host\",\"key\":\"Name\"}]","title":"ecs-refarch ECS host","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-779.5,"y":-1217.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:instance/i-0568d352e5293f7ba","resourceId":["i-0568d352e5293f7ba","arn:aws:ec2:eu-west-1:044981683129:instance/i-0568d352e5293f7ba"],"parent":"Instance-subnet-05b78a71606d218fa-eu-west-1b-vpc-08ab1368aff4e5657-eu-west-1-044981683129","level":6,"id":"arn:aws:ec2:eu-west-1:044981683129:instance/i-0568d352e5293f7ba","title":"ecs-refarch ECS host","label":"ecs-refarch ...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#FF9900","borderStyle":"dotted","borderColour":"#FF9900","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:instance/i-0568d352e5293f7ba","state":{"status":"status-warning","text":"no state data","color":"#FF9900"},"image":"/icons/Amazon-EC2_T2-Instance_light-bg-warning.svg","cost":0,"private":false,"detailsComponent":{"key":null,"ref":null,"props":{"title":"Instance Details","configuration":"\"{\\\"subnetId\\\":\\\"subnet-05b78a71606d218fa\\\",\\\"virtualizationType\\\":\\\"hvm\\\",\\\"capacityReservationSpecification\\\":{\\\"capacityReservationPreference\\\":\\\"open\\\"},\\\"amiLaunchIndex\\\":1,\\\"enaSupport\\\":true,\\\"elasticInferenceAcceleratorAssociations\\\":[],\\\"sourceDestCheck\\\":true,\\\"hibernationOptions\\\":{\\\"configured\\\":false},\\\"instanceId\\\":\\\"i-0568d352e5293f7ba\\\",\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"hypervisor\\\":\\\"xen\\\",\\\"rootDeviceName\\\":\\\"/dev/xvda\\\",\\\"productCodes\\\":[],\\\"state\\\":{\\\"code\\\":\\\"16\\\",\\\"name\\\":\\\"running\\\"},\\\"architecture\\\":\\\"x86_64\\\",\\\"ebsOptimized\\\":false,\\\"imageId\\\":\\\"ami-0d3c55e1582bd84fd\\\",\\\"blockDeviceMappings\\\":[{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-07dbcc0ff67f0c1bc\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2020-11-11T16:49:53.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvda\\\"},{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-0c1ead3869a3d378f\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2020-11-11T16:49:53.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvdcz\\\"}],\\\"stateTransitionReason\\\":\\\"\\\",\\\"clientToken\\\":\\\"d315d6e0-da9e-3845-842c-91665076bd54\\\",\\\"instanceType\\\":\\\"t2.large\\\",\\\"cpuOptions\\\":{\\\"threadsPerCore\\\":1,\\\"coreCount\\\":2},\\\"monitoring\\\":{\\\"state\\\":\\\"enabled\\\"},\\\"publicDnsName\\\":\\\"\\\",\\\"iamInstanceProfile\\\":{\\\"id\\\":\\\"AIPAQU6I6AO4SHWPDYPQ5\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:instance-profile/ecs-refarch-ECS-1AFGNR7O7APCU-ECSInstanceProfile-10AECDOPB7UQW\\\"},\\\"privateIpAddress\\\":\\\"10.180.39.82\\\",\\\"rootDeviceType\\\":\\\"ebs\\\",\\\"tags\\\":[{\\\"value\\\":\\\"ECSAutoScalingGroup\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\\\",\\\"key\\\":\\\"aws:autoscaling:groupName\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"ecs-refarch ECS host\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"}],\\\"enclaveOptions\\\":{\\\"enabled\\\":false},\\\"launchTime\\\":\\\"2020-11-11T16:49:52.000Z\\\",\\\"elasticGpuAssociations\\\":[],\\\"licenses\\\":[],\\\"networkInterfaces\\\":[{\\\"networkInterfaceId\\\":\\\"eni-0407eecd556929d77\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-180-39-82.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.180.39.82\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-05b78a71606d218fa\\\",\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6\\\",\\\"groupId\\\":\\\"sg-0c02229ab89b7cad1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"privateIpAddress\\\":\\\"10.180.39.82\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"macAddress\\\":\\\"0a:74:73:6a:f1:ed\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0b8db282bfae76ed4\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"attachTime\\\":\\\"2020-11-11T16:49:52.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"privateDnsName\\\":\\\"ip-10-180-39-82.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}],\\\"metadataOptions\\\":{\\\"httpPutResponseHopLimit\\\":1,\\\"httpEndpoint\\\":\\\"enabled\\\",\\\"state\\\":\\\"applied\\\",\\\"httpTokens\\\":\\\"optional\\\"},\\\"privateDnsName\\\":\\\"ip-10-180-39-82.eu-west-1.compute.internal\\\",\\\"securityGroups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6\\\",\\\"groupId\\\":\\\"sg-0c02229ab89b7cad1\\\"}],\\\"placement\\\":{\\\"groupName\\\":\\\"\\\",\\\"tenancy\\\":\\\"default\\\",\\\"availabilityZone\\\":\\\"eu-west-1b\\\"}}\""},"_owner":null,"_store":{}},"resource":{"id":"i-0568d352e5293f7ba","name":null,"value":null,"type":"AWS::EC2::Instance","tags":"[{\"tag\":\"aws:autoscaling:groupName=ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\",\"value\":\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\",\"key\":\"aws:autoscaling:groupName\"},{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-ECS-1AFGNR7O7APCU\",\"value\":\"ecs-refarch-ECS-1AFGNR7O7APCU\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=ECSAutoScalingGroup\",\"value\":\"ECSAutoScalingGroup\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch ECS host\",\"value\":\"ecs-refarch ECS host\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:instance/i-0568d352e5293f7ba","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#Instances:sort=instanceId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#Instances:sort=instanceId","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:instance/i-0568d352e5293f7ba","configuration":"\"{\\\"subnetId\\\":\\\"subnet-05b78a71606d218fa\\\",\\\"virtualizationType\\\":\\\"hvm\\\",\\\"capacityReservationSpecification\\\":{\\\"capacityReservationPreference\\\":\\\"open\\\"},\\\"amiLaunchIndex\\\":1,\\\"enaSupport\\\":true,\\\"elasticInferenceAcceleratorAssociations\\\":[],\\\"sourceDestCheck\\\":true,\\\"hibernationOptions\\\":{\\\"configured\\\":false},\\\"instanceId\\\":\\\"i-0568d352e5293f7ba\\\",\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"hypervisor\\\":\\\"xen\\\",\\\"rootDeviceName\\\":\\\"/dev/xvda\\\",\\\"productCodes\\\":[],\\\"state\\\":{\\\"code\\\":\\\"16\\\",\\\"name\\\":\\\"running\\\"},\\\"architecture\\\":\\\"x86_64\\\",\\\"ebsOptimized\\\":false,\\\"imageId\\\":\\\"ami-0d3c55e1582bd84fd\\\",\\\"blockDeviceMappings\\\":[{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-07dbcc0ff67f0c1bc\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2020-11-11T16:49:53.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvda\\\"},{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-0c1ead3869a3d378f\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2020-11-11T16:49:53.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvdcz\\\"}],\\\"stateTransitionReason\\\":\\\"\\\",\\\"clientToken\\\":\\\"d315d6e0-da9e-3845-842c-91665076bd54\\\",\\\"instanceType\\\":\\\"t2.large\\\",\\\"cpuOptions\\\":{\\\"threadsPerCore\\\":1,\\\"coreCount\\\":2},\\\"monitoring\\\":{\\\"state\\\":\\\"enabled\\\"},\\\"publicDnsName\\\":\\\"\\\",\\\"iamInstanceProfile\\\":{\\\"id\\\":\\\"AIPAQU6I6AO4SHWPDYPQ5\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:instance-profile/ecs-refarch-ECS-1AFGNR7O7APCU-ECSInstanceProfile-10AECDOPB7UQW\\\"},\\\"privateIpAddress\\\":\\\"10.180.39.82\\\",\\\"rootDeviceType\\\":\\\"ebs\\\",\\\"tags\\\":[{\\\"value\\\":\\\"ECSAutoScalingGroup\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\\\",\\\"key\\\":\\\"aws:autoscaling:groupName\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"ecs-refarch ECS host\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"}],\\\"enclaveOptions\\\":{\\\"enabled\\\":false},\\\"launchTime\\\":\\\"2020-11-11T16:49:52.000Z\\\",\\\"elasticGpuAssociations\\\":[],\\\"licenses\\\":[],\\\"networkInterfaces\\\":[{\\\"networkInterfaceId\\\":\\\"eni-0407eecd556929d77\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-180-39-82.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.180.39.82\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-05b78a71606d218fa\\\",\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6\\\",\\\"groupId\\\":\\\"sg-0c02229ab89b7cad1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"privateIpAddress\\\":\\\"10.180.39.82\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"macAddress\\\":\\\"0a:74:73:6a:f1:ed\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0b8db282bfae76ed4\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"attachTime\\\":\\\"2020-11-11T16:49:52.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"privateDnsName\\\":\\\"ip-10-180-39-82.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}],\\\"metadataOptions\\\":{\\\"httpPutResponseHopLimit\\\":1,\\\"httpEndpoint\\\":\\\"enabled\\\",\\\"state\\\":\\\"applied\\\",\\\"httpTokens\\\":\\\"optional\\\"},\\\"privateDnsName\\\":\\\"ip-10-180-39-82.eu-west-1.compute.internal\\\",\\\"securityGroups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6\\\",\\\"groupId\\\":\\\"sg-0c02229ab89b7cad1\\\"}],\\\"placement\\\":{\\\"groupName\\\":\\\"\\\",\\\"tenancy\\\":\\\"default\\\",\\\"availabilityZone\\\":\\\"eu-west-1b\\\"}}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-05b78a71606d218fa","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#Instances:sort=instanceId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#Instances:sort=instanceId","private":null,"resourceId":"i-0568d352e5293f7ba","resourceName":null,"resourceType":"AWS::EC2::Instance","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:autoscaling:groupName=ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\",\"value\":\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\",\"key\":\"aws:autoscaling:groupName\"},{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-ECS-1AFGNR7O7APCU\",\"value\":\"ecs-refarch-ECS-1AFGNR7O7APCU\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=ECSAutoScalingGroup\",\"value\":\"ECSAutoScalingGroup\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch ECS host\",\"value\":\"ecs-refarch ECS host\",\"key\":\"Name\"}]","title":"ecs-refarch ECS host","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-706.5,"y":-1217.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"eu-west-1a-vpc-08ab1368aff4e5657-eu-west-1-044981683129","parent":"vpc-08ab1368aff4e5657-eu-west-1-044981683129","level":3,"title":"eu-west-1a","label":"eu-west-1a","plainLabel":"eu-west-1a","type":"availabilityZone","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/availabilityZone.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-05e96e37260564e8f","label":"subnet-05e96e37260564e8f","parent":null,"type":"subnet","data":{"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-05e96e37260564e8f","configuration":"\"{\\\"subnetId\\\":\\\"subnet-05e96e37260564e8f\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-05e96e37260564e8f\\\",\\\"availabilityZoneId\\\":\\\"euw1-az2\\\",\\\"cidrBlock\\\":\\\"10.180.24.0/21\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"ecs-refarch-VPC-10OMNTHQBEJPY\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"ecs-refarch Private Subnet (AZ1)\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"PrivateSubnet1\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"}],\\\"availableIpAddressCount\\\":2041,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"mapPublicIpOnLaunch\\\":false,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-05e96e37260564e8f","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":"false","resourceId":"subnet-05e96e37260564e8f","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-VPC-10OMNTHQBEJPY\",\"value\":\"ecs-refarch-VPC-10OMNTHQBEJPY\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateSubnet1\",\"value\":\"PrivateSubnet1\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch Private Subnet (AZ1)\",\"value\":\"ecs-refarch Private Subnet (AZ1)\",\"key\":\"Name\"}]","title":"ecs-refarch Private Subnet (AZ1)","instanceType":null,"statement":null,"dBInstanceStatus":null},"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-05e96e37260564e8f","label":"AWS_EC2_Subnet"},"properties":null,"children":[{"id":null,"label":"NetworkInterface","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0c1c4432165335ad6","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0c1c4432165335ad6","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0c1c4432165335ad6\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-180-26-154.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.180.26.154\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-05e96e37260564e8f\\\",\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6\\\",\\\"groupId\\\":\\\"sg-0c02229ab89b7cad1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"10.180.26.154\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:58:01:4c:e7:31\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"instanceId\\\":\\\"i-0c90e93ebfc159e4a\\\",\\\"attachmentId\\\":\\\"eni-attach-03bcf65504708818e\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"instanceOwnerId\\\":\\\"044981683129\\\",\\\"attachTime\\\":\\\"2020-11-11T16:49:52.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"privateDnsName\\\":\\\"ip-10-180-26-154.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-05e96e37260564e8f","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0c1c4432165335ad6","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0c1c4432165335ad6","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0f9bd2b79bd4f437f","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0f9bd2b79bd4f437f","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0f9bd2b79bd4f437f\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-180-28-11.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.180.28.11\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-05e96e37260564e8f\\\",\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6\\\",\\\"groupId\\\":\\\"sg-0c02229ab89b7cad1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"10.180.28.11\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:e0:f7:40:22:01\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"instanceId\\\":\\\"i-052f9f64097ac2769\\\",\\\"attachmentId\\\":\\\"eni-attach-0882c9122a79bf84f\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"instanceOwnerId\\\":\\\"044981683129\\\",\\\"attachTime\\\":\\\"2022-06-21T06:55:41.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"privateDnsName\\\":\\\"ip-10-180-28-11.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-05e96e37260564e8f","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0f9bd2b79bd4f437f","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0f9bd2b79bd4f437f","instanceType":null,"statement":null,"dBInstanceStatus":null}}]},{"id":null,"label":"Instance","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:instance/i-052f9f64097ac2769","label":"AWS_EC2_Instance","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:instance/i-052f9f64097ac2769","configuration":"\"{\\\"subnetId\\\":\\\"subnet-05e96e37260564e8f\\\",\\\"virtualizationType\\\":\\\"hvm\\\",\\\"capacityReservationSpecification\\\":{\\\"capacityReservationPreference\\\":\\\"open\\\"},\\\"amiLaunchIndex\\\":0,\\\"enaSupport\\\":true,\\\"elasticInferenceAcceleratorAssociations\\\":[],\\\"sourceDestCheck\\\":true,\\\"hibernationOptions\\\":{\\\"configured\\\":false},\\\"instanceId\\\":\\\"i-052f9f64097ac2769\\\",\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"hypervisor\\\":\\\"xen\\\",\\\"rootDeviceName\\\":\\\"/dev/xvda\\\",\\\"productCodes\\\":[],\\\"state\\\":{\\\"code\\\":\\\"16\\\",\\\"name\\\":\\\"running\\\"},\\\"architecture\\\":\\\"x86_64\\\",\\\"ebsOptimized\\\":false,\\\"imageId\\\":\\\"ami-0d3c55e1582bd84fd\\\",\\\"blockDeviceMappings\\\":[{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-04e43f90baefcee69\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2022-06-21T06:55:42.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvda\\\"},{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-038dddb4899e7db85\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2022-06-21T06:55:42.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvdcz\\\"}],\\\"stateTransitionReason\\\":\\\"\\\",\\\"clientToken\\\":\\\"d2560614-2e7c-762f-e92b-d81be35df88b\\\",\\\"instanceType\\\":\\\"t2.large\\\",\\\"cpuOptions\\\":{\\\"threadsPerCore\\\":1,\\\"coreCount\\\":2},\\\"monitoring\\\":{\\\"state\\\":\\\"enabled\\\"},\\\"publicDnsName\\\":\\\"\\\",\\\"iamInstanceProfile\\\":{\\\"id\\\":\\\"AIPAQU6I6AO4SHWPDYPQ5\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:instance-profile/ecs-refarch-ECS-1AFGNR7O7APCU-ECSInstanceProfile-10AECDOPB7UQW\\\"},\\\"privateIpAddress\\\":\\\"10.180.28.11\\\",\\\"rootDeviceType\\\":\\\"ebs\\\",\\\"tags\\\":[{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"ECSAutoScalingGroup\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\\\",\\\"key\\\":\\\"aws:autoscaling:groupName\\\"},{\\\"value\\\":\\\"ecs-refarch ECS host\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"}],\\\"enclaveOptions\\\":{\\\"enabled\\\":false},\\\"launchTime\\\":\\\"2022-06-21T06:55:41.000Z\\\",\\\"elasticGpuAssociations\\\":[],\\\"licenses\\\":[],\\\"networkInterfaces\\\":[{\\\"networkInterfaceId\\\":\\\"eni-0f9bd2b79bd4f437f\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-180-28-11.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.180.28.11\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-05e96e37260564e8f\\\",\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6\\\",\\\"groupId\\\":\\\"sg-0c02229ab89b7cad1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"privateIpAddress\\\":\\\"10.180.28.11\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"macAddress\\\":\\\"06:e0:f7:40:22:01\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0882c9122a79bf84f\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"attachTime\\\":\\\"2022-06-21T06:55:41.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"privateDnsName\\\":\\\"ip-10-180-28-11.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}],\\\"metadataOptions\\\":{\\\"httpPutResponseHopLimit\\\":1,\\\"httpEndpoint\\\":\\\"enabled\\\",\\\"state\\\":\\\"applied\\\",\\\"httpTokens\\\":\\\"optional\\\"},\\\"privateDnsName\\\":\\\"ip-10-180-28-11.eu-west-1.compute.internal\\\",\\\"securityGroups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6\\\",\\\"groupId\\\":\\\"sg-0c02229ab89b7cad1\\\"}],\\\"placement\\\":{\\\"groupName\\\":\\\"\\\",\\\"tenancy\\\":\\\"default\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\"}}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-05e96e37260564e8f","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#Instances:sort=instanceId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#Instances:sort=instanceId","private":null,"resourceId":"i-052f9f64097ac2769","resourceName":null,"resourceType":"AWS::EC2::Instance","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:autoscaling:groupName=ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\",\"value\":\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\",\"key\":\"aws:autoscaling:groupName\"},{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-ECS-1AFGNR7O7APCU\",\"value\":\"ecs-refarch-ECS-1AFGNR7O7APCU\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=ECSAutoScalingGroup\",\"value\":\"ECSAutoScalingGroup\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch ECS host\",\"value\":\"ecs-refarch ECS host\",\"key\":\"Name\"}]","title":"ecs-refarch ECS host","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:instance/i-0c90e93ebfc159e4a","label":"AWS_EC2_Instance","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:instance/i-0c90e93ebfc159e4a","configuration":"\"{\\\"subnetId\\\":\\\"subnet-05e96e37260564e8f\\\",\\\"virtualizationType\\\":\\\"hvm\\\",\\\"capacityReservationSpecification\\\":{\\\"capacityReservationPreference\\\":\\\"open\\\"},\\\"amiLaunchIndex\\\":0,\\\"enaSupport\\\":true,\\\"elasticInferenceAcceleratorAssociations\\\":[],\\\"sourceDestCheck\\\":true,\\\"hibernationOptions\\\":{\\\"configured\\\":false},\\\"instanceId\\\":\\\"i-0c90e93ebfc159e4a\\\",\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"hypervisor\\\":\\\"xen\\\",\\\"rootDeviceName\\\":\\\"/dev/xvda\\\",\\\"productCodes\\\":[],\\\"state\\\":{\\\"code\\\":\\\"16\\\",\\\"name\\\":\\\"running\\\"},\\\"architecture\\\":\\\"x86_64\\\",\\\"ebsOptimized\\\":false,\\\"imageId\\\":\\\"ami-0d3c55e1582bd84fd\\\",\\\"blockDeviceMappings\\\":[{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-0af527c0224f85642\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2020-11-11T16:49:53.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvda\\\"},{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-0677639d598ef8143\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2020-11-11T16:49:53.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvdcz\\\"}],\\\"stateTransitionReason\\\":\\\"\\\",\\\"clientToken\\\":\\\"27a5d6e0-da9d-3eab-7100-74f60e48fbf6\\\",\\\"instanceType\\\":\\\"t2.large\\\",\\\"cpuOptions\\\":{\\\"threadsPerCore\\\":1,\\\"coreCount\\\":2},\\\"monitoring\\\":{\\\"state\\\":\\\"enabled\\\"},\\\"publicDnsName\\\":\\\"\\\",\\\"iamInstanceProfile\\\":{\\\"id\\\":\\\"AIPAQU6I6AO4SHWPDYPQ5\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:instance-profile/ecs-refarch-ECS-1AFGNR7O7APCU-ECSInstanceProfile-10AECDOPB7UQW\\\"},\\\"privateIpAddress\\\":\\\"10.180.26.154\\\",\\\"rootDeviceType\\\":\\\"ebs\\\",\\\"tags\\\":[{\\\"value\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\\\",\\\"key\\\":\\\"aws:autoscaling:groupName\\\"},{\\\"value\\\":\\\"ecs-refarch ECS host\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"ECSAutoScalingGroup\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"}],\\\"enclaveOptions\\\":{\\\"enabled\\\":false},\\\"launchTime\\\":\\\"2020-11-11T16:49:52.000Z\\\",\\\"elasticGpuAssociations\\\":[],\\\"licenses\\\":[],\\\"networkInterfaces\\\":[{\\\"networkInterfaceId\\\":\\\"eni-0c1c4432165335ad6\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-180-26-154.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.180.26.154\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-05e96e37260564e8f\\\",\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6\\\",\\\"groupId\\\":\\\"sg-0c02229ab89b7cad1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"privateIpAddress\\\":\\\"10.180.26.154\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"macAddress\\\":\\\"06:58:01:4c:e7:31\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-03bcf65504708818e\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"attachTime\\\":\\\"2020-11-11T16:49:52.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"privateDnsName\\\":\\\"ip-10-180-26-154.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}],\\\"metadataOptions\\\":{\\\"httpPutResponseHopLimit\\\":1,\\\"httpEndpoint\\\":\\\"enabled\\\",\\\"state\\\":\\\"applied\\\",\\\"httpTokens\\\":\\\"optional\\\"},\\\"privateDnsName\\\":\\\"ip-10-180-26-154.eu-west-1.compute.internal\\\",\\\"securityGroups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6\\\",\\\"groupId\\\":\\\"sg-0c02229ab89b7cad1\\\"}],\\\"placement\\\":{\\\"groupName\\\":\\\"\\\",\\\"tenancy\\\":\\\"default\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\"}}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-05e96e37260564e8f","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#Instances:sort=instanceId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#Instances:sort=instanceId","private":null,"resourceId":"i-0c90e93ebfc159e4a","resourceName":null,"resourceType":"AWS::EC2::Instance","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:autoscaling:groupName=ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\",\"value\":\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\",\"key\":\"aws:autoscaling:groupName\"},{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-ECS-1AFGNR7O7APCU\",\"value\":\"ecs-refarch-ECS-1AFGNR7O7APCU\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=ECSAutoScalingGroup\",\"value\":\"ECSAutoScalingGroup\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch ECS host\",\"value\":\"ecs-refarch ECS host\",\"key\":\"Name\"}]","title":"ecs-refarch ECS host","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}]},{"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0d37c18e65ab499bd","label":"subnet-0d37c18e65ab499bd","parent":null,"type":"subnet","data":{"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0d37c18e65ab499bd","configuration":"\"{\\\"subnetId\\\":\\\"subnet-0d37c18e65ab499bd\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0d37c18e65ab499bd\\\",\\\"availabilityZoneId\\\":\\\"euw1-az2\\\",\\\"cidrBlock\\\":\\\"10.180.8.0/21\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"ecs-refarch Public Subnet (AZ1)\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"PublicSubnet1\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"ecs-refarch-VPC-10OMNTHQBEJPY\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"}],\\\"availableIpAddressCount\\\":2041,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"mapPublicIpOnLaunch\\\":true,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-0d37c18e65ab499bd","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":"true","resourceId":"subnet-0d37c18e65ab499bd","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-VPC-10OMNTHQBEJPY\",\"value\":\"ecs-refarch-VPC-10OMNTHQBEJPY\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PublicSubnet1\",\"value\":\"PublicSubnet1\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch Public Subnet (AZ1)\",\"value\":\"ecs-refarch Public Subnet (AZ1)\",\"key\":\"Name\"}]","title":"ecs-refarch Public Subnet (AZ1)","instanceType":null,"statement":null,"dBInstanceStatus":null},"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0d37c18e65ab499bd","label":"AWS_EC2_Subnet"},"properties":null,"children":[{"id":null,"label":"NetworkInterface","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-06293fbac397e7013","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-06293fbac397e7013","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-06293fbac397e7013\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"044981683129\\\",\\\"allocationId\\\":\\\"eipalloc-09729f659f29e77ce\\\",\\\"publicIp\\\":\\\"54.78.105.178\\\",\\\"publicDnsName\\\":\\\"ec2-54-78-105-178.eu-west-1.compute.amazonaws.com\\\",\\\"associationId\\\":\\\"eipassoc-0dca22cfc4b9ef19b\\\"},\\\"privateDnsName\\\":\\\"ip-10-180-14-89.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.180.14.89\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0d37c18e65ab499bd\\\",\\\"requesterId\\\":\\\"659071214717\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"044981683129\\\",\\\"allocationId\\\":\\\"eipalloc-09729f659f29e77ce\\\",\\\"publicIp\\\":\\\"54.78.105.178\\\",\\\"publicDnsName\\\":\\\"ec2-54-78-105-178.eu-west-1.compute.amazonaws.com\\\",\\\"associationId\\\":\\\"eipassoc-0dca22cfc4b9ef19b\\\"},\\\"description\\\":\\\"Interface for NAT Gateway nat-003288d2892af9777\\\",\\\"groups\\\":[],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":false,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.180.14.89\\\",\\\"interfaceType\\\":\\\"nat_gateway\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:3d:55:f6:d2:5b\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-4553197c\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"privateDnsName\\\":\\\"ip-10-180-14-89.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-0d37c18e65ab499bd","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-06293fbac397e7013","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-06293fbac397e7013","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0d1f9081934f9a63c","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0d1f9081934f9a63c","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0d1f9081934f9a63c\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon-elb\\\",\\\"publicIp\\\":\\\"34.249.182.151\\\",\\\"publicDnsName\\\":\\\"ec2-34-249-182-151.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-10-180-11-114.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.180.11.114\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0d37c18e65ab499bd\\\",\\\"requesterId\\\":\\\"amazon-elb\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon-elb\\\",\\\"publicIp\\\":\\\"34.249.182.151\\\",\\\"publicDnsName\\\":\\\"ec2-34-249-182-151.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"ELB app/ecs-refarch/59fc9a20002d9393\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-LoadBalancerSecurityGroup-ZSINZ6V8BUSQ\\\",\\\"groupId\\\":\\\"sg-08891adf615ba4aa1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.180.11.114\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:6f:4e:f6:03:9b\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-07dba044bfa7a2d8e\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-elb\\\",\\\"attachTime\\\":\\\"2023-04-17T15:38:37.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"privateDnsName\\\":\\\"ip-10-180-11-114.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-0d37c18e65ab499bd","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0d1f9081934f9a63c","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0d1f9081934f9a63c","instanceType":null,"statement":null,"dBInstanceStatus":null}}]},{"id":null,"label":"NatGateway","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-003288d2892af9777","label":"AWS_EC2_NatGateway","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-003288d2892af9777","configuration":"\"{\\\"subnetId\\\":\\\"subnet-0d37c18e65ab499bd\\\",\\\"connectivityType\\\":\\\"public\\\",\\\"createTime\\\":1605113057000,\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"natGatewayId\\\":\\\"nat-003288d2892af9777\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"natGatewayAddresses\\\":[{\\\"networkInterfaceId\\\":\\\"eni-06293fbac397e7013\\\",\\\"isPrimary\\\":true,\\\"privateIp\\\":\\\"10.180.14.89\\\",\\\"allocationId\\\":\\\"eipalloc-09729f659f29e77ce\\\",\\\"publicIp\\\":\\\"54.78.105.178\\\",\\\"associationId\\\":\\\"eipassoc-0dca22cfc4b9ef19b\\\",\\\"status\\\":\\\"succeeded\\\",\\\"primary\\\":true}],\\\"tags\\\":[{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"ecs-refarch-VPC-10OMNTHQBEJPY\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"NatGateway1\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-0d37c18e65ab499bd","loggedInURL":null,"loginURL":null,"private":null,"resourceId":"nat-003288d2892af9777","resourceName":null,"resourceType":"AWS::EC2::NatGateway","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-VPC-10OMNTHQBEJPY\",\"value\":\"ecs-refarch-VPC-10OMNTHQBEJPY\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=NatGateway1\",\"value\":\"NatGateway1\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"nat-003288d2892af9777","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-364,"y":-1282.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"availabilityZone removeAll _gridParentPadding"},{"data":{"id":"subnet-05e96e37260564e8f-eu-west-1a-vpc-08ab1368aff4e5657-eu-west-1-044981683129","parent":"eu-west-1a-vpc-08ab1368aff4e5657-eu-west-1-044981683129","level":4,"title":"subnet-05e96e37260564e8f","label":"subnet-05e96e37260564e8f","plainLabel":"subnet-05e96e37260564e8f","type":"subnet","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/VPC-subnet-private_light-bg-collapsed.svg","clickedId":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-05e96e37260564e8f","cost":0,"hasChildren":true,"children":[{"id":null,"label":"NetworkInterface","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0c1c4432165335ad6","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0c1c4432165335ad6","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0c1c4432165335ad6\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-180-26-154.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.180.26.154\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-05e96e37260564e8f\\\",\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6\\\",\\\"groupId\\\":\\\"sg-0c02229ab89b7cad1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"10.180.26.154\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:58:01:4c:e7:31\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"instanceId\\\":\\\"i-0c90e93ebfc159e4a\\\",\\\"attachmentId\\\":\\\"eni-attach-03bcf65504708818e\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"instanceOwnerId\\\":\\\"044981683129\\\",\\\"attachTime\\\":\\\"2020-11-11T16:49:52.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"privateDnsName\\\":\\\"ip-10-180-26-154.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-05e96e37260564e8f","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0c1c4432165335ad6","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0c1c4432165335ad6","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0f9bd2b79bd4f437f","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0f9bd2b79bd4f437f","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0f9bd2b79bd4f437f\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-180-28-11.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.180.28.11\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-05e96e37260564e8f\\\",\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6\\\",\\\"groupId\\\":\\\"sg-0c02229ab89b7cad1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"10.180.28.11\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:e0:f7:40:22:01\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"instanceId\\\":\\\"i-052f9f64097ac2769\\\",\\\"attachmentId\\\":\\\"eni-attach-0882c9122a79bf84f\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"instanceOwnerId\\\":\\\"044981683129\\\",\\\"attachTime\\\":\\\"2022-06-21T06:55:41.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"privateDnsName\\\":\\\"ip-10-180-28-11.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-05e96e37260564e8f","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0f9bd2b79bd4f437f","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0f9bd2b79bd4f437f","instanceType":null,"statement":null,"dBInstanceStatus":null}}]},{"id":null,"label":"Instance","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:instance/i-052f9f64097ac2769","label":"AWS_EC2_Instance","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:instance/i-052f9f64097ac2769","configuration":"\"{\\\"subnetId\\\":\\\"subnet-05e96e37260564e8f\\\",\\\"virtualizationType\\\":\\\"hvm\\\",\\\"capacityReservationSpecification\\\":{\\\"capacityReservationPreference\\\":\\\"open\\\"},\\\"amiLaunchIndex\\\":0,\\\"enaSupport\\\":true,\\\"elasticInferenceAcceleratorAssociations\\\":[],\\\"sourceDestCheck\\\":true,\\\"hibernationOptions\\\":{\\\"configured\\\":false},\\\"instanceId\\\":\\\"i-052f9f64097ac2769\\\",\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"hypervisor\\\":\\\"xen\\\",\\\"rootDeviceName\\\":\\\"/dev/xvda\\\",\\\"productCodes\\\":[],\\\"state\\\":{\\\"code\\\":\\\"16\\\",\\\"name\\\":\\\"running\\\"},\\\"architecture\\\":\\\"x86_64\\\",\\\"ebsOptimized\\\":false,\\\"imageId\\\":\\\"ami-0d3c55e1582bd84fd\\\",\\\"blockDeviceMappings\\\":[{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-04e43f90baefcee69\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2022-06-21T06:55:42.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvda\\\"},{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-038dddb4899e7db85\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2022-06-21T06:55:42.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvdcz\\\"}],\\\"stateTransitionReason\\\":\\\"\\\",\\\"clientToken\\\":\\\"d2560614-2e7c-762f-e92b-d81be35df88b\\\",\\\"instanceType\\\":\\\"t2.large\\\",\\\"cpuOptions\\\":{\\\"threadsPerCore\\\":1,\\\"coreCount\\\":2},\\\"monitoring\\\":{\\\"state\\\":\\\"enabled\\\"},\\\"publicDnsName\\\":\\\"\\\",\\\"iamInstanceProfile\\\":{\\\"id\\\":\\\"AIPAQU6I6AO4SHWPDYPQ5\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:instance-profile/ecs-refarch-ECS-1AFGNR7O7APCU-ECSInstanceProfile-10AECDOPB7UQW\\\"},\\\"privateIpAddress\\\":\\\"10.180.28.11\\\",\\\"rootDeviceType\\\":\\\"ebs\\\",\\\"tags\\\":[{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"ECSAutoScalingGroup\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\\\",\\\"key\\\":\\\"aws:autoscaling:groupName\\\"},{\\\"value\\\":\\\"ecs-refarch ECS host\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"}],\\\"enclaveOptions\\\":{\\\"enabled\\\":false},\\\"launchTime\\\":\\\"2022-06-21T06:55:41.000Z\\\",\\\"elasticGpuAssociations\\\":[],\\\"licenses\\\":[],\\\"networkInterfaces\\\":[{\\\"networkInterfaceId\\\":\\\"eni-0f9bd2b79bd4f437f\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-180-28-11.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.180.28.11\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-05e96e37260564e8f\\\",\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6\\\",\\\"groupId\\\":\\\"sg-0c02229ab89b7cad1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"privateIpAddress\\\":\\\"10.180.28.11\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"macAddress\\\":\\\"06:e0:f7:40:22:01\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0882c9122a79bf84f\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"attachTime\\\":\\\"2022-06-21T06:55:41.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"privateDnsName\\\":\\\"ip-10-180-28-11.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}],\\\"metadataOptions\\\":{\\\"httpPutResponseHopLimit\\\":1,\\\"httpEndpoint\\\":\\\"enabled\\\",\\\"state\\\":\\\"applied\\\",\\\"httpTokens\\\":\\\"optional\\\"},\\\"privateDnsName\\\":\\\"ip-10-180-28-11.eu-west-1.compute.internal\\\",\\\"securityGroups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6\\\",\\\"groupId\\\":\\\"sg-0c02229ab89b7cad1\\\"}],\\\"placement\\\":{\\\"groupName\\\":\\\"\\\",\\\"tenancy\\\":\\\"default\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\"}}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-05e96e37260564e8f","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#Instances:sort=instanceId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#Instances:sort=instanceId","private":null,"resourceId":"i-052f9f64097ac2769","resourceName":null,"resourceType":"AWS::EC2::Instance","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:autoscaling:groupName=ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\",\"value\":\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\",\"key\":\"aws:autoscaling:groupName\"},{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-ECS-1AFGNR7O7APCU\",\"value\":\"ecs-refarch-ECS-1AFGNR7O7APCU\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=ECSAutoScalingGroup\",\"value\":\"ECSAutoScalingGroup\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch ECS host\",\"value\":\"ecs-refarch ECS host\",\"key\":\"Name\"}]","title":"ecs-refarch ECS host","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:instance/i-0c90e93ebfc159e4a","label":"AWS_EC2_Instance","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:instance/i-0c90e93ebfc159e4a","configuration":"\"{\\\"subnetId\\\":\\\"subnet-05e96e37260564e8f\\\",\\\"virtualizationType\\\":\\\"hvm\\\",\\\"capacityReservationSpecification\\\":{\\\"capacityReservationPreference\\\":\\\"open\\\"},\\\"amiLaunchIndex\\\":0,\\\"enaSupport\\\":true,\\\"elasticInferenceAcceleratorAssociations\\\":[],\\\"sourceDestCheck\\\":true,\\\"hibernationOptions\\\":{\\\"configured\\\":false},\\\"instanceId\\\":\\\"i-0c90e93ebfc159e4a\\\",\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"hypervisor\\\":\\\"xen\\\",\\\"rootDeviceName\\\":\\\"/dev/xvda\\\",\\\"productCodes\\\":[],\\\"state\\\":{\\\"code\\\":\\\"16\\\",\\\"name\\\":\\\"running\\\"},\\\"architecture\\\":\\\"x86_64\\\",\\\"ebsOptimized\\\":false,\\\"imageId\\\":\\\"ami-0d3c55e1582bd84fd\\\",\\\"blockDeviceMappings\\\":[{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-0af527c0224f85642\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2020-11-11T16:49:53.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvda\\\"},{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-0677639d598ef8143\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2020-11-11T16:49:53.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvdcz\\\"}],\\\"stateTransitionReason\\\":\\\"\\\",\\\"clientToken\\\":\\\"27a5d6e0-da9d-3eab-7100-74f60e48fbf6\\\",\\\"instanceType\\\":\\\"t2.large\\\",\\\"cpuOptions\\\":{\\\"threadsPerCore\\\":1,\\\"coreCount\\\":2},\\\"monitoring\\\":{\\\"state\\\":\\\"enabled\\\"},\\\"publicDnsName\\\":\\\"\\\",\\\"iamInstanceProfile\\\":{\\\"id\\\":\\\"AIPAQU6I6AO4SHWPDYPQ5\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:instance-profile/ecs-refarch-ECS-1AFGNR7O7APCU-ECSInstanceProfile-10AECDOPB7UQW\\\"},\\\"privateIpAddress\\\":\\\"10.180.26.154\\\",\\\"rootDeviceType\\\":\\\"ebs\\\",\\\"tags\\\":[{\\\"value\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\\\",\\\"key\\\":\\\"aws:autoscaling:groupName\\\"},{\\\"value\\\":\\\"ecs-refarch ECS host\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"ECSAutoScalingGroup\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"}],\\\"enclaveOptions\\\":{\\\"enabled\\\":false},\\\"launchTime\\\":\\\"2020-11-11T16:49:52.000Z\\\",\\\"elasticGpuAssociations\\\":[],\\\"licenses\\\":[],\\\"networkInterfaces\\\":[{\\\"networkInterfaceId\\\":\\\"eni-0c1c4432165335ad6\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-180-26-154.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.180.26.154\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-05e96e37260564e8f\\\",\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6\\\",\\\"groupId\\\":\\\"sg-0c02229ab89b7cad1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"privateIpAddress\\\":\\\"10.180.26.154\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"macAddress\\\":\\\"06:58:01:4c:e7:31\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-03bcf65504708818e\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"attachTime\\\":\\\"2020-11-11T16:49:52.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"privateDnsName\\\":\\\"ip-10-180-26-154.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}],\\\"metadataOptions\\\":{\\\"httpPutResponseHopLimit\\\":1,\\\"httpEndpoint\\\":\\\"enabled\\\",\\\"state\\\":\\\"applied\\\",\\\"httpTokens\\\":\\\"optional\\\"},\\\"privateDnsName\\\":\\\"ip-10-180-26-154.eu-west-1.compute.internal\\\",\\\"securityGroups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6\\\",\\\"groupId\\\":\\\"sg-0c02229ab89b7cad1\\\"}],\\\"placement\\\":{\\\"groupName\\\":\\\"\\\",\\\"tenancy\\\":\\\"default\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\"}}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-05e96e37260564e8f","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#Instances:sort=instanceId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#Instances:sort=instanceId","private":null,"resourceId":"i-0c90e93ebfc159e4a","resourceName":null,"resourceType":"AWS::EC2::Instance","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:autoscaling:groupName=ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\",\"value\":\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\",\"key\":\"aws:autoscaling:groupName\"},{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-ECS-1AFGNR7O7APCU\",\"value\":\"ecs-refarch-ECS-1AFGNR7O7APCU\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=ECSAutoScalingGroup\",\"value\":\"ECSAutoScalingGroup\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch ECS host\",\"value\":\"ecs-refarch ECS host\",\"key\":\"Name\"}]","title":"ecs-refarch ECS host","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#147eba","properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-05e96e37260564e8f","configuration":"\"{\\\"subnetId\\\":\\\"subnet-05e96e37260564e8f\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-05e96e37260564e8f\\\",\\\"availabilityZoneId\\\":\\\"euw1-az2\\\",\\\"cidrBlock\\\":\\\"10.180.24.0/21\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"ecs-refarch-VPC-10OMNTHQBEJPY\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"ecs-refarch Private Subnet (AZ1)\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"PrivateSubnet1\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"}],\\\"availableIpAddressCount\\\":2041,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"mapPublicIpOnLaunch\\\":false,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-05e96e37260564e8f","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":"false","resourceId":"subnet-05e96e37260564e8f","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-VPC-10OMNTHQBEJPY\",\"value\":\"ecs-refarch-VPC-10OMNTHQBEJPY\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateSubnet1\",\"value\":\"PrivateSubnet1\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch Private Subnet (AZ1)\",\"value\":\"ecs-refarch Private Subnet (AZ1)\",\"key\":\"Name\"}]","title":"ecs-refarch Private Subnet (AZ1)","instanceType":null,"statement":null,"dBInstanceStatus":null},"resource":{"id":"subnet-05e96e37260564e8f","name":null,"value":null,"type":"AWS::EC2::Subnet","tags":"[{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-VPC-10OMNTHQBEJPY\",\"value\":\"ecs-refarch-VPC-10OMNTHQBEJPY\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateSubnet1\",\"value\":\"PrivateSubnet1\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch Private Subnet (AZ1)\",\"value\":\"ecs-refarch Private Subnet (AZ1)\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-05e96e37260564e8f","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","accountId":"044981683129"}},"position":{"x":-477,"y":-1282.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"subnet removeAll _gridParentPadding"},{"data":{"id":"NetworkInterface-subnet-05e96e37260564e8f-eu-west-1a-vpc-08ab1368aff4e5657-eu-west-1-044981683129","parent":"subnet-05e96e37260564e8f-eu-west-1a-vpc-08ab1368aff4e5657-eu-west-1-044981683129","level":5,"title":"NetworkInterface","label":"NetworkInterface","plainLabel":"NetworkInterface","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0c1c4432165335ad6","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0c1c4432165335ad6","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0c1c4432165335ad6\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-180-26-154.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.180.26.154\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-05e96e37260564e8f\\\",\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6\\\",\\\"groupId\\\":\\\"sg-0c02229ab89b7cad1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"10.180.26.154\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:58:01:4c:e7:31\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"instanceId\\\":\\\"i-0c90e93ebfc159e4a\\\",\\\"attachmentId\\\":\\\"eni-attach-03bcf65504708818e\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"instanceOwnerId\\\":\\\"044981683129\\\",\\\"attachTime\\\":\\\"2020-11-11T16:49:52.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"privateDnsName\\\":\\\"ip-10-180-26-154.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-05e96e37260564e8f","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0c1c4432165335ad6","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0c1c4432165335ad6","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0f9bd2b79bd4f437f","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0f9bd2b79bd4f437f","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0f9bd2b79bd4f437f\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-180-28-11.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.180.28.11\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-05e96e37260564e8f\\\",\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6\\\",\\\"groupId\\\":\\\"sg-0c02229ab89b7cad1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"10.180.28.11\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:e0:f7:40:22:01\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"instanceId\\\":\\\"i-052f9f64097ac2769\\\",\\\"attachmentId\\\":\\\"eni-attach-0882c9122a79bf84f\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"instanceOwnerId\\\":\\\"044981683129\\\",\\\"attachTime\\\":\\\"2022-06-21T06:55:41.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"privateDnsName\\\":\\\"ip-10-180-28-11.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-05e96e37260564e8f","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0f9bd2b79bd4f437f","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0f9bd2b79bd4f437f","instanceType":null,"statement":null,"dBInstanceStatus":null}}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-477,"y":-1347.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0c1c4432165335ad6","resourceId":["eni-0c1c4432165335ad6","arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0c1c4432165335ad6"],"parent":"NetworkInterface-subnet-05e96e37260564e8f-eu-west-1a-vpc-08ab1368aff4e5657-eu-west-1-044981683129","level":6,"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0c1c4432165335ad6","title":"eni-0c1c4432165335ad6","label":"eni-0c1c4432...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0c1c4432165335ad6","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-0c1c4432165335ad6","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0c1c4432165335ad6","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0c1c4432165335ad6","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0c1c4432165335ad6\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-180-26-154.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.180.26.154\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-05e96e37260564e8f\\\",\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6\\\",\\\"groupId\\\":\\\"sg-0c02229ab89b7cad1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"10.180.26.154\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:58:01:4c:e7:31\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"instanceId\\\":\\\"i-0c90e93ebfc159e4a\\\",\\\"attachmentId\\\":\\\"eni-attach-03bcf65504708818e\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"instanceOwnerId\\\":\\\"044981683129\\\",\\\"attachTime\\\":\\\"2020-11-11T16:49:52.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"privateDnsName\\\":\\\"ip-10-180-26-154.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-05e96e37260564e8f","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0c1c4432165335ad6","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0c1c4432165335ad6","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-513.5,"y":-1347.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0f9bd2b79bd4f437f","resourceId":["eni-0f9bd2b79bd4f437f","arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0f9bd2b79bd4f437f"],"parent":"NetworkInterface-subnet-05e96e37260564e8f-eu-west-1a-vpc-08ab1368aff4e5657-eu-west-1-044981683129","level":6,"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0f9bd2b79bd4f437f","title":"eni-0f9bd2b79bd4f437f","label":"eni-0f9bd2b7...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0f9bd2b79bd4f437f","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-0f9bd2b79bd4f437f","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0f9bd2b79bd4f437f","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0f9bd2b79bd4f437f","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0f9bd2b79bd4f437f\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-180-28-11.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.180.28.11\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-05e96e37260564e8f\\\",\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6\\\",\\\"groupId\\\":\\\"sg-0c02229ab89b7cad1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"10.180.28.11\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:e0:f7:40:22:01\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"instanceId\\\":\\\"i-052f9f64097ac2769\\\",\\\"attachmentId\\\":\\\"eni-attach-0882c9122a79bf84f\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"instanceOwnerId\\\":\\\"044981683129\\\",\\\"attachTime\\\":\\\"2022-06-21T06:55:41.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"privateDnsName\\\":\\\"ip-10-180-28-11.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-05e96e37260564e8f","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0f9bd2b79bd4f437f","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0f9bd2b79bd4f437f","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-440.5,"y":-1347.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"Instance-subnet-05e96e37260564e8f-eu-west-1a-vpc-08ab1368aff4e5657-eu-west-1-044981683129","parent":"subnet-05e96e37260564e8f-eu-west-1a-vpc-08ab1368aff4e5657-eu-west-1-044981683129","level":5,"title":"Instance","label":"Instance","plainLabel":"Instance","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-EC2_Instance_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:instance/i-052f9f64097ac2769","label":"AWS_EC2_Instance","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:instance/i-052f9f64097ac2769","configuration":"\"{\\\"subnetId\\\":\\\"subnet-05e96e37260564e8f\\\",\\\"virtualizationType\\\":\\\"hvm\\\",\\\"capacityReservationSpecification\\\":{\\\"capacityReservationPreference\\\":\\\"open\\\"},\\\"amiLaunchIndex\\\":0,\\\"enaSupport\\\":true,\\\"elasticInferenceAcceleratorAssociations\\\":[],\\\"sourceDestCheck\\\":true,\\\"hibernationOptions\\\":{\\\"configured\\\":false},\\\"instanceId\\\":\\\"i-052f9f64097ac2769\\\",\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"hypervisor\\\":\\\"xen\\\",\\\"rootDeviceName\\\":\\\"/dev/xvda\\\",\\\"productCodes\\\":[],\\\"state\\\":{\\\"code\\\":\\\"16\\\",\\\"name\\\":\\\"running\\\"},\\\"architecture\\\":\\\"x86_64\\\",\\\"ebsOptimized\\\":false,\\\"imageId\\\":\\\"ami-0d3c55e1582bd84fd\\\",\\\"blockDeviceMappings\\\":[{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-04e43f90baefcee69\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2022-06-21T06:55:42.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvda\\\"},{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-038dddb4899e7db85\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2022-06-21T06:55:42.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvdcz\\\"}],\\\"stateTransitionReason\\\":\\\"\\\",\\\"clientToken\\\":\\\"d2560614-2e7c-762f-e92b-d81be35df88b\\\",\\\"instanceType\\\":\\\"t2.large\\\",\\\"cpuOptions\\\":{\\\"threadsPerCore\\\":1,\\\"coreCount\\\":2},\\\"monitoring\\\":{\\\"state\\\":\\\"enabled\\\"},\\\"publicDnsName\\\":\\\"\\\",\\\"iamInstanceProfile\\\":{\\\"id\\\":\\\"AIPAQU6I6AO4SHWPDYPQ5\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:instance-profile/ecs-refarch-ECS-1AFGNR7O7APCU-ECSInstanceProfile-10AECDOPB7UQW\\\"},\\\"privateIpAddress\\\":\\\"10.180.28.11\\\",\\\"rootDeviceType\\\":\\\"ebs\\\",\\\"tags\\\":[{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"ECSAutoScalingGroup\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\\\",\\\"key\\\":\\\"aws:autoscaling:groupName\\\"},{\\\"value\\\":\\\"ecs-refarch ECS host\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"}],\\\"enclaveOptions\\\":{\\\"enabled\\\":false},\\\"launchTime\\\":\\\"2022-06-21T06:55:41.000Z\\\",\\\"elasticGpuAssociations\\\":[],\\\"licenses\\\":[],\\\"networkInterfaces\\\":[{\\\"networkInterfaceId\\\":\\\"eni-0f9bd2b79bd4f437f\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-180-28-11.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.180.28.11\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-05e96e37260564e8f\\\",\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6\\\",\\\"groupId\\\":\\\"sg-0c02229ab89b7cad1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"privateIpAddress\\\":\\\"10.180.28.11\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"macAddress\\\":\\\"06:e0:f7:40:22:01\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0882c9122a79bf84f\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"attachTime\\\":\\\"2022-06-21T06:55:41.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"privateDnsName\\\":\\\"ip-10-180-28-11.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}],\\\"metadataOptions\\\":{\\\"httpPutResponseHopLimit\\\":1,\\\"httpEndpoint\\\":\\\"enabled\\\",\\\"state\\\":\\\"applied\\\",\\\"httpTokens\\\":\\\"optional\\\"},\\\"privateDnsName\\\":\\\"ip-10-180-28-11.eu-west-1.compute.internal\\\",\\\"securityGroups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6\\\",\\\"groupId\\\":\\\"sg-0c02229ab89b7cad1\\\"}],\\\"placement\\\":{\\\"groupName\\\":\\\"\\\",\\\"tenancy\\\":\\\"default\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\"}}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-05e96e37260564e8f","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#Instances:sort=instanceId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#Instances:sort=instanceId","private":null,"resourceId":"i-052f9f64097ac2769","resourceName":null,"resourceType":"AWS::EC2::Instance","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:autoscaling:groupName=ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\",\"value\":\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\",\"key\":\"aws:autoscaling:groupName\"},{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-ECS-1AFGNR7O7APCU\",\"value\":\"ecs-refarch-ECS-1AFGNR7O7APCU\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=ECSAutoScalingGroup\",\"value\":\"ECSAutoScalingGroup\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch ECS host\",\"value\":\"ecs-refarch ECS host\",\"key\":\"Name\"}]","title":"ecs-refarch ECS host","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:instance/i-0c90e93ebfc159e4a","label":"AWS_EC2_Instance","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:instance/i-0c90e93ebfc159e4a","configuration":"\"{\\\"subnetId\\\":\\\"subnet-05e96e37260564e8f\\\",\\\"virtualizationType\\\":\\\"hvm\\\",\\\"capacityReservationSpecification\\\":{\\\"capacityReservationPreference\\\":\\\"open\\\"},\\\"amiLaunchIndex\\\":0,\\\"enaSupport\\\":true,\\\"elasticInferenceAcceleratorAssociations\\\":[],\\\"sourceDestCheck\\\":true,\\\"hibernationOptions\\\":{\\\"configured\\\":false},\\\"instanceId\\\":\\\"i-0c90e93ebfc159e4a\\\",\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"hypervisor\\\":\\\"xen\\\",\\\"rootDeviceName\\\":\\\"/dev/xvda\\\",\\\"productCodes\\\":[],\\\"state\\\":{\\\"code\\\":\\\"16\\\",\\\"name\\\":\\\"running\\\"},\\\"architecture\\\":\\\"x86_64\\\",\\\"ebsOptimized\\\":false,\\\"imageId\\\":\\\"ami-0d3c55e1582bd84fd\\\",\\\"blockDeviceMappings\\\":[{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-0af527c0224f85642\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2020-11-11T16:49:53.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvda\\\"},{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-0677639d598ef8143\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2020-11-11T16:49:53.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvdcz\\\"}],\\\"stateTransitionReason\\\":\\\"\\\",\\\"clientToken\\\":\\\"27a5d6e0-da9d-3eab-7100-74f60e48fbf6\\\",\\\"instanceType\\\":\\\"t2.large\\\",\\\"cpuOptions\\\":{\\\"threadsPerCore\\\":1,\\\"coreCount\\\":2},\\\"monitoring\\\":{\\\"state\\\":\\\"enabled\\\"},\\\"publicDnsName\\\":\\\"\\\",\\\"iamInstanceProfile\\\":{\\\"id\\\":\\\"AIPAQU6I6AO4SHWPDYPQ5\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:instance-profile/ecs-refarch-ECS-1AFGNR7O7APCU-ECSInstanceProfile-10AECDOPB7UQW\\\"},\\\"privateIpAddress\\\":\\\"10.180.26.154\\\",\\\"rootDeviceType\\\":\\\"ebs\\\",\\\"tags\\\":[{\\\"value\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\\\",\\\"key\\\":\\\"aws:autoscaling:groupName\\\"},{\\\"value\\\":\\\"ecs-refarch ECS host\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"ECSAutoScalingGroup\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"}],\\\"enclaveOptions\\\":{\\\"enabled\\\":false},\\\"launchTime\\\":\\\"2020-11-11T16:49:52.000Z\\\",\\\"elasticGpuAssociations\\\":[],\\\"licenses\\\":[],\\\"networkInterfaces\\\":[{\\\"networkInterfaceId\\\":\\\"eni-0c1c4432165335ad6\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-180-26-154.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.180.26.154\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-05e96e37260564e8f\\\",\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6\\\",\\\"groupId\\\":\\\"sg-0c02229ab89b7cad1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"privateIpAddress\\\":\\\"10.180.26.154\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"macAddress\\\":\\\"06:58:01:4c:e7:31\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-03bcf65504708818e\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"attachTime\\\":\\\"2020-11-11T16:49:52.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"privateDnsName\\\":\\\"ip-10-180-26-154.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}],\\\"metadataOptions\\\":{\\\"httpPutResponseHopLimit\\\":1,\\\"httpEndpoint\\\":\\\"enabled\\\",\\\"state\\\":\\\"applied\\\",\\\"httpTokens\\\":\\\"optional\\\"},\\\"privateDnsName\\\":\\\"ip-10-180-26-154.eu-west-1.compute.internal\\\",\\\"securityGroups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6\\\",\\\"groupId\\\":\\\"sg-0c02229ab89b7cad1\\\"}],\\\"placement\\\":{\\\"groupName\\\":\\\"\\\",\\\"tenancy\\\":\\\"default\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\"}}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-05e96e37260564e8f","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#Instances:sort=instanceId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#Instances:sort=instanceId","private":null,"resourceId":"i-0c90e93ebfc159e4a","resourceName":null,"resourceType":"AWS::EC2::Instance","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:autoscaling:groupName=ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\",\"value\":\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\",\"key\":\"aws:autoscaling:groupName\"},{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-ECS-1AFGNR7O7APCU\",\"value\":\"ecs-refarch-ECS-1AFGNR7O7APCU\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=ECSAutoScalingGroup\",\"value\":\"ECSAutoScalingGroup\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch ECS host\",\"value\":\"ecs-refarch ECS host\",\"key\":\"Name\"}]","title":"ecs-refarch ECS host","instanceType":null,"statement":null,"dBInstanceStatus":null}}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-477,"y":-1217.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:instance/i-052f9f64097ac2769","resourceId":["i-052f9f64097ac2769","arn:aws:ec2:eu-west-1:044981683129:instance/i-052f9f64097ac2769"],"parent":"Instance-subnet-05e96e37260564e8f-eu-west-1a-vpc-08ab1368aff4e5657-eu-west-1-044981683129","level":6,"id":"arn:aws:ec2:eu-west-1:044981683129:instance/i-052f9f64097ac2769","title":"ecs-refarch ECS host","label":"ecs-refarch ...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#FF9900","borderStyle":"dotted","borderColour":"#FF9900","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:instance/i-052f9f64097ac2769","state":{"status":"status-warning","text":"no state data","color":"#FF9900"},"image":"/icons/Amazon-EC2_T2-Instance_light-bg-warning.svg","cost":0,"private":false,"detailsComponent":{"key":null,"ref":null,"props":{"title":"Instance Details","configuration":"\"{\\\"subnetId\\\":\\\"subnet-05e96e37260564e8f\\\",\\\"virtualizationType\\\":\\\"hvm\\\",\\\"capacityReservationSpecification\\\":{\\\"capacityReservationPreference\\\":\\\"open\\\"},\\\"amiLaunchIndex\\\":0,\\\"enaSupport\\\":true,\\\"elasticInferenceAcceleratorAssociations\\\":[],\\\"sourceDestCheck\\\":true,\\\"hibernationOptions\\\":{\\\"configured\\\":false},\\\"instanceId\\\":\\\"i-052f9f64097ac2769\\\",\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"hypervisor\\\":\\\"xen\\\",\\\"rootDeviceName\\\":\\\"/dev/xvda\\\",\\\"productCodes\\\":[],\\\"state\\\":{\\\"code\\\":\\\"16\\\",\\\"name\\\":\\\"running\\\"},\\\"architecture\\\":\\\"x86_64\\\",\\\"ebsOptimized\\\":false,\\\"imageId\\\":\\\"ami-0d3c55e1582bd84fd\\\",\\\"blockDeviceMappings\\\":[{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-04e43f90baefcee69\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2022-06-21T06:55:42.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvda\\\"},{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-038dddb4899e7db85\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2022-06-21T06:55:42.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvdcz\\\"}],\\\"stateTransitionReason\\\":\\\"\\\",\\\"clientToken\\\":\\\"d2560614-2e7c-762f-e92b-d81be35df88b\\\",\\\"instanceType\\\":\\\"t2.large\\\",\\\"cpuOptions\\\":{\\\"threadsPerCore\\\":1,\\\"coreCount\\\":2},\\\"monitoring\\\":{\\\"state\\\":\\\"enabled\\\"},\\\"publicDnsName\\\":\\\"\\\",\\\"iamInstanceProfile\\\":{\\\"id\\\":\\\"AIPAQU6I6AO4SHWPDYPQ5\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:instance-profile/ecs-refarch-ECS-1AFGNR7O7APCU-ECSInstanceProfile-10AECDOPB7UQW\\\"},\\\"privateIpAddress\\\":\\\"10.180.28.11\\\",\\\"rootDeviceType\\\":\\\"ebs\\\",\\\"tags\\\":[{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"ECSAutoScalingGroup\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\\\",\\\"key\\\":\\\"aws:autoscaling:groupName\\\"},{\\\"value\\\":\\\"ecs-refarch ECS host\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"}],\\\"enclaveOptions\\\":{\\\"enabled\\\":false},\\\"launchTime\\\":\\\"2022-06-21T06:55:41.000Z\\\",\\\"elasticGpuAssociations\\\":[],\\\"licenses\\\":[],\\\"networkInterfaces\\\":[{\\\"networkInterfaceId\\\":\\\"eni-0f9bd2b79bd4f437f\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-180-28-11.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.180.28.11\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-05e96e37260564e8f\\\",\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6\\\",\\\"groupId\\\":\\\"sg-0c02229ab89b7cad1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"privateIpAddress\\\":\\\"10.180.28.11\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"macAddress\\\":\\\"06:e0:f7:40:22:01\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0882c9122a79bf84f\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"attachTime\\\":\\\"2022-06-21T06:55:41.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"privateDnsName\\\":\\\"ip-10-180-28-11.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}],\\\"metadataOptions\\\":{\\\"httpPutResponseHopLimit\\\":1,\\\"httpEndpoint\\\":\\\"enabled\\\",\\\"state\\\":\\\"applied\\\",\\\"httpTokens\\\":\\\"optional\\\"},\\\"privateDnsName\\\":\\\"ip-10-180-28-11.eu-west-1.compute.internal\\\",\\\"securityGroups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6\\\",\\\"groupId\\\":\\\"sg-0c02229ab89b7cad1\\\"}],\\\"placement\\\":{\\\"groupName\\\":\\\"\\\",\\\"tenancy\\\":\\\"default\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\"}}\""},"_owner":null,"_store":{}},"resource":{"id":"i-052f9f64097ac2769","name":null,"value":null,"type":"AWS::EC2::Instance","tags":"[{\"tag\":\"aws:autoscaling:groupName=ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\",\"value\":\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\",\"key\":\"aws:autoscaling:groupName\"},{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-ECS-1AFGNR7O7APCU\",\"value\":\"ecs-refarch-ECS-1AFGNR7O7APCU\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=ECSAutoScalingGroup\",\"value\":\"ECSAutoScalingGroup\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch ECS host\",\"value\":\"ecs-refarch ECS host\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:instance/i-052f9f64097ac2769","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#Instances:sort=instanceId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#Instances:sort=instanceId","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:instance/i-052f9f64097ac2769","configuration":"\"{\\\"subnetId\\\":\\\"subnet-05e96e37260564e8f\\\",\\\"virtualizationType\\\":\\\"hvm\\\",\\\"capacityReservationSpecification\\\":{\\\"capacityReservationPreference\\\":\\\"open\\\"},\\\"amiLaunchIndex\\\":0,\\\"enaSupport\\\":true,\\\"elasticInferenceAcceleratorAssociations\\\":[],\\\"sourceDestCheck\\\":true,\\\"hibernationOptions\\\":{\\\"configured\\\":false},\\\"instanceId\\\":\\\"i-052f9f64097ac2769\\\",\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"hypervisor\\\":\\\"xen\\\",\\\"rootDeviceName\\\":\\\"/dev/xvda\\\",\\\"productCodes\\\":[],\\\"state\\\":{\\\"code\\\":\\\"16\\\",\\\"name\\\":\\\"running\\\"},\\\"architecture\\\":\\\"x86_64\\\",\\\"ebsOptimized\\\":false,\\\"imageId\\\":\\\"ami-0d3c55e1582bd84fd\\\",\\\"blockDeviceMappings\\\":[{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-04e43f90baefcee69\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2022-06-21T06:55:42.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvda\\\"},{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-038dddb4899e7db85\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2022-06-21T06:55:42.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvdcz\\\"}],\\\"stateTransitionReason\\\":\\\"\\\",\\\"clientToken\\\":\\\"d2560614-2e7c-762f-e92b-d81be35df88b\\\",\\\"instanceType\\\":\\\"t2.large\\\",\\\"cpuOptions\\\":{\\\"threadsPerCore\\\":1,\\\"coreCount\\\":2},\\\"monitoring\\\":{\\\"state\\\":\\\"enabled\\\"},\\\"publicDnsName\\\":\\\"\\\",\\\"iamInstanceProfile\\\":{\\\"id\\\":\\\"AIPAQU6I6AO4SHWPDYPQ5\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:instance-profile/ecs-refarch-ECS-1AFGNR7O7APCU-ECSInstanceProfile-10AECDOPB7UQW\\\"},\\\"privateIpAddress\\\":\\\"10.180.28.11\\\",\\\"rootDeviceType\\\":\\\"ebs\\\",\\\"tags\\\":[{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"ECSAutoScalingGroup\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\\\",\\\"key\\\":\\\"aws:autoscaling:groupName\\\"},{\\\"value\\\":\\\"ecs-refarch ECS host\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"}],\\\"enclaveOptions\\\":{\\\"enabled\\\":false},\\\"launchTime\\\":\\\"2022-06-21T06:55:41.000Z\\\",\\\"elasticGpuAssociations\\\":[],\\\"licenses\\\":[],\\\"networkInterfaces\\\":[{\\\"networkInterfaceId\\\":\\\"eni-0f9bd2b79bd4f437f\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-180-28-11.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.180.28.11\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-05e96e37260564e8f\\\",\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6\\\",\\\"groupId\\\":\\\"sg-0c02229ab89b7cad1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"privateIpAddress\\\":\\\"10.180.28.11\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"macAddress\\\":\\\"06:e0:f7:40:22:01\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0882c9122a79bf84f\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"attachTime\\\":\\\"2022-06-21T06:55:41.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"privateDnsName\\\":\\\"ip-10-180-28-11.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}],\\\"metadataOptions\\\":{\\\"httpPutResponseHopLimit\\\":1,\\\"httpEndpoint\\\":\\\"enabled\\\",\\\"state\\\":\\\"applied\\\",\\\"httpTokens\\\":\\\"optional\\\"},\\\"privateDnsName\\\":\\\"ip-10-180-28-11.eu-west-1.compute.internal\\\",\\\"securityGroups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6\\\",\\\"groupId\\\":\\\"sg-0c02229ab89b7cad1\\\"}],\\\"placement\\\":{\\\"groupName\\\":\\\"\\\",\\\"tenancy\\\":\\\"default\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\"}}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-05e96e37260564e8f","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#Instances:sort=instanceId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#Instances:sort=instanceId","private":null,"resourceId":"i-052f9f64097ac2769","resourceName":null,"resourceType":"AWS::EC2::Instance","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:autoscaling:groupName=ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\",\"value\":\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\",\"key\":\"aws:autoscaling:groupName\"},{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-ECS-1AFGNR7O7APCU\",\"value\":\"ecs-refarch-ECS-1AFGNR7O7APCU\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=ECSAutoScalingGroup\",\"value\":\"ECSAutoScalingGroup\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch ECS host\",\"value\":\"ecs-refarch ECS host\",\"key\":\"Name\"}]","title":"ecs-refarch ECS host","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-513.5,"y":-1217.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:instance/i-0c90e93ebfc159e4a","resourceId":["i-0c90e93ebfc159e4a","arn:aws:ec2:eu-west-1:044981683129:instance/i-0c90e93ebfc159e4a"],"parent":"Instance-subnet-05e96e37260564e8f-eu-west-1a-vpc-08ab1368aff4e5657-eu-west-1-044981683129","level":6,"id":"arn:aws:ec2:eu-west-1:044981683129:instance/i-0c90e93ebfc159e4a","title":"ecs-refarch ECS host","label":"ecs-refarch ...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#FF9900","borderStyle":"dotted","borderColour":"#FF9900","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:instance/i-0c90e93ebfc159e4a","state":{"status":"status-warning","text":"no state data","color":"#FF9900"},"image":"/icons/Amazon-EC2_T2-Instance_light-bg-warning.svg","cost":0,"private":false,"detailsComponent":{"key":null,"ref":null,"props":{"title":"Instance Details","configuration":"\"{\\\"subnetId\\\":\\\"subnet-05e96e37260564e8f\\\",\\\"virtualizationType\\\":\\\"hvm\\\",\\\"capacityReservationSpecification\\\":{\\\"capacityReservationPreference\\\":\\\"open\\\"},\\\"amiLaunchIndex\\\":0,\\\"enaSupport\\\":true,\\\"elasticInferenceAcceleratorAssociations\\\":[],\\\"sourceDestCheck\\\":true,\\\"hibernationOptions\\\":{\\\"configured\\\":false},\\\"instanceId\\\":\\\"i-0c90e93ebfc159e4a\\\",\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"hypervisor\\\":\\\"xen\\\",\\\"rootDeviceName\\\":\\\"/dev/xvda\\\",\\\"productCodes\\\":[],\\\"state\\\":{\\\"code\\\":\\\"16\\\",\\\"name\\\":\\\"running\\\"},\\\"architecture\\\":\\\"x86_64\\\",\\\"ebsOptimized\\\":false,\\\"imageId\\\":\\\"ami-0d3c55e1582bd84fd\\\",\\\"blockDeviceMappings\\\":[{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-0af527c0224f85642\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2020-11-11T16:49:53.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvda\\\"},{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-0677639d598ef8143\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2020-11-11T16:49:53.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvdcz\\\"}],\\\"stateTransitionReason\\\":\\\"\\\",\\\"clientToken\\\":\\\"27a5d6e0-da9d-3eab-7100-74f60e48fbf6\\\",\\\"instanceType\\\":\\\"t2.large\\\",\\\"cpuOptions\\\":{\\\"threadsPerCore\\\":1,\\\"coreCount\\\":2},\\\"monitoring\\\":{\\\"state\\\":\\\"enabled\\\"},\\\"publicDnsName\\\":\\\"\\\",\\\"iamInstanceProfile\\\":{\\\"id\\\":\\\"AIPAQU6I6AO4SHWPDYPQ5\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:instance-profile/ecs-refarch-ECS-1AFGNR7O7APCU-ECSInstanceProfile-10AECDOPB7UQW\\\"},\\\"privateIpAddress\\\":\\\"10.180.26.154\\\",\\\"rootDeviceType\\\":\\\"ebs\\\",\\\"tags\\\":[{\\\"value\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\\\",\\\"key\\\":\\\"aws:autoscaling:groupName\\\"},{\\\"value\\\":\\\"ecs-refarch ECS host\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"ECSAutoScalingGroup\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"}],\\\"enclaveOptions\\\":{\\\"enabled\\\":false},\\\"launchTime\\\":\\\"2020-11-11T16:49:52.000Z\\\",\\\"elasticGpuAssociations\\\":[],\\\"licenses\\\":[],\\\"networkInterfaces\\\":[{\\\"networkInterfaceId\\\":\\\"eni-0c1c4432165335ad6\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-180-26-154.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.180.26.154\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-05e96e37260564e8f\\\",\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6\\\",\\\"groupId\\\":\\\"sg-0c02229ab89b7cad1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"privateIpAddress\\\":\\\"10.180.26.154\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"macAddress\\\":\\\"06:58:01:4c:e7:31\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-03bcf65504708818e\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"attachTime\\\":\\\"2020-11-11T16:49:52.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"privateDnsName\\\":\\\"ip-10-180-26-154.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}],\\\"metadataOptions\\\":{\\\"httpPutResponseHopLimit\\\":1,\\\"httpEndpoint\\\":\\\"enabled\\\",\\\"state\\\":\\\"applied\\\",\\\"httpTokens\\\":\\\"optional\\\"},\\\"privateDnsName\\\":\\\"ip-10-180-26-154.eu-west-1.compute.internal\\\",\\\"securityGroups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6\\\",\\\"groupId\\\":\\\"sg-0c02229ab89b7cad1\\\"}],\\\"placement\\\":{\\\"groupName\\\":\\\"\\\",\\\"tenancy\\\":\\\"default\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\"}}\""},"_owner":null,"_store":{}},"resource":{"id":"i-0c90e93ebfc159e4a","name":null,"value":null,"type":"AWS::EC2::Instance","tags":"[{\"tag\":\"aws:autoscaling:groupName=ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\",\"value\":\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\",\"key\":\"aws:autoscaling:groupName\"},{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-ECS-1AFGNR7O7APCU\",\"value\":\"ecs-refarch-ECS-1AFGNR7O7APCU\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=ECSAutoScalingGroup\",\"value\":\"ECSAutoScalingGroup\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch ECS host\",\"value\":\"ecs-refarch ECS host\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:instance/i-0c90e93ebfc159e4a","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#Instances:sort=instanceId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#Instances:sort=instanceId","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:instance/i-0c90e93ebfc159e4a","configuration":"\"{\\\"subnetId\\\":\\\"subnet-05e96e37260564e8f\\\",\\\"virtualizationType\\\":\\\"hvm\\\",\\\"capacityReservationSpecification\\\":{\\\"capacityReservationPreference\\\":\\\"open\\\"},\\\"amiLaunchIndex\\\":0,\\\"enaSupport\\\":true,\\\"elasticInferenceAcceleratorAssociations\\\":[],\\\"sourceDestCheck\\\":true,\\\"hibernationOptions\\\":{\\\"configured\\\":false},\\\"instanceId\\\":\\\"i-0c90e93ebfc159e4a\\\",\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"hypervisor\\\":\\\"xen\\\",\\\"rootDeviceName\\\":\\\"/dev/xvda\\\",\\\"productCodes\\\":[],\\\"state\\\":{\\\"code\\\":\\\"16\\\",\\\"name\\\":\\\"running\\\"},\\\"architecture\\\":\\\"x86_64\\\",\\\"ebsOptimized\\\":false,\\\"imageId\\\":\\\"ami-0d3c55e1582bd84fd\\\",\\\"blockDeviceMappings\\\":[{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-0af527c0224f85642\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2020-11-11T16:49:53.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvda\\\"},{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-0677639d598ef8143\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2020-11-11T16:49:53.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvdcz\\\"}],\\\"stateTransitionReason\\\":\\\"\\\",\\\"clientToken\\\":\\\"27a5d6e0-da9d-3eab-7100-74f60e48fbf6\\\",\\\"instanceType\\\":\\\"t2.large\\\",\\\"cpuOptions\\\":{\\\"threadsPerCore\\\":1,\\\"coreCount\\\":2},\\\"monitoring\\\":{\\\"state\\\":\\\"enabled\\\"},\\\"publicDnsName\\\":\\\"\\\",\\\"iamInstanceProfile\\\":{\\\"id\\\":\\\"AIPAQU6I6AO4SHWPDYPQ5\\\",\\\"arn\\\":\\\"arn:aws:iam::044981683129:instance-profile/ecs-refarch-ECS-1AFGNR7O7APCU-ECSInstanceProfile-10AECDOPB7UQW\\\"},\\\"privateIpAddress\\\":\\\"10.180.26.154\\\",\\\"rootDeviceType\\\":\\\"ebs\\\",\\\"tags\\\":[{\\\"value\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\\\",\\\"key\\\":\\\"aws:autoscaling:groupName\\\"},{\\\"value\\\":\\\"ecs-refarch ECS host\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"ECSAutoScalingGroup\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"}],\\\"enclaveOptions\\\":{\\\"enabled\\\":false},\\\"launchTime\\\":\\\"2020-11-11T16:49:52.000Z\\\",\\\"elasticGpuAssociations\\\":[],\\\"licenses\\\":[],\\\"networkInterfaces\\\":[{\\\"networkInterfaceId\\\":\\\"eni-0c1c4432165335ad6\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-180-26-154.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.180.26.154\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-05e96e37260564e8f\\\",\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6\\\",\\\"groupId\\\":\\\"sg-0c02229ab89b7cad1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"privateIpAddress\\\":\\\"10.180.26.154\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"macAddress\\\":\\\"06:58:01:4c:e7:31\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-03bcf65504708818e\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"attachTime\\\":\\\"2020-11-11T16:49:52.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"privateDnsName\\\":\\\"ip-10-180-26-154.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}],\\\"metadataOptions\\\":{\\\"httpPutResponseHopLimit\\\":1,\\\"httpEndpoint\\\":\\\"enabled\\\",\\\"state\\\":\\\"applied\\\",\\\"httpTokens\\\":\\\"optional\\\"},\\\"privateDnsName\\\":\\\"ip-10-180-26-154.eu-west-1.compute.internal\\\",\\\"securityGroups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-ECSHostSecurityGroup-7Q5BPY9O86T6\\\",\\\"groupId\\\":\\\"sg-0c02229ab89b7cad1\\\"}],\\\"placement\\\":{\\\"groupName\\\":\\\"\\\",\\\"tenancy\\\":\\\"default\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\"}}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-05e96e37260564e8f","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#Instances:sort=instanceId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#Instances:sort=instanceId","private":null,"resourceId":"i-0c90e93ebfc159e4a","resourceName":null,"resourceType":"AWS::EC2::Instance","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:autoscaling:groupName=ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\",\"value\":\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\",\"key\":\"aws:autoscaling:groupName\"},{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-ECS-1AFGNR7O7APCU\",\"value\":\"ecs-refarch-ECS-1AFGNR7O7APCU\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=ECSAutoScalingGroup\",\"value\":\"ECSAutoScalingGroup\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch ECS host\",\"value\":\"ecs-refarch ECS host\",\"key\":\"Name\"}]","title":"ecs-refarch ECS host","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-440.5,"y":-1217.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"subnet-0d37c18e65ab499bd-eu-west-1a-vpc-08ab1368aff4e5657-eu-west-1-044981683129","parent":"eu-west-1a-vpc-08ab1368aff4e5657-eu-west-1-044981683129","level":4,"title":"subnet-0d37c18e65ab499bd","label":"subnet-0d37c18e65ab499bd","plainLabel":"subnet-0d37c18e65ab499bd","type":"subnet","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/VPC-subnet-private_light-bg-collapsed.svg","clickedId":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0d37c18e65ab499bd","cost":0,"hasChildren":true,"children":[{"id":null,"label":"NetworkInterface","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-06293fbac397e7013","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-06293fbac397e7013","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-06293fbac397e7013\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"044981683129\\\",\\\"allocationId\\\":\\\"eipalloc-09729f659f29e77ce\\\",\\\"publicIp\\\":\\\"54.78.105.178\\\",\\\"publicDnsName\\\":\\\"ec2-54-78-105-178.eu-west-1.compute.amazonaws.com\\\",\\\"associationId\\\":\\\"eipassoc-0dca22cfc4b9ef19b\\\"},\\\"privateDnsName\\\":\\\"ip-10-180-14-89.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.180.14.89\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0d37c18e65ab499bd\\\",\\\"requesterId\\\":\\\"659071214717\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"044981683129\\\",\\\"allocationId\\\":\\\"eipalloc-09729f659f29e77ce\\\",\\\"publicIp\\\":\\\"54.78.105.178\\\",\\\"publicDnsName\\\":\\\"ec2-54-78-105-178.eu-west-1.compute.amazonaws.com\\\",\\\"associationId\\\":\\\"eipassoc-0dca22cfc4b9ef19b\\\"},\\\"description\\\":\\\"Interface for NAT Gateway nat-003288d2892af9777\\\",\\\"groups\\\":[],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":false,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.180.14.89\\\",\\\"interfaceType\\\":\\\"nat_gateway\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:3d:55:f6:d2:5b\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-4553197c\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"privateDnsName\\\":\\\"ip-10-180-14-89.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-0d37c18e65ab499bd","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-06293fbac397e7013","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-06293fbac397e7013","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0d1f9081934f9a63c","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0d1f9081934f9a63c","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0d1f9081934f9a63c\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon-elb\\\",\\\"publicIp\\\":\\\"34.249.182.151\\\",\\\"publicDnsName\\\":\\\"ec2-34-249-182-151.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-10-180-11-114.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.180.11.114\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0d37c18e65ab499bd\\\",\\\"requesterId\\\":\\\"amazon-elb\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon-elb\\\",\\\"publicIp\\\":\\\"34.249.182.151\\\",\\\"publicDnsName\\\":\\\"ec2-34-249-182-151.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"ELB app/ecs-refarch/59fc9a20002d9393\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-LoadBalancerSecurityGroup-ZSINZ6V8BUSQ\\\",\\\"groupId\\\":\\\"sg-08891adf615ba4aa1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.180.11.114\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:6f:4e:f6:03:9b\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-07dba044bfa7a2d8e\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-elb\\\",\\\"attachTime\\\":\\\"2023-04-17T15:38:37.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"privateDnsName\\\":\\\"ip-10-180-11-114.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-0d37c18e65ab499bd","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0d1f9081934f9a63c","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0d1f9081934f9a63c","instanceType":null,"statement":null,"dBInstanceStatus":null}}]},{"id":null,"label":"NatGateway","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-003288d2892af9777","label":"AWS_EC2_NatGateway","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-003288d2892af9777","configuration":"\"{\\\"subnetId\\\":\\\"subnet-0d37c18e65ab499bd\\\",\\\"connectivityType\\\":\\\"public\\\",\\\"createTime\\\":1605113057000,\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"natGatewayId\\\":\\\"nat-003288d2892af9777\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"natGatewayAddresses\\\":[{\\\"networkInterfaceId\\\":\\\"eni-06293fbac397e7013\\\",\\\"isPrimary\\\":true,\\\"privateIp\\\":\\\"10.180.14.89\\\",\\\"allocationId\\\":\\\"eipalloc-09729f659f29e77ce\\\",\\\"publicIp\\\":\\\"54.78.105.178\\\",\\\"associationId\\\":\\\"eipassoc-0dca22cfc4b9ef19b\\\",\\\"status\\\":\\\"succeeded\\\",\\\"primary\\\":true}],\\\"tags\\\":[{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"ecs-refarch-VPC-10OMNTHQBEJPY\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"NatGateway1\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-0d37c18e65ab499bd","loggedInURL":null,"loginURL":null,"private":null,"resourceId":"nat-003288d2892af9777","resourceName":null,"resourceType":"AWS::EC2::NatGateway","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-VPC-10OMNTHQBEJPY\",\"value\":\"ecs-refarch-VPC-10OMNTHQBEJPY\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=NatGateway1\",\"value\":\"NatGateway1\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"nat-003288d2892af9777","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#147eba","properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0d37c18e65ab499bd","configuration":"\"{\\\"subnetId\\\":\\\"subnet-0d37c18e65ab499bd\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0d37c18e65ab499bd\\\",\\\"availabilityZoneId\\\":\\\"euw1-az2\\\",\\\"cidrBlock\\\":\\\"10.180.8.0/21\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"ecs-refarch Public Subnet (AZ1)\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"PublicSubnet1\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"ecs-refarch-VPC-10OMNTHQBEJPY\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"}],\\\"availableIpAddressCount\\\":2041,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"mapPublicIpOnLaunch\\\":true,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-0d37c18e65ab499bd","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":"true","resourceId":"subnet-0d37c18e65ab499bd","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-VPC-10OMNTHQBEJPY\",\"value\":\"ecs-refarch-VPC-10OMNTHQBEJPY\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PublicSubnet1\",\"value\":\"PublicSubnet1\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch Public Subnet (AZ1)\",\"value\":\"ecs-refarch Public Subnet (AZ1)\",\"key\":\"Name\"}]","title":"ecs-refarch Public Subnet (AZ1)","instanceType":null,"statement":null,"dBInstanceStatus":null},"resource":{"id":"subnet-0d37c18e65ab499bd","name":null,"value":null,"type":"AWS::EC2::Subnet","tags":"[{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-VPC-10OMNTHQBEJPY\",\"value\":\"ecs-refarch-VPC-10OMNTHQBEJPY\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PublicSubnet1\",\"value\":\"PublicSubnet1\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch Public Subnet (AZ1)\",\"value\":\"ecs-refarch Public Subnet (AZ1)\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0d37c18e65ab499bd","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","accountId":"044981683129"}},"position":{"x":-251,"y":-1282.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"subnet removeAll _gridParentPadding"},{"data":{"id":"NetworkInterface-subnet-0d37c18e65ab499bd-eu-west-1a-vpc-08ab1368aff4e5657-eu-west-1-044981683129","parent":"subnet-0d37c18e65ab499bd-eu-west-1a-vpc-08ab1368aff4e5657-eu-west-1-044981683129","level":5,"title":"NetworkInterface","label":"NetworkInterface","plainLabel":"NetworkInterface","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-06293fbac397e7013","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-06293fbac397e7013","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-06293fbac397e7013\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"044981683129\\\",\\\"allocationId\\\":\\\"eipalloc-09729f659f29e77ce\\\",\\\"publicIp\\\":\\\"54.78.105.178\\\",\\\"publicDnsName\\\":\\\"ec2-54-78-105-178.eu-west-1.compute.amazonaws.com\\\",\\\"associationId\\\":\\\"eipassoc-0dca22cfc4b9ef19b\\\"},\\\"privateDnsName\\\":\\\"ip-10-180-14-89.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.180.14.89\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0d37c18e65ab499bd\\\",\\\"requesterId\\\":\\\"659071214717\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"044981683129\\\",\\\"allocationId\\\":\\\"eipalloc-09729f659f29e77ce\\\",\\\"publicIp\\\":\\\"54.78.105.178\\\",\\\"publicDnsName\\\":\\\"ec2-54-78-105-178.eu-west-1.compute.amazonaws.com\\\",\\\"associationId\\\":\\\"eipassoc-0dca22cfc4b9ef19b\\\"},\\\"description\\\":\\\"Interface for NAT Gateway nat-003288d2892af9777\\\",\\\"groups\\\":[],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":false,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.180.14.89\\\",\\\"interfaceType\\\":\\\"nat_gateway\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:3d:55:f6:d2:5b\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-4553197c\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"privateDnsName\\\":\\\"ip-10-180-14-89.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-0d37c18e65ab499bd","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-06293fbac397e7013","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-06293fbac397e7013","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0d1f9081934f9a63c","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0d1f9081934f9a63c","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0d1f9081934f9a63c\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon-elb\\\",\\\"publicIp\\\":\\\"34.249.182.151\\\",\\\"publicDnsName\\\":\\\"ec2-34-249-182-151.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-10-180-11-114.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.180.11.114\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0d37c18e65ab499bd\\\",\\\"requesterId\\\":\\\"amazon-elb\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon-elb\\\",\\\"publicIp\\\":\\\"34.249.182.151\\\",\\\"publicDnsName\\\":\\\"ec2-34-249-182-151.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"ELB app/ecs-refarch/59fc9a20002d9393\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-LoadBalancerSecurityGroup-ZSINZ6V8BUSQ\\\",\\\"groupId\\\":\\\"sg-08891adf615ba4aa1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.180.11.114\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:6f:4e:f6:03:9b\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-07dba044bfa7a2d8e\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-elb\\\",\\\"attachTime\\\":\\\"2023-04-17T15:38:37.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"privateDnsName\\\":\\\"ip-10-180-11-114.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-0d37c18e65ab499bd","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0d1f9081934f9a63c","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0d1f9081934f9a63c","instanceType":null,"statement":null,"dBInstanceStatus":null}}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-251,"y":-1347.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-06293fbac397e7013","resourceId":["eni-06293fbac397e7013","arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-06293fbac397e7013"],"parent":"NetworkInterface-subnet-0d37c18e65ab499bd-eu-west-1a-vpc-08ab1368aff4e5657-eu-west-1-044981683129","level":6,"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-06293fbac397e7013","title":"eni-06293fbac397e7013","label":"eni-06293fba...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-06293fbac397e7013","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-06293fbac397e7013","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-06293fbac397e7013","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-06293fbac397e7013","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-06293fbac397e7013\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"044981683129\\\",\\\"allocationId\\\":\\\"eipalloc-09729f659f29e77ce\\\",\\\"publicIp\\\":\\\"54.78.105.178\\\",\\\"publicDnsName\\\":\\\"ec2-54-78-105-178.eu-west-1.compute.amazonaws.com\\\",\\\"associationId\\\":\\\"eipassoc-0dca22cfc4b9ef19b\\\"},\\\"privateDnsName\\\":\\\"ip-10-180-14-89.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.180.14.89\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0d37c18e65ab499bd\\\",\\\"requesterId\\\":\\\"659071214717\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"044981683129\\\",\\\"allocationId\\\":\\\"eipalloc-09729f659f29e77ce\\\",\\\"publicIp\\\":\\\"54.78.105.178\\\",\\\"publicDnsName\\\":\\\"ec2-54-78-105-178.eu-west-1.compute.amazonaws.com\\\",\\\"associationId\\\":\\\"eipassoc-0dca22cfc4b9ef19b\\\"},\\\"description\\\":\\\"Interface for NAT Gateway nat-003288d2892af9777\\\",\\\"groups\\\":[],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":false,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.180.14.89\\\",\\\"interfaceType\\\":\\\"nat_gateway\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:3d:55:f6:d2:5b\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-4553197c\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"privateDnsName\\\":\\\"ip-10-180-14-89.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-0d37c18e65ab499bd","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-06293fbac397e7013","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-06293fbac397e7013","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-287.5,"y":-1347.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0d1f9081934f9a63c","resourceId":["eni-0d1f9081934f9a63c","arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0d1f9081934f9a63c"],"parent":"NetworkInterface-subnet-0d37c18e65ab499bd-eu-west-1a-vpc-08ab1368aff4e5657-eu-west-1-044981683129","level":6,"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0d1f9081934f9a63c","title":"eni-0d1f9081934f9a63c","label":"eni-0d1f9081...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0d1f9081934f9a63c","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-0d1f9081934f9a63c","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0d1f9081934f9a63c","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0d1f9081934f9a63c","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0d1f9081934f9a63c\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon-elb\\\",\\\"publicIp\\\":\\\"34.249.182.151\\\",\\\"publicDnsName\\\":\\\"ec2-34-249-182-151.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-10-180-11-114.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.180.11.114\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0d37c18e65ab499bd\\\",\\\"requesterId\\\":\\\"amazon-elb\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon-elb\\\",\\\"publicIp\\\":\\\"34.249.182.151\\\",\\\"publicDnsName\\\":\\\"ec2-34-249-182-151.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"ELB app/ecs-refarch/59fc9a20002d9393\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"ecs-refarch-SecurityGroups-OB6L96U7FA2M-LoadBalancerSecurityGroup-ZSINZ6V8BUSQ\\\",\\\"groupId\\\":\\\"sg-08891adf615ba4aa1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.180.11.114\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:6f:4e:f6:03:9b\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-07dba044bfa7a2d8e\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-elb\\\",\\\"attachTime\\\":\\\"2023-04-17T15:38:37.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"privateDnsName\\\":\\\"ip-10-180-11-114.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-0d37c18e65ab499bd","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0d1f9081934f9a63c","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0d1f9081934f9a63c","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-214.5,"y":-1347.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"NatGateway-subnet-0d37c18e65ab499bd-eu-west-1a-vpc-08ab1368aff4e5657-eu-west-1-044981683129","parent":"subnet-0d37c18e65ab499bd-eu-west-1a-vpc-08ab1368aff4e5657-eu-west-1-044981683129","level":5,"title":"NatGateway","label":"NatGateway","plainLabel":"NatGateway","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-VPC_NAT-Gateway_light-bg-menu.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-003288d2892af9777","label":"AWS_EC2_NatGateway","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-003288d2892af9777","configuration":"\"{\\\"subnetId\\\":\\\"subnet-0d37c18e65ab499bd\\\",\\\"connectivityType\\\":\\\"public\\\",\\\"createTime\\\":1605113057000,\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"natGatewayId\\\":\\\"nat-003288d2892af9777\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"natGatewayAddresses\\\":[{\\\"networkInterfaceId\\\":\\\"eni-06293fbac397e7013\\\",\\\"isPrimary\\\":true,\\\"privateIp\\\":\\\"10.180.14.89\\\",\\\"allocationId\\\":\\\"eipalloc-09729f659f29e77ce\\\",\\\"publicIp\\\":\\\"54.78.105.178\\\",\\\"associationId\\\":\\\"eipassoc-0dca22cfc4b9ef19b\\\",\\\"status\\\":\\\"succeeded\\\",\\\"primary\\\":true}],\\\"tags\\\":[{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"ecs-refarch-VPC-10OMNTHQBEJPY\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"NatGateway1\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-0d37c18e65ab499bd","loggedInURL":null,"loginURL":null,"private":null,"resourceId":"nat-003288d2892af9777","resourceName":null,"resourceType":"AWS::EC2::NatGateway","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-VPC-10OMNTHQBEJPY\",\"value\":\"ecs-refarch-VPC-10OMNTHQBEJPY\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=NatGateway1\",\"value\":\"NatGateway1\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"nat-003288d2892af9777","instanceType":null,"statement":null,"dBInstanceStatus":null}}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-287.5,"y":-1217.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-003288d2892af9777","resourceId":["nat-003288d2892af9777","arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-003288d2892af9777"],"parent":"NatGateway-subnet-0d37c18e65ab499bd-eu-west-1a-vpc-08ab1368aff4e5657-eu-west-1-044981683129","level":6,"id":"arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-003288d2892af9777","title":"nat-003288d2892af9777","label":"nat-003288d2...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-003288d2892af9777","image":"/icons/Amazon-VPC_NAT-Gateway_light-bg-menu.svg","cost":0,"private":false,"resource":{"id":"nat-003288d2892af9777","name":null,"value":null,"type":"AWS::EC2::NatGateway","tags":"[{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-VPC-10OMNTHQBEJPY\",\"value\":\"ecs-refarch-VPC-10OMNTHQBEJPY\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=NatGateway1\",\"value\":\"NatGateway1\",\"key\":\"aws:cloudformation:logical-id\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-003288d2892af9777","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-003288d2892af9777","configuration":"\"{\\\"subnetId\\\":\\\"subnet-0d37c18e65ab499bd\\\",\\\"connectivityType\\\":\\\"public\\\",\\\"createTime\\\":1605113057000,\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"natGatewayId\\\":\\\"nat-003288d2892af9777\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"natGatewayAddresses\\\":[{\\\"networkInterfaceId\\\":\\\"eni-06293fbac397e7013\\\",\\\"isPrimary\\\":true,\\\"privateIp\\\":\\\"10.180.14.89\\\",\\\"allocationId\\\":\\\"eipalloc-09729f659f29e77ce\\\",\\\"publicIp\\\":\\\"54.78.105.178\\\",\\\"associationId\\\":\\\"eipassoc-0dca22cfc4b9ef19b\\\",\\\"status\\\":\\\"succeeded\\\",\\\"primary\\\":true}],\\\"tags\\\":[{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"ecs-refarch-VPC-10OMNTHQBEJPY\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"NatGateway1\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-08ab1368aff4e5657","subnetId":"subnet-0d37c18e65ab499bd","loggedInURL":null,"loginURL":null,"private":null,"resourceId":"nat-003288d2892af9777","resourceName":null,"resourceType":"AWS::EC2::NatGateway","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-VPC-10OMNTHQBEJPY\",\"value\":\"ecs-refarch-VPC-10OMNTHQBEJPY\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=NatGateway1\",\"value\":\"NatGateway1\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"nat-003288d2892af9777","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-287.5,"y":-1217.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"Multiple Availability Zones-vpc-08ab1368aff4e5657-eu-west-1-044981683129","parent":"vpc-08ab1368aff4e5657-eu-west-1-044981683129","level":3,"title":"Multiple Availability Zones","label":"Multiple Availability Zones","plainLabel":"Multiple Availability Zones","type":"availabilityZone","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/availabilityZone.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":null,"label":"NetworkAcl","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-04ca40b08ab961109","label":"AWS_EC2_NetworkAcl","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-04ca40b08ab961109","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-05e96e37260564e8f\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-cd038ebf\\\",\\\"networkAclId\\\":\\\"acl-04ca40b08ab961109\\\"},{\\\"subnetId\\\":\\\"subnet-0d37c18e65ab499bd\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-243ab756\\\",\\\"networkAclId\\\":\\\"acl-04ca40b08ab961109\\\"},{\\\"subnetId\\\":\\\"subnet-05b78a71606d218fa\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-4e23ae3c\\\",\\\"networkAclId\\\":\\\"acl-04ca40b08ab961109\\\"},{\\\"subnetId\\\":\\\"subnet-05231ecdc5364570e\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-ab1e93d9\\\",\\\"networkAclId\\\":\\\"acl-04ca40b08ab961109\\\"}],\\\"entries\\\":[{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":false},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":false}],\\\"isDefault\\\":true,\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"networkAclId\\\":\\\"acl-04ca40b08ab961109\\\",\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-08ab1368aff4e5657","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#acls:sort=networkAclId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#acls:sort=networkAclId","private":null,"resourceId":"acl-04ca40b08ab961109","resourceName":null,"resourceType":"AWS::EC2::NetworkAcl","resourceValue":null,"state":null,"tags":"[]","title":"acl-04ca40b08ab961109","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]},{"id":null,"label":"InternetGateway","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:internet-gateway/igw-07c75587f7231c86e","label":"AWS_EC2_InternetGateway","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:internet-gateway/igw-07c75587f7231c86e","configuration":"\"{\\\"attachments\\\":[{\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"state\\\":\\\"available\\\"}],\\\"internetGatewayId\\\":\\\"igw-07c75587f7231c86e\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"tags\\\":[{\\\"value\\\":\\\"ecs-refarch-VPC-10OMNTHQBEJPY\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"InternetGateway\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"ecs-refarch\\\",\\\"key\\\":\\\"Name\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-08ab1368aff4e5657","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#igws:sort=internetGatewayId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#igws:sort=internetGatewayId","private":null,"resourceId":"igw-07c75587f7231c86e","resourceName":null,"resourceType":"AWS::EC2::InternetGateway","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-VPC-10OMNTHQBEJPY\",\"value\":\"ecs-refarch-VPC-10OMNTHQBEJPY\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=InternetGateway\",\"value\":\"InternetGateway\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch\",\"value\":\"ecs-refarch\",\"key\":\"Name\"}]","title":"ecs-refarch","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]},{"id":null,"label":"LoadBalancer","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:loadbalancer/app/ecs-refarch/59fc9a20002d9393","label":"AWS_ElasticLoadBalancingV2_LoadBalancer","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:loadbalancer/app/ecs-refarch/59fc9a20002d9393","configuration":"\"{\\\"loadBalancerArn\\\":\\\"arn:aws:elasticloadbalancing:eu-west-1:044981683129:loadbalancer/app/ecs-refarch/59fc9a20002d9393\\\",\\\"scheme\\\":\\\"internet-facing\\\",\\\"loadBalancerName\\\":\\\"ecs-refarch\\\",\\\"canonicalHostedZoneId\\\":\\\"Z32O12XQLNTSW2\\\",\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"createdTime\\\":\\\"2020-11-11T16:47:23.030Z\\\",\\\"availabilityZones\\\":[{\\\"subnetId\\\":\\\"subnet-05231ecdc5364570e\\\",\\\"zoneName\\\":\\\"eu-west-1b\\\",\\\"loadBalancerAddresses\\\":[]},{\\\"subnetId\\\":\\\"subnet-0d37c18e65ab499bd\\\",\\\"zoneName\\\":\\\"eu-west-1a\\\",\\\"loadBalancerAddresses\\\":[]}],\\\"securityGroups\\\":[{\\\"value\\\":\\\"sg-08891adf615ba4aa1\\\"}],\\\"dNSName\\\":\\\"ecs-refarch-2061625068.eu-west-1.elb.amazonaws.com\\\",\\\"state\\\":{\\\"code\\\":\\\"active\\\"},\\\"type\\\":\\\"application\\\",\\\"ipAddressType\\\":\\\"ipv4\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-08ab1368aff4e5657","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#LoadBalancers:","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#LoadBalancers:","private":null,"resourceId":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:loadbalancer/app/ecs-refarch/59fc9a20002d9393","resourceName":"ecs-refarch","resourceType":"AWS::ElasticLoadBalancingV2::LoadBalancer","resourceValue":null,"state":null,"tags":"[{\"tag\":\"Name=ecs-refarch\",\"value\":\"ecs-refarch\",\"key\":\"Name\"}]","title":"ecs-refarch","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]},{"id":null,"label":"TargetGroup","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-r-Targe-1CEAOHL7A3S92/91f8ad87a71b6d0c","label":"AWS_ElasticLoadBalancingV2_TargetGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-r-Targe-1CEAOHL7A3S92/91f8ad87a71b6d0c","configuration":"\"{\\\"TargetGroupArn\\\":\\\"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-r-Targe-1CEAOHL7A3S92/91f8ad87a71b6d0c\\\",\\\"TargetGroupName\\\":\\\"ecs-r-Targe-1CEAOHL7A3S92\\\",\\\"Protocol\\\":\\\"HTTP\\\",\\\"Port\\\":80,\\\"VpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"HealthCheckProtocol\\\":\\\"HTTP\\\",\\\"HealthCheckPort\\\":\\\"traffic-port\\\",\\\"HealthCheckEnabled\\\":true,\\\"HealthCheckIntervalSeconds\\\":10,\\\"HealthCheckTimeoutSeconds\\\":5,\\\"HealthyThresholdCount\\\":2,\\\"UnhealthyThresholdCount\\\":2,\\\"HealthCheckPath\\\":\\\"/products\\\",\\\"Matcher\\\":{\\\"HttpCode\\\":\\\"200-299\\\"},\\\"LoadBalancerArns\\\":[\\\"arn:aws:elasticloadbalancing:eu-west-1:044981683129:loadbalancer/app/ecs-refarch/59fc9a20002d9393\\\"],\\\"TargetType\\\":\\\"instance\\\",\\\"ProtocolVersion\\\":\\\"HTTP1\\\",\\\"IpAddressType\\\":\\\"ipv4\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-08ab1368aff4e5657","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#TargetGroups:","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#TargetGroups:","private":null,"resourceId":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-r-Targe-1CEAOHL7A3S92/91f8ad87a71b6d0c","resourceName":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-r-Targe-1CEAOHL7A3S92/91f8ad87a71b6d0c","resourceType":"AWS::ElasticLoadBalancingV2::TargetGroup","resourceValue":null,"state":null,"tags":"[]","title":"targetgroup/ecs-r-Targe-1CEAOHL7A3S92/91f8ad87a71b6d0c","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-r-Targe-WGHBKNSPECN5/4ded139adab8201e","label":"AWS_ElasticLoadBalancingV2_TargetGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-r-Targe-WGHBKNSPECN5/4ded139adab8201e","configuration":"\"{\\\"TargetGroupArn\\\":\\\"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-r-Targe-WGHBKNSPECN5/4ded139adab8201e\\\",\\\"TargetGroupName\\\":\\\"ecs-r-Targe-WGHBKNSPECN5\\\",\\\"Protocol\\\":\\\"HTTP\\\",\\\"Port\\\":80,\\\"VpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"HealthCheckProtocol\\\":\\\"HTTP\\\",\\\"HealthCheckPort\\\":\\\"traffic-port\\\",\\\"HealthCheckEnabled\\\":true,\\\"HealthCheckIntervalSeconds\\\":10,\\\"HealthCheckTimeoutSeconds\\\":5,\\\"HealthyThresholdCount\\\":2,\\\"UnhealthyThresholdCount\\\":2,\\\"HealthCheckPath\\\":\\\"/\\\",\\\"Matcher\\\":{\\\"HttpCode\\\":\\\"200-299\\\"},\\\"LoadBalancerArns\\\":[\\\"arn:aws:elasticloadbalancing:eu-west-1:044981683129:loadbalancer/app/ecs-refarch/59fc9a20002d9393\\\"],\\\"TargetType\\\":\\\"instance\\\",\\\"ProtocolVersion\\\":\\\"HTTP1\\\",\\\"IpAddressType\\\":\\\"ipv4\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-08ab1368aff4e5657","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#TargetGroups:","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#TargetGroups:","private":null,"resourceId":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-r-Targe-WGHBKNSPECN5/4ded139adab8201e","resourceName":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-r-Targe-WGHBKNSPECN5/4ded139adab8201e","resourceType":"AWS::ElasticLoadBalancingV2::TargetGroup","resourceValue":null,"state":null,"tags":"[]","title":"targetgroup/ecs-r-Targe-WGHBKNSPECN5/4ded139adab8201e","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-refarch-default/550856ea884e2cfa","label":"AWS_ElasticLoadBalancingV2_TargetGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-refarch-default/550856ea884e2cfa","configuration":"\"{\\\"TargetGroupArn\\\":\\\"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-refarch-default/550856ea884e2cfa\\\",\\\"TargetGroupName\\\":\\\"ecs-refarch-default\\\",\\\"Protocol\\\":\\\"HTTP\\\",\\\"Port\\\":80,\\\"VpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"HealthCheckProtocol\\\":\\\"HTTP\\\",\\\"HealthCheckPort\\\":\\\"traffic-port\\\",\\\"HealthCheckEnabled\\\":true,\\\"HealthCheckIntervalSeconds\\\":30,\\\"HealthCheckTimeoutSeconds\\\":5,\\\"HealthyThresholdCount\\\":5,\\\"UnhealthyThresholdCount\\\":2,\\\"HealthCheckPath\\\":\\\"/\\\",\\\"Matcher\\\":{\\\"HttpCode\\\":\\\"200\\\"},\\\"LoadBalancerArns\\\":[\\\"arn:aws:elasticloadbalancing:eu-west-1:044981683129:loadbalancer/app/ecs-refarch/59fc9a20002d9393\\\"],\\\"TargetType\\\":\\\"instance\\\",\\\"ProtocolVersion\\\":\\\"HTTP1\\\",\\\"IpAddressType\\\":\\\"ipv4\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-08ab1368aff4e5657","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#TargetGroups:","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#TargetGroups:","private":null,"resourceId":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-refarch-default/550856ea884e2cfa","resourceName":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-refarch-default/550856ea884e2cfa","resourceType":"AWS::ElasticLoadBalancingV2::TargetGroup","resourceValue":null,"state":null,"tags":"[]","title":"targetgroup/ecs-refarch-default/550856ea884e2cfa","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-932.5,"y":-902.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"availabilityZone removeAll _gridParentPadding"},{"data":{"id":"NetworkAcl-Multiple Availability Zones-vpc-08ab1368aff4e5657-eu-west-1-044981683129","parent":"Multiple Availability Zones-vpc-08ab1368aff4e5657-eu-west-1-044981683129","level":4,"title":"NetworkAcl","label":"NetworkAcl","plainLabel":"NetworkAcl","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-VPC_Network-Access-Control-List_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-04ca40b08ab961109","label":"AWS_EC2_NetworkAcl","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-04ca40b08ab961109","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-05e96e37260564e8f\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-cd038ebf\\\",\\\"networkAclId\\\":\\\"acl-04ca40b08ab961109\\\"},{\\\"subnetId\\\":\\\"subnet-0d37c18e65ab499bd\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-243ab756\\\",\\\"networkAclId\\\":\\\"acl-04ca40b08ab961109\\\"},{\\\"subnetId\\\":\\\"subnet-05b78a71606d218fa\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-4e23ae3c\\\",\\\"networkAclId\\\":\\\"acl-04ca40b08ab961109\\\"},{\\\"subnetId\\\":\\\"subnet-05231ecdc5364570e\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-ab1e93d9\\\",\\\"networkAclId\\\":\\\"acl-04ca40b08ab961109\\\"}],\\\"entries\\\":[{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":false},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":false}],\\\"isDefault\\\":true,\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"networkAclId\\\":\\\"acl-04ca40b08ab961109\\\",\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-08ab1368aff4e5657","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#acls:sort=networkAclId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#acls:sort=networkAclId","private":null,"resourceId":"acl-04ca40b08ab961109","resourceName":null,"resourceType":"AWS::EC2::NetworkAcl","resourceValue":null,"state":null,"tags":"[]","title":"acl-04ca40b08ab961109","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-839.5,"y":-1004.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-04ca40b08ab961109","resourceId":["acl-04ca40b08ab961109","arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-04ca40b08ab961109"],"parent":"NetworkAcl-Multiple Availability Zones-vpc-08ab1368aff4e5657-eu-west-1-044981683129","level":5,"id":"arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-04ca40b08ab961109","title":"acl-04ca40b08ab961109","label":"acl-04ca40b0...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-04ca40b08ab961109","image":"/icons/Amazon-VPC_Network-Access-Control-List_light-bg.svg","cost":0,"private":false,"resource":{"id":"acl-04ca40b08ab961109","name":null,"value":null,"type":"AWS::EC2::NetworkAcl","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-04ca40b08ab961109","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#acls:sort=networkAclId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#acls:sort=networkAclId","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-04ca40b08ab961109","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-05e96e37260564e8f\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-cd038ebf\\\",\\\"networkAclId\\\":\\\"acl-04ca40b08ab961109\\\"},{\\\"subnetId\\\":\\\"subnet-0d37c18e65ab499bd\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-243ab756\\\",\\\"networkAclId\\\":\\\"acl-04ca40b08ab961109\\\"},{\\\"subnetId\\\":\\\"subnet-05b78a71606d218fa\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-4e23ae3c\\\",\\\"networkAclId\\\":\\\"acl-04ca40b08ab961109\\\"},{\\\"subnetId\\\":\\\"subnet-05231ecdc5364570e\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-ab1e93d9\\\",\\\"networkAclId\\\":\\\"acl-04ca40b08ab961109\\\"}],\\\"entries\\\":[{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":false},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":false}],\\\"isDefault\\\":true,\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"networkAclId\\\":\\\"acl-04ca40b08ab961109\\\",\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-08ab1368aff4e5657","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#acls:sort=networkAclId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#acls:sort=networkAclId","private":null,"resourceId":"acl-04ca40b08ab961109","resourceName":null,"resourceType":"AWS::EC2::NetworkAcl","resourceValue":null,"state":null,"tags":"[]","title":"acl-04ca40b08ab961109","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-839.5,"y":-1004.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"InternetGateway-Multiple Availability Zones-vpc-08ab1368aff4e5657-eu-west-1-044981683129","parent":"Multiple Availability Zones-vpc-08ab1368aff4e5657-eu-west-1-044981683129","level":4,"title":"InternetGateway","label":"InternetGateway","plainLabel":"InternetGateway","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-VPC_Internet-Gateway_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:internet-gateway/igw-07c75587f7231c86e","label":"AWS_EC2_InternetGateway","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:internet-gateway/igw-07c75587f7231c86e","configuration":"\"{\\\"attachments\\\":[{\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"state\\\":\\\"available\\\"}],\\\"internetGatewayId\\\":\\\"igw-07c75587f7231c86e\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"tags\\\":[{\\\"value\\\":\\\"ecs-refarch-VPC-10OMNTHQBEJPY\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"InternetGateway\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"ecs-refarch\\\",\\\"key\\\":\\\"Name\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-08ab1368aff4e5657","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#igws:sort=internetGatewayId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#igws:sort=internetGatewayId","private":null,"resourceId":"igw-07c75587f7231c86e","resourceName":null,"resourceType":"AWS::EC2::InternetGateway","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-VPC-10OMNTHQBEJPY\",\"value\":\"ecs-refarch-VPC-10OMNTHQBEJPY\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=InternetGateway\",\"value\":\"InternetGateway\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch\",\"value\":\"ecs-refarch\",\"key\":\"Name\"}]","title":"ecs-refarch","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1025.5,"y":-801.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:internet-gateway/igw-07c75587f7231c86e","resourceId":["igw-07c75587f7231c86e","arn:aws:ec2:eu-west-1:044981683129:internet-gateway/igw-07c75587f7231c86e"],"parent":"InternetGateway-Multiple Availability Zones-vpc-08ab1368aff4e5657-eu-west-1-044981683129","level":5,"id":"arn:aws:ec2:eu-west-1:044981683129:internet-gateway/igw-07c75587f7231c86e","title":"ecs-refarch","label":"ecs-refarch","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:internet-gateway/igw-07c75587f7231c86e","image":"/icons/Amazon-VPC_Internet-Gateway_light-bg.svg","cost":0,"private":false,"resource":{"id":"igw-07c75587f7231c86e","name":null,"value":null,"type":"AWS::EC2::InternetGateway","tags":"[{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-VPC-10OMNTHQBEJPY\",\"value\":\"ecs-refarch-VPC-10OMNTHQBEJPY\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=InternetGateway\",\"value\":\"InternetGateway\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch\",\"value\":\"ecs-refarch\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:internet-gateway/igw-07c75587f7231c86e","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#igws:sort=internetGatewayId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#igws:sort=internetGatewayId","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:internet-gateway/igw-07c75587f7231c86e","configuration":"\"{\\\"attachments\\\":[{\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"state\\\":\\\"available\\\"}],\\\"internetGatewayId\\\":\\\"igw-07c75587f7231c86e\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"tags\\\":[{\\\"value\\\":\\\"ecs-refarch-VPC-10OMNTHQBEJPY\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"InternetGateway\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"ecs-refarch\\\",\\\"key\\\":\\\"Name\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-08ab1368aff4e5657","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#igws:sort=internetGatewayId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#igws:sort=internetGatewayId","private":null,"resourceId":"igw-07c75587f7231c86e","resourceName":null,"resourceType":"AWS::EC2::InternetGateway","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-VPC-10OMNTHQBEJPY\",\"value\":\"ecs-refarch-VPC-10OMNTHQBEJPY\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=InternetGateway\",\"value\":\"InternetGateway\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch\",\"value\":\"ecs-refarch\",\"key\":\"Name\"}]","title":"ecs-refarch","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1025.5,"y":-801.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"LoadBalancer-Multiple Availability Zones-vpc-08ab1368aff4e5657-eu-west-1-044981683129","parent":"Multiple Availability Zones-vpc-08ab1368aff4e5657-eu-west-1-044981683129","level":4,"title":"LoadBalancer","label":"LoadBalancer","plainLabel":"LoadBalancer","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Elastic-Load-Balancing-ELB_Application-load-balancer_light-bg-menu.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:loadbalancer/app/ecs-refarch/59fc9a20002d9393","label":"AWS_ElasticLoadBalancingV2_LoadBalancer","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:loadbalancer/app/ecs-refarch/59fc9a20002d9393","configuration":"\"{\\\"loadBalancerArn\\\":\\\"arn:aws:elasticloadbalancing:eu-west-1:044981683129:loadbalancer/app/ecs-refarch/59fc9a20002d9393\\\",\\\"scheme\\\":\\\"internet-facing\\\",\\\"loadBalancerName\\\":\\\"ecs-refarch\\\",\\\"canonicalHostedZoneId\\\":\\\"Z32O12XQLNTSW2\\\",\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"createdTime\\\":\\\"2020-11-11T16:47:23.030Z\\\",\\\"availabilityZones\\\":[{\\\"subnetId\\\":\\\"subnet-05231ecdc5364570e\\\",\\\"zoneName\\\":\\\"eu-west-1b\\\",\\\"loadBalancerAddresses\\\":[]},{\\\"subnetId\\\":\\\"subnet-0d37c18e65ab499bd\\\",\\\"zoneName\\\":\\\"eu-west-1a\\\",\\\"loadBalancerAddresses\\\":[]}],\\\"securityGroups\\\":[{\\\"value\\\":\\\"sg-08891adf615ba4aa1\\\"}],\\\"dNSName\\\":\\\"ecs-refarch-2061625068.eu-west-1.elb.amazonaws.com\\\",\\\"state\\\":{\\\"code\\\":\\\"active\\\"},\\\"type\\\":\\\"application\\\",\\\"ipAddressType\\\":\\\"ipv4\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-08ab1368aff4e5657","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#LoadBalancers:","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#LoadBalancers:","private":null,"resourceId":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:loadbalancer/app/ecs-refarch/59fc9a20002d9393","resourceName":"ecs-refarch","resourceType":"AWS::ElasticLoadBalancingV2::LoadBalancer","resourceValue":null,"state":null,"tags":"[{\"tag\":\"Name=ecs-refarch\",\"value\":\"ecs-refarch\",\"key\":\"Name\"}]","title":"ecs-refarch","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-912.5,"y":-801.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:loadbalancer/app/ecs-refarch/59fc9a20002d9393","resourceId":["arn:aws:elasticloadbalancing:eu-west-1:044981683129:loadbalancer/app/ecs-refarch/59fc9a20002d9393","arn:aws:elasticloadbalancing:eu-west-1:044981683129:loadbalancer/app/ecs-refarch/59fc9a20002d9393"],"parent":"LoadBalancer-Multiple Availability Zones-vpc-08ab1368aff4e5657-eu-west-1-044981683129","level":5,"id":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:loadbalancer/app/ecs-refarch/59fc9a20002d9393","title":"ecs-refarch","label":"ecs-refarch","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#FF9900","borderStyle":"dotted","borderColour":"#FF9900","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:loadbalancer/app/ecs-refarch/59fc9a20002d9393","state":{"status":"status-warning","text":"no state data","color":"#FF9900"},"image":"/icons/Elastic-Load-Balancing-ELB_Application-load-balancer_light-bg-warning.svg","cost":0,"private":false,"detailsComponent":{"key":null,"ref":null,"props":{"title":"Load Balancer Details","configuration":"\"{\\\"loadBalancerArn\\\":\\\"arn:aws:elasticloadbalancing:eu-west-1:044981683129:loadbalancer/app/ecs-refarch/59fc9a20002d9393\\\",\\\"scheme\\\":\\\"internet-facing\\\",\\\"loadBalancerName\\\":\\\"ecs-refarch\\\",\\\"canonicalHostedZoneId\\\":\\\"Z32O12XQLNTSW2\\\",\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"createdTime\\\":\\\"2020-11-11T16:47:23.030Z\\\",\\\"availabilityZones\\\":[{\\\"subnetId\\\":\\\"subnet-05231ecdc5364570e\\\",\\\"zoneName\\\":\\\"eu-west-1b\\\",\\\"loadBalancerAddresses\\\":[]},{\\\"subnetId\\\":\\\"subnet-0d37c18e65ab499bd\\\",\\\"zoneName\\\":\\\"eu-west-1a\\\",\\\"loadBalancerAddresses\\\":[]}],\\\"securityGroups\\\":[{\\\"value\\\":\\\"sg-08891adf615ba4aa1\\\"}],\\\"dNSName\\\":\\\"ecs-refarch-2061625068.eu-west-1.elb.amazonaws.com\\\",\\\"state\\\":{\\\"code\\\":\\\"active\\\"},\\\"type\\\":\\\"application\\\",\\\"ipAddressType\\\":\\\"ipv4\\\"}\""},"_owner":null,"_store":{}},"resource":{"id":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:loadbalancer/app/ecs-refarch/59fc9a20002d9393","name":"ecs-refarch","value":null,"type":"AWS::ElasticLoadBalancingV2::LoadBalancer","tags":"[{\"tag\":\"Name=ecs-refarch\",\"value\":\"ecs-refarch\",\"key\":\"Name\"}]","arn":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:loadbalancer/app/ecs-refarch/59fc9a20002d9393","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#LoadBalancers:","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#LoadBalancers:","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:loadbalancer/app/ecs-refarch/59fc9a20002d9393","configuration":"\"{\\\"loadBalancerArn\\\":\\\"arn:aws:elasticloadbalancing:eu-west-1:044981683129:loadbalancer/app/ecs-refarch/59fc9a20002d9393\\\",\\\"scheme\\\":\\\"internet-facing\\\",\\\"loadBalancerName\\\":\\\"ecs-refarch\\\",\\\"canonicalHostedZoneId\\\":\\\"Z32O12XQLNTSW2\\\",\\\"vpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"createdTime\\\":\\\"2020-11-11T16:47:23.030Z\\\",\\\"availabilityZones\\\":[{\\\"subnetId\\\":\\\"subnet-05231ecdc5364570e\\\",\\\"zoneName\\\":\\\"eu-west-1b\\\",\\\"loadBalancerAddresses\\\":[]},{\\\"subnetId\\\":\\\"subnet-0d37c18e65ab499bd\\\",\\\"zoneName\\\":\\\"eu-west-1a\\\",\\\"loadBalancerAddresses\\\":[]}],\\\"securityGroups\\\":[{\\\"value\\\":\\\"sg-08891adf615ba4aa1\\\"}],\\\"dNSName\\\":\\\"ecs-refarch-2061625068.eu-west-1.elb.amazonaws.com\\\",\\\"state\\\":{\\\"code\\\":\\\"active\\\"},\\\"type\\\":\\\"application\\\",\\\"ipAddressType\\\":\\\"ipv4\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-08ab1368aff4e5657","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#LoadBalancers:","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#LoadBalancers:","private":null,"resourceId":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:loadbalancer/app/ecs-refarch/59fc9a20002d9393","resourceName":"ecs-refarch","resourceType":"AWS::ElasticLoadBalancingV2::LoadBalancer","resourceValue":null,"state":null,"tags":"[{\"tag\":\"Name=ecs-refarch\",\"value\":\"ecs-refarch\",\"key\":\"Name\"}]","title":"ecs-refarch","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-912.5,"y":-801.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"TargetGroup-Multiple Availability Zones-vpc-08ab1368aff4e5657-eu-west-1-044981683129","parent":"Multiple Availability Zones-vpc-08ab1368aff4e5657-eu-west-1-044981683129","level":4,"title":"TargetGroup","label":"TargetGroup","plainLabel":"TargetGroup","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/ELB-Target-group-light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-r-Targe-1CEAOHL7A3S92/91f8ad87a71b6d0c","label":"AWS_ElasticLoadBalancingV2_TargetGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-r-Targe-1CEAOHL7A3S92/91f8ad87a71b6d0c","configuration":"\"{\\\"TargetGroupArn\\\":\\\"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-r-Targe-1CEAOHL7A3S92/91f8ad87a71b6d0c\\\",\\\"TargetGroupName\\\":\\\"ecs-r-Targe-1CEAOHL7A3S92\\\",\\\"Protocol\\\":\\\"HTTP\\\",\\\"Port\\\":80,\\\"VpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"HealthCheckProtocol\\\":\\\"HTTP\\\",\\\"HealthCheckPort\\\":\\\"traffic-port\\\",\\\"HealthCheckEnabled\\\":true,\\\"HealthCheckIntervalSeconds\\\":10,\\\"HealthCheckTimeoutSeconds\\\":5,\\\"HealthyThresholdCount\\\":2,\\\"UnhealthyThresholdCount\\\":2,\\\"HealthCheckPath\\\":\\\"/products\\\",\\\"Matcher\\\":{\\\"HttpCode\\\":\\\"200-299\\\"},\\\"LoadBalancerArns\\\":[\\\"arn:aws:elasticloadbalancing:eu-west-1:044981683129:loadbalancer/app/ecs-refarch/59fc9a20002d9393\\\"],\\\"TargetType\\\":\\\"instance\\\",\\\"ProtocolVersion\\\":\\\"HTTP1\\\",\\\"IpAddressType\\\":\\\"ipv4\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-08ab1368aff4e5657","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#TargetGroups:","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#TargetGroups:","private":null,"resourceId":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-r-Targe-1CEAOHL7A3S92/91f8ad87a71b6d0c","resourceName":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-r-Targe-1CEAOHL7A3S92/91f8ad87a71b6d0c","resourceType":"AWS::ElasticLoadBalancingV2::TargetGroup","resourceValue":null,"state":null,"tags":"[]","title":"targetgroup/ecs-r-Targe-1CEAOHL7A3S92/91f8ad87a71b6d0c","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-r-Targe-WGHBKNSPECN5/4ded139adab8201e","label":"AWS_ElasticLoadBalancingV2_TargetGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-r-Targe-WGHBKNSPECN5/4ded139adab8201e","configuration":"\"{\\\"TargetGroupArn\\\":\\\"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-r-Targe-WGHBKNSPECN5/4ded139adab8201e\\\",\\\"TargetGroupName\\\":\\\"ecs-r-Targe-WGHBKNSPECN5\\\",\\\"Protocol\\\":\\\"HTTP\\\",\\\"Port\\\":80,\\\"VpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"HealthCheckProtocol\\\":\\\"HTTP\\\",\\\"HealthCheckPort\\\":\\\"traffic-port\\\",\\\"HealthCheckEnabled\\\":true,\\\"HealthCheckIntervalSeconds\\\":10,\\\"HealthCheckTimeoutSeconds\\\":5,\\\"HealthyThresholdCount\\\":2,\\\"UnhealthyThresholdCount\\\":2,\\\"HealthCheckPath\\\":\\\"/\\\",\\\"Matcher\\\":{\\\"HttpCode\\\":\\\"200-299\\\"},\\\"LoadBalancerArns\\\":[\\\"arn:aws:elasticloadbalancing:eu-west-1:044981683129:loadbalancer/app/ecs-refarch/59fc9a20002d9393\\\"],\\\"TargetType\\\":\\\"instance\\\",\\\"ProtocolVersion\\\":\\\"HTTP1\\\",\\\"IpAddressType\\\":\\\"ipv4\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-08ab1368aff4e5657","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#TargetGroups:","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#TargetGroups:","private":null,"resourceId":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-r-Targe-WGHBKNSPECN5/4ded139adab8201e","resourceName":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-r-Targe-WGHBKNSPECN5/4ded139adab8201e","resourceType":"AWS::ElasticLoadBalancingV2::TargetGroup","resourceValue":null,"state":null,"tags":"[]","title":"targetgroup/ecs-r-Targe-WGHBKNSPECN5/4ded139adab8201e","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-refarch-default/550856ea884e2cfa","label":"AWS_ElasticLoadBalancingV2_TargetGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-refarch-default/550856ea884e2cfa","configuration":"\"{\\\"TargetGroupArn\\\":\\\"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-refarch-default/550856ea884e2cfa\\\",\\\"TargetGroupName\\\":\\\"ecs-refarch-default\\\",\\\"Protocol\\\":\\\"HTTP\\\",\\\"Port\\\":80,\\\"VpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"HealthCheckProtocol\\\":\\\"HTTP\\\",\\\"HealthCheckPort\\\":\\\"traffic-port\\\",\\\"HealthCheckEnabled\\\":true,\\\"HealthCheckIntervalSeconds\\\":30,\\\"HealthCheckTimeoutSeconds\\\":5,\\\"HealthyThresholdCount\\\":5,\\\"UnhealthyThresholdCount\\\":2,\\\"HealthCheckPath\\\":\\\"/\\\",\\\"Matcher\\\":{\\\"HttpCode\\\":\\\"200\\\"},\\\"LoadBalancerArns\\\":[\\\"arn:aws:elasticloadbalancing:eu-west-1:044981683129:loadbalancer/app/ecs-refarch/59fc9a20002d9393\\\"],\\\"TargetType\\\":\\\"instance\\\",\\\"ProtocolVersion\\\":\\\"HTTP1\\\",\\\"IpAddressType\\\":\\\"ipv4\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-08ab1368aff4e5657","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#TargetGroups:","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#TargetGroups:","private":null,"resourceId":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-refarch-default/550856ea884e2cfa","resourceName":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-refarch-default/550856ea884e2cfa","resourceType":"AWS::ElasticLoadBalancingV2::TargetGroup","resourceValue":null,"state":null,"tags":"[]","title":"targetgroup/ecs-refarch-default/550856ea884e2cfa","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-989,"y":-967.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-r-Targe-1CEAOHL7A3S92/91f8ad87a71b6d0c","resourceId":["arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-r-Targe-1CEAOHL7A3S92/91f8ad87a71b6d0c","arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-r-Targe-1CEAOHL7A3S92/91f8ad87a71b6d0c"],"parent":"TargetGroup-Multiple Availability Zones-vpc-08ab1368aff4e5657-eu-west-1-044981683129","level":5,"id":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-r-Targe-1CEAOHL7A3S92/91f8ad87a71b6d0c","title":"targetgroup/ecs-r-Targe-1CEAOHL7A3S92/91f8ad87a71b6d0c","label":"targetgroup/...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-r-Targe-1CEAOHL7A3S92/91f8ad87a71b6d0c","image":"/icons/ELB-Target-group-light-bg.svg","cost":0,"private":false,"resource":{"id":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-r-Targe-1CEAOHL7A3S92/91f8ad87a71b6d0c","name":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-r-Targe-1CEAOHL7A3S92/91f8ad87a71b6d0c","value":null,"type":"AWS::ElasticLoadBalancingV2::TargetGroup","tags":"[]","arn":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-r-Targe-1CEAOHL7A3S92/91f8ad87a71b6d0c","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#TargetGroups:","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#TargetGroups:","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-r-Targe-1CEAOHL7A3S92/91f8ad87a71b6d0c","configuration":"\"{\\\"TargetGroupArn\\\":\\\"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-r-Targe-1CEAOHL7A3S92/91f8ad87a71b6d0c\\\",\\\"TargetGroupName\\\":\\\"ecs-r-Targe-1CEAOHL7A3S92\\\",\\\"Protocol\\\":\\\"HTTP\\\",\\\"Port\\\":80,\\\"VpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"HealthCheckProtocol\\\":\\\"HTTP\\\",\\\"HealthCheckPort\\\":\\\"traffic-port\\\",\\\"HealthCheckEnabled\\\":true,\\\"HealthCheckIntervalSeconds\\\":10,\\\"HealthCheckTimeoutSeconds\\\":5,\\\"HealthyThresholdCount\\\":2,\\\"UnhealthyThresholdCount\\\":2,\\\"HealthCheckPath\\\":\\\"/products\\\",\\\"Matcher\\\":{\\\"HttpCode\\\":\\\"200-299\\\"},\\\"LoadBalancerArns\\\":[\\\"arn:aws:elasticloadbalancing:eu-west-1:044981683129:loadbalancer/app/ecs-refarch/59fc9a20002d9393\\\"],\\\"TargetType\\\":\\\"instance\\\",\\\"ProtocolVersion\\\":\\\"HTTP1\\\",\\\"IpAddressType\\\":\\\"ipv4\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-08ab1368aff4e5657","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#TargetGroups:","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#TargetGroups:","private":null,"resourceId":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-r-Targe-1CEAOHL7A3S92/91f8ad87a71b6d0c","resourceName":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-r-Targe-1CEAOHL7A3S92/91f8ad87a71b6d0c","resourceType":"AWS::ElasticLoadBalancingV2::TargetGroup","resourceValue":null,"state":null,"tags":"[]","title":"targetgroup/ecs-r-Targe-1CEAOHL7A3S92/91f8ad87a71b6d0c","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1025.5,"y":-1004.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-r-Targe-WGHBKNSPECN5/4ded139adab8201e","resourceId":["arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-r-Targe-WGHBKNSPECN5/4ded139adab8201e","arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-r-Targe-WGHBKNSPECN5/4ded139adab8201e"],"parent":"TargetGroup-Multiple Availability Zones-vpc-08ab1368aff4e5657-eu-west-1-044981683129","level":5,"id":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-r-Targe-WGHBKNSPECN5/4ded139adab8201e","title":"targetgroup/ecs-r-Targe-WGHBKNSPECN5/4ded139adab8201e","label":"targetgroup/...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-r-Targe-WGHBKNSPECN5/4ded139adab8201e","image":"/icons/ELB-Target-group-light-bg.svg","cost":0,"private":false,"resource":{"id":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-r-Targe-WGHBKNSPECN5/4ded139adab8201e","name":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-r-Targe-WGHBKNSPECN5/4ded139adab8201e","value":null,"type":"AWS::ElasticLoadBalancingV2::TargetGroup","tags":"[]","arn":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-r-Targe-WGHBKNSPECN5/4ded139adab8201e","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#TargetGroups:","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#TargetGroups:","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-r-Targe-WGHBKNSPECN5/4ded139adab8201e","configuration":"\"{\\\"TargetGroupArn\\\":\\\"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-r-Targe-WGHBKNSPECN5/4ded139adab8201e\\\",\\\"TargetGroupName\\\":\\\"ecs-r-Targe-WGHBKNSPECN5\\\",\\\"Protocol\\\":\\\"HTTP\\\",\\\"Port\\\":80,\\\"VpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"HealthCheckProtocol\\\":\\\"HTTP\\\",\\\"HealthCheckPort\\\":\\\"traffic-port\\\",\\\"HealthCheckEnabled\\\":true,\\\"HealthCheckIntervalSeconds\\\":10,\\\"HealthCheckTimeoutSeconds\\\":5,\\\"HealthyThresholdCount\\\":2,\\\"UnhealthyThresholdCount\\\":2,\\\"HealthCheckPath\\\":\\\"/\\\",\\\"Matcher\\\":{\\\"HttpCode\\\":\\\"200-299\\\"},\\\"LoadBalancerArns\\\":[\\\"arn:aws:elasticloadbalancing:eu-west-1:044981683129:loadbalancer/app/ecs-refarch/59fc9a20002d9393\\\"],\\\"TargetType\\\":\\\"instance\\\",\\\"ProtocolVersion\\\":\\\"HTTP1\\\",\\\"IpAddressType\\\":\\\"ipv4\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-08ab1368aff4e5657","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#TargetGroups:","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#TargetGroups:","private":null,"resourceId":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-r-Targe-WGHBKNSPECN5/4ded139adab8201e","resourceName":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-r-Targe-WGHBKNSPECN5/4ded139adab8201e","resourceType":"AWS::ElasticLoadBalancingV2::TargetGroup","resourceValue":null,"state":null,"tags":"[]","title":"targetgroup/ecs-r-Targe-WGHBKNSPECN5/4ded139adab8201e","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-952.5,"y":-1004.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-refarch-default/550856ea884e2cfa","resourceId":["arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-refarch-default/550856ea884e2cfa","arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-refarch-default/550856ea884e2cfa"],"parent":"TargetGroup-Multiple Availability Zones-vpc-08ab1368aff4e5657-eu-west-1-044981683129","level":5,"id":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-refarch-default/550856ea884e2cfa","title":"targetgroup/ecs-refarch-default/550856ea884e2cfa","label":"targetgroup/...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-refarch-default/550856ea884e2cfa","image":"/icons/ELB-Target-group-light-bg.svg","cost":0,"private":false,"resource":{"id":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-refarch-default/550856ea884e2cfa","name":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-refarch-default/550856ea884e2cfa","value":null,"type":"AWS::ElasticLoadBalancingV2::TargetGroup","tags":"[]","arn":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-refarch-default/550856ea884e2cfa","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#TargetGroups:","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#TargetGroups:","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-refarch-default/550856ea884e2cfa","configuration":"\"{\\\"TargetGroupArn\\\":\\\"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-refarch-default/550856ea884e2cfa\\\",\\\"TargetGroupName\\\":\\\"ecs-refarch-default\\\",\\\"Protocol\\\":\\\"HTTP\\\",\\\"Port\\\":80,\\\"VpcId\\\":\\\"vpc-08ab1368aff4e5657\\\",\\\"HealthCheckProtocol\\\":\\\"HTTP\\\",\\\"HealthCheckPort\\\":\\\"traffic-port\\\",\\\"HealthCheckEnabled\\\":true,\\\"HealthCheckIntervalSeconds\\\":30,\\\"HealthCheckTimeoutSeconds\\\":5,\\\"HealthyThresholdCount\\\":5,\\\"UnhealthyThresholdCount\\\":2,\\\"HealthCheckPath\\\":\\\"/\\\",\\\"Matcher\\\":{\\\"HttpCode\\\":\\\"200\\\"},\\\"LoadBalancerArns\\\":[\\\"arn:aws:elasticloadbalancing:eu-west-1:044981683129:loadbalancer/app/ecs-refarch/59fc9a20002d9393\\\"],\\\"TargetType\\\":\\\"instance\\\",\\\"ProtocolVersion\\\":\\\"HTTP1\\\",\\\"IpAddressType\\\":\\\"ipv4\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-08ab1368aff4e5657","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#TargetGroups:","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#TargetGroups:","private":null,"resourceId":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-refarch-default/550856ea884e2cfa","resourceName":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-refarch-default/550856ea884e2cfa","resourceType":"AWS::ElasticLoadBalancingV2::TargetGroup","resourceValue":null,"state":null,"tags":"[]","title":"targetgroup/ecs-refarch-default/550856ea884e2cfa","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1025.5,"y":-931.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"eu-west-1a,eu-west-1b-vpc-08ab1368aff4e5657-eu-west-1-044981683129","parent":"vpc-08ab1368aff4e5657-eu-west-1-044981683129","level":3,"title":"eu-west-1a,eu-west-1b","label":"eu-west-1a,eu-west-1b","plainLabel":"eu-west-1a,eu-west-1b","type":"availabilityZone","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/availabilityZone.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":null,"label":"AutoScalingGroup","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:autoscaling:eu-west-1:044981683129:autoScalingGroup:afb5ee16-414e-4850-a65a-03b6f80e0a5b:autoScalingGroupName/ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD","label":"AWS_AutoScaling_AutoScalingGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:autoscaling:eu-west-1:044981683129:autoScalingGroup:afb5ee16-414e-4850-a65a-03b6f80e0a5b:autoScalingGroupName/ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD","configuration":"\"{\\\"healthCheckType\\\":\\\"EC2\\\",\\\"loadBalancerNames\\\":[],\\\"instances\\\":[{\\\"lifecycleState\\\":\\\"InService\\\",\\\"launchConfigurationName\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSLaunchConfiguration-VJ0I7YPXHY6F\\\",\\\"instanceId\\\":\\\"i-038f307ddeb9caaec\\\",\\\"healthStatus\\\":\\\"Healthy\\\",\\\"instanceType\\\":\\\"t2.large\\\",\\\"protectedFromScaleIn\\\":false,\\\"availabilityZone\\\":\\\"eu-west-1b\\\"},{\\\"lifecycleState\\\":\\\"InService\\\",\\\"launchConfigurationName\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSLaunchConfiguration-VJ0I7YPXHY6F\\\",\\\"instanceId\\\":\\\"i-052f9f64097ac2769\\\",\\\"healthStatus\\\":\\\"Healthy\\\",\\\"instanceType\\\":\\\"t2.large\\\",\\\"protectedFromScaleIn\\\":false,\\\"availabilityZone\\\":\\\"eu-west-1a\\\"},{\\\"lifecycleState\\\":\\\"InService\\\",\\\"launchConfigurationName\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSLaunchConfiguration-VJ0I7YPXHY6F\\\",\\\"instanceId\\\":\\\"i-0568d352e5293f7ba\\\",\\\"healthStatus\\\":\\\"Healthy\\\",\\\"instanceType\\\":\\\"t2.large\\\",\\\"protectedFromScaleIn\\\":false,\\\"availabilityZone\\\":\\\"eu-west-1b\\\"},{\\\"lifecycleState\\\":\\\"InService\\\",\\\"launchConfigurationName\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSLaunchConfiguration-VJ0I7YPXHY6F\\\",\\\"instanceId\\\":\\\"i-0c90e93ebfc159e4a\\\",\\\"healthStatus\\\":\\\"Healthy\\\",\\\"instanceType\\\":\\\"t2.large\\\",\\\"protectedFromScaleIn\\\":false,\\\"availabilityZone\\\":\\\"eu-west-1a\\\"}],\\\"terminationPolicies\\\":[\\\"Default\\\"],\\\"defaultCooldown\\\":300,\\\"autoScalingGroupARN\\\":\\\"arn:aws:autoscaling:eu-west-1:044981683129:autoScalingGroup:afb5ee16-414e-4850-a65a-03b6f80e0a5b:autoScalingGroupName/ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\\\",\\\"enabledMetrics\\\":[],\\\"maxSize\\\":4,\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"}],\\\"targetGroupARNs\\\":[],\\\"tags\\\":[{\\\"resourceId\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\\\",\\\"propagateAtLaunch\\\":true,\\\"value\\\":\\\"ecs-refarch ECS host\\\",\\\"key\\\":\\\"Name\\\",\\\"resourceType\\\":\\\"auto-scaling-group\\\"},{\\\"resourceId\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\\\",\\\"propagateAtLaunch\\\":true,\\\"value\\\":\\\"ECSAutoScalingGroup\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\",\\\"resourceType\\\":\\\"auto-scaling-group\\\"},{\\\"resourceId\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\\\",\\\"propagateAtLaunch\\\":true,\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\",\\\"resourceType\\\":\\\"auto-scaling-group\\\"},{\\\"resourceId\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\\\",\\\"propagateAtLaunch\\\":true,\\\"value\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\",\\\"resourceType\\\":\\\"auto-scaling-group\\\"}],\\\"serviceLinkedRoleARN\\\":\\\"arn:aws:iam::044981683129:role/aws-service-role/autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling\\\",\\\"launchConfigurationName\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSLaunchConfiguration-VJ0I7YPXHY6F\\\",\\\"autoScalingGroupName\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\\\",\\\"healthCheckGracePeriod\\\":0,\\\"newInstancesProtectedFromScaleIn\\\":false,\\\"createdTime\\\":1605113387750,\\\"minSize\\\":4,\\\"suspendedProcesses\\\":[],\\\"vpczoneIdentifier\\\":\\\"subnet-05b78a71606d218fa,subnet-05e96e37260564e8f\\\",\\\"desiredCapacity\\\":4,\\\"trafficSources\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a,eu-west-1b","vpcId":"vpc-08ab1368aff4e5657","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/home/autoscaling/home?region=eu-west-1#AutoScalingGroups:id=ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD;view=details","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2/autoscaling/home?region=eu-west-1#AutoScalingGroups:id=ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD;view=details","private":null,"resourceId":"arn:aws:autoscaling:eu-west-1:044981683129:autoScalingGroup:afb5ee16-414e-4850-a65a-03b6f80e0a5b:autoScalingGroupName/ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD","resourceName":"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD","resourceType":"AWS::AutoScaling::AutoScalingGroup","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-ECS-1AFGNR7O7APCU\",\"value\":\"ecs-refarch-ECS-1AFGNR7O7APCU\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=ECSAutoScalingGroup\",\"value\":\"ECSAutoScalingGroup\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch ECS host\",\"value\":\"ecs-refarch ECS host\",\"key\":\"Name\"}]","title":"ecs-refarch ECS host","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-314.5,"y":-1004.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"availabilityZone removeAll _gridParentPadding"},{"data":{"id":"AutoScalingGroup-eu-west-1a,eu-west-1b-vpc-08ab1368aff4e5657-eu-west-1-044981683129","parent":"eu-west-1a,eu-west-1b-vpc-08ab1368aff4e5657-eu-west-1-044981683129","level":4,"title":"AutoScalingGroup","label":"AutoScalingGroup","plainLabel":"AutoScalingGroup","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-EC2-Auto-Scaling.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:autoscaling:eu-west-1:044981683129:autoScalingGroup:afb5ee16-414e-4850-a65a-03b6f80e0a5b:autoScalingGroupName/ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD","label":"AWS_AutoScaling_AutoScalingGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:autoscaling:eu-west-1:044981683129:autoScalingGroup:afb5ee16-414e-4850-a65a-03b6f80e0a5b:autoScalingGroupName/ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD","configuration":"\"{\\\"healthCheckType\\\":\\\"EC2\\\",\\\"loadBalancerNames\\\":[],\\\"instances\\\":[{\\\"lifecycleState\\\":\\\"InService\\\",\\\"launchConfigurationName\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSLaunchConfiguration-VJ0I7YPXHY6F\\\",\\\"instanceId\\\":\\\"i-038f307ddeb9caaec\\\",\\\"healthStatus\\\":\\\"Healthy\\\",\\\"instanceType\\\":\\\"t2.large\\\",\\\"protectedFromScaleIn\\\":false,\\\"availabilityZone\\\":\\\"eu-west-1b\\\"},{\\\"lifecycleState\\\":\\\"InService\\\",\\\"launchConfigurationName\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSLaunchConfiguration-VJ0I7YPXHY6F\\\",\\\"instanceId\\\":\\\"i-052f9f64097ac2769\\\",\\\"healthStatus\\\":\\\"Healthy\\\",\\\"instanceType\\\":\\\"t2.large\\\",\\\"protectedFromScaleIn\\\":false,\\\"availabilityZone\\\":\\\"eu-west-1a\\\"},{\\\"lifecycleState\\\":\\\"InService\\\",\\\"launchConfigurationName\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSLaunchConfiguration-VJ0I7YPXHY6F\\\",\\\"instanceId\\\":\\\"i-0568d352e5293f7ba\\\",\\\"healthStatus\\\":\\\"Healthy\\\",\\\"instanceType\\\":\\\"t2.large\\\",\\\"protectedFromScaleIn\\\":false,\\\"availabilityZone\\\":\\\"eu-west-1b\\\"},{\\\"lifecycleState\\\":\\\"InService\\\",\\\"launchConfigurationName\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSLaunchConfiguration-VJ0I7YPXHY6F\\\",\\\"instanceId\\\":\\\"i-0c90e93ebfc159e4a\\\",\\\"healthStatus\\\":\\\"Healthy\\\",\\\"instanceType\\\":\\\"t2.large\\\",\\\"protectedFromScaleIn\\\":false,\\\"availabilityZone\\\":\\\"eu-west-1a\\\"}],\\\"terminationPolicies\\\":[\\\"Default\\\"],\\\"defaultCooldown\\\":300,\\\"autoScalingGroupARN\\\":\\\"arn:aws:autoscaling:eu-west-1:044981683129:autoScalingGroup:afb5ee16-414e-4850-a65a-03b6f80e0a5b:autoScalingGroupName/ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\\\",\\\"enabledMetrics\\\":[],\\\"maxSize\\\":4,\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"}],\\\"targetGroupARNs\\\":[],\\\"tags\\\":[{\\\"resourceId\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\\\",\\\"propagateAtLaunch\\\":true,\\\"value\\\":\\\"ecs-refarch ECS host\\\",\\\"key\\\":\\\"Name\\\",\\\"resourceType\\\":\\\"auto-scaling-group\\\"},{\\\"resourceId\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\\\",\\\"propagateAtLaunch\\\":true,\\\"value\\\":\\\"ECSAutoScalingGroup\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\",\\\"resourceType\\\":\\\"auto-scaling-group\\\"},{\\\"resourceId\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\\\",\\\"propagateAtLaunch\\\":true,\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\",\\\"resourceType\\\":\\\"auto-scaling-group\\\"},{\\\"resourceId\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\\\",\\\"propagateAtLaunch\\\":true,\\\"value\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\",\\\"resourceType\\\":\\\"auto-scaling-group\\\"}],\\\"serviceLinkedRoleARN\\\":\\\"arn:aws:iam::044981683129:role/aws-service-role/autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling\\\",\\\"launchConfigurationName\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSLaunchConfiguration-VJ0I7YPXHY6F\\\",\\\"autoScalingGroupName\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\\\",\\\"healthCheckGracePeriod\\\":0,\\\"newInstancesProtectedFromScaleIn\\\":false,\\\"createdTime\\\":1605113387750,\\\"minSize\\\":4,\\\"suspendedProcesses\\\":[],\\\"vpczoneIdentifier\\\":\\\"subnet-05b78a71606d218fa,subnet-05e96e37260564e8f\\\",\\\"desiredCapacity\\\":4,\\\"trafficSources\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a,eu-west-1b","vpcId":"vpc-08ab1368aff4e5657","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/home/autoscaling/home?region=eu-west-1#AutoScalingGroups:id=ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD;view=details","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2/autoscaling/home?region=eu-west-1#AutoScalingGroups:id=ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD;view=details","private":null,"resourceId":"arn:aws:autoscaling:eu-west-1:044981683129:autoScalingGroup:afb5ee16-414e-4850-a65a-03b6f80e0a5b:autoScalingGroupName/ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD","resourceName":"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD","resourceType":"AWS::AutoScaling::AutoScalingGroup","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-ECS-1AFGNR7O7APCU\",\"value\":\"ecs-refarch-ECS-1AFGNR7O7APCU\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=ECSAutoScalingGroup\",\"value\":\"ECSAutoScalingGroup\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch ECS host\",\"value\":\"ecs-refarch ECS host\",\"key\":\"Name\"}]","title":"ecs-refarch ECS host","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-314.5,"y":-1004.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:autoscaling:eu-west-1:044981683129:autoScalingGroup:afb5ee16-414e-4850-a65a-03b6f80e0a5b:autoScalingGroupName/ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD","resourceId":["arn:aws:autoscaling:eu-west-1:044981683129:autoScalingGroup:afb5ee16-414e-4850-a65a-03b6f80e0a5b:autoScalingGroupName/ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD","arn:aws:autoscaling:eu-west-1:044981683129:autoScalingGroup:afb5ee16-414e-4850-a65a-03b6f80e0a5b:autoScalingGroupName/ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD"],"parent":"AutoScalingGroup-eu-west-1a,eu-west-1b-vpc-08ab1368aff4e5657-eu-west-1-044981683129","level":5,"id":"arn:aws:autoscaling:eu-west-1:044981683129:autoScalingGroup:afb5ee16-414e-4850-a65a-03b6f80e0a5b:autoScalingGroupName/ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD","title":"ecs-refarch ECS host","label":"ecs-refarch ...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:autoscaling:eu-west-1:044981683129:autoScalingGroup:afb5ee16-414e-4850-a65a-03b6f80e0a5b:autoScalingGroupName/ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD","image":"/icons/Amazon-EC2-Auto-Scaling.svg","cost":0,"private":false,"resource":{"id":"arn:aws:autoscaling:eu-west-1:044981683129:autoScalingGroup:afb5ee16-414e-4850-a65a-03b6f80e0a5b:autoScalingGroupName/ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD","name":"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD","value":null,"type":"AWS::AutoScaling::AutoScalingGroup","tags":"[{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-ECS-1AFGNR7O7APCU\",\"value\":\"ecs-refarch-ECS-1AFGNR7O7APCU\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=ECSAutoScalingGroup\",\"value\":\"ECSAutoScalingGroup\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch ECS host\",\"value\":\"ecs-refarch ECS host\",\"key\":\"Name\"}]","arn":"arn:aws:autoscaling:eu-west-1:044981683129:autoScalingGroup:afb5ee16-414e-4850-a65a-03b6f80e0a5b:autoScalingGroupName/ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/home/autoscaling/home?region=eu-west-1#AutoScalingGroups:id=ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD;view=details","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2/autoscaling/home?region=eu-west-1#AutoScalingGroups:id=ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD;view=details","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:autoscaling:eu-west-1:044981683129:autoScalingGroup:afb5ee16-414e-4850-a65a-03b6f80e0a5b:autoScalingGroupName/ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD","configuration":"\"{\\\"healthCheckType\\\":\\\"EC2\\\",\\\"loadBalancerNames\\\":[],\\\"instances\\\":[{\\\"lifecycleState\\\":\\\"InService\\\",\\\"launchConfigurationName\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSLaunchConfiguration-VJ0I7YPXHY6F\\\",\\\"instanceId\\\":\\\"i-038f307ddeb9caaec\\\",\\\"healthStatus\\\":\\\"Healthy\\\",\\\"instanceType\\\":\\\"t2.large\\\",\\\"protectedFromScaleIn\\\":false,\\\"availabilityZone\\\":\\\"eu-west-1b\\\"},{\\\"lifecycleState\\\":\\\"InService\\\",\\\"launchConfigurationName\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSLaunchConfiguration-VJ0I7YPXHY6F\\\",\\\"instanceId\\\":\\\"i-052f9f64097ac2769\\\",\\\"healthStatus\\\":\\\"Healthy\\\",\\\"instanceType\\\":\\\"t2.large\\\",\\\"protectedFromScaleIn\\\":false,\\\"availabilityZone\\\":\\\"eu-west-1a\\\"},{\\\"lifecycleState\\\":\\\"InService\\\",\\\"launchConfigurationName\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSLaunchConfiguration-VJ0I7YPXHY6F\\\",\\\"instanceId\\\":\\\"i-0568d352e5293f7ba\\\",\\\"healthStatus\\\":\\\"Healthy\\\",\\\"instanceType\\\":\\\"t2.large\\\",\\\"protectedFromScaleIn\\\":false,\\\"availabilityZone\\\":\\\"eu-west-1b\\\"},{\\\"lifecycleState\\\":\\\"InService\\\",\\\"launchConfigurationName\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSLaunchConfiguration-VJ0I7YPXHY6F\\\",\\\"instanceId\\\":\\\"i-0c90e93ebfc159e4a\\\",\\\"healthStatus\\\":\\\"Healthy\\\",\\\"instanceType\\\":\\\"t2.large\\\",\\\"protectedFromScaleIn\\\":false,\\\"availabilityZone\\\":\\\"eu-west-1a\\\"}],\\\"terminationPolicies\\\":[\\\"Default\\\"],\\\"defaultCooldown\\\":300,\\\"autoScalingGroupARN\\\":\\\"arn:aws:autoscaling:eu-west-1:044981683129:autoScalingGroup:afb5ee16-414e-4850-a65a-03b6f80e0a5b:autoScalingGroupName/ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\\\",\\\"enabledMetrics\\\":[],\\\"maxSize\\\":4,\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"}],\\\"targetGroupARNs\\\":[],\\\"tags\\\":[{\\\"resourceId\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\\\",\\\"propagateAtLaunch\\\":true,\\\"value\\\":\\\"ecs-refarch ECS host\\\",\\\"key\\\":\\\"Name\\\",\\\"resourceType\\\":\\\"auto-scaling-group\\\"},{\\\"resourceId\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\\\",\\\"propagateAtLaunch\\\":true,\\\"value\\\":\\\"ECSAutoScalingGroup\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\",\\\"resourceType\\\":\\\"auto-scaling-group\\\"},{\\\"resourceId\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\\\",\\\"propagateAtLaunch\\\":true,\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\",\\\"resourceType\\\":\\\"auto-scaling-group\\\"},{\\\"resourceId\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\\\",\\\"propagateAtLaunch\\\":true,\\\"value\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\",\\\"resourceType\\\":\\\"auto-scaling-group\\\"}],\\\"serviceLinkedRoleARN\\\":\\\"arn:aws:iam::044981683129:role/aws-service-role/autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling\\\",\\\"launchConfigurationName\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSLaunchConfiguration-VJ0I7YPXHY6F\\\",\\\"autoScalingGroupName\\\":\\\"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD\\\",\\\"healthCheckGracePeriod\\\":0,\\\"newInstancesProtectedFromScaleIn\\\":false,\\\"createdTime\\\":1605113387750,\\\"minSize\\\":4,\\\"suspendedProcesses\\\":[],\\\"vpczoneIdentifier\\\":\\\"subnet-05b78a71606d218fa,subnet-05e96e37260564e8f\\\",\\\"desiredCapacity\\\":4,\\\"trafficSources\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a,eu-west-1b","vpcId":"vpc-08ab1368aff4e5657","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/home/autoscaling/home?region=eu-west-1#AutoScalingGroups:id=ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD;view=details","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2/autoscaling/home?region=eu-west-1#AutoScalingGroups:id=ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD;view=details","private":null,"resourceId":"arn:aws:autoscaling:eu-west-1:044981683129:autoScalingGroup:afb5ee16-414e-4850-a65a-03b6f80e0a5b:autoScalingGroupName/ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD","resourceName":"ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD","resourceType":"AWS::AutoScaling::AutoScalingGroup","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=ecs-refarch-ECS-1AFGNR7O7APCU\",\"value\":\"ecs-refarch-ECS-1AFGNR7O7APCU\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-ECS-1AFGNR7O7APCU/8ea3b330-243d-11eb-879a-02201fce1aec\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=ECSAutoScalingGroup\",\"value\":\"ECSAutoScalingGroup\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=ecs-refarch ECS host\",\"value\":\"ecs-refarch ECS host\",\"key\":\"Name\"}]","title":"ecs-refarch ECS host","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-314.5,"y":-1004.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:tags::044981683129:tag/Name=ecs-refarch","resourceId":["arn:aws:tags::044981683129:tag/Name=ecs-refarch","arn:aws:tags::044981683129:tag/Name=ecs-refarch"],"parent":"Tag-global-044981683129","level":3,"id":"arn:aws:tags::044981683129:tag/Name=ecs-refarch","title":"Name=ecs-refarch","label":"Name=ecs-ref...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:tags::044981683129:tag/Name=ecs-refarch","image":"/icons/AWS-Tags-bg.svg","cost":0,"private":false,"resource":{"id":"arn:aws:tags::044981683129:tag/Name=ecs-refarch","name":"Name=ecs-refarch","value":null,"type":"AWS::Tags::Tag","tags":"[]","arn":"arn:aws:tags::044981683129:tag/Name=ecs-refarch","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:tags::044981683129:tag/Name=ecs-refarch","configuration":"\"{}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:tags::044981683129:tag/Name=ecs-refarch","resourceName":"Name=ecs-refarch","resourceType":"AWS::Tags::Tag","resourceValue":null,"state":null,"tags":"[]","title":"Name=ecs-refarch","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":841.5,"y":-1826.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:tags::044981683129:tag/aws:cloudformation:stack-name=ecs-refarch-VPC-10OMNTHQBEJPY","resourceId":["arn:aws:tags::044981683129:tag/aws:cloudformation:stack-name=ecs-refarch-VPC-10OMNTHQBEJPY","arn:aws:tags::044981683129:tag/aws:cloudformation:stack-name=ecs-refarch-VPC-10OMNTHQBEJPY"],"parent":"Tag-global-044981683129","level":3,"id":"arn:aws:tags::044981683129:tag/aws:cloudformation:stack-name=ecs-refarch-VPC-10OMNTHQBEJPY","title":"aws:cloudformation:stack-name=ecs-refarch-VPC-10OMNTHQBEJPY","label":"aws:cloudfor...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:tags::044981683129:tag/aws:cloudformation:stack-name=ecs-refarch-VPC-10OMNTHQBEJPY","image":"/icons/AWS-Tags-bg.svg","cost":0,"private":false,"resource":{"id":"arn:aws:tags::044981683129:tag/aws:cloudformation:stack-name=ecs-refarch-VPC-10OMNTHQBEJPY","name":"aws:cloudformation:stack-name=ecs-refarch-VPC-10OMNTHQBEJPY","value":null,"type":"AWS::Tags::Tag","tags":"[]","arn":"arn:aws:tags::044981683129:tag/aws:cloudformation:stack-name=ecs-refarch-VPC-10OMNTHQBEJPY","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:tags::044981683129:tag/aws:cloudformation:stack-name=ecs-refarch-VPC-10OMNTHQBEJPY","configuration":"\"{}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:tags::044981683129:tag/aws:cloudformation:stack-name=ecs-refarch-VPC-10OMNTHQBEJPY","resourceName":"aws:cloudformation:stack-name=ecs-refarch-VPC-10OMNTHQBEJPY","resourceType":"AWS::Tags::Tag","resourceValue":null,"state":null,"tags":"[]","title":"aws:cloudformation:stack-name=ecs-refarch-VPC-10OMNTHQBEJPY","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":841.5,"y":-1753.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:tags::044981683129:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436","resourceId":["arn:aws:tags::044981683129:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436","arn:aws:tags::044981683129:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436"],"parent":"Tag-global-044981683129","level":3,"id":"arn:aws:tags::044981683129:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436","title":"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436","label":"aws:cloudfor...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:tags::044981683129:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436","image":"/icons/AWS-Tags-bg.svg","cost":0,"private":false,"resource":{"id":"arn:aws:tags::044981683129:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436","name":"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436","value":null,"type":"AWS::Tags::Tag","tags":"[]","arn":"arn:aws:tags::044981683129:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:tags::044981683129:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436","configuration":"\"{}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:tags::044981683129:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436","resourceName":"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436","resourceType":"AWS::Tags::Tag","resourceValue":null,"state":null,"tags":"[]","title":"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":841.5,"y":-1680.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-0f27068a93df074c1","resourceId":["vpc-0f27068a93df074c1","arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-0f27068a93df074c1"],"parent":"VPC-Multiple Availability Zones-eu-west-1-044981683129","level":4,"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-0f27068a93df074c1","title":"vpc-0f27068a93df074c1","label":"vpc-0f27068a...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-0f27068a93df074c1","image":"/icons/VPC-menu.svg","cost":0,"private":false,"resource":{"id":"vpc-0f27068a93df074c1","name":null,"value":null,"type":"AWS::EC2::VPC","tags":"[{\"tag\":\"AWSServiceAccount=368321020290\",\"value\":\"368321020290\",\"key\":\"AWSServiceAccount\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-0f27068a93df074c1","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#vpcs:sort=VpcId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#vpcs:sort=VpcId","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-0f27068a93df074c1","configuration":"\"{\\\"instanceTenancy\\\":\\\"default\\\",\\\"isDefault\\\":false,\\\"dhcpOptionsId\\\":\\\"dopt-01ea0a1b1a9b59c0a\\\",\\\"cidrBlock\\\":\\\"172.16.0.0/16\\\",\\\"vpcId\\\":\\\"vpc-0f27068a93df074c1\\\",\\\"cidrBlockAssociationSet\\\":[{\\\"cidrBlock\\\":\\\"172.16.0.0/16\\\",\\\"cidrBlockState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"associationId\\\":\\\"vpc-cidr-assoc-0df0f20a7fb940983\\\"}],\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipv6CidrBlockAssociationSet\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"368321020290\\\",\\\"key\\\":\\\"AWSServiceAccount\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":null,"subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#vpcs:sort=VpcId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#vpcs:sort=VpcId","private":null,"resourceId":"vpc-0f27068a93df074c1","resourceName":null,"resourceType":"AWS::EC2::VPC","resourceValue":null,"state":null,"tags":"[{\"tag\":\"AWSServiceAccount=368321020290\",\"value\":\"368321020290\",\"key\":\"AWSServiceAccount\"}]","title":"vpc-0f27068a93df074c1","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-447.5,"y":-442.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"id":"vpc-0f27068a93df074c1-eu-west-1-044981683129","parent":"eu-west-1-044981683129","level":2,"title":"vpc-0f27068a93df074c1","label":"vpc-0f27068a93df074c1","plainLabel":"vpc-0f27068a93df074c1","type":"vpc","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/VPC-collapsed.svg","clickedId":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-0f27068a93df074c1","cost":0,"hasChildren":true,"children":[{"id":null,"label":"SecurityGroup","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-02921e9e24e1eef6b","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-02921e9e24e1eef6b","configuration":"\"{\\\"groupName\\\":\\\"d-936716ab61_controllers\\\",\\\"groupId\\\":\\\"sg-02921e9e24e1eef6b\\\",\\\"vpcId\\\":\\\"vpc-0f27068a93df074c1\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[{\\\"groupId\\\":\\\"sg-02921e9e24e1eef6b\\\",\\\"userId\\\":\\\"044981683129\\\"}],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"AWS created security group for d-936716ab61 directory controllers\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":445,\\\"toPort\\\":445,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"udp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":138,\\\"toPort\\\":138,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"udp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":464,\\\"toPort\\\":464,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"udp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":464,\\\"toPort\\\":464,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":389,\\\"toPort\\\":389,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"udp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":53,\\\"toPort\\\":53,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"udp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":389,\\\"toPort\\\":389,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":123,\\\"toPort\\\":123,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"udp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":445,\\\"toPort\\\":445,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":-1,\\\"toPort\\\":-1,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"icmp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":3268,\\\"toPort\\\":3269,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":1024,\\\"toPort\\\":65535,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":88,\\\"toPort\\\":88,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[{\\\"groupId\\\":\\\"sg-02921e9e24e1eef6b\\\",\\\"userId\\\":\\\"044981683129\\\"}],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":135,\\\"toPort\\\":135,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":636,\\\"toPort\\\":636,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":53,\\\"toPort\\\":53,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":88,\\\"toPort\\\":88,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"udp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-0f27068a93df074c1","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-02921e9e24e1eef6b","resourceName":"d-936716ab61_controllers","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"d-936716ab61_controllers","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0fc173b8786ec84c2","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0fc173b8786ec84c2","configuration":"\"{\\\"groupName\\\":\\\"d-936716ab61_workspacesMembers\\\",\\\"groupId\\\":\\\"sg-0fc173b8786ec84c2\\\",\\\"vpcId\\\":\\\"vpc-0f27068a93df074c1\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"Amazon WorkSpaces Security Group\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipPermissions\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"Amazon WorkSpaces\\\",\\\"key\\\":\\\"Created by Amazon WorkSpaces\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-0f27068a93df074c1","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0fc173b8786ec84c2","resourceName":"d-936716ab61_workspacesMembers","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[{\"tag\":\"Created by Amazon WorkSpaces=Amazon WorkSpaces\",\"value\":\"Amazon WorkSpaces\",\"key\":\"Created by Amazon WorkSpaces\"}]","title":"d-936716ab61_workspacesMembers","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-071327a7bb5018e3e","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-071327a7bb5018e3e","configuration":"\"{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-071327a7bb5018e3e\\\",\\\"vpcId\\\":\\\"vpc-0f27068a93df074c1\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"default VPC security group\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[{\\\"groupId\\\":\\\"sg-071327a7bb5018e3e\\\",\\\"userId\\\":\\\"044981683129\\\"}],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-0f27068a93df074c1","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-071327a7bb5018e3e","resourceName":"default","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"default","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]},{"id":null,"label":"RouteTable","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-017cc2d339e1ed5da","label":"AWS_EC2_RouteTable","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-017cc2d339e1ed5da","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-09cfc5b68fa256b43\\\",\\\"routeTableId\\\":\\\"rtb-017cc2d339e1ed5da\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-035e5ffdd97476ab6\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":false},{\\\"subnetId\\\":\\\"subnet-0d96be44a07addc96\\\",\\\"routeTableId\\\":\\\"rtb-017cc2d339e1ed5da\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-08e6dd5ae97de0604\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":false}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"172.16.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"},{\\\"destinationCidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"igw-0d12c394dd2585e2b\\\"}],\\\"routeTableId\\\":\\\"rtb-017cc2d339e1ed5da\\\",\\\"vpcId\\\":\\\"vpc-0f27068a93df074c1\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"368321020290\\\",\\\"key\\\":\\\"AWSServiceAccount\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-0f27068a93df074c1","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-017cc2d339e1ed5da","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[{\"tag\":\"AWSServiceAccount=368321020290\",\"value\":\"368321020290\",\"key\":\"AWSServiceAccount\"}]","title":"rtb-017cc2d339e1ed5da","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-03d5c9427a711ab93","label":"AWS_EC2_RouteTable","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-03d5c9427a711ab93","configuration":"\"{\\\"associations\\\":[{\\\"routeTableId\\\":\\\"rtb-03d5c9427a711ab93\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-01565163c483b1627\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":true}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"172.16.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"}],\\\"routeTableId\\\":\\\"rtb-03d5c9427a711ab93\\\",\\\"vpcId\\\":\\\"vpc-0f27068a93df074c1\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-0f27068a93df074c1","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-03d5c9427a711ab93","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[]","title":"rtb-03d5c9427a711ab93","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]},{"id":null,"label":"eu-west-1c","parent":null,"type":"availabilityZone","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-09cfc5b68fa256b43","label":"subnet-09cfc5b68fa256b43","parent":null,"type":"subnet","data":{"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-09cfc5b68fa256b43","configuration":"\"{\\\"subnetId\\\":\\\"subnet-09cfc5b68fa256b43\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-09cfc5b68fa256b43\\\",\\\"availabilityZoneId\\\":\\\"euw1-az1\\\",\\\"cidrBlock\\\":\\\"172.16.0.0/24\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"368321020290\\\",\\\"key\\\":\\\"AWSServiceAccount\\\"}],\\\"availableIpAddressCount\\\":249,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-0f27068a93df074c1\\\",\\\"mapPublicIpOnLaunch\\\":false,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-0f27068a93df074c1","subnetId":"subnet-09cfc5b68fa256b43","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":"true","resourceId":"subnet-09cfc5b68fa256b43","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"AWSServiceAccount=368321020290\",\"value\":\"368321020290\",\"key\":\"AWSServiceAccount\"}]","title":"subnet-09cfc5b68fa256b43","instanceType":null,"statement":null,"dBInstanceStatus":null},"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-09cfc5b68fa256b43","label":"AWS_EC2_Subnet"},"properties":null,"children":[{"id":null,"label":"NetworkInterface","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-006291eb5438b1ab4","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-006291eb5438b1ab4","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-006291eb5438b1ab4\\\",\\\"privateIpAddresses\\\":[{\\\"privateIpAddress\\\":\\\"172.16.0.15\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-09cfc5b68fa256b43\\\",\\\"requesterId\\\":\\\"953619373526\\\",\\\"description\\\":\\\"AWS created network interface for directory d-936716ab61\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"d-936716ab61_controllers\\\",\\\"groupId\\\":\\\"sg-02921e9e24e1eef6b\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"172.16.0.15\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:f3:06:e2:c4:96\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0b21da779624bf557\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"953619373526\\\",\\\"attachTime\\\":\\\"2022-04-29T18:09:22.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-0f27068a93df074c1\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-0f27068a93df074c1","subnetId":"subnet-09cfc5b68fa256b43","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-006291eb5438b1ab4","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-006291eb5438b1ab4","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0e3ecd29f1f197f49","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0e3ecd29f1f197f49","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0e3ecd29f1f197f49\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"368321020290\\\",\\\"publicIp\\\":\\\"34.255.158.78\\\",\\\"publicDnsName\\\":\\\"\\\"},\\\"privateIpAddress\\\":\\\"172.16.0.51\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-09cfc5b68fa256b43\\\",\\\"requesterId\\\":\\\"AROAQU6I6AO4SAA7TXDCD:WorkSpace-Creation\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"368321020290\\\",\\\"publicIp\\\":\\\"34.255.158.78\\\",\\\"publicDnsName\\\":\\\"\\\"},\\\"description\\\":\\\"Created By Amazon Workspaces for AWS Account ID 044981683129\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"d-936716ab61_workspacesMembers\\\",\\\"groupId\\\":\\\"sg-0fc173b8786ec84c2\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"172.16.0.51\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:fe:0b:c9:22:8e\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0f4229cb9e58de7a2\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"368321020290\\\",\\\"attachTime\\\":\\\"2020-01-14T11:41:32.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-0f27068a93df074c1\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-0f27068a93df074c1","subnetId":"subnet-09cfc5b68fa256b43","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0e3ecd29f1f197f49","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0e3ecd29f1f197f49","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}]}]},{"id":null,"label":"eu-west-1a","parent":null,"type":"availabilityZone","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0d96be44a07addc96","label":"subnet-0d96be44a07addc96","parent":null,"type":"subnet","data":{"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0d96be44a07addc96","configuration":"\"{\\\"subnetId\\\":\\\"subnet-0d96be44a07addc96\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0d96be44a07addc96\\\",\\\"availabilityZoneId\\\":\\\"euw1-az2\\\",\\\"cidrBlock\\\":\\\"172.16.1.0/24\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"368321020290\\\",\\\"key\\\":\\\"AWSServiceAccount\\\"}],\\\"availableIpAddressCount\\\":249,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-0f27068a93df074c1\\\",\\\"mapPublicIpOnLaunch\\\":false,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-0f27068a93df074c1","subnetId":"subnet-0d96be44a07addc96","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":"true","resourceId":"subnet-0d96be44a07addc96","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"AWSServiceAccount=368321020290\",\"value\":\"368321020290\",\"key\":\"AWSServiceAccount\"}]","title":"subnet-0d96be44a07addc96","instanceType":null,"statement":null,"dBInstanceStatus":null},"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0d96be44a07addc96","label":"AWS_EC2_Subnet"},"properties":null,"children":[{"id":null,"label":"NetworkInterface","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-00c96d08534de9a77","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-00c96d08534de9a77","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-00c96d08534de9a77\\\",\\\"privateIpAddresses\\\":[{\\\"privateIpAddress\\\":\\\"172.16.1.114\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0d96be44a07addc96\\\",\\\"requesterId\\\":\\\"953619373526\\\",\\\"description\\\":\\\"AWS created network interface for directory d-936716ab61\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"d-936716ab61_controllers\\\",\\\"groupId\\\":\\\"sg-02921e9e24e1eef6b\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"172.16.1.114\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:90:27:56:38:80\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0fd506a373d2b6852\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"953619373526\\\",\\\"attachTime\\\":\\\"2021-07-15T15:26:09.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-0f27068a93df074c1\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-0f27068a93df074c1","subnetId":"subnet-0d96be44a07addc96","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-00c96d08534de9a77","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-00c96d08534de9a77","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0392df5432916f720","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0392df5432916f720","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0392df5432916f720\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"368321020290\\\",\\\"publicIp\\\":\\\"54.170.38.32\\\",\\\"publicDnsName\\\":\\\"\\\"},\\\"privateIpAddress\\\":\\\"172.16.1.142\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0d96be44a07addc96\\\",\\\"requesterId\\\":\\\"AROAQU6I6AO4SAA7TXDCD:WorkSpace-Creation\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"368321020290\\\",\\\"publicIp\\\":\\\"54.170.38.32\\\",\\\"publicDnsName\\\":\\\"\\\"},\\\"description\\\":\\\"Created By Amazon Workspaces for AWS Account ID 044981683129\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"d-936716ab61_workspacesMembers\\\",\\\"groupId\\\":\\\"sg-0fc173b8786ec84c2\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"172.16.1.142\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:92:53:bc:4f:8f\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-06cbc5385e0f58e5b\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"368321020290\\\",\\\"attachTime\\\":\\\"2020-08-26T13:37:47.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-0f27068a93df074c1\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-0f27068a93df074c1","subnetId":"subnet-0d96be44a07addc96","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0392df5432916f720","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0392df5432916f720","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}]}]},{"id":null,"label":"Multiple Availability Zones","parent":null,"type":"availabilityZone","data":null,"properties":null,"children":[{"id":null,"label":"NetworkAcl","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-0a256182152f3d8bf","label":"AWS_EC2_NetworkAcl","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-0a256182152f3d8bf","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-0d96be44a07addc96\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-0ad12ab7b69dfc05c\\\",\\\"networkAclId\\\":\\\"acl-0a256182152f3d8bf\\\"},{\\\"subnetId\\\":\\\"subnet-09cfc5b68fa256b43\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-05ef2db790816c3a0\\\",\\\"networkAclId\\\":\\\"acl-0a256182152f3d8bf\\\"}],\\\"entries\\\":[{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":false},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":false}],\\\"isDefault\\\":true,\\\"vpcId\\\":\\\"vpc-0f27068a93df074c1\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"networkAclId\\\":\\\"acl-0a256182152f3d8bf\\\",\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-0f27068a93df074c1","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#acls:sort=networkAclId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#acls:sort=networkAclId","private":null,"resourceId":"acl-0a256182152f3d8bf","resourceName":null,"resourceType":"AWS::EC2::NetworkAcl","resourceValue":null,"state":null,"tags":"[]","title":"acl-0a256182152f3d8bf","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]},{"id":null,"label":"InternetGateway","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:internet-gateway/igw-0d12c394dd2585e2b","label":"AWS_EC2_InternetGateway","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:internet-gateway/igw-0d12c394dd2585e2b","configuration":"\"{\\\"attachments\\\":[{\\\"vpcId\\\":\\\"vpc-0f27068a93df074c1\\\",\\\"state\\\":\\\"available\\\"}],\\\"internetGatewayId\\\":\\\"igw-0d12c394dd2585e2b\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"tags\\\":[{\\\"value\\\":\\\"368321020290\\\",\\\"key\\\":\\\"AWSServiceAccount\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-0f27068a93df074c1","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#igws:sort=internetGatewayId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#igws:sort=internetGatewayId","private":null,"resourceId":"igw-0d12c394dd2585e2b","resourceName":null,"resourceType":"AWS::EC2::InternetGateway","resourceValue":null,"state":null,"tags":"[{\"tag\":\"AWSServiceAccount=368321020290\",\"value\":\"368321020290\",\"key\":\"AWSServiceAccount\"}]","title":"igw-0d12c394dd2585e2b","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#248814","properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-0f27068a93df074c1","configuration":"\"{\\\"instanceTenancy\\\":\\\"default\\\",\\\"isDefault\\\":false,\\\"dhcpOptionsId\\\":\\\"dopt-01ea0a1b1a9b59c0a\\\",\\\"cidrBlock\\\":\\\"172.16.0.0/16\\\",\\\"vpcId\\\":\\\"vpc-0f27068a93df074c1\\\",\\\"cidrBlockAssociationSet\\\":[{\\\"cidrBlock\\\":\\\"172.16.0.0/16\\\",\\\"cidrBlockState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"associationId\\\":\\\"vpc-cidr-assoc-0df0f20a7fb940983\\\"}],\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipv6CidrBlockAssociationSet\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"368321020290\\\",\\\"key\\\":\\\"AWSServiceAccount\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":null,"subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#vpcs:sort=VpcId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#vpcs:sort=VpcId","private":null,"resourceId":"vpc-0f27068a93df074c1","resourceName":null,"resourceType":"AWS::EC2::VPC","resourceValue":null,"state":null,"tags":"[{\"tag\":\"AWSServiceAccount=368321020290\",\"value\":\"368321020290\",\"key\":\"AWSServiceAccount\"}]","title":"vpc-0f27068a93df074c1","instanceType":null,"statement":null,"dBInstanceStatus":null},"resource":{"id":"vpc-0f27068a93df074c1","name":null,"value":null,"type":"AWS::EC2::VPC","tags":"[{\"tag\":\"AWSServiceAccount=368321020290\",\"value\":\"368321020290\",\"key\":\"AWSServiceAccount\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-0f27068a93df074c1","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#vpcs:sort=VpcId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#vpcs:sort=VpcId","accountId":"044981683129"},"selected":true},"position":{"x":-1966,"y":-264.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"vpc removeAll _gridParentPadding"},{"data":{"id":"SecurityGroup-vpc-0f27068a93df074c1-eu-west-1-044981683129","parent":"vpc-0f27068a93df074c1-eu-west-1-044981683129","level":3,"title":"SecurityGroup","label":"SecurityGroup","plainLabel":"SecurityGroup","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/AWSSecurityGroup.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-02921e9e24e1eef6b","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-02921e9e24e1eef6b","configuration":"\"{\\\"groupName\\\":\\\"d-936716ab61_controllers\\\",\\\"groupId\\\":\\\"sg-02921e9e24e1eef6b\\\",\\\"vpcId\\\":\\\"vpc-0f27068a93df074c1\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[{\\\"groupId\\\":\\\"sg-02921e9e24e1eef6b\\\",\\\"userId\\\":\\\"044981683129\\\"}],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"AWS created security group for d-936716ab61 directory controllers\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":445,\\\"toPort\\\":445,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"udp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":138,\\\"toPort\\\":138,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"udp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":464,\\\"toPort\\\":464,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"udp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":464,\\\"toPort\\\":464,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":389,\\\"toPort\\\":389,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"udp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":53,\\\"toPort\\\":53,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"udp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":389,\\\"toPort\\\":389,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":123,\\\"toPort\\\":123,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"udp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":445,\\\"toPort\\\":445,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":-1,\\\"toPort\\\":-1,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"icmp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":3268,\\\"toPort\\\":3269,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":1024,\\\"toPort\\\":65535,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":88,\\\"toPort\\\":88,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[{\\\"groupId\\\":\\\"sg-02921e9e24e1eef6b\\\",\\\"userId\\\":\\\"044981683129\\\"}],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":135,\\\"toPort\\\":135,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":636,\\\"toPort\\\":636,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":53,\\\"toPort\\\":53,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":88,\\\"toPort\\\":88,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"udp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-0f27068a93df074c1","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-02921e9e24e1eef6b","resourceName":"d-936716ab61_controllers","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"d-936716ab61_controllers","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0fc173b8786ec84c2","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0fc173b8786ec84c2","configuration":"\"{\\\"groupName\\\":\\\"d-936716ab61_workspacesMembers\\\",\\\"groupId\\\":\\\"sg-0fc173b8786ec84c2\\\",\\\"vpcId\\\":\\\"vpc-0f27068a93df074c1\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"Amazon WorkSpaces Security Group\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipPermissions\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"Amazon WorkSpaces\\\",\\\"key\\\":\\\"Created by Amazon WorkSpaces\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-0f27068a93df074c1","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0fc173b8786ec84c2","resourceName":"d-936716ab61_workspacesMembers","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[{\"tag\":\"Created by Amazon WorkSpaces=Amazon WorkSpaces\",\"value\":\"Amazon WorkSpaces\",\"key\":\"Created by Amazon WorkSpaces\"}]","title":"d-936716ab61_workspacesMembers","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-071327a7bb5018e3e","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-071327a7bb5018e3e","configuration":"\"{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-071327a7bb5018e3e\\\",\\\"vpcId\\\":\\\"vpc-0f27068a93df074c1\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"default VPC security group\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[{\\\"groupId\\\":\\\"sg-071327a7bb5018e3e\\\",\\\"userId\\\":\\\"044981683129\\\"}],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-0f27068a93df074c1","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-071327a7bb5018e3e","resourceName":"default","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"default","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1873,"y":-222.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-02921e9e24e1eef6b","resourceId":["sg-02921e9e24e1eef6b","arn:aws:ec2:eu-west-1:044981683129:security-group/sg-02921e9e24e1eef6b"],"parent":"SecurityGroup-vpc-0f27068a93df074c1-eu-west-1-044981683129","level":4,"id":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-02921e9e24e1eef6b","title":"d-936716ab61_controllers","label":"d-936716ab61...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-02921e9e24e1eef6b","image":"/icons/AWSSecurityGroup.svg","cost":0,"private":false,"resource":{"id":"sg-02921e9e24e1eef6b","name":"d-936716ab61_controllers","value":null,"type":"AWS::EC2::SecurityGroup","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-02921e9e24e1eef6b","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-02921e9e24e1eef6b","configuration":"\"{\\\"groupName\\\":\\\"d-936716ab61_controllers\\\",\\\"groupId\\\":\\\"sg-02921e9e24e1eef6b\\\",\\\"vpcId\\\":\\\"vpc-0f27068a93df074c1\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[{\\\"groupId\\\":\\\"sg-02921e9e24e1eef6b\\\",\\\"userId\\\":\\\"044981683129\\\"}],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"AWS created security group for d-936716ab61 directory controllers\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":445,\\\"toPort\\\":445,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"udp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":138,\\\"toPort\\\":138,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"udp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":464,\\\"toPort\\\":464,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"udp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":464,\\\"toPort\\\":464,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":389,\\\"toPort\\\":389,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"udp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":53,\\\"toPort\\\":53,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"udp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":389,\\\"toPort\\\":389,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":123,\\\"toPort\\\":123,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"udp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":445,\\\"toPort\\\":445,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":-1,\\\"toPort\\\":-1,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"icmp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":3268,\\\"toPort\\\":3269,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":1024,\\\"toPort\\\":65535,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":88,\\\"toPort\\\":88,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[{\\\"groupId\\\":\\\"sg-02921e9e24e1eef6b\\\",\\\"userId\\\":\\\"044981683129\\\"}],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":135,\\\"toPort\\\":135,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":636,\\\"toPort\\\":636,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":53,\\\"toPort\\\":53,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":88,\\\"toPort\\\":88,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"udp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-0f27068a93df074c1","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-02921e9e24e1eef6b","resourceName":"d-936716ab61_controllers","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"d-936716ab61_controllers","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1909.5,"y":-259.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0fc173b8786ec84c2","resourceId":["sg-0fc173b8786ec84c2","arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0fc173b8786ec84c2"],"parent":"SecurityGroup-vpc-0f27068a93df074c1-eu-west-1-044981683129","level":4,"id":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0fc173b8786ec84c2","title":"d-936716ab61_workspacesMembers","label":"d-936716ab61...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0fc173b8786ec84c2","image":"/icons/AWSSecurityGroup.svg","cost":0,"private":false,"resource":{"id":"sg-0fc173b8786ec84c2","name":"d-936716ab61_workspacesMembers","value":null,"type":"AWS::EC2::SecurityGroup","tags":"[{\"tag\":\"Created by Amazon WorkSpaces=Amazon WorkSpaces\",\"value\":\"Amazon WorkSpaces\",\"key\":\"Created by Amazon WorkSpaces\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0fc173b8786ec84c2","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0fc173b8786ec84c2","configuration":"\"{\\\"groupName\\\":\\\"d-936716ab61_workspacesMembers\\\",\\\"groupId\\\":\\\"sg-0fc173b8786ec84c2\\\",\\\"vpcId\\\":\\\"vpc-0f27068a93df074c1\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"Amazon WorkSpaces Security Group\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipPermissions\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"Amazon WorkSpaces\\\",\\\"key\\\":\\\"Created by Amazon WorkSpaces\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-0f27068a93df074c1","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0fc173b8786ec84c2","resourceName":"d-936716ab61_workspacesMembers","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[{\"tag\":\"Created by Amazon WorkSpaces=Amazon WorkSpaces\",\"value\":\"Amazon WorkSpaces\",\"key\":\"Created by Amazon WorkSpaces\"}]","title":"d-936716ab61_workspacesMembers","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1836.5,"y":-259.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-071327a7bb5018e3e","resourceId":["sg-071327a7bb5018e3e","arn:aws:ec2:eu-west-1:044981683129:security-group/sg-071327a7bb5018e3e"],"parent":"SecurityGroup-vpc-0f27068a93df074c1-eu-west-1-044981683129","level":4,"id":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-071327a7bb5018e3e","title":"default","label":"default","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-071327a7bb5018e3e","image":"/icons/AWSSecurityGroup.svg","cost":0,"private":false,"resource":{"id":"sg-071327a7bb5018e3e","name":"default","value":null,"type":"AWS::EC2::SecurityGroup","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-071327a7bb5018e3e","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-071327a7bb5018e3e","configuration":"\"{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-071327a7bb5018e3e\\\",\\\"vpcId\\\":\\\"vpc-0f27068a93df074c1\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"default VPC security group\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[{\\\"groupId\\\":\\\"sg-071327a7bb5018e3e\\\",\\\"userId\\\":\\\"044981683129\\\"}],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-0f27068a93df074c1","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-071327a7bb5018e3e","resourceName":"default","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"default","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1909.5,"y":-186.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"RouteTable-vpc-0f27068a93df074c1-eu-west-1-044981683129","parent":"vpc-0f27068a93df074c1-eu-west-1-044981683129","level":3,"title":"RouteTable","label":"RouteTable","plainLabel":"RouteTable","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-VPC_Router_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-017cc2d339e1ed5da","label":"AWS_EC2_RouteTable","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-017cc2d339e1ed5da","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-09cfc5b68fa256b43\\\",\\\"routeTableId\\\":\\\"rtb-017cc2d339e1ed5da\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-035e5ffdd97476ab6\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":false},{\\\"subnetId\\\":\\\"subnet-0d96be44a07addc96\\\",\\\"routeTableId\\\":\\\"rtb-017cc2d339e1ed5da\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-08e6dd5ae97de0604\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":false}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"172.16.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"},{\\\"destinationCidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"igw-0d12c394dd2585e2b\\\"}],\\\"routeTableId\\\":\\\"rtb-017cc2d339e1ed5da\\\",\\\"vpcId\\\":\\\"vpc-0f27068a93df074c1\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"368321020290\\\",\\\"key\\\":\\\"AWSServiceAccount\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-0f27068a93df074c1","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-017cc2d339e1ed5da","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[{\"tag\":\"AWSServiceAccount=368321020290\",\"value\":\"368321020290\",\"key\":\"AWSServiceAccount\"}]","title":"rtb-017cc2d339e1ed5da","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-03d5c9427a711ab93","label":"AWS_EC2_RouteTable","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-03d5c9427a711ab93","configuration":"\"{\\\"associations\\\":[{\\\"routeTableId\\\":\\\"rtb-03d5c9427a711ab93\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-01565163c483b1627\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":true}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"172.16.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"}],\\\"routeTableId\\\":\\\"rtb-03d5c9427a711ab93\\\",\\\"vpcId\\\":\\\"vpc-0f27068a93df074c1\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-0f27068a93df074c1","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-03d5c9427a711ab93","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[]","title":"rtb-03d5c9427a711ab93","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-2139,"y":-56.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-017cc2d339e1ed5da","resourceId":["rtb-017cc2d339e1ed5da","arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-017cc2d339e1ed5da"],"parent":"RouteTable-vpc-0f27068a93df074c1-eu-west-1-044981683129","level":4,"id":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-017cc2d339e1ed5da","title":"rtb-017cc2d339e1ed5da","label":"rtb-017cc2d3...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-017cc2d339e1ed5da","image":"/icons/Amazon-VPC_Router_light-bg.svg","cost":0,"private":false,"resource":{"id":"rtb-017cc2d339e1ed5da","name":null,"value":null,"type":"AWS::EC2::RouteTable","tags":"[{\"tag\":\"AWSServiceAccount=368321020290\",\"value\":\"368321020290\",\"key\":\"AWSServiceAccount\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-017cc2d339e1ed5da","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-017cc2d339e1ed5da","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-09cfc5b68fa256b43\\\",\\\"routeTableId\\\":\\\"rtb-017cc2d339e1ed5da\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-035e5ffdd97476ab6\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":false},{\\\"subnetId\\\":\\\"subnet-0d96be44a07addc96\\\",\\\"routeTableId\\\":\\\"rtb-017cc2d339e1ed5da\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-08e6dd5ae97de0604\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":false}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"172.16.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"},{\\\"destinationCidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"igw-0d12c394dd2585e2b\\\"}],\\\"routeTableId\\\":\\\"rtb-017cc2d339e1ed5da\\\",\\\"vpcId\\\":\\\"vpc-0f27068a93df074c1\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"368321020290\\\",\\\"key\\\":\\\"AWSServiceAccount\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-0f27068a93df074c1","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-017cc2d339e1ed5da","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[{\"tag\":\"AWSServiceAccount=368321020290\",\"value\":\"368321020290\",\"key\":\"AWSServiceAccount\"}]","title":"rtb-017cc2d339e1ed5da","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2175.5,"y":-56.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-03d5c9427a711ab93","resourceId":["rtb-03d5c9427a711ab93","arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-03d5c9427a711ab93"],"parent":"RouteTable-vpc-0f27068a93df074c1-eu-west-1-044981683129","level":4,"id":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-03d5c9427a711ab93","title":"rtb-03d5c9427a711ab93","label":"rtb-03d5c942...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-03d5c9427a711ab93","image":"/icons/Amazon-VPC_Router_light-bg.svg","cost":0,"private":false,"resource":{"id":"rtb-03d5c9427a711ab93","name":null,"value":null,"type":"AWS::EC2::RouteTable","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-03d5c9427a711ab93","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-03d5c9427a711ab93","configuration":"\"{\\\"associations\\\":[{\\\"routeTableId\\\":\\\"rtb-03d5c9427a711ab93\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-01565163c483b1627\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":true}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"172.16.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"}],\\\"routeTableId\\\":\\\"rtb-03d5c9427a711ab93\\\",\\\"vpcId\\\":\\\"vpc-0f27068a93df074c1\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-0f27068a93df074c1","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-03d5c9427a711ab93","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[]","title":"rtb-03d5c9427a711ab93","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2102.5,"y":-56.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"eu-west-1c-vpc-0f27068a93df074c1-eu-west-1-044981683129","parent":"vpc-0f27068a93df074c1-eu-west-1-044981683129","level":3,"title":"eu-west-1c","label":"eu-west-1c","plainLabel":"eu-west-1c","type":"availabilityZone","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/availabilityZone.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-09cfc5b68fa256b43","label":"subnet-09cfc5b68fa256b43","parent":null,"type":"subnet","data":{"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-09cfc5b68fa256b43","configuration":"\"{\\\"subnetId\\\":\\\"subnet-09cfc5b68fa256b43\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-09cfc5b68fa256b43\\\",\\\"availabilityZoneId\\\":\\\"euw1-az1\\\",\\\"cidrBlock\\\":\\\"172.16.0.0/24\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"368321020290\\\",\\\"key\\\":\\\"AWSServiceAccount\\\"}],\\\"availableIpAddressCount\\\":249,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-0f27068a93df074c1\\\",\\\"mapPublicIpOnLaunch\\\":false,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-0f27068a93df074c1","subnetId":"subnet-09cfc5b68fa256b43","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":"true","resourceId":"subnet-09cfc5b68fa256b43","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"AWSServiceAccount=368321020290\",\"value\":\"368321020290\",\"key\":\"AWSServiceAccount\"}]","title":"subnet-09cfc5b68fa256b43","instanceType":null,"statement":null,"dBInstanceStatus":null},"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-09cfc5b68fa256b43","label":"AWS_EC2_Subnet"},"properties":null,"children":[{"id":null,"label":"NetworkInterface","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-006291eb5438b1ab4","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-006291eb5438b1ab4","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-006291eb5438b1ab4\\\",\\\"privateIpAddresses\\\":[{\\\"privateIpAddress\\\":\\\"172.16.0.15\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-09cfc5b68fa256b43\\\",\\\"requesterId\\\":\\\"953619373526\\\",\\\"description\\\":\\\"AWS created network interface for directory d-936716ab61\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"d-936716ab61_controllers\\\",\\\"groupId\\\":\\\"sg-02921e9e24e1eef6b\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"172.16.0.15\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:f3:06:e2:c4:96\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0b21da779624bf557\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"953619373526\\\",\\\"attachTime\\\":\\\"2022-04-29T18:09:22.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-0f27068a93df074c1\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-0f27068a93df074c1","subnetId":"subnet-09cfc5b68fa256b43","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-006291eb5438b1ab4","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-006291eb5438b1ab4","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0e3ecd29f1f197f49","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0e3ecd29f1f197f49","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0e3ecd29f1f197f49\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"368321020290\\\",\\\"publicIp\\\":\\\"34.255.158.78\\\",\\\"publicDnsName\\\":\\\"\\\"},\\\"privateIpAddress\\\":\\\"172.16.0.51\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-09cfc5b68fa256b43\\\",\\\"requesterId\\\":\\\"AROAQU6I6AO4SAA7TXDCD:WorkSpace-Creation\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"368321020290\\\",\\\"publicIp\\\":\\\"34.255.158.78\\\",\\\"publicDnsName\\\":\\\"\\\"},\\\"description\\\":\\\"Created By Amazon Workspaces for AWS Account ID 044981683129\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"d-936716ab61_workspacesMembers\\\",\\\"groupId\\\":\\\"sg-0fc173b8786ec84c2\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"172.16.0.51\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:fe:0b:c9:22:8e\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0f4229cb9e58de7a2\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"368321020290\\\",\\\"attachTime\\\":\\\"2020-01-14T11:41:32.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-0f27068a93df074c1\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-0f27068a93df074c1","subnetId":"subnet-09cfc5b68fa256b43","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0e3ecd29f1f197f49","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0e3ecd29f1f197f49","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-2099,"y":-429.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"availabilityZone removeAll _gridParentPadding"},{"data":{"id":"subnet-09cfc5b68fa256b43-eu-west-1c-vpc-0f27068a93df074c1-eu-west-1-044981683129","parent":"eu-west-1c-vpc-0f27068a93df074c1-eu-west-1-044981683129","level":4,"title":"subnet-09cfc5b68fa256b43","label":"subnet-09cfc5b68fa256b43","plainLabel":"subnet-09cfc5b68fa256b43","type":"subnet","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/VPC-subnet-private_light-bg-collapsed.svg","clickedId":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-09cfc5b68fa256b43","cost":0,"hasChildren":true,"children":[{"id":null,"label":"NetworkInterface","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-006291eb5438b1ab4","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-006291eb5438b1ab4","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-006291eb5438b1ab4\\\",\\\"privateIpAddresses\\\":[{\\\"privateIpAddress\\\":\\\"172.16.0.15\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-09cfc5b68fa256b43\\\",\\\"requesterId\\\":\\\"953619373526\\\",\\\"description\\\":\\\"AWS created network interface for directory d-936716ab61\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"d-936716ab61_controllers\\\",\\\"groupId\\\":\\\"sg-02921e9e24e1eef6b\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"172.16.0.15\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:f3:06:e2:c4:96\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0b21da779624bf557\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"953619373526\\\",\\\"attachTime\\\":\\\"2022-04-29T18:09:22.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-0f27068a93df074c1\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-0f27068a93df074c1","subnetId":"subnet-09cfc5b68fa256b43","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-006291eb5438b1ab4","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-006291eb5438b1ab4","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0e3ecd29f1f197f49","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0e3ecd29f1f197f49","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0e3ecd29f1f197f49\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"368321020290\\\",\\\"publicIp\\\":\\\"34.255.158.78\\\",\\\"publicDnsName\\\":\\\"\\\"},\\\"privateIpAddress\\\":\\\"172.16.0.51\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-09cfc5b68fa256b43\\\",\\\"requesterId\\\":\\\"AROAQU6I6AO4SAA7TXDCD:WorkSpace-Creation\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"368321020290\\\",\\\"publicIp\\\":\\\"34.255.158.78\\\",\\\"publicDnsName\\\":\\\"\\\"},\\\"description\\\":\\\"Created By Amazon Workspaces for AWS Account ID 044981683129\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"d-936716ab61_workspacesMembers\\\",\\\"groupId\\\":\\\"sg-0fc173b8786ec84c2\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"172.16.0.51\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:fe:0b:c9:22:8e\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0f4229cb9e58de7a2\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"368321020290\\\",\\\"attachTime\\\":\\\"2020-01-14T11:41:32.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-0f27068a93df074c1\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-0f27068a93df074c1","subnetId":"subnet-09cfc5b68fa256b43","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0e3ecd29f1f197f49","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0e3ecd29f1f197f49","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#147eba","properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-09cfc5b68fa256b43","configuration":"\"{\\\"subnetId\\\":\\\"subnet-09cfc5b68fa256b43\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-09cfc5b68fa256b43\\\",\\\"availabilityZoneId\\\":\\\"euw1-az1\\\",\\\"cidrBlock\\\":\\\"172.16.0.0/24\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"368321020290\\\",\\\"key\\\":\\\"AWSServiceAccount\\\"}],\\\"availableIpAddressCount\\\":249,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-0f27068a93df074c1\\\",\\\"mapPublicIpOnLaunch\\\":false,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-0f27068a93df074c1","subnetId":"subnet-09cfc5b68fa256b43","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":"true","resourceId":"subnet-09cfc5b68fa256b43","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"AWSServiceAccount=368321020290\",\"value\":\"368321020290\",\"key\":\"AWSServiceAccount\"}]","title":"subnet-09cfc5b68fa256b43","instanceType":null,"statement":null,"dBInstanceStatus":null},"resource":{"id":"subnet-09cfc5b68fa256b43","name":null,"value":null,"type":"AWS::EC2::Subnet","tags":"[{\"tag\":\"AWSServiceAccount=368321020290\",\"value\":\"368321020290\",\"key\":\"AWSServiceAccount\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-09cfc5b68fa256b43","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","accountId":"044981683129"}},"position":{"x":-2099,"y":-429.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"subnet removeAll _gridParentPadding"},{"data":{"id":"NetworkInterface-subnet-09cfc5b68fa256b43-eu-west-1c-vpc-0f27068a93df074c1-eu-west-1-044981683129","parent":"subnet-09cfc5b68fa256b43-eu-west-1c-vpc-0f27068a93df074c1-eu-west-1-044981683129","level":5,"title":"NetworkInterface","label":"NetworkInterface","plainLabel":"NetworkInterface","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-006291eb5438b1ab4","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-006291eb5438b1ab4","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-006291eb5438b1ab4\\\",\\\"privateIpAddresses\\\":[{\\\"privateIpAddress\\\":\\\"172.16.0.15\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-09cfc5b68fa256b43\\\",\\\"requesterId\\\":\\\"953619373526\\\",\\\"description\\\":\\\"AWS created network interface for directory d-936716ab61\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"d-936716ab61_controllers\\\",\\\"groupId\\\":\\\"sg-02921e9e24e1eef6b\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"172.16.0.15\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:f3:06:e2:c4:96\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0b21da779624bf557\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"953619373526\\\",\\\"attachTime\\\":\\\"2022-04-29T18:09:22.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-0f27068a93df074c1\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-0f27068a93df074c1","subnetId":"subnet-09cfc5b68fa256b43","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-006291eb5438b1ab4","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-006291eb5438b1ab4","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0e3ecd29f1f197f49","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0e3ecd29f1f197f49","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0e3ecd29f1f197f49\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"368321020290\\\",\\\"publicIp\\\":\\\"34.255.158.78\\\",\\\"publicDnsName\\\":\\\"\\\"},\\\"privateIpAddress\\\":\\\"172.16.0.51\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-09cfc5b68fa256b43\\\",\\\"requesterId\\\":\\\"AROAQU6I6AO4SAA7TXDCD:WorkSpace-Creation\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"368321020290\\\",\\\"publicIp\\\":\\\"34.255.158.78\\\",\\\"publicDnsName\\\":\\\"\\\"},\\\"description\\\":\\\"Created By Amazon Workspaces for AWS Account ID 044981683129\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"d-936716ab61_workspacesMembers\\\",\\\"groupId\\\":\\\"sg-0fc173b8786ec84c2\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"172.16.0.51\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:fe:0b:c9:22:8e\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0f4229cb9e58de7a2\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"368321020290\\\",\\\"attachTime\\\":\\\"2020-01-14T11:41:32.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-0f27068a93df074c1\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-0f27068a93df074c1","subnetId":"subnet-09cfc5b68fa256b43","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0e3ecd29f1f197f49","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0e3ecd29f1f197f49","instanceType":null,"statement":null,"dBInstanceStatus":null}}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-2099,"y":-429.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-006291eb5438b1ab4","resourceId":["eni-006291eb5438b1ab4","arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-006291eb5438b1ab4"],"parent":"NetworkInterface-subnet-09cfc5b68fa256b43-eu-west-1c-vpc-0f27068a93df074c1-eu-west-1-044981683129","level":6,"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-006291eb5438b1ab4","title":"eni-006291eb5438b1ab4","label":"eni-006291eb...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-006291eb5438b1ab4","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-006291eb5438b1ab4","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-006291eb5438b1ab4","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-006291eb5438b1ab4","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-006291eb5438b1ab4\\\",\\\"privateIpAddresses\\\":[{\\\"privateIpAddress\\\":\\\"172.16.0.15\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-09cfc5b68fa256b43\\\",\\\"requesterId\\\":\\\"953619373526\\\",\\\"description\\\":\\\"AWS created network interface for directory d-936716ab61\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"d-936716ab61_controllers\\\",\\\"groupId\\\":\\\"sg-02921e9e24e1eef6b\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"172.16.0.15\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:f3:06:e2:c4:96\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0b21da779624bf557\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"953619373526\\\",\\\"attachTime\\\":\\\"2022-04-29T18:09:22.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-0f27068a93df074c1\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-0f27068a93df074c1","subnetId":"subnet-09cfc5b68fa256b43","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-006291eb5438b1ab4","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-006291eb5438b1ab4","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2135.5,"y":-429.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0e3ecd29f1f197f49","resourceId":["eni-0e3ecd29f1f197f49","arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0e3ecd29f1f197f49"],"parent":"NetworkInterface-subnet-09cfc5b68fa256b43-eu-west-1c-vpc-0f27068a93df074c1-eu-west-1-044981683129","level":6,"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0e3ecd29f1f197f49","title":"eni-0e3ecd29f1f197f49","label":"eni-0e3ecd29...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0e3ecd29f1f197f49","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-0e3ecd29f1f197f49","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0e3ecd29f1f197f49","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0e3ecd29f1f197f49","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0e3ecd29f1f197f49\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"368321020290\\\",\\\"publicIp\\\":\\\"34.255.158.78\\\",\\\"publicDnsName\\\":\\\"\\\"},\\\"privateIpAddress\\\":\\\"172.16.0.51\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-09cfc5b68fa256b43\\\",\\\"requesterId\\\":\\\"AROAQU6I6AO4SAA7TXDCD:WorkSpace-Creation\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"368321020290\\\",\\\"publicIp\\\":\\\"34.255.158.78\\\",\\\"publicDnsName\\\":\\\"\\\"},\\\"description\\\":\\\"Created By Amazon Workspaces for AWS Account ID 044981683129\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"d-936716ab61_workspacesMembers\\\",\\\"groupId\\\":\\\"sg-0fc173b8786ec84c2\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"172.16.0.51\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:fe:0b:c9:22:8e\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0f4229cb9e58de7a2\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"368321020290\\\",\\\"attachTime\\\":\\\"2020-01-14T11:41:32.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-0f27068a93df074c1\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-0f27068a93df074c1","subnetId":"subnet-09cfc5b68fa256b43","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0e3ecd29f1f197f49","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0e3ecd29f1f197f49","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2062.5,"y":-429.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"eu-west-1a-vpc-0f27068a93df074c1-eu-west-1-044981683129","parent":"vpc-0f27068a93df074c1-eu-west-1-044981683129","level":3,"title":"eu-west-1a","label":"eu-west-1a","plainLabel":"eu-west-1a","type":"availabilityZone","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/availabilityZone.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0d96be44a07addc96","label":"subnet-0d96be44a07addc96","parent":null,"type":"subnet","data":{"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0d96be44a07addc96","configuration":"\"{\\\"subnetId\\\":\\\"subnet-0d96be44a07addc96\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0d96be44a07addc96\\\",\\\"availabilityZoneId\\\":\\\"euw1-az2\\\",\\\"cidrBlock\\\":\\\"172.16.1.0/24\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"368321020290\\\",\\\"key\\\":\\\"AWSServiceAccount\\\"}],\\\"availableIpAddressCount\\\":249,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-0f27068a93df074c1\\\",\\\"mapPublicIpOnLaunch\\\":false,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-0f27068a93df074c1","subnetId":"subnet-0d96be44a07addc96","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":"true","resourceId":"subnet-0d96be44a07addc96","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"AWSServiceAccount=368321020290\",\"value\":\"368321020290\",\"key\":\"AWSServiceAccount\"}]","title":"subnet-0d96be44a07addc96","instanceType":null,"statement":null,"dBInstanceStatus":null},"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0d96be44a07addc96","label":"AWS_EC2_Subnet"},"properties":null,"children":[{"id":null,"label":"NetworkInterface","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-00c96d08534de9a77","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-00c96d08534de9a77","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-00c96d08534de9a77\\\",\\\"privateIpAddresses\\\":[{\\\"privateIpAddress\\\":\\\"172.16.1.114\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0d96be44a07addc96\\\",\\\"requesterId\\\":\\\"953619373526\\\",\\\"description\\\":\\\"AWS created network interface for directory d-936716ab61\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"d-936716ab61_controllers\\\",\\\"groupId\\\":\\\"sg-02921e9e24e1eef6b\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"172.16.1.114\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:90:27:56:38:80\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0fd506a373d2b6852\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"953619373526\\\",\\\"attachTime\\\":\\\"2021-07-15T15:26:09.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-0f27068a93df074c1\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-0f27068a93df074c1","subnetId":"subnet-0d96be44a07addc96","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-00c96d08534de9a77","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-00c96d08534de9a77","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0392df5432916f720","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0392df5432916f720","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0392df5432916f720\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"368321020290\\\",\\\"publicIp\\\":\\\"54.170.38.32\\\",\\\"publicDnsName\\\":\\\"\\\"},\\\"privateIpAddress\\\":\\\"172.16.1.142\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0d96be44a07addc96\\\",\\\"requesterId\\\":\\\"AROAQU6I6AO4SAA7TXDCD:WorkSpace-Creation\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"368321020290\\\",\\\"publicIp\\\":\\\"54.170.38.32\\\",\\\"publicDnsName\\\":\\\"\\\"},\\\"description\\\":\\\"Created By Amazon Workspaces for AWS Account ID 044981683129\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"d-936716ab61_workspacesMembers\\\",\\\"groupId\\\":\\\"sg-0fc173b8786ec84c2\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"172.16.1.142\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:92:53:bc:4f:8f\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-06cbc5385e0f58e5b\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"368321020290\\\",\\\"attachTime\\\":\\\"2020-08-26T13:37:47.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-0f27068a93df074c1\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-0f27068a93df074c1","subnetId":"subnet-0d96be44a07addc96","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0392df5432916f720","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0392df5432916f720","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1833,"y":-429.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"availabilityZone removeAll _gridParentPadding"},{"data":{"id":"subnet-0d96be44a07addc96-eu-west-1a-vpc-0f27068a93df074c1-eu-west-1-044981683129","parent":"eu-west-1a-vpc-0f27068a93df074c1-eu-west-1-044981683129","level":4,"title":"subnet-0d96be44a07addc96","label":"subnet-0d96be44a07addc96","plainLabel":"subnet-0d96be44a07addc96","type":"subnet","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/VPC-subnet-private_light-bg-collapsed.svg","clickedId":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0d96be44a07addc96","cost":0,"hasChildren":true,"children":[{"id":null,"label":"NetworkInterface","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-00c96d08534de9a77","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-00c96d08534de9a77","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-00c96d08534de9a77\\\",\\\"privateIpAddresses\\\":[{\\\"privateIpAddress\\\":\\\"172.16.1.114\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0d96be44a07addc96\\\",\\\"requesterId\\\":\\\"953619373526\\\",\\\"description\\\":\\\"AWS created network interface for directory d-936716ab61\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"d-936716ab61_controllers\\\",\\\"groupId\\\":\\\"sg-02921e9e24e1eef6b\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"172.16.1.114\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:90:27:56:38:80\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0fd506a373d2b6852\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"953619373526\\\",\\\"attachTime\\\":\\\"2021-07-15T15:26:09.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-0f27068a93df074c1\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-0f27068a93df074c1","subnetId":"subnet-0d96be44a07addc96","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-00c96d08534de9a77","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-00c96d08534de9a77","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0392df5432916f720","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0392df5432916f720","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0392df5432916f720\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"368321020290\\\",\\\"publicIp\\\":\\\"54.170.38.32\\\",\\\"publicDnsName\\\":\\\"\\\"},\\\"privateIpAddress\\\":\\\"172.16.1.142\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0d96be44a07addc96\\\",\\\"requesterId\\\":\\\"AROAQU6I6AO4SAA7TXDCD:WorkSpace-Creation\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"368321020290\\\",\\\"publicIp\\\":\\\"54.170.38.32\\\",\\\"publicDnsName\\\":\\\"\\\"},\\\"description\\\":\\\"Created By Amazon Workspaces for AWS Account ID 044981683129\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"d-936716ab61_workspacesMembers\\\",\\\"groupId\\\":\\\"sg-0fc173b8786ec84c2\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"172.16.1.142\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:92:53:bc:4f:8f\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-06cbc5385e0f58e5b\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"368321020290\\\",\\\"attachTime\\\":\\\"2020-08-26T13:37:47.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-0f27068a93df074c1\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-0f27068a93df074c1","subnetId":"subnet-0d96be44a07addc96","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0392df5432916f720","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0392df5432916f720","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#147eba","properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0d96be44a07addc96","configuration":"\"{\\\"subnetId\\\":\\\"subnet-0d96be44a07addc96\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0d96be44a07addc96\\\",\\\"availabilityZoneId\\\":\\\"euw1-az2\\\",\\\"cidrBlock\\\":\\\"172.16.1.0/24\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"368321020290\\\",\\\"key\\\":\\\"AWSServiceAccount\\\"}],\\\"availableIpAddressCount\\\":249,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-0f27068a93df074c1\\\",\\\"mapPublicIpOnLaunch\\\":false,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-0f27068a93df074c1","subnetId":"subnet-0d96be44a07addc96","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":"true","resourceId":"subnet-0d96be44a07addc96","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"AWSServiceAccount=368321020290\",\"value\":\"368321020290\",\"key\":\"AWSServiceAccount\"}]","title":"subnet-0d96be44a07addc96","instanceType":null,"statement":null,"dBInstanceStatus":null},"resource":{"id":"subnet-0d96be44a07addc96","name":null,"value":null,"type":"AWS::EC2::Subnet","tags":"[{\"tag\":\"AWSServiceAccount=368321020290\",\"value\":\"368321020290\",\"key\":\"AWSServiceAccount\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0d96be44a07addc96","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","accountId":"044981683129"}},"position":{"x":-1833,"y":-429.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"subnet removeAll _gridParentPadding"},{"data":{"id":"NetworkInterface-subnet-0d96be44a07addc96-eu-west-1a-vpc-0f27068a93df074c1-eu-west-1-044981683129","parent":"subnet-0d96be44a07addc96-eu-west-1a-vpc-0f27068a93df074c1-eu-west-1-044981683129","level":5,"title":"NetworkInterface","label":"NetworkInterface","plainLabel":"NetworkInterface","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-00c96d08534de9a77","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-00c96d08534de9a77","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-00c96d08534de9a77\\\",\\\"privateIpAddresses\\\":[{\\\"privateIpAddress\\\":\\\"172.16.1.114\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0d96be44a07addc96\\\",\\\"requesterId\\\":\\\"953619373526\\\",\\\"description\\\":\\\"AWS created network interface for directory d-936716ab61\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"d-936716ab61_controllers\\\",\\\"groupId\\\":\\\"sg-02921e9e24e1eef6b\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"172.16.1.114\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:90:27:56:38:80\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0fd506a373d2b6852\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"953619373526\\\",\\\"attachTime\\\":\\\"2021-07-15T15:26:09.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-0f27068a93df074c1\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-0f27068a93df074c1","subnetId":"subnet-0d96be44a07addc96","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-00c96d08534de9a77","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-00c96d08534de9a77","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0392df5432916f720","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0392df5432916f720","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0392df5432916f720\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"368321020290\\\",\\\"publicIp\\\":\\\"54.170.38.32\\\",\\\"publicDnsName\\\":\\\"\\\"},\\\"privateIpAddress\\\":\\\"172.16.1.142\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0d96be44a07addc96\\\",\\\"requesterId\\\":\\\"AROAQU6I6AO4SAA7TXDCD:WorkSpace-Creation\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"368321020290\\\",\\\"publicIp\\\":\\\"54.170.38.32\\\",\\\"publicDnsName\\\":\\\"\\\"},\\\"description\\\":\\\"Created By Amazon Workspaces for AWS Account ID 044981683129\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"d-936716ab61_workspacesMembers\\\",\\\"groupId\\\":\\\"sg-0fc173b8786ec84c2\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"172.16.1.142\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:92:53:bc:4f:8f\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-06cbc5385e0f58e5b\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"368321020290\\\",\\\"attachTime\\\":\\\"2020-08-26T13:37:47.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-0f27068a93df074c1\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-0f27068a93df074c1","subnetId":"subnet-0d96be44a07addc96","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0392df5432916f720","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0392df5432916f720","instanceType":null,"statement":null,"dBInstanceStatus":null}}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1833,"y":-429.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-00c96d08534de9a77","resourceId":["eni-00c96d08534de9a77","arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-00c96d08534de9a77"],"parent":"NetworkInterface-subnet-0d96be44a07addc96-eu-west-1a-vpc-0f27068a93df074c1-eu-west-1-044981683129","level":6,"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-00c96d08534de9a77","title":"eni-00c96d08534de9a77","label":"eni-00c96d08...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-00c96d08534de9a77","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-00c96d08534de9a77","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-00c96d08534de9a77","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-00c96d08534de9a77","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-00c96d08534de9a77\\\",\\\"privateIpAddresses\\\":[{\\\"privateIpAddress\\\":\\\"172.16.1.114\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0d96be44a07addc96\\\",\\\"requesterId\\\":\\\"953619373526\\\",\\\"description\\\":\\\"AWS created network interface for directory d-936716ab61\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"d-936716ab61_controllers\\\",\\\"groupId\\\":\\\"sg-02921e9e24e1eef6b\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"172.16.1.114\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:90:27:56:38:80\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0fd506a373d2b6852\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"953619373526\\\",\\\"attachTime\\\":\\\"2021-07-15T15:26:09.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-0f27068a93df074c1\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-0f27068a93df074c1","subnetId":"subnet-0d96be44a07addc96","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-00c96d08534de9a77","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-00c96d08534de9a77","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1869.5,"y":-429.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0392df5432916f720","resourceId":["eni-0392df5432916f720","arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0392df5432916f720"],"parent":"NetworkInterface-subnet-0d96be44a07addc96-eu-west-1a-vpc-0f27068a93df074c1-eu-west-1-044981683129","level":6,"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0392df5432916f720","title":"eni-0392df5432916f720","label":"eni-0392df54...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0392df5432916f720","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-0392df5432916f720","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0392df5432916f720","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0392df5432916f720","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0392df5432916f720\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"368321020290\\\",\\\"publicIp\\\":\\\"54.170.38.32\\\",\\\"publicDnsName\\\":\\\"\\\"},\\\"privateIpAddress\\\":\\\"172.16.1.142\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0d96be44a07addc96\\\",\\\"requesterId\\\":\\\"AROAQU6I6AO4SAA7TXDCD:WorkSpace-Creation\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"368321020290\\\",\\\"publicIp\\\":\\\"54.170.38.32\\\",\\\"publicDnsName\\\":\\\"\\\"},\\\"description\\\":\\\"Created By Amazon Workspaces for AWS Account ID 044981683129\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"d-936716ab61_workspacesMembers\\\",\\\"groupId\\\":\\\"sg-0fc173b8786ec84c2\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"172.16.1.142\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:92:53:bc:4f:8f\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-06cbc5385e0f58e5b\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"368321020290\\\",\\\"attachTime\\\":\\\"2020-08-26T13:37:47.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-0f27068a93df074c1\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-0f27068a93df074c1","subnetId":"subnet-0d96be44a07addc96","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0392df5432916f720","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0392df5432916f720","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1796.5,"y":-429.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"Multiple Availability Zones-vpc-0f27068a93df074c1-eu-west-1-044981683129","parent":"vpc-0f27068a93df074c1-eu-west-1-044981683129","level":3,"title":"Multiple Availability Zones","label":"Multiple Availability Zones","plainLabel":"Multiple Availability Zones","type":"availabilityZone","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/availabilityZone.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":null,"label":"NetworkAcl","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-0a256182152f3d8bf","label":"AWS_EC2_NetworkAcl","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-0a256182152f3d8bf","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-0d96be44a07addc96\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-0ad12ab7b69dfc05c\\\",\\\"networkAclId\\\":\\\"acl-0a256182152f3d8bf\\\"},{\\\"subnetId\\\":\\\"subnet-09cfc5b68fa256b43\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-05ef2db790816c3a0\\\",\\\"networkAclId\\\":\\\"acl-0a256182152f3d8bf\\\"}],\\\"entries\\\":[{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":false},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":false}],\\\"isDefault\\\":true,\\\"vpcId\\\":\\\"vpc-0f27068a93df074c1\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"networkAclId\\\":\\\"acl-0a256182152f3d8bf\\\",\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-0f27068a93df074c1","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#acls:sort=networkAclId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#acls:sort=networkAclId","private":null,"resourceId":"acl-0a256182152f3d8bf","resourceName":null,"resourceType":"AWS::EC2::NetworkAcl","resourceValue":null,"state":null,"tags":"[]","title":"acl-0a256182152f3d8bf","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]},{"id":null,"label":"InternetGateway","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:internet-gateway/igw-0d12c394dd2585e2b","label":"AWS_EC2_InternetGateway","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:internet-gateway/igw-0d12c394dd2585e2b","configuration":"\"{\\\"attachments\\\":[{\\\"vpcId\\\":\\\"vpc-0f27068a93df074c1\\\",\\\"state\\\":\\\"available\\\"}],\\\"internetGatewayId\\\":\\\"igw-0d12c394dd2585e2b\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"tags\\\":[{\\\"value\\\":\\\"368321020290\\\",\\\"key\\\":\\\"AWSServiceAccount\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-0f27068a93df074c1","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#igws:sort=internetGatewayId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#igws:sort=internetGatewayId","private":null,"resourceId":"igw-0d12c394dd2585e2b","resourceName":null,"resourceType":"AWS::EC2::InternetGateway","resourceValue":null,"state":null,"tags":"[{\"tag\":\"AWSServiceAccount=368321020290\",\"value\":\"368321020290\",\"key\":\"AWSServiceAccount\"}]","title":"igw-0d12c394dd2585e2b","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-2099,"y":-216.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"availabilityZone removeAll _gridParentPadding"},{"data":{"id":"NetworkAcl-Multiple Availability Zones-vpc-0f27068a93df074c1-eu-west-1-044981683129","parent":"Multiple Availability Zones-vpc-0f27068a93df074c1-eu-west-1-044981683129","level":4,"title":"NetworkAcl","label":"NetworkAcl","plainLabel":"NetworkAcl","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-VPC_Network-Access-Control-List_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-0a256182152f3d8bf","label":"AWS_EC2_NetworkAcl","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-0a256182152f3d8bf","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-0d96be44a07addc96\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-0ad12ab7b69dfc05c\\\",\\\"networkAclId\\\":\\\"acl-0a256182152f3d8bf\\\"},{\\\"subnetId\\\":\\\"subnet-09cfc5b68fa256b43\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-05ef2db790816c3a0\\\",\\\"networkAclId\\\":\\\"acl-0a256182152f3d8bf\\\"}],\\\"entries\\\":[{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":false},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":false}],\\\"isDefault\\\":true,\\\"vpcId\\\":\\\"vpc-0f27068a93df074c1\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"networkAclId\\\":\\\"acl-0a256182152f3d8bf\\\",\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-0f27068a93df074c1","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#acls:sort=networkAclId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#acls:sort=networkAclId","private":null,"resourceId":"acl-0a256182152f3d8bf","resourceName":null,"resourceType":"AWS::EC2::NetworkAcl","resourceValue":null,"state":null,"tags":"[]","title":"acl-0a256182152f3d8bf","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-2155.5,"y":-216.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-0a256182152f3d8bf","resourceId":["acl-0a256182152f3d8bf","arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-0a256182152f3d8bf"],"parent":"NetworkAcl-Multiple Availability Zones-vpc-0f27068a93df074c1-eu-west-1-044981683129","level":5,"id":"arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-0a256182152f3d8bf","title":"acl-0a256182152f3d8bf","label":"acl-0a256182...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-0a256182152f3d8bf","image":"/icons/Amazon-VPC_Network-Access-Control-List_light-bg.svg","cost":0,"private":false,"resource":{"id":"acl-0a256182152f3d8bf","name":null,"value":null,"type":"AWS::EC2::NetworkAcl","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-0a256182152f3d8bf","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#acls:sort=networkAclId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#acls:sort=networkAclId","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-0a256182152f3d8bf","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-0d96be44a07addc96\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-0ad12ab7b69dfc05c\\\",\\\"networkAclId\\\":\\\"acl-0a256182152f3d8bf\\\"},{\\\"subnetId\\\":\\\"subnet-09cfc5b68fa256b43\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-05ef2db790816c3a0\\\",\\\"networkAclId\\\":\\\"acl-0a256182152f3d8bf\\\"}],\\\"entries\\\":[{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":false},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":false}],\\\"isDefault\\\":true,\\\"vpcId\\\":\\\"vpc-0f27068a93df074c1\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"networkAclId\\\":\\\"acl-0a256182152f3d8bf\\\",\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-0f27068a93df074c1","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#acls:sort=networkAclId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#acls:sort=networkAclId","private":null,"resourceId":"acl-0a256182152f3d8bf","resourceName":null,"resourceType":"AWS::EC2::NetworkAcl","resourceValue":null,"state":null,"tags":"[]","title":"acl-0a256182152f3d8bf","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2155.5,"y":-216.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"InternetGateway-Multiple Availability Zones-vpc-0f27068a93df074c1-eu-west-1-044981683129","parent":"Multiple Availability Zones-vpc-0f27068a93df074c1-eu-west-1-044981683129","level":4,"title":"InternetGateway","label":"InternetGateway","plainLabel":"InternetGateway","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-VPC_Internet-Gateway_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:internet-gateway/igw-0d12c394dd2585e2b","label":"AWS_EC2_InternetGateway","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:internet-gateway/igw-0d12c394dd2585e2b","configuration":"\"{\\\"attachments\\\":[{\\\"vpcId\\\":\\\"vpc-0f27068a93df074c1\\\",\\\"state\\\":\\\"available\\\"}],\\\"internetGatewayId\\\":\\\"igw-0d12c394dd2585e2b\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"tags\\\":[{\\\"value\\\":\\\"368321020290\\\",\\\"key\\\":\\\"AWSServiceAccount\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-0f27068a93df074c1","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#igws:sort=internetGatewayId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#igws:sort=internetGatewayId","private":null,"resourceId":"igw-0d12c394dd2585e2b","resourceName":null,"resourceType":"AWS::EC2::InternetGateway","resourceValue":null,"state":null,"tags":"[{\"tag\":\"AWSServiceAccount=368321020290\",\"value\":\"368321020290\",\"key\":\"AWSServiceAccount\"}]","title":"igw-0d12c394dd2585e2b","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-2042.5,"y":-216.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:internet-gateway/igw-0d12c394dd2585e2b","resourceId":["igw-0d12c394dd2585e2b","arn:aws:ec2:eu-west-1:044981683129:internet-gateway/igw-0d12c394dd2585e2b"],"parent":"InternetGateway-Multiple Availability Zones-vpc-0f27068a93df074c1-eu-west-1-044981683129","level":5,"id":"arn:aws:ec2:eu-west-1:044981683129:internet-gateway/igw-0d12c394dd2585e2b","title":"igw-0d12c394dd2585e2b","label":"igw-0d12c394...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:internet-gateway/igw-0d12c394dd2585e2b","image":"/icons/Amazon-VPC_Internet-Gateway_light-bg.svg","cost":0,"private":false,"resource":{"id":"igw-0d12c394dd2585e2b","name":null,"value":null,"type":"AWS::EC2::InternetGateway","tags":"[{\"tag\":\"AWSServiceAccount=368321020290\",\"value\":\"368321020290\",\"key\":\"AWSServiceAccount\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:internet-gateway/igw-0d12c394dd2585e2b","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#igws:sort=internetGatewayId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#igws:sort=internetGatewayId","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:internet-gateway/igw-0d12c394dd2585e2b","configuration":"\"{\\\"attachments\\\":[{\\\"vpcId\\\":\\\"vpc-0f27068a93df074c1\\\",\\\"state\\\":\\\"available\\\"}],\\\"internetGatewayId\\\":\\\"igw-0d12c394dd2585e2b\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"tags\\\":[{\\\"value\\\":\\\"368321020290\\\",\\\"key\\\":\\\"AWSServiceAccount\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-0f27068a93df074c1","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#igws:sort=internetGatewayId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#igws:sort=internetGatewayId","private":null,"resourceId":"igw-0d12c394dd2585e2b","resourceName":null,"resourceType":"AWS::EC2::InternetGateway","resourceValue":null,"state":null,"tags":"[{\"tag\":\"AWSServiceAccount=368321020290\",\"value\":\"368321020290\",\"key\":\"AWSServiceAccount\"}]","title":"igw-0d12c394dd2585e2b","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2042.5,"y":-216.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:tags::044981683129:tag/AWSServiceAccount=368321020290","resourceId":["arn:aws:tags::044981683129:tag/AWSServiceAccount=368321020290","arn:aws:tags::044981683129:tag/AWSServiceAccount=368321020290"],"parent":"Tag-global-044981683129","level":3,"id":"arn:aws:tags::044981683129:tag/AWSServiceAccount=368321020290","title":"AWSServiceAccount=368321020290","label":"AWSServiceAc...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:tags::044981683129:tag/AWSServiceAccount=368321020290","image":"/icons/AWS-Tags-bg.svg","cost":0,"private":false,"resource":{"id":"arn:aws:tags::044981683129:tag/AWSServiceAccount=368321020290","name":"AWSServiceAccount=368321020290","value":null,"type":"AWS::Tags::Tag","tags":"[]","arn":"arn:aws:tags::044981683129:tag/AWSServiceAccount=368321020290","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:tags::044981683129:tag/AWSServiceAccount=368321020290","configuration":"\"{}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:tags::044981683129:tag/AWSServiceAccount=368321020290","resourceName":"AWSServiceAccount=368321020290","resourceType":"AWS::Tags::Tag","resourceValue":null,"state":null,"tags":"[]","title":"AWSServiceAccount=368321020290","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":841.5,"y":-1607.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09f9178f48a57cb6a","resourceId":["vpc-09f9178f48a57cb6a","arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09f9178f48a57cb6a"],"parent":"VPC-Multiple Availability Zones-eu-west-1-044981683129","level":4,"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09f9178f48a57cb6a","title":"vpc-09f9178f48a57cb6a","label":"vpc-09f9178f...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09f9178f48a57cb6a","image":"/icons/VPC-menu.svg","cost":0,"private":false,"resource":{"id":"vpc-09f9178f48a57cb6a","name":null,"value":null,"type":"AWS::EC2::VPC","tags":"[{\"tag\":\"aws:cloudformation:stack-name=aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F\",\"value\":\"aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F/6225d910-2db9-11ec-9395-0adc76d2b8fd\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F/6225d910-2db9-11ec-9395-0adc76d2b8fd\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"Network=Public\",\"value\":\"Public\",\"key\":\"Network\"},{\"tag\":\"aws:cloudformation:logical-id=VPC\",\"value\":\"VPC\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Application=aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F\",\"value\":\"aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F\",\"key\":\"Application\"},{\"tag\":\"AppName=aws-perspective-044981683129\",\"value\":\"aws-perspective-044981683129\",\"key\":\"AppName\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09f9178f48a57cb6a","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#vpcs:sort=VpcId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#vpcs:sort=VpcId","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09f9178f48a57cb6a","configuration":"\"{\\\"instanceTenancy\\\":\\\"default\\\",\\\"isDefault\\\":false,\\\"dhcpOptionsId\\\":\\\"dopt-01ea0a1b1a9b59c0a\\\",\\\"cidrBlock\\\":\\\"10.0.0.0/16\\\",\\\"vpcId\\\":\\\"vpc-09f9178f48a57cb6a\\\",\\\"cidrBlockAssociationSet\\\":[{\\\"cidrBlock\\\":\\\"10.0.0.0/16\\\",\\\"cidrBlockState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"associationId\\\":\\\"vpc-cidr-assoc-0d0a697d8a9689ad5\\\"}],\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipv6CidrBlockAssociationSet\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F/6225d910-2db9-11ec-9395-0adc76d2b8fd\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"VPC\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"Public\\\",\\\"key\\\":\\\"Network\\\"},{\\\"value\\\":\\\"aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F\\\",\\\"key\\\":\\\"Application\\\"},{\\\"value\\\":\\\"aws-perspective-044981683129\\\",\\\"key\\\":\\\"AppName\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":null,"subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#vpcs:sort=VpcId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#vpcs:sort=VpcId","private":null,"resourceId":"vpc-09f9178f48a57cb6a","resourceName":null,"resourceType":"AWS::EC2::VPC","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F\",\"value\":\"aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F/6225d910-2db9-11ec-9395-0adc76d2b8fd\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F/6225d910-2db9-11ec-9395-0adc76d2b8fd\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"Network=Public\",\"value\":\"Public\",\"key\":\"Network\"},{\"tag\":\"aws:cloudformation:logical-id=VPC\",\"value\":\"VPC\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Application=aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F\",\"value\":\"aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F\",\"key\":\"Application\"},{\"tag\":\"AppName=aws-perspective-044981683129\",\"value\":\"aws-perspective-044981683129\",\"key\":\"AppName\"}]","title":"vpc-09f9178f48a57cb6a","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-374.5,"y":-442.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"id":"vpc-09f9178f48a57cb6a-eu-west-1-044981683129","parent":"eu-west-1-044981683129","level":2,"title":"vpc-09f9178f48a57cb6a","label":"vpc-09f9178f48a57cb6a","plainLabel":"vpc-09f9178f48a57cb6a","type":"vpc","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/VPC-collapsed.svg","clickedId":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09f9178f48a57cb6a","cost":0,"hasChildren":true,"children":[{"id":null,"label":"SecurityGroup","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0fb035a00adafb7a1","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0fb035a00adafb7a1","configuration":"\"{\\\"groupName\\\":\\\"aws-perspective-044981683129-eu-west-1-NeptuneStack-WF939IGR16J-NeptuneDbSg-1HGHJV90RTZHA\\\",\\\"groupId\\\":\\\"sg-0fb035a00adafb7a1\\\",\\\"vpcId\\\":\\\"vpc-09f9178f48a57cb6a\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"10.0.0.0/16\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":6174,\\\"toPort\\\":6174,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"description\\\":\\\"Explicit egress group locking down outbound access for Neptune\\\",\\\"cidrIp\\\":\\\"10.0.0.0/16\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"Security group governing access to Neptune instance\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[],\\\"prefixListIds\\\":[],\\\"fromPort\\\":0,\\\"toPort\\\":65535,\\\"userIdGroupPairs\\\":[{\\\"groupId\\\":\\\"sg-0fb035a00adafb7a1\\\",\\\"description\\\":\\\"notebook\\\",\\\"userId\\\":\\\"044981683129\\\"}],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[{\\\"value\\\":\\\"aws-perspective-044981683129\\\",\\\"key\\\":\\\"AppName\\\"},{\\\"value\\\":\\\"NeptuneDbSg\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective-044981683129-eu-west-1-NeptuneStack-WF939IGR16J/e2361e80-2db9-11ec-a2bf-06c9d64537e9\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"aws-perspective-044981683129-eu-west-1-NeptuneStack-WF939IGR16J\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"aws-perspective-044981683129-eu-west-1-NeptuneStack-WF939IGR16J-neptune-sg\\\",\\\"key\\\":\\\"Name\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-09f9178f48a57cb6a","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0fb035a00adafb7a1","resourceName":"aws-perspective-044981683129-eu-west-1-NeptuneStack-WF939IGR16J-NeptuneDbSg-1HGHJV90RTZHA","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=aws-perspective-044981683129-eu-west-1-NeptuneStack-WF939IGR16J\",\"value\":\"aws-perspective-044981683129-eu-west-1-NeptuneStack-WF939IGR16J\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective-044981683129-eu-west-1-NeptuneStack-WF939IGR16J/e2361e80-2db9-11ec-a2bf-06c9d64537e9\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective-044981683129-eu-west-1-NeptuneStack-WF939IGR16J/e2361e80-2db9-11ec-a2bf-06c9d64537e9\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=NeptuneDbSg\",\"value\":\"NeptuneDbSg\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"AppName=aws-perspective-044981683129\",\"value\":\"aws-perspective-044981683129\",\"key\":\"AppName\"},{\"tag\":\"Name=aws-perspective-044981683129-eu-west-1-NeptuneStack-WF939IGR16J-neptune-sg\",\"value\":\"aws-perspective-044981683129-eu-west-1-NeptuneStack-WF939IGR16J-neptune-sg\",\"key\":\"Name\"}]","title":"aws-perspective-044981683129-eu-west-1-NeptuneStack-WF939IGR16J-neptune-sg","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0eb01ea7f54660e44","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0eb01ea7f54660e44","configuration":"\"{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-0eb01ea7f54660e44\\\",\\\"vpcId\\\":\\\"vpc-09f9178f48a57cb6a\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"default VPC security group\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[{\\\"groupId\\\":\\\"sg-0eb01ea7f54660e44\\\",\\\"userId\\\":\\\"044981683129\\\"}],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-09f9178f48a57cb6a","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0eb01ea7f54660e44","resourceName":"default","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"default","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]},{"id":null,"label":"RouteTable","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-023efa10281e8ca09","label":"AWS_EC2_RouteTable","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-023efa10281e8ca09","configuration":"\"{\\\"associations\\\":[{\\\"routeTableId\\\":\\\"rtb-023efa10281e8ca09\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-019b4a1dd03fce6f4\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":true}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"10.0.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"}],\\\"routeTableId\\\":\\\"rtb-023efa10281e8ca09\\\",\\\"vpcId\\\":\\\"vpc-09f9178f48a57cb6a\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-09f9178f48a57cb6a","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-023efa10281e8ca09","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[]","title":"rtb-023efa10281e8ca09","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]},{"id":null,"label":"Stack","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F/6225d910-2db9-11ec-9395-0adc76d2b8fd","label":"AWS_CloudFormation_Stack","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F/6225d910-2db9-11ec-9395-0adc76d2b8fd","configuration":"\"{\\\"outputs\\\":[{\\\"outputKey\\\":\\\"AvailabilityZone1\\\",\\\"outputValue\\\":\\\"eu-west-1b\\\"},{\\\"outputKey\\\":\\\"PrivateSubnet0\\\",\\\"outputValue\\\":\\\"subnet-0c5889349f1f460e0\\\",\\\"description\\\":\\\"SubnetId of private subnet 0\\\"},{\\\"outputKey\\\":\\\"PrivateSubnet1\\\",\\\"outputValue\\\":\\\"subnet-0f368f7e39ced676d\\\",\\\"description\\\":\\\"SubnetId of private subnet 1\\\"},{\\\"outputKey\\\":\\\"AvailabilityZone0\\\",\\\"outputValue\\\":\\\"eu-west-1a\\\"},{\\\"outputKey\\\":\\\"VpcCidr\\\",\\\"outputValue\\\":\\\"10.0.0.0/16\\\",\\\"description\\\":\\\"VPC CIDR\\\"},{\\\"outputKey\\\":\\\"VPCId\\\",\\\"outputValue\\\":\\\"vpc-09f9178f48a57cb6a\\\",\\\"description\\\":\\\"VPCId of VPC\\\"},{\\\"outputKey\\\":\\\"VpcEndpointsSg\\\",\\\"outputValue\\\":\\\"sg-0ccbe4be326aa260b\\\",\\\"description\\\":\\\"Security group for all VPC Endpoints\\\"},{\\\"outputKey\\\":\\\"PublicSubnet1\\\",\\\"outputValue\\\":\\\"subnet-09c1aa27bddd790e7\\\",\\\"description\\\":\\\"SubnetId of public subnet 1\\\"},{\\\"outputKey\\\":\\\"PublicSubnet0\\\",\\\"outputValue\\\":\\\"subnet-0339bd3cee8a2a53b\\\",\\\"description\\\":\\\"SubnetId of public subnet 0\\\"}],\\\"capabilities\\\":[\\\"CAPABILITY_IAM\\\",\\\"CAPABILITY_NAMED_IAM\\\",\\\"CAPABILITY_AUTO_EXPAND\\\"],\\\"creationTime\\\":\\\"2021-10-15T13:11:18Z\\\",\\\"notificationARNs\\\":[],\\\"stackId\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F/6225d910-2db9-11ec-9395-0adc76d2b8fd\\\",\\\"stackName\\\":\\\"aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F\\\",\\\"description\\\":\\\"AWS Perspective VPC Stack\\\",\\\"stackStatus\\\":\\\"DELETE_FAILED\\\",\\\"disableRollback\\\":true,\\\"parentId\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective-044981683129-eu-west-1/5e922b00-2db9-11ec-8aff-06be04343c73\\\",\\\"tags\\\":[{\\\"value\\\":\\\"aws-perspective-044981683129\\\",\\\"key\\\":\\\"AppName\\\"}],\\\"timeoutInMinutes\\\":60,\\\"driftInformation\\\":{\\\"stackDriftStatus\\\":\\\"NOT_CHECKED\\\"},\\\"enableTerminationProtection\\\":false,\\\"parameters\\\":[{\\\"parameterKey\\\":\\\"RetentionInDays\\\",\\\"parameterValue\\\":\\\"14\\\"},{\\\"parameterKey\\\":\\\"TrafficType\\\",\\\"parameterValue\\\":\\\"ALL\\\"}],\\\"stackStatusReason\\\":\\\"The following resource(s) failed to delete: [PrivateSubnet1, VPC]. \\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Regional","vpcId":"vpc-09f9178f48a57cb6a","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F/6225d910-2db9-11ec-9395-0adc76d2b8fd","resourceName":"aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F","resourceType":"AWS::CloudFormation::Stack","resourceValue":null,"state":null,"tags":"[{\"tag\":\"AppName=aws-perspective-044981683129\",\"value\":\"aws-perspective-044981683129\",\"key\":\"AppName\"}]","title":"aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]},{"id":null,"label":"eu-west-1b","parent":null,"type":"availabilityZone","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0f368f7e39ced676d","label":"subnet-0f368f7e39ced676d","parent":null,"type":"subnet","data":{"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0f368f7e39ced676d","configuration":"\"{\\\"subnetId\\\":\\\"subnet-0f368f7e39ced676d\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0f368f7e39ced676d\\\",\\\"availabilityZoneId\\\":\\\"euw1-az3\\\",\\\"cidrBlock\\\":\\\"10.0.12.0/24\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F\\\",\\\"key\\\":\\\"Application\\\"},{\\\"value\\\":\\\"vpc-09f9178f48a57cb6a-private-b\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F/6225d910-2db9-11ec-9395-0adc76d2b8fd\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"PrivateSubnet1\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"Private\\\",\\\"key\\\":\\\"Network\\\"},{\\\"value\\\":\\\"aws-perspective-044981683129\\\",\\\"key\\\":\\\"AppName\\\"}],\\\"availableIpAddressCount\\\":251,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-09f9178f48a57cb6a\\\",\\\"mapPublicIpOnLaunch\\\":false,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-09f9178f48a57cb6a","subnetId":"subnet-0f368f7e39ced676d","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":null,"resourceId":"subnet-0f368f7e39ced676d","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F\",\"value\":\"aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F/6225d910-2db9-11ec-9395-0adc76d2b8fd\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F/6225d910-2db9-11ec-9395-0adc76d2b8fd\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"Network=Private\",\"value\":\"Private\",\"key\":\"Network\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateSubnet1\",\"value\":\"PrivateSubnet1\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Application=aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F\",\"value\":\"aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F\",\"key\":\"Application\"},{\"tag\":\"Name=vpc-09f9178f48a57cb6a-private-b\",\"value\":\"vpc-09f9178f48a57cb6a-private-b\",\"key\":\"Name\"},{\"tag\":\"AppName=aws-perspective-044981683129\",\"value\":\"aws-perspective-044981683129\",\"key\":\"AppName\"}]","title":"vpc-09f9178f48a57cb6a-private-b","instanceType":null,"statement":null,"dBInstanceStatus":null},"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0f368f7e39ced676d","label":"AWS_EC2_Subnet"},"properties":null,"children":[{"id":null,"label":"NetworkAcl","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-093d1bd7dab590009","label":"AWS_EC2_NetworkAcl","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-093d1bd7dab590009","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-0f368f7e39ced676d\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-07c06471b9ceec684\\\",\\\"networkAclId\\\":\\\"acl-093d1bd7dab590009\\\"}],\\\"entries\\\":[{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":false},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":false}],\\\"isDefault\\\":true,\\\"vpcId\\\":\\\"vpc-09f9178f48a57cb6a\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"networkAclId\\\":\\\"acl-093d1bd7dab590009\\\",\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-09f9178f48a57cb6a","subnetId":"subnet-0f368f7e39ced676d","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#acls:sort=networkAclId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#acls:sort=networkAclId","private":null,"resourceId":"acl-093d1bd7dab590009","resourceName":null,"resourceType":"AWS::EC2::NetworkAcl","resourceValue":null,"state":null,"tags":"[]","title":"acl-093d1bd7dab590009","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}]}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#248814","properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09f9178f48a57cb6a","configuration":"\"{\\\"instanceTenancy\\\":\\\"default\\\",\\\"isDefault\\\":false,\\\"dhcpOptionsId\\\":\\\"dopt-01ea0a1b1a9b59c0a\\\",\\\"cidrBlock\\\":\\\"10.0.0.0/16\\\",\\\"vpcId\\\":\\\"vpc-09f9178f48a57cb6a\\\",\\\"cidrBlockAssociationSet\\\":[{\\\"cidrBlock\\\":\\\"10.0.0.0/16\\\",\\\"cidrBlockState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"associationId\\\":\\\"vpc-cidr-assoc-0d0a697d8a9689ad5\\\"}],\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipv6CidrBlockAssociationSet\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F/6225d910-2db9-11ec-9395-0adc76d2b8fd\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"VPC\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"Public\\\",\\\"key\\\":\\\"Network\\\"},{\\\"value\\\":\\\"aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F\\\",\\\"key\\\":\\\"Application\\\"},{\\\"value\\\":\\\"aws-perspective-044981683129\\\",\\\"key\\\":\\\"AppName\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":null,"subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#vpcs:sort=VpcId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#vpcs:sort=VpcId","private":null,"resourceId":"vpc-09f9178f48a57cb6a","resourceName":null,"resourceType":"AWS::EC2::VPC","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F\",\"value\":\"aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F/6225d910-2db9-11ec-9395-0adc76d2b8fd\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F/6225d910-2db9-11ec-9395-0adc76d2b8fd\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"Network=Public\",\"value\":\"Public\",\"key\":\"Network\"},{\"tag\":\"aws:cloudformation:logical-id=VPC\",\"value\":\"VPC\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Application=aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F\",\"value\":\"aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F\",\"key\":\"Application\"},{\"tag\":\"AppName=aws-perspective-044981683129\",\"value\":\"aws-perspective-044981683129\",\"key\":\"AppName\"}]","title":"vpc-09f9178f48a57cb6a","instanceType":null,"statement":null,"dBInstanceStatus":null},"resource":{"id":"vpc-09f9178f48a57cb6a","name":null,"value":null,"type":"AWS::EC2::VPC","tags":"[{\"tag\":\"aws:cloudformation:stack-name=aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F\",\"value\":\"aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F/6225d910-2db9-11ec-9395-0adc76d2b8fd\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F/6225d910-2db9-11ec-9395-0adc76d2b8fd\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"Network=Public\",\"value\":\"Public\",\"key\":\"Network\"},{\"tag\":\"aws:cloudformation:logical-id=VPC\",\"value\":\"VPC\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Application=aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F\",\"value\":\"aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F\",\"key\":\"Application\"},{\"tag\":\"AppName=aws-perspective-044981683129\",\"value\":\"aws-perspective-044981683129\",\"key\":\"AppName\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09f9178f48a57cb6a","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#vpcs:sort=VpcId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#vpcs:sort=VpcId","accountId":"044981683129"},"selected":true},"position":{"x":-1472,"y":-387.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"vpc removeAll _gridParentPadding"},{"data":{"id":"SecurityGroup-vpc-09f9178f48a57cb6a-eu-west-1-044981683129","parent":"vpc-09f9178f48a57cb6a-eu-west-1-044981683129","level":3,"title":"SecurityGroup","label":"SecurityGroup","plainLabel":"SecurityGroup","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/AWSSecurityGroup.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0fb035a00adafb7a1","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0fb035a00adafb7a1","configuration":"\"{\\\"groupName\\\":\\\"aws-perspective-044981683129-eu-west-1-NeptuneStack-WF939IGR16J-NeptuneDbSg-1HGHJV90RTZHA\\\",\\\"groupId\\\":\\\"sg-0fb035a00adafb7a1\\\",\\\"vpcId\\\":\\\"vpc-09f9178f48a57cb6a\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"10.0.0.0/16\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":6174,\\\"toPort\\\":6174,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"description\\\":\\\"Explicit egress group locking down outbound access for Neptune\\\",\\\"cidrIp\\\":\\\"10.0.0.0/16\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"Security group governing access to Neptune instance\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[],\\\"prefixListIds\\\":[],\\\"fromPort\\\":0,\\\"toPort\\\":65535,\\\"userIdGroupPairs\\\":[{\\\"groupId\\\":\\\"sg-0fb035a00adafb7a1\\\",\\\"description\\\":\\\"notebook\\\",\\\"userId\\\":\\\"044981683129\\\"}],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[{\\\"value\\\":\\\"aws-perspective-044981683129\\\",\\\"key\\\":\\\"AppName\\\"},{\\\"value\\\":\\\"NeptuneDbSg\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective-044981683129-eu-west-1-NeptuneStack-WF939IGR16J/e2361e80-2db9-11ec-a2bf-06c9d64537e9\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"aws-perspective-044981683129-eu-west-1-NeptuneStack-WF939IGR16J\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"aws-perspective-044981683129-eu-west-1-NeptuneStack-WF939IGR16J-neptune-sg\\\",\\\"key\\\":\\\"Name\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-09f9178f48a57cb6a","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0fb035a00adafb7a1","resourceName":"aws-perspective-044981683129-eu-west-1-NeptuneStack-WF939IGR16J-NeptuneDbSg-1HGHJV90RTZHA","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=aws-perspective-044981683129-eu-west-1-NeptuneStack-WF939IGR16J\",\"value\":\"aws-perspective-044981683129-eu-west-1-NeptuneStack-WF939IGR16J\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective-044981683129-eu-west-1-NeptuneStack-WF939IGR16J/e2361e80-2db9-11ec-a2bf-06c9d64537e9\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective-044981683129-eu-west-1-NeptuneStack-WF939IGR16J/e2361e80-2db9-11ec-a2bf-06c9d64537e9\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=NeptuneDbSg\",\"value\":\"NeptuneDbSg\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"AppName=aws-perspective-044981683129\",\"value\":\"aws-perspective-044981683129\",\"key\":\"AppName\"},{\"tag\":\"Name=aws-perspective-044981683129-eu-west-1-NeptuneStack-WF939IGR16J-neptune-sg\",\"value\":\"aws-perspective-044981683129-eu-west-1-NeptuneStack-WF939IGR16J-neptune-sg\",\"key\":\"Name\"}]","title":"aws-perspective-044981683129-eu-west-1-NeptuneStack-WF939IGR16J-neptune-sg","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0eb01ea7f54660e44","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0eb01ea7f54660e44","configuration":"\"{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-0eb01ea7f54660e44\\\",\\\"vpcId\\\":\\\"vpc-09f9178f48a57cb6a\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"default VPC security group\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[{\\\"groupId\\\":\\\"sg-0eb01ea7f54660e44\\\",\\\"userId\\\":\\\"044981683129\\\"}],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-09f9178f48a57cb6a","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0eb01ea7f54660e44","resourceName":"default","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"default","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1374,"y":-515.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0fb035a00adafb7a1","resourceId":["sg-0fb035a00adafb7a1","arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0fb035a00adafb7a1"],"parent":"SecurityGroup-vpc-09f9178f48a57cb6a-eu-west-1-044981683129","level":4,"id":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0fb035a00adafb7a1","title":"aws-perspective-044981683129-eu-west-1-NeptuneStack-WF939IGR16J-neptune-sg","label":"aws-perspect...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0fb035a00adafb7a1","image":"/icons/AWSSecurityGroup.svg","cost":0,"private":false,"resource":{"id":"sg-0fb035a00adafb7a1","name":"aws-perspective-044981683129-eu-west-1-NeptuneStack-WF939IGR16J-NeptuneDbSg-1HGHJV90RTZHA","value":null,"type":"AWS::EC2::SecurityGroup","tags":"[{\"tag\":\"aws:cloudformation:stack-name=aws-perspective-044981683129-eu-west-1-NeptuneStack-WF939IGR16J\",\"value\":\"aws-perspective-044981683129-eu-west-1-NeptuneStack-WF939IGR16J\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective-044981683129-eu-west-1-NeptuneStack-WF939IGR16J/e2361e80-2db9-11ec-a2bf-06c9d64537e9\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective-044981683129-eu-west-1-NeptuneStack-WF939IGR16J/e2361e80-2db9-11ec-a2bf-06c9d64537e9\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=NeptuneDbSg\",\"value\":\"NeptuneDbSg\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"AppName=aws-perspective-044981683129\",\"value\":\"aws-perspective-044981683129\",\"key\":\"AppName\"},{\"tag\":\"Name=aws-perspective-044981683129-eu-west-1-NeptuneStack-WF939IGR16J-neptune-sg\",\"value\":\"aws-perspective-044981683129-eu-west-1-NeptuneStack-WF939IGR16J-neptune-sg\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0fb035a00adafb7a1","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0fb035a00adafb7a1","configuration":"\"{\\\"groupName\\\":\\\"aws-perspective-044981683129-eu-west-1-NeptuneStack-WF939IGR16J-NeptuneDbSg-1HGHJV90RTZHA\\\",\\\"groupId\\\":\\\"sg-0fb035a00adafb7a1\\\",\\\"vpcId\\\":\\\"vpc-09f9178f48a57cb6a\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"10.0.0.0/16\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":6174,\\\"toPort\\\":6174,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"description\\\":\\\"Explicit egress group locking down outbound access for Neptune\\\",\\\"cidrIp\\\":\\\"10.0.0.0/16\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"Security group governing access to Neptune instance\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[],\\\"prefixListIds\\\":[],\\\"fromPort\\\":0,\\\"toPort\\\":65535,\\\"userIdGroupPairs\\\":[{\\\"groupId\\\":\\\"sg-0fb035a00adafb7a1\\\",\\\"description\\\":\\\"notebook\\\",\\\"userId\\\":\\\"044981683129\\\"}],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[{\\\"value\\\":\\\"aws-perspective-044981683129\\\",\\\"key\\\":\\\"AppName\\\"},{\\\"value\\\":\\\"NeptuneDbSg\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective-044981683129-eu-west-1-NeptuneStack-WF939IGR16J/e2361e80-2db9-11ec-a2bf-06c9d64537e9\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"aws-perspective-044981683129-eu-west-1-NeptuneStack-WF939IGR16J\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"aws-perspective-044981683129-eu-west-1-NeptuneStack-WF939IGR16J-neptune-sg\\\",\\\"key\\\":\\\"Name\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-09f9178f48a57cb6a","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0fb035a00adafb7a1","resourceName":"aws-perspective-044981683129-eu-west-1-NeptuneStack-WF939IGR16J-NeptuneDbSg-1HGHJV90RTZHA","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=aws-perspective-044981683129-eu-west-1-NeptuneStack-WF939IGR16J\",\"value\":\"aws-perspective-044981683129-eu-west-1-NeptuneStack-WF939IGR16J\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective-044981683129-eu-west-1-NeptuneStack-WF939IGR16J/e2361e80-2db9-11ec-a2bf-06c9d64537e9\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective-044981683129-eu-west-1-NeptuneStack-WF939IGR16J/e2361e80-2db9-11ec-a2bf-06c9d64537e9\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=NeptuneDbSg\",\"value\":\"NeptuneDbSg\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"AppName=aws-perspective-044981683129\",\"value\":\"aws-perspective-044981683129\",\"key\":\"AppName\"},{\"tag\":\"Name=aws-perspective-044981683129-eu-west-1-NeptuneStack-WF939IGR16J-neptune-sg\",\"value\":\"aws-perspective-044981683129-eu-west-1-NeptuneStack-WF939IGR16J-neptune-sg\",\"key\":\"Name\"}]","title":"aws-perspective-044981683129-eu-west-1-NeptuneStack-WF939IGR16J-neptune-sg","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1410.5,"y":-515.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0eb01ea7f54660e44","resourceId":["sg-0eb01ea7f54660e44","arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0eb01ea7f54660e44"],"parent":"SecurityGroup-vpc-09f9178f48a57cb6a-eu-west-1-044981683129","level":4,"id":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0eb01ea7f54660e44","title":"default","label":"default","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0eb01ea7f54660e44","image":"/icons/AWSSecurityGroup.svg","cost":0,"private":false,"resource":{"id":"sg-0eb01ea7f54660e44","name":"default","value":null,"type":"AWS::EC2::SecurityGroup","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0eb01ea7f54660e44","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0eb01ea7f54660e44","configuration":"\"{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-0eb01ea7f54660e44\\\",\\\"vpcId\\\":\\\"vpc-09f9178f48a57cb6a\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"default VPC security group\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[{\\\"groupId\\\":\\\"sg-0eb01ea7f54660e44\\\",\\\"userId\\\":\\\"044981683129\\\"}],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-09f9178f48a57cb6a","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0eb01ea7f54660e44","resourceName":"default","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"default","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1337.5,"y":-515.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"RouteTable-vpc-09f9178f48a57cb6a-eu-west-1-044981683129","parent":"vpc-09f9178f48a57cb6a-eu-west-1-044981683129","level":3,"title":"RouteTable","label":"RouteTable","plainLabel":"RouteTable","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-VPC_Router_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-023efa10281e8ca09","label":"AWS_EC2_RouteTable","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-023efa10281e8ca09","configuration":"\"{\\\"associations\\\":[{\\\"routeTableId\\\":\\\"rtb-023efa10281e8ca09\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-019b4a1dd03fce6f4\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":true}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"10.0.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"}],\\\"routeTableId\\\":\\\"rtb-023efa10281e8ca09\\\",\\\"vpcId\\\":\\\"vpc-09f9178f48a57cb6a\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-09f9178f48a57cb6a","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-023efa10281e8ca09","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[]","title":"rtb-023efa10281e8ca09","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1603.5,"y":-259.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-023efa10281e8ca09","resourceId":["rtb-023efa10281e8ca09","arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-023efa10281e8ca09"],"parent":"RouteTable-vpc-09f9178f48a57cb6a-eu-west-1-044981683129","level":4,"id":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-023efa10281e8ca09","title":"rtb-023efa10281e8ca09","label":"rtb-023efa10...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-023efa10281e8ca09","image":"/icons/Amazon-VPC_Router_light-bg.svg","cost":0,"private":false,"resource":{"id":"rtb-023efa10281e8ca09","name":null,"value":null,"type":"AWS::EC2::RouteTable","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-023efa10281e8ca09","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-023efa10281e8ca09","configuration":"\"{\\\"associations\\\":[{\\\"routeTableId\\\":\\\"rtb-023efa10281e8ca09\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-019b4a1dd03fce6f4\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":true}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"10.0.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"}],\\\"routeTableId\\\":\\\"rtb-023efa10281e8ca09\\\",\\\"vpcId\\\":\\\"vpc-09f9178f48a57cb6a\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-09f9178f48a57cb6a","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-023efa10281e8ca09","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[]","title":"rtb-023efa10281e8ca09","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1603.5,"y":-259.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"Stack-vpc-09f9178f48a57cb6a-eu-west-1-044981683129","parent":"vpc-09f9178f48a57cb6a-eu-west-1-044981683129","level":3,"title":"Stack","label":"Stack","plainLabel":"Stack","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/AWS-CloudFormation.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F/6225d910-2db9-11ec-9395-0adc76d2b8fd","label":"AWS_CloudFormation_Stack","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F/6225d910-2db9-11ec-9395-0adc76d2b8fd","configuration":"\"{\\\"outputs\\\":[{\\\"outputKey\\\":\\\"AvailabilityZone1\\\",\\\"outputValue\\\":\\\"eu-west-1b\\\"},{\\\"outputKey\\\":\\\"PrivateSubnet0\\\",\\\"outputValue\\\":\\\"subnet-0c5889349f1f460e0\\\",\\\"description\\\":\\\"SubnetId of private subnet 0\\\"},{\\\"outputKey\\\":\\\"PrivateSubnet1\\\",\\\"outputValue\\\":\\\"subnet-0f368f7e39ced676d\\\",\\\"description\\\":\\\"SubnetId of private subnet 1\\\"},{\\\"outputKey\\\":\\\"AvailabilityZone0\\\",\\\"outputValue\\\":\\\"eu-west-1a\\\"},{\\\"outputKey\\\":\\\"VpcCidr\\\",\\\"outputValue\\\":\\\"10.0.0.0/16\\\",\\\"description\\\":\\\"VPC CIDR\\\"},{\\\"outputKey\\\":\\\"VPCId\\\",\\\"outputValue\\\":\\\"vpc-09f9178f48a57cb6a\\\",\\\"description\\\":\\\"VPCId of VPC\\\"},{\\\"outputKey\\\":\\\"VpcEndpointsSg\\\",\\\"outputValue\\\":\\\"sg-0ccbe4be326aa260b\\\",\\\"description\\\":\\\"Security group for all VPC Endpoints\\\"},{\\\"outputKey\\\":\\\"PublicSubnet1\\\",\\\"outputValue\\\":\\\"subnet-09c1aa27bddd790e7\\\",\\\"description\\\":\\\"SubnetId of public subnet 1\\\"},{\\\"outputKey\\\":\\\"PublicSubnet0\\\",\\\"outputValue\\\":\\\"subnet-0339bd3cee8a2a53b\\\",\\\"description\\\":\\\"SubnetId of public subnet 0\\\"}],\\\"capabilities\\\":[\\\"CAPABILITY_IAM\\\",\\\"CAPABILITY_NAMED_IAM\\\",\\\"CAPABILITY_AUTO_EXPAND\\\"],\\\"creationTime\\\":\\\"2021-10-15T13:11:18Z\\\",\\\"notificationARNs\\\":[],\\\"stackId\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F/6225d910-2db9-11ec-9395-0adc76d2b8fd\\\",\\\"stackName\\\":\\\"aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F\\\",\\\"description\\\":\\\"AWS Perspective VPC Stack\\\",\\\"stackStatus\\\":\\\"DELETE_FAILED\\\",\\\"disableRollback\\\":true,\\\"parentId\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective-044981683129-eu-west-1/5e922b00-2db9-11ec-8aff-06be04343c73\\\",\\\"tags\\\":[{\\\"value\\\":\\\"aws-perspective-044981683129\\\",\\\"key\\\":\\\"AppName\\\"}],\\\"timeoutInMinutes\\\":60,\\\"driftInformation\\\":{\\\"stackDriftStatus\\\":\\\"NOT_CHECKED\\\"},\\\"enableTerminationProtection\\\":false,\\\"parameters\\\":[{\\\"parameterKey\\\":\\\"RetentionInDays\\\",\\\"parameterValue\\\":\\\"14\\\"},{\\\"parameterKey\\\":\\\"TrafficType\\\",\\\"parameterValue\\\":\\\"ALL\\\"}],\\\"stackStatusReason\\\":\\\"The following resource(s) failed to delete: [PrivateSubnet1, VPC]. \\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Regional","vpcId":"vpc-09f9178f48a57cb6a","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F/6225d910-2db9-11ec-9395-0adc76d2b8fd","resourceName":"aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F","resourceType":"AWS::CloudFormation::Stack","resourceValue":null,"state":null,"tags":"[{\"tag\":\"AppName=aws-perspective-044981683129\",\"value\":\"aws-perspective-044981683129\",\"key\":\"AppName\"}]","title":"aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1490.5,"y":-259.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F/6225d910-2db9-11ec-9395-0adc76d2b8fd","resourceId":["arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F/6225d910-2db9-11ec-9395-0adc76d2b8fd","arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F/6225d910-2db9-11ec-9395-0adc76d2b8fd"],"parent":"Stack-vpc-09f9178f48a57cb6a-eu-west-1-044981683129","level":4,"id":"arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F/6225d910-2db9-11ec-9395-0adc76d2b8fd","title":"aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F","label":"aws-perspect...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F/6225d910-2db9-11ec-9395-0adc76d2b8fd","image":"/icons/AWS-CloudFormation.svg","cost":0,"private":false,"resource":{"id":"arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F/6225d910-2db9-11ec-9395-0adc76d2b8fd","name":"aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F","value":null,"type":"AWS::CloudFormation::Stack","tags":"[{\"tag\":\"AppName=aws-perspective-044981683129\",\"value\":\"aws-perspective-044981683129\",\"key\":\"AppName\"}]","arn":"arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F/6225d910-2db9-11ec-9395-0adc76d2b8fd","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F/6225d910-2db9-11ec-9395-0adc76d2b8fd","configuration":"\"{\\\"outputs\\\":[{\\\"outputKey\\\":\\\"AvailabilityZone1\\\",\\\"outputValue\\\":\\\"eu-west-1b\\\"},{\\\"outputKey\\\":\\\"PrivateSubnet0\\\",\\\"outputValue\\\":\\\"subnet-0c5889349f1f460e0\\\",\\\"description\\\":\\\"SubnetId of private subnet 0\\\"},{\\\"outputKey\\\":\\\"PrivateSubnet1\\\",\\\"outputValue\\\":\\\"subnet-0f368f7e39ced676d\\\",\\\"description\\\":\\\"SubnetId of private subnet 1\\\"},{\\\"outputKey\\\":\\\"AvailabilityZone0\\\",\\\"outputValue\\\":\\\"eu-west-1a\\\"},{\\\"outputKey\\\":\\\"VpcCidr\\\",\\\"outputValue\\\":\\\"10.0.0.0/16\\\",\\\"description\\\":\\\"VPC CIDR\\\"},{\\\"outputKey\\\":\\\"VPCId\\\",\\\"outputValue\\\":\\\"vpc-09f9178f48a57cb6a\\\",\\\"description\\\":\\\"VPCId of VPC\\\"},{\\\"outputKey\\\":\\\"VpcEndpointsSg\\\",\\\"outputValue\\\":\\\"sg-0ccbe4be326aa260b\\\",\\\"description\\\":\\\"Security group for all VPC Endpoints\\\"},{\\\"outputKey\\\":\\\"PublicSubnet1\\\",\\\"outputValue\\\":\\\"subnet-09c1aa27bddd790e7\\\",\\\"description\\\":\\\"SubnetId of public subnet 1\\\"},{\\\"outputKey\\\":\\\"PublicSubnet0\\\",\\\"outputValue\\\":\\\"subnet-0339bd3cee8a2a53b\\\",\\\"description\\\":\\\"SubnetId of public subnet 0\\\"}],\\\"capabilities\\\":[\\\"CAPABILITY_IAM\\\",\\\"CAPABILITY_NAMED_IAM\\\",\\\"CAPABILITY_AUTO_EXPAND\\\"],\\\"creationTime\\\":\\\"2021-10-15T13:11:18Z\\\",\\\"notificationARNs\\\":[],\\\"stackId\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F/6225d910-2db9-11ec-9395-0adc76d2b8fd\\\",\\\"stackName\\\":\\\"aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F\\\",\\\"description\\\":\\\"AWS Perspective VPC Stack\\\",\\\"stackStatus\\\":\\\"DELETE_FAILED\\\",\\\"disableRollback\\\":true,\\\"parentId\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective-044981683129-eu-west-1/5e922b00-2db9-11ec-8aff-06be04343c73\\\",\\\"tags\\\":[{\\\"value\\\":\\\"aws-perspective-044981683129\\\",\\\"key\\\":\\\"AppName\\\"}],\\\"timeoutInMinutes\\\":60,\\\"driftInformation\\\":{\\\"stackDriftStatus\\\":\\\"NOT_CHECKED\\\"},\\\"enableTerminationProtection\\\":false,\\\"parameters\\\":[{\\\"parameterKey\\\":\\\"RetentionInDays\\\",\\\"parameterValue\\\":\\\"14\\\"},{\\\"parameterKey\\\":\\\"TrafficType\\\",\\\"parameterValue\\\":\\\"ALL\\\"}],\\\"stackStatusReason\\\":\\\"The following resource(s) failed to delete: [PrivateSubnet1, VPC]. \\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Regional","vpcId":"vpc-09f9178f48a57cb6a","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F/6225d910-2db9-11ec-9395-0adc76d2b8fd","resourceName":"aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F","resourceType":"AWS::CloudFormation::Stack","resourceValue":null,"state":null,"tags":"[{\"tag\":\"AppName=aws-perspective-044981683129\",\"value\":\"aws-perspective-044981683129\",\"key\":\"AppName\"}]","title":"aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1490.5,"y":-259.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"eu-west-1b-vpc-09f9178f48a57cb6a-eu-west-1-044981683129","parent":"vpc-09f9178f48a57cb6a-eu-west-1-044981683129","level":3,"title":"eu-west-1b","label":"eu-west-1b","plainLabel":"eu-west-1b","type":"availabilityZone","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/availabilityZone.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0f368f7e39ced676d","label":"subnet-0f368f7e39ced676d","parent":null,"type":"subnet","data":{"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0f368f7e39ced676d","configuration":"\"{\\\"subnetId\\\":\\\"subnet-0f368f7e39ced676d\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0f368f7e39ced676d\\\",\\\"availabilityZoneId\\\":\\\"euw1-az3\\\",\\\"cidrBlock\\\":\\\"10.0.12.0/24\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F\\\",\\\"key\\\":\\\"Application\\\"},{\\\"value\\\":\\\"vpc-09f9178f48a57cb6a-private-b\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F/6225d910-2db9-11ec-9395-0adc76d2b8fd\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"PrivateSubnet1\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"Private\\\",\\\"key\\\":\\\"Network\\\"},{\\\"value\\\":\\\"aws-perspective-044981683129\\\",\\\"key\\\":\\\"AppName\\\"}],\\\"availableIpAddressCount\\\":251,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-09f9178f48a57cb6a\\\",\\\"mapPublicIpOnLaunch\\\":false,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-09f9178f48a57cb6a","subnetId":"subnet-0f368f7e39ced676d","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":null,"resourceId":"subnet-0f368f7e39ced676d","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F\",\"value\":\"aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F/6225d910-2db9-11ec-9395-0adc76d2b8fd\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F/6225d910-2db9-11ec-9395-0adc76d2b8fd\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"Network=Private\",\"value\":\"Private\",\"key\":\"Network\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateSubnet1\",\"value\":\"PrivateSubnet1\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Application=aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F\",\"value\":\"aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F\",\"key\":\"Application\"},{\"tag\":\"Name=vpc-09f9178f48a57cb6a-private-b\",\"value\":\"vpc-09f9178f48a57cb6a-private-b\",\"key\":\"Name\"},{\"tag\":\"AppName=aws-perspective-044981683129\",\"value\":\"aws-perspective-044981683129\",\"key\":\"AppName\"}]","title":"vpc-09f9178f48a57cb6a-private-b","instanceType":null,"statement":null,"dBInstanceStatus":null},"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0f368f7e39ced676d","label":"AWS_EC2_Subnet"},"properties":null,"children":[{"id":null,"label":"NetworkAcl","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-093d1bd7dab590009","label":"AWS_EC2_NetworkAcl","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-093d1bd7dab590009","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-0f368f7e39ced676d\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-07c06471b9ceec684\\\",\\\"networkAclId\\\":\\\"acl-093d1bd7dab590009\\\"}],\\\"entries\\\":[{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":false},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":false}],\\\"isDefault\\\":true,\\\"vpcId\\\":\\\"vpc-09f9178f48a57cb6a\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"networkAclId\\\":\\\"acl-093d1bd7dab590009\\\",\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-09f9178f48a57cb6a","subnetId":"subnet-0f368f7e39ced676d","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#acls:sort=networkAclId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#acls:sort=networkAclId","private":null,"resourceId":"acl-093d1bd7dab590009","resourceName":null,"resourceType":"AWS::EC2::NetworkAcl","resourceValue":null,"state":null,"tags":"[]","title":"acl-093d1bd7dab590009","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1563.5,"y":-429.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"availabilityZone removeAll _gridParentPadding"},{"data":{"id":"subnet-0f368f7e39ced676d-eu-west-1b-vpc-09f9178f48a57cb6a-eu-west-1-044981683129","parent":"eu-west-1b-vpc-09f9178f48a57cb6a-eu-west-1-044981683129","level":4,"title":"subnet-0f368f7e39ced676d","label":"subnet-0f368f7e39ced676d","plainLabel":"subnet-0f368f7e39ced676d","type":"subnet","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/VPC-subnet-private_light-bg-collapsed.svg","clickedId":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0f368f7e39ced676d","cost":0,"hasChildren":true,"children":[{"id":null,"label":"NetworkAcl","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-093d1bd7dab590009","label":"AWS_EC2_NetworkAcl","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-093d1bd7dab590009","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-0f368f7e39ced676d\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-07c06471b9ceec684\\\",\\\"networkAclId\\\":\\\"acl-093d1bd7dab590009\\\"}],\\\"entries\\\":[{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":false},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":false}],\\\"isDefault\\\":true,\\\"vpcId\\\":\\\"vpc-09f9178f48a57cb6a\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"networkAclId\\\":\\\"acl-093d1bd7dab590009\\\",\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-09f9178f48a57cb6a","subnetId":"subnet-0f368f7e39ced676d","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#acls:sort=networkAclId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#acls:sort=networkAclId","private":null,"resourceId":"acl-093d1bd7dab590009","resourceName":null,"resourceType":"AWS::EC2::NetworkAcl","resourceValue":null,"state":null,"tags":"[]","title":"acl-093d1bd7dab590009","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#248814","properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0f368f7e39ced676d","configuration":"\"{\\\"subnetId\\\":\\\"subnet-0f368f7e39ced676d\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0f368f7e39ced676d\\\",\\\"availabilityZoneId\\\":\\\"euw1-az3\\\",\\\"cidrBlock\\\":\\\"10.0.12.0/24\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F\\\",\\\"key\\\":\\\"Application\\\"},{\\\"value\\\":\\\"vpc-09f9178f48a57cb6a-private-b\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F/6225d910-2db9-11ec-9395-0adc76d2b8fd\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"PrivateSubnet1\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"Private\\\",\\\"key\\\":\\\"Network\\\"},{\\\"value\\\":\\\"aws-perspective-044981683129\\\",\\\"key\\\":\\\"AppName\\\"}],\\\"availableIpAddressCount\\\":251,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-09f9178f48a57cb6a\\\",\\\"mapPublicIpOnLaunch\\\":false,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-09f9178f48a57cb6a","subnetId":"subnet-0f368f7e39ced676d","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":null,"resourceId":"subnet-0f368f7e39ced676d","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F\",\"value\":\"aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F/6225d910-2db9-11ec-9395-0adc76d2b8fd\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F/6225d910-2db9-11ec-9395-0adc76d2b8fd\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"Network=Private\",\"value\":\"Private\",\"key\":\"Network\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateSubnet1\",\"value\":\"PrivateSubnet1\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Application=aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F\",\"value\":\"aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F\",\"key\":\"Application\"},{\"tag\":\"Name=vpc-09f9178f48a57cb6a-private-b\",\"value\":\"vpc-09f9178f48a57cb6a-private-b\",\"key\":\"Name\"},{\"tag\":\"AppName=aws-perspective-044981683129\",\"value\":\"aws-perspective-044981683129\",\"key\":\"AppName\"}]","title":"vpc-09f9178f48a57cb6a-private-b","instanceType":null,"statement":null,"dBInstanceStatus":null},"resource":{"id":"subnet-0f368f7e39ced676d","name":null,"value":null,"type":"AWS::EC2::Subnet","tags":"[{\"tag\":\"aws:cloudformation:stack-name=aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F\",\"value\":\"aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F/6225d910-2db9-11ec-9395-0adc76d2b8fd\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F/6225d910-2db9-11ec-9395-0adc76d2b8fd\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"Network=Private\",\"value\":\"Private\",\"key\":\"Network\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateSubnet1\",\"value\":\"PrivateSubnet1\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Application=aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F\",\"value\":\"aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F\",\"key\":\"Application\"},{\"tag\":\"Name=vpc-09f9178f48a57cb6a-private-b\",\"value\":\"vpc-09f9178f48a57cb6a-private-b\",\"key\":\"Name\"},{\"tag\":\"AppName=aws-perspective-044981683129\",\"value\":\"aws-perspective-044981683129\",\"key\":\"AppName\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0f368f7e39ced676d","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","accountId":"044981683129"}},"position":{"x":-1563.5,"y":-429.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"subnet removeAll _gridParentPadding"},{"data":{"id":"NetworkAcl-subnet-0f368f7e39ced676d-eu-west-1b-vpc-09f9178f48a57cb6a-eu-west-1-044981683129","parent":"subnet-0f368f7e39ced676d-eu-west-1b-vpc-09f9178f48a57cb6a-eu-west-1-044981683129","level":5,"title":"NetworkAcl","label":"NetworkAcl","plainLabel":"NetworkAcl","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-VPC_Network-Access-Control-List_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-093d1bd7dab590009","label":"AWS_EC2_NetworkAcl","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-093d1bd7dab590009","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-0f368f7e39ced676d\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-07c06471b9ceec684\\\",\\\"networkAclId\\\":\\\"acl-093d1bd7dab590009\\\"}],\\\"entries\\\":[{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":false},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":false}],\\\"isDefault\\\":true,\\\"vpcId\\\":\\\"vpc-09f9178f48a57cb6a\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"networkAclId\\\":\\\"acl-093d1bd7dab590009\\\",\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-09f9178f48a57cb6a","subnetId":"subnet-0f368f7e39ced676d","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#acls:sort=networkAclId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#acls:sort=networkAclId","private":null,"resourceId":"acl-093d1bd7dab590009","resourceName":null,"resourceType":"AWS::EC2::NetworkAcl","resourceValue":null,"state":null,"tags":"[]","title":"acl-093d1bd7dab590009","instanceType":null,"statement":null,"dBInstanceStatus":null}}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1563.5,"y":-429.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-093d1bd7dab590009","resourceId":["acl-093d1bd7dab590009","arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-093d1bd7dab590009"],"parent":"NetworkAcl-subnet-0f368f7e39ced676d-eu-west-1b-vpc-09f9178f48a57cb6a-eu-west-1-044981683129","level":6,"id":"arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-093d1bd7dab590009","title":"acl-093d1bd7dab590009","label":"acl-093d1bd7...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-093d1bd7dab590009","image":"/icons/Amazon-VPC_Network-Access-Control-List_light-bg.svg","cost":0,"private":false,"resource":{"id":"acl-093d1bd7dab590009","name":null,"value":null,"type":"AWS::EC2::NetworkAcl","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-093d1bd7dab590009","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#acls:sort=networkAclId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#acls:sort=networkAclId","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-093d1bd7dab590009","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-0f368f7e39ced676d\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-07c06471b9ceec684\\\",\\\"networkAclId\\\":\\\"acl-093d1bd7dab590009\\\"}],\\\"entries\\\":[{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":false},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":false}],\\\"isDefault\\\":true,\\\"vpcId\\\":\\\"vpc-09f9178f48a57cb6a\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"networkAclId\\\":\\\"acl-093d1bd7dab590009\\\",\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-09f9178f48a57cb6a","subnetId":"subnet-0f368f7e39ced676d","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#acls:sort=networkAclId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#acls:sort=networkAclId","private":null,"resourceId":"acl-093d1bd7dab590009","resourceName":null,"resourceType":"AWS::EC2::NetworkAcl","resourceValue":null,"state":null,"tags":"[]","title":"acl-093d1bd7dab590009","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1563.5,"y":-429.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:tags::044981683129:tag/AppName=aws-perspective-044981683129","resourceId":["arn:aws:tags::044981683129:tag/AppName=aws-perspective-044981683129","arn:aws:tags::044981683129:tag/AppName=aws-perspective-044981683129"],"parent":"Tag-global-044981683129","level":3,"id":"arn:aws:tags::044981683129:tag/AppName=aws-perspective-044981683129","title":"AppName=aws-perspective-044981683129","label":"AppName=aws-...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:tags::044981683129:tag/AppName=aws-perspective-044981683129","image":"/icons/AWS-Tags-bg.svg","cost":0,"private":false,"resource":{"id":"arn:aws:tags::044981683129:tag/AppName=aws-perspective-044981683129","name":"AppName=aws-perspective-044981683129","value":null,"type":"AWS::Tags::Tag","tags":"[]","arn":"arn:aws:tags::044981683129:tag/AppName=aws-perspective-044981683129","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:tags::044981683129:tag/AppName=aws-perspective-044981683129","configuration":"\"{}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:tags::044981683129:tag/AppName=aws-perspective-044981683129","resourceName":"AppName=aws-perspective-044981683129","resourceType":"AWS::Tags::Tag","resourceValue":null,"state":null,"tags":"[]","title":"AppName=aws-perspective-044981683129","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":476.5,"y":-1534.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:tags::044981683129:tag/aws:cloudformation:stack-name=aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F","resourceId":["arn:aws:tags::044981683129:tag/aws:cloudformation:stack-name=aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F","arn:aws:tags::044981683129:tag/aws:cloudformation:stack-name=aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F"],"parent":"Tag-global-044981683129","level":3,"id":"arn:aws:tags::044981683129:tag/aws:cloudformation:stack-name=aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F","title":"aws:cloudformation:stack-name=aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F","label":"aws:cloudfor...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:tags::044981683129:tag/aws:cloudformation:stack-name=aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F","image":"/icons/AWS-Tags-bg.svg","cost":0,"private":false,"resource":{"id":"arn:aws:tags::044981683129:tag/aws:cloudformation:stack-name=aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F","name":"aws:cloudformation:stack-name=aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F","value":null,"type":"AWS::Tags::Tag","tags":"[]","arn":"arn:aws:tags::044981683129:tag/aws:cloudformation:stack-name=aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:tags::044981683129:tag/aws:cloudformation:stack-name=aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F","configuration":"\"{}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:tags::044981683129:tag/aws:cloudformation:stack-name=aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F","resourceName":"aws:cloudformation:stack-name=aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F","resourceType":"AWS::Tags::Tag","resourceValue":null,"state":null,"tags":"[]","title":"aws:cloudformation:stack-name=aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":549.5,"y":-1534.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:tags::044981683129:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F/6225d910-2db9-11ec-9395-0adc76d2b8fd","resourceId":["arn:aws:tags::044981683129:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F/6225d910-2db9-11ec-9395-0adc76d2b8fd","arn:aws:tags::044981683129:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F/6225d910-2db9-11ec-9395-0adc76d2b8fd"],"parent":"Tag-global-044981683129","level":3,"id":"arn:aws:tags::044981683129:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F/6225d910-2db9-11ec-9395-0adc76d2b8fd","title":"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F/6225d910-2db9-11ec-9395-0adc76d2b8fd","label":"aws:cloudfor...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:tags::044981683129:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F/6225d910-2db9-11ec-9395-0adc76d2b8fd","image":"/icons/AWS-Tags-bg.svg","cost":0,"private":false,"resource":{"id":"arn:aws:tags::044981683129:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F/6225d910-2db9-11ec-9395-0adc76d2b8fd","name":"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F/6225d910-2db9-11ec-9395-0adc76d2b8fd","value":null,"type":"AWS::Tags::Tag","tags":"[]","arn":"arn:aws:tags::044981683129:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F/6225d910-2db9-11ec-9395-0adc76d2b8fd","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:tags::044981683129:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F/6225d910-2db9-11ec-9395-0adc76d2b8fd","configuration":"\"{}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:tags::044981683129:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F/6225d910-2db9-11ec-9395-0adc76d2b8fd","resourceName":"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F/6225d910-2db9-11ec-9395-0adc76d2b8fd","resourceType":"AWS::Tags::Tag","resourceValue":null,"state":null,"tags":"[]","title":"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F/6225d910-2db9-11ec-9395-0adc76d2b8fd","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":622.5,"y":-1534.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:tags::044981683129:tag/Application=aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F","resourceId":["arn:aws:tags::044981683129:tag/Application=aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F","arn:aws:tags::044981683129:tag/Application=aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F"],"parent":"Tag-global-044981683129","level":3,"id":"arn:aws:tags::044981683129:tag/Application=aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F","title":"Application=aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F","label":"Application=...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:tags::044981683129:tag/Application=aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F","image":"/icons/AWS-Tags-bg.svg","cost":0,"private":false,"resource":{"id":"arn:aws:tags::044981683129:tag/Application=aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F","name":"Application=aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F","value":null,"type":"AWS::Tags::Tag","tags":"[]","arn":"arn:aws:tags::044981683129:tag/Application=aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:tags::044981683129:tag/Application=aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F","configuration":"\"{}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:tags::044981683129:tag/Application=aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F","resourceName":"Application=aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F","resourceType":"AWS::Tags::Tag","resourceValue":null,"state":null,"tags":"[]","title":"Application=aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":695.5,"y":-1534.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:tags::044981683129:tag/Network=Public","resourceId":["arn:aws:tags::044981683129:tag/Network=Public","arn:aws:tags::044981683129:tag/Network=Public"],"parent":"Tag-global-044981683129","level":3,"id":"arn:aws:tags::044981683129:tag/Network=Public","title":"Network=Public","label":"Network=Publ...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:tags::044981683129:tag/Network=Public","image":"/icons/AWS-Tags-bg.svg","cost":0,"private":false,"resource":{"id":"arn:aws:tags::044981683129:tag/Network=Public","name":"Network=Public","value":null,"type":"AWS::Tags::Tag","tags":"[]","arn":"arn:aws:tags::044981683129:tag/Network=Public","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:tags::044981683129:tag/Network=Public","configuration":"\"{}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:tags::044981683129:tag/Network=Public","resourceName":"Network=Public","resourceType":"AWS::Tags::Tag","resourceValue":null,"state":null,"tags":"[]","title":"Network=Public","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":768.5,"y":-1534.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5","resourceId":["vpc-ac8663d5","arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5"],"parent":"VPC-Multiple Availability Zones-eu-west-1-044981683129","level":4,"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5","title":"vpc-ac8663d5","label":"vpc-ac8663d5","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5","image":"/icons/VPC-menu.svg","cost":0,"private":false,"resource":{"id":"vpc-ac8663d5","name":null,"value":null,"type":"AWS::EC2::VPC","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#vpcs:sort=VpcId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#vpcs:sort=VpcId","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5","configuration":"\"{\\\"instanceTenancy\\\":\\\"default\\\",\\\"isDefault\\\":true,\\\"dhcpOptionsId\\\":\\\"dopt-01ea0a1b1a9b59c0a\\\",\\\"cidrBlock\\\":\\\"172.31.0.0/16\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"cidrBlockAssociationSet\\\":[{\\\"cidrBlock\\\":\\\"172.31.0.0/16\\\",\\\"cidrBlockState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"associationId\\\":\\\"vpc-cidr-assoc-d3a9abb8\\\"}],\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipv6CidrBlockAssociationSet\\\":[],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":null,"subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#vpcs:sort=VpcId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#vpcs:sort=VpcId","private":null,"resourceId":"vpc-ac8663d5","resourceName":null,"resourceType":"AWS::EC2::VPC","resourceValue":null,"state":null,"tags":"[]","title":"vpc-ac8663d5","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-301.5,"y":-515.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"id":"vpc-ac8663d5-eu-west-1-044981683129","parent":"eu-west-1-044981683129","level":2,"title":"vpc-ac8663d5","label":"vpc-ac8663d5","plainLabel":"vpc-ac8663d5","type":"vpc","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/VPC-collapsed.svg","clickedId":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5","cost":0,"hasChildren":true,"children":[{"id":null,"label":"SecurityGroup","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0050bf4ebebc17d5e","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0050bf4ebebc17d5e","configuration":"\"{\\\"groupName\\\":\\\"launch-wizard-1\\\",\\\"groupId\\\":\\\"sg-0050bf4ebebc17d5e\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"launch-wizard-1 created 2020-06-11T16:32:10.467+01:00\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":22,\\\"toPort\\\":22,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0050bf4ebebc17d5e","resourceName":"launch-wizard-1","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"launch-wizard-1","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-005f1e25b956fb989","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-005f1e25b956fb989","configuration":"\"{\\\"groupName\\\":\\\"launch-wizard-2\\\",\\\"groupId\\\":\\\"sg-005f1e25b956fb989\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"launch-wizard-2 created 2020-06-11T16:38:55.758+01:00\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":22,\\\"toPort\\\":22,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-005f1e25b956fb989","resourceName":"launch-wizard-2","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"launch-wizard-2","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-9a4a97d2","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-9a4a97d2","configuration":"\"{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-9a4a97d2\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"default VPC security group\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[{\\\"groupId\\\":\\\"sg-9a4a97d2\\\",\\\"userId\\\":\\\"044981683129\\\"}],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-9a4a97d2","resourceName":"default","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"default","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0bc8a71ea5a172df2","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0bc8a71ea5a172df2","configuration":"\"{\\\"groupName\\\":\\\"launch-wizard-3\\\",\\\"groupId\\\":\\\"sg-0bc8a71ea5a172df2\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"launch-wizard-3 created 2020-08-26T17:46:04.077+01:00\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":22,\\\"toPort\\\":22,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0bc8a71ea5a172df2","resourceName":"launch-wizard-3","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"launch-wizard-3","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]},{"id":null,"label":"RouteTable","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-50c3cf29","label":"AWS_EC2_RouteTable","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-50c3cf29","configuration":"\"{\\\"associations\\\":[{\\\"routeTableId\\\":\\\"rtb-50c3cf29\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-2b35a550\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":true}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"172.31.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"},{\\\"destinationCidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"igw-054f5962\\\"}],\\\"routeTableId\\\":\\\"rtb-50c3cf29\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-50c3cf29","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[]","title":"rtb-50c3cf29","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]},{"id":null,"label":"eu-west-1b","parent":null,"type":"availabilityZone","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-459f0f1f","label":"subnet-459f0f1f","parent":null,"type":"subnet","data":{"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-459f0f1f","configuration":"\"{\\\"subnetId\\\":\\\"subnet-459f0f1f\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-459f0f1f\\\",\\\"availabilityZoneId\\\":\\\"euw1-az3\\\",\\\"cidrBlock\\\":\\\"172.31.32.0/20\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[],\\\"availableIpAddressCount\\\":4090,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"mapPublicIpOnLaunch\\\":true,\\\"defaultForAz\\\":true,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-ac8663d5","subnetId":"subnet-459f0f1f","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":null,"resourceId":"subnet-459f0f1f","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[]","title":"subnet-459f0f1f","instanceType":null,"statement":null,"dBInstanceStatus":null},"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-459f0f1f","label":"AWS_EC2_Subnet"},"properties":null,"children":[{"id":null,"label":"NetworkInterface","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-01ef2774854f1b172","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-01ef2774854f1b172","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-01ef2774854f1b172\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"34.245.23.82\\\",\\\"publicDnsName\\\":\\\"ec2-34-245-23-82.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-172-31-41-242.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.41.242\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-459f0f1f\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"34.245.23.82\\\",\\\"publicDnsName\\\":\\\"ec2-34-245-23-82.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"launch-wizard-3\\\",\\\"groupId\\\":\\\"sg-0bc8a71ea5a172df2\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"172.31.41.242\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:b1:a9:7f:d7:d9\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"instanceId\\\":\\\"i-07d0c686a25e288b4\\\",\\\"attachmentId\\\":\\\"eni-attach-0a4b3db7cd00ad87c\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"instanceOwnerId\\\":\\\"044981683129\\\",\\\"attachTime\\\":\\\"2020-08-26T16:46:15.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"privateDnsName\\\":\\\"ip-172-31-41-242.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-ac8663d5","subnetId":"subnet-459f0f1f","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-01ef2774854f1b172","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-01ef2774854f1b172","instanceType":null,"statement":null,"dBInstanceStatus":null}}]},{"id":null,"label":"Instance","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:instance/i-07d0c686a25e288b4","label":"AWS_EC2_Instance","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:instance/i-07d0c686a25e288b4","configuration":"\"{\\\"subnetId\\\":\\\"subnet-459f0f1f\\\",\\\"virtualizationType\\\":\\\"hvm\\\",\\\"capacityReservationSpecification\\\":{\\\"capacityReservationPreference\\\":\\\"open\\\"},\\\"amiLaunchIndex\\\":0,\\\"enaSupport\\\":true,\\\"elasticInferenceAcceleratorAssociations\\\":[],\\\"sourceDestCheck\\\":true,\\\"hibernationOptions\\\":{\\\"configured\\\":false},\\\"instanceId\\\":\\\"i-07d0c686a25e288b4\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"hypervisor\\\":\\\"xen\\\",\\\"rootDeviceName\\\":\\\"/dev/xvda\\\",\\\"productCodes\\\":[],\\\"state\\\":{\\\"code\\\":\\\"16\\\",\\\"name\\\":\\\"running\\\"},\\\"architecture\\\":\\\"x86_64\\\",\\\"ebsOptimized\\\":false,\\\"imageId\\\":\\\"ami-07d9160fa81ccffb5\\\",\\\"blockDeviceMappings\\\":[{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-00754e2b15f48c1f5\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2020-08-26T16:46:16.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvda\\\"}],\\\"publicIpAddress\\\":\\\"34.245.23.82\\\",\\\"stateTransitionReason\\\":\\\"\\\",\\\"clientToken\\\":\\\"\\\",\\\"instanceType\\\":\\\"t2.micro\\\",\\\"keyName\\\":\\\"svozza\\\",\\\"cpuOptions\\\":{\\\"threadsPerCore\\\":1,\\\"coreCount\\\":1},\\\"monitoring\\\":{\\\"state\\\":\\\"disabled\\\"},\\\"publicDnsName\\\":\\\"ec2-34-245-23-82.eu-west-1.compute.amazonaws.com\\\",\\\"privateIpAddress\\\":\\\"172.31.41.242\\\",\\\"rootDeviceType\\\":\\\"ebs\\\",\\\"tags\\\":[],\\\"enclaveOptions\\\":{\\\"enabled\\\":false},\\\"launchTime\\\":\\\"2020-08-26T16:46:15.000Z\\\",\\\"elasticGpuAssociations\\\":[],\\\"licenses\\\":[],\\\"networkInterfaces\\\":[{\\\"networkInterfaceId\\\":\\\"eni-01ef2774854f1b172\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"34.245.23.82\\\",\\\"publicDnsName\\\":\\\"ec2-34-245-23-82.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-172-31-41-242.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.41.242\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-459f0f1f\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"34.245.23.82\\\",\\\"publicDnsName\\\":\\\"ec2-34-245-23-82.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"launch-wizard-3\\\",\\\"groupId\\\":\\\"sg-0bc8a71ea5a172df2\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"privateIpAddress\\\":\\\"172.31.41.242\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"macAddress\\\":\\\"0a:b1:a9:7f:d7:d9\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0a4b3db7cd00ad87c\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"attachTime\\\":\\\"2020-08-26T16:46:15.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"privateDnsName\\\":\\\"ip-172-31-41-242.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}],\\\"metadataOptions\\\":{\\\"httpPutResponseHopLimit\\\":1,\\\"httpEndpoint\\\":\\\"enabled\\\",\\\"state\\\":\\\"applied\\\",\\\"httpTokens\\\":\\\"optional\\\"},\\\"privateDnsName\\\":\\\"ip-172-31-41-242.eu-west-1.compute.internal\\\",\\\"securityGroups\\\":[{\\\"groupName\\\":\\\"launch-wizard-3\\\",\\\"groupId\\\":\\\"sg-0bc8a71ea5a172df2\\\"}],\\\"placement\\\":{\\\"groupName\\\":\\\"\\\",\\\"tenancy\\\":\\\"default\\\",\\\"availabilityZone\\\":\\\"eu-west-1b\\\"}}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-ac8663d5","subnetId":"subnet-459f0f1f","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#Instances:sort=instanceId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#Instances:sort=instanceId","private":null,"resourceId":"i-07d0c686a25e288b4","resourceName":null,"resourceType":"AWS::EC2::Instance","resourceValue":null,"state":null,"tags":"[]","title":"i-07d0c686a25e288b4","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}]}]},{"id":null,"label":"eu-west-1c","parent":null,"type":"availabilityZone","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-cedd8aa8","label":"subnet-cedd8aa8","parent":null,"type":"subnet","data":{"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-cedd8aa8","configuration":"\"{\\\"subnetId\\\":\\\"subnet-cedd8aa8\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-cedd8aa8\\\",\\\"availabilityZoneId\\\":\\\"euw1-az1\\\",\\\"cidrBlock\\\":\\\"172.31.0.0/20\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[],\\\"availableIpAddressCount\\\":4089,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"mapPublicIpOnLaunch\\\":true,\\\"defaultForAz\\\":true,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-ac8663d5","subnetId":"subnet-cedd8aa8","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":null,"resourceId":"subnet-cedd8aa8","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[]","title":"subnet-cedd8aa8","instanceType":null,"statement":null,"dBInstanceStatus":null},"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-cedd8aa8","label":"AWS_EC2_Subnet"},"properties":null,"children":[{"id":null,"label":"NetworkInterface","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0a1cdebf6d67ebacd","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0a1cdebf6d67ebacd","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0a1cdebf6d67ebacd\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-172-31-7-111.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.7.111\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-cedd8aa8\\\",\\\"requesterId\\\":\\\"amazon-rds\\\",\\\"description\\\":\\\"RDSNetworkInterface\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-9a4a97d2\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"172.31.7.111\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:c1:3e:62:d1:a3\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-03ada53e5a82b109a\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-rds\\\",\\\"attachTime\\\":\\\"2021-09-02T12:03:58.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"privateDnsName\\\":\\\"ip-172-31-7-111.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-ac8663d5","subnetId":"subnet-cedd8aa8","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0a1cdebf6d67ebacd","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0a1cdebf6d67ebacd","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0ab24b898a77448ce","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0ab24b898a77448ce","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0ab24b898a77448ce\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-172-31-1-207.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.1.207\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-cedd8aa8\\\",\\\"requesterId\\\":\\\"082811663747\\\",\\\"description\\\":\\\"RDSNetworkInterface\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-9a4a97d2\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"172.31.1.207\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:d5:c7:7a:87:29\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0fc0aaddacf59de08\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"082811663747\\\",\\\"attachTime\\\":\\\"2023-04-12T12:02:02.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"privateDnsName\\\":\\\"ip-172-31-1-207.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-ac8663d5","subnetId":"subnet-cedd8aa8","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0ab24b898a77448ce","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0ab24b898a77448ce","instanceType":null,"statement":null,"dBInstanceStatus":null}}]},{"id":null,"label":"DBInstance","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:rds:eu-west-1:044981683129:db:database-2","label":"AWS_RDS_DBInstance","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:db:database-2","configuration":"\"{\\\"allocatedStorage\\\":20,\\\"enabledCloudwatchLogsExports\\\":[],\\\"readReplicaDBClusterIdentifiers\\\":[],\\\"associatedRoles\\\":[],\\\"dBParameterGroups\\\":[{\\\"dBParameterGroupName\\\":\\\"default.postgres13\\\",\\\"parameterApplyStatus\\\":\\\"in-sync\\\"}],\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"dBSecurityGroups\\\":[],\\\"performanceInsightsKMSKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"statusInfos\\\":[],\\\"enhancedMonitoringResourceArn\\\":\\\"arn:aws:logs:eu-west-1:044981683129:log-group:RDSOSMetrics:log-stream:db-B5N5MVZSUKJQQR4M3OKWG3RZF4\\\",\\\"performanceInsightsRetentionPeriod\\\":7,\\\"engineVersion\\\":\\\"13.7\\\",\\\"masterUsername\\\":\\\"postgres\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T12:06:26.436Z\\\",\\\"dBInstanceClass\\\":\\\"db.t3.micro\\\",\\\"processorFeatures\\\":[],\\\"readReplicaDBInstanceIdentifiers\\\":[],\\\"customerOwnedIpEnabled\\\":false,\\\"monitoringInterval\\\":60,\\\"dBInstanceStatus\\\":\\\"available\\\",\\\"backupRetentionPeriod\\\":7,\\\"optionGroupMemberships\\\":[{\\\"optionGroupName\\\":\\\"default:postgres-13\\\",\\\"status\\\":\\\"in-sync\\\"}],\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"latestRestorableTime\\\":\\\"2023-04-20T22:49:34.000Z\\\",\\\"dBInstanceAutomatedBackupsReplications\\\":[],\\\"cACertificateIdentifier\\\":\\\"rds-ca-2019\\\",\\\"dbInstancePort\\\":0,\\\"preferredBackupWindow\\\":\\\"03:51-04:21\\\",\\\"dbiResourceId\\\":\\\"db-B5N5MVZSUKJQQR4M3OKWG3RZF4\\\",\\\"deletionProtection\\\":false,\\\"dBInstanceIdentifier\\\":\\\"database-2\\\",\\\"dBInstanceArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:db:database-2\\\",\\\"endpoint\\\":{\\\"hostedZoneId\\\":\\\"Z29XKXDKYMONMX\\\",\\\"address\\\":\\\"database-2.ccc9f5a6ekin.eu-west-1.rds.amazonaws.com\\\",\\\"port\\\":5432},\\\"engine\\\":\\\"postgres\\\",\\\"maxAllocatedStorage\\\":1000,\\\"publiclyAccessible\\\":false,\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"performanceInsightsEnabled\\\":true,\\\"multiAZ\\\":false,\\\"domainMemberships\\\":[],\\\"monitoringRoleArn\\\":\\\"arn:aws:iam::044981683129:role/rds-monitoring-role\\\",\\\"storageEncrypted\\\":true,\\\"dBSubnetGroup\\\":{\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"subnets\\\":[{\\\"subnetIdentifier\\\":\\\"subnet-fa0523b2\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1a\\\"}},{\\\"subnetIdentifier\\\":\\\"subnet-459f0f1f\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1b\\\"}},{\\\"subnetIdentifier\\\":\\\"subnet-cedd8aa8\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1c\\\"}}],\\\"subnetGroupStatus\\\":\\\"Complete\\\",\\\"dBSubnetGroupName\\\":\\\"default-vpc-ac8663d5\\\",\\\"dBSubnetGroupDescription\\\":\\\"Created from the RDS Management Console\\\"},\\\"vpcSecurityGroups\\\":[{\\\"vpcSecurityGroupId\\\":\\\"sg-9a4a97d2\\\",\\\"status\\\":\\\"active\\\"}],\\\"tagList\\\":[],\\\"pendingModifiedValues\\\":{\\\"processorFeatures\\\":[]},\\\"licenseModel\\\":\\\"postgresql-license\\\",\\\"preferredMaintenanceWindow\\\":\\\"mon:22:22-mon:22:52\\\",\\\"storageType\\\":\\\"gp2\\\",\\\"autoMinorVersionUpgrade\\\":true,\\\"copyTagsToSnapshot\\\":true}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-ac8663d5","subnetId":"subnet-cedd8aa8","loggedInURL":null,"loginURL":null,"private":null,"resourceId":"db-B5N5MVZSUKJQQR4M3OKWG3RZF4","resourceName":"database-2","resourceType":"AWS::RDS::DBInstance","resourceValue":null,"state":null,"tags":"[]","title":"database-2","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:rds:eu-west-1:044981683129:db:globaldb-instance-1","label":"AWS_RDS_DBInstance","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:db:globaldb-instance-1","configuration":"\"{\\\"allocatedStorage\\\":1,\\\"enabledCloudwatchLogsExports\\\":[],\\\"readReplicaDBClusterIdentifiers\\\":[],\\\"associatedRoles\\\":[],\\\"dBParameterGroups\\\":[{\\\"dBParameterGroupName\\\":\\\"default.aurora-mysql5.7\\\",\\\"parameterApplyStatus\\\":\\\"in-sync\\\"}],\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"dBSecurityGroups\\\":[],\\\"statusInfos\\\":[],\\\"enhancedMonitoringResourceArn\\\":\\\"arn:aws:logs:eu-west-1:044981683129:log-group:RDSOSMetrics:log-stream:db-3C7T2Y62VYCMGRPKEN4QC7FW5A\\\",\\\"engineVersion\\\":\\\"5.7.mysql_aurora.2.11.2\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"instanceCreateTime\\\":\\\"2023-04-12T11:43:48.156Z\\\",\\\"dBInstanceClass\\\":\\\"db.r5.large\\\",\\\"processorFeatures\\\":[],\\\"readReplicaDBInstanceIdentifiers\\\":[],\\\"customerOwnedIpEnabled\\\":false,\\\"monitoringInterval\\\":60,\\\"dBInstanceStatus\\\":\\\"available\\\",\\\"backupRetentionPeriod\\\":1,\\\"promotionTier\\\":1,\\\"optionGroupMemberships\\\":[{\\\"optionGroupName\\\":\\\"default:aurora-mysql-5-7\\\",\\\"status\\\":\\\"in-sync\\\"}],\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"dBClusterIdentifier\\\":\\\"globaldb\\\",\\\"dBInstanceAutomatedBackupsReplications\\\":[],\\\"cACertificateIdentifier\\\":\\\"rds-ca-2019\\\",\\\"dbInstancePort\\\":0,\\\"preferredBackupWindow\\\":\\\"02:33-03:03\\\",\\\"dbiResourceId\\\":\\\"db-3C7T2Y62VYCMGRPKEN4QC7FW5A\\\",\\\"deletionProtection\\\":false,\\\"dBInstanceIdentifier\\\":\\\"globaldb-instance-1\\\",\\\"dBInstanceArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:db:globaldb-instance-1\\\",\\\"endpoint\\\":{\\\"hostedZoneId\\\":\\\"Z29XKXDKYMONMX\\\",\\\"address\\\":\\\"globaldb-instance-1.ccc9f5a6ekin.eu-west-1.rds.amazonaws.com\\\",\\\"port\\\":3306},\\\"engine\\\":\\\"aurora-mysql\\\",\\\"publiclyAccessible\\\":false,\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"performanceInsightsEnabled\\\":false,\\\"multiAZ\\\":false,\\\"domainMemberships\\\":[],\\\"monitoringRoleArn\\\":\\\"arn:aws:iam::044981683129:role/rds-monitoring-role\\\",\\\"storageEncrypted\\\":true,\\\"dBSubnetGroup\\\":{\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"subnets\\\":[{\\\"subnetIdentifier\\\":\\\"subnet-fa0523b2\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1a\\\"}},{\\\"subnetIdentifier\\\":\\\"subnet-459f0f1f\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1b\\\"}},{\\\"subnetIdentifier\\\":\\\"subnet-cedd8aa8\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1c\\\"}}],\\\"subnetGroupStatus\\\":\\\"Complete\\\",\\\"dBSubnetGroupName\\\":\\\"default-vpc-ac8663d5\\\",\\\"dBSubnetGroupDescription\\\":\\\"Created from the RDS Management Console\\\"},\\\"vpcSecurityGroups\\\":[{\\\"vpcSecurityGroupId\\\":\\\"sg-9a4a97d2\\\",\\\"status\\\":\\\"active\\\"}],\\\"tagList\\\":[],\\\"pendingModifiedValues\\\":{\\\"processorFeatures\\\":[]},\\\"licenseModel\\\":\\\"general-public-license\\\",\\\"preferredMaintenanceWindow\\\":\\\"sat:01:08-sat:01:38\\\",\\\"storageType\\\":\\\"aurora\\\",\\\"autoMinorVersionUpgrade\\\":true,\\\"copyTagsToSnapshot\\\":false}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-ac8663d5","subnetId":"subnet-cedd8aa8","loggedInURL":null,"loginURL":null,"private":null,"resourceId":"db-3C7T2Y62VYCMGRPKEN4QC7FW5A","resourceName":"globaldb-instance-1","resourceType":"AWS::RDS::DBInstance","resourceValue":null,"state":null,"tags":"[]","title":"globaldb-instance-1","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}]},{"id":null,"label":"DBSnapshot","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-12-04-04","label":"AWS_RDS_DBSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-12-04-04","configuration":"\"{\\\"engineVersion\\\":\\\"13.7\\\",\\\"masterUsername\\\":\\\"postgres\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T12:06:26.436Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-12-04-04\\\",\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-B5N5MVZSUKJQQR4M3OKWG3RZF4\\\",\\\"dBInstanceIdentifier\\\":\\\"database-2\\\",\\\"tagList\\\":[],\\\"encrypted\\\":true,\\\"engine\\\":\\\"postgres\\\",\\\"port\\\":5432,\\\"snapshotCreateTime\\\":\\\"2023-04-12T04:04:44.974Z\\\",\\\"licenseModel\\\":\\\"postgresql-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-2-2023-04-12-04-04\\\",\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"optionGroupName\\\":\\\"default:postgres-13\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-2-2023-04-12-04-04","resourceName":"rds:database-2-2023-04-12-04-04","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-2-2023-04-12-04-04","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-13-04-05","label":"AWS_RDS_DBSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-13-04-05","configuration":"\"{\\\"engineVersion\\\":\\\"13.7\\\",\\\"masterUsername\\\":\\\"postgres\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T12:06:26.436Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-13-04-05\\\",\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-B5N5MVZSUKJQQR4M3OKWG3RZF4\\\",\\\"dBInstanceIdentifier\\\":\\\"database-2\\\",\\\"tagList\\\":[],\\\"encrypted\\\":true,\\\"engine\\\":\\\"postgres\\\",\\\"port\\\":5432,\\\"snapshotCreateTime\\\":\\\"2023-04-13T04:05:20.598Z\\\",\\\"licenseModel\\\":\\\"postgresql-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-2-2023-04-13-04-05\\\",\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"optionGroupName\\\":\\\"default:postgres-13\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-2-2023-04-13-04-05","resourceName":"rds:database-2-2023-04-13-04-05","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-2-2023-04-13-04-05","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-14-04-04","label":"AWS_RDS_DBSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-14-04-04","configuration":"\"{\\\"engineVersion\\\":\\\"13.7\\\",\\\"masterUsername\\\":\\\"postgres\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T12:06:26.436Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-14-04-04\\\",\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-B5N5MVZSUKJQQR4M3OKWG3RZF4\\\",\\\"dBInstanceIdentifier\\\":\\\"database-2\\\",\\\"tagList\\\":[],\\\"encrypted\\\":true,\\\"engine\\\":\\\"postgres\\\",\\\"port\\\":5432,\\\"snapshotCreateTime\\\":\\\"2023-04-14T04:04:24.610Z\\\",\\\"licenseModel\\\":\\\"postgresql-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-2-2023-04-14-04-04\\\",\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"optionGroupName\\\":\\\"default:postgres-13\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-2-2023-04-14-04-04","resourceName":"rds:database-2-2023-04-14-04-04","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-2-2023-04-14-04-04","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-15-04-05","label":"AWS_RDS_DBSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-15-04-05","configuration":"\"{\\\"engineVersion\\\":\\\"13.7\\\",\\\"masterUsername\\\":\\\"postgres\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T12:06:26.436Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-15-04-05\\\",\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-B5N5MVZSUKJQQR4M3OKWG3RZF4\\\",\\\"dBInstanceIdentifier\\\":\\\"database-2\\\",\\\"tagList\\\":[],\\\"encrypted\\\":true,\\\"engine\\\":\\\"postgres\\\",\\\"port\\\":5432,\\\"snapshotCreateTime\\\":\\\"2023-04-15T04:05:34.706Z\\\",\\\"licenseModel\\\":\\\"postgresql-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-2-2023-04-15-04-05\\\",\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"optionGroupName\\\":\\\"default:postgres-13\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-2-2023-04-15-04-05","resourceName":"rds:database-2-2023-04-15-04-05","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-2-2023-04-15-04-05","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-16-04-05","label":"AWS_RDS_DBSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-16-04-05","configuration":"\"{\\\"engineVersion\\\":\\\"13.7\\\",\\\"masterUsername\\\":\\\"postgres\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T12:06:26.436Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-16-04-05\\\",\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-B5N5MVZSUKJQQR4M3OKWG3RZF4\\\",\\\"dBInstanceIdentifier\\\":\\\"database-2\\\",\\\"tagList\\\":[],\\\"encrypted\\\":true,\\\"engine\\\":\\\"postgres\\\",\\\"port\\\":5432,\\\"snapshotCreateTime\\\":\\\"2023-04-16T04:05:29.913Z\\\",\\\"licenseModel\\\":\\\"postgresql-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-2-2023-04-16-04-05\\\",\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"optionGroupName\\\":\\\"default:postgres-13\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-2-2023-04-16-04-05","resourceName":"rds:database-2-2023-04-16-04-05","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-2-2023-04-16-04-05","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-17-04-04","label":"AWS_RDS_DBSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-17-04-04","configuration":"\"{\\\"engineVersion\\\":\\\"13.7\\\",\\\"masterUsername\\\":\\\"postgres\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T12:06:26.436Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-17-04-04\\\",\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-B5N5MVZSUKJQQR4M3OKWG3RZF4\\\",\\\"dBInstanceIdentifier\\\":\\\"database-2\\\",\\\"tagList\\\":[],\\\"encrypted\\\":true,\\\"engine\\\":\\\"postgres\\\",\\\"port\\\":5432,\\\"snapshotCreateTime\\\":\\\"2023-04-17T04:04:49.656Z\\\",\\\"licenseModel\\\":\\\"postgresql-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-2-2023-04-17-04-04\\\",\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"optionGroupName\\\":\\\"default:postgres-13\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-2-2023-04-17-04-04","resourceName":"rds:database-2-2023-04-17-04-04","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-2-2023-04-17-04-04","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-18-04-05","label":"AWS_RDS_DBSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-18-04-05","configuration":"\"{\\\"engineVersion\\\":\\\"13.7\\\",\\\"masterUsername\\\":\\\"postgres\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T12:06:26.436Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-18-04-05\\\",\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-B5N5MVZSUKJQQR4M3OKWG3RZF4\\\",\\\"dBInstanceIdentifier\\\":\\\"database-2\\\",\\\"tagList\\\":[],\\\"encrypted\\\":true,\\\"engine\\\":\\\"postgres\\\",\\\"port\\\":5432,\\\"snapshotCreateTime\\\":\\\"2023-04-18T04:05:16.975Z\\\",\\\"licenseModel\\\":\\\"postgresql-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-2-2023-04-18-04-05\\\",\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"optionGroupName\\\":\\\"default:postgres-13\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-2-2023-04-18-04-05","resourceName":"rds:database-2-2023-04-18-04-05","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-2-2023-04-18-04-05","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-19-04-04","label":"AWS_RDS_DBSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-19-04-04","configuration":"\"{\\\"engineVersion\\\":\\\"13.7\\\",\\\"masterUsername\\\":\\\"postgres\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T12:06:26.436Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-19-04-04\\\",\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-B5N5MVZSUKJQQR4M3OKWG3RZF4\\\",\\\"dBInstanceIdentifier\\\":\\\"database-2\\\",\\\"tagList\\\":[],\\\"encrypted\\\":true,\\\"engine\\\":\\\"postgres\\\",\\\"port\\\":5432,\\\"snapshotCreateTime\\\":\\\"2023-04-19T04:04:30.918Z\\\",\\\"licenseModel\\\":\\\"postgresql-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-2-2023-04-19-04-04\\\",\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"optionGroupName\\\":\\\"default:postgres-13\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-2-2023-04-19-04-04","resourceName":"rds:database-2-2023-04-19-04-04","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-2-2023-04-19-04-04","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-20-04-04","label":"AWS_RDS_DBSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-20-04-04","configuration":"\"{\\\"engineVersion\\\":\\\"13.7\\\",\\\"masterUsername\\\":\\\"postgres\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T12:06:26.436Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-20-04-04\\\",\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-B5N5MVZSUKJQQR4M3OKWG3RZF4\\\",\\\"dBInstanceIdentifier\\\":\\\"database-2\\\",\\\"tagList\\\":[],\\\"encrypted\\\":true,\\\"engine\\\":\\\"postgres\\\",\\\"port\\\":5432,\\\"snapshotCreateTime\\\":\\\"2023-04-20T04:04:44.740Z\\\",\\\"licenseModel\\\":\\\"postgresql-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-2-2023-04-20-04-04\\\",\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"optionGroupName\\\":\\\"default:postgres-13\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-2-2023-04-20-04-04","resourceName":"rds:database-2-2023-04-20-04-04","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-2-2023-04-20-04-04","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]}]},{"id":null,"label":"eu-west-1a","parent":null,"type":"availabilityZone","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-fa0523b2","label":"subnet-fa0523b2","parent":null,"type":"subnet","data":{"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-fa0523b2","configuration":"\"{\\\"subnetId\\\":\\\"subnet-fa0523b2\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-fa0523b2\\\",\\\"availabilityZoneId\\\":\\\"euw1-az2\\\",\\\"cidrBlock\\\":\\\"172.31.16.0/20\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[],\\\"availableIpAddressCount\\\":4087,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"mapPublicIpOnLaunch\\\":true,\\\"defaultForAz\\\":true,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":"subnet-fa0523b2","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":null,"resourceId":"subnet-fa0523b2","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[]","title":"subnet-fa0523b2","instanceType":null,"statement":null,"dBInstanceStatus":null},"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-fa0523b2","label":"AWS_EC2_Subnet"},"properties":null,"children":[{"id":null,"label":"NetworkInterface","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0af14e9ac9e15855d","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0af14e9ac9e15855d","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0af14e9ac9e15855d\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-172-31-29-251.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.29.251\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-fa0523b2\\\",\\\"requesterId\\\":\\\"amazon-rds\\\",\\\"description\\\":\\\"RDSNetworkInterface\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-9a4a97d2\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"172.31.29.251\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:42:c4:c2:b0:81\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0013c00b95a5910d6\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-rds\\\",\\\"attachTime\\\":\\\"2021-09-02T11:52:45.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"privateDnsName\\\":\\\"ip-172-31-29-251.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":"subnet-fa0523b2","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0af14e9ac9e15855d","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0af14e9ac9e15855d","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0457d3ce238ba3401","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0457d3ce238ba3401","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0457d3ce238ba3401\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-172-31-31-218.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.31.218\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-fa0523b2\\\",\\\"requesterId\\\":\\\"amazon-redshift\\\",\\\"description\\\":\\\"RedshiftNetworkInterface\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-9a4a97d2\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"172.31.31.218\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:0d:a9:d6:61:39\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"privateDnsName\\\":\\\"ip-172-31-31-218.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":"subnet-fa0523b2","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0457d3ce238ba3401","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0457d3ce238ba3401","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-04798797c3fabba73","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-04798797c3fabba73","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-04798797c3fabba73\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-172-31-18-43.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.18.43\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-fa0523b2\\\",\\\"requesterId\\\":\\\"amazon-redshift\\\",\\\"description\\\":\\\"RedshiftNetworkInterface\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-9a4a97d2\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"172.31.18.43\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:b5:78:08:fb:5f\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"privateDnsName\\\":\\\"ip-172-31-18-43.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":"subnet-fa0523b2","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-04798797c3fabba73","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-04798797c3fabba73","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0c5554519bafc4af1","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0c5554519bafc4af1","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0c5554519bafc4af1\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-172-31-18-245.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.18.245\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-fa0523b2\\\",\\\"requesterId\\\":\\\"amazon-redshift\\\",\\\"description\\\":\\\"RedshiftNetworkInterface\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-9a4a97d2\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"172.31.18.245\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:c8:04:44:a1:cf\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"privateDnsName\\\":\\\"ip-172-31-18-245.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":"subnet-fa0523b2","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0c5554519bafc4af1","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0c5554519bafc4af1","instanceType":null,"statement":null,"dBInstanceStatus":null}}]},{"id":null,"label":"DBInstance","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:rds:eu-west-1:044981683129:db:database-1","label":"AWS_RDS_DBInstance","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:db:database-1","configuration":"\"{\\\"allocatedStorage\\\":20,\\\"enabledCloudwatchLogsExports\\\":[],\\\"cACertificateIdentifier\\\":\\\"rds-ca-2019\\\",\\\"readReplicaDBClusterIdentifiers\\\":[],\\\"dbInstancePort\\\":0,\\\"associatedRoles\\\":[],\\\"dBParameterGroups\\\":[{\\\"dBParameterGroupName\\\":\\\"default.mariadb10.4\\\",\\\"parameterApplyStatus\\\":\\\"in-sync\\\"}],\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"preferredBackupWindow\\\":\\\"23:33-00:03\\\",\\\"dbiResourceId\\\":\\\"db-ISTHVYQUZCQX3QQ5JA5ZRF2R5U\\\",\\\"deletionProtection\\\":false,\\\"dBInstanceIdentifier\\\":\\\"database-1\\\",\\\"dBInstanceArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:db:database-1\\\",\\\"endpoint\\\":{\\\"hostedZoneId\\\":\\\"Z29XKXDKYMONMX\\\",\\\"address\\\":\\\"database-1.ccc9f5a6ekin.eu-west-1.rds.amazonaws.com\\\",\\\"port\\\":3306},\\\"dBSecurityGroups\\\":[],\\\"engine\\\":\\\"mariadb\\\",\\\"maxAllocatedStorage\\\":1000,\\\"publiclyAccessible\\\":false,\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"statusInfos\\\":[],\\\"engineVersion\\\":\\\"10.4.26\\\",\\\"performanceInsightsEnabled\\\":false,\\\"masterUsername\\\":\\\"admin\\\",\\\"multiAZ\\\":false,\\\"instanceCreateTime\\\":\\\"2021-09-02T11:55:32.030Z\\\",\\\"domainMemberships\\\":[],\\\"dBInstanceClass\\\":\\\"db.t2.micro\\\",\\\"storageEncrypted\\\":false,\\\"processorFeatures\\\":[],\\\"dBSubnetGroup\\\":{\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"subnets\\\":[{\\\"subnetIdentifier\\\":\\\"subnet-fa0523b2\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1a\\\"}},{\\\"subnetIdentifier\\\":\\\"subnet-459f0f1f\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1b\\\"}},{\\\"subnetIdentifier\\\":\\\"subnet-cedd8aa8\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1c\\\"}}],\\\"subnetGroupStatus\\\":\\\"Complete\\\",\\\"dBSubnetGroupName\\\":\\\"default-vpc-ac8663d5\\\",\\\"dBSubnetGroupDescription\\\":\\\"Created from the RDS Management Console\\\"},\\\"vpcSecurityGroups\\\":[{\\\"vpcSecurityGroupId\\\":\\\"sg-9a4a97d2\\\",\\\"status\\\":\\\"active\\\"}],\\\"tagList\\\":[],\\\"readReplicaDBInstanceIdentifiers\\\":[],\\\"pendingModifiedValues\\\":{\\\"processorFeatures\\\":[]},\\\"licenseModel\\\":\\\"general-public-license\\\",\\\"customerOwnedIpEnabled\\\":false,\\\"preferredMaintenanceWindow\\\":\\\"thu:00:46-thu:01:16\\\",\\\"monitoringInterval\\\":0,\\\"dBInstanceStatus\\\":\\\"available\\\",\\\"backupRetentionPeriod\\\":7,\\\"storageType\\\":\\\"gp2\\\",\\\"optionGroupMemberships\\\":[{\\\"optionGroupName\\\":\\\"default:mariadb-10-4\\\",\\\"status\\\":\\\"in-sync\\\"}],\\\"autoMinorVersionUpgrade\\\":true,\\\"copyTagsToSnapshot\\\":true,\\\"latestRestorableTime\\\":\\\"2023-04-20T22:50:00.000Z\\\",\\\"dBInstanceAutomatedBackupsReplications\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":"subnet-fa0523b2","loggedInURL":null,"loginURL":null,"private":null,"resourceId":"db-ISTHVYQUZCQX3QQ5JA5ZRF2R5U","resourceName":"database-1","resourceType":"AWS::RDS::DBInstance","resourceValue":null,"state":null,"tags":"[]","title":"database-1","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}]},{"id":null,"label":"Cluster","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:redshift:eu-west-1:044981683129:cluster:redshift-cluster-1","label":"AWS_Redshift_Cluster","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:redshift:eu-west-1:044981683129:cluster:redshift-cluster-1","configuration":"\"{\\\"allowVersionUpgrade\\\":true,\\\"clusterIdentifier\\\":\\\"redshift-cluster-1\\\",\\\"clusterRevisionNumber\\\":\\\"22575\\\",\\\"numberOfNodes\\\":2,\\\"clusterPublicKey\\\":\\\"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDaB49cR9Fvb0HWLR5Sknhbhm2gd1X2IjmtSOzU4TuVqosC5ApiZZZbb3+pn1SqLduglWxO2AtqrlGO+wl7TcK472efAK1Q7dhdy+4njypy1qsaUKnAZj5+tBbr4lzABEkT5wTDCuEoyilqvmRi+ANxy4J70/ZPN3daTS8X39ZCvt7YGpf0HZRC6ra2CzxQloOMv3QnewO8YyhulTl3y2zXgxvzLmnWa5qTRaf7udIsbgqn8W49XwZuicv+1kqfdq02TT3nOis8Mrrz12TlURkI6WuiE9ivSjSdOzDcqx3xmE7kz7GaVw7OUPMN1O/rm52yoV77Naunv464rQuHVOEH Amazon-Redshift\\\\n\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"clusterVersion\\\":\\\"1.0\\\",\\\"clusterAvailabilityStatus\\\":\\\"Paused\\\",\\\"manualSnapshotRetentionPeriod\\\":-1,\\\"endpoint\\\":{\\\"vpcEndpoints\\\":[],\\\"address\\\":\\\"redshift-cluster-1.csujultbfxdj.eu-west-1.redshift.amazonaws.com\\\",\\\"port\\\":5439},\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"publiclyAccessible\\\":false,\\\"elasticResizeNumberOfNodeOptions\\\":\\\"[4]\\\",\\\"pendingActions\\\":[],\\\"clusterCreateTime\\\":\\\"2021-01-19T09:49:17.194Z\\\",\\\"masterUsername\\\":\\\"awsuser\\\",\\\"dBName\\\":\\\"dev\\\",\\\"enhancedVpcRouting\\\":false,\\\"iamRoles\\\":[],\\\"clusterNamespaceArn\\\":\\\"arn:aws:redshift:eu-west-1:044981683129:namespace:ed95b7c3-f7e6-4bc2-850e-98fa2e2a4912\\\",\\\"clusterSecurityGroups\\\":[],\\\"nodeType\\\":\\\"dc2.large\\\",\\\"availabilityZoneRelocationStatus\\\":\\\"disabled\\\",\\\"clusterSubnetGroupName\\\":\\\"default\\\",\\\"nextMaintenanceWindowStartTime\\\":\\\"2023-04-23T00:00:00.000Z\\\",\\\"deferredMaintenanceWindows\\\":[],\\\"tags\\\":[],\\\"vpcSecurityGroups\\\":[{\\\"vpcSecurityGroupId\\\":\\\"sg-9a4a97d2\\\",\\\"status\\\":\\\"active\\\"}],\\\"clusterParameterGroups\\\":[{\\\"parameterGroupName\\\":\\\"default.redshift-1.0\\\",\\\"clusterParameterStatusList\\\":[],\\\"parameterApplyStatus\\\":\\\"in-sync\\\"}],\\\"encrypted\\\":false,\\\"clusterNodes\\\":[],\\\"pendingModifiedValues\\\":{},\\\"maintenanceTrackName\\\":\\\"current\\\",\\\"preferredMaintenanceWindow\\\":\\\"sun:00:00-sun:00:30\\\",\\\"aquaConfiguration\\\":{\\\"aquaConfigurationStatus\\\":\\\"auto\\\",\\\"aquaStatus\\\":\\\"disabled\\\"},\\\"automatedSnapshotRetentionPeriod\\\":1,\\\"clusterStatus\\\":\\\"paused\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"redshift-cluster-1","resourceName":"redshift-cluster-1","resourceType":"AWS::Redshift::Cluster","resourceValue":null,"state":null,"tags":"[]","title":"redshift-cluster-1","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]},{"id":null,"label":"ClusterSnapshot","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:redshift:eu-west-1:044981683129:snapshot:redshift-cluster-1/rs:redshift-cluster-1-2021-01-19-18-47-40","label":"AWS_Redshift_ClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:redshift:eu-west-1:044981683129:snapshot:redshift-cluster-1/rs:redshift-cluster-1-2021-01-19-18-47-40","configuration":"\"{\\\"snapshotRetentionStartTime\\\":\\\"2021-01-19T18:47:42.918Z\\\",\\\"clusterIdentifier\\\":\\\"redshift-cluster-1\\\",\\\"encryptedWithHSM\\\":false,\\\"numberOfNodes\\\":2,\\\"ownerAccount\\\":\\\"044981683129\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"clusterVersion\\\":\\\"1.0\\\",\\\"totalBackupSizeInMegaBytes\\\":55,\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"backupProgressInMegaBytes\\\":18,\\\"currentBackupRateInMegaBytesPerSecond\\\":8.0899,\\\"clusterCreateTime\\\":\\\"2021-01-19T09:49:17.194Z\\\",\\\"accountsWithRestoreAccess\\\":[],\\\"elapsedTimeInSeconds\\\":2,\\\"engineFullVersion\\\":\\\"1.0.22575\\\",\\\"masterUsername\\\":\\\"awsuser\\\",\\\"dBName\\\":\\\"dev\\\",\\\"actualIncrementalBackupSizeInMegaBytes\\\":18,\\\"snapshotType\\\":\\\"automated\\\",\\\"enhancedVpcRouting\\\":false,\\\"snapshotIdentifier\\\":\\\"rs:redshift-cluster-1-2021-01-19-18-47-40\\\",\\\"nodeType\\\":\\\"dc2.large\\\",\\\"tags\\\":[],\\\"restorableNodeTypes\\\":[\\\"dc2.large\\\"],\\\"encrypted\\\":false,\\\"port\\\":5439,\\\"estimatedSecondsToCompletion\\\":0,\\\"snapshotCreateTime\\\":\\\"2021-01-19T18:47:40.693Z\\\",\\\"maintenanceTrackName\\\":\\\"current\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rs:redshift-cluster-1-2021-01-19-18-47-40","resourceName":"rs:redshift-cluster-1-2021-01-19-18-47-40","resourceType":"AWS::Redshift::ClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rs:redshift-cluster-1-2021-01-19-18-47-40","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]},{"id":null,"label":"DBSnapshot","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-11-23-44","label":"AWS_RDS_DBSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-11-23-44","configuration":"\"{\\\"engineVersion\\\":\\\"10.4.26\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T11:55:32.030Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-11-23-44\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-ISTHVYQUZCQX3QQ5JA5ZRF2R5U\\\",\\\"dBInstanceIdentifier\\\":\\\"database-1\\\",\\\"tagList\\\":[],\\\"encrypted\\\":false,\\\"engine\\\":\\\"mariadb\\\",\\\"port\\\":3306,\\\"snapshotCreateTime\\\":\\\"2023-04-11T23:44:32.741Z\\\",\\\"licenseModel\\\":\\\"general-public-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-1-2023-04-11-23-44\\\",\\\"optionGroupName\\\":\\\"default:mariadb-10-4\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-1-2023-04-11-23-44","resourceName":"rds:database-1-2023-04-11-23-44","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-1-2023-04-11-23-44","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-12-23-44","label":"AWS_RDS_DBSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-12-23-44","configuration":"\"{\\\"engineVersion\\\":\\\"10.4.26\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T11:55:32.030Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-12-23-44\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-ISTHVYQUZCQX3QQ5JA5ZRF2R5U\\\",\\\"dBInstanceIdentifier\\\":\\\"database-1\\\",\\\"tagList\\\":[],\\\"encrypted\\\":false,\\\"engine\\\":\\\"mariadb\\\",\\\"port\\\":3306,\\\"snapshotCreateTime\\\":\\\"2023-04-12T23:44:44.011Z\\\",\\\"licenseModel\\\":\\\"general-public-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-1-2023-04-12-23-44\\\",\\\"optionGroupName\\\":\\\"default:mariadb-10-4\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-1-2023-04-12-23-44","resourceName":"rds:database-1-2023-04-12-23-44","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-1-2023-04-12-23-44","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-13-23-44","label":"AWS_RDS_DBSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-13-23-44","configuration":"\"{\\\"engineVersion\\\":\\\"10.4.26\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T11:55:32.030Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-13-23-44\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-ISTHVYQUZCQX3QQ5JA5ZRF2R5U\\\",\\\"dBInstanceIdentifier\\\":\\\"database-1\\\",\\\"tagList\\\":[],\\\"encrypted\\\":false,\\\"engine\\\":\\\"mariadb\\\",\\\"port\\\":3306,\\\"snapshotCreateTime\\\":\\\"2023-04-13T23:44:57.533Z\\\",\\\"licenseModel\\\":\\\"general-public-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-1-2023-04-13-23-44\\\",\\\"optionGroupName\\\":\\\"default:mariadb-10-4\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-1-2023-04-13-23-44","resourceName":"rds:database-1-2023-04-13-23-44","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-1-2023-04-13-23-44","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-14-23-45","label":"AWS_RDS_DBSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-14-23-45","configuration":"\"{\\\"engineVersion\\\":\\\"10.4.26\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T11:55:32.030Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-14-23-45\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-ISTHVYQUZCQX3QQ5JA5ZRF2R5U\\\",\\\"dBInstanceIdentifier\\\":\\\"database-1\\\",\\\"tagList\\\":[],\\\"encrypted\\\":false,\\\"engine\\\":\\\"mariadb\\\",\\\"port\\\":3306,\\\"snapshotCreateTime\\\":\\\"2023-04-14T23:45:37.216Z\\\",\\\"licenseModel\\\":\\\"general-public-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-1-2023-04-14-23-45\\\",\\\"optionGroupName\\\":\\\"default:mariadb-10-4\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-1-2023-04-14-23-45","resourceName":"rds:database-1-2023-04-14-23-45","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-1-2023-04-14-23-45","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-15-23-44","label":"AWS_RDS_DBSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-15-23-44","configuration":"\"{\\\"engineVersion\\\":\\\"10.4.26\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T11:55:32.030Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-15-23-44\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-ISTHVYQUZCQX3QQ5JA5ZRF2R5U\\\",\\\"dBInstanceIdentifier\\\":\\\"database-1\\\",\\\"tagList\\\":[],\\\"encrypted\\\":false,\\\"engine\\\":\\\"mariadb\\\",\\\"port\\\":3306,\\\"snapshotCreateTime\\\":\\\"2023-04-15T23:45:02.341Z\\\",\\\"licenseModel\\\":\\\"general-public-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-1-2023-04-15-23-44\\\",\\\"optionGroupName\\\":\\\"default:mariadb-10-4\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-1-2023-04-15-23-44","resourceName":"rds:database-1-2023-04-15-23-44","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-1-2023-04-15-23-44","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-16-23-45","label":"AWS_RDS_DBSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-16-23-45","configuration":"\"{\\\"engineVersion\\\":\\\"10.4.26\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T11:55:32.030Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-16-23-45\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-ISTHVYQUZCQX3QQ5JA5ZRF2R5U\\\",\\\"dBInstanceIdentifier\\\":\\\"database-1\\\",\\\"tagList\\\":[],\\\"encrypted\\\":false,\\\"engine\\\":\\\"mariadb\\\",\\\"port\\\":3306,\\\"snapshotCreateTime\\\":\\\"2023-04-16T23:45:19.864Z\\\",\\\"licenseModel\\\":\\\"general-public-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-1-2023-04-16-23-45\\\",\\\"optionGroupName\\\":\\\"default:mariadb-10-4\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-1-2023-04-16-23-45","resourceName":"rds:database-1-2023-04-16-23-45","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-1-2023-04-16-23-45","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-17-23-45","label":"AWS_RDS_DBSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-17-23-45","configuration":"\"{\\\"engineVersion\\\":\\\"10.4.26\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T11:55:32.030Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-17-23-45\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-ISTHVYQUZCQX3QQ5JA5ZRF2R5U\\\",\\\"dBInstanceIdentifier\\\":\\\"database-1\\\",\\\"tagList\\\":[],\\\"encrypted\\\":false,\\\"engine\\\":\\\"mariadb\\\",\\\"port\\\":3306,\\\"snapshotCreateTime\\\":\\\"2023-04-17T23:45:22.516Z\\\",\\\"licenseModel\\\":\\\"general-public-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-1-2023-04-17-23-45\\\",\\\"optionGroupName\\\":\\\"default:mariadb-10-4\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-1-2023-04-17-23-45","resourceName":"rds:database-1-2023-04-17-23-45","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-1-2023-04-17-23-45","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-18-23-44","label":"AWS_RDS_DBSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-18-23-44","configuration":"\"{\\\"engineVersion\\\":\\\"10.4.26\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T11:55:32.030Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-18-23-44\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-ISTHVYQUZCQX3QQ5JA5ZRF2R5U\\\",\\\"dBInstanceIdentifier\\\":\\\"database-1\\\",\\\"tagList\\\":[],\\\"encrypted\\\":false,\\\"engine\\\":\\\"mariadb\\\",\\\"port\\\":3306,\\\"snapshotCreateTime\\\":\\\"2023-04-18T23:44:45.801Z\\\",\\\"licenseModel\\\":\\\"general-public-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-1-2023-04-18-23-44\\\",\\\"optionGroupName\\\":\\\"default:mariadb-10-4\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-1-2023-04-18-23-44","resourceName":"rds:database-1-2023-04-18-23-44","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-1-2023-04-18-23-44","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-19-23-45","label":"AWS_RDS_DBSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-19-23-45","configuration":"\"{\\\"engineVersion\\\":\\\"10.4.26\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T11:55:32.030Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-19-23-45\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-ISTHVYQUZCQX3QQ5JA5ZRF2R5U\\\",\\\"dBInstanceIdentifier\\\":\\\"database-1\\\",\\\"tagList\\\":[],\\\"encrypted\\\":false,\\\"engine\\\":\\\"mariadb\\\",\\\"port\\\":3306,\\\"snapshotCreateTime\\\":\\\"2023-04-19T23:45:55.929Z\\\",\\\"licenseModel\\\":\\\"general-public-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-1-2023-04-19-23-45\\\",\\\"optionGroupName\\\":\\\"default:mariadb-10-4\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-1-2023-04-19-23-45","resourceName":"rds:database-1-2023-04-19-23-45","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-1-2023-04-19-23-45","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]}]},{"id":null,"label":"Multiple Availability Zones","parent":null,"type":"availabilityZone","data":null,"properties":null,"children":[{"id":null,"label":"NetworkAcl","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-6f6ef116","label":"AWS_EC2_NetworkAcl","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-6f6ef116","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-459f0f1f\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-5fd8bb21\\\",\\\"networkAclId\\\":\\\"acl-6f6ef116\\\"},{\\\"subnetId\\\":\\\"subnet-fa0523b2\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-5ed8bb20\\\",\\\"networkAclId\\\":\\\"acl-6f6ef116\\\"},{\\\"subnetId\\\":\\\"subnet-cedd8aa8\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-61d8bb1f\\\",\\\"networkAclId\\\":\\\"acl-6f6ef116\\\"}],\\\"entries\\\":[{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":false},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":false}],\\\"isDefault\\\":true,\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"networkAclId\\\":\\\"acl-6f6ef116\\\",\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#acls:sort=networkAclId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#acls:sort=networkAclId","private":null,"resourceId":"acl-6f6ef116","resourceName":null,"resourceType":"AWS::EC2::NetworkAcl","resourceValue":null,"state":null,"tags":"[]","title":"acl-6f6ef116","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]},{"id":null,"label":"InternetGateway","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:internet-gateway/igw-054f5962","label":"AWS_EC2_InternetGateway","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:internet-gateway/igw-054f5962","configuration":"\"{\\\"attachments\\\":[{\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"state\\\":\\\"available\\\"}],\\\"internetGatewayId\\\":\\\"igw-054f5962\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#igws:sort=internetGatewayId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#igws:sort=internetGatewayId","private":null,"resourceId":"igw-054f5962","resourceName":null,"resourceType":"AWS::EC2::InternetGateway","resourceValue":null,"state":null,"tags":"[]","title":"igw-054f5962","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]},{"id":null,"label":"DBClusterSnapshot","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:globaldb-2023-04-19-02-42","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:globaldb-2023-04-19-02-42","configuration":"\"{\\\"engineVersion\\\":\\\"5.7.mysql_aurora.2.11.2\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:globaldb-2023-04-19-02-42\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":false,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"globaldb\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:globaldb-2023-04-19-02-42\\\",\\\"engine\\\":\\\"aurora-mysql\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1681872176549,\\\"licenseModel\\\":\\\"aurora-mysql\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1681299454714,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:globaldb-2023-04-19-02-42","resourceName":"rds:globaldb-2023-04-19-02-42","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:globaldb-2023-04-19-02-42","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:globaldb-2023-04-20-02-43","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:globaldb-2023-04-20-02-43","configuration":"\"{\\\"engineVersion\\\":\\\"5.7.mysql_aurora.2.11.2\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:globaldb-2023-04-20-02-43\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":false,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"globaldb\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:globaldb-2023-04-20-02-43\\\",\\\"engine\\\":\\\"aurora-mysql\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1681958584041,\\\"licenseModel\\\":\\\"aurora-mysql\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1681299454714,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:globaldb-2023-04-20-02-43","resourceName":"rds:globaldb-2023-04-20-02-43","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:globaldb-2023-04-20-02-43","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]},{"id":null,"label":"ClusterSubnetGroup","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:redshift:eu-west-1:044981683129:subnetgroup:default","label":"AWS_Redshift_ClusterSubnetGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:redshift:eu-west-1:044981683129:subnetgroup:default","configuration":"\"{\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"description\\\":\\\"default\\\",\\\"subnets\\\":[{\\\"subnetIdentifier\\\":\\\"subnet-cedd8aa8\\\",\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1c\\\",\\\"supportedPlatforms\\\":[]}},{\\\"subnetIdentifier\\\":\\\"subnet-459f0f1f\\\",\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1b\\\",\\\"supportedPlatforms\\\":[]}},{\\\"subnetIdentifier\\\":\\\"subnet-fa0523b2\\\",\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1a\\\",\\\"supportedPlatforms\\\":[]}}],\\\"clusterSubnetGroupName\\\":\\\"default\\\",\\\"subnetGroupStatus\\\":\\\"Complete\\\",\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"default","resourceName":"default","resourceType":"AWS::Redshift::ClusterSubnetGroup","resourceValue":null,"state":null,"tags":"[]","title":"default","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]},{"id":null,"label":"DBSubnetGroup","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:rds:eu-west-1:044981683129:subgrp:default-vpc-ac8663d5","label":"AWS_RDS_DBSubnetGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:subgrp:default-vpc-ac8663d5","configuration":"\"{\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"dBSubnetGroupArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:subgrp:default-vpc-ac8663d5\\\",\\\"subnets\\\":[{\\\"subnetIdentifier\\\":\\\"subnet-cedd8aa8\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1c\\\"}},{\\\"subnetIdentifier\\\":\\\"subnet-459f0f1f\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1b\\\"}},{\\\"subnetIdentifier\\\":\\\"subnet-fa0523b2\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1a\\\"}}],\\\"subnetGroupStatus\\\":\\\"Complete\\\",\\\"dBSubnetGroupName\\\":\\\"default-vpc-ac8663d5\\\",\\\"dBSubnetGroupDescription\\\":\\\"Created from the RDS Management Console\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"default-vpc-ac8663d5","resourceName":"default-vpc-ac8663d5","resourceType":"AWS::RDS::DBSubnetGroup","resourceValue":null,"state":null,"tags":"[]","title":"default-vpc-ac8663d5","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#248814","properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5","configuration":"\"{\\\"instanceTenancy\\\":\\\"default\\\",\\\"isDefault\\\":true,\\\"dhcpOptionsId\\\":\\\"dopt-01ea0a1b1a9b59c0a\\\",\\\"cidrBlock\\\":\\\"172.31.0.0/16\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"cidrBlockAssociationSet\\\":[{\\\"cidrBlock\\\":\\\"172.31.0.0/16\\\",\\\"cidrBlockState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"associationId\\\":\\\"vpc-cidr-assoc-d3a9abb8\\\"}],\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipv6CidrBlockAssociationSet\\\":[],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":null,"subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#vpcs:sort=VpcId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#vpcs:sort=VpcId","private":null,"resourceId":"vpc-ac8663d5","resourceName":null,"resourceType":"AWS::EC2::VPC","resourceValue":null,"state":null,"tags":"[]","title":"vpc-ac8663d5","instanceType":null,"statement":null,"dBInstanceStatus":null},"resource":{"id":"vpc-ac8663d5","name":null,"value":null,"type":"AWS::EC2::VPC","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#vpcs:sort=VpcId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#vpcs:sort=VpcId","accountId":"044981683129"},"selected":true},"position":{"x":-1688.5,"y":-1069.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"vpc removeAll _gridParentPadding"},{"data":{"id":"SecurityGroup-vpc-ac8663d5-eu-west-1-044981683129","parent":"vpc-ac8663d5-eu-west-1-044981683129","level":3,"title":"SecurityGroup","label":"SecurityGroup","plainLabel":"SecurityGroup","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/AWSSecurityGroup.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0050bf4ebebc17d5e","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0050bf4ebebc17d5e","configuration":"\"{\\\"groupName\\\":\\\"launch-wizard-1\\\",\\\"groupId\\\":\\\"sg-0050bf4ebebc17d5e\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"launch-wizard-1 created 2020-06-11T16:32:10.467+01:00\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":22,\\\"toPort\\\":22,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0050bf4ebebc17d5e","resourceName":"launch-wizard-1","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"launch-wizard-1","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-005f1e25b956fb989","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-005f1e25b956fb989","configuration":"\"{\\\"groupName\\\":\\\"launch-wizard-2\\\",\\\"groupId\\\":\\\"sg-005f1e25b956fb989\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"launch-wizard-2 created 2020-06-11T16:38:55.758+01:00\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":22,\\\"toPort\\\":22,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-005f1e25b956fb989","resourceName":"launch-wizard-2","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"launch-wizard-2","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-9a4a97d2","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-9a4a97d2","configuration":"\"{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-9a4a97d2\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"default VPC security group\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[{\\\"groupId\\\":\\\"sg-9a4a97d2\\\",\\\"userId\\\":\\\"044981683129\\\"}],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-9a4a97d2","resourceName":"default","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"default","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0bc8a71ea5a172df2","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0bc8a71ea5a172df2","configuration":"\"{\\\"groupName\\\":\\\"launch-wizard-3\\\",\\\"groupId\\\":\\\"sg-0bc8a71ea5a172df2\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"launch-wizard-3 created 2020-08-26T17:46:04.077+01:00\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":22,\\\"toPort\\\":22,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0bc8a71ea5a172df2","resourceName":"launch-wizard-3","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"launch-wizard-3","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1235,"y":-927.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0050bf4ebebc17d5e","resourceId":["sg-0050bf4ebebc17d5e","arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0050bf4ebebc17d5e"],"parent":"SecurityGroup-vpc-ac8663d5-eu-west-1-044981683129","level":4,"id":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0050bf4ebebc17d5e","title":"launch-wizard-1","label":"launch-wizar...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0050bf4ebebc17d5e","image":"/icons/AWSSecurityGroup.svg","cost":0,"private":false,"resource":{"id":"sg-0050bf4ebebc17d5e","name":"launch-wizard-1","value":null,"type":"AWS::EC2::SecurityGroup","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0050bf4ebebc17d5e","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0050bf4ebebc17d5e","configuration":"\"{\\\"groupName\\\":\\\"launch-wizard-1\\\",\\\"groupId\\\":\\\"sg-0050bf4ebebc17d5e\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"launch-wizard-1 created 2020-06-11T16:32:10.467+01:00\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":22,\\\"toPort\\\":22,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0050bf4ebebc17d5e","resourceName":"launch-wizard-1","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"launch-wizard-1","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1271.5,"y":-964.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-005f1e25b956fb989","resourceId":["sg-005f1e25b956fb989","arn:aws:ec2:eu-west-1:044981683129:security-group/sg-005f1e25b956fb989"],"parent":"SecurityGroup-vpc-ac8663d5-eu-west-1-044981683129","level":4,"id":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-005f1e25b956fb989","title":"launch-wizard-2","label":"launch-wizar...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-005f1e25b956fb989","image":"/icons/AWSSecurityGroup.svg","cost":0,"private":false,"resource":{"id":"sg-005f1e25b956fb989","name":"launch-wizard-2","value":null,"type":"AWS::EC2::SecurityGroup","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-005f1e25b956fb989","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-005f1e25b956fb989","configuration":"\"{\\\"groupName\\\":\\\"launch-wizard-2\\\",\\\"groupId\\\":\\\"sg-005f1e25b956fb989\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"launch-wizard-2 created 2020-06-11T16:38:55.758+01:00\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":22,\\\"toPort\\\":22,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-005f1e25b956fb989","resourceName":"launch-wizard-2","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"launch-wizard-2","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1198.5,"y":-964.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-9a4a97d2","resourceId":["sg-9a4a97d2","arn:aws:ec2:eu-west-1:044981683129:security-group/sg-9a4a97d2"],"parent":"SecurityGroup-vpc-ac8663d5-eu-west-1-044981683129","level":4,"id":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-9a4a97d2","title":"default","label":"default","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-9a4a97d2","image":"/icons/AWSSecurityGroup.svg","cost":0,"private":false,"resource":{"id":"sg-9a4a97d2","name":"default","value":null,"type":"AWS::EC2::SecurityGroup","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-9a4a97d2","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-9a4a97d2","configuration":"\"{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-9a4a97d2\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"default VPC security group\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[{\\\"groupId\\\":\\\"sg-9a4a97d2\\\",\\\"userId\\\":\\\"044981683129\\\"}],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-9a4a97d2","resourceName":"default","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"default","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1271.5,"y":-891.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0bc8a71ea5a172df2","resourceId":["sg-0bc8a71ea5a172df2","arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0bc8a71ea5a172df2"],"parent":"SecurityGroup-vpc-ac8663d5-eu-west-1-044981683129","level":4,"id":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0bc8a71ea5a172df2","title":"launch-wizard-3","label":"launch-wizar...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0bc8a71ea5a172df2","image":"/icons/AWSSecurityGroup.svg","cost":0,"private":false,"resource":{"id":"sg-0bc8a71ea5a172df2","name":"launch-wizard-3","value":null,"type":"AWS::EC2::SecurityGroup","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0bc8a71ea5a172df2","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0bc8a71ea5a172df2","configuration":"\"{\\\"groupName\\\":\\\"launch-wizard-3\\\",\\\"groupId\\\":\\\"sg-0bc8a71ea5a172df2\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"launch-wizard-3 created 2020-08-26T17:46:04.077+01:00\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":22,\\\"toPort\\\":22,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0bc8a71ea5a172df2","resourceName":"launch-wizard-3","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"launch-wizard-3","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1198.5,"y":-891.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"RouteTable-vpc-ac8663d5-eu-west-1-044981683129","parent":"vpc-ac8663d5-eu-west-1-044981683129","level":3,"title":"RouteTable","label":"RouteTable","plainLabel":"RouteTable","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-VPC_Router_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-50c3cf29","label":"AWS_EC2_RouteTable","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-50c3cf29","configuration":"\"{\\\"associations\\\":[{\\\"routeTableId\\\":\\\"rtb-50c3cf29\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-2b35a550\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":true}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"172.31.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"},{\\\"destinationCidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"igw-054f5962\\\"}],\\\"routeTableId\\\":\\\"rtb-50c3cf29\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-50c3cf29","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[]","title":"rtb-50c3cf29","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1231.5,"y":-1433.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-50c3cf29","resourceId":["rtb-50c3cf29","arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-50c3cf29"],"parent":"RouteTable-vpc-ac8663d5-eu-west-1-044981683129","level":4,"id":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-50c3cf29","title":"rtb-50c3cf29","label":"rtb-50c3cf29","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-50c3cf29","image":"/icons/Amazon-VPC_Router_light-bg.svg","cost":0,"private":false,"resource":{"id":"rtb-50c3cf29","name":null,"value":null,"type":"AWS::EC2::RouteTable","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-50c3cf29","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-50c3cf29","configuration":"\"{\\\"associations\\\":[{\\\"routeTableId\\\":\\\"rtb-50c3cf29\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-2b35a550\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":true}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"172.31.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"},{\\\"destinationCidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"igw-054f5962\\\"}],\\\"routeTableId\\\":\\\"rtb-50c3cf29\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-50c3cf29","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[]","title":"rtb-50c3cf29","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1231.5,"y":-1433.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"eu-west-1b-vpc-ac8663d5-eu-west-1-044981683129","parent":"vpc-ac8663d5-eu-west-1-044981683129","level":3,"title":"eu-west-1b","label":"eu-west-1b","plainLabel":"eu-west-1b","type":"availabilityZone","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/availabilityZone.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-459f0f1f","label":"subnet-459f0f1f","parent":null,"type":"subnet","data":{"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-459f0f1f","configuration":"\"{\\\"subnetId\\\":\\\"subnet-459f0f1f\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-459f0f1f\\\",\\\"availabilityZoneId\\\":\\\"euw1-az3\\\",\\\"cidrBlock\\\":\\\"172.31.32.0/20\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[],\\\"availableIpAddressCount\\\":4090,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"mapPublicIpOnLaunch\\\":true,\\\"defaultForAz\\\":true,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-ac8663d5","subnetId":"subnet-459f0f1f","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":null,"resourceId":"subnet-459f0f1f","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[]","title":"subnet-459f0f1f","instanceType":null,"statement":null,"dBInstanceStatus":null},"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-459f0f1f","label":"AWS_EC2_Subnet"},"properties":null,"children":[{"id":null,"label":"NetworkInterface","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-01ef2774854f1b172","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-01ef2774854f1b172","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-01ef2774854f1b172\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"34.245.23.82\\\",\\\"publicDnsName\\\":\\\"ec2-34-245-23-82.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-172-31-41-242.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.41.242\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-459f0f1f\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"34.245.23.82\\\",\\\"publicDnsName\\\":\\\"ec2-34-245-23-82.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"launch-wizard-3\\\",\\\"groupId\\\":\\\"sg-0bc8a71ea5a172df2\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"172.31.41.242\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:b1:a9:7f:d7:d9\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"instanceId\\\":\\\"i-07d0c686a25e288b4\\\",\\\"attachmentId\\\":\\\"eni-attach-0a4b3db7cd00ad87c\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"instanceOwnerId\\\":\\\"044981683129\\\",\\\"attachTime\\\":\\\"2020-08-26T16:46:15.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"privateDnsName\\\":\\\"ip-172-31-41-242.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-ac8663d5","subnetId":"subnet-459f0f1f","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-01ef2774854f1b172","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-01ef2774854f1b172","instanceType":null,"statement":null,"dBInstanceStatus":null}}]},{"id":null,"label":"Instance","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:instance/i-07d0c686a25e288b4","label":"AWS_EC2_Instance","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:instance/i-07d0c686a25e288b4","configuration":"\"{\\\"subnetId\\\":\\\"subnet-459f0f1f\\\",\\\"virtualizationType\\\":\\\"hvm\\\",\\\"capacityReservationSpecification\\\":{\\\"capacityReservationPreference\\\":\\\"open\\\"},\\\"amiLaunchIndex\\\":0,\\\"enaSupport\\\":true,\\\"elasticInferenceAcceleratorAssociations\\\":[],\\\"sourceDestCheck\\\":true,\\\"hibernationOptions\\\":{\\\"configured\\\":false},\\\"instanceId\\\":\\\"i-07d0c686a25e288b4\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"hypervisor\\\":\\\"xen\\\",\\\"rootDeviceName\\\":\\\"/dev/xvda\\\",\\\"productCodes\\\":[],\\\"state\\\":{\\\"code\\\":\\\"16\\\",\\\"name\\\":\\\"running\\\"},\\\"architecture\\\":\\\"x86_64\\\",\\\"ebsOptimized\\\":false,\\\"imageId\\\":\\\"ami-07d9160fa81ccffb5\\\",\\\"blockDeviceMappings\\\":[{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-00754e2b15f48c1f5\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2020-08-26T16:46:16.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvda\\\"}],\\\"publicIpAddress\\\":\\\"34.245.23.82\\\",\\\"stateTransitionReason\\\":\\\"\\\",\\\"clientToken\\\":\\\"\\\",\\\"instanceType\\\":\\\"t2.micro\\\",\\\"keyName\\\":\\\"svozza\\\",\\\"cpuOptions\\\":{\\\"threadsPerCore\\\":1,\\\"coreCount\\\":1},\\\"monitoring\\\":{\\\"state\\\":\\\"disabled\\\"},\\\"publicDnsName\\\":\\\"ec2-34-245-23-82.eu-west-1.compute.amazonaws.com\\\",\\\"privateIpAddress\\\":\\\"172.31.41.242\\\",\\\"rootDeviceType\\\":\\\"ebs\\\",\\\"tags\\\":[],\\\"enclaveOptions\\\":{\\\"enabled\\\":false},\\\"launchTime\\\":\\\"2020-08-26T16:46:15.000Z\\\",\\\"elasticGpuAssociations\\\":[],\\\"licenses\\\":[],\\\"networkInterfaces\\\":[{\\\"networkInterfaceId\\\":\\\"eni-01ef2774854f1b172\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"34.245.23.82\\\",\\\"publicDnsName\\\":\\\"ec2-34-245-23-82.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-172-31-41-242.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.41.242\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-459f0f1f\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"34.245.23.82\\\",\\\"publicDnsName\\\":\\\"ec2-34-245-23-82.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"launch-wizard-3\\\",\\\"groupId\\\":\\\"sg-0bc8a71ea5a172df2\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"privateIpAddress\\\":\\\"172.31.41.242\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"macAddress\\\":\\\"0a:b1:a9:7f:d7:d9\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0a4b3db7cd00ad87c\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"attachTime\\\":\\\"2020-08-26T16:46:15.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"privateDnsName\\\":\\\"ip-172-31-41-242.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}],\\\"metadataOptions\\\":{\\\"httpPutResponseHopLimit\\\":1,\\\"httpEndpoint\\\":\\\"enabled\\\",\\\"state\\\":\\\"applied\\\",\\\"httpTokens\\\":\\\"optional\\\"},\\\"privateDnsName\\\":\\\"ip-172-31-41-242.eu-west-1.compute.internal\\\",\\\"securityGroups\\\":[{\\\"groupName\\\":\\\"launch-wizard-3\\\",\\\"groupId\\\":\\\"sg-0bc8a71ea5a172df2\\\"}],\\\"placement\\\":{\\\"groupName\\\":\\\"\\\",\\\"tenancy\\\":\\\"default\\\",\\\"availabilityZone\\\":\\\"eu-west-1b\\\"}}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-ac8663d5","subnetId":"subnet-459f0f1f","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#Instances:sort=instanceId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#Instances:sort=instanceId","private":null,"resourceId":"i-07d0c686a25e288b4","resourceName":null,"resourceType":"AWS::EC2::Instance","resourceValue":null,"state":null,"tags":"[]","title":"i-07d0c686a25e288b4","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1441,"y":-1347.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"availabilityZone removeAll _gridParentPadding"},{"data":{"id":"subnet-459f0f1f-eu-west-1b-vpc-ac8663d5-eu-west-1-044981683129","parent":"eu-west-1b-vpc-ac8663d5-eu-west-1-044981683129","level":4,"title":"subnet-459f0f1f","label":"subnet-459f0f1f","plainLabel":"subnet-459f0f1f","type":"subnet","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/VPC-subnet-private_light-bg-collapsed.svg","clickedId":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-459f0f1f","cost":0,"hasChildren":true,"children":[{"id":null,"label":"NetworkInterface","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-01ef2774854f1b172","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-01ef2774854f1b172","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-01ef2774854f1b172\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"34.245.23.82\\\",\\\"publicDnsName\\\":\\\"ec2-34-245-23-82.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-172-31-41-242.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.41.242\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-459f0f1f\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"34.245.23.82\\\",\\\"publicDnsName\\\":\\\"ec2-34-245-23-82.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"launch-wizard-3\\\",\\\"groupId\\\":\\\"sg-0bc8a71ea5a172df2\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"172.31.41.242\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:b1:a9:7f:d7:d9\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"instanceId\\\":\\\"i-07d0c686a25e288b4\\\",\\\"attachmentId\\\":\\\"eni-attach-0a4b3db7cd00ad87c\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"instanceOwnerId\\\":\\\"044981683129\\\",\\\"attachTime\\\":\\\"2020-08-26T16:46:15.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"privateDnsName\\\":\\\"ip-172-31-41-242.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-ac8663d5","subnetId":"subnet-459f0f1f","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-01ef2774854f1b172","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-01ef2774854f1b172","instanceType":null,"statement":null,"dBInstanceStatus":null}}]},{"id":null,"label":"Instance","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:instance/i-07d0c686a25e288b4","label":"AWS_EC2_Instance","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:instance/i-07d0c686a25e288b4","configuration":"\"{\\\"subnetId\\\":\\\"subnet-459f0f1f\\\",\\\"virtualizationType\\\":\\\"hvm\\\",\\\"capacityReservationSpecification\\\":{\\\"capacityReservationPreference\\\":\\\"open\\\"},\\\"amiLaunchIndex\\\":0,\\\"enaSupport\\\":true,\\\"elasticInferenceAcceleratorAssociations\\\":[],\\\"sourceDestCheck\\\":true,\\\"hibernationOptions\\\":{\\\"configured\\\":false},\\\"instanceId\\\":\\\"i-07d0c686a25e288b4\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"hypervisor\\\":\\\"xen\\\",\\\"rootDeviceName\\\":\\\"/dev/xvda\\\",\\\"productCodes\\\":[],\\\"state\\\":{\\\"code\\\":\\\"16\\\",\\\"name\\\":\\\"running\\\"},\\\"architecture\\\":\\\"x86_64\\\",\\\"ebsOptimized\\\":false,\\\"imageId\\\":\\\"ami-07d9160fa81ccffb5\\\",\\\"blockDeviceMappings\\\":[{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-00754e2b15f48c1f5\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2020-08-26T16:46:16.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvda\\\"}],\\\"publicIpAddress\\\":\\\"34.245.23.82\\\",\\\"stateTransitionReason\\\":\\\"\\\",\\\"clientToken\\\":\\\"\\\",\\\"instanceType\\\":\\\"t2.micro\\\",\\\"keyName\\\":\\\"svozza\\\",\\\"cpuOptions\\\":{\\\"threadsPerCore\\\":1,\\\"coreCount\\\":1},\\\"monitoring\\\":{\\\"state\\\":\\\"disabled\\\"},\\\"publicDnsName\\\":\\\"ec2-34-245-23-82.eu-west-1.compute.amazonaws.com\\\",\\\"privateIpAddress\\\":\\\"172.31.41.242\\\",\\\"rootDeviceType\\\":\\\"ebs\\\",\\\"tags\\\":[],\\\"enclaveOptions\\\":{\\\"enabled\\\":false},\\\"launchTime\\\":\\\"2020-08-26T16:46:15.000Z\\\",\\\"elasticGpuAssociations\\\":[],\\\"licenses\\\":[],\\\"networkInterfaces\\\":[{\\\"networkInterfaceId\\\":\\\"eni-01ef2774854f1b172\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"34.245.23.82\\\",\\\"publicDnsName\\\":\\\"ec2-34-245-23-82.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-172-31-41-242.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.41.242\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-459f0f1f\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"34.245.23.82\\\",\\\"publicDnsName\\\":\\\"ec2-34-245-23-82.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"launch-wizard-3\\\",\\\"groupId\\\":\\\"sg-0bc8a71ea5a172df2\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"privateIpAddress\\\":\\\"172.31.41.242\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"macAddress\\\":\\\"0a:b1:a9:7f:d7:d9\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0a4b3db7cd00ad87c\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"attachTime\\\":\\\"2020-08-26T16:46:15.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"privateDnsName\\\":\\\"ip-172-31-41-242.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}],\\\"metadataOptions\\\":{\\\"httpPutResponseHopLimit\\\":1,\\\"httpEndpoint\\\":\\\"enabled\\\",\\\"state\\\":\\\"applied\\\",\\\"httpTokens\\\":\\\"optional\\\"},\\\"privateDnsName\\\":\\\"ip-172-31-41-242.eu-west-1.compute.internal\\\",\\\"securityGroups\\\":[{\\\"groupName\\\":\\\"launch-wizard-3\\\",\\\"groupId\\\":\\\"sg-0bc8a71ea5a172df2\\\"}],\\\"placement\\\":{\\\"groupName\\\":\\\"\\\",\\\"tenancy\\\":\\\"default\\\",\\\"availabilityZone\\\":\\\"eu-west-1b\\\"}}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-ac8663d5","subnetId":"subnet-459f0f1f","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#Instances:sort=instanceId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#Instances:sort=instanceId","private":null,"resourceId":"i-07d0c686a25e288b4","resourceName":null,"resourceType":"AWS::EC2::Instance","resourceValue":null,"state":null,"tags":"[]","title":"i-07d0c686a25e288b4","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#248814","properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-459f0f1f","configuration":"\"{\\\"subnetId\\\":\\\"subnet-459f0f1f\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-459f0f1f\\\",\\\"availabilityZoneId\\\":\\\"euw1-az3\\\",\\\"cidrBlock\\\":\\\"172.31.32.0/20\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[],\\\"availableIpAddressCount\\\":4090,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"mapPublicIpOnLaunch\\\":true,\\\"defaultForAz\\\":true,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-ac8663d5","subnetId":"subnet-459f0f1f","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":null,"resourceId":"subnet-459f0f1f","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[]","title":"subnet-459f0f1f","instanceType":null,"statement":null,"dBInstanceStatus":null},"resource":{"id":"subnet-459f0f1f","name":null,"value":null,"type":"AWS::EC2::Subnet","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-459f0f1f","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","accountId":"044981683129"}},"position":{"x":-1441,"y":-1347.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"subnet removeAll _gridParentPadding"},{"data":{"id":"NetworkInterface-subnet-459f0f1f-eu-west-1b-vpc-ac8663d5-eu-west-1-044981683129","parent":"subnet-459f0f1f-eu-west-1b-vpc-ac8663d5-eu-west-1-044981683129","level":5,"title":"NetworkInterface","label":"NetworkInterface","plainLabel":"NetworkInterface","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-01ef2774854f1b172","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-01ef2774854f1b172","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-01ef2774854f1b172\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"34.245.23.82\\\",\\\"publicDnsName\\\":\\\"ec2-34-245-23-82.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-172-31-41-242.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.41.242\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-459f0f1f\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"34.245.23.82\\\",\\\"publicDnsName\\\":\\\"ec2-34-245-23-82.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"launch-wizard-3\\\",\\\"groupId\\\":\\\"sg-0bc8a71ea5a172df2\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"172.31.41.242\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:b1:a9:7f:d7:d9\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"instanceId\\\":\\\"i-07d0c686a25e288b4\\\",\\\"attachmentId\\\":\\\"eni-attach-0a4b3db7cd00ad87c\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"instanceOwnerId\\\":\\\"044981683129\\\",\\\"attachTime\\\":\\\"2020-08-26T16:46:15.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"privateDnsName\\\":\\\"ip-172-31-41-242.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-ac8663d5","subnetId":"subnet-459f0f1f","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-01ef2774854f1b172","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-01ef2774854f1b172","instanceType":null,"statement":null,"dBInstanceStatus":null}}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1497.5,"y":-1347.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-01ef2774854f1b172","resourceId":["eni-01ef2774854f1b172","arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-01ef2774854f1b172"],"parent":"NetworkInterface-subnet-459f0f1f-eu-west-1b-vpc-ac8663d5-eu-west-1-044981683129","level":6,"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-01ef2774854f1b172","title":"eni-01ef2774854f1b172","label":"eni-01ef2774...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-01ef2774854f1b172","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-01ef2774854f1b172","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-01ef2774854f1b172","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-01ef2774854f1b172","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-01ef2774854f1b172\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"34.245.23.82\\\",\\\"publicDnsName\\\":\\\"ec2-34-245-23-82.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-172-31-41-242.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.41.242\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-459f0f1f\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"34.245.23.82\\\",\\\"publicDnsName\\\":\\\"ec2-34-245-23-82.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"launch-wizard-3\\\",\\\"groupId\\\":\\\"sg-0bc8a71ea5a172df2\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"172.31.41.242\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:b1:a9:7f:d7:d9\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"instanceId\\\":\\\"i-07d0c686a25e288b4\\\",\\\"attachmentId\\\":\\\"eni-attach-0a4b3db7cd00ad87c\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"instanceOwnerId\\\":\\\"044981683129\\\",\\\"attachTime\\\":\\\"2020-08-26T16:46:15.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"privateDnsName\\\":\\\"ip-172-31-41-242.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-ac8663d5","subnetId":"subnet-459f0f1f","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-01ef2774854f1b172","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-01ef2774854f1b172","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1497.5,"y":-1347.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"Instance-subnet-459f0f1f-eu-west-1b-vpc-ac8663d5-eu-west-1-044981683129","parent":"subnet-459f0f1f-eu-west-1b-vpc-ac8663d5-eu-west-1-044981683129","level":5,"title":"Instance","label":"Instance","plainLabel":"Instance","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-EC2_Instance_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:instance/i-07d0c686a25e288b4","label":"AWS_EC2_Instance","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:instance/i-07d0c686a25e288b4","configuration":"\"{\\\"subnetId\\\":\\\"subnet-459f0f1f\\\",\\\"virtualizationType\\\":\\\"hvm\\\",\\\"capacityReservationSpecification\\\":{\\\"capacityReservationPreference\\\":\\\"open\\\"},\\\"amiLaunchIndex\\\":0,\\\"enaSupport\\\":true,\\\"elasticInferenceAcceleratorAssociations\\\":[],\\\"sourceDestCheck\\\":true,\\\"hibernationOptions\\\":{\\\"configured\\\":false},\\\"instanceId\\\":\\\"i-07d0c686a25e288b4\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"hypervisor\\\":\\\"xen\\\",\\\"rootDeviceName\\\":\\\"/dev/xvda\\\",\\\"productCodes\\\":[],\\\"state\\\":{\\\"code\\\":\\\"16\\\",\\\"name\\\":\\\"running\\\"},\\\"architecture\\\":\\\"x86_64\\\",\\\"ebsOptimized\\\":false,\\\"imageId\\\":\\\"ami-07d9160fa81ccffb5\\\",\\\"blockDeviceMappings\\\":[{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-00754e2b15f48c1f5\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2020-08-26T16:46:16.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvda\\\"}],\\\"publicIpAddress\\\":\\\"34.245.23.82\\\",\\\"stateTransitionReason\\\":\\\"\\\",\\\"clientToken\\\":\\\"\\\",\\\"instanceType\\\":\\\"t2.micro\\\",\\\"keyName\\\":\\\"svozza\\\",\\\"cpuOptions\\\":{\\\"threadsPerCore\\\":1,\\\"coreCount\\\":1},\\\"monitoring\\\":{\\\"state\\\":\\\"disabled\\\"},\\\"publicDnsName\\\":\\\"ec2-34-245-23-82.eu-west-1.compute.amazonaws.com\\\",\\\"privateIpAddress\\\":\\\"172.31.41.242\\\",\\\"rootDeviceType\\\":\\\"ebs\\\",\\\"tags\\\":[],\\\"enclaveOptions\\\":{\\\"enabled\\\":false},\\\"launchTime\\\":\\\"2020-08-26T16:46:15.000Z\\\",\\\"elasticGpuAssociations\\\":[],\\\"licenses\\\":[],\\\"networkInterfaces\\\":[{\\\"networkInterfaceId\\\":\\\"eni-01ef2774854f1b172\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"34.245.23.82\\\",\\\"publicDnsName\\\":\\\"ec2-34-245-23-82.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-172-31-41-242.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.41.242\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-459f0f1f\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"34.245.23.82\\\",\\\"publicDnsName\\\":\\\"ec2-34-245-23-82.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"launch-wizard-3\\\",\\\"groupId\\\":\\\"sg-0bc8a71ea5a172df2\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"privateIpAddress\\\":\\\"172.31.41.242\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"macAddress\\\":\\\"0a:b1:a9:7f:d7:d9\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0a4b3db7cd00ad87c\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"attachTime\\\":\\\"2020-08-26T16:46:15.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"privateDnsName\\\":\\\"ip-172-31-41-242.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}],\\\"metadataOptions\\\":{\\\"httpPutResponseHopLimit\\\":1,\\\"httpEndpoint\\\":\\\"enabled\\\",\\\"state\\\":\\\"applied\\\",\\\"httpTokens\\\":\\\"optional\\\"},\\\"privateDnsName\\\":\\\"ip-172-31-41-242.eu-west-1.compute.internal\\\",\\\"securityGroups\\\":[{\\\"groupName\\\":\\\"launch-wizard-3\\\",\\\"groupId\\\":\\\"sg-0bc8a71ea5a172df2\\\"}],\\\"placement\\\":{\\\"groupName\\\":\\\"\\\",\\\"tenancy\\\":\\\"default\\\",\\\"availabilityZone\\\":\\\"eu-west-1b\\\"}}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-ac8663d5","subnetId":"subnet-459f0f1f","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#Instances:sort=instanceId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#Instances:sort=instanceId","private":null,"resourceId":"i-07d0c686a25e288b4","resourceName":null,"resourceType":"AWS::EC2::Instance","resourceValue":null,"state":null,"tags":"[]","title":"i-07d0c686a25e288b4","instanceType":null,"statement":null,"dBInstanceStatus":null}}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1384.5,"y":-1347.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:instance/i-07d0c686a25e288b4","resourceId":["i-07d0c686a25e288b4","arn:aws:ec2:eu-west-1:044981683129:instance/i-07d0c686a25e288b4"],"parent":"Instance-subnet-459f0f1f-eu-west-1b-vpc-ac8663d5-eu-west-1-044981683129","level":6,"id":"arn:aws:ec2:eu-west-1:044981683129:instance/i-07d0c686a25e288b4","title":"i-07d0c686a25e288b4","label":"i-07d0c686a2...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#FF9900","borderStyle":"dotted","borderColour":"#FF9900","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:instance/i-07d0c686a25e288b4","state":{"status":"status-warning","text":"no state data","color":"#FF9900"},"image":"/icons/Amazon-EC2_T2-Instance_light-bg-warning.svg","cost":0,"private":false,"detailsComponent":{"key":null,"ref":null,"props":{"title":"Instance Details","configuration":"\"{\\\"subnetId\\\":\\\"subnet-459f0f1f\\\",\\\"virtualizationType\\\":\\\"hvm\\\",\\\"capacityReservationSpecification\\\":{\\\"capacityReservationPreference\\\":\\\"open\\\"},\\\"amiLaunchIndex\\\":0,\\\"enaSupport\\\":true,\\\"elasticInferenceAcceleratorAssociations\\\":[],\\\"sourceDestCheck\\\":true,\\\"hibernationOptions\\\":{\\\"configured\\\":false},\\\"instanceId\\\":\\\"i-07d0c686a25e288b4\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"hypervisor\\\":\\\"xen\\\",\\\"rootDeviceName\\\":\\\"/dev/xvda\\\",\\\"productCodes\\\":[],\\\"state\\\":{\\\"code\\\":\\\"16\\\",\\\"name\\\":\\\"running\\\"},\\\"architecture\\\":\\\"x86_64\\\",\\\"ebsOptimized\\\":false,\\\"imageId\\\":\\\"ami-07d9160fa81ccffb5\\\",\\\"blockDeviceMappings\\\":[{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-00754e2b15f48c1f5\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2020-08-26T16:46:16.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvda\\\"}],\\\"publicIpAddress\\\":\\\"34.245.23.82\\\",\\\"stateTransitionReason\\\":\\\"\\\",\\\"clientToken\\\":\\\"\\\",\\\"instanceType\\\":\\\"t2.micro\\\",\\\"keyName\\\":\\\"svozza\\\",\\\"cpuOptions\\\":{\\\"threadsPerCore\\\":1,\\\"coreCount\\\":1},\\\"monitoring\\\":{\\\"state\\\":\\\"disabled\\\"},\\\"publicDnsName\\\":\\\"ec2-34-245-23-82.eu-west-1.compute.amazonaws.com\\\",\\\"privateIpAddress\\\":\\\"172.31.41.242\\\",\\\"rootDeviceType\\\":\\\"ebs\\\",\\\"tags\\\":[],\\\"enclaveOptions\\\":{\\\"enabled\\\":false},\\\"launchTime\\\":\\\"2020-08-26T16:46:15.000Z\\\",\\\"elasticGpuAssociations\\\":[],\\\"licenses\\\":[],\\\"networkInterfaces\\\":[{\\\"networkInterfaceId\\\":\\\"eni-01ef2774854f1b172\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"34.245.23.82\\\",\\\"publicDnsName\\\":\\\"ec2-34-245-23-82.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-172-31-41-242.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.41.242\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-459f0f1f\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"34.245.23.82\\\",\\\"publicDnsName\\\":\\\"ec2-34-245-23-82.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"launch-wizard-3\\\",\\\"groupId\\\":\\\"sg-0bc8a71ea5a172df2\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"privateIpAddress\\\":\\\"172.31.41.242\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"macAddress\\\":\\\"0a:b1:a9:7f:d7:d9\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0a4b3db7cd00ad87c\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"attachTime\\\":\\\"2020-08-26T16:46:15.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"privateDnsName\\\":\\\"ip-172-31-41-242.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}],\\\"metadataOptions\\\":{\\\"httpPutResponseHopLimit\\\":1,\\\"httpEndpoint\\\":\\\"enabled\\\",\\\"state\\\":\\\"applied\\\",\\\"httpTokens\\\":\\\"optional\\\"},\\\"privateDnsName\\\":\\\"ip-172-31-41-242.eu-west-1.compute.internal\\\",\\\"securityGroups\\\":[{\\\"groupName\\\":\\\"launch-wizard-3\\\",\\\"groupId\\\":\\\"sg-0bc8a71ea5a172df2\\\"}],\\\"placement\\\":{\\\"groupName\\\":\\\"\\\",\\\"tenancy\\\":\\\"default\\\",\\\"availabilityZone\\\":\\\"eu-west-1b\\\"}}\""},"_owner":null,"_store":{}},"resource":{"id":"i-07d0c686a25e288b4","name":null,"value":null,"type":"AWS::EC2::Instance","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:instance/i-07d0c686a25e288b4","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#Instances:sort=instanceId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#Instances:sort=instanceId","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:instance/i-07d0c686a25e288b4","configuration":"\"{\\\"subnetId\\\":\\\"subnet-459f0f1f\\\",\\\"virtualizationType\\\":\\\"hvm\\\",\\\"capacityReservationSpecification\\\":{\\\"capacityReservationPreference\\\":\\\"open\\\"},\\\"amiLaunchIndex\\\":0,\\\"enaSupport\\\":true,\\\"elasticInferenceAcceleratorAssociations\\\":[],\\\"sourceDestCheck\\\":true,\\\"hibernationOptions\\\":{\\\"configured\\\":false},\\\"instanceId\\\":\\\"i-07d0c686a25e288b4\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"hypervisor\\\":\\\"xen\\\",\\\"rootDeviceName\\\":\\\"/dev/xvda\\\",\\\"productCodes\\\":[],\\\"state\\\":{\\\"code\\\":\\\"16\\\",\\\"name\\\":\\\"running\\\"},\\\"architecture\\\":\\\"x86_64\\\",\\\"ebsOptimized\\\":false,\\\"imageId\\\":\\\"ami-07d9160fa81ccffb5\\\",\\\"blockDeviceMappings\\\":[{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-00754e2b15f48c1f5\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2020-08-26T16:46:16.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvda\\\"}],\\\"publicIpAddress\\\":\\\"34.245.23.82\\\",\\\"stateTransitionReason\\\":\\\"\\\",\\\"clientToken\\\":\\\"\\\",\\\"instanceType\\\":\\\"t2.micro\\\",\\\"keyName\\\":\\\"svozza\\\",\\\"cpuOptions\\\":{\\\"threadsPerCore\\\":1,\\\"coreCount\\\":1},\\\"monitoring\\\":{\\\"state\\\":\\\"disabled\\\"},\\\"publicDnsName\\\":\\\"ec2-34-245-23-82.eu-west-1.compute.amazonaws.com\\\",\\\"privateIpAddress\\\":\\\"172.31.41.242\\\",\\\"rootDeviceType\\\":\\\"ebs\\\",\\\"tags\\\":[],\\\"enclaveOptions\\\":{\\\"enabled\\\":false},\\\"launchTime\\\":\\\"2020-08-26T16:46:15.000Z\\\",\\\"elasticGpuAssociations\\\":[],\\\"licenses\\\":[],\\\"networkInterfaces\\\":[{\\\"networkInterfaceId\\\":\\\"eni-01ef2774854f1b172\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"34.245.23.82\\\",\\\"publicDnsName\\\":\\\"ec2-34-245-23-82.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-172-31-41-242.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.41.242\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-459f0f1f\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"34.245.23.82\\\",\\\"publicDnsName\\\":\\\"ec2-34-245-23-82.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"launch-wizard-3\\\",\\\"groupId\\\":\\\"sg-0bc8a71ea5a172df2\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"privateIpAddress\\\":\\\"172.31.41.242\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"macAddress\\\":\\\"0a:b1:a9:7f:d7:d9\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0a4b3db7cd00ad87c\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"attachTime\\\":\\\"2020-08-26T16:46:15.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"privateDnsName\\\":\\\"ip-172-31-41-242.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}],\\\"metadataOptions\\\":{\\\"httpPutResponseHopLimit\\\":1,\\\"httpEndpoint\\\":\\\"enabled\\\",\\\"state\\\":\\\"applied\\\",\\\"httpTokens\\\":\\\"optional\\\"},\\\"privateDnsName\\\":\\\"ip-172-31-41-242.eu-west-1.compute.internal\\\",\\\"securityGroups\\\":[{\\\"groupName\\\":\\\"launch-wizard-3\\\",\\\"groupId\\\":\\\"sg-0bc8a71ea5a172df2\\\"}],\\\"placement\\\":{\\\"groupName\\\":\\\"\\\",\\\"tenancy\\\":\\\"default\\\",\\\"availabilityZone\\\":\\\"eu-west-1b\\\"}}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-ac8663d5","subnetId":"subnet-459f0f1f","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#Instances:sort=instanceId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#Instances:sort=instanceId","private":null,"resourceId":"i-07d0c686a25e288b4","resourceName":null,"resourceType":"AWS::EC2::Instance","resourceValue":null,"state":null,"tags":"[]","title":"i-07d0c686a25e288b4","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1384.5,"y":-1347.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"eu-west-1c-vpc-ac8663d5-eu-west-1-044981683129","parent":"vpc-ac8663d5-eu-west-1-044981683129","level":3,"title":"eu-west-1c","label":"eu-west-1c","plainLabel":"eu-west-1c","type":"availabilityZone","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/availabilityZone.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-cedd8aa8","label":"subnet-cedd8aa8","parent":null,"type":"subnet","data":{"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-cedd8aa8","configuration":"\"{\\\"subnetId\\\":\\\"subnet-cedd8aa8\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-cedd8aa8\\\",\\\"availabilityZoneId\\\":\\\"euw1-az1\\\",\\\"cidrBlock\\\":\\\"172.31.0.0/20\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[],\\\"availableIpAddressCount\\\":4089,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"mapPublicIpOnLaunch\\\":true,\\\"defaultForAz\\\":true,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-ac8663d5","subnetId":"subnet-cedd8aa8","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":null,"resourceId":"subnet-cedd8aa8","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[]","title":"subnet-cedd8aa8","instanceType":null,"statement":null,"dBInstanceStatus":null},"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-cedd8aa8","label":"AWS_EC2_Subnet"},"properties":null,"children":[{"id":null,"label":"NetworkInterface","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0a1cdebf6d67ebacd","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0a1cdebf6d67ebacd","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0a1cdebf6d67ebacd\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-172-31-7-111.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.7.111\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-cedd8aa8\\\",\\\"requesterId\\\":\\\"amazon-rds\\\",\\\"description\\\":\\\"RDSNetworkInterface\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-9a4a97d2\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"172.31.7.111\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:c1:3e:62:d1:a3\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-03ada53e5a82b109a\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-rds\\\",\\\"attachTime\\\":\\\"2021-09-02T12:03:58.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"privateDnsName\\\":\\\"ip-172-31-7-111.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-ac8663d5","subnetId":"subnet-cedd8aa8","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0a1cdebf6d67ebacd","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0a1cdebf6d67ebacd","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0ab24b898a77448ce","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0ab24b898a77448ce","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0ab24b898a77448ce\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-172-31-1-207.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.1.207\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-cedd8aa8\\\",\\\"requesterId\\\":\\\"082811663747\\\",\\\"description\\\":\\\"RDSNetworkInterface\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-9a4a97d2\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"172.31.1.207\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:d5:c7:7a:87:29\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0fc0aaddacf59de08\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"082811663747\\\",\\\"attachTime\\\":\\\"2023-04-12T12:02:02.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"privateDnsName\\\":\\\"ip-172-31-1-207.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-ac8663d5","subnetId":"subnet-cedd8aa8","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0ab24b898a77448ce","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0ab24b898a77448ce","instanceType":null,"statement":null,"dBInstanceStatus":null}}]},{"id":null,"label":"DBInstance","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:rds:eu-west-1:044981683129:db:database-2","label":"AWS_RDS_DBInstance","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:db:database-2","configuration":"\"{\\\"allocatedStorage\\\":20,\\\"enabledCloudwatchLogsExports\\\":[],\\\"readReplicaDBClusterIdentifiers\\\":[],\\\"associatedRoles\\\":[],\\\"dBParameterGroups\\\":[{\\\"dBParameterGroupName\\\":\\\"default.postgres13\\\",\\\"parameterApplyStatus\\\":\\\"in-sync\\\"}],\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"dBSecurityGroups\\\":[],\\\"performanceInsightsKMSKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"statusInfos\\\":[],\\\"enhancedMonitoringResourceArn\\\":\\\"arn:aws:logs:eu-west-1:044981683129:log-group:RDSOSMetrics:log-stream:db-B5N5MVZSUKJQQR4M3OKWG3RZF4\\\",\\\"performanceInsightsRetentionPeriod\\\":7,\\\"engineVersion\\\":\\\"13.7\\\",\\\"masterUsername\\\":\\\"postgres\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T12:06:26.436Z\\\",\\\"dBInstanceClass\\\":\\\"db.t3.micro\\\",\\\"processorFeatures\\\":[],\\\"readReplicaDBInstanceIdentifiers\\\":[],\\\"customerOwnedIpEnabled\\\":false,\\\"monitoringInterval\\\":60,\\\"dBInstanceStatus\\\":\\\"available\\\",\\\"backupRetentionPeriod\\\":7,\\\"optionGroupMemberships\\\":[{\\\"optionGroupName\\\":\\\"default:postgres-13\\\",\\\"status\\\":\\\"in-sync\\\"}],\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"latestRestorableTime\\\":\\\"2023-04-20T22:49:34.000Z\\\",\\\"dBInstanceAutomatedBackupsReplications\\\":[],\\\"cACertificateIdentifier\\\":\\\"rds-ca-2019\\\",\\\"dbInstancePort\\\":0,\\\"preferredBackupWindow\\\":\\\"03:51-04:21\\\",\\\"dbiResourceId\\\":\\\"db-B5N5MVZSUKJQQR4M3OKWG3RZF4\\\",\\\"deletionProtection\\\":false,\\\"dBInstanceIdentifier\\\":\\\"database-2\\\",\\\"dBInstanceArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:db:database-2\\\",\\\"endpoint\\\":{\\\"hostedZoneId\\\":\\\"Z29XKXDKYMONMX\\\",\\\"address\\\":\\\"database-2.ccc9f5a6ekin.eu-west-1.rds.amazonaws.com\\\",\\\"port\\\":5432},\\\"engine\\\":\\\"postgres\\\",\\\"maxAllocatedStorage\\\":1000,\\\"publiclyAccessible\\\":false,\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"performanceInsightsEnabled\\\":true,\\\"multiAZ\\\":false,\\\"domainMemberships\\\":[],\\\"monitoringRoleArn\\\":\\\"arn:aws:iam::044981683129:role/rds-monitoring-role\\\",\\\"storageEncrypted\\\":true,\\\"dBSubnetGroup\\\":{\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"subnets\\\":[{\\\"subnetIdentifier\\\":\\\"subnet-fa0523b2\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1a\\\"}},{\\\"subnetIdentifier\\\":\\\"subnet-459f0f1f\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1b\\\"}},{\\\"subnetIdentifier\\\":\\\"subnet-cedd8aa8\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1c\\\"}}],\\\"subnetGroupStatus\\\":\\\"Complete\\\",\\\"dBSubnetGroupName\\\":\\\"default-vpc-ac8663d5\\\",\\\"dBSubnetGroupDescription\\\":\\\"Created from the RDS Management Console\\\"},\\\"vpcSecurityGroups\\\":[{\\\"vpcSecurityGroupId\\\":\\\"sg-9a4a97d2\\\",\\\"status\\\":\\\"active\\\"}],\\\"tagList\\\":[],\\\"pendingModifiedValues\\\":{\\\"processorFeatures\\\":[]},\\\"licenseModel\\\":\\\"postgresql-license\\\",\\\"preferredMaintenanceWindow\\\":\\\"mon:22:22-mon:22:52\\\",\\\"storageType\\\":\\\"gp2\\\",\\\"autoMinorVersionUpgrade\\\":true,\\\"copyTagsToSnapshot\\\":true}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-ac8663d5","subnetId":"subnet-cedd8aa8","loggedInURL":null,"loginURL":null,"private":null,"resourceId":"db-B5N5MVZSUKJQQR4M3OKWG3RZF4","resourceName":"database-2","resourceType":"AWS::RDS::DBInstance","resourceValue":null,"state":null,"tags":"[]","title":"database-2","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:rds:eu-west-1:044981683129:db:globaldb-instance-1","label":"AWS_RDS_DBInstance","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:db:globaldb-instance-1","configuration":"\"{\\\"allocatedStorage\\\":1,\\\"enabledCloudwatchLogsExports\\\":[],\\\"readReplicaDBClusterIdentifiers\\\":[],\\\"associatedRoles\\\":[],\\\"dBParameterGroups\\\":[{\\\"dBParameterGroupName\\\":\\\"default.aurora-mysql5.7\\\",\\\"parameterApplyStatus\\\":\\\"in-sync\\\"}],\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"dBSecurityGroups\\\":[],\\\"statusInfos\\\":[],\\\"enhancedMonitoringResourceArn\\\":\\\"arn:aws:logs:eu-west-1:044981683129:log-group:RDSOSMetrics:log-stream:db-3C7T2Y62VYCMGRPKEN4QC7FW5A\\\",\\\"engineVersion\\\":\\\"5.7.mysql_aurora.2.11.2\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"instanceCreateTime\\\":\\\"2023-04-12T11:43:48.156Z\\\",\\\"dBInstanceClass\\\":\\\"db.r5.large\\\",\\\"processorFeatures\\\":[],\\\"readReplicaDBInstanceIdentifiers\\\":[],\\\"customerOwnedIpEnabled\\\":false,\\\"monitoringInterval\\\":60,\\\"dBInstanceStatus\\\":\\\"available\\\",\\\"backupRetentionPeriod\\\":1,\\\"promotionTier\\\":1,\\\"optionGroupMemberships\\\":[{\\\"optionGroupName\\\":\\\"default:aurora-mysql-5-7\\\",\\\"status\\\":\\\"in-sync\\\"}],\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"dBClusterIdentifier\\\":\\\"globaldb\\\",\\\"dBInstanceAutomatedBackupsReplications\\\":[],\\\"cACertificateIdentifier\\\":\\\"rds-ca-2019\\\",\\\"dbInstancePort\\\":0,\\\"preferredBackupWindow\\\":\\\"02:33-03:03\\\",\\\"dbiResourceId\\\":\\\"db-3C7T2Y62VYCMGRPKEN4QC7FW5A\\\",\\\"deletionProtection\\\":false,\\\"dBInstanceIdentifier\\\":\\\"globaldb-instance-1\\\",\\\"dBInstanceArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:db:globaldb-instance-1\\\",\\\"endpoint\\\":{\\\"hostedZoneId\\\":\\\"Z29XKXDKYMONMX\\\",\\\"address\\\":\\\"globaldb-instance-1.ccc9f5a6ekin.eu-west-1.rds.amazonaws.com\\\",\\\"port\\\":3306},\\\"engine\\\":\\\"aurora-mysql\\\",\\\"publiclyAccessible\\\":false,\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"performanceInsightsEnabled\\\":false,\\\"multiAZ\\\":false,\\\"domainMemberships\\\":[],\\\"monitoringRoleArn\\\":\\\"arn:aws:iam::044981683129:role/rds-monitoring-role\\\",\\\"storageEncrypted\\\":true,\\\"dBSubnetGroup\\\":{\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"subnets\\\":[{\\\"subnetIdentifier\\\":\\\"subnet-fa0523b2\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1a\\\"}},{\\\"subnetIdentifier\\\":\\\"subnet-459f0f1f\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1b\\\"}},{\\\"subnetIdentifier\\\":\\\"subnet-cedd8aa8\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1c\\\"}}],\\\"subnetGroupStatus\\\":\\\"Complete\\\",\\\"dBSubnetGroupName\\\":\\\"default-vpc-ac8663d5\\\",\\\"dBSubnetGroupDescription\\\":\\\"Created from the RDS Management Console\\\"},\\\"vpcSecurityGroups\\\":[{\\\"vpcSecurityGroupId\\\":\\\"sg-9a4a97d2\\\",\\\"status\\\":\\\"active\\\"}],\\\"tagList\\\":[],\\\"pendingModifiedValues\\\":{\\\"processorFeatures\\\":[]},\\\"licenseModel\\\":\\\"general-public-license\\\",\\\"preferredMaintenanceWindow\\\":\\\"sat:01:08-sat:01:38\\\",\\\"storageType\\\":\\\"aurora\\\",\\\"autoMinorVersionUpgrade\\\":true,\\\"copyTagsToSnapshot\\\":false}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-ac8663d5","subnetId":"subnet-cedd8aa8","loggedInURL":null,"loginURL":null,"private":null,"resourceId":"db-3C7T2Y62VYCMGRPKEN4QC7FW5A","resourceName":"globaldb-instance-1","resourceType":"AWS::RDS::DBInstance","resourceValue":null,"state":null,"tags":"[]","title":"globaldb-instance-1","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}]},{"id":null,"label":"DBSnapshot","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-12-04-04","label":"AWS_RDS_DBSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-12-04-04","configuration":"\"{\\\"engineVersion\\\":\\\"13.7\\\",\\\"masterUsername\\\":\\\"postgres\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T12:06:26.436Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-12-04-04\\\",\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-B5N5MVZSUKJQQR4M3OKWG3RZF4\\\",\\\"dBInstanceIdentifier\\\":\\\"database-2\\\",\\\"tagList\\\":[],\\\"encrypted\\\":true,\\\"engine\\\":\\\"postgres\\\",\\\"port\\\":5432,\\\"snapshotCreateTime\\\":\\\"2023-04-12T04:04:44.974Z\\\",\\\"licenseModel\\\":\\\"postgresql-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-2-2023-04-12-04-04\\\",\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"optionGroupName\\\":\\\"default:postgres-13\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-2-2023-04-12-04-04","resourceName":"rds:database-2-2023-04-12-04-04","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-2-2023-04-12-04-04","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-13-04-05","label":"AWS_RDS_DBSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-13-04-05","configuration":"\"{\\\"engineVersion\\\":\\\"13.7\\\",\\\"masterUsername\\\":\\\"postgres\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T12:06:26.436Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-13-04-05\\\",\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-B5N5MVZSUKJQQR4M3OKWG3RZF4\\\",\\\"dBInstanceIdentifier\\\":\\\"database-2\\\",\\\"tagList\\\":[],\\\"encrypted\\\":true,\\\"engine\\\":\\\"postgres\\\",\\\"port\\\":5432,\\\"snapshotCreateTime\\\":\\\"2023-04-13T04:05:20.598Z\\\",\\\"licenseModel\\\":\\\"postgresql-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-2-2023-04-13-04-05\\\",\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"optionGroupName\\\":\\\"default:postgres-13\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-2-2023-04-13-04-05","resourceName":"rds:database-2-2023-04-13-04-05","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-2-2023-04-13-04-05","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-14-04-04","label":"AWS_RDS_DBSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-14-04-04","configuration":"\"{\\\"engineVersion\\\":\\\"13.7\\\",\\\"masterUsername\\\":\\\"postgres\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T12:06:26.436Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-14-04-04\\\",\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-B5N5MVZSUKJQQR4M3OKWG3RZF4\\\",\\\"dBInstanceIdentifier\\\":\\\"database-2\\\",\\\"tagList\\\":[],\\\"encrypted\\\":true,\\\"engine\\\":\\\"postgres\\\",\\\"port\\\":5432,\\\"snapshotCreateTime\\\":\\\"2023-04-14T04:04:24.610Z\\\",\\\"licenseModel\\\":\\\"postgresql-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-2-2023-04-14-04-04\\\",\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"optionGroupName\\\":\\\"default:postgres-13\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-2-2023-04-14-04-04","resourceName":"rds:database-2-2023-04-14-04-04","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-2-2023-04-14-04-04","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-15-04-05","label":"AWS_RDS_DBSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-15-04-05","configuration":"\"{\\\"engineVersion\\\":\\\"13.7\\\",\\\"masterUsername\\\":\\\"postgres\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T12:06:26.436Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-15-04-05\\\",\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-B5N5MVZSUKJQQR4M3OKWG3RZF4\\\",\\\"dBInstanceIdentifier\\\":\\\"database-2\\\",\\\"tagList\\\":[],\\\"encrypted\\\":true,\\\"engine\\\":\\\"postgres\\\",\\\"port\\\":5432,\\\"snapshotCreateTime\\\":\\\"2023-04-15T04:05:34.706Z\\\",\\\"licenseModel\\\":\\\"postgresql-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-2-2023-04-15-04-05\\\",\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"optionGroupName\\\":\\\"default:postgres-13\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-2-2023-04-15-04-05","resourceName":"rds:database-2-2023-04-15-04-05","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-2-2023-04-15-04-05","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-16-04-05","label":"AWS_RDS_DBSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-16-04-05","configuration":"\"{\\\"engineVersion\\\":\\\"13.7\\\",\\\"masterUsername\\\":\\\"postgres\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T12:06:26.436Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-16-04-05\\\",\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-B5N5MVZSUKJQQR4M3OKWG3RZF4\\\",\\\"dBInstanceIdentifier\\\":\\\"database-2\\\",\\\"tagList\\\":[],\\\"encrypted\\\":true,\\\"engine\\\":\\\"postgres\\\",\\\"port\\\":5432,\\\"snapshotCreateTime\\\":\\\"2023-04-16T04:05:29.913Z\\\",\\\"licenseModel\\\":\\\"postgresql-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-2-2023-04-16-04-05\\\",\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"optionGroupName\\\":\\\"default:postgres-13\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-2-2023-04-16-04-05","resourceName":"rds:database-2-2023-04-16-04-05","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-2-2023-04-16-04-05","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-17-04-04","label":"AWS_RDS_DBSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-17-04-04","configuration":"\"{\\\"engineVersion\\\":\\\"13.7\\\",\\\"masterUsername\\\":\\\"postgres\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T12:06:26.436Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-17-04-04\\\",\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-B5N5MVZSUKJQQR4M3OKWG3RZF4\\\",\\\"dBInstanceIdentifier\\\":\\\"database-2\\\",\\\"tagList\\\":[],\\\"encrypted\\\":true,\\\"engine\\\":\\\"postgres\\\",\\\"port\\\":5432,\\\"snapshotCreateTime\\\":\\\"2023-04-17T04:04:49.656Z\\\",\\\"licenseModel\\\":\\\"postgresql-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-2-2023-04-17-04-04\\\",\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"optionGroupName\\\":\\\"default:postgres-13\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-2-2023-04-17-04-04","resourceName":"rds:database-2-2023-04-17-04-04","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-2-2023-04-17-04-04","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-18-04-05","label":"AWS_RDS_DBSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-18-04-05","configuration":"\"{\\\"engineVersion\\\":\\\"13.7\\\",\\\"masterUsername\\\":\\\"postgres\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T12:06:26.436Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-18-04-05\\\",\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-B5N5MVZSUKJQQR4M3OKWG3RZF4\\\",\\\"dBInstanceIdentifier\\\":\\\"database-2\\\",\\\"tagList\\\":[],\\\"encrypted\\\":true,\\\"engine\\\":\\\"postgres\\\",\\\"port\\\":5432,\\\"snapshotCreateTime\\\":\\\"2023-04-18T04:05:16.975Z\\\",\\\"licenseModel\\\":\\\"postgresql-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-2-2023-04-18-04-05\\\",\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"optionGroupName\\\":\\\"default:postgres-13\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-2-2023-04-18-04-05","resourceName":"rds:database-2-2023-04-18-04-05","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-2-2023-04-18-04-05","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-19-04-04","label":"AWS_RDS_DBSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-19-04-04","configuration":"\"{\\\"engineVersion\\\":\\\"13.7\\\",\\\"masterUsername\\\":\\\"postgres\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T12:06:26.436Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-19-04-04\\\",\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-B5N5MVZSUKJQQR4M3OKWG3RZF4\\\",\\\"dBInstanceIdentifier\\\":\\\"database-2\\\",\\\"tagList\\\":[],\\\"encrypted\\\":true,\\\"engine\\\":\\\"postgres\\\",\\\"port\\\":5432,\\\"snapshotCreateTime\\\":\\\"2023-04-19T04:04:30.918Z\\\",\\\"licenseModel\\\":\\\"postgresql-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-2-2023-04-19-04-04\\\",\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"optionGroupName\\\":\\\"default:postgres-13\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-2-2023-04-19-04-04","resourceName":"rds:database-2-2023-04-19-04-04","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-2-2023-04-19-04-04","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-20-04-04","label":"AWS_RDS_DBSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-20-04-04","configuration":"\"{\\\"engineVersion\\\":\\\"13.7\\\",\\\"masterUsername\\\":\\\"postgres\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T12:06:26.436Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-20-04-04\\\",\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-B5N5MVZSUKJQQR4M3OKWG3RZF4\\\",\\\"dBInstanceIdentifier\\\":\\\"database-2\\\",\\\"tagList\\\":[],\\\"encrypted\\\":true,\\\"engine\\\":\\\"postgres\\\",\\\"port\\\":5432,\\\"snapshotCreateTime\\\":\\\"2023-04-20T04:04:44.740Z\\\",\\\"licenseModel\\\":\\\"postgresql-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-2-2023-04-20-04-04\\\",\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"optionGroupName\\\":\\\"default:postgres-13\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-2-2023-04-20-04-04","resourceName":"rds:database-2-2023-04-20-04-04","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-2-2023-04-20-04-04","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1970.25,"y":-824},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"availabilityZone removeAll _gridParentPadding"},{"data":{"id":"subnet-cedd8aa8-eu-west-1c-vpc-ac8663d5-eu-west-1-044981683129","parent":"eu-west-1c-vpc-ac8663d5-eu-west-1-044981683129","level":4,"title":"subnet-cedd8aa8","label":"subnet-cedd8aa8","plainLabel":"subnet-cedd8aa8","type":"subnet","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/VPC-subnet-private_light-bg-collapsed.svg","clickedId":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-cedd8aa8","cost":0,"hasChildren":true,"children":[{"id":null,"label":"NetworkInterface","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0a1cdebf6d67ebacd","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0a1cdebf6d67ebacd","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0a1cdebf6d67ebacd\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-172-31-7-111.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.7.111\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-cedd8aa8\\\",\\\"requesterId\\\":\\\"amazon-rds\\\",\\\"description\\\":\\\"RDSNetworkInterface\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-9a4a97d2\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"172.31.7.111\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:c1:3e:62:d1:a3\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-03ada53e5a82b109a\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-rds\\\",\\\"attachTime\\\":\\\"2021-09-02T12:03:58.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"privateDnsName\\\":\\\"ip-172-31-7-111.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-ac8663d5","subnetId":"subnet-cedd8aa8","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0a1cdebf6d67ebacd","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0a1cdebf6d67ebacd","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0ab24b898a77448ce","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0ab24b898a77448ce","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0ab24b898a77448ce\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-172-31-1-207.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.1.207\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-cedd8aa8\\\",\\\"requesterId\\\":\\\"082811663747\\\",\\\"description\\\":\\\"RDSNetworkInterface\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-9a4a97d2\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"172.31.1.207\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:d5:c7:7a:87:29\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0fc0aaddacf59de08\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"082811663747\\\",\\\"attachTime\\\":\\\"2023-04-12T12:02:02.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"privateDnsName\\\":\\\"ip-172-31-1-207.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-ac8663d5","subnetId":"subnet-cedd8aa8","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0ab24b898a77448ce","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0ab24b898a77448ce","instanceType":null,"statement":null,"dBInstanceStatus":null}}]},{"id":null,"label":"DBInstance","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:rds:eu-west-1:044981683129:db:database-2","label":"AWS_RDS_DBInstance","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:db:database-2","configuration":"\"{\\\"allocatedStorage\\\":20,\\\"enabledCloudwatchLogsExports\\\":[],\\\"readReplicaDBClusterIdentifiers\\\":[],\\\"associatedRoles\\\":[],\\\"dBParameterGroups\\\":[{\\\"dBParameterGroupName\\\":\\\"default.postgres13\\\",\\\"parameterApplyStatus\\\":\\\"in-sync\\\"}],\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"dBSecurityGroups\\\":[],\\\"performanceInsightsKMSKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"statusInfos\\\":[],\\\"enhancedMonitoringResourceArn\\\":\\\"arn:aws:logs:eu-west-1:044981683129:log-group:RDSOSMetrics:log-stream:db-B5N5MVZSUKJQQR4M3OKWG3RZF4\\\",\\\"performanceInsightsRetentionPeriod\\\":7,\\\"engineVersion\\\":\\\"13.7\\\",\\\"masterUsername\\\":\\\"postgres\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T12:06:26.436Z\\\",\\\"dBInstanceClass\\\":\\\"db.t3.micro\\\",\\\"processorFeatures\\\":[],\\\"readReplicaDBInstanceIdentifiers\\\":[],\\\"customerOwnedIpEnabled\\\":false,\\\"monitoringInterval\\\":60,\\\"dBInstanceStatus\\\":\\\"available\\\",\\\"backupRetentionPeriod\\\":7,\\\"optionGroupMemberships\\\":[{\\\"optionGroupName\\\":\\\"default:postgres-13\\\",\\\"status\\\":\\\"in-sync\\\"}],\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"latestRestorableTime\\\":\\\"2023-04-20T22:49:34.000Z\\\",\\\"dBInstanceAutomatedBackupsReplications\\\":[],\\\"cACertificateIdentifier\\\":\\\"rds-ca-2019\\\",\\\"dbInstancePort\\\":0,\\\"preferredBackupWindow\\\":\\\"03:51-04:21\\\",\\\"dbiResourceId\\\":\\\"db-B5N5MVZSUKJQQR4M3OKWG3RZF4\\\",\\\"deletionProtection\\\":false,\\\"dBInstanceIdentifier\\\":\\\"database-2\\\",\\\"dBInstanceArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:db:database-2\\\",\\\"endpoint\\\":{\\\"hostedZoneId\\\":\\\"Z29XKXDKYMONMX\\\",\\\"address\\\":\\\"database-2.ccc9f5a6ekin.eu-west-1.rds.amazonaws.com\\\",\\\"port\\\":5432},\\\"engine\\\":\\\"postgres\\\",\\\"maxAllocatedStorage\\\":1000,\\\"publiclyAccessible\\\":false,\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"performanceInsightsEnabled\\\":true,\\\"multiAZ\\\":false,\\\"domainMemberships\\\":[],\\\"monitoringRoleArn\\\":\\\"arn:aws:iam::044981683129:role/rds-monitoring-role\\\",\\\"storageEncrypted\\\":true,\\\"dBSubnetGroup\\\":{\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"subnets\\\":[{\\\"subnetIdentifier\\\":\\\"subnet-fa0523b2\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1a\\\"}},{\\\"subnetIdentifier\\\":\\\"subnet-459f0f1f\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1b\\\"}},{\\\"subnetIdentifier\\\":\\\"subnet-cedd8aa8\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1c\\\"}}],\\\"subnetGroupStatus\\\":\\\"Complete\\\",\\\"dBSubnetGroupName\\\":\\\"default-vpc-ac8663d5\\\",\\\"dBSubnetGroupDescription\\\":\\\"Created from the RDS Management Console\\\"},\\\"vpcSecurityGroups\\\":[{\\\"vpcSecurityGroupId\\\":\\\"sg-9a4a97d2\\\",\\\"status\\\":\\\"active\\\"}],\\\"tagList\\\":[],\\\"pendingModifiedValues\\\":{\\\"processorFeatures\\\":[]},\\\"licenseModel\\\":\\\"postgresql-license\\\",\\\"preferredMaintenanceWindow\\\":\\\"mon:22:22-mon:22:52\\\",\\\"storageType\\\":\\\"gp2\\\",\\\"autoMinorVersionUpgrade\\\":true,\\\"copyTagsToSnapshot\\\":true}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-ac8663d5","subnetId":"subnet-cedd8aa8","loggedInURL":null,"loginURL":null,"private":null,"resourceId":"db-B5N5MVZSUKJQQR4M3OKWG3RZF4","resourceName":"database-2","resourceType":"AWS::RDS::DBInstance","resourceValue":null,"state":null,"tags":"[]","title":"database-2","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:rds:eu-west-1:044981683129:db:globaldb-instance-1","label":"AWS_RDS_DBInstance","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:db:globaldb-instance-1","configuration":"\"{\\\"allocatedStorage\\\":1,\\\"enabledCloudwatchLogsExports\\\":[],\\\"readReplicaDBClusterIdentifiers\\\":[],\\\"associatedRoles\\\":[],\\\"dBParameterGroups\\\":[{\\\"dBParameterGroupName\\\":\\\"default.aurora-mysql5.7\\\",\\\"parameterApplyStatus\\\":\\\"in-sync\\\"}],\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"dBSecurityGroups\\\":[],\\\"statusInfos\\\":[],\\\"enhancedMonitoringResourceArn\\\":\\\"arn:aws:logs:eu-west-1:044981683129:log-group:RDSOSMetrics:log-stream:db-3C7T2Y62VYCMGRPKEN4QC7FW5A\\\",\\\"engineVersion\\\":\\\"5.7.mysql_aurora.2.11.2\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"instanceCreateTime\\\":\\\"2023-04-12T11:43:48.156Z\\\",\\\"dBInstanceClass\\\":\\\"db.r5.large\\\",\\\"processorFeatures\\\":[],\\\"readReplicaDBInstanceIdentifiers\\\":[],\\\"customerOwnedIpEnabled\\\":false,\\\"monitoringInterval\\\":60,\\\"dBInstanceStatus\\\":\\\"available\\\",\\\"backupRetentionPeriod\\\":1,\\\"promotionTier\\\":1,\\\"optionGroupMemberships\\\":[{\\\"optionGroupName\\\":\\\"default:aurora-mysql-5-7\\\",\\\"status\\\":\\\"in-sync\\\"}],\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"dBClusterIdentifier\\\":\\\"globaldb\\\",\\\"dBInstanceAutomatedBackupsReplications\\\":[],\\\"cACertificateIdentifier\\\":\\\"rds-ca-2019\\\",\\\"dbInstancePort\\\":0,\\\"preferredBackupWindow\\\":\\\"02:33-03:03\\\",\\\"dbiResourceId\\\":\\\"db-3C7T2Y62VYCMGRPKEN4QC7FW5A\\\",\\\"deletionProtection\\\":false,\\\"dBInstanceIdentifier\\\":\\\"globaldb-instance-1\\\",\\\"dBInstanceArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:db:globaldb-instance-1\\\",\\\"endpoint\\\":{\\\"hostedZoneId\\\":\\\"Z29XKXDKYMONMX\\\",\\\"address\\\":\\\"globaldb-instance-1.ccc9f5a6ekin.eu-west-1.rds.amazonaws.com\\\",\\\"port\\\":3306},\\\"engine\\\":\\\"aurora-mysql\\\",\\\"publiclyAccessible\\\":false,\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"performanceInsightsEnabled\\\":false,\\\"multiAZ\\\":false,\\\"domainMemberships\\\":[],\\\"monitoringRoleArn\\\":\\\"arn:aws:iam::044981683129:role/rds-monitoring-role\\\",\\\"storageEncrypted\\\":true,\\\"dBSubnetGroup\\\":{\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"subnets\\\":[{\\\"subnetIdentifier\\\":\\\"subnet-fa0523b2\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1a\\\"}},{\\\"subnetIdentifier\\\":\\\"subnet-459f0f1f\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1b\\\"}},{\\\"subnetIdentifier\\\":\\\"subnet-cedd8aa8\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1c\\\"}}],\\\"subnetGroupStatus\\\":\\\"Complete\\\",\\\"dBSubnetGroupName\\\":\\\"default-vpc-ac8663d5\\\",\\\"dBSubnetGroupDescription\\\":\\\"Created from the RDS Management Console\\\"},\\\"vpcSecurityGroups\\\":[{\\\"vpcSecurityGroupId\\\":\\\"sg-9a4a97d2\\\",\\\"status\\\":\\\"active\\\"}],\\\"tagList\\\":[],\\\"pendingModifiedValues\\\":{\\\"processorFeatures\\\":[]},\\\"licenseModel\\\":\\\"general-public-license\\\",\\\"preferredMaintenanceWindow\\\":\\\"sat:01:08-sat:01:38\\\",\\\"storageType\\\":\\\"aurora\\\",\\\"autoMinorVersionUpgrade\\\":true,\\\"copyTagsToSnapshot\\\":false}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-ac8663d5","subnetId":"subnet-cedd8aa8","loggedInURL":null,"loginURL":null,"private":null,"resourceId":"db-3C7T2Y62VYCMGRPKEN4QC7FW5A","resourceName":"globaldb-instance-1","resourceType":"AWS::RDS::DBInstance","resourceValue":null,"state":null,"tags":"[]","title":"globaldb-instance-1","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#248814","properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-cedd8aa8","configuration":"\"{\\\"subnetId\\\":\\\"subnet-cedd8aa8\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-cedd8aa8\\\",\\\"availabilityZoneId\\\":\\\"euw1-az1\\\",\\\"cidrBlock\\\":\\\"172.31.0.0/20\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[],\\\"availableIpAddressCount\\\":4089,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"mapPublicIpOnLaunch\\\":true,\\\"defaultForAz\\\":true,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-ac8663d5","subnetId":"subnet-cedd8aa8","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":null,"resourceId":"subnet-cedd8aa8","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[]","title":"subnet-cedd8aa8","instanceType":null,"statement":null,"dBInstanceStatus":null},"resource":{"id":"subnet-cedd8aa8","name":null,"value":null,"type":"AWS::EC2::Subnet","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-cedd8aa8","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","accountId":"044981683129"}},"position":{"x":-2099,"y":-813.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"subnet removeAll _gridParentPadding"},{"data":{"id":"NetworkInterface-subnet-cedd8aa8-eu-west-1c-vpc-ac8663d5-eu-west-1-044981683129","parent":"subnet-cedd8aa8-eu-west-1c-vpc-ac8663d5-eu-west-1-044981683129","level":5,"title":"NetworkInterface","label":"NetworkInterface","plainLabel":"NetworkInterface","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0a1cdebf6d67ebacd","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0a1cdebf6d67ebacd","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0a1cdebf6d67ebacd\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-172-31-7-111.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.7.111\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-cedd8aa8\\\",\\\"requesterId\\\":\\\"amazon-rds\\\",\\\"description\\\":\\\"RDSNetworkInterface\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-9a4a97d2\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"172.31.7.111\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:c1:3e:62:d1:a3\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-03ada53e5a82b109a\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-rds\\\",\\\"attachTime\\\":\\\"2021-09-02T12:03:58.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"privateDnsName\\\":\\\"ip-172-31-7-111.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-ac8663d5","subnetId":"subnet-cedd8aa8","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0a1cdebf6d67ebacd","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0a1cdebf6d67ebacd","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0ab24b898a77448ce","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0ab24b898a77448ce","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0ab24b898a77448ce\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-172-31-1-207.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.1.207\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-cedd8aa8\\\",\\\"requesterId\\\":\\\"082811663747\\\",\\\"description\\\":\\\"RDSNetworkInterface\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-9a4a97d2\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"172.31.1.207\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:d5:c7:7a:87:29\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0fc0aaddacf59de08\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"082811663747\\\",\\\"attachTime\\\":\\\"2023-04-12T12:02:02.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"privateDnsName\\\":\\\"ip-172-31-1-207.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-ac8663d5","subnetId":"subnet-cedd8aa8","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0ab24b898a77448ce","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0ab24b898a77448ce","instanceType":null,"statement":null,"dBInstanceStatus":null}}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-2099,"y":-878.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0a1cdebf6d67ebacd","resourceId":["eni-0a1cdebf6d67ebacd","arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0a1cdebf6d67ebacd"],"parent":"NetworkInterface-subnet-cedd8aa8-eu-west-1c-vpc-ac8663d5-eu-west-1-044981683129","level":6,"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0a1cdebf6d67ebacd","title":"eni-0a1cdebf6d67ebacd","label":"eni-0a1cdebf...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0a1cdebf6d67ebacd","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-0a1cdebf6d67ebacd","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0a1cdebf6d67ebacd","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0a1cdebf6d67ebacd","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0a1cdebf6d67ebacd\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-172-31-7-111.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.7.111\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-cedd8aa8\\\",\\\"requesterId\\\":\\\"amazon-rds\\\",\\\"description\\\":\\\"RDSNetworkInterface\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-9a4a97d2\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"172.31.7.111\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:c1:3e:62:d1:a3\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-03ada53e5a82b109a\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-rds\\\",\\\"attachTime\\\":\\\"2021-09-02T12:03:58.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"privateDnsName\\\":\\\"ip-172-31-7-111.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-ac8663d5","subnetId":"subnet-cedd8aa8","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0a1cdebf6d67ebacd","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0a1cdebf6d67ebacd","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2135.5,"y":-878.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0ab24b898a77448ce","resourceId":["eni-0ab24b898a77448ce","arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0ab24b898a77448ce"],"parent":"NetworkInterface-subnet-cedd8aa8-eu-west-1c-vpc-ac8663d5-eu-west-1-044981683129","level":6,"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0ab24b898a77448ce","title":"eni-0ab24b898a77448ce","label":"eni-0ab24b89...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0ab24b898a77448ce","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-0ab24b898a77448ce","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0ab24b898a77448ce","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0ab24b898a77448ce","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0ab24b898a77448ce\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-172-31-1-207.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.1.207\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-cedd8aa8\\\",\\\"requesterId\\\":\\\"082811663747\\\",\\\"description\\\":\\\"RDSNetworkInterface\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-9a4a97d2\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"172.31.1.207\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:d5:c7:7a:87:29\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0fc0aaddacf59de08\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"082811663747\\\",\\\"attachTime\\\":\\\"2023-04-12T12:02:02.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"privateDnsName\\\":\\\"ip-172-31-1-207.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-ac8663d5","subnetId":"subnet-cedd8aa8","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0ab24b898a77448ce","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0ab24b898a77448ce","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2062.5,"y":-878.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"DBInstance-subnet-cedd8aa8-eu-west-1c-vpc-ac8663d5-eu-west-1-044981683129","parent":"subnet-cedd8aa8-eu-west-1c-vpc-ac8663d5-eu-west-1-044981683129","level":5,"title":"DBInstance","label":"DBInstance","plainLabel":"DBInstance","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-RDS_Amazon-RDS_instance_light-bg-menu.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:rds:eu-west-1:044981683129:db:database-2","label":"AWS_RDS_DBInstance","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:db:database-2","configuration":"\"{\\\"allocatedStorage\\\":20,\\\"enabledCloudwatchLogsExports\\\":[],\\\"readReplicaDBClusterIdentifiers\\\":[],\\\"associatedRoles\\\":[],\\\"dBParameterGroups\\\":[{\\\"dBParameterGroupName\\\":\\\"default.postgres13\\\",\\\"parameterApplyStatus\\\":\\\"in-sync\\\"}],\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"dBSecurityGroups\\\":[],\\\"performanceInsightsKMSKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"statusInfos\\\":[],\\\"enhancedMonitoringResourceArn\\\":\\\"arn:aws:logs:eu-west-1:044981683129:log-group:RDSOSMetrics:log-stream:db-B5N5MVZSUKJQQR4M3OKWG3RZF4\\\",\\\"performanceInsightsRetentionPeriod\\\":7,\\\"engineVersion\\\":\\\"13.7\\\",\\\"masterUsername\\\":\\\"postgres\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T12:06:26.436Z\\\",\\\"dBInstanceClass\\\":\\\"db.t3.micro\\\",\\\"processorFeatures\\\":[],\\\"readReplicaDBInstanceIdentifiers\\\":[],\\\"customerOwnedIpEnabled\\\":false,\\\"monitoringInterval\\\":60,\\\"dBInstanceStatus\\\":\\\"available\\\",\\\"backupRetentionPeriod\\\":7,\\\"optionGroupMemberships\\\":[{\\\"optionGroupName\\\":\\\"default:postgres-13\\\",\\\"status\\\":\\\"in-sync\\\"}],\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"latestRestorableTime\\\":\\\"2023-04-20T22:49:34.000Z\\\",\\\"dBInstanceAutomatedBackupsReplications\\\":[],\\\"cACertificateIdentifier\\\":\\\"rds-ca-2019\\\",\\\"dbInstancePort\\\":0,\\\"preferredBackupWindow\\\":\\\"03:51-04:21\\\",\\\"dbiResourceId\\\":\\\"db-B5N5MVZSUKJQQR4M3OKWG3RZF4\\\",\\\"deletionProtection\\\":false,\\\"dBInstanceIdentifier\\\":\\\"database-2\\\",\\\"dBInstanceArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:db:database-2\\\",\\\"endpoint\\\":{\\\"hostedZoneId\\\":\\\"Z29XKXDKYMONMX\\\",\\\"address\\\":\\\"database-2.ccc9f5a6ekin.eu-west-1.rds.amazonaws.com\\\",\\\"port\\\":5432},\\\"engine\\\":\\\"postgres\\\",\\\"maxAllocatedStorage\\\":1000,\\\"publiclyAccessible\\\":false,\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"performanceInsightsEnabled\\\":true,\\\"multiAZ\\\":false,\\\"domainMemberships\\\":[],\\\"monitoringRoleArn\\\":\\\"arn:aws:iam::044981683129:role/rds-monitoring-role\\\",\\\"storageEncrypted\\\":true,\\\"dBSubnetGroup\\\":{\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"subnets\\\":[{\\\"subnetIdentifier\\\":\\\"subnet-fa0523b2\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1a\\\"}},{\\\"subnetIdentifier\\\":\\\"subnet-459f0f1f\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1b\\\"}},{\\\"subnetIdentifier\\\":\\\"subnet-cedd8aa8\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1c\\\"}}],\\\"subnetGroupStatus\\\":\\\"Complete\\\",\\\"dBSubnetGroupName\\\":\\\"default-vpc-ac8663d5\\\",\\\"dBSubnetGroupDescription\\\":\\\"Created from the RDS Management Console\\\"},\\\"vpcSecurityGroups\\\":[{\\\"vpcSecurityGroupId\\\":\\\"sg-9a4a97d2\\\",\\\"status\\\":\\\"active\\\"}],\\\"tagList\\\":[],\\\"pendingModifiedValues\\\":{\\\"processorFeatures\\\":[]},\\\"licenseModel\\\":\\\"postgresql-license\\\",\\\"preferredMaintenanceWindow\\\":\\\"mon:22:22-mon:22:52\\\",\\\"storageType\\\":\\\"gp2\\\",\\\"autoMinorVersionUpgrade\\\":true,\\\"copyTagsToSnapshot\\\":true}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-ac8663d5","subnetId":"subnet-cedd8aa8","loggedInURL":null,"loginURL":null,"private":null,"resourceId":"db-B5N5MVZSUKJQQR4M3OKWG3RZF4","resourceName":"database-2","resourceType":"AWS::RDS::DBInstance","resourceValue":null,"state":null,"tags":"[]","title":"database-2","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:rds:eu-west-1:044981683129:db:globaldb-instance-1","label":"AWS_RDS_DBInstance","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:db:globaldb-instance-1","configuration":"\"{\\\"allocatedStorage\\\":1,\\\"enabledCloudwatchLogsExports\\\":[],\\\"readReplicaDBClusterIdentifiers\\\":[],\\\"associatedRoles\\\":[],\\\"dBParameterGroups\\\":[{\\\"dBParameterGroupName\\\":\\\"default.aurora-mysql5.7\\\",\\\"parameterApplyStatus\\\":\\\"in-sync\\\"}],\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"dBSecurityGroups\\\":[],\\\"statusInfos\\\":[],\\\"enhancedMonitoringResourceArn\\\":\\\"arn:aws:logs:eu-west-1:044981683129:log-group:RDSOSMetrics:log-stream:db-3C7T2Y62VYCMGRPKEN4QC7FW5A\\\",\\\"engineVersion\\\":\\\"5.7.mysql_aurora.2.11.2\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"instanceCreateTime\\\":\\\"2023-04-12T11:43:48.156Z\\\",\\\"dBInstanceClass\\\":\\\"db.r5.large\\\",\\\"processorFeatures\\\":[],\\\"readReplicaDBInstanceIdentifiers\\\":[],\\\"customerOwnedIpEnabled\\\":false,\\\"monitoringInterval\\\":60,\\\"dBInstanceStatus\\\":\\\"available\\\",\\\"backupRetentionPeriod\\\":1,\\\"promotionTier\\\":1,\\\"optionGroupMemberships\\\":[{\\\"optionGroupName\\\":\\\"default:aurora-mysql-5-7\\\",\\\"status\\\":\\\"in-sync\\\"}],\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"dBClusterIdentifier\\\":\\\"globaldb\\\",\\\"dBInstanceAutomatedBackupsReplications\\\":[],\\\"cACertificateIdentifier\\\":\\\"rds-ca-2019\\\",\\\"dbInstancePort\\\":0,\\\"preferredBackupWindow\\\":\\\"02:33-03:03\\\",\\\"dbiResourceId\\\":\\\"db-3C7T2Y62VYCMGRPKEN4QC7FW5A\\\",\\\"deletionProtection\\\":false,\\\"dBInstanceIdentifier\\\":\\\"globaldb-instance-1\\\",\\\"dBInstanceArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:db:globaldb-instance-1\\\",\\\"endpoint\\\":{\\\"hostedZoneId\\\":\\\"Z29XKXDKYMONMX\\\",\\\"address\\\":\\\"globaldb-instance-1.ccc9f5a6ekin.eu-west-1.rds.amazonaws.com\\\",\\\"port\\\":3306},\\\"engine\\\":\\\"aurora-mysql\\\",\\\"publiclyAccessible\\\":false,\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"performanceInsightsEnabled\\\":false,\\\"multiAZ\\\":false,\\\"domainMemberships\\\":[],\\\"monitoringRoleArn\\\":\\\"arn:aws:iam::044981683129:role/rds-monitoring-role\\\",\\\"storageEncrypted\\\":true,\\\"dBSubnetGroup\\\":{\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"subnets\\\":[{\\\"subnetIdentifier\\\":\\\"subnet-fa0523b2\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1a\\\"}},{\\\"subnetIdentifier\\\":\\\"subnet-459f0f1f\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1b\\\"}},{\\\"subnetIdentifier\\\":\\\"subnet-cedd8aa8\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1c\\\"}}],\\\"subnetGroupStatus\\\":\\\"Complete\\\",\\\"dBSubnetGroupName\\\":\\\"default-vpc-ac8663d5\\\",\\\"dBSubnetGroupDescription\\\":\\\"Created from the RDS Management Console\\\"},\\\"vpcSecurityGroups\\\":[{\\\"vpcSecurityGroupId\\\":\\\"sg-9a4a97d2\\\",\\\"status\\\":\\\"active\\\"}],\\\"tagList\\\":[],\\\"pendingModifiedValues\\\":{\\\"processorFeatures\\\":[]},\\\"licenseModel\\\":\\\"general-public-license\\\",\\\"preferredMaintenanceWindow\\\":\\\"sat:01:08-sat:01:38\\\",\\\"storageType\\\":\\\"aurora\\\",\\\"autoMinorVersionUpgrade\\\":true,\\\"copyTagsToSnapshot\\\":false}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-ac8663d5","subnetId":"subnet-cedd8aa8","loggedInURL":null,"loginURL":null,"private":null,"resourceId":"db-3C7T2Y62VYCMGRPKEN4QC7FW5A","resourceName":"globaldb-instance-1","resourceType":"AWS::RDS::DBInstance","resourceValue":null,"state":null,"tags":"[]","title":"globaldb-instance-1","instanceType":null,"statement":null,"dBInstanceStatus":null}}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-2099,"y":-748.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:rds:eu-west-1:044981683129:db:database-2","resourceId":["db-B5N5MVZSUKJQQR4M3OKWG3RZF4","arn:aws:rds:eu-west-1:044981683129:db:database-2"],"parent":"DBInstance-subnet-cedd8aa8-eu-west-1c-vpc-ac8663d5-eu-west-1-044981683129","level":6,"id":"arn:aws:rds:eu-west-1:044981683129:db:database-2","title":"database-2","label":"database-2","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#1D8102","borderStyle":"dotted","borderColour":"#1D8102","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:rds:eu-west-1:044981683129:db:database-2","state":{"status":"status-available","text":"available","color":"#1D8102"},"image":"/icons/Amazon-RDS_PostgreSQL_instance_light-bg.svg","cost":0,"private":false,"detailsComponent":{"key":null,"ref":null,"props":{"title":"Instance Details","configuration":"\"{\\\"allocatedStorage\\\":20,\\\"enabledCloudwatchLogsExports\\\":[],\\\"readReplicaDBClusterIdentifiers\\\":[],\\\"associatedRoles\\\":[],\\\"dBParameterGroups\\\":[{\\\"dBParameterGroupName\\\":\\\"default.postgres13\\\",\\\"parameterApplyStatus\\\":\\\"in-sync\\\"}],\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"dBSecurityGroups\\\":[],\\\"performanceInsightsKMSKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"statusInfos\\\":[],\\\"enhancedMonitoringResourceArn\\\":\\\"arn:aws:logs:eu-west-1:044981683129:log-group:RDSOSMetrics:log-stream:db-B5N5MVZSUKJQQR4M3OKWG3RZF4\\\",\\\"performanceInsightsRetentionPeriod\\\":7,\\\"engineVersion\\\":\\\"13.7\\\",\\\"masterUsername\\\":\\\"postgres\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T12:06:26.436Z\\\",\\\"dBInstanceClass\\\":\\\"db.t3.micro\\\",\\\"processorFeatures\\\":[],\\\"readReplicaDBInstanceIdentifiers\\\":[],\\\"customerOwnedIpEnabled\\\":false,\\\"monitoringInterval\\\":60,\\\"dBInstanceStatus\\\":\\\"available\\\",\\\"backupRetentionPeriod\\\":7,\\\"optionGroupMemberships\\\":[{\\\"optionGroupName\\\":\\\"default:postgres-13\\\",\\\"status\\\":\\\"in-sync\\\"}],\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"latestRestorableTime\\\":\\\"2023-04-20T22:49:34.000Z\\\",\\\"dBInstanceAutomatedBackupsReplications\\\":[],\\\"cACertificateIdentifier\\\":\\\"rds-ca-2019\\\",\\\"dbInstancePort\\\":0,\\\"preferredBackupWindow\\\":\\\"03:51-04:21\\\",\\\"dbiResourceId\\\":\\\"db-B5N5MVZSUKJQQR4M3OKWG3RZF4\\\",\\\"deletionProtection\\\":false,\\\"dBInstanceIdentifier\\\":\\\"database-2\\\",\\\"dBInstanceArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:db:database-2\\\",\\\"endpoint\\\":{\\\"hostedZoneId\\\":\\\"Z29XKXDKYMONMX\\\",\\\"address\\\":\\\"database-2.ccc9f5a6ekin.eu-west-1.rds.amazonaws.com\\\",\\\"port\\\":5432},\\\"engine\\\":\\\"postgres\\\",\\\"maxAllocatedStorage\\\":1000,\\\"publiclyAccessible\\\":false,\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"performanceInsightsEnabled\\\":true,\\\"multiAZ\\\":false,\\\"domainMemberships\\\":[],\\\"monitoringRoleArn\\\":\\\"arn:aws:iam::044981683129:role/rds-monitoring-role\\\",\\\"storageEncrypted\\\":true,\\\"dBSubnetGroup\\\":{\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"subnets\\\":[{\\\"subnetIdentifier\\\":\\\"subnet-fa0523b2\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1a\\\"}},{\\\"subnetIdentifier\\\":\\\"subnet-459f0f1f\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1b\\\"}},{\\\"subnetIdentifier\\\":\\\"subnet-cedd8aa8\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1c\\\"}}],\\\"subnetGroupStatus\\\":\\\"Complete\\\",\\\"dBSubnetGroupName\\\":\\\"default-vpc-ac8663d5\\\",\\\"dBSubnetGroupDescription\\\":\\\"Created from the RDS Management Console\\\"},\\\"vpcSecurityGroups\\\":[{\\\"vpcSecurityGroupId\\\":\\\"sg-9a4a97d2\\\",\\\"status\\\":\\\"active\\\"}],\\\"tagList\\\":[],\\\"pendingModifiedValues\\\":{\\\"processorFeatures\\\":[]},\\\"licenseModel\\\":\\\"postgresql-license\\\",\\\"preferredMaintenanceWindow\\\":\\\"mon:22:22-mon:22:52\\\",\\\"storageType\\\":\\\"gp2\\\",\\\"autoMinorVersionUpgrade\\\":true,\\\"copyTagsToSnapshot\\\":true}\""},"_owner":null,"_store":{}},"resource":{"id":"db-B5N5MVZSUKJQQR4M3OKWG3RZF4","name":"database-2","value":null,"type":"AWS::RDS::DBInstance","tags":"[]","arn":"arn:aws:rds:eu-west-1:044981683129:db:database-2","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:db:database-2","configuration":"\"{\\\"allocatedStorage\\\":20,\\\"enabledCloudwatchLogsExports\\\":[],\\\"readReplicaDBClusterIdentifiers\\\":[],\\\"associatedRoles\\\":[],\\\"dBParameterGroups\\\":[{\\\"dBParameterGroupName\\\":\\\"default.postgres13\\\",\\\"parameterApplyStatus\\\":\\\"in-sync\\\"}],\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"dBSecurityGroups\\\":[],\\\"performanceInsightsKMSKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"statusInfos\\\":[],\\\"enhancedMonitoringResourceArn\\\":\\\"arn:aws:logs:eu-west-1:044981683129:log-group:RDSOSMetrics:log-stream:db-B5N5MVZSUKJQQR4M3OKWG3RZF4\\\",\\\"performanceInsightsRetentionPeriod\\\":7,\\\"engineVersion\\\":\\\"13.7\\\",\\\"masterUsername\\\":\\\"postgres\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T12:06:26.436Z\\\",\\\"dBInstanceClass\\\":\\\"db.t3.micro\\\",\\\"processorFeatures\\\":[],\\\"readReplicaDBInstanceIdentifiers\\\":[],\\\"customerOwnedIpEnabled\\\":false,\\\"monitoringInterval\\\":60,\\\"dBInstanceStatus\\\":\\\"available\\\",\\\"backupRetentionPeriod\\\":7,\\\"optionGroupMemberships\\\":[{\\\"optionGroupName\\\":\\\"default:postgres-13\\\",\\\"status\\\":\\\"in-sync\\\"}],\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"latestRestorableTime\\\":\\\"2023-04-20T22:49:34.000Z\\\",\\\"dBInstanceAutomatedBackupsReplications\\\":[],\\\"cACertificateIdentifier\\\":\\\"rds-ca-2019\\\",\\\"dbInstancePort\\\":0,\\\"preferredBackupWindow\\\":\\\"03:51-04:21\\\",\\\"dbiResourceId\\\":\\\"db-B5N5MVZSUKJQQR4M3OKWG3RZF4\\\",\\\"deletionProtection\\\":false,\\\"dBInstanceIdentifier\\\":\\\"database-2\\\",\\\"dBInstanceArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:db:database-2\\\",\\\"endpoint\\\":{\\\"hostedZoneId\\\":\\\"Z29XKXDKYMONMX\\\",\\\"address\\\":\\\"database-2.ccc9f5a6ekin.eu-west-1.rds.amazonaws.com\\\",\\\"port\\\":5432},\\\"engine\\\":\\\"postgres\\\",\\\"maxAllocatedStorage\\\":1000,\\\"publiclyAccessible\\\":false,\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"performanceInsightsEnabled\\\":true,\\\"multiAZ\\\":false,\\\"domainMemberships\\\":[],\\\"monitoringRoleArn\\\":\\\"arn:aws:iam::044981683129:role/rds-monitoring-role\\\",\\\"storageEncrypted\\\":true,\\\"dBSubnetGroup\\\":{\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"subnets\\\":[{\\\"subnetIdentifier\\\":\\\"subnet-fa0523b2\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1a\\\"}},{\\\"subnetIdentifier\\\":\\\"subnet-459f0f1f\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1b\\\"}},{\\\"subnetIdentifier\\\":\\\"subnet-cedd8aa8\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1c\\\"}}],\\\"subnetGroupStatus\\\":\\\"Complete\\\",\\\"dBSubnetGroupName\\\":\\\"default-vpc-ac8663d5\\\",\\\"dBSubnetGroupDescription\\\":\\\"Created from the RDS Management Console\\\"},\\\"vpcSecurityGroups\\\":[{\\\"vpcSecurityGroupId\\\":\\\"sg-9a4a97d2\\\",\\\"status\\\":\\\"active\\\"}],\\\"tagList\\\":[],\\\"pendingModifiedValues\\\":{\\\"processorFeatures\\\":[]},\\\"licenseModel\\\":\\\"postgresql-license\\\",\\\"preferredMaintenanceWindow\\\":\\\"mon:22:22-mon:22:52\\\",\\\"storageType\\\":\\\"gp2\\\",\\\"autoMinorVersionUpgrade\\\":true,\\\"copyTagsToSnapshot\\\":true}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-ac8663d5","subnetId":"subnet-cedd8aa8","loggedInURL":null,"loginURL":null,"private":null,"resourceId":"db-B5N5MVZSUKJQQR4M3OKWG3RZF4","resourceName":"database-2","resourceType":"AWS::RDS::DBInstance","resourceValue":null,"state":null,"tags":"[]","title":"database-2","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2135.5,"y":-748.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:rds:eu-west-1:044981683129:db:globaldb-instance-1","resourceId":["db-3C7T2Y62VYCMGRPKEN4QC7FW5A","arn:aws:rds:eu-west-1:044981683129:db:globaldb-instance-1"],"parent":"DBInstance-subnet-cedd8aa8-eu-west-1c-vpc-ac8663d5-eu-west-1-044981683129","level":6,"id":"arn:aws:rds:eu-west-1:044981683129:db:globaldb-instance-1","title":"globaldb-instance-1","label":"globaldb-ins...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#1D8102","borderStyle":"dotted","borderColour":"#1D8102","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:rds:eu-west-1:044981683129:db:globaldb-instance-1","state":{"status":"status-available","text":"available","color":"#1D8102"},"image":"/icons/Amazon-RDS_Amazon-Aurora_instance_mysql_light-bg.svg","cost":0,"private":false,"detailsComponent":{"key":null,"ref":null,"props":{"title":"Instance Details","configuration":"\"{\\\"allocatedStorage\\\":1,\\\"enabledCloudwatchLogsExports\\\":[],\\\"readReplicaDBClusterIdentifiers\\\":[],\\\"associatedRoles\\\":[],\\\"dBParameterGroups\\\":[{\\\"dBParameterGroupName\\\":\\\"default.aurora-mysql5.7\\\",\\\"parameterApplyStatus\\\":\\\"in-sync\\\"}],\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"dBSecurityGroups\\\":[],\\\"statusInfos\\\":[],\\\"enhancedMonitoringResourceArn\\\":\\\"arn:aws:logs:eu-west-1:044981683129:log-group:RDSOSMetrics:log-stream:db-3C7T2Y62VYCMGRPKEN4QC7FW5A\\\",\\\"engineVersion\\\":\\\"5.7.mysql_aurora.2.11.2\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"instanceCreateTime\\\":\\\"2023-04-12T11:43:48.156Z\\\",\\\"dBInstanceClass\\\":\\\"db.r5.large\\\",\\\"processorFeatures\\\":[],\\\"readReplicaDBInstanceIdentifiers\\\":[],\\\"customerOwnedIpEnabled\\\":false,\\\"monitoringInterval\\\":60,\\\"dBInstanceStatus\\\":\\\"available\\\",\\\"backupRetentionPeriod\\\":1,\\\"promotionTier\\\":1,\\\"optionGroupMemberships\\\":[{\\\"optionGroupName\\\":\\\"default:aurora-mysql-5-7\\\",\\\"status\\\":\\\"in-sync\\\"}],\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"dBClusterIdentifier\\\":\\\"globaldb\\\",\\\"dBInstanceAutomatedBackupsReplications\\\":[],\\\"cACertificateIdentifier\\\":\\\"rds-ca-2019\\\",\\\"dbInstancePort\\\":0,\\\"preferredBackupWindow\\\":\\\"02:33-03:03\\\",\\\"dbiResourceId\\\":\\\"db-3C7T2Y62VYCMGRPKEN4QC7FW5A\\\",\\\"deletionProtection\\\":false,\\\"dBInstanceIdentifier\\\":\\\"globaldb-instance-1\\\",\\\"dBInstanceArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:db:globaldb-instance-1\\\",\\\"endpoint\\\":{\\\"hostedZoneId\\\":\\\"Z29XKXDKYMONMX\\\",\\\"address\\\":\\\"globaldb-instance-1.ccc9f5a6ekin.eu-west-1.rds.amazonaws.com\\\",\\\"port\\\":3306},\\\"engine\\\":\\\"aurora-mysql\\\",\\\"publiclyAccessible\\\":false,\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"performanceInsightsEnabled\\\":false,\\\"multiAZ\\\":false,\\\"domainMemberships\\\":[],\\\"monitoringRoleArn\\\":\\\"arn:aws:iam::044981683129:role/rds-monitoring-role\\\",\\\"storageEncrypted\\\":true,\\\"dBSubnetGroup\\\":{\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"subnets\\\":[{\\\"subnetIdentifier\\\":\\\"subnet-fa0523b2\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1a\\\"}},{\\\"subnetIdentifier\\\":\\\"subnet-459f0f1f\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1b\\\"}},{\\\"subnetIdentifier\\\":\\\"subnet-cedd8aa8\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1c\\\"}}],\\\"subnetGroupStatus\\\":\\\"Complete\\\",\\\"dBSubnetGroupName\\\":\\\"default-vpc-ac8663d5\\\",\\\"dBSubnetGroupDescription\\\":\\\"Created from the RDS Management Console\\\"},\\\"vpcSecurityGroups\\\":[{\\\"vpcSecurityGroupId\\\":\\\"sg-9a4a97d2\\\",\\\"status\\\":\\\"active\\\"}],\\\"tagList\\\":[],\\\"pendingModifiedValues\\\":{\\\"processorFeatures\\\":[]},\\\"licenseModel\\\":\\\"general-public-license\\\",\\\"preferredMaintenanceWindow\\\":\\\"sat:01:08-sat:01:38\\\",\\\"storageType\\\":\\\"aurora\\\",\\\"autoMinorVersionUpgrade\\\":true,\\\"copyTagsToSnapshot\\\":false}\""},"_owner":null,"_store":{}},"resource":{"id":"db-3C7T2Y62VYCMGRPKEN4QC7FW5A","name":"globaldb-instance-1","value":null,"type":"AWS::RDS::DBInstance","tags":"[]","arn":"arn:aws:rds:eu-west-1:044981683129:db:globaldb-instance-1","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:db:globaldb-instance-1","configuration":"\"{\\\"allocatedStorage\\\":1,\\\"enabledCloudwatchLogsExports\\\":[],\\\"readReplicaDBClusterIdentifiers\\\":[],\\\"associatedRoles\\\":[],\\\"dBParameterGroups\\\":[{\\\"dBParameterGroupName\\\":\\\"default.aurora-mysql5.7\\\",\\\"parameterApplyStatus\\\":\\\"in-sync\\\"}],\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"dBSecurityGroups\\\":[],\\\"statusInfos\\\":[],\\\"enhancedMonitoringResourceArn\\\":\\\"arn:aws:logs:eu-west-1:044981683129:log-group:RDSOSMetrics:log-stream:db-3C7T2Y62VYCMGRPKEN4QC7FW5A\\\",\\\"engineVersion\\\":\\\"5.7.mysql_aurora.2.11.2\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"instanceCreateTime\\\":\\\"2023-04-12T11:43:48.156Z\\\",\\\"dBInstanceClass\\\":\\\"db.r5.large\\\",\\\"processorFeatures\\\":[],\\\"readReplicaDBInstanceIdentifiers\\\":[],\\\"customerOwnedIpEnabled\\\":false,\\\"monitoringInterval\\\":60,\\\"dBInstanceStatus\\\":\\\"available\\\",\\\"backupRetentionPeriod\\\":1,\\\"promotionTier\\\":1,\\\"optionGroupMemberships\\\":[{\\\"optionGroupName\\\":\\\"default:aurora-mysql-5-7\\\",\\\"status\\\":\\\"in-sync\\\"}],\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"dBClusterIdentifier\\\":\\\"globaldb\\\",\\\"dBInstanceAutomatedBackupsReplications\\\":[],\\\"cACertificateIdentifier\\\":\\\"rds-ca-2019\\\",\\\"dbInstancePort\\\":0,\\\"preferredBackupWindow\\\":\\\"02:33-03:03\\\",\\\"dbiResourceId\\\":\\\"db-3C7T2Y62VYCMGRPKEN4QC7FW5A\\\",\\\"deletionProtection\\\":false,\\\"dBInstanceIdentifier\\\":\\\"globaldb-instance-1\\\",\\\"dBInstanceArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:db:globaldb-instance-1\\\",\\\"endpoint\\\":{\\\"hostedZoneId\\\":\\\"Z29XKXDKYMONMX\\\",\\\"address\\\":\\\"globaldb-instance-1.ccc9f5a6ekin.eu-west-1.rds.amazonaws.com\\\",\\\"port\\\":3306},\\\"engine\\\":\\\"aurora-mysql\\\",\\\"publiclyAccessible\\\":false,\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"performanceInsightsEnabled\\\":false,\\\"multiAZ\\\":false,\\\"domainMemberships\\\":[],\\\"monitoringRoleArn\\\":\\\"arn:aws:iam::044981683129:role/rds-monitoring-role\\\",\\\"storageEncrypted\\\":true,\\\"dBSubnetGroup\\\":{\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"subnets\\\":[{\\\"subnetIdentifier\\\":\\\"subnet-fa0523b2\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1a\\\"}},{\\\"subnetIdentifier\\\":\\\"subnet-459f0f1f\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1b\\\"}},{\\\"subnetIdentifier\\\":\\\"subnet-cedd8aa8\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1c\\\"}}],\\\"subnetGroupStatus\\\":\\\"Complete\\\",\\\"dBSubnetGroupName\\\":\\\"default-vpc-ac8663d5\\\",\\\"dBSubnetGroupDescription\\\":\\\"Created from the RDS Management Console\\\"},\\\"vpcSecurityGroups\\\":[{\\\"vpcSecurityGroupId\\\":\\\"sg-9a4a97d2\\\",\\\"status\\\":\\\"active\\\"}],\\\"tagList\\\":[],\\\"pendingModifiedValues\\\":{\\\"processorFeatures\\\":[]},\\\"licenseModel\\\":\\\"general-public-license\\\",\\\"preferredMaintenanceWindow\\\":\\\"sat:01:08-sat:01:38\\\",\\\"storageType\\\":\\\"aurora\\\",\\\"autoMinorVersionUpgrade\\\":true,\\\"copyTagsToSnapshot\\\":false}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-ac8663d5","subnetId":"subnet-cedd8aa8","loggedInURL":null,"loginURL":null,"private":null,"resourceId":"db-3C7T2Y62VYCMGRPKEN4QC7FW5A","resourceName":"globaldb-instance-1","resourceType":"AWS::RDS::DBInstance","resourceValue":null,"state":null,"tags":"[]","title":"globaldb-instance-1","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2062.5,"y":-748.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"DBSnapshot-eu-west-1c-vpc-ac8663d5-eu-west-1-044981683129","parent":"eu-west-1c-vpc-ac8663d5-eu-west-1-044981683129","level":4,"title":"DBSnapshot","label":"DBSnapshot","plainLabel":"DBSnapshot","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-RDS_Amazon-RDS_Snapshot_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-12-04-04","label":"AWS_RDS_DBSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-12-04-04","configuration":"\"{\\\"engineVersion\\\":\\\"13.7\\\",\\\"masterUsername\\\":\\\"postgres\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T12:06:26.436Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-12-04-04\\\",\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-B5N5MVZSUKJQQR4M3OKWG3RZF4\\\",\\\"dBInstanceIdentifier\\\":\\\"database-2\\\",\\\"tagList\\\":[],\\\"encrypted\\\":true,\\\"engine\\\":\\\"postgres\\\",\\\"port\\\":5432,\\\"snapshotCreateTime\\\":\\\"2023-04-12T04:04:44.974Z\\\",\\\"licenseModel\\\":\\\"postgresql-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-2-2023-04-12-04-04\\\",\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"optionGroupName\\\":\\\"default:postgres-13\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-2-2023-04-12-04-04","resourceName":"rds:database-2-2023-04-12-04-04","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-2-2023-04-12-04-04","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-13-04-05","label":"AWS_RDS_DBSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-13-04-05","configuration":"\"{\\\"engineVersion\\\":\\\"13.7\\\",\\\"masterUsername\\\":\\\"postgres\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T12:06:26.436Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-13-04-05\\\",\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-B5N5MVZSUKJQQR4M3OKWG3RZF4\\\",\\\"dBInstanceIdentifier\\\":\\\"database-2\\\",\\\"tagList\\\":[],\\\"encrypted\\\":true,\\\"engine\\\":\\\"postgres\\\",\\\"port\\\":5432,\\\"snapshotCreateTime\\\":\\\"2023-04-13T04:05:20.598Z\\\",\\\"licenseModel\\\":\\\"postgresql-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-2-2023-04-13-04-05\\\",\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"optionGroupName\\\":\\\"default:postgres-13\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-2-2023-04-13-04-05","resourceName":"rds:database-2-2023-04-13-04-05","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-2-2023-04-13-04-05","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-14-04-04","label":"AWS_RDS_DBSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-14-04-04","configuration":"\"{\\\"engineVersion\\\":\\\"13.7\\\",\\\"masterUsername\\\":\\\"postgres\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T12:06:26.436Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-14-04-04\\\",\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-B5N5MVZSUKJQQR4M3OKWG3RZF4\\\",\\\"dBInstanceIdentifier\\\":\\\"database-2\\\",\\\"tagList\\\":[],\\\"encrypted\\\":true,\\\"engine\\\":\\\"postgres\\\",\\\"port\\\":5432,\\\"snapshotCreateTime\\\":\\\"2023-04-14T04:04:24.610Z\\\",\\\"licenseModel\\\":\\\"postgresql-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-2-2023-04-14-04-04\\\",\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"optionGroupName\\\":\\\"default:postgres-13\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-2-2023-04-14-04-04","resourceName":"rds:database-2-2023-04-14-04-04","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-2-2023-04-14-04-04","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-15-04-05","label":"AWS_RDS_DBSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-15-04-05","configuration":"\"{\\\"engineVersion\\\":\\\"13.7\\\",\\\"masterUsername\\\":\\\"postgres\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T12:06:26.436Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-15-04-05\\\",\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-B5N5MVZSUKJQQR4M3OKWG3RZF4\\\",\\\"dBInstanceIdentifier\\\":\\\"database-2\\\",\\\"tagList\\\":[],\\\"encrypted\\\":true,\\\"engine\\\":\\\"postgres\\\",\\\"port\\\":5432,\\\"snapshotCreateTime\\\":\\\"2023-04-15T04:05:34.706Z\\\",\\\"licenseModel\\\":\\\"postgresql-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-2-2023-04-15-04-05\\\",\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"optionGroupName\\\":\\\"default:postgres-13\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-2-2023-04-15-04-05","resourceName":"rds:database-2-2023-04-15-04-05","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-2-2023-04-15-04-05","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-16-04-05","label":"AWS_RDS_DBSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-16-04-05","configuration":"\"{\\\"engineVersion\\\":\\\"13.7\\\",\\\"masterUsername\\\":\\\"postgres\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T12:06:26.436Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-16-04-05\\\",\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-B5N5MVZSUKJQQR4M3OKWG3RZF4\\\",\\\"dBInstanceIdentifier\\\":\\\"database-2\\\",\\\"tagList\\\":[],\\\"encrypted\\\":true,\\\"engine\\\":\\\"postgres\\\",\\\"port\\\":5432,\\\"snapshotCreateTime\\\":\\\"2023-04-16T04:05:29.913Z\\\",\\\"licenseModel\\\":\\\"postgresql-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-2-2023-04-16-04-05\\\",\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"optionGroupName\\\":\\\"default:postgres-13\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-2-2023-04-16-04-05","resourceName":"rds:database-2-2023-04-16-04-05","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-2-2023-04-16-04-05","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-17-04-04","label":"AWS_RDS_DBSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-17-04-04","configuration":"\"{\\\"engineVersion\\\":\\\"13.7\\\",\\\"masterUsername\\\":\\\"postgres\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T12:06:26.436Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-17-04-04\\\",\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-B5N5MVZSUKJQQR4M3OKWG3RZF4\\\",\\\"dBInstanceIdentifier\\\":\\\"database-2\\\",\\\"tagList\\\":[],\\\"encrypted\\\":true,\\\"engine\\\":\\\"postgres\\\",\\\"port\\\":5432,\\\"snapshotCreateTime\\\":\\\"2023-04-17T04:04:49.656Z\\\",\\\"licenseModel\\\":\\\"postgresql-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-2-2023-04-17-04-04\\\",\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"optionGroupName\\\":\\\"default:postgres-13\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-2-2023-04-17-04-04","resourceName":"rds:database-2-2023-04-17-04-04","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-2-2023-04-17-04-04","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-18-04-05","label":"AWS_RDS_DBSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-18-04-05","configuration":"\"{\\\"engineVersion\\\":\\\"13.7\\\",\\\"masterUsername\\\":\\\"postgres\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T12:06:26.436Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-18-04-05\\\",\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-B5N5MVZSUKJQQR4M3OKWG3RZF4\\\",\\\"dBInstanceIdentifier\\\":\\\"database-2\\\",\\\"tagList\\\":[],\\\"encrypted\\\":true,\\\"engine\\\":\\\"postgres\\\",\\\"port\\\":5432,\\\"snapshotCreateTime\\\":\\\"2023-04-18T04:05:16.975Z\\\",\\\"licenseModel\\\":\\\"postgresql-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-2-2023-04-18-04-05\\\",\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"optionGroupName\\\":\\\"default:postgres-13\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-2-2023-04-18-04-05","resourceName":"rds:database-2-2023-04-18-04-05","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-2-2023-04-18-04-05","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-19-04-04","label":"AWS_RDS_DBSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-19-04-04","configuration":"\"{\\\"engineVersion\\\":\\\"13.7\\\",\\\"masterUsername\\\":\\\"postgres\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T12:06:26.436Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-19-04-04\\\",\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-B5N5MVZSUKJQQR4M3OKWG3RZF4\\\",\\\"dBInstanceIdentifier\\\":\\\"database-2\\\",\\\"tagList\\\":[],\\\"encrypted\\\":true,\\\"engine\\\":\\\"postgres\\\",\\\"port\\\":5432,\\\"snapshotCreateTime\\\":\\\"2023-04-19T04:04:30.918Z\\\",\\\"licenseModel\\\":\\\"postgresql-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-2-2023-04-19-04-04\\\",\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"optionGroupName\\\":\\\"default:postgres-13\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-2-2023-04-19-04-04","resourceName":"rds:database-2-2023-04-19-04-04","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-2-2023-04-19-04-04","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-20-04-04","label":"AWS_RDS_DBSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-20-04-04","configuration":"\"{\\\"engineVersion\\\":\\\"13.7\\\",\\\"masterUsername\\\":\\\"postgres\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T12:06:26.436Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-20-04-04\\\",\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-B5N5MVZSUKJQQR4M3OKWG3RZF4\\\",\\\"dBInstanceIdentifier\\\":\\\"database-2\\\",\\\"tagList\\\":[],\\\"encrypted\\\":true,\\\"engine\\\":\\\"postgres\\\",\\\"port\\\":5432,\\\"snapshotCreateTime\\\":\\\"2023-04-20T04:04:44.740Z\\\",\\\"licenseModel\\\":\\\"postgresql-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-2-2023-04-20-04-04\\\",\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"optionGroupName\\\":\\\"default:postgres-13\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-2-2023-04-20-04-04","resourceName":"rds:database-2-2023-04-20-04-04","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-2-2023-04-20-04-04","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1856.5,"y":-848.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-12-04-04","resourceId":["rds:database-2-2023-04-12-04-04","arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-12-04-04"],"parent":"DBSnapshot-eu-west-1c-vpc-ac8663d5-eu-west-1-044981683129","level":5,"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-12-04-04","title":"rds:database-2-2023-04-12-04-04","label":"rds:database...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-12-04-04","image":"/icons/Amazon-RDS_Amazon-RDS_Snapshot_light-bg.svg","cost":0,"private":false,"resource":{"id":"rds:database-2-2023-04-12-04-04","name":"rds:database-2-2023-04-12-04-04","value":null,"type":"AWS::RDS::DBSnapshot","tags":"[]","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-12-04-04","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-12-04-04","configuration":"\"{\\\"engineVersion\\\":\\\"13.7\\\",\\\"masterUsername\\\":\\\"postgres\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T12:06:26.436Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-12-04-04\\\",\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-B5N5MVZSUKJQQR4M3OKWG3RZF4\\\",\\\"dBInstanceIdentifier\\\":\\\"database-2\\\",\\\"tagList\\\":[],\\\"encrypted\\\":true,\\\"engine\\\":\\\"postgres\\\",\\\"port\\\":5432,\\\"snapshotCreateTime\\\":\\\"2023-04-12T04:04:44.974Z\\\",\\\"licenseModel\\\":\\\"postgresql-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-2-2023-04-12-04-04\\\",\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"optionGroupName\\\":\\\"default:postgres-13\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-2-2023-04-12-04-04","resourceName":"rds:database-2-2023-04-12-04-04","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-2-2023-04-12-04-04","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1929.5,"y":-921.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-13-04-05","resourceId":["rds:database-2-2023-04-13-04-05","arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-13-04-05"],"parent":"DBSnapshot-eu-west-1c-vpc-ac8663d5-eu-west-1-044981683129","level":5,"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-13-04-05","title":"rds:database-2-2023-04-13-04-05","label":"rds:database...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-13-04-05","image":"/icons/Amazon-RDS_Amazon-RDS_Snapshot_light-bg.svg","cost":0,"private":false,"resource":{"id":"rds:database-2-2023-04-13-04-05","name":"rds:database-2-2023-04-13-04-05","value":null,"type":"AWS::RDS::DBSnapshot","tags":"[]","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-13-04-05","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-13-04-05","configuration":"\"{\\\"engineVersion\\\":\\\"13.7\\\",\\\"masterUsername\\\":\\\"postgres\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T12:06:26.436Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-13-04-05\\\",\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-B5N5MVZSUKJQQR4M3OKWG3RZF4\\\",\\\"dBInstanceIdentifier\\\":\\\"database-2\\\",\\\"tagList\\\":[],\\\"encrypted\\\":true,\\\"engine\\\":\\\"postgres\\\",\\\"port\\\":5432,\\\"snapshotCreateTime\\\":\\\"2023-04-13T04:05:20.598Z\\\",\\\"licenseModel\\\":\\\"postgresql-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-2-2023-04-13-04-05\\\",\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"optionGroupName\\\":\\\"default:postgres-13\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-2-2023-04-13-04-05","resourceName":"rds:database-2-2023-04-13-04-05","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-2-2023-04-13-04-05","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1856.5,"y":-921.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-14-04-04","resourceId":["rds:database-2-2023-04-14-04-04","arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-14-04-04"],"parent":"DBSnapshot-eu-west-1c-vpc-ac8663d5-eu-west-1-044981683129","level":5,"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-14-04-04","title":"rds:database-2-2023-04-14-04-04","label":"rds:database...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-14-04-04","image":"/icons/Amazon-RDS_Amazon-RDS_Snapshot_light-bg.svg","cost":0,"private":false,"resource":{"id":"rds:database-2-2023-04-14-04-04","name":"rds:database-2-2023-04-14-04-04","value":null,"type":"AWS::RDS::DBSnapshot","tags":"[]","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-14-04-04","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-14-04-04","configuration":"\"{\\\"engineVersion\\\":\\\"13.7\\\",\\\"masterUsername\\\":\\\"postgres\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T12:06:26.436Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-14-04-04\\\",\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-B5N5MVZSUKJQQR4M3OKWG3RZF4\\\",\\\"dBInstanceIdentifier\\\":\\\"database-2\\\",\\\"tagList\\\":[],\\\"encrypted\\\":true,\\\"engine\\\":\\\"postgres\\\",\\\"port\\\":5432,\\\"snapshotCreateTime\\\":\\\"2023-04-14T04:04:24.610Z\\\",\\\"licenseModel\\\":\\\"postgresql-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-2-2023-04-14-04-04\\\",\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"optionGroupName\\\":\\\"default:postgres-13\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-2-2023-04-14-04-04","resourceName":"rds:database-2-2023-04-14-04-04","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-2-2023-04-14-04-04","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1929.5,"y":-848.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-15-04-05","resourceId":["rds:database-2-2023-04-15-04-05","arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-15-04-05"],"parent":"DBSnapshot-eu-west-1c-vpc-ac8663d5-eu-west-1-044981683129","level":5,"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-15-04-05","title":"rds:database-2-2023-04-15-04-05","label":"rds:database...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-15-04-05","image":"/icons/Amazon-RDS_Amazon-RDS_Snapshot_light-bg.svg","cost":0,"private":false,"resource":{"id":"rds:database-2-2023-04-15-04-05","name":"rds:database-2-2023-04-15-04-05","value":null,"type":"AWS::RDS::DBSnapshot","tags":"[]","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-15-04-05","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-15-04-05","configuration":"\"{\\\"engineVersion\\\":\\\"13.7\\\",\\\"masterUsername\\\":\\\"postgres\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T12:06:26.436Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-15-04-05\\\",\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-B5N5MVZSUKJQQR4M3OKWG3RZF4\\\",\\\"dBInstanceIdentifier\\\":\\\"database-2\\\",\\\"tagList\\\":[],\\\"encrypted\\\":true,\\\"engine\\\":\\\"postgres\\\",\\\"port\\\":5432,\\\"snapshotCreateTime\\\":\\\"2023-04-15T04:05:34.706Z\\\",\\\"licenseModel\\\":\\\"postgresql-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-2-2023-04-15-04-05\\\",\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"optionGroupName\\\":\\\"default:postgres-13\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-2-2023-04-15-04-05","resourceName":"rds:database-2-2023-04-15-04-05","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-2-2023-04-15-04-05","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1856.5,"y":-848.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-16-04-05","resourceId":["rds:database-2-2023-04-16-04-05","arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-16-04-05"],"parent":"DBSnapshot-eu-west-1c-vpc-ac8663d5-eu-west-1-044981683129","level":5,"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-16-04-05","title":"rds:database-2-2023-04-16-04-05","label":"rds:database...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-16-04-05","image":"/icons/Amazon-RDS_Amazon-RDS_Snapshot_light-bg.svg","cost":0,"private":false,"resource":{"id":"rds:database-2-2023-04-16-04-05","name":"rds:database-2-2023-04-16-04-05","value":null,"type":"AWS::RDS::DBSnapshot","tags":"[]","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-16-04-05","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-16-04-05","configuration":"\"{\\\"engineVersion\\\":\\\"13.7\\\",\\\"masterUsername\\\":\\\"postgres\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T12:06:26.436Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-16-04-05\\\",\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-B5N5MVZSUKJQQR4M3OKWG3RZF4\\\",\\\"dBInstanceIdentifier\\\":\\\"database-2\\\",\\\"tagList\\\":[],\\\"encrypted\\\":true,\\\"engine\\\":\\\"postgres\\\",\\\"port\\\":5432,\\\"snapshotCreateTime\\\":\\\"2023-04-16T04:05:29.913Z\\\",\\\"licenseModel\\\":\\\"postgresql-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-2-2023-04-16-04-05\\\",\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"optionGroupName\\\":\\\"default:postgres-13\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-2-2023-04-16-04-05","resourceName":"rds:database-2-2023-04-16-04-05","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-2-2023-04-16-04-05","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1783.5,"y":-921.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-17-04-04","resourceId":["rds:database-2-2023-04-17-04-04","arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-17-04-04"],"parent":"DBSnapshot-eu-west-1c-vpc-ac8663d5-eu-west-1-044981683129","level":5,"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-17-04-04","title":"rds:database-2-2023-04-17-04-04","label":"rds:database...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-17-04-04","image":"/icons/Amazon-RDS_Amazon-RDS_Snapshot_light-bg.svg","cost":0,"private":false,"resource":{"id":"rds:database-2-2023-04-17-04-04","name":"rds:database-2-2023-04-17-04-04","value":null,"type":"AWS::RDS::DBSnapshot","tags":"[]","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-17-04-04","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-17-04-04","configuration":"\"{\\\"engineVersion\\\":\\\"13.7\\\",\\\"masterUsername\\\":\\\"postgres\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T12:06:26.436Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-17-04-04\\\",\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-B5N5MVZSUKJQQR4M3OKWG3RZF4\\\",\\\"dBInstanceIdentifier\\\":\\\"database-2\\\",\\\"tagList\\\":[],\\\"encrypted\\\":true,\\\"engine\\\":\\\"postgres\\\",\\\"port\\\":5432,\\\"snapshotCreateTime\\\":\\\"2023-04-17T04:04:49.656Z\\\",\\\"licenseModel\\\":\\\"postgresql-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-2-2023-04-17-04-04\\\",\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"optionGroupName\\\":\\\"default:postgres-13\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-2-2023-04-17-04-04","resourceName":"rds:database-2-2023-04-17-04-04","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-2-2023-04-17-04-04","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1783.5,"y":-848.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-18-04-05","resourceId":["rds:database-2-2023-04-18-04-05","arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-18-04-05"],"parent":"DBSnapshot-eu-west-1c-vpc-ac8663d5-eu-west-1-044981683129","level":5,"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-18-04-05","title":"rds:database-2-2023-04-18-04-05","label":"rds:database...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-18-04-05","image":"/icons/Amazon-RDS_Amazon-RDS_Snapshot_light-bg.svg","cost":0,"private":false,"resource":{"id":"rds:database-2-2023-04-18-04-05","name":"rds:database-2-2023-04-18-04-05","value":null,"type":"AWS::RDS::DBSnapshot","tags":"[]","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-18-04-05","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-18-04-05","configuration":"\"{\\\"engineVersion\\\":\\\"13.7\\\",\\\"masterUsername\\\":\\\"postgres\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T12:06:26.436Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-18-04-05\\\",\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-B5N5MVZSUKJQQR4M3OKWG3RZF4\\\",\\\"dBInstanceIdentifier\\\":\\\"database-2\\\",\\\"tagList\\\":[],\\\"encrypted\\\":true,\\\"engine\\\":\\\"postgres\\\",\\\"port\\\":5432,\\\"snapshotCreateTime\\\":\\\"2023-04-18T04:05:16.975Z\\\",\\\"licenseModel\\\":\\\"postgresql-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-2-2023-04-18-04-05\\\",\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"optionGroupName\\\":\\\"default:postgres-13\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-2-2023-04-18-04-05","resourceName":"rds:database-2-2023-04-18-04-05","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-2-2023-04-18-04-05","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1929.5,"y":-775.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-19-04-04","resourceId":["rds:database-2-2023-04-19-04-04","arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-19-04-04"],"parent":"DBSnapshot-eu-west-1c-vpc-ac8663d5-eu-west-1-044981683129","level":5,"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-19-04-04","title":"rds:database-2-2023-04-19-04-04","label":"rds:database...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-19-04-04","image":"/icons/Amazon-RDS_Amazon-RDS_Snapshot_light-bg.svg","cost":0,"private":false,"resource":{"id":"rds:database-2-2023-04-19-04-04","name":"rds:database-2-2023-04-19-04-04","value":null,"type":"AWS::RDS::DBSnapshot","tags":"[]","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-19-04-04","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-19-04-04","configuration":"\"{\\\"engineVersion\\\":\\\"13.7\\\",\\\"masterUsername\\\":\\\"postgres\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T12:06:26.436Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-19-04-04\\\",\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-B5N5MVZSUKJQQR4M3OKWG3RZF4\\\",\\\"dBInstanceIdentifier\\\":\\\"database-2\\\",\\\"tagList\\\":[],\\\"encrypted\\\":true,\\\"engine\\\":\\\"postgres\\\",\\\"port\\\":5432,\\\"snapshotCreateTime\\\":\\\"2023-04-19T04:04:30.918Z\\\",\\\"licenseModel\\\":\\\"postgresql-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-2-2023-04-19-04-04\\\",\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"optionGroupName\\\":\\\"default:postgres-13\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-2-2023-04-19-04-04","resourceName":"rds:database-2-2023-04-19-04-04","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-2-2023-04-19-04-04","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1856.5,"y":-775.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-20-04-04","resourceId":["rds:database-2-2023-04-20-04-04","arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-20-04-04"],"parent":"DBSnapshot-eu-west-1c-vpc-ac8663d5-eu-west-1-044981683129","level":5,"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-20-04-04","title":"rds:database-2-2023-04-20-04-04","label":"rds:database...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-20-04-04","image":"/icons/Amazon-RDS_Amazon-RDS_Snapshot_light-bg.svg","cost":0,"private":false,"resource":{"id":"rds:database-2-2023-04-20-04-04","name":"rds:database-2-2023-04-20-04-04","value":null,"type":"AWS::RDS::DBSnapshot","tags":"[]","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-20-04-04","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-20-04-04","configuration":"\"{\\\"engineVersion\\\":\\\"13.7\\\",\\\"masterUsername\\\":\\\"postgres\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T12:06:26.436Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-20-04-04\\\",\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-B5N5MVZSUKJQQR4M3OKWG3RZF4\\\",\\\"dBInstanceIdentifier\\\":\\\"database-2\\\",\\\"tagList\\\":[],\\\"encrypted\\\":true,\\\"engine\\\":\\\"postgres\\\",\\\"port\\\":5432,\\\"snapshotCreateTime\\\":\\\"2023-04-20T04:04:44.740Z\\\",\\\"licenseModel\\\":\\\"postgresql-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-2-2023-04-20-04-04\\\",\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"optionGroupName\\\":\\\"default:postgres-13\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-2-2023-04-20-04-04","resourceName":"rds:database-2-2023-04-20-04-04","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-2-2023-04-20-04-04","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1783.5,"y":-775.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"eu-west-1a-vpc-ac8663d5-eu-west-1-044981683129","parent":"vpc-ac8663d5-eu-west-1-044981683129","level":3,"title":"eu-west-1a","label":"eu-west-1a","plainLabel":"eu-west-1a","type":"availabilityZone","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/availabilityZone.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-fa0523b2","label":"subnet-fa0523b2","parent":null,"type":"subnet","data":{"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-fa0523b2","configuration":"\"{\\\"subnetId\\\":\\\"subnet-fa0523b2\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-fa0523b2\\\",\\\"availabilityZoneId\\\":\\\"euw1-az2\\\",\\\"cidrBlock\\\":\\\"172.31.16.0/20\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[],\\\"availableIpAddressCount\\\":4087,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"mapPublicIpOnLaunch\\\":true,\\\"defaultForAz\\\":true,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":"subnet-fa0523b2","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":null,"resourceId":"subnet-fa0523b2","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[]","title":"subnet-fa0523b2","instanceType":null,"statement":null,"dBInstanceStatus":null},"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-fa0523b2","label":"AWS_EC2_Subnet"},"properties":null,"children":[{"id":null,"label":"NetworkInterface","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0af14e9ac9e15855d","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0af14e9ac9e15855d","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0af14e9ac9e15855d\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-172-31-29-251.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.29.251\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-fa0523b2\\\",\\\"requesterId\\\":\\\"amazon-rds\\\",\\\"description\\\":\\\"RDSNetworkInterface\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-9a4a97d2\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"172.31.29.251\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:42:c4:c2:b0:81\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0013c00b95a5910d6\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-rds\\\",\\\"attachTime\\\":\\\"2021-09-02T11:52:45.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"privateDnsName\\\":\\\"ip-172-31-29-251.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":"subnet-fa0523b2","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0af14e9ac9e15855d","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0af14e9ac9e15855d","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0457d3ce238ba3401","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0457d3ce238ba3401","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0457d3ce238ba3401\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-172-31-31-218.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.31.218\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-fa0523b2\\\",\\\"requesterId\\\":\\\"amazon-redshift\\\",\\\"description\\\":\\\"RedshiftNetworkInterface\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-9a4a97d2\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"172.31.31.218\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:0d:a9:d6:61:39\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"privateDnsName\\\":\\\"ip-172-31-31-218.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":"subnet-fa0523b2","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0457d3ce238ba3401","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0457d3ce238ba3401","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-04798797c3fabba73","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-04798797c3fabba73","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-04798797c3fabba73\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-172-31-18-43.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.18.43\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-fa0523b2\\\",\\\"requesterId\\\":\\\"amazon-redshift\\\",\\\"description\\\":\\\"RedshiftNetworkInterface\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-9a4a97d2\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"172.31.18.43\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:b5:78:08:fb:5f\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"privateDnsName\\\":\\\"ip-172-31-18-43.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":"subnet-fa0523b2","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-04798797c3fabba73","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-04798797c3fabba73","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0c5554519bafc4af1","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0c5554519bafc4af1","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0c5554519bafc4af1\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-172-31-18-245.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.18.245\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-fa0523b2\\\",\\\"requesterId\\\":\\\"amazon-redshift\\\",\\\"description\\\":\\\"RedshiftNetworkInterface\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-9a4a97d2\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"172.31.18.245\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:c8:04:44:a1:cf\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"privateDnsName\\\":\\\"ip-172-31-18-245.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":"subnet-fa0523b2","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0c5554519bafc4af1","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0c5554519bafc4af1","instanceType":null,"statement":null,"dBInstanceStatus":null}}]},{"id":null,"label":"DBInstance","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:rds:eu-west-1:044981683129:db:database-1","label":"AWS_RDS_DBInstance","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:db:database-1","configuration":"\"{\\\"allocatedStorage\\\":20,\\\"enabledCloudwatchLogsExports\\\":[],\\\"cACertificateIdentifier\\\":\\\"rds-ca-2019\\\",\\\"readReplicaDBClusterIdentifiers\\\":[],\\\"dbInstancePort\\\":0,\\\"associatedRoles\\\":[],\\\"dBParameterGroups\\\":[{\\\"dBParameterGroupName\\\":\\\"default.mariadb10.4\\\",\\\"parameterApplyStatus\\\":\\\"in-sync\\\"}],\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"preferredBackupWindow\\\":\\\"23:33-00:03\\\",\\\"dbiResourceId\\\":\\\"db-ISTHVYQUZCQX3QQ5JA5ZRF2R5U\\\",\\\"deletionProtection\\\":false,\\\"dBInstanceIdentifier\\\":\\\"database-1\\\",\\\"dBInstanceArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:db:database-1\\\",\\\"endpoint\\\":{\\\"hostedZoneId\\\":\\\"Z29XKXDKYMONMX\\\",\\\"address\\\":\\\"database-1.ccc9f5a6ekin.eu-west-1.rds.amazonaws.com\\\",\\\"port\\\":3306},\\\"dBSecurityGroups\\\":[],\\\"engine\\\":\\\"mariadb\\\",\\\"maxAllocatedStorage\\\":1000,\\\"publiclyAccessible\\\":false,\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"statusInfos\\\":[],\\\"engineVersion\\\":\\\"10.4.26\\\",\\\"performanceInsightsEnabled\\\":false,\\\"masterUsername\\\":\\\"admin\\\",\\\"multiAZ\\\":false,\\\"instanceCreateTime\\\":\\\"2021-09-02T11:55:32.030Z\\\",\\\"domainMemberships\\\":[],\\\"dBInstanceClass\\\":\\\"db.t2.micro\\\",\\\"storageEncrypted\\\":false,\\\"processorFeatures\\\":[],\\\"dBSubnetGroup\\\":{\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"subnets\\\":[{\\\"subnetIdentifier\\\":\\\"subnet-fa0523b2\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1a\\\"}},{\\\"subnetIdentifier\\\":\\\"subnet-459f0f1f\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1b\\\"}},{\\\"subnetIdentifier\\\":\\\"subnet-cedd8aa8\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1c\\\"}}],\\\"subnetGroupStatus\\\":\\\"Complete\\\",\\\"dBSubnetGroupName\\\":\\\"default-vpc-ac8663d5\\\",\\\"dBSubnetGroupDescription\\\":\\\"Created from the RDS Management Console\\\"},\\\"vpcSecurityGroups\\\":[{\\\"vpcSecurityGroupId\\\":\\\"sg-9a4a97d2\\\",\\\"status\\\":\\\"active\\\"}],\\\"tagList\\\":[],\\\"readReplicaDBInstanceIdentifiers\\\":[],\\\"pendingModifiedValues\\\":{\\\"processorFeatures\\\":[]},\\\"licenseModel\\\":\\\"general-public-license\\\",\\\"customerOwnedIpEnabled\\\":false,\\\"preferredMaintenanceWindow\\\":\\\"thu:00:46-thu:01:16\\\",\\\"monitoringInterval\\\":0,\\\"dBInstanceStatus\\\":\\\"available\\\",\\\"backupRetentionPeriod\\\":7,\\\"storageType\\\":\\\"gp2\\\",\\\"optionGroupMemberships\\\":[{\\\"optionGroupName\\\":\\\"default:mariadb-10-4\\\",\\\"status\\\":\\\"in-sync\\\"}],\\\"autoMinorVersionUpgrade\\\":true,\\\"copyTagsToSnapshot\\\":true,\\\"latestRestorableTime\\\":\\\"2023-04-20T22:50:00.000Z\\\",\\\"dBInstanceAutomatedBackupsReplications\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":"subnet-fa0523b2","loggedInURL":null,"loginURL":null,"private":null,"resourceId":"db-ISTHVYQUZCQX3QQ5JA5ZRF2R5U","resourceName":"database-1","resourceType":"AWS::RDS::DBInstance","resourceValue":null,"state":null,"tags":"[]","title":"database-1","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}]},{"id":null,"label":"Cluster","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:redshift:eu-west-1:044981683129:cluster:redshift-cluster-1","label":"AWS_Redshift_Cluster","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:redshift:eu-west-1:044981683129:cluster:redshift-cluster-1","configuration":"\"{\\\"allowVersionUpgrade\\\":true,\\\"clusterIdentifier\\\":\\\"redshift-cluster-1\\\",\\\"clusterRevisionNumber\\\":\\\"22575\\\",\\\"numberOfNodes\\\":2,\\\"clusterPublicKey\\\":\\\"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDaB49cR9Fvb0HWLR5Sknhbhm2gd1X2IjmtSOzU4TuVqosC5ApiZZZbb3+pn1SqLduglWxO2AtqrlGO+wl7TcK472efAK1Q7dhdy+4njypy1qsaUKnAZj5+tBbr4lzABEkT5wTDCuEoyilqvmRi+ANxy4J70/ZPN3daTS8X39ZCvt7YGpf0HZRC6ra2CzxQloOMv3QnewO8YyhulTl3y2zXgxvzLmnWa5qTRaf7udIsbgqn8W49XwZuicv+1kqfdq02TT3nOis8Mrrz12TlURkI6WuiE9ivSjSdOzDcqx3xmE7kz7GaVw7OUPMN1O/rm52yoV77Naunv464rQuHVOEH Amazon-Redshift\\\\n\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"clusterVersion\\\":\\\"1.0\\\",\\\"clusterAvailabilityStatus\\\":\\\"Paused\\\",\\\"manualSnapshotRetentionPeriod\\\":-1,\\\"endpoint\\\":{\\\"vpcEndpoints\\\":[],\\\"address\\\":\\\"redshift-cluster-1.csujultbfxdj.eu-west-1.redshift.amazonaws.com\\\",\\\"port\\\":5439},\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"publiclyAccessible\\\":false,\\\"elasticResizeNumberOfNodeOptions\\\":\\\"[4]\\\",\\\"pendingActions\\\":[],\\\"clusterCreateTime\\\":\\\"2021-01-19T09:49:17.194Z\\\",\\\"masterUsername\\\":\\\"awsuser\\\",\\\"dBName\\\":\\\"dev\\\",\\\"enhancedVpcRouting\\\":false,\\\"iamRoles\\\":[],\\\"clusterNamespaceArn\\\":\\\"arn:aws:redshift:eu-west-1:044981683129:namespace:ed95b7c3-f7e6-4bc2-850e-98fa2e2a4912\\\",\\\"clusterSecurityGroups\\\":[],\\\"nodeType\\\":\\\"dc2.large\\\",\\\"availabilityZoneRelocationStatus\\\":\\\"disabled\\\",\\\"clusterSubnetGroupName\\\":\\\"default\\\",\\\"nextMaintenanceWindowStartTime\\\":\\\"2023-04-23T00:00:00.000Z\\\",\\\"deferredMaintenanceWindows\\\":[],\\\"tags\\\":[],\\\"vpcSecurityGroups\\\":[{\\\"vpcSecurityGroupId\\\":\\\"sg-9a4a97d2\\\",\\\"status\\\":\\\"active\\\"}],\\\"clusterParameterGroups\\\":[{\\\"parameterGroupName\\\":\\\"default.redshift-1.0\\\",\\\"clusterParameterStatusList\\\":[],\\\"parameterApplyStatus\\\":\\\"in-sync\\\"}],\\\"encrypted\\\":false,\\\"clusterNodes\\\":[],\\\"pendingModifiedValues\\\":{},\\\"maintenanceTrackName\\\":\\\"current\\\",\\\"preferredMaintenanceWindow\\\":\\\"sun:00:00-sun:00:30\\\",\\\"aquaConfiguration\\\":{\\\"aquaConfigurationStatus\\\":\\\"auto\\\",\\\"aquaStatus\\\":\\\"disabled\\\"},\\\"automatedSnapshotRetentionPeriod\\\":1,\\\"clusterStatus\\\":\\\"paused\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"redshift-cluster-1","resourceName":"redshift-cluster-1","resourceType":"AWS::Redshift::Cluster","resourceValue":null,"state":null,"tags":"[]","title":"redshift-cluster-1","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]},{"id":null,"label":"ClusterSnapshot","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:redshift:eu-west-1:044981683129:snapshot:redshift-cluster-1/rs:redshift-cluster-1-2021-01-19-18-47-40","label":"AWS_Redshift_ClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:redshift:eu-west-1:044981683129:snapshot:redshift-cluster-1/rs:redshift-cluster-1-2021-01-19-18-47-40","configuration":"\"{\\\"snapshotRetentionStartTime\\\":\\\"2021-01-19T18:47:42.918Z\\\",\\\"clusterIdentifier\\\":\\\"redshift-cluster-1\\\",\\\"encryptedWithHSM\\\":false,\\\"numberOfNodes\\\":2,\\\"ownerAccount\\\":\\\"044981683129\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"clusterVersion\\\":\\\"1.0\\\",\\\"totalBackupSizeInMegaBytes\\\":55,\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"backupProgressInMegaBytes\\\":18,\\\"currentBackupRateInMegaBytesPerSecond\\\":8.0899,\\\"clusterCreateTime\\\":\\\"2021-01-19T09:49:17.194Z\\\",\\\"accountsWithRestoreAccess\\\":[],\\\"elapsedTimeInSeconds\\\":2,\\\"engineFullVersion\\\":\\\"1.0.22575\\\",\\\"masterUsername\\\":\\\"awsuser\\\",\\\"dBName\\\":\\\"dev\\\",\\\"actualIncrementalBackupSizeInMegaBytes\\\":18,\\\"snapshotType\\\":\\\"automated\\\",\\\"enhancedVpcRouting\\\":false,\\\"snapshotIdentifier\\\":\\\"rs:redshift-cluster-1-2021-01-19-18-47-40\\\",\\\"nodeType\\\":\\\"dc2.large\\\",\\\"tags\\\":[],\\\"restorableNodeTypes\\\":[\\\"dc2.large\\\"],\\\"encrypted\\\":false,\\\"port\\\":5439,\\\"estimatedSecondsToCompletion\\\":0,\\\"snapshotCreateTime\\\":\\\"2021-01-19T18:47:40.693Z\\\",\\\"maintenanceTrackName\\\":\\\"current\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rs:redshift-cluster-1-2021-01-19-18-47-40","resourceName":"rs:redshift-cluster-1-2021-01-19-18-47-40","resourceType":"AWS::Redshift::ClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rs:redshift-cluster-1-2021-01-19-18-47-40","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]},{"id":null,"label":"DBSnapshot","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-11-23-44","label":"AWS_RDS_DBSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-11-23-44","configuration":"\"{\\\"engineVersion\\\":\\\"10.4.26\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T11:55:32.030Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-11-23-44\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-ISTHVYQUZCQX3QQ5JA5ZRF2R5U\\\",\\\"dBInstanceIdentifier\\\":\\\"database-1\\\",\\\"tagList\\\":[],\\\"encrypted\\\":false,\\\"engine\\\":\\\"mariadb\\\",\\\"port\\\":3306,\\\"snapshotCreateTime\\\":\\\"2023-04-11T23:44:32.741Z\\\",\\\"licenseModel\\\":\\\"general-public-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-1-2023-04-11-23-44\\\",\\\"optionGroupName\\\":\\\"default:mariadb-10-4\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-1-2023-04-11-23-44","resourceName":"rds:database-1-2023-04-11-23-44","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-1-2023-04-11-23-44","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-12-23-44","label":"AWS_RDS_DBSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-12-23-44","configuration":"\"{\\\"engineVersion\\\":\\\"10.4.26\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T11:55:32.030Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-12-23-44\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-ISTHVYQUZCQX3QQ5JA5ZRF2R5U\\\",\\\"dBInstanceIdentifier\\\":\\\"database-1\\\",\\\"tagList\\\":[],\\\"encrypted\\\":false,\\\"engine\\\":\\\"mariadb\\\",\\\"port\\\":3306,\\\"snapshotCreateTime\\\":\\\"2023-04-12T23:44:44.011Z\\\",\\\"licenseModel\\\":\\\"general-public-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-1-2023-04-12-23-44\\\",\\\"optionGroupName\\\":\\\"default:mariadb-10-4\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-1-2023-04-12-23-44","resourceName":"rds:database-1-2023-04-12-23-44","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-1-2023-04-12-23-44","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-13-23-44","label":"AWS_RDS_DBSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-13-23-44","configuration":"\"{\\\"engineVersion\\\":\\\"10.4.26\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T11:55:32.030Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-13-23-44\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-ISTHVYQUZCQX3QQ5JA5ZRF2R5U\\\",\\\"dBInstanceIdentifier\\\":\\\"database-1\\\",\\\"tagList\\\":[],\\\"encrypted\\\":false,\\\"engine\\\":\\\"mariadb\\\",\\\"port\\\":3306,\\\"snapshotCreateTime\\\":\\\"2023-04-13T23:44:57.533Z\\\",\\\"licenseModel\\\":\\\"general-public-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-1-2023-04-13-23-44\\\",\\\"optionGroupName\\\":\\\"default:mariadb-10-4\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-1-2023-04-13-23-44","resourceName":"rds:database-1-2023-04-13-23-44","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-1-2023-04-13-23-44","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-14-23-45","label":"AWS_RDS_DBSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-14-23-45","configuration":"\"{\\\"engineVersion\\\":\\\"10.4.26\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T11:55:32.030Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-14-23-45\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-ISTHVYQUZCQX3QQ5JA5ZRF2R5U\\\",\\\"dBInstanceIdentifier\\\":\\\"database-1\\\",\\\"tagList\\\":[],\\\"encrypted\\\":false,\\\"engine\\\":\\\"mariadb\\\",\\\"port\\\":3306,\\\"snapshotCreateTime\\\":\\\"2023-04-14T23:45:37.216Z\\\",\\\"licenseModel\\\":\\\"general-public-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-1-2023-04-14-23-45\\\",\\\"optionGroupName\\\":\\\"default:mariadb-10-4\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-1-2023-04-14-23-45","resourceName":"rds:database-1-2023-04-14-23-45","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-1-2023-04-14-23-45","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-15-23-44","label":"AWS_RDS_DBSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-15-23-44","configuration":"\"{\\\"engineVersion\\\":\\\"10.4.26\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T11:55:32.030Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-15-23-44\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-ISTHVYQUZCQX3QQ5JA5ZRF2R5U\\\",\\\"dBInstanceIdentifier\\\":\\\"database-1\\\",\\\"tagList\\\":[],\\\"encrypted\\\":false,\\\"engine\\\":\\\"mariadb\\\",\\\"port\\\":3306,\\\"snapshotCreateTime\\\":\\\"2023-04-15T23:45:02.341Z\\\",\\\"licenseModel\\\":\\\"general-public-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-1-2023-04-15-23-44\\\",\\\"optionGroupName\\\":\\\"default:mariadb-10-4\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-1-2023-04-15-23-44","resourceName":"rds:database-1-2023-04-15-23-44","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-1-2023-04-15-23-44","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-16-23-45","label":"AWS_RDS_DBSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-16-23-45","configuration":"\"{\\\"engineVersion\\\":\\\"10.4.26\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T11:55:32.030Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-16-23-45\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-ISTHVYQUZCQX3QQ5JA5ZRF2R5U\\\",\\\"dBInstanceIdentifier\\\":\\\"database-1\\\",\\\"tagList\\\":[],\\\"encrypted\\\":false,\\\"engine\\\":\\\"mariadb\\\",\\\"port\\\":3306,\\\"snapshotCreateTime\\\":\\\"2023-04-16T23:45:19.864Z\\\",\\\"licenseModel\\\":\\\"general-public-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-1-2023-04-16-23-45\\\",\\\"optionGroupName\\\":\\\"default:mariadb-10-4\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-1-2023-04-16-23-45","resourceName":"rds:database-1-2023-04-16-23-45","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-1-2023-04-16-23-45","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-17-23-45","label":"AWS_RDS_DBSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-17-23-45","configuration":"\"{\\\"engineVersion\\\":\\\"10.4.26\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T11:55:32.030Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-17-23-45\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-ISTHVYQUZCQX3QQ5JA5ZRF2R5U\\\",\\\"dBInstanceIdentifier\\\":\\\"database-1\\\",\\\"tagList\\\":[],\\\"encrypted\\\":false,\\\"engine\\\":\\\"mariadb\\\",\\\"port\\\":3306,\\\"snapshotCreateTime\\\":\\\"2023-04-17T23:45:22.516Z\\\",\\\"licenseModel\\\":\\\"general-public-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-1-2023-04-17-23-45\\\",\\\"optionGroupName\\\":\\\"default:mariadb-10-4\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-1-2023-04-17-23-45","resourceName":"rds:database-1-2023-04-17-23-45","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-1-2023-04-17-23-45","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-18-23-44","label":"AWS_RDS_DBSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-18-23-44","configuration":"\"{\\\"engineVersion\\\":\\\"10.4.26\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T11:55:32.030Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-18-23-44\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-ISTHVYQUZCQX3QQ5JA5ZRF2R5U\\\",\\\"dBInstanceIdentifier\\\":\\\"database-1\\\",\\\"tagList\\\":[],\\\"encrypted\\\":false,\\\"engine\\\":\\\"mariadb\\\",\\\"port\\\":3306,\\\"snapshotCreateTime\\\":\\\"2023-04-18T23:44:45.801Z\\\",\\\"licenseModel\\\":\\\"general-public-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-1-2023-04-18-23-44\\\",\\\"optionGroupName\\\":\\\"default:mariadb-10-4\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-1-2023-04-18-23-44","resourceName":"rds:database-1-2023-04-18-23-44","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-1-2023-04-18-23-44","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-19-23-45","label":"AWS_RDS_DBSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-19-23-45","configuration":"\"{\\\"engineVersion\\\":\\\"10.4.26\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T11:55:32.030Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-19-23-45\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-ISTHVYQUZCQX3QQ5JA5ZRF2R5U\\\",\\\"dBInstanceIdentifier\\\":\\\"database-1\\\",\\\"tagList\\\":[],\\\"encrypted\\\":false,\\\"engine\\\":\\\"mariadb\\\",\\\"port\\\":3306,\\\"snapshotCreateTime\\\":\\\"2023-04-19T23:45:55.929Z\\\",\\\"licenseModel\\\":\\\"general-public-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-1-2023-04-19-23-45\\\",\\\"optionGroupName\\\":\\\"default:mariadb-10-4\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-1-2023-04-19-23-45","resourceName":"rds:database-1-2023-04-19-23-45","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-1-2023-04-19-23-45","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1913.75,"y":-1252.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"availabilityZone removeAll _gridParentPadding"},{"data":{"id":"subnet-fa0523b2-eu-west-1a-vpc-ac8663d5-eu-west-1-044981683129","parent":"eu-west-1a-vpc-ac8663d5-eu-west-1-044981683129","level":4,"title":"subnet-fa0523b2","label":"subnet-fa0523b2","plainLabel":"subnet-fa0523b2","type":"subnet","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/VPC-subnet-private_light-bg-collapsed.svg","clickedId":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-fa0523b2","cost":0,"hasChildren":true,"children":[{"id":null,"label":"NetworkInterface","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0af14e9ac9e15855d","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0af14e9ac9e15855d","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0af14e9ac9e15855d\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-172-31-29-251.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.29.251\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-fa0523b2\\\",\\\"requesterId\\\":\\\"amazon-rds\\\",\\\"description\\\":\\\"RDSNetworkInterface\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-9a4a97d2\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"172.31.29.251\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:42:c4:c2:b0:81\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0013c00b95a5910d6\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-rds\\\",\\\"attachTime\\\":\\\"2021-09-02T11:52:45.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"privateDnsName\\\":\\\"ip-172-31-29-251.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":"subnet-fa0523b2","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0af14e9ac9e15855d","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0af14e9ac9e15855d","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0457d3ce238ba3401","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0457d3ce238ba3401","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0457d3ce238ba3401\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-172-31-31-218.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.31.218\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-fa0523b2\\\",\\\"requesterId\\\":\\\"amazon-redshift\\\",\\\"description\\\":\\\"RedshiftNetworkInterface\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-9a4a97d2\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"172.31.31.218\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:0d:a9:d6:61:39\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"privateDnsName\\\":\\\"ip-172-31-31-218.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":"subnet-fa0523b2","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0457d3ce238ba3401","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0457d3ce238ba3401","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-04798797c3fabba73","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-04798797c3fabba73","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-04798797c3fabba73\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-172-31-18-43.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.18.43\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-fa0523b2\\\",\\\"requesterId\\\":\\\"amazon-redshift\\\",\\\"description\\\":\\\"RedshiftNetworkInterface\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-9a4a97d2\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"172.31.18.43\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:b5:78:08:fb:5f\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"privateDnsName\\\":\\\"ip-172-31-18-43.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":"subnet-fa0523b2","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-04798797c3fabba73","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-04798797c3fabba73","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0c5554519bafc4af1","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0c5554519bafc4af1","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0c5554519bafc4af1\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-172-31-18-245.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.18.245\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-fa0523b2\\\",\\\"requesterId\\\":\\\"amazon-redshift\\\",\\\"description\\\":\\\"RedshiftNetworkInterface\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-9a4a97d2\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"172.31.18.245\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:c8:04:44:a1:cf\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"privateDnsName\\\":\\\"ip-172-31-18-245.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":"subnet-fa0523b2","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0c5554519bafc4af1","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0c5554519bafc4af1","instanceType":null,"statement":null,"dBInstanceStatus":null}}]},{"id":null,"label":"DBInstance","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:rds:eu-west-1:044981683129:db:database-1","label":"AWS_RDS_DBInstance","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:db:database-1","configuration":"\"{\\\"allocatedStorage\\\":20,\\\"enabledCloudwatchLogsExports\\\":[],\\\"cACertificateIdentifier\\\":\\\"rds-ca-2019\\\",\\\"readReplicaDBClusterIdentifiers\\\":[],\\\"dbInstancePort\\\":0,\\\"associatedRoles\\\":[],\\\"dBParameterGroups\\\":[{\\\"dBParameterGroupName\\\":\\\"default.mariadb10.4\\\",\\\"parameterApplyStatus\\\":\\\"in-sync\\\"}],\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"preferredBackupWindow\\\":\\\"23:33-00:03\\\",\\\"dbiResourceId\\\":\\\"db-ISTHVYQUZCQX3QQ5JA5ZRF2R5U\\\",\\\"deletionProtection\\\":false,\\\"dBInstanceIdentifier\\\":\\\"database-1\\\",\\\"dBInstanceArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:db:database-1\\\",\\\"endpoint\\\":{\\\"hostedZoneId\\\":\\\"Z29XKXDKYMONMX\\\",\\\"address\\\":\\\"database-1.ccc9f5a6ekin.eu-west-1.rds.amazonaws.com\\\",\\\"port\\\":3306},\\\"dBSecurityGroups\\\":[],\\\"engine\\\":\\\"mariadb\\\",\\\"maxAllocatedStorage\\\":1000,\\\"publiclyAccessible\\\":false,\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"statusInfos\\\":[],\\\"engineVersion\\\":\\\"10.4.26\\\",\\\"performanceInsightsEnabled\\\":false,\\\"masterUsername\\\":\\\"admin\\\",\\\"multiAZ\\\":false,\\\"instanceCreateTime\\\":\\\"2021-09-02T11:55:32.030Z\\\",\\\"domainMemberships\\\":[],\\\"dBInstanceClass\\\":\\\"db.t2.micro\\\",\\\"storageEncrypted\\\":false,\\\"processorFeatures\\\":[],\\\"dBSubnetGroup\\\":{\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"subnets\\\":[{\\\"subnetIdentifier\\\":\\\"subnet-fa0523b2\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1a\\\"}},{\\\"subnetIdentifier\\\":\\\"subnet-459f0f1f\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1b\\\"}},{\\\"subnetIdentifier\\\":\\\"subnet-cedd8aa8\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1c\\\"}}],\\\"subnetGroupStatus\\\":\\\"Complete\\\",\\\"dBSubnetGroupName\\\":\\\"default-vpc-ac8663d5\\\",\\\"dBSubnetGroupDescription\\\":\\\"Created from the RDS Management Console\\\"},\\\"vpcSecurityGroups\\\":[{\\\"vpcSecurityGroupId\\\":\\\"sg-9a4a97d2\\\",\\\"status\\\":\\\"active\\\"}],\\\"tagList\\\":[],\\\"readReplicaDBInstanceIdentifiers\\\":[],\\\"pendingModifiedValues\\\":{\\\"processorFeatures\\\":[]},\\\"licenseModel\\\":\\\"general-public-license\\\",\\\"customerOwnedIpEnabled\\\":false,\\\"preferredMaintenanceWindow\\\":\\\"thu:00:46-thu:01:16\\\",\\\"monitoringInterval\\\":0,\\\"dBInstanceStatus\\\":\\\"available\\\",\\\"backupRetentionPeriod\\\":7,\\\"storageType\\\":\\\"gp2\\\",\\\"optionGroupMemberships\\\":[{\\\"optionGroupName\\\":\\\"default:mariadb-10-4\\\",\\\"status\\\":\\\"in-sync\\\"}],\\\"autoMinorVersionUpgrade\\\":true,\\\"copyTagsToSnapshot\\\":true,\\\"latestRestorableTime\\\":\\\"2023-04-20T22:50:00.000Z\\\",\\\"dBInstanceAutomatedBackupsReplications\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":"subnet-fa0523b2","loggedInURL":null,"loginURL":null,"private":null,"resourceId":"db-ISTHVYQUZCQX3QQ5JA5ZRF2R5U","resourceName":"database-1","resourceType":"AWS::RDS::DBInstance","resourceValue":null,"state":null,"tags":"[]","title":"database-1","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#248814","properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-fa0523b2","configuration":"\"{\\\"subnetId\\\":\\\"subnet-fa0523b2\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-fa0523b2\\\",\\\"availabilityZoneId\\\":\\\"euw1-az2\\\",\\\"cidrBlock\\\":\\\"172.31.16.0/20\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[],\\\"availableIpAddressCount\\\":4087,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"mapPublicIpOnLaunch\\\":true,\\\"defaultForAz\\\":true,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":"subnet-fa0523b2","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":null,"resourceId":"subnet-fa0523b2","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[]","title":"subnet-fa0523b2","instanceType":null,"statement":null,"dBInstanceStatus":null},"resource":{"id":"subnet-fa0523b2","name":null,"value":null,"type":"AWS::EC2::Subnet","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-fa0523b2","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","accountId":"044981683129"}},"position":{"x":-2042.5,"y":-1310.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"subnet removeAll _gridParentPadding"},{"data":{"id":"NetworkInterface-subnet-fa0523b2-eu-west-1a-vpc-ac8663d5-eu-west-1-044981683129","parent":"subnet-fa0523b2-eu-west-1a-vpc-ac8663d5-eu-west-1-044981683129","level":5,"title":"NetworkInterface","label":"NetworkInterface","plainLabel":"NetworkInterface","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0af14e9ac9e15855d","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0af14e9ac9e15855d","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0af14e9ac9e15855d\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-172-31-29-251.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.29.251\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-fa0523b2\\\",\\\"requesterId\\\":\\\"amazon-rds\\\",\\\"description\\\":\\\"RDSNetworkInterface\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-9a4a97d2\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"172.31.29.251\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:42:c4:c2:b0:81\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0013c00b95a5910d6\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-rds\\\",\\\"attachTime\\\":\\\"2021-09-02T11:52:45.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"privateDnsName\\\":\\\"ip-172-31-29-251.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":"subnet-fa0523b2","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0af14e9ac9e15855d","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0af14e9ac9e15855d","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0457d3ce238ba3401","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0457d3ce238ba3401","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0457d3ce238ba3401\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-172-31-31-218.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.31.218\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-fa0523b2\\\",\\\"requesterId\\\":\\\"amazon-redshift\\\",\\\"description\\\":\\\"RedshiftNetworkInterface\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-9a4a97d2\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"172.31.31.218\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:0d:a9:d6:61:39\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"privateDnsName\\\":\\\"ip-172-31-31-218.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":"subnet-fa0523b2","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0457d3ce238ba3401","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0457d3ce238ba3401","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-04798797c3fabba73","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-04798797c3fabba73","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-04798797c3fabba73\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-172-31-18-43.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.18.43\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-fa0523b2\\\",\\\"requesterId\\\":\\\"amazon-redshift\\\",\\\"description\\\":\\\"RedshiftNetworkInterface\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-9a4a97d2\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"172.31.18.43\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:b5:78:08:fb:5f\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"privateDnsName\\\":\\\"ip-172-31-18-43.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":"subnet-fa0523b2","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-04798797c3fabba73","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-04798797c3fabba73","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0c5554519bafc4af1","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0c5554519bafc4af1","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0c5554519bafc4af1\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-172-31-18-245.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.18.245\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-fa0523b2\\\",\\\"requesterId\\\":\\\"amazon-redshift\\\",\\\"description\\\":\\\"RedshiftNetworkInterface\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-9a4a97d2\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"172.31.18.245\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:c8:04:44:a1:cf\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"privateDnsName\\\":\\\"ip-172-31-18-245.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":"subnet-fa0523b2","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0c5554519bafc4af1","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0c5554519bafc4af1","instanceType":null,"statement":null,"dBInstanceStatus":null}}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-2099,"y":-1310.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0af14e9ac9e15855d","resourceId":["eni-0af14e9ac9e15855d","arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0af14e9ac9e15855d"],"parent":"NetworkInterface-subnet-fa0523b2-eu-west-1a-vpc-ac8663d5-eu-west-1-044981683129","level":6,"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0af14e9ac9e15855d","title":"eni-0af14e9ac9e15855d","label":"eni-0af14e9a...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0af14e9ac9e15855d","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-0af14e9ac9e15855d","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0af14e9ac9e15855d","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0af14e9ac9e15855d","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0af14e9ac9e15855d\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-172-31-29-251.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.29.251\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-fa0523b2\\\",\\\"requesterId\\\":\\\"amazon-rds\\\",\\\"description\\\":\\\"RDSNetworkInterface\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-9a4a97d2\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"172.31.29.251\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:42:c4:c2:b0:81\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0013c00b95a5910d6\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-rds\\\",\\\"attachTime\\\":\\\"2021-09-02T11:52:45.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"privateDnsName\\\":\\\"ip-172-31-29-251.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":"subnet-fa0523b2","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0af14e9ac9e15855d","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0af14e9ac9e15855d","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2135.5,"y":-1347.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0457d3ce238ba3401","resourceId":["eni-0457d3ce238ba3401","arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0457d3ce238ba3401"],"parent":"NetworkInterface-subnet-fa0523b2-eu-west-1a-vpc-ac8663d5-eu-west-1-044981683129","level":6,"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0457d3ce238ba3401","title":"eni-0457d3ce238ba3401","label":"eni-0457d3ce...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0457d3ce238ba3401","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-0457d3ce238ba3401","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0457d3ce238ba3401","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0457d3ce238ba3401","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0457d3ce238ba3401\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-172-31-31-218.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.31.218\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-fa0523b2\\\",\\\"requesterId\\\":\\\"amazon-redshift\\\",\\\"description\\\":\\\"RedshiftNetworkInterface\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-9a4a97d2\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"172.31.31.218\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:0d:a9:d6:61:39\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"privateDnsName\\\":\\\"ip-172-31-31-218.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":"subnet-fa0523b2","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0457d3ce238ba3401","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0457d3ce238ba3401","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2062.5,"y":-1347.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-04798797c3fabba73","resourceId":["eni-04798797c3fabba73","arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-04798797c3fabba73"],"parent":"NetworkInterface-subnet-fa0523b2-eu-west-1a-vpc-ac8663d5-eu-west-1-044981683129","level":6,"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-04798797c3fabba73","title":"eni-04798797c3fabba73","label":"eni-04798797...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-04798797c3fabba73","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-04798797c3fabba73","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-04798797c3fabba73","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-04798797c3fabba73","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-04798797c3fabba73\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-172-31-18-43.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.18.43\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-fa0523b2\\\",\\\"requesterId\\\":\\\"amazon-redshift\\\",\\\"description\\\":\\\"RedshiftNetworkInterface\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-9a4a97d2\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"172.31.18.43\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:b5:78:08:fb:5f\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"privateDnsName\\\":\\\"ip-172-31-18-43.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":"subnet-fa0523b2","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-04798797c3fabba73","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-04798797c3fabba73","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2135.5,"y":-1274.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0c5554519bafc4af1","resourceId":["eni-0c5554519bafc4af1","arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0c5554519bafc4af1"],"parent":"NetworkInterface-subnet-fa0523b2-eu-west-1a-vpc-ac8663d5-eu-west-1-044981683129","level":6,"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0c5554519bafc4af1","title":"eni-0c5554519bafc4af1","label":"eni-0c555451...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0c5554519bafc4af1","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-0c5554519bafc4af1","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0c5554519bafc4af1","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0c5554519bafc4af1","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0c5554519bafc4af1\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-172-31-18-245.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.18.245\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-fa0523b2\\\",\\\"requesterId\\\":\\\"amazon-redshift\\\",\\\"description\\\":\\\"RedshiftNetworkInterface\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-9a4a97d2\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"172.31.18.245\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:c8:04:44:a1:cf\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"privateDnsName\\\":\\\"ip-172-31-18-245.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":"subnet-fa0523b2","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0c5554519bafc4af1","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0c5554519bafc4af1","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2062.5,"y":-1274.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"DBInstance-subnet-fa0523b2-eu-west-1a-vpc-ac8663d5-eu-west-1-044981683129","parent":"subnet-fa0523b2-eu-west-1a-vpc-ac8663d5-eu-west-1-044981683129","level":5,"title":"DBInstance","label":"DBInstance","plainLabel":"DBInstance","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-RDS_Amazon-RDS_instance_light-bg-menu.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:rds:eu-west-1:044981683129:db:database-1","label":"AWS_RDS_DBInstance","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:db:database-1","configuration":"\"{\\\"allocatedStorage\\\":20,\\\"enabledCloudwatchLogsExports\\\":[],\\\"cACertificateIdentifier\\\":\\\"rds-ca-2019\\\",\\\"readReplicaDBClusterIdentifiers\\\":[],\\\"dbInstancePort\\\":0,\\\"associatedRoles\\\":[],\\\"dBParameterGroups\\\":[{\\\"dBParameterGroupName\\\":\\\"default.mariadb10.4\\\",\\\"parameterApplyStatus\\\":\\\"in-sync\\\"}],\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"preferredBackupWindow\\\":\\\"23:33-00:03\\\",\\\"dbiResourceId\\\":\\\"db-ISTHVYQUZCQX3QQ5JA5ZRF2R5U\\\",\\\"deletionProtection\\\":false,\\\"dBInstanceIdentifier\\\":\\\"database-1\\\",\\\"dBInstanceArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:db:database-1\\\",\\\"endpoint\\\":{\\\"hostedZoneId\\\":\\\"Z29XKXDKYMONMX\\\",\\\"address\\\":\\\"database-1.ccc9f5a6ekin.eu-west-1.rds.amazonaws.com\\\",\\\"port\\\":3306},\\\"dBSecurityGroups\\\":[],\\\"engine\\\":\\\"mariadb\\\",\\\"maxAllocatedStorage\\\":1000,\\\"publiclyAccessible\\\":false,\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"statusInfos\\\":[],\\\"engineVersion\\\":\\\"10.4.26\\\",\\\"performanceInsightsEnabled\\\":false,\\\"masterUsername\\\":\\\"admin\\\",\\\"multiAZ\\\":false,\\\"instanceCreateTime\\\":\\\"2021-09-02T11:55:32.030Z\\\",\\\"domainMemberships\\\":[],\\\"dBInstanceClass\\\":\\\"db.t2.micro\\\",\\\"storageEncrypted\\\":false,\\\"processorFeatures\\\":[],\\\"dBSubnetGroup\\\":{\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"subnets\\\":[{\\\"subnetIdentifier\\\":\\\"subnet-fa0523b2\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1a\\\"}},{\\\"subnetIdentifier\\\":\\\"subnet-459f0f1f\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1b\\\"}},{\\\"subnetIdentifier\\\":\\\"subnet-cedd8aa8\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1c\\\"}}],\\\"subnetGroupStatus\\\":\\\"Complete\\\",\\\"dBSubnetGroupName\\\":\\\"default-vpc-ac8663d5\\\",\\\"dBSubnetGroupDescription\\\":\\\"Created from the RDS Management Console\\\"},\\\"vpcSecurityGroups\\\":[{\\\"vpcSecurityGroupId\\\":\\\"sg-9a4a97d2\\\",\\\"status\\\":\\\"active\\\"}],\\\"tagList\\\":[],\\\"readReplicaDBInstanceIdentifiers\\\":[],\\\"pendingModifiedValues\\\":{\\\"processorFeatures\\\":[]},\\\"licenseModel\\\":\\\"general-public-license\\\",\\\"customerOwnedIpEnabled\\\":false,\\\"preferredMaintenanceWindow\\\":\\\"thu:00:46-thu:01:16\\\",\\\"monitoringInterval\\\":0,\\\"dBInstanceStatus\\\":\\\"available\\\",\\\"backupRetentionPeriod\\\":7,\\\"storageType\\\":\\\"gp2\\\",\\\"optionGroupMemberships\\\":[{\\\"optionGroupName\\\":\\\"default:mariadb-10-4\\\",\\\"status\\\":\\\"in-sync\\\"}],\\\"autoMinorVersionUpgrade\\\":true,\\\"copyTagsToSnapshot\\\":true,\\\"latestRestorableTime\\\":\\\"2023-04-20T22:50:00.000Z\\\",\\\"dBInstanceAutomatedBackupsReplications\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":"subnet-fa0523b2","loggedInURL":null,"loginURL":null,"private":null,"resourceId":"db-ISTHVYQUZCQX3QQ5JA5ZRF2R5U","resourceName":"database-1","resourceType":"AWS::RDS::DBInstance","resourceValue":null,"state":null,"tags":"[]","title":"database-1","instanceType":null,"statement":null,"dBInstanceStatus":null}}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1949.5,"y":-1347.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:rds:eu-west-1:044981683129:db:database-1","resourceId":["db-ISTHVYQUZCQX3QQ5JA5ZRF2R5U","arn:aws:rds:eu-west-1:044981683129:db:database-1"],"parent":"DBInstance-subnet-fa0523b2-eu-west-1a-vpc-ac8663d5-eu-west-1-044981683129","level":6,"id":"arn:aws:rds:eu-west-1:044981683129:db:database-1","title":"database-1","label":"database-1","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#1D8102","borderStyle":"dotted","borderColour":"#1D8102","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:rds:eu-west-1:044981683129:db:database-1","state":{"status":"status-available","text":"available","color":"#1D8102"},"image":"/icons/Amazon-RDS_MariaDB_instance_light-bg.svg","cost":0,"private":false,"detailsComponent":{"key":null,"ref":null,"props":{"title":"Instance Details","configuration":"\"{\\\"allocatedStorage\\\":20,\\\"enabledCloudwatchLogsExports\\\":[],\\\"cACertificateIdentifier\\\":\\\"rds-ca-2019\\\",\\\"readReplicaDBClusterIdentifiers\\\":[],\\\"dbInstancePort\\\":0,\\\"associatedRoles\\\":[],\\\"dBParameterGroups\\\":[{\\\"dBParameterGroupName\\\":\\\"default.mariadb10.4\\\",\\\"parameterApplyStatus\\\":\\\"in-sync\\\"}],\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"preferredBackupWindow\\\":\\\"23:33-00:03\\\",\\\"dbiResourceId\\\":\\\"db-ISTHVYQUZCQX3QQ5JA5ZRF2R5U\\\",\\\"deletionProtection\\\":false,\\\"dBInstanceIdentifier\\\":\\\"database-1\\\",\\\"dBInstanceArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:db:database-1\\\",\\\"endpoint\\\":{\\\"hostedZoneId\\\":\\\"Z29XKXDKYMONMX\\\",\\\"address\\\":\\\"database-1.ccc9f5a6ekin.eu-west-1.rds.amazonaws.com\\\",\\\"port\\\":3306},\\\"dBSecurityGroups\\\":[],\\\"engine\\\":\\\"mariadb\\\",\\\"maxAllocatedStorage\\\":1000,\\\"publiclyAccessible\\\":false,\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"statusInfos\\\":[],\\\"engineVersion\\\":\\\"10.4.26\\\",\\\"performanceInsightsEnabled\\\":false,\\\"masterUsername\\\":\\\"admin\\\",\\\"multiAZ\\\":false,\\\"instanceCreateTime\\\":\\\"2021-09-02T11:55:32.030Z\\\",\\\"domainMemberships\\\":[],\\\"dBInstanceClass\\\":\\\"db.t2.micro\\\",\\\"storageEncrypted\\\":false,\\\"processorFeatures\\\":[],\\\"dBSubnetGroup\\\":{\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"subnets\\\":[{\\\"subnetIdentifier\\\":\\\"subnet-fa0523b2\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1a\\\"}},{\\\"subnetIdentifier\\\":\\\"subnet-459f0f1f\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1b\\\"}},{\\\"subnetIdentifier\\\":\\\"subnet-cedd8aa8\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1c\\\"}}],\\\"subnetGroupStatus\\\":\\\"Complete\\\",\\\"dBSubnetGroupName\\\":\\\"default-vpc-ac8663d5\\\",\\\"dBSubnetGroupDescription\\\":\\\"Created from the RDS Management Console\\\"},\\\"vpcSecurityGroups\\\":[{\\\"vpcSecurityGroupId\\\":\\\"sg-9a4a97d2\\\",\\\"status\\\":\\\"active\\\"}],\\\"tagList\\\":[],\\\"readReplicaDBInstanceIdentifiers\\\":[],\\\"pendingModifiedValues\\\":{\\\"processorFeatures\\\":[]},\\\"licenseModel\\\":\\\"general-public-license\\\",\\\"customerOwnedIpEnabled\\\":false,\\\"preferredMaintenanceWindow\\\":\\\"thu:00:46-thu:01:16\\\",\\\"monitoringInterval\\\":0,\\\"dBInstanceStatus\\\":\\\"available\\\",\\\"backupRetentionPeriod\\\":7,\\\"storageType\\\":\\\"gp2\\\",\\\"optionGroupMemberships\\\":[{\\\"optionGroupName\\\":\\\"default:mariadb-10-4\\\",\\\"status\\\":\\\"in-sync\\\"}],\\\"autoMinorVersionUpgrade\\\":true,\\\"copyTagsToSnapshot\\\":true,\\\"latestRestorableTime\\\":\\\"2023-04-20T22:50:00.000Z\\\",\\\"dBInstanceAutomatedBackupsReplications\\\":[]}\""},"_owner":null,"_store":{}},"resource":{"id":"db-ISTHVYQUZCQX3QQ5JA5ZRF2R5U","name":"database-1","value":null,"type":"AWS::RDS::DBInstance","tags":"[]","arn":"arn:aws:rds:eu-west-1:044981683129:db:database-1","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:db:database-1","configuration":"\"{\\\"allocatedStorage\\\":20,\\\"enabledCloudwatchLogsExports\\\":[],\\\"cACertificateIdentifier\\\":\\\"rds-ca-2019\\\",\\\"readReplicaDBClusterIdentifiers\\\":[],\\\"dbInstancePort\\\":0,\\\"associatedRoles\\\":[],\\\"dBParameterGroups\\\":[{\\\"dBParameterGroupName\\\":\\\"default.mariadb10.4\\\",\\\"parameterApplyStatus\\\":\\\"in-sync\\\"}],\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"preferredBackupWindow\\\":\\\"23:33-00:03\\\",\\\"dbiResourceId\\\":\\\"db-ISTHVYQUZCQX3QQ5JA5ZRF2R5U\\\",\\\"deletionProtection\\\":false,\\\"dBInstanceIdentifier\\\":\\\"database-1\\\",\\\"dBInstanceArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:db:database-1\\\",\\\"endpoint\\\":{\\\"hostedZoneId\\\":\\\"Z29XKXDKYMONMX\\\",\\\"address\\\":\\\"database-1.ccc9f5a6ekin.eu-west-1.rds.amazonaws.com\\\",\\\"port\\\":3306},\\\"dBSecurityGroups\\\":[],\\\"engine\\\":\\\"mariadb\\\",\\\"maxAllocatedStorage\\\":1000,\\\"publiclyAccessible\\\":false,\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"statusInfos\\\":[],\\\"engineVersion\\\":\\\"10.4.26\\\",\\\"performanceInsightsEnabled\\\":false,\\\"masterUsername\\\":\\\"admin\\\",\\\"multiAZ\\\":false,\\\"instanceCreateTime\\\":\\\"2021-09-02T11:55:32.030Z\\\",\\\"domainMemberships\\\":[],\\\"dBInstanceClass\\\":\\\"db.t2.micro\\\",\\\"storageEncrypted\\\":false,\\\"processorFeatures\\\":[],\\\"dBSubnetGroup\\\":{\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"subnets\\\":[{\\\"subnetIdentifier\\\":\\\"subnet-fa0523b2\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1a\\\"}},{\\\"subnetIdentifier\\\":\\\"subnet-459f0f1f\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1b\\\"}},{\\\"subnetIdentifier\\\":\\\"subnet-cedd8aa8\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1c\\\"}}],\\\"subnetGroupStatus\\\":\\\"Complete\\\",\\\"dBSubnetGroupName\\\":\\\"default-vpc-ac8663d5\\\",\\\"dBSubnetGroupDescription\\\":\\\"Created from the RDS Management Console\\\"},\\\"vpcSecurityGroups\\\":[{\\\"vpcSecurityGroupId\\\":\\\"sg-9a4a97d2\\\",\\\"status\\\":\\\"active\\\"}],\\\"tagList\\\":[],\\\"readReplicaDBInstanceIdentifiers\\\":[],\\\"pendingModifiedValues\\\":{\\\"processorFeatures\\\":[]},\\\"licenseModel\\\":\\\"general-public-license\\\",\\\"customerOwnedIpEnabled\\\":false,\\\"preferredMaintenanceWindow\\\":\\\"thu:00:46-thu:01:16\\\",\\\"monitoringInterval\\\":0,\\\"dBInstanceStatus\\\":\\\"available\\\",\\\"backupRetentionPeriod\\\":7,\\\"storageType\\\":\\\"gp2\\\",\\\"optionGroupMemberships\\\":[{\\\"optionGroupName\\\":\\\"default:mariadb-10-4\\\",\\\"status\\\":\\\"in-sync\\\"}],\\\"autoMinorVersionUpgrade\\\":true,\\\"copyTagsToSnapshot\\\":true,\\\"latestRestorableTime\\\":\\\"2023-04-20T22:50:00.000Z\\\",\\\"dBInstanceAutomatedBackupsReplications\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":"subnet-fa0523b2","loggedInURL":null,"loginURL":null,"private":null,"resourceId":"db-ISTHVYQUZCQX3QQ5JA5ZRF2R5U","resourceName":"database-1","resourceType":"AWS::RDS::DBInstance","resourceValue":null,"state":null,"tags":"[]","title":"database-1","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1949.5,"y":-1347.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"Cluster-eu-west-1a-vpc-ac8663d5-eu-west-1-044981683129","parent":"eu-west-1a-vpc-ac8663d5-eu-west-1-044981683129","level":4,"title":"Cluster","label":"Cluster","plainLabel":"Cluster","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-Redshift_light-bg-menu.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:redshift:eu-west-1:044981683129:cluster:redshift-cluster-1","label":"AWS_Redshift_Cluster","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:redshift:eu-west-1:044981683129:cluster:redshift-cluster-1","configuration":"\"{\\\"allowVersionUpgrade\\\":true,\\\"clusterIdentifier\\\":\\\"redshift-cluster-1\\\",\\\"clusterRevisionNumber\\\":\\\"22575\\\",\\\"numberOfNodes\\\":2,\\\"clusterPublicKey\\\":\\\"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDaB49cR9Fvb0HWLR5Sknhbhm2gd1X2IjmtSOzU4TuVqosC5ApiZZZbb3+pn1SqLduglWxO2AtqrlGO+wl7TcK472efAK1Q7dhdy+4njypy1qsaUKnAZj5+tBbr4lzABEkT5wTDCuEoyilqvmRi+ANxy4J70/ZPN3daTS8X39ZCvt7YGpf0HZRC6ra2CzxQloOMv3QnewO8YyhulTl3y2zXgxvzLmnWa5qTRaf7udIsbgqn8W49XwZuicv+1kqfdq02TT3nOis8Mrrz12TlURkI6WuiE9ivSjSdOzDcqx3xmE7kz7GaVw7OUPMN1O/rm52yoV77Naunv464rQuHVOEH Amazon-Redshift\\\\n\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"clusterVersion\\\":\\\"1.0\\\",\\\"clusterAvailabilityStatus\\\":\\\"Paused\\\",\\\"manualSnapshotRetentionPeriod\\\":-1,\\\"endpoint\\\":{\\\"vpcEndpoints\\\":[],\\\"address\\\":\\\"redshift-cluster-1.csujultbfxdj.eu-west-1.redshift.amazonaws.com\\\",\\\"port\\\":5439},\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"publiclyAccessible\\\":false,\\\"elasticResizeNumberOfNodeOptions\\\":\\\"[4]\\\",\\\"pendingActions\\\":[],\\\"clusterCreateTime\\\":\\\"2021-01-19T09:49:17.194Z\\\",\\\"masterUsername\\\":\\\"awsuser\\\",\\\"dBName\\\":\\\"dev\\\",\\\"enhancedVpcRouting\\\":false,\\\"iamRoles\\\":[],\\\"clusterNamespaceArn\\\":\\\"arn:aws:redshift:eu-west-1:044981683129:namespace:ed95b7c3-f7e6-4bc2-850e-98fa2e2a4912\\\",\\\"clusterSecurityGroups\\\":[],\\\"nodeType\\\":\\\"dc2.large\\\",\\\"availabilityZoneRelocationStatus\\\":\\\"disabled\\\",\\\"clusterSubnetGroupName\\\":\\\"default\\\",\\\"nextMaintenanceWindowStartTime\\\":\\\"2023-04-23T00:00:00.000Z\\\",\\\"deferredMaintenanceWindows\\\":[],\\\"tags\\\":[],\\\"vpcSecurityGroups\\\":[{\\\"vpcSecurityGroupId\\\":\\\"sg-9a4a97d2\\\",\\\"status\\\":\\\"active\\\"}],\\\"clusterParameterGroups\\\":[{\\\"parameterGroupName\\\":\\\"default.redshift-1.0\\\",\\\"clusterParameterStatusList\\\":[],\\\"parameterApplyStatus\\\":\\\"in-sync\\\"}],\\\"encrypted\\\":false,\\\"clusterNodes\\\":[],\\\"pendingModifiedValues\\\":{},\\\"maintenanceTrackName\\\":\\\"current\\\",\\\"preferredMaintenanceWindow\\\":\\\"sun:00:00-sun:00:30\\\",\\\"aquaConfiguration\\\":{\\\"aquaConfigurationStatus\\\":\\\"auto\\\",\\\"aquaStatus\\\":\\\"disabled\\\"},\\\"automatedSnapshotRetentionPeriod\\\":1,\\\"clusterStatus\\\":\\\"paused\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"redshift-cluster-1","resourceName":"redshift-cluster-1","resourceType":"AWS::Redshift::Cluster","resourceValue":null,"state":null,"tags":"[]","title":"redshift-cluster-1","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-2155.5,"y":-1114.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:redshift:eu-west-1:044981683129:cluster:redshift-cluster-1","resourceId":["redshift-cluster-1","arn:aws:redshift:eu-west-1:044981683129:cluster:redshift-cluster-1"],"parent":"Cluster-eu-west-1a-vpc-ac8663d5-eu-west-1-044981683129","level":5,"id":"arn:aws:redshift:eu-west-1:044981683129:cluster:redshift-cluster-1","title":"redshift-cluster-1","label":"redshift-clu...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:redshift:eu-west-1:044981683129:cluster:redshift-cluster-1","image":"/icons/Amazon-Redshift_light-bg-menu.svg","cost":0,"private":false,"resource":{"id":"redshift-cluster-1","name":"redshift-cluster-1","value":null,"type":"AWS::Redshift::Cluster","tags":"[]","arn":"arn:aws:redshift:eu-west-1:044981683129:cluster:redshift-cluster-1","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:redshift:eu-west-1:044981683129:cluster:redshift-cluster-1","configuration":"\"{\\\"allowVersionUpgrade\\\":true,\\\"clusterIdentifier\\\":\\\"redshift-cluster-1\\\",\\\"clusterRevisionNumber\\\":\\\"22575\\\",\\\"numberOfNodes\\\":2,\\\"clusterPublicKey\\\":\\\"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDaB49cR9Fvb0HWLR5Sknhbhm2gd1X2IjmtSOzU4TuVqosC5ApiZZZbb3+pn1SqLduglWxO2AtqrlGO+wl7TcK472efAK1Q7dhdy+4njypy1qsaUKnAZj5+tBbr4lzABEkT5wTDCuEoyilqvmRi+ANxy4J70/ZPN3daTS8X39ZCvt7YGpf0HZRC6ra2CzxQloOMv3QnewO8YyhulTl3y2zXgxvzLmnWa5qTRaf7udIsbgqn8W49XwZuicv+1kqfdq02TT3nOis8Mrrz12TlURkI6WuiE9ivSjSdOzDcqx3xmE7kz7GaVw7OUPMN1O/rm52yoV77Naunv464rQuHVOEH Amazon-Redshift\\\\n\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"clusterVersion\\\":\\\"1.0\\\",\\\"clusterAvailabilityStatus\\\":\\\"Paused\\\",\\\"manualSnapshotRetentionPeriod\\\":-1,\\\"endpoint\\\":{\\\"vpcEndpoints\\\":[],\\\"address\\\":\\\"redshift-cluster-1.csujultbfxdj.eu-west-1.redshift.amazonaws.com\\\",\\\"port\\\":5439},\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"publiclyAccessible\\\":false,\\\"elasticResizeNumberOfNodeOptions\\\":\\\"[4]\\\",\\\"pendingActions\\\":[],\\\"clusterCreateTime\\\":\\\"2021-01-19T09:49:17.194Z\\\",\\\"masterUsername\\\":\\\"awsuser\\\",\\\"dBName\\\":\\\"dev\\\",\\\"enhancedVpcRouting\\\":false,\\\"iamRoles\\\":[],\\\"clusterNamespaceArn\\\":\\\"arn:aws:redshift:eu-west-1:044981683129:namespace:ed95b7c3-f7e6-4bc2-850e-98fa2e2a4912\\\",\\\"clusterSecurityGroups\\\":[],\\\"nodeType\\\":\\\"dc2.large\\\",\\\"availabilityZoneRelocationStatus\\\":\\\"disabled\\\",\\\"clusterSubnetGroupName\\\":\\\"default\\\",\\\"nextMaintenanceWindowStartTime\\\":\\\"2023-04-23T00:00:00.000Z\\\",\\\"deferredMaintenanceWindows\\\":[],\\\"tags\\\":[],\\\"vpcSecurityGroups\\\":[{\\\"vpcSecurityGroupId\\\":\\\"sg-9a4a97d2\\\",\\\"status\\\":\\\"active\\\"}],\\\"clusterParameterGroups\\\":[{\\\"parameterGroupName\\\":\\\"default.redshift-1.0\\\",\\\"clusterParameterStatusList\\\":[],\\\"parameterApplyStatus\\\":\\\"in-sync\\\"}],\\\"encrypted\\\":false,\\\"clusterNodes\\\":[],\\\"pendingModifiedValues\\\":{},\\\"maintenanceTrackName\\\":\\\"current\\\",\\\"preferredMaintenanceWindow\\\":\\\"sun:00:00-sun:00:30\\\",\\\"aquaConfiguration\\\":{\\\"aquaConfigurationStatus\\\":\\\"auto\\\",\\\"aquaStatus\\\":\\\"disabled\\\"},\\\"automatedSnapshotRetentionPeriod\\\":1,\\\"clusterStatus\\\":\\\"paused\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"redshift-cluster-1","resourceName":"redshift-cluster-1","resourceType":"AWS::Redshift::Cluster","resourceValue":null,"state":null,"tags":"[]","title":"redshift-cluster-1","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2155.5,"y":-1114.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"ClusterSnapshot-eu-west-1a-vpc-ac8663d5-eu-west-1-044981683129","parent":"eu-west-1a-vpc-ac8663d5-eu-west-1-044981683129","level":4,"title":"ClusterSnapshot","label":"ClusterSnapshot","plainLabel":"ClusterSnapshot","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-Redshift_light-snapshot.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:redshift:eu-west-1:044981683129:snapshot:redshift-cluster-1/rs:redshift-cluster-1-2021-01-19-18-47-40","label":"AWS_Redshift_ClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:redshift:eu-west-1:044981683129:snapshot:redshift-cluster-1/rs:redshift-cluster-1-2021-01-19-18-47-40","configuration":"\"{\\\"snapshotRetentionStartTime\\\":\\\"2021-01-19T18:47:42.918Z\\\",\\\"clusterIdentifier\\\":\\\"redshift-cluster-1\\\",\\\"encryptedWithHSM\\\":false,\\\"numberOfNodes\\\":2,\\\"ownerAccount\\\":\\\"044981683129\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"clusterVersion\\\":\\\"1.0\\\",\\\"totalBackupSizeInMegaBytes\\\":55,\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"backupProgressInMegaBytes\\\":18,\\\"currentBackupRateInMegaBytesPerSecond\\\":8.0899,\\\"clusterCreateTime\\\":\\\"2021-01-19T09:49:17.194Z\\\",\\\"accountsWithRestoreAccess\\\":[],\\\"elapsedTimeInSeconds\\\":2,\\\"engineFullVersion\\\":\\\"1.0.22575\\\",\\\"masterUsername\\\":\\\"awsuser\\\",\\\"dBName\\\":\\\"dev\\\",\\\"actualIncrementalBackupSizeInMegaBytes\\\":18,\\\"snapshotType\\\":\\\"automated\\\",\\\"enhancedVpcRouting\\\":false,\\\"snapshotIdentifier\\\":\\\"rs:redshift-cluster-1-2021-01-19-18-47-40\\\",\\\"nodeType\\\":\\\"dc2.large\\\",\\\"tags\\\":[],\\\"restorableNodeTypes\\\":[\\\"dc2.large\\\"],\\\"encrypted\\\":false,\\\"port\\\":5439,\\\"estimatedSecondsToCompletion\\\":0,\\\"snapshotCreateTime\\\":\\\"2021-01-19T18:47:40.693Z\\\",\\\"maintenanceTrackName\\\":\\\"current\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rs:redshift-cluster-1-2021-01-19-18-47-40","resourceName":"rs:redshift-cluster-1-2021-01-19-18-47-40","resourceType":"AWS::Redshift::ClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rs:redshift-cluster-1-2021-01-19-18-47-40","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-2042.5,"y":-1114.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:redshift:eu-west-1:044981683129:snapshot:redshift-cluster-1/rs:redshift-cluster-1-2021-01-19-18-47-40","resourceId":["rs:redshift-cluster-1-2021-01-19-18-47-40","arn:aws:redshift:eu-west-1:044981683129:snapshot:redshift-cluster-1/rs:redshift-cluster-1-2021-01-19-18-47-40"],"parent":"ClusterSnapshot-eu-west-1a-vpc-ac8663d5-eu-west-1-044981683129","level":5,"id":"arn:aws:redshift:eu-west-1:044981683129:snapshot:redshift-cluster-1/rs:redshift-cluster-1-2021-01-19-18-47-40","title":"rs:redshift-cluster-1-2021-01-19-18-47-40","label":"rs:redshift-...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:redshift:eu-west-1:044981683129:snapshot:redshift-cluster-1/rs:redshift-cluster-1-2021-01-19-18-47-40","image":"/icons/Amazon-Redshift_light-snapshot.svg","cost":0,"private":false,"resource":{"id":"rs:redshift-cluster-1-2021-01-19-18-47-40","name":"rs:redshift-cluster-1-2021-01-19-18-47-40","value":null,"type":"AWS::Redshift::ClusterSnapshot","tags":"[]","arn":"arn:aws:redshift:eu-west-1:044981683129:snapshot:redshift-cluster-1/rs:redshift-cluster-1-2021-01-19-18-47-40","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:redshift:eu-west-1:044981683129:snapshot:redshift-cluster-1/rs:redshift-cluster-1-2021-01-19-18-47-40","configuration":"\"{\\\"snapshotRetentionStartTime\\\":\\\"2021-01-19T18:47:42.918Z\\\",\\\"clusterIdentifier\\\":\\\"redshift-cluster-1\\\",\\\"encryptedWithHSM\\\":false,\\\"numberOfNodes\\\":2,\\\"ownerAccount\\\":\\\"044981683129\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"clusterVersion\\\":\\\"1.0\\\",\\\"totalBackupSizeInMegaBytes\\\":55,\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"backupProgressInMegaBytes\\\":18,\\\"currentBackupRateInMegaBytesPerSecond\\\":8.0899,\\\"clusterCreateTime\\\":\\\"2021-01-19T09:49:17.194Z\\\",\\\"accountsWithRestoreAccess\\\":[],\\\"elapsedTimeInSeconds\\\":2,\\\"engineFullVersion\\\":\\\"1.0.22575\\\",\\\"masterUsername\\\":\\\"awsuser\\\",\\\"dBName\\\":\\\"dev\\\",\\\"actualIncrementalBackupSizeInMegaBytes\\\":18,\\\"snapshotType\\\":\\\"automated\\\",\\\"enhancedVpcRouting\\\":false,\\\"snapshotIdentifier\\\":\\\"rs:redshift-cluster-1-2021-01-19-18-47-40\\\",\\\"nodeType\\\":\\\"dc2.large\\\",\\\"tags\\\":[],\\\"restorableNodeTypes\\\":[\\\"dc2.large\\\"],\\\"encrypted\\\":false,\\\"port\\\":5439,\\\"estimatedSecondsToCompletion\\\":0,\\\"snapshotCreateTime\\\":\\\"2021-01-19T18:47:40.693Z\\\",\\\"maintenanceTrackName\\\":\\\"current\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rs:redshift-cluster-1-2021-01-19-18-47-40","resourceName":"rs:redshift-cluster-1-2021-01-19-18-47-40","resourceType":"AWS::Redshift::ClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rs:redshift-cluster-1-2021-01-19-18-47-40","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2042.5,"y":-1114.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"DBSnapshot-eu-west-1a-vpc-ac8663d5-eu-west-1-044981683129","parent":"eu-west-1a-vpc-ac8663d5-eu-west-1-044981683129","level":4,"title":"DBSnapshot","label":"DBSnapshot","plainLabel":"DBSnapshot","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-RDS_Amazon-RDS_Snapshot_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-11-23-44","label":"AWS_RDS_DBSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-11-23-44","configuration":"\"{\\\"engineVersion\\\":\\\"10.4.26\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T11:55:32.030Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-11-23-44\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-ISTHVYQUZCQX3QQ5JA5ZRF2R5U\\\",\\\"dBInstanceIdentifier\\\":\\\"database-1\\\",\\\"tagList\\\":[],\\\"encrypted\\\":false,\\\"engine\\\":\\\"mariadb\\\",\\\"port\\\":3306,\\\"snapshotCreateTime\\\":\\\"2023-04-11T23:44:32.741Z\\\",\\\"licenseModel\\\":\\\"general-public-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-1-2023-04-11-23-44\\\",\\\"optionGroupName\\\":\\\"default:mariadb-10-4\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-1-2023-04-11-23-44","resourceName":"rds:database-1-2023-04-11-23-44","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-1-2023-04-11-23-44","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-12-23-44","label":"AWS_RDS_DBSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-12-23-44","configuration":"\"{\\\"engineVersion\\\":\\\"10.4.26\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T11:55:32.030Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-12-23-44\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-ISTHVYQUZCQX3QQ5JA5ZRF2R5U\\\",\\\"dBInstanceIdentifier\\\":\\\"database-1\\\",\\\"tagList\\\":[],\\\"encrypted\\\":false,\\\"engine\\\":\\\"mariadb\\\",\\\"port\\\":3306,\\\"snapshotCreateTime\\\":\\\"2023-04-12T23:44:44.011Z\\\",\\\"licenseModel\\\":\\\"general-public-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-1-2023-04-12-23-44\\\",\\\"optionGroupName\\\":\\\"default:mariadb-10-4\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-1-2023-04-12-23-44","resourceName":"rds:database-1-2023-04-12-23-44","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-1-2023-04-12-23-44","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-13-23-44","label":"AWS_RDS_DBSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-13-23-44","configuration":"\"{\\\"engineVersion\\\":\\\"10.4.26\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T11:55:32.030Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-13-23-44\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-ISTHVYQUZCQX3QQ5JA5ZRF2R5U\\\",\\\"dBInstanceIdentifier\\\":\\\"database-1\\\",\\\"tagList\\\":[],\\\"encrypted\\\":false,\\\"engine\\\":\\\"mariadb\\\",\\\"port\\\":3306,\\\"snapshotCreateTime\\\":\\\"2023-04-13T23:44:57.533Z\\\",\\\"licenseModel\\\":\\\"general-public-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-1-2023-04-13-23-44\\\",\\\"optionGroupName\\\":\\\"default:mariadb-10-4\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-1-2023-04-13-23-44","resourceName":"rds:database-1-2023-04-13-23-44","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-1-2023-04-13-23-44","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-14-23-45","label":"AWS_RDS_DBSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-14-23-45","configuration":"\"{\\\"engineVersion\\\":\\\"10.4.26\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T11:55:32.030Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-14-23-45\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-ISTHVYQUZCQX3QQ5JA5ZRF2R5U\\\",\\\"dBInstanceIdentifier\\\":\\\"database-1\\\",\\\"tagList\\\":[],\\\"encrypted\\\":false,\\\"engine\\\":\\\"mariadb\\\",\\\"port\\\":3306,\\\"snapshotCreateTime\\\":\\\"2023-04-14T23:45:37.216Z\\\",\\\"licenseModel\\\":\\\"general-public-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-1-2023-04-14-23-45\\\",\\\"optionGroupName\\\":\\\"default:mariadb-10-4\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-1-2023-04-14-23-45","resourceName":"rds:database-1-2023-04-14-23-45","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-1-2023-04-14-23-45","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-15-23-44","label":"AWS_RDS_DBSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-15-23-44","configuration":"\"{\\\"engineVersion\\\":\\\"10.4.26\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T11:55:32.030Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-15-23-44\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-ISTHVYQUZCQX3QQ5JA5ZRF2R5U\\\",\\\"dBInstanceIdentifier\\\":\\\"database-1\\\",\\\"tagList\\\":[],\\\"encrypted\\\":false,\\\"engine\\\":\\\"mariadb\\\",\\\"port\\\":3306,\\\"snapshotCreateTime\\\":\\\"2023-04-15T23:45:02.341Z\\\",\\\"licenseModel\\\":\\\"general-public-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-1-2023-04-15-23-44\\\",\\\"optionGroupName\\\":\\\"default:mariadb-10-4\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-1-2023-04-15-23-44","resourceName":"rds:database-1-2023-04-15-23-44","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-1-2023-04-15-23-44","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-16-23-45","label":"AWS_RDS_DBSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-16-23-45","configuration":"\"{\\\"engineVersion\\\":\\\"10.4.26\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T11:55:32.030Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-16-23-45\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-ISTHVYQUZCQX3QQ5JA5ZRF2R5U\\\",\\\"dBInstanceIdentifier\\\":\\\"database-1\\\",\\\"tagList\\\":[],\\\"encrypted\\\":false,\\\"engine\\\":\\\"mariadb\\\",\\\"port\\\":3306,\\\"snapshotCreateTime\\\":\\\"2023-04-16T23:45:19.864Z\\\",\\\"licenseModel\\\":\\\"general-public-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-1-2023-04-16-23-45\\\",\\\"optionGroupName\\\":\\\"default:mariadb-10-4\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-1-2023-04-16-23-45","resourceName":"rds:database-1-2023-04-16-23-45","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-1-2023-04-16-23-45","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-17-23-45","label":"AWS_RDS_DBSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-17-23-45","configuration":"\"{\\\"engineVersion\\\":\\\"10.4.26\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T11:55:32.030Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-17-23-45\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-ISTHVYQUZCQX3QQ5JA5ZRF2R5U\\\",\\\"dBInstanceIdentifier\\\":\\\"database-1\\\",\\\"tagList\\\":[],\\\"encrypted\\\":false,\\\"engine\\\":\\\"mariadb\\\",\\\"port\\\":3306,\\\"snapshotCreateTime\\\":\\\"2023-04-17T23:45:22.516Z\\\",\\\"licenseModel\\\":\\\"general-public-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-1-2023-04-17-23-45\\\",\\\"optionGroupName\\\":\\\"default:mariadb-10-4\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-1-2023-04-17-23-45","resourceName":"rds:database-1-2023-04-17-23-45","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-1-2023-04-17-23-45","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-18-23-44","label":"AWS_RDS_DBSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-18-23-44","configuration":"\"{\\\"engineVersion\\\":\\\"10.4.26\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T11:55:32.030Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-18-23-44\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-ISTHVYQUZCQX3QQ5JA5ZRF2R5U\\\",\\\"dBInstanceIdentifier\\\":\\\"database-1\\\",\\\"tagList\\\":[],\\\"encrypted\\\":false,\\\"engine\\\":\\\"mariadb\\\",\\\"port\\\":3306,\\\"snapshotCreateTime\\\":\\\"2023-04-18T23:44:45.801Z\\\",\\\"licenseModel\\\":\\\"general-public-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-1-2023-04-18-23-44\\\",\\\"optionGroupName\\\":\\\"default:mariadb-10-4\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-1-2023-04-18-23-44","resourceName":"rds:database-1-2023-04-18-23-44","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-1-2023-04-18-23-44","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-19-23-45","label":"AWS_RDS_DBSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-19-23-45","configuration":"\"{\\\"engineVersion\\\":\\\"10.4.26\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T11:55:32.030Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-19-23-45\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-ISTHVYQUZCQX3QQ5JA5ZRF2R5U\\\",\\\"dBInstanceIdentifier\\\":\\\"database-1\\\",\\\"tagList\\\":[],\\\"encrypted\\\":false,\\\"engine\\\":\\\"mariadb\\\",\\\"port\\\":3306,\\\"snapshotCreateTime\\\":\\\"2023-04-19T23:45:55.929Z\\\",\\\"licenseModel\\\":\\\"general-public-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-1-2023-04-19-23-45\\\",\\\"optionGroupName\\\":\\\"default:mariadb-10-4\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-1-2023-04-19-23-45","resourceName":"rds:database-1-2023-04-19-23-45","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-1-2023-04-19-23-45","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1743.5,"y":-1317.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-11-23-44","resourceId":["rds:database-1-2023-04-11-23-44","arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-11-23-44"],"parent":"DBSnapshot-eu-west-1a-vpc-ac8663d5-eu-west-1-044981683129","level":5,"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-11-23-44","title":"rds:database-1-2023-04-11-23-44","label":"rds:database...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-11-23-44","image":"/icons/Amazon-RDS_Amazon-RDS_Snapshot_light-bg.svg","cost":0,"private":false,"resource":{"id":"rds:database-1-2023-04-11-23-44","name":"rds:database-1-2023-04-11-23-44","value":null,"type":"AWS::RDS::DBSnapshot","tags":"[]","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-11-23-44","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-11-23-44","configuration":"\"{\\\"engineVersion\\\":\\\"10.4.26\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T11:55:32.030Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-11-23-44\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-ISTHVYQUZCQX3QQ5JA5ZRF2R5U\\\",\\\"dBInstanceIdentifier\\\":\\\"database-1\\\",\\\"tagList\\\":[],\\\"encrypted\\\":false,\\\"engine\\\":\\\"mariadb\\\",\\\"port\\\":3306,\\\"snapshotCreateTime\\\":\\\"2023-04-11T23:44:32.741Z\\\",\\\"licenseModel\\\":\\\"general-public-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-1-2023-04-11-23-44\\\",\\\"optionGroupName\\\":\\\"default:mariadb-10-4\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-1-2023-04-11-23-44","resourceName":"rds:database-1-2023-04-11-23-44","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-1-2023-04-11-23-44","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1816.5,"y":-1390.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-12-23-44","resourceId":["rds:database-1-2023-04-12-23-44","arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-12-23-44"],"parent":"DBSnapshot-eu-west-1a-vpc-ac8663d5-eu-west-1-044981683129","level":5,"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-12-23-44","title":"rds:database-1-2023-04-12-23-44","label":"rds:database...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-12-23-44","image":"/icons/Amazon-RDS_Amazon-RDS_Snapshot_light-bg.svg","cost":0,"private":false,"resource":{"id":"rds:database-1-2023-04-12-23-44","name":"rds:database-1-2023-04-12-23-44","value":null,"type":"AWS::RDS::DBSnapshot","tags":"[]","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-12-23-44","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-12-23-44","configuration":"\"{\\\"engineVersion\\\":\\\"10.4.26\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T11:55:32.030Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-12-23-44\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-ISTHVYQUZCQX3QQ5JA5ZRF2R5U\\\",\\\"dBInstanceIdentifier\\\":\\\"database-1\\\",\\\"tagList\\\":[],\\\"encrypted\\\":false,\\\"engine\\\":\\\"mariadb\\\",\\\"port\\\":3306,\\\"snapshotCreateTime\\\":\\\"2023-04-12T23:44:44.011Z\\\",\\\"licenseModel\\\":\\\"general-public-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-1-2023-04-12-23-44\\\",\\\"optionGroupName\\\":\\\"default:mariadb-10-4\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-1-2023-04-12-23-44","resourceName":"rds:database-1-2023-04-12-23-44","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-1-2023-04-12-23-44","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1743.5,"y":-1390.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-13-23-44","resourceId":["rds:database-1-2023-04-13-23-44","arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-13-23-44"],"parent":"DBSnapshot-eu-west-1a-vpc-ac8663d5-eu-west-1-044981683129","level":5,"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-13-23-44","title":"rds:database-1-2023-04-13-23-44","label":"rds:database...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-13-23-44","image":"/icons/Amazon-RDS_Amazon-RDS_Snapshot_light-bg.svg","cost":0,"private":false,"resource":{"id":"rds:database-1-2023-04-13-23-44","name":"rds:database-1-2023-04-13-23-44","value":null,"type":"AWS::RDS::DBSnapshot","tags":"[]","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-13-23-44","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-13-23-44","configuration":"\"{\\\"engineVersion\\\":\\\"10.4.26\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T11:55:32.030Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-13-23-44\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-ISTHVYQUZCQX3QQ5JA5ZRF2R5U\\\",\\\"dBInstanceIdentifier\\\":\\\"database-1\\\",\\\"tagList\\\":[],\\\"encrypted\\\":false,\\\"engine\\\":\\\"mariadb\\\",\\\"port\\\":3306,\\\"snapshotCreateTime\\\":\\\"2023-04-13T23:44:57.533Z\\\",\\\"licenseModel\\\":\\\"general-public-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-1-2023-04-13-23-44\\\",\\\"optionGroupName\\\":\\\"default:mariadb-10-4\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-1-2023-04-13-23-44","resourceName":"rds:database-1-2023-04-13-23-44","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-1-2023-04-13-23-44","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1816.5,"y":-1317.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-14-23-45","resourceId":["rds:database-1-2023-04-14-23-45","arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-14-23-45"],"parent":"DBSnapshot-eu-west-1a-vpc-ac8663d5-eu-west-1-044981683129","level":5,"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-14-23-45","title":"rds:database-1-2023-04-14-23-45","label":"rds:database...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-14-23-45","image":"/icons/Amazon-RDS_Amazon-RDS_Snapshot_light-bg.svg","cost":0,"private":false,"resource":{"id":"rds:database-1-2023-04-14-23-45","name":"rds:database-1-2023-04-14-23-45","value":null,"type":"AWS::RDS::DBSnapshot","tags":"[]","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-14-23-45","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-14-23-45","configuration":"\"{\\\"engineVersion\\\":\\\"10.4.26\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T11:55:32.030Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-14-23-45\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-ISTHVYQUZCQX3QQ5JA5ZRF2R5U\\\",\\\"dBInstanceIdentifier\\\":\\\"database-1\\\",\\\"tagList\\\":[],\\\"encrypted\\\":false,\\\"engine\\\":\\\"mariadb\\\",\\\"port\\\":3306,\\\"snapshotCreateTime\\\":\\\"2023-04-14T23:45:37.216Z\\\",\\\"licenseModel\\\":\\\"general-public-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-1-2023-04-14-23-45\\\",\\\"optionGroupName\\\":\\\"default:mariadb-10-4\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-1-2023-04-14-23-45","resourceName":"rds:database-1-2023-04-14-23-45","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-1-2023-04-14-23-45","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1743.5,"y":-1317.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-15-23-44","resourceId":["rds:database-1-2023-04-15-23-44","arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-15-23-44"],"parent":"DBSnapshot-eu-west-1a-vpc-ac8663d5-eu-west-1-044981683129","level":5,"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-15-23-44","title":"rds:database-1-2023-04-15-23-44","label":"rds:database...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-15-23-44","image":"/icons/Amazon-RDS_Amazon-RDS_Snapshot_light-bg.svg","cost":0,"private":false,"resource":{"id":"rds:database-1-2023-04-15-23-44","name":"rds:database-1-2023-04-15-23-44","value":null,"type":"AWS::RDS::DBSnapshot","tags":"[]","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-15-23-44","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-15-23-44","configuration":"\"{\\\"engineVersion\\\":\\\"10.4.26\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T11:55:32.030Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-15-23-44\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-ISTHVYQUZCQX3QQ5JA5ZRF2R5U\\\",\\\"dBInstanceIdentifier\\\":\\\"database-1\\\",\\\"tagList\\\":[],\\\"encrypted\\\":false,\\\"engine\\\":\\\"mariadb\\\",\\\"port\\\":3306,\\\"snapshotCreateTime\\\":\\\"2023-04-15T23:45:02.341Z\\\",\\\"licenseModel\\\":\\\"general-public-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-1-2023-04-15-23-44\\\",\\\"optionGroupName\\\":\\\"default:mariadb-10-4\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-1-2023-04-15-23-44","resourceName":"rds:database-1-2023-04-15-23-44","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-1-2023-04-15-23-44","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1670.5,"y":-1390.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-16-23-45","resourceId":["rds:database-1-2023-04-16-23-45","arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-16-23-45"],"parent":"DBSnapshot-eu-west-1a-vpc-ac8663d5-eu-west-1-044981683129","level":5,"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-16-23-45","title":"rds:database-1-2023-04-16-23-45","label":"rds:database...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-16-23-45","image":"/icons/Amazon-RDS_Amazon-RDS_Snapshot_light-bg.svg","cost":0,"private":false,"resource":{"id":"rds:database-1-2023-04-16-23-45","name":"rds:database-1-2023-04-16-23-45","value":null,"type":"AWS::RDS::DBSnapshot","tags":"[]","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-16-23-45","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-16-23-45","configuration":"\"{\\\"engineVersion\\\":\\\"10.4.26\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T11:55:32.030Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-16-23-45\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-ISTHVYQUZCQX3QQ5JA5ZRF2R5U\\\",\\\"dBInstanceIdentifier\\\":\\\"database-1\\\",\\\"tagList\\\":[],\\\"encrypted\\\":false,\\\"engine\\\":\\\"mariadb\\\",\\\"port\\\":3306,\\\"snapshotCreateTime\\\":\\\"2023-04-16T23:45:19.864Z\\\",\\\"licenseModel\\\":\\\"general-public-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-1-2023-04-16-23-45\\\",\\\"optionGroupName\\\":\\\"default:mariadb-10-4\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-1-2023-04-16-23-45","resourceName":"rds:database-1-2023-04-16-23-45","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-1-2023-04-16-23-45","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1670.5,"y":-1317.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-17-23-45","resourceId":["rds:database-1-2023-04-17-23-45","arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-17-23-45"],"parent":"DBSnapshot-eu-west-1a-vpc-ac8663d5-eu-west-1-044981683129","level":5,"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-17-23-45","title":"rds:database-1-2023-04-17-23-45","label":"rds:database...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-17-23-45","image":"/icons/Amazon-RDS_Amazon-RDS_Snapshot_light-bg.svg","cost":0,"private":false,"resource":{"id":"rds:database-1-2023-04-17-23-45","name":"rds:database-1-2023-04-17-23-45","value":null,"type":"AWS::RDS::DBSnapshot","tags":"[]","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-17-23-45","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-17-23-45","configuration":"\"{\\\"engineVersion\\\":\\\"10.4.26\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T11:55:32.030Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-17-23-45\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-ISTHVYQUZCQX3QQ5JA5ZRF2R5U\\\",\\\"dBInstanceIdentifier\\\":\\\"database-1\\\",\\\"tagList\\\":[],\\\"encrypted\\\":false,\\\"engine\\\":\\\"mariadb\\\",\\\"port\\\":3306,\\\"snapshotCreateTime\\\":\\\"2023-04-17T23:45:22.516Z\\\",\\\"licenseModel\\\":\\\"general-public-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-1-2023-04-17-23-45\\\",\\\"optionGroupName\\\":\\\"default:mariadb-10-4\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-1-2023-04-17-23-45","resourceName":"rds:database-1-2023-04-17-23-45","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-1-2023-04-17-23-45","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1816.5,"y":-1244.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-18-23-44","resourceId":["rds:database-1-2023-04-18-23-44","arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-18-23-44"],"parent":"DBSnapshot-eu-west-1a-vpc-ac8663d5-eu-west-1-044981683129","level":5,"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-18-23-44","title":"rds:database-1-2023-04-18-23-44","label":"rds:database...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-18-23-44","image":"/icons/Amazon-RDS_Amazon-RDS_Snapshot_light-bg.svg","cost":0,"private":false,"resource":{"id":"rds:database-1-2023-04-18-23-44","name":"rds:database-1-2023-04-18-23-44","value":null,"type":"AWS::RDS::DBSnapshot","tags":"[]","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-18-23-44","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-18-23-44","configuration":"\"{\\\"engineVersion\\\":\\\"10.4.26\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T11:55:32.030Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-18-23-44\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-ISTHVYQUZCQX3QQ5JA5ZRF2R5U\\\",\\\"dBInstanceIdentifier\\\":\\\"database-1\\\",\\\"tagList\\\":[],\\\"encrypted\\\":false,\\\"engine\\\":\\\"mariadb\\\",\\\"port\\\":3306,\\\"snapshotCreateTime\\\":\\\"2023-04-18T23:44:45.801Z\\\",\\\"licenseModel\\\":\\\"general-public-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-1-2023-04-18-23-44\\\",\\\"optionGroupName\\\":\\\"default:mariadb-10-4\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-1-2023-04-18-23-44","resourceName":"rds:database-1-2023-04-18-23-44","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-1-2023-04-18-23-44","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1743.5,"y":-1244.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-19-23-45","resourceId":["rds:database-1-2023-04-19-23-45","arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-19-23-45"],"parent":"DBSnapshot-eu-west-1a-vpc-ac8663d5-eu-west-1-044981683129","level":5,"id":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-19-23-45","title":"rds:database-1-2023-04-19-23-45","label":"rds:database...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-19-23-45","image":"/icons/Amazon-RDS_Amazon-RDS_Snapshot_light-bg.svg","cost":0,"private":false,"resource":{"id":"rds:database-1-2023-04-19-23-45","name":"rds:database-1-2023-04-19-23-45","value":null,"type":"AWS::RDS::DBSnapshot","tags":"[]","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-19-23-45","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-19-23-45","configuration":"\"{\\\"engineVersion\\\":\\\"10.4.26\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":20,\\\"snapshotType\\\":\\\"automated\\\",\\\"instanceCreateTime\\\":\\\"2021-09-02T11:55:32.030Z\\\",\\\"dBSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-19-23-45\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"processorFeatures\\\":[],\\\"dbiResourceId\\\":\\\"db-ISTHVYQUZCQX3QQ5JA5ZRF2R5U\\\",\\\"dBInstanceIdentifier\\\":\\\"database-1\\\",\\\"tagList\\\":[],\\\"encrypted\\\":false,\\\"engine\\\":\\\"mariadb\\\",\\\"port\\\":3306,\\\"snapshotCreateTime\\\":\\\"2023-04-19T23:45:55.929Z\\\",\\\"licenseModel\\\":\\\"general-public-license\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"storageType\\\":\\\"gp2\\\",\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"dBSnapshotIdentifier\\\":\\\"rds:database-1-2023-04-19-23-45\\\",\\\"optionGroupName\\\":\\\"default:mariadb-10-4\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:database-1-2023-04-19-23-45","resourceName":"rds:database-1-2023-04-19-23-45","resourceType":"AWS::RDS::DBSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:database-1-2023-04-19-23-45","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1670.5,"y":-1244.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"Multiple Availability Zones-vpc-ac8663d5-eu-west-1-044981683129","parent":"vpc-ac8663d5-eu-west-1-044981683129","level":3,"title":"Multiple Availability Zones","label":"Multiple Availability Zones","plainLabel":"Multiple Availability Zones","type":"availabilityZone","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/availabilityZone.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":null,"label":"NetworkAcl","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-6f6ef116","label":"AWS_EC2_NetworkAcl","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-6f6ef116","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-459f0f1f\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-5fd8bb21\\\",\\\"networkAclId\\\":\\\"acl-6f6ef116\\\"},{\\\"subnetId\\\":\\\"subnet-fa0523b2\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-5ed8bb20\\\",\\\"networkAclId\\\":\\\"acl-6f6ef116\\\"},{\\\"subnetId\\\":\\\"subnet-cedd8aa8\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-61d8bb1f\\\",\\\"networkAclId\\\":\\\"acl-6f6ef116\\\"}],\\\"entries\\\":[{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":false},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":false}],\\\"isDefault\\\":true,\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"networkAclId\\\":\\\"acl-6f6ef116\\\",\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#acls:sort=networkAclId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#acls:sort=networkAclId","private":null,"resourceId":"acl-6f6ef116","resourceName":null,"resourceType":"AWS::EC2::NetworkAcl","resourceValue":null,"state":null,"tags":"[]","title":"acl-6f6ef116","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]},{"id":null,"label":"InternetGateway","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:internet-gateway/igw-054f5962","label":"AWS_EC2_InternetGateway","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:internet-gateway/igw-054f5962","configuration":"\"{\\\"attachments\\\":[{\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"state\\\":\\\"available\\\"}],\\\"internetGatewayId\\\":\\\"igw-054f5962\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#igws:sort=internetGatewayId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#igws:sort=internetGatewayId","private":null,"resourceId":"igw-054f5962","resourceName":null,"resourceType":"AWS::EC2::InternetGateway","resourceValue":null,"state":null,"tags":"[]","title":"igw-054f5962","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]},{"id":null,"label":"DBClusterSnapshot","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:globaldb-2023-04-19-02-42","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:globaldb-2023-04-19-02-42","configuration":"\"{\\\"engineVersion\\\":\\\"5.7.mysql_aurora.2.11.2\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:globaldb-2023-04-19-02-42\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":false,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"globaldb\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:globaldb-2023-04-19-02-42\\\",\\\"engine\\\":\\\"aurora-mysql\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1681872176549,\\\"licenseModel\\\":\\\"aurora-mysql\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1681299454714,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:globaldb-2023-04-19-02-42","resourceName":"rds:globaldb-2023-04-19-02-42","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:globaldb-2023-04-19-02-42","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:globaldb-2023-04-20-02-43","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:globaldb-2023-04-20-02-43","configuration":"\"{\\\"engineVersion\\\":\\\"5.7.mysql_aurora.2.11.2\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:globaldb-2023-04-20-02-43\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":false,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"globaldb\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:globaldb-2023-04-20-02-43\\\",\\\"engine\\\":\\\"aurora-mysql\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1681958584041,\\\"licenseModel\\\":\\\"aurora-mysql\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1681299454714,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:globaldb-2023-04-20-02-43","resourceName":"rds:globaldb-2023-04-20-02-43","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:globaldb-2023-04-20-02-43","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]},{"id":null,"label":"ClusterSubnetGroup","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:redshift:eu-west-1:044981683129:subnetgroup:default","label":"AWS_Redshift_ClusterSubnetGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:redshift:eu-west-1:044981683129:subnetgroup:default","configuration":"\"{\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"description\\\":\\\"default\\\",\\\"subnets\\\":[{\\\"subnetIdentifier\\\":\\\"subnet-cedd8aa8\\\",\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1c\\\",\\\"supportedPlatforms\\\":[]}},{\\\"subnetIdentifier\\\":\\\"subnet-459f0f1f\\\",\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1b\\\",\\\"supportedPlatforms\\\":[]}},{\\\"subnetIdentifier\\\":\\\"subnet-fa0523b2\\\",\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1a\\\",\\\"supportedPlatforms\\\":[]}}],\\\"clusterSubnetGroupName\\\":\\\"default\\\",\\\"subnetGroupStatus\\\":\\\"Complete\\\",\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"default","resourceName":"default","resourceType":"AWS::Redshift::ClusterSubnetGroup","resourceValue":null,"state":null,"tags":"[]","title":"default","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]},{"id":null,"label":"DBSubnetGroup","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:rds:eu-west-1:044981683129:subgrp:default-vpc-ac8663d5","label":"AWS_RDS_DBSubnetGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:subgrp:default-vpc-ac8663d5","configuration":"\"{\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"dBSubnetGroupArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:subgrp:default-vpc-ac8663d5\\\",\\\"subnets\\\":[{\\\"subnetIdentifier\\\":\\\"subnet-cedd8aa8\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1c\\\"}},{\\\"subnetIdentifier\\\":\\\"subnet-459f0f1f\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1b\\\"}},{\\\"subnetIdentifier\\\":\\\"subnet-fa0523b2\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1a\\\"}}],\\\"subnetGroupStatus\\\":\\\"Complete\\\",\\\"dBSubnetGroupName\\\":\\\"default-vpc-ac8663d5\\\",\\\"dBSubnetGroupDescription\\\":\\\"Created from the RDS Management Console\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"default-vpc-ac8663d5","resourceName":"default-vpc-ac8663d5","resourceType":"AWS::RDS::DBSubnetGroup","resourceValue":null,"state":null,"tags":"[]","title":"default-vpc-ac8663d5","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1517.5,"y":-856.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"availabilityZone removeAll _gridParentPadding"},{"data":{"id":"NetworkAcl-Multiple Availability Zones-vpc-ac8663d5-eu-west-1-044981683129","parent":"Multiple Availability Zones-vpc-ac8663d5-eu-west-1-044981683129","level":4,"title":"NetworkAcl","label":"NetworkAcl","plainLabel":"NetworkAcl","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-VPC_Network-Access-Control-List_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-6f6ef116","label":"AWS_EC2_NetworkAcl","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-6f6ef116","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-459f0f1f\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-5fd8bb21\\\",\\\"networkAclId\\\":\\\"acl-6f6ef116\\\"},{\\\"subnetId\\\":\\\"subnet-fa0523b2\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-5ed8bb20\\\",\\\"networkAclId\\\":\\\"acl-6f6ef116\\\"},{\\\"subnetId\\\":\\\"subnet-cedd8aa8\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-61d8bb1f\\\",\\\"networkAclId\\\":\\\"acl-6f6ef116\\\"}],\\\"entries\\\":[{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":false},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":false}],\\\"isDefault\\\":true,\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"networkAclId\\\":\\\"acl-6f6ef116\\\",\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#acls:sort=networkAclId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#acls:sort=networkAclId","private":null,"resourceId":"acl-6f6ef116","resourceName":null,"resourceType":"AWS::EC2::NetworkAcl","resourceValue":null,"state":null,"tags":"[]","title":"acl-6f6ef116","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1630.5,"y":-791.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-6f6ef116","resourceId":["acl-6f6ef116","arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-6f6ef116"],"parent":"NetworkAcl-Multiple Availability Zones-vpc-ac8663d5-eu-west-1-044981683129","level":5,"id":"arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-6f6ef116","title":"acl-6f6ef116","label":"acl-6f6ef116","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-6f6ef116","image":"/icons/Amazon-VPC_Network-Access-Control-List_light-bg.svg","cost":0,"private":false,"resource":{"id":"acl-6f6ef116","name":null,"value":null,"type":"AWS::EC2::NetworkAcl","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-6f6ef116","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#acls:sort=networkAclId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#acls:sort=networkAclId","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-6f6ef116","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-459f0f1f\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-5fd8bb21\\\",\\\"networkAclId\\\":\\\"acl-6f6ef116\\\"},{\\\"subnetId\\\":\\\"subnet-fa0523b2\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-5ed8bb20\\\",\\\"networkAclId\\\":\\\"acl-6f6ef116\\\"},{\\\"subnetId\\\":\\\"subnet-cedd8aa8\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-61d8bb1f\\\",\\\"networkAclId\\\":\\\"acl-6f6ef116\\\"}],\\\"entries\\\":[{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":false},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":false}],\\\"isDefault\\\":true,\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"networkAclId\\\":\\\"acl-6f6ef116\\\",\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#acls:sort=networkAclId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#acls:sort=networkAclId","private":null,"resourceId":"acl-6f6ef116","resourceName":null,"resourceType":"AWS::EC2::NetworkAcl","resourceValue":null,"state":null,"tags":"[]","title":"acl-6f6ef116","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1630.5,"y":-791.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"InternetGateway-Multiple Availability Zones-vpc-ac8663d5-eu-west-1-044981683129","parent":"Multiple Availability Zones-vpc-ac8663d5-eu-west-1-044981683129","level":4,"title":"InternetGateway","label":"InternetGateway","plainLabel":"InternetGateway","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-VPC_Internet-Gateway_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:internet-gateway/igw-054f5962","label":"AWS_EC2_InternetGateway","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:internet-gateway/igw-054f5962","configuration":"\"{\\\"attachments\\\":[{\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"state\\\":\\\"available\\\"}],\\\"internetGatewayId\\\":\\\"igw-054f5962\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#igws:sort=internetGatewayId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#igws:sort=internetGatewayId","private":null,"resourceId":"igw-054f5962","resourceName":null,"resourceType":"AWS::EC2::InternetGateway","resourceValue":null,"state":null,"tags":"[]","title":"igw-054f5962","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1517.5,"y":-791.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:internet-gateway/igw-054f5962","resourceId":["igw-054f5962","arn:aws:ec2:eu-west-1:044981683129:internet-gateway/igw-054f5962"],"parent":"InternetGateway-Multiple Availability Zones-vpc-ac8663d5-eu-west-1-044981683129","level":5,"id":"arn:aws:ec2:eu-west-1:044981683129:internet-gateway/igw-054f5962","title":"igw-054f5962","label":"igw-054f5962","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:internet-gateway/igw-054f5962","image":"/icons/Amazon-VPC_Internet-Gateway_light-bg.svg","cost":0,"private":false,"resource":{"id":"igw-054f5962","name":null,"value":null,"type":"AWS::EC2::InternetGateway","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:internet-gateway/igw-054f5962","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#igws:sort=internetGatewayId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#igws:sort=internetGatewayId","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:internet-gateway/igw-054f5962","configuration":"\"{\\\"attachments\\\":[{\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"state\\\":\\\"available\\\"}],\\\"internetGatewayId\\\":\\\"igw-054f5962\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#igws:sort=internetGatewayId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#igws:sort=internetGatewayId","private":null,"resourceId":"igw-054f5962","resourceName":null,"resourceType":"AWS::EC2::InternetGateway","resourceValue":null,"state":null,"tags":"[]","title":"igw-054f5962","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1517.5,"y":-791.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"DBClusterSnapshot-Multiple Availability Zones-vpc-ac8663d5-eu-west-1-044981683129","parent":"Multiple Availability Zones-vpc-ac8663d5-eu-west-1-044981683129","level":4,"title":"DBClusterSnapshot","label":"DBClusterSnapshot","plainLabel":"DBClusterSnapshot","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-DBClusterSnapshot.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:globaldb-2023-04-19-02-42","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:globaldb-2023-04-19-02-42","configuration":"\"{\\\"engineVersion\\\":\\\"5.7.mysql_aurora.2.11.2\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:globaldb-2023-04-19-02-42\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":false,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"globaldb\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:globaldb-2023-04-19-02-42\\\",\\\"engine\\\":\\\"aurora-mysql\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1681872176549,\\\"licenseModel\\\":\\\"aurora-mysql\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1681299454714,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:globaldb-2023-04-19-02-42","resourceName":"rds:globaldb-2023-04-19-02-42","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:globaldb-2023-04-19-02-42","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:globaldb-2023-04-20-02-43","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:globaldb-2023-04-20-02-43","configuration":"\"{\\\"engineVersion\\\":\\\"5.7.mysql_aurora.2.11.2\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:globaldb-2023-04-20-02-43\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":false,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"globaldb\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:globaldb-2023-04-20-02-43\\\",\\\"engine\\\":\\\"aurora-mysql\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1681958584041,\\\"licenseModel\\\":\\\"aurora-mysql\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1681299454714,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:globaldb-2023-04-20-02-43","resourceName":"rds:globaldb-2023-04-20-02-43","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:globaldb-2023-04-20-02-43","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1594,"y":-921.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:globaldb-2023-04-19-02-42","resourceId":["rds:globaldb-2023-04-19-02-42","arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:globaldb-2023-04-19-02-42"],"parent":"DBClusterSnapshot-Multiple Availability Zones-vpc-ac8663d5-eu-west-1-044981683129","level":5,"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:globaldb-2023-04-19-02-42","title":"rds:globaldb-2023-04-19-02-42","label":"rds:globaldb...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:globaldb-2023-04-19-02-42","image":"/icons/Amazon-DBClusterSnapshot.svg","cost":0,"private":false,"resource":{"id":"rds:globaldb-2023-04-19-02-42","name":"rds:globaldb-2023-04-19-02-42","value":null,"type":"AWS::RDS::DBClusterSnapshot","tags":"[]","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:globaldb-2023-04-19-02-42","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:globaldb-2023-04-19-02-42","configuration":"\"{\\\"engineVersion\\\":\\\"5.7.mysql_aurora.2.11.2\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:globaldb-2023-04-19-02-42\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":false,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"globaldb\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:globaldb-2023-04-19-02-42\\\",\\\"engine\\\":\\\"aurora-mysql\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1681872176549,\\\"licenseModel\\\":\\\"aurora-mysql\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1681299454714,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:globaldb-2023-04-19-02-42","resourceName":"rds:globaldb-2023-04-19-02-42","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:globaldb-2023-04-19-02-42","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1630.5,"y":-921.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:globaldb-2023-04-20-02-43","resourceId":["rds:globaldb-2023-04-20-02-43","arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:globaldb-2023-04-20-02-43"],"parent":"DBClusterSnapshot-Multiple Availability Zones-vpc-ac8663d5-eu-west-1-044981683129","level":5,"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:globaldb-2023-04-20-02-43","title":"rds:globaldb-2023-04-20-02-43","label":"rds:globaldb...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:globaldb-2023-04-20-02-43","image":"/icons/Amazon-DBClusterSnapshot.svg","cost":0,"private":false,"resource":{"id":"rds:globaldb-2023-04-20-02-43","name":"rds:globaldb-2023-04-20-02-43","value":null,"type":"AWS::RDS::DBClusterSnapshot","tags":"[]","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:globaldb-2023-04-20-02-43","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:globaldb-2023-04-20-02-43","configuration":"\"{\\\"engineVersion\\\":\\\"5.7.mysql_aurora.2.11.2\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:globaldb-2023-04-20-02-43\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":false,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"globaldb\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:globaldb-2023-04-20-02-43\\\",\\\"engine\\\":\\\"aurora-mysql\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1681958584041,\\\"licenseModel\\\":\\\"aurora-mysql\\\",\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1681299454714,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:globaldb-2023-04-20-02-43","resourceName":"rds:globaldb-2023-04-20-02-43","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:globaldb-2023-04-20-02-43","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1557.5,"y":-921.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"ClusterSubnetGroup-Multiple Availability Zones-vpc-ac8663d5-eu-west-1-044981683129","parent":"Multiple Availability Zones-vpc-ac8663d5-eu-west-1-044981683129","level":4,"title":"ClusterSubnetGroup","label":"ClusterSubnetGroup","plainLabel":"ClusterSubnetGroup","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-Redshift_light-subnet-group.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:redshift:eu-west-1:044981683129:subnetgroup:default","label":"AWS_Redshift_ClusterSubnetGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:redshift:eu-west-1:044981683129:subnetgroup:default","configuration":"\"{\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"description\\\":\\\"default\\\",\\\"subnets\\\":[{\\\"subnetIdentifier\\\":\\\"subnet-cedd8aa8\\\",\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1c\\\",\\\"supportedPlatforms\\\":[]}},{\\\"subnetIdentifier\\\":\\\"subnet-459f0f1f\\\",\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1b\\\",\\\"supportedPlatforms\\\":[]}},{\\\"subnetIdentifier\\\":\\\"subnet-fa0523b2\\\",\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1a\\\",\\\"supportedPlatforms\\\":[]}}],\\\"clusterSubnetGroupName\\\":\\\"default\\\",\\\"subnetGroupStatus\\\":\\\"Complete\\\",\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"default","resourceName":"default","resourceType":"AWS::Redshift::ClusterSubnetGroup","resourceValue":null,"state":null,"tags":"[]","title":"default","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1444.5,"y":-921.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:redshift:eu-west-1:044981683129:subnetgroup:default","resourceId":["default","arn:aws:redshift:eu-west-1:044981683129:subnetgroup:default"],"parent":"ClusterSubnetGroup-Multiple Availability Zones-vpc-ac8663d5-eu-west-1-044981683129","level":5,"id":"arn:aws:redshift:eu-west-1:044981683129:subnetgroup:default","title":"default","label":"default","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:redshift:eu-west-1:044981683129:subnetgroup:default","image":"/icons/Amazon-Redshift_light-subnet-group.svg","cost":0,"private":false,"resource":{"id":"default","name":"default","value":null,"type":"AWS::Redshift::ClusterSubnetGroup","tags":"[]","arn":"arn:aws:redshift:eu-west-1:044981683129:subnetgroup:default","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:redshift:eu-west-1:044981683129:subnetgroup:default","configuration":"\"{\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"description\\\":\\\"default\\\",\\\"subnets\\\":[{\\\"subnetIdentifier\\\":\\\"subnet-cedd8aa8\\\",\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1c\\\",\\\"supportedPlatforms\\\":[]}},{\\\"subnetIdentifier\\\":\\\"subnet-459f0f1f\\\",\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1b\\\",\\\"supportedPlatforms\\\":[]}},{\\\"subnetIdentifier\\\":\\\"subnet-fa0523b2\\\",\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1a\\\",\\\"supportedPlatforms\\\":[]}}],\\\"clusterSubnetGroupName\\\":\\\"default\\\",\\\"subnetGroupStatus\\\":\\\"Complete\\\",\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"default","resourceName":"default","resourceType":"AWS::Redshift::ClusterSubnetGroup","resourceValue":null,"state":null,"tags":"[]","title":"default","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1444.5,"y":-921.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"DBSubnetGroup-Multiple Availability Zones-vpc-ac8663d5-eu-west-1-044981683129","parent":"Multiple Availability Zones-vpc-ac8663d5-eu-west-1-044981683129","level":4,"title":"DBSubnetGroup","label":"DBSubnetGroup","plainLabel":"DBSubnetGroup","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/DBSubnetGroup.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:rds:eu-west-1:044981683129:subgrp:default-vpc-ac8663d5","label":"AWS_RDS_DBSubnetGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:subgrp:default-vpc-ac8663d5","configuration":"\"{\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"dBSubnetGroupArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:subgrp:default-vpc-ac8663d5\\\",\\\"subnets\\\":[{\\\"subnetIdentifier\\\":\\\"subnet-cedd8aa8\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1c\\\"}},{\\\"subnetIdentifier\\\":\\\"subnet-459f0f1f\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1b\\\"}},{\\\"subnetIdentifier\\\":\\\"subnet-fa0523b2\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1a\\\"}}],\\\"subnetGroupStatus\\\":\\\"Complete\\\",\\\"dBSubnetGroupName\\\":\\\"default-vpc-ac8663d5\\\",\\\"dBSubnetGroupDescription\\\":\\\"Created from the RDS Management Console\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"default-vpc-ac8663d5","resourceName":"default-vpc-ac8663d5","resourceType":"AWS::RDS::DBSubnetGroup","resourceValue":null,"state":null,"tags":"[]","title":"default-vpc-ac8663d5","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1404.5,"y":-791.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:rds:eu-west-1:044981683129:subgrp:default-vpc-ac8663d5","resourceId":["default-vpc-ac8663d5","arn:aws:rds:eu-west-1:044981683129:subgrp:default-vpc-ac8663d5"],"parent":"DBSubnetGroup-Multiple Availability Zones-vpc-ac8663d5-eu-west-1-044981683129","level":5,"id":"arn:aws:rds:eu-west-1:044981683129:subgrp:default-vpc-ac8663d5","title":"default-vpc-ac8663d5","label":"default-vpc-...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:rds:eu-west-1:044981683129:subgrp:default-vpc-ac8663d5","image":"/icons/DBSubnetGroup.svg","cost":0,"private":false,"resource":{"id":"default-vpc-ac8663d5","name":"default-vpc-ac8663d5","value":null,"type":"AWS::RDS::DBSubnetGroup","tags":"[]","arn":"arn:aws:rds:eu-west-1:044981683129:subgrp:default-vpc-ac8663d5","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:subgrp:default-vpc-ac8663d5","configuration":"\"{\\\"vpcId\\\":\\\"vpc-ac8663d5\\\",\\\"dBSubnetGroupArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:subgrp:default-vpc-ac8663d5\\\",\\\"subnets\\\":[{\\\"subnetIdentifier\\\":\\\"subnet-cedd8aa8\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1c\\\"}},{\\\"subnetIdentifier\\\":\\\"subnet-459f0f1f\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1b\\\"}},{\\\"subnetIdentifier\\\":\\\"subnet-fa0523b2\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1a\\\"}}],\\\"subnetGroupStatus\\\":\\\"Complete\\\",\\\"dBSubnetGroupName\\\":\\\"default-vpc-ac8663d5\\\",\\\"dBSubnetGroupDescription\\\":\\\"Created from the RDS Management Console\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-ac8663d5","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"default-vpc-ac8663d5","resourceName":"default-vpc-ac8663d5","resourceType":"AWS::RDS::DBSubnetGroup","resourceValue":null,"state":null,"tags":"[]","title":"default-vpc-ac8663d5","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1404.5,"y":-791.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"Multiple Availability Zones-eu-west-2-060997615305","parent":"eu-west-2-060997615305","level":2,"title":"Multiple Availability Zones","label":"Multiple Availability Zones","plainLabel":"Multiple Availability Zones","type":"availabilityZone","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/availabilityZone.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":null,"label":"VPC","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe","label":"AWS_EC2_VPC","parent":true,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe","configuration":"\"{\\\"instanceTenancy\\\":\\\"default\\\",\\\"isDefault\\\":false,\\\"dhcpOptionsId\\\":\\\"dopt-961786fe\\\",\\\"cidrBlock\\\":\\\"10.0.0.0/16\\\",\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"cidrBlockAssociationSet\\\":[{\\\"cidrBlock\\\":\\\"10.0.0.0/16\\\",\\\"cidrBlockState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"associationId\\\":\\\"vpc-cidr-assoc-0ebad7bcfbfa0ddc9\\\"}],\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipv6CidrBlockAssociationSet\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"S3F2CustomVPC\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"VPC\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"S3F2CustomVPC VPC\\\",\\\"key\\\":\\\"Name\\\"}]}\"","awsRegion":"eu-west-2","availabilityZone":"Multiple Availability Zones","vpcId":null,"subnetId":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#vpcs:sort=VpcId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#vpcs:sort=VpcId","private":null,"resourceId":"vpc-02dd8e355a967d1fe","resourceName":null,"resourceType":"AWS::EC2::VPC","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2CustomVPC\",\"value\":\"S3F2CustomVPC\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"value\":\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=VPC\",\"value\":\"VPC\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=S3F2CustomVPC VPC\",\"value\":\"S3F2CustomVPC VPC\",\"key\":\"Name\"}]","title":"S3F2CustomVPC VPC","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":705,"y":1187.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"availabilityZone removeAll _gridParentPadding"},{"data":{"id":"VPC-Multiple Availability Zones-eu-west-2-060997615305","parent":"Multiple Availability Zones-eu-west-2-060997615305","level":3,"title":"VPC","label":"VPC","plainLabel":"VPC","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/VPC-menu.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe","label":"AWS_EC2_VPC","parent":true,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe","configuration":"\"{\\\"instanceTenancy\\\":\\\"default\\\",\\\"isDefault\\\":false,\\\"dhcpOptionsId\\\":\\\"dopt-961786fe\\\",\\\"cidrBlock\\\":\\\"10.0.0.0/16\\\",\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"cidrBlockAssociationSet\\\":[{\\\"cidrBlock\\\":\\\"10.0.0.0/16\\\",\\\"cidrBlockState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"associationId\\\":\\\"vpc-cidr-assoc-0ebad7bcfbfa0ddc9\\\"}],\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipv6CidrBlockAssociationSet\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"S3F2CustomVPC\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"VPC\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"S3F2CustomVPC VPC\\\",\\\"key\\\":\\\"Name\\\"}]}\"","awsRegion":"eu-west-2","availabilityZone":"Multiple Availability Zones","vpcId":null,"subnetId":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#vpcs:sort=VpcId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#vpcs:sort=VpcId","private":null,"resourceId":"vpc-02dd8e355a967d1fe","resourceName":null,"resourceType":"AWS::EC2::VPC","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2CustomVPC\",\"value\":\"S3F2CustomVPC\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"value\":\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=VPC\",\"value\":\"VPC\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=S3F2CustomVPC VPC\",\"value\":\"S3F2CustomVPC VPC\",\"key\":\"Name\"}]","title":"S3F2CustomVPC VPC","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":705,"y":1187.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe","resourceId":["vpc-02dd8e355a967d1fe","arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe"],"parent":"VPC-Multiple Availability Zones-eu-west-2-060997615305","level":4,"id":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe","title":"S3F2CustomVPC VPC","label":"S3F2CustomVP...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe","image":"/icons/VPC-menu.svg","cost":0,"private":false,"resource":{"id":"vpc-02dd8e355a967d1fe","name":null,"value":null,"type":"AWS::EC2::VPC","tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2CustomVPC\",\"value\":\"S3F2CustomVPC\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"value\":\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=VPC\",\"value\":\"VPC\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=S3F2CustomVPC VPC\",\"value\":\"S3F2CustomVPC VPC\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe","region":"eu-west-2","state":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#vpcs:sort=VpcId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#vpcs:sort=VpcId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe","configuration":"\"{\\\"instanceTenancy\\\":\\\"default\\\",\\\"isDefault\\\":false,\\\"dhcpOptionsId\\\":\\\"dopt-961786fe\\\",\\\"cidrBlock\\\":\\\"10.0.0.0/16\\\",\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"cidrBlockAssociationSet\\\":[{\\\"cidrBlock\\\":\\\"10.0.0.0/16\\\",\\\"cidrBlockState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"associationId\\\":\\\"vpc-cidr-assoc-0ebad7bcfbfa0ddc9\\\"}],\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipv6CidrBlockAssociationSet\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"S3F2CustomVPC\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"VPC\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"S3F2CustomVPC VPC\\\",\\\"key\\\":\\\"Name\\\"}]}\"","awsRegion":"eu-west-2","availabilityZone":"Multiple Availability Zones","vpcId":null,"subnetId":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#vpcs:sort=VpcId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#vpcs:sort=VpcId","private":null,"resourceId":"vpc-02dd8e355a967d1fe","resourceName":null,"resourceType":"AWS::EC2::VPC","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2CustomVPC\",\"value\":\"S3F2CustomVPC\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"value\":\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=VPC\",\"value\":\"VPC\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=S3F2CustomVPC VPC\",\"value\":\"S3F2CustomVPC VPC\",\"key\":\"Name\"}]","title":"S3F2CustomVPC VPC","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":668.5,"y":1187.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"id":"vpc-02dd8e355a967d1fe-eu-west-2-060997615305","parent":"eu-west-2-060997615305","level":2,"title":"vpc-02dd8e355a967d1fe","label":"vpc-02dd8e355a967d1fe","plainLabel":"vpc-02dd8e355a967d1fe","type":"vpc","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/VPC-collapsed.svg","clickedId":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe","cost":0,"hasChildren":true,"children":[{"id":null,"label":"SecurityGroup","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-2:060997615305:security-group/sg-0be10b8bce825f7c1","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:security-group/sg-0be10b8bce825f7c1","configuration":"\"{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\",\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":443,\\\"toPort\\\":443,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"description\\\":\\\"Egress Rule for VPC Endpoints\\\",\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"S3F2CustomVPC\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"10.0.0.0/16\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":443,\\\"toPort\\\":443,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"description\\\":\\\"Ingress Rule\\\",\\\"cidrIp\\\":\\\"10.0.0.0/16\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"SecurityGroup\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"S3F2CustomVPC\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"}]}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":"vpc-02dd8e355a967d1fe","subnetId":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0be10b8bce825f7c1","resourceName":"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2CustomVPC\",\"value\":\"S3F2CustomVPC\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"value\":\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=SecurityGroup\",\"value\":\"SecurityGroup\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-2:060997615305:security-group/sg-0cb3ee5954d159b6b","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:security-group/sg-0cb3ee5954d159b6b","configuration":"\"{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-0cb3ee5954d159b6b\\\",\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"default VPC security group\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[{\\\"groupId\\\":\\\"sg-0cb3ee5954d159b6b\\\",\\\"userId\\\":\\\"060997615305\\\"}],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":"vpc-02dd8e355a967d1fe","subnetId":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0cb3ee5954d159b6b","resourceName":"default","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"default","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]},{"id":null,"label":"RouteTable","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-099b639569edf4123","label":"AWS_EC2_RouteTable","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-099b639569edf4123","configuration":"\"{\\\"associations\\\":[{\\\"routeTableId\\\":\\\"rtb-099b639569edf4123\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-0cf54b5bd804502ae\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":true}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"10.0.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"}],\\\"routeTableId\\\":\\\"rtb-099b639569edf4123\\\",\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[]}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":"vpc-02dd8e355a967d1fe","subnetId":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#RouteTables:sort=routeTableId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-099b639569edf4123","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[]","title":"rtb-099b639569edf4123","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-0cff14b18c25c6fe5","label":"AWS_EC2_RouteTable","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-0cff14b18c25c6fe5","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-0610703526e920d2e\\\",\\\"routeTableId\\\":\\\"rtb-0cff14b18c25c6fe5\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-0621e9e62951ba3fc\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":false}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"10.0.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"},{\\\"destinationPrefixListId\\\":\\\"pl-7ca54015\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"vpce-01ab583657bc3c78e\\\"},{\\\"destinationPrefixListId\\\":\\\"pl-b3a742da\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"vpce-01b03ccc3d4534dfa\\\"}],\\\"routeTableId\\\":\\\"rtb-0cff14b18c25c6fe5\\\",\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"PrivateRouteTable1\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"S3F2CustomVPC\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"}]}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":"vpc-02dd8e355a967d1fe","subnetId":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#RouteTables:sort=routeTableId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-0cff14b18c25c6fe5","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2CustomVPC\",\"value\":\"S3F2CustomVPC\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"value\":\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateRouteTable1\",\"value\":\"PrivateRouteTable1\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"rtb-0cff14b18c25c6fe5","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-0204587d290944b3a","label":"AWS_EC2_RouteTable","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-0204587d290944b3a","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-0f80611bd38f92f51\\\",\\\"routeTableId\\\":\\\"rtb-0204587d290944b3a\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-07f7739f91634b101\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":false}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"10.0.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"},{\\\"destinationPrefixListId\\\":\\\"pl-7ca54015\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"vpce-01ab583657bc3c78e\\\"},{\\\"destinationPrefixListId\\\":\\\"pl-b3a742da\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"vpce-01b03ccc3d4534dfa\\\"}],\\\"routeTableId\\\":\\\"rtb-0204587d290944b3a\\\",\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"PrivateRouteTable2\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"S3F2CustomVPC\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"}]}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":"vpc-02dd8e355a967d1fe","subnetId":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#RouteTables:sort=routeTableId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-0204587d290944b3a","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2CustomVPC\",\"value\":\"S3F2CustomVPC\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"value\":\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateRouteTable2\",\"value\":\"PrivateRouteTable2\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"rtb-0204587d290944b3a","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-05f7724952e8964c5","label":"AWS_EC2_RouteTable","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-05f7724952e8964c5","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-02cd0f01396c68846\\\",\\\"routeTableId\\\":\\\"rtb-05f7724952e8964c5\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-003031d9c56dd0d5b\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":false}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"10.0.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"},{\\\"destinationPrefixListId\\\":\\\"pl-7ca54015\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"vpce-01ab583657bc3c78e\\\"},{\\\"destinationPrefixListId\\\":\\\"pl-b3a742da\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"vpce-01b03ccc3d4534dfa\\\"}],\\\"routeTableId\\\":\\\"rtb-05f7724952e8964c5\\\",\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"PrivateRouteTable3\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"S3F2CustomVPC\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"}]}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":"vpc-02dd8e355a967d1fe","subnetId":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#RouteTables:sort=routeTableId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-05f7724952e8964c5","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2CustomVPC\",\"value\":\"S3F2CustomVPC\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"value\":\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateRouteTable3\",\"value\":\"PrivateRouteTable3\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"rtb-05f7724952e8964c5","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]},{"id":null,"label":"Stack","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8","label":"AWS_CloudFormation_Stack","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8","configuration":"\"{\\\"outputs\\\":[{\\\"outputKey\\\":\\\"Subnets\\\",\\\"outputValue\\\":\\\"subnet-0610703526e920d2e,subnet-0f80611bd38f92f51,subnet-02cd0f01396c68846\\\"},{\\\"outputKey\\\":\\\"SecurityGroup\\\",\\\"outputValue\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"creationTime\\\":\\\"2020-08-24T13:17:14Z\\\",\\\"notificationARNs\\\":[],\\\"stackId\\\":\\\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\\\",\\\"stackName\\\":\\\"S3F2CustomVPC\\\",\\\"driftInformation\\\":{\\\"stackDriftStatus\\\":\\\"NOT_CHECKED\\\"},\\\"description\\\":\\\"Amazon S3 Find and Forget VPC (uksb-1qjminsd5)\\\",\\\"stackStatus\\\":\\\"CREATE_COMPLETE\\\",\\\"enableTerminationProtection\\\":false,\\\"disableRollback\\\":false,\\\"parameters\\\":[{\\\"parameterKey\\\":\\\"FlowLogsRoleArn\\\",\\\"parameterValue\\\":\\\"\\\"},{\\\"parameterKey\\\":\\\"FlowLogsGroup\\\",\\\"parameterValue\\\":\\\"\\\"},{\\\"parameterKey\\\":\\\"PrivateSubnetIpBlocks\\\",\\\"parameterValue\\\":\\\"10.0.0.0/22,10.0.4.0/22,10.0.8.0/22\\\"},{\\\"parameterKey\\\":\\\"VpcIpBlock\\\",\\\"parameterValue\\\":\\\"10.0.0.0/16\\\"}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-2","availabilityZone":"Regional","vpcId":"vpc-02dd8e355a967d1fe","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8","resourceName":"S3F2CustomVPC","resourceType":"AWS::CloudFormation::Stack","resourceValue":null,"state":null,"tags":"[]","title":"S3F2CustomVPC","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]},{"id":null,"label":"VPCEndpoint","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-04a572c1fdd189258","label":"AWS_EC2_VPCEndpoint","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-04a572c1fdd189258","configuration":"\"{\\\"policyDocument\\\":\\\"{\\\\n \\\\\\\"Statement\\\\\\\": [\\\\n {\\\\n \\\\\\\"Action\\\\\\\": \\\\\\\"*\\\\\\\", \\\\n \\\\\\\"Effect\\\\\\\": \\\\\\\"Allow\\\\\\\", \\\\n \\\\\\\"Principal\\\\\\\": \\\\\\\"*\\\\\\\", \\\\n \\\\\\\"Resource\\\\\\\": \\\\\\\"*\\\\\\\"\\\\n }\\\\n ]\\\\n}\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"dnsOptions\\\":{\\\"dnsRecordIpType\\\":\\\"ipv4\\\"},\\\"serviceName\\\":\\\"com.amazonaws.eu-west-2.logs\\\",\\\"privateDnsEnabled\\\":true,\\\"ownerId\\\":\\\"060997615305\\\",\\\"requesterManaged\\\":false,\\\"vpcEndpointId\\\":\\\"vpce-04a572c1fdd189258\\\",\\\"ipAddressType\\\":\\\"ipv4\\\",\\\"tags\\\":[],\\\"routeTableIds\\\":[],\\\"vpcEndpointType\\\":\\\"Interface\\\",\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"creationTimestamp\\\":\\\"2020-08-24T13:17:55.295Z\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"dnsEntries\\\":[{\\\"hostedZoneId\\\":\\\"Z7K1066E3PUKB\\\",\\\"dnsName\\\":\\\"vpce-04a572c1fdd189258-ccln8we4.logs.eu-west-2.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z7K1066E3PUKB\\\",\\\"dnsName\\\":\\\"vpce-04a572c1fdd189258-ccln8we4-eu-west-2a.logs.eu-west-2.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z7K1066E3PUKB\\\",\\\"dnsName\\\":\\\"vpce-04a572c1fdd189258-ccln8we4-eu-west-2c.logs.eu-west-2.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z7K1066E3PUKB\\\",\\\"dnsName\\\":\\\"vpce-04a572c1fdd189258-ccln8we4-eu-west-2b.logs.eu-west-2.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z08397511434EEHM47Y4Q\\\",\\\"dnsName\\\":\\\"logs.eu-west-2.amazonaws.com\\\"}],\\\"networkInterfaceIds\\\":[\\\"eni-0ea3c4ac62a45481c\\\",\\\"eni-0d277bd2ede7469a7\\\",\\\"eni-0d821d089dc830f02\\\"],\\\"subnetIds\\\":[\\\"subnet-0610703526e920d2e\\\",\\\"subnet-02cd0f01396c68846\\\",\\\"subnet-0f80611bd38f92f51\\\"]}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":"vpc-02dd8e355a967d1fe","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"vpce-04a572c1fdd189258","resourceName":null,"resourceType":"AWS::EC2::VPCEndpoint","resourceValue":null,"state":null,"tags":"[]","title":"vpce-04a572c1fdd189258","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-0596f798ddaa2083c","label":"AWS_EC2_VPCEndpoint","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-0596f798ddaa2083c","configuration":"\"{\\\"policyDocument\\\":\\\"{\\\\n \\\\\\\"Statement\\\\\\\": [\\\\n {\\\\n \\\\\\\"Action\\\\\\\": \\\\\\\"*\\\\\\\", \\\\n \\\\\\\"Effect\\\\\\\": \\\\\\\"Allow\\\\\\\", \\\\n \\\\\\\"Principal\\\\\\\": \\\\\\\"*\\\\\\\", \\\\n \\\\\\\"Resource\\\\\\\": \\\\\\\"*\\\\\\\"\\\\n }\\\\n ]\\\\n}\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"dnsOptions\\\":{\\\"dnsRecordIpType\\\":\\\"ipv4\\\"},\\\"serviceName\\\":\\\"com.amazonaws.eu-west-2.monitoring\\\",\\\"privateDnsEnabled\\\":true,\\\"ownerId\\\":\\\"060997615305\\\",\\\"requesterManaged\\\":false,\\\"vpcEndpointId\\\":\\\"vpce-0596f798ddaa2083c\\\",\\\"ipAddressType\\\":\\\"ipv4\\\",\\\"tags\\\":[],\\\"routeTableIds\\\":[],\\\"vpcEndpointType\\\":\\\"Interface\\\",\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"creationTimestamp\\\":\\\"2020-08-24T13:17:55.285Z\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"dnsEntries\\\":[{\\\"hostedZoneId\\\":\\\"Z7K1066E3PUKB\\\",\\\"dnsName\\\":\\\"vpce-0596f798ddaa2083c-ki9dx9kb.monitoring.eu-west-2.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z7K1066E3PUKB\\\",\\\"dnsName\\\":\\\"vpce-0596f798ddaa2083c-ki9dx9kb-eu-west-2a.monitoring.eu-west-2.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z7K1066E3PUKB\\\",\\\"dnsName\\\":\\\"vpce-0596f798ddaa2083c-ki9dx9kb-eu-west-2c.monitoring.eu-west-2.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z7K1066E3PUKB\\\",\\\"dnsName\\\":\\\"vpce-0596f798ddaa2083c-ki9dx9kb-eu-west-2b.monitoring.eu-west-2.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z098872221HH8YAB2MF07\\\",\\\"dnsName\\\":\\\"monitoring.eu-west-2.amazonaws.com\\\"}],\\\"networkInterfaceIds\\\":[\\\"eni-049cf15d294c02363\\\",\\\"eni-04e7fe850d5ae1000\\\",\\\"eni-0239e9af2eb593ff6\\\"],\\\"subnetIds\\\":[\\\"subnet-0610703526e920d2e\\\",\\\"subnet-02cd0f01396c68846\\\",\\\"subnet-0f80611bd38f92f51\\\"]}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":"vpc-02dd8e355a967d1fe","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"vpce-0596f798ddaa2083c","resourceName":null,"resourceType":"AWS::EC2::VPCEndpoint","resourceValue":null,"state":null,"tags":"[]","title":"vpce-0596f798ddaa2083c","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-01fffefa0b344fe08","label":"AWS_EC2_VPCEndpoint","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-01fffefa0b344fe08","configuration":"\"{\\\"policyDocument\\\":\\\"{\\\\n \\\\\\\"Statement\\\\\\\": [\\\\n {\\\\n \\\\\\\"Action\\\\\\\": \\\\\\\"*\\\\\\\", \\\\n \\\\\\\"Effect\\\\\\\": \\\\\\\"Allow\\\\\\\", \\\\n \\\\\\\"Principal\\\\\\\": \\\\\\\"*\\\\\\\", \\\\n \\\\\\\"Resource\\\\\\\": \\\\\\\"*\\\\\\\"\\\\n }\\\\n ]\\\\n}\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"dnsOptions\\\":{\\\"dnsRecordIpType\\\":\\\"ipv4\\\"},\\\"serviceName\\\":\\\"com.amazonaws.eu-west-2.ecr.dkr\\\",\\\"privateDnsEnabled\\\":true,\\\"ownerId\\\":\\\"060997615305\\\",\\\"requesterManaged\\\":false,\\\"vpcEndpointId\\\":\\\"vpce-01fffefa0b344fe08\\\",\\\"ipAddressType\\\":\\\"ipv4\\\",\\\"tags\\\":[],\\\"routeTableIds\\\":[],\\\"vpcEndpointType\\\":\\\"Interface\\\",\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"creationTimestamp\\\":\\\"2020-08-24T13:17:55.439Z\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"dnsEntries\\\":[{\\\"hostedZoneId\\\":\\\"Z7K1066E3PUKB\\\",\\\"dnsName\\\":\\\"vpce-01fffefa0b344fe08-y92hjjg5.dkr.ecr.eu-west-2.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z7K1066E3PUKB\\\",\\\"dnsName\\\":\\\"vpce-01fffefa0b344fe08-y92hjjg5-eu-west-2a.dkr.ecr.eu-west-2.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z7K1066E3PUKB\\\",\\\"dnsName\\\":\\\"vpce-01fffefa0b344fe08-y92hjjg5-eu-west-2c.dkr.ecr.eu-west-2.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z7K1066E3PUKB\\\",\\\"dnsName\\\":\\\"vpce-01fffefa0b344fe08-y92hjjg5-eu-west-2b.dkr.ecr.eu-west-2.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z0988685ZII84A4J2MYW\\\",\\\"dnsName\\\":\\\"dkr.ecr.eu-west-2.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z0988685ZII84A4J2MYW\\\",\\\"dnsName\\\":\\\"*.dkr.ecr.eu-west-2.amazonaws.com\\\"}],\\\"networkInterfaceIds\\\":[\\\"eni-034b0ad02cd80d544\\\",\\\"eni-0adbe78e966d21857\\\",\\\"eni-0c03624e885725a9a\\\"],\\\"subnetIds\\\":[\\\"subnet-0610703526e920d2e\\\",\\\"subnet-02cd0f01396c68846\\\",\\\"subnet-0f80611bd38f92f51\\\"]}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":"vpc-02dd8e355a967d1fe","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"vpce-01fffefa0b344fe08","resourceName":null,"resourceType":"AWS::EC2::VPCEndpoint","resourceValue":null,"state":null,"tags":"[]","title":"vpce-01fffefa0b344fe08","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-01a04251e6fd9a18f","label":"AWS_EC2_VPCEndpoint","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-01a04251e6fd9a18f","configuration":"\"{\\\"policyDocument\\\":\\\"{\\\\n \\\\\\\"Statement\\\\\\\": [\\\\n {\\\\n \\\\\\\"Action\\\\\\\": \\\\\\\"*\\\\\\\", \\\\n \\\\\\\"Effect\\\\\\\": \\\\\\\"Allow\\\\\\\", \\\\n \\\\\\\"Principal\\\\\\\": \\\\\\\"*\\\\\\\", \\\\n \\\\\\\"Resource\\\\\\\": \\\\\\\"*\\\\\\\"\\\\n }\\\\n ]\\\\n}\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"dnsOptions\\\":{\\\"dnsRecordIpType\\\":\\\"ipv4\\\"},\\\"serviceName\\\":\\\"com.amazonaws.eu-west-2.sqs\\\",\\\"privateDnsEnabled\\\":true,\\\"ownerId\\\":\\\"060997615305\\\",\\\"requesterManaged\\\":false,\\\"vpcEndpointId\\\":\\\"vpce-01a04251e6fd9a18f\\\",\\\"ipAddressType\\\":\\\"ipv4\\\",\\\"tags\\\":[],\\\"routeTableIds\\\":[],\\\"vpcEndpointType\\\":\\\"Interface\\\",\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"creationTimestamp\\\":\\\"2020-08-24T13:17:55.378Z\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"dnsEntries\\\":[{\\\"hostedZoneId\\\":\\\"Z7K1066E3PUKB\\\",\\\"dnsName\\\":\\\"vpce-01a04251e6fd9a18f-x5yy25kz.sqs.eu-west-2.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z7K1066E3PUKB\\\",\\\"dnsName\\\":\\\"vpce-01a04251e6fd9a18f-x5yy25kz-eu-west-2a.sqs.eu-west-2.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z7K1066E3PUKB\\\",\\\"dnsName\\\":\\\"vpce-01a04251e6fd9a18f-x5yy25kz-eu-west-2c.sqs.eu-west-2.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z7K1066E3PUKB\\\",\\\"dnsName\\\":\\\"vpce-01a04251e6fd9a18f-x5yy25kz-eu-west-2b.sqs.eu-west-2.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z09889462OVRALO37I40T\\\",\\\"dnsName\\\":\\\"sqs.eu-west-2.amazonaws.com\\\"}],\\\"networkInterfaceIds\\\":[\\\"eni-08f4c7e0cf8d0eb25\\\",\\\"eni-0373c5d1881284488\\\",\\\"eni-07f888861ae7684e2\\\"],\\\"subnetIds\\\":[\\\"subnet-0610703526e920d2e\\\",\\\"subnet-02cd0f01396c68846\\\",\\\"subnet-0f80611bd38f92f51\\\"]}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":"vpc-02dd8e355a967d1fe","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"vpce-01a04251e6fd9a18f","resourceName":null,"resourceType":"AWS::EC2::VPCEndpoint","resourceValue":null,"state":null,"tags":"[]","title":"vpce-01a04251e6fd9a18f","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-01ab583657bc3c78e","label":"AWS_EC2_VPCEndpoint","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-01ab583657bc3c78e","configuration":"\"{\\\"policyDocument\\\":\\\"{\\\\\\\"Version\\\\\\\":\\\\\\\"2008-10-17\\\\\\\",\\\\\\\"Statement\\\\\\\":[{\\\\\\\"Effect\\\\\\\":\\\\\\\"Allow\\\\\\\",\\\\\\\"Principal\\\\\\\":\\\\\\\"*\\\\\\\",\\\\\\\"Action\\\\\\\":\\\\\\\"*\\\\\\\",\\\\\\\"Resource\\\\\\\":\\\\\\\"*\\\\\\\"}]}\\\",\\\"groups\\\":[],\\\"serviceName\\\":\\\"com.amazonaws.eu-west-2.s3\\\",\\\"privateDnsEnabled\\\":false,\\\"ownerId\\\":\\\"060997615305\\\",\\\"requesterManaged\\\":false,\\\"vpcEndpointId\\\":\\\"vpce-01ab583657bc3c78e\\\",\\\"tags\\\":[],\\\"routeTableIds\\\":[\\\"rtb-0204587d290944b3a\\\",\\\"rtb-0cff14b18c25c6fe5\\\",\\\"rtb-05f7724952e8964c5\\\"],\\\"vpcEndpointType\\\":\\\"Gateway\\\",\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"creationTimestamp\\\":\\\"2020-08-24T13:17:39Z\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"dnsEntries\\\":[],\\\"networkInterfaceIds\\\":[],\\\"subnetIds\\\":[]}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":"vpc-02dd8e355a967d1fe","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"vpce-01ab583657bc3c78e","resourceName":null,"resourceType":"AWS::EC2::VPCEndpoint","resourceValue":null,"state":null,"tags":"[]","title":"vpce-01ab583657bc3c78e","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-01b03ccc3d4534dfa","label":"AWS_EC2_VPCEndpoint","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-01b03ccc3d4534dfa","configuration":"\"{\\\"policyDocument\\\":\\\"{\\\\\\\"Version\\\\\\\":\\\\\\\"2008-10-17\\\\\\\",\\\\\\\"Statement\\\\\\\":[{\\\\\\\"Effect\\\\\\\":\\\\\\\"Allow\\\\\\\",\\\\\\\"Principal\\\\\\\":\\\\\\\"*\\\\\\\",\\\\\\\"Action\\\\\\\":\\\\\\\"*\\\\\\\",\\\\\\\"Resource\\\\\\\":\\\\\\\"*\\\\\\\"}]}\\\",\\\"groups\\\":[],\\\"serviceName\\\":\\\"com.amazonaws.eu-west-2.dynamodb\\\",\\\"privateDnsEnabled\\\":false,\\\"ownerId\\\":\\\"060997615305\\\",\\\"requesterManaged\\\":false,\\\"vpcEndpointId\\\":\\\"vpce-01b03ccc3d4534dfa\\\",\\\"tags\\\":[],\\\"routeTableIds\\\":[\\\"rtb-0204587d290944b3a\\\",\\\"rtb-0cff14b18c25c6fe5\\\",\\\"rtb-05f7724952e8964c5\\\"],\\\"vpcEndpointType\\\":\\\"Gateway\\\",\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"creationTimestamp\\\":\\\"2020-08-24T13:17:40Z\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"dnsEntries\\\":[],\\\"networkInterfaceIds\\\":[],\\\"subnetIds\\\":[]}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":"vpc-02dd8e355a967d1fe","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"vpce-01b03ccc3d4534dfa","resourceName":null,"resourceType":"AWS::EC2::VPCEndpoint","resourceValue":null,"state":null,"tags":"[]","title":"vpce-01b03ccc3d4534dfa","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-098bf4bcb70f8c0cc","label":"AWS_EC2_VPCEndpoint","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-098bf4bcb70f8c0cc","configuration":"\"{\\\"policyDocument\\\":\\\"{\\\\n \\\\\\\"Statement\\\\\\\": [\\\\n {\\\\n \\\\\\\"Action\\\\\\\": \\\\\\\"*\\\\\\\", \\\\n \\\\\\\"Effect\\\\\\\": \\\\\\\"Allow\\\\\\\", \\\\n \\\\\\\"Principal\\\\\\\": \\\\\\\"*\\\\\\\", \\\\n \\\\\\\"Resource\\\\\\\": \\\\\\\"*\\\\\\\"\\\\n }\\\\n ]\\\\n}\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"dnsOptions\\\":{\\\"dnsRecordIpType\\\":\\\"ipv4\\\"},\\\"serviceName\\\":\\\"com.amazonaws.eu-west-2.sts\\\",\\\"privateDnsEnabled\\\":true,\\\"ownerId\\\":\\\"060997615305\\\",\\\"requesterManaged\\\":false,\\\"vpcEndpointId\\\":\\\"vpce-098bf4bcb70f8c0cc\\\",\\\"ipAddressType\\\":\\\"ipv4\\\",\\\"tags\\\":[],\\\"routeTableIds\\\":[],\\\"vpcEndpointType\\\":\\\"Interface\\\",\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"creationTimestamp\\\":\\\"2020-08-24T13:17:55.335Z\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"dnsEntries\\\":[{\\\"hostedZoneId\\\":\\\"Z7K1066E3PUKB\\\",\\\"dnsName\\\":\\\"vpce-098bf4bcb70f8c0cc-3cjtgn17.sts.eu-west-2.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z7K1066E3PUKB\\\",\\\"dnsName\\\":\\\"vpce-098bf4bcb70f8c0cc-3cjtgn17-eu-west-2a.sts.eu-west-2.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z7K1066E3PUKB\\\",\\\"dnsName\\\":\\\"vpce-098bf4bcb70f8c0cc-3cjtgn17-eu-west-2c.sts.eu-west-2.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z7K1066E3PUKB\\\",\\\"dnsName\\\":\\\"vpce-098bf4bcb70f8c0cc-3cjtgn17-eu-west-2b.sts.eu-west-2.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z0946131HORU5MA9N1DO\\\",\\\"dnsName\\\":\\\"sts.eu-west-2.amazonaws.com\\\"}],\\\"networkInterfaceIds\\\":[\\\"eni-07a8eb68e4714b558\\\",\\\"eni-007c609c6f9dd10cc\\\",\\\"eni-0e0fad6b1591a161d\\\"],\\\"subnetIds\\\":[\\\"subnet-0610703526e920d2e\\\",\\\"subnet-02cd0f01396c68846\\\",\\\"subnet-0f80611bd38f92f51\\\"]}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":"vpc-02dd8e355a967d1fe","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"vpce-098bf4bcb70f8c0cc","resourceName":null,"resourceType":"AWS::EC2::VPCEndpoint","resourceValue":null,"state":null,"tags":"[]","title":"vpce-098bf4bcb70f8c0cc","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]},{"id":null,"label":"eu-west-2b","parent":null,"type":"availabilityZone","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-0f80611bd38f92f51","label":"subnet-0f80611bd38f92f51","parent":null,"type":"subnet","data":{"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-0f80611bd38f92f51","configuration":"\"{\\\"subnetId\\\":\\\"subnet-0f80611bd38f92f51\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-0f80611bd38f92f51\\\",\\\"availabilityZoneId\\\":\\\"euw2-az3\\\",\\\"cidrBlock\\\":\\\"10.0.4.0/22\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"availabilityZone\\\":\\\"eu-west-2b\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"S3F2CustomVPC Private Subnet 2\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"S3F2CustomVPC\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"PrivateSubnet2\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"}],\\\"availableIpAddressCount\\\":1014,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"mapPublicIpOnLaunch\\\":false,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2b","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-0f80611bd38f92f51","loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#subnets:sort=SubnetId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#subnets:sort=SubnetId","private":"true","resourceId":"subnet-0f80611bd38f92f51","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2CustomVPC\",\"value\":\"S3F2CustomVPC\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"value\":\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateSubnet2\",\"value\":\"PrivateSubnet2\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=S3F2CustomVPC Private Subnet 2\",\"value\":\"S3F2CustomVPC Private Subnet 2\",\"key\":\"Name\"}]","title":"S3F2CustomVPC Private Subnet 2","instanceType":null,"statement":null,"dBInstanceStatus":null},"id":"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-0f80611bd38f92f51","label":"AWS_EC2_Subnet"},"properties":null,"children":[{"id":null,"label":"NetworkInterface","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-034b0ad02cd80d544","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-034b0ad02cd80d544","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-034b0ad02cd80d544\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-7-201.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.7.201\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0f80611bd38f92f51\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-01fffefa0b344fe08\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2b\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.7.201\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:1d:78:89:71:f4\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-7457d95e\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-7-201.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2b","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-0f80611bd38f92f51","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-034b0ad02cd80d544","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-034b0ad02cd80d544","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-04e7fe850d5ae1000","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-04e7fe850d5ae1000","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-04e7fe850d5ae1000\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-5-245.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.5.245\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0f80611bd38f92f51\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-0596f798ddaa2083c\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2b\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.5.245\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:1f:20:9e:37:8a\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-5458d67e\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-5-245.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2b","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-0f80611bd38f92f51","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-04e7fe850d5ae1000","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-04e7fe850d5ae1000","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-07f888861ae7684e2","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-07f888861ae7684e2","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-07f888861ae7684e2\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-4-50.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.4.50\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0f80611bd38f92f51\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-01a04251e6fd9a18f\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2b\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.4.50\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:6f:46:b7:3f:8a\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-f259d7d8\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-4-50.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2b","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-0f80611bd38f92f51","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-07f888861ae7684e2","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-07f888861ae7684e2","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-007c609c6f9dd10cc","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-007c609c6f9dd10cc","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-007c609c6f9dd10cc\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-7-181.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.7.181\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0f80611bd38f92f51\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-098bf4bcb70f8c0cc\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2b\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.7.181\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:51:79:3d:8b:0a\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-e05dd3ca\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-7-181.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2b","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-0f80611bd38f92f51","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-007c609c6f9dd10cc","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-007c609c6f9dd10cc","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0d821d089dc830f02","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0d821d089dc830f02","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0d821d089dc830f02\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-7-130.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.7.130\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0f80611bd38f92f51\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-04a572c1fdd189258\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2b\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.7.130\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:0d:d3:c2:3c:54\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-f95ad4d3\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-7-130.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2b","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-0f80611bd38f92f51","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-0d821d089dc830f02","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0d821d089dc830f02","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}]}]},{"id":null,"label":"eu-west-2c","parent":null,"type":"availabilityZone","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-02cd0f01396c68846","label":"subnet-02cd0f01396c68846","parent":null,"type":"subnet","data":{"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-02cd0f01396c68846","configuration":"\"{\\\"subnetId\\\":\\\"subnet-02cd0f01396c68846\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-02cd0f01396c68846\\\",\\\"availabilityZoneId\\\":\\\"euw2-az1\\\",\\\"cidrBlock\\\":\\\"10.0.8.0/22\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"availabilityZone\\\":\\\"eu-west-2c\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"PrivateSubnet3\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"S3F2CustomVPC Private Subnet 3\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"S3F2CustomVPC\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"}],\\\"availableIpAddressCount\\\":1014,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"mapPublicIpOnLaunch\\\":false,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2c","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-02cd0f01396c68846","loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#subnets:sort=SubnetId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#subnets:sort=SubnetId","private":"true","resourceId":"subnet-02cd0f01396c68846","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2CustomVPC\",\"value\":\"S3F2CustomVPC\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"value\":\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateSubnet3\",\"value\":\"PrivateSubnet3\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=S3F2CustomVPC Private Subnet 3\",\"value\":\"S3F2CustomVPC Private Subnet 3\",\"key\":\"Name\"}]","title":"S3F2CustomVPC Private Subnet 3","instanceType":null,"statement":null,"dBInstanceStatus":null},"id":"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-02cd0f01396c68846","label":"AWS_EC2_Subnet"},"properties":null,"children":[{"id":null,"label":"NetworkInterface","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-049cf15d294c02363","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-049cf15d294c02363","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-049cf15d294c02363\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-9-37.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.9.37\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-02cd0f01396c68846\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-0596f798ddaa2083c\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2c\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.9.37\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:1f:e9:7d:da:18\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-a16ccfff\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-9-37.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2c","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-02cd0f01396c68846","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-049cf15d294c02363","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-049cf15d294c02363","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-07a8eb68e4714b558","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-07a8eb68e4714b558","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-07a8eb68e4714b558\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-11-0.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.11.0\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-02cd0f01396c68846\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-098bf4bcb70f8c0cc\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2c\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.11.0\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:bb:9d:f4:69:2a\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-5f73d001\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-11-0.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2c","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-02cd0f01396c68846","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-07a8eb68e4714b558","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-07a8eb68e4714b558","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0ea3c4ac62a45481c","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0ea3c4ac62a45481c","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0ea3c4ac62a45481c\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-9-201.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.9.201\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-02cd0f01396c68846\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-04a572c1fdd189258\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2c\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.9.201\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:17:f7:38:a5:9e\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-5e73d000\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-9-201.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2c","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-02cd0f01396c68846","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-0ea3c4ac62a45481c","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0ea3c4ac62a45481c","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-08f4c7e0cf8d0eb25","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-08f4c7e0cf8d0eb25","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-08f4c7e0cf8d0eb25\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-8-185.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.8.185\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-02cd0f01396c68846\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-01a04251e6fd9a18f\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2c\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.8.185\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:ae:50:f5:1f:4c\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-a077d4fe\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-8-185.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2c","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-02cd0f01396c68846","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-08f4c7e0cf8d0eb25","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-08f4c7e0cf8d0eb25","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0adbe78e966d21857","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0adbe78e966d21857","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0adbe78e966d21857\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-9-45.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.9.45\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-02cd0f01396c68846\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-01fffefa0b344fe08\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2c\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.9.45\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:e3:ee:0b:5d:68\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-c66dce98\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-9-45.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2c","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-02cd0f01396c68846","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-0adbe78e966d21857","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0adbe78e966d21857","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}]}]},{"id":null,"label":"eu-west-2a","parent":null,"type":"availabilityZone","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-0610703526e920d2e","label":"subnet-0610703526e920d2e","parent":null,"type":"subnet","data":{"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-0610703526e920d2e","configuration":"\"{\\\"subnetId\\\":\\\"subnet-0610703526e920d2e\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-0610703526e920d2e\\\",\\\"availabilityZoneId\\\":\\\"euw2-az2\\\",\\\"cidrBlock\\\":\\\"10.0.0.0/22\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"availabilityZone\\\":\\\"eu-west-2a\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"S3F2CustomVPC\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"PrivateSubnet1\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"S3F2CustomVPC Private Subnet 1\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"}],\\\"availableIpAddressCount\\\":1014,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"mapPublicIpOnLaunch\\\":false,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2a","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-0610703526e920d2e","loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#subnets:sort=SubnetId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#subnets:sort=SubnetId","private":"true","resourceId":"subnet-0610703526e920d2e","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2CustomVPC\",\"value\":\"S3F2CustomVPC\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"value\":\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateSubnet1\",\"value\":\"PrivateSubnet1\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=S3F2CustomVPC Private Subnet 1\",\"value\":\"S3F2CustomVPC Private Subnet 1\",\"key\":\"Name\"}]","title":"S3F2CustomVPC Private Subnet 1","instanceType":null,"statement":null,"dBInstanceStatus":null},"id":"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-0610703526e920d2e","label":"AWS_EC2_Subnet"},"properties":null,"children":[{"id":null,"label":"NetworkInterface","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0373c5d1881284488","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0373c5d1881284488","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0373c5d1881284488\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-0-77.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.0.77\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0610703526e920d2e\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-01a04251e6fd9a18f\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.0.77\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:29:70:79:78:d4\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-7fba262b\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-0-77.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2a","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-0610703526e920d2e","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-0373c5d1881284488","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0373c5d1881284488","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0239e9af2eb593ff6","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0239e9af2eb593ff6","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0239e9af2eb593ff6\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-1-225.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.1.225\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0610703526e920d2e\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-0596f798ddaa2083c\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.1.225\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:49:a6:76:ea:d6\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-7eba262a\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-1-225.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2a","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-0610703526e920d2e","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-0239e9af2eb593ff6","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0239e9af2eb593ff6","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0d277bd2ede7469a7","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0d277bd2ede7469a7","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0d277bd2ede7469a7\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-1-170.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.1.170\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0610703526e920d2e\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-04a572c1fdd189258\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.1.170\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:00:3c:ae:b2:82\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-20871b74\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-1-170.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2a","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-0610703526e920d2e","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-0d277bd2ede7469a7","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0d277bd2ede7469a7","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0e0fad6b1591a161d","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0e0fad6b1591a161d","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0e0fad6b1591a161d\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-3-2.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.3.2\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0610703526e920d2e\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-098bf4bcb70f8c0cc\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.3.2\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:35:03:0b:0c:4c\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-27871b73\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-3-2.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2a","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-0610703526e920d2e","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-0e0fad6b1591a161d","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0e0fad6b1591a161d","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0c03624e885725a9a","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0c03624e885725a9a","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0c03624e885725a9a\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-3-93.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.3.93\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0610703526e920d2e\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-01fffefa0b344fe08\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.3.93\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:a7:5f:7f:1b:18\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-aabb27fe\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-3-93.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2a","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-0610703526e920d2e","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-0c03624e885725a9a","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0c03624e885725a9a","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}]}]},{"id":null,"label":"Multiple Availability Zones","parent":null,"type":"availabilityZone","data":null,"properties":null,"children":[{"id":null,"label":"NetworkAcl","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-2:060997615305:network-acl/acl-058521bd38cb481b2","label":"AWS_EC2_NetworkAcl","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-acl/acl-058521bd38cb481b2","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-0f80611bd38f92f51\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-0f7fec0f79338d430\\\",\\\"networkAclId\\\":\\\"acl-058521bd38cb481b2\\\"},{\\\"subnetId\\\":\\\"subnet-02cd0f01396c68846\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-0ef2f0713ce4c82dd\\\",\\\"networkAclId\\\":\\\"acl-058521bd38cb481b2\\\"},{\\\"subnetId\\\":\\\"subnet-0610703526e920d2e\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-09569e5c47e077f6b\\\",\\\"networkAclId\\\":\\\"acl-058521bd38cb481b2\\\"}],\\\"entries\\\":[{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":99,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":99,\\\"egress\\\":false},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":false}],\\\"isDefault\\\":false,\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"networkAclId\\\":\\\"acl-058521bd38cb481b2\\\",\\\"tags\\\":[{\\\"value\\\":\\\"S3F2CustomVPC\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"PrivateNetworkAcl\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"}]}\"","awsRegion":"eu-west-2","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-02dd8e355a967d1fe","subnetId":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#acls:sort=networkAclId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#acls:sort=networkAclId","private":null,"resourceId":"acl-058521bd38cb481b2","resourceName":null,"resourceType":"AWS::EC2::NetworkAcl","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2CustomVPC\",\"value\":\"S3F2CustomVPC\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"value\":\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateNetworkAcl\",\"value\":\"PrivateNetworkAcl\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"acl-058521bd38cb481b2","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-2:060997615305:network-acl/acl-02201206399d095f8","label":"AWS_EC2_NetworkAcl","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-acl/acl-02201206399d095f8","configuration":"\"{\\\"associations\\\":[],\\\"entries\\\":[{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":false},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":false}],\\\"isDefault\\\":true,\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"networkAclId\\\":\\\"acl-02201206399d095f8\\\",\\\"tags\\\":[]}\"","awsRegion":"eu-west-2","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-02dd8e355a967d1fe","subnetId":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#acls:sort=networkAclId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#acls:sort=networkAclId","private":null,"resourceId":"acl-02201206399d095f8","resourceName":null,"resourceType":"AWS::EC2::NetworkAcl","resourceValue":null,"state":null,"tags":"[]","title":"acl-02201206399d095f8","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#248814","properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe","configuration":"\"{\\\"instanceTenancy\\\":\\\"default\\\",\\\"isDefault\\\":false,\\\"dhcpOptionsId\\\":\\\"dopt-961786fe\\\",\\\"cidrBlock\\\":\\\"10.0.0.0/16\\\",\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"cidrBlockAssociationSet\\\":[{\\\"cidrBlock\\\":\\\"10.0.0.0/16\\\",\\\"cidrBlockState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"associationId\\\":\\\"vpc-cidr-assoc-0ebad7bcfbfa0ddc9\\\"}],\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipv6CidrBlockAssociationSet\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"S3F2CustomVPC\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"VPC\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"S3F2CustomVPC VPC\\\",\\\"key\\\":\\\"Name\\\"}]}\"","awsRegion":"eu-west-2","availabilityZone":"Multiple Availability Zones","vpcId":null,"subnetId":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#vpcs:sort=VpcId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#vpcs:sort=VpcId","private":null,"resourceId":"vpc-02dd8e355a967d1fe","resourceName":null,"resourceType":"AWS::EC2::VPC","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2CustomVPC\",\"value\":\"S3F2CustomVPC\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"value\":\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=VPC\",\"value\":\"VPC\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=S3F2CustomVPC VPC\",\"value\":\"S3F2CustomVPC VPC\",\"key\":\"Name\"}]","title":"S3F2CustomVPC VPC","instanceType":null,"statement":null,"dBInstanceStatus":null},"resource":{"id":"vpc-02dd8e355a967d1fe","name":null,"value":null,"type":"AWS::EC2::VPC","tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2CustomVPC\",\"value\":\"S3F2CustomVPC\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"value\":\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=VPC\",\"value\":\"VPC\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=S3F2CustomVPC VPC\",\"value\":\"S3F2CustomVPC VPC\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe","region":"eu-west-2","state":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#vpcs:sort=VpcId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#vpcs:sort=VpcId","accountId":"060997615305"},"selected":true},"position":{"x":100.25,"y":650.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"vpc removeAll _gridParentPadding"},{"data":{"id":"SecurityGroup-vpc-02dd8e355a967d1fe-eu-west-2-060997615305","parent":"vpc-02dd8e355a967d1fe-eu-west-2-060997615305","level":3,"title":"SecurityGroup","label":"SecurityGroup","plainLabel":"SecurityGroup","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/AWSSecurityGroup.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-2:060997615305:security-group/sg-0be10b8bce825f7c1","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:security-group/sg-0be10b8bce825f7c1","configuration":"\"{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\",\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":443,\\\"toPort\\\":443,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"description\\\":\\\"Egress Rule for VPC Endpoints\\\",\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"S3F2CustomVPC\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"10.0.0.0/16\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":443,\\\"toPort\\\":443,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"description\\\":\\\"Ingress Rule\\\",\\\"cidrIp\\\":\\\"10.0.0.0/16\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"SecurityGroup\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"S3F2CustomVPC\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"}]}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":"vpc-02dd8e355a967d1fe","subnetId":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0be10b8bce825f7c1","resourceName":"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2CustomVPC\",\"value\":\"S3F2CustomVPC\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"value\":\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=SecurityGroup\",\"value\":\"SecurityGroup\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-2:060997615305:security-group/sg-0cb3ee5954d159b6b","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:security-group/sg-0cb3ee5954d159b6b","configuration":"\"{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-0cb3ee5954d159b6b\\\",\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"default VPC security group\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[{\\\"groupId\\\":\\\"sg-0cb3ee5954d159b6b\\\",\\\"userId\\\":\\\"060997615305\\\"}],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":"vpc-02dd8e355a967d1fe","subnetId":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0cb3ee5954d159b6b","resourceName":"default","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"default","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-32,"y":921.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-2:060997615305:security-group/sg-0be10b8bce825f7c1","resourceId":["sg-0be10b8bce825f7c1","arn:aws:ec2:eu-west-2:060997615305:security-group/sg-0be10b8bce825f7c1"],"parent":"SecurityGroup-vpc-02dd8e355a967d1fe-eu-west-2-060997615305","level":4,"id":"arn:aws:ec2:eu-west-2:060997615305:security-group/sg-0be10b8bce825f7c1","title":"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI","label":"S3F2CustomVP...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-2:060997615305:security-group/sg-0be10b8bce825f7c1","image":"/icons/AWSSecurityGroup.svg","cost":0,"private":false,"resource":{"id":"sg-0be10b8bce825f7c1","name":"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI","value":null,"type":"AWS::EC2::SecurityGroup","tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2CustomVPC\",\"value\":\"S3F2CustomVPC\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"value\":\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=SecurityGroup\",\"value\":\"SecurityGroup\",\"key\":\"aws:cloudformation:logical-id\"}]","arn":"arn:aws:ec2:eu-west-2:060997615305:security-group/sg-0be10b8bce825f7c1","region":"eu-west-2","state":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#SecurityGroups:sort=groupId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:security-group/sg-0be10b8bce825f7c1","configuration":"\"{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\",\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":443,\\\"toPort\\\":443,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"description\\\":\\\"Egress Rule for VPC Endpoints\\\",\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"S3F2CustomVPC\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"10.0.0.0/16\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":443,\\\"toPort\\\":443,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"description\\\":\\\"Ingress Rule\\\",\\\"cidrIp\\\":\\\"10.0.0.0/16\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"SecurityGroup\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"S3F2CustomVPC\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"}]}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":"vpc-02dd8e355a967d1fe","subnetId":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0be10b8bce825f7c1","resourceName":"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2CustomVPC\",\"value\":\"S3F2CustomVPC\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"value\":\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=SecurityGroup\",\"value\":\"SecurityGroup\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-68.5,"y":921.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-2:060997615305:security-group/sg-0cb3ee5954d159b6b","resourceId":["sg-0cb3ee5954d159b6b","arn:aws:ec2:eu-west-2:060997615305:security-group/sg-0cb3ee5954d159b6b"],"parent":"SecurityGroup-vpc-02dd8e355a967d1fe-eu-west-2-060997615305","level":4,"id":"arn:aws:ec2:eu-west-2:060997615305:security-group/sg-0cb3ee5954d159b6b","title":"default","label":"default","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-2:060997615305:security-group/sg-0cb3ee5954d159b6b","image":"/icons/AWSSecurityGroup.svg","cost":0,"private":false,"resource":{"id":"sg-0cb3ee5954d159b6b","name":"default","value":null,"type":"AWS::EC2::SecurityGroup","tags":"[]","arn":"arn:aws:ec2:eu-west-2:060997615305:security-group/sg-0cb3ee5954d159b6b","region":"eu-west-2","state":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#SecurityGroups:sort=groupId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:security-group/sg-0cb3ee5954d159b6b","configuration":"\"{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-0cb3ee5954d159b6b\\\",\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"default VPC security group\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[{\\\"groupId\\\":\\\"sg-0cb3ee5954d159b6b\\\",\\\"userId\\\":\\\"060997615305\\\"}],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":"vpc-02dd8e355a967d1fe","subnetId":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0cb3ee5954d159b6b","resourceName":"default","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"default","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":4.5,"y":921.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"RouteTable-vpc-02dd8e355a967d1fe-eu-west-2-060997615305","parent":"vpc-02dd8e355a967d1fe-eu-west-2-060997615305","level":3,"title":"RouteTable","label":"RouteTable","plainLabel":"RouteTable","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-VPC_Router_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-099b639569edf4123","label":"AWS_EC2_RouteTable","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-099b639569edf4123","configuration":"\"{\\\"associations\\\":[{\\\"routeTableId\\\":\\\"rtb-099b639569edf4123\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-0cf54b5bd804502ae\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":true}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"10.0.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"}],\\\"routeTableId\\\":\\\"rtb-099b639569edf4123\\\",\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[]}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":"vpc-02dd8e355a967d1fe","subnetId":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#RouteTables:sort=routeTableId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-099b639569edf4123","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[]","title":"rtb-099b639569edf4123","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-0cff14b18c25c6fe5","label":"AWS_EC2_RouteTable","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-0cff14b18c25c6fe5","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-0610703526e920d2e\\\",\\\"routeTableId\\\":\\\"rtb-0cff14b18c25c6fe5\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-0621e9e62951ba3fc\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":false}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"10.0.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"},{\\\"destinationPrefixListId\\\":\\\"pl-7ca54015\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"vpce-01ab583657bc3c78e\\\"},{\\\"destinationPrefixListId\\\":\\\"pl-b3a742da\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"vpce-01b03ccc3d4534dfa\\\"}],\\\"routeTableId\\\":\\\"rtb-0cff14b18c25c6fe5\\\",\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"PrivateRouteTable1\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"S3F2CustomVPC\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"}]}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":"vpc-02dd8e355a967d1fe","subnetId":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#RouteTables:sort=routeTableId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-0cff14b18c25c6fe5","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2CustomVPC\",\"value\":\"S3F2CustomVPC\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"value\":\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateRouteTable1\",\"value\":\"PrivateRouteTable1\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"rtb-0cff14b18c25c6fe5","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-0204587d290944b3a","label":"AWS_EC2_RouteTable","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-0204587d290944b3a","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-0f80611bd38f92f51\\\",\\\"routeTableId\\\":\\\"rtb-0204587d290944b3a\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-07f7739f91634b101\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":false}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"10.0.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"},{\\\"destinationPrefixListId\\\":\\\"pl-7ca54015\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"vpce-01ab583657bc3c78e\\\"},{\\\"destinationPrefixListId\\\":\\\"pl-b3a742da\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"vpce-01b03ccc3d4534dfa\\\"}],\\\"routeTableId\\\":\\\"rtb-0204587d290944b3a\\\",\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"PrivateRouteTable2\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"S3F2CustomVPC\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"}]}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":"vpc-02dd8e355a967d1fe","subnetId":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#RouteTables:sort=routeTableId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-0204587d290944b3a","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2CustomVPC\",\"value\":\"S3F2CustomVPC\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"value\":\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateRouteTable2\",\"value\":\"PrivateRouteTable2\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"rtb-0204587d290944b3a","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-05f7724952e8964c5","label":"AWS_EC2_RouteTable","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-05f7724952e8964c5","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-02cd0f01396c68846\\\",\\\"routeTableId\\\":\\\"rtb-05f7724952e8964c5\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-003031d9c56dd0d5b\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":false}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"10.0.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"},{\\\"destinationPrefixListId\\\":\\\"pl-7ca54015\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"vpce-01ab583657bc3c78e\\\"},{\\\"destinationPrefixListId\\\":\\\"pl-b3a742da\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"vpce-01b03ccc3d4534dfa\\\"}],\\\"routeTableId\\\":\\\"rtb-05f7724952e8964c5\\\",\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"PrivateRouteTable3\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"S3F2CustomVPC\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"}]}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":"vpc-02dd8e355a967d1fe","subnetId":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#RouteTables:sort=routeTableId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-05f7724952e8964c5","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2CustomVPC\",\"value\":\"S3F2CustomVPC\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"value\":\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateRouteTable3\",\"value\":\"PrivateRouteTable3\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"rtb-05f7724952e8964c5","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-218,"y":958.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-099b639569edf4123","resourceId":["rtb-099b639569edf4123","arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-099b639569edf4123"],"parent":"RouteTable-vpc-02dd8e355a967d1fe-eu-west-2-060997615305","level":4,"id":"arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-099b639569edf4123","title":"rtb-099b639569edf4123","label":"rtb-099b6395...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-099b639569edf4123","image":"/icons/Amazon-VPC_Router_light-bg.svg","cost":0,"private":false,"resource":{"id":"rtb-099b639569edf4123","name":null,"value":null,"type":"AWS::EC2::RouteTable","tags":"[]","arn":"arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-099b639569edf4123","region":"eu-west-2","state":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#RouteTables:sort=routeTableId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#RouteTables:sort=routeTableId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-099b639569edf4123","configuration":"\"{\\\"associations\\\":[{\\\"routeTableId\\\":\\\"rtb-099b639569edf4123\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-0cf54b5bd804502ae\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":true}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"10.0.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"}],\\\"routeTableId\\\":\\\"rtb-099b639569edf4123\\\",\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[]}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":"vpc-02dd8e355a967d1fe","subnetId":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#RouteTables:sort=routeTableId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-099b639569edf4123","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[]","title":"rtb-099b639569edf4123","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-254.5,"y":921.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-0cff14b18c25c6fe5","resourceId":["rtb-0cff14b18c25c6fe5","arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-0cff14b18c25c6fe5"],"parent":"RouteTable-vpc-02dd8e355a967d1fe-eu-west-2-060997615305","level":4,"id":"arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-0cff14b18c25c6fe5","title":"rtb-0cff14b18c25c6fe5","label":"rtb-0cff14b1...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-0cff14b18c25c6fe5","image":"/icons/Amazon-VPC_Router_light-bg.svg","cost":0,"private":false,"resource":{"id":"rtb-0cff14b18c25c6fe5","name":null,"value":null,"type":"AWS::EC2::RouteTable","tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2CustomVPC\",\"value\":\"S3F2CustomVPC\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"value\":\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateRouteTable1\",\"value\":\"PrivateRouteTable1\",\"key\":\"aws:cloudformation:logical-id\"}]","arn":"arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-0cff14b18c25c6fe5","region":"eu-west-2","state":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#RouteTables:sort=routeTableId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#RouteTables:sort=routeTableId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-0cff14b18c25c6fe5","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-0610703526e920d2e\\\",\\\"routeTableId\\\":\\\"rtb-0cff14b18c25c6fe5\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-0621e9e62951ba3fc\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":false}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"10.0.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"},{\\\"destinationPrefixListId\\\":\\\"pl-7ca54015\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"vpce-01ab583657bc3c78e\\\"},{\\\"destinationPrefixListId\\\":\\\"pl-b3a742da\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"vpce-01b03ccc3d4534dfa\\\"}],\\\"routeTableId\\\":\\\"rtb-0cff14b18c25c6fe5\\\",\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"PrivateRouteTable1\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"S3F2CustomVPC\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"}]}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":"vpc-02dd8e355a967d1fe","subnetId":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#RouteTables:sort=routeTableId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-0cff14b18c25c6fe5","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2CustomVPC\",\"value\":\"S3F2CustomVPC\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"value\":\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateRouteTable1\",\"value\":\"PrivateRouteTable1\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"rtb-0cff14b18c25c6fe5","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-181.5,"y":921.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-0204587d290944b3a","resourceId":["rtb-0204587d290944b3a","arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-0204587d290944b3a"],"parent":"RouteTable-vpc-02dd8e355a967d1fe-eu-west-2-060997615305","level":4,"id":"arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-0204587d290944b3a","title":"rtb-0204587d290944b3a","label":"rtb-0204587d...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-0204587d290944b3a","image":"/icons/Amazon-VPC_Router_light-bg.svg","cost":0,"private":false,"resource":{"id":"rtb-0204587d290944b3a","name":null,"value":null,"type":"AWS::EC2::RouteTable","tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2CustomVPC\",\"value\":\"S3F2CustomVPC\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"value\":\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateRouteTable2\",\"value\":\"PrivateRouteTable2\",\"key\":\"aws:cloudformation:logical-id\"}]","arn":"arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-0204587d290944b3a","region":"eu-west-2","state":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#RouteTables:sort=routeTableId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#RouteTables:sort=routeTableId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-0204587d290944b3a","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-0f80611bd38f92f51\\\",\\\"routeTableId\\\":\\\"rtb-0204587d290944b3a\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-07f7739f91634b101\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":false}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"10.0.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"},{\\\"destinationPrefixListId\\\":\\\"pl-7ca54015\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"vpce-01ab583657bc3c78e\\\"},{\\\"destinationPrefixListId\\\":\\\"pl-b3a742da\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"vpce-01b03ccc3d4534dfa\\\"}],\\\"routeTableId\\\":\\\"rtb-0204587d290944b3a\\\",\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"PrivateRouteTable2\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"S3F2CustomVPC\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"}]}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":"vpc-02dd8e355a967d1fe","subnetId":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#RouteTables:sort=routeTableId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-0204587d290944b3a","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2CustomVPC\",\"value\":\"S3F2CustomVPC\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"value\":\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateRouteTable2\",\"value\":\"PrivateRouteTable2\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"rtb-0204587d290944b3a","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-254.5,"y":994.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-05f7724952e8964c5","resourceId":["rtb-05f7724952e8964c5","arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-05f7724952e8964c5"],"parent":"RouteTable-vpc-02dd8e355a967d1fe-eu-west-2-060997615305","level":4,"id":"arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-05f7724952e8964c5","title":"rtb-05f7724952e8964c5","label":"rtb-05f77249...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-05f7724952e8964c5","image":"/icons/Amazon-VPC_Router_light-bg.svg","cost":0,"private":false,"resource":{"id":"rtb-05f7724952e8964c5","name":null,"value":null,"type":"AWS::EC2::RouteTable","tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2CustomVPC\",\"value\":\"S3F2CustomVPC\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"value\":\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateRouteTable3\",\"value\":\"PrivateRouteTable3\",\"key\":\"aws:cloudformation:logical-id\"}]","arn":"arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-05f7724952e8964c5","region":"eu-west-2","state":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#RouteTables:sort=routeTableId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#RouteTables:sort=routeTableId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-05f7724952e8964c5","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-02cd0f01396c68846\\\",\\\"routeTableId\\\":\\\"rtb-05f7724952e8964c5\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-003031d9c56dd0d5b\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":false}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"10.0.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"},{\\\"destinationPrefixListId\\\":\\\"pl-7ca54015\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"vpce-01ab583657bc3c78e\\\"},{\\\"destinationPrefixListId\\\":\\\"pl-b3a742da\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"vpce-01b03ccc3d4534dfa\\\"}],\\\"routeTableId\\\":\\\"rtb-05f7724952e8964c5\\\",\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"PrivateRouteTable3\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"S3F2CustomVPC\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"}]}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":"vpc-02dd8e355a967d1fe","subnetId":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#RouteTables:sort=routeTableId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-05f7724952e8964c5","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2CustomVPC\",\"value\":\"S3F2CustomVPC\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"value\":\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateRouteTable3\",\"value\":\"PrivateRouteTable3\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"rtb-05f7724952e8964c5","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-181.5,"y":994.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"Stack-vpc-02dd8e355a967d1fe-eu-west-2-060997615305","parent":"vpc-02dd8e355a967d1fe-eu-west-2-060997615305","level":3,"title":"Stack","label":"Stack","plainLabel":"Stack","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/AWS-CloudFormation.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8","label":"AWS_CloudFormation_Stack","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8","configuration":"\"{\\\"outputs\\\":[{\\\"outputKey\\\":\\\"Subnets\\\",\\\"outputValue\\\":\\\"subnet-0610703526e920d2e,subnet-0f80611bd38f92f51,subnet-02cd0f01396c68846\\\"},{\\\"outputKey\\\":\\\"SecurityGroup\\\",\\\"outputValue\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"creationTime\\\":\\\"2020-08-24T13:17:14Z\\\",\\\"notificationARNs\\\":[],\\\"stackId\\\":\\\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\\\",\\\"stackName\\\":\\\"S3F2CustomVPC\\\",\\\"driftInformation\\\":{\\\"stackDriftStatus\\\":\\\"NOT_CHECKED\\\"},\\\"description\\\":\\\"Amazon S3 Find and Forget VPC (uksb-1qjminsd5)\\\",\\\"stackStatus\\\":\\\"CREATE_COMPLETE\\\",\\\"enableTerminationProtection\\\":false,\\\"disableRollback\\\":false,\\\"parameters\\\":[{\\\"parameterKey\\\":\\\"FlowLogsRoleArn\\\",\\\"parameterValue\\\":\\\"\\\"},{\\\"parameterKey\\\":\\\"FlowLogsGroup\\\",\\\"parameterValue\\\":\\\"\\\"},{\\\"parameterKey\\\":\\\"PrivateSubnetIpBlocks\\\",\\\"parameterValue\\\":\\\"10.0.0.0/22,10.0.4.0/22,10.0.8.0/22\\\"},{\\\"parameterKey\\\":\\\"VpcIpBlock\\\",\\\"parameterValue\\\":\\\"10.0.0.0/16\\\"}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-2","availabilityZone":"Regional","vpcId":"vpc-02dd8e355a967d1fe","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8","resourceName":"S3F2CustomVPC","resourceType":"AWS::CloudFormation::Stack","resourceValue":null,"state":null,"tags":"[]","title":"S3F2CustomVPC","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":117.5,"y":921.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8","resourceId":["arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8","arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8"],"parent":"Stack-vpc-02dd8e355a967d1fe-eu-west-2-060997615305","level":4,"id":"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8","title":"S3F2CustomVPC","label":"S3F2CustomVP...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8","image":"/icons/AWS-CloudFormation.svg","cost":0,"private":false,"resource":{"id":"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8","name":"S3F2CustomVPC","value":null,"type":"AWS::CloudFormation::Stack","tags":"[]","arn":"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8","region":"eu-west-2","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8","configuration":"\"{\\\"outputs\\\":[{\\\"outputKey\\\":\\\"Subnets\\\",\\\"outputValue\\\":\\\"subnet-0610703526e920d2e,subnet-0f80611bd38f92f51,subnet-02cd0f01396c68846\\\"},{\\\"outputKey\\\":\\\"SecurityGroup\\\",\\\"outputValue\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"creationTime\\\":\\\"2020-08-24T13:17:14Z\\\",\\\"notificationARNs\\\":[],\\\"stackId\\\":\\\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\\\",\\\"stackName\\\":\\\"S3F2CustomVPC\\\",\\\"driftInformation\\\":{\\\"stackDriftStatus\\\":\\\"NOT_CHECKED\\\"},\\\"description\\\":\\\"Amazon S3 Find and Forget VPC (uksb-1qjminsd5)\\\",\\\"stackStatus\\\":\\\"CREATE_COMPLETE\\\",\\\"enableTerminationProtection\\\":false,\\\"disableRollback\\\":false,\\\"parameters\\\":[{\\\"parameterKey\\\":\\\"FlowLogsRoleArn\\\",\\\"parameterValue\\\":\\\"\\\"},{\\\"parameterKey\\\":\\\"FlowLogsGroup\\\",\\\"parameterValue\\\":\\\"\\\"},{\\\"parameterKey\\\":\\\"PrivateSubnetIpBlocks\\\",\\\"parameterValue\\\":\\\"10.0.0.0/22,10.0.4.0/22,10.0.8.0/22\\\"},{\\\"parameterKey\\\":\\\"VpcIpBlock\\\",\\\"parameterValue\\\":\\\"10.0.0.0/16\\\"}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-2","availabilityZone":"Regional","vpcId":"vpc-02dd8e355a967d1fe","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8","resourceName":"S3F2CustomVPC","resourceType":"AWS::CloudFormation::Stack","resourceValue":null,"state":null,"tags":"[]","title":"S3F2CustomVPC","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":117.5,"y":921.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"VPCEndpoint-vpc-02dd8e355a967d1fe-eu-west-2-060997615305","parent":"vpc-02dd8e355a967d1fe-eu-west-2-060997615305","level":3,"title":"VPCEndpoint","label":"VPCEndpoint","plainLabel":"VPCEndpoint","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-EC2_VPC_Endpoints_light-bg-menu.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-04a572c1fdd189258","label":"AWS_EC2_VPCEndpoint","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-04a572c1fdd189258","configuration":"\"{\\\"policyDocument\\\":\\\"{\\\\n \\\\\\\"Statement\\\\\\\": [\\\\n {\\\\n \\\\\\\"Action\\\\\\\": \\\\\\\"*\\\\\\\", \\\\n \\\\\\\"Effect\\\\\\\": \\\\\\\"Allow\\\\\\\", \\\\n \\\\\\\"Principal\\\\\\\": \\\\\\\"*\\\\\\\", \\\\n \\\\\\\"Resource\\\\\\\": \\\\\\\"*\\\\\\\"\\\\n }\\\\n ]\\\\n}\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"dnsOptions\\\":{\\\"dnsRecordIpType\\\":\\\"ipv4\\\"},\\\"serviceName\\\":\\\"com.amazonaws.eu-west-2.logs\\\",\\\"privateDnsEnabled\\\":true,\\\"ownerId\\\":\\\"060997615305\\\",\\\"requesterManaged\\\":false,\\\"vpcEndpointId\\\":\\\"vpce-04a572c1fdd189258\\\",\\\"ipAddressType\\\":\\\"ipv4\\\",\\\"tags\\\":[],\\\"routeTableIds\\\":[],\\\"vpcEndpointType\\\":\\\"Interface\\\",\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"creationTimestamp\\\":\\\"2020-08-24T13:17:55.295Z\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"dnsEntries\\\":[{\\\"hostedZoneId\\\":\\\"Z7K1066E3PUKB\\\",\\\"dnsName\\\":\\\"vpce-04a572c1fdd189258-ccln8we4.logs.eu-west-2.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z7K1066E3PUKB\\\",\\\"dnsName\\\":\\\"vpce-04a572c1fdd189258-ccln8we4-eu-west-2a.logs.eu-west-2.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z7K1066E3PUKB\\\",\\\"dnsName\\\":\\\"vpce-04a572c1fdd189258-ccln8we4-eu-west-2c.logs.eu-west-2.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z7K1066E3PUKB\\\",\\\"dnsName\\\":\\\"vpce-04a572c1fdd189258-ccln8we4-eu-west-2b.logs.eu-west-2.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z08397511434EEHM47Y4Q\\\",\\\"dnsName\\\":\\\"logs.eu-west-2.amazonaws.com\\\"}],\\\"networkInterfaceIds\\\":[\\\"eni-0ea3c4ac62a45481c\\\",\\\"eni-0d277bd2ede7469a7\\\",\\\"eni-0d821d089dc830f02\\\"],\\\"subnetIds\\\":[\\\"subnet-0610703526e920d2e\\\",\\\"subnet-02cd0f01396c68846\\\",\\\"subnet-0f80611bd38f92f51\\\"]}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":"vpc-02dd8e355a967d1fe","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"vpce-04a572c1fdd189258","resourceName":null,"resourceType":"AWS::EC2::VPCEndpoint","resourceValue":null,"state":null,"tags":"[]","title":"vpce-04a572c1fdd189258","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-0596f798ddaa2083c","label":"AWS_EC2_VPCEndpoint","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-0596f798ddaa2083c","configuration":"\"{\\\"policyDocument\\\":\\\"{\\\\n \\\\\\\"Statement\\\\\\\": [\\\\n {\\\\n \\\\\\\"Action\\\\\\\": \\\\\\\"*\\\\\\\", \\\\n \\\\\\\"Effect\\\\\\\": \\\\\\\"Allow\\\\\\\", \\\\n \\\\\\\"Principal\\\\\\\": \\\\\\\"*\\\\\\\", \\\\n \\\\\\\"Resource\\\\\\\": \\\\\\\"*\\\\\\\"\\\\n }\\\\n ]\\\\n}\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"dnsOptions\\\":{\\\"dnsRecordIpType\\\":\\\"ipv4\\\"},\\\"serviceName\\\":\\\"com.amazonaws.eu-west-2.monitoring\\\",\\\"privateDnsEnabled\\\":true,\\\"ownerId\\\":\\\"060997615305\\\",\\\"requesterManaged\\\":false,\\\"vpcEndpointId\\\":\\\"vpce-0596f798ddaa2083c\\\",\\\"ipAddressType\\\":\\\"ipv4\\\",\\\"tags\\\":[],\\\"routeTableIds\\\":[],\\\"vpcEndpointType\\\":\\\"Interface\\\",\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"creationTimestamp\\\":\\\"2020-08-24T13:17:55.285Z\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"dnsEntries\\\":[{\\\"hostedZoneId\\\":\\\"Z7K1066E3PUKB\\\",\\\"dnsName\\\":\\\"vpce-0596f798ddaa2083c-ki9dx9kb.monitoring.eu-west-2.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z7K1066E3PUKB\\\",\\\"dnsName\\\":\\\"vpce-0596f798ddaa2083c-ki9dx9kb-eu-west-2a.monitoring.eu-west-2.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z7K1066E3PUKB\\\",\\\"dnsName\\\":\\\"vpce-0596f798ddaa2083c-ki9dx9kb-eu-west-2c.monitoring.eu-west-2.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z7K1066E3PUKB\\\",\\\"dnsName\\\":\\\"vpce-0596f798ddaa2083c-ki9dx9kb-eu-west-2b.monitoring.eu-west-2.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z098872221HH8YAB2MF07\\\",\\\"dnsName\\\":\\\"monitoring.eu-west-2.amazonaws.com\\\"}],\\\"networkInterfaceIds\\\":[\\\"eni-049cf15d294c02363\\\",\\\"eni-04e7fe850d5ae1000\\\",\\\"eni-0239e9af2eb593ff6\\\"],\\\"subnetIds\\\":[\\\"subnet-0610703526e920d2e\\\",\\\"subnet-02cd0f01396c68846\\\",\\\"subnet-0f80611bd38f92f51\\\"]}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":"vpc-02dd8e355a967d1fe","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"vpce-0596f798ddaa2083c","resourceName":null,"resourceType":"AWS::EC2::VPCEndpoint","resourceValue":null,"state":null,"tags":"[]","title":"vpce-0596f798ddaa2083c","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-01fffefa0b344fe08","label":"AWS_EC2_VPCEndpoint","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-01fffefa0b344fe08","configuration":"\"{\\\"policyDocument\\\":\\\"{\\\\n \\\\\\\"Statement\\\\\\\": [\\\\n {\\\\n \\\\\\\"Action\\\\\\\": \\\\\\\"*\\\\\\\", \\\\n \\\\\\\"Effect\\\\\\\": \\\\\\\"Allow\\\\\\\", \\\\n \\\\\\\"Principal\\\\\\\": \\\\\\\"*\\\\\\\", \\\\n \\\\\\\"Resource\\\\\\\": \\\\\\\"*\\\\\\\"\\\\n }\\\\n ]\\\\n}\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"dnsOptions\\\":{\\\"dnsRecordIpType\\\":\\\"ipv4\\\"},\\\"serviceName\\\":\\\"com.amazonaws.eu-west-2.ecr.dkr\\\",\\\"privateDnsEnabled\\\":true,\\\"ownerId\\\":\\\"060997615305\\\",\\\"requesterManaged\\\":false,\\\"vpcEndpointId\\\":\\\"vpce-01fffefa0b344fe08\\\",\\\"ipAddressType\\\":\\\"ipv4\\\",\\\"tags\\\":[],\\\"routeTableIds\\\":[],\\\"vpcEndpointType\\\":\\\"Interface\\\",\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"creationTimestamp\\\":\\\"2020-08-24T13:17:55.439Z\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"dnsEntries\\\":[{\\\"hostedZoneId\\\":\\\"Z7K1066E3PUKB\\\",\\\"dnsName\\\":\\\"vpce-01fffefa0b344fe08-y92hjjg5.dkr.ecr.eu-west-2.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z7K1066E3PUKB\\\",\\\"dnsName\\\":\\\"vpce-01fffefa0b344fe08-y92hjjg5-eu-west-2a.dkr.ecr.eu-west-2.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z7K1066E3PUKB\\\",\\\"dnsName\\\":\\\"vpce-01fffefa0b344fe08-y92hjjg5-eu-west-2c.dkr.ecr.eu-west-2.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z7K1066E3PUKB\\\",\\\"dnsName\\\":\\\"vpce-01fffefa0b344fe08-y92hjjg5-eu-west-2b.dkr.ecr.eu-west-2.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z0988685ZII84A4J2MYW\\\",\\\"dnsName\\\":\\\"dkr.ecr.eu-west-2.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z0988685ZII84A4J2MYW\\\",\\\"dnsName\\\":\\\"*.dkr.ecr.eu-west-2.amazonaws.com\\\"}],\\\"networkInterfaceIds\\\":[\\\"eni-034b0ad02cd80d544\\\",\\\"eni-0adbe78e966d21857\\\",\\\"eni-0c03624e885725a9a\\\"],\\\"subnetIds\\\":[\\\"subnet-0610703526e920d2e\\\",\\\"subnet-02cd0f01396c68846\\\",\\\"subnet-0f80611bd38f92f51\\\"]}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":"vpc-02dd8e355a967d1fe","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"vpce-01fffefa0b344fe08","resourceName":null,"resourceType":"AWS::EC2::VPCEndpoint","resourceValue":null,"state":null,"tags":"[]","title":"vpce-01fffefa0b344fe08","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-01a04251e6fd9a18f","label":"AWS_EC2_VPCEndpoint","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-01a04251e6fd9a18f","configuration":"\"{\\\"policyDocument\\\":\\\"{\\\\n \\\\\\\"Statement\\\\\\\": [\\\\n {\\\\n \\\\\\\"Action\\\\\\\": \\\\\\\"*\\\\\\\", \\\\n \\\\\\\"Effect\\\\\\\": \\\\\\\"Allow\\\\\\\", \\\\n \\\\\\\"Principal\\\\\\\": \\\\\\\"*\\\\\\\", \\\\n \\\\\\\"Resource\\\\\\\": \\\\\\\"*\\\\\\\"\\\\n }\\\\n ]\\\\n}\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"dnsOptions\\\":{\\\"dnsRecordIpType\\\":\\\"ipv4\\\"},\\\"serviceName\\\":\\\"com.amazonaws.eu-west-2.sqs\\\",\\\"privateDnsEnabled\\\":true,\\\"ownerId\\\":\\\"060997615305\\\",\\\"requesterManaged\\\":false,\\\"vpcEndpointId\\\":\\\"vpce-01a04251e6fd9a18f\\\",\\\"ipAddressType\\\":\\\"ipv4\\\",\\\"tags\\\":[],\\\"routeTableIds\\\":[],\\\"vpcEndpointType\\\":\\\"Interface\\\",\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"creationTimestamp\\\":\\\"2020-08-24T13:17:55.378Z\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"dnsEntries\\\":[{\\\"hostedZoneId\\\":\\\"Z7K1066E3PUKB\\\",\\\"dnsName\\\":\\\"vpce-01a04251e6fd9a18f-x5yy25kz.sqs.eu-west-2.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z7K1066E3PUKB\\\",\\\"dnsName\\\":\\\"vpce-01a04251e6fd9a18f-x5yy25kz-eu-west-2a.sqs.eu-west-2.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z7K1066E3PUKB\\\",\\\"dnsName\\\":\\\"vpce-01a04251e6fd9a18f-x5yy25kz-eu-west-2c.sqs.eu-west-2.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z7K1066E3PUKB\\\",\\\"dnsName\\\":\\\"vpce-01a04251e6fd9a18f-x5yy25kz-eu-west-2b.sqs.eu-west-2.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z09889462OVRALO37I40T\\\",\\\"dnsName\\\":\\\"sqs.eu-west-2.amazonaws.com\\\"}],\\\"networkInterfaceIds\\\":[\\\"eni-08f4c7e0cf8d0eb25\\\",\\\"eni-0373c5d1881284488\\\",\\\"eni-07f888861ae7684e2\\\"],\\\"subnetIds\\\":[\\\"subnet-0610703526e920d2e\\\",\\\"subnet-02cd0f01396c68846\\\",\\\"subnet-0f80611bd38f92f51\\\"]}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":"vpc-02dd8e355a967d1fe","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"vpce-01a04251e6fd9a18f","resourceName":null,"resourceType":"AWS::EC2::VPCEndpoint","resourceValue":null,"state":null,"tags":"[]","title":"vpce-01a04251e6fd9a18f","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-01ab583657bc3c78e","label":"AWS_EC2_VPCEndpoint","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-01ab583657bc3c78e","configuration":"\"{\\\"policyDocument\\\":\\\"{\\\\\\\"Version\\\\\\\":\\\\\\\"2008-10-17\\\\\\\",\\\\\\\"Statement\\\\\\\":[{\\\\\\\"Effect\\\\\\\":\\\\\\\"Allow\\\\\\\",\\\\\\\"Principal\\\\\\\":\\\\\\\"*\\\\\\\",\\\\\\\"Action\\\\\\\":\\\\\\\"*\\\\\\\",\\\\\\\"Resource\\\\\\\":\\\\\\\"*\\\\\\\"}]}\\\",\\\"groups\\\":[],\\\"serviceName\\\":\\\"com.amazonaws.eu-west-2.s3\\\",\\\"privateDnsEnabled\\\":false,\\\"ownerId\\\":\\\"060997615305\\\",\\\"requesterManaged\\\":false,\\\"vpcEndpointId\\\":\\\"vpce-01ab583657bc3c78e\\\",\\\"tags\\\":[],\\\"routeTableIds\\\":[\\\"rtb-0204587d290944b3a\\\",\\\"rtb-0cff14b18c25c6fe5\\\",\\\"rtb-05f7724952e8964c5\\\"],\\\"vpcEndpointType\\\":\\\"Gateway\\\",\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"creationTimestamp\\\":\\\"2020-08-24T13:17:39Z\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"dnsEntries\\\":[],\\\"networkInterfaceIds\\\":[],\\\"subnetIds\\\":[]}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":"vpc-02dd8e355a967d1fe","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"vpce-01ab583657bc3c78e","resourceName":null,"resourceType":"AWS::EC2::VPCEndpoint","resourceValue":null,"state":null,"tags":"[]","title":"vpce-01ab583657bc3c78e","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-01b03ccc3d4534dfa","label":"AWS_EC2_VPCEndpoint","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-01b03ccc3d4534dfa","configuration":"\"{\\\"policyDocument\\\":\\\"{\\\\\\\"Version\\\\\\\":\\\\\\\"2008-10-17\\\\\\\",\\\\\\\"Statement\\\\\\\":[{\\\\\\\"Effect\\\\\\\":\\\\\\\"Allow\\\\\\\",\\\\\\\"Principal\\\\\\\":\\\\\\\"*\\\\\\\",\\\\\\\"Action\\\\\\\":\\\\\\\"*\\\\\\\",\\\\\\\"Resource\\\\\\\":\\\\\\\"*\\\\\\\"}]}\\\",\\\"groups\\\":[],\\\"serviceName\\\":\\\"com.amazonaws.eu-west-2.dynamodb\\\",\\\"privateDnsEnabled\\\":false,\\\"ownerId\\\":\\\"060997615305\\\",\\\"requesterManaged\\\":false,\\\"vpcEndpointId\\\":\\\"vpce-01b03ccc3d4534dfa\\\",\\\"tags\\\":[],\\\"routeTableIds\\\":[\\\"rtb-0204587d290944b3a\\\",\\\"rtb-0cff14b18c25c6fe5\\\",\\\"rtb-05f7724952e8964c5\\\"],\\\"vpcEndpointType\\\":\\\"Gateway\\\",\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"creationTimestamp\\\":\\\"2020-08-24T13:17:40Z\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"dnsEntries\\\":[],\\\"networkInterfaceIds\\\":[],\\\"subnetIds\\\":[]}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":"vpc-02dd8e355a967d1fe","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"vpce-01b03ccc3d4534dfa","resourceName":null,"resourceType":"AWS::EC2::VPCEndpoint","resourceValue":null,"state":null,"tags":"[]","title":"vpce-01b03ccc3d4534dfa","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-098bf4bcb70f8c0cc","label":"AWS_EC2_VPCEndpoint","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-098bf4bcb70f8c0cc","configuration":"\"{\\\"policyDocument\\\":\\\"{\\\\n \\\\\\\"Statement\\\\\\\": [\\\\n {\\\\n \\\\\\\"Action\\\\\\\": \\\\\\\"*\\\\\\\", \\\\n \\\\\\\"Effect\\\\\\\": \\\\\\\"Allow\\\\\\\", \\\\n \\\\\\\"Principal\\\\\\\": \\\\\\\"*\\\\\\\", \\\\n \\\\\\\"Resource\\\\\\\": \\\\\\\"*\\\\\\\"\\\\n }\\\\n ]\\\\n}\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"dnsOptions\\\":{\\\"dnsRecordIpType\\\":\\\"ipv4\\\"},\\\"serviceName\\\":\\\"com.amazonaws.eu-west-2.sts\\\",\\\"privateDnsEnabled\\\":true,\\\"ownerId\\\":\\\"060997615305\\\",\\\"requesterManaged\\\":false,\\\"vpcEndpointId\\\":\\\"vpce-098bf4bcb70f8c0cc\\\",\\\"ipAddressType\\\":\\\"ipv4\\\",\\\"tags\\\":[],\\\"routeTableIds\\\":[],\\\"vpcEndpointType\\\":\\\"Interface\\\",\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"creationTimestamp\\\":\\\"2020-08-24T13:17:55.335Z\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"dnsEntries\\\":[{\\\"hostedZoneId\\\":\\\"Z7K1066E3PUKB\\\",\\\"dnsName\\\":\\\"vpce-098bf4bcb70f8c0cc-3cjtgn17.sts.eu-west-2.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z7K1066E3PUKB\\\",\\\"dnsName\\\":\\\"vpce-098bf4bcb70f8c0cc-3cjtgn17-eu-west-2a.sts.eu-west-2.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z7K1066E3PUKB\\\",\\\"dnsName\\\":\\\"vpce-098bf4bcb70f8c0cc-3cjtgn17-eu-west-2c.sts.eu-west-2.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z7K1066E3PUKB\\\",\\\"dnsName\\\":\\\"vpce-098bf4bcb70f8c0cc-3cjtgn17-eu-west-2b.sts.eu-west-2.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z0946131HORU5MA9N1DO\\\",\\\"dnsName\\\":\\\"sts.eu-west-2.amazonaws.com\\\"}],\\\"networkInterfaceIds\\\":[\\\"eni-07a8eb68e4714b558\\\",\\\"eni-007c609c6f9dd10cc\\\",\\\"eni-0e0fad6b1591a161d\\\"],\\\"subnetIds\\\":[\\\"subnet-0610703526e920d2e\\\",\\\"subnet-02cd0f01396c68846\\\",\\\"subnet-0f80611bd38f92f51\\\"]}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":"vpc-02dd8e355a967d1fe","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"vpce-098bf4bcb70f8c0cc","resourceName":null,"resourceType":"AWS::EC2::VPCEndpoint","resourceValue":null,"state":null,"tags":"[]","title":"vpce-098bf4bcb70f8c0cc","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":157.5,"y":665.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-04a572c1fdd189258","resourceId":["vpce-04a572c1fdd189258","arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-04a572c1fdd189258"],"parent":"VPCEndpoint-vpc-02dd8e355a967d1fe-eu-west-2-060997615305","level":4,"id":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-04a572c1fdd189258","title":"vpce-04a572c1fdd189258","label":"vpce-04a572c...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-04a572c1fdd189258","image":"/icons/Amazon-EC2_VPC_Endpoints_light-bg-menu.svg","cost":0,"private":false,"resource":{"id":"vpce-04a572c1fdd189258","name":null,"value":null,"type":"AWS::EC2::VPCEndpoint","tags":"[]","arn":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-04a572c1fdd189258","region":"eu-west-2","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-04a572c1fdd189258","configuration":"\"{\\\"policyDocument\\\":\\\"{\\\\n \\\\\\\"Statement\\\\\\\": [\\\\n {\\\\n \\\\\\\"Action\\\\\\\": \\\\\\\"*\\\\\\\", \\\\n \\\\\\\"Effect\\\\\\\": \\\\\\\"Allow\\\\\\\", \\\\n \\\\\\\"Principal\\\\\\\": \\\\\\\"*\\\\\\\", \\\\n \\\\\\\"Resource\\\\\\\": \\\\\\\"*\\\\\\\"\\\\n }\\\\n ]\\\\n}\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"dnsOptions\\\":{\\\"dnsRecordIpType\\\":\\\"ipv4\\\"},\\\"serviceName\\\":\\\"com.amazonaws.eu-west-2.logs\\\",\\\"privateDnsEnabled\\\":true,\\\"ownerId\\\":\\\"060997615305\\\",\\\"requesterManaged\\\":false,\\\"vpcEndpointId\\\":\\\"vpce-04a572c1fdd189258\\\",\\\"ipAddressType\\\":\\\"ipv4\\\",\\\"tags\\\":[],\\\"routeTableIds\\\":[],\\\"vpcEndpointType\\\":\\\"Interface\\\",\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"creationTimestamp\\\":\\\"2020-08-24T13:17:55.295Z\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"dnsEntries\\\":[{\\\"hostedZoneId\\\":\\\"Z7K1066E3PUKB\\\",\\\"dnsName\\\":\\\"vpce-04a572c1fdd189258-ccln8we4.logs.eu-west-2.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z7K1066E3PUKB\\\",\\\"dnsName\\\":\\\"vpce-04a572c1fdd189258-ccln8we4-eu-west-2a.logs.eu-west-2.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z7K1066E3PUKB\\\",\\\"dnsName\\\":\\\"vpce-04a572c1fdd189258-ccln8we4-eu-west-2c.logs.eu-west-2.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z7K1066E3PUKB\\\",\\\"dnsName\\\":\\\"vpce-04a572c1fdd189258-ccln8we4-eu-west-2b.logs.eu-west-2.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z08397511434EEHM47Y4Q\\\",\\\"dnsName\\\":\\\"logs.eu-west-2.amazonaws.com\\\"}],\\\"networkInterfaceIds\\\":[\\\"eni-0ea3c4ac62a45481c\\\",\\\"eni-0d277bd2ede7469a7\\\",\\\"eni-0d821d089dc830f02\\\"],\\\"subnetIds\\\":[\\\"subnet-0610703526e920d2e\\\",\\\"subnet-02cd0f01396c68846\\\",\\\"subnet-0f80611bd38f92f51\\\"]}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":"vpc-02dd8e355a967d1fe","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"vpce-04a572c1fdd189258","resourceName":null,"resourceType":"AWS::EC2::VPCEndpoint","resourceValue":null,"state":null,"tags":"[]","title":"vpce-04a572c1fdd189258","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":84.5,"y":592.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-0596f798ddaa2083c","resourceId":["vpce-0596f798ddaa2083c","arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-0596f798ddaa2083c"],"parent":"VPCEndpoint-vpc-02dd8e355a967d1fe-eu-west-2-060997615305","level":4,"id":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-0596f798ddaa2083c","title":"vpce-0596f798ddaa2083c","label":"vpce-0596f79...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-0596f798ddaa2083c","image":"/icons/Amazon-EC2_VPC_Endpoints_light-bg-menu.svg","cost":0,"private":false,"resource":{"id":"vpce-0596f798ddaa2083c","name":null,"value":null,"type":"AWS::EC2::VPCEndpoint","tags":"[]","arn":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-0596f798ddaa2083c","region":"eu-west-2","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-0596f798ddaa2083c","configuration":"\"{\\\"policyDocument\\\":\\\"{\\\\n \\\\\\\"Statement\\\\\\\": [\\\\n {\\\\n \\\\\\\"Action\\\\\\\": \\\\\\\"*\\\\\\\", \\\\n \\\\\\\"Effect\\\\\\\": \\\\\\\"Allow\\\\\\\", \\\\n \\\\\\\"Principal\\\\\\\": \\\\\\\"*\\\\\\\", \\\\n \\\\\\\"Resource\\\\\\\": \\\\\\\"*\\\\\\\"\\\\n }\\\\n ]\\\\n}\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"dnsOptions\\\":{\\\"dnsRecordIpType\\\":\\\"ipv4\\\"},\\\"serviceName\\\":\\\"com.amazonaws.eu-west-2.monitoring\\\",\\\"privateDnsEnabled\\\":true,\\\"ownerId\\\":\\\"060997615305\\\",\\\"requesterManaged\\\":false,\\\"vpcEndpointId\\\":\\\"vpce-0596f798ddaa2083c\\\",\\\"ipAddressType\\\":\\\"ipv4\\\",\\\"tags\\\":[],\\\"routeTableIds\\\":[],\\\"vpcEndpointType\\\":\\\"Interface\\\",\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"creationTimestamp\\\":\\\"2020-08-24T13:17:55.285Z\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"dnsEntries\\\":[{\\\"hostedZoneId\\\":\\\"Z7K1066E3PUKB\\\",\\\"dnsName\\\":\\\"vpce-0596f798ddaa2083c-ki9dx9kb.monitoring.eu-west-2.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z7K1066E3PUKB\\\",\\\"dnsName\\\":\\\"vpce-0596f798ddaa2083c-ki9dx9kb-eu-west-2a.monitoring.eu-west-2.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z7K1066E3PUKB\\\",\\\"dnsName\\\":\\\"vpce-0596f798ddaa2083c-ki9dx9kb-eu-west-2c.monitoring.eu-west-2.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z7K1066E3PUKB\\\",\\\"dnsName\\\":\\\"vpce-0596f798ddaa2083c-ki9dx9kb-eu-west-2b.monitoring.eu-west-2.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z098872221HH8YAB2MF07\\\",\\\"dnsName\\\":\\\"monitoring.eu-west-2.amazonaws.com\\\"}],\\\"networkInterfaceIds\\\":[\\\"eni-049cf15d294c02363\\\",\\\"eni-04e7fe850d5ae1000\\\",\\\"eni-0239e9af2eb593ff6\\\"],\\\"subnetIds\\\":[\\\"subnet-0610703526e920d2e\\\",\\\"subnet-02cd0f01396c68846\\\",\\\"subnet-0f80611bd38f92f51\\\"]}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":"vpc-02dd8e355a967d1fe","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"vpce-0596f798ddaa2083c","resourceName":null,"resourceType":"AWS::EC2::VPCEndpoint","resourceValue":null,"state":null,"tags":"[]","title":"vpce-0596f798ddaa2083c","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":157.5,"y":592.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-01fffefa0b344fe08","resourceId":["vpce-01fffefa0b344fe08","arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-01fffefa0b344fe08"],"parent":"VPCEndpoint-vpc-02dd8e355a967d1fe-eu-west-2-060997615305","level":4,"id":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-01fffefa0b344fe08","title":"vpce-01fffefa0b344fe08","label":"vpce-01fffef...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-01fffefa0b344fe08","image":"/icons/Amazon-EC2_VPC_Endpoints_light-bg-menu.svg","cost":0,"private":false,"resource":{"id":"vpce-01fffefa0b344fe08","name":null,"value":null,"type":"AWS::EC2::VPCEndpoint","tags":"[]","arn":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-01fffefa0b344fe08","region":"eu-west-2","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-01fffefa0b344fe08","configuration":"\"{\\\"policyDocument\\\":\\\"{\\\\n \\\\\\\"Statement\\\\\\\": [\\\\n {\\\\n \\\\\\\"Action\\\\\\\": \\\\\\\"*\\\\\\\", \\\\n \\\\\\\"Effect\\\\\\\": \\\\\\\"Allow\\\\\\\", \\\\n \\\\\\\"Principal\\\\\\\": \\\\\\\"*\\\\\\\", \\\\n \\\\\\\"Resource\\\\\\\": \\\\\\\"*\\\\\\\"\\\\n }\\\\n ]\\\\n}\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"dnsOptions\\\":{\\\"dnsRecordIpType\\\":\\\"ipv4\\\"},\\\"serviceName\\\":\\\"com.amazonaws.eu-west-2.ecr.dkr\\\",\\\"privateDnsEnabled\\\":true,\\\"ownerId\\\":\\\"060997615305\\\",\\\"requesterManaged\\\":false,\\\"vpcEndpointId\\\":\\\"vpce-01fffefa0b344fe08\\\",\\\"ipAddressType\\\":\\\"ipv4\\\",\\\"tags\\\":[],\\\"routeTableIds\\\":[],\\\"vpcEndpointType\\\":\\\"Interface\\\",\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"creationTimestamp\\\":\\\"2020-08-24T13:17:55.439Z\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"dnsEntries\\\":[{\\\"hostedZoneId\\\":\\\"Z7K1066E3PUKB\\\",\\\"dnsName\\\":\\\"vpce-01fffefa0b344fe08-y92hjjg5.dkr.ecr.eu-west-2.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z7K1066E3PUKB\\\",\\\"dnsName\\\":\\\"vpce-01fffefa0b344fe08-y92hjjg5-eu-west-2a.dkr.ecr.eu-west-2.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z7K1066E3PUKB\\\",\\\"dnsName\\\":\\\"vpce-01fffefa0b344fe08-y92hjjg5-eu-west-2c.dkr.ecr.eu-west-2.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z7K1066E3PUKB\\\",\\\"dnsName\\\":\\\"vpce-01fffefa0b344fe08-y92hjjg5-eu-west-2b.dkr.ecr.eu-west-2.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z0988685ZII84A4J2MYW\\\",\\\"dnsName\\\":\\\"dkr.ecr.eu-west-2.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z0988685ZII84A4J2MYW\\\",\\\"dnsName\\\":\\\"*.dkr.ecr.eu-west-2.amazonaws.com\\\"}],\\\"networkInterfaceIds\\\":[\\\"eni-034b0ad02cd80d544\\\",\\\"eni-0adbe78e966d21857\\\",\\\"eni-0c03624e885725a9a\\\"],\\\"subnetIds\\\":[\\\"subnet-0610703526e920d2e\\\",\\\"subnet-02cd0f01396c68846\\\",\\\"subnet-0f80611bd38f92f51\\\"]}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":"vpc-02dd8e355a967d1fe","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"vpce-01fffefa0b344fe08","resourceName":null,"resourceType":"AWS::EC2::VPCEndpoint","resourceValue":null,"state":null,"tags":"[]","title":"vpce-01fffefa0b344fe08","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":84.5,"y":665.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-01a04251e6fd9a18f","resourceId":["vpce-01a04251e6fd9a18f","arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-01a04251e6fd9a18f"],"parent":"VPCEndpoint-vpc-02dd8e355a967d1fe-eu-west-2-060997615305","level":4,"id":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-01a04251e6fd9a18f","title":"vpce-01a04251e6fd9a18f","label":"vpce-01a0425...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-01a04251e6fd9a18f","image":"/icons/Amazon-EC2_VPC_Endpoints_light-bg-menu.svg","cost":0,"private":false,"resource":{"id":"vpce-01a04251e6fd9a18f","name":null,"value":null,"type":"AWS::EC2::VPCEndpoint","tags":"[]","arn":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-01a04251e6fd9a18f","region":"eu-west-2","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-01a04251e6fd9a18f","configuration":"\"{\\\"policyDocument\\\":\\\"{\\\\n \\\\\\\"Statement\\\\\\\": [\\\\n {\\\\n \\\\\\\"Action\\\\\\\": \\\\\\\"*\\\\\\\", \\\\n \\\\\\\"Effect\\\\\\\": \\\\\\\"Allow\\\\\\\", \\\\n \\\\\\\"Principal\\\\\\\": \\\\\\\"*\\\\\\\", \\\\n \\\\\\\"Resource\\\\\\\": \\\\\\\"*\\\\\\\"\\\\n }\\\\n ]\\\\n}\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"dnsOptions\\\":{\\\"dnsRecordIpType\\\":\\\"ipv4\\\"},\\\"serviceName\\\":\\\"com.amazonaws.eu-west-2.sqs\\\",\\\"privateDnsEnabled\\\":true,\\\"ownerId\\\":\\\"060997615305\\\",\\\"requesterManaged\\\":false,\\\"vpcEndpointId\\\":\\\"vpce-01a04251e6fd9a18f\\\",\\\"ipAddressType\\\":\\\"ipv4\\\",\\\"tags\\\":[],\\\"routeTableIds\\\":[],\\\"vpcEndpointType\\\":\\\"Interface\\\",\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"creationTimestamp\\\":\\\"2020-08-24T13:17:55.378Z\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"dnsEntries\\\":[{\\\"hostedZoneId\\\":\\\"Z7K1066E3PUKB\\\",\\\"dnsName\\\":\\\"vpce-01a04251e6fd9a18f-x5yy25kz.sqs.eu-west-2.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z7K1066E3PUKB\\\",\\\"dnsName\\\":\\\"vpce-01a04251e6fd9a18f-x5yy25kz-eu-west-2a.sqs.eu-west-2.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z7K1066E3PUKB\\\",\\\"dnsName\\\":\\\"vpce-01a04251e6fd9a18f-x5yy25kz-eu-west-2c.sqs.eu-west-2.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z7K1066E3PUKB\\\",\\\"dnsName\\\":\\\"vpce-01a04251e6fd9a18f-x5yy25kz-eu-west-2b.sqs.eu-west-2.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z09889462OVRALO37I40T\\\",\\\"dnsName\\\":\\\"sqs.eu-west-2.amazonaws.com\\\"}],\\\"networkInterfaceIds\\\":[\\\"eni-08f4c7e0cf8d0eb25\\\",\\\"eni-0373c5d1881284488\\\",\\\"eni-07f888861ae7684e2\\\"],\\\"subnetIds\\\":[\\\"subnet-0610703526e920d2e\\\",\\\"subnet-02cd0f01396c68846\\\",\\\"subnet-0f80611bd38f92f51\\\"]}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":"vpc-02dd8e355a967d1fe","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"vpce-01a04251e6fd9a18f","resourceName":null,"resourceType":"AWS::EC2::VPCEndpoint","resourceValue":null,"state":null,"tags":"[]","title":"vpce-01a04251e6fd9a18f","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":157.5,"y":665.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-01ab583657bc3c78e","resourceId":["vpce-01ab583657bc3c78e","arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-01ab583657bc3c78e"],"parent":"VPCEndpoint-vpc-02dd8e355a967d1fe-eu-west-2-060997615305","level":4,"id":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-01ab583657bc3c78e","title":"vpce-01ab583657bc3c78e","label":"vpce-01ab583...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-01ab583657bc3c78e","image":"/icons/Amazon-EC2_VPC_Endpoints_light-bg-menu.svg","cost":0,"private":false,"resource":{"id":"vpce-01ab583657bc3c78e","name":null,"value":null,"type":"AWS::EC2::VPCEndpoint","tags":"[]","arn":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-01ab583657bc3c78e","region":"eu-west-2","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-01ab583657bc3c78e","configuration":"\"{\\\"policyDocument\\\":\\\"{\\\\\\\"Version\\\\\\\":\\\\\\\"2008-10-17\\\\\\\",\\\\\\\"Statement\\\\\\\":[{\\\\\\\"Effect\\\\\\\":\\\\\\\"Allow\\\\\\\",\\\\\\\"Principal\\\\\\\":\\\\\\\"*\\\\\\\",\\\\\\\"Action\\\\\\\":\\\\\\\"*\\\\\\\",\\\\\\\"Resource\\\\\\\":\\\\\\\"*\\\\\\\"}]}\\\",\\\"groups\\\":[],\\\"serviceName\\\":\\\"com.amazonaws.eu-west-2.s3\\\",\\\"privateDnsEnabled\\\":false,\\\"ownerId\\\":\\\"060997615305\\\",\\\"requesterManaged\\\":false,\\\"vpcEndpointId\\\":\\\"vpce-01ab583657bc3c78e\\\",\\\"tags\\\":[],\\\"routeTableIds\\\":[\\\"rtb-0204587d290944b3a\\\",\\\"rtb-0cff14b18c25c6fe5\\\",\\\"rtb-05f7724952e8964c5\\\"],\\\"vpcEndpointType\\\":\\\"Gateway\\\",\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"creationTimestamp\\\":\\\"2020-08-24T13:17:39Z\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"dnsEntries\\\":[],\\\"networkInterfaceIds\\\":[],\\\"subnetIds\\\":[]}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":"vpc-02dd8e355a967d1fe","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"vpce-01ab583657bc3c78e","resourceName":null,"resourceType":"AWS::EC2::VPCEndpoint","resourceValue":null,"state":null,"tags":"[]","title":"vpce-01ab583657bc3c78e","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":230.5,"y":592.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-01b03ccc3d4534dfa","resourceId":["vpce-01b03ccc3d4534dfa","arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-01b03ccc3d4534dfa"],"parent":"VPCEndpoint-vpc-02dd8e355a967d1fe-eu-west-2-060997615305","level":4,"id":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-01b03ccc3d4534dfa","title":"vpce-01b03ccc3d4534dfa","label":"vpce-01b03cc...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-01b03ccc3d4534dfa","image":"/icons/Amazon-EC2_VPC_Endpoints_light-bg-menu.svg","cost":0,"private":false,"resource":{"id":"vpce-01b03ccc3d4534dfa","name":null,"value":null,"type":"AWS::EC2::VPCEndpoint","tags":"[]","arn":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-01b03ccc3d4534dfa","region":"eu-west-2","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-01b03ccc3d4534dfa","configuration":"\"{\\\"policyDocument\\\":\\\"{\\\\\\\"Version\\\\\\\":\\\\\\\"2008-10-17\\\\\\\",\\\\\\\"Statement\\\\\\\":[{\\\\\\\"Effect\\\\\\\":\\\\\\\"Allow\\\\\\\",\\\\\\\"Principal\\\\\\\":\\\\\\\"*\\\\\\\",\\\\\\\"Action\\\\\\\":\\\\\\\"*\\\\\\\",\\\\\\\"Resource\\\\\\\":\\\\\\\"*\\\\\\\"}]}\\\",\\\"groups\\\":[],\\\"serviceName\\\":\\\"com.amazonaws.eu-west-2.dynamodb\\\",\\\"privateDnsEnabled\\\":false,\\\"ownerId\\\":\\\"060997615305\\\",\\\"requesterManaged\\\":false,\\\"vpcEndpointId\\\":\\\"vpce-01b03ccc3d4534dfa\\\",\\\"tags\\\":[],\\\"routeTableIds\\\":[\\\"rtb-0204587d290944b3a\\\",\\\"rtb-0cff14b18c25c6fe5\\\",\\\"rtb-05f7724952e8964c5\\\"],\\\"vpcEndpointType\\\":\\\"Gateway\\\",\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"creationTimestamp\\\":\\\"2020-08-24T13:17:40Z\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"dnsEntries\\\":[],\\\"networkInterfaceIds\\\":[],\\\"subnetIds\\\":[]}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":"vpc-02dd8e355a967d1fe","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"vpce-01b03ccc3d4534dfa","resourceName":null,"resourceType":"AWS::EC2::VPCEndpoint","resourceValue":null,"state":null,"tags":"[]","title":"vpce-01b03ccc3d4534dfa","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":230.5,"y":665.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-098bf4bcb70f8c0cc","resourceId":["vpce-098bf4bcb70f8c0cc","arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-098bf4bcb70f8c0cc"],"parent":"VPCEndpoint-vpc-02dd8e355a967d1fe-eu-west-2-060997615305","level":4,"id":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-098bf4bcb70f8c0cc","title":"vpce-098bf4bcb70f8c0cc","label":"vpce-098bf4b...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-098bf4bcb70f8c0cc","image":"/icons/Amazon-EC2_VPC_Endpoints_light-bg-menu.svg","cost":0,"private":false,"resource":{"id":"vpce-098bf4bcb70f8c0cc","name":null,"value":null,"type":"AWS::EC2::VPCEndpoint","tags":"[]","arn":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-098bf4bcb70f8c0cc","region":"eu-west-2","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-098bf4bcb70f8c0cc","configuration":"\"{\\\"policyDocument\\\":\\\"{\\\\n \\\\\\\"Statement\\\\\\\": [\\\\n {\\\\n \\\\\\\"Action\\\\\\\": \\\\\\\"*\\\\\\\", \\\\n \\\\\\\"Effect\\\\\\\": \\\\\\\"Allow\\\\\\\", \\\\n \\\\\\\"Principal\\\\\\\": \\\\\\\"*\\\\\\\", \\\\n \\\\\\\"Resource\\\\\\\": \\\\\\\"*\\\\\\\"\\\\n }\\\\n ]\\\\n}\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"dnsOptions\\\":{\\\"dnsRecordIpType\\\":\\\"ipv4\\\"},\\\"serviceName\\\":\\\"com.amazonaws.eu-west-2.sts\\\",\\\"privateDnsEnabled\\\":true,\\\"ownerId\\\":\\\"060997615305\\\",\\\"requesterManaged\\\":false,\\\"vpcEndpointId\\\":\\\"vpce-098bf4bcb70f8c0cc\\\",\\\"ipAddressType\\\":\\\"ipv4\\\",\\\"tags\\\":[],\\\"routeTableIds\\\":[],\\\"vpcEndpointType\\\":\\\"Interface\\\",\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"creationTimestamp\\\":\\\"2020-08-24T13:17:55.335Z\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"dnsEntries\\\":[{\\\"hostedZoneId\\\":\\\"Z7K1066E3PUKB\\\",\\\"dnsName\\\":\\\"vpce-098bf4bcb70f8c0cc-3cjtgn17.sts.eu-west-2.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z7K1066E3PUKB\\\",\\\"dnsName\\\":\\\"vpce-098bf4bcb70f8c0cc-3cjtgn17-eu-west-2a.sts.eu-west-2.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z7K1066E3PUKB\\\",\\\"dnsName\\\":\\\"vpce-098bf4bcb70f8c0cc-3cjtgn17-eu-west-2c.sts.eu-west-2.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z7K1066E3PUKB\\\",\\\"dnsName\\\":\\\"vpce-098bf4bcb70f8c0cc-3cjtgn17-eu-west-2b.sts.eu-west-2.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z0946131HORU5MA9N1DO\\\",\\\"dnsName\\\":\\\"sts.eu-west-2.amazonaws.com\\\"}],\\\"networkInterfaceIds\\\":[\\\"eni-07a8eb68e4714b558\\\",\\\"eni-007c609c6f9dd10cc\\\",\\\"eni-0e0fad6b1591a161d\\\"],\\\"subnetIds\\\":[\\\"subnet-0610703526e920d2e\\\",\\\"subnet-02cd0f01396c68846\\\",\\\"subnet-0f80611bd38f92f51\\\"]}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":"vpc-02dd8e355a967d1fe","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"vpce-098bf4bcb70f8c0cc","resourceName":null,"resourceType":"AWS::EC2::VPCEndpoint","resourceValue":null,"state":null,"tags":"[]","title":"vpce-098bf4bcb70f8c0cc","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":84.5,"y":738.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"eu-west-2b-vpc-02dd8e355a967d1fe-eu-west-2-060997615305","parent":"vpc-02dd8e355a967d1fe-eu-west-2-060997615305","level":3,"title":"eu-west-2b","label":"eu-west-2b","plainLabel":"eu-west-2b","type":"availabilityZone","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/availabilityZone.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-0f80611bd38f92f51","label":"subnet-0f80611bd38f92f51","parent":null,"type":"subnet","data":{"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-0f80611bd38f92f51","configuration":"\"{\\\"subnetId\\\":\\\"subnet-0f80611bd38f92f51\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-0f80611bd38f92f51\\\",\\\"availabilityZoneId\\\":\\\"euw2-az3\\\",\\\"cidrBlock\\\":\\\"10.0.4.0/22\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"availabilityZone\\\":\\\"eu-west-2b\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"S3F2CustomVPC Private Subnet 2\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"S3F2CustomVPC\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"PrivateSubnet2\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"}],\\\"availableIpAddressCount\\\":1014,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"mapPublicIpOnLaunch\\\":false,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2b","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-0f80611bd38f92f51","loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#subnets:sort=SubnetId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#subnets:sort=SubnetId","private":"true","resourceId":"subnet-0f80611bd38f92f51","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2CustomVPC\",\"value\":\"S3F2CustomVPC\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"value\":\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateSubnet2\",\"value\":\"PrivateSubnet2\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=S3F2CustomVPC Private Subnet 2\",\"value\":\"S3F2CustomVPC Private Subnet 2\",\"key\":\"Name\"}]","title":"S3F2CustomVPC Private Subnet 2","instanceType":null,"statement":null,"dBInstanceStatus":null},"id":"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-0f80611bd38f92f51","label":"AWS_EC2_Subnet"},"properties":null,"children":[{"id":null,"label":"NetworkInterface","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-034b0ad02cd80d544","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-034b0ad02cd80d544","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-034b0ad02cd80d544\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-7-201.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.7.201\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0f80611bd38f92f51\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-01fffefa0b344fe08\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2b\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.7.201\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:1d:78:89:71:f4\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-7457d95e\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-7-201.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2b","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-0f80611bd38f92f51","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-034b0ad02cd80d544","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-034b0ad02cd80d544","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-04e7fe850d5ae1000","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-04e7fe850d5ae1000","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-04e7fe850d5ae1000\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-5-245.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.5.245\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0f80611bd38f92f51\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-0596f798ddaa2083c\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2b\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.5.245\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:1f:20:9e:37:8a\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-5458d67e\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-5-245.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2b","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-0f80611bd38f92f51","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-04e7fe850d5ae1000","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-04e7fe850d5ae1000","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-07f888861ae7684e2","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-07f888861ae7684e2","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-07f888861ae7684e2\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-4-50.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.4.50\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0f80611bd38f92f51\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-01a04251e6fd9a18f\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2b\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.4.50\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:6f:46:b7:3f:8a\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-f259d7d8\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-4-50.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2b","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-0f80611bd38f92f51","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-07f888861ae7684e2","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-07f888861ae7684e2","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-007c609c6f9dd10cc","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-007c609c6f9dd10cc","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-007c609c6f9dd10cc\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-7-181.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.7.181\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0f80611bd38f92f51\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-098bf4bcb70f8c0cc\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2b\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.7.181\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:51:79:3d:8b:0a\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-e05dd3ca\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-7-181.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2b","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-0f80611bd38f92f51","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-007c609c6f9dd10cc","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-007c609c6f9dd10cc","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0d821d089dc830f02","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0d821d089dc830f02","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0d821d089dc830f02\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-7-130.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.7.130\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0f80611bd38f92f51\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-04a572c1fdd189258\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2b\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.7.130\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:0d:d3:c2:3c:54\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-f95ad4d3\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-7-130.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2b","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-0f80611bd38f92f51","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-0d821d089dc830f02","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0d821d089dc830f02","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-141.5,"y":386.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"availabilityZone removeAll _gridParentPadding"},{"data":{"id":"subnet-0f80611bd38f92f51-eu-west-2b-vpc-02dd8e355a967d1fe-eu-west-2-060997615305","parent":"eu-west-2b-vpc-02dd8e355a967d1fe-eu-west-2-060997615305","level":4,"title":"subnet-0f80611bd38f92f51","label":"subnet-0f80611bd38f92f51","plainLabel":"subnet-0f80611bd38f92f51","type":"subnet","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/VPC-subnet-private_light-bg-collapsed.svg","clickedId":"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-0f80611bd38f92f51","cost":0,"hasChildren":true,"children":[{"id":null,"label":"NetworkInterface","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-034b0ad02cd80d544","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-034b0ad02cd80d544","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-034b0ad02cd80d544\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-7-201.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.7.201\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0f80611bd38f92f51\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-01fffefa0b344fe08\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2b\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.7.201\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:1d:78:89:71:f4\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-7457d95e\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-7-201.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2b","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-0f80611bd38f92f51","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-034b0ad02cd80d544","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-034b0ad02cd80d544","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-04e7fe850d5ae1000","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-04e7fe850d5ae1000","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-04e7fe850d5ae1000\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-5-245.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.5.245\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0f80611bd38f92f51\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-0596f798ddaa2083c\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2b\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.5.245\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:1f:20:9e:37:8a\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-5458d67e\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-5-245.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2b","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-0f80611bd38f92f51","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-04e7fe850d5ae1000","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-04e7fe850d5ae1000","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-07f888861ae7684e2","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-07f888861ae7684e2","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-07f888861ae7684e2\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-4-50.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.4.50\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0f80611bd38f92f51\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-01a04251e6fd9a18f\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2b\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.4.50\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:6f:46:b7:3f:8a\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-f259d7d8\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-4-50.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2b","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-0f80611bd38f92f51","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-07f888861ae7684e2","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-07f888861ae7684e2","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-007c609c6f9dd10cc","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-007c609c6f9dd10cc","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-007c609c6f9dd10cc\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-7-181.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.7.181\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0f80611bd38f92f51\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-098bf4bcb70f8c0cc\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2b\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.7.181\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:51:79:3d:8b:0a\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-e05dd3ca\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-7-181.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2b","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-0f80611bd38f92f51","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-007c609c6f9dd10cc","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-007c609c6f9dd10cc","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0d821d089dc830f02","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0d821d089dc830f02","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0d821d089dc830f02\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-7-130.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.7.130\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0f80611bd38f92f51\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-04a572c1fdd189258\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2b\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.7.130\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:0d:d3:c2:3c:54\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-f95ad4d3\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-7-130.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2b","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-0f80611bd38f92f51","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-0d821d089dc830f02","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0d821d089dc830f02","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#147eba","properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-0f80611bd38f92f51","configuration":"\"{\\\"subnetId\\\":\\\"subnet-0f80611bd38f92f51\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-0f80611bd38f92f51\\\",\\\"availabilityZoneId\\\":\\\"euw2-az3\\\",\\\"cidrBlock\\\":\\\"10.0.4.0/22\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"availabilityZone\\\":\\\"eu-west-2b\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"S3F2CustomVPC Private Subnet 2\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"S3F2CustomVPC\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"PrivateSubnet2\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"}],\\\"availableIpAddressCount\\\":1014,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"mapPublicIpOnLaunch\\\":false,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2b","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-0f80611bd38f92f51","loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#subnets:sort=SubnetId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#subnets:sort=SubnetId","private":"true","resourceId":"subnet-0f80611bd38f92f51","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2CustomVPC\",\"value\":\"S3F2CustomVPC\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"value\":\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateSubnet2\",\"value\":\"PrivateSubnet2\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=S3F2CustomVPC Private Subnet 2\",\"value\":\"S3F2CustomVPC Private Subnet 2\",\"key\":\"Name\"}]","title":"S3F2CustomVPC Private Subnet 2","instanceType":null,"statement":null,"dBInstanceStatus":null},"resource":{"id":"subnet-0f80611bd38f92f51","name":null,"value":null,"type":"AWS::EC2::Subnet","tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2CustomVPC\",\"value\":\"S3F2CustomVPC\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"value\":\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateSubnet2\",\"value\":\"PrivateSubnet2\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=S3F2CustomVPC Private Subnet 2\",\"value\":\"S3F2CustomVPC Private Subnet 2\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-0f80611bd38f92f51","region":"eu-west-2","state":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#subnets:sort=SubnetId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#subnets:sort=SubnetId","accountId":"060997615305"}},"position":{"x":-141.5,"y":386.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"subnet removeAll _gridParentPadding"},{"data":{"id":"NetworkInterface-subnet-0f80611bd38f92f51-eu-west-2b-vpc-02dd8e355a967d1fe-eu-west-2-060997615305","parent":"subnet-0f80611bd38f92f51-eu-west-2b-vpc-02dd8e355a967d1fe-eu-west-2-060997615305","level":5,"title":"NetworkInterface","label":"NetworkInterface","plainLabel":"NetworkInterface","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-034b0ad02cd80d544","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-034b0ad02cd80d544","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-034b0ad02cd80d544\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-7-201.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.7.201\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0f80611bd38f92f51\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-01fffefa0b344fe08\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2b\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.7.201\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:1d:78:89:71:f4\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-7457d95e\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-7-201.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2b","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-0f80611bd38f92f51","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-034b0ad02cd80d544","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-034b0ad02cd80d544","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-04e7fe850d5ae1000","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-04e7fe850d5ae1000","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-04e7fe850d5ae1000\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-5-245.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.5.245\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0f80611bd38f92f51\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-0596f798ddaa2083c\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2b\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.5.245\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:1f:20:9e:37:8a\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-5458d67e\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-5-245.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2b","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-0f80611bd38f92f51","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-04e7fe850d5ae1000","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-04e7fe850d5ae1000","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-07f888861ae7684e2","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-07f888861ae7684e2","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-07f888861ae7684e2\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-4-50.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.4.50\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0f80611bd38f92f51\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-01a04251e6fd9a18f\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2b\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.4.50\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:6f:46:b7:3f:8a\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-f259d7d8\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-4-50.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2b","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-0f80611bd38f92f51","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-07f888861ae7684e2","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-07f888861ae7684e2","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-007c609c6f9dd10cc","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-007c609c6f9dd10cc","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-007c609c6f9dd10cc\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-7-181.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.7.181\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0f80611bd38f92f51\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-098bf4bcb70f8c0cc\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2b\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.7.181\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:51:79:3d:8b:0a\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-e05dd3ca\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-7-181.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2b","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-0f80611bd38f92f51","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-007c609c6f9dd10cc","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-007c609c6f9dd10cc","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0d821d089dc830f02","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0d821d089dc830f02","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0d821d089dc830f02\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-7-130.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.7.130\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0f80611bd38f92f51\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-04a572c1fdd189258\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2b\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.7.130\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:0d:d3:c2:3c:54\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-f95ad4d3\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-7-130.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2b","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-0f80611bd38f92f51","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-0d821d089dc830f02","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0d821d089dc830f02","instanceType":null,"statement":null,"dBInstanceStatus":null}}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-141.5,"y":386.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-034b0ad02cd80d544","resourceId":["eni-034b0ad02cd80d544","arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-034b0ad02cd80d544"],"parent":"NetworkInterface-subnet-0f80611bd38f92f51-eu-west-2b-vpc-02dd8e355a967d1fe-eu-west-2-060997615305","level":6,"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-034b0ad02cd80d544","title":"eni-034b0ad02cd80d544","label":"eni-034b0ad0...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-034b0ad02cd80d544","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-034b0ad02cd80d544","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-034b0ad02cd80d544","region":"eu-west-2","state":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-034b0ad02cd80d544","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-034b0ad02cd80d544\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-7-201.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.7.201\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0f80611bd38f92f51\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-01fffefa0b344fe08\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2b\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.7.201\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:1d:78:89:71:f4\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-7457d95e\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-7-201.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2b","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-0f80611bd38f92f51","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-034b0ad02cd80d544","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-034b0ad02cd80d544","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-214.5,"y":349.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-04e7fe850d5ae1000","resourceId":["eni-04e7fe850d5ae1000","arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-04e7fe850d5ae1000"],"parent":"NetworkInterface-subnet-0f80611bd38f92f51-eu-west-2b-vpc-02dd8e355a967d1fe-eu-west-2-060997615305","level":6,"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-04e7fe850d5ae1000","title":"eni-04e7fe850d5ae1000","label":"eni-04e7fe85...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-04e7fe850d5ae1000","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-04e7fe850d5ae1000","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-04e7fe850d5ae1000","region":"eu-west-2","state":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-04e7fe850d5ae1000","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-04e7fe850d5ae1000\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-5-245.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.5.245\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0f80611bd38f92f51\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-0596f798ddaa2083c\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2b\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.5.245\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:1f:20:9e:37:8a\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-5458d67e\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-5-245.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2b","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-0f80611bd38f92f51","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-04e7fe850d5ae1000","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-04e7fe850d5ae1000","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-141.5,"y":349.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-07f888861ae7684e2","resourceId":["eni-07f888861ae7684e2","arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-07f888861ae7684e2"],"parent":"NetworkInterface-subnet-0f80611bd38f92f51-eu-west-2b-vpc-02dd8e355a967d1fe-eu-west-2-060997615305","level":6,"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-07f888861ae7684e2","title":"eni-07f888861ae7684e2","label":"eni-07f88886...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-07f888861ae7684e2","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-07f888861ae7684e2","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-07f888861ae7684e2","region":"eu-west-2","state":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-07f888861ae7684e2","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-07f888861ae7684e2\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-4-50.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.4.50\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0f80611bd38f92f51\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-01a04251e6fd9a18f\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2b\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.4.50\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:6f:46:b7:3f:8a\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-f259d7d8\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-4-50.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2b","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-0f80611bd38f92f51","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-07f888861ae7684e2","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-07f888861ae7684e2","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-214.5,"y":422.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-007c609c6f9dd10cc","resourceId":["eni-007c609c6f9dd10cc","arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-007c609c6f9dd10cc"],"parent":"NetworkInterface-subnet-0f80611bd38f92f51-eu-west-2b-vpc-02dd8e355a967d1fe-eu-west-2-060997615305","level":6,"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-007c609c6f9dd10cc","title":"eni-007c609c6f9dd10cc","label":"eni-007c609c...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-007c609c6f9dd10cc","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-007c609c6f9dd10cc","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-007c609c6f9dd10cc","region":"eu-west-2","state":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-007c609c6f9dd10cc","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-007c609c6f9dd10cc\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-7-181.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.7.181\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0f80611bd38f92f51\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-098bf4bcb70f8c0cc\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2b\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.7.181\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:51:79:3d:8b:0a\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-e05dd3ca\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-7-181.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2b","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-0f80611bd38f92f51","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-007c609c6f9dd10cc","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-007c609c6f9dd10cc","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-141.5,"y":422.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0d821d089dc830f02","resourceId":["eni-0d821d089dc830f02","arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0d821d089dc830f02"],"parent":"NetworkInterface-subnet-0f80611bd38f92f51-eu-west-2b-vpc-02dd8e355a967d1fe-eu-west-2-060997615305","level":6,"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0d821d089dc830f02","title":"eni-0d821d089dc830f02","label":"eni-0d821d08...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0d821d089dc830f02","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-0d821d089dc830f02","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0d821d089dc830f02","region":"eu-west-2","state":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0d821d089dc830f02","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0d821d089dc830f02\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-7-130.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.7.130\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0f80611bd38f92f51\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-04a572c1fdd189258\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2b\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.7.130\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:0d:d3:c2:3c:54\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-f95ad4d3\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-7-130.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2b","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-0f80611bd38f92f51","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-0d821d089dc830f02","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0d821d089dc830f02","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-68.5,"y":349.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"eu-west-2c-vpc-02dd8e355a967d1fe-eu-west-2-060997615305","parent":"vpc-02dd8e355a967d1fe-eu-west-2-060997615305","level":3,"title":"eu-west-2c","label":"eu-west-2c","plainLabel":"eu-west-2c","type":"availabilityZone","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/availabilityZone.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-02cd0f01396c68846","label":"subnet-02cd0f01396c68846","parent":null,"type":"subnet","data":{"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-02cd0f01396c68846","configuration":"\"{\\\"subnetId\\\":\\\"subnet-02cd0f01396c68846\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-02cd0f01396c68846\\\",\\\"availabilityZoneId\\\":\\\"euw2-az1\\\",\\\"cidrBlock\\\":\\\"10.0.8.0/22\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"availabilityZone\\\":\\\"eu-west-2c\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"PrivateSubnet3\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"S3F2CustomVPC Private Subnet 3\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"S3F2CustomVPC\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"}],\\\"availableIpAddressCount\\\":1014,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"mapPublicIpOnLaunch\\\":false,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2c","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-02cd0f01396c68846","loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#subnets:sort=SubnetId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#subnets:sort=SubnetId","private":"true","resourceId":"subnet-02cd0f01396c68846","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2CustomVPC\",\"value\":\"S3F2CustomVPC\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"value\":\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateSubnet3\",\"value\":\"PrivateSubnet3\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=S3F2CustomVPC Private Subnet 3\",\"value\":\"S3F2CustomVPC Private Subnet 3\",\"key\":\"Name\"}]","title":"S3F2CustomVPC Private Subnet 3","instanceType":null,"statement":null,"dBInstanceStatus":null},"id":"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-02cd0f01396c68846","label":"AWS_EC2_Subnet"},"properties":null,"children":[{"id":null,"label":"NetworkInterface","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-049cf15d294c02363","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-049cf15d294c02363","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-049cf15d294c02363\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-9-37.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.9.37\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-02cd0f01396c68846\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-0596f798ddaa2083c\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2c\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.9.37\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:1f:e9:7d:da:18\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-a16ccfff\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-9-37.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2c","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-02cd0f01396c68846","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-049cf15d294c02363","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-049cf15d294c02363","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-07a8eb68e4714b558","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-07a8eb68e4714b558","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-07a8eb68e4714b558\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-11-0.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.11.0\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-02cd0f01396c68846\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-098bf4bcb70f8c0cc\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2c\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.11.0\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:bb:9d:f4:69:2a\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-5f73d001\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-11-0.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2c","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-02cd0f01396c68846","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-07a8eb68e4714b558","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-07a8eb68e4714b558","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0ea3c4ac62a45481c","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0ea3c4ac62a45481c","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0ea3c4ac62a45481c\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-9-201.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.9.201\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-02cd0f01396c68846\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-04a572c1fdd189258\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2c\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.9.201\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:17:f7:38:a5:9e\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-5e73d000\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-9-201.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2c","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-02cd0f01396c68846","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-0ea3c4ac62a45481c","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0ea3c4ac62a45481c","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-08f4c7e0cf8d0eb25","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-08f4c7e0cf8d0eb25","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-08f4c7e0cf8d0eb25\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-8-185.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.8.185\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-02cd0f01396c68846\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-01a04251e6fd9a18f\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2c\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.8.185\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:ae:50:f5:1f:4c\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-a077d4fe\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-8-185.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2c","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-02cd0f01396c68846","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-08f4c7e0cf8d0eb25","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-08f4c7e0cf8d0eb25","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0adbe78e966d21857","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0adbe78e966d21857","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0adbe78e966d21857\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-9-45.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.9.45\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-02cd0f01396c68846\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-01fffefa0b344fe08\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2c\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.9.45\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:e3:ee:0b:5d:68\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-c66dce98\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-9-45.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2c","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-02cd0f01396c68846","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-0adbe78e966d21857","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0adbe78e966d21857","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":197.5,"y":386.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"availabilityZone removeAll _gridParentPadding"},{"data":{"id":"subnet-02cd0f01396c68846-eu-west-2c-vpc-02dd8e355a967d1fe-eu-west-2-060997615305","parent":"eu-west-2c-vpc-02dd8e355a967d1fe-eu-west-2-060997615305","level":4,"title":"subnet-02cd0f01396c68846","label":"subnet-02cd0f01396c68846","plainLabel":"subnet-02cd0f01396c68846","type":"subnet","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/VPC-subnet-private_light-bg-collapsed.svg","clickedId":"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-02cd0f01396c68846","cost":0,"hasChildren":true,"children":[{"id":null,"label":"NetworkInterface","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-049cf15d294c02363","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-049cf15d294c02363","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-049cf15d294c02363\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-9-37.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.9.37\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-02cd0f01396c68846\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-0596f798ddaa2083c\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2c\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.9.37\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:1f:e9:7d:da:18\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-a16ccfff\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-9-37.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2c","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-02cd0f01396c68846","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-049cf15d294c02363","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-049cf15d294c02363","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-07a8eb68e4714b558","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-07a8eb68e4714b558","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-07a8eb68e4714b558\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-11-0.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.11.0\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-02cd0f01396c68846\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-098bf4bcb70f8c0cc\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2c\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.11.0\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:bb:9d:f4:69:2a\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-5f73d001\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-11-0.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2c","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-02cd0f01396c68846","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-07a8eb68e4714b558","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-07a8eb68e4714b558","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0ea3c4ac62a45481c","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0ea3c4ac62a45481c","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0ea3c4ac62a45481c\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-9-201.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.9.201\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-02cd0f01396c68846\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-04a572c1fdd189258\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2c\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.9.201\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:17:f7:38:a5:9e\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-5e73d000\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-9-201.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2c","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-02cd0f01396c68846","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-0ea3c4ac62a45481c","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0ea3c4ac62a45481c","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-08f4c7e0cf8d0eb25","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-08f4c7e0cf8d0eb25","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-08f4c7e0cf8d0eb25\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-8-185.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.8.185\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-02cd0f01396c68846\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-01a04251e6fd9a18f\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2c\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.8.185\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:ae:50:f5:1f:4c\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-a077d4fe\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-8-185.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2c","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-02cd0f01396c68846","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-08f4c7e0cf8d0eb25","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-08f4c7e0cf8d0eb25","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0adbe78e966d21857","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0adbe78e966d21857","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0adbe78e966d21857\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-9-45.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.9.45\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-02cd0f01396c68846\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-01fffefa0b344fe08\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2c\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.9.45\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:e3:ee:0b:5d:68\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-c66dce98\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-9-45.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2c","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-02cd0f01396c68846","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-0adbe78e966d21857","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0adbe78e966d21857","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#147eba","properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-02cd0f01396c68846","configuration":"\"{\\\"subnetId\\\":\\\"subnet-02cd0f01396c68846\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-02cd0f01396c68846\\\",\\\"availabilityZoneId\\\":\\\"euw2-az1\\\",\\\"cidrBlock\\\":\\\"10.0.8.0/22\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"availabilityZone\\\":\\\"eu-west-2c\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"PrivateSubnet3\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"S3F2CustomVPC Private Subnet 3\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"S3F2CustomVPC\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"}],\\\"availableIpAddressCount\\\":1014,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"mapPublicIpOnLaunch\\\":false,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2c","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-02cd0f01396c68846","loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#subnets:sort=SubnetId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#subnets:sort=SubnetId","private":"true","resourceId":"subnet-02cd0f01396c68846","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2CustomVPC\",\"value\":\"S3F2CustomVPC\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"value\":\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateSubnet3\",\"value\":\"PrivateSubnet3\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=S3F2CustomVPC Private Subnet 3\",\"value\":\"S3F2CustomVPC Private Subnet 3\",\"key\":\"Name\"}]","title":"S3F2CustomVPC Private Subnet 3","instanceType":null,"statement":null,"dBInstanceStatus":null},"resource":{"id":"subnet-02cd0f01396c68846","name":null,"value":null,"type":"AWS::EC2::Subnet","tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2CustomVPC\",\"value\":\"S3F2CustomVPC\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"value\":\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateSubnet3\",\"value\":\"PrivateSubnet3\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=S3F2CustomVPC Private Subnet 3\",\"value\":\"S3F2CustomVPC Private Subnet 3\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-02cd0f01396c68846","region":"eu-west-2","state":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#subnets:sort=SubnetId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#subnets:sort=SubnetId","accountId":"060997615305"}},"position":{"x":197.5,"y":386.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"subnet removeAll _gridParentPadding"},{"data":{"id":"NetworkInterface-subnet-02cd0f01396c68846-eu-west-2c-vpc-02dd8e355a967d1fe-eu-west-2-060997615305","parent":"subnet-02cd0f01396c68846-eu-west-2c-vpc-02dd8e355a967d1fe-eu-west-2-060997615305","level":5,"title":"NetworkInterface","label":"NetworkInterface","plainLabel":"NetworkInterface","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-049cf15d294c02363","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-049cf15d294c02363","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-049cf15d294c02363\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-9-37.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.9.37\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-02cd0f01396c68846\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-0596f798ddaa2083c\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2c\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.9.37\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:1f:e9:7d:da:18\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-a16ccfff\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-9-37.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2c","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-02cd0f01396c68846","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-049cf15d294c02363","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-049cf15d294c02363","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-07a8eb68e4714b558","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-07a8eb68e4714b558","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-07a8eb68e4714b558\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-11-0.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.11.0\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-02cd0f01396c68846\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-098bf4bcb70f8c0cc\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2c\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.11.0\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:bb:9d:f4:69:2a\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-5f73d001\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-11-0.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2c","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-02cd0f01396c68846","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-07a8eb68e4714b558","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-07a8eb68e4714b558","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0ea3c4ac62a45481c","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0ea3c4ac62a45481c","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0ea3c4ac62a45481c\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-9-201.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.9.201\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-02cd0f01396c68846\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-04a572c1fdd189258\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2c\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.9.201\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:17:f7:38:a5:9e\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-5e73d000\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-9-201.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2c","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-02cd0f01396c68846","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-0ea3c4ac62a45481c","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0ea3c4ac62a45481c","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-08f4c7e0cf8d0eb25","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-08f4c7e0cf8d0eb25","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-08f4c7e0cf8d0eb25\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-8-185.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.8.185\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-02cd0f01396c68846\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-01a04251e6fd9a18f\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2c\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.8.185\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:ae:50:f5:1f:4c\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-a077d4fe\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-8-185.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2c","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-02cd0f01396c68846","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-08f4c7e0cf8d0eb25","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-08f4c7e0cf8d0eb25","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0adbe78e966d21857","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0adbe78e966d21857","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0adbe78e966d21857\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-9-45.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.9.45\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-02cd0f01396c68846\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-01fffefa0b344fe08\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2c\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.9.45\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:e3:ee:0b:5d:68\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-c66dce98\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-9-45.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2c","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-02cd0f01396c68846","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-0adbe78e966d21857","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0adbe78e966d21857","instanceType":null,"statement":null,"dBInstanceStatus":null}}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":197.5,"y":386.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-049cf15d294c02363","resourceId":["eni-049cf15d294c02363","arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-049cf15d294c02363"],"parent":"NetworkInterface-subnet-02cd0f01396c68846-eu-west-2c-vpc-02dd8e355a967d1fe-eu-west-2-060997615305","level":6,"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-049cf15d294c02363","title":"eni-049cf15d294c02363","label":"eni-049cf15d...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-049cf15d294c02363","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-049cf15d294c02363","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-049cf15d294c02363","region":"eu-west-2","state":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-049cf15d294c02363","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-049cf15d294c02363\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-9-37.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.9.37\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-02cd0f01396c68846\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-0596f798ddaa2083c\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2c\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.9.37\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:1f:e9:7d:da:18\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-a16ccfff\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-9-37.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2c","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-02cd0f01396c68846","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-049cf15d294c02363","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-049cf15d294c02363","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":124.5,"y":349.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-07a8eb68e4714b558","resourceId":["eni-07a8eb68e4714b558","arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-07a8eb68e4714b558"],"parent":"NetworkInterface-subnet-02cd0f01396c68846-eu-west-2c-vpc-02dd8e355a967d1fe-eu-west-2-060997615305","level":6,"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-07a8eb68e4714b558","title":"eni-07a8eb68e4714b558","label":"eni-07a8eb68...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-07a8eb68e4714b558","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-07a8eb68e4714b558","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-07a8eb68e4714b558","region":"eu-west-2","state":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-07a8eb68e4714b558","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-07a8eb68e4714b558\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-11-0.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.11.0\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-02cd0f01396c68846\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-098bf4bcb70f8c0cc\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2c\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.11.0\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:bb:9d:f4:69:2a\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-5f73d001\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-11-0.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2c","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-02cd0f01396c68846","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-07a8eb68e4714b558","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-07a8eb68e4714b558","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":197.5,"y":349.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0ea3c4ac62a45481c","resourceId":["eni-0ea3c4ac62a45481c","arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0ea3c4ac62a45481c"],"parent":"NetworkInterface-subnet-02cd0f01396c68846-eu-west-2c-vpc-02dd8e355a967d1fe-eu-west-2-060997615305","level":6,"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0ea3c4ac62a45481c","title":"eni-0ea3c4ac62a45481c","label":"eni-0ea3c4ac...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0ea3c4ac62a45481c","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-0ea3c4ac62a45481c","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0ea3c4ac62a45481c","region":"eu-west-2","state":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0ea3c4ac62a45481c","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0ea3c4ac62a45481c\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-9-201.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.9.201\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-02cd0f01396c68846\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-04a572c1fdd189258\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2c\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.9.201\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:17:f7:38:a5:9e\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-5e73d000\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-9-201.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2c","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-02cd0f01396c68846","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-0ea3c4ac62a45481c","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0ea3c4ac62a45481c","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":124.5,"y":422.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-08f4c7e0cf8d0eb25","resourceId":["eni-08f4c7e0cf8d0eb25","arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-08f4c7e0cf8d0eb25"],"parent":"NetworkInterface-subnet-02cd0f01396c68846-eu-west-2c-vpc-02dd8e355a967d1fe-eu-west-2-060997615305","level":6,"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-08f4c7e0cf8d0eb25","title":"eni-08f4c7e0cf8d0eb25","label":"eni-08f4c7e0...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-08f4c7e0cf8d0eb25","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-08f4c7e0cf8d0eb25","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-08f4c7e0cf8d0eb25","region":"eu-west-2","state":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-08f4c7e0cf8d0eb25","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-08f4c7e0cf8d0eb25\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-8-185.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.8.185\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-02cd0f01396c68846\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-01a04251e6fd9a18f\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2c\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.8.185\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:ae:50:f5:1f:4c\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-a077d4fe\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-8-185.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2c","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-02cd0f01396c68846","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-08f4c7e0cf8d0eb25","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-08f4c7e0cf8d0eb25","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":197.5,"y":422.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0adbe78e966d21857","resourceId":["eni-0adbe78e966d21857","arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0adbe78e966d21857"],"parent":"NetworkInterface-subnet-02cd0f01396c68846-eu-west-2c-vpc-02dd8e355a967d1fe-eu-west-2-060997615305","level":6,"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0adbe78e966d21857","title":"eni-0adbe78e966d21857","label":"eni-0adbe78e...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0adbe78e966d21857","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-0adbe78e966d21857","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0adbe78e966d21857","region":"eu-west-2","state":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0adbe78e966d21857","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0adbe78e966d21857\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-9-45.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.9.45\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-02cd0f01396c68846\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-01fffefa0b344fe08\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2c\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.9.45\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:e3:ee:0b:5d:68\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-c66dce98\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-9-45.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2c","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-02cd0f01396c68846","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-0adbe78e966d21857","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0adbe78e966d21857","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":270.5,"y":349.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"eu-west-2a-vpc-02dd8e355a967d1fe-eu-west-2-060997615305","parent":"vpc-02dd8e355a967d1fe-eu-west-2-060997615305","level":3,"title":"eu-west-2a","label":"eu-west-2a","plainLabel":"eu-west-2a","type":"availabilityZone","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/availabilityZone.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-0610703526e920d2e","label":"subnet-0610703526e920d2e","parent":null,"type":"subnet","data":{"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-0610703526e920d2e","configuration":"\"{\\\"subnetId\\\":\\\"subnet-0610703526e920d2e\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-0610703526e920d2e\\\",\\\"availabilityZoneId\\\":\\\"euw2-az2\\\",\\\"cidrBlock\\\":\\\"10.0.0.0/22\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"availabilityZone\\\":\\\"eu-west-2a\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"S3F2CustomVPC\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"PrivateSubnet1\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"S3F2CustomVPC Private Subnet 1\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"}],\\\"availableIpAddressCount\\\":1014,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"mapPublicIpOnLaunch\\\":false,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2a","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-0610703526e920d2e","loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#subnets:sort=SubnetId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#subnets:sort=SubnetId","private":"true","resourceId":"subnet-0610703526e920d2e","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2CustomVPC\",\"value\":\"S3F2CustomVPC\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"value\":\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateSubnet1\",\"value\":\"PrivateSubnet1\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=S3F2CustomVPC Private Subnet 1\",\"value\":\"S3F2CustomVPC Private Subnet 1\",\"key\":\"Name\"}]","title":"S3F2CustomVPC Private Subnet 1","instanceType":null,"statement":null,"dBInstanceStatus":null},"id":"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-0610703526e920d2e","label":"AWS_EC2_Subnet"},"properties":null,"children":[{"id":null,"label":"NetworkInterface","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0373c5d1881284488","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0373c5d1881284488","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0373c5d1881284488\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-0-77.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.0.77\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0610703526e920d2e\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-01a04251e6fd9a18f\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.0.77\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:29:70:79:78:d4\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-7fba262b\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-0-77.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2a","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-0610703526e920d2e","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-0373c5d1881284488","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0373c5d1881284488","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0239e9af2eb593ff6","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0239e9af2eb593ff6","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0239e9af2eb593ff6\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-1-225.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.1.225\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0610703526e920d2e\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-0596f798ddaa2083c\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.1.225\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:49:a6:76:ea:d6\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-7eba262a\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-1-225.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2a","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-0610703526e920d2e","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-0239e9af2eb593ff6","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0239e9af2eb593ff6","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0d277bd2ede7469a7","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0d277bd2ede7469a7","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0d277bd2ede7469a7\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-1-170.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.1.170\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0610703526e920d2e\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-04a572c1fdd189258\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.1.170\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:00:3c:ae:b2:82\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-20871b74\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-1-170.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2a","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-0610703526e920d2e","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-0d277bd2ede7469a7","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0d277bd2ede7469a7","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0e0fad6b1591a161d","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0e0fad6b1591a161d","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0e0fad6b1591a161d\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-3-2.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.3.2\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0610703526e920d2e\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-098bf4bcb70f8c0cc\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.3.2\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:35:03:0b:0c:4c\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-27871b73\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-3-2.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2a","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-0610703526e920d2e","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-0e0fad6b1591a161d","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0e0fad6b1591a161d","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0c03624e885725a9a","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0c03624e885725a9a","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0c03624e885725a9a\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-3-93.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.3.93\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0610703526e920d2e\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-01fffefa0b344fe08\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.3.93\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:a7:5f:7f:1b:18\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-aabb27fe\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-3-93.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2a","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-0610703526e920d2e","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-0c03624e885725a9a","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0c03624e885725a9a","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-141.5,"y":715.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"availabilityZone removeAll _gridParentPadding"},{"data":{"id":"subnet-0610703526e920d2e-eu-west-2a-vpc-02dd8e355a967d1fe-eu-west-2-060997615305","parent":"eu-west-2a-vpc-02dd8e355a967d1fe-eu-west-2-060997615305","level":4,"title":"subnet-0610703526e920d2e","label":"subnet-0610703526e920d2e","plainLabel":"subnet-0610703526e920d2e","type":"subnet","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/VPC-subnet-private_light-bg-collapsed.svg","clickedId":"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-0610703526e920d2e","cost":0,"hasChildren":true,"children":[{"id":null,"label":"NetworkInterface","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0373c5d1881284488","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0373c5d1881284488","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0373c5d1881284488\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-0-77.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.0.77\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0610703526e920d2e\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-01a04251e6fd9a18f\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.0.77\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:29:70:79:78:d4\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-7fba262b\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-0-77.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2a","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-0610703526e920d2e","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-0373c5d1881284488","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0373c5d1881284488","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0239e9af2eb593ff6","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0239e9af2eb593ff6","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0239e9af2eb593ff6\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-1-225.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.1.225\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0610703526e920d2e\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-0596f798ddaa2083c\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.1.225\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:49:a6:76:ea:d6\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-7eba262a\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-1-225.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2a","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-0610703526e920d2e","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-0239e9af2eb593ff6","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0239e9af2eb593ff6","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0d277bd2ede7469a7","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0d277bd2ede7469a7","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0d277bd2ede7469a7\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-1-170.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.1.170\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0610703526e920d2e\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-04a572c1fdd189258\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.1.170\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:00:3c:ae:b2:82\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-20871b74\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-1-170.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2a","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-0610703526e920d2e","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-0d277bd2ede7469a7","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0d277bd2ede7469a7","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0e0fad6b1591a161d","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0e0fad6b1591a161d","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0e0fad6b1591a161d\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-3-2.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.3.2\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0610703526e920d2e\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-098bf4bcb70f8c0cc\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.3.2\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:35:03:0b:0c:4c\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-27871b73\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-3-2.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2a","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-0610703526e920d2e","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-0e0fad6b1591a161d","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0e0fad6b1591a161d","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0c03624e885725a9a","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0c03624e885725a9a","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0c03624e885725a9a\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-3-93.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.3.93\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0610703526e920d2e\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-01fffefa0b344fe08\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.3.93\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:a7:5f:7f:1b:18\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-aabb27fe\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-3-93.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2a","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-0610703526e920d2e","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-0c03624e885725a9a","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0c03624e885725a9a","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#147eba","properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-0610703526e920d2e","configuration":"\"{\\\"subnetId\\\":\\\"subnet-0610703526e920d2e\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-0610703526e920d2e\\\",\\\"availabilityZoneId\\\":\\\"euw2-az2\\\",\\\"cidrBlock\\\":\\\"10.0.0.0/22\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"availabilityZone\\\":\\\"eu-west-2a\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"S3F2CustomVPC\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"PrivateSubnet1\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"S3F2CustomVPC Private Subnet 1\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"}],\\\"availableIpAddressCount\\\":1014,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"mapPublicIpOnLaunch\\\":false,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2a","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-0610703526e920d2e","loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#subnets:sort=SubnetId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#subnets:sort=SubnetId","private":"true","resourceId":"subnet-0610703526e920d2e","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2CustomVPC\",\"value\":\"S3F2CustomVPC\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"value\":\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateSubnet1\",\"value\":\"PrivateSubnet1\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=S3F2CustomVPC Private Subnet 1\",\"value\":\"S3F2CustomVPC Private Subnet 1\",\"key\":\"Name\"}]","title":"S3F2CustomVPC Private Subnet 1","instanceType":null,"statement":null,"dBInstanceStatus":null},"resource":{"id":"subnet-0610703526e920d2e","name":null,"value":null,"type":"AWS::EC2::Subnet","tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2CustomVPC\",\"value\":\"S3F2CustomVPC\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"value\":\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateSubnet1\",\"value\":\"PrivateSubnet1\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=S3F2CustomVPC Private Subnet 1\",\"value\":\"S3F2CustomVPC Private Subnet 1\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-0610703526e920d2e","region":"eu-west-2","state":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#subnets:sort=SubnetId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#subnets:sort=SubnetId","accountId":"060997615305"}},"position":{"x":-141.5,"y":715.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"subnet removeAll _gridParentPadding"},{"data":{"id":"NetworkInterface-subnet-0610703526e920d2e-eu-west-2a-vpc-02dd8e355a967d1fe-eu-west-2-060997615305","parent":"subnet-0610703526e920d2e-eu-west-2a-vpc-02dd8e355a967d1fe-eu-west-2-060997615305","level":5,"title":"NetworkInterface","label":"NetworkInterface","plainLabel":"NetworkInterface","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0373c5d1881284488","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0373c5d1881284488","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0373c5d1881284488\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-0-77.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.0.77\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0610703526e920d2e\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-01a04251e6fd9a18f\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.0.77\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:29:70:79:78:d4\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-7fba262b\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-0-77.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2a","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-0610703526e920d2e","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-0373c5d1881284488","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0373c5d1881284488","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0239e9af2eb593ff6","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0239e9af2eb593ff6","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0239e9af2eb593ff6\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-1-225.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.1.225\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0610703526e920d2e\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-0596f798ddaa2083c\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.1.225\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:49:a6:76:ea:d6\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-7eba262a\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-1-225.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2a","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-0610703526e920d2e","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-0239e9af2eb593ff6","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0239e9af2eb593ff6","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0d277bd2ede7469a7","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0d277bd2ede7469a7","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0d277bd2ede7469a7\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-1-170.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.1.170\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0610703526e920d2e\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-04a572c1fdd189258\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.1.170\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:00:3c:ae:b2:82\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-20871b74\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-1-170.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2a","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-0610703526e920d2e","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-0d277bd2ede7469a7","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0d277bd2ede7469a7","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0e0fad6b1591a161d","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0e0fad6b1591a161d","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0e0fad6b1591a161d\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-3-2.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.3.2\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0610703526e920d2e\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-098bf4bcb70f8c0cc\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.3.2\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:35:03:0b:0c:4c\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-27871b73\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-3-2.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2a","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-0610703526e920d2e","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-0e0fad6b1591a161d","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0e0fad6b1591a161d","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0c03624e885725a9a","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0c03624e885725a9a","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0c03624e885725a9a\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-3-93.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.3.93\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0610703526e920d2e\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-01fffefa0b344fe08\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.3.93\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:a7:5f:7f:1b:18\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-aabb27fe\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-3-93.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2a","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-0610703526e920d2e","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-0c03624e885725a9a","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0c03624e885725a9a","instanceType":null,"statement":null,"dBInstanceStatus":null}}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-141.5,"y":715.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0373c5d1881284488","resourceId":["eni-0373c5d1881284488","arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0373c5d1881284488"],"parent":"NetworkInterface-subnet-0610703526e920d2e-eu-west-2a-vpc-02dd8e355a967d1fe-eu-west-2-060997615305","level":6,"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0373c5d1881284488","title":"eni-0373c5d1881284488","label":"eni-0373c5d1...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0373c5d1881284488","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-0373c5d1881284488","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0373c5d1881284488","region":"eu-west-2","state":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0373c5d1881284488","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0373c5d1881284488\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-0-77.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.0.77\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0610703526e920d2e\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-01a04251e6fd9a18f\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.0.77\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:29:70:79:78:d4\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-7fba262b\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-0-77.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2a","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-0610703526e920d2e","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-0373c5d1881284488","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0373c5d1881284488","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-214.5,"y":678.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0239e9af2eb593ff6","resourceId":["eni-0239e9af2eb593ff6","arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0239e9af2eb593ff6"],"parent":"NetworkInterface-subnet-0610703526e920d2e-eu-west-2a-vpc-02dd8e355a967d1fe-eu-west-2-060997615305","level":6,"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0239e9af2eb593ff6","title":"eni-0239e9af2eb593ff6","label":"eni-0239e9af...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0239e9af2eb593ff6","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-0239e9af2eb593ff6","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0239e9af2eb593ff6","region":"eu-west-2","state":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0239e9af2eb593ff6","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0239e9af2eb593ff6\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-1-225.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.1.225\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0610703526e920d2e\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-0596f798ddaa2083c\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.1.225\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:49:a6:76:ea:d6\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-7eba262a\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-1-225.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2a","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-0610703526e920d2e","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-0239e9af2eb593ff6","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0239e9af2eb593ff6","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-141.5,"y":678.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0d277bd2ede7469a7","resourceId":["eni-0d277bd2ede7469a7","arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0d277bd2ede7469a7"],"parent":"NetworkInterface-subnet-0610703526e920d2e-eu-west-2a-vpc-02dd8e355a967d1fe-eu-west-2-060997615305","level":6,"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0d277bd2ede7469a7","title":"eni-0d277bd2ede7469a7","label":"eni-0d277bd2...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0d277bd2ede7469a7","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-0d277bd2ede7469a7","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0d277bd2ede7469a7","region":"eu-west-2","state":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0d277bd2ede7469a7","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0d277bd2ede7469a7\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-1-170.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.1.170\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0610703526e920d2e\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-04a572c1fdd189258\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.1.170\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:00:3c:ae:b2:82\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-20871b74\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-1-170.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2a","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-0610703526e920d2e","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-0d277bd2ede7469a7","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0d277bd2ede7469a7","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-214.5,"y":751.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0e0fad6b1591a161d","resourceId":["eni-0e0fad6b1591a161d","arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0e0fad6b1591a161d"],"parent":"NetworkInterface-subnet-0610703526e920d2e-eu-west-2a-vpc-02dd8e355a967d1fe-eu-west-2-060997615305","level":6,"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0e0fad6b1591a161d","title":"eni-0e0fad6b1591a161d","label":"eni-0e0fad6b...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0e0fad6b1591a161d","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-0e0fad6b1591a161d","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0e0fad6b1591a161d","region":"eu-west-2","state":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0e0fad6b1591a161d","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0e0fad6b1591a161d\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-3-2.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.3.2\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0610703526e920d2e\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-098bf4bcb70f8c0cc\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.3.2\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:35:03:0b:0c:4c\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-27871b73\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-3-2.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2a","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-0610703526e920d2e","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-0e0fad6b1591a161d","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0e0fad6b1591a161d","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-141.5,"y":751.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0c03624e885725a9a","resourceId":["eni-0c03624e885725a9a","arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0c03624e885725a9a"],"parent":"NetworkInterface-subnet-0610703526e920d2e-eu-west-2a-vpc-02dd8e355a967d1fe-eu-west-2-060997615305","level":6,"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0c03624e885725a9a","title":"eni-0c03624e885725a9a","label":"eni-0c03624e...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0c03624e885725a9a","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-0c03624e885725a9a","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0c03624e885725a9a","region":"eu-west-2","state":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0c03624e885725a9a","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0c03624e885725a9a\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-3-93.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.3.93\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0610703526e920d2e\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-01fffefa0b344fe08\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI\\\",\\\"groupId\\\":\\\"sg-0be10b8bce825f7c1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.3.93\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:a7:5f:7f:1b:18\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-aabb27fe\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"privateDnsName\\\":\\\"ip-10-0-3-93.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2a","vpcId":"vpc-02dd8e355a967d1fe","subnetId":"subnet-0610703526e920d2e","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-0c03624e885725a9a","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0c03624e885725a9a","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-68.5,"y":678.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"Multiple Availability Zones-vpc-02dd8e355a967d1fe-eu-west-2-060997615305","parent":"vpc-02dd8e355a967d1fe-eu-west-2-060997615305","level":3,"title":"Multiple Availability Zones","label":"Multiple Availability Zones","plainLabel":"Multiple Availability Zones","type":"availabilityZone","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/availabilityZone.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":null,"label":"NetworkAcl","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-2:060997615305:network-acl/acl-058521bd38cb481b2","label":"AWS_EC2_NetworkAcl","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-acl/acl-058521bd38cb481b2","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-0f80611bd38f92f51\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-0f7fec0f79338d430\\\",\\\"networkAclId\\\":\\\"acl-058521bd38cb481b2\\\"},{\\\"subnetId\\\":\\\"subnet-02cd0f01396c68846\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-0ef2f0713ce4c82dd\\\",\\\"networkAclId\\\":\\\"acl-058521bd38cb481b2\\\"},{\\\"subnetId\\\":\\\"subnet-0610703526e920d2e\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-09569e5c47e077f6b\\\",\\\"networkAclId\\\":\\\"acl-058521bd38cb481b2\\\"}],\\\"entries\\\":[{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":99,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":99,\\\"egress\\\":false},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":false}],\\\"isDefault\\\":false,\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"networkAclId\\\":\\\"acl-058521bd38cb481b2\\\",\\\"tags\\\":[{\\\"value\\\":\\\"S3F2CustomVPC\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"PrivateNetworkAcl\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"}]}\"","awsRegion":"eu-west-2","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-02dd8e355a967d1fe","subnetId":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#acls:sort=networkAclId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#acls:sort=networkAclId","private":null,"resourceId":"acl-058521bd38cb481b2","resourceName":null,"resourceType":"AWS::EC2::NetworkAcl","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2CustomVPC\",\"value\":\"S3F2CustomVPC\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"value\":\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateNetworkAcl\",\"value\":\"PrivateNetworkAcl\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"acl-058521bd38cb481b2","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-2:060997615305:network-acl/acl-02201206399d095f8","label":"AWS_EC2_NetworkAcl","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-acl/acl-02201206399d095f8","configuration":"\"{\\\"associations\\\":[],\\\"entries\\\":[{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":false},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":false}],\\\"isDefault\\\":true,\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"networkAclId\\\":\\\"acl-02201206399d095f8\\\",\\\"tags\\\":[]}\"","awsRegion":"eu-west-2","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-02dd8e355a967d1fe","subnetId":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#acls:sort=networkAclId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#acls:sort=networkAclId","private":null,"resourceId":"acl-02201206399d095f8","resourceName":null,"resourceType":"AWS::EC2::NetworkAcl","resourceValue":null,"state":null,"tags":"[]","title":"acl-02201206399d095f8","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":400,"y":635.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"availabilityZone removeAll _gridParentPadding"},{"data":{"id":"NetworkAcl-Multiple Availability Zones-vpc-02dd8e355a967d1fe-eu-west-2-060997615305","parent":"Multiple Availability Zones-vpc-02dd8e355a967d1fe-eu-west-2-060997615305","level":4,"title":"NetworkAcl","label":"NetworkAcl","plainLabel":"NetworkAcl","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-VPC_Network-Access-Control-List_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-2:060997615305:network-acl/acl-058521bd38cb481b2","label":"AWS_EC2_NetworkAcl","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-acl/acl-058521bd38cb481b2","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-0f80611bd38f92f51\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-0f7fec0f79338d430\\\",\\\"networkAclId\\\":\\\"acl-058521bd38cb481b2\\\"},{\\\"subnetId\\\":\\\"subnet-02cd0f01396c68846\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-0ef2f0713ce4c82dd\\\",\\\"networkAclId\\\":\\\"acl-058521bd38cb481b2\\\"},{\\\"subnetId\\\":\\\"subnet-0610703526e920d2e\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-09569e5c47e077f6b\\\",\\\"networkAclId\\\":\\\"acl-058521bd38cb481b2\\\"}],\\\"entries\\\":[{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":99,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":99,\\\"egress\\\":false},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":false}],\\\"isDefault\\\":false,\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"networkAclId\\\":\\\"acl-058521bd38cb481b2\\\",\\\"tags\\\":[{\\\"value\\\":\\\"S3F2CustomVPC\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"PrivateNetworkAcl\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"}]}\"","awsRegion":"eu-west-2","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-02dd8e355a967d1fe","subnetId":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#acls:sort=networkAclId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#acls:sort=networkAclId","private":null,"resourceId":"acl-058521bd38cb481b2","resourceName":null,"resourceType":"AWS::EC2::NetworkAcl","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2CustomVPC\",\"value\":\"S3F2CustomVPC\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"value\":\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateNetworkAcl\",\"value\":\"PrivateNetworkAcl\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"acl-058521bd38cb481b2","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-2:060997615305:network-acl/acl-02201206399d095f8","label":"AWS_EC2_NetworkAcl","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-acl/acl-02201206399d095f8","configuration":"\"{\\\"associations\\\":[],\\\"entries\\\":[{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":false},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":false}],\\\"isDefault\\\":true,\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"networkAclId\\\":\\\"acl-02201206399d095f8\\\",\\\"tags\\\":[]}\"","awsRegion":"eu-west-2","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-02dd8e355a967d1fe","subnetId":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#acls:sort=networkAclId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#acls:sort=networkAclId","private":null,"resourceId":"acl-02201206399d095f8","resourceName":null,"resourceType":"AWS::EC2::NetworkAcl","resourceValue":null,"state":null,"tags":"[]","title":"acl-02201206399d095f8","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":400,"y":635.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-2:060997615305:network-acl/acl-058521bd38cb481b2","resourceId":["acl-058521bd38cb481b2","arn:aws:ec2:eu-west-2:060997615305:network-acl/acl-058521bd38cb481b2"],"parent":"NetworkAcl-Multiple Availability Zones-vpc-02dd8e355a967d1fe-eu-west-2-060997615305","level":5,"id":"arn:aws:ec2:eu-west-2:060997615305:network-acl/acl-058521bd38cb481b2","title":"acl-058521bd38cb481b2","label":"acl-058521bd...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-2:060997615305:network-acl/acl-058521bd38cb481b2","image":"/icons/Amazon-VPC_Network-Access-Control-List_light-bg.svg","cost":0,"private":false,"resource":{"id":"acl-058521bd38cb481b2","name":null,"value":null,"type":"AWS::EC2::NetworkAcl","tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2CustomVPC\",\"value\":\"S3F2CustomVPC\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"value\":\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateNetworkAcl\",\"value\":\"PrivateNetworkAcl\",\"key\":\"aws:cloudformation:logical-id\"}]","arn":"arn:aws:ec2:eu-west-2:060997615305:network-acl/acl-058521bd38cb481b2","region":"eu-west-2","state":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#acls:sort=networkAclId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#acls:sort=networkAclId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-acl/acl-058521bd38cb481b2","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-0f80611bd38f92f51\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-0f7fec0f79338d430\\\",\\\"networkAclId\\\":\\\"acl-058521bd38cb481b2\\\"},{\\\"subnetId\\\":\\\"subnet-02cd0f01396c68846\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-0ef2f0713ce4c82dd\\\",\\\"networkAclId\\\":\\\"acl-058521bd38cb481b2\\\"},{\\\"subnetId\\\":\\\"subnet-0610703526e920d2e\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-09569e5c47e077f6b\\\",\\\"networkAclId\\\":\\\"acl-058521bd38cb481b2\\\"}],\\\"entries\\\":[{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":99,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":99,\\\"egress\\\":false},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":false}],\\\"isDefault\\\":false,\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"networkAclId\\\":\\\"acl-058521bd38cb481b2\\\",\\\"tags\\\":[{\\\"value\\\":\\\"S3F2CustomVPC\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"PrivateNetworkAcl\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"}]}\"","awsRegion":"eu-west-2","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-02dd8e355a967d1fe","subnetId":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#acls:sort=networkAclId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#acls:sort=networkAclId","private":null,"resourceId":"acl-058521bd38cb481b2","resourceName":null,"resourceType":"AWS::EC2::NetworkAcl","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2CustomVPC\",\"value\":\"S3F2CustomVPC\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"value\":\"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateNetworkAcl\",\"value\":\"PrivateNetworkAcl\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"acl-058521bd38cb481b2","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":363.5,"y":635.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-2:060997615305:network-acl/acl-02201206399d095f8","resourceId":["acl-02201206399d095f8","arn:aws:ec2:eu-west-2:060997615305:network-acl/acl-02201206399d095f8"],"parent":"NetworkAcl-Multiple Availability Zones-vpc-02dd8e355a967d1fe-eu-west-2-060997615305","level":5,"id":"arn:aws:ec2:eu-west-2:060997615305:network-acl/acl-02201206399d095f8","title":"acl-02201206399d095f8","label":"acl-02201206...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-2:060997615305:network-acl/acl-02201206399d095f8","image":"/icons/Amazon-VPC_Network-Access-Control-List_light-bg.svg","cost":0,"private":false,"resource":{"id":"acl-02201206399d095f8","name":null,"value":null,"type":"AWS::EC2::NetworkAcl","tags":"[]","arn":"arn:aws:ec2:eu-west-2:060997615305:network-acl/acl-02201206399d095f8","region":"eu-west-2","state":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#acls:sort=networkAclId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#acls:sort=networkAclId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-acl/acl-02201206399d095f8","configuration":"\"{\\\"associations\\\":[],\\\"entries\\\":[{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":false},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":false}],\\\"isDefault\\\":true,\\\"vpcId\\\":\\\"vpc-02dd8e355a967d1fe\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"networkAclId\\\":\\\"acl-02201206399d095f8\\\",\\\"tags\\\":[]}\"","awsRegion":"eu-west-2","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-02dd8e355a967d1fe","subnetId":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#acls:sort=networkAclId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#acls:sort=networkAclId","private":null,"resourceId":"acl-02201206399d095f8","resourceName":null,"resourceType":"AWS::EC2::NetworkAcl","resourceValue":null,"state":null,"tags":"[]","title":"acl-02201206399d095f8","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":436.5,"y":635.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:tags::060997615305:tag/Name=S3F2CustomVPC VPC","resourceId":["arn:aws:tags::060997615305:tag/Name=S3F2CustomVPC VPC","arn:aws:tags::060997615305:tag/Name=S3F2CustomVPC VPC"],"parent":"Tag-global-060997615305","level":3,"id":"arn:aws:tags::060997615305:tag/Name=S3F2CustomVPC VPC","title":"Name=S3F2CustomVPC VPC","label":"Name=S3F2Cus...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:tags::060997615305:tag/Name=S3F2CustomVPC VPC","image":"/icons/AWS-Tags-bg.svg","cost":0,"private":false,"resource":{"id":"arn:aws:tags::060997615305:tag/Name=S3F2CustomVPC VPC","name":"Name=S3F2CustomVPC VPC","value":null,"type":"AWS::Tags::Tag","tags":"[]","arn":"arn:aws:tags::060997615305:tag/Name=S3F2CustomVPC VPC","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:tags::060997615305:tag/Name=S3F2CustomVPC VPC","configuration":"\"{}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:tags::060997615305:tag/Name=S3F2CustomVPC VPC","resourceName":"Name=S3F2CustomVPC VPC","resourceType":"AWS::Tags::Tag","resourceValue":null,"state":null,"tags":"[]","title":"Name=S3F2CustomVPC VPC","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1976.5,"y":2583.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:tags::060997615305:tag/aws:cloudformation:stack-name=S3F2CustomVPC","resourceId":["arn:aws:tags::060997615305:tag/aws:cloudformation:stack-name=S3F2CustomVPC","arn:aws:tags::060997615305:tag/aws:cloudformation:stack-name=S3F2CustomVPC"],"parent":"Tag-global-060997615305","level":3,"id":"arn:aws:tags::060997615305:tag/aws:cloudformation:stack-name=S3F2CustomVPC","title":"aws:cloudformation:stack-name=S3F2CustomVPC","label":"aws:cloudfor...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:tags::060997615305:tag/aws:cloudformation:stack-name=S3F2CustomVPC","image":"/icons/AWS-Tags-bg.svg","cost":0,"private":false,"resource":{"id":"arn:aws:tags::060997615305:tag/aws:cloudformation:stack-name=S3F2CustomVPC","name":"aws:cloudformation:stack-name=S3F2CustomVPC","value":null,"type":"AWS::Tags::Tag","tags":"[]","arn":"arn:aws:tags::060997615305:tag/aws:cloudformation:stack-name=S3F2CustomVPC","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:tags::060997615305:tag/aws:cloudformation:stack-name=S3F2CustomVPC","configuration":"\"{}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:tags::060997615305:tag/aws:cloudformation:stack-name=S3F2CustomVPC","resourceName":"aws:cloudformation:stack-name=S3F2CustomVPC","resourceType":"AWS::Tags::Tag","resourceValue":null,"state":null,"tags":"[]","title":"aws:cloudformation:stack-name=S3F2CustomVPC","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1976.5,"y":2656.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:tags::060997615305:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8","resourceId":["arn:aws:tags::060997615305:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8","arn:aws:tags::060997615305:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8"],"parent":"Tag-global-060997615305","level":3,"id":"arn:aws:tags::060997615305:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8","title":"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8","label":"aws:cloudfor...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:tags::060997615305:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8","image":"/icons/AWS-Tags-bg.svg","cost":0,"private":false,"resource":{"id":"arn:aws:tags::060997615305:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8","name":"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8","value":null,"type":"AWS::Tags::Tag","tags":"[]","arn":"arn:aws:tags::060997615305:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:tags::060997615305:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8","configuration":"\"{}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:tags::060997615305:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8","resourceName":"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8","resourceType":"AWS::Tags::Tag","resourceValue":null,"state":null,"tags":"[]","title":"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2195.5,"y":2729.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-b7ef57df","resourceId":["vpc-b7ef57df","arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-b7ef57df"],"parent":"VPC-Multiple Availability Zones-eu-west-2-060997615305","level":4,"id":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-b7ef57df","title":"vpc-b7ef57df","label":"vpc-b7ef57df","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-b7ef57df","image":"/icons/VPC-menu.svg","cost":0,"private":false,"resource":{"id":"vpc-b7ef57df","name":null,"value":null,"type":"AWS::EC2::VPC","tags":"[]","arn":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-b7ef57df","region":"eu-west-2","state":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#vpcs:sort=VpcId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#vpcs:sort=VpcId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-b7ef57df","configuration":"\"{\\\"instanceTenancy\\\":\\\"default\\\",\\\"isDefault\\\":true,\\\"dhcpOptionsId\\\":\\\"dopt-961786fe\\\",\\\"cidrBlock\\\":\\\"172.31.0.0/16\\\",\\\"vpcId\\\":\\\"vpc-b7ef57df\\\",\\\"cidrBlockAssociationSet\\\":[{\\\"cidrBlock\\\":\\\"172.31.0.0/16\\\",\\\"cidrBlockState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"associationId\\\":\\\"vpc-cidr-assoc-42089c2a\\\"}],\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipv6CidrBlockAssociationSet\\\":[],\\\"tags\\\":[]}\"","awsRegion":"eu-west-2","availabilityZone":"Multiple Availability Zones","vpcId":null,"subnetId":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#vpcs:sort=VpcId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#vpcs:sort=VpcId","private":null,"resourceId":"vpc-b7ef57df","resourceName":null,"resourceType":"AWS::EC2::VPC","resourceValue":null,"state":null,"tags":"[]","title":"vpc-b7ef57df","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":741.5,"y":1187.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"id":"vpc-b7ef57df-eu-west-2-060997615305","parent":"eu-west-2-060997615305","level":2,"title":"vpc-b7ef57df","label":"vpc-b7ef57df","plainLabel":"vpc-b7ef57df","type":"vpc","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/VPC-collapsed.svg","clickedId":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-b7ef57df","cost":0,"hasChildren":true,"children":[{"id":null,"label":"SecurityGroup","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-2:060997615305:security-group/sg-0d5f809e8eeaea920","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:security-group/sg-0d5f809e8eeaea920","configuration":"\"{\\\"groupName\\\":\\\"ElasticMapReduce-slave\\\",\\\"groupId\\\":\\\"sg-0d5f809e8eeaea920\\\",\\\"vpcId\\\":\\\"vpc-b7ef57df\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"Slave group for Elastic MapReduce created on 2020-06-01T17:10:53.766Z\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[],\\\"prefixListIds\\\":[],\\\"fromPort\\\":0,\\\"toPort\\\":65535,\\\"userIdGroupPairs\\\":[{\\\"groupId\\\":\\\"sg-0d5f809e8eeaea920\\\",\\\"userId\\\":\\\"060997615305\\\"},{\\\"groupId\\\":\\\"sg-0f71a86455fa45184\\\",\\\"userId\\\":\\\"060997615305\\\"}],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[],\\\"prefixListIds\\\":[],\\\"fromPort\\\":0,\\\"toPort\\\":65535,\\\"userIdGroupPairs\\\":[{\\\"groupId\\\":\\\"sg-0d5f809e8eeaea920\\\",\\\"userId\\\":\\\"060997615305\\\"},{\\\"groupId\\\":\\\"sg-0f71a86455fa45184\\\",\\\"userId\\\":\\\"060997615305\\\"}],\\\"ipProtocol\\\":\\\"udp\\\",\\\"ipv4Ranges\\\":[],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[],\\\"prefixListIds\\\":[],\\\"fromPort\\\":-1,\\\"toPort\\\":-1,\\\"userIdGroupPairs\\\":[{\\\"groupId\\\":\\\"sg-0d5f809e8eeaea920\\\",\\\"userId\\\":\\\"060997615305\\\"},{\\\"groupId\\\":\\\"sg-0f71a86455fa45184\\\",\\\"userId\\\":\\\"060997615305\\\"}],\\\"ipProtocol\\\":\\\"icmp\\\",\\\"ipv4Ranges\\\":[],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":"vpc-b7ef57df","subnetId":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0d5f809e8eeaea920","resourceName":"ElasticMapReduce-slave","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"ElasticMapReduce-slave","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-2:060997615305:security-group/sg-0f71a86455fa45184","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:security-group/sg-0f71a86455fa45184","configuration":"\"{\\\"groupName\\\":\\\"ElasticMapReduce-master\\\",\\\"groupId\\\":\\\"sg-0f71a86455fa45184\\\",\\\"vpcId\\\":\\\"vpc-b7ef57df\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"Master group for Elastic MapReduce created on 2020-06-01T17:10:53.766Z\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[],\\\"prefixListIds\\\":[],\\\"fromPort\\\":0,\\\"toPort\\\":65535,\\\"userIdGroupPairs\\\":[{\\\"groupId\\\":\\\"sg-0d5f809e8eeaea920\\\",\\\"userId\\\":\\\"060997615305\\\"},{\\\"groupId\\\":\\\"sg-0f71a86455fa45184\\\",\\\"userId\\\":\\\"060997615305\\\"}],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":22,\\\"toPort\\\":22,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[{\\\"cidrIpv6\\\":\\\"::/0\\\"}]},{\\\"ipRanges\\\":[\\\"52.94.38.0/23\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":8443,\\\"toPort\\\":8443,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"52.94.38.0/23\\\"}],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[],\\\"prefixListIds\\\":[],\\\"fromPort\\\":0,\\\"toPort\\\":65535,\\\"userIdGroupPairs\\\":[{\\\"groupId\\\":\\\"sg-0d5f809e8eeaea920\\\",\\\"userId\\\":\\\"060997615305\\\"},{\\\"groupId\\\":\\\"sg-0f71a86455fa45184\\\",\\\"userId\\\":\\\"060997615305\\\"}],\\\"ipProtocol\\\":\\\"udp\\\",\\\"ipv4Ranges\\\":[],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[],\\\"prefixListIds\\\":[],\\\"fromPort\\\":-1,\\\"toPort\\\":-1,\\\"userIdGroupPairs\\\":[{\\\"groupId\\\":\\\"sg-0d5f809e8eeaea920\\\",\\\"userId\\\":\\\"060997615305\\\"},{\\\"groupId\\\":\\\"sg-0f71a86455fa45184\\\",\\\"userId\\\":\\\"060997615305\\\"}],\\\"ipProtocol\\\":\\\"icmp\\\",\\\"ipv4Ranges\\\":[],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":"vpc-b7ef57df","subnetId":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0f71a86455fa45184","resourceName":"ElasticMapReduce-master","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"ElasticMapReduce-master","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-2:060997615305:security-group/sg-909bdafb","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:security-group/sg-909bdafb","configuration":"\"{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-909bdafb\\\",\\\"vpcId\\\":\\\"vpc-b7ef57df\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"default VPC security group\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[],\\\"prefixListIds\\\":[{\\\"prefixListId\\\":\\\"pl-fca24795\\\"}],\\\"userIdGroupPairs\\\":[{\\\"groupId\\\":\\\"sg-909bdafb\\\",\\\"userId\\\":\\\"060997615305\\\"}],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":"vpc-b7ef57df","subnetId":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-909bdafb","resourceName":"default","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"default","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]},{"id":null,"label":"RouteTable","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-09c58067005d38875","label":"AWS_EC2_RouteTable","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-09c58067005d38875","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-13f1ea5e\\\",\\\"routeTableId\\\":\\\"rtb-09c58067005d38875\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-0cf237a441acbeed1\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":false}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"172.31.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"},{\\\"destinationCidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"natGatewayId\\\":\\\"nat-06c56447fdfda0fa8\\\",\\\"state\\\":\\\"active\\\"},{\\\"destinationPrefixListId\\\":\\\"pl-7ca54015\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"vpce-0260f809c4027be24\\\"}],\\\"routeTableId\\\":\\\"rtb-09c58067005d38875\\\",\\\"vpcId\\\":\\\"vpc-b7ef57df\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"es-glue-route\\\",\\\"key\\\":\\\"Name\\\"}]}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":"vpc-b7ef57df","subnetId":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#RouteTables:sort=routeTableId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-09c58067005d38875","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[{\"tag\":\"Name=es-glue-route\",\"value\":\"es-glue-route\",\"key\":\"Name\"}]","title":"es-glue-route","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-acb4dfc4","label":"AWS_EC2_RouteTable","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-acb4dfc4","configuration":"\"{\\\"associations\\\":[{\\\"routeTableId\\\":\\\"rtb-acb4dfc4\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-48d13323\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":true}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"172.31.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"},{\\\"destinationCidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"igw-51b98e38\\\"}],\\\"routeTableId\\\":\\\"rtb-acb4dfc4\\\",\\\"vpcId\\\":\\\"vpc-b7ef57df\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[]}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":"vpc-b7ef57df","subnetId":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#RouteTables:sort=routeTableId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-acb4dfc4","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[]","title":"rtb-acb4dfc4","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]},{"id":null,"label":"VPCEndpoint","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-0260f809c4027be24","label":"AWS_EC2_VPCEndpoint","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-0260f809c4027be24","configuration":"\"{\\\"policyDocument\\\":\\\"{\\\\\\\"Version\\\\\\\":\\\\\\\"2008-10-17\\\\\\\",\\\\\\\"Statement\\\\\\\":[{\\\\\\\"Effect\\\\\\\":\\\\\\\"Allow\\\\\\\",\\\\\\\"Principal\\\\\\\":\\\\\\\"*\\\\\\\",\\\\\\\"Action\\\\\\\":\\\\\\\"*\\\\\\\",\\\\\\\"Resource\\\\\\\":\\\\\\\"*\\\\\\\"}]}\\\",\\\"groups\\\":[],\\\"serviceName\\\":\\\"com.amazonaws.eu-west-2.s3\\\",\\\"privateDnsEnabled\\\":false,\\\"ownerId\\\":\\\"060997615305\\\",\\\"requesterManaged\\\":false,\\\"vpcEndpointId\\\":\\\"vpce-0260f809c4027be24\\\",\\\"tags\\\":[],\\\"routeTableIds\\\":[\\\"rtb-09c58067005d38875\\\"],\\\"vpcEndpointType\\\":\\\"Gateway\\\",\\\"vpcId\\\":\\\"vpc-b7ef57df\\\",\\\"creationTimestamp\\\":\\\"2021-06-10T12:47:58Z\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"dnsEntries\\\":[],\\\"networkInterfaceIds\\\":[],\\\"subnetIds\\\":[]}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":"vpc-b7ef57df","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"vpce-0260f809c4027be24","resourceName":null,"resourceType":"AWS::EC2::VPCEndpoint","resourceValue":null,"state":null,"tags":"[]","title":"vpce-0260f809c4027be24","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]},{"id":null,"label":"eu-west-2c","parent":null,"type":"availabilityZone","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-d4c74cbd","label":"subnet-d4c74cbd","parent":null,"type":"subnet","data":{"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-d4c74cbd","configuration":"\"{\\\"subnetId\\\":\\\"subnet-d4c74cbd\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-d4c74cbd\\\",\\\"availabilityZoneId\\\":\\\"euw2-az1\\\",\\\"cidrBlock\\\":\\\"172.31.0.0/20\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"availabilityZone\\\":\\\"eu-west-2c\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[],\\\"availableIpAddressCount\\\":4090,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-b7ef57df\\\",\\\"mapPublicIpOnLaunch\\\":true,\\\"defaultForAz\\\":true,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2c","vpcId":"vpc-b7ef57df","subnetId":"subnet-d4c74cbd","loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#subnets:sort=SubnetId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#subnets:sort=SubnetId","private":null,"resourceId":"subnet-d4c74cbd","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[]","title":"subnet-d4c74cbd","instanceType":null,"statement":null,"dBInstanceStatus":null},"id":"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-d4c74cbd","label":"AWS_EC2_Subnet"},"properties":null,"children":[{"id":null,"label":"NetworkInterface","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-06b9993ddcda75e59","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-06b9993ddcda75e59","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-06b9993ddcda75e59\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-172-31-1-241.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.1.241\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-d4c74cbd\\\",\\\"requesterId\\\":\\\"736341890546\\\",\\\"description\\\":\\\"DMSNetworkInterface\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-909bdafb\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2c\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"172.31.1.241\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:cb:57:aa:fc:e0\\\",\\\"vpcId\\\":\\\"vpc-b7ef57df\\\",\\\"privateDnsName\\\":\\\"ip-172-31-1-241.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2c","vpcId":"vpc-b7ef57df","subnetId":"subnet-d4c74cbd","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-06b9993ddcda75e59","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-06b9993ddcda75e59","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}]}]},{"id":null,"label":"eu-west-2a","parent":null,"type":"availabilityZone","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-fb60b581","label":"subnet-fb60b581","parent":null,"type":"subnet","data":{"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-fb60b581","configuration":"\"{\\\"subnetId\\\":\\\"subnet-fb60b581\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-fb60b581\\\",\\\"availabilityZoneId\\\":\\\"euw2-az2\\\",\\\"cidrBlock\\\":\\\"172.31.16.0/20\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"availabilityZone\\\":\\\"eu-west-2a\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[],\\\"availableIpAddressCount\\\":4090,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-b7ef57df\\\",\\\"mapPublicIpOnLaunch\\\":true,\\\"defaultForAz\\\":true,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2a","vpcId":"vpc-b7ef57df","subnetId":"subnet-fb60b581","loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#subnets:sort=SubnetId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#subnets:sort=SubnetId","private":null,"resourceId":"subnet-fb60b581","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[]","title":"subnet-fb60b581","instanceType":null,"statement":null,"dBInstanceStatus":null},"id":"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-fb60b581","label":"AWS_EC2_Subnet"},"properties":null,"children":[{"id":null,"label":"NetworkInterface","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0c5d5301d597388b2","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0c5d5301d597388b2","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0c5d5301d597388b2\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"060997615305\\\",\\\"allocationId\\\":\\\"eipalloc-097be847517133c3d\\\",\\\"publicIp\\\":\\\"18.134.82.37\\\",\\\"publicDnsName\\\":\\\"ec2-18-134-82-37.eu-west-2.compute.amazonaws.com\\\",\\\"associationId\\\":\\\"eipassoc-0f8f559498cff713d\\\"},\\\"privateDnsName\\\":\\\"ip-172-31-22-94.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.22.94\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-fb60b581\\\",\\\"requesterId\\\":\\\"413720730277\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"060997615305\\\",\\\"allocationId\\\":\\\"eipalloc-097be847517133c3d\\\",\\\"publicIp\\\":\\\"18.134.82.37\\\",\\\"publicDnsName\\\":\\\"ec2-18-134-82-37.eu-west-2.compute.amazonaws.com\\\",\\\"associationId\\\":\\\"eipassoc-0f8f559498cff713d\\\"},\\\"description\\\":\\\"Interface for NAT Gateway nat-06c56447fdfda0fa8\\\",\\\"groups\\\":[],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":false,\\\"availabilityZone\\\":\\\"eu-west-2a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"172.31.22.94\\\",\\\"interfaceType\\\":\\\"nat_gateway\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:e0:90:60:34:e8\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-0d3777e244093156a\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-b7ef57df\\\",\\\"privateDnsName\\\":\\\"ip-172-31-22-94.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2a","vpcId":"vpc-b7ef57df","subnetId":"subnet-fb60b581","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-0c5d5301d597388b2","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0c5d5301d597388b2","instanceType":null,"statement":null,"dBInstanceStatus":null}}]},{"id":null,"label":"NatGateway","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-2:060997615305:natgateway/nat-06c56447fdfda0fa8","label":"AWS_EC2_NatGateway","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:natgateway/nat-06c56447fdfda0fa8","configuration":"\"{\\\"subnetId\\\":\\\"subnet-fb60b581\\\",\\\"connectivityType\\\":\\\"public\\\",\\\"createTime\\\":1623327534000,\\\"vpcId\\\":\\\"vpc-b7ef57df\\\",\\\"natGatewayId\\\":\\\"nat-06c56447fdfda0fa8\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"natGatewayAddresses\\\":[{\\\"networkInterfaceId\\\":\\\"eni-0c5d5301d597388b2\\\",\\\"isPrimary\\\":true,\\\"privateIp\\\":\\\"172.31.22.94\\\",\\\"allocationId\\\":\\\"eipalloc-097be847517133c3d\\\",\\\"publicIp\\\":\\\"18.134.82.37\\\",\\\"associationId\\\":\\\"eipassoc-0f8f559498cff713d\\\",\\\"status\\\":\\\"succeeded\\\",\\\"primary\\\":true}],\\\"tags\\\":[{\\\"value\\\":\\\"es-glue-test\\\",\\\"key\\\":\\\"Name\\\"}]}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":"vpc-b7ef57df","subnetId":"subnet-fb60b581","loggedInURL":null,"loginURL":null,"private":null,"resourceId":"nat-06c56447fdfda0fa8","resourceName":null,"resourceType":"AWS::EC2::NatGateway","resourceValue":null,"state":null,"tags":"[{\"tag\":\"Name=es-glue-test\",\"value\":\"es-glue-test\",\"key\":\"Name\"}]","title":"es-glue-test","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}]}]},{"id":null,"label":"eu-west-2b","parent":null,"type":"availabilityZone","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-13f1ea5e","label":"subnet-13f1ea5e","parent":null,"type":"subnet","data":{"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-13f1ea5e","configuration":"\"{\\\"subnetId\\\":\\\"subnet-13f1ea5e\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-13f1ea5e\\\",\\\"availabilityZoneId\\\":\\\"euw2-az3\\\",\\\"cidrBlock\\\":\\\"172.31.32.0/20\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"availabilityZone\\\":\\\"eu-west-2b\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[],\\\"availableIpAddressCount\\\":4091,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-b7ef57df\\\",\\\"mapPublicIpOnLaunch\\\":true,\\\"defaultForAz\\\":true,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2b","vpcId":"vpc-b7ef57df","subnetId":"subnet-13f1ea5e","loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#subnets:sort=SubnetId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#subnets:sort=SubnetId","private":"false","resourceId":"subnet-13f1ea5e","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[]","title":"subnet-13f1ea5e","instanceType":null,"statement":null,"dBInstanceStatus":null},"id":"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-13f1ea5e","label":"AWS_EC2_Subnet"},"properties":null,"children":[]}]},{"id":null,"label":"Multiple Availability Zones","parent":null,"type":"availabilityZone","data":null,"properties":null,"children":[{"id":null,"label":"NetworkAcl","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-2:060997615305:network-acl/acl-344dd55c","label":"AWS_EC2_NetworkAcl","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-acl/acl-344dd55c","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-fb60b581\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-50d01e3a\\\",\\\"networkAclId\\\":\\\"acl-344dd55c\\\"},{\\\"subnetId\\\":\\\"subnet-d4c74cbd\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-53d01e39\\\",\\\"networkAclId\\\":\\\"acl-344dd55c\\\"},{\\\"subnetId\\\":\\\"subnet-13f1ea5e\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-51d01e3b\\\",\\\"networkAclId\\\":\\\"acl-344dd55c\\\"}],\\\"entries\\\":[{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":false},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":false}],\\\"isDefault\\\":true,\\\"vpcId\\\":\\\"vpc-b7ef57df\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"networkAclId\\\":\\\"acl-344dd55c\\\",\\\"tags\\\":[]}\"","awsRegion":"eu-west-2","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-b7ef57df","subnetId":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#acls:sort=networkAclId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#acls:sort=networkAclId","private":null,"resourceId":"acl-344dd55c","resourceName":null,"resourceType":"AWS::EC2::NetworkAcl","resourceValue":null,"state":null,"tags":"[]","title":"acl-344dd55c","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]},{"id":null,"label":"InternetGateway","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-2:060997615305:internet-gateway/igw-51b98e38","label":"AWS_EC2_InternetGateway","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:internet-gateway/igw-51b98e38","configuration":"\"{\\\"attachments\\\":[{\\\"vpcId\\\":\\\"vpc-b7ef57df\\\",\\\"state\\\":\\\"available\\\"}],\\\"internetGatewayId\\\":\\\"igw-51b98e38\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"tags\\\":[]}\"","awsRegion":"eu-west-2","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-b7ef57df","subnetId":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#igws:sort=internetGatewayId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#igws:sort=internetGatewayId","private":null,"resourceId":"igw-51b98e38","resourceName":null,"resourceType":"AWS::EC2::InternetGateway","resourceValue":null,"state":null,"tags":"[]","title":"igw-51b98e38","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#248814","properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-b7ef57df","configuration":"\"{\\\"instanceTenancy\\\":\\\"default\\\",\\\"isDefault\\\":true,\\\"dhcpOptionsId\\\":\\\"dopt-961786fe\\\",\\\"cidrBlock\\\":\\\"172.31.0.0/16\\\",\\\"vpcId\\\":\\\"vpc-b7ef57df\\\",\\\"cidrBlockAssociationSet\\\":[{\\\"cidrBlock\\\":\\\"172.31.0.0/16\\\",\\\"cidrBlockState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"associationId\\\":\\\"vpc-cidr-assoc-42089c2a\\\"}],\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipv6CidrBlockAssociationSet\\\":[],\\\"tags\\\":[]}\"","awsRegion":"eu-west-2","availabilityZone":"Multiple Availability Zones","vpcId":null,"subnetId":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#vpcs:sort=VpcId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#vpcs:sort=VpcId","private":null,"resourceId":"vpc-b7ef57df","resourceName":null,"resourceType":"AWS::EC2::VPC","resourceValue":null,"state":null,"tags":"[]","title":"vpc-b7ef57df","instanceType":null,"statement":null,"dBInstanceStatus":null},"resource":{"id":"vpc-b7ef57df","name":null,"value":null,"type":"AWS::EC2::VPC","tags":"[]","arn":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-b7ef57df","region":"eu-west-2","state":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#vpcs:sort=VpcId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#vpcs:sort=VpcId","accountId":"060997615305"},"selected":true},"position":{"x":890.5,"y":530.5},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"vpc removeAll _gridParentPadding"},{"data":{"id":"SecurityGroup-vpc-b7ef57df-eu-west-2-060997615305","parent":"vpc-b7ef57df-eu-west-2-060997615305","level":3,"title":"SecurityGroup","label":"SecurityGroup","plainLabel":"SecurityGroup","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/AWSSecurityGroup.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-2:060997615305:security-group/sg-0d5f809e8eeaea920","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:security-group/sg-0d5f809e8eeaea920","configuration":"\"{\\\"groupName\\\":\\\"ElasticMapReduce-slave\\\",\\\"groupId\\\":\\\"sg-0d5f809e8eeaea920\\\",\\\"vpcId\\\":\\\"vpc-b7ef57df\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"Slave group for Elastic MapReduce created on 2020-06-01T17:10:53.766Z\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[],\\\"prefixListIds\\\":[],\\\"fromPort\\\":0,\\\"toPort\\\":65535,\\\"userIdGroupPairs\\\":[{\\\"groupId\\\":\\\"sg-0d5f809e8eeaea920\\\",\\\"userId\\\":\\\"060997615305\\\"},{\\\"groupId\\\":\\\"sg-0f71a86455fa45184\\\",\\\"userId\\\":\\\"060997615305\\\"}],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[],\\\"prefixListIds\\\":[],\\\"fromPort\\\":0,\\\"toPort\\\":65535,\\\"userIdGroupPairs\\\":[{\\\"groupId\\\":\\\"sg-0d5f809e8eeaea920\\\",\\\"userId\\\":\\\"060997615305\\\"},{\\\"groupId\\\":\\\"sg-0f71a86455fa45184\\\",\\\"userId\\\":\\\"060997615305\\\"}],\\\"ipProtocol\\\":\\\"udp\\\",\\\"ipv4Ranges\\\":[],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[],\\\"prefixListIds\\\":[],\\\"fromPort\\\":-1,\\\"toPort\\\":-1,\\\"userIdGroupPairs\\\":[{\\\"groupId\\\":\\\"sg-0d5f809e8eeaea920\\\",\\\"userId\\\":\\\"060997615305\\\"},{\\\"groupId\\\":\\\"sg-0f71a86455fa45184\\\",\\\"userId\\\":\\\"060997615305\\\"}],\\\"ipProtocol\\\":\\\"icmp\\\",\\\"ipv4Ranges\\\":[],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":"vpc-b7ef57df","subnetId":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0d5f809e8eeaea920","resourceName":"ElasticMapReduce-slave","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"ElasticMapReduce-slave","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-2:060997615305:security-group/sg-0f71a86455fa45184","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:security-group/sg-0f71a86455fa45184","configuration":"\"{\\\"groupName\\\":\\\"ElasticMapReduce-master\\\",\\\"groupId\\\":\\\"sg-0f71a86455fa45184\\\",\\\"vpcId\\\":\\\"vpc-b7ef57df\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"Master group for Elastic MapReduce created on 2020-06-01T17:10:53.766Z\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[],\\\"prefixListIds\\\":[],\\\"fromPort\\\":0,\\\"toPort\\\":65535,\\\"userIdGroupPairs\\\":[{\\\"groupId\\\":\\\"sg-0d5f809e8eeaea920\\\",\\\"userId\\\":\\\"060997615305\\\"},{\\\"groupId\\\":\\\"sg-0f71a86455fa45184\\\",\\\"userId\\\":\\\"060997615305\\\"}],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":22,\\\"toPort\\\":22,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[{\\\"cidrIpv6\\\":\\\"::/0\\\"}]},{\\\"ipRanges\\\":[\\\"52.94.38.0/23\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":8443,\\\"toPort\\\":8443,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"52.94.38.0/23\\\"}],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[],\\\"prefixListIds\\\":[],\\\"fromPort\\\":0,\\\"toPort\\\":65535,\\\"userIdGroupPairs\\\":[{\\\"groupId\\\":\\\"sg-0d5f809e8eeaea920\\\",\\\"userId\\\":\\\"060997615305\\\"},{\\\"groupId\\\":\\\"sg-0f71a86455fa45184\\\",\\\"userId\\\":\\\"060997615305\\\"}],\\\"ipProtocol\\\":\\\"udp\\\",\\\"ipv4Ranges\\\":[],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[],\\\"prefixListIds\\\":[],\\\"fromPort\\\":-1,\\\"toPort\\\":-1,\\\"userIdGroupPairs\\\":[{\\\"groupId\\\":\\\"sg-0d5f809e8eeaea920\\\",\\\"userId\\\":\\\"060997615305\\\"},{\\\"groupId\\\":\\\"sg-0f71a86455fa45184\\\",\\\"userId\\\":\\\"060997615305\\\"}],\\\"ipProtocol\\\":\\\"icmp\\\",\\\"ipv4Ranges\\\":[],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":"vpc-b7ef57df","subnetId":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0f71a86455fa45184","resourceName":"ElasticMapReduce-master","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"ElasticMapReduce-master","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-2:060997615305:security-group/sg-909bdafb","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:security-group/sg-909bdafb","configuration":"\"{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-909bdafb\\\",\\\"vpcId\\\":\\\"vpc-b7ef57df\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"default VPC security group\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[],\\\"prefixListIds\\\":[{\\\"prefixListId\\\":\\\"pl-fca24795\\\"}],\\\"userIdGroupPairs\\\":[{\\\"groupId\\\":\\\"sg-909bdafb\\\",\\\"userId\\\":\\\"060997615305\\\"}],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":"vpc-b7ef57df","subnetId":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-909bdafb","resourceName":"default","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"default","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":839,"y":556.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-2:060997615305:security-group/sg-0d5f809e8eeaea920","resourceId":["sg-0d5f809e8eeaea920","arn:aws:ec2:eu-west-2:060997615305:security-group/sg-0d5f809e8eeaea920"],"parent":"SecurityGroup-vpc-b7ef57df-eu-west-2-060997615305","level":4,"id":"arn:aws:ec2:eu-west-2:060997615305:security-group/sg-0d5f809e8eeaea920","title":"ElasticMapReduce-slave","label":"ElasticMapRe...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-2:060997615305:security-group/sg-0d5f809e8eeaea920","image":"/icons/AWSSecurityGroup.svg","cost":0,"private":false,"resource":{"id":"sg-0d5f809e8eeaea920","name":"ElasticMapReduce-slave","value":null,"type":"AWS::EC2::SecurityGroup","tags":"[]","arn":"arn:aws:ec2:eu-west-2:060997615305:security-group/sg-0d5f809e8eeaea920","region":"eu-west-2","state":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#SecurityGroups:sort=groupId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:security-group/sg-0d5f809e8eeaea920","configuration":"\"{\\\"groupName\\\":\\\"ElasticMapReduce-slave\\\",\\\"groupId\\\":\\\"sg-0d5f809e8eeaea920\\\",\\\"vpcId\\\":\\\"vpc-b7ef57df\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"Slave group for Elastic MapReduce created on 2020-06-01T17:10:53.766Z\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[],\\\"prefixListIds\\\":[],\\\"fromPort\\\":0,\\\"toPort\\\":65535,\\\"userIdGroupPairs\\\":[{\\\"groupId\\\":\\\"sg-0d5f809e8eeaea920\\\",\\\"userId\\\":\\\"060997615305\\\"},{\\\"groupId\\\":\\\"sg-0f71a86455fa45184\\\",\\\"userId\\\":\\\"060997615305\\\"}],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[],\\\"prefixListIds\\\":[],\\\"fromPort\\\":0,\\\"toPort\\\":65535,\\\"userIdGroupPairs\\\":[{\\\"groupId\\\":\\\"sg-0d5f809e8eeaea920\\\",\\\"userId\\\":\\\"060997615305\\\"},{\\\"groupId\\\":\\\"sg-0f71a86455fa45184\\\",\\\"userId\\\":\\\"060997615305\\\"}],\\\"ipProtocol\\\":\\\"udp\\\",\\\"ipv4Ranges\\\":[],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[],\\\"prefixListIds\\\":[],\\\"fromPort\\\":-1,\\\"toPort\\\":-1,\\\"userIdGroupPairs\\\":[{\\\"groupId\\\":\\\"sg-0d5f809e8eeaea920\\\",\\\"userId\\\":\\\"060997615305\\\"},{\\\"groupId\\\":\\\"sg-0f71a86455fa45184\\\",\\\"userId\\\":\\\"060997615305\\\"}],\\\"ipProtocol\\\":\\\"icmp\\\",\\\"ipv4Ranges\\\":[],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":"vpc-b7ef57df","subnetId":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0d5f809e8eeaea920","resourceName":"ElasticMapReduce-slave","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"ElasticMapReduce-slave","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":802.5,"y":519.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-2:060997615305:security-group/sg-0f71a86455fa45184","resourceId":["sg-0f71a86455fa45184","arn:aws:ec2:eu-west-2:060997615305:security-group/sg-0f71a86455fa45184"],"parent":"SecurityGroup-vpc-b7ef57df-eu-west-2-060997615305","level":4,"id":"arn:aws:ec2:eu-west-2:060997615305:security-group/sg-0f71a86455fa45184","title":"ElasticMapReduce-master","label":"ElasticMapRe...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-2:060997615305:security-group/sg-0f71a86455fa45184","image":"/icons/AWSSecurityGroup.svg","cost":0,"private":false,"resource":{"id":"sg-0f71a86455fa45184","name":"ElasticMapReduce-master","value":null,"type":"AWS::EC2::SecurityGroup","tags":"[]","arn":"arn:aws:ec2:eu-west-2:060997615305:security-group/sg-0f71a86455fa45184","region":"eu-west-2","state":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#SecurityGroups:sort=groupId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:security-group/sg-0f71a86455fa45184","configuration":"\"{\\\"groupName\\\":\\\"ElasticMapReduce-master\\\",\\\"groupId\\\":\\\"sg-0f71a86455fa45184\\\",\\\"vpcId\\\":\\\"vpc-b7ef57df\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"Master group for Elastic MapReduce created on 2020-06-01T17:10:53.766Z\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[],\\\"prefixListIds\\\":[],\\\"fromPort\\\":0,\\\"toPort\\\":65535,\\\"userIdGroupPairs\\\":[{\\\"groupId\\\":\\\"sg-0d5f809e8eeaea920\\\",\\\"userId\\\":\\\"060997615305\\\"},{\\\"groupId\\\":\\\"sg-0f71a86455fa45184\\\",\\\"userId\\\":\\\"060997615305\\\"}],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":22,\\\"toPort\\\":22,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[{\\\"cidrIpv6\\\":\\\"::/0\\\"}]},{\\\"ipRanges\\\":[\\\"52.94.38.0/23\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":8443,\\\"toPort\\\":8443,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"52.94.38.0/23\\\"}],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[],\\\"prefixListIds\\\":[],\\\"fromPort\\\":0,\\\"toPort\\\":65535,\\\"userIdGroupPairs\\\":[{\\\"groupId\\\":\\\"sg-0d5f809e8eeaea920\\\",\\\"userId\\\":\\\"060997615305\\\"},{\\\"groupId\\\":\\\"sg-0f71a86455fa45184\\\",\\\"userId\\\":\\\"060997615305\\\"}],\\\"ipProtocol\\\":\\\"udp\\\",\\\"ipv4Ranges\\\":[],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[],\\\"prefixListIds\\\":[],\\\"fromPort\\\":-1,\\\"toPort\\\":-1,\\\"userIdGroupPairs\\\":[{\\\"groupId\\\":\\\"sg-0d5f809e8eeaea920\\\",\\\"userId\\\":\\\"060997615305\\\"},{\\\"groupId\\\":\\\"sg-0f71a86455fa45184\\\",\\\"userId\\\":\\\"060997615305\\\"}],\\\"ipProtocol\\\":\\\"icmp\\\",\\\"ipv4Ranges\\\":[],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":"vpc-b7ef57df","subnetId":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0f71a86455fa45184","resourceName":"ElasticMapReduce-master","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"ElasticMapReduce-master","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":875.5,"y":519.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-2:060997615305:security-group/sg-909bdafb","resourceId":["sg-909bdafb","arn:aws:ec2:eu-west-2:060997615305:security-group/sg-909bdafb"],"parent":"SecurityGroup-vpc-b7ef57df-eu-west-2-060997615305","level":4,"id":"arn:aws:ec2:eu-west-2:060997615305:security-group/sg-909bdafb","title":"default","label":"default","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-2:060997615305:security-group/sg-909bdafb","image":"/icons/AWSSecurityGroup.svg","cost":0,"private":false,"resource":{"id":"sg-909bdafb","name":"default","value":null,"type":"AWS::EC2::SecurityGroup","tags":"[]","arn":"arn:aws:ec2:eu-west-2:060997615305:security-group/sg-909bdafb","region":"eu-west-2","state":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#SecurityGroups:sort=groupId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:security-group/sg-909bdafb","configuration":"\"{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-909bdafb\\\",\\\"vpcId\\\":\\\"vpc-b7ef57df\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"default VPC security group\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[],\\\"prefixListIds\\\":[{\\\"prefixListId\\\":\\\"pl-fca24795\\\"}],\\\"userIdGroupPairs\\\":[{\\\"groupId\\\":\\\"sg-909bdafb\\\",\\\"userId\\\":\\\"060997615305\\\"}],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":"vpc-b7ef57df","subnetId":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-909bdafb","resourceName":"default","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"default","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":802.5,"y":592.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"RouteTable-vpc-b7ef57df-eu-west-2-060997615305","parent":"vpc-b7ef57df-eu-west-2-060997615305","level":3,"title":"RouteTable","label":"RouteTable","plainLabel":"RouteTable","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-VPC_Router_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-09c58067005d38875","label":"AWS_EC2_RouteTable","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-09c58067005d38875","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-13f1ea5e\\\",\\\"routeTableId\\\":\\\"rtb-09c58067005d38875\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-0cf237a441acbeed1\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":false}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"172.31.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"},{\\\"destinationCidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"natGatewayId\\\":\\\"nat-06c56447fdfda0fa8\\\",\\\"state\\\":\\\"active\\\"},{\\\"destinationPrefixListId\\\":\\\"pl-7ca54015\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"vpce-0260f809c4027be24\\\"}],\\\"routeTableId\\\":\\\"rtb-09c58067005d38875\\\",\\\"vpcId\\\":\\\"vpc-b7ef57df\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"es-glue-route\\\",\\\"key\\\":\\\"Name\\\"}]}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":"vpc-b7ef57df","subnetId":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#RouteTables:sort=routeTableId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-09c58067005d38875","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[{\"tag\":\"Name=es-glue-route\",\"value\":\"es-glue-route\",\"key\":\"Name\"}]","title":"es-glue-route","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-acb4dfc4","label":"AWS_EC2_RouteTable","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-acb4dfc4","configuration":"\"{\\\"associations\\\":[{\\\"routeTableId\\\":\\\"rtb-acb4dfc4\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-48d13323\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":true}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"172.31.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"},{\\\"destinationCidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"igw-51b98e38\\\"}],\\\"routeTableId\\\":\\\"rtb-acb4dfc4\\\",\\\"vpcId\\\":\\\"vpc-b7ef57df\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[]}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":"vpc-b7ef57df","subnetId":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#RouteTables:sort=routeTableId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-acb4dfc4","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[]","title":"rtb-acb4dfc4","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":1025,"y":519.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-09c58067005d38875","resourceId":["rtb-09c58067005d38875","arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-09c58067005d38875"],"parent":"RouteTable-vpc-b7ef57df-eu-west-2-060997615305","level":4,"id":"arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-09c58067005d38875","title":"es-glue-route","label":"es-glue-rout...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-09c58067005d38875","image":"/icons/Amazon-VPC_Router_light-bg.svg","cost":0,"private":false,"resource":{"id":"rtb-09c58067005d38875","name":null,"value":null,"type":"AWS::EC2::RouteTable","tags":"[{\"tag\":\"Name=es-glue-route\",\"value\":\"es-glue-route\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-09c58067005d38875","region":"eu-west-2","state":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#RouteTables:sort=routeTableId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#RouteTables:sort=routeTableId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-09c58067005d38875","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-13f1ea5e\\\",\\\"routeTableId\\\":\\\"rtb-09c58067005d38875\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-0cf237a441acbeed1\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":false}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"172.31.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"},{\\\"destinationCidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"natGatewayId\\\":\\\"nat-06c56447fdfda0fa8\\\",\\\"state\\\":\\\"active\\\"},{\\\"destinationPrefixListId\\\":\\\"pl-7ca54015\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"vpce-0260f809c4027be24\\\"}],\\\"routeTableId\\\":\\\"rtb-09c58067005d38875\\\",\\\"vpcId\\\":\\\"vpc-b7ef57df\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"es-glue-route\\\",\\\"key\\\":\\\"Name\\\"}]}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":"vpc-b7ef57df","subnetId":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#RouteTables:sort=routeTableId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-09c58067005d38875","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[{\"tag\":\"Name=es-glue-route\",\"value\":\"es-glue-route\",\"key\":\"Name\"}]","title":"es-glue-route","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":988.5,"y":519.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-acb4dfc4","resourceId":["rtb-acb4dfc4","arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-acb4dfc4"],"parent":"RouteTable-vpc-b7ef57df-eu-west-2-060997615305","level":4,"id":"arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-acb4dfc4","title":"rtb-acb4dfc4","label":"rtb-acb4dfc4","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-acb4dfc4","image":"/icons/Amazon-VPC_Router_light-bg.svg","cost":0,"private":false,"resource":{"id":"rtb-acb4dfc4","name":null,"value":null,"type":"AWS::EC2::RouteTable","tags":"[]","arn":"arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-acb4dfc4","region":"eu-west-2","state":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#RouteTables:sort=routeTableId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#RouteTables:sort=routeTableId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-acb4dfc4","configuration":"\"{\\\"associations\\\":[{\\\"routeTableId\\\":\\\"rtb-acb4dfc4\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-48d13323\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":true}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"172.31.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"},{\\\"destinationCidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"igw-51b98e38\\\"}],\\\"routeTableId\\\":\\\"rtb-acb4dfc4\\\",\\\"vpcId\\\":\\\"vpc-b7ef57df\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[]}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":"vpc-b7ef57df","subnetId":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#RouteTables:sort=routeTableId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-acb4dfc4","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[]","title":"rtb-acb4dfc4","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1061.5,"y":519.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"VPCEndpoint-vpc-b7ef57df-eu-west-2-060997615305","parent":"vpc-b7ef57df-eu-west-2-060997615305","level":3,"title":"VPCEndpoint","label":"VPCEndpoint","plainLabel":"VPCEndpoint","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-EC2_VPC_Endpoints_light-bg-menu.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-0260f809c4027be24","label":"AWS_EC2_VPCEndpoint","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-0260f809c4027be24","configuration":"\"{\\\"policyDocument\\\":\\\"{\\\\\\\"Version\\\\\\\":\\\\\\\"2008-10-17\\\\\\\",\\\\\\\"Statement\\\\\\\":[{\\\\\\\"Effect\\\\\\\":\\\\\\\"Allow\\\\\\\",\\\\\\\"Principal\\\\\\\":\\\\\\\"*\\\\\\\",\\\\\\\"Action\\\\\\\":\\\\\\\"*\\\\\\\",\\\\\\\"Resource\\\\\\\":\\\\\\\"*\\\\\\\"}]}\\\",\\\"groups\\\":[],\\\"serviceName\\\":\\\"com.amazonaws.eu-west-2.s3\\\",\\\"privateDnsEnabled\\\":false,\\\"ownerId\\\":\\\"060997615305\\\",\\\"requesterManaged\\\":false,\\\"vpcEndpointId\\\":\\\"vpce-0260f809c4027be24\\\",\\\"tags\\\":[],\\\"routeTableIds\\\":[\\\"rtb-09c58067005d38875\\\"],\\\"vpcEndpointType\\\":\\\"Gateway\\\",\\\"vpcId\\\":\\\"vpc-b7ef57df\\\",\\\"creationTimestamp\\\":\\\"2021-06-10T12:47:58Z\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"dnsEntries\\\":[],\\\"networkInterfaceIds\\\":[],\\\"subnetIds\\\":[]}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":"vpc-b7ef57df","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"vpce-0260f809c4027be24","resourceName":null,"resourceType":"AWS::EC2::VPCEndpoint","resourceValue":null,"state":null,"tags":"[]","title":"vpce-0260f809c4027be24","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":609.5,"y":775.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-0260f809c4027be24","resourceId":["vpce-0260f809c4027be24","arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-0260f809c4027be24"],"parent":"VPCEndpoint-vpc-b7ef57df-eu-west-2-060997615305","level":4,"id":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-0260f809c4027be24","title":"vpce-0260f809c4027be24","label":"vpce-0260f80...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-0260f809c4027be24","image":"/icons/Amazon-EC2_VPC_Endpoints_light-bg-menu.svg","cost":0,"private":false,"resource":{"id":"vpce-0260f809c4027be24","name":null,"value":null,"type":"AWS::EC2::VPCEndpoint","tags":"[]","arn":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-0260f809c4027be24","region":"eu-west-2","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-0260f809c4027be24","configuration":"\"{\\\"policyDocument\\\":\\\"{\\\\\\\"Version\\\\\\\":\\\\\\\"2008-10-17\\\\\\\",\\\\\\\"Statement\\\\\\\":[{\\\\\\\"Effect\\\\\\\":\\\\\\\"Allow\\\\\\\",\\\\\\\"Principal\\\\\\\":\\\\\\\"*\\\\\\\",\\\\\\\"Action\\\\\\\":\\\\\\\"*\\\\\\\",\\\\\\\"Resource\\\\\\\":\\\\\\\"*\\\\\\\"}]}\\\",\\\"groups\\\":[],\\\"serviceName\\\":\\\"com.amazonaws.eu-west-2.s3\\\",\\\"privateDnsEnabled\\\":false,\\\"ownerId\\\":\\\"060997615305\\\",\\\"requesterManaged\\\":false,\\\"vpcEndpointId\\\":\\\"vpce-0260f809c4027be24\\\",\\\"tags\\\":[],\\\"routeTableIds\\\":[\\\"rtb-09c58067005d38875\\\"],\\\"vpcEndpointType\\\":\\\"Gateway\\\",\\\"vpcId\\\":\\\"vpc-b7ef57df\\\",\\\"creationTimestamp\\\":\\\"2021-06-10T12:47:58Z\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"dnsEntries\\\":[],\\\"networkInterfaceIds\\\":[],\\\"subnetIds\\\":[]}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":"vpc-b7ef57df","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"vpce-0260f809c4027be24","resourceName":null,"resourceType":"AWS::EC2::VPCEndpoint","resourceValue":null,"state":null,"tags":"[]","title":"vpce-0260f809c4027be24","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":609.5,"y":775.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"eu-west-2c-vpc-b7ef57df-eu-west-2-060997615305","parent":"vpc-b7ef57df-eu-west-2-060997615305","level":3,"title":"eu-west-2c","label":"eu-west-2c","plainLabel":"eu-west-2c","type":"availabilityZone","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/availabilityZone.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-d4c74cbd","label":"subnet-d4c74cbd","parent":null,"type":"subnet","data":{"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-d4c74cbd","configuration":"\"{\\\"subnetId\\\":\\\"subnet-d4c74cbd\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-d4c74cbd\\\",\\\"availabilityZoneId\\\":\\\"euw2-az1\\\",\\\"cidrBlock\\\":\\\"172.31.0.0/20\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"availabilityZone\\\":\\\"eu-west-2c\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[],\\\"availableIpAddressCount\\\":4090,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-b7ef57df\\\",\\\"mapPublicIpOnLaunch\\\":true,\\\"defaultForAz\\\":true,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2c","vpcId":"vpc-b7ef57df","subnetId":"subnet-d4c74cbd","loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#subnets:sort=SubnetId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#subnets:sort=SubnetId","private":null,"resourceId":"subnet-d4c74cbd","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[]","title":"subnet-d4c74cbd","instanceType":null,"statement":null,"dBInstanceStatus":null},"id":"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-d4c74cbd","label":"AWS_EC2_Subnet"},"properties":null,"children":[{"id":null,"label":"NetworkInterface","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-06b9993ddcda75e59","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-06b9993ddcda75e59","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-06b9993ddcda75e59\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-172-31-1-241.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.1.241\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-d4c74cbd\\\",\\\"requesterId\\\":\\\"736341890546\\\",\\\"description\\\":\\\"DMSNetworkInterface\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-909bdafb\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2c\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"172.31.1.241\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:cb:57:aa:fc:e0\\\",\\\"vpcId\\\":\\\"vpc-b7ef57df\\\",\\\"privateDnsName\\\":\\\"ip-172-31-1-241.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2c","vpcId":"vpc-b7ef57df","subnetId":"subnet-d4c74cbd","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-06b9993ddcda75e59","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-06b9993ddcda75e59","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":649.5,"y":605.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"availabilityZone removeAll _gridParentPadding"},{"data":{"id":"subnet-d4c74cbd-eu-west-2c-vpc-b7ef57df-eu-west-2-060997615305","parent":"eu-west-2c-vpc-b7ef57df-eu-west-2-060997615305","level":4,"title":"subnet-d4c74cbd","label":"subnet-d4c74cbd","plainLabel":"subnet-d4c74cbd","type":"subnet","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/VPC-subnet-private_light-bg-collapsed.svg","clickedId":"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-d4c74cbd","cost":0,"hasChildren":true,"children":[{"id":null,"label":"NetworkInterface","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-06b9993ddcda75e59","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-06b9993ddcda75e59","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-06b9993ddcda75e59\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-172-31-1-241.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.1.241\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-d4c74cbd\\\",\\\"requesterId\\\":\\\"736341890546\\\",\\\"description\\\":\\\"DMSNetworkInterface\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-909bdafb\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2c\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"172.31.1.241\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:cb:57:aa:fc:e0\\\",\\\"vpcId\\\":\\\"vpc-b7ef57df\\\",\\\"privateDnsName\\\":\\\"ip-172-31-1-241.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2c","vpcId":"vpc-b7ef57df","subnetId":"subnet-d4c74cbd","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-06b9993ddcda75e59","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-06b9993ddcda75e59","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#248814","properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-d4c74cbd","configuration":"\"{\\\"subnetId\\\":\\\"subnet-d4c74cbd\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-d4c74cbd\\\",\\\"availabilityZoneId\\\":\\\"euw2-az1\\\",\\\"cidrBlock\\\":\\\"172.31.0.0/20\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"availabilityZone\\\":\\\"eu-west-2c\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[],\\\"availableIpAddressCount\\\":4090,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-b7ef57df\\\",\\\"mapPublicIpOnLaunch\\\":true,\\\"defaultForAz\\\":true,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2c","vpcId":"vpc-b7ef57df","subnetId":"subnet-d4c74cbd","loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#subnets:sort=SubnetId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#subnets:sort=SubnetId","private":null,"resourceId":"subnet-d4c74cbd","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[]","title":"subnet-d4c74cbd","instanceType":null,"statement":null,"dBInstanceStatus":null},"resource":{"id":"subnet-d4c74cbd","name":null,"value":null,"type":"AWS::EC2::Subnet","tags":"[]","arn":"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-d4c74cbd","region":"eu-west-2","state":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#subnets:sort=SubnetId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#subnets:sort=SubnetId","accountId":"060997615305"}},"position":{"x":649.5,"y":605.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"subnet removeAll _gridParentPadding"},{"data":{"id":"NetworkInterface-subnet-d4c74cbd-eu-west-2c-vpc-b7ef57df-eu-west-2-060997615305","parent":"subnet-d4c74cbd-eu-west-2c-vpc-b7ef57df-eu-west-2-060997615305","level":5,"title":"NetworkInterface","label":"NetworkInterface","plainLabel":"NetworkInterface","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-06b9993ddcda75e59","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-06b9993ddcda75e59","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-06b9993ddcda75e59\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-172-31-1-241.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.1.241\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-d4c74cbd\\\",\\\"requesterId\\\":\\\"736341890546\\\",\\\"description\\\":\\\"DMSNetworkInterface\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-909bdafb\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2c\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"172.31.1.241\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:cb:57:aa:fc:e0\\\",\\\"vpcId\\\":\\\"vpc-b7ef57df\\\",\\\"privateDnsName\\\":\\\"ip-172-31-1-241.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2c","vpcId":"vpc-b7ef57df","subnetId":"subnet-d4c74cbd","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-06b9993ddcda75e59","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-06b9993ddcda75e59","instanceType":null,"statement":null,"dBInstanceStatus":null}}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":649.5,"y":605.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-06b9993ddcda75e59","resourceId":["eni-06b9993ddcda75e59","arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-06b9993ddcda75e59"],"parent":"NetworkInterface-subnet-d4c74cbd-eu-west-2c-vpc-b7ef57df-eu-west-2-060997615305","level":6,"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-06b9993ddcda75e59","title":"eni-06b9993ddcda75e59","label":"eni-06b9993d...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-06b9993ddcda75e59","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-06b9993ddcda75e59","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-06b9993ddcda75e59","region":"eu-west-2","state":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-06b9993ddcda75e59","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-06b9993ddcda75e59\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-172-31-1-241.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.1.241\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-d4c74cbd\\\",\\\"requesterId\\\":\\\"736341890546\\\",\\\"description\\\":\\\"DMSNetworkInterface\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-909bdafb\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-2c\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"172.31.1.241\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:cb:57:aa:fc:e0\\\",\\\"vpcId\\\":\\\"vpc-b7ef57df\\\",\\\"privateDnsName\\\":\\\"ip-172-31-1-241.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2c","vpcId":"vpc-b7ef57df","subnetId":"subnet-d4c74cbd","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-06b9993ddcda75e59","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-06b9993ddcda75e59","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":649.5,"y":605.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"eu-west-2a-vpc-b7ef57df-eu-west-2-060997615305","parent":"vpc-b7ef57df-eu-west-2-060997615305","level":3,"title":"eu-west-2a","label":"eu-west-2a","plainLabel":"eu-west-2a","type":"availabilityZone","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/availabilityZone.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-fb60b581","label":"subnet-fb60b581","parent":null,"type":"subnet","data":{"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-fb60b581","configuration":"\"{\\\"subnetId\\\":\\\"subnet-fb60b581\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-fb60b581\\\",\\\"availabilityZoneId\\\":\\\"euw2-az2\\\",\\\"cidrBlock\\\":\\\"172.31.16.0/20\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"availabilityZone\\\":\\\"eu-west-2a\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[],\\\"availableIpAddressCount\\\":4090,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-b7ef57df\\\",\\\"mapPublicIpOnLaunch\\\":true,\\\"defaultForAz\\\":true,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2a","vpcId":"vpc-b7ef57df","subnetId":"subnet-fb60b581","loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#subnets:sort=SubnetId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#subnets:sort=SubnetId","private":null,"resourceId":"subnet-fb60b581","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[]","title":"subnet-fb60b581","instanceType":null,"statement":null,"dBInstanceStatus":null},"id":"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-fb60b581","label":"AWS_EC2_Subnet"},"properties":null,"children":[{"id":null,"label":"NetworkInterface","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0c5d5301d597388b2","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0c5d5301d597388b2","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0c5d5301d597388b2\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"060997615305\\\",\\\"allocationId\\\":\\\"eipalloc-097be847517133c3d\\\",\\\"publicIp\\\":\\\"18.134.82.37\\\",\\\"publicDnsName\\\":\\\"ec2-18-134-82-37.eu-west-2.compute.amazonaws.com\\\",\\\"associationId\\\":\\\"eipassoc-0f8f559498cff713d\\\"},\\\"privateDnsName\\\":\\\"ip-172-31-22-94.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.22.94\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-fb60b581\\\",\\\"requesterId\\\":\\\"413720730277\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"060997615305\\\",\\\"allocationId\\\":\\\"eipalloc-097be847517133c3d\\\",\\\"publicIp\\\":\\\"18.134.82.37\\\",\\\"publicDnsName\\\":\\\"ec2-18-134-82-37.eu-west-2.compute.amazonaws.com\\\",\\\"associationId\\\":\\\"eipassoc-0f8f559498cff713d\\\"},\\\"description\\\":\\\"Interface for NAT Gateway nat-06c56447fdfda0fa8\\\",\\\"groups\\\":[],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":false,\\\"availabilityZone\\\":\\\"eu-west-2a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"172.31.22.94\\\",\\\"interfaceType\\\":\\\"nat_gateway\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:e0:90:60:34:e8\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-0d3777e244093156a\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-b7ef57df\\\",\\\"privateDnsName\\\":\\\"ip-172-31-22-94.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2a","vpcId":"vpc-b7ef57df","subnetId":"subnet-fb60b581","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-0c5d5301d597388b2","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0c5d5301d597388b2","instanceType":null,"statement":null,"dBInstanceStatus":null}}]},{"id":null,"label":"NatGateway","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-2:060997615305:natgateway/nat-06c56447fdfda0fa8","label":"AWS_EC2_NatGateway","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:natgateway/nat-06c56447fdfda0fa8","configuration":"\"{\\\"subnetId\\\":\\\"subnet-fb60b581\\\",\\\"connectivityType\\\":\\\"public\\\",\\\"createTime\\\":1623327534000,\\\"vpcId\\\":\\\"vpc-b7ef57df\\\",\\\"natGatewayId\\\":\\\"nat-06c56447fdfda0fa8\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"natGatewayAddresses\\\":[{\\\"networkInterfaceId\\\":\\\"eni-0c5d5301d597388b2\\\",\\\"isPrimary\\\":true,\\\"privateIp\\\":\\\"172.31.22.94\\\",\\\"allocationId\\\":\\\"eipalloc-097be847517133c3d\\\",\\\"publicIp\\\":\\\"18.134.82.37\\\",\\\"associationId\\\":\\\"eipassoc-0f8f559498cff713d\\\",\\\"status\\\":\\\"succeeded\\\",\\\"primary\\\":true}],\\\"tags\\\":[{\\\"value\\\":\\\"es-glue-test\\\",\\\"key\\\":\\\"Name\\\"}]}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":"vpc-b7ef57df","subnetId":"subnet-fb60b581","loggedInURL":null,"loginURL":null,"private":null,"resourceId":"nat-06c56447fdfda0fa8","resourceName":null,"resourceType":"AWS::EC2::NatGateway","resourceValue":null,"state":null,"tags":"[{\"tag\":\"Name=es-glue-test\",\"value\":\"es-glue-test\",\"key\":\"Name\"}]","title":"es-glue-test","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":706,"y":349.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"availabilityZone removeAll _gridParentPadding"},{"data":{"id":"subnet-fb60b581-eu-west-2a-vpc-b7ef57df-eu-west-2-060997615305","parent":"eu-west-2a-vpc-b7ef57df-eu-west-2-060997615305","level":4,"title":"subnet-fb60b581","label":"subnet-fb60b581","plainLabel":"subnet-fb60b581","type":"subnet","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/VPC-subnet-private_light-bg-collapsed.svg","clickedId":"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-fb60b581","cost":0,"hasChildren":true,"children":[{"id":null,"label":"NetworkInterface","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0c5d5301d597388b2","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0c5d5301d597388b2","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0c5d5301d597388b2\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"060997615305\\\",\\\"allocationId\\\":\\\"eipalloc-097be847517133c3d\\\",\\\"publicIp\\\":\\\"18.134.82.37\\\",\\\"publicDnsName\\\":\\\"ec2-18-134-82-37.eu-west-2.compute.amazonaws.com\\\",\\\"associationId\\\":\\\"eipassoc-0f8f559498cff713d\\\"},\\\"privateDnsName\\\":\\\"ip-172-31-22-94.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.22.94\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-fb60b581\\\",\\\"requesterId\\\":\\\"413720730277\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"060997615305\\\",\\\"allocationId\\\":\\\"eipalloc-097be847517133c3d\\\",\\\"publicIp\\\":\\\"18.134.82.37\\\",\\\"publicDnsName\\\":\\\"ec2-18-134-82-37.eu-west-2.compute.amazonaws.com\\\",\\\"associationId\\\":\\\"eipassoc-0f8f559498cff713d\\\"},\\\"description\\\":\\\"Interface for NAT Gateway nat-06c56447fdfda0fa8\\\",\\\"groups\\\":[],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":false,\\\"availabilityZone\\\":\\\"eu-west-2a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"172.31.22.94\\\",\\\"interfaceType\\\":\\\"nat_gateway\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:e0:90:60:34:e8\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-0d3777e244093156a\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-b7ef57df\\\",\\\"privateDnsName\\\":\\\"ip-172-31-22-94.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2a","vpcId":"vpc-b7ef57df","subnetId":"subnet-fb60b581","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-0c5d5301d597388b2","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0c5d5301d597388b2","instanceType":null,"statement":null,"dBInstanceStatus":null}}]},{"id":null,"label":"NatGateway","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-2:060997615305:natgateway/nat-06c56447fdfda0fa8","label":"AWS_EC2_NatGateway","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:natgateway/nat-06c56447fdfda0fa8","configuration":"\"{\\\"subnetId\\\":\\\"subnet-fb60b581\\\",\\\"connectivityType\\\":\\\"public\\\",\\\"createTime\\\":1623327534000,\\\"vpcId\\\":\\\"vpc-b7ef57df\\\",\\\"natGatewayId\\\":\\\"nat-06c56447fdfda0fa8\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"natGatewayAddresses\\\":[{\\\"networkInterfaceId\\\":\\\"eni-0c5d5301d597388b2\\\",\\\"isPrimary\\\":true,\\\"privateIp\\\":\\\"172.31.22.94\\\",\\\"allocationId\\\":\\\"eipalloc-097be847517133c3d\\\",\\\"publicIp\\\":\\\"18.134.82.37\\\",\\\"associationId\\\":\\\"eipassoc-0f8f559498cff713d\\\",\\\"status\\\":\\\"succeeded\\\",\\\"primary\\\":true}],\\\"tags\\\":[{\\\"value\\\":\\\"es-glue-test\\\",\\\"key\\\":\\\"Name\\\"}]}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":"vpc-b7ef57df","subnetId":"subnet-fb60b581","loggedInURL":null,"loginURL":null,"private":null,"resourceId":"nat-06c56447fdfda0fa8","resourceName":null,"resourceType":"AWS::EC2::NatGateway","resourceValue":null,"state":null,"tags":"[{\"tag\":\"Name=es-glue-test\",\"value\":\"es-glue-test\",\"key\":\"Name\"}]","title":"es-glue-test","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#248814","properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-fb60b581","configuration":"\"{\\\"subnetId\\\":\\\"subnet-fb60b581\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-fb60b581\\\",\\\"availabilityZoneId\\\":\\\"euw2-az2\\\",\\\"cidrBlock\\\":\\\"172.31.16.0/20\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"availabilityZone\\\":\\\"eu-west-2a\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[],\\\"availableIpAddressCount\\\":4090,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-b7ef57df\\\",\\\"mapPublicIpOnLaunch\\\":true,\\\"defaultForAz\\\":true,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2a","vpcId":"vpc-b7ef57df","subnetId":"subnet-fb60b581","loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#subnets:sort=SubnetId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#subnets:sort=SubnetId","private":null,"resourceId":"subnet-fb60b581","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[]","title":"subnet-fb60b581","instanceType":null,"statement":null,"dBInstanceStatus":null},"resource":{"id":"subnet-fb60b581","name":null,"value":null,"type":"AWS::EC2::Subnet","tags":"[]","arn":"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-fb60b581","region":"eu-west-2","state":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#subnets:sort=SubnetId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#subnets:sort=SubnetId","accountId":"060997615305"}},"position":{"x":706,"y":349.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"subnet removeAll _gridParentPadding"},{"data":{"id":"NetworkInterface-subnet-fb60b581-eu-west-2a-vpc-b7ef57df-eu-west-2-060997615305","parent":"subnet-fb60b581-eu-west-2a-vpc-b7ef57df-eu-west-2-060997615305","level":5,"title":"NetworkInterface","label":"NetworkInterface","plainLabel":"NetworkInterface","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0c5d5301d597388b2","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0c5d5301d597388b2","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0c5d5301d597388b2\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"060997615305\\\",\\\"allocationId\\\":\\\"eipalloc-097be847517133c3d\\\",\\\"publicIp\\\":\\\"18.134.82.37\\\",\\\"publicDnsName\\\":\\\"ec2-18-134-82-37.eu-west-2.compute.amazonaws.com\\\",\\\"associationId\\\":\\\"eipassoc-0f8f559498cff713d\\\"},\\\"privateDnsName\\\":\\\"ip-172-31-22-94.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.22.94\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-fb60b581\\\",\\\"requesterId\\\":\\\"413720730277\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"060997615305\\\",\\\"allocationId\\\":\\\"eipalloc-097be847517133c3d\\\",\\\"publicIp\\\":\\\"18.134.82.37\\\",\\\"publicDnsName\\\":\\\"ec2-18-134-82-37.eu-west-2.compute.amazonaws.com\\\",\\\"associationId\\\":\\\"eipassoc-0f8f559498cff713d\\\"},\\\"description\\\":\\\"Interface for NAT Gateway nat-06c56447fdfda0fa8\\\",\\\"groups\\\":[],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":false,\\\"availabilityZone\\\":\\\"eu-west-2a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"172.31.22.94\\\",\\\"interfaceType\\\":\\\"nat_gateway\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:e0:90:60:34:e8\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-0d3777e244093156a\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-b7ef57df\\\",\\\"privateDnsName\\\":\\\"ip-172-31-22-94.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2a","vpcId":"vpc-b7ef57df","subnetId":"subnet-fb60b581","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-0c5d5301d597388b2","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0c5d5301d597388b2","instanceType":null,"statement":null,"dBInstanceStatus":null}}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":649.5,"y":349.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0c5d5301d597388b2","resourceId":["eni-0c5d5301d597388b2","arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0c5d5301d597388b2"],"parent":"NetworkInterface-subnet-fb60b581-eu-west-2a-vpc-b7ef57df-eu-west-2-060997615305","level":6,"id":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0c5d5301d597388b2","title":"eni-0c5d5301d597388b2","label":"eni-0c5d5301...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0c5d5301d597388b2","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-0c5d5301d597388b2","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0c5d5301d597388b2","region":"eu-west-2","state":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0c5d5301d597388b2","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0c5d5301d597388b2\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"060997615305\\\",\\\"allocationId\\\":\\\"eipalloc-097be847517133c3d\\\",\\\"publicIp\\\":\\\"18.134.82.37\\\",\\\"publicDnsName\\\":\\\"ec2-18-134-82-37.eu-west-2.compute.amazonaws.com\\\",\\\"associationId\\\":\\\"eipassoc-0f8f559498cff713d\\\"},\\\"privateDnsName\\\":\\\"ip-172-31-22-94.eu-west-2.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.22.94\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-fb60b581\\\",\\\"requesterId\\\":\\\"413720730277\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"060997615305\\\",\\\"allocationId\\\":\\\"eipalloc-097be847517133c3d\\\",\\\"publicIp\\\":\\\"18.134.82.37\\\",\\\"publicDnsName\\\":\\\"ec2-18-134-82-37.eu-west-2.compute.amazonaws.com\\\",\\\"associationId\\\":\\\"eipassoc-0f8f559498cff713d\\\"},\\\"description\\\":\\\"Interface for NAT Gateway nat-06c56447fdfda0fa8\\\",\\\"groups\\\":[],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":false,\\\"availabilityZone\\\":\\\"eu-west-2a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"172.31.22.94\\\",\\\"interfaceType\\\":\\\"nat_gateway\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:e0:90:60:34:e8\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-0d3777e244093156a\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-b7ef57df\\\",\\\"privateDnsName\\\":\\\"ip-172-31-22-94.eu-west-2.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2a","vpcId":"vpc-b7ef57df","subnetId":"subnet-fb60b581","loggedInURL":"https://eu-west-2.console.aws.amazon.com/ec2/v2/home?region=eu-west-2#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-2#NIC:sort=description","private":null,"resourceId":"eni-0c5d5301d597388b2","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0c5d5301d597388b2","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":649.5,"y":349.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"NatGateway-subnet-fb60b581-eu-west-2a-vpc-b7ef57df-eu-west-2-060997615305","parent":"subnet-fb60b581-eu-west-2a-vpc-b7ef57df-eu-west-2-060997615305","level":5,"title":"NatGateway","label":"NatGateway","plainLabel":"NatGateway","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-VPC_NAT-Gateway_light-bg-menu.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-2:060997615305:natgateway/nat-06c56447fdfda0fa8","label":"AWS_EC2_NatGateway","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:natgateway/nat-06c56447fdfda0fa8","configuration":"\"{\\\"subnetId\\\":\\\"subnet-fb60b581\\\",\\\"connectivityType\\\":\\\"public\\\",\\\"createTime\\\":1623327534000,\\\"vpcId\\\":\\\"vpc-b7ef57df\\\",\\\"natGatewayId\\\":\\\"nat-06c56447fdfda0fa8\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"natGatewayAddresses\\\":[{\\\"networkInterfaceId\\\":\\\"eni-0c5d5301d597388b2\\\",\\\"isPrimary\\\":true,\\\"privateIp\\\":\\\"172.31.22.94\\\",\\\"allocationId\\\":\\\"eipalloc-097be847517133c3d\\\",\\\"publicIp\\\":\\\"18.134.82.37\\\",\\\"associationId\\\":\\\"eipassoc-0f8f559498cff713d\\\",\\\"status\\\":\\\"succeeded\\\",\\\"primary\\\":true}],\\\"tags\\\":[{\\\"value\\\":\\\"es-glue-test\\\",\\\"key\\\":\\\"Name\\\"}]}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":"vpc-b7ef57df","subnetId":"subnet-fb60b581","loggedInURL":null,"loginURL":null,"private":null,"resourceId":"nat-06c56447fdfda0fa8","resourceName":null,"resourceType":"AWS::EC2::NatGateway","resourceValue":null,"state":null,"tags":"[{\"tag\":\"Name=es-glue-test\",\"value\":\"es-glue-test\",\"key\":\"Name\"}]","title":"es-glue-test","instanceType":null,"statement":null,"dBInstanceStatus":null}}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":762.5,"y":349.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-2:060997615305:natgateway/nat-06c56447fdfda0fa8","resourceId":["nat-06c56447fdfda0fa8","arn:aws:ec2:eu-west-2:060997615305:natgateway/nat-06c56447fdfda0fa8"],"parent":"NatGateway-subnet-fb60b581-eu-west-2a-vpc-b7ef57df-eu-west-2-060997615305","level":6,"id":"arn:aws:ec2:eu-west-2:060997615305:natgateway/nat-06c56447fdfda0fa8","title":"es-glue-test","label":"es-glue-test","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-2:060997615305:natgateway/nat-06c56447fdfda0fa8","image":"/icons/Amazon-VPC_NAT-Gateway_light-bg-menu.svg","cost":0,"private":false,"resource":{"id":"nat-06c56447fdfda0fa8","name":null,"value":null,"type":"AWS::EC2::NatGateway","tags":"[{\"tag\":\"Name=es-glue-test\",\"value\":\"es-glue-test\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-2:060997615305:natgateway/nat-06c56447fdfda0fa8","region":"eu-west-2","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:natgateway/nat-06c56447fdfda0fa8","configuration":"\"{\\\"subnetId\\\":\\\"subnet-fb60b581\\\",\\\"connectivityType\\\":\\\"public\\\",\\\"createTime\\\":1623327534000,\\\"vpcId\\\":\\\"vpc-b7ef57df\\\",\\\"natGatewayId\\\":\\\"nat-06c56447fdfda0fa8\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"natGatewayAddresses\\\":[{\\\"networkInterfaceId\\\":\\\"eni-0c5d5301d597388b2\\\",\\\"isPrimary\\\":true,\\\"privateIp\\\":\\\"172.31.22.94\\\",\\\"allocationId\\\":\\\"eipalloc-097be847517133c3d\\\",\\\"publicIp\\\":\\\"18.134.82.37\\\",\\\"associationId\\\":\\\"eipassoc-0f8f559498cff713d\\\",\\\"status\\\":\\\"succeeded\\\",\\\"primary\\\":true}],\\\"tags\\\":[{\\\"value\\\":\\\"es-glue-test\\\",\\\"key\\\":\\\"Name\\\"}]}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":"vpc-b7ef57df","subnetId":"subnet-fb60b581","loggedInURL":null,"loginURL":null,"private":null,"resourceId":"nat-06c56447fdfda0fa8","resourceName":null,"resourceType":"AWS::EC2::NatGateway","resourceValue":null,"state":null,"tags":"[{\"tag\":\"Name=es-glue-test\",\"value\":\"es-glue-test\",\"key\":\"Name\"}]","title":"es-glue-test","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":762.5,"y":349.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"eu-west-2b-vpc-b7ef57df-eu-west-2-060997615305","parent":"vpc-b7ef57df-eu-west-2-060997615305","level":3,"title":"eu-west-2b","label":"eu-west-2b","plainLabel":"eu-west-2b","type":"availabilityZone","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/availabilityZone.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-13f1ea5e","label":"subnet-13f1ea5e","parent":null,"type":"subnet","data":{"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-13f1ea5e","configuration":"\"{\\\"subnetId\\\":\\\"subnet-13f1ea5e\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-13f1ea5e\\\",\\\"availabilityZoneId\\\":\\\"euw2-az3\\\",\\\"cidrBlock\\\":\\\"172.31.32.0/20\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"availabilityZone\\\":\\\"eu-west-2b\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[],\\\"availableIpAddressCount\\\":4091,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-b7ef57df\\\",\\\"mapPublicIpOnLaunch\\\":true,\\\"defaultForAz\\\":true,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2b","vpcId":"vpc-b7ef57df","subnetId":"subnet-13f1ea5e","loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#subnets:sort=SubnetId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#subnets:sort=SubnetId","private":"false","resourceId":"subnet-13f1ea5e","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[]","title":"subnet-13f1ea5e","instanceType":null,"statement":null,"dBInstanceStatus":null},"id":"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-13f1ea5e","label":"AWS_EC2_Subnet"},"properties":null,"children":[]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":1174.5,"y":525.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"availabilityZone removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-13f1ea5e","resourceId":["subnet-13f1ea5e","arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-13f1ea5e"],"parent":"eu-west-2b-vpc-b7ef57df-eu-west-2-060997615305","level":4,"id":"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-13f1ea5e","title":"subnet-13f1ea5e","label":"subnet-13f1e...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-13f1ea5e","image":"/icons/VPC-subnet-private_light-bg-menu.svg","cost":0,"private":true,"resource":{"id":"subnet-13f1ea5e","name":null,"value":null,"type":"AWS::EC2::Subnet","tags":"[]","arn":"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-13f1ea5e","region":"eu-west-2","state":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#subnets:sort=SubnetId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#subnets:sort=SubnetId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-13f1ea5e","configuration":"\"{\\\"subnetId\\\":\\\"subnet-13f1ea5e\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-13f1ea5e\\\",\\\"availabilityZoneId\\\":\\\"euw2-az3\\\",\\\"cidrBlock\\\":\\\"172.31.32.0/20\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"availabilityZone\\\":\\\"eu-west-2b\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[],\\\"availableIpAddressCount\\\":4091,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-b7ef57df\\\",\\\"mapPublicIpOnLaunch\\\":true,\\\"defaultForAz\\\":true,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-2","availabilityZone":"eu-west-2b","vpcId":"vpc-b7ef57df","subnetId":"subnet-13f1ea5e","loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#subnets:sort=SubnetId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#subnets:sort=SubnetId","private":"false","resourceId":"subnet-13f1ea5e","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[]","title":"subnet-13f1ea5e","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1174.5,"y":525.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"Multiple Availability Zones-vpc-b7ef57df-eu-west-2-060997615305","parent":"vpc-b7ef57df-eu-west-2-060997615305","level":3,"title":"Multiple Availability Zones","label":"Multiple Availability Zones","plainLabel":"Multiple Availability Zones","type":"availabilityZone","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/availabilityZone.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":null,"label":"NetworkAcl","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-2:060997615305:network-acl/acl-344dd55c","label":"AWS_EC2_NetworkAcl","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-acl/acl-344dd55c","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-fb60b581\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-50d01e3a\\\",\\\"networkAclId\\\":\\\"acl-344dd55c\\\"},{\\\"subnetId\\\":\\\"subnet-d4c74cbd\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-53d01e39\\\",\\\"networkAclId\\\":\\\"acl-344dd55c\\\"},{\\\"subnetId\\\":\\\"subnet-13f1ea5e\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-51d01e3b\\\",\\\"networkAclId\\\":\\\"acl-344dd55c\\\"}],\\\"entries\\\":[{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":false},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":false}],\\\"isDefault\\\":true,\\\"vpcId\\\":\\\"vpc-b7ef57df\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"networkAclId\\\":\\\"acl-344dd55c\\\",\\\"tags\\\":[]}\"","awsRegion":"eu-west-2","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-b7ef57df","subnetId":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#acls:sort=networkAclId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#acls:sort=networkAclId","private":null,"resourceId":"acl-344dd55c","resourceName":null,"resourceType":"AWS::EC2::NetworkAcl","resourceValue":null,"state":null,"tags":"[]","title":"acl-344dd55c","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]},{"id":null,"label":"InternetGateway","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-2:060997615305:internet-gateway/igw-51b98e38","label":"AWS_EC2_InternetGateway","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:internet-gateway/igw-51b98e38","configuration":"\"{\\\"attachments\\\":[{\\\"vpcId\\\":\\\"vpc-b7ef57df\\\",\\\"state\\\":\\\"available\\\"}],\\\"internetGatewayId\\\":\\\"igw-51b98e38\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"tags\\\":[]}\"","awsRegion":"eu-west-2","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-b7ef57df","subnetId":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#igws:sort=internetGatewayId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#igws:sort=internetGatewayId","private":null,"resourceId":"igw-51b98e38","resourceName":null,"resourceType":"AWS::EC2::InternetGateway","resourceValue":null,"state":null,"tags":"[]","title":"igw-51b98e38","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":992,"y":306.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"availabilityZone removeAll _gridParentPadding"},{"data":{"id":"NetworkAcl-Multiple Availability Zones-vpc-b7ef57df-eu-west-2-060997615305","parent":"Multiple Availability Zones-vpc-b7ef57df-eu-west-2-060997615305","level":4,"title":"NetworkAcl","label":"NetworkAcl","plainLabel":"NetworkAcl","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-VPC_Network-Access-Control-List_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-2:060997615305:network-acl/acl-344dd55c","label":"AWS_EC2_NetworkAcl","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-acl/acl-344dd55c","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-fb60b581\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-50d01e3a\\\",\\\"networkAclId\\\":\\\"acl-344dd55c\\\"},{\\\"subnetId\\\":\\\"subnet-d4c74cbd\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-53d01e39\\\",\\\"networkAclId\\\":\\\"acl-344dd55c\\\"},{\\\"subnetId\\\":\\\"subnet-13f1ea5e\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-51d01e3b\\\",\\\"networkAclId\\\":\\\"acl-344dd55c\\\"}],\\\"entries\\\":[{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":false},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":false}],\\\"isDefault\\\":true,\\\"vpcId\\\":\\\"vpc-b7ef57df\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"networkAclId\\\":\\\"acl-344dd55c\\\",\\\"tags\\\":[]}\"","awsRegion":"eu-west-2","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-b7ef57df","subnetId":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#acls:sort=networkAclId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#acls:sort=networkAclId","private":null,"resourceId":"acl-344dd55c","resourceName":null,"resourceType":"AWS::EC2::NetworkAcl","resourceValue":null,"state":null,"tags":"[]","title":"acl-344dd55c","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":935.5,"y":306.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-2:060997615305:network-acl/acl-344dd55c","resourceId":["acl-344dd55c","arn:aws:ec2:eu-west-2:060997615305:network-acl/acl-344dd55c"],"parent":"NetworkAcl-Multiple Availability Zones-vpc-b7ef57df-eu-west-2-060997615305","level":5,"id":"arn:aws:ec2:eu-west-2:060997615305:network-acl/acl-344dd55c","title":"acl-344dd55c","label":"acl-344dd55c","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-2:060997615305:network-acl/acl-344dd55c","image":"/icons/Amazon-VPC_Network-Access-Control-List_light-bg.svg","cost":0,"private":false,"resource":{"id":"acl-344dd55c","name":null,"value":null,"type":"AWS::EC2::NetworkAcl","tags":"[]","arn":"arn:aws:ec2:eu-west-2:060997615305:network-acl/acl-344dd55c","region":"eu-west-2","state":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#acls:sort=networkAclId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#acls:sort=networkAclId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:network-acl/acl-344dd55c","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-fb60b581\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-50d01e3a\\\",\\\"networkAclId\\\":\\\"acl-344dd55c\\\"},{\\\"subnetId\\\":\\\"subnet-d4c74cbd\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-53d01e39\\\",\\\"networkAclId\\\":\\\"acl-344dd55c\\\"},{\\\"subnetId\\\":\\\"subnet-13f1ea5e\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-51d01e3b\\\",\\\"networkAclId\\\":\\\"acl-344dd55c\\\"}],\\\"entries\\\":[{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":false},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":false}],\\\"isDefault\\\":true,\\\"vpcId\\\":\\\"vpc-b7ef57df\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"networkAclId\\\":\\\"acl-344dd55c\\\",\\\"tags\\\":[]}\"","awsRegion":"eu-west-2","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-b7ef57df","subnetId":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#acls:sort=networkAclId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#acls:sort=networkAclId","private":null,"resourceId":"acl-344dd55c","resourceName":null,"resourceType":"AWS::EC2::NetworkAcl","resourceValue":null,"state":null,"tags":"[]","title":"acl-344dd55c","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":935.5,"y":306.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"InternetGateway-Multiple Availability Zones-vpc-b7ef57df-eu-west-2-060997615305","parent":"Multiple Availability Zones-vpc-b7ef57df-eu-west-2-060997615305","level":4,"title":"InternetGateway","label":"InternetGateway","plainLabel":"InternetGateway","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-VPC_Internet-Gateway_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-2:060997615305:internet-gateway/igw-51b98e38","label":"AWS_EC2_InternetGateway","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:internet-gateway/igw-51b98e38","configuration":"\"{\\\"attachments\\\":[{\\\"vpcId\\\":\\\"vpc-b7ef57df\\\",\\\"state\\\":\\\"available\\\"}],\\\"internetGatewayId\\\":\\\"igw-51b98e38\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"tags\\\":[]}\"","awsRegion":"eu-west-2","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-b7ef57df","subnetId":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#igws:sort=internetGatewayId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#igws:sort=internetGatewayId","private":null,"resourceId":"igw-51b98e38","resourceName":null,"resourceType":"AWS::EC2::InternetGateway","resourceValue":null,"state":null,"tags":"[]","title":"igw-51b98e38","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":1048.5,"y":306.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-2:060997615305:internet-gateway/igw-51b98e38","resourceId":["igw-51b98e38","arn:aws:ec2:eu-west-2:060997615305:internet-gateway/igw-51b98e38"],"parent":"InternetGateway-Multiple Availability Zones-vpc-b7ef57df-eu-west-2-060997615305","level":5,"id":"arn:aws:ec2:eu-west-2:060997615305:internet-gateway/igw-51b98e38","title":"igw-51b98e38","label":"igw-51b98e38","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-2:060997615305:internet-gateway/igw-51b98e38","image":"/icons/Amazon-VPC_Internet-Gateway_light-bg.svg","cost":0,"private":false,"resource":{"id":"igw-51b98e38","name":null,"value":null,"type":"AWS::EC2::InternetGateway","tags":"[]","arn":"arn:aws:ec2:eu-west-2:060997615305:internet-gateway/igw-51b98e38","region":"eu-west-2","state":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#igws:sort=internetGatewayId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#igws:sort=internetGatewayId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-2:060997615305:internet-gateway/igw-51b98e38","configuration":"\"{\\\"attachments\\\":[{\\\"vpcId\\\":\\\"vpc-b7ef57df\\\",\\\"state\\\":\\\"available\\\"}],\\\"internetGatewayId\\\":\\\"igw-51b98e38\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"tags\\\":[]}\"","awsRegion":"eu-west-2","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-b7ef57df","subnetId":null,"loggedInURL":"https://eu-west-2.console.aws.amazon.com/vpc/v2/home?region=eu-west-2#igws:sort=internetGatewayId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-2#igws:sort=internetGatewayId","private":null,"resourceId":"igw-51b98e38","resourceName":null,"resourceType":"AWS::EC2::InternetGateway","resourceValue":null,"state":null,"tags":"[]","title":"igw-51b98e38","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":1048.5,"y":306.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8","resourceId":["vpc-0d80b20485af3a1d8","arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8"],"parent":"VPC-Multiple Availability Zones-eu-west-1-060997615305","level":4,"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8","title":"S3F2POC-VpcStack-1UF8O2EU11VA2 VPC","label":"S3F2POC-VpcS...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8","image":"/icons/VPC-menu.svg","cost":0,"private":false,"resource":{"id":"vpc-0d80b20485af3a1d8","name":null,"value":null,"type":"AWS::EC2::VPC","tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2POC-VpcStack-1UF8O2EU11VA2\",\"value\":\"S3F2POC-VpcStack-1UF8O2EU11VA2\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=VPC\",\"value\":\"VPC\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=S3F2POC-VpcStack-1UF8O2EU11VA2 VPC\",\"value\":\"S3F2POC-VpcStack-1UF8O2EU11VA2 VPC\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#vpcs:sort=VpcId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#vpcs:sort=VpcId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8","configuration":"\"{\\\"instanceTenancy\\\":\\\"default\\\",\\\"isDefault\\\":false,\\\"dhcpOptionsId\\\":\\\"dopt-43b00b25\\\",\\\"cidrBlock\\\":\\\"10.0.0.0/16\\\",\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"cidrBlockAssociationSet\\\":[{\\\"cidrBlock\\\":\\\"10.0.0.0/16\\\",\\\"cidrBlockState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"associationId\\\":\\\"vpc-cidr-assoc-071086674a1ce7ad8\\\"}],\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipv6CidrBlockAssociationSet\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"VPC\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2 VPC\\\",\\\"key\\\":\\\"Name\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":null,"subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#vpcs:sort=VpcId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#vpcs:sort=VpcId","private":null,"resourceId":"vpc-0d80b20485af3a1d8","resourceName":null,"resourceType":"AWS::EC2::VPC","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2POC-VpcStack-1UF8O2EU11VA2\",\"value\":\"S3F2POC-VpcStack-1UF8O2EU11VA2\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=VPC\",\"value\":\"VPC\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=S3F2POC-VpcStack-1UF8O2EU11VA2 VPC\",\"value\":\"S3F2POC-VpcStack-1UF8O2EU11VA2 VPC\",\"key\":\"Name\"}]","title":"S3F2POC-VpcStack-1UF8O2EU11VA2 VPC","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-713.5,"y":1260.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"id":"SecurityGroup-vpc-0d80b20485af3a1d8-eu-west-1-060997615305","parent":"vpc-0d80b20485af3a1d8-eu-west-1-060997615305","level":3,"title":"SecurityGroup","label":"SecurityGroup","plainLabel":"SecurityGroup","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/AWSSecurityGroup.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0a31f8c5dc65269ef","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0a31f8c5dc65269ef","configuration":"\"{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-0a31f8c5dc65269ef\\\",\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"default VPC security group\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[{\\\"groupId\\\":\\\"sg-0a31f8c5dc65269ef\\\",\\\"userId\\\":\\\"060997615305\\\"}],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-0d80b20485af3a1d8","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0a31f8c5dc65269ef","resourceName":"default","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"default","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0caf4503bc4536a40","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0caf4503bc4536a40","configuration":"\"{\\\"groupName\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2-SecurityGroup-1GU5Q5SV8BCHW\\\",\\\"groupId\\\":\\\"sg-0caf4503bc4536a40\\\",\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":443,\\\"toPort\\\":443,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"description\\\":\\\"Egress Rule for VPC Endpoints\\\",\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"10.0.0.0/16\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":443,\\\"toPort\\\":443,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"description\\\":\\\"Ingress Rule\\\",\\\"cidrIp\\\":\\\"10.0.0.0/16\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[{\\\"value\\\":\\\"SecurityGroup\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-0d80b20485af3a1d8","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0caf4503bc4536a40","resourceName":"S3F2POC-VpcStack-1UF8O2EU11VA2-SecurityGroup-1GU5Q5SV8BCHW","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2POC-VpcStack-1UF8O2EU11VA2\",\"value\":\"S3F2POC-VpcStack-1UF8O2EU11VA2\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=SecurityGroup\",\"value\":\"SecurityGroup\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"S3F2POC-VpcStack-1UF8O2EU11VA2-SecurityGroup-1GU5Q5SV8BCHW","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-557,"y":921.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0a31f8c5dc65269ef","resourceId":["sg-0a31f8c5dc65269ef","arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0a31f8c5dc65269ef"],"parent":"SecurityGroup-vpc-0d80b20485af3a1d8-eu-west-1-060997615305","level":4,"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0a31f8c5dc65269ef","title":"default","label":"default","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0a31f8c5dc65269ef","image":"/icons/AWSSecurityGroup.svg","cost":0,"private":false,"resource":{"id":"sg-0a31f8c5dc65269ef","name":"default","value":null,"type":"AWS::EC2::SecurityGroup","tags":"[]","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0a31f8c5dc65269ef","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0a31f8c5dc65269ef","configuration":"\"{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-0a31f8c5dc65269ef\\\",\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"default VPC security group\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[{\\\"groupId\\\":\\\"sg-0a31f8c5dc65269ef\\\",\\\"userId\\\":\\\"060997615305\\\"}],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-0d80b20485af3a1d8","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0a31f8c5dc65269ef","resourceName":"default","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"default","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-593.5,"y":921.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0caf4503bc4536a40","resourceId":["sg-0caf4503bc4536a40","arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0caf4503bc4536a40"],"parent":"SecurityGroup-vpc-0d80b20485af3a1d8-eu-west-1-060997615305","level":4,"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0caf4503bc4536a40","title":"S3F2POC-VpcStack-1UF8O2EU11VA2-SecurityGroup-1GU5Q5SV8BCHW","label":"S3F2POC-VpcS...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0caf4503bc4536a40","image":"/icons/AWSSecurityGroup.svg","cost":0,"private":false,"resource":{"id":"sg-0caf4503bc4536a40","name":"S3F2POC-VpcStack-1UF8O2EU11VA2-SecurityGroup-1GU5Q5SV8BCHW","value":null,"type":"AWS::EC2::SecurityGroup","tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2POC-VpcStack-1UF8O2EU11VA2\",\"value\":\"S3F2POC-VpcStack-1UF8O2EU11VA2\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=SecurityGroup\",\"value\":\"SecurityGroup\",\"key\":\"aws:cloudformation:logical-id\"}]","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0caf4503bc4536a40","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0caf4503bc4536a40","configuration":"\"{\\\"groupName\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2-SecurityGroup-1GU5Q5SV8BCHW\\\",\\\"groupId\\\":\\\"sg-0caf4503bc4536a40\\\",\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":443,\\\"toPort\\\":443,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"description\\\":\\\"Egress Rule for VPC Endpoints\\\",\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"10.0.0.0/16\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":443,\\\"toPort\\\":443,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"description\\\":\\\"Ingress Rule\\\",\\\"cidrIp\\\":\\\"10.0.0.0/16\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[{\\\"value\\\":\\\"SecurityGroup\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-0d80b20485af3a1d8","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0caf4503bc4536a40","resourceName":"S3F2POC-VpcStack-1UF8O2EU11VA2-SecurityGroup-1GU5Q5SV8BCHW","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2POC-VpcStack-1UF8O2EU11VA2\",\"value\":\"S3F2POC-VpcStack-1UF8O2EU11VA2\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=SecurityGroup\",\"value\":\"SecurityGroup\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"S3F2POC-VpcStack-1UF8O2EU11VA2-SecurityGroup-1GU5Q5SV8BCHW","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-520.5,"y":921.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"RouteTable-vpc-0d80b20485af3a1d8-eu-west-1-060997615305","parent":"vpc-0d80b20485af3a1d8-eu-west-1-060997615305","level":3,"title":"RouteTable","label":"RouteTable","plainLabel":"RouteTable","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-VPC_Router_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-0d06db37ab41b8a29","label":"AWS_EC2_RouteTable","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-0d06db37ab41b8a29","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-0b5f8a2321f4781d9\\\",\\\"routeTableId\\\":\\\"rtb-0d06db37ab41b8a29\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-0e197266b0ec1739d\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":false}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"10.0.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"},{\\\"destinationPrefixListId\\\":\\\"pl-6da54004\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"vpce-06d21ada7d9e243a6\\\"},{\\\"destinationPrefixListId\\\":\\\"pl-6fa54006\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"vpce-0807301340eca7e80\\\"}],\\\"routeTableId\\\":\\\"rtb-0d06db37ab41b8a29\\\",\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"PrivateRouteTable3\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-0d80b20485af3a1d8","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-0d06db37ab41b8a29","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2POC-VpcStack-1UF8O2EU11VA2\",\"value\":\"S3F2POC-VpcStack-1UF8O2EU11VA2\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateRouteTable3\",\"value\":\"PrivateRouteTable3\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"rtb-0d06db37ab41b8a29","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-0ec00df54d676d3e5","label":"AWS_EC2_RouteTable","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-0ec00df54d676d3e5","configuration":"\"{\\\"associations\\\":[{\\\"routeTableId\\\":\\\"rtb-0ec00df54d676d3e5\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-06dafbcf7a0569662\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":true}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"10.0.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"}],\\\"routeTableId\\\":\\\"rtb-0ec00df54d676d3e5\\\",\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-0d80b20485af3a1d8","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-0ec00df54d676d3e5","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[]","title":"rtb-0ec00df54d676d3e5","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-01f47e0e7541847d7","label":"AWS_EC2_RouteTable","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-01f47e0e7541847d7","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-094e8bf3e6b674e9c\\\",\\\"routeTableId\\\":\\\"rtb-01f47e0e7541847d7\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-04d0ace265fbddfaa\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":false}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"10.0.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"},{\\\"destinationPrefixListId\\\":\\\"pl-6da54004\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"vpce-06d21ada7d9e243a6\\\"},{\\\"destinationPrefixListId\\\":\\\"pl-6fa54006\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"vpce-0807301340eca7e80\\\"}],\\\"routeTableId\\\":\\\"rtb-01f47e0e7541847d7\\\",\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"PrivateRouteTable1\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-0d80b20485af3a1d8","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-01f47e0e7541847d7","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2POC-VpcStack-1UF8O2EU11VA2\",\"value\":\"S3F2POC-VpcStack-1UF8O2EU11VA2\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateRouteTable1\",\"value\":\"PrivateRouteTable1\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"rtb-01f47e0e7541847d7","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-04e9b8e7721b019c1","label":"AWS_EC2_RouteTable","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-04e9b8e7721b019c1","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-055bc3199a2ef29c6\\\",\\\"routeTableId\\\":\\\"rtb-04e9b8e7721b019c1\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-0dc3f5f42579b028d\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":false}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"10.0.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"},{\\\"destinationPrefixListId\\\":\\\"pl-6da54004\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"vpce-06d21ada7d9e243a6\\\"},{\\\"destinationPrefixListId\\\":\\\"pl-6fa54006\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"vpce-0807301340eca7e80\\\"}],\\\"routeTableId\\\":\\\"rtb-04e9b8e7721b019c1\\\",\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"PrivateRouteTable2\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-0d80b20485af3a1d8","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-04e9b8e7721b019c1","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2POC-VpcStack-1UF8O2EU11VA2\",\"value\":\"S3F2POC-VpcStack-1UF8O2EU11VA2\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateRouteTable2\",\"value\":\"PrivateRouteTable2\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"rtb-04e9b8e7721b019c1","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-896,"y":958.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-0d06db37ab41b8a29","resourceId":["rtb-0d06db37ab41b8a29","arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-0d06db37ab41b8a29"],"parent":"RouteTable-vpc-0d80b20485af3a1d8-eu-west-1-060997615305","level":4,"id":"arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-0d06db37ab41b8a29","title":"rtb-0d06db37ab41b8a29","label":"rtb-0d06db37...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-0d06db37ab41b8a29","image":"/icons/Amazon-VPC_Router_light-bg.svg","cost":0,"private":false,"resource":{"id":"rtb-0d06db37ab41b8a29","name":null,"value":null,"type":"AWS::EC2::RouteTable","tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2POC-VpcStack-1UF8O2EU11VA2\",\"value\":\"S3F2POC-VpcStack-1UF8O2EU11VA2\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateRouteTable3\",\"value\":\"PrivateRouteTable3\",\"key\":\"aws:cloudformation:logical-id\"}]","arn":"arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-0d06db37ab41b8a29","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-0d06db37ab41b8a29","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-0b5f8a2321f4781d9\\\",\\\"routeTableId\\\":\\\"rtb-0d06db37ab41b8a29\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-0e197266b0ec1739d\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":false}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"10.0.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"},{\\\"destinationPrefixListId\\\":\\\"pl-6da54004\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"vpce-06d21ada7d9e243a6\\\"},{\\\"destinationPrefixListId\\\":\\\"pl-6fa54006\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"vpce-0807301340eca7e80\\\"}],\\\"routeTableId\\\":\\\"rtb-0d06db37ab41b8a29\\\",\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"PrivateRouteTable3\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-0d80b20485af3a1d8","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-0d06db37ab41b8a29","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2POC-VpcStack-1UF8O2EU11VA2\",\"value\":\"S3F2POC-VpcStack-1UF8O2EU11VA2\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateRouteTable3\",\"value\":\"PrivateRouteTable3\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"rtb-0d06db37ab41b8a29","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-932.5,"y":921.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-0ec00df54d676d3e5","resourceId":["rtb-0ec00df54d676d3e5","arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-0ec00df54d676d3e5"],"parent":"RouteTable-vpc-0d80b20485af3a1d8-eu-west-1-060997615305","level":4,"id":"arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-0ec00df54d676d3e5","title":"rtb-0ec00df54d676d3e5","label":"rtb-0ec00df5...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-0ec00df54d676d3e5","image":"/icons/Amazon-VPC_Router_light-bg.svg","cost":0,"private":false,"resource":{"id":"rtb-0ec00df54d676d3e5","name":null,"value":null,"type":"AWS::EC2::RouteTable","tags":"[]","arn":"arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-0ec00df54d676d3e5","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-0ec00df54d676d3e5","configuration":"\"{\\\"associations\\\":[{\\\"routeTableId\\\":\\\"rtb-0ec00df54d676d3e5\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-06dafbcf7a0569662\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":true}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"10.0.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"}],\\\"routeTableId\\\":\\\"rtb-0ec00df54d676d3e5\\\",\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-0d80b20485af3a1d8","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-0ec00df54d676d3e5","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[]","title":"rtb-0ec00df54d676d3e5","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-859.5,"y":921.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-01f47e0e7541847d7","resourceId":["rtb-01f47e0e7541847d7","arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-01f47e0e7541847d7"],"parent":"RouteTable-vpc-0d80b20485af3a1d8-eu-west-1-060997615305","level":4,"id":"arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-01f47e0e7541847d7","title":"rtb-01f47e0e7541847d7","label":"rtb-01f47e0e...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-01f47e0e7541847d7","image":"/icons/Amazon-VPC_Router_light-bg.svg","cost":0,"private":false,"resource":{"id":"rtb-01f47e0e7541847d7","name":null,"value":null,"type":"AWS::EC2::RouteTable","tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2POC-VpcStack-1UF8O2EU11VA2\",\"value\":\"S3F2POC-VpcStack-1UF8O2EU11VA2\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateRouteTable1\",\"value\":\"PrivateRouteTable1\",\"key\":\"aws:cloudformation:logical-id\"}]","arn":"arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-01f47e0e7541847d7","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-01f47e0e7541847d7","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-094e8bf3e6b674e9c\\\",\\\"routeTableId\\\":\\\"rtb-01f47e0e7541847d7\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-04d0ace265fbddfaa\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":false}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"10.0.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"},{\\\"destinationPrefixListId\\\":\\\"pl-6da54004\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"vpce-06d21ada7d9e243a6\\\"},{\\\"destinationPrefixListId\\\":\\\"pl-6fa54006\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"vpce-0807301340eca7e80\\\"}],\\\"routeTableId\\\":\\\"rtb-01f47e0e7541847d7\\\",\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"PrivateRouteTable1\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-0d80b20485af3a1d8","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-01f47e0e7541847d7","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2POC-VpcStack-1UF8O2EU11VA2\",\"value\":\"S3F2POC-VpcStack-1UF8O2EU11VA2\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateRouteTable1\",\"value\":\"PrivateRouteTable1\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"rtb-01f47e0e7541847d7","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-932.5,"y":994.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-04e9b8e7721b019c1","resourceId":["rtb-04e9b8e7721b019c1","arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-04e9b8e7721b019c1"],"parent":"RouteTable-vpc-0d80b20485af3a1d8-eu-west-1-060997615305","level":4,"id":"arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-04e9b8e7721b019c1","title":"rtb-04e9b8e7721b019c1","label":"rtb-04e9b8e7...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-04e9b8e7721b019c1","image":"/icons/Amazon-VPC_Router_light-bg.svg","cost":0,"private":false,"resource":{"id":"rtb-04e9b8e7721b019c1","name":null,"value":null,"type":"AWS::EC2::RouteTable","tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2POC-VpcStack-1UF8O2EU11VA2\",\"value\":\"S3F2POC-VpcStack-1UF8O2EU11VA2\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateRouteTable2\",\"value\":\"PrivateRouteTable2\",\"key\":\"aws:cloudformation:logical-id\"}]","arn":"arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-04e9b8e7721b019c1","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-04e9b8e7721b019c1","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-055bc3199a2ef29c6\\\",\\\"routeTableId\\\":\\\"rtb-04e9b8e7721b019c1\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-0dc3f5f42579b028d\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":false}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"10.0.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"},{\\\"destinationPrefixListId\\\":\\\"pl-6da54004\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"vpce-06d21ada7d9e243a6\\\"},{\\\"destinationPrefixListId\\\":\\\"pl-6fa54006\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"vpce-0807301340eca7e80\\\"}],\\\"routeTableId\\\":\\\"rtb-04e9b8e7721b019c1\\\",\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"PrivateRouteTable2\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-0d80b20485af3a1d8","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-04e9b8e7721b019c1","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2POC-VpcStack-1UF8O2EU11VA2\",\"value\":\"S3F2POC-VpcStack-1UF8O2EU11VA2\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateRouteTable2\",\"value\":\"PrivateRouteTable2\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"rtb-04e9b8e7721b019c1","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-859.5,"y":994.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"Stack-vpc-0d80b20485af3a1d8-eu-west-1-060997615305","parent":"vpc-0d80b20485af3a1d8-eu-west-1-060997615305","level":3,"title":"Stack","label":"Stack","plainLabel":"Stack","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/AWS-CloudFormation.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5","label":"AWS_CloudFormation_Stack","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5","configuration":"\"{\\\"outputs\\\":[{\\\"outputKey\\\":\\\"Subnets\\\",\\\"outputValue\\\":\\\"subnet-094e8bf3e6b674e9c,subnet-055bc3199a2ef29c6,subnet-0b5f8a2321f4781d9\\\"},{\\\"outputKey\\\":\\\"SecurityGroup\\\",\\\"outputValue\\\":\\\"sg-0caf4503bc4536a40\\\"}],\\\"capabilities\\\":[\\\"CAPABILITY_AUTO_EXPAND\\\",\\\"CAPABILITY_NAMED_IAM\\\",\\\"CAPABILITY_IAM\\\"],\\\"creationTime\\\":\\\"2021-01-21T13:19:05Z\\\",\\\"notificationARNs\\\":[],\\\"stackId\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\\\",\\\"stackName\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2\\\",\\\"description\\\":\\\"Amazon S3 Find and Forget VPC (uksb-1qjminsd5)\\\",\\\"stackStatus\\\":\\\"CREATE_COMPLETE\\\",\\\"disableRollback\\\":true,\\\"parentId\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC/354700e0-5beb-11eb-9702-0214faeb7eeb\\\",\\\"tags\\\":[],\\\"driftInformation\\\":{\\\"stackDriftStatus\\\":\\\"NOT_CHECKED\\\"},\\\"enableTerminationProtection\\\":false,\\\"parameters\\\":[{\\\"parameterKey\\\":\\\"FlowLogsRoleArn\\\",\\\"parameterValue\\\":\\\"\\\"},{\\\"parameterKey\\\":\\\"FlowLogsGroup\\\",\\\"parameterValue\\\":\\\"\\\"},{\\\"parameterKey\\\":\\\"PrivateSubnetIpBlocks\\\",\\\"parameterValue\\\":\\\"10.0.0.0/22,10.0.4.0/22,10.0.8.0/22\\\"},{\\\"parameterKey\\\":\\\"VpcIpBlock\\\",\\\"parameterValue\\\":\\\"10.0.0.0/16\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Regional","vpcId":"vpc-0d80b20485af3a1d8","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5","resourceName":"S3F2POC-VpcStack-1UF8O2EU11VA2","resourceType":"AWS::CloudFormation::Stack","resourceValue":null,"state":null,"tags":"[]","title":"S3F2POC-VpcStack-1UF8O2EU11VA2","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-487.5,"y":592.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5","resourceId":["arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5","arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5"],"parent":"Stack-vpc-0d80b20485af3a1d8-eu-west-1-060997615305","level":4,"id":"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5","title":"S3F2POC-VpcStack-1UF8O2EU11VA2","label":"S3F2POC-VpcS...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5","image":"/icons/AWS-CloudFormation.svg","cost":0,"private":false,"resource":{"id":"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5","name":"S3F2POC-VpcStack-1UF8O2EU11VA2","value":null,"type":"AWS::CloudFormation::Stack","tags":"[]","arn":"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5","configuration":"\"{\\\"outputs\\\":[{\\\"outputKey\\\":\\\"Subnets\\\",\\\"outputValue\\\":\\\"subnet-094e8bf3e6b674e9c,subnet-055bc3199a2ef29c6,subnet-0b5f8a2321f4781d9\\\"},{\\\"outputKey\\\":\\\"SecurityGroup\\\",\\\"outputValue\\\":\\\"sg-0caf4503bc4536a40\\\"}],\\\"capabilities\\\":[\\\"CAPABILITY_AUTO_EXPAND\\\",\\\"CAPABILITY_NAMED_IAM\\\",\\\"CAPABILITY_IAM\\\"],\\\"creationTime\\\":\\\"2021-01-21T13:19:05Z\\\",\\\"notificationARNs\\\":[],\\\"stackId\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\\\",\\\"stackName\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2\\\",\\\"description\\\":\\\"Amazon S3 Find and Forget VPC (uksb-1qjminsd5)\\\",\\\"stackStatus\\\":\\\"CREATE_COMPLETE\\\",\\\"disableRollback\\\":true,\\\"parentId\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC/354700e0-5beb-11eb-9702-0214faeb7eeb\\\",\\\"tags\\\":[],\\\"driftInformation\\\":{\\\"stackDriftStatus\\\":\\\"NOT_CHECKED\\\"},\\\"enableTerminationProtection\\\":false,\\\"parameters\\\":[{\\\"parameterKey\\\":\\\"FlowLogsRoleArn\\\",\\\"parameterValue\\\":\\\"\\\"},{\\\"parameterKey\\\":\\\"FlowLogsGroup\\\",\\\"parameterValue\\\":\\\"\\\"},{\\\"parameterKey\\\":\\\"PrivateSubnetIpBlocks\\\",\\\"parameterValue\\\":\\\"10.0.0.0/22,10.0.4.0/22,10.0.8.0/22\\\"},{\\\"parameterKey\\\":\\\"VpcIpBlock\\\",\\\"parameterValue\\\":\\\"10.0.0.0/16\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Regional","vpcId":"vpc-0d80b20485af3a1d8","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5","resourceName":"S3F2POC-VpcStack-1UF8O2EU11VA2","resourceType":"AWS::CloudFormation::Stack","resourceValue":null,"state":null,"tags":"[]","title":"S3F2POC-VpcStack-1UF8O2EU11VA2","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-487.5,"y":592.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"VPCEndpoint-vpc-0d80b20485af3a1d8-eu-west-1-060997615305","parent":"vpc-0d80b20485af3a1d8-eu-west-1-060997615305","level":3,"title":"VPCEndpoint","label":"VPCEndpoint","plainLabel":"VPCEndpoint","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-EC2_VPC_Endpoints_light-bg-menu.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-0d35fc6b67ac011aa","label":"AWS_EC2_VPCEndpoint","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-0d35fc6b67ac011aa","configuration":"\"{\\\"policyDocument\\\":\\\"{\\\\n \\\\\\\"Statement\\\\\\\": [\\\\n {\\\\n \\\\\\\"Action\\\\\\\": \\\\\\\"*\\\\\\\", \\\\n \\\\\\\"Effect\\\\\\\": \\\\\\\"Allow\\\\\\\", \\\\n \\\\\\\"Principal\\\\\\\": \\\\\\\"*\\\\\\\", \\\\n \\\\\\\"Resource\\\\\\\": \\\\\\\"*\\\\\\\"\\\\n }\\\\n ]\\\\n}\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2-SecurityGroup-1GU5Q5SV8BCHW\\\",\\\"groupId\\\":\\\"sg-0caf4503bc4536a40\\\"}],\\\"dnsOptions\\\":{\\\"dnsRecordIpType\\\":\\\"ipv4\\\"},\\\"serviceName\\\":\\\"com.amazonaws.eu-west-1.sts\\\",\\\"privateDnsEnabled\\\":true,\\\"ownerId\\\":\\\"060997615305\\\",\\\"requesterManaged\\\":false,\\\"vpcEndpointId\\\":\\\"vpce-0d35fc6b67ac011aa\\\",\\\"ipAddressType\\\":\\\"ipv4\\\",\\\"tags\\\":[],\\\"routeTableIds\\\":[],\\\"vpcEndpointType\\\":\\\"Interface\\\",\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"creationTimestamp\\\":\\\"2021-01-21T13:19:48.875Z\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"dnsEntries\\\":[{\\\"hostedZoneId\\\":\\\"Z38GZ743OKFT7T\\\",\\\"dnsName\\\":\\\"vpce-0d35fc6b67ac011aa-vt5rx7ut.sts.eu-west-1.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z38GZ743OKFT7T\\\",\\\"dnsName\\\":\\\"vpce-0d35fc6b67ac011aa-vt5rx7ut-eu-west-1c.sts.eu-west-1.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z38GZ743OKFT7T\\\",\\\"dnsName\\\":\\\"vpce-0d35fc6b67ac011aa-vt5rx7ut-eu-west-1a.sts.eu-west-1.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z38GZ743OKFT7T\\\",\\\"dnsName\\\":\\\"vpce-0d35fc6b67ac011aa-vt5rx7ut-eu-west-1b.sts.eu-west-1.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z0691053BPKAVXSZLVYK\\\",\\\"dnsName\\\":\\\"sts.eu-west-1.amazonaws.com\\\"}],\\\"networkInterfaceIds\\\":[\\\"eni-00ceb39a6487a023e\\\",\\\"eni-0af0f117c662bd60c\\\",\\\"eni-0433511d109eb9846\\\"],\\\"subnetIds\\\":[\\\"subnet-0b5f8a2321f4781d9\\\",\\\"subnet-094e8bf3e6b674e9c\\\",\\\"subnet-055bc3199a2ef29c6\\\"]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-0d80b20485af3a1d8","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"vpce-0d35fc6b67ac011aa","resourceName":null,"resourceType":"AWS::EC2::VPCEndpoint","resourceValue":null,"state":null,"tags":"[]","title":"vpce-0d35fc6b67ac011aa","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-06d21ada7d9e243a6","label":"AWS_EC2_VPCEndpoint","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-06d21ada7d9e243a6","configuration":"\"{\\\"policyDocument\\\":\\\"{\\\\\\\"Version\\\\\\\":\\\\\\\"2008-10-17\\\\\\\",\\\\\\\"Statement\\\\\\\":[{\\\\\\\"Effect\\\\\\\":\\\\\\\"Allow\\\\\\\",\\\\\\\"Principal\\\\\\\":\\\\\\\"*\\\\\\\",\\\\\\\"Action\\\\\\\":\\\\\\\"*\\\\\\\",\\\\\\\"Resource\\\\\\\":\\\\\\\"*\\\\\\\"}]}\\\",\\\"groups\\\":[],\\\"serviceName\\\":\\\"com.amazonaws.eu-west-1.s3\\\",\\\"privateDnsEnabled\\\":false,\\\"ownerId\\\":\\\"060997615305\\\",\\\"requesterManaged\\\":false,\\\"vpcEndpointId\\\":\\\"vpce-06d21ada7d9e243a6\\\",\\\"tags\\\":[],\\\"routeTableIds\\\":[\\\"rtb-0d06db37ab41b8a29\\\",\\\"rtb-04e9b8e7721b019c1\\\",\\\"rtb-01f47e0e7541847d7\\\"],\\\"vpcEndpointType\\\":\\\"Gateway\\\",\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"creationTimestamp\\\":\\\"2021-01-21T13:19:32Z\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"dnsEntries\\\":[],\\\"networkInterfaceIds\\\":[],\\\"subnetIds\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-0d80b20485af3a1d8","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"vpce-06d21ada7d9e243a6","resourceName":null,"resourceType":"AWS::EC2::VPCEndpoint","resourceValue":null,"state":null,"tags":"[]","title":"vpce-06d21ada7d9e243a6","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-031030c53838c8e3f","label":"AWS_EC2_VPCEndpoint","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-031030c53838c8e3f","configuration":"\"{\\\"policyDocument\\\":\\\"{\\\\n \\\\\\\"Statement\\\\\\\": [\\\\n {\\\\n \\\\\\\"Action\\\\\\\": \\\\\\\"*\\\\\\\", \\\\n \\\\\\\"Effect\\\\\\\": \\\\\\\"Allow\\\\\\\", \\\\n \\\\\\\"Principal\\\\\\\": \\\\\\\"*\\\\\\\", \\\\n \\\\\\\"Resource\\\\\\\": \\\\\\\"*\\\\\\\"\\\\n }\\\\n ]\\\\n}\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2-SecurityGroup-1GU5Q5SV8BCHW\\\",\\\"groupId\\\":\\\"sg-0caf4503bc4536a40\\\"}],\\\"dnsOptions\\\":{\\\"dnsRecordIpType\\\":\\\"ipv4\\\"},\\\"serviceName\\\":\\\"com.amazonaws.eu-west-1.ecr.dkr\\\",\\\"privateDnsEnabled\\\":true,\\\"ownerId\\\":\\\"060997615305\\\",\\\"requesterManaged\\\":false,\\\"vpcEndpointId\\\":\\\"vpce-031030c53838c8e3f\\\",\\\"ipAddressType\\\":\\\"ipv4\\\",\\\"tags\\\":[],\\\"routeTableIds\\\":[],\\\"vpcEndpointType\\\":\\\"Interface\\\",\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"creationTimestamp\\\":\\\"2021-01-21T13:19:48.857Z\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"dnsEntries\\\":[{\\\"hostedZoneId\\\":\\\"Z38GZ743OKFT7T\\\",\\\"dnsName\\\":\\\"vpce-031030c53838c8e3f-f0tjlb4e.dkr.ecr.eu-west-1.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z38GZ743OKFT7T\\\",\\\"dnsName\\\":\\\"vpce-031030c53838c8e3f-f0tjlb4e-eu-west-1a.dkr.ecr.eu-west-1.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z38GZ743OKFT7T\\\",\\\"dnsName\\\":\\\"vpce-031030c53838c8e3f-f0tjlb4e-eu-west-1b.dkr.ecr.eu-west-1.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z38GZ743OKFT7T\\\",\\\"dnsName\\\":\\\"vpce-031030c53838c8e3f-f0tjlb4e-eu-west-1c.dkr.ecr.eu-west-1.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z04806143VBWAP8KOKTBJ\\\",\\\"dnsName\\\":\\\"dkr.ecr.eu-west-1.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z04806143VBWAP8KOKTBJ\\\",\\\"dnsName\\\":\\\"*.dkr.ecr.eu-west-1.amazonaws.com\\\"}],\\\"networkInterfaceIds\\\":[\\\"eni-07b4bf4a58ab2f762\\\",\\\"eni-0c1073d056a4003b3\\\",\\\"eni-0a3eb6ec3be4594c4\\\"],\\\"subnetIds\\\":[\\\"subnet-0b5f8a2321f4781d9\\\",\\\"subnet-094e8bf3e6b674e9c\\\",\\\"subnet-055bc3199a2ef29c6\\\"]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-0d80b20485af3a1d8","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"vpce-031030c53838c8e3f","resourceName":null,"resourceType":"AWS::EC2::VPCEndpoint","resourceValue":null,"state":null,"tags":"[]","title":"vpce-031030c53838c8e3f","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-031e38c9529fe6584","label":"AWS_EC2_VPCEndpoint","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-031e38c9529fe6584","configuration":"\"{\\\"policyDocument\\\":\\\"{\\\\n \\\\\\\"Statement\\\\\\\": [\\\\n {\\\\n \\\\\\\"Action\\\\\\\": \\\\\\\"*\\\\\\\", \\\\n \\\\\\\"Effect\\\\\\\": \\\\\\\"Allow\\\\\\\", \\\\n \\\\\\\"Principal\\\\\\\": \\\\\\\"*\\\\\\\", \\\\n \\\\\\\"Resource\\\\\\\": \\\\\\\"*\\\\\\\"\\\\n }\\\\n ]\\\\n}\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2-SecurityGroup-1GU5Q5SV8BCHW\\\",\\\"groupId\\\":\\\"sg-0caf4503bc4536a40\\\"}],\\\"dnsOptions\\\":{\\\"dnsRecordIpType\\\":\\\"ipv4\\\"},\\\"serviceName\\\":\\\"com.amazonaws.eu-west-1.sqs\\\",\\\"privateDnsEnabled\\\":true,\\\"ownerId\\\":\\\"060997615305\\\",\\\"requesterManaged\\\":false,\\\"vpcEndpointId\\\":\\\"vpce-031e38c9529fe6584\\\",\\\"ipAddressType\\\":\\\"ipv4\\\",\\\"tags\\\":[],\\\"routeTableIds\\\":[],\\\"vpcEndpointType\\\":\\\"Interface\\\",\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"creationTimestamp\\\":\\\"2021-01-21T13:19:48.936Z\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"dnsEntries\\\":[{\\\"hostedZoneId\\\":\\\"Z38GZ743OKFT7T\\\",\\\"dnsName\\\":\\\"vpce-031e38c9529fe6584-ekmc1jax.sqs.eu-west-1.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z38GZ743OKFT7T\\\",\\\"dnsName\\\":\\\"vpce-031e38c9529fe6584-ekmc1jax-eu-west-1c.sqs.eu-west-1.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z38GZ743OKFT7T\\\",\\\"dnsName\\\":\\\"vpce-031e38c9529fe6584-ekmc1jax-eu-west-1a.sqs.eu-west-1.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z38GZ743OKFT7T\\\",\\\"dnsName\\\":\\\"vpce-031e38c9529fe6584-ekmc1jax-eu-west-1b.sqs.eu-west-1.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z07613512X13FRYOJBWMY\\\",\\\"dnsName\\\":\\\"sqs.eu-west-1.amazonaws.com\\\"}],\\\"networkInterfaceIds\\\":[\\\"eni-0a3b16b29adb427cf\\\",\\\"eni-07c69bf4bd1be8f0d\\\",\\\"eni-0c5741d53b43e3f5b\\\"],\\\"subnetIds\\\":[\\\"subnet-0b5f8a2321f4781d9\\\",\\\"subnet-094e8bf3e6b674e9c\\\",\\\"subnet-055bc3199a2ef29c6\\\"]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-0d80b20485af3a1d8","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"vpce-031e38c9529fe6584","resourceName":null,"resourceType":"AWS::EC2::VPCEndpoint","resourceValue":null,"state":null,"tags":"[]","title":"vpce-031e38c9529fe6584","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-00570fc5e7ef58845","label":"AWS_EC2_VPCEndpoint","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-00570fc5e7ef58845","configuration":"\"{\\\"policyDocument\\\":\\\"{\\\\n \\\\\\\"Statement\\\\\\\": [\\\\n {\\\\n \\\\\\\"Action\\\\\\\": \\\\\\\"*\\\\\\\", \\\\n \\\\\\\"Effect\\\\\\\": \\\\\\\"Allow\\\\\\\", \\\\n \\\\\\\"Principal\\\\\\\": \\\\\\\"*\\\\\\\", \\\\n \\\\\\\"Resource\\\\\\\": \\\\\\\"*\\\\\\\"\\\\n }\\\\n ]\\\\n}\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2-SecurityGroup-1GU5Q5SV8BCHW\\\",\\\"groupId\\\":\\\"sg-0caf4503bc4536a40\\\"}],\\\"dnsOptions\\\":{\\\"dnsRecordIpType\\\":\\\"ipv4\\\"},\\\"serviceName\\\":\\\"com.amazonaws.eu-west-1.logs\\\",\\\"privateDnsEnabled\\\":true,\\\"ownerId\\\":\\\"060997615305\\\",\\\"requesterManaged\\\":false,\\\"vpcEndpointId\\\":\\\"vpce-00570fc5e7ef58845\\\",\\\"ipAddressType\\\":\\\"ipv4\\\",\\\"tags\\\":[],\\\"routeTableIds\\\":[],\\\"vpcEndpointType\\\":\\\"Interface\\\",\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"creationTimestamp\\\":\\\"2021-01-21T13:19:48.883Z\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"dnsEntries\\\":[{\\\"hostedZoneId\\\":\\\"Z38GZ743OKFT7T\\\",\\\"dnsName\\\":\\\"vpce-00570fc5e7ef58845-tg11r2st.logs.eu-west-1.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z38GZ743OKFT7T\\\",\\\"dnsName\\\":\\\"vpce-00570fc5e7ef58845-tg11r2st-eu-west-1a.logs.eu-west-1.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z38GZ743OKFT7T\\\",\\\"dnsName\\\":\\\"vpce-00570fc5e7ef58845-tg11r2st-eu-west-1b.logs.eu-west-1.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z38GZ743OKFT7T\\\",\\\"dnsName\\\":\\\"vpce-00570fc5e7ef58845-tg11r2st-eu-west-1c.logs.eu-west-1.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z06619524CAA0J6QYZLP\\\",\\\"dnsName\\\":\\\"logs.eu-west-1.amazonaws.com\\\"}],\\\"networkInterfaceIds\\\":[\\\"eni-08456dd9f8cb7c079\\\",\\\"eni-0f26ea6dc497f2c28\\\",\\\"eni-02ea5865dbd62af5b\\\"],\\\"subnetIds\\\":[\\\"subnet-0b5f8a2321f4781d9\\\",\\\"subnet-094e8bf3e6b674e9c\\\",\\\"subnet-055bc3199a2ef29c6\\\"]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-0d80b20485af3a1d8","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"vpce-00570fc5e7ef58845","resourceName":null,"resourceType":"AWS::EC2::VPCEndpoint","resourceValue":null,"state":null,"tags":"[]","title":"vpce-00570fc5e7ef58845","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-0807301340eca7e80","label":"AWS_EC2_VPCEndpoint","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-0807301340eca7e80","configuration":"\"{\\\"policyDocument\\\":\\\"{\\\\\\\"Version\\\\\\\":\\\\\\\"2008-10-17\\\\\\\",\\\\\\\"Statement\\\\\\\":[{\\\\\\\"Effect\\\\\\\":\\\\\\\"Allow\\\\\\\",\\\\\\\"Principal\\\\\\\":\\\\\\\"*\\\\\\\",\\\\\\\"Action\\\\\\\":\\\\\\\"*\\\\\\\",\\\\\\\"Resource\\\\\\\":\\\\\\\"*\\\\\\\"}]}\\\",\\\"groups\\\":[],\\\"serviceName\\\":\\\"com.amazonaws.eu-west-1.dynamodb\\\",\\\"privateDnsEnabled\\\":false,\\\"ownerId\\\":\\\"060997615305\\\",\\\"requesterManaged\\\":false,\\\"vpcEndpointId\\\":\\\"vpce-0807301340eca7e80\\\",\\\"tags\\\":[],\\\"routeTableIds\\\":[\\\"rtb-0d06db37ab41b8a29\\\",\\\"rtb-04e9b8e7721b019c1\\\",\\\"rtb-01f47e0e7541847d7\\\"],\\\"vpcEndpointType\\\":\\\"Gateway\\\",\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"creationTimestamp\\\":\\\"2021-01-21T13:19:33Z\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"dnsEntries\\\":[],\\\"networkInterfaceIds\\\":[],\\\"subnetIds\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-0d80b20485af3a1d8","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"vpce-0807301340eca7e80","resourceName":null,"resourceType":"AWS::EC2::VPCEndpoint","resourceValue":null,"state":null,"tags":"[]","title":"vpce-0807301340eca7e80","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-0a6f99f2549c3ab5d","label":"AWS_EC2_VPCEndpoint","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-0a6f99f2549c3ab5d","configuration":"\"{\\\"policyDocument\\\":\\\"{\\\\n \\\\\\\"Statement\\\\\\\": [\\\\n {\\\\n \\\\\\\"Action\\\\\\\": \\\\\\\"*\\\\\\\", \\\\n \\\\\\\"Effect\\\\\\\": \\\\\\\"Allow\\\\\\\", \\\\n \\\\\\\"Principal\\\\\\\": \\\\\\\"*\\\\\\\", \\\\n \\\\\\\"Resource\\\\\\\": \\\\\\\"*\\\\\\\"\\\\n }\\\\n ]\\\\n}\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2-SecurityGroup-1GU5Q5SV8BCHW\\\",\\\"groupId\\\":\\\"sg-0caf4503bc4536a40\\\"}],\\\"dnsOptions\\\":{\\\"dnsRecordIpType\\\":\\\"ipv4\\\"},\\\"serviceName\\\":\\\"com.amazonaws.eu-west-1.monitoring\\\",\\\"privateDnsEnabled\\\":true,\\\"ownerId\\\":\\\"060997615305\\\",\\\"requesterManaged\\\":false,\\\"vpcEndpointId\\\":\\\"vpce-0a6f99f2549c3ab5d\\\",\\\"ipAddressType\\\":\\\"ipv4\\\",\\\"tags\\\":[],\\\"routeTableIds\\\":[],\\\"vpcEndpointType\\\":\\\"Interface\\\",\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"creationTimestamp\\\":\\\"2021-01-21T13:19:48.729Z\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"dnsEntries\\\":[{\\\"hostedZoneId\\\":\\\"Z38GZ743OKFT7T\\\",\\\"dnsName\\\":\\\"vpce-0a6f99f2549c3ab5d-ghilry31.monitoring.eu-west-1.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z38GZ743OKFT7T\\\",\\\"dnsName\\\":\\\"vpce-0a6f99f2549c3ab5d-ghilry31-eu-west-1b.monitoring.eu-west-1.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z38GZ743OKFT7T\\\",\\\"dnsName\\\":\\\"vpce-0a6f99f2549c3ab5d-ghilry31-eu-west-1a.monitoring.eu-west-1.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z38GZ743OKFT7T\\\",\\\"dnsName\\\":\\\"vpce-0a6f99f2549c3ab5d-ghilry31-eu-west-1c.monitoring.eu-west-1.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z06554332RPD06VICV2KU\\\",\\\"dnsName\\\":\\\"monitoring.eu-west-1.amazonaws.com\\\"}],\\\"networkInterfaceIds\\\":[\\\"eni-080f7bc7b8c5a942d\\\",\\\"eni-04d438dab9798a66d\\\",\\\"eni-05d22f6236a7fafbb\\\"],\\\"subnetIds\\\":[\\\"subnet-0b5f8a2321f4781d9\\\",\\\"subnet-094e8bf3e6b674e9c\\\",\\\"subnet-055bc3199a2ef29c6\\\"]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-0d80b20485af3a1d8","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"vpce-0a6f99f2549c3ab5d","resourceName":null,"resourceType":"AWS::EC2::VPCEndpoint","resourceValue":null,"state":null,"tags":"[]","title":"vpce-0a6f99f2549c3ab5d","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-673.5,"y":665.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-0d35fc6b67ac011aa","resourceId":["vpce-0d35fc6b67ac011aa","arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-0d35fc6b67ac011aa"],"parent":"VPCEndpoint-vpc-0d80b20485af3a1d8-eu-west-1-060997615305","level":4,"id":"arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-0d35fc6b67ac011aa","title":"vpce-0d35fc6b67ac011aa","label":"vpce-0d35fc6...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-0d35fc6b67ac011aa","image":"/icons/Amazon-EC2_VPC_Endpoints_light-bg-menu.svg","cost":0,"private":false,"resource":{"id":"vpce-0d35fc6b67ac011aa","name":null,"value":null,"type":"AWS::EC2::VPCEndpoint","tags":"[]","arn":"arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-0d35fc6b67ac011aa","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-0d35fc6b67ac011aa","configuration":"\"{\\\"policyDocument\\\":\\\"{\\\\n \\\\\\\"Statement\\\\\\\": [\\\\n {\\\\n \\\\\\\"Action\\\\\\\": \\\\\\\"*\\\\\\\", \\\\n \\\\\\\"Effect\\\\\\\": \\\\\\\"Allow\\\\\\\", \\\\n \\\\\\\"Principal\\\\\\\": \\\\\\\"*\\\\\\\", \\\\n \\\\\\\"Resource\\\\\\\": \\\\\\\"*\\\\\\\"\\\\n }\\\\n ]\\\\n}\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2-SecurityGroup-1GU5Q5SV8BCHW\\\",\\\"groupId\\\":\\\"sg-0caf4503bc4536a40\\\"}],\\\"dnsOptions\\\":{\\\"dnsRecordIpType\\\":\\\"ipv4\\\"},\\\"serviceName\\\":\\\"com.amazonaws.eu-west-1.sts\\\",\\\"privateDnsEnabled\\\":true,\\\"ownerId\\\":\\\"060997615305\\\",\\\"requesterManaged\\\":false,\\\"vpcEndpointId\\\":\\\"vpce-0d35fc6b67ac011aa\\\",\\\"ipAddressType\\\":\\\"ipv4\\\",\\\"tags\\\":[],\\\"routeTableIds\\\":[],\\\"vpcEndpointType\\\":\\\"Interface\\\",\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"creationTimestamp\\\":\\\"2021-01-21T13:19:48.875Z\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"dnsEntries\\\":[{\\\"hostedZoneId\\\":\\\"Z38GZ743OKFT7T\\\",\\\"dnsName\\\":\\\"vpce-0d35fc6b67ac011aa-vt5rx7ut.sts.eu-west-1.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z38GZ743OKFT7T\\\",\\\"dnsName\\\":\\\"vpce-0d35fc6b67ac011aa-vt5rx7ut-eu-west-1c.sts.eu-west-1.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z38GZ743OKFT7T\\\",\\\"dnsName\\\":\\\"vpce-0d35fc6b67ac011aa-vt5rx7ut-eu-west-1a.sts.eu-west-1.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z38GZ743OKFT7T\\\",\\\"dnsName\\\":\\\"vpce-0d35fc6b67ac011aa-vt5rx7ut-eu-west-1b.sts.eu-west-1.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z0691053BPKAVXSZLVYK\\\",\\\"dnsName\\\":\\\"sts.eu-west-1.amazonaws.com\\\"}],\\\"networkInterfaceIds\\\":[\\\"eni-00ceb39a6487a023e\\\",\\\"eni-0af0f117c662bd60c\\\",\\\"eni-0433511d109eb9846\\\"],\\\"subnetIds\\\":[\\\"subnet-0b5f8a2321f4781d9\\\",\\\"subnet-094e8bf3e6b674e9c\\\",\\\"subnet-055bc3199a2ef29c6\\\"]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-0d80b20485af3a1d8","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"vpce-0d35fc6b67ac011aa","resourceName":null,"resourceType":"AWS::EC2::VPCEndpoint","resourceValue":null,"state":null,"tags":"[]","title":"vpce-0d35fc6b67ac011aa","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-746.5,"y":592.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-06d21ada7d9e243a6","resourceId":["vpce-06d21ada7d9e243a6","arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-06d21ada7d9e243a6"],"parent":"VPCEndpoint-vpc-0d80b20485af3a1d8-eu-west-1-060997615305","level":4,"id":"arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-06d21ada7d9e243a6","title":"vpce-06d21ada7d9e243a6","label":"vpce-06d21ad...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-06d21ada7d9e243a6","image":"/icons/Amazon-EC2_VPC_Endpoints_light-bg-menu.svg","cost":0,"private":false,"resource":{"id":"vpce-06d21ada7d9e243a6","name":null,"value":null,"type":"AWS::EC2::VPCEndpoint","tags":"[]","arn":"arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-06d21ada7d9e243a6","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-06d21ada7d9e243a6","configuration":"\"{\\\"policyDocument\\\":\\\"{\\\\\\\"Version\\\\\\\":\\\\\\\"2008-10-17\\\\\\\",\\\\\\\"Statement\\\\\\\":[{\\\\\\\"Effect\\\\\\\":\\\\\\\"Allow\\\\\\\",\\\\\\\"Principal\\\\\\\":\\\\\\\"*\\\\\\\",\\\\\\\"Action\\\\\\\":\\\\\\\"*\\\\\\\",\\\\\\\"Resource\\\\\\\":\\\\\\\"*\\\\\\\"}]}\\\",\\\"groups\\\":[],\\\"serviceName\\\":\\\"com.amazonaws.eu-west-1.s3\\\",\\\"privateDnsEnabled\\\":false,\\\"ownerId\\\":\\\"060997615305\\\",\\\"requesterManaged\\\":false,\\\"vpcEndpointId\\\":\\\"vpce-06d21ada7d9e243a6\\\",\\\"tags\\\":[],\\\"routeTableIds\\\":[\\\"rtb-0d06db37ab41b8a29\\\",\\\"rtb-04e9b8e7721b019c1\\\",\\\"rtb-01f47e0e7541847d7\\\"],\\\"vpcEndpointType\\\":\\\"Gateway\\\",\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"creationTimestamp\\\":\\\"2021-01-21T13:19:32Z\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"dnsEntries\\\":[],\\\"networkInterfaceIds\\\":[],\\\"subnetIds\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-0d80b20485af3a1d8","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"vpce-06d21ada7d9e243a6","resourceName":null,"resourceType":"AWS::EC2::VPCEndpoint","resourceValue":null,"state":null,"tags":"[]","title":"vpce-06d21ada7d9e243a6","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-673.5,"y":592.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-031030c53838c8e3f","resourceId":["vpce-031030c53838c8e3f","arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-031030c53838c8e3f"],"parent":"VPCEndpoint-vpc-0d80b20485af3a1d8-eu-west-1-060997615305","level":4,"id":"arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-031030c53838c8e3f","title":"vpce-031030c53838c8e3f","label":"vpce-031030c...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-031030c53838c8e3f","image":"/icons/Amazon-EC2_VPC_Endpoints_light-bg-menu.svg","cost":0,"private":false,"resource":{"id":"vpce-031030c53838c8e3f","name":null,"value":null,"type":"AWS::EC2::VPCEndpoint","tags":"[]","arn":"arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-031030c53838c8e3f","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-031030c53838c8e3f","configuration":"\"{\\\"policyDocument\\\":\\\"{\\\\n \\\\\\\"Statement\\\\\\\": [\\\\n {\\\\n \\\\\\\"Action\\\\\\\": \\\\\\\"*\\\\\\\", \\\\n \\\\\\\"Effect\\\\\\\": \\\\\\\"Allow\\\\\\\", \\\\n \\\\\\\"Principal\\\\\\\": \\\\\\\"*\\\\\\\", \\\\n \\\\\\\"Resource\\\\\\\": \\\\\\\"*\\\\\\\"\\\\n }\\\\n ]\\\\n}\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2-SecurityGroup-1GU5Q5SV8BCHW\\\",\\\"groupId\\\":\\\"sg-0caf4503bc4536a40\\\"}],\\\"dnsOptions\\\":{\\\"dnsRecordIpType\\\":\\\"ipv4\\\"},\\\"serviceName\\\":\\\"com.amazonaws.eu-west-1.ecr.dkr\\\",\\\"privateDnsEnabled\\\":true,\\\"ownerId\\\":\\\"060997615305\\\",\\\"requesterManaged\\\":false,\\\"vpcEndpointId\\\":\\\"vpce-031030c53838c8e3f\\\",\\\"ipAddressType\\\":\\\"ipv4\\\",\\\"tags\\\":[],\\\"routeTableIds\\\":[],\\\"vpcEndpointType\\\":\\\"Interface\\\",\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"creationTimestamp\\\":\\\"2021-01-21T13:19:48.857Z\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"dnsEntries\\\":[{\\\"hostedZoneId\\\":\\\"Z38GZ743OKFT7T\\\",\\\"dnsName\\\":\\\"vpce-031030c53838c8e3f-f0tjlb4e.dkr.ecr.eu-west-1.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z38GZ743OKFT7T\\\",\\\"dnsName\\\":\\\"vpce-031030c53838c8e3f-f0tjlb4e-eu-west-1a.dkr.ecr.eu-west-1.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z38GZ743OKFT7T\\\",\\\"dnsName\\\":\\\"vpce-031030c53838c8e3f-f0tjlb4e-eu-west-1b.dkr.ecr.eu-west-1.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z38GZ743OKFT7T\\\",\\\"dnsName\\\":\\\"vpce-031030c53838c8e3f-f0tjlb4e-eu-west-1c.dkr.ecr.eu-west-1.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z04806143VBWAP8KOKTBJ\\\",\\\"dnsName\\\":\\\"dkr.ecr.eu-west-1.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z04806143VBWAP8KOKTBJ\\\",\\\"dnsName\\\":\\\"*.dkr.ecr.eu-west-1.amazonaws.com\\\"}],\\\"networkInterfaceIds\\\":[\\\"eni-07b4bf4a58ab2f762\\\",\\\"eni-0c1073d056a4003b3\\\",\\\"eni-0a3eb6ec3be4594c4\\\"],\\\"subnetIds\\\":[\\\"subnet-0b5f8a2321f4781d9\\\",\\\"subnet-094e8bf3e6b674e9c\\\",\\\"subnet-055bc3199a2ef29c6\\\"]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-0d80b20485af3a1d8","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"vpce-031030c53838c8e3f","resourceName":null,"resourceType":"AWS::EC2::VPCEndpoint","resourceValue":null,"state":null,"tags":"[]","title":"vpce-031030c53838c8e3f","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-746.5,"y":665.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-031e38c9529fe6584","resourceId":["vpce-031e38c9529fe6584","arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-031e38c9529fe6584"],"parent":"VPCEndpoint-vpc-0d80b20485af3a1d8-eu-west-1-060997615305","level":4,"id":"arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-031e38c9529fe6584","title":"vpce-031e38c9529fe6584","label":"vpce-031e38c...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-031e38c9529fe6584","image":"/icons/Amazon-EC2_VPC_Endpoints_light-bg-menu.svg","cost":0,"private":false,"resource":{"id":"vpce-031e38c9529fe6584","name":null,"value":null,"type":"AWS::EC2::VPCEndpoint","tags":"[]","arn":"arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-031e38c9529fe6584","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-031e38c9529fe6584","configuration":"\"{\\\"policyDocument\\\":\\\"{\\\\n \\\\\\\"Statement\\\\\\\": [\\\\n {\\\\n \\\\\\\"Action\\\\\\\": \\\\\\\"*\\\\\\\", \\\\n \\\\\\\"Effect\\\\\\\": \\\\\\\"Allow\\\\\\\", \\\\n \\\\\\\"Principal\\\\\\\": \\\\\\\"*\\\\\\\", \\\\n \\\\\\\"Resource\\\\\\\": \\\\\\\"*\\\\\\\"\\\\n }\\\\n ]\\\\n}\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2-SecurityGroup-1GU5Q5SV8BCHW\\\",\\\"groupId\\\":\\\"sg-0caf4503bc4536a40\\\"}],\\\"dnsOptions\\\":{\\\"dnsRecordIpType\\\":\\\"ipv4\\\"},\\\"serviceName\\\":\\\"com.amazonaws.eu-west-1.sqs\\\",\\\"privateDnsEnabled\\\":true,\\\"ownerId\\\":\\\"060997615305\\\",\\\"requesterManaged\\\":false,\\\"vpcEndpointId\\\":\\\"vpce-031e38c9529fe6584\\\",\\\"ipAddressType\\\":\\\"ipv4\\\",\\\"tags\\\":[],\\\"routeTableIds\\\":[],\\\"vpcEndpointType\\\":\\\"Interface\\\",\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"creationTimestamp\\\":\\\"2021-01-21T13:19:48.936Z\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"dnsEntries\\\":[{\\\"hostedZoneId\\\":\\\"Z38GZ743OKFT7T\\\",\\\"dnsName\\\":\\\"vpce-031e38c9529fe6584-ekmc1jax.sqs.eu-west-1.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z38GZ743OKFT7T\\\",\\\"dnsName\\\":\\\"vpce-031e38c9529fe6584-ekmc1jax-eu-west-1c.sqs.eu-west-1.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z38GZ743OKFT7T\\\",\\\"dnsName\\\":\\\"vpce-031e38c9529fe6584-ekmc1jax-eu-west-1a.sqs.eu-west-1.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z38GZ743OKFT7T\\\",\\\"dnsName\\\":\\\"vpce-031e38c9529fe6584-ekmc1jax-eu-west-1b.sqs.eu-west-1.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z07613512X13FRYOJBWMY\\\",\\\"dnsName\\\":\\\"sqs.eu-west-1.amazonaws.com\\\"}],\\\"networkInterfaceIds\\\":[\\\"eni-0a3b16b29adb427cf\\\",\\\"eni-07c69bf4bd1be8f0d\\\",\\\"eni-0c5741d53b43e3f5b\\\"],\\\"subnetIds\\\":[\\\"subnet-0b5f8a2321f4781d9\\\",\\\"subnet-094e8bf3e6b674e9c\\\",\\\"subnet-055bc3199a2ef29c6\\\"]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-0d80b20485af3a1d8","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"vpce-031e38c9529fe6584","resourceName":null,"resourceType":"AWS::EC2::VPCEndpoint","resourceValue":null,"state":null,"tags":"[]","title":"vpce-031e38c9529fe6584","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-673.5,"y":665.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-00570fc5e7ef58845","resourceId":["vpce-00570fc5e7ef58845","arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-00570fc5e7ef58845"],"parent":"VPCEndpoint-vpc-0d80b20485af3a1d8-eu-west-1-060997615305","level":4,"id":"arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-00570fc5e7ef58845","title":"vpce-00570fc5e7ef58845","label":"vpce-00570fc...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-00570fc5e7ef58845","image":"/icons/Amazon-EC2_VPC_Endpoints_light-bg-menu.svg","cost":0,"private":false,"resource":{"id":"vpce-00570fc5e7ef58845","name":null,"value":null,"type":"AWS::EC2::VPCEndpoint","tags":"[]","arn":"arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-00570fc5e7ef58845","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-00570fc5e7ef58845","configuration":"\"{\\\"policyDocument\\\":\\\"{\\\\n \\\\\\\"Statement\\\\\\\": [\\\\n {\\\\n \\\\\\\"Action\\\\\\\": \\\\\\\"*\\\\\\\", \\\\n \\\\\\\"Effect\\\\\\\": \\\\\\\"Allow\\\\\\\", \\\\n \\\\\\\"Principal\\\\\\\": \\\\\\\"*\\\\\\\", \\\\n \\\\\\\"Resource\\\\\\\": \\\\\\\"*\\\\\\\"\\\\n }\\\\n ]\\\\n}\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2-SecurityGroup-1GU5Q5SV8BCHW\\\",\\\"groupId\\\":\\\"sg-0caf4503bc4536a40\\\"}],\\\"dnsOptions\\\":{\\\"dnsRecordIpType\\\":\\\"ipv4\\\"},\\\"serviceName\\\":\\\"com.amazonaws.eu-west-1.logs\\\",\\\"privateDnsEnabled\\\":true,\\\"ownerId\\\":\\\"060997615305\\\",\\\"requesterManaged\\\":false,\\\"vpcEndpointId\\\":\\\"vpce-00570fc5e7ef58845\\\",\\\"ipAddressType\\\":\\\"ipv4\\\",\\\"tags\\\":[],\\\"routeTableIds\\\":[],\\\"vpcEndpointType\\\":\\\"Interface\\\",\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"creationTimestamp\\\":\\\"2021-01-21T13:19:48.883Z\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"dnsEntries\\\":[{\\\"hostedZoneId\\\":\\\"Z38GZ743OKFT7T\\\",\\\"dnsName\\\":\\\"vpce-00570fc5e7ef58845-tg11r2st.logs.eu-west-1.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z38GZ743OKFT7T\\\",\\\"dnsName\\\":\\\"vpce-00570fc5e7ef58845-tg11r2st-eu-west-1a.logs.eu-west-1.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z38GZ743OKFT7T\\\",\\\"dnsName\\\":\\\"vpce-00570fc5e7ef58845-tg11r2st-eu-west-1b.logs.eu-west-1.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z38GZ743OKFT7T\\\",\\\"dnsName\\\":\\\"vpce-00570fc5e7ef58845-tg11r2st-eu-west-1c.logs.eu-west-1.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z06619524CAA0J6QYZLP\\\",\\\"dnsName\\\":\\\"logs.eu-west-1.amazonaws.com\\\"}],\\\"networkInterfaceIds\\\":[\\\"eni-08456dd9f8cb7c079\\\",\\\"eni-0f26ea6dc497f2c28\\\",\\\"eni-02ea5865dbd62af5b\\\"],\\\"subnetIds\\\":[\\\"subnet-0b5f8a2321f4781d9\\\",\\\"subnet-094e8bf3e6b674e9c\\\",\\\"subnet-055bc3199a2ef29c6\\\"]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-0d80b20485af3a1d8","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"vpce-00570fc5e7ef58845","resourceName":null,"resourceType":"AWS::EC2::VPCEndpoint","resourceValue":null,"state":null,"tags":"[]","title":"vpce-00570fc5e7ef58845","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-600.5,"y":592.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-0807301340eca7e80","resourceId":["vpce-0807301340eca7e80","arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-0807301340eca7e80"],"parent":"VPCEndpoint-vpc-0d80b20485af3a1d8-eu-west-1-060997615305","level":4,"id":"arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-0807301340eca7e80","title":"vpce-0807301340eca7e80","label":"vpce-0807301...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-0807301340eca7e80","image":"/icons/Amazon-EC2_VPC_Endpoints_light-bg-menu.svg","cost":0,"private":false,"resource":{"id":"vpce-0807301340eca7e80","name":null,"value":null,"type":"AWS::EC2::VPCEndpoint","tags":"[]","arn":"arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-0807301340eca7e80","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-0807301340eca7e80","configuration":"\"{\\\"policyDocument\\\":\\\"{\\\\\\\"Version\\\\\\\":\\\\\\\"2008-10-17\\\\\\\",\\\\\\\"Statement\\\\\\\":[{\\\\\\\"Effect\\\\\\\":\\\\\\\"Allow\\\\\\\",\\\\\\\"Principal\\\\\\\":\\\\\\\"*\\\\\\\",\\\\\\\"Action\\\\\\\":\\\\\\\"*\\\\\\\",\\\\\\\"Resource\\\\\\\":\\\\\\\"*\\\\\\\"}]}\\\",\\\"groups\\\":[],\\\"serviceName\\\":\\\"com.amazonaws.eu-west-1.dynamodb\\\",\\\"privateDnsEnabled\\\":false,\\\"ownerId\\\":\\\"060997615305\\\",\\\"requesterManaged\\\":false,\\\"vpcEndpointId\\\":\\\"vpce-0807301340eca7e80\\\",\\\"tags\\\":[],\\\"routeTableIds\\\":[\\\"rtb-0d06db37ab41b8a29\\\",\\\"rtb-04e9b8e7721b019c1\\\",\\\"rtb-01f47e0e7541847d7\\\"],\\\"vpcEndpointType\\\":\\\"Gateway\\\",\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"creationTimestamp\\\":\\\"2021-01-21T13:19:33Z\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"dnsEntries\\\":[],\\\"networkInterfaceIds\\\":[],\\\"subnetIds\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-0d80b20485af3a1d8","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"vpce-0807301340eca7e80","resourceName":null,"resourceType":"AWS::EC2::VPCEndpoint","resourceValue":null,"state":null,"tags":"[]","title":"vpce-0807301340eca7e80","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-600.5,"y":665.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-0a6f99f2549c3ab5d","resourceId":["vpce-0a6f99f2549c3ab5d","arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-0a6f99f2549c3ab5d"],"parent":"VPCEndpoint-vpc-0d80b20485af3a1d8-eu-west-1-060997615305","level":4,"id":"arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-0a6f99f2549c3ab5d","title":"vpce-0a6f99f2549c3ab5d","label":"vpce-0a6f99f...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-0a6f99f2549c3ab5d","image":"/icons/Amazon-EC2_VPC_Endpoints_light-bg-menu.svg","cost":0,"private":false,"resource":{"id":"vpce-0a6f99f2549c3ab5d","name":null,"value":null,"type":"AWS::EC2::VPCEndpoint","tags":"[]","arn":"arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-0a6f99f2549c3ab5d","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-0a6f99f2549c3ab5d","configuration":"\"{\\\"policyDocument\\\":\\\"{\\\\n \\\\\\\"Statement\\\\\\\": [\\\\n {\\\\n \\\\\\\"Action\\\\\\\": \\\\\\\"*\\\\\\\", \\\\n \\\\\\\"Effect\\\\\\\": \\\\\\\"Allow\\\\\\\", \\\\n \\\\\\\"Principal\\\\\\\": \\\\\\\"*\\\\\\\", \\\\n \\\\\\\"Resource\\\\\\\": \\\\\\\"*\\\\\\\"\\\\n }\\\\n ]\\\\n}\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2-SecurityGroup-1GU5Q5SV8BCHW\\\",\\\"groupId\\\":\\\"sg-0caf4503bc4536a40\\\"}],\\\"dnsOptions\\\":{\\\"dnsRecordIpType\\\":\\\"ipv4\\\"},\\\"serviceName\\\":\\\"com.amazonaws.eu-west-1.monitoring\\\",\\\"privateDnsEnabled\\\":true,\\\"ownerId\\\":\\\"060997615305\\\",\\\"requesterManaged\\\":false,\\\"vpcEndpointId\\\":\\\"vpce-0a6f99f2549c3ab5d\\\",\\\"ipAddressType\\\":\\\"ipv4\\\",\\\"tags\\\":[],\\\"routeTableIds\\\":[],\\\"vpcEndpointType\\\":\\\"Interface\\\",\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"creationTimestamp\\\":\\\"2021-01-21T13:19:48.729Z\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"dnsEntries\\\":[{\\\"hostedZoneId\\\":\\\"Z38GZ743OKFT7T\\\",\\\"dnsName\\\":\\\"vpce-0a6f99f2549c3ab5d-ghilry31.monitoring.eu-west-1.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z38GZ743OKFT7T\\\",\\\"dnsName\\\":\\\"vpce-0a6f99f2549c3ab5d-ghilry31-eu-west-1b.monitoring.eu-west-1.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z38GZ743OKFT7T\\\",\\\"dnsName\\\":\\\"vpce-0a6f99f2549c3ab5d-ghilry31-eu-west-1a.monitoring.eu-west-1.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z38GZ743OKFT7T\\\",\\\"dnsName\\\":\\\"vpce-0a6f99f2549c3ab5d-ghilry31-eu-west-1c.monitoring.eu-west-1.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z06554332RPD06VICV2KU\\\",\\\"dnsName\\\":\\\"monitoring.eu-west-1.amazonaws.com\\\"}],\\\"networkInterfaceIds\\\":[\\\"eni-080f7bc7b8c5a942d\\\",\\\"eni-04d438dab9798a66d\\\",\\\"eni-05d22f6236a7fafbb\\\"],\\\"subnetIds\\\":[\\\"subnet-0b5f8a2321f4781d9\\\",\\\"subnet-094e8bf3e6b674e9c\\\",\\\"subnet-055bc3199a2ef29c6\\\"]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-0d80b20485af3a1d8","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"vpce-0a6f99f2549c3ab5d","resourceName":null,"resourceType":"AWS::EC2::VPCEndpoint","resourceValue":null,"state":null,"tags":"[]","title":"vpce-0a6f99f2549c3ab5d","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-746.5,"y":738.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"subnet-094e8bf3e6b674e9c-eu-west-1a-vpc-0d80b20485af3a1d8-eu-west-1-060997615305","parent":"eu-west-1a-vpc-0d80b20485af3a1d8-eu-west-1-060997615305","level":4,"title":"subnet-094e8bf3e6b674e9c","label":"subnet-094e8bf3e6b674e9c","plainLabel":"subnet-094e8bf3e6b674e9c","type":"subnet","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/VPC-subnet-private_light-bg-collapsed.svg","clickedId":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-094e8bf3e6b674e9c","cost":0,"hasChildren":true,"children":[{"id":null,"label":"NetworkInterface","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0433511d109eb9846","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0433511d109eb9846","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0433511d109eb9846\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-3-227.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.3.227\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-094e8bf3e6b674e9c\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-0d35fc6b67ac011aa\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2-SecurityGroup-1GU5Q5SV8BCHW\\\",\\\"groupId\\\":\\\"sg-0caf4503bc4536a40\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.3.227\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:1a:72:ab:55:15\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-e18245d9\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"privateDnsName\\\":\\\"ip-10-0-3-227.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-0d80b20485af3a1d8","subnetId":"subnet-094e8bf3e6b674e9c","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0433511d109eb9846","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0433511d109eb9846","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-05d22f6236a7fafbb","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-05d22f6236a7fafbb","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-05d22f6236a7fafbb\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-2-81.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.2.81\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-094e8bf3e6b674e9c\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-0a6f99f2549c3ab5d\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2-SecurityGroup-1GU5Q5SV8BCHW\\\",\\\"groupId\\\":\\\"sg-0caf4503bc4536a40\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.2.81\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:fc:e3:f3:dc:0b\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-f18344c9\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"privateDnsName\\\":\\\"ip-10-0-2-81.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-0d80b20485af3a1d8","subnetId":"subnet-094e8bf3e6b674e9c","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-05d22f6236a7fafbb","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-05d22f6236a7fafbb","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-07c69bf4bd1be8f0d","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-07c69bf4bd1be8f0d","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-07c69bf4bd1be8f0d\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-3-173.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.3.173\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-094e8bf3e6b674e9c\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-031e38c9529fe6584\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2-SecurityGroup-1GU5Q5SV8BCHW\\\",\\\"groupId\\\":\\\"sg-0caf4503bc4536a40\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.3.173\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:36:e2:fa:7f:fb\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-5f844367\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"privateDnsName\\\":\\\"ip-10-0-3-173.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-0d80b20485af3a1d8","subnetId":"subnet-094e8bf3e6b674e9c","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-07c69bf4bd1be8f0d","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-07c69bf4bd1be8f0d","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-08456dd9f8cb7c079","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-08456dd9f8cb7c079","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-08456dd9f8cb7c079\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-2-13.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.2.13\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-094e8bf3e6b674e9c\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-00570fc5e7ef58845\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2-SecurityGroup-1GU5Q5SV8BCHW\\\",\\\"groupId\\\":\\\"sg-0caf4503bc4536a40\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.2.13\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:19:78:1e:36:9b\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-50844368\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"privateDnsName\\\":\\\"ip-10-0-2-13.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-0d80b20485af3a1d8","subnetId":"subnet-094e8bf3e6b674e9c","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-08456dd9f8cb7c079","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-08456dd9f8cb7c079","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0c1073d056a4003b3","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0c1073d056a4003b3","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0c1073d056a4003b3\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-0-196.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.0.196\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-094e8bf3e6b674e9c\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-031030c53838c8e3f\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2-SecurityGroup-1GU5Q5SV8BCHW\\\",\\\"groupId\\\":\\\"sg-0caf4503bc4536a40\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.0.196\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:4b:1f:51:f2:6f\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-6487405c\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"privateDnsName\\\":\\\"ip-10-0-0-196.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-0d80b20485af3a1d8","subnetId":"subnet-094e8bf3e6b674e9c","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0c1073d056a4003b3","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0c1073d056a4003b3","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#147eba","properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-094e8bf3e6b674e9c","configuration":"\"{\\\"subnetId\\\":\\\"subnet-094e8bf3e6b674e9c\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-094e8bf3e6b674e9c\\\",\\\"availabilityZoneId\\\":\\\"euw1-az2\\\",\\\"cidrBlock\\\":\\\"10.0.0.0/22\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"PrivateSubnet1\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2 Private Subnet 1\\\",\\\"key\\\":\\\"Name\\\"}],\\\"availableIpAddressCount\\\":1014,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"mapPublicIpOnLaunch\\\":false,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-0d80b20485af3a1d8","subnetId":"subnet-094e8bf3e6b674e9c","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":"true","resourceId":"subnet-094e8bf3e6b674e9c","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2POC-VpcStack-1UF8O2EU11VA2\",\"value\":\"S3F2POC-VpcStack-1UF8O2EU11VA2\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateSubnet1\",\"value\":\"PrivateSubnet1\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=S3F2POC-VpcStack-1UF8O2EU11VA2 Private Subnet 1\",\"value\":\"S3F2POC-VpcStack-1UF8O2EU11VA2 Private Subnet 1\",\"key\":\"Name\"}]","title":"S3F2POC-VpcStack-1UF8O2EU11VA2 Private Subnet 1","instanceType":null,"statement":null,"dBInstanceStatus":null},"resource":{"id":"subnet-094e8bf3e6b674e9c","name":null,"value":null,"type":"AWS::EC2::Subnet","tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2POC-VpcStack-1UF8O2EU11VA2\",\"value\":\"S3F2POC-VpcStack-1UF8O2EU11VA2\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateSubnet1\",\"value\":\"PrivateSubnet1\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=S3F2POC-VpcStack-1UF8O2EU11VA2 Private Subnet 1\",\"value\":\"S3F2POC-VpcStack-1UF8O2EU11VA2 Private Subnet 1\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-094e8bf3e6b674e9c","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","accountId":"060997615305"}},"position":{"x":-1045.5,"y":386.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"subnet removeAll _gridParentPadding"},{"data":{"id":"NetworkInterface-subnet-094e8bf3e6b674e9c-eu-west-1a-vpc-0d80b20485af3a1d8-eu-west-1-060997615305","parent":"subnet-094e8bf3e6b674e9c-eu-west-1a-vpc-0d80b20485af3a1d8-eu-west-1-060997615305","level":5,"title":"NetworkInterface","label":"NetworkInterface","plainLabel":"NetworkInterface","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0433511d109eb9846","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0433511d109eb9846","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0433511d109eb9846\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-3-227.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.3.227\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-094e8bf3e6b674e9c\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-0d35fc6b67ac011aa\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2-SecurityGroup-1GU5Q5SV8BCHW\\\",\\\"groupId\\\":\\\"sg-0caf4503bc4536a40\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.3.227\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:1a:72:ab:55:15\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-e18245d9\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"privateDnsName\\\":\\\"ip-10-0-3-227.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-0d80b20485af3a1d8","subnetId":"subnet-094e8bf3e6b674e9c","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0433511d109eb9846","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0433511d109eb9846","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-05d22f6236a7fafbb","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-05d22f6236a7fafbb","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-05d22f6236a7fafbb\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-2-81.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.2.81\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-094e8bf3e6b674e9c\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-0a6f99f2549c3ab5d\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2-SecurityGroup-1GU5Q5SV8BCHW\\\",\\\"groupId\\\":\\\"sg-0caf4503bc4536a40\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.2.81\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:fc:e3:f3:dc:0b\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-f18344c9\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"privateDnsName\\\":\\\"ip-10-0-2-81.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-0d80b20485af3a1d8","subnetId":"subnet-094e8bf3e6b674e9c","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-05d22f6236a7fafbb","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-05d22f6236a7fafbb","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-07c69bf4bd1be8f0d","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-07c69bf4bd1be8f0d","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-07c69bf4bd1be8f0d\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-3-173.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.3.173\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-094e8bf3e6b674e9c\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-031e38c9529fe6584\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2-SecurityGroup-1GU5Q5SV8BCHW\\\",\\\"groupId\\\":\\\"sg-0caf4503bc4536a40\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.3.173\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:36:e2:fa:7f:fb\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-5f844367\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"privateDnsName\\\":\\\"ip-10-0-3-173.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-0d80b20485af3a1d8","subnetId":"subnet-094e8bf3e6b674e9c","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-07c69bf4bd1be8f0d","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-07c69bf4bd1be8f0d","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-08456dd9f8cb7c079","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-08456dd9f8cb7c079","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-08456dd9f8cb7c079\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-2-13.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.2.13\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-094e8bf3e6b674e9c\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-00570fc5e7ef58845\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2-SecurityGroup-1GU5Q5SV8BCHW\\\",\\\"groupId\\\":\\\"sg-0caf4503bc4536a40\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.2.13\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:19:78:1e:36:9b\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-50844368\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"privateDnsName\\\":\\\"ip-10-0-2-13.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-0d80b20485af3a1d8","subnetId":"subnet-094e8bf3e6b674e9c","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-08456dd9f8cb7c079","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-08456dd9f8cb7c079","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0c1073d056a4003b3","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0c1073d056a4003b3","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0c1073d056a4003b3\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-0-196.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.0.196\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-094e8bf3e6b674e9c\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-031030c53838c8e3f\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2-SecurityGroup-1GU5Q5SV8BCHW\\\",\\\"groupId\\\":\\\"sg-0caf4503bc4536a40\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.0.196\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:4b:1f:51:f2:6f\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-6487405c\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"privateDnsName\\\":\\\"ip-10-0-0-196.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-0d80b20485af3a1d8","subnetId":"subnet-094e8bf3e6b674e9c","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0c1073d056a4003b3","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0c1073d056a4003b3","instanceType":null,"statement":null,"dBInstanceStatus":null}}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1045.5,"y":386.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0433511d109eb9846","resourceId":["eni-0433511d109eb9846","arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0433511d109eb9846"],"parent":"NetworkInterface-subnet-094e8bf3e6b674e9c-eu-west-1a-vpc-0d80b20485af3a1d8-eu-west-1-060997615305","level":6,"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0433511d109eb9846","title":"eni-0433511d109eb9846","label":"eni-0433511d...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0433511d109eb9846","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-0433511d109eb9846","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0433511d109eb9846","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0433511d109eb9846","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0433511d109eb9846\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-3-227.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.3.227\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-094e8bf3e6b674e9c\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-0d35fc6b67ac011aa\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2-SecurityGroup-1GU5Q5SV8BCHW\\\",\\\"groupId\\\":\\\"sg-0caf4503bc4536a40\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.3.227\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:1a:72:ab:55:15\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-e18245d9\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"privateDnsName\\\":\\\"ip-10-0-3-227.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-0d80b20485af3a1d8","subnetId":"subnet-094e8bf3e6b674e9c","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0433511d109eb9846","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0433511d109eb9846","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1118.5,"y":349.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-05d22f6236a7fafbb","resourceId":["eni-05d22f6236a7fafbb","arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-05d22f6236a7fafbb"],"parent":"NetworkInterface-subnet-094e8bf3e6b674e9c-eu-west-1a-vpc-0d80b20485af3a1d8-eu-west-1-060997615305","level":6,"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-05d22f6236a7fafbb","title":"eni-05d22f6236a7fafbb","label":"eni-05d22f62...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-05d22f6236a7fafbb","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-05d22f6236a7fafbb","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-05d22f6236a7fafbb","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-05d22f6236a7fafbb","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-05d22f6236a7fafbb\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-2-81.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.2.81\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-094e8bf3e6b674e9c\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-0a6f99f2549c3ab5d\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2-SecurityGroup-1GU5Q5SV8BCHW\\\",\\\"groupId\\\":\\\"sg-0caf4503bc4536a40\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.2.81\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:fc:e3:f3:dc:0b\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-f18344c9\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"privateDnsName\\\":\\\"ip-10-0-2-81.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-0d80b20485af3a1d8","subnetId":"subnet-094e8bf3e6b674e9c","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-05d22f6236a7fafbb","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-05d22f6236a7fafbb","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1045.5,"y":349.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-07c69bf4bd1be8f0d","resourceId":["eni-07c69bf4bd1be8f0d","arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-07c69bf4bd1be8f0d"],"parent":"NetworkInterface-subnet-094e8bf3e6b674e9c-eu-west-1a-vpc-0d80b20485af3a1d8-eu-west-1-060997615305","level":6,"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-07c69bf4bd1be8f0d","title":"eni-07c69bf4bd1be8f0d","label":"eni-07c69bf4...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-07c69bf4bd1be8f0d","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-07c69bf4bd1be8f0d","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-07c69bf4bd1be8f0d","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-07c69bf4bd1be8f0d","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-07c69bf4bd1be8f0d\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-3-173.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.3.173\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-094e8bf3e6b674e9c\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-031e38c9529fe6584\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2-SecurityGroup-1GU5Q5SV8BCHW\\\",\\\"groupId\\\":\\\"sg-0caf4503bc4536a40\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.3.173\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:36:e2:fa:7f:fb\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-5f844367\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"privateDnsName\\\":\\\"ip-10-0-3-173.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-0d80b20485af3a1d8","subnetId":"subnet-094e8bf3e6b674e9c","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-07c69bf4bd1be8f0d","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-07c69bf4bd1be8f0d","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1118.5,"y":422.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-08456dd9f8cb7c079","resourceId":["eni-08456dd9f8cb7c079","arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-08456dd9f8cb7c079"],"parent":"NetworkInterface-subnet-094e8bf3e6b674e9c-eu-west-1a-vpc-0d80b20485af3a1d8-eu-west-1-060997615305","level":6,"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-08456dd9f8cb7c079","title":"eni-08456dd9f8cb7c079","label":"eni-08456dd9...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-08456dd9f8cb7c079","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-08456dd9f8cb7c079","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-08456dd9f8cb7c079","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-08456dd9f8cb7c079","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-08456dd9f8cb7c079\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-2-13.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.2.13\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-094e8bf3e6b674e9c\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-00570fc5e7ef58845\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2-SecurityGroup-1GU5Q5SV8BCHW\\\",\\\"groupId\\\":\\\"sg-0caf4503bc4536a40\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.2.13\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:19:78:1e:36:9b\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-50844368\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"privateDnsName\\\":\\\"ip-10-0-2-13.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-0d80b20485af3a1d8","subnetId":"subnet-094e8bf3e6b674e9c","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-08456dd9f8cb7c079","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-08456dd9f8cb7c079","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1045.5,"y":422.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0c1073d056a4003b3","resourceId":["eni-0c1073d056a4003b3","arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0c1073d056a4003b3"],"parent":"NetworkInterface-subnet-094e8bf3e6b674e9c-eu-west-1a-vpc-0d80b20485af3a1d8-eu-west-1-060997615305","level":6,"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0c1073d056a4003b3","title":"eni-0c1073d056a4003b3","label":"eni-0c1073d0...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0c1073d056a4003b3","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-0c1073d056a4003b3","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0c1073d056a4003b3","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0c1073d056a4003b3","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0c1073d056a4003b3\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-0-196.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.0.196\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-094e8bf3e6b674e9c\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-031030c53838c8e3f\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2-SecurityGroup-1GU5Q5SV8BCHW\\\",\\\"groupId\\\":\\\"sg-0caf4503bc4536a40\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.0.196\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:4b:1f:51:f2:6f\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-6487405c\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"privateDnsName\\\":\\\"ip-10-0-0-196.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-0d80b20485af3a1d8","subnetId":"subnet-094e8bf3e6b674e9c","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0c1073d056a4003b3","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0c1073d056a4003b3","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-972.5,"y":349.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"subnet-0b5f8a2321f4781d9-eu-west-1c-vpc-0d80b20485af3a1d8-eu-west-1-060997615305","parent":"eu-west-1c-vpc-0d80b20485af3a1d8-eu-west-1-060997615305","level":4,"title":"subnet-0b5f8a2321f4781d9","label":"subnet-0b5f8a2321f4781d9","plainLabel":"subnet-0b5f8a2321f4781d9","type":"subnet","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/VPC-subnet-private_light-bg-collapsed.svg","clickedId":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-0b5f8a2321f4781d9","cost":0,"hasChildren":true,"children":[{"id":null,"label":"NetworkInterface","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-04d438dab9798a66d","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-04d438dab9798a66d","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-04d438dab9798a66d\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-9-61.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.9.61\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0b5f8a2321f4781d9\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-0a6f99f2549c3ab5d\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2-SecurityGroup-1GU5Q5SV8BCHW\\\",\\\"groupId\\\":\\\"sg-0caf4503bc4536a40\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.9.61\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:02:51:3d:4c:91\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-dd5e8cff\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"privateDnsName\\\":\\\"ip-10-0-9-61.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-0d80b20485af3a1d8","subnetId":"subnet-0b5f8a2321f4781d9","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-04d438dab9798a66d","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-04d438dab9798a66d","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0f26ea6dc497f2c28","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0f26ea6dc497f2c28","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0f26ea6dc497f2c28\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-8-51.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.8.51\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0b5f8a2321f4781d9\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-00570fc5e7ef58845\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2-SecurityGroup-1GU5Q5SV8BCHW\\\",\\\"groupId\\\":\\\"sg-0caf4503bc4536a40\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.8.51\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:a0:9d:d6:0a:a7\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-d75486f5\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"privateDnsName\\\":\\\"ip-10-0-8-51.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-0d80b20485af3a1d8","subnetId":"subnet-0b5f8a2321f4781d9","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0f26ea6dc497f2c28","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0f26ea6dc497f2c28","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-00ceb39a6487a023e","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-00ceb39a6487a023e","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-00ceb39a6487a023e\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-11-134.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.11.134\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0b5f8a2321f4781d9\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-0d35fc6b67ac011aa\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2-SecurityGroup-1GU5Q5SV8BCHW\\\",\\\"groupId\\\":\\\"sg-0caf4503bc4536a40\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.11.134\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:8f:34:02:aa:95\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-245e8c06\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"privateDnsName\\\":\\\"ip-10-0-11-134.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-0d80b20485af3a1d8","subnetId":"subnet-0b5f8a2321f4781d9","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-00ceb39a6487a023e","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-00ceb39a6487a023e","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0c5741d53b43e3f5b","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0c5741d53b43e3f5b","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0c5741d53b43e3f5b\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-9-27.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.9.27\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0b5f8a2321f4781d9\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-031e38c9529fe6584\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2-SecurityGroup-1GU5Q5SV8BCHW\\\",\\\"groupId\\\":\\\"sg-0caf4503bc4536a40\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.9.27\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:ac:8f:71:50:bb\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-954290b7\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"privateDnsName\\\":\\\"ip-10-0-9-27.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-0d80b20485af3a1d8","subnetId":"subnet-0b5f8a2321f4781d9","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0c5741d53b43e3f5b","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0c5741d53b43e3f5b","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0a3eb6ec3be4594c4","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0a3eb6ec3be4594c4","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0a3eb6ec3be4594c4\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-10-213.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.10.213\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0b5f8a2321f4781d9\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-031030c53838c8e3f\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2-SecurityGroup-1GU5Q5SV8BCHW\\\",\\\"groupId\\\":\\\"sg-0caf4503bc4536a40\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.10.213\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:c8:ef:bd:58:85\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-944290b6\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"privateDnsName\\\":\\\"ip-10-0-10-213.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-0d80b20485af3a1d8","subnetId":"subnet-0b5f8a2321f4781d9","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0a3eb6ec3be4594c4","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0a3eb6ec3be4594c4","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#147eba","properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-0b5f8a2321f4781d9","configuration":"\"{\\\"subnetId\\\":\\\"subnet-0b5f8a2321f4781d9\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-0b5f8a2321f4781d9\\\",\\\"availabilityZoneId\\\":\\\"euw1-az1\\\",\\\"cidrBlock\\\":\\\"10.0.8.0/22\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2 Private Subnet 3\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"PrivateSubnet3\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"}],\\\"availableIpAddressCount\\\":1014,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"mapPublicIpOnLaunch\\\":false,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-0d80b20485af3a1d8","subnetId":"subnet-0b5f8a2321f4781d9","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":"true","resourceId":"subnet-0b5f8a2321f4781d9","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2POC-VpcStack-1UF8O2EU11VA2\",\"value\":\"S3F2POC-VpcStack-1UF8O2EU11VA2\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateSubnet3\",\"value\":\"PrivateSubnet3\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=S3F2POC-VpcStack-1UF8O2EU11VA2 Private Subnet 3\",\"value\":\"S3F2POC-VpcStack-1UF8O2EU11VA2 Private Subnet 3\",\"key\":\"Name\"}]","title":"S3F2POC-VpcStack-1UF8O2EU11VA2 Private Subnet 3","instanceType":null,"statement":null,"dBInstanceStatus":null},"resource":{"id":"subnet-0b5f8a2321f4781d9","name":null,"value":null,"type":"AWS::EC2::Subnet","tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2POC-VpcStack-1UF8O2EU11VA2\",\"value\":\"S3F2POC-VpcStack-1UF8O2EU11VA2\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateSubnet3\",\"value\":\"PrivateSubnet3\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=S3F2POC-VpcStack-1UF8O2EU11VA2 Private Subnet 3\",\"value\":\"S3F2POC-VpcStack-1UF8O2EU11VA2 Private Subnet 3\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-0b5f8a2321f4781d9","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","accountId":"060997615305"}},"position":{"x":-633.5,"y":386.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"subnet removeAll _gridParentPadding"},{"data":{"id":"NetworkInterface-subnet-0b5f8a2321f4781d9-eu-west-1c-vpc-0d80b20485af3a1d8-eu-west-1-060997615305","parent":"subnet-0b5f8a2321f4781d9-eu-west-1c-vpc-0d80b20485af3a1d8-eu-west-1-060997615305","level":5,"title":"NetworkInterface","label":"NetworkInterface","plainLabel":"NetworkInterface","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-04d438dab9798a66d","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-04d438dab9798a66d","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-04d438dab9798a66d\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-9-61.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.9.61\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0b5f8a2321f4781d9\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-0a6f99f2549c3ab5d\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2-SecurityGroup-1GU5Q5SV8BCHW\\\",\\\"groupId\\\":\\\"sg-0caf4503bc4536a40\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.9.61\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:02:51:3d:4c:91\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-dd5e8cff\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"privateDnsName\\\":\\\"ip-10-0-9-61.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-0d80b20485af3a1d8","subnetId":"subnet-0b5f8a2321f4781d9","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-04d438dab9798a66d","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-04d438dab9798a66d","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0f26ea6dc497f2c28","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0f26ea6dc497f2c28","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0f26ea6dc497f2c28\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-8-51.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.8.51\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0b5f8a2321f4781d9\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-00570fc5e7ef58845\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2-SecurityGroup-1GU5Q5SV8BCHW\\\",\\\"groupId\\\":\\\"sg-0caf4503bc4536a40\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.8.51\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:a0:9d:d6:0a:a7\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-d75486f5\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"privateDnsName\\\":\\\"ip-10-0-8-51.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-0d80b20485af3a1d8","subnetId":"subnet-0b5f8a2321f4781d9","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0f26ea6dc497f2c28","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0f26ea6dc497f2c28","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-00ceb39a6487a023e","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-00ceb39a6487a023e","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-00ceb39a6487a023e\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-11-134.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.11.134\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0b5f8a2321f4781d9\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-0d35fc6b67ac011aa\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2-SecurityGroup-1GU5Q5SV8BCHW\\\",\\\"groupId\\\":\\\"sg-0caf4503bc4536a40\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.11.134\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:8f:34:02:aa:95\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-245e8c06\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"privateDnsName\\\":\\\"ip-10-0-11-134.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-0d80b20485af3a1d8","subnetId":"subnet-0b5f8a2321f4781d9","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-00ceb39a6487a023e","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-00ceb39a6487a023e","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0c5741d53b43e3f5b","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0c5741d53b43e3f5b","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0c5741d53b43e3f5b\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-9-27.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.9.27\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0b5f8a2321f4781d9\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-031e38c9529fe6584\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2-SecurityGroup-1GU5Q5SV8BCHW\\\",\\\"groupId\\\":\\\"sg-0caf4503bc4536a40\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.9.27\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:ac:8f:71:50:bb\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-954290b7\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"privateDnsName\\\":\\\"ip-10-0-9-27.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-0d80b20485af3a1d8","subnetId":"subnet-0b5f8a2321f4781d9","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0c5741d53b43e3f5b","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0c5741d53b43e3f5b","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0a3eb6ec3be4594c4","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0a3eb6ec3be4594c4","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0a3eb6ec3be4594c4\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-10-213.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.10.213\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0b5f8a2321f4781d9\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-031030c53838c8e3f\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2-SecurityGroup-1GU5Q5SV8BCHW\\\",\\\"groupId\\\":\\\"sg-0caf4503bc4536a40\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.10.213\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:c8:ef:bd:58:85\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-944290b6\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"privateDnsName\\\":\\\"ip-10-0-10-213.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-0d80b20485af3a1d8","subnetId":"subnet-0b5f8a2321f4781d9","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0a3eb6ec3be4594c4","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0a3eb6ec3be4594c4","instanceType":null,"statement":null,"dBInstanceStatus":null}}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-633.5,"y":386.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-04d438dab9798a66d","resourceId":["eni-04d438dab9798a66d","arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-04d438dab9798a66d"],"parent":"NetworkInterface-subnet-0b5f8a2321f4781d9-eu-west-1c-vpc-0d80b20485af3a1d8-eu-west-1-060997615305","level":6,"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-04d438dab9798a66d","title":"eni-04d438dab9798a66d","label":"eni-04d438da...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-04d438dab9798a66d","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-04d438dab9798a66d","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-04d438dab9798a66d","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-04d438dab9798a66d","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-04d438dab9798a66d\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-9-61.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.9.61\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0b5f8a2321f4781d9\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-0a6f99f2549c3ab5d\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2-SecurityGroup-1GU5Q5SV8BCHW\\\",\\\"groupId\\\":\\\"sg-0caf4503bc4536a40\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.9.61\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:02:51:3d:4c:91\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-dd5e8cff\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"privateDnsName\\\":\\\"ip-10-0-9-61.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-0d80b20485af3a1d8","subnetId":"subnet-0b5f8a2321f4781d9","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-04d438dab9798a66d","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-04d438dab9798a66d","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-706.5,"y":349.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0f26ea6dc497f2c28","resourceId":["eni-0f26ea6dc497f2c28","arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0f26ea6dc497f2c28"],"parent":"NetworkInterface-subnet-0b5f8a2321f4781d9-eu-west-1c-vpc-0d80b20485af3a1d8-eu-west-1-060997615305","level":6,"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0f26ea6dc497f2c28","title":"eni-0f26ea6dc497f2c28","label":"eni-0f26ea6d...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0f26ea6dc497f2c28","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-0f26ea6dc497f2c28","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0f26ea6dc497f2c28","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0f26ea6dc497f2c28","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0f26ea6dc497f2c28\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-8-51.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.8.51\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0b5f8a2321f4781d9\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-00570fc5e7ef58845\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2-SecurityGroup-1GU5Q5SV8BCHW\\\",\\\"groupId\\\":\\\"sg-0caf4503bc4536a40\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.8.51\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:a0:9d:d6:0a:a7\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-d75486f5\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"privateDnsName\\\":\\\"ip-10-0-8-51.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-0d80b20485af3a1d8","subnetId":"subnet-0b5f8a2321f4781d9","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0f26ea6dc497f2c28","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0f26ea6dc497f2c28","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-633.5,"y":349.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-00ceb39a6487a023e","resourceId":["eni-00ceb39a6487a023e","arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-00ceb39a6487a023e"],"parent":"NetworkInterface-subnet-0b5f8a2321f4781d9-eu-west-1c-vpc-0d80b20485af3a1d8-eu-west-1-060997615305","level":6,"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-00ceb39a6487a023e","title":"eni-00ceb39a6487a023e","label":"eni-00ceb39a...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-00ceb39a6487a023e","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-00ceb39a6487a023e","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-00ceb39a6487a023e","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-00ceb39a6487a023e","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-00ceb39a6487a023e\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-11-134.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.11.134\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0b5f8a2321f4781d9\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-0d35fc6b67ac011aa\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2-SecurityGroup-1GU5Q5SV8BCHW\\\",\\\"groupId\\\":\\\"sg-0caf4503bc4536a40\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.11.134\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:8f:34:02:aa:95\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-245e8c06\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"privateDnsName\\\":\\\"ip-10-0-11-134.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-0d80b20485af3a1d8","subnetId":"subnet-0b5f8a2321f4781d9","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-00ceb39a6487a023e","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-00ceb39a6487a023e","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-706.5,"y":422.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0c5741d53b43e3f5b","resourceId":["eni-0c5741d53b43e3f5b","arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0c5741d53b43e3f5b"],"parent":"NetworkInterface-subnet-0b5f8a2321f4781d9-eu-west-1c-vpc-0d80b20485af3a1d8-eu-west-1-060997615305","level":6,"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0c5741d53b43e3f5b","title":"eni-0c5741d53b43e3f5b","label":"eni-0c5741d5...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0c5741d53b43e3f5b","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-0c5741d53b43e3f5b","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0c5741d53b43e3f5b","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0c5741d53b43e3f5b","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0c5741d53b43e3f5b\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-9-27.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.9.27\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0b5f8a2321f4781d9\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-031e38c9529fe6584\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2-SecurityGroup-1GU5Q5SV8BCHW\\\",\\\"groupId\\\":\\\"sg-0caf4503bc4536a40\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.9.27\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:ac:8f:71:50:bb\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-954290b7\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"privateDnsName\\\":\\\"ip-10-0-9-27.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-0d80b20485af3a1d8","subnetId":"subnet-0b5f8a2321f4781d9","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0c5741d53b43e3f5b","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0c5741d53b43e3f5b","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-633.5,"y":422.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0a3eb6ec3be4594c4","resourceId":["eni-0a3eb6ec3be4594c4","arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0a3eb6ec3be4594c4"],"parent":"NetworkInterface-subnet-0b5f8a2321f4781d9-eu-west-1c-vpc-0d80b20485af3a1d8-eu-west-1-060997615305","level":6,"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0a3eb6ec3be4594c4","title":"eni-0a3eb6ec3be4594c4","label":"eni-0a3eb6ec...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0a3eb6ec3be4594c4","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-0a3eb6ec3be4594c4","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0a3eb6ec3be4594c4","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0a3eb6ec3be4594c4","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0a3eb6ec3be4594c4\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-10-213.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.10.213\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0b5f8a2321f4781d9\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-031030c53838c8e3f\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2-SecurityGroup-1GU5Q5SV8BCHW\\\",\\\"groupId\\\":\\\"sg-0caf4503bc4536a40\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.10.213\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:c8:ef:bd:58:85\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-944290b6\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"privateDnsName\\\":\\\"ip-10-0-10-213.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-0d80b20485af3a1d8","subnetId":"subnet-0b5f8a2321f4781d9","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0a3eb6ec3be4594c4","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0a3eb6ec3be4594c4","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-560.5,"y":349.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"subnet-055bc3199a2ef29c6-eu-west-1b-vpc-0d80b20485af3a1d8-eu-west-1-060997615305","parent":"eu-west-1b-vpc-0d80b20485af3a1d8-eu-west-1-060997615305","level":4,"title":"subnet-055bc3199a2ef29c6","label":"subnet-055bc3199a2ef29c6","plainLabel":"subnet-055bc3199a2ef29c6","type":"subnet","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/VPC-subnet-private_light-bg-collapsed.svg","clickedId":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-055bc3199a2ef29c6","cost":0,"hasChildren":true,"children":[{"id":null,"label":"NetworkInterface","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-02ea5865dbd62af5b","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-02ea5865dbd62af5b","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-02ea5865dbd62af5b\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-6-251.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.6.251\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-055bc3199a2ef29c6\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-00570fc5e7ef58845\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2-SecurityGroup-1GU5Q5SV8BCHW\\\",\\\"groupId\\\":\\\"sg-0caf4503bc4536a40\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.6.251\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:67:71:ee:6a:f9\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-1f4a9c21\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"privateDnsName\\\":\\\"ip-10-0-6-251.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-0d80b20485af3a1d8","subnetId":"subnet-055bc3199a2ef29c6","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-02ea5865dbd62af5b","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-02ea5865dbd62af5b","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-07b4bf4a58ab2f762","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-07b4bf4a58ab2f762","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-07b4bf4a58ab2f762\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-4-69.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.4.69\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-055bc3199a2ef29c6\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-031030c53838c8e3f\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2-SecurityGroup-1GU5Q5SV8BCHW\\\",\\\"groupId\\\":\\\"sg-0caf4503bc4536a40\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.4.69\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:7b:4d:81:14:3f\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-184a9c26\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"privateDnsName\\\":\\\"ip-10-0-4-69.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-0d80b20485af3a1d8","subnetId":"subnet-055bc3199a2ef29c6","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-07b4bf4a58ab2f762","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-07b4bf4a58ab2f762","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-080f7bc7b8c5a942d","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-080f7bc7b8c5a942d","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-080f7bc7b8c5a942d\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-5-97.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.5.97\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-055bc3199a2ef29c6\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-0a6f99f2549c3ab5d\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2-SecurityGroup-1GU5Q5SV8BCHW\\\",\\\"groupId\\\":\\\"sg-0caf4503bc4536a40\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.5.97\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:f3:0f:24:9a:b5\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-b076a08e\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"privateDnsName\\\":\\\"ip-10-0-5-97.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-0d80b20485af3a1d8","subnetId":"subnet-055bc3199a2ef29c6","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-080f7bc7b8c5a942d","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-080f7bc7b8c5a942d","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0a3b16b29adb427cf","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0a3b16b29adb427cf","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0a3b16b29adb427cf\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-7-142.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.7.142\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-055bc3199a2ef29c6\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-031e38c9529fe6584\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2-SecurityGroup-1GU5Q5SV8BCHW\\\",\\\"groupId\\\":\\\"sg-0caf4503bc4536a40\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.7.142\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:2d:16:fb:d7:47\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-ee4c9ad0\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"privateDnsName\\\":\\\"ip-10-0-7-142.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-0d80b20485af3a1d8","subnetId":"subnet-055bc3199a2ef29c6","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0a3b16b29adb427cf","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0a3b16b29adb427cf","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0af0f117c662bd60c","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0af0f117c662bd60c","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0af0f117c662bd60c\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-7-59.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.7.59\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-055bc3199a2ef29c6\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-0d35fc6b67ac011aa\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2-SecurityGroup-1GU5Q5SV8BCHW\\\",\\\"groupId\\\":\\\"sg-0caf4503bc4536a40\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.7.59\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:27:00:df:0c:83\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-9f4f99a1\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"privateDnsName\\\":\\\"ip-10-0-7-59.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-0d80b20485af3a1d8","subnetId":"subnet-055bc3199a2ef29c6","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0af0f117c662bd60c","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0af0f117c662bd60c","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#147eba","properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-055bc3199a2ef29c6","configuration":"\"{\\\"subnetId\\\":\\\"subnet-055bc3199a2ef29c6\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-055bc3199a2ef29c6\\\",\\\"availabilityZoneId\\\":\\\"euw1-az3\\\",\\\"cidrBlock\\\":\\\"10.0.4.0/22\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"PrivateSubnet2\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2 Private Subnet 2\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"}],\\\"availableIpAddressCount\\\":1014,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"mapPublicIpOnLaunch\\\":false,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-0d80b20485af3a1d8","subnetId":"subnet-055bc3199a2ef29c6","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":"true","resourceId":"subnet-055bc3199a2ef29c6","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2POC-VpcStack-1UF8O2EU11VA2\",\"value\":\"S3F2POC-VpcStack-1UF8O2EU11VA2\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateSubnet2\",\"value\":\"PrivateSubnet2\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=S3F2POC-VpcStack-1UF8O2EU11VA2 Private Subnet 2\",\"value\":\"S3F2POC-VpcStack-1UF8O2EU11VA2 Private Subnet 2\",\"key\":\"Name\"}]","title":"S3F2POC-VpcStack-1UF8O2EU11VA2 Private Subnet 2","instanceType":null,"statement":null,"dBInstanceStatus":null},"resource":{"id":"subnet-055bc3199a2ef29c6","name":null,"value":null,"type":"AWS::EC2::Subnet","tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2POC-VpcStack-1UF8O2EU11VA2\",\"value\":\"S3F2POC-VpcStack-1UF8O2EU11VA2\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateSubnet2\",\"value\":\"PrivateSubnet2\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=S3F2POC-VpcStack-1UF8O2EU11VA2 Private Subnet 2\",\"value\":\"S3F2POC-VpcStack-1UF8O2EU11VA2 Private Subnet 2\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-055bc3199a2ef29c6","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","accountId":"060997615305"}},"position":{"x":-1045.5,"y":715.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"subnet removeAll _gridParentPadding"},{"data":{"id":"NetworkInterface-subnet-055bc3199a2ef29c6-eu-west-1b-vpc-0d80b20485af3a1d8-eu-west-1-060997615305","parent":"subnet-055bc3199a2ef29c6-eu-west-1b-vpc-0d80b20485af3a1d8-eu-west-1-060997615305","level":5,"title":"NetworkInterface","label":"NetworkInterface","plainLabel":"NetworkInterface","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-02ea5865dbd62af5b","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-02ea5865dbd62af5b","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-02ea5865dbd62af5b\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-6-251.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.6.251\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-055bc3199a2ef29c6\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-00570fc5e7ef58845\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2-SecurityGroup-1GU5Q5SV8BCHW\\\",\\\"groupId\\\":\\\"sg-0caf4503bc4536a40\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.6.251\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:67:71:ee:6a:f9\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-1f4a9c21\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"privateDnsName\\\":\\\"ip-10-0-6-251.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-0d80b20485af3a1d8","subnetId":"subnet-055bc3199a2ef29c6","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-02ea5865dbd62af5b","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-02ea5865dbd62af5b","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-07b4bf4a58ab2f762","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-07b4bf4a58ab2f762","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-07b4bf4a58ab2f762\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-4-69.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.4.69\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-055bc3199a2ef29c6\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-031030c53838c8e3f\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2-SecurityGroup-1GU5Q5SV8BCHW\\\",\\\"groupId\\\":\\\"sg-0caf4503bc4536a40\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.4.69\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:7b:4d:81:14:3f\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-184a9c26\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"privateDnsName\\\":\\\"ip-10-0-4-69.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-0d80b20485af3a1d8","subnetId":"subnet-055bc3199a2ef29c6","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-07b4bf4a58ab2f762","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-07b4bf4a58ab2f762","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-080f7bc7b8c5a942d","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-080f7bc7b8c5a942d","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-080f7bc7b8c5a942d\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-5-97.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.5.97\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-055bc3199a2ef29c6\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-0a6f99f2549c3ab5d\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2-SecurityGroup-1GU5Q5SV8BCHW\\\",\\\"groupId\\\":\\\"sg-0caf4503bc4536a40\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.5.97\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:f3:0f:24:9a:b5\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-b076a08e\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"privateDnsName\\\":\\\"ip-10-0-5-97.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-0d80b20485af3a1d8","subnetId":"subnet-055bc3199a2ef29c6","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-080f7bc7b8c5a942d","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-080f7bc7b8c5a942d","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0a3b16b29adb427cf","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0a3b16b29adb427cf","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0a3b16b29adb427cf\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-7-142.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.7.142\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-055bc3199a2ef29c6\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-031e38c9529fe6584\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2-SecurityGroup-1GU5Q5SV8BCHW\\\",\\\"groupId\\\":\\\"sg-0caf4503bc4536a40\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.7.142\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:2d:16:fb:d7:47\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-ee4c9ad0\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"privateDnsName\\\":\\\"ip-10-0-7-142.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-0d80b20485af3a1d8","subnetId":"subnet-055bc3199a2ef29c6","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0a3b16b29adb427cf","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0a3b16b29adb427cf","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0af0f117c662bd60c","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0af0f117c662bd60c","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0af0f117c662bd60c\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-7-59.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.7.59\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-055bc3199a2ef29c6\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-0d35fc6b67ac011aa\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2-SecurityGroup-1GU5Q5SV8BCHW\\\",\\\"groupId\\\":\\\"sg-0caf4503bc4536a40\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.7.59\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:27:00:df:0c:83\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-9f4f99a1\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"privateDnsName\\\":\\\"ip-10-0-7-59.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-0d80b20485af3a1d8","subnetId":"subnet-055bc3199a2ef29c6","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0af0f117c662bd60c","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0af0f117c662bd60c","instanceType":null,"statement":null,"dBInstanceStatus":null}}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1045.5,"y":715.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-02ea5865dbd62af5b","resourceId":["eni-02ea5865dbd62af5b","arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-02ea5865dbd62af5b"],"parent":"NetworkInterface-subnet-055bc3199a2ef29c6-eu-west-1b-vpc-0d80b20485af3a1d8-eu-west-1-060997615305","level":6,"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-02ea5865dbd62af5b","title":"eni-02ea5865dbd62af5b","label":"eni-02ea5865...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-02ea5865dbd62af5b","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-02ea5865dbd62af5b","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-02ea5865dbd62af5b","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-02ea5865dbd62af5b","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-02ea5865dbd62af5b\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-6-251.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.6.251\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-055bc3199a2ef29c6\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-00570fc5e7ef58845\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2-SecurityGroup-1GU5Q5SV8BCHW\\\",\\\"groupId\\\":\\\"sg-0caf4503bc4536a40\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.6.251\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:67:71:ee:6a:f9\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-1f4a9c21\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"privateDnsName\\\":\\\"ip-10-0-6-251.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-0d80b20485af3a1d8","subnetId":"subnet-055bc3199a2ef29c6","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-02ea5865dbd62af5b","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-02ea5865dbd62af5b","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1118.5,"y":678.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-07b4bf4a58ab2f762","resourceId":["eni-07b4bf4a58ab2f762","arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-07b4bf4a58ab2f762"],"parent":"NetworkInterface-subnet-055bc3199a2ef29c6-eu-west-1b-vpc-0d80b20485af3a1d8-eu-west-1-060997615305","level":6,"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-07b4bf4a58ab2f762","title":"eni-07b4bf4a58ab2f762","label":"eni-07b4bf4a...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-07b4bf4a58ab2f762","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-07b4bf4a58ab2f762","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-07b4bf4a58ab2f762","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-07b4bf4a58ab2f762","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-07b4bf4a58ab2f762\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-4-69.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.4.69\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-055bc3199a2ef29c6\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-031030c53838c8e3f\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2-SecurityGroup-1GU5Q5SV8BCHW\\\",\\\"groupId\\\":\\\"sg-0caf4503bc4536a40\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.4.69\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:7b:4d:81:14:3f\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-184a9c26\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"privateDnsName\\\":\\\"ip-10-0-4-69.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-0d80b20485af3a1d8","subnetId":"subnet-055bc3199a2ef29c6","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-07b4bf4a58ab2f762","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-07b4bf4a58ab2f762","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1045.5,"y":678.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-080f7bc7b8c5a942d","resourceId":["eni-080f7bc7b8c5a942d","arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-080f7bc7b8c5a942d"],"parent":"NetworkInterface-subnet-055bc3199a2ef29c6-eu-west-1b-vpc-0d80b20485af3a1d8-eu-west-1-060997615305","level":6,"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-080f7bc7b8c5a942d","title":"eni-080f7bc7b8c5a942d","label":"eni-080f7bc7...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-080f7bc7b8c5a942d","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-080f7bc7b8c5a942d","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-080f7bc7b8c5a942d","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-080f7bc7b8c5a942d","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-080f7bc7b8c5a942d\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-5-97.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.5.97\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-055bc3199a2ef29c6\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-0a6f99f2549c3ab5d\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2-SecurityGroup-1GU5Q5SV8BCHW\\\",\\\"groupId\\\":\\\"sg-0caf4503bc4536a40\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.5.97\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:f3:0f:24:9a:b5\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-b076a08e\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"privateDnsName\\\":\\\"ip-10-0-5-97.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-0d80b20485af3a1d8","subnetId":"subnet-055bc3199a2ef29c6","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-080f7bc7b8c5a942d","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-080f7bc7b8c5a942d","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1118.5,"y":751.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0a3b16b29adb427cf","resourceId":["eni-0a3b16b29adb427cf","arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0a3b16b29adb427cf"],"parent":"NetworkInterface-subnet-055bc3199a2ef29c6-eu-west-1b-vpc-0d80b20485af3a1d8-eu-west-1-060997615305","level":6,"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0a3b16b29adb427cf","title":"eni-0a3b16b29adb427cf","label":"eni-0a3b16b2...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0a3b16b29adb427cf","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-0a3b16b29adb427cf","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0a3b16b29adb427cf","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0a3b16b29adb427cf","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0a3b16b29adb427cf\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-7-142.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.7.142\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-055bc3199a2ef29c6\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-031e38c9529fe6584\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2-SecurityGroup-1GU5Q5SV8BCHW\\\",\\\"groupId\\\":\\\"sg-0caf4503bc4536a40\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.7.142\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:2d:16:fb:d7:47\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-ee4c9ad0\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"privateDnsName\\\":\\\"ip-10-0-7-142.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-0d80b20485af3a1d8","subnetId":"subnet-055bc3199a2ef29c6","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0a3b16b29adb427cf","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0a3b16b29adb427cf","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1045.5,"y":751.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0af0f117c662bd60c","resourceId":["eni-0af0f117c662bd60c","arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0af0f117c662bd60c"],"parent":"NetworkInterface-subnet-055bc3199a2ef29c6-eu-west-1b-vpc-0d80b20485af3a1d8-eu-west-1-060997615305","level":6,"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0af0f117c662bd60c","title":"eni-0af0f117c662bd60c","label":"eni-0af0f117...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0af0f117c662bd60c","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-0af0f117c662bd60c","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0af0f117c662bd60c","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0af0f117c662bd60c","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0af0f117c662bd60c\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-7-59.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.7.59\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-055bc3199a2ef29c6\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-0d35fc6b67ac011aa\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2-SecurityGroup-1GU5Q5SV8BCHW\\\",\\\"groupId\\\":\\\"sg-0caf4503bc4536a40\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.7.59\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:27:00:df:0c:83\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-9f4f99a1\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"privateDnsName\\\":\\\"ip-10-0-7-59.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-0d80b20485af3a1d8","subnetId":"subnet-055bc3199a2ef29c6","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0af0f117c662bd60c","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0af0f117c662bd60c","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-972.5,"y":678.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"Multiple Availability Zones-vpc-0d80b20485af3a1d8-eu-west-1-060997615305","parent":"vpc-0d80b20485af3a1d8-eu-west-1-060997615305","level":3,"title":"Multiple Availability Zones","label":"Multiple Availability Zones","plainLabel":"Multiple Availability Zones","type":"availabilityZone","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/availabilityZone.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":null,"label":"NetworkAcl","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-0bd29caf4886cb943","label":"AWS_EC2_NetworkAcl","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-0bd29caf4886cb943","configuration":"\"{\\\"associations\\\":[],\\\"entries\\\":[{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":false},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":false}],\\\"isDefault\\\":true,\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"networkAclId\\\":\\\"acl-0bd29caf4886cb943\\\",\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-0d80b20485af3a1d8","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#acls:sort=networkAclId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#acls:sort=networkAclId","private":null,"resourceId":"acl-0bd29caf4886cb943","resourceName":null,"resourceType":"AWS::EC2::NetworkAcl","resourceValue":null,"state":null,"tags":"[]","title":"acl-0bd29caf4886cb943","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-0c661be5d70cd8616","label":"AWS_EC2_NetworkAcl","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-0c661be5d70cd8616","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-0b5f8a2321f4781d9\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-093eb8362991c7a7a\\\",\\\"networkAclId\\\":\\\"acl-0c661be5d70cd8616\\\"},{\\\"subnetId\\\":\\\"subnet-055bc3199a2ef29c6\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-0188a473cd3843ac3\\\",\\\"networkAclId\\\":\\\"acl-0c661be5d70cd8616\\\"},{\\\"subnetId\\\":\\\"subnet-094e8bf3e6b674e9c\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-0b7313eb6bc62ac7b\\\",\\\"networkAclId\\\":\\\"acl-0c661be5d70cd8616\\\"}],\\\"entries\\\":[{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":99,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":99,\\\"egress\\\":false},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":false}],\\\"isDefault\\\":false,\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"networkAclId\\\":\\\"acl-0c661be5d70cd8616\\\",\\\"tags\\\":[{\\\"value\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"PrivateNetworkAcl\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-0d80b20485af3a1d8","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#acls:sort=networkAclId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#acls:sort=networkAclId","private":null,"resourceId":"acl-0c661be5d70cd8616","resourceName":null,"resourceType":"AWS::EC2::NetworkAcl","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2POC-VpcStack-1UF8O2EU11VA2\",\"value\":\"S3F2POC-VpcStack-1UF8O2EU11VA2\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateNetworkAcl\",\"value\":\"PrivateNetworkAcl\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"acl-0c661be5d70cd8616","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1102,"y":964.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"availabilityZone removeAll _gridParentPadding"},{"data":{"id":"NetworkAcl-Multiple Availability Zones-vpc-0d80b20485af3a1d8-eu-west-1-060997615305","parent":"Multiple Availability Zones-vpc-0d80b20485af3a1d8-eu-west-1-060997615305","level":4,"title":"NetworkAcl","label":"NetworkAcl","plainLabel":"NetworkAcl","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-VPC_Network-Access-Control-List_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-0bd29caf4886cb943","label":"AWS_EC2_NetworkAcl","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-0bd29caf4886cb943","configuration":"\"{\\\"associations\\\":[],\\\"entries\\\":[{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":false},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":false}],\\\"isDefault\\\":true,\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"networkAclId\\\":\\\"acl-0bd29caf4886cb943\\\",\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-0d80b20485af3a1d8","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#acls:sort=networkAclId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#acls:sort=networkAclId","private":null,"resourceId":"acl-0bd29caf4886cb943","resourceName":null,"resourceType":"AWS::EC2::NetworkAcl","resourceValue":null,"state":null,"tags":"[]","title":"acl-0bd29caf4886cb943","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-0c661be5d70cd8616","label":"AWS_EC2_NetworkAcl","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-0c661be5d70cd8616","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-0b5f8a2321f4781d9\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-093eb8362991c7a7a\\\",\\\"networkAclId\\\":\\\"acl-0c661be5d70cd8616\\\"},{\\\"subnetId\\\":\\\"subnet-055bc3199a2ef29c6\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-0188a473cd3843ac3\\\",\\\"networkAclId\\\":\\\"acl-0c661be5d70cd8616\\\"},{\\\"subnetId\\\":\\\"subnet-094e8bf3e6b674e9c\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-0b7313eb6bc62ac7b\\\",\\\"networkAclId\\\":\\\"acl-0c661be5d70cd8616\\\"}],\\\"entries\\\":[{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":99,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":99,\\\"egress\\\":false},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":false}],\\\"isDefault\\\":false,\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"networkAclId\\\":\\\"acl-0c661be5d70cd8616\\\",\\\"tags\\\":[{\\\"value\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"PrivateNetworkAcl\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-0d80b20485af3a1d8","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#acls:sort=networkAclId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#acls:sort=networkAclId","private":null,"resourceId":"acl-0c661be5d70cd8616","resourceName":null,"resourceType":"AWS::EC2::NetworkAcl","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2POC-VpcStack-1UF8O2EU11VA2\",\"value\":\"S3F2POC-VpcStack-1UF8O2EU11VA2\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateNetworkAcl\",\"value\":\"PrivateNetworkAcl\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"acl-0c661be5d70cd8616","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1102,"y":964.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-0bd29caf4886cb943","resourceId":["acl-0bd29caf4886cb943","arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-0bd29caf4886cb943"],"parent":"NetworkAcl-Multiple Availability Zones-vpc-0d80b20485af3a1d8-eu-west-1-060997615305","level":5,"id":"arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-0bd29caf4886cb943","title":"acl-0bd29caf4886cb943","label":"acl-0bd29caf...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-0bd29caf4886cb943","image":"/icons/Amazon-VPC_Network-Access-Control-List_light-bg.svg","cost":0,"private":false,"resource":{"id":"acl-0bd29caf4886cb943","name":null,"value":null,"type":"AWS::EC2::NetworkAcl","tags":"[]","arn":"arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-0bd29caf4886cb943","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#acls:sort=networkAclId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#acls:sort=networkAclId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-0bd29caf4886cb943","configuration":"\"{\\\"associations\\\":[],\\\"entries\\\":[{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":false},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":false}],\\\"isDefault\\\":true,\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"networkAclId\\\":\\\"acl-0bd29caf4886cb943\\\",\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-0d80b20485af3a1d8","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#acls:sort=networkAclId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#acls:sort=networkAclId","private":null,"resourceId":"acl-0bd29caf4886cb943","resourceName":null,"resourceType":"AWS::EC2::NetworkAcl","resourceValue":null,"state":null,"tags":"[]","title":"acl-0bd29caf4886cb943","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1138.5,"y":964.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-0c661be5d70cd8616","resourceId":["acl-0c661be5d70cd8616","arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-0c661be5d70cd8616"],"parent":"NetworkAcl-Multiple Availability Zones-vpc-0d80b20485af3a1d8-eu-west-1-060997615305","level":5,"id":"arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-0c661be5d70cd8616","title":"acl-0c661be5d70cd8616","label":"acl-0c661be5...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-0c661be5d70cd8616","image":"/icons/Amazon-VPC_Network-Access-Control-List_light-bg.svg","cost":0,"private":false,"resource":{"id":"acl-0c661be5d70cd8616","name":null,"value":null,"type":"AWS::EC2::NetworkAcl","tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2POC-VpcStack-1UF8O2EU11VA2\",\"value\":\"S3F2POC-VpcStack-1UF8O2EU11VA2\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateNetworkAcl\",\"value\":\"PrivateNetworkAcl\",\"key\":\"aws:cloudformation:logical-id\"}]","arn":"arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-0c661be5d70cd8616","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#acls:sort=networkAclId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#acls:sort=networkAclId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-0c661be5d70cd8616","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-0b5f8a2321f4781d9\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-093eb8362991c7a7a\\\",\\\"networkAclId\\\":\\\"acl-0c661be5d70cd8616\\\"},{\\\"subnetId\\\":\\\"subnet-055bc3199a2ef29c6\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-0188a473cd3843ac3\\\",\\\"networkAclId\\\":\\\"acl-0c661be5d70cd8616\\\"},{\\\"subnetId\\\":\\\"subnet-094e8bf3e6b674e9c\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-0b7313eb6bc62ac7b\\\",\\\"networkAclId\\\":\\\"acl-0c661be5d70cd8616\\\"}],\\\"entries\\\":[{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":99,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":99,\\\"egress\\\":false},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":false}],\\\"isDefault\\\":false,\\\"vpcId\\\":\\\"vpc-0d80b20485af3a1d8\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"networkAclId\\\":\\\"acl-0c661be5d70cd8616\\\",\\\"tags\\\":[{\\\"value\\\":\\\"S3F2POC-VpcStack-1UF8O2EU11VA2\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"PrivateNetworkAcl\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-0d80b20485af3a1d8","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#acls:sort=networkAclId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#acls:sort=networkAclId","private":null,"resourceId":"acl-0c661be5d70cd8616","resourceName":null,"resourceType":"AWS::EC2::NetworkAcl","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=S3F2POC-VpcStack-1UF8O2EU11VA2\",\"value\":\"S3F2POC-VpcStack-1UF8O2EU11VA2\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateNetworkAcl\",\"value\":\"PrivateNetworkAcl\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"acl-0c661be5d70cd8616","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1065.5,"y":964.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:tags::060997615305:tag/aws:cloudformation:stack-name=S3F2POC-VpcStack-1UF8O2EU11VA2","resourceId":["arn:aws:tags::060997615305:tag/aws:cloudformation:stack-name=S3F2POC-VpcStack-1UF8O2EU11VA2","arn:aws:tags::060997615305:tag/aws:cloudformation:stack-name=S3F2POC-VpcStack-1UF8O2EU11VA2"],"parent":"Tag-global-060997615305","level":3,"id":"arn:aws:tags::060997615305:tag/aws:cloudformation:stack-name=S3F2POC-VpcStack-1UF8O2EU11VA2","title":"aws:cloudformation:stack-name=S3F2POC-VpcStack-1UF8O2EU11VA2","label":"aws:cloudfor...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:tags::060997615305:tag/aws:cloudformation:stack-name=S3F2POC-VpcStack-1UF8O2EU11VA2","image":"/icons/AWS-Tags-bg.svg","cost":0,"private":false,"resource":{"id":"arn:aws:tags::060997615305:tag/aws:cloudformation:stack-name=S3F2POC-VpcStack-1UF8O2EU11VA2","name":"aws:cloudformation:stack-name=S3F2POC-VpcStack-1UF8O2EU11VA2","value":null,"type":"AWS::Tags::Tag","tags":"[]","arn":"arn:aws:tags::060997615305:tag/aws:cloudformation:stack-name=S3F2POC-VpcStack-1UF8O2EU11VA2","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:tags::060997615305:tag/aws:cloudformation:stack-name=S3F2POC-VpcStack-1UF8O2EU11VA2","configuration":"\"{}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:tags::060997615305:tag/aws:cloudformation:stack-name=S3F2POC-VpcStack-1UF8O2EU11VA2","resourceName":"aws:cloudformation:stack-name=S3F2POC-VpcStack-1UF8O2EU11VA2","resourceType":"AWS::Tags::Tag","resourceValue":null,"state":null,"tags":"[]","title":"aws:cloudformation:stack-name=S3F2POC-VpcStack-1UF8O2EU11VA2","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2122.5,"y":2729.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:tags::060997615305:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5","resourceId":["arn:aws:tags::060997615305:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5","arn:aws:tags::060997615305:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5"],"parent":"Tag-global-060997615305","level":3,"id":"arn:aws:tags::060997615305:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5","title":"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5","label":"aws:cloudfor...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:tags::060997615305:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5","image":"/icons/AWS-Tags-bg.svg","cost":0,"private":false,"resource":{"id":"arn:aws:tags::060997615305:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5","name":"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5","value":null,"type":"AWS::Tags::Tag","tags":"[]","arn":"arn:aws:tags::060997615305:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:tags::060997615305:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5","configuration":"\"{}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:tags::060997615305:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5","resourceName":"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5","resourceType":"AWS::Tags::Tag","resourceValue":null,"state":null,"tags":"[]","title":"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2049.5,"y":2729.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:tags::060997615305:tag/Name=S3F2POC-VpcStack-1UF8O2EU11VA2 VPC","resourceId":["arn:aws:tags::060997615305:tag/Name=S3F2POC-VpcStack-1UF8O2EU11VA2 VPC","arn:aws:tags::060997615305:tag/Name=S3F2POC-VpcStack-1UF8O2EU11VA2 VPC"],"parent":"Tag-global-060997615305","level":3,"id":"arn:aws:tags::060997615305:tag/Name=S3F2POC-VpcStack-1UF8O2EU11VA2 VPC","title":"Name=S3F2POC-VpcStack-1UF8O2EU11VA2 VPC","label":"Name=S3F2POC...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:tags::060997615305:tag/Name=S3F2POC-VpcStack-1UF8O2EU11VA2 VPC","image":"/icons/AWS-Tags-bg.svg","cost":0,"private":false,"resource":{"id":"arn:aws:tags::060997615305:tag/Name=S3F2POC-VpcStack-1UF8O2EU11VA2 VPC","name":"Name=S3F2POC-VpcStack-1UF8O2EU11VA2 VPC","value":null,"type":"AWS::Tags::Tag","tags":"[]","arn":"arn:aws:tags::060997615305:tag/Name=S3F2POC-VpcStack-1UF8O2EU11VA2 VPC","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:tags::060997615305:tag/Name=S3F2POC-VpcStack-1UF8O2EU11VA2 VPC","configuration":"\"{}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:tags::060997615305:tag/Name=S3F2POC-VpcStack-1UF8O2EU11VA2 VPC","resourceName":"Name=S3F2POC-VpcStack-1UF8O2EU11VA2 VPC","resourceType":"AWS::Tags::Tag","resourceValue":null,"state":null,"tags":"[]","title":"Name=S3F2POC-VpcStack-1UF8O2EU11VA2 VPC","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1976.5,"y":2729.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"DeploymentConfig-eu-west-1-060997615305","parent":"eu-west-1-060997615305","level":2,"title":"DeploymentConfig","label":"DeploymentConfig","plainLabel":"DeploymentConfig","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent5Minutes","label":"AWS_CodeDeploy_DeploymentConfig","parent":true,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent5Minutes","configuration":"\"{\\\"computePlatform\\\":\\\"Lambda\\\",\\\"deploymentConfigId\\\":\\\"00000000-0000-0000-0000-000000000007\\\",\\\"deploymentConfigName\\\":\\\"CodeDeployDefault.LambdaCanary10Percent5Minutes\\\",\\\"trafficRoutingConfig\\\":{\\\"type\\\":\\\"TimeBasedCanary\\\",\\\"timeBasedCanary\\\":{\\\"canaryPercentage\\\":10,\\\"canaryInterval\\\":5}}}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"00000000-0000-0000-0000-000000000007","resourceName":"CodeDeployDefault.LambdaCanary10Percent5Minutes","resourceType":"AWS::CodeDeploy::DeploymentConfig","resourceValue":null,"state":null,"tags":"[]","title":"CodeDeployDefault.LambdaCanary10Percent5Minutes","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-992.5,"y":1254.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent5Minutes","resourceId":["00000000-0000-0000-0000-000000000007","arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent5Minutes"],"parent":"DeploymentConfig-eu-west-1-060997615305","level":3,"id":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent5Minutes","title":"CodeDeployDefault.LambdaCanary10Percent5Minutes","label":"CodeDeployDe...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent5Minutes","cost":0,"private":false,"resource":{"id":"00000000-0000-0000-0000-000000000007","name":"CodeDeployDefault.LambdaCanary10Percent5Minutes","value":null,"type":"AWS::CodeDeploy::DeploymentConfig","tags":"[]","arn":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent5Minutes","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent5Minutes","configuration":"\"{\\\"computePlatform\\\":\\\"Lambda\\\",\\\"deploymentConfigId\\\":\\\"00000000-0000-0000-0000-000000000007\\\",\\\"deploymentConfigName\\\":\\\"CodeDeployDefault.LambdaCanary10Percent5Minutes\\\",\\\"trafficRoutingConfig\\\":{\\\"type\\\":\\\"TimeBasedCanary\\\",\\\"timeBasedCanary\\\":{\\\"canaryPercentage\\\":10,\\\"canaryInterval\\\":5}}}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"00000000-0000-0000-0000-000000000007","resourceName":"CodeDeployDefault.LambdaCanary10Percent5Minutes","resourceType":"AWS::CodeDeploy::DeploymentConfig","resourceValue":null,"state":null,"tags":"[]","title":"CodeDeployDefault.LambdaCanary10Percent5Minutes","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-1138.5,"y":1144.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","resourceId":["vpc-04e5e1c4bc4409222","arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222"],"parent":"VPC-Multiple Availability Zones-eu-west-1-044981683129","level":4,"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","title":"vpc-04e5e1c4bc4409222","label":"vpc-04e5e1c4...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","image":"/icons/VPC-menu.svg","cost":0,"private":false,"resource":{"id":"vpc-04e5e1c4bc4409222","name":null,"value":null,"type":"AWS::EC2::VPC","tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"value\":\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"Network=Public\",\"value\":\"Public\",\"key\":\"Network\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"aws:cloudformation:logical-id=VPC\",\"value\":\"VPC\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Application=wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"value\":\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"key\":\"Application\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#vpcs:sort=VpcId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#vpcs:sort=VpcId","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","configuration":"\"{\\\"instanceTenancy\\\":\\\"default\\\",\\\"isDefault\\\":false,\\\"dhcpOptionsId\\\":\\\"dopt-01ea0a1b1a9b59c0a\\\",\\\"cidrBlock\\\":\\\"10.0.0.0/16\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"cidrBlockAssociationSet\\\":[{\\\"cidrBlock\\\":\\\"10.0.0.0/16\\\",\\\"cidrBlockState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"associationId\\\":\\\"vpc-cidr-assoc-0c87c0fd6286ce011\\\"}],\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipv6CidrBlockAssociationSet\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\\\",\\\"key\\\":\\\"Application\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"key\\\":\\\"AppManagerCFNStackKey\\\"},{\\\"value\\\":\\\"VPC\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"Public\\\",\\\"key\\\":\\\"Network\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":null,"subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#vpcs:sort=VpcId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#vpcs:sort=VpcId","private":null,"resourceId":"vpc-04e5e1c4bc4409222","resourceName":null,"resourceType":"AWS::EC2::VPC","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"value\":\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"Network=Public\",\"value\":\"Public\",\"key\":\"Network\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"aws:cloudformation:logical-id=VPC\",\"value\":\"VPC\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Application=wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"value\":\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"key\":\"Application\"}]","title":"vpc-04e5e1c4bc4409222","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-301.5,"y":-442.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"id":"SecurityGroup-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","parent":"vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":3,"title":"SecurityGroup","label":"SecurityGroup","plainLabel":"SecurityGroup","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/AWSSecurityGroup.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-02b585bfae59e4fe3","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-02b585bfae59e4fe3","configuration":"\"{\\\"groupName\\\":\\\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO-VpcEndpointsSg-1HFDNS5FPIC7L\\\",\\\"groupId\\\":\\\"sg-02b585bfae59e4fe3\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"10.0.0.0/16\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":443,\\\"toPort\\\":443,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"description\\\":\\\"Explicit egress group locking down outbound access for HTTPS\\\",\\\"cidrIp\\\":\\\"10.0.0.0/16\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"Security group for Gremlin lambda\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[],\\\"prefixListIds\\\":[],\\\"fromPort\\\":443,\\\"toPort\\\":443,\\\"userIdGroupPairs\\\":[{\\\"groupId\\\":\\\"sg-0f7a98df64d99b50d\\\",\\\"description\\\":\\\"Ingress Security Group for ECR Vpc Endpoint\\\",\\\"userId\\\":\\\"044981683129\\\"}],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"VpcEndpointsSg\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"key\\\":\\\"AppManagerCFNStackKey\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-02b585bfae59e4fe3","resourceName":"wd2-2022-10-07-VpcStack-JV66F8IP5PCO-VpcEndpointsSg-1HFDNS5FPIC7L","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"value\":\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=VpcEndpointsSg\",\"value\":\"VpcEndpointsSg\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"}]","title":"wd2-2022-10-07-VpcStack-JV66F8IP5PCO-VpcEndpointsSg-1HFDNS5FPIC7L","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-02df76c6e6753f6b3","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-02df76c6e6753f6b3","configuration":"\"{\\\"groupName\\\":\\\"wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-NeptuneDbSg-Y7988QV8NPL0\\\",\\\"groupId\\\":\\\"sg-02df76c6e6753f6b3\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"10.0.0.0/16\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":6174,\\\"toPort\\\":6174,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"description\\\":\\\"Explicit egress group locking down outbound access for Neptune\\\",\\\"cidrIp\\\":\\\"10.0.0.0/16\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"Security group governing access to Neptune instance\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[],\\\"prefixListIds\\\":[],\\\"fromPort\\\":0,\\\"toPort\\\":65535,\\\"userIdGroupPairs\\\":[{\\\"groupId\\\":\\\"sg-02df76c6e6753f6b3\\\",\\\"description\\\":\\\"notebook\\\",\\\"userId\\\":\\\"044981683129\\\"}],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[],\\\"prefixListIds\\\":[],\\\"fromPort\\\":6174,\\\"toPort\\\":6174,\\\"userIdGroupPairs\\\":[{\\\"groupId\\\":\\\"sg-044b48335ef509cb2\\\",\\\"description\\\":\\\"Ingress for Neptune from Gremlin AppSync lambda\\\",\\\"userId\\\":\\\"044981683129\\\"}],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[{\\\"value\\\":\\\"wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-neptune-sg\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2/095e7890-4669-11ed-ab67-0a55c4146165\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"NeptuneDbSg\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"key\\\":\\\"AppManagerCFNStackKey\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-02df76c6e6753f6b3","resourceName":"wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-NeptuneDbSg-Y7988QV8NPL0","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2\",\"value\":\"wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2/095e7890-4669-11ed-ab67-0a55c4146165\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2/095e7890-4669-11ed-ab67-0a55c4146165\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=NeptuneDbSg\",\"value\":\"NeptuneDbSg\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"Name=wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-neptune-sg\",\"value\":\"wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-neptune-sg\",\"key\":\"Name\"}]","title":"wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-neptune-sg","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-030453011373764ba","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-030453011373764ba","configuration":"\"{\\\"groupName\\\":\\\"wd2-2022-10-07-SearchResolversStack-CBU7QRC0LONQ-SearchLambdaSg-PW4G863M4NF6\\\",\\\"groupId\\\":\\\"sg-030453011373764ba\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"Security group for Search API lambda\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipPermissions\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"key\\\":\\\"AppManagerCFNStackKey\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-SearchResolversStack-CBU7QRC0LONQ/166f47b0-466b-11ed-aa9c-0666bdaadecb\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"SearchLambdaSg\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"wd2-2022-10-07-SearchResolversStack-CBU7QRC0LONQ\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-030453011373764ba","resourceName":"wd2-2022-10-07-SearchResolversStack-CBU7QRC0LONQ-SearchLambdaSg-PW4G863M4NF6","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-SearchResolversStack-CBU7QRC0LONQ\",\"value\":\"wd2-2022-10-07-SearchResolversStack-CBU7QRC0LONQ\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-SearchResolversStack-CBU7QRC0LONQ/166f47b0-466b-11ed-aa9c-0666bdaadecb\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-SearchResolversStack-CBU7QRC0LONQ/166f47b0-466b-11ed-aa9c-0666bdaadecb\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"aws:cloudformation:logical-id=SearchLambdaSg\",\"value\":\"SearchLambdaSg\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"wd2-2022-10-07-SearchResolversStack-CBU7QRC0LONQ-SearchLambdaSg-PW4G863M4NF6","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-044b48335ef509cb2","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-044b48335ef509cb2","configuration":"\"{\\\"groupName\\\":\\\"wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8-GremlinResolverLambdaSg-1H1C5S7X1VUYZ\\\",\\\"groupId\\\":\\\"sg-044b48335ef509cb2\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"Security group for Gremlin AppSync lambda\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipPermissions\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"GremlinResolverLambdaSg\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8/84b956d0-466a-11ed-bed8-0e6093335a65\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"key\\\":\\\"AppManagerCFNStackKey\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-044b48335ef509cb2","resourceName":"wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8-GremlinResolverLambdaSg-1H1C5S7X1VUYZ","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8\",\"value\":\"wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8/84b956d0-466a-11ed-bed8-0e6093335a65\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8/84b956d0-466a-11ed-bed8-0e6093335a65\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=GremlinResolverLambdaSg\",\"value\":\"GremlinResolverLambdaSg\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"}]","title":"wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8-GremlinResolverLambdaSg-1H1C5S7X1VUYZ","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0696201a4200147f4","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0696201a4200147f4","configuration":"\"{\\\"groupName\\\":\\\"wd2-2022-10-07-OpenSearchStack-1AX1CP06M7WKW-OpenSearchSg-9T7A87DPDKI8\\\",\\\"groupId\\\":\\\"sg-0696201a4200147f4\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"10.0.0.0/16\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":80,\\\"toPort\\\":80,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"description\\\":\\\"Explicit egress group locking down outbound access HTTP\\\",\\\"cidrIp\\\":\\\"10.0.0.0/16\\\"}],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[\\\"10.0.0.0/16\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":443,\\\"toPort\\\":443,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"description\\\":\\\"Explicit egress group locking down outbound access for HTTPS\\\",\\\"cidrIp\\\":\\\"10.0.0.0/16\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"workload-discovery-OS Security Group\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[],\\\"prefixListIds\\\":[],\\\"fromPort\\\":443,\\\"toPort\\\":443,\\\"userIdGroupPairs\\\":[{\\\"groupId\\\":\\\"sg-030453011373764ba\\\",\\\"description\\\":\\\"Ingress Security Group for OpenSearch appsync lambda\\\",\\\"userId\\\":\\\"044981683129\\\"}],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[{\\\"value\\\":\\\"wd2-2022-10-07-OpenSearchStack-1AX1CP06M7WKW\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"key\\\":\\\"AppManagerCFNStackKey\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-OpenSearchStack-1AX1CP06M7WKW/0944af00-4669-11ed-8f8e-06615d4223f5\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"OpenSearchSg\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0696201a4200147f4","resourceName":"wd2-2022-10-07-OpenSearchStack-1AX1CP06M7WKW-OpenSearchSg-9T7A87DPDKI8","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-OpenSearchStack-1AX1CP06M7WKW\",\"value\":\"wd2-2022-10-07-OpenSearchStack-1AX1CP06M7WKW\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-OpenSearchStack-1AX1CP06M7WKW/0944af00-4669-11ed-8f8e-06615d4223f5\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-OpenSearchStack-1AX1CP06M7WKW/0944af00-4669-11ed-8f8e-06615d4223f5\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"aws:cloudformation:logical-id=OpenSearchSg\",\"value\":\"OpenSearchSg\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"wd2-2022-10-07-OpenSearchStack-1AX1CP06M7WKW-OpenSearchSg-9T7A87DPDKI8","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-07bcd62814c7e8895","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-07bcd62814c7e8895","configuration":"\"{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-07bcd62814c7e8895\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"default VPC security group\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[{\\\"groupId\\\":\\\"sg-07bcd62814c7e8895\\\",\\\"userId\\\":\\\"044981683129\\\"}],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-07bcd62814c7e8895","resourceName":"default","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"default","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0f7a98df64d99b50d","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0f7a98df64d99b50d","configuration":"\"{\\\"groupName\\\":\\\"wd2-2022-10-07-TaskStack-HRSVA4HB3B79-TaskSg-1F0RTEXN4EVGZ\\\",\\\"groupId\\\":\\\"sg-0f7a98df64d99b50d\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"Security group for Discovery Task\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipPermissions\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"key\\\":\\\"AppManagerCFNStackKey\\\"},{\\\"value\\\":\\\"TaskSg\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-TaskStack-HRSVA4HB3B79/e2929100-4669-11ed-b4d3-06482d7663f5\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"wd2-2022-10-07-TaskStack-HRSVA4HB3B79\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0f7a98df64d99b50d","resourceName":"wd2-2022-10-07-TaskStack-HRSVA4HB3B79-TaskSg-1F0RTEXN4EVGZ","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-TaskStack-HRSVA4HB3B79\",\"value\":\"wd2-2022-10-07-TaskStack-HRSVA4HB3B79\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-TaskStack-HRSVA4HB3B79/e2929100-4669-11ed-b4d3-06482d7663f5\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-TaskStack-HRSVA4HB3B79/e2929100-4669-11ed-b4d3-06482d7663f5\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"aws:cloudformation:logical-id=TaskSg\",\"value\":\"TaskSg\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"wd2-2022-10-07-TaskStack-HRSVA4HB3B79-TaskSg-1F0RTEXN4EVGZ","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1497.5,"y":-1955.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-02b585bfae59e4fe3","resourceId":["sg-02b585bfae59e4fe3","arn:aws:ec2:eu-west-1:044981683129:security-group/sg-02b585bfae59e4fe3"],"parent":"SecurityGroup-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":4,"id":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-02b585bfae59e4fe3","title":"wd2-2022-10-07-VpcStack-JV66F8IP5PCO-VpcEndpointsSg-1HFDNS5FPIC7L","label":"wd2-2022-10-...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-02b585bfae59e4fe3","image":"/icons/AWSSecurityGroup.svg","cost":0,"private":false,"resource":{"id":"sg-02b585bfae59e4fe3","name":"wd2-2022-10-07-VpcStack-JV66F8IP5PCO-VpcEndpointsSg-1HFDNS5FPIC7L","value":null,"type":"AWS::EC2::SecurityGroup","tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"value\":\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=VpcEndpointsSg\",\"value\":\"VpcEndpointsSg\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-02b585bfae59e4fe3","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-02b585bfae59e4fe3","configuration":"\"{\\\"groupName\\\":\\\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO-VpcEndpointsSg-1HFDNS5FPIC7L\\\",\\\"groupId\\\":\\\"sg-02b585bfae59e4fe3\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"10.0.0.0/16\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":443,\\\"toPort\\\":443,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"description\\\":\\\"Explicit egress group locking down outbound access for HTTPS\\\",\\\"cidrIp\\\":\\\"10.0.0.0/16\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"Security group for Gremlin lambda\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[],\\\"prefixListIds\\\":[],\\\"fromPort\\\":443,\\\"toPort\\\":443,\\\"userIdGroupPairs\\\":[{\\\"groupId\\\":\\\"sg-0f7a98df64d99b50d\\\",\\\"description\\\":\\\"Ingress Security Group for ECR Vpc Endpoint\\\",\\\"userId\\\":\\\"044981683129\\\"}],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"VpcEndpointsSg\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"key\\\":\\\"AppManagerCFNStackKey\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-02b585bfae59e4fe3","resourceName":"wd2-2022-10-07-VpcStack-JV66F8IP5PCO-VpcEndpointsSg-1HFDNS5FPIC7L","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"value\":\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=VpcEndpointsSg\",\"value\":\"VpcEndpointsSg\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"}]","title":"wd2-2022-10-07-VpcStack-JV66F8IP5PCO-VpcEndpointsSg-1HFDNS5FPIC7L","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1570.5,"y":-2028.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-02df76c6e6753f6b3","resourceId":["sg-02df76c6e6753f6b3","arn:aws:ec2:eu-west-1:044981683129:security-group/sg-02df76c6e6753f6b3"],"parent":"SecurityGroup-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":4,"id":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-02df76c6e6753f6b3","title":"wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-neptune-sg","label":"wd2-2022-10-...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-02df76c6e6753f6b3","image":"/icons/AWSSecurityGroup.svg","cost":0,"private":false,"resource":{"id":"sg-02df76c6e6753f6b3","name":"wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-NeptuneDbSg-Y7988QV8NPL0","value":null,"type":"AWS::EC2::SecurityGroup","tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2\",\"value\":\"wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2/095e7890-4669-11ed-ab67-0a55c4146165\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2/095e7890-4669-11ed-ab67-0a55c4146165\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=NeptuneDbSg\",\"value\":\"NeptuneDbSg\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"Name=wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-neptune-sg\",\"value\":\"wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-neptune-sg\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-02df76c6e6753f6b3","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-02df76c6e6753f6b3","configuration":"\"{\\\"groupName\\\":\\\"wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-NeptuneDbSg-Y7988QV8NPL0\\\",\\\"groupId\\\":\\\"sg-02df76c6e6753f6b3\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"10.0.0.0/16\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":6174,\\\"toPort\\\":6174,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"description\\\":\\\"Explicit egress group locking down outbound access for Neptune\\\",\\\"cidrIp\\\":\\\"10.0.0.0/16\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"Security group governing access to Neptune instance\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[],\\\"prefixListIds\\\":[],\\\"fromPort\\\":0,\\\"toPort\\\":65535,\\\"userIdGroupPairs\\\":[{\\\"groupId\\\":\\\"sg-02df76c6e6753f6b3\\\",\\\"description\\\":\\\"notebook\\\",\\\"userId\\\":\\\"044981683129\\\"}],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[],\\\"prefixListIds\\\":[],\\\"fromPort\\\":6174,\\\"toPort\\\":6174,\\\"userIdGroupPairs\\\":[{\\\"groupId\\\":\\\"sg-044b48335ef509cb2\\\",\\\"description\\\":\\\"Ingress for Neptune from Gremlin AppSync lambda\\\",\\\"userId\\\":\\\"044981683129\\\"}],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[{\\\"value\\\":\\\"wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-neptune-sg\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2/095e7890-4669-11ed-ab67-0a55c4146165\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"NeptuneDbSg\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"key\\\":\\\"AppManagerCFNStackKey\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-02df76c6e6753f6b3","resourceName":"wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-NeptuneDbSg-Y7988QV8NPL0","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2\",\"value\":\"wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2/095e7890-4669-11ed-ab67-0a55c4146165\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2/095e7890-4669-11ed-ab67-0a55c4146165\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=NeptuneDbSg\",\"value\":\"NeptuneDbSg\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"Name=wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-neptune-sg\",\"value\":\"wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-neptune-sg\",\"key\":\"Name\"}]","title":"wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-neptune-sg","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1497.5,"y":-2028.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-030453011373764ba","resourceId":["sg-030453011373764ba","arn:aws:ec2:eu-west-1:044981683129:security-group/sg-030453011373764ba"],"parent":"SecurityGroup-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":4,"id":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-030453011373764ba","title":"wd2-2022-10-07-SearchResolversStack-CBU7QRC0LONQ-SearchLambdaSg-PW4G863M4NF6","label":"wd2-2022-10-...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-030453011373764ba","image":"/icons/AWSSecurityGroup.svg","cost":0,"private":false,"resource":{"id":"sg-030453011373764ba","name":"wd2-2022-10-07-SearchResolversStack-CBU7QRC0LONQ-SearchLambdaSg-PW4G863M4NF6","value":null,"type":"AWS::EC2::SecurityGroup","tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-SearchResolversStack-CBU7QRC0LONQ\",\"value\":\"wd2-2022-10-07-SearchResolversStack-CBU7QRC0LONQ\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-SearchResolversStack-CBU7QRC0LONQ/166f47b0-466b-11ed-aa9c-0666bdaadecb\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-SearchResolversStack-CBU7QRC0LONQ/166f47b0-466b-11ed-aa9c-0666bdaadecb\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"aws:cloudformation:logical-id=SearchLambdaSg\",\"value\":\"SearchLambdaSg\",\"key\":\"aws:cloudformation:logical-id\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-030453011373764ba","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-030453011373764ba","configuration":"\"{\\\"groupName\\\":\\\"wd2-2022-10-07-SearchResolversStack-CBU7QRC0LONQ-SearchLambdaSg-PW4G863M4NF6\\\",\\\"groupId\\\":\\\"sg-030453011373764ba\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"Security group for Search API lambda\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipPermissions\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"key\\\":\\\"AppManagerCFNStackKey\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-SearchResolversStack-CBU7QRC0LONQ/166f47b0-466b-11ed-aa9c-0666bdaadecb\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"SearchLambdaSg\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"wd2-2022-10-07-SearchResolversStack-CBU7QRC0LONQ\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-030453011373764ba","resourceName":"wd2-2022-10-07-SearchResolversStack-CBU7QRC0LONQ-SearchLambdaSg-PW4G863M4NF6","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-SearchResolversStack-CBU7QRC0LONQ\",\"value\":\"wd2-2022-10-07-SearchResolversStack-CBU7QRC0LONQ\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-SearchResolversStack-CBU7QRC0LONQ/166f47b0-466b-11ed-aa9c-0666bdaadecb\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-SearchResolversStack-CBU7QRC0LONQ/166f47b0-466b-11ed-aa9c-0666bdaadecb\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"aws:cloudformation:logical-id=SearchLambdaSg\",\"value\":\"SearchLambdaSg\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"wd2-2022-10-07-SearchResolversStack-CBU7QRC0LONQ-SearchLambdaSg-PW4G863M4NF6","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1570.5,"y":-1955.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-044b48335ef509cb2","resourceId":["sg-044b48335ef509cb2","arn:aws:ec2:eu-west-1:044981683129:security-group/sg-044b48335ef509cb2"],"parent":"SecurityGroup-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":4,"id":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-044b48335ef509cb2","title":"wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8-GremlinResolverLambdaSg-1H1C5S7X1VUYZ","label":"wd2-2022-10-...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-044b48335ef509cb2","image":"/icons/AWSSecurityGroup.svg","cost":0,"private":false,"resource":{"id":"sg-044b48335ef509cb2","name":"wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8-GremlinResolverLambdaSg-1H1C5S7X1VUYZ","value":null,"type":"AWS::EC2::SecurityGroup","tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8\",\"value\":\"wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8/84b956d0-466a-11ed-bed8-0e6093335a65\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8/84b956d0-466a-11ed-bed8-0e6093335a65\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=GremlinResolverLambdaSg\",\"value\":\"GremlinResolverLambdaSg\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-044b48335ef509cb2","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-044b48335ef509cb2","configuration":"\"{\\\"groupName\\\":\\\"wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8-GremlinResolverLambdaSg-1H1C5S7X1VUYZ\\\",\\\"groupId\\\":\\\"sg-044b48335ef509cb2\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"Security group for Gremlin AppSync lambda\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipPermissions\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"GremlinResolverLambdaSg\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8/84b956d0-466a-11ed-bed8-0e6093335a65\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"key\\\":\\\"AppManagerCFNStackKey\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-044b48335ef509cb2","resourceName":"wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8-GremlinResolverLambdaSg-1H1C5S7X1VUYZ","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8\",\"value\":\"wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8/84b956d0-466a-11ed-bed8-0e6093335a65\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8/84b956d0-466a-11ed-bed8-0e6093335a65\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=GremlinResolverLambdaSg\",\"value\":\"GremlinResolverLambdaSg\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"}]","title":"wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8-GremlinResolverLambdaSg-1H1C5S7X1VUYZ","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1497.5,"y":-1955.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0696201a4200147f4","resourceId":["sg-0696201a4200147f4","arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0696201a4200147f4"],"parent":"SecurityGroup-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":4,"id":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0696201a4200147f4","title":"wd2-2022-10-07-OpenSearchStack-1AX1CP06M7WKW-OpenSearchSg-9T7A87DPDKI8","label":"wd2-2022-10-...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0696201a4200147f4","image":"/icons/AWSSecurityGroup.svg","cost":0,"private":false,"resource":{"id":"sg-0696201a4200147f4","name":"wd2-2022-10-07-OpenSearchStack-1AX1CP06M7WKW-OpenSearchSg-9T7A87DPDKI8","value":null,"type":"AWS::EC2::SecurityGroup","tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-OpenSearchStack-1AX1CP06M7WKW\",\"value\":\"wd2-2022-10-07-OpenSearchStack-1AX1CP06M7WKW\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-OpenSearchStack-1AX1CP06M7WKW/0944af00-4669-11ed-8f8e-06615d4223f5\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-OpenSearchStack-1AX1CP06M7WKW/0944af00-4669-11ed-8f8e-06615d4223f5\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"aws:cloudformation:logical-id=OpenSearchSg\",\"value\":\"OpenSearchSg\",\"key\":\"aws:cloudformation:logical-id\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0696201a4200147f4","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0696201a4200147f4","configuration":"\"{\\\"groupName\\\":\\\"wd2-2022-10-07-OpenSearchStack-1AX1CP06M7WKW-OpenSearchSg-9T7A87DPDKI8\\\",\\\"groupId\\\":\\\"sg-0696201a4200147f4\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"10.0.0.0/16\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":80,\\\"toPort\\\":80,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"description\\\":\\\"Explicit egress group locking down outbound access HTTP\\\",\\\"cidrIp\\\":\\\"10.0.0.0/16\\\"}],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[\\\"10.0.0.0/16\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":443,\\\"toPort\\\":443,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"description\\\":\\\"Explicit egress group locking down outbound access for HTTPS\\\",\\\"cidrIp\\\":\\\"10.0.0.0/16\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"workload-discovery-OS Security Group\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[],\\\"prefixListIds\\\":[],\\\"fromPort\\\":443,\\\"toPort\\\":443,\\\"userIdGroupPairs\\\":[{\\\"groupId\\\":\\\"sg-030453011373764ba\\\",\\\"description\\\":\\\"Ingress Security Group for OpenSearch appsync lambda\\\",\\\"userId\\\":\\\"044981683129\\\"}],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[{\\\"value\\\":\\\"wd2-2022-10-07-OpenSearchStack-1AX1CP06M7WKW\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"key\\\":\\\"AppManagerCFNStackKey\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-OpenSearchStack-1AX1CP06M7WKW/0944af00-4669-11ed-8f8e-06615d4223f5\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"OpenSearchSg\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0696201a4200147f4","resourceName":"wd2-2022-10-07-OpenSearchStack-1AX1CP06M7WKW-OpenSearchSg-9T7A87DPDKI8","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-OpenSearchStack-1AX1CP06M7WKW\",\"value\":\"wd2-2022-10-07-OpenSearchStack-1AX1CP06M7WKW\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-OpenSearchStack-1AX1CP06M7WKW/0944af00-4669-11ed-8f8e-06615d4223f5\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-OpenSearchStack-1AX1CP06M7WKW/0944af00-4669-11ed-8f8e-06615d4223f5\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"aws:cloudformation:logical-id=OpenSearchSg\",\"value\":\"OpenSearchSg\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"wd2-2022-10-07-OpenSearchStack-1AX1CP06M7WKW-OpenSearchSg-9T7A87DPDKI8","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1424.5,"y":-2028.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-07bcd62814c7e8895","resourceId":["sg-07bcd62814c7e8895","arn:aws:ec2:eu-west-1:044981683129:security-group/sg-07bcd62814c7e8895"],"parent":"SecurityGroup-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":4,"id":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-07bcd62814c7e8895","title":"default","label":"default","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-07bcd62814c7e8895","image":"/icons/AWSSecurityGroup.svg","cost":0,"private":false,"resource":{"id":"sg-07bcd62814c7e8895","name":"default","value":null,"type":"AWS::EC2::SecurityGroup","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-07bcd62814c7e8895","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-07bcd62814c7e8895","configuration":"\"{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-07bcd62814c7e8895\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"default VPC security group\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[{\\\"groupId\\\":\\\"sg-07bcd62814c7e8895\\\",\\\"userId\\\":\\\"044981683129\\\"}],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-07bcd62814c7e8895","resourceName":"default","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"default","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1424.5,"y":-1955.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0f7a98df64d99b50d","resourceId":["sg-0f7a98df64d99b50d","arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0f7a98df64d99b50d"],"parent":"SecurityGroup-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":4,"id":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0f7a98df64d99b50d","title":"wd2-2022-10-07-TaskStack-HRSVA4HB3B79-TaskSg-1F0RTEXN4EVGZ","label":"wd2-2022-10-...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0f7a98df64d99b50d","image":"/icons/AWSSecurityGroup.svg","cost":0,"private":false,"resource":{"id":"sg-0f7a98df64d99b50d","name":"wd2-2022-10-07-TaskStack-HRSVA4HB3B79-TaskSg-1F0RTEXN4EVGZ","value":null,"type":"AWS::EC2::SecurityGroup","tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-TaskStack-HRSVA4HB3B79\",\"value\":\"wd2-2022-10-07-TaskStack-HRSVA4HB3B79\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-TaskStack-HRSVA4HB3B79/e2929100-4669-11ed-b4d3-06482d7663f5\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-TaskStack-HRSVA4HB3B79/e2929100-4669-11ed-b4d3-06482d7663f5\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"aws:cloudformation:logical-id=TaskSg\",\"value\":\"TaskSg\",\"key\":\"aws:cloudformation:logical-id\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0f7a98df64d99b50d","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0f7a98df64d99b50d","configuration":"\"{\\\"groupName\\\":\\\"wd2-2022-10-07-TaskStack-HRSVA4HB3B79-TaskSg-1F0RTEXN4EVGZ\\\",\\\"groupId\\\":\\\"sg-0f7a98df64d99b50d\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"Security group for Discovery Task\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"ipPermissions\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"key\\\":\\\"AppManagerCFNStackKey\\\"},{\\\"value\\\":\\\"TaskSg\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-TaskStack-HRSVA4HB3B79/e2929100-4669-11ed-b4d3-06482d7663f5\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"wd2-2022-10-07-TaskStack-HRSVA4HB3B79\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0f7a98df64d99b50d","resourceName":"wd2-2022-10-07-TaskStack-HRSVA4HB3B79-TaskSg-1F0RTEXN4EVGZ","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-TaskStack-HRSVA4HB3B79\",\"value\":\"wd2-2022-10-07-TaskStack-HRSVA4HB3B79\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-TaskStack-HRSVA4HB3B79/e2929100-4669-11ed-b4d3-06482d7663f5\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-TaskStack-HRSVA4HB3B79/e2929100-4669-11ed-b4d3-06482d7663f5\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"aws:cloudformation:logical-id=TaskSg\",\"value\":\"TaskSg\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"wd2-2022-10-07-TaskStack-HRSVA4HB3B79-TaskSg-1F0RTEXN4EVGZ","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1570.5,"y":-1882.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"RouteTable-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","parent":"vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":3,"title":"RouteTable","label":"RouteTable","plainLabel":"RouteTable","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-VPC_Router_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0cee49a6f533b38a9","label":"AWS_EC2_RouteTable","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0cee49a6f533b38a9","configuration":"\"{\\\"associations\\\":[{\\\"routeTableId\\\":\\\"rtb-0cee49a6f533b38a9\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-080c0cff6e294aa78\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":true}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"10.0.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"}],\\\"routeTableId\\\":\\\"rtb-0cee49a6f533b38a9\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-0cee49a6f533b38a9","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[]","title":"rtb-0cee49a6f533b38a9","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-038643ca3ee957ecb","label":"AWS_EC2_RouteTable","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-038643ca3ee957ecb","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-010652f698dff6484\\\",\\\"routeTableId\\\":\\\"rtb-038643ca3ee957ecb\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-02b7e1350f46284f1\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":false}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"10.0.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"},{\\\"destinationCidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"natGatewayId\\\":\\\"nat-0ea43aff989e8baa4\\\",\\\"state\\\":\\\"active\\\"},{\\\"destinationPrefixListId\\\":\\\"pl-6da54004\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"vpce-059216fcfd2879122\\\"}],\\\"routeTableId\\\":\\\"rtb-038643ca3ee957ecb\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"vpc-04e5e1c4bc4409222-private-route-table-1\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"key\\\":\\\"AppManagerCFNStackKey\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"PrivateRouteTable1\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-038643ca3ee957ecb","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"value\":\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateRouteTable1\",\"value\":\"PrivateRouteTable1\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=vpc-04e5e1c4bc4409222-private-route-table-1\",\"value\":\"vpc-04e5e1c4bc4409222-private-route-table-1\",\"key\":\"Name\"}]","title":"vpc-04e5e1c4bc4409222-private-route-table-1","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0638d650b9b9313ac","label":"AWS_EC2_RouteTable","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0638d650b9b9313ac","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-09a8d208939761202\\\",\\\"routeTableId\\\":\\\"rtb-0638d650b9b9313ac\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-0a83d60066fabd7b9\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":false},{\\\"subnetId\\\":\\\"subnet-0a0fb0d325b2f6e27\\\",\\\"routeTableId\\\":\\\"rtb-0638d650b9b9313ac\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-05c2d45d3d2c2adb2\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":false}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"10.0.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"},{\\\"destinationCidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"igw-011382805b47b6baa\\\"},{\\\"destinationPrefixListId\\\":\\\"pl-6da54004\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"vpce-059216fcfd2879122\\\"}],\\\"routeTableId\\\":\\\"rtb-0638d650b9b9313ac\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"Public\\\",\\\"key\\\":\\\"Network\\\"},{\\\"value\\\":\\\"PublicRouteTable\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\\\",\\\"key\\\":\\\"Application\\\"},{\\\"value\\\":\\\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"key\\\":\\\"AppManagerCFNStackKey\\\"},{\\\"value\\\":\\\"vpc-04e5e1c4bc4409222-public-route-table\\\",\\\"key\\\":\\\"Name\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-0638d650b9b9313ac","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"value\":\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"Network=Public\",\"value\":\"Public\",\"key\":\"Network\"},{\"tag\":\"aws:cloudformation:logical-id=PublicRouteTable\",\"value\":\"PublicRouteTable\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"Application=wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"value\":\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"key\":\"Application\"},{\"tag\":\"Name=vpc-04e5e1c4bc4409222-public-route-table\",\"value\":\"vpc-04e5e1c4bc4409222-public-route-table\",\"key\":\"Name\"}]","title":"vpc-04e5e1c4bc4409222-public-route-table","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0843c8e8179ee5a2f","label":"AWS_EC2_RouteTable","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0843c8e8179ee5a2f","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-02e0c991bba17b7eb\\\",\\\"routeTableId\\\":\\\"rtb-0843c8e8179ee5a2f\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-074e3cea55dd21469\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":false}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"10.0.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"},{\\\"destinationCidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"natGatewayId\\\":\\\"nat-0f052ba8450b34d40\\\",\\\"state\\\":\\\"active\\\"},{\\\"destinationPrefixListId\\\":\\\"pl-6da54004\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"vpce-059216fcfd2879122\\\"}],\\\"routeTableId\\\":\\\"rtb-0843c8e8179ee5a2f\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"vpc-04e5e1c4bc4409222-private-route-table-0\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"PrivateRouteTable0\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"key\\\":\\\"AppManagerCFNStackKey\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-0843c8e8179ee5a2f","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"value\":\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateRouteTable0\",\"value\":\"PrivateRouteTable0\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"Name=vpc-04e5e1c4bc4409222-private-route-table-0\",\"value\":\"vpc-04e5e1c4bc4409222-private-route-table-0\",\"key\":\"Name\"}]","title":"vpc-04e5e1c4bc4409222-private-route-table-0","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1049,"y":-1991.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0cee49a6f533b38a9","resourceId":["rtb-0cee49a6f533b38a9","arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0cee49a6f533b38a9"],"parent":"RouteTable-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":4,"id":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0cee49a6f533b38a9","title":"rtb-0cee49a6f533b38a9","label":"rtb-0cee49a6...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0cee49a6f533b38a9","image":"/icons/Amazon-VPC_Router_light-bg.svg","cost":0,"private":false,"resource":{"id":"rtb-0cee49a6f533b38a9","name":null,"value":null,"type":"AWS::EC2::RouteTable","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0cee49a6f533b38a9","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0cee49a6f533b38a9","configuration":"\"{\\\"associations\\\":[{\\\"routeTableId\\\":\\\"rtb-0cee49a6f533b38a9\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-080c0cff6e294aa78\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":true}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"10.0.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"}],\\\"routeTableId\\\":\\\"rtb-0cee49a6f533b38a9\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-0cee49a6f533b38a9","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[]","title":"rtb-0cee49a6f533b38a9","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1085.5,"y":-2028.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-038643ca3ee957ecb","resourceId":["rtb-038643ca3ee957ecb","arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-038643ca3ee957ecb"],"parent":"RouteTable-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":4,"id":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-038643ca3ee957ecb","title":"vpc-04e5e1c4bc4409222-private-route-table-1","label":"vpc-04e5e1c4...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-038643ca3ee957ecb","image":"/icons/Amazon-VPC_Router_light-bg.svg","cost":0,"private":false,"resource":{"id":"rtb-038643ca3ee957ecb","name":null,"value":null,"type":"AWS::EC2::RouteTable","tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"value\":\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateRouteTable1\",\"value\":\"PrivateRouteTable1\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=vpc-04e5e1c4bc4409222-private-route-table-1\",\"value\":\"vpc-04e5e1c4bc4409222-private-route-table-1\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-038643ca3ee957ecb","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-038643ca3ee957ecb","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-010652f698dff6484\\\",\\\"routeTableId\\\":\\\"rtb-038643ca3ee957ecb\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-02b7e1350f46284f1\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":false}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"10.0.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"},{\\\"destinationCidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"natGatewayId\\\":\\\"nat-0ea43aff989e8baa4\\\",\\\"state\\\":\\\"active\\\"},{\\\"destinationPrefixListId\\\":\\\"pl-6da54004\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"vpce-059216fcfd2879122\\\"}],\\\"routeTableId\\\":\\\"rtb-038643ca3ee957ecb\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"vpc-04e5e1c4bc4409222-private-route-table-1\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"key\\\":\\\"AppManagerCFNStackKey\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"PrivateRouteTable1\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-038643ca3ee957ecb","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"value\":\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateRouteTable1\",\"value\":\"PrivateRouteTable1\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Name=vpc-04e5e1c4bc4409222-private-route-table-1\",\"value\":\"vpc-04e5e1c4bc4409222-private-route-table-1\",\"key\":\"Name\"}]","title":"vpc-04e5e1c4bc4409222-private-route-table-1","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1012.5,"y":-2028.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0638d650b9b9313ac","resourceId":["rtb-0638d650b9b9313ac","arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0638d650b9b9313ac"],"parent":"RouteTable-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":4,"id":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0638d650b9b9313ac","title":"vpc-04e5e1c4bc4409222-public-route-table","label":"vpc-04e5e1c4...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0638d650b9b9313ac","image":"/icons/Amazon-VPC_Router_light-bg.svg","cost":0,"private":false,"resource":{"id":"rtb-0638d650b9b9313ac","name":null,"value":null,"type":"AWS::EC2::RouteTable","tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"value\":\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"Network=Public\",\"value\":\"Public\",\"key\":\"Network\"},{\"tag\":\"aws:cloudformation:logical-id=PublicRouteTable\",\"value\":\"PublicRouteTable\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"Application=wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"value\":\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"key\":\"Application\"},{\"tag\":\"Name=vpc-04e5e1c4bc4409222-public-route-table\",\"value\":\"vpc-04e5e1c4bc4409222-public-route-table\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0638d650b9b9313ac","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0638d650b9b9313ac","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-09a8d208939761202\\\",\\\"routeTableId\\\":\\\"rtb-0638d650b9b9313ac\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-0a83d60066fabd7b9\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":false},{\\\"subnetId\\\":\\\"subnet-0a0fb0d325b2f6e27\\\",\\\"routeTableId\\\":\\\"rtb-0638d650b9b9313ac\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-05c2d45d3d2c2adb2\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":false}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"10.0.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"},{\\\"destinationCidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"igw-011382805b47b6baa\\\"},{\\\"destinationPrefixListId\\\":\\\"pl-6da54004\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"vpce-059216fcfd2879122\\\"}],\\\"routeTableId\\\":\\\"rtb-0638d650b9b9313ac\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"Public\\\",\\\"key\\\":\\\"Network\\\"},{\\\"value\\\":\\\"PublicRouteTable\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\\\",\\\"key\\\":\\\"Application\\\"},{\\\"value\\\":\\\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"key\\\":\\\"AppManagerCFNStackKey\\\"},{\\\"value\\\":\\\"vpc-04e5e1c4bc4409222-public-route-table\\\",\\\"key\\\":\\\"Name\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-0638d650b9b9313ac","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"value\":\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"Network=Public\",\"value\":\"Public\",\"key\":\"Network\"},{\"tag\":\"aws:cloudformation:logical-id=PublicRouteTable\",\"value\":\"PublicRouteTable\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"Application=wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"value\":\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"key\":\"Application\"},{\"tag\":\"Name=vpc-04e5e1c4bc4409222-public-route-table\",\"value\":\"vpc-04e5e1c4bc4409222-public-route-table\",\"key\":\"Name\"}]","title":"vpc-04e5e1c4bc4409222-public-route-table","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1085.5,"y":-1955.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0843c8e8179ee5a2f","resourceId":["rtb-0843c8e8179ee5a2f","arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0843c8e8179ee5a2f"],"parent":"RouteTable-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":4,"id":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0843c8e8179ee5a2f","title":"vpc-04e5e1c4bc4409222-private-route-table-0","label":"vpc-04e5e1c4...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0843c8e8179ee5a2f","image":"/icons/Amazon-VPC_Router_light-bg.svg","cost":0,"private":false,"resource":{"id":"rtb-0843c8e8179ee5a2f","name":null,"value":null,"type":"AWS::EC2::RouteTable","tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"value\":\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateRouteTable0\",\"value\":\"PrivateRouteTable0\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"Name=vpc-04e5e1c4bc4409222-private-route-table-0\",\"value\":\"vpc-04e5e1c4bc4409222-private-route-table-0\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0843c8e8179ee5a2f","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0843c8e8179ee5a2f","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-02e0c991bba17b7eb\\\",\\\"routeTableId\\\":\\\"rtb-0843c8e8179ee5a2f\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-074e3cea55dd21469\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":false}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"10.0.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"},{\\\"destinationCidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"natGatewayId\\\":\\\"nat-0f052ba8450b34d40\\\",\\\"state\\\":\\\"active\\\"},{\\\"destinationPrefixListId\\\":\\\"pl-6da54004\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"vpce-059216fcfd2879122\\\"}],\\\"routeTableId\\\":\\\"rtb-0843c8e8179ee5a2f\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"vpc-04e5e1c4bc4409222-private-route-table-0\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"PrivateRouteTable0\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"key\\\":\\\"AppManagerCFNStackKey\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-0843c8e8179ee5a2f","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"value\":\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateRouteTable0\",\"value\":\"PrivateRouteTable0\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"Name=vpc-04e5e1c4bc4409222-private-route-table-0\",\"value\":\"vpc-04e5e1c4bc4409222-private-route-table-0\",\"key\":\"Name\"}]","title":"vpc-04e5e1c4bc4409222-private-route-table-0","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1012.5,"y":-1955.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"VPCEndpoint-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","parent":"vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":3,"title":"VPCEndpoint","label":"VPCEndpoint","plainLabel":"VPCEndpoint","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-EC2_VPC_Endpoints_light-bg-menu.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc-endpoint/vpce-059216fcfd2879122","label":"AWS_EC2_VPCEndpoint","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:vpc-endpoint/vpce-059216fcfd2879122","configuration":"\"{\\\"policyDocument\\\":\\\"{\\\\\\\"Version\\\\\\\":\\\\\\\"2008-10-17\\\\\\\",\\\\\\\"Statement\\\\\\\":[{\\\\\\\"Effect\\\\\\\":\\\\\\\"Allow\\\\\\\",\\\\\\\"Principal\\\\\\\":\\\\\\\"*\\\\\\\",\\\\\\\"Action\\\\\\\":\\\\\\\"*\\\\\\\",\\\\\\\"Resource\\\\\\\":\\\\\\\"*\\\\\\\"}]}\\\",\\\"groups\\\":[],\\\"serviceName\\\":\\\"com.amazonaws.eu-west-1.s3\\\",\\\"privateDnsEnabled\\\":false,\\\"ownerId\\\":\\\"044981683129\\\",\\\"requesterManaged\\\":false,\\\"vpcEndpointId\\\":\\\"vpce-059216fcfd2879122\\\",\\\"tags\\\":[],\\\"routeTableIds\\\":[\\\"rtb-0843c8e8179ee5a2f\\\",\\\"rtb-0638d650b9b9313ac\\\",\\\"rtb-038643ca3ee957ecb\\\"],\\\"vpcEndpointType\\\":\\\"Gateway\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"creationTimestamp\\\":\\\"2022-10-07T17:51:34Z\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"dnsEntries\\\":[],\\\"networkInterfaceIds\\\":[],\\\"subnetIds\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"vpce-059216fcfd2879122","resourceName":null,"resourceType":"AWS::EC2::VPCEndpoint","resourceValue":null,"state":null,"tags":"[]","title":"vpce-059216fcfd2879122","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc-endpoint/vpce-075e2a5ba4b2ed02a","label":"AWS_EC2_VPCEndpoint","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:vpc-endpoint/vpce-075e2a5ba4b2ed02a","configuration":"\"{\\\"policyDocument\\\":\\\"{\\\\n \\\\\\\"Statement\\\\\\\": [\\\\n {\\\\n \\\\\\\"Action\\\\\\\": \\\\\\\"*\\\\\\\", \\\\n \\\\\\\"Effect\\\\\\\": \\\\\\\"Allow\\\\\\\", \\\\n \\\\\\\"Principal\\\\\\\": \\\\\\\"*\\\\\\\", \\\\n \\\\\\\"Resource\\\\\\\": \\\\\\\"*\\\\\\\"\\\\n }\\\\n ]\\\\n}\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO-VpcEndpointsSg-1HFDNS5FPIC7L\\\",\\\"groupId\\\":\\\"sg-02b585bfae59e4fe3\\\"}],\\\"dnsOptions\\\":{\\\"dnsRecordIpType\\\":\\\"ipv4\\\"},\\\"serviceName\\\":\\\"com.amazonaws.eu-west-1.ecr.api\\\",\\\"privateDnsEnabled\\\":true,\\\"ownerId\\\":\\\"044981683129\\\",\\\"requesterManaged\\\":false,\\\"vpcEndpointId\\\":\\\"vpce-075e2a5ba4b2ed02a\\\",\\\"ipAddressType\\\":\\\"ipv4\\\",\\\"tags\\\":[],\\\"routeTableIds\\\":[],\\\"vpcEndpointType\\\":\\\"Interface\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"creationTimestamp\\\":\\\"2022-10-07T17:51:27.393Z\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"dnsEntries\\\":[{\\\"hostedZoneId\\\":\\\"Z38GZ743OKFT7T\\\",\\\"dnsName\\\":\\\"vpce-075e2a5ba4b2ed02a-ruq1vaqq.api.ecr.eu-west-1.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z38GZ743OKFT7T\\\",\\\"dnsName\\\":\\\"vpce-075e2a5ba4b2ed02a-ruq1vaqq-eu-west-1a.api.ecr.eu-west-1.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z38GZ743OKFT7T\\\",\\\"dnsName\\\":\\\"vpce-075e2a5ba4b2ed02a-ruq1vaqq-eu-west-1b.api.ecr.eu-west-1.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z09102373CYLWI74UQX8G\\\",\\\"dnsName\\\":\\\"api.ecr.eu-west-1.amazonaws.com\\\"}],\\\"networkInterfaceIds\\\":[\\\"eni-03024ce5b29130f8f\\\",\\\"eni-070be058c14902fa0\\\"],\\\"subnetIds\\\":[\\\"subnet-010652f698dff6484\\\",\\\"subnet-02e0c991bba17b7eb\\\"]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"vpce-075e2a5ba4b2ed02a","resourceName":null,"resourceType":"AWS::EC2::VPCEndpoint","resourceValue":null,"state":null,"tags":"[]","title":"vpce-075e2a5ba4b2ed02a","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc-endpoint/vpce-081b9b329885369e1","label":"AWS_EC2_VPCEndpoint","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:vpc-endpoint/vpce-081b9b329885369e1","configuration":"\"{\\\"policyDocument\\\":\\\"{\\\\n \\\\\\\"Statement\\\\\\\": [\\\\n {\\\\n \\\\\\\"Action\\\\\\\": \\\\\\\"*\\\\\\\", \\\\n \\\\\\\"Effect\\\\\\\": \\\\\\\"Allow\\\\\\\", \\\\n \\\\\\\"Principal\\\\\\\": \\\\\\\"*\\\\\\\", \\\\n \\\\\\\"Resource\\\\\\\": \\\\\\\"*\\\\\\\"\\\\n }\\\\n ]\\\\n}\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO-VpcEndpointsSg-1HFDNS5FPIC7L\\\",\\\"groupId\\\":\\\"sg-02b585bfae59e4fe3\\\"}],\\\"dnsOptions\\\":{\\\"dnsRecordIpType\\\":\\\"ipv4\\\"},\\\"serviceName\\\":\\\"com.amazonaws.eu-west-1.ecr.dkr\\\",\\\"privateDnsEnabled\\\":true,\\\"ownerId\\\":\\\"044981683129\\\",\\\"requesterManaged\\\":false,\\\"vpcEndpointId\\\":\\\"vpce-081b9b329885369e1\\\",\\\"ipAddressType\\\":\\\"ipv4\\\",\\\"tags\\\":[],\\\"routeTableIds\\\":[],\\\"vpcEndpointType\\\":\\\"Interface\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"creationTimestamp\\\":\\\"2022-10-07T17:51:27.432Z\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"dnsEntries\\\":[{\\\"hostedZoneId\\\":\\\"Z38GZ743OKFT7T\\\",\\\"dnsName\\\":\\\"vpce-081b9b329885369e1-sim68k0y.dkr.ecr.eu-west-1.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z38GZ743OKFT7T\\\",\\\"dnsName\\\":\\\"vpce-081b9b329885369e1-sim68k0y-eu-west-1a.dkr.ecr.eu-west-1.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z38GZ743OKFT7T\\\",\\\"dnsName\\\":\\\"vpce-081b9b329885369e1-sim68k0y-eu-west-1b.dkr.ecr.eu-west-1.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z091165811LCG13FR3LT0\\\",\\\"dnsName\\\":\\\"dkr.ecr.eu-west-1.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z091165811LCG13FR3LT0\\\",\\\"dnsName\\\":\\\"*.dkr.ecr.eu-west-1.amazonaws.com\\\"}],\\\"networkInterfaceIds\\\":[\\\"eni-01f8fae11728c8104\\\",\\\"eni-05d6ccb6387cedf6f\\\"],\\\"subnetIds\\\":[\\\"subnet-010652f698dff6484\\\",\\\"subnet-02e0c991bba17b7eb\\\"]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"vpce-081b9b329885369e1","resourceName":null,"resourceType":"AWS::EC2::VPCEndpoint","resourceValue":null,"state":null,"tags":"[]","title":"vpce-081b9b329885369e1","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-2139,"y":-1662.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:vpc-endpoint/vpce-059216fcfd2879122","resourceId":["vpce-059216fcfd2879122","arn:aws:ec2:eu-west-1:044981683129:vpc-endpoint/vpce-059216fcfd2879122"],"parent":"VPCEndpoint-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":4,"id":"arn:aws:ec2:eu-west-1:044981683129:vpc-endpoint/vpce-059216fcfd2879122","title":"vpce-059216fcfd2879122","label":"vpce-059216f...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:vpc-endpoint/vpce-059216fcfd2879122","image":"/icons/Amazon-EC2_VPC_Endpoints_light-bg-menu.svg","cost":0,"private":false,"resource":{"id":"vpce-059216fcfd2879122","name":null,"value":null,"type":"AWS::EC2::VPCEndpoint","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:vpc-endpoint/vpce-059216fcfd2879122","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:vpc-endpoint/vpce-059216fcfd2879122","configuration":"\"{\\\"policyDocument\\\":\\\"{\\\\\\\"Version\\\\\\\":\\\\\\\"2008-10-17\\\\\\\",\\\\\\\"Statement\\\\\\\":[{\\\\\\\"Effect\\\\\\\":\\\\\\\"Allow\\\\\\\",\\\\\\\"Principal\\\\\\\":\\\\\\\"*\\\\\\\",\\\\\\\"Action\\\\\\\":\\\\\\\"*\\\\\\\",\\\\\\\"Resource\\\\\\\":\\\\\\\"*\\\\\\\"}]}\\\",\\\"groups\\\":[],\\\"serviceName\\\":\\\"com.amazonaws.eu-west-1.s3\\\",\\\"privateDnsEnabled\\\":false,\\\"ownerId\\\":\\\"044981683129\\\",\\\"requesterManaged\\\":false,\\\"vpcEndpointId\\\":\\\"vpce-059216fcfd2879122\\\",\\\"tags\\\":[],\\\"routeTableIds\\\":[\\\"rtb-0843c8e8179ee5a2f\\\",\\\"rtb-0638d650b9b9313ac\\\",\\\"rtb-038643ca3ee957ecb\\\"],\\\"vpcEndpointType\\\":\\\"Gateway\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"creationTimestamp\\\":\\\"2022-10-07T17:51:34Z\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"dnsEntries\\\":[],\\\"networkInterfaceIds\\\":[],\\\"subnetIds\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"vpce-059216fcfd2879122","resourceName":null,"resourceType":"AWS::EC2::VPCEndpoint","resourceValue":null,"state":null,"tags":"[]","title":"vpce-059216fcfd2879122","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2175.5,"y":-1699.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:vpc-endpoint/vpce-075e2a5ba4b2ed02a","resourceId":["vpce-075e2a5ba4b2ed02a","arn:aws:ec2:eu-west-1:044981683129:vpc-endpoint/vpce-075e2a5ba4b2ed02a"],"parent":"VPCEndpoint-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":4,"id":"arn:aws:ec2:eu-west-1:044981683129:vpc-endpoint/vpce-075e2a5ba4b2ed02a","title":"vpce-075e2a5ba4b2ed02a","label":"vpce-075e2a5...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:vpc-endpoint/vpce-075e2a5ba4b2ed02a","image":"/icons/Amazon-EC2_VPC_Endpoints_light-bg-menu.svg","cost":0,"private":false,"resource":{"id":"vpce-075e2a5ba4b2ed02a","name":null,"value":null,"type":"AWS::EC2::VPCEndpoint","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:vpc-endpoint/vpce-075e2a5ba4b2ed02a","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:vpc-endpoint/vpce-075e2a5ba4b2ed02a","configuration":"\"{\\\"policyDocument\\\":\\\"{\\\\n \\\\\\\"Statement\\\\\\\": [\\\\n {\\\\n \\\\\\\"Action\\\\\\\": \\\\\\\"*\\\\\\\", \\\\n \\\\\\\"Effect\\\\\\\": \\\\\\\"Allow\\\\\\\", \\\\n \\\\\\\"Principal\\\\\\\": \\\\\\\"*\\\\\\\", \\\\n \\\\\\\"Resource\\\\\\\": \\\\\\\"*\\\\\\\"\\\\n }\\\\n ]\\\\n}\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO-VpcEndpointsSg-1HFDNS5FPIC7L\\\",\\\"groupId\\\":\\\"sg-02b585bfae59e4fe3\\\"}],\\\"dnsOptions\\\":{\\\"dnsRecordIpType\\\":\\\"ipv4\\\"},\\\"serviceName\\\":\\\"com.amazonaws.eu-west-1.ecr.api\\\",\\\"privateDnsEnabled\\\":true,\\\"ownerId\\\":\\\"044981683129\\\",\\\"requesterManaged\\\":false,\\\"vpcEndpointId\\\":\\\"vpce-075e2a5ba4b2ed02a\\\",\\\"ipAddressType\\\":\\\"ipv4\\\",\\\"tags\\\":[],\\\"routeTableIds\\\":[],\\\"vpcEndpointType\\\":\\\"Interface\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"creationTimestamp\\\":\\\"2022-10-07T17:51:27.393Z\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"dnsEntries\\\":[{\\\"hostedZoneId\\\":\\\"Z38GZ743OKFT7T\\\",\\\"dnsName\\\":\\\"vpce-075e2a5ba4b2ed02a-ruq1vaqq.api.ecr.eu-west-1.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z38GZ743OKFT7T\\\",\\\"dnsName\\\":\\\"vpce-075e2a5ba4b2ed02a-ruq1vaqq-eu-west-1a.api.ecr.eu-west-1.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z38GZ743OKFT7T\\\",\\\"dnsName\\\":\\\"vpce-075e2a5ba4b2ed02a-ruq1vaqq-eu-west-1b.api.ecr.eu-west-1.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z09102373CYLWI74UQX8G\\\",\\\"dnsName\\\":\\\"api.ecr.eu-west-1.amazonaws.com\\\"}],\\\"networkInterfaceIds\\\":[\\\"eni-03024ce5b29130f8f\\\",\\\"eni-070be058c14902fa0\\\"],\\\"subnetIds\\\":[\\\"subnet-010652f698dff6484\\\",\\\"subnet-02e0c991bba17b7eb\\\"]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"vpce-075e2a5ba4b2ed02a","resourceName":null,"resourceType":"AWS::EC2::VPCEndpoint","resourceValue":null,"state":null,"tags":"[]","title":"vpce-075e2a5ba4b2ed02a","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2102.5,"y":-1699.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:vpc-endpoint/vpce-081b9b329885369e1","resourceId":["vpce-081b9b329885369e1","arn:aws:ec2:eu-west-1:044981683129:vpc-endpoint/vpce-081b9b329885369e1"],"parent":"VPCEndpoint-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":4,"id":"arn:aws:ec2:eu-west-1:044981683129:vpc-endpoint/vpce-081b9b329885369e1","title":"vpce-081b9b329885369e1","label":"vpce-081b9b3...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:vpc-endpoint/vpce-081b9b329885369e1","image":"/icons/Amazon-EC2_VPC_Endpoints_light-bg-menu.svg","cost":0,"private":false,"resource":{"id":"vpce-081b9b329885369e1","name":null,"value":null,"type":"AWS::EC2::VPCEndpoint","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:vpc-endpoint/vpce-081b9b329885369e1","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:vpc-endpoint/vpce-081b9b329885369e1","configuration":"\"{\\\"policyDocument\\\":\\\"{\\\\n \\\\\\\"Statement\\\\\\\": [\\\\n {\\\\n \\\\\\\"Action\\\\\\\": \\\\\\\"*\\\\\\\", \\\\n \\\\\\\"Effect\\\\\\\": \\\\\\\"Allow\\\\\\\", \\\\n \\\\\\\"Principal\\\\\\\": \\\\\\\"*\\\\\\\", \\\\n \\\\\\\"Resource\\\\\\\": \\\\\\\"*\\\\\\\"\\\\n }\\\\n ]\\\\n}\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO-VpcEndpointsSg-1HFDNS5FPIC7L\\\",\\\"groupId\\\":\\\"sg-02b585bfae59e4fe3\\\"}],\\\"dnsOptions\\\":{\\\"dnsRecordIpType\\\":\\\"ipv4\\\"},\\\"serviceName\\\":\\\"com.amazonaws.eu-west-1.ecr.dkr\\\",\\\"privateDnsEnabled\\\":true,\\\"ownerId\\\":\\\"044981683129\\\",\\\"requesterManaged\\\":false,\\\"vpcEndpointId\\\":\\\"vpce-081b9b329885369e1\\\",\\\"ipAddressType\\\":\\\"ipv4\\\",\\\"tags\\\":[],\\\"routeTableIds\\\":[],\\\"vpcEndpointType\\\":\\\"Interface\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"creationTimestamp\\\":\\\"2022-10-07T17:51:27.432Z\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"dnsEntries\\\":[{\\\"hostedZoneId\\\":\\\"Z38GZ743OKFT7T\\\",\\\"dnsName\\\":\\\"vpce-081b9b329885369e1-sim68k0y.dkr.ecr.eu-west-1.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z38GZ743OKFT7T\\\",\\\"dnsName\\\":\\\"vpce-081b9b329885369e1-sim68k0y-eu-west-1a.dkr.ecr.eu-west-1.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z38GZ743OKFT7T\\\",\\\"dnsName\\\":\\\"vpce-081b9b329885369e1-sim68k0y-eu-west-1b.dkr.ecr.eu-west-1.vpce.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z091165811LCG13FR3LT0\\\",\\\"dnsName\\\":\\\"dkr.ecr.eu-west-1.amazonaws.com\\\"},{\\\"hostedZoneId\\\":\\\"Z091165811LCG13FR3LT0\\\",\\\"dnsName\\\":\\\"*.dkr.ecr.eu-west-1.amazonaws.com\\\"}],\\\"networkInterfaceIds\\\":[\\\"eni-01f8fae11728c8104\\\",\\\"eni-05d6ccb6387cedf6f\\\"],\\\"subnetIds\\\":[\\\"subnet-010652f698dff6484\\\",\\\"subnet-02e0c991bba17b7eb\\\"]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"vpce-081b9b329885369e1","resourceName":null,"resourceType":"AWS::EC2::VPCEndpoint","resourceValue":null,"state":null,"tags":"[]","title":"vpce-081b9b329885369e1","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2175.5,"y":-1626.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"eu-west-1b-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","parent":"vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":3,"title":"eu-west-1b","label":"eu-west-1b","plainLabel":"eu-west-1b","type":"availabilityZone","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/availabilityZone.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-010652f698dff6484","label":"subnet-010652f698dff6484","parent":null,"type":"subnet","data":{"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-010652f698dff6484","configuration":"\"{\\\"subnetId\\\":\\\"subnet-010652f698dff6484\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-010652f698dff6484\\\",\\\"availabilityZoneId\\\":\\\"euw1-az3\\\",\\\"cidrBlock\\\":\\\"10.0.12.0/24\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\\\",\\\"key\\\":\\\"Application\\\"},{\\\"value\\\":\\\"Private\\\",\\\"key\\\":\\\"Network\\\"},{\\\"value\\\":\\\"PrivateSubnet1\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"vpc-04e5e1c4bc4409222-private-b\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"key\\\":\\\"AppManagerCFNStackKey\\\"}],\\\"availableIpAddressCount\\\":246,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"mapPublicIpOnLaunch\\\":false,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-010652f698dff6484","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":"false","resourceId":"subnet-010652f698dff6484","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"value\":\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"Network=Private\",\"value\":\"Private\",\"key\":\"Network\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateSubnet1\",\"value\":\"PrivateSubnet1\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"Application=wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"value\":\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"key\":\"Application\"},{\"tag\":\"Name=vpc-04e5e1c4bc4409222-private-b\",\"value\":\"vpc-04e5e1c4bc4409222-private-b\",\"key\":\"Name\"}]","title":"vpc-04e5e1c4bc4409222-private-b","instanceType":null,"statement":null,"dBInstanceStatus":null},"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-010652f698dff6484","label":"AWS_EC2_Subnet"},"properties":null,"children":[{"id":null,"label":"NetworkInterface","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-070be058c14902fa0","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-070be058c14902fa0","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-070be058c14902fa0\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-12-46.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.12.46\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-010652f698dff6484\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-075e2a5ba4b2ed02a\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO-VpcEndpointsSg-1HFDNS5FPIC7L\\\",\\\"groupId\\\":\\\"sg-02b585bfae59e4fe3\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.12.46\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:ed:01:1a:12:33\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-08b385e06e306b114\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"privateDnsName\\\":\\\"ip-10-0-12-46.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-010652f698dff6484","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-070be058c14902fa0","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-070be058c14902fa0","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0b13a5004847358e1","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0b13a5004847358e1","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0b13a5004847358e1\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-12-215.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.12.215\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-010652f698dff6484\\\",\\\"requesterId\\\":\\\"AROAQU6I6AO4TFOGWSPW5:954369082511\\\",\\\"description\\\":\\\"AWS Lambda VPC ENI-wd2-2022-10-07-GremlinResol-GremlinAppSyncFunction-6sQyJsT9RJw9-6bddf8d0-3b91-4225-a66a-a6d42fd668b5\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8-GremlinResolverLambdaSg-1H1C5S7X1VUYZ\\\",\\\"groupId\\\":\\\"sg-044b48335ef509cb2\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"10.0.12.215\\\",\\\"interfaceType\\\":\\\"lambda\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:3c:f9:b1:91:6b\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-0994558e339bea58f\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"privateDnsName\\\":\\\"ip-10-0-12-215.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-010652f698dff6484","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0b13a5004847358e1","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0b13a5004847358e1","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-01f8fae11728c8104","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-01f8fae11728c8104","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-01f8fae11728c8104\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-12-118.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.12.118\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-010652f698dff6484\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-081b9b329885369e1\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO-VpcEndpointsSg-1HFDNS5FPIC7L\\\",\\\"groupId\\\":\\\"sg-02b585bfae59e4fe3\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.12.118\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:e1:00:a3:ac:21\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-05b1196e1a136d3bd\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"privateDnsName\\\":\\\"ip-10-0-12-118.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-010652f698dff6484","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-01f8fae11728c8104","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-01f8fae11728c8104","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-031c45dd465563166","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-031c45dd465563166","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-031c45dd465563166\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-12-245.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.12.245\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-010652f698dff6484\\\",\\\"requesterId\\\":\\\"AROAQU6I6AO4WKTGS5MSB:954369082511\\\",\\\"description\\\":\\\"AWS Lambda VPC ENI-wd2-2022-10-07-SearchResol-OpenSearchSetupFunction-6lBkj5VZvL9N-07333d6d-e99b-4cdf-a904-b83c99a73766\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"wd2-2022-10-07-SearchResolversStack-CBU7QRC0LONQ-SearchLambdaSg-PW4G863M4NF6\\\",\\\"groupId\\\":\\\"sg-030453011373764ba\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"10.0.12.245\\\",\\\"interfaceType\\\":\\\"lambda\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:8e:78:44:bf:1b\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-0d048ad68e931a12f\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"privateDnsName\\\":\\\"ip-10-0-12-245.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-010652f698dff6484","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-031c45dd465563166","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-031c45dd465563166","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-073c97cecd4404cfb","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-073c97cecd4404cfb","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-073c97cecd4404cfb\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-12-20.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.12.20\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-010652f698dff6484\\\",\\\"requesterId\\\":\\\"366152344081\\\",\\\"description\\\":\\\"[Do not delete] Network Interface created to access resources in your VPC for SageMaker Notebook Instance [arn:aws:sagemaker:eu-west-1:044981683129:notebook-instance/aws-neptune-wd]\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-NeptuneDbSg-Y7988QV8NPL0\\\",\\\"groupId\\\":\\\"sg-02df76c6e6753f6b3\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.12.20\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:bd:5a:9c:7a:25\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0f2046c03e74ed8c2\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":2,\\\"instanceOwnerId\\\":\\\"366152344081\\\",\\\"attachTime\\\":\\\"2023-02-10T16:20:44.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"privateDnsName\\\":\\\"ip-10-0-12-20.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-010652f698dff6484","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-073c97cecd4404cfb","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-073c97cecd4404cfb","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}]},{"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-09a8d208939761202","label":"subnet-09a8d208939761202","parent":null,"type":"subnet","data":{"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-09a8d208939761202","configuration":"\"{\\\"subnetId\\\":\\\"subnet-09a8d208939761202\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-09a8d208939761202\\\",\\\"availabilityZoneId\\\":\\\"euw1-az3\\\",\\\"cidrBlock\\\":\\\"10.0.2.0/24\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"key\\\":\\\"AppManagerCFNStackKey\\\"},{\\\"value\\\":\\\"vpc-04e5e1c4bc4409222-public-b\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\\\",\\\"key\\\":\\\"Application\\\"},{\\\"value\\\":\\\"PublicSubnet1\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"Public\\\",\\\"key\\\":\\\"Network\\\"}],\\\"availableIpAddressCount\\\":250,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"mapPublicIpOnLaunch\\\":false,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-09a8d208939761202","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":"true","resourceId":"subnet-09a8d208939761202","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"value\":\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"Network=Public\",\"value\":\"Public\",\"key\":\"Network\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"aws:cloudformation:logical-id=PublicSubnet1\",\"value\":\"PublicSubnet1\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Application=wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"value\":\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"key\":\"Application\"},{\"tag\":\"Name=vpc-04e5e1c4bc4409222-public-b\",\"value\":\"vpc-04e5e1c4bc4409222-public-b\",\"key\":\"Name\"}]","title":"vpc-04e5e1c4bc4409222-public-b","instanceType":null,"statement":null,"dBInstanceStatus":null},"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-09a8d208939761202","label":"AWS_EC2_Subnet"},"properties":null,"children":[{"id":null,"label":"NetworkInterface","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-06b3ed684e8ca6a72","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-06b3ed684e8ca6a72","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-06b3ed684e8ca6a72\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"044981683129\\\",\\\"allocationId\\\":\\\"eipalloc-0b80c5984a03edfa8\\\",\\\"publicIp\\\":\\\"52.51.213.126\\\",\\\"publicDnsName\\\":\\\"ec2-52-51-213-126.eu-west-1.compute.amazonaws.com\\\",\\\"associationId\\\":\\\"eipassoc-05f4282eb0f1c25d1\\\"},\\\"privateDnsName\\\":\\\"ip-10-0-2-103.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.2.103\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-09a8d208939761202\\\",\\\"requesterId\\\":\\\"107863576637\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"044981683129\\\",\\\"allocationId\\\":\\\"eipalloc-0b80c5984a03edfa8\\\",\\\"publicIp\\\":\\\"52.51.213.126\\\",\\\"publicDnsName\\\":\\\"ec2-52-51-213-126.eu-west-1.compute.amazonaws.com\\\",\\\"associationId\\\":\\\"eipassoc-05f4282eb0f1c25d1\\\"},\\\"description\\\":\\\"Interface for NAT Gateway nat-0ea43aff989e8baa4\\\",\\\"groups\\\":[],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":false,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.2.103\\\",\\\"interfaceType\\\":\\\"nat_gateway\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:e9:67:de:97:1d\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-08cc472f649a31b85\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"privateDnsName\\\":\\\"ip-10-0-2-103.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-09a8d208939761202","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-06b3ed684e8ca6a72","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-06b3ed684e8ca6a72","instanceType":null,"statement":null,"dBInstanceStatus":null}}]},{"id":null,"label":"NatGateway","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-0ea43aff989e8baa4","label":"AWS_EC2_NatGateway","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-0ea43aff989e8baa4","configuration":"\"{\\\"subnetId\\\":\\\"subnet-09a8d208939761202\\\",\\\"connectivityType\\\":\\\"public\\\",\\\"createTime\\\":1665165086000,\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"natGatewayId\\\":\\\"nat-0ea43aff989e8baa4\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"natGatewayAddresses\\\":[{\\\"networkInterfaceId\\\":\\\"eni-06b3ed684e8ca6a72\\\",\\\"isPrimary\\\":true,\\\"privateIp\\\":\\\"10.0.2.103\\\",\\\"allocationId\\\":\\\"eipalloc-0b80c5984a03edfa8\\\",\\\"publicIp\\\":\\\"52.51.213.126\\\",\\\"associationId\\\":\\\"eipassoc-05f4282eb0f1c25d1\\\",\\\"status\\\":\\\"succeeded\\\",\\\"primary\\\":true}],\\\"tags\\\":[{\\\"value\\\":\\\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"key\\\":\\\"AppManagerCFNStackKey\\\"},{\\\"value\\\":\\\"NATGateway1\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-09a8d208939761202","loggedInURL":null,"loginURL":null,"private":null,"resourceId":"nat-0ea43aff989e8baa4","resourceName":null,"resourceType":"AWS::EC2::NatGateway","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"value\":\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"aws:cloudformation:logical-id=NATGateway1\",\"value\":\"NATGateway1\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"nat-0ea43aff989e8baa4","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1929.5,"y":-1905.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"availabilityZone removeAll _gridParentPadding"},{"data":{"id":"subnet-010652f698dff6484-eu-west-1b-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","parent":"eu-west-1b-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":4,"title":"subnet-010652f698dff6484","label":"subnet-010652f698dff6484","plainLabel":"subnet-010652f698dff6484","type":"subnet","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/VPC-subnet-private_light-bg-collapsed.svg","clickedId":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-010652f698dff6484","cost":0,"hasChildren":true,"children":[{"id":null,"label":"NetworkInterface","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-070be058c14902fa0","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-070be058c14902fa0","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-070be058c14902fa0\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-12-46.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.12.46\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-010652f698dff6484\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-075e2a5ba4b2ed02a\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO-VpcEndpointsSg-1HFDNS5FPIC7L\\\",\\\"groupId\\\":\\\"sg-02b585bfae59e4fe3\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.12.46\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:ed:01:1a:12:33\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-08b385e06e306b114\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"privateDnsName\\\":\\\"ip-10-0-12-46.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-010652f698dff6484","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-070be058c14902fa0","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-070be058c14902fa0","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0b13a5004847358e1","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0b13a5004847358e1","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0b13a5004847358e1\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-12-215.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.12.215\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-010652f698dff6484\\\",\\\"requesterId\\\":\\\"AROAQU6I6AO4TFOGWSPW5:954369082511\\\",\\\"description\\\":\\\"AWS Lambda VPC ENI-wd2-2022-10-07-GremlinResol-GremlinAppSyncFunction-6sQyJsT9RJw9-6bddf8d0-3b91-4225-a66a-a6d42fd668b5\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8-GremlinResolverLambdaSg-1H1C5S7X1VUYZ\\\",\\\"groupId\\\":\\\"sg-044b48335ef509cb2\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"10.0.12.215\\\",\\\"interfaceType\\\":\\\"lambda\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:3c:f9:b1:91:6b\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-0994558e339bea58f\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"privateDnsName\\\":\\\"ip-10-0-12-215.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-010652f698dff6484","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0b13a5004847358e1","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0b13a5004847358e1","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-01f8fae11728c8104","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-01f8fae11728c8104","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-01f8fae11728c8104\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-12-118.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.12.118\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-010652f698dff6484\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-081b9b329885369e1\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO-VpcEndpointsSg-1HFDNS5FPIC7L\\\",\\\"groupId\\\":\\\"sg-02b585bfae59e4fe3\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.12.118\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:e1:00:a3:ac:21\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-05b1196e1a136d3bd\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"privateDnsName\\\":\\\"ip-10-0-12-118.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-010652f698dff6484","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-01f8fae11728c8104","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-01f8fae11728c8104","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-031c45dd465563166","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-031c45dd465563166","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-031c45dd465563166\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-12-245.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.12.245\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-010652f698dff6484\\\",\\\"requesterId\\\":\\\"AROAQU6I6AO4WKTGS5MSB:954369082511\\\",\\\"description\\\":\\\"AWS Lambda VPC ENI-wd2-2022-10-07-SearchResol-OpenSearchSetupFunction-6lBkj5VZvL9N-07333d6d-e99b-4cdf-a904-b83c99a73766\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"wd2-2022-10-07-SearchResolversStack-CBU7QRC0LONQ-SearchLambdaSg-PW4G863M4NF6\\\",\\\"groupId\\\":\\\"sg-030453011373764ba\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"10.0.12.245\\\",\\\"interfaceType\\\":\\\"lambda\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:8e:78:44:bf:1b\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-0d048ad68e931a12f\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"privateDnsName\\\":\\\"ip-10-0-12-245.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-010652f698dff6484","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-031c45dd465563166","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-031c45dd465563166","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-073c97cecd4404cfb","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-073c97cecd4404cfb","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-073c97cecd4404cfb\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-12-20.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.12.20\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-010652f698dff6484\\\",\\\"requesterId\\\":\\\"366152344081\\\",\\\"description\\\":\\\"[Do not delete] Network Interface created to access resources in your VPC for SageMaker Notebook Instance [arn:aws:sagemaker:eu-west-1:044981683129:notebook-instance/aws-neptune-wd]\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-NeptuneDbSg-Y7988QV8NPL0\\\",\\\"groupId\\\":\\\"sg-02df76c6e6753f6b3\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.12.20\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:bd:5a:9c:7a:25\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0f2046c03e74ed8c2\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":2,\\\"instanceOwnerId\\\":\\\"366152344081\\\",\\\"attachTime\\\":\\\"2023-02-10T16:20:44.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"privateDnsName\\\":\\\"ip-10-0-12-20.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-010652f698dff6484","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-073c97cecd4404cfb","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-073c97cecd4404cfb","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#147eba","properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-010652f698dff6484","configuration":"\"{\\\"subnetId\\\":\\\"subnet-010652f698dff6484\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-010652f698dff6484\\\",\\\"availabilityZoneId\\\":\\\"euw1-az3\\\",\\\"cidrBlock\\\":\\\"10.0.12.0/24\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\\\",\\\"key\\\":\\\"Application\\\"},{\\\"value\\\":\\\"Private\\\",\\\"key\\\":\\\"Network\\\"},{\\\"value\\\":\\\"PrivateSubnet1\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"vpc-04e5e1c4bc4409222-private-b\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"key\\\":\\\"AppManagerCFNStackKey\\\"}],\\\"availableIpAddressCount\\\":246,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"mapPublicIpOnLaunch\\\":false,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-010652f698dff6484","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":"false","resourceId":"subnet-010652f698dff6484","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"value\":\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"Network=Private\",\"value\":\"Private\",\"key\":\"Network\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateSubnet1\",\"value\":\"PrivateSubnet1\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"Application=wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"value\":\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"key\":\"Application\"},{\"tag\":\"Name=vpc-04e5e1c4bc4409222-private-b\",\"value\":\"vpc-04e5e1c4bc4409222-private-b\",\"key\":\"Name\"}]","title":"vpc-04e5e1c4bc4409222-private-b","instanceType":null,"statement":null,"dBInstanceStatus":null},"resource":{"id":"subnet-010652f698dff6484","name":null,"value":null,"type":"AWS::EC2::Subnet","tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"value\":\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"Network=Private\",\"value\":\"Private\",\"key\":\"Network\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateSubnet1\",\"value\":\"PrivateSubnet1\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"Application=wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"value\":\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"key\":\"Application\"},{\"tag\":\"Name=vpc-04e5e1c4bc4409222-private-b\",\"value\":\"vpc-04e5e1c4bc4409222-private-b\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-010652f698dff6484","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","accountId":"044981683129"}},"position":{"x":-2062.5,"y":-1905.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"subnet removeAll _gridParentPadding"},{"data":{"id":"NetworkInterface-subnet-010652f698dff6484-eu-west-1b-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","parent":"subnet-010652f698dff6484-eu-west-1b-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":5,"title":"NetworkInterface","label":"NetworkInterface","plainLabel":"NetworkInterface","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-070be058c14902fa0","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-070be058c14902fa0","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-070be058c14902fa0\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-12-46.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.12.46\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-010652f698dff6484\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-075e2a5ba4b2ed02a\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO-VpcEndpointsSg-1HFDNS5FPIC7L\\\",\\\"groupId\\\":\\\"sg-02b585bfae59e4fe3\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.12.46\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:ed:01:1a:12:33\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-08b385e06e306b114\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"privateDnsName\\\":\\\"ip-10-0-12-46.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-010652f698dff6484","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-070be058c14902fa0","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-070be058c14902fa0","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0b13a5004847358e1","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0b13a5004847358e1","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0b13a5004847358e1\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-12-215.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.12.215\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-010652f698dff6484\\\",\\\"requesterId\\\":\\\"AROAQU6I6AO4TFOGWSPW5:954369082511\\\",\\\"description\\\":\\\"AWS Lambda VPC ENI-wd2-2022-10-07-GremlinResol-GremlinAppSyncFunction-6sQyJsT9RJw9-6bddf8d0-3b91-4225-a66a-a6d42fd668b5\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8-GremlinResolverLambdaSg-1H1C5S7X1VUYZ\\\",\\\"groupId\\\":\\\"sg-044b48335ef509cb2\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"10.0.12.215\\\",\\\"interfaceType\\\":\\\"lambda\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:3c:f9:b1:91:6b\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-0994558e339bea58f\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"privateDnsName\\\":\\\"ip-10-0-12-215.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-010652f698dff6484","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0b13a5004847358e1","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0b13a5004847358e1","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-01f8fae11728c8104","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-01f8fae11728c8104","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-01f8fae11728c8104\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-12-118.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.12.118\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-010652f698dff6484\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-081b9b329885369e1\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO-VpcEndpointsSg-1HFDNS5FPIC7L\\\",\\\"groupId\\\":\\\"sg-02b585bfae59e4fe3\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.12.118\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:e1:00:a3:ac:21\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-05b1196e1a136d3bd\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"privateDnsName\\\":\\\"ip-10-0-12-118.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-010652f698dff6484","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-01f8fae11728c8104","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-01f8fae11728c8104","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-031c45dd465563166","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-031c45dd465563166","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-031c45dd465563166\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-12-245.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.12.245\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-010652f698dff6484\\\",\\\"requesterId\\\":\\\"AROAQU6I6AO4WKTGS5MSB:954369082511\\\",\\\"description\\\":\\\"AWS Lambda VPC ENI-wd2-2022-10-07-SearchResol-OpenSearchSetupFunction-6lBkj5VZvL9N-07333d6d-e99b-4cdf-a904-b83c99a73766\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"wd2-2022-10-07-SearchResolversStack-CBU7QRC0LONQ-SearchLambdaSg-PW4G863M4NF6\\\",\\\"groupId\\\":\\\"sg-030453011373764ba\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"10.0.12.245\\\",\\\"interfaceType\\\":\\\"lambda\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:8e:78:44:bf:1b\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-0d048ad68e931a12f\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"privateDnsName\\\":\\\"ip-10-0-12-245.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-010652f698dff6484","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-031c45dd465563166","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-031c45dd465563166","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-073c97cecd4404cfb","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-073c97cecd4404cfb","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-073c97cecd4404cfb\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-12-20.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.12.20\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-010652f698dff6484\\\",\\\"requesterId\\\":\\\"366152344081\\\",\\\"description\\\":\\\"[Do not delete] Network Interface created to access resources in your VPC for SageMaker Notebook Instance [arn:aws:sagemaker:eu-west-1:044981683129:notebook-instance/aws-neptune-wd]\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-NeptuneDbSg-Y7988QV8NPL0\\\",\\\"groupId\\\":\\\"sg-02df76c6e6753f6b3\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.12.20\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:bd:5a:9c:7a:25\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0f2046c03e74ed8c2\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":2,\\\"instanceOwnerId\\\":\\\"366152344081\\\",\\\"attachTime\\\":\\\"2023-02-10T16:20:44.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"privateDnsName\\\":\\\"ip-10-0-12-20.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-010652f698dff6484","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-073c97cecd4404cfb","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-073c97cecd4404cfb","instanceType":null,"statement":null,"dBInstanceStatus":null}}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-2062.5,"y":-1905.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-070be058c14902fa0","resourceId":["eni-070be058c14902fa0","arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-070be058c14902fa0"],"parent":"NetworkInterface-subnet-010652f698dff6484-eu-west-1b-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":6,"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-070be058c14902fa0","title":"eni-070be058c14902fa0","label":"eni-070be058...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-070be058c14902fa0","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-070be058c14902fa0","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-070be058c14902fa0","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-070be058c14902fa0","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-070be058c14902fa0\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-12-46.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.12.46\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-010652f698dff6484\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-075e2a5ba4b2ed02a\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO-VpcEndpointsSg-1HFDNS5FPIC7L\\\",\\\"groupId\\\":\\\"sg-02b585bfae59e4fe3\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.12.46\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:ed:01:1a:12:33\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-08b385e06e306b114\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"privateDnsName\\\":\\\"ip-10-0-12-46.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-010652f698dff6484","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-070be058c14902fa0","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-070be058c14902fa0","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2135.5,"y":-1942.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0b13a5004847358e1","resourceId":["eni-0b13a5004847358e1","arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0b13a5004847358e1"],"parent":"NetworkInterface-subnet-010652f698dff6484-eu-west-1b-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":6,"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0b13a5004847358e1","title":"eni-0b13a5004847358e1","label":"eni-0b13a500...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0b13a5004847358e1","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-0b13a5004847358e1","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0b13a5004847358e1","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0b13a5004847358e1","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0b13a5004847358e1\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-12-215.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.12.215\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-010652f698dff6484\\\",\\\"requesterId\\\":\\\"AROAQU6I6AO4TFOGWSPW5:954369082511\\\",\\\"description\\\":\\\"AWS Lambda VPC ENI-wd2-2022-10-07-GremlinResol-GremlinAppSyncFunction-6sQyJsT9RJw9-6bddf8d0-3b91-4225-a66a-a6d42fd668b5\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8-GremlinResolverLambdaSg-1H1C5S7X1VUYZ\\\",\\\"groupId\\\":\\\"sg-044b48335ef509cb2\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"10.0.12.215\\\",\\\"interfaceType\\\":\\\"lambda\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:3c:f9:b1:91:6b\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-0994558e339bea58f\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"privateDnsName\\\":\\\"ip-10-0-12-215.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-010652f698dff6484","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0b13a5004847358e1","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0b13a5004847358e1","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2062.5,"y":-1942.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-01f8fae11728c8104","resourceId":["eni-01f8fae11728c8104","arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-01f8fae11728c8104"],"parent":"NetworkInterface-subnet-010652f698dff6484-eu-west-1b-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":6,"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-01f8fae11728c8104","title":"eni-01f8fae11728c8104","label":"eni-01f8fae1...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-01f8fae11728c8104","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-01f8fae11728c8104","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-01f8fae11728c8104","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-01f8fae11728c8104","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-01f8fae11728c8104\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-12-118.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.12.118\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-010652f698dff6484\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-081b9b329885369e1\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO-VpcEndpointsSg-1HFDNS5FPIC7L\\\",\\\"groupId\\\":\\\"sg-02b585bfae59e4fe3\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.12.118\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:e1:00:a3:ac:21\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-05b1196e1a136d3bd\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"privateDnsName\\\":\\\"ip-10-0-12-118.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-010652f698dff6484","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-01f8fae11728c8104","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-01f8fae11728c8104","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2135.5,"y":-1869.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-031c45dd465563166","resourceId":["eni-031c45dd465563166","arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-031c45dd465563166"],"parent":"NetworkInterface-subnet-010652f698dff6484-eu-west-1b-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":6,"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-031c45dd465563166","title":"eni-031c45dd465563166","label":"eni-031c45dd...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-031c45dd465563166","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-031c45dd465563166","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-031c45dd465563166","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-031c45dd465563166","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-031c45dd465563166\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-12-245.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.12.245\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-010652f698dff6484\\\",\\\"requesterId\\\":\\\"AROAQU6I6AO4WKTGS5MSB:954369082511\\\",\\\"description\\\":\\\"AWS Lambda VPC ENI-wd2-2022-10-07-SearchResol-OpenSearchSetupFunction-6lBkj5VZvL9N-07333d6d-e99b-4cdf-a904-b83c99a73766\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"wd2-2022-10-07-SearchResolversStack-CBU7QRC0LONQ-SearchLambdaSg-PW4G863M4NF6\\\",\\\"groupId\\\":\\\"sg-030453011373764ba\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"10.0.12.245\\\",\\\"interfaceType\\\":\\\"lambda\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:8e:78:44:bf:1b\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-0d048ad68e931a12f\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"privateDnsName\\\":\\\"ip-10-0-12-245.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-010652f698dff6484","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-031c45dd465563166","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-031c45dd465563166","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2062.5,"y":-1869.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-073c97cecd4404cfb","resourceId":["eni-073c97cecd4404cfb","arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-073c97cecd4404cfb"],"parent":"NetworkInterface-subnet-010652f698dff6484-eu-west-1b-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":6,"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-073c97cecd4404cfb","title":"eni-073c97cecd4404cfb","label":"eni-073c97ce...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-073c97cecd4404cfb","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-073c97cecd4404cfb","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-073c97cecd4404cfb","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-073c97cecd4404cfb","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-073c97cecd4404cfb\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-12-20.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.12.20\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-010652f698dff6484\\\",\\\"requesterId\\\":\\\"366152344081\\\",\\\"description\\\":\\\"[Do not delete] Network Interface created to access resources in your VPC for SageMaker Notebook Instance [arn:aws:sagemaker:eu-west-1:044981683129:notebook-instance/aws-neptune-wd]\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-NeptuneDbSg-Y7988QV8NPL0\\\",\\\"groupId\\\":\\\"sg-02df76c6e6753f6b3\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.12.20\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:bd:5a:9c:7a:25\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0f2046c03e74ed8c2\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":2,\\\"instanceOwnerId\\\":\\\"366152344081\\\",\\\"attachTime\\\":\\\"2023-02-10T16:20:44.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"privateDnsName\\\":\\\"ip-10-0-12-20.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-010652f698dff6484","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-073c97cecd4404cfb","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-073c97cecd4404cfb","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1989.5,"y":-1942.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"subnet-09a8d208939761202-eu-west-1b-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","parent":"eu-west-1b-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":4,"title":"subnet-09a8d208939761202","label":"subnet-09a8d208939761202","plainLabel":"subnet-09a8d208939761202","type":"subnet","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/VPC-subnet-private_light-bg-collapsed.svg","clickedId":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-09a8d208939761202","cost":0,"hasChildren":true,"children":[{"id":null,"label":"NetworkInterface","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-06b3ed684e8ca6a72","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-06b3ed684e8ca6a72","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-06b3ed684e8ca6a72\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"044981683129\\\",\\\"allocationId\\\":\\\"eipalloc-0b80c5984a03edfa8\\\",\\\"publicIp\\\":\\\"52.51.213.126\\\",\\\"publicDnsName\\\":\\\"ec2-52-51-213-126.eu-west-1.compute.amazonaws.com\\\",\\\"associationId\\\":\\\"eipassoc-05f4282eb0f1c25d1\\\"},\\\"privateDnsName\\\":\\\"ip-10-0-2-103.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.2.103\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-09a8d208939761202\\\",\\\"requesterId\\\":\\\"107863576637\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"044981683129\\\",\\\"allocationId\\\":\\\"eipalloc-0b80c5984a03edfa8\\\",\\\"publicIp\\\":\\\"52.51.213.126\\\",\\\"publicDnsName\\\":\\\"ec2-52-51-213-126.eu-west-1.compute.amazonaws.com\\\",\\\"associationId\\\":\\\"eipassoc-05f4282eb0f1c25d1\\\"},\\\"description\\\":\\\"Interface for NAT Gateway nat-0ea43aff989e8baa4\\\",\\\"groups\\\":[],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":false,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.2.103\\\",\\\"interfaceType\\\":\\\"nat_gateway\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:e9:67:de:97:1d\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-08cc472f649a31b85\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"privateDnsName\\\":\\\"ip-10-0-2-103.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-09a8d208939761202","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-06b3ed684e8ca6a72","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-06b3ed684e8ca6a72","instanceType":null,"statement":null,"dBInstanceStatus":null}}]},{"id":null,"label":"NatGateway","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-0ea43aff989e8baa4","label":"AWS_EC2_NatGateway","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-0ea43aff989e8baa4","configuration":"\"{\\\"subnetId\\\":\\\"subnet-09a8d208939761202\\\",\\\"connectivityType\\\":\\\"public\\\",\\\"createTime\\\":1665165086000,\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"natGatewayId\\\":\\\"nat-0ea43aff989e8baa4\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"natGatewayAddresses\\\":[{\\\"networkInterfaceId\\\":\\\"eni-06b3ed684e8ca6a72\\\",\\\"isPrimary\\\":true,\\\"privateIp\\\":\\\"10.0.2.103\\\",\\\"allocationId\\\":\\\"eipalloc-0b80c5984a03edfa8\\\",\\\"publicIp\\\":\\\"52.51.213.126\\\",\\\"associationId\\\":\\\"eipassoc-05f4282eb0f1c25d1\\\",\\\"status\\\":\\\"succeeded\\\",\\\"primary\\\":true}],\\\"tags\\\":[{\\\"value\\\":\\\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"key\\\":\\\"AppManagerCFNStackKey\\\"},{\\\"value\\\":\\\"NATGateway1\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-09a8d208939761202","loggedInURL":null,"loginURL":null,"private":null,"resourceId":"nat-0ea43aff989e8baa4","resourceName":null,"resourceType":"AWS::EC2::NatGateway","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"value\":\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"aws:cloudformation:logical-id=NATGateway1\",\"value\":\"NATGateway1\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"nat-0ea43aff989e8baa4","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#147eba","properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-09a8d208939761202","configuration":"\"{\\\"subnetId\\\":\\\"subnet-09a8d208939761202\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-09a8d208939761202\\\",\\\"availabilityZoneId\\\":\\\"euw1-az3\\\",\\\"cidrBlock\\\":\\\"10.0.2.0/24\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"key\\\":\\\"AppManagerCFNStackKey\\\"},{\\\"value\\\":\\\"vpc-04e5e1c4bc4409222-public-b\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\\\",\\\"key\\\":\\\"Application\\\"},{\\\"value\\\":\\\"PublicSubnet1\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"Public\\\",\\\"key\\\":\\\"Network\\\"}],\\\"availableIpAddressCount\\\":250,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"mapPublicIpOnLaunch\\\":false,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-09a8d208939761202","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":"true","resourceId":"subnet-09a8d208939761202","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"value\":\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"Network=Public\",\"value\":\"Public\",\"key\":\"Network\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"aws:cloudformation:logical-id=PublicSubnet1\",\"value\":\"PublicSubnet1\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Application=wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"value\":\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"key\":\"Application\"},{\"tag\":\"Name=vpc-04e5e1c4bc4409222-public-b\",\"value\":\"vpc-04e5e1c4bc4409222-public-b\",\"key\":\"Name\"}]","title":"vpc-04e5e1c4bc4409222-public-b","instanceType":null,"statement":null,"dBInstanceStatus":null},"resource":{"id":"subnet-09a8d208939761202","name":null,"value":null,"type":"AWS::EC2::Subnet","tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"value\":\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"Network=Public\",\"value\":\"Public\",\"key\":\"Network\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"aws:cloudformation:logical-id=PublicSubnet1\",\"value\":\"PublicSubnet1\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"Application=wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"value\":\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"key\":\"Application\"},{\"tag\":\"Name=vpc-04e5e1c4bc4409222-public-b\",\"value\":\"vpc-04e5e1c4bc4409222-public-b\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-09a8d208939761202","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","accountId":"044981683129"}},"position":{"x":-1780,"y":-1942.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"subnet removeAll _gridParentPadding"},{"data":{"id":"NetworkInterface-subnet-09a8d208939761202-eu-west-1b-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","parent":"subnet-09a8d208939761202-eu-west-1b-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":5,"title":"NetworkInterface","label":"NetworkInterface","plainLabel":"NetworkInterface","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-06b3ed684e8ca6a72","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-06b3ed684e8ca6a72","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-06b3ed684e8ca6a72\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"044981683129\\\",\\\"allocationId\\\":\\\"eipalloc-0b80c5984a03edfa8\\\",\\\"publicIp\\\":\\\"52.51.213.126\\\",\\\"publicDnsName\\\":\\\"ec2-52-51-213-126.eu-west-1.compute.amazonaws.com\\\",\\\"associationId\\\":\\\"eipassoc-05f4282eb0f1c25d1\\\"},\\\"privateDnsName\\\":\\\"ip-10-0-2-103.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.2.103\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-09a8d208939761202\\\",\\\"requesterId\\\":\\\"107863576637\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"044981683129\\\",\\\"allocationId\\\":\\\"eipalloc-0b80c5984a03edfa8\\\",\\\"publicIp\\\":\\\"52.51.213.126\\\",\\\"publicDnsName\\\":\\\"ec2-52-51-213-126.eu-west-1.compute.amazonaws.com\\\",\\\"associationId\\\":\\\"eipassoc-05f4282eb0f1c25d1\\\"},\\\"description\\\":\\\"Interface for NAT Gateway nat-0ea43aff989e8baa4\\\",\\\"groups\\\":[],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":false,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.2.103\\\",\\\"interfaceType\\\":\\\"nat_gateway\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:e9:67:de:97:1d\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-08cc472f649a31b85\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"privateDnsName\\\":\\\"ip-10-0-2-103.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-09a8d208939761202","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-06b3ed684e8ca6a72","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-06b3ed684e8ca6a72","instanceType":null,"statement":null,"dBInstanceStatus":null}}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1836.5,"y":-1942.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-06b3ed684e8ca6a72","resourceId":["eni-06b3ed684e8ca6a72","arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-06b3ed684e8ca6a72"],"parent":"NetworkInterface-subnet-09a8d208939761202-eu-west-1b-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":6,"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-06b3ed684e8ca6a72","title":"eni-06b3ed684e8ca6a72","label":"eni-06b3ed68...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-06b3ed684e8ca6a72","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-06b3ed684e8ca6a72","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-06b3ed684e8ca6a72","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-06b3ed684e8ca6a72","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-06b3ed684e8ca6a72\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"044981683129\\\",\\\"allocationId\\\":\\\"eipalloc-0b80c5984a03edfa8\\\",\\\"publicIp\\\":\\\"52.51.213.126\\\",\\\"publicDnsName\\\":\\\"ec2-52-51-213-126.eu-west-1.compute.amazonaws.com\\\",\\\"associationId\\\":\\\"eipassoc-05f4282eb0f1c25d1\\\"},\\\"privateDnsName\\\":\\\"ip-10-0-2-103.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.2.103\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-09a8d208939761202\\\",\\\"requesterId\\\":\\\"107863576637\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"044981683129\\\",\\\"allocationId\\\":\\\"eipalloc-0b80c5984a03edfa8\\\",\\\"publicIp\\\":\\\"52.51.213.126\\\",\\\"publicDnsName\\\":\\\"ec2-52-51-213-126.eu-west-1.compute.amazonaws.com\\\",\\\"associationId\\\":\\\"eipassoc-05f4282eb0f1c25d1\\\"},\\\"description\\\":\\\"Interface for NAT Gateway nat-0ea43aff989e8baa4\\\",\\\"groups\\\":[],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":false,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.2.103\\\",\\\"interfaceType\\\":\\\"nat_gateway\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:e9:67:de:97:1d\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-08cc472f649a31b85\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"privateDnsName\\\":\\\"ip-10-0-2-103.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-09a8d208939761202","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-06b3ed684e8ca6a72","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-06b3ed684e8ca6a72","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1836.5,"y":-1942.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"NatGateway-subnet-09a8d208939761202-eu-west-1b-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","parent":"subnet-09a8d208939761202-eu-west-1b-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":5,"title":"NatGateway","label":"NatGateway","plainLabel":"NatGateway","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-VPC_NAT-Gateway_light-bg-menu.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-0ea43aff989e8baa4","label":"AWS_EC2_NatGateway","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-0ea43aff989e8baa4","configuration":"\"{\\\"subnetId\\\":\\\"subnet-09a8d208939761202\\\",\\\"connectivityType\\\":\\\"public\\\",\\\"createTime\\\":1665165086000,\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"natGatewayId\\\":\\\"nat-0ea43aff989e8baa4\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"natGatewayAddresses\\\":[{\\\"networkInterfaceId\\\":\\\"eni-06b3ed684e8ca6a72\\\",\\\"isPrimary\\\":true,\\\"privateIp\\\":\\\"10.0.2.103\\\",\\\"allocationId\\\":\\\"eipalloc-0b80c5984a03edfa8\\\",\\\"publicIp\\\":\\\"52.51.213.126\\\",\\\"associationId\\\":\\\"eipassoc-05f4282eb0f1c25d1\\\",\\\"status\\\":\\\"succeeded\\\",\\\"primary\\\":true}],\\\"tags\\\":[{\\\"value\\\":\\\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"key\\\":\\\"AppManagerCFNStackKey\\\"},{\\\"value\\\":\\\"NATGateway1\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-09a8d208939761202","loggedInURL":null,"loginURL":null,"private":null,"resourceId":"nat-0ea43aff989e8baa4","resourceName":null,"resourceType":"AWS::EC2::NatGateway","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"value\":\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"aws:cloudformation:logical-id=NATGateway1\",\"value\":\"NATGateway1\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"nat-0ea43aff989e8baa4","instanceType":null,"statement":null,"dBInstanceStatus":null}}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1723.5,"y":-1942.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-0ea43aff989e8baa4","resourceId":["nat-0ea43aff989e8baa4","arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-0ea43aff989e8baa4"],"parent":"NatGateway-subnet-09a8d208939761202-eu-west-1b-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":6,"id":"arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-0ea43aff989e8baa4","title":"nat-0ea43aff989e8baa4","label":"nat-0ea43aff...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-0ea43aff989e8baa4","image":"/icons/Amazon-VPC_NAT-Gateway_light-bg-menu.svg","cost":0,"private":false,"resource":{"id":"nat-0ea43aff989e8baa4","name":null,"value":null,"type":"AWS::EC2::NatGateway","tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"value\":\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"aws:cloudformation:logical-id=NATGateway1\",\"value\":\"NATGateway1\",\"key\":\"aws:cloudformation:logical-id\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-0ea43aff989e8baa4","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-0ea43aff989e8baa4","configuration":"\"{\\\"subnetId\\\":\\\"subnet-09a8d208939761202\\\",\\\"connectivityType\\\":\\\"public\\\",\\\"createTime\\\":1665165086000,\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"natGatewayId\\\":\\\"nat-0ea43aff989e8baa4\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"natGatewayAddresses\\\":[{\\\"networkInterfaceId\\\":\\\"eni-06b3ed684e8ca6a72\\\",\\\"isPrimary\\\":true,\\\"privateIp\\\":\\\"10.0.2.103\\\",\\\"allocationId\\\":\\\"eipalloc-0b80c5984a03edfa8\\\",\\\"publicIp\\\":\\\"52.51.213.126\\\",\\\"associationId\\\":\\\"eipassoc-05f4282eb0f1c25d1\\\",\\\"status\\\":\\\"succeeded\\\",\\\"primary\\\":true}],\\\"tags\\\":[{\\\"value\\\":\\\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"key\\\":\\\"AppManagerCFNStackKey\\\"},{\\\"value\\\":\\\"NATGateway1\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-09a8d208939761202","loggedInURL":null,"loginURL":null,"private":null,"resourceId":"nat-0ea43aff989e8baa4","resourceName":null,"resourceType":"AWS::EC2::NatGateway","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"value\":\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"aws:cloudformation:logical-id=NATGateway1\",\"value\":\"NATGateway1\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"nat-0ea43aff989e8baa4","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1723.5,"y":-1942.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"eu-west-1a-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","parent":"vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":3,"title":"eu-west-1a","label":"eu-west-1a","plainLabel":"eu-west-1a","type":"availabilityZone","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/availabilityZone.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-02e0c991bba17b7eb","label":"subnet-02e0c991bba17b7eb","parent":null,"type":"subnet","data":{"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-02e0c991bba17b7eb","configuration":"\"{\\\"subnetId\\\":\\\"subnet-02e0c991bba17b7eb\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-02e0c991bba17b7eb\\\",\\\"availabilityZoneId\\\":\\\"euw1-az2\\\",\\\"cidrBlock\\\":\\\"10.0.11.0/24\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\\\",\\\"key\\\":\\\"Application\\\"},{\\\"value\\\":\\\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"PrivateSubnet0\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"key\\\":\\\"AppManagerCFNStackKey\\\"},{\\\"value\\\":\\\"Private\\\",\\\"key\\\":\\\"Network\\\"},{\\\"value\\\":\\\"vpc-04e5e1c4bc4409222-private-a\\\",\\\"key\\\":\\\"Name\\\"}],\\\"availableIpAddressCount\\\":242,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"mapPublicIpOnLaunch\\\":false,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-02e0c991bba17b7eb","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":"false","resourceId":"subnet-02e0c991bba17b7eb","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"value\":\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"Network=Private\",\"value\":\"Private\",\"key\":\"Network\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateSubnet0\",\"value\":\"PrivateSubnet0\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"Application=wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"value\":\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"key\":\"Application\"},{\"tag\":\"Name=vpc-04e5e1c4bc4409222-private-a\",\"value\":\"vpc-04e5e1c4bc4409222-private-a\",\"key\":\"Name\"}]","title":"vpc-04e5e1c4bc4409222-private-a","instanceType":null,"statement":null,"dBInstanceStatus":null},"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-02e0c991bba17b7eb","label":"AWS_EC2_Subnet"},"properties":null,"children":[{"id":null,"label":"NetworkInterface","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-08c79f1b042fac609","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-08c79f1b042fac609","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-08c79f1b042fac609\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-11-62.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.11.62\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-02e0c991bba17b7eb\\\",\\\"requesterId\\\":\\\"amazon-elasticsearch\\\",\\\"description\\\":\\\"ES opensearchdomai-sq504hzjjahv\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"wd2-2022-10-07-OpenSearchStack-1AX1CP06M7WKW-OpenSearchSg-9T7A87DPDKI8\\\",\\\"groupId\\\":\\\"sg-0696201a4200147f4\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.11.62\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:09:fe:37:0e:1d\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"privateDnsName\\\":\\\"ip-10-0-11-62.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-02e0c991bba17b7eb","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-08c79f1b042fac609","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-08c79f1b042fac609","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-09182eed51134b78c","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-09182eed51134b78c","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-09182eed51134b78c\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-11-146.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.11.146\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-02e0c991bba17b7eb\\\",\\\"requesterId\\\":\\\"amazon-elasticsearch\\\",\\\"description\\\":\\\"ES opensearchdomai-sq504hzjjahv\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"wd2-2022-10-07-OpenSearchStack-1AX1CP06M7WKW-OpenSearchSg-9T7A87DPDKI8\\\",\\\"groupId\\\":\\\"sg-0696201a4200147f4\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.11.146\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:bc:6a:af:3a:73\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-045db04d97511ee83\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-elasticsearch\\\",\\\"attachTime\\\":\\\"2022-12-14T17:45:24.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"privateDnsName\\\":\\\"ip-10-0-11-146.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-02e0c991bba17b7eb","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-09182eed51134b78c","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-09182eed51134b78c","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0a205d5edaebef087","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0a205d5edaebef087","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0a205d5edaebef087\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-11-182.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.11.182\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-02e0c991bba17b7eb\\\",\\\"requesterId\\\":\\\"amazon-elasticsearch\\\",\\\"description\\\":\\\"ES opensearchdomai-sq504hzjjahv\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"wd2-2022-10-07-OpenSearchStack-1AX1CP06M7WKW-OpenSearchSg-9T7A87DPDKI8\\\",\\\"groupId\\\":\\\"sg-0696201a4200147f4\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.11.182\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:5d:95:1c:ce:69\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"privateDnsName\\\":\\\"ip-10-0-11-182.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-02e0c991bba17b7eb","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0a205d5edaebef087","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0a205d5edaebef087","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-04a4bb87d5f2a003e","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-04a4bb87d5f2a003e","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-04a4bb87d5f2a003e\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-11-240.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.11.240\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-02e0c991bba17b7eb\\\",\\\"requesterId\\\":\\\"117190814105\\\",\\\"description\\\":\\\"RDSNetworkInterface\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-NeptuneDbSg-Y7988QV8NPL0\\\",\\\"groupId\\\":\\\"sg-02df76c6e6753f6b3\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.11.240\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:fe:55:54:f4:df\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-024a57bae5d9db53b\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"117190814105\\\",\\\"attachTime\\\":\\\"2022-11-16T14:56:41.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"privateDnsName\\\":\\\"ip-10-0-11-240.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-02e0c991bba17b7eb","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-04a4bb87d5f2a003e","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-04a4bb87d5f2a003e","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0510fd6b9a7a1c835","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0510fd6b9a7a1c835","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0510fd6b9a7a1c835\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-11-45.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.11.45\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-02e0c991bba17b7eb\\\",\\\"requesterId\\\":\\\"AROAQU6I6AO4WKTGS5MSB:954369082511\\\",\\\"description\\\":\\\"AWS Lambda VPC ENI-wd2-2022-10-07-SearchResol-OpenSearchSetupFunction-6lBkj5VZvL9N-dc500b7b-c415-47f3-b1a7-67260e27c221\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"wd2-2022-10-07-SearchResolversStack-CBU7QRC0LONQ-SearchLambdaSg-PW4G863M4NF6\\\",\\\"groupId\\\":\\\"sg-030453011373764ba\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"10.0.11.45\\\",\\\"interfaceType\\\":\\\"lambda\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:86:a7:94:08:01\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-078d51df012ac8901\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"privateDnsName\\\":\\\"ip-10-0-11-45.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-02e0c991bba17b7eb","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0510fd6b9a7a1c835","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0510fd6b9a7a1c835","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-05d6ccb6387cedf6f","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-05d6ccb6387cedf6f","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-05d6ccb6387cedf6f\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-11-130.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.11.130\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-02e0c991bba17b7eb\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-081b9b329885369e1\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO-VpcEndpointsSg-1HFDNS5FPIC7L\\\",\\\"groupId\\\":\\\"sg-02b585bfae59e4fe3\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.11.130\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:55:90:be:82:2d\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-051cc825a70d5dfb8\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"privateDnsName\\\":\\\"ip-10-0-11-130.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-02e0c991bba17b7eb","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-05d6ccb6387cedf6f","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-05d6ccb6387cedf6f","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-03024ce5b29130f8f","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-03024ce5b29130f8f","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-03024ce5b29130f8f\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-11-63.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.11.63\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-02e0c991bba17b7eb\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-075e2a5ba4b2ed02a\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO-VpcEndpointsSg-1HFDNS5FPIC7L\\\",\\\"groupId\\\":\\\"sg-02b585bfae59e4fe3\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.11.63\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:13:cf:70:57:e9\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-030aa9ee09e645c56\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"privateDnsName\\\":\\\"ip-10-0-11-63.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-02e0c991bba17b7eb","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-03024ce5b29130f8f","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-03024ce5b29130f8f","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0eb2973ec2e59a854","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0eb2973ec2e59a854","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0eb2973ec2e59a854\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-11-52.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.11.52\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-02e0c991bba17b7eb\\\",\\\"requesterId\\\":\\\"AROAQU6I6AO4TFOGWSPW5:954369082511\\\",\\\"description\\\":\\\"AWS Lambda VPC ENI-wd2-2022-10-07-GremlinResol-GremlinAppSyncFunction-6sQyJsT9RJw9-ccef9da0-7467-44f6-b7d7-55c85ba7eaa5\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8-GremlinResolverLambdaSg-1H1C5S7X1VUYZ\\\",\\\"groupId\\\":\\\"sg-044b48335ef509cb2\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"10.0.11.52\\\",\\\"interfaceType\\\":\\\"lambda\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:71:5d:84:da:b1\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-021a1fe300a22fb69\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"privateDnsName\\\":\\\"ip-10-0-11-52.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-02e0c991bba17b7eb","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0eb2973ec2e59a854","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0eb2973ec2e59a854","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0d60a5b414523d3e0","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0d60a5b414523d3e0","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0d60a5b414523d3e0\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-11-93.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.11.93\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-02e0c991bba17b7eb\\\",\\\"requesterId\\\":\\\"117190814105\\\",\\\"description\\\":\\\"RDSNetworkInterface\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-NeptuneDbSg-Y7988QV8NPL0\\\",\\\"groupId\\\":\\\"sg-02df76c6e6753f6b3\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.11.93\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:7d:46:fe:38:e1\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-08f461643ddf774e7\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"117190814105\\\",\\\"attachTime\\\":\\\"2023-01-05T00:58:38.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"privateDnsName\\\":\\\"ip-10-0-11-93.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-02e0c991bba17b7eb","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0d60a5b414523d3e0","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0d60a5b414523d3e0","instanceType":null,"statement":null,"dBInstanceStatus":null}}]},{"id":null,"label":"DBInstance","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:rds:eu-west-1:044981683129:db:neptunedbinstance-opr3vy9xrbzh","label":"AWS_RDS_DBInstance","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:db:neptunedbinstance-opr3vy9xrbzh","configuration":"\"{\\\"allocatedStorage\\\":1,\\\"enabledCloudwatchLogsExports\\\":[],\\\"readReplicaDBClusterIdentifiers\\\":[],\\\"dbInstancePort\\\":0,\\\"associatedRoles\\\":[],\\\"dBParameterGroups\\\":[{\\\"dBParameterGroupName\\\":\\\"default.neptune1.2\\\",\\\"parameterApplyStatus\\\":\\\"in-sync\\\"}],\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"preferredBackupWindow\\\":\\\"02:00-03:00\\\",\\\"dbiResourceId\\\":\\\"db-ZXG6MRBFGBYTH5QPUYIAVOI6R4\\\",\\\"deletionProtection\\\":false,\\\"dBInstanceIdentifier\\\":\\\"neptunedbinstance-opr3vy9xrbzh\\\",\\\"dBInstanceArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:db:neptunedbinstance-opr3vy9xrbzh\\\",\\\"endpoint\\\":{\\\"hostedZoneId\\\":\\\"ZINKV47VFXLOC\\\",\\\"address\\\":\\\"neptunedbinstance-opr3vy9xrbzh.ccc9f5a6ekin.eu-west-1.neptune.amazonaws.com\\\",\\\"port\\\":6174},\\\"dBSecurityGroups\\\":[],\\\"engine\\\":\\\"neptune\\\",\\\"publiclyAccessible\\\":false,\\\"iAMDatabaseAuthenticationEnabled\\\":true,\\\"statusInfos\\\":[],\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"performanceInsightsEnabled\\\":false,\\\"masterUsername\\\":\\\"admin\\\",\\\"multiAZ\\\":false,\\\"instanceCreateTime\\\":\\\"2022-10-07T18:03:36.960Z\\\",\\\"domainMemberships\\\":[],\\\"dBInstanceClass\\\":\\\"db.r5.large\\\",\\\"storageEncrypted\\\":true,\\\"processorFeatures\\\":[],\\\"dBSubnetGroup\\\":{\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"subnets\\\":[{\\\"subnetIdentifier\\\":\\\"subnet-010652f698dff6484\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1b\\\"}},{\\\"subnetIdentifier\\\":\\\"subnet-02e0c991bba17b7eb\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1a\\\"}}],\\\"subnetGroupStatus\\\":\\\"Complete\\\",\\\"dBSubnetGroupName\\\":\\\"perspective-dev-sng\\\",\\\"dBSubnetGroupDescription\\\":\\\"CloudFormation managed Neptune DB Subnet Group - workload-discovery-subnet-group\\\"},\\\"vpcSecurityGroups\\\":[{\\\"vpcSecurityGroupId\\\":\\\"sg-02df76c6e6753f6b3\\\",\\\"status\\\":\\\"active\\\"}],\\\"tagList\\\":[{\\\"value\\\":\\\"workload-discovery\\\",\\\"key\\\":\\\"App\\\"},{\\\"value\\\":\\\"\\\",\\\"key\\\":\\\"Owner\\\"},{\\\"value\\\":\\\"ebs\\\",\\\"key\\\":\\\"Storage\\\"},{\\\"value\\\":\\\"test\\\",\\\"key\\\":\\\"User\\\"},{\\\"value\\\":\\\"\\\",\\\"key\\\":\\\"Tier\\\"},{\\\"value\\\":\\\"\\\",\\\"key\\\":\\\"Version\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"key\\\":\\\"AppManagerCFNStackKey\\\"},{\\\"value\\\":\\\"workload-discovery-Instance\\\",\\\"key\\\":\\\"Name\\\"}],\\\"readReplicaDBInstanceIdentifiers\\\":[],\\\"pendingModifiedValues\\\":{\\\"processorFeatures\\\":[]},\\\"licenseModel\\\":\\\"amazon-license\\\",\\\"customerOwnedIpEnabled\\\":false,\\\"preferredMaintenanceWindow\\\":\\\"mon:03:00-mon:04:00\\\",\\\"monitoringInterval\\\":0,\\\"dBInstanceStatus\\\":\\\"available\\\",\\\"backupRetentionPeriod\\\":31,\\\"storageType\\\":\\\"aurora\\\",\\\"promotionTier\\\":1,\\\"optionGroupMemberships\\\":[{\\\"optionGroupName\\\":\\\"default:neptune-1-2\\\",\\\"status\\\":\\\"in-sync\\\"}],\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"dBClusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"autoMinorVersionUpgrade\\\":true,\\\"copyTagsToSnapshot\\\":false,\\\"dBInstanceAutomatedBackupsReplications\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-02e0c991bba17b7eb","loggedInURL":null,"loginURL":null,"private":null,"resourceId":"db-ZXG6MRBFGBYTH5QPUYIAVOI6R4","resourceName":"neptunedbinstance-opr3vy9xrbzh","resourceType":"AWS::RDS::DBInstance","resourceValue":null,"state":null,"tags":"[{\"tag\":\"App=workload-discovery\",\"value\":\"workload-discovery\",\"key\":\"App\"},{\"tag\":\"Owner=\",\"value\":\"\",\"key\":\"Owner\"},{\"tag\":\"Storage=ebs\",\"value\":\"ebs\",\"key\":\"Storage\"},{\"tag\":\"User=test\",\"value\":\"test\",\"key\":\"User\"},{\"tag\":\"Tier=\",\"value\":\"\",\"key\":\"Tier\"},{\"tag\":\"Version=\",\"value\":\"\",\"key\":\"Version\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"Name=workload-discovery-Instance\",\"value\":\"workload-discovery-Instance\",\"key\":\"Name\"}]","title":"workload-discovery-Instance","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:rds:eu-west-1:044981683129:db:serverless-neptune-instance-1","label":"AWS_RDS_DBInstance","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:db:serverless-neptune-instance-1","configuration":"\"{\\\"allocatedStorage\\\":1,\\\"enabledCloudwatchLogsExports\\\":[],\\\"readReplicaDBClusterIdentifiers\\\":[],\\\"dbInstancePort\\\":0,\\\"associatedRoles\\\":[],\\\"dBParameterGroups\\\":[{\\\"dBParameterGroupName\\\":\\\"default.neptune1.2\\\",\\\"parameterApplyStatus\\\":\\\"in-sync\\\"}],\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"preferredBackupWindow\\\":\\\"23:34-00:04\\\",\\\"dbiResourceId\\\":\\\"db-QAGKG6WNX7TIWQOQI2WDVBVQKU\\\",\\\"deletionProtection\\\":false,\\\"dBInstanceIdentifier\\\":\\\"serverless-neptune-instance-1\\\",\\\"dBInstanceArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:db:serverless-neptune-instance-1\\\",\\\"endpoint\\\":{\\\"hostedZoneId\\\":\\\"ZINKV47VFXLOC\\\",\\\"address\\\":\\\"serverless-neptune-instance-1.ccc9f5a6ekin.eu-west-1.neptune.amazonaws.com\\\",\\\"port\\\":6174},\\\"dBSecurityGroups\\\":[],\\\"engine\\\":\\\"neptune\\\",\\\"publiclyAccessible\\\":false,\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"statusInfos\\\":[],\\\"engineVersion\\\":\\\"1.2.0.1\\\",\\\"performanceInsightsEnabled\\\":false,\\\"masterUsername\\\":\\\"admin\\\",\\\"multiAZ\\\":false,\\\"instanceCreateTime\\\":\\\"2022-10-27T09:01:31.756Z\\\",\\\"domainMemberships\\\":[],\\\"dBInstanceClass\\\":\\\"db.serverless\\\",\\\"storageEncrypted\\\":false,\\\"processorFeatures\\\":[],\\\"dBSubnetGroup\\\":{\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"subnets\\\":[{\\\"subnetIdentifier\\\":\\\"subnet-02e0c991bba17b7eb\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1a\\\"}},{\\\"subnetIdentifier\\\":\\\"subnet-010652f698dff6484\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1b\\\"}}],\\\"subnetGroupStatus\\\":\\\"Complete\\\",\\\"dBSubnetGroupName\\\":\\\"perspective-dev-sng\\\",\\\"dBSubnetGroupDescription\\\":\\\"CloudFormation managed Neptune DB Subnet Group - workload-discovery-subnet-group\\\"},\\\"vpcSecurityGroups\\\":[{\\\"vpcSecurityGroupId\\\":\\\"sg-02df76c6e6753f6b3\\\",\\\"status\\\":\\\"active\\\"}],\\\"tagList\\\":[],\\\"readReplicaDBInstanceIdentifiers\\\":[],\\\"pendingModifiedValues\\\":{\\\"processorFeatures\\\":[]},\\\"licenseModel\\\":\\\"amazon-license\\\",\\\"customerOwnedIpEnabled\\\":false,\\\"preferredMaintenanceWindow\\\":\\\"thu:00:46-thu:01:16\\\",\\\"monitoringInterval\\\":0,\\\"dBInstanceStatus\\\":\\\"available\\\",\\\"backupRetentionPeriod\\\":1,\\\"storageType\\\":\\\"aurora\\\",\\\"promotionTier\\\":1,\\\"optionGroupMemberships\\\":[{\\\"optionGroupName\\\":\\\"default:neptune-1-2\\\",\\\"status\\\":\\\"in-sync\\\"}],\\\"dBClusterIdentifier\\\":\\\"serverless-neptune\\\",\\\"autoMinorVersionUpgrade\\\":true,\\\"copyTagsToSnapshot\\\":false,\\\"dBInstanceAutomatedBackupsReplications\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-02e0c991bba17b7eb","loggedInURL":null,"loginURL":null,"private":null,"resourceId":"db-QAGKG6WNX7TIWQOQI2WDVBVQKU","resourceName":"serverless-neptune-instance-1","resourceType":"AWS::RDS::DBInstance","resourceValue":null,"state":null,"tags":"[]","title":"serverless-neptune-instance-1","instanceType":null,"statement":null,"dBInstanceStatus":null}}]},{"id":null,"label":"Domain","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:es:eu-west-1:044981683129:domain/opensearchdomai-sq504hzjjahv","label":"AWS_OpenSearch_Domain","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:es:eu-west-1:044981683129:domain/opensearchdomai-sq504hzjjahv","configuration":"\"{\\\"ARN\\\":\\\"arn:aws:es:eu-west-1:044981683129:domain/opensearchdomai-sq504hzjjahv\\\",\\\"AccessPolicies\\\":\\\"{\\\\\\\"Version\\\\\\\":\\\\\\\"2012-10-17\\\\\\\",\\\\\\\"Statement\\\\\\\":[{\\\\\\\"Effect\\\\\\\":\\\\\\\"Allow\\\\\\\",\\\\\\\"Principal\\\\\\\":{\\\\\\\"AWS\\\\\\\":\\\\\\\"arn:aws:iam::044981683129:role/wd2-2022-10-07-OpenSearchRoleStac-SearchLambdaRole-13QULKRSOW40L\\\\\\\"},\\\\\\\"Action\\\\\\\":[\\\\\\\"es:ESHttpHead\\\\\\\",\\\\\\\"es:ESHttpGet\\\\\\\",\\\\\\\"es:ESHttpPost\\\\\\\",\\\\\\\"es:ESHttpPut\\\\\\\",\\\\\\\"es:ESHttpDelete\\\\\\\"],\\\\\\\"Resource\\\\\\\":\\\\\\\"arn:aws:es:eu-west-1:044981683129:domain/*\\\\\\\"}]}\\\",\\\"AdvancedOptions\\\":{\\\"indices.query.bool.max_clause_count\\\":\\\"4096\\\",\\\"override_main_response_version\\\":\\\"false\\\",\\\"rest.action.multi.allow_explicit_index\\\":\\\"true\\\"},\\\"AdvancedSecurityOptions\\\":{\\\"AnonymousAuthEnabled\\\":false,\\\"Enabled\\\":false,\\\"InternalUserDatabaseEnabled\\\":false},\\\"AutoTuneOptions\\\":{\\\"State\\\":\\\"ENABLED\\\"},\\\"ClusterConfig\\\":{\\\"ColdStorageOptions\\\":{\\\"Enabled\\\":false},\\\"DedicatedMasterEnabled\\\":false,\\\"InstanceCount\\\":1,\\\"InstanceType\\\":\\\"m6g.large.search\\\",\\\"WarmEnabled\\\":false,\\\"ZoneAwarenessEnabled\\\":false},\\\"CognitoOptions\\\":{\\\"Enabled\\\":false},\\\"Created\\\":true,\\\"Deleted\\\":false,\\\"DomainEndpointOptions\\\":{\\\"CustomEndpointEnabled\\\":false,\\\"EnforceHTTPS\\\":true,\\\"TLSSecurityPolicy\\\":\\\"Policy-Min-TLS-1-0-2019-07\\\"},\\\"DomainId\\\":\\\"044981683129/opensearchdomai-sq504hzjjahv\\\",\\\"DomainName\\\":\\\"opensearchdomai-sq504hzjjahv\\\",\\\"EBSOptions\\\":{\\\"EBSEnabled\\\":true,\\\"VolumeSize\\\":10,\\\"VolumeType\\\":\\\"gp2\\\"},\\\"EncryptionAtRestOptions\\\":{\\\"Enabled\\\":true,\\\"KmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/2e78895f-ba19-4ec8-aa8b-47a681cc2a1e\\\"},\\\"Endpoints\\\":{\\\"vpc\\\":\\\"vpc-opensearchdomai-sq504hzjjahv-n6e7afx5nrqr23r3ddwdpeiimm.eu-west-1.es.amazonaws.com\\\"},\\\"EngineVersion\\\":\\\"OpenSearch_1.3\\\",\\\"NodeToNodeEncryptionOptions\\\":{\\\"Enabled\\\":true},\\\"Processing\\\":false,\\\"ServiceSoftwareOptions\\\":{\\\"AutomatedUpdateDate\\\":\\\"2023-04-14T08:31:12.000Z\\\",\\\"Cancellable\\\":false,\\\"CurrentVersion\\\":\\\"R20220928-P1\\\",\\\"Description\\\":\\\"A new software release R20221114-P3 is available. This release will be automatically deployed if no action is taken.\\\",\\\"NewVersion\\\":\\\"R20221114-P3\\\",\\\"OptionalDeployment\\\":false,\\\"UpdateAvailable\\\":true,\\\"UpdateStatus\\\":\\\"PENDING_UPDATE\\\"},\\\"SnapshotOptions\\\":{\\\"AutomatedSnapshotStartHour\\\":0},\\\"UpgradeProcessing\\\":false,\\\"VPCOptions\\\":{\\\"AvailabilityZones\\\":[\\\"eu-west-1a\\\"],\\\"SecurityGroupIds\\\":[\\\"sg-0696201a4200147f4\\\"],\\\"SubnetIds\\\":[\\\"subnet-02e0c991bba17b7eb\\\"],\\\"VPCId\\\":\\\"vpc-04e5e1c4bc4409222\\\"}}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-02e0c991bba17b7eb","loggedInURL":null,"loginURL":null,"private":null,"resourceId":"opensearchdomai-sq504hzjjahv","resourceName":"opensearchdomai-sq504hzjjahv","resourceType":"AWS::OpenSearch::Domain","resourceValue":null,"state":null,"tags":"[]","title":"opensearchdomai-sq504hzjjahv","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}]},{"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0a0fb0d325b2f6e27","label":"subnet-0a0fb0d325b2f6e27","parent":null,"type":"subnet","data":{"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0a0fb0d325b2f6e27","configuration":"\"{\\\"subnetId\\\":\\\"subnet-0a0fb0d325b2f6e27\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0a0fb0d325b2f6e27\\\",\\\"availabilityZoneId\\\":\\\"euw1-az2\\\",\\\"cidrBlock\\\":\\\"10.0.1.0/24\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\\\",\\\"key\\\":\\\"Application\\\"},{\\\"value\\\":\\\"Public\\\",\\\"key\\\":\\\"Network\\\"},{\\\"value\\\":\\\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"vpc-04e5e1c4bc4409222-public-a\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"PublicSubnet0\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"key\\\":\\\"AppManagerCFNStackKey\\\"}],\\\"availableIpAddressCount\\\":250,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"mapPublicIpOnLaunch\\\":false,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-0a0fb0d325b2f6e27","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":"true","resourceId":"subnet-0a0fb0d325b2f6e27","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"value\":\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"Network=Public\",\"value\":\"Public\",\"key\":\"Network\"},{\"tag\":\"aws:cloudformation:logical-id=PublicSubnet0\",\"value\":\"PublicSubnet0\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"Application=wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"value\":\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"key\":\"Application\"},{\"tag\":\"Name=vpc-04e5e1c4bc4409222-public-a\",\"value\":\"vpc-04e5e1c4bc4409222-public-a\",\"key\":\"Name\"}]","title":"vpc-04e5e1c4bc4409222-public-a","instanceType":null,"statement":null,"dBInstanceStatus":null},"id":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0a0fb0d325b2f6e27","label":"AWS_EC2_Subnet"},"properties":null,"children":[{"id":null,"label":"NetworkInterface","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-015baaa6d6b7c79fd","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-015baaa6d6b7c79fd","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-015baaa6d6b7c79fd\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"044981683129\\\",\\\"allocationId\\\":\\\"eipalloc-08898549a4777216e\\\",\\\"publicIp\\\":\\\"18.202.87.78\\\",\\\"publicDnsName\\\":\\\"ec2-18-202-87-78.eu-west-1.compute.amazonaws.com\\\",\\\"associationId\\\":\\\"eipassoc-0027d275db16582dd\\\"},\\\"privateDnsName\\\":\\\"ip-10-0-1-74.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.1.74\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0a0fb0d325b2f6e27\\\",\\\"requesterId\\\":\\\"121358213739\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"044981683129\\\",\\\"allocationId\\\":\\\"eipalloc-08898549a4777216e\\\",\\\"publicIp\\\":\\\"18.202.87.78\\\",\\\"publicDnsName\\\":\\\"ec2-18-202-87-78.eu-west-1.compute.amazonaws.com\\\",\\\"associationId\\\":\\\"eipassoc-0027d275db16582dd\\\"},\\\"description\\\":\\\"Interface for NAT Gateway nat-0f052ba8450b34d40\\\",\\\"groups\\\":[],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":false,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.1.74\\\",\\\"interfaceType\\\":\\\"nat_gateway\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:ab:30:54:8f:d7\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-0fd0fe2f2fc662f4f\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"privateDnsName\\\":\\\"ip-10-0-1-74.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-0a0fb0d325b2f6e27","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-015baaa6d6b7c79fd","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-015baaa6d6b7c79fd","instanceType":null,"statement":null,"dBInstanceStatus":null}}]},{"id":null,"label":"NatGateway","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-0f052ba8450b34d40","label":"AWS_EC2_NatGateway","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-0f052ba8450b34d40","configuration":"\"{\\\"subnetId\\\":\\\"subnet-0a0fb0d325b2f6e27\\\",\\\"connectivityType\\\":\\\"public\\\",\\\"createTime\\\":1665165086000,\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"natGatewayId\\\":\\\"nat-0f052ba8450b34d40\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"natGatewayAddresses\\\":[{\\\"networkInterfaceId\\\":\\\"eni-015baaa6d6b7c79fd\\\",\\\"isPrimary\\\":true,\\\"privateIp\\\":\\\"10.0.1.74\\\",\\\"allocationId\\\":\\\"eipalloc-08898549a4777216e\\\",\\\"publicIp\\\":\\\"18.202.87.78\\\",\\\"associationId\\\":\\\"eipassoc-0027d275db16582dd\\\",\\\"status\\\":\\\"succeeded\\\",\\\"primary\\\":true}],\\\"tags\\\":[{\\\"value\\\":\\\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"key\\\":\\\"AppManagerCFNStackKey\\\"},{\\\"value\\\":\\\"NATGateway0\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-0a0fb0d325b2f6e27","loggedInURL":null,"loginURL":null,"private":null,"resourceId":"nat-0f052ba8450b34d40","resourceName":null,"resourceType":"AWS::EC2::NatGateway","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"value\":\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"aws:cloudformation:logical-id=NATGateway0\",\"value\":\"NATGateway0\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"nat-0f052ba8450b34d40","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1205.5,"y":-2492.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"availabilityZone removeAll _gridParentPadding"},{"data":{"id":"subnet-02e0c991bba17b7eb-eu-west-1a-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","parent":"eu-west-1a-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":4,"title":"subnet-02e0c991bba17b7eb","label":"subnet-02e0c991bba17b7eb","plainLabel":"subnet-02e0c991bba17b7eb","type":"subnet","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/VPC-subnet-private_light-bg-collapsed.svg","clickedId":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-02e0c991bba17b7eb","cost":0,"hasChildren":true,"children":[{"id":null,"label":"NetworkInterface","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-08c79f1b042fac609","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-08c79f1b042fac609","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-08c79f1b042fac609\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-11-62.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.11.62\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-02e0c991bba17b7eb\\\",\\\"requesterId\\\":\\\"amazon-elasticsearch\\\",\\\"description\\\":\\\"ES opensearchdomai-sq504hzjjahv\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"wd2-2022-10-07-OpenSearchStack-1AX1CP06M7WKW-OpenSearchSg-9T7A87DPDKI8\\\",\\\"groupId\\\":\\\"sg-0696201a4200147f4\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.11.62\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:09:fe:37:0e:1d\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"privateDnsName\\\":\\\"ip-10-0-11-62.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-02e0c991bba17b7eb","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-08c79f1b042fac609","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-08c79f1b042fac609","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-09182eed51134b78c","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-09182eed51134b78c","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-09182eed51134b78c\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-11-146.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.11.146\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-02e0c991bba17b7eb\\\",\\\"requesterId\\\":\\\"amazon-elasticsearch\\\",\\\"description\\\":\\\"ES opensearchdomai-sq504hzjjahv\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"wd2-2022-10-07-OpenSearchStack-1AX1CP06M7WKW-OpenSearchSg-9T7A87DPDKI8\\\",\\\"groupId\\\":\\\"sg-0696201a4200147f4\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.11.146\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:bc:6a:af:3a:73\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-045db04d97511ee83\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-elasticsearch\\\",\\\"attachTime\\\":\\\"2022-12-14T17:45:24.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"privateDnsName\\\":\\\"ip-10-0-11-146.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-02e0c991bba17b7eb","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-09182eed51134b78c","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-09182eed51134b78c","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0a205d5edaebef087","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0a205d5edaebef087","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0a205d5edaebef087\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-11-182.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.11.182\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-02e0c991bba17b7eb\\\",\\\"requesterId\\\":\\\"amazon-elasticsearch\\\",\\\"description\\\":\\\"ES opensearchdomai-sq504hzjjahv\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"wd2-2022-10-07-OpenSearchStack-1AX1CP06M7WKW-OpenSearchSg-9T7A87DPDKI8\\\",\\\"groupId\\\":\\\"sg-0696201a4200147f4\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.11.182\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:5d:95:1c:ce:69\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"privateDnsName\\\":\\\"ip-10-0-11-182.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-02e0c991bba17b7eb","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0a205d5edaebef087","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0a205d5edaebef087","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-04a4bb87d5f2a003e","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-04a4bb87d5f2a003e","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-04a4bb87d5f2a003e\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-11-240.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.11.240\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-02e0c991bba17b7eb\\\",\\\"requesterId\\\":\\\"117190814105\\\",\\\"description\\\":\\\"RDSNetworkInterface\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-NeptuneDbSg-Y7988QV8NPL0\\\",\\\"groupId\\\":\\\"sg-02df76c6e6753f6b3\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.11.240\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:fe:55:54:f4:df\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-024a57bae5d9db53b\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"117190814105\\\",\\\"attachTime\\\":\\\"2022-11-16T14:56:41.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"privateDnsName\\\":\\\"ip-10-0-11-240.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-02e0c991bba17b7eb","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-04a4bb87d5f2a003e","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-04a4bb87d5f2a003e","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0510fd6b9a7a1c835","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0510fd6b9a7a1c835","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0510fd6b9a7a1c835\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-11-45.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.11.45\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-02e0c991bba17b7eb\\\",\\\"requesterId\\\":\\\"AROAQU6I6AO4WKTGS5MSB:954369082511\\\",\\\"description\\\":\\\"AWS Lambda VPC ENI-wd2-2022-10-07-SearchResol-OpenSearchSetupFunction-6lBkj5VZvL9N-dc500b7b-c415-47f3-b1a7-67260e27c221\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"wd2-2022-10-07-SearchResolversStack-CBU7QRC0LONQ-SearchLambdaSg-PW4G863M4NF6\\\",\\\"groupId\\\":\\\"sg-030453011373764ba\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"10.0.11.45\\\",\\\"interfaceType\\\":\\\"lambda\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:86:a7:94:08:01\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-078d51df012ac8901\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"privateDnsName\\\":\\\"ip-10-0-11-45.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-02e0c991bba17b7eb","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0510fd6b9a7a1c835","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0510fd6b9a7a1c835","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-05d6ccb6387cedf6f","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-05d6ccb6387cedf6f","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-05d6ccb6387cedf6f\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-11-130.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.11.130\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-02e0c991bba17b7eb\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-081b9b329885369e1\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO-VpcEndpointsSg-1HFDNS5FPIC7L\\\",\\\"groupId\\\":\\\"sg-02b585bfae59e4fe3\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.11.130\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:55:90:be:82:2d\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-051cc825a70d5dfb8\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"privateDnsName\\\":\\\"ip-10-0-11-130.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-02e0c991bba17b7eb","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-05d6ccb6387cedf6f","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-05d6ccb6387cedf6f","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-03024ce5b29130f8f","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-03024ce5b29130f8f","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-03024ce5b29130f8f\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-11-63.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.11.63\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-02e0c991bba17b7eb\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-075e2a5ba4b2ed02a\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO-VpcEndpointsSg-1HFDNS5FPIC7L\\\",\\\"groupId\\\":\\\"sg-02b585bfae59e4fe3\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.11.63\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:13:cf:70:57:e9\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-030aa9ee09e645c56\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"privateDnsName\\\":\\\"ip-10-0-11-63.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-02e0c991bba17b7eb","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-03024ce5b29130f8f","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-03024ce5b29130f8f","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0eb2973ec2e59a854","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0eb2973ec2e59a854","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0eb2973ec2e59a854\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-11-52.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.11.52\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-02e0c991bba17b7eb\\\",\\\"requesterId\\\":\\\"AROAQU6I6AO4TFOGWSPW5:954369082511\\\",\\\"description\\\":\\\"AWS Lambda VPC ENI-wd2-2022-10-07-GremlinResol-GremlinAppSyncFunction-6sQyJsT9RJw9-ccef9da0-7467-44f6-b7d7-55c85ba7eaa5\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8-GremlinResolverLambdaSg-1H1C5S7X1VUYZ\\\",\\\"groupId\\\":\\\"sg-044b48335ef509cb2\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"10.0.11.52\\\",\\\"interfaceType\\\":\\\"lambda\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:71:5d:84:da:b1\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-021a1fe300a22fb69\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"privateDnsName\\\":\\\"ip-10-0-11-52.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-02e0c991bba17b7eb","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0eb2973ec2e59a854","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0eb2973ec2e59a854","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0d60a5b414523d3e0","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0d60a5b414523d3e0","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0d60a5b414523d3e0\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-11-93.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.11.93\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-02e0c991bba17b7eb\\\",\\\"requesterId\\\":\\\"117190814105\\\",\\\"description\\\":\\\"RDSNetworkInterface\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-NeptuneDbSg-Y7988QV8NPL0\\\",\\\"groupId\\\":\\\"sg-02df76c6e6753f6b3\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.11.93\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:7d:46:fe:38:e1\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-08f461643ddf774e7\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"117190814105\\\",\\\"attachTime\\\":\\\"2023-01-05T00:58:38.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"privateDnsName\\\":\\\"ip-10-0-11-93.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-02e0c991bba17b7eb","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0d60a5b414523d3e0","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0d60a5b414523d3e0","instanceType":null,"statement":null,"dBInstanceStatus":null}}]},{"id":null,"label":"DBInstance","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:rds:eu-west-1:044981683129:db:neptunedbinstance-opr3vy9xrbzh","label":"AWS_RDS_DBInstance","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:db:neptunedbinstance-opr3vy9xrbzh","configuration":"\"{\\\"allocatedStorage\\\":1,\\\"enabledCloudwatchLogsExports\\\":[],\\\"readReplicaDBClusterIdentifiers\\\":[],\\\"dbInstancePort\\\":0,\\\"associatedRoles\\\":[],\\\"dBParameterGroups\\\":[{\\\"dBParameterGroupName\\\":\\\"default.neptune1.2\\\",\\\"parameterApplyStatus\\\":\\\"in-sync\\\"}],\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"preferredBackupWindow\\\":\\\"02:00-03:00\\\",\\\"dbiResourceId\\\":\\\"db-ZXG6MRBFGBYTH5QPUYIAVOI6R4\\\",\\\"deletionProtection\\\":false,\\\"dBInstanceIdentifier\\\":\\\"neptunedbinstance-opr3vy9xrbzh\\\",\\\"dBInstanceArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:db:neptunedbinstance-opr3vy9xrbzh\\\",\\\"endpoint\\\":{\\\"hostedZoneId\\\":\\\"ZINKV47VFXLOC\\\",\\\"address\\\":\\\"neptunedbinstance-opr3vy9xrbzh.ccc9f5a6ekin.eu-west-1.neptune.amazonaws.com\\\",\\\"port\\\":6174},\\\"dBSecurityGroups\\\":[],\\\"engine\\\":\\\"neptune\\\",\\\"publiclyAccessible\\\":false,\\\"iAMDatabaseAuthenticationEnabled\\\":true,\\\"statusInfos\\\":[],\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"performanceInsightsEnabled\\\":false,\\\"masterUsername\\\":\\\"admin\\\",\\\"multiAZ\\\":false,\\\"instanceCreateTime\\\":\\\"2022-10-07T18:03:36.960Z\\\",\\\"domainMemberships\\\":[],\\\"dBInstanceClass\\\":\\\"db.r5.large\\\",\\\"storageEncrypted\\\":true,\\\"processorFeatures\\\":[],\\\"dBSubnetGroup\\\":{\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"subnets\\\":[{\\\"subnetIdentifier\\\":\\\"subnet-010652f698dff6484\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1b\\\"}},{\\\"subnetIdentifier\\\":\\\"subnet-02e0c991bba17b7eb\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1a\\\"}}],\\\"subnetGroupStatus\\\":\\\"Complete\\\",\\\"dBSubnetGroupName\\\":\\\"perspective-dev-sng\\\",\\\"dBSubnetGroupDescription\\\":\\\"CloudFormation managed Neptune DB Subnet Group - workload-discovery-subnet-group\\\"},\\\"vpcSecurityGroups\\\":[{\\\"vpcSecurityGroupId\\\":\\\"sg-02df76c6e6753f6b3\\\",\\\"status\\\":\\\"active\\\"}],\\\"tagList\\\":[{\\\"value\\\":\\\"workload-discovery\\\",\\\"key\\\":\\\"App\\\"},{\\\"value\\\":\\\"\\\",\\\"key\\\":\\\"Owner\\\"},{\\\"value\\\":\\\"ebs\\\",\\\"key\\\":\\\"Storage\\\"},{\\\"value\\\":\\\"test\\\",\\\"key\\\":\\\"User\\\"},{\\\"value\\\":\\\"\\\",\\\"key\\\":\\\"Tier\\\"},{\\\"value\\\":\\\"\\\",\\\"key\\\":\\\"Version\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"key\\\":\\\"AppManagerCFNStackKey\\\"},{\\\"value\\\":\\\"workload-discovery-Instance\\\",\\\"key\\\":\\\"Name\\\"}],\\\"readReplicaDBInstanceIdentifiers\\\":[],\\\"pendingModifiedValues\\\":{\\\"processorFeatures\\\":[]},\\\"licenseModel\\\":\\\"amazon-license\\\",\\\"customerOwnedIpEnabled\\\":false,\\\"preferredMaintenanceWindow\\\":\\\"mon:03:00-mon:04:00\\\",\\\"monitoringInterval\\\":0,\\\"dBInstanceStatus\\\":\\\"available\\\",\\\"backupRetentionPeriod\\\":31,\\\"storageType\\\":\\\"aurora\\\",\\\"promotionTier\\\":1,\\\"optionGroupMemberships\\\":[{\\\"optionGroupName\\\":\\\"default:neptune-1-2\\\",\\\"status\\\":\\\"in-sync\\\"}],\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"dBClusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"autoMinorVersionUpgrade\\\":true,\\\"copyTagsToSnapshot\\\":false,\\\"dBInstanceAutomatedBackupsReplications\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-02e0c991bba17b7eb","loggedInURL":null,"loginURL":null,"private":null,"resourceId":"db-ZXG6MRBFGBYTH5QPUYIAVOI6R4","resourceName":"neptunedbinstance-opr3vy9xrbzh","resourceType":"AWS::RDS::DBInstance","resourceValue":null,"state":null,"tags":"[{\"tag\":\"App=workload-discovery\",\"value\":\"workload-discovery\",\"key\":\"App\"},{\"tag\":\"Owner=\",\"value\":\"\",\"key\":\"Owner\"},{\"tag\":\"Storage=ebs\",\"value\":\"ebs\",\"key\":\"Storage\"},{\"tag\":\"User=test\",\"value\":\"test\",\"key\":\"User\"},{\"tag\":\"Tier=\",\"value\":\"\",\"key\":\"Tier\"},{\"tag\":\"Version=\",\"value\":\"\",\"key\":\"Version\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"Name=workload-discovery-Instance\",\"value\":\"workload-discovery-Instance\",\"key\":\"Name\"}]","title":"workload-discovery-Instance","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:rds:eu-west-1:044981683129:db:serverless-neptune-instance-1","label":"AWS_RDS_DBInstance","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:db:serverless-neptune-instance-1","configuration":"\"{\\\"allocatedStorage\\\":1,\\\"enabledCloudwatchLogsExports\\\":[],\\\"readReplicaDBClusterIdentifiers\\\":[],\\\"dbInstancePort\\\":0,\\\"associatedRoles\\\":[],\\\"dBParameterGroups\\\":[{\\\"dBParameterGroupName\\\":\\\"default.neptune1.2\\\",\\\"parameterApplyStatus\\\":\\\"in-sync\\\"}],\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"preferredBackupWindow\\\":\\\"23:34-00:04\\\",\\\"dbiResourceId\\\":\\\"db-QAGKG6WNX7TIWQOQI2WDVBVQKU\\\",\\\"deletionProtection\\\":false,\\\"dBInstanceIdentifier\\\":\\\"serverless-neptune-instance-1\\\",\\\"dBInstanceArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:db:serverless-neptune-instance-1\\\",\\\"endpoint\\\":{\\\"hostedZoneId\\\":\\\"ZINKV47VFXLOC\\\",\\\"address\\\":\\\"serverless-neptune-instance-1.ccc9f5a6ekin.eu-west-1.neptune.amazonaws.com\\\",\\\"port\\\":6174},\\\"dBSecurityGroups\\\":[],\\\"engine\\\":\\\"neptune\\\",\\\"publiclyAccessible\\\":false,\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"statusInfos\\\":[],\\\"engineVersion\\\":\\\"1.2.0.1\\\",\\\"performanceInsightsEnabled\\\":false,\\\"masterUsername\\\":\\\"admin\\\",\\\"multiAZ\\\":false,\\\"instanceCreateTime\\\":\\\"2022-10-27T09:01:31.756Z\\\",\\\"domainMemberships\\\":[],\\\"dBInstanceClass\\\":\\\"db.serverless\\\",\\\"storageEncrypted\\\":false,\\\"processorFeatures\\\":[],\\\"dBSubnetGroup\\\":{\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"subnets\\\":[{\\\"subnetIdentifier\\\":\\\"subnet-02e0c991bba17b7eb\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1a\\\"}},{\\\"subnetIdentifier\\\":\\\"subnet-010652f698dff6484\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1b\\\"}}],\\\"subnetGroupStatus\\\":\\\"Complete\\\",\\\"dBSubnetGroupName\\\":\\\"perspective-dev-sng\\\",\\\"dBSubnetGroupDescription\\\":\\\"CloudFormation managed Neptune DB Subnet Group - workload-discovery-subnet-group\\\"},\\\"vpcSecurityGroups\\\":[{\\\"vpcSecurityGroupId\\\":\\\"sg-02df76c6e6753f6b3\\\",\\\"status\\\":\\\"active\\\"}],\\\"tagList\\\":[],\\\"readReplicaDBInstanceIdentifiers\\\":[],\\\"pendingModifiedValues\\\":{\\\"processorFeatures\\\":[]},\\\"licenseModel\\\":\\\"amazon-license\\\",\\\"customerOwnedIpEnabled\\\":false,\\\"preferredMaintenanceWindow\\\":\\\"thu:00:46-thu:01:16\\\",\\\"monitoringInterval\\\":0,\\\"dBInstanceStatus\\\":\\\"available\\\",\\\"backupRetentionPeriod\\\":1,\\\"storageType\\\":\\\"aurora\\\",\\\"promotionTier\\\":1,\\\"optionGroupMemberships\\\":[{\\\"optionGroupName\\\":\\\"default:neptune-1-2\\\",\\\"status\\\":\\\"in-sync\\\"}],\\\"dBClusterIdentifier\\\":\\\"serverless-neptune\\\",\\\"autoMinorVersionUpgrade\\\":true,\\\"copyTagsToSnapshot\\\":false,\\\"dBInstanceAutomatedBackupsReplications\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-02e0c991bba17b7eb","loggedInURL":null,"loginURL":null,"private":null,"resourceId":"db-QAGKG6WNX7TIWQOQI2WDVBVQKU","resourceName":"serverless-neptune-instance-1","resourceType":"AWS::RDS::DBInstance","resourceValue":null,"state":null,"tags":"[]","title":"serverless-neptune-instance-1","instanceType":null,"statement":null,"dBInstanceStatus":null}}]},{"id":null,"label":"Domain","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:es:eu-west-1:044981683129:domain/opensearchdomai-sq504hzjjahv","label":"AWS_OpenSearch_Domain","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:es:eu-west-1:044981683129:domain/opensearchdomai-sq504hzjjahv","configuration":"\"{\\\"ARN\\\":\\\"arn:aws:es:eu-west-1:044981683129:domain/opensearchdomai-sq504hzjjahv\\\",\\\"AccessPolicies\\\":\\\"{\\\\\\\"Version\\\\\\\":\\\\\\\"2012-10-17\\\\\\\",\\\\\\\"Statement\\\\\\\":[{\\\\\\\"Effect\\\\\\\":\\\\\\\"Allow\\\\\\\",\\\\\\\"Principal\\\\\\\":{\\\\\\\"AWS\\\\\\\":\\\\\\\"arn:aws:iam::044981683129:role/wd2-2022-10-07-OpenSearchRoleStac-SearchLambdaRole-13QULKRSOW40L\\\\\\\"},\\\\\\\"Action\\\\\\\":[\\\\\\\"es:ESHttpHead\\\\\\\",\\\\\\\"es:ESHttpGet\\\\\\\",\\\\\\\"es:ESHttpPost\\\\\\\",\\\\\\\"es:ESHttpPut\\\\\\\",\\\\\\\"es:ESHttpDelete\\\\\\\"],\\\\\\\"Resource\\\\\\\":\\\\\\\"arn:aws:es:eu-west-1:044981683129:domain/*\\\\\\\"}]}\\\",\\\"AdvancedOptions\\\":{\\\"indices.query.bool.max_clause_count\\\":\\\"4096\\\",\\\"override_main_response_version\\\":\\\"false\\\",\\\"rest.action.multi.allow_explicit_index\\\":\\\"true\\\"},\\\"AdvancedSecurityOptions\\\":{\\\"AnonymousAuthEnabled\\\":false,\\\"Enabled\\\":false,\\\"InternalUserDatabaseEnabled\\\":false},\\\"AutoTuneOptions\\\":{\\\"State\\\":\\\"ENABLED\\\"},\\\"ClusterConfig\\\":{\\\"ColdStorageOptions\\\":{\\\"Enabled\\\":false},\\\"DedicatedMasterEnabled\\\":false,\\\"InstanceCount\\\":1,\\\"InstanceType\\\":\\\"m6g.large.search\\\",\\\"WarmEnabled\\\":false,\\\"ZoneAwarenessEnabled\\\":false},\\\"CognitoOptions\\\":{\\\"Enabled\\\":false},\\\"Created\\\":true,\\\"Deleted\\\":false,\\\"DomainEndpointOptions\\\":{\\\"CustomEndpointEnabled\\\":false,\\\"EnforceHTTPS\\\":true,\\\"TLSSecurityPolicy\\\":\\\"Policy-Min-TLS-1-0-2019-07\\\"},\\\"DomainId\\\":\\\"044981683129/opensearchdomai-sq504hzjjahv\\\",\\\"DomainName\\\":\\\"opensearchdomai-sq504hzjjahv\\\",\\\"EBSOptions\\\":{\\\"EBSEnabled\\\":true,\\\"VolumeSize\\\":10,\\\"VolumeType\\\":\\\"gp2\\\"},\\\"EncryptionAtRestOptions\\\":{\\\"Enabled\\\":true,\\\"KmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/2e78895f-ba19-4ec8-aa8b-47a681cc2a1e\\\"},\\\"Endpoints\\\":{\\\"vpc\\\":\\\"vpc-opensearchdomai-sq504hzjjahv-n6e7afx5nrqr23r3ddwdpeiimm.eu-west-1.es.amazonaws.com\\\"},\\\"EngineVersion\\\":\\\"OpenSearch_1.3\\\",\\\"NodeToNodeEncryptionOptions\\\":{\\\"Enabled\\\":true},\\\"Processing\\\":false,\\\"ServiceSoftwareOptions\\\":{\\\"AutomatedUpdateDate\\\":\\\"2023-04-14T08:31:12.000Z\\\",\\\"Cancellable\\\":false,\\\"CurrentVersion\\\":\\\"R20220928-P1\\\",\\\"Description\\\":\\\"A new software release R20221114-P3 is available. This release will be automatically deployed if no action is taken.\\\",\\\"NewVersion\\\":\\\"R20221114-P3\\\",\\\"OptionalDeployment\\\":false,\\\"UpdateAvailable\\\":true,\\\"UpdateStatus\\\":\\\"PENDING_UPDATE\\\"},\\\"SnapshotOptions\\\":{\\\"AutomatedSnapshotStartHour\\\":0},\\\"UpgradeProcessing\\\":false,\\\"VPCOptions\\\":{\\\"AvailabilityZones\\\":[\\\"eu-west-1a\\\"],\\\"SecurityGroupIds\\\":[\\\"sg-0696201a4200147f4\\\"],\\\"SubnetIds\\\":[\\\"subnet-02e0c991bba17b7eb\\\"],\\\"VPCId\\\":\\\"vpc-04e5e1c4bc4409222\\\"}}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-02e0c991bba17b7eb","loggedInURL":null,"loginURL":null,"private":null,"resourceId":"opensearchdomai-sq504hzjjahv","resourceName":"opensearchdomai-sq504hzjjahv","resourceType":"AWS::OpenSearch::Domain","resourceValue":null,"state":null,"tags":"[]","title":"opensearchdomai-sq504hzjjahv","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#147eba","properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-02e0c991bba17b7eb","configuration":"\"{\\\"subnetId\\\":\\\"subnet-02e0c991bba17b7eb\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-02e0c991bba17b7eb\\\",\\\"availabilityZoneId\\\":\\\"euw1-az2\\\",\\\"cidrBlock\\\":\\\"10.0.11.0/24\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\\\",\\\"key\\\":\\\"Application\\\"},{\\\"value\\\":\\\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"PrivateSubnet0\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"key\\\":\\\"AppManagerCFNStackKey\\\"},{\\\"value\\\":\\\"Private\\\",\\\"key\\\":\\\"Network\\\"},{\\\"value\\\":\\\"vpc-04e5e1c4bc4409222-private-a\\\",\\\"key\\\":\\\"Name\\\"}],\\\"availableIpAddressCount\\\":242,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"mapPublicIpOnLaunch\\\":false,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-02e0c991bba17b7eb","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":"false","resourceId":"subnet-02e0c991bba17b7eb","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"value\":\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"Network=Private\",\"value\":\"Private\",\"key\":\"Network\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateSubnet0\",\"value\":\"PrivateSubnet0\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"Application=wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"value\":\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"key\":\"Application\"},{\"tag\":\"Name=vpc-04e5e1c4bc4409222-private-a\",\"value\":\"vpc-04e5e1c4bc4409222-private-a\",\"key\":\"Name\"}]","title":"vpc-04e5e1c4bc4409222-private-a","instanceType":null,"statement":null,"dBInstanceStatus":null},"resource":{"id":"subnet-02e0c991bba17b7eb","name":null,"value":null,"type":"AWS::EC2::Subnet","tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"value\":\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"Network=Private\",\"value\":\"Private\",\"key\":\"Network\"},{\"tag\":\"aws:cloudformation:logical-id=PrivateSubnet0\",\"value\":\"PrivateSubnet0\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"Application=wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"value\":\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"key\":\"Application\"},{\"tag\":\"Name=vpc-04e5e1c4bc4409222-private-a\",\"value\":\"vpc-04e5e1c4bc4409222-private-a\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-02e0c991bba17b7eb","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","accountId":"044981683129"}},"position":{"x":-1338.5,"y":-2492.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"subnet removeAll _gridParentPadding"},{"data":{"id":"NetworkInterface-subnet-02e0c991bba17b7eb-eu-west-1a-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","parent":"subnet-02e0c991bba17b7eb-eu-west-1a-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":5,"title":"NetworkInterface","label":"NetworkInterface","plainLabel":"NetworkInterface","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-08c79f1b042fac609","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-08c79f1b042fac609","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-08c79f1b042fac609\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-11-62.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.11.62\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-02e0c991bba17b7eb\\\",\\\"requesterId\\\":\\\"amazon-elasticsearch\\\",\\\"description\\\":\\\"ES opensearchdomai-sq504hzjjahv\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"wd2-2022-10-07-OpenSearchStack-1AX1CP06M7WKW-OpenSearchSg-9T7A87DPDKI8\\\",\\\"groupId\\\":\\\"sg-0696201a4200147f4\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.11.62\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:09:fe:37:0e:1d\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"privateDnsName\\\":\\\"ip-10-0-11-62.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-02e0c991bba17b7eb","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-08c79f1b042fac609","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-08c79f1b042fac609","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-09182eed51134b78c","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-09182eed51134b78c","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-09182eed51134b78c\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-11-146.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.11.146\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-02e0c991bba17b7eb\\\",\\\"requesterId\\\":\\\"amazon-elasticsearch\\\",\\\"description\\\":\\\"ES opensearchdomai-sq504hzjjahv\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"wd2-2022-10-07-OpenSearchStack-1AX1CP06M7WKW-OpenSearchSg-9T7A87DPDKI8\\\",\\\"groupId\\\":\\\"sg-0696201a4200147f4\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.11.146\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:bc:6a:af:3a:73\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-045db04d97511ee83\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-elasticsearch\\\",\\\"attachTime\\\":\\\"2022-12-14T17:45:24.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"privateDnsName\\\":\\\"ip-10-0-11-146.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-02e0c991bba17b7eb","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-09182eed51134b78c","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-09182eed51134b78c","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0a205d5edaebef087","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0a205d5edaebef087","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0a205d5edaebef087\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-11-182.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.11.182\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-02e0c991bba17b7eb\\\",\\\"requesterId\\\":\\\"amazon-elasticsearch\\\",\\\"description\\\":\\\"ES opensearchdomai-sq504hzjjahv\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"wd2-2022-10-07-OpenSearchStack-1AX1CP06M7WKW-OpenSearchSg-9T7A87DPDKI8\\\",\\\"groupId\\\":\\\"sg-0696201a4200147f4\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.11.182\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:5d:95:1c:ce:69\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"privateDnsName\\\":\\\"ip-10-0-11-182.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-02e0c991bba17b7eb","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0a205d5edaebef087","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0a205d5edaebef087","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-04a4bb87d5f2a003e","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-04a4bb87d5f2a003e","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-04a4bb87d5f2a003e\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-11-240.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.11.240\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-02e0c991bba17b7eb\\\",\\\"requesterId\\\":\\\"117190814105\\\",\\\"description\\\":\\\"RDSNetworkInterface\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-NeptuneDbSg-Y7988QV8NPL0\\\",\\\"groupId\\\":\\\"sg-02df76c6e6753f6b3\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.11.240\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:fe:55:54:f4:df\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-024a57bae5d9db53b\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"117190814105\\\",\\\"attachTime\\\":\\\"2022-11-16T14:56:41.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"privateDnsName\\\":\\\"ip-10-0-11-240.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-02e0c991bba17b7eb","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-04a4bb87d5f2a003e","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-04a4bb87d5f2a003e","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0510fd6b9a7a1c835","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0510fd6b9a7a1c835","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0510fd6b9a7a1c835\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-11-45.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.11.45\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-02e0c991bba17b7eb\\\",\\\"requesterId\\\":\\\"AROAQU6I6AO4WKTGS5MSB:954369082511\\\",\\\"description\\\":\\\"AWS Lambda VPC ENI-wd2-2022-10-07-SearchResol-OpenSearchSetupFunction-6lBkj5VZvL9N-dc500b7b-c415-47f3-b1a7-67260e27c221\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"wd2-2022-10-07-SearchResolversStack-CBU7QRC0LONQ-SearchLambdaSg-PW4G863M4NF6\\\",\\\"groupId\\\":\\\"sg-030453011373764ba\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"10.0.11.45\\\",\\\"interfaceType\\\":\\\"lambda\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:86:a7:94:08:01\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-078d51df012ac8901\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"privateDnsName\\\":\\\"ip-10-0-11-45.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-02e0c991bba17b7eb","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0510fd6b9a7a1c835","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0510fd6b9a7a1c835","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-05d6ccb6387cedf6f","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-05d6ccb6387cedf6f","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-05d6ccb6387cedf6f\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-11-130.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.11.130\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-02e0c991bba17b7eb\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-081b9b329885369e1\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO-VpcEndpointsSg-1HFDNS5FPIC7L\\\",\\\"groupId\\\":\\\"sg-02b585bfae59e4fe3\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.11.130\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:55:90:be:82:2d\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-051cc825a70d5dfb8\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"privateDnsName\\\":\\\"ip-10-0-11-130.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-02e0c991bba17b7eb","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-05d6ccb6387cedf6f","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-05d6ccb6387cedf6f","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-03024ce5b29130f8f","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-03024ce5b29130f8f","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-03024ce5b29130f8f\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-11-63.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.11.63\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-02e0c991bba17b7eb\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-075e2a5ba4b2ed02a\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO-VpcEndpointsSg-1HFDNS5FPIC7L\\\",\\\"groupId\\\":\\\"sg-02b585bfae59e4fe3\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.11.63\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:13:cf:70:57:e9\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-030aa9ee09e645c56\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"privateDnsName\\\":\\\"ip-10-0-11-63.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-02e0c991bba17b7eb","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-03024ce5b29130f8f","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-03024ce5b29130f8f","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0eb2973ec2e59a854","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0eb2973ec2e59a854","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0eb2973ec2e59a854\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-11-52.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.11.52\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-02e0c991bba17b7eb\\\",\\\"requesterId\\\":\\\"AROAQU6I6AO4TFOGWSPW5:954369082511\\\",\\\"description\\\":\\\"AWS Lambda VPC ENI-wd2-2022-10-07-GremlinResol-GremlinAppSyncFunction-6sQyJsT9RJw9-ccef9da0-7467-44f6-b7d7-55c85ba7eaa5\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8-GremlinResolverLambdaSg-1H1C5S7X1VUYZ\\\",\\\"groupId\\\":\\\"sg-044b48335ef509cb2\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"10.0.11.52\\\",\\\"interfaceType\\\":\\\"lambda\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:71:5d:84:da:b1\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-021a1fe300a22fb69\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"privateDnsName\\\":\\\"ip-10-0-11-52.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-02e0c991bba17b7eb","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0eb2973ec2e59a854","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0eb2973ec2e59a854","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0d60a5b414523d3e0","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0d60a5b414523d3e0","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0d60a5b414523d3e0\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-11-93.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.11.93\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-02e0c991bba17b7eb\\\",\\\"requesterId\\\":\\\"117190814105\\\",\\\"description\\\":\\\"RDSNetworkInterface\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-NeptuneDbSg-Y7988QV8NPL0\\\",\\\"groupId\\\":\\\"sg-02df76c6e6753f6b3\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.11.93\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:7d:46:fe:38:e1\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-08f461643ddf774e7\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"117190814105\\\",\\\"attachTime\\\":\\\"2023-01-05T00:58:38.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"privateDnsName\\\":\\\"ip-10-0-11-93.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-02e0c991bba17b7eb","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0d60a5b414523d3e0","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0d60a5b414523d3e0","instanceType":null,"statement":null,"dBInstanceStatus":null}}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1431.5,"y":-2557.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-08c79f1b042fac609","resourceId":["eni-08c79f1b042fac609","arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-08c79f1b042fac609"],"parent":"NetworkInterface-subnet-02e0c991bba17b7eb-eu-west-1a-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":6,"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-08c79f1b042fac609","title":"eni-08c79f1b042fac609","label":"eni-08c79f1b...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-08c79f1b042fac609","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-08c79f1b042fac609","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-08c79f1b042fac609","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-08c79f1b042fac609","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-08c79f1b042fac609\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-11-62.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.11.62\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-02e0c991bba17b7eb\\\",\\\"requesterId\\\":\\\"amazon-elasticsearch\\\",\\\"description\\\":\\\"ES opensearchdomai-sq504hzjjahv\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"wd2-2022-10-07-OpenSearchStack-1AX1CP06M7WKW-OpenSearchSg-9T7A87DPDKI8\\\",\\\"groupId\\\":\\\"sg-0696201a4200147f4\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.11.62\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:09:fe:37:0e:1d\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"privateDnsName\\\":\\\"ip-10-0-11-62.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-02e0c991bba17b7eb","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-08c79f1b042fac609","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-08c79f1b042fac609","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1504.5,"y":-2630.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-09182eed51134b78c","resourceId":["eni-09182eed51134b78c","arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-09182eed51134b78c"],"parent":"NetworkInterface-subnet-02e0c991bba17b7eb-eu-west-1a-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":6,"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-09182eed51134b78c","title":"eni-09182eed51134b78c","label":"eni-09182eed...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-09182eed51134b78c","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-09182eed51134b78c","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-09182eed51134b78c","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-09182eed51134b78c","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-09182eed51134b78c\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-11-146.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.11.146\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-02e0c991bba17b7eb\\\",\\\"requesterId\\\":\\\"amazon-elasticsearch\\\",\\\"description\\\":\\\"ES opensearchdomai-sq504hzjjahv\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"wd2-2022-10-07-OpenSearchStack-1AX1CP06M7WKW-OpenSearchSg-9T7A87DPDKI8\\\",\\\"groupId\\\":\\\"sg-0696201a4200147f4\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.11.146\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:bc:6a:af:3a:73\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-045db04d97511ee83\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-elasticsearch\\\",\\\"attachTime\\\":\\\"2022-12-14T17:45:24.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"privateDnsName\\\":\\\"ip-10-0-11-146.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-02e0c991bba17b7eb","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-09182eed51134b78c","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-09182eed51134b78c","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1431.5,"y":-2630.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0a205d5edaebef087","resourceId":["eni-0a205d5edaebef087","arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0a205d5edaebef087"],"parent":"NetworkInterface-subnet-02e0c991bba17b7eb-eu-west-1a-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":6,"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0a205d5edaebef087","title":"eni-0a205d5edaebef087","label":"eni-0a205d5e...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0a205d5edaebef087","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-0a205d5edaebef087","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0a205d5edaebef087","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0a205d5edaebef087","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0a205d5edaebef087\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-11-182.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.11.182\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-02e0c991bba17b7eb\\\",\\\"requesterId\\\":\\\"amazon-elasticsearch\\\",\\\"description\\\":\\\"ES opensearchdomai-sq504hzjjahv\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"wd2-2022-10-07-OpenSearchStack-1AX1CP06M7WKW-OpenSearchSg-9T7A87DPDKI8\\\",\\\"groupId\\\":\\\"sg-0696201a4200147f4\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.11.182\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:5d:95:1c:ce:69\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"privateDnsName\\\":\\\"ip-10-0-11-182.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-02e0c991bba17b7eb","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0a205d5edaebef087","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0a205d5edaebef087","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1504.5,"y":-2557.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-04a4bb87d5f2a003e","resourceId":["eni-04a4bb87d5f2a003e","arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-04a4bb87d5f2a003e"],"parent":"NetworkInterface-subnet-02e0c991bba17b7eb-eu-west-1a-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":6,"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-04a4bb87d5f2a003e","title":"eni-04a4bb87d5f2a003e","label":"eni-04a4bb87...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-04a4bb87d5f2a003e","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-04a4bb87d5f2a003e","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-04a4bb87d5f2a003e","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-04a4bb87d5f2a003e","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-04a4bb87d5f2a003e\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-11-240.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.11.240\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-02e0c991bba17b7eb\\\",\\\"requesterId\\\":\\\"117190814105\\\",\\\"description\\\":\\\"RDSNetworkInterface\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-NeptuneDbSg-Y7988QV8NPL0\\\",\\\"groupId\\\":\\\"sg-02df76c6e6753f6b3\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.11.240\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:fe:55:54:f4:df\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-024a57bae5d9db53b\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"117190814105\\\",\\\"attachTime\\\":\\\"2022-11-16T14:56:41.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"privateDnsName\\\":\\\"ip-10-0-11-240.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-02e0c991bba17b7eb","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-04a4bb87d5f2a003e","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-04a4bb87d5f2a003e","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1431.5,"y":-2557.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0510fd6b9a7a1c835","resourceId":["eni-0510fd6b9a7a1c835","arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0510fd6b9a7a1c835"],"parent":"NetworkInterface-subnet-02e0c991bba17b7eb-eu-west-1a-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":6,"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0510fd6b9a7a1c835","title":"eni-0510fd6b9a7a1c835","label":"eni-0510fd6b...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0510fd6b9a7a1c835","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-0510fd6b9a7a1c835","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0510fd6b9a7a1c835","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0510fd6b9a7a1c835","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0510fd6b9a7a1c835\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-11-45.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.11.45\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-02e0c991bba17b7eb\\\",\\\"requesterId\\\":\\\"AROAQU6I6AO4WKTGS5MSB:954369082511\\\",\\\"description\\\":\\\"AWS Lambda VPC ENI-wd2-2022-10-07-SearchResol-OpenSearchSetupFunction-6lBkj5VZvL9N-dc500b7b-c415-47f3-b1a7-67260e27c221\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"wd2-2022-10-07-SearchResolversStack-CBU7QRC0LONQ-SearchLambdaSg-PW4G863M4NF6\\\",\\\"groupId\\\":\\\"sg-030453011373764ba\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"10.0.11.45\\\",\\\"interfaceType\\\":\\\"lambda\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:86:a7:94:08:01\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-078d51df012ac8901\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"privateDnsName\\\":\\\"ip-10-0-11-45.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-02e0c991bba17b7eb","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0510fd6b9a7a1c835","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0510fd6b9a7a1c835","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1358.5,"y":-2630.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-05d6ccb6387cedf6f","resourceId":["eni-05d6ccb6387cedf6f","arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-05d6ccb6387cedf6f"],"parent":"NetworkInterface-subnet-02e0c991bba17b7eb-eu-west-1a-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":6,"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-05d6ccb6387cedf6f","title":"eni-05d6ccb6387cedf6f","label":"eni-05d6ccb6...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-05d6ccb6387cedf6f","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-05d6ccb6387cedf6f","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-05d6ccb6387cedf6f","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-05d6ccb6387cedf6f","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-05d6ccb6387cedf6f\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-11-130.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.11.130\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-02e0c991bba17b7eb\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-081b9b329885369e1\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO-VpcEndpointsSg-1HFDNS5FPIC7L\\\",\\\"groupId\\\":\\\"sg-02b585bfae59e4fe3\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.11.130\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:55:90:be:82:2d\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-051cc825a70d5dfb8\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"privateDnsName\\\":\\\"ip-10-0-11-130.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-02e0c991bba17b7eb","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-05d6ccb6387cedf6f","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-05d6ccb6387cedf6f","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1358.5,"y":-2557.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-03024ce5b29130f8f","resourceId":["eni-03024ce5b29130f8f","arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-03024ce5b29130f8f"],"parent":"NetworkInterface-subnet-02e0c991bba17b7eb-eu-west-1a-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":6,"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-03024ce5b29130f8f","title":"eni-03024ce5b29130f8f","label":"eni-03024ce5...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-03024ce5b29130f8f","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-03024ce5b29130f8f","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-03024ce5b29130f8f","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-03024ce5b29130f8f","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-03024ce5b29130f8f\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-11-63.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.11.63\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-02e0c991bba17b7eb\\\",\\\"requesterId\\\":\\\"727180483921\\\",\\\"description\\\":\\\"VPC Endpoint Interface vpce-075e2a5ba4b2ed02a\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO-VpcEndpointsSg-1HFDNS5FPIC7L\\\",\\\"groupId\\\":\\\"sg-02b585bfae59e4fe3\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.11.63\\\",\\\"interfaceType\\\":\\\"vpc_endpoint\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:13:cf:70:57:e9\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-030aa9ee09e645c56\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"privateDnsName\\\":\\\"ip-10-0-11-63.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-02e0c991bba17b7eb","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-03024ce5b29130f8f","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-03024ce5b29130f8f","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1504.5,"y":-2484.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0eb2973ec2e59a854","resourceId":["eni-0eb2973ec2e59a854","arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0eb2973ec2e59a854"],"parent":"NetworkInterface-subnet-02e0c991bba17b7eb-eu-west-1a-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":6,"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0eb2973ec2e59a854","title":"eni-0eb2973ec2e59a854","label":"eni-0eb2973e...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0eb2973ec2e59a854","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-0eb2973ec2e59a854","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0eb2973ec2e59a854","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0eb2973ec2e59a854","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0eb2973ec2e59a854\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-11-52.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.11.52\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-02e0c991bba17b7eb\\\",\\\"requesterId\\\":\\\"AROAQU6I6AO4TFOGWSPW5:954369082511\\\",\\\"description\\\":\\\"AWS Lambda VPC ENI-wd2-2022-10-07-GremlinResol-GremlinAppSyncFunction-6sQyJsT9RJw9-ccef9da0-7467-44f6-b7d7-55c85ba7eaa5\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8-GremlinResolverLambdaSg-1H1C5S7X1VUYZ\\\",\\\"groupId\\\":\\\"sg-044b48335ef509cb2\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"10.0.11.52\\\",\\\"interfaceType\\\":\\\"lambda\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:71:5d:84:da:b1\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-021a1fe300a22fb69\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"privateDnsName\\\":\\\"ip-10-0-11-52.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-02e0c991bba17b7eb","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0eb2973ec2e59a854","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0eb2973ec2e59a854","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1431.5,"y":-2484.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0d60a5b414523d3e0","resourceId":["eni-0d60a5b414523d3e0","arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0d60a5b414523d3e0"],"parent":"NetworkInterface-subnet-02e0c991bba17b7eb-eu-west-1a-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":6,"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0d60a5b414523d3e0","title":"eni-0d60a5b414523d3e0","label":"eni-0d60a5b4...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0d60a5b414523d3e0","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-0d60a5b414523d3e0","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0d60a5b414523d3e0","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0d60a5b414523d3e0","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0d60a5b414523d3e0\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-10-0-11-93.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.11.93\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-02e0c991bba17b7eb\\\",\\\"requesterId\\\":\\\"117190814105\\\",\\\"description\\\":\\\"RDSNetworkInterface\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-NeptuneDbSg-Y7988QV8NPL0\\\",\\\"groupId\\\":\\\"sg-02df76c6e6753f6b3\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.11.93\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:7d:46:fe:38:e1\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-08f461643ddf774e7\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"117190814105\\\",\\\"attachTime\\\":\\\"2023-01-05T00:58:38.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"privateDnsName\\\":\\\"ip-10-0-11-93.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-02e0c991bba17b7eb","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0d60a5b414523d3e0","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0d60a5b414523d3e0","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1358.5,"y":-2484.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"DBInstance-subnet-02e0c991bba17b7eb-eu-west-1a-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","parent":"subnet-02e0c991bba17b7eb-eu-west-1a-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":5,"title":"DBInstance","label":"DBInstance","plainLabel":"DBInstance","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-RDS_Amazon-RDS_instance_light-bg-menu.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:rds:eu-west-1:044981683129:db:neptunedbinstance-opr3vy9xrbzh","label":"AWS_RDS_DBInstance","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:db:neptunedbinstance-opr3vy9xrbzh","configuration":"\"{\\\"allocatedStorage\\\":1,\\\"enabledCloudwatchLogsExports\\\":[],\\\"readReplicaDBClusterIdentifiers\\\":[],\\\"dbInstancePort\\\":0,\\\"associatedRoles\\\":[],\\\"dBParameterGroups\\\":[{\\\"dBParameterGroupName\\\":\\\"default.neptune1.2\\\",\\\"parameterApplyStatus\\\":\\\"in-sync\\\"}],\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"preferredBackupWindow\\\":\\\"02:00-03:00\\\",\\\"dbiResourceId\\\":\\\"db-ZXG6MRBFGBYTH5QPUYIAVOI6R4\\\",\\\"deletionProtection\\\":false,\\\"dBInstanceIdentifier\\\":\\\"neptunedbinstance-opr3vy9xrbzh\\\",\\\"dBInstanceArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:db:neptunedbinstance-opr3vy9xrbzh\\\",\\\"endpoint\\\":{\\\"hostedZoneId\\\":\\\"ZINKV47VFXLOC\\\",\\\"address\\\":\\\"neptunedbinstance-opr3vy9xrbzh.ccc9f5a6ekin.eu-west-1.neptune.amazonaws.com\\\",\\\"port\\\":6174},\\\"dBSecurityGroups\\\":[],\\\"engine\\\":\\\"neptune\\\",\\\"publiclyAccessible\\\":false,\\\"iAMDatabaseAuthenticationEnabled\\\":true,\\\"statusInfos\\\":[],\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"performanceInsightsEnabled\\\":false,\\\"masterUsername\\\":\\\"admin\\\",\\\"multiAZ\\\":false,\\\"instanceCreateTime\\\":\\\"2022-10-07T18:03:36.960Z\\\",\\\"domainMemberships\\\":[],\\\"dBInstanceClass\\\":\\\"db.r5.large\\\",\\\"storageEncrypted\\\":true,\\\"processorFeatures\\\":[],\\\"dBSubnetGroup\\\":{\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"subnets\\\":[{\\\"subnetIdentifier\\\":\\\"subnet-010652f698dff6484\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1b\\\"}},{\\\"subnetIdentifier\\\":\\\"subnet-02e0c991bba17b7eb\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1a\\\"}}],\\\"subnetGroupStatus\\\":\\\"Complete\\\",\\\"dBSubnetGroupName\\\":\\\"perspective-dev-sng\\\",\\\"dBSubnetGroupDescription\\\":\\\"CloudFormation managed Neptune DB Subnet Group - workload-discovery-subnet-group\\\"},\\\"vpcSecurityGroups\\\":[{\\\"vpcSecurityGroupId\\\":\\\"sg-02df76c6e6753f6b3\\\",\\\"status\\\":\\\"active\\\"}],\\\"tagList\\\":[{\\\"value\\\":\\\"workload-discovery\\\",\\\"key\\\":\\\"App\\\"},{\\\"value\\\":\\\"\\\",\\\"key\\\":\\\"Owner\\\"},{\\\"value\\\":\\\"ebs\\\",\\\"key\\\":\\\"Storage\\\"},{\\\"value\\\":\\\"test\\\",\\\"key\\\":\\\"User\\\"},{\\\"value\\\":\\\"\\\",\\\"key\\\":\\\"Tier\\\"},{\\\"value\\\":\\\"\\\",\\\"key\\\":\\\"Version\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"key\\\":\\\"AppManagerCFNStackKey\\\"},{\\\"value\\\":\\\"workload-discovery-Instance\\\",\\\"key\\\":\\\"Name\\\"}],\\\"readReplicaDBInstanceIdentifiers\\\":[],\\\"pendingModifiedValues\\\":{\\\"processorFeatures\\\":[]},\\\"licenseModel\\\":\\\"amazon-license\\\",\\\"customerOwnedIpEnabled\\\":false,\\\"preferredMaintenanceWindow\\\":\\\"mon:03:00-mon:04:00\\\",\\\"monitoringInterval\\\":0,\\\"dBInstanceStatus\\\":\\\"available\\\",\\\"backupRetentionPeriod\\\":31,\\\"storageType\\\":\\\"aurora\\\",\\\"promotionTier\\\":1,\\\"optionGroupMemberships\\\":[{\\\"optionGroupName\\\":\\\"default:neptune-1-2\\\",\\\"status\\\":\\\"in-sync\\\"}],\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"dBClusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"autoMinorVersionUpgrade\\\":true,\\\"copyTagsToSnapshot\\\":false,\\\"dBInstanceAutomatedBackupsReplications\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-02e0c991bba17b7eb","loggedInURL":null,"loginURL":null,"private":null,"resourceId":"db-ZXG6MRBFGBYTH5QPUYIAVOI6R4","resourceName":"neptunedbinstance-opr3vy9xrbzh","resourceType":"AWS::RDS::DBInstance","resourceValue":null,"state":null,"tags":"[{\"tag\":\"App=workload-discovery\",\"value\":\"workload-discovery\",\"key\":\"App\"},{\"tag\":\"Owner=\",\"value\":\"\",\"key\":\"Owner\"},{\"tag\":\"Storage=ebs\",\"value\":\"ebs\",\"key\":\"Storage\"},{\"tag\":\"User=test\",\"value\":\"test\",\"key\":\"User\"},{\"tag\":\"Tier=\",\"value\":\"\",\"key\":\"Tier\"},{\"tag\":\"Version=\",\"value\":\"\",\"key\":\"Version\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"Name=workload-discovery-Instance\",\"value\":\"workload-discovery-Instance\",\"key\":\"Name\"}]","title":"workload-discovery-Instance","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:rds:eu-west-1:044981683129:db:serverless-neptune-instance-1","label":"AWS_RDS_DBInstance","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:db:serverless-neptune-instance-1","configuration":"\"{\\\"allocatedStorage\\\":1,\\\"enabledCloudwatchLogsExports\\\":[],\\\"readReplicaDBClusterIdentifiers\\\":[],\\\"dbInstancePort\\\":0,\\\"associatedRoles\\\":[],\\\"dBParameterGroups\\\":[{\\\"dBParameterGroupName\\\":\\\"default.neptune1.2\\\",\\\"parameterApplyStatus\\\":\\\"in-sync\\\"}],\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"preferredBackupWindow\\\":\\\"23:34-00:04\\\",\\\"dbiResourceId\\\":\\\"db-QAGKG6WNX7TIWQOQI2WDVBVQKU\\\",\\\"deletionProtection\\\":false,\\\"dBInstanceIdentifier\\\":\\\"serverless-neptune-instance-1\\\",\\\"dBInstanceArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:db:serverless-neptune-instance-1\\\",\\\"endpoint\\\":{\\\"hostedZoneId\\\":\\\"ZINKV47VFXLOC\\\",\\\"address\\\":\\\"serverless-neptune-instance-1.ccc9f5a6ekin.eu-west-1.neptune.amazonaws.com\\\",\\\"port\\\":6174},\\\"dBSecurityGroups\\\":[],\\\"engine\\\":\\\"neptune\\\",\\\"publiclyAccessible\\\":false,\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"statusInfos\\\":[],\\\"engineVersion\\\":\\\"1.2.0.1\\\",\\\"performanceInsightsEnabled\\\":false,\\\"masterUsername\\\":\\\"admin\\\",\\\"multiAZ\\\":false,\\\"instanceCreateTime\\\":\\\"2022-10-27T09:01:31.756Z\\\",\\\"domainMemberships\\\":[],\\\"dBInstanceClass\\\":\\\"db.serverless\\\",\\\"storageEncrypted\\\":false,\\\"processorFeatures\\\":[],\\\"dBSubnetGroup\\\":{\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"subnets\\\":[{\\\"subnetIdentifier\\\":\\\"subnet-02e0c991bba17b7eb\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1a\\\"}},{\\\"subnetIdentifier\\\":\\\"subnet-010652f698dff6484\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1b\\\"}}],\\\"subnetGroupStatus\\\":\\\"Complete\\\",\\\"dBSubnetGroupName\\\":\\\"perspective-dev-sng\\\",\\\"dBSubnetGroupDescription\\\":\\\"CloudFormation managed Neptune DB Subnet Group - workload-discovery-subnet-group\\\"},\\\"vpcSecurityGroups\\\":[{\\\"vpcSecurityGroupId\\\":\\\"sg-02df76c6e6753f6b3\\\",\\\"status\\\":\\\"active\\\"}],\\\"tagList\\\":[],\\\"readReplicaDBInstanceIdentifiers\\\":[],\\\"pendingModifiedValues\\\":{\\\"processorFeatures\\\":[]},\\\"licenseModel\\\":\\\"amazon-license\\\",\\\"customerOwnedIpEnabled\\\":false,\\\"preferredMaintenanceWindow\\\":\\\"thu:00:46-thu:01:16\\\",\\\"monitoringInterval\\\":0,\\\"dBInstanceStatus\\\":\\\"available\\\",\\\"backupRetentionPeriod\\\":1,\\\"storageType\\\":\\\"aurora\\\",\\\"promotionTier\\\":1,\\\"optionGroupMemberships\\\":[{\\\"optionGroupName\\\":\\\"default:neptune-1-2\\\",\\\"status\\\":\\\"in-sync\\\"}],\\\"dBClusterIdentifier\\\":\\\"serverless-neptune\\\",\\\"autoMinorVersionUpgrade\\\":true,\\\"copyTagsToSnapshot\\\":false,\\\"dBInstanceAutomatedBackupsReplications\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-02e0c991bba17b7eb","loggedInURL":null,"loginURL":null,"private":null,"resourceId":"db-QAGKG6WNX7TIWQOQI2WDVBVQKU","resourceName":"serverless-neptune-instance-1","resourceType":"AWS::RDS::DBInstance","resourceValue":null,"state":null,"tags":"[]","title":"serverless-neptune-instance-1","instanceType":null,"statement":null,"dBInstanceStatus":null}}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1209,"y":-2630.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:rds:eu-west-1:044981683129:db:neptunedbinstance-opr3vy9xrbzh","resourceId":["db-ZXG6MRBFGBYTH5QPUYIAVOI6R4","arn:aws:rds:eu-west-1:044981683129:db:neptunedbinstance-opr3vy9xrbzh"],"parent":"DBInstance-subnet-02e0c991bba17b7eb-eu-west-1a-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":6,"id":"arn:aws:rds:eu-west-1:044981683129:db:neptunedbinstance-opr3vy9xrbzh","title":"workload-discovery-Instance","label":"workload-dis...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#1D8102","borderStyle":"dotted","borderColour":"#1D8102","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:rds:eu-west-1:044981683129:db:neptunedbinstance-opr3vy9xrbzh","state":{"status":"status-available","text":"available","color":"#1D8102"},"image":"/icons/Amazon-Neptune_light-bg.svg","cost":0,"private":false,"detailsComponent":{"key":null,"ref":null,"props":{"title":"Instance Details","configuration":"\"{\\\"allocatedStorage\\\":1,\\\"enabledCloudwatchLogsExports\\\":[],\\\"readReplicaDBClusterIdentifiers\\\":[],\\\"dbInstancePort\\\":0,\\\"associatedRoles\\\":[],\\\"dBParameterGroups\\\":[{\\\"dBParameterGroupName\\\":\\\"default.neptune1.2\\\",\\\"parameterApplyStatus\\\":\\\"in-sync\\\"}],\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"preferredBackupWindow\\\":\\\"02:00-03:00\\\",\\\"dbiResourceId\\\":\\\"db-ZXG6MRBFGBYTH5QPUYIAVOI6R4\\\",\\\"deletionProtection\\\":false,\\\"dBInstanceIdentifier\\\":\\\"neptunedbinstance-opr3vy9xrbzh\\\",\\\"dBInstanceArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:db:neptunedbinstance-opr3vy9xrbzh\\\",\\\"endpoint\\\":{\\\"hostedZoneId\\\":\\\"ZINKV47VFXLOC\\\",\\\"address\\\":\\\"neptunedbinstance-opr3vy9xrbzh.ccc9f5a6ekin.eu-west-1.neptune.amazonaws.com\\\",\\\"port\\\":6174},\\\"dBSecurityGroups\\\":[],\\\"engine\\\":\\\"neptune\\\",\\\"publiclyAccessible\\\":false,\\\"iAMDatabaseAuthenticationEnabled\\\":true,\\\"statusInfos\\\":[],\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"performanceInsightsEnabled\\\":false,\\\"masterUsername\\\":\\\"admin\\\",\\\"multiAZ\\\":false,\\\"instanceCreateTime\\\":\\\"2022-10-07T18:03:36.960Z\\\",\\\"domainMemberships\\\":[],\\\"dBInstanceClass\\\":\\\"db.r5.large\\\",\\\"storageEncrypted\\\":true,\\\"processorFeatures\\\":[],\\\"dBSubnetGroup\\\":{\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"subnets\\\":[{\\\"subnetIdentifier\\\":\\\"subnet-010652f698dff6484\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1b\\\"}},{\\\"subnetIdentifier\\\":\\\"subnet-02e0c991bba17b7eb\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1a\\\"}}],\\\"subnetGroupStatus\\\":\\\"Complete\\\",\\\"dBSubnetGroupName\\\":\\\"perspective-dev-sng\\\",\\\"dBSubnetGroupDescription\\\":\\\"CloudFormation managed Neptune DB Subnet Group - workload-discovery-subnet-group\\\"},\\\"vpcSecurityGroups\\\":[{\\\"vpcSecurityGroupId\\\":\\\"sg-02df76c6e6753f6b3\\\",\\\"status\\\":\\\"active\\\"}],\\\"tagList\\\":[{\\\"value\\\":\\\"workload-discovery\\\",\\\"key\\\":\\\"App\\\"},{\\\"value\\\":\\\"\\\",\\\"key\\\":\\\"Owner\\\"},{\\\"value\\\":\\\"ebs\\\",\\\"key\\\":\\\"Storage\\\"},{\\\"value\\\":\\\"test\\\",\\\"key\\\":\\\"User\\\"},{\\\"value\\\":\\\"\\\",\\\"key\\\":\\\"Tier\\\"},{\\\"value\\\":\\\"\\\",\\\"key\\\":\\\"Version\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"key\\\":\\\"AppManagerCFNStackKey\\\"},{\\\"value\\\":\\\"workload-discovery-Instance\\\",\\\"key\\\":\\\"Name\\\"}],\\\"readReplicaDBInstanceIdentifiers\\\":[],\\\"pendingModifiedValues\\\":{\\\"processorFeatures\\\":[]},\\\"licenseModel\\\":\\\"amazon-license\\\",\\\"customerOwnedIpEnabled\\\":false,\\\"preferredMaintenanceWindow\\\":\\\"mon:03:00-mon:04:00\\\",\\\"monitoringInterval\\\":0,\\\"dBInstanceStatus\\\":\\\"available\\\",\\\"backupRetentionPeriod\\\":31,\\\"storageType\\\":\\\"aurora\\\",\\\"promotionTier\\\":1,\\\"optionGroupMemberships\\\":[{\\\"optionGroupName\\\":\\\"default:neptune-1-2\\\",\\\"status\\\":\\\"in-sync\\\"}],\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"dBClusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"autoMinorVersionUpgrade\\\":true,\\\"copyTagsToSnapshot\\\":false,\\\"dBInstanceAutomatedBackupsReplications\\\":[]}\""},"_owner":null,"_store":{}},"resource":{"id":"db-ZXG6MRBFGBYTH5QPUYIAVOI6R4","name":"neptunedbinstance-opr3vy9xrbzh","value":null,"type":"AWS::RDS::DBInstance","tags":"[{\"tag\":\"App=workload-discovery\",\"value\":\"workload-discovery\",\"key\":\"App\"},{\"tag\":\"Owner=\",\"value\":\"\",\"key\":\"Owner\"},{\"tag\":\"Storage=ebs\",\"value\":\"ebs\",\"key\":\"Storage\"},{\"tag\":\"User=test\",\"value\":\"test\",\"key\":\"User\"},{\"tag\":\"Tier=\",\"value\":\"\",\"key\":\"Tier\"},{\"tag\":\"Version=\",\"value\":\"\",\"key\":\"Version\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"Name=workload-discovery-Instance\",\"value\":\"workload-discovery-Instance\",\"key\":\"Name\"}]","arn":"arn:aws:rds:eu-west-1:044981683129:db:neptunedbinstance-opr3vy9xrbzh","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:db:neptunedbinstance-opr3vy9xrbzh","configuration":"\"{\\\"allocatedStorage\\\":1,\\\"enabledCloudwatchLogsExports\\\":[],\\\"readReplicaDBClusterIdentifiers\\\":[],\\\"dbInstancePort\\\":0,\\\"associatedRoles\\\":[],\\\"dBParameterGroups\\\":[{\\\"dBParameterGroupName\\\":\\\"default.neptune1.2\\\",\\\"parameterApplyStatus\\\":\\\"in-sync\\\"}],\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"preferredBackupWindow\\\":\\\"02:00-03:00\\\",\\\"dbiResourceId\\\":\\\"db-ZXG6MRBFGBYTH5QPUYIAVOI6R4\\\",\\\"deletionProtection\\\":false,\\\"dBInstanceIdentifier\\\":\\\"neptunedbinstance-opr3vy9xrbzh\\\",\\\"dBInstanceArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:db:neptunedbinstance-opr3vy9xrbzh\\\",\\\"endpoint\\\":{\\\"hostedZoneId\\\":\\\"ZINKV47VFXLOC\\\",\\\"address\\\":\\\"neptunedbinstance-opr3vy9xrbzh.ccc9f5a6ekin.eu-west-1.neptune.amazonaws.com\\\",\\\"port\\\":6174},\\\"dBSecurityGroups\\\":[],\\\"engine\\\":\\\"neptune\\\",\\\"publiclyAccessible\\\":false,\\\"iAMDatabaseAuthenticationEnabled\\\":true,\\\"statusInfos\\\":[],\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"performanceInsightsEnabled\\\":false,\\\"masterUsername\\\":\\\"admin\\\",\\\"multiAZ\\\":false,\\\"instanceCreateTime\\\":\\\"2022-10-07T18:03:36.960Z\\\",\\\"domainMemberships\\\":[],\\\"dBInstanceClass\\\":\\\"db.r5.large\\\",\\\"storageEncrypted\\\":true,\\\"processorFeatures\\\":[],\\\"dBSubnetGroup\\\":{\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"subnets\\\":[{\\\"subnetIdentifier\\\":\\\"subnet-010652f698dff6484\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1b\\\"}},{\\\"subnetIdentifier\\\":\\\"subnet-02e0c991bba17b7eb\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1a\\\"}}],\\\"subnetGroupStatus\\\":\\\"Complete\\\",\\\"dBSubnetGroupName\\\":\\\"perspective-dev-sng\\\",\\\"dBSubnetGroupDescription\\\":\\\"CloudFormation managed Neptune DB Subnet Group - workload-discovery-subnet-group\\\"},\\\"vpcSecurityGroups\\\":[{\\\"vpcSecurityGroupId\\\":\\\"sg-02df76c6e6753f6b3\\\",\\\"status\\\":\\\"active\\\"}],\\\"tagList\\\":[{\\\"value\\\":\\\"workload-discovery\\\",\\\"key\\\":\\\"App\\\"},{\\\"value\\\":\\\"\\\",\\\"key\\\":\\\"Owner\\\"},{\\\"value\\\":\\\"ebs\\\",\\\"key\\\":\\\"Storage\\\"},{\\\"value\\\":\\\"test\\\",\\\"key\\\":\\\"User\\\"},{\\\"value\\\":\\\"\\\",\\\"key\\\":\\\"Tier\\\"},{\\\"value\\\":\\\"\\\",\\\"key\\\":\\\"Version\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"key\\\":\\\"AppManagerCFNStackKey\\\"},{\\\"value\\\":\\\"workload-discovery-Instance\\\",\\\"key\\\":\\\"Name\\\"}],\\\"readReplicaDBInstanceIdentifiers\\\":[],\\\"pendingModifiedValues\\\":{\\\"processorFeatures\\\":[]},\\\"licenseModel\\\":\\\"amazon-license\\\",\\\"customerOwnedIpEnabled\\\":false,\\\"preferredMaintenanceWindow\\\":\\\"mon:03:00-mon:04:00\\\",\\\"monitoringInterval\\\":0,\\\"dBInstanceStatus\\\":\\\"available\\\",\\\"backupRetentionPeriod\\\":31,\\\"storageType\\\":\\\"aurora\\\",\\\"promotionTier\\\":1,\\\"optionGroupMemberships\\\":[{\\\"optionGroupName\\\":\\\"default:neptune-1-2\\\",\\\"status\\\":\\\"in-sync\\\"}],\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"dBClusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"autoMinorVersionUpgrade\\\":true,\\\"copyTagsToSnapshot\\\":false,\\\"dBInstanceAutomatedBackupsReplications\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-02e0c991bba17b7eb","loggedInURL":null,"loginURL":null,"private":null,"resourceId":"db-ZXG6MRBFGBYTH5QPUYIAVOI6R4","resourceName":"neptunedbinstance-opr3vy9xrbzh","resourceType":"AWS::RDS::DBInstance","resourceValue":null,"state":null,"tags":"[{\"tag\":\"App=workload-discovery\",\"value\":\"workload-discovery\",\"key\":\"App\"},{\"tag\":\"Owner=\",\"value\":\"\",\"key\":\"Owner\"},{\"tag\":\"Storage=ebs\",\"value\":\"ebs\",\"key\":\"Storage\"},{\"tag\":\"User=test\",\"value\":\"test\",\"key\":\"User\"},{\"tag\":\"Tier=\",\"value\":\"\",\"key\":\"Tier\"},{\"tag\":\"Version=\",\"value\":\"\",\"key\":\"Version\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"Name=workload-discovery-Instance\",\"value\":\"workload-discovery-Instance\",\"key\":\"Name\"}]","title":"workload-discovery-Instance","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1245.5,"y":-2630.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:rds:eu-west-1:044981683129:db:serverless-neptune-instance-1","resourceId":["db-QAGKG6WNX7TIWQOQI2WDVBVQKU","arn:aws:rds:eu-west-1:044981683129:db:serverless-neptune-instance-1"],"parent":"DBInstance-subnet-02e0c991bba17b7eb-eu-west-1a-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":6,"id":"arn:aws:rds:eu-west-1:044981683129:db:serverless-neptune-instance-1","title":"serverless-neptune-instance-1","label":"serverless-n...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#1D8102","borderStyle":"dotted","borderColour":"#1D8102","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:rds:eu-west-1:044981683129:db:serverless-neptune-instance-1","state":{"status":"status-available","text":"available","color":"#1D8102"},"image":"/icons/Amazon-Neptune_light-bg.svg","cost":0,"private":false,"detailsComponent":{"key":null,"ref":null,"props":{"title":"Instance Details","configuration":"\"{\\\"allocatedStorage\\\":1,\\\"enabledCloudwatchLogsExports\\\":[],\\\"readReplicaDBClusterIdentifiers\\\":[],\\\"dbInstancePort\\\":0,\\\"associatedRoles\\\":[],\\\"dBParameterGroups\\\":[{\\\"dBParameterGroupName\\\":\\\"default.neptune1.2\\\",\\\"parameterApplyStatus\\\":\\\"in-sync\\\"}],\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"preferredBackupWindow\\\":\\\"23:34-00:04\\\",\\\"dbiResourceId\\\":\\\"db-QAGKG6WNX7TIWQOQI2WDVBVQKU\\\",\\\"deletionProtection\\\":false,\\\"dBInstanceIdentifier\\\":\\\"serverless-neptune-instance-1\\\",\\\"dBInstanceArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:db:serverless-neptune-instance-1\\\",\\\"endpoint\\\":{\\\"hostedZoneId\\\":\\\"ZINKV47VFXLOC\\\",\\\"address\\\":\\\"serverless-neptune-instance-1.ccc9f5a6ekin.eu-west-1.neptune.amazonaws.com\\\",\\\"port\\\":6174},\\\"dBSecurityGroups\\\":[],\\\"engine\\\":\\\"neptune\\\",\\\"publiclyAccessible\\\":false,\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"statusInfos\\\":[],\\\"engineVersion\\\":\\\"1.2.0.1\\\",\\\"performanceInsightsEnabled\\\":false,\\\"masterUsername\\\":\\\"admin\\\",\\\"multiAZ\\\":false,\\\"instanceCreateTime\\\":\\\"2022-10-27T09:01:31.756Z\\\",\\\"domainMemberships\\\":[],\\\"dBInstanceClass\\\":\\\"db.serverless\\\",\\\"storageEncrypted\\\":false,\\\"processorFeatures\\\":[],\\\"dBSubnetGroup\\\":{\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"subnets\\\":[{\\\"subnetIdentifier\\\":\\\"subnet-02e0c991bba17b7eb\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1a\\\"}},{\\\"subnetIdentifier\\\":\\\"subnet-010652f698dff6484\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1b\\\"}}],\\\"subnetGroupStatus\\\":\\\"Complete\\\",\\\"dBSubnetGroupName\\\":\\\"perspective-dev-sng\\\",\\\"dBSubnetGroupDescription\\\":\\\"CloudFormation managed Neptune DB Subnet Group - workload-discovery-subnet-group\\\"},\\\"vpcSecurityGroups\\\":[{\\\"vpcSecurityGroupId\\\":\\\"sg-02df76c6e6753f6b3\\\",\\\"status\\\":\\\"active\\\"}],\\\"tagList\\\":[],\\\"readReplicaDBInstanceIdentifiers\\\":[],\\\"pendingModifiedValues\\\":{\\\"processorFeatures\\\":[]},\\\"licenseModel\\\":\\\"amazon-license\\\",\\\"customerOwnedIpEnabled\\\":false,\\\"preferredMaintenanceWindow\\\":\\\"thu:00:46-thu:01:16\\\",\\\"monitoringInterval\\\":0,\\\"dBInstanceStatus\\\":\\\"available\\\",\\\"backupRetentionPeriod\\\":1,\\\"storageType\\\":\\\"aurora\\\",\\\"promotionTier\\\":1,\\\"optionGroupMemberships\\\":[{\\\"optionGroupName\\\":\\\"default:neptune-1-2\\\",\\\"status\\\":\\\"in-sync\\\"}],\\\"dBClusterIdentifier\\\":\\\"serverless-neptune\\\",\\\"autoMinorVersionUpgrade\\\":true,\\\"copyTagsToSnapshot\\\":false,\\\"dBInstanceAutomatedBackupsReplications\\\":[]}\""},"_owner":null,"_store":{}},"resource":{"id":"db-QAGKG6WNX7TIWQOQI2WDVBVQKU","name":"serverless-neptune-instance-1","value":null,"type":"AWS::RDS::DBInstance","tags":"[]","arn":"arn:aws:rds:eu-west-1:044981683129:db:serverless-neptune-instance-1","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:db:serverless-neptune-instance-1","configuration":"\"{\\\"allocatedStorage\\\":1,\\\"enabledCloudwatchLogsExports\\\":[],\\\"readReplicaDBClusterIdentifiers\\\":[],\\\"dbInstancePort\\\":0,\\\"associatedRoles\\\":[],\\\"dBParameterGroups\\\":[{\\\"dBParameterGroupName\\\":\\\"default.neptune1.2\\\",\\\"parameterApplyStatus\\\":\\\"in-sync\\\"}],\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"preferredBackupWindow\\\":\\\"23:34-00:04\\\",\\\"dbiResourceId\\\":\\\"db-QAGKG6WNX7TIWQOQI2WDVBVQKU\\\",\\\"deletionProtection\\\":false,\\\"dBInstanceIdentifier\\\":\\\"serverless-neptune-instance-1\\\",\\\"dBInstanceArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:db:serverless-neptune-instance-1\\\",\\\"endpoint\\\":{\\\"hostedZoneId\\\":\\\"ZINKV47VFXLOC\\\",\\\"address\\\":\\\"serverless-neptune-instance-1.ccc9f5a6ekin.eu-west-1.neptune.amazonaws.com\\\",\\\"port\\\":6174},\\\"dBSecurityGroups\\\":[],\\\"engine\\\":\\\"neptune\\\",\\\"publiclyAccessible\\\":false,\\\"iAMDatabaseAuthenticationEnabled\\\":false,\\\"statusInfos\\\":[],\\\"engineVersion\\\":\\\"1.2.0.1\\\",\\\"performanceInsightsEnabled\\\":false,\\\"masterUsername\\\":\\\"admin\\\",\\\"multiAZ\\\":false,\\\"instanceCreateTime\\\":\\\"2022-10-27T09:01:31.756Z\\\",\\\"domainMemberships\\\":[],\\\"dBInstanceClass\\\":\\\"db.serverless\\\",\\\"storageEncrypted\\\":false,\\\"processorFeatures\\\":[],\\\"dBSubnetGroup\\\":{\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"subnets\\\":[{\\\"subnetIdentifier\\\":\\\"subnet-02e0c991bba17b7eb\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1a\\\"}},{\\\"subnetIdentifier\\\":\\\"subnet-010652f698dff6484\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1b\\\"}}],\\\"subnetGroupStatus\\\":\\\"Complete\\\",\\\"dBSubnetGroupName\\\":\\\"perspective-dev-sng\\\",\\\"dBSubnetGroupDescription\\\":\\\"CloudFormation managed Neptune DB Subnet Group - workload-discovery-subnet-group\\\"},\\\"vpcSecurityGroups\\\":[{\\\"vpcSecurityGroupId\\\":\\\"sg-02df76c6e6753f6b3\\\",\\\"status\\\":\\\"active\\\"}],\\\"tagList\\\":[],\\\"readReplicaDBInstanceIdentifiers\\\":[],\\\"pendingModifiedValues\\\":{\\\"processorFeatures\\\":[]},\\\"licenseModel\\\":\\\"amazon-license\\\",\\\"customerOwnedIpEnabled\\\":false,\\\"preferredMaintenanceWindow\\\":\\\"thu:00:46-thu:01:16\\\",\\\"monitoringInterval\\\":0,\\\"dBInstanceStatus\\\":\\\"available\\\",\\\"backupRetentionPeriod\\\":1,\\\"storageType\\\":\\\"aurora\\\",\\\"promotionTier\\\":1,\\\"optionGroupMemberships\\\":[{\\\"optionGroupName\\\":\\\"default:neptune-1-2\\\",\\\"status\\\":\\\"in-sync\\\"}],\\\"dBClusterIdentifier\\\":\\\"serverless-neptune\\\",\\\"autoMinorVersionUpgrade\\\":true,\\\"copyTagsToSnapshot\\\":false,\\\"dBInstanceAutomatedBackupsReplications\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-02e0c991bba17b7eb","loggedInURL":null,"loginURL":null,"private":null,"resourceId":"db-QAGKG6WNX7TIWQOQI2WDVBVQKU","resourceName":"serverless-neptune-instance-1","resourceType":"AWS::RDS::DBInstance","resourceValue":null,"state":null,"tags":"[]","title":"serverless-neptune-instance-1","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1172.5,"y":-2630.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"Domain-subnet-02e0c991bba17b7eb-eu-west-1a-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","parent":"subnet-02e0c991bba17b7eb-eu-west-1a-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":5,"title":"Domain","label":"Domain","plainLabel":"Domain","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Arch_Amazon-OpenSearch-Service_64.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:es:eu-west-1:044981683129:domain/opensearchdomai-sq504hzjjahv","label":"AWS_OpenSearch_Domain","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:es:eu-west-1:044981683129:domain/opensearchdomai-sq504hzjjahv","configuration":"\"{\\\"ARN\\\":\\\"arn:aws:es:eu-west-1:044981683129:domain/opensearchdomai-sq504hzjjahv\\\",\\\"AccessPolicies\\\":\\\"{\\\\\\\"Version\\\\\\\":\\\\\\\"2012-10-17\\\\\\\",\\\\\\\"Statement\\\\\\\":[{\\\\\\\"Effect\\\\\\\":\\\\\\\"Allow\\\\\\\",\\\\\\\"Principal\\\\\\\":{\\\\\\\"AWS\\\\\\\":\\\\\\\"arn:aws:iam::044981683129:role/wd2-2022-10-07-OpenSearchRoleStac-SearchLambdaRole-13QULKRSOW40L\\\\\\\"},\\\\\\\"Action\\\\\\\":[\\\\\\\"es:ESHttpHead\\\\\\\",\\\\\\\"es:ESHttpGet\\\\\\\",\\\\\\\"es:ESHttpPost\\\\\\\",\\\\\\\"es:ESHttpPut\\\\\\\",\\\\\\\"es:ESHttpDelete\\\\\\\"],\\\\\\\"Resource\\\\\\\":\\\\\\\"arn:aws:es:eu-west-1:044981683129:domain/*\\\\\\\"}]}\\\",\\\"AdvancedOptions\\\":{\\\"indices.query.bool.max_clause_count\\\":\\\"4096\\\",\\\"override_main_response_version\\\":\\\"false\\\",\\\"rest.action.multi.allow_explicit_index\\\":\\\"true\\\"},\\\"AdvancedSecurityOptions\\\":{\\\"AnonymousAuthEnabled\\\":false,\\\"Enabled\\\":false,\\\"InternalUserDatabaseEnabled\\\":false},\\\"AutoTuneOptions\\\":{\\\"State\\\":\\\"ENABLED\\\"},\\\"ClusterConfig\\\":{\\\"ColdStorageOptions\\\":{\\\"Enabled\\\":false},\\\"DedicatedMasterEnabled\\\":false,\\\"InstanceCount\\\":1,\\\"InstanceType\\\":\\\"m6g.large.search\\\",\\\"WarmEnabled\\\":false,\\\"ZoneAwarenessEnabled\\\":false},\\\"CognitoOptions\\\":{\\\"Enabled\\\":false},\\\"Created\\\":true,\\\"Deleted\\\":false,\\\"DomainEndpointOptions\\\":{\\\"CustomEndpointEnabled\\\":false,\\\"EnforceHTTPS\\\":true,\\\"TLSSecurityPolicy\\\":\\\"Policy-Min-TLS-1-0-2019-07\\\"},\\\"DomainId\\\":\\\"044981683129/opensearchdomai-sq504hzjjahv\\\",\\\"DomainName\\\":\\\"opensearchdomai-sq504hzjjahv\\\",\\\"EBSOptions\\\":{\\\"EBSEnabled\\\":true,\\\"VolumeSize\\\":10,\\\"VolumeType\\\":\\\"gp2\\\"},\\\"EncryptionAtRestOptions\\\":{\\\"Enabled\\\":true,\\\"KmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/2e78895f-ba19-4ec8-aa8b-47a681cc2a1e\\\"},\\\"Endpoints\\\":{\\\"vpc\\\":\\\"vpc-opensearchdomai-sq504hzjjahv-n6e7afx5nrqr23r3ddwdpeiimm.eu-west-1.es.amazonaws.com\\\"},\\\"EngineVersion\\\":\\\"OpenSearch_1.3\\\",\\\"NodeToNodeEncryptionOptions\\\":{\\\"Enabled\\\":true},\\\"Processing\\\":false,\\\"ServiceSoftwareOptions\\\":{\\\"AutomatedUpdateDate\\\":\\\"2023-04-14T08:31:12.000Z\\\",\\\"Cancellable\\\":false,\\\"CurrentVersion\\\":\\\"R20220928-P1\\\",\\\"Description\\\":\\\"A new software release R20221114-P3 is available. This release will be automatically deployed if no action is taken.\\\",\\\"NewVersion\\\":\\\"R20221114-P3\\\",\\\"OptionalDeployment\\\":false,\\\"UpdateAvailable\\\":true,\\\"UpdateStatus\\\":\\\"PENDING_UPDATE\\\"},\\\"SnapshotOptions\\\":{\\\"AutomatedSnapshotStartHour\\\":0},\\\"UpgradeProcessing\\\":false,\\\"VPCOptions\\\":{\\\"AvailabilityZones\\\":[\\\"eu-west-1a\\\"],\\\"SecurityGroupIds\\\":[\\\"sg-0696201a4200147f4\\\"],\\\"SubnetIds\\\":[\\\"subnet-02e0c991bba17b7eb\\\"],\\\"VPCId\\\":\\\"vpc-04e5e1c4bc4409222\\\"}}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-02e0c991bba17b7eb","loggedInURL":null,"loginURL":null,"private":null,"resourceId":"opensearchdomai-sq504hzjjahv","resourceName":"opensearchdomai-sq504hzjjahv","resourceType":"AWS::OpenSearch::Domain","resourceValue":null,"state":null,"tags":"[]","title":"opensearchdomai-sq504hzjjahv","instanceType":null,"statement":null,"dBInstanceStatus":null}}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1504.5,"y":-2354.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:es:eu-west-1:044981683129:domain/opensearchdomai-sq504hzjjahv","resourceId":["opensearchdomai-sq504hzjjahv","arn:aws:es:eu-west-1:044981683129:domain/opensearchdomai-sq504hzjjahv"],"parent":"Domain-subnet-02e0c991bba17b7eb-eu-west-1a-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":6,"id":"arn:aws:es:eu-west-1:044981683129:domain/opensearchdomai-sq504hzjjahv","title":"opensearchdomai-sq504hzjjahv","label":"opensearchdo...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:es:eu-west-1:044981683129:domain/opensearchdomai-sq504hzjjahv","image":"/icons/Arch_Amazon-OpenSearch-Service_64.svg","cost":0,"private":false,"resource":{"id":"opensearchdomai-sq504hzjjahv","name":"opensearchdomai-sq504hzjjahv","value":null,"type":"AWS::OpenSearch::Domain","tags":"[]","arn":"arn:aws:es:eu-west-1:044981683129:domain/opensearchdomai-sq504hzjjahv","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:es:eu-west-1:044981683129:domain/opensearchdomai-sq504hzjjahv","configuration":"\"{\\\"ARN\\\":\\\"arn:aws:es:eu-west-1:044981683129:domain/opensearchdomai-sq504hzjjahv\\\",\\\"AccessPolicies\\\":\\\"{\\\\\\\"Version\\\\\\\":\\\\\\\"2012-10-17\\\\\\\",\\\\\\\"Statement\\\\\\\":[{\\\\\\\"Effect\\\\\\\":\\\\\\\"Allow\\\\\\\",\\\\\\\"Principal\\\\\\\":{\\\\\\\"AWS\\\\\\\":\\\\\\\"arn:aws:iam::044981683129:role/wd2-2022-10-07-OpenSearchRoleStac-SearchLambdaRole-13QULKRSOW40L\\\\\\\"},\\\\\\\"Action\\\\\\\":[\\\\\\\"es:ESHttpHead\\\\\\\",\\\\\\\"es:ESHttpGet\\\\\\\",\\\\\\\"es:ESHttpPost\\\\\\\",\\\\\\\"es:ESHttpPut\\\\\\\",\\\\\\\"es:ESHttpDelete\\\\\\\"],\\\\\\\"Resource\\\\\\\":\\\\\\\"arn:aws:es:eu-west-1:044981683129:domain/*\\\\\\\"}]}\\\",\\\"AdvancedOptions\\\":{\\\"indices.query.bool.max_clause_count\\\":\\\"4096\\\",\\\"override_main_response_version\\\":\\\"false\\\",\\\"rest.action.multi.allow_explicit_index\\\":\\\"true\\\"},\\\"AdvancedSecurityOptions\\\":{\\\"AnonymousAuthEnabled\\\":false,\\\"Enabled\\\":false,\\\"InternalUserDatabaseEnabled\\\":false},\\\"AutoTuneOptions\\\":{\\\"State\\\":\\\"ENABLED\\\"},\\\"ClusterConfig\\\":{\\\"ColdStorageOptions\\\":{\\\"Enabled\\\":false},\\\"DedicatedMasterEnabled\\\":false,\\\"InstanceCount\\\":1,\\\"InstanceType\\\":\\\"m6g.large.search\\\",\\\"WarmEnabled\\\":false,\\\"ZoneAwarenessEnabled\\\":false},\\\"CognitoOptions\\\":{\\\"Enabled\\\":false},\\\"Created\\\":true,\\\"Deleted\\\":false,\\\"DomainEndpointOptions\\\":{\\\"CustomEndpointEnabled\\\":false,\\\"EnforceHTTPS\\\":true,\\\"TLSSecurityPolicy\\\":\\\"Policy-Min-TLS-1-0-2019-07\\\"},\\\"DomainId\\\":\\\"044981683129/opensearchdomai-sq504hzjjahv\\\",\\\"DomainName\\\":\\\"opensearchdomai-sq504hzjjahv\\\",\\\"EBSOptions\\\":{\\\"EBSEnabled\\\":true,\\\"VolumeSize\\\":10,\\\"VolumeType\\\":\\\"gp2\\\"},\\\"EncryptionAtRestOptions\\\":{\\\"Enabled\\\":true,\\\"KmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/2e78895f-ba19-4ec8-aa8b-47a681cc2a1e\\\"},\\\"Endpoints\\\":{\\\"vpc\\\":\\\"vpc-opensearchdomai-sq504hzjjahv-n6e7afx5nrqr23r3ddwdpeiimm.eu-west-1.es.amazonaws.com\\\"},\\\"EngineVersion\\\":\\\"OpenSearch_1.3\\\",\\\"NodeToNodeEncryptionOptions\\\":{\\\"Enabled\\\":true},\\\"Processing\\\":false,\\\"ServiceSoftwareOptions\\\":{\\\"AutomatedUpdateDate\\\":\\\"2023-04-14T08:31:12.000Z\\\",\\\"Cancellable\\\":false,\\\"CurrentVersion\\\":\\\"R20220928-P1\\\",\\\"Description\\\":\\\"A new software release R20221114-P3 is available. This release will be automatically deployed if no action is taken.\\\",\\\"NewVersion\\\":\\\"R20221114-P3\\\",\\\"OptionalDeployment\\\":false,\\\"UpdateAvailable\\\":true,\\\"UpdateStatus\\\":\\\"PENDING_UPDATE\\\"},\\\"SnapshotOptions\\\":{\\\"AutomatedSnapshotStartHour\\\":0},\\\"UpgradeProcessing\\\":false,\\\"VPCOptions\\\":{\\\"AvailabilityZones\\\":[\\\"eu-west-1a\\\"],\\\"SecurityGroupIds\\\":[\\\"sg-0696201a4200147f4\\\"],\\\"SubnetIds\\\":[\\\"subnet-02e0c991bba17b7eb\\\"],\\\"VPCId\\\":\\\"vpc-04e5e1c4bc4409222\\\"}}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-02e0c991bba17b7eb","loggedInURL":null,"loginURL":null,"private":null,"resourceId":"opensearchdomai-sq504hzjjahv","resourceName":"opensearchdomai-sq504hzjjahv","resourceType":"AWS::OpenSearch::Domain","resourceValue":null,"state":null,"tags":"[]","title":"opensearchdomai-sq504hzjjahv","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1504.5,"y":-2354.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"subnet-0a0fb0d325b2f6e27-eu-west-1a-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","parent":"eu-west-1a-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":4,"title":"subnet-0a0fb0d325b2f6e27","label":"subnet-0a0fb0d325b2f6e27","plainLabel":"subnet-0a0fb0d325b2f6e27","type":"subnet","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/VPC-subnet-private_light-bg-collapsed.svg","clickedId":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0a0fb0d325b2f6e27","cost":0,"hasChildren":true,"children":[{"id":null,"label":"NetworkInterface","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-015baaa6d6b7c79fd","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-015baaa6d6b7c79fd","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-015baaa6d6b7c79fd\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"044981683129\\\",\\\"allocationId\\\":\\\"eipalloc-08898549a4777216e\\\",\\\"publicIp\\\":\\\"18.202.87.78\\\",\\\"publicDnsName\\\":\\\"ec2-18-202-87-78.eu-west-1.compute.amazonaws.com\\\",\\\"associationId\\\":\\\"eipassoc-0027d275db16582dd\\\"},\\\"privateDnsName\\\":\\\"ip-10-0-1-74.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.1.74\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0a0fb0d325b2f6e27\\\",\\\"requesterId\\\":\\\"121358213739\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"044981683129\\\",\\\"allocationId\\\":\\\"eipalloc-08898549a4777216e\\\",\\\"publicIp\\\":\\\"18.202.87.78\\\",\\\"publicDnsName\\\":\\\"ec2-18-202-87-78.eu-west-1.compute.amazonaws.com\\\",\\\"associationId\\\":\\\"eipassoc-0027d275db16582dd\\\"},\\\"description\\\":\\\"Interface for NAT Gateway nat-0f052ba8450b34d40\\\",\\\"groups\\\":[],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":false,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.1.74\\\",\\\"interfaceType\\\":\\\"nat_gateway\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:ab:30:54:8f:d7\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-0fd0fe2f2fc662f4f\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"privateDnsName\\\":\\\"ip-10-0-1-74.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-0a0fb0d325b2f6e27","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-015baaa6d6b7c79fd","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-015baaa6d6b7c79fd","instanceType":null,"statement":null,"dBInstanceStatus":null}}]},{"id":null,"label":"NatGateway","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-0f052ba8450b34d40","label":"AWS_EC2_NatGateway","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-0f052ba8450b34d40","configuration":"\"{\\\"subnetId\\\":\\\"subnet-0a0fb0d325b2f6e27\\\",\\\"connectivityType\\\":\\\"public\\\",\\\"createTime\\\":1665165086000,\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"natGatewayId\\\":\\\"nat-0f052ba8450b34d40\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"natGatewayAddresses\\\":[{\\\"networkInterfaceId\\\":\\\"eni-015baaa6d6b7c79fd\\\",\\\"isPrimary\\\":true,\\\"privateIp\\\":\\\"10.0.1.74\\\",\\\"allocationId\\\":\\\"eipalloc-08898549a4777216e\\\",\\\"publicIp\\\":\\\"18.202.87.78\\\",\\\"associationId\\\":\\\"eipassoc-0027d275db16582dd\\\",\\\"status\\\":\\\"succeeded\\\",\\\"primary\\\":true}],\\\"tags\\\":[{\\\"value\\\":\\\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"key\\\":\\\"AppManagerCFNStackKey\\\"},{\\\"value\\\":\\\"NATGateway0\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-0a0fb0d325b2f6e27","loggedInURL":null,"loginURL":null,"private":null,"resourceId":"nat-0f052ba8450b34d40","resourceName":null,"resourceType":"AWS::EC2::NatGateway","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"value\":\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"aws:cloudformation:logical-id=NATGateway0\",\"value\":\"NATGateway0\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"nat-0f052ba8450b34d40","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#147eba","properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0a0fb0d325b2f6e27","configuration":"\"{\\\"subnetId\\\":\\\"subnet-0a0fb0d325b2f6e27\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0a0fb0d325b2f6e27\\\",\\\"availabilityZoneId\\\":\\\"euw1-az2\\\",\\\"cidrBlock\\\":\\\"10.0.1.0/24\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[{\\\"value\\\":\\\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\\\",\\\"key\\\":\\\"Application\\\"},{\\\"value\\\":\\\"Public\\\",\\\"key\\\":\\\"Network\\\"},{\\\"value\\\":\\\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"vpc-04e5e1c4bc4409222-public-a\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"PublicSubnet0\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"key\\\":\\\"AppManagerCFNStackKey\\\"}],\\\"availableIpAddressCount\\\":250,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"mapPublicIpOnLaunch\\\":false,\\\"defaultForAz\\\":false,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-0a0fb0d325b2f6e27","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":"true","resourceId":"subnet-0a0fb0d325b2f6e27","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"value\":\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"Network=Public\",\"value\":\"Public\",\"key\":\"Network\"},{\"tag\":\"aws:cloudformation:logical-id=PublicSubnet0\",\"value\":\"PublicSubnet0\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"Application=wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"value\":\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"key\":\"Application\"},{\"tag\":\"Name=vpc-04e5e1c4bc4409222-public-a\",\"value\":\"vpc-04e5e1c4bc4409222-public-a\",\"key\":\"Name\"}]","title":"vpc-04e5e1c4bc4409222-public-a","instanceType":null,"statement":null,"dBInstanceStatus":null},"resource":{"id":"subnet-0a0fb0d325b2f6e27","name":null,"value":null,"type":"AWS::EC2::Subnet","tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"value\":\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"Network=Public\",\"value\":\"Public\",\"key\":\"Network\"},{\"tag\":\"aws:cloudformation:logical-id=PublicSubnet0\",\"value\":\"PublicSubnet0\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"Application=wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"value\":\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"key\":\"Application\"},{\"tag\":\"Name=vpc-04e5e1c4bc4409222-public-a\",\"value\":\"vpc-04e5e1c4bc4409222-public-a\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0a0fb0d325b2f6e27","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","accountId":"044981683129"}},"position":{"x":-963,"y":-2630.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"subnet removeAll _gridParentPadding"},{"data":{"id":"NetworkInterface-subnet-0a0fb0d325b2f6e27-eu-west-1a-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","parent":"subnet-0a0fb0d325b2f6e27-eu-west-1a-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":5,"title":"NetworkInterface","label":"NetworkInterface","plainLabel":"NetworkInterface","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-015baaa6d6b7c79fd","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-015baaa6d6b7c79fd","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-015baaa6d6b7c79fd\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"044981683129\\\",\\\"allocationId\\\":\\\"eipalloc-08898549a4777216e\\\",\\\"publicIp\\\":\\\"18.202.87.78\\\",\\\"publicDnsName\\\":\\\"ec2-18-202-87-78.eu-west-1.compute.amazonaws.com\\\",\\\"associationId\\\":\\\"eipassoc-0027d275db16582dd\\\"},\\\"privateDnsName\\\":\\\"ip-10-0-1-74.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.1.74\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0a0fb0d325b2f6e27\\\",\\\"requesterId\\\":\\\"121358213739\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"044981683129\\\",\\\"allocationId\\\":\\\"eipalloc-08898549a4777216e\\\",\\\"publicIp\\\":\\\"18.202.87.78\\\",\\\"publicDnsName\\\":\\\"ec2-18-202-87-78.eu-west-1.compute.amazonaws.com\\\",\\\"associationId\\\":\\\"eipassoc-0027d275db16582dd\\\"},\\\"description\\\":\\\"Interface for NAT Gateway nat-0f052ba8450b34d40\\\",\\\"groups\\\":[],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":false,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.1.74\\\",\\\"interfaceType\\\":\\\"nat_gateway\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:ab:30:54:8f:d7\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-0fd0fe2f2fc662f4f\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"privateDnsName\\\":\\\"ip-10-0-1-74.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-0a0fb0d325b2f6e27","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-015baaa6d6b7c79fd","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-015baaa6d6b7c79fd","instanceType":null,"statement":null,"dBInstanceStatus":null}}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1019.5,"y":-2630.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-015baaa6d6b7c79fd","resourceId":["eni-015baaa6d6b7c79fd","arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-015baaa6d6b7c79fd"],"parent":"NetworkInterface-subnet-0a0fb0d325b2f6e27-eu-west-1a-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":6,"id":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-015baaa6d6b7c79fd","title":"eni-015baaa6d6b7c79fd","label":"eni-015baaa6...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-015baaa6d6b7c79fd","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-015baaa6d6b7c79fd","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-015baaa6d6b7c79fd","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-015baaa6d6b7c79fd","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-015baaa6d6b7c79fd\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"044981683129\\\",\\\"allocationId\\\":\\\"eipalloc-08898549a4777216e\\\",\\\"publicIp\\\":\\\"18.202.87.78\\\",\\\"publicDnsName\\\":\\\"ec2-18-202-87-78.eu-west-1.compute.amazonaws.com\\\",\\\"associationId\\\":\\\"eipassoc-0027d275db16582dd\\\"},\\\"privateDnsName\\\":\\\"ip-10-0-1-74.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"10.0.1.74\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-0a0fb0d325b2f6e27\\\",\\\"requesterId\\\":\\\"121358213739\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"044981683129\\\",\\\"allocationId\\\":\\\"eipalloc-08898549a4777216e\\\",\\\"publicIp\\\":\\\"18.202.87.78\\\",\\\"publicDnsName\\\":\\\"ec2-18-202-87-78.eu-west-1.compute.amazonaws.com\\\",\\\"associationId\\\":\\\"eipassoc-0027d275db16582dd\\\"},\\\"description\\\":\\\"Interface for NAT Gateway nat-0f052ba8450b34d40\\\",\\\"groups\\\":[],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"044981683129\\\",\\\"sourceDestCheck\\\":false,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"10.0.1.74\\\",\\\"interfaceType\\\":\\\"nat_gateway\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:ab:30:54:8f:d7\\\",\\\"attachment\\\":{\\\"attachmentId\\\":\\\"ela-attach-0fd0fe2f2fc662f4f\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-aws\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"privateDnsName\\\":\\\"ip-10-0-1-74.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-0a0fb0d325b2f6e27","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://044981683129.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-015baaa6d6b7c79fd","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-015baaa6d6b7c79fd","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1019.5,"y":-2630.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"NatGateway-subnet-0a0fb0d325b2f6e27-eu-west-1a-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","parent":"subnet-0a0fb0d325b2f6e27-eu-west-1a-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":5,"title":"NatGateway","label":"NatGateway","plainLabel":"NatGateway","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-VPC_NAT-Gateway_light-bg-menu.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-0f052ba8450b34d40","label":"AWS_EC2_NatGateway","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-0f052ba8450b34d40","configuration":"\"{\\\"subnetId\\\":\\\"subnet-0a0fb0d325b2f6e27\\\",\\\"connectivityType\\\":\\\"public\\\",\\\"createTime\\\":1665165086000,\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"natGatewayId\\\":\\\"nat-0f052ba8450b34d40\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"natGatewayAddresses\\\":[{\\\"networkInterfaceId\\\":\\\"eni-015baaa6d6b7c79fd\\\",\\\"isPrimary\\\":true,\\\"privateIp\\\":\\\"10.0.1.74\\\",\\\"allocationId\\\":\\\"eipalloc-08898549a4777216e\\\",\\\"publicIp\\\":\\\"18.202.87.78\\\",\\\"associationId\\\":\\\"eipassoc-0027d275db16582dd\\\",\\\"status\\\":\\\"succeeded\\\",\\\"primary\\\":true}],\\\"tags\\\":[{\\\"value\\\":\\\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"key\\\":\\\"AppManagerCFNStackKey\\\"},{\\\"value\\\":\\\"NATGateway0\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-0a0fb0d325b2f6e27","loggedInURL":null,"loginURL":null,"private":null,"resourceId":"nat-0f052ba8450b34d40","resourceName":null,"resourceType":"AWS::EC2::NatGateway","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"value\":\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"aws:cloudformation:logical-id=NATGateway0\",\"value\":\"NATGateway0\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"nat-0f052ba8450b34d40","instanceType":null,"statement":null,"dBInstanceStatus":null}}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-906.5,"y":-2630.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-0f052ba8450b34d40","resourceId":["nat-0f052ba8450b34d40","arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-0f052ba8450b34d40"],"parent":"NatGateway-subnet-0a0fb0d325b2f6e27-eu-west-1a-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":6,"id":"arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-0f052ba8450b34d40","title":"nat-0f052ba8450b34d40","label":"nat-0f052ba8...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-0f052ba8450b34d40","image":"/icons/Amazon-VPC_NAT-Gateway_light-bg-menu.svg","cost":0,"private":false,"resource":{"id":"nat-0f052ba8450b34d40","name":null,"value":null,"type":"AWS::EC2::NatGateway","tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"value\":\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"aws:cloudformation:logical-id=NATGateway0\",\"value\":\"NATGateway0\",\"key\":\"aws:cloudformation:logical-id\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-0f052ba8450b34d40","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-0f052ba8450b34d40","configuration":"\"{\\\"subnetId\\\":\\\"subnet-0a0fb0d325b2f6e27\\\",\\\"connectivityType\\\":\\\"public\\\",\\\"createTime\\\":1665165086000,\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"natGatewayId\\\":\\\"nat-0f052ba8450b34d40\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"natGatewayAddresses\\\":[{\\\"networkInterfaceId\\\":\\\"eni-015baaa6d6b7c79fd\\\",\\\"isPrimary\\\":true,\\\"privateIp\\\":\\\"10.0.1.74\\\",\\\"allocationId\\\":\\\"eipalloc-08898549a4777216e\\\",\\\"publicIp\\\":\\\"18.202.87.78\\\",\\\"associationId\\\":\\\"eipassoc-0027d275db16582dd\\\",\\\"status\\\":\\\"succeeded\\\",\\\"primary\\\":true}],\\\"tags\\\":[{\\\"value\\\":\\\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"key\\\":\\\"AppManagerCFNStackKey\\\"},{\\\"value\\\":\\\"NATGateway0\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-04e5e1c4bc4409222","subnetId":"subnet-0a0fb0d325b2f6e27","loggedInURL":null,"loginURL":null,"private":null,"resourceId":"nat-0f052ba8450b34d40","resourceName":null,"resourceType":"AWS::EC2::NatGateway","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"value\":\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"aws:cloudformation:logical-id=NATGateway0\",\"value\":\"NATGateway0\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"nat-0f052ba8450b34d40","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-906.5,"y":-2630.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"Multiple Availability Zones-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","parent":"vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":3,"title":"Multiple Availability Zones","label":"Multiple Availability Zones","plainLabel":"Multiple Availability Zones","type":"availabilityZone","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/availabilityZone.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":null,"label":"NetworkAcl","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-0dc5aad47c8708460","label":"AWS_EC2_NetworkAcl","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-0dc5aad47c8708460","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-0a0fb0d325b2f6e27\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-03b1d309c1a493eb9\\\",\\\"networkAclId\\\":\\\"acl-0dc5aad47c8708460\\\"},{\\\"subnetId\\\":\\\"subnet-09a8d208939761202\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-023eedc70adcddd02\\\",\\\"networkAclId\\\":\\\"acl-0dc5aad47c8708460\\\"},{\\\"subnetId\\\":\\\"subnet-010652f698dff6484\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-072af8893a6e91caa\\\",\\\"networkAclId\\\":\\\"acl-0dc5aad47c8708460\\\"},{\\\"subnetId\\\":\\\"subnet-02e0c991bba17b7eb\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-0b9ae4916ab2c85d8\\\",\\\"networkAclId\\\":\\\"acl-0dc5aad47c8708460\\\"}],\\\"entries\\\":[{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":false},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":false}],\\\"isDefault\\\":true,\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"networkAclId\\\":\\\"acl-0dc5aad47c8708460\\\",\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#acls:sort=networkAclId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#acls:sort=networkAclId","private":null,"resourceId":"acl-0dc5aad47c8708460","resourceName":null,"resourceType":"AWS::EC2::NetworkAcl","resourceValue":null,"state":null,"tags":"[]","title":"acl-0dc5aad47c8708460","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]},{"id":null,"label":"InternetGateway","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:internet-gateway/igw-011382805b47b6baa","label":"AWS_EC2_InternetGateway","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:internet-gateway/igw-011382805b47b6baa","configuration":"\"{\\\"attachments\\\":[{\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"state\\\":\\\"available\\\"}],\\\"internetGatewayId\\\":\\\"igw-011382805b47b6baa\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"tags\\\":[{\\\"value\\\":\\\"InternetGateway\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"key\\\":\\\"AppManagerCFNStackKey\\\"},{\\\"value\\\":\\\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\\\",\\\"key\\\":\\\"Application\\\"},{\\\"value\\\":\\\"vpc-04e5e1c4bc4409222-IGW\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"Public\\\",\\\"key\\\":\\\"Network\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#igws:sort=internetGatewayId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#igws:sort=internetGatewayId","private":null,"resourceId":"igw-011382805b47b6baa","resourceName":null,"resourceType":"AWS::EC2::InternetGateway","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"value\":\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"Network=Public\",\"value\":\"Public\",\"key\":\"Network\"},{\"tag\":\"aws:cloudformation:logical-id=InternetGateway\",\"value\":\"InternetGateway\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"Application=wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"value\":\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"key\":\"Application\"},{\"tag\":\"Name=vpc-04e5e1c4bc4409222-IGW\",\"value\":\"vpc-04e5e1c4bc4409222-IGW\",\"key\":\"Name\"}]","title":"vpc-04e5e1c4bc4409222-IGW","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]},{"id":null,"label":"DBClusterSnapshot","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:preupgrade-wdneptunedbcluster-0kfaa4tuyz1x-1-1-1-0-to-1-2-0-0-2022-11-16-15-11","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:preupgrade-wdneptunedbcluster-0kfaa4tuyz1x-1-1-1-0-to-1-2-0-0-2022-11-16-15-11","configuration":"\"{\\\"engineVersion\\\":\\\"1.1.1.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"manual\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"preupgrade-wdneptunedbcluster-0kfaa4tuyz1x-1-1-1-0-to-1-2-0-0-2022-11-16-15-11\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:preupgrade-wdneptunedbcluster-0kfaa4tuyz1x-1-1-1-0-to-1-2-0-0-2022-11-16-15-11\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1668611698613,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"preupgrade-wdneptunedbcluster-0kfaa4tuyz1x-1-1-1-0-to-1-2-0-0-2022-11-16-15-11","resourceName":"preupgrade-wdneptunedbcluster-0kfaa4tuyz1x-1-1-1-0-to-1-2-0-0-2022-11-16-15-11","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"preupgrade-wdneptunedbcluster-0kfaa4tuyz1x-1-1-1-0-to-1-2-0-0-2022-11-16-15-11","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-20-02-16","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-20-02-16","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-20-02-16\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-20-02-16\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1679278594034,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-20-02-16","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-20-02-16","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-20-02-16","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-21-02-15","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-21-02-15","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-21-02-15\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-21-02-15\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1679364958901,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-21-02-15","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-21-02-15","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-21-02-15","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-22-02-15","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-22-02-15","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-22-02-15\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-22-02-15\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1679451332426,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-22-02-15","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-22-02-15","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-22-02-15","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-06-02-17","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-06-02-17","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-06-02-17\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-06-02-17\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1680747472458,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-06-02-17","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-06-02-17","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-06-02-17","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-07-02-16","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-07-02-16","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-07-02-16\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-07-02-16\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1680833812625,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-07-02-16","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-07-02-16","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-07-02-16","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-08-02-16","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-08-02-16","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-08-02-16\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-08-02-16\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1680920196151,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-08-02-16","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-08-02-16","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-08-02-16","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-09-02-17","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-09-02-17","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-09-02-17\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-09-02-17\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1681006676863,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-09-02-17","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-09-02-17","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-09-02-17","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-10-02-15","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-10-02-15","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-10-02-15\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-10-02-15\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1681092929451,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-10-02-15","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-10-02-15","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-10-02-15","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-11-02-15","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-11-02-15","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-11-02-15\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-11-02-15\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1681179346749,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-11-02-15","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-11-02-15","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-11-02-15","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-23-02-16","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-23-02-16","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-23-02-16\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-23-02-16\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1679537795081,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-23-02-16","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-23-02-16","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-23-02-16","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-24-02-16","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-24-02-16","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-24-02-16\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-24-02-16\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1679624200939,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-24-02-16","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-24-02-16","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-24-02-16","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-25-02-17","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-25-02-17","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-25-02-17\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-25-02-17\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1679710641298,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-25-02-17","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-25-02-17","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-25-02-17","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-26-02-17","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-26-02-17","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-26-02-17\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-26-02-17\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1679797027381,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-26-02-17","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-26-02-17","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-26-02-17","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-27-02-17","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-27-02-17","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-27-02-17\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-27-02-17\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1679883438471,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-27-02-17","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-27-02-17","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-27-02-17","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-28-02-18","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-28-02-18","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-28-02-18\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-28-02-18\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1679969889087,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-28-02-18","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-28-02-18","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-28-02-18","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-29-02-17","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-29-02-17","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-29-02-17\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-29-02-17\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1680056221220,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-29-02-17","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-29-02-17","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-29-02-17","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-30-02-16","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-30-02-16","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-30-02-16\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-30-02-16\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1680142618042,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-30-02-16","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-30-02-16","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-30-02-16","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-31-02-18","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-31-02-18","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-31-02-18\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-31-02-18\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1680229130736,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-31-02-18","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-31-02-18","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-31-02-18","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-01-02-17","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-01-02-17","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-01-02-17\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-01-02-17\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1680315420901,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-01-02-17","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-01-02-17","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-01-02-17","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-02-02-16","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-02-02-16","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-02-02-16\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-02-02-16\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1680401794262,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-02-02-16","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-02-02-16","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-02-02-16","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-03-02-16","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-03-02-16","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-03-02-16\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-03-02-16\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1680488181904,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-03-02-16","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-03-02-16","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-03-02-16","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-04-02-15","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-04-02-15","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-04-02-15\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-04-02-15\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1680574559850,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-04-02-15","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-04-02-15","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-04-02-15","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-05-02-16","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-05-02-16","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-05-02-16\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-05-02-16\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1680660998813,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-05-02-16","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-05-02-16","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-05-02-16","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-12-02-17","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-12-02-17","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-12-02-17\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-12-02-17\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1681265823013,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-12-02-17","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-12-02-17","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-12-02-17","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-13-02-16","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-13-02-16","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-13-02-16\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-13-02-16\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1681352187371,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-13-02-16","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-13-02-16","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-13-02-16","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-14-02-16","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-14-02-16","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-14-02-16\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-14-02-16\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1681438609195,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-14-02-16","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-14-02-16","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-14-02-16","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-15-02-16","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-15-02-16","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-15-02-16\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-15-02-16\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1681525007492,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-15-02-16","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-15-02-16","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-15-02-16","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-16-02-17","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-16-02-17","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-16-02-17\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-16-02-17\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1681611425583,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-16-02-17","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-16-02-17","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-16-02-17","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-17-02-16","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-17-02-16","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-17-02-16\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-17-02-16\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1681697768531,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-17-02-16","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-17-02-16","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-17-02-16","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-18-02-16","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-18-02-16","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-18-02-16\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-18-02-16\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1681784175107,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-18-02-16","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-18-02-16","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-18-02-16","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:serverless-neptune-2023-04-18-23-45","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:serverless-neptune-2023-04-18-23-45","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.1\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":false,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:serverless-neptune-2023-04-18-23-45\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":false,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"serverless-neptune\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:serverless-neptune-2023-04-18-23-45\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1681861535542,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"clusterCreateTime\\\":1666860730867,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:serverless-neptune-2023-04-18-23-45","resourceName":"rds:serverless-neptune-2023-04-18-23-45","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:serverless-neptune-2023-04-18-23-45","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:serverless-neptune-2023-04-19-23-45","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:serverless-neptune-2023-04-19-23-45","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.1\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":false,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:serverless-neptune-2023-04-19-23-45\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":false,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"serverless-neptune\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:serverless-neptune-2023-04-19-23-45\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1681947937310,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"clusterCreateTime\\\":1666860730867,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:serverless-neptune-2023-04-19-23-45","resourceName":"rds:serverless-neptune-2023-04-19-23-45","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:serverless-neptune-2023-04-19-23-45","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-19-02-17","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-19-02-17","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-19-02-17\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-19-02-17\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1681870629395,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-19-02-17","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-19-02-17","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-19-02-17","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-20-02-17","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-20-02-17","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-20-02-17\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-20-02-17\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1681957028326,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-20-02-17","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-20-02-17","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-20-02-17","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]},{"id":null,"label":"DBSubnetGroup","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:rds:eu-west-1:044981683129:subgrp:perspective-dev-sng","label":"AWS_RDS_DBSubnetGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:subgrp:perspective-dev-sng","configuration":"\"{\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"dBSubnetGroupArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:subgrp:perspective-dev-sng\\\",\\\"subnets\\\":[{\\\"subnetIdentifier\\\":\\\"subnet-010652f698dff6484\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1b\\\"}},{\\\"subnetIdentifier\\\":\\\"subnet-02e0c991bba17b7eb\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1a\\\"}}],\\\"subnetGroupStatus\\\":\\\"Complete\\\",\\\"dBSubnetGroupName\\\":\\\"perspective-dev-sng\\\",\\\"dBSubnetGroupDescription\\\":\\\"CloudFormation managed Neptune DB Subnet Group - workload-discovery-subnet-group\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"perspective-dev-sng","resourceName":"perspective-dev-sng","resourceType":"AWS::RDS::DBSubnetGroup","resourceValue":null,"state":null,"tags":"[{\"tag\":\"App=workload-discovery\",\"value\":\"workload-discovery\",\"key\":\"App\"},{\"tag\":\"Owner=\",\"value\":\"\",\"key\":\"Owner\"},{\"tag\":\"Storage=ebs\",\"value\":\"ebs\",\"key\":\"Storage\"},{\"tag\":\"User=test\",\"value\":\"test\",\"key\":\"User\"},{\"tag\":\"Tier=\",\"value\":\"\",\"key\":\"Tier\"},{\"tag\":\"Version=\",\"value\":\"\",\"key\":\"Version\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"Name=workload-discovery-subnet-group\",\"value\":\"workload-discovery-subnet-group\",\"key\":\"Name\"}]","title":"workload-discovery-subnet-group","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1916.5,"y":-2425.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"availabilityZone removeAll _gridParentPadding"},{"data":{"id":"NetworkAcl-Multiple Availability Zones-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","parent":"Multiple Availability Zones-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":4,"title":"NetworkAcl","label":"NetworkAcl","plainLabel":"NetworkAcl","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-VPC_Network-Access-Control-List_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-0dc5aad47c8708460","label":"AWS_EC2_NetworkAcl","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-0dc5aad47c8708460","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-0a0fb0d325b2f6e27\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-03b1d309c1a493eb9\\\",\\\"networkAclId\\\":\\\"acl-0dc5aad47c8708460\\\"},{\\\"subnetId\\\":\\\"subnet-09a8d208939761202\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-023eedc70adcddd02\\\",\\\"networkAclId\\\":\\\"acl-0dc5aad47c8708460\\\"},{\\\"subnetId\\\":\\\"subnet-010652f698dff6484\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-072af8893a6e91caa\\\",\\\"networkAclId\\\":\\\"acl-0dc5aad47c8708460\\\"},{\\\"subnetId\\\":\\\"subnet-02e0c991bba17b7eb\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-0b9ae4916ab2c85d8\\\",\\\"networkAclId\\\":\\\"acl-0dc5aad47c8708460\\\"}],\\\"entries\\\":[{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":false},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":false}],\\\"isDefault\\\":true,\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"networkAclId\\\":\\\"acl-0dc5aad47c8708460\\\",\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#acls:sort=networkAclId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#acls:sort=networkAclId","private":null,"resourceId":"acl-0dc5aad47c8708460","resourceName":null,"resourceType":"AWS::EC2::NetworkAcl","resourceValue":null,"state":null,"tags":"[]","title":"acl-0dc5aad47c8708460","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1677.5,"y":-2673.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-0dc5aad47c8708460","resourceId":["acl-0dc5aad47c8708460","arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-0dc5aad47c8708460"],"parent":"NetworkAcl-Multiple Availability Zones-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":5,"id":"arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-0dc5aad47c8708460","title":"acl-0dc5aad47c8708460","label":"acl-0dc5aad4...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-0dc5aad47c8708460","image":"/icons/Amazon-VPC_Network-Access-Control-List_light-bg.svg","cost":0,"private":false,"resource":{"id":"acl-0dc5aad47c8708460","name":null,"value":null,"type":"AWS::EC2::NetworkAcl","tags":"[]","arn":"arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-0dc5aad47c8708460","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#acls:sort=networkAclId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#acls:sort=networkAclId","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-0dc5aad47c8708460","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-0a0fb0d325b2f6e27\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-03b1d309c1a493eb9\\\",\\\"networkAclId\\\":\\\"acl-0dc5aad47c8708460\\\"},{\\\"subnetId\\\":\\\"subnet-09a8d208939761202\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-023eedc70adcddd02\\\",\\\"networkAclId\\\":\\\"acl-0dc5aad47c8708460\\\"},{\\\"subnetId\\\":\\\"subnet-010652f698dff6484\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-072af8893a6e91caa\\\",\\\"networkAclId\\\":\\\"acl-0dc5aad47c8708460\\\"},{\\\"subnetId\\\":\\\"subnet-02e0c991bba17b7eb\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-0b9ae4916ab2c85d8\\\",\\\"networkAclId\\\":\\\"acl-0dc5aad47c8708460\\\"}],\\\"entries\\\":[{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":false},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":false}],\\\"isDefault\\\":true,\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"networkAclId\\\":\\\"acl-0dc5aad47c8708460\\\",\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#acls:sort=networkAclId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#acls:sort=networkAclId","private":null,"resourceId":"acl-0dc5aad47c8708460","resourceName":null,"resourceType":"AWS::EC2::NetworkAcl","resourceValue":null,"state":null,"tags":"[]","title":"acl-0dc5aad47c8708460","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1677.5,"y":-2673.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"InternetGateway-Multiple Availability Zones-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","parent":"Multiple Availability Zones-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":4,"title":"InternetGateway","label":"InternetGateway","plainLabel":"InternetGateway","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-VPC_Internet-Gateway_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:044981683129:internet-gateway/igw-011382805b47b6baa","label":"AWS_EC2_InternetGateway","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:internet-gateway/igw-011382805b47b6baa","configuration":"\"{\\\"attachments\\\":[{\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"state\\\":\\\"available\\\"}],\\\"internetGatewayId\\\":\\\"igw-011382805b47b6baa\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"tags\\\":[{\\\"value\\\":\\\"InternetGateway\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"key\\\":\\\"AppManagerCFNStackKey\\\"},{\\\"value\\\":\\\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\\\",\\\"key\\\":\\\"Application\\\"},{\\\"value\\\":\\\"vpc-04e5e1c4bc4409222-IGW\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"Public\\\",\\\"key\\\":\\\"Network\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#igws:sort=internetGatewayId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#igws:sort=internetGatewayId","private":null,"resourceId":"igw-011382805b47b6baa","resourceName":null,"resourceType":"AWS::EC2::InternetGateway","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"value\":\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"Network=Public\",\"value\":\"Public\",\"key\":\"Network\"},{\"tag\":\"aws:cloudformation:logical-id=InternetGateway\",\"value\":\"InternetGateway\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"Application=wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"value\":\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"key\":\"Application\"},{\"tag\":\"Name=vpc-04e5e1c4bc4409222-IGW\",\"value\":\"vpc-04e5e1c4bc4409222-IGW\",\"key\":\"Name\"}]","title":"vpc-04e5e1c4bc4409222-IGW","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-2155.5,"y":-2178.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:044981683129:internet-gateway/igw-011382805b47b6baa","resourceId":["igw-011382805b47b6baa","arn:aws:ec2:eu-west-1:044981683129:internet-gateway/igw-011382805b47b6baa"],"parent":"InternetGateway-Multiple Availability Zones-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":5,"id":"arn:aws:ec2:eu-west-1:044981683129:internet-gateway/igw-011382805b47b6baa","title":"vpc-04e5e1c4bc4409222-IGW","label":"vpc-04e5e1c4...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:044981683129:internet-gateway/igw-011382805b47b6baa","image":"/icons/Amazon-VPC_Internet-Gateway_light-bg.svg","cost":0,"private":false,"resource":{"id":"igw-011382805b47b6baa","name":null,"value":null,"type":"AWS::EC2::InternetGateway","tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"value\":\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"Network=Public\",\"value\":\"Public\",\"key\":\"Network\"},{\"tag\":\"aws:cloudformation:logical-id=InternetGateway\",\"value\":\"InternetGateway\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"Application=wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"value\":\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"key\":\"Application\"},{\"tag\":\"Name=vpc-04e5e1c4bc4409222-IGW\",\"value\":\"vpc-04e5e1c4bc4409222-IGW\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-1:044981683129:internet-gateway/igw-011382805b47b6baa","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#igws:sort=internetGatewayId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#igws:sort=internetGatewayId","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:ec2:eu-west-1:044981683129:internet-gateway/igw-011382805b47b6baa","configuration":"\"{\\\"attachments\\\":[{\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"state\\\":\\\"available\\\"}],\\\"internetGatewayId\\\":\\\"igw-011382805b47b6baa\\\",\\\"ownerId\\\":\\\"044981683129\\\",\\\"tags\\\":[{\\\"value\\\":\\\"InternetGateway\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\\\",\\\"key\\\":\\\"AppManagerCFNStackKey\\\"},{\\\"value\\\":\\\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\\\",\\\"key\\\":\\\"Application\\\"},{\\\"value\\\":\\\"vpc-04e5e1c4bc4409222-IGW\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"Public\\\",\\\"key\\\":\\\"Network\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#igws:sort=internetGatewayId","loginURL":"https://044981683129.signin.aws.amazon.com/console/vpc?region=eu-west-1#igws:sort=internetGatewayId","private":null,"resourceId":"igw-011382805b47b6baa","resourceName":null,"resourceType":"AWS::EC2::InternetGateway","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"value\":\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"Network=Public\",\"value\":\"Public\",\"key\":\"Network\"},{\"tag\":\"aws:cloudformation:logical-id=InternetGateway\",\"value\":\"InternetGateway\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"Application=wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"value\":\"wd2-2022-10-07-VpcStack-JV66F8IP5PCO\",\"key\":\"Application\"},{\"tag\":\"Name=vpc-04e5e1c4bc4409222-IGW\",\"value\":\"vpc-04e5e1c4bc4409222-IGW\",\"key\":\"Name\"}]","title":"vpc-04e5e1c4bc4409222-IGW","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2155.5,"y":-2178.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"DBClusterSnapshot-Multiple Availability Zones-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","parent":"Multiple Availability Zones-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":4,"title":"DBClusterSnapshot","label":"DBClusterSnapshot","plainLabel":"DBClusterSnapshot","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-DBClusterSnapshot.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:preupgrade-wdneptunedbcluster-0kfaa4tuyz1x-1-1-1-0-to-1-2-0-0-2022-11-16-15-11","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:preupgrade-wdneptunedbcluster-0kfaa4tuyz1x-1-1-1-0-to-1-2-0-0-2022-11-16-15-11","configuration":"\"{\\\"engineVersion\\\":\\\"1.1.1.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"manual\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"preupgrade-wdneptunedbcluster-0kfaa4tuyz1x-1-1-1-0-to-1-2-0-0-2022-11-16-15-11\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:preupgrade-wdneptunedbcluster-0kfaa4tuyz1x-1-1-1-0-to-1-2-0-0-2022-11-16-15-11\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1668611698613,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"preupgrade-wdneptunedbcluster-0kfaa4tuyz1x-1-1-1-0-to-1-2-0-0-2022-11-16-15-11","resourceName":"preupgrade-wdneptunedbcluster-0kfaa4tuyz1x-1-1-1-0-to-1-2-0-0-2022-11-16-15-11","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"preupgrade-wdneptunedbcluster-0kfaa4tuyz1x-1-1-1-0-to-1-2-0-0-2022-11-16-15-11","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-20-02-16","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-20-02-16","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-20-02-16\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-20-02-16\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1679278594034,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-20-02-16","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-20-02-16","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-20-02-16","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-21-02-15","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-21-02-15","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-21-02-15\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-21-02-15\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1679364958901,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-21-02-15","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-21-02-15","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-21-02-15","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-22-02-15","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-22-02-15","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-22-02-15\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-22-02-15\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1679451332426,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-22-02-15","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-22-02-15","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-22-02-15","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-06-02-17","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-06-02-17","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-06-02-17\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-06-02-17\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1680747472458,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-06-02-17","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-06-02-17","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-06-02-17","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-07-02-16","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-07-02-16","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-07-02-16\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-07-02-16\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1680833812625,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-07-02-16","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-07-02-16","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-07-02-16","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-08-02-16","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-08-02-16","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-08-02-16\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-08-02-16\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1680920196151,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-08-02-16","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-08-02-16","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-08-02-16","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-09-02-17","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-09-02-17","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-09-02-17\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-09-02-17\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1681006676863,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-09-02-17","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-09-02-17","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-09-02-17","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-10-02-15","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-10-02-15","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-10-02-15\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-10-02-15\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1681092929451,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-10-02-15","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-10-02-15","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-10-02-15","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-11-02-15","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-11-02-15","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-11-02-15\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-11-02-15\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1681179346749,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-11-02-15","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-11-02-15","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-11-02-15","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-23-02-16","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-23-02-16","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-23-02-16\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-23-02-16\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1679537795081,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-23-02-16","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-23-02-16","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-23-02-16","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-24-02-16","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-24-02-16","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-24-02-16\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-24-02-16\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1679624200939,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-24-02-16","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-24-02-16","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-24-02-16","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-25-02-17","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-25-02-17","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-25-02-17\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-25-02-17\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1679710641298,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-25-02-17","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-25-02-17","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-25-02-17","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-26-02-17","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-26-02-17","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-26-02-17\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-26-02-17\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1679797027381,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-26-02-17","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-26-02-17","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-26-02-17","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-27-02-17","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-27-02-17","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-27-02-17\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-27-02-17\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1679883438471,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-27-02-17","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-27-02-17","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-27-02-17","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-28-02-18","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-28-02-18","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-28-02-18\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-28-02-18\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1679969889087,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-28-02-18","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-28-02-18","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-28-02-18","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-29-02-17","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-29-02-17","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-29-02-17\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-29-02-17\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1680056221220,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-29-02-17","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-29-02-17","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-29-02-17","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-30-02-16","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-30-02-16","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-30-02-16\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-30-02-16\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1680142618042,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-30-02-16","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-30-02-16","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-30-02-16","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-31-02-18","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-31-02-18","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-31-02-18\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-31-02-18\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1680229130736,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-31-02-18","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-31-02-18","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-31-02-18","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-01-02-17","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-01-02-17","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-01-02-17\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-01-02-17\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1680315420901,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-01-02-17","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-01-02-17","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-01-02-17","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-02-02-16","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-02-02-16","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-02-02-16\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-02-02-16\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1680401794262,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-02-02-16","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-02-02-16","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-02-02-16","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-03-02-16","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-03-02-16","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-03-02-16\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-03-02-16\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1680488181904,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-03-02-16","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-03-02-16","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-03-02-16","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-04-02-15","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-04-02-15","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-04-02-15\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-04-02-15\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1680574559850,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-04-02-15","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-04-02-15","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-04-02-15","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-05-02-16","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-05-02-16","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-05-02-16\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-05-02-16\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1680660998813,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-05-02-16","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-05-02-16","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-05-02-16","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-12-02-17","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-12-02-17","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-12-02-17\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-12-02-17\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1681265823013,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-12-02-17","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-12-02-17","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-12-02-17","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-13-02-16","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-13-02-16","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-13-02-16\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-13-02-16\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1681352187371,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-13-02-16","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-13-02-16","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-13-02-16","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-14-02-16","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-14-02-16","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-14-02-16\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-14-02-16\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1681438609195,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-14-02-16","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-14-02-16","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-14-02-16","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-15-02-16","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-15-02-16","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-15-02-16\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-15-02-16\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1681525007492,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-15-02-16","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-15-02-16","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-15-02-16","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-16-02-17","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-16-02-17","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-16-02-17\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-16-02-17\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1681611425583,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-16-02-17","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-16-02-17","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-16-02-17","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-17-02-16","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-17-02-16","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-17-02-16\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-17-02-16\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1681697768531,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-17-02-16","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-17-02-16","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-17-02-16","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-18-02-16","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-18-02-16","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-18-02-16\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-18-02-16\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1681784175107,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-18-02-16","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-18-02-16","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-18-02-16","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:serverless-neptune-2023-04-18-23-45","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:serverless-neptune-2023-04-18-23-45","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.1\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":false,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:serverless-neptune-2023-04-18-23-45\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":false,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"serverless-neptune\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:serverless-neptune-2023-04-18-23-45\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1681861535542,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"clusterCreateTime\\\":1666860730867,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:serverless-neptune-2023-04-18-23-45","resourceName":"rds:serverless-neptune-2023-04-18-23-45","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:serverless-neptune-2023-04-18-23-45","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:serverless-neptune-2023-04-19-23-45","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:serverless-neptune-2023-04-19-23-45","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.1\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":false,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:serverless-neptune-2023-04-19-23-45\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":false,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"serverless-neptune\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:serverless-neptune-2023-04-19-23-45\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1681947937310,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"clusterCreateTime\\\":1666860730867,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:serverless-neptune-2023-04-19-23-45","resourceName":"rds:serverless-neptune-2023-04-19-23-45","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:serverless-neptune-2023-04-19-23-45","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-19-02-17","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-19-02-17","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-19-02-17\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-19-02-17\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1681870629395,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-19-02-17","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-19-02-17","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-19-02-17","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-20-02-17","label":"AWS_RDS_DBClusterSnapshot","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-20-02-17","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-20-02-17\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-20-02-17\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1681957028326,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-20-02-17","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-20-02-17","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-20-02-17","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1973,"y":-2490.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:preupgrade-wdneptunedbcluster-0kfaa4tuyz1x-1-1-1-0-to-1-2-0-0-2022-11-16-15-11","resourceId":["preupgrade-wdneptunedbcluster-0kfaa4tuyz1x-1-1-1-0-to-1-2-0-0-2022-11-16-15-11","arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:preupgrade-wdneptunedbcluster-0kfaa4tuyz1x-1-1-1-0-to-1-2-0-0-2022-11-16-15-11"],"parent":"DBClusterSnapshot-Multiple Availability Zones-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":5,"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:preupgrade-wdneptunedbcluster-0kfaa4tuyz1x-1-1-1-0-to-1-2-0-0-2022-11-16-15-11","title":"preupgrade-wdneptunedbcluster-0kfaa4tuyz1x-1-1-1-0-to-1-2-0-0-2022-11-16-15-11","label":"preupgrade-w...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:preupgrade-wdneptunedbcluster-0kfaa4tuyz1x-1-1-1-0-to-1-2-0-0-2022-11-16-15-11","image":"/icons/Amazon-DBClusterSnapshot.svg","cost":0,"private":false,"resource":{"id":"preupgrade-wdneptunedbcluster-0kfaa4tuyz1x-1-1-1-0-to-1-2-0-0-2022-11-16-15-11","name":"preupgrade-wdneptunedbcluster-0kfaa4tuyz1x-1-1-1-0-to-1-2-0-0-2022-11-16-15-11","value":null,"type":"AWS::RDS::DBClusterSnapshot","tags":"[]","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:preupgrade-wdneptunedbcluster-0kfaa4tuyz1x-1-1-1-0-to-1-2-0-0-2022-11-16-15-11","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:preupgrade-wdneptunedbcluster-0kfaa4tuyz1x-1-1-1-0-to-1-2-0-0-2022-11-16-15-11","configuration":"\"{\\\"engineVersion\\\":\\\"1.1.1.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"manual\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"preupgrade-wdneptunedbcluster-0kfaa4tuyz1x-1-1-1-0-to-1-2-0-0-2022-11-16-15-11\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:preupgrade-wdneptunedbcluster-0kfaa4tuyz1x-1-1-1-0-to-1-2-0-0-2022-11-16-15-11\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1668611698613,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"preupgrade-wdneptunedbcluster-0kfaa4tuyz1x-1-1-1-0-to-1-2-0-0-2022-11-16-15-11","resourceName":"preupgrade-wdneptunedbcluster-0kfaa4tuyz1x-1-1-1-0-to-1-2-0-0-2022-11-16-15-11","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"preupgrade-wdneptunedbcluster-0kfaa4tuyz1x-1-1-1-0-to-1-2-0-0-2022-11-16-15-11","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2155.5,"y":-2673.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-20-02-16","resourceId":["rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-20-02-16","arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-20-02-16"],"parent":"DBClusterSnapshot-Multiple Availability Zones-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":5,"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-20-02-16","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-20-02-16","label":"rds:wdneptun...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-20-02-16","image":"/icons/Amazon-DBClusterSnapshot.svg","cost":0,"private":false,"resource":{"id":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-20-02-16","name":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-20-02-16","value":null,"type":"AWS::RDS::DBClusterSnapshot","tags":"[]","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-20-02-16","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-20-02-16","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-20-02-16\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-20-02-16\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1679278594034,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-20-02-16","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-20-02-16","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-20-02-16","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2082.5,"y":-2673.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-21-02-15","resourceId":["rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-21-02-15","arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-21-02-15"],"parent":"DBClusterSnapshot-Multiple Availability Zones-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":5,"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-21-02-15","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-21-02-15","label":"rds:wdneptun...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-21-02-15","image":"/icons/Amazon-DBClusterSnapshot.svg","cost":0,"private":false,"resource":{"id":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-21-02-15","name":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-21-02-15","value":null,"type":"AWS::RDS::DBClusterSnapshot","tags":"[]","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-21-02-15","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-21-02-15","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-21-02-15\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-21-02-15\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1679364958901,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-21-02-15","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-21-02-15","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-21-02-15","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2155.5,"y":-2600.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-22-02-15","resourceId":["rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-22-02-15","arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-22-02-15"],"parent":"DBClusterSnapshot-Multiple Availability Zones-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":5,"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-22-02-15","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-22-02-15","label":"rds:wdneptun...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-22-02-15","image":"/icons/Amazon-DBClusterSnapshot.svg","cost":0,"private":false,"resource":{"id":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-22-02-15","name":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-22-02-15","value":null,"type":"AWS::RDS::DBClusterSnapshot","tags":"[]","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-22-02-15","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-22-02-15","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-22-02-15\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-22-02-15\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1679451332426,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-22-02-15","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-22-02-15","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-22-02-15","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2082.5,"y":-2600.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-06-02-17","resourceId":["rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-06-02-17","arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-06-02-17"],"parent":"DBClusterSnapshot-Multiple Availability Zones-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":5,"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-06-02-17","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-06-02-17","label":"rds:wdneptun...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-06-02-17","image":"/icons/Amazon-DBClusterSnapshot.svg","cost":0,"private":false,"resource":{"id":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-06-02-17","name":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-06-02-17","value":null,"type":"AWS::RDS::DBClusterSnapshot","tags":"[]","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-06-02-17","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-06-02-17","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-06-02-17\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-06-02-17\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1680747472458,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-06-02-17","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-06-02-17","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-06-02-17","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2009.5,"y":-2673.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-07-02-16","resourceId":["rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-07-02-16","arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-07-02-16"],"parent":"DBClusterSnapshot-Multiple Availability Zones-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":5,"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-07-02-16","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-07-02-16","label":"rds:wdneptun...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-07-02-16","image":"/icons/Amazon-DBClusterSnapshot.svg","cost":0,"private":false,"resource":{"id":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-07-02-16","name":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-07-02-16","value":null,"type":"AWS::RDS::DBClusterSnapshot","tags":"[]","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-07-02-16","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-07-02-16","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-07-02-16\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-07-02-16\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1680833812625,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-07-02-16","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-07-02-16","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-07-02-16","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2009.5,"y":-2600.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-08-02-16","resourceId":["rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-08-02-16","arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-08-02-16"],"parent":"DBClusterSnapshot-Multiple Availability Zones-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":5,"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-08-02-16","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-08-02-16","label":"rds:wdneptun...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-08-02-16","image":"/icons/Amazon-DBClusterSnapshot.svg","cost":0,"private":false,"resource":{"id":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-08-02-16","name":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-08-02-16","value":null,"type":"AWS::RDS::DBClusterSnapshot","tags":"[]","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-08-02-16","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-08-02-16","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-08-02-16\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-08-02-16\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1680920196151,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-08-02-16","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-08-02-16","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-08-02-16","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2155.5,"y":-2527.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-09-02-17","resourceId":["rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-09-02-17","arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-09-02-17"],"parent":"DBClusterSnapshot-Multiple Availability Zones-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":5,"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-09-02-17","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-09-02-17","label":"rds:wdneptun...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-09-02-17","image":"/icons/Amazon-DBClusterSnapshot.svg","cost":0,"private":false,"resource":{"id":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-09-02-17","name":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-09-02-17","value":null,"type":"AWS::RDS::DBClusterSnapshot","tags":"[]","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-09-02-17","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-09-02-17","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-09-02-17\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-09-02-17\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1681006676863,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-09-02-17","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-09-02-17","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-09-02-17","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2082.5,"y":-2527.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-10-02-15","resourceId":["rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-10-02-15","arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-10-02-15"],"parent":"DBClusterSnapshot-Multiple Availability Zones-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":5,"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-10-02-15","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-10-02-15","label":"rds:wdneptun...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-10-02-15","image":"/icons/Amazon-DBClusterSnapshot.svg","cost":0,"private":false,"resource":{"id":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-10-02-15","name":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-10-02-15","value":null,"type":"AWS::RDS::DBClusterSnapshot","tags":"[]","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-10-02-15","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-10-02-15","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-10-02-15\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-10-02-15\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1681092929451,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-10-02-15","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-10-02-15","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-10-02-15","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2009.5,"y":-2527.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-11-02-15","resourceId":["rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-11-02-15","arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-11-02-15"],"parent":"DBClusterSnapshot-Multiple Availability Zones-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":5,"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-11-02-15","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-11-02-15","label":"rds:wdneptun...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-11-02-15","image":"/icons/Amazon-DBClusterSnapshot.svg","cost":0,"private":false,"resource":{"id":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-11-02-15","name":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-11-02-15","value":null,"type":"AWS::RDS::DBClusterSnapshot","tags":"[]","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-11-02-15","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-11-02-15","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-11-02-15\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-11-02-15\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1681179346749,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-11-02-15","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-11-02-15","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-11-02-15","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1936.5,"y":-2673.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-23-02-16","resourceId":["rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-23-02-16","arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-23-02-16"],"parent":"DBClusterSnapshot-Multiple Availability Zones-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":5,"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-23-02-16","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-23-02-16","label":"rds:wdneptun...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-23-02-16","image":"/icons/Amazon-DBClusterSnapshot.svg","cost":0,"private":false,"resource":{"id":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-23-02-16","name":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-23-02-16","value":null,"type":"AWS::RDS::DBClusterSnapshot","tags":"[]","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-23-02-16","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-23-02-16","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-23-02-16\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-23-02-16\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1679537795081,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-23-02-16","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-23-02-16","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-23-02-16","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1936.5,"y":-2600.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-24-02-16","resourceId":["rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-24-02-16","arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-24-02-16"],"parent":"DBClusterSnapshot-Multiple Availability Zones-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":5,"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-24-02-16","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-24-02-16","label":"rds:wdneptun...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-24-02-16","image":"/icons/Amazon-DBClusterSnapshot.svg","cost":0,"private":false,"resource":{"id":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-24-02-16","name":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-24-02-16","value":null,"type":"AWS::RDS::DBClusterSnapshot","tags":"[]","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-24-02-16","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-24-02-16","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-24-02-16\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-24-02-16\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1679624200939,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-24-02-16","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-24-02-16","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-24-02-16","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1936.5,"y":-2527.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-25-02-17","resourceId":["rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-25-02-17","arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-25-02-17"],"parent":"DBClusterSnapshot-Multiple Availability Zones-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":5,"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-25-02-17","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-25-02-17","label":"rds:wdneptun...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-25-02-17","image":"/icons/Amazon-DBClusterSnapshot.svg","cost":0,"private":false,"resource":{"id":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-25-02-17","name":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-25-02-17","value":null,"type":"AWS::RDS::DBClusterSnapshot","tags":"[]","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-25-02-17","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-25-02-17","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-25-02-17\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-25-02-17\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1679710641298,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-25-02-17","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-25-02-17","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-25-02-17","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2155.5,"y":-2454.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-26-02-17","resourceId":["rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-26-02-17","arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-26-02-17"],"parent":"DBClusterSnapshot-Multiple Availability Zones-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":5,"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-26-02-17","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-26-02-17","label":"rds:wdneptun...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-26-02-17","image":"/icons/Amazon-DBClusterSnapshot.svg","cost":0,"private":false,"resource":{"id":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-26-02-17","name":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-26-02-17","value":null,"type":"AWS::RDS::DBClusterSnapshot","tags":"[]","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-26-02-17","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-26-02-17","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-26-02-17\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-26-02-17\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1679797027381,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-26-02-17","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-26-02-17","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-26-02-17","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2082.5,"y":-2454.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-27-02-17","resourceId":["rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-27-02-17","arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-27-02-17"],"parent":"DBClusterSnapshot-Multiple Availability Zones-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":5,"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-27-02-17","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-27-02-17","label":"rds:wdneptun...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-27-02-17","image":"/icons/Amazon-DBClusterSnapshot.svg","cost":0,"private":false,"resource":{"id":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-27-02-17","name":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-27-02-17","value":null,"type":"AWS::RDS::DBClusterSnapshot","tags":"[]","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-27-02-17","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-27-02-17","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-27-02-17\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-27-02-17\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1679883438471,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-27-02-17","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-27-02-17","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-27-02-17","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2009.5,"y":-2454.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-28-02-18","resourceId":["rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-28-02-18","arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-28-02-18"],"parent":"DBClusterSnapshot-Multiple Availability Zones-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":5,"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-28-02-18","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-28-02-18","label":"rds:wdneptun...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-28-02-18","image":"/icons/Amazon-DBClusterSnapshot.svg","cost":0,"private":false,"resource":{"id":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-28-02-18","name":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-28-02-18","value":null,"type":"AWS::RDS::DBClusterSnapshot","tags":"[]","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-28-02-18","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-28-02-18","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-28-02-18\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-28-02-18\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1679969889087,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-28-02-18","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-28-02-18","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-28-02-18","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1936.5,"y":-2454.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-29-02-17","resourceId":["rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-29-02-17","arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-29-02-17"],"parent":"DBClusterSnapshot-Multiple Availability Zones-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":5,"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-29-02-17","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-29-02-17","label":"rds:wdneptun...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-29-02-17","image":"/icons/Amazon-DBClusterSnapshot.svg","cost":0,"private":false,"resource":{"id":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-29-02-17","name":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-29-02-17","value":null,"type":"AWS::RDS::DBClusterSnapshot","tags":"[]","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-29-02-17","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-29-02-17","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-29-02-17\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-29-02-17\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1680056221220,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-29-02-17","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-29-02-17","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-29-02-17","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1863.5,"y":-2673.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-30-02-16","resourceId":["rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-30-02-16","arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-30-02-16"],"parent":"DBClusterSnapshot-Multiple Availability Zones-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":5,"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-30-02-16","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-30-02-16","label":"rds:wdneptun...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-30-02-16","image":"/icons/Amazon-DBClusterSnapshot.svg","cost":0,"private":false,"resource":{"id":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-30-02-16","name":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-30-02-16","value":null,"type":"AWS::RDS::DBClusterSnapshot","tags":"[]","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-30-02-16","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-30-02-16","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-30-02-16\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-30-02-16\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1680142618042,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-30-02-16","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-30-02-16","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-30-02-16","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1863.5,"y":-2600.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-31-02-18","resourceId":["rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-31-02-18","arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-31-02-18"],"parent":"DBClusterSnapshot-Multiple Availability Zones-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":5,"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-31-02-18","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-31-02-18","label":"rds:wdneptun...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-31-02-18","image":"/icons/Amazon-DBClusterSnapshot.svg","cost":0,"private":false,"resource":{"id":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-31-02-18","name":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-31-02-18","value":null,"type":"AWS::RDS::DBClusterSnapshot","tags":"[]","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-31-02-18","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-31-02-18","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-31-02-18\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-31-02-18\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1680229130736,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-31-02-18","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-31-02-18","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-31-02-18","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1863.5,"y":-2527.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-01-02-17","resourceId":["rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-01-02-17","arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-01-02-17"],"parent":"DBClusterSnapshot-Multiple Availability Zones-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":5,"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-01-02-17","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-01-02-17","label":"rds:wdneptun...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-01-02-17","image":"/icons/Amazon-DBClusterSnapshot.svg","cost":0,"private":false,"resource":{"id":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-01-02-17","name":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-01-02-17","value":null,"type":"AWS::RDS::DBClusterSnapshot","tags":"[]","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-01-02-17","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-01-02-17","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-01-02-17\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-01-02-17\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1680315420901,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-01-02-17","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-01-02-17","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-01-02-17","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1863.5,"y":-2454.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-02-02-16","resourceId":["rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-02-02-16","arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-02-02-16"],"parent":"DBClusterSnapshot-Multiple Availability Zones-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":5,"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-02-02-16","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-02-02-16","label":"rds:wdneptun...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-02-02-16","image":"/icons/Amazon-DBClusterSnapshot.svg","cost":0,"private":false,"resource":{"id":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-02-02-16","name":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-02-02-16","value":null,"type":"AWS::RDS::DBClusterSnapshot","tags":"[]","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-02-02-16","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-02-02-16","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-02-02-16\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-02-02-16\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1680401794262,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-02-02-16","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-02-02-16","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-02-02-16","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2155.5,"y":-2381.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-03-02-16","resourceId":["rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-03-02-16","arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-03-02-16"],"parent":"DBClusterSnapshot-Multiple Availability Zones-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":5,"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-03-02-16","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-03-02-16","label":"rds:wdneptun...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-03-02-16","image":"/icons/Amazon-DBClusterSnapshot.svg","cost":0,"private":false,"resource":{"id":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-03-02-16","name":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-03-02-16","value":null,"type":"AWS::RDS::DBClusterSnapshot","tags":"[]","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-03-02-16","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-03-02-16","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-03-02-16\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-03-02-16\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1680488181904,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-03-02-16","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-03-02-16","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-03-02-16","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2082.5,"y":-2381.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-04-02-15","resourceId":["rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-04-02-15","arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-04-02-15"],"parent":"DBClusterSnapshot-Multiple Availability Zones-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":5,"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-04-02-15","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-04-02-15","label":"rds:wdneptun...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-04-02-15","image":"/icons/Amazon-DBClusterSnapshot.svg","cost":0,"private":false,"resource":{"id":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-04-02-15","name":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-04-02-15","value":null,"type":"AWS::RDS::DBClusterSnapshot","tags":"[]","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-04-02-15","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-04-02-15","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-04-02-15\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-04-02-15\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1680574559850,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-04-02-15","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-04-02-15","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-04-02-15","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2009.5,"y":-2381.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-05-02-16","resourceId":["rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-05-02-16","arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-05-02-16"],"parent":"DBClusterSnapshot-Multiple Availability Zones-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":5,"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-05-02-16","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-05-02-16","label":"rds:wdneptun...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-05-02-16","image":"/icons/Amazon-DBClusterSnapshot.svg","cost":0,"private":false,"resource":{"id":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-05-02-16","name":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-05-02-16","value":null,"type":"AWS::RDS::DBClusterSnapshot","tags":"[]","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-05-02-16","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-05-02-16","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-05-02-16\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-05-02-16\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1680660998813,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-05-02-16","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-05-02-16","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-05-02-16","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1936.5,"y":-2381.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-12-02-17","resourceId":["rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-12-02-17","arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-12-02-17"],"parent":"DBClusterSnapshot-Multiple Availability Zones-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":5,"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-12-02-17","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-12-02-17","label":"rds:wdneptun...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-12-02-17","image":"/icons/Amazon-DBClusterSnapshot.svg","cost":0,"private":false,"resource":{"id":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-12-02-17","name":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-12-02-17","value":null,"type":"AWS::RDS::DBClusterSnapshot","tags":"[]","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-12-02-17","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-12-02-17","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-12-02-17\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-12-02-17\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1681265823013,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-12-02-17","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-12-02-17","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-12-02-17","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1863.5,"y":-2381.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-13-02-16","resourceId":["rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-13-02-16","arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-13-02-16"],"parent":"DBClusterSnapshot-Multiple Availability Zones-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":5,"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-13-02-16","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-13-02-16","label":"rds:wdneptun...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-13-02-16","image":"/icons/Amazon-DBClusterSnapshot.svg","cost":0,"private":false,"resource":{"id":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-13-02-16","name":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-13-02-16","value":null,"type":"AWS::RDS::DBClusterSnapshot","tags":"[]","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-13-02-16","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-13-02-16","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-13-02-16\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-13-02-16\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1681352187371,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-13-02-16","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-13-02-16","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-13-02-16","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1790.5,"y":-2673.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-14-02-16","resourceId":["rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-14-02-16","arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-14-02-16"],"parent":"DBClusterSnapshot-Multiple Availability Zones-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":5,"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-14-02-16","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-14-02-16","label":"rds:wdneptun...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-14-02-16","image":"/icons/Amazon-DBClusterSnapshot.svg","cost":0,"private":false,"resource":{"id":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-14-02-16","name":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-14-02-16","value":null,"type":"AWS::RDS::DBClusterSnapshot","tags":"[]","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-14-02-16","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-14-02-16","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-14-02-16\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-14-02-16\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1681438609195,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-14-02-16","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-14-02-16","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-14-02-16","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1790.5,"y":-2600.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-15-02-16","resourceId":["rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-15-02-16","arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-15-02-16"],"parent":"DBClusterSnapshot-Multiple Availability Zones-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":5,"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-15-02-16","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-15-02-16","label":"rds:wdneptun...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-15-02-16","image":"/icons/Amazon-DBClusterSnapshot.svg","cost":0,"private":false,"resource":{"id":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-15-02-16","name":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-15-02-16","value":null,"type":"AWS::RDS::DBClusterSnapshot","tags":"[]","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-15-02-16","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-15-02-16","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-15-02-16\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-15-02-16\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1681525007492,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-15-02-16","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-15-02-16","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-15-02-16","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1790.5,"y":-2527.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-16-02-17","resourceId":["rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-16-02-17","arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-16-02-17"],"parent":"DBClusterSnapshot-Multiple Availability Zones-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":5,"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-16-02-17","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-16-02-17","label":"rds:wdneptun...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-16-02-17","image":"/icons/Amazon-DBClusterSnapshot.svg","cost":0,"private":false,"resource":{"id":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-16-02-17","name":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-16-02-17","value":null,"type":"AWS::RDS::DBClusterSnapshot","tags":"[]","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-16-02-17","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-16-02-17","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-16-02-17\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-16-02-17\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1681611425583,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-16-02-17","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-16-02-17","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-16-02-17","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1790.5,"y":-2454.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-17-02-16","resourceId":["rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-17-02-16","arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-17-02-16"],"parent":"DBClusterSnapshot-Multiple Availability Zones-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":5,"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-17-02-16","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-17-02-16","label":"rds:wdneptun...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-17-02-16","image":"/icons/Amazon-DBClusterSnapshot.svg","cost":0,"private":false,"resource":{"id":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-17-02-16","name":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-17-02-16","value":null,"type":"AWS::RDS::DBClusterSnapshot","tags":"[]","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-17-02-16","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-17-02-16","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-17-02-16\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-17-02-16\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1681697768531,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-17-02-16","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-17-02-16","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-17-02-16","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1790.5,"y":-2381.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-18-02-16","resourceId":["rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-18-02-16","arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-18-02-16"],"parent":"DBClusterSnapshot-Multiple Availability Zones-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":5,"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-18-02-16","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-18-02-16","label":"rds:wdneptun...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-18-02-16","image":"/icons/Amazon-DBClusterSnapshot.svg","cost":0,"private":false,"resource":{"id":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-18-02-16","name":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-18-02-16","value":null,"type":"AWS::RDS::DBClusterSnapshot","tags":"[]","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-18-02-16","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-18-02-16","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-18-02-16\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-18-02-16\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1681784175107,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-18-02-16","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-18-02-16","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-18-02-16","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2155.5,"y":-2308.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:serverless-neptune-2023-04-18-23-45","resourceId":["rds:serverless-neptune-2023-04-18-23-45","arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:serverless-neptune-2023-04-18-23-45"],"parent":"DBClusterSnapshot-Multiple Availability Zones-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":5,"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:serverless-neptune-2023-04-18-23-45","title":"rds:serverless-neptune-2023-04-18-23-45","label":"rds:serverle...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:serverless-neptune-2023-04-18-23-45","image":"/icons/Amazon-DBClusterSnapshot.svg","cost":0,"private":false,"resource":{"id":"rds:serverless-neptune-2023-04-18-23-45","name":"rds:serverless-neptune-2023-04-18-23-45","value":null,"type":"AWS::RDS::DBClusterSnapshot","tags":"[]","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:serverless-neptune-2023-04-18-23-45","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:serverless-neptune-2023-04-18-23-45","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.1\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":false,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:serverless-neptune-2023-04-18-23-45\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":false,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"serverless-neptune\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:serverless-neptune-2023-04-18-23-45\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1681861535542,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"clusterCreateTime\\\":1666860730867,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:serverless-neptune-2023-04-18-23-45","resourceName":"rds:serverless-neptune-2023-04-18-23-45","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:serverless-neptune-2023-04-18-23-45","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2082.5,"y":-2308.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:serverless-neptune-2023-04-19-23-45","resourceId":["rds:serverless-neptune-2023-04-19-23-45","arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:serverless-neptune-2023-04-19-23-45"],"parent":"DBClusterSnapshot-Multiple Availability Zones-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":5,"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:serverless-neptune-2023-04-19-23-45","title":"rds:serverless-neptune-2023-04-19-23-45","label":"rds:serverle...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:serverless-neptune-2023-04-19-23-45","image":"/icons/Amazon-DBClusterSnapshot.svg","cost":0,"private":false,"resource":{"id":"rds:serverless-neptune-2023-04-19-23-45","name":"rds:serverless-neptune-2023-04-19-23-45","value":null,"type":"AWS::RDS::DBClusterSnapshot","tags":"[]","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:serverless-neptune-2023-04-19-23-45","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:serverless-neptune-2023-04-19-23-45","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.1\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":false,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:serverless-neptune-2023-04-19-23-45\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":false,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"serverless-neptune\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:serverless-neptune-2023-04-19-23-45\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1681947937310,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"clusterCreateTime\\\":1666860730867,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:serverless-neptune-2023-04-19-23-45","resourceName":"rds:serverless-neptune-2023-04-19-23-45","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:serverless-neptune-2023-04-19-23-45","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2009.5,"y":-2308.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-19-02-17","resourceId":["rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-19-02-17","arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-19-02-17"],"parent":"DBClusterSnapshot-Multiple Availability Zones-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":5,"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-19-02-17","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-19-02-17","label":"rds:wdneptun...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-19-02-17","image":"/icons/Amazon-DBClusterSnapshot.svg","cost":0,"private":false,"resource":{"id":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-19-02-17","name":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-19-02-17","value":null,"type":"AWS::RDS::DBClusterSnapshot","tags":"[]","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-19-02-17","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-19-02-17","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-19-02-17\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-19-02-17\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1681870629395,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-19-02-17","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-19-02-17","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-19-02-17","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1936.5,"y":-2308.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-20-02-17","resourceId":["rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-20-02-17","arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-20-02-17"],"parent":"DBClusterSnapshot-Multiple Availability Zones-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":5,"id":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-20-02-17","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-20-02-17","label":"rds:wdneptun...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-20-02-17","image":"/icons/Amazon-DBClusterSnapshot.svg","cost":0,"private":false,"resource":{"id":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-20-02-17","name":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-20-02-17","value":null,"type":"AWS::RDS::DBClusterSnapshot","tags":"[]","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-20-02-17","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-20-02-17","configuration":"\"{\\\"engineVersion\\\":\\\"1.2.0.0\\\",\\\"masterUsername\\\":\\\"admin\\\",\\\"allocatedStorage\\\":0,\\\"snapshotType\\\":\\\"automated\\\",\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"}],\\\"storageEncrypted\\\":true,\\\"dbclusterSnapshotIdentifier\\\":\\\"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-20-02-17\\\",\\\"tagList\\\":[],\\\"iamdatabaseAuthenticationEnabled\\\":true,\\\"engineMode\\\":\\\"provisioned\\\",\\\"dbclusterIdentifier\\\":\\\"wdneptunedbcluster-0kfaa4tuyz1x\\\",\\\"dbclusterSnapshotArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-20-02-17\\\",\\\"engine\\\":\\\"neptune\\\",\\\"port\\\":0,\\\"snapshotCreateTime\\\":1681957028326,\\\"licenseModel\\\":\\\"neptune\\\",\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"percentProgress\\\":100,\\\"kmsKeyId\\\":\\\"arn:aws:kms:eu-west-1:044981683129:key/b67d6c66-9ddc-49a8-9c52-e02844e610ae\\\",\\\"clusterCreateTime\\\":1665165306860,\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-20-02-17","resourceName":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-20-02-17","resourceType":"AWS::RDS::DBClusterSnapshot","resourceValue":null,"state":null,"tags":"[]","title":"rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-20-02-17","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1863.5,"y":-2308.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"DBSubnetGroup-Multiple Availability Zones-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","parent":"Multiple Availability Zones-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":4,"title":"DBSubnetGroup","label":"DBSubnetGroup","plainLabel":"DBSubnetGroup","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/DBSubnetGroup.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:rds:eu-west-1:044981683129:subgrp:perspective-dev-sng","label":"AWS_RDS_DBSubnetGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:subgrp:perspective-dev-sng","configuration":"\"{\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"dBSubnetGroupArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:subgrp:perspective-dev-sng\\\",\\\"subnets\\\":[{\\\"subnetIdentifier\\\":\\\"subnet-010652f698dff6484\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1b\\\"}},{\\\"subnetIdentifier\\\":\\\"subnet-02e0c991bba17b7eb\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1a\\\"}}],\\\"subnetGroupStatus\\\":\\\"Complete\\\",\\\"dBSubnetGroupName\\\":\\\"perspective-dev-sng\\\",\\\"dBSubnetGroupDescription\\\":\\\"CloudFormation managed Neptune DB Subnet Group - workload-discovery-subnet-group\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"perspective-dev-sng","resourceName":"perspective-dev-sng","resourceType":"AWS::RDS::DBSubnetGroup","resourceValue":null,"state":null,"tags":"[{\"tag\":\"App=workload-discovery\",\"value\":\"workload-discovery\",\"key\":\"App\"},{\"tag\":\"Owner=\",\"value\":\"\",\"key\":\"Owner\"},{\"tag\":\"Storage=ebs\",\"value\":\"ebs\",\"key\":\"Storage\"},{\"tag\":\"User=test\",\"value\":\"test\",\"key\":\"User\"},{\"tag\":\"Tier=\",\"value\":\"\",\"key\":\"Tier\"},{\"tag\":\"Version=\",\"value\":\"\",\"key\":\"Version\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"Name=workload-discovery-subnet-group\",\"value\":\"workload-discovery-subnet-group\",\"key\":\"Name\"}]","title":"workload-discovery-subnet-group","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-2042.5,"y":-2178.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:rds:eu-west-1:044981683129:subgrp:perspective-dev-sng","resourceId":["perspective-dev-sng","arn:aws:rds:eu-west-1:044981683129:subgrp:perspective-dev-sng"],"parent":"DBSubnetGroup-Multiple Availability Zones-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":5,"id":"arn:aws:rds:eu-west-1:044981683129:subgrp:perspective-dev-sng","title":"workload-discovery-subnet-group","label":"workload-dis...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:rds:eu-west-1:044981683129:subgrp:perspective-dev-sng","image":"/icons/DBSubnetGroup.svg","cost":0,"private":false,"resource":{"id":"perspective-dev-sng","name":"perspective-dev-sng","value":null,"type":"AWS::RDS::DBSubnetGroup","tags":"[{\"tag\":\"App=workload-discovery\",\"value\":\"workload-discovery\",\"key\":\"App\"},{\"tag\":\"Owner=\",\"value\":\"\",\"key\":\"Owner\"},{\"tag\":\"Storage=ebs\",\"value\":\"ebs\",\"key\":\"Storage\"},{\"tag\":\"User=test\",\"value\":\"test\",\"key\":\"User\"},{\"tag\":\"Tier=\",\"value\":\"\",\"key\":\"Tier\"},{\"tag\":\"Version=\",\"value\":\"\",\"key\":\"Version\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"Name=workload-discovery-subnet-group\",\"value\":\"workload-discovery-subnet-group\",\"key\":\"Name\"}]","arn":"arn:aws:rds:eu-west-1:044981683129:subgrp:perspective-dev-sng","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:rds:eu-west-1:044981683129:subgrp:perspective-dev-sng","configuration":"\"{\\\"vpcId\\\":\\\"vpc-04e5e1c4bc4409222\\\",\\\"dBSubnetGroupArn\\\":\\\"arn:aws:rds:eu-west-1:044981683129:subgrp:perspective-dev-sng\\\",\\\"subnets\\\":[{\\\"subnetIdentifier\\\":\\\"subnet-010652f698dff6484\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1b\\\"}},{\\\"subnetIdentifier\\\":\\\"subnet-02e0c991bba17b7eb\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1a\\\"}}],\\\"subnetGroupStatus\\\":\\\"Complete\\\",\\\"dBSubnetGroupName\\\":\\\"perspective-dev-sng\\\",\\\"dBSubnetGroupDescription\\\":\\\"CloudFormation managed Neptune DB Subnet Group - workload-discovery-subnet-group\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"perspective-dev-sng","resourceName":"perspective-dev-sng","resourceType":"AWS::RDS::DBSubnetGroup","resourceValue":null,"state":null,"tags":"[{\"tag\":\"App=workload-discovery\",\"value\":\"workload-discovery\",\"key\":\"App\"},{\"tag\":\"Owner=\",\"value\":\"\",\"key\":\"Owner\"},{\"tag\":\"Storage=ebs\",\"value\":\"ebs\",\"key\":\"Storage\"},{\"tag\":\"User=test\",\"value\":\"test\",\"key\":\"User\"},{\"tag\":\"Tier=\",\"value\":\"\",\"key\":\"Tier\"},{\"tag\":\"Version=\",\"value\":\"\",\"key\":\"Version\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"Name=workload-discovery-subnet-group\",\"value\":\"workload-discovery-subnet-group\",\"key\":\"Name\"}]","title":"workload-discovery-subnet-group","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2042.5,"y":-2178.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"eu-west-1a,eu-west-1b-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","parent":"vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":3,"title":"eu-west-1a,eu-west-1b","label":"eu-west-1a,eu-west-1b","plainLabel":"eu-west-1a,eu-west-1b","type":"availabilityZone","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/availabilityZone.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":null,"label":"Function","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-GremlinResol-GremlinAppSyncFunction-6sQyJsT9RJw9","label":"AWS_Lambda_Function","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-GremlinResol-GremlinAppSyncFunction-6sQyJsT9RJw9","configuration":"\"{\\\"architectures\\\":[\\\"x86_64\\\"],\\\"ephemeralStorage\\\":{\\\"size\\\":512},\\\"handler\\\":\\\"index.handler\\\",\\\"role\\\":\\\"arn:aws:iam::044981683129:role/wd2-2022-10-07-GremlinRes-PerspectiveGremlinAppSyn-1XXO76IHOU8R4\\\",\\\"functionName\\\":\\\"wd2-2022-10-07-GremlinResol-GremlinAppSyncFunction-6sQyJsT9RJw9\\\",\\\"tracingConfig\\\":{\\\"mode\\\":\\\"Active\\\"},\\\"runtime\\\":\\\"nodejs16.x\\\",\\\"description\\\":\\\"Lambda for appsync resolver that queries Neptune\\\",\\\"runtimeVersionConfig\\\":{\\\"runtimeVersionArn\\\":\\\"arn:aws:lambda:eu-west-1::runtime:734d712d91ebc245bd01c52ae85b4025a7885efd1b8c87c0ce49f3e47d2116a4\\\"},\\\"codeSize\\\":1681581,\\\"version\\\":\\\"$LATEST\\\",\\\"packageType\\\":\\\"Zip\\\",\\\"timeout\\\":15,\\\"revisionId\\\":\\\"a7f0628d-3237-4b2f-b937-35a88b657c5d\\\",\\\"codeSha256\\\":\\\"SCarmkbIpMoMew29li7gf0MVbATZ3RgL5SzUnB5Y1O0=\\\",\\\"memorySize\\\":1024,\\\"fileSystemConfigs\\\":[],\\\"vpcConfig\\\":{\\\"securityGroupIds\\\":[\\\"sg-044b48335ef509cb2\\\"],\\\"subnetIds\\\":[\\\"subnet-02e0c991bba17b7eb\\\",\\\"subnet-010652f698dff6484\\\"]},\\\"lastUpdateStatus\\\":\\\"Successful\\\",\\\"layers\\\":[],\\\"snapStart\\\":{\\\"applyOn\\\":\\\"None\\\",\\\"optimizationStatus\\\":\\\"Off\\\"},\\\"lastModified\\\":\\\"2023-02-13T12:52:08.000+0000\\\",\\\"state\\\":{\\\"value\\\":\\\"Active\\\"},\\\"functionArn\\\":\\\"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-GremlinResol-GremlinAppSyncFunction-6sQyJsT9RJw9\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a,eu-west-1b","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/lambda/home?region=eu-west-1#/functions/wd2-2022-10-07-GremlinResol-GremlinAppSyncFunction-6sQyJsT9RJw9?tab=graph","loginURL":"https://044981683129.signin.aws.amazon.com/console/lambda?region=eu-west-1#/functions/wd2-2022-10-07-GremlinResol-GremlinAppSyncFunction-6sQyJsT9RJw9?tab=graph","private":null,"resourceId":"wd2-2022-10-07-GremlinResol-GremlinAppSyncFunction-6sQyJsT9RJw9","resourceName":"wd2-2022-10-07-GremlinResol-GremlinAppSyncFunction-6sQyJsT9RJw9","resourceType":"AWS::Lambda::Function","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8\",\"value\":\"wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8/84b956d0-466a-11ed-bed8-0e6093335a65\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8/84b956d0-466a-11ed-bed8-0e6093335a65\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"aws:cloudformation:logical-id=GremlinAppSyncFunction\",\"value\":\"GremlinAppSyncFunction\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"wd2-2022-10-07-GremlinResol-GremlinAppSyncFunction-6sQyJsT9RJw9","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-SearchReso-SearchApiAppSyncFunction-3ba4uslAeeBA","label":"AWS_Lambda_Function","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-SearchReso-SearchApiAppSyncFunction-3ba4uslAeeBA","configuration":"\"{\\\"architectures\\\":[\\\"x86_64\\\"],\\\"ephemeralStorage\\\":{\\\"size\\\":512},\\\"handler\\\":\\\"index.handler\\\",\\\"role\\\":\\\"arn:aws:iam::044981683129:role/wd2-2022-10-07-OpenSearchRoleStac-SearchLambdaRole-13QULKRSOW40L\\\",\\\"functionName\\\":\\\"wd2-2022-10-07-SearchReso-SearchApiAppSyncFunction-3ba4uslAeeBA\\\",\\\"tracingConfig\\\":{\\\"mode\\\":\\\"Active\\\"},\\\"runtime\\\":\\\"nodejs16.x\\\",\\\"description\\\":\\\"Lambda for Search AppSync API\\\",\\\"runtimeVersionConfig\\\":{\\\"runtimeVersionArn\\\":\\\"arn:aws:lambda:eu-west-1::runtime:734d712d91ebc245bd01c52ae85b4025a7885efd1b8c87c0ce49f3e47d2116a4\\\"},\\\"codeSize\\\":2703478,\\\"version\\\":\\\"$LATEST\\\",\\\"packageType\\\":\\\"Zip\\\",\\\"timeout\\\":10,\\\"revisionId\\\":\\\"a5260f57-170f-4f6d-88ff-cc8b9e28c966\\\",\\\"codeSha256\\\":\\\"3iLIt++NppUYcmO2KdxCGdqLmwYqJHVM54Mi0AEH9Fk=\\\",\\\"memorySize\\\":1024,\\\"fileSystemConfigs\\\":[],\\\"vpcConfig\\\":{\\\"securityGroupIds\\\":[\\\"sg-030453011373764ba\\\"],\\\"subnetIds\\\":[\\\"subnet-02e0c991bba17b7eb\\\",\\\"subnet-010652f698dff6484\\\"]},\\\"lastUpdateStatus\\\":\\\"Successful\\\",\\\"layers\\\":[],\\\"snapStart\\\":{\\\"applyOn\\\":\\\"None\\\",\\\"optimizationStatus\\\":\\\"Off\\\"},\\\"lastModified\\\":\\\"2023-04-12T17:59:13.000+0000\\\",\\\"state\\\":{\\\"value\\\":\\\"Active\\\"},\\\"functionArn\\\":\\\"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-SearchReso-SearchApiAppSyncFunction-3ba4uslAeeBA\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a,eu-west-1b","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/lambda/home?region=eu-west-1#/functions/wd2-2022-10-07-SearchReso-SearchApiAppSyncFunction-3ba4uslAeeBA?tab=graph","loginURL":"https://044981683129.signin.aws.amazon.com/console/lambda?region=eu-west-1#/functions/wd2-2022-10-07-SearchReso-SearchApiAppSyncFunction-3ba4uslAeeBA?tab=graph","private":null,"resourceId":"wd2-2022-10-07-SearchReso-SearchApiAppSyncFunction-3ba4uslAeeBA","resourceName":"wd2-2022-10-07-SearchReso-SearchApiAppSyncFunction-3ba4uslAeeBA","resourceType":"AWS::Lambda::Function","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-SearchResolversStack-CBU7QRC0LONQ\",\"value\":\"wd2-2022-10-07-SearchResolversStack-CBU7QRC0LONQ\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-SearchResolversStack-CBU7QRC0LONQ/166f47b0-466b-11ed-aa9c-0666bdaadecb\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-SearchResolversStack-CBU7QRC0LONQ/166f47b0-466b-11ed-aa9c-0666bdaadecb\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"aws:cloudformation:logical-id=SearchApiAppSyncFunction\",\"value\":\"SearchApiAppSyncFunction\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"wd2-2022-10-07-SearchReso-SearchApiAppSyncFunction-3ba4uslAeeBA","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-SearchResol-OpenSearchSetupFunction-6lBkj5VZvL9N","label":"AWS_Lambda_Function","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-SearchResol-OpenSearchSetupFunction-6lBkj5VZvL9N","configuration":"\"{\\\"architectures\\\":[\\\"x86_64\\\"],\\\"ephemeralStorage\\\":{\\\"size\\\":512},\\\"handler\\\":\\\"index.handler\\\",\\\"role\\\":\\\"arn:aws:iam::044981683129:role/wd2-2022-10-07-OpenSearchRoleStac-SearchLambdaRole-13QULKRSOW40L\\\",\\\"functionName\\\":\\\"wd2-2022-10-07-SearchResol-OpenSearchSetupFunction-6lBkj5VZvL9N\\\",\\\"tracingConfig\\\":{\\\"mode\\\":\\\"PassThrough\\\"},\\\"runtime\\\":\\\"nodejs16.x\\\",\\\"description\\\":\\\"Custom resource to create OpenSearch index\\\",\\\"runtimeVersionConfig\\\":{\\\"runtimeVersionArn\\\":\\\"arn:aws:lambda:eu-west-1::runtime:734d712d91ebc245bd01c52ae85b4025a7885efd1b8c87c0ce49f3e47d2116a4\\\"},\\\"codeSize\\\":277070,\\\"version\\\":\\\"$LATEST\\\",\\\"packageType\\\":\\\"Zip\\\",\\\"timeout\\\":65,\\\"revisionId\\\":\\\"ed345a85-13bf-41c2-8971-683c67f2abdd\\\",\\\"codeSha256\\\":\\\"MwgSt+dnX2Y9aRd/YYxjh05gPj3M0GtHn8mBFyKdBZI=\\\",\\\"memorySize\\\":256,\\\"fileSystemConfigs\\\":[],\\\"vpcConfig\\\":{\\\"securityGroupIds\\\":[\\\"sg-030453011373764ba\\\"],\\\"subnetIds\\\":[\\\"subnet-02e0c991bba17b7eb\\\",\\\"subnet-010652f698dff6484\\\"]},\\\"lastUpdateStatus\\\":\\\"Successful\\\",\\\"layers\\\":[],\\\"snapStart\\\":{\\\"applyOn\\\":\\\"None\\\",\\\"optimizationStatus\\\":\\\"Off\\\"},\\\"lastModified\\\":\\\"2023-02-13T12:52:01.000+0000\\\",\\\"state\\\":{\\\"value\\\":\\\"Active\\\"},\\\"functionArn\\\":\\\"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-SearchResol-OpenSearchSetupFunction-6lBkj5VZvL9N\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a,eu-west-1b","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/lambda/home?region=eu-west-1#/functions/wd2-2022-10-07-SearchResol-OpenSearchSetupFunction-6lBkj5VZvL9N?tab=graph","loginURL":"https://044981683129.signin.aws.amazon.com/console/lambda?region=eu-west-1#/functions/wd2-2022-10-07-SearchResol-OpenSearchSetupFunction-6lBkj5VZvL9N?tab=graph","private":null,"resourceId":"wd2-2022-10-07-SearchResol-OpenSearchSetupFunction-6lBkj5VZvL9N","resourceName":"wd2-2022-10-07-SearchResol-OpenSearchSetupFunction-6lBkj5VZvL9N","resourceType":"AWS::Lambda::Function","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-SearchResolversStack-CBU7QRC0LONQ\",\"value\":\"wd2-2022-10-07-SearchResolversStack-CBU7QRC0LONQ\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-SearchResolversStack-CBU7QRC0LONQ/166f47b0-466b-11ed-aa9c-0666bdaadecb\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-SearchResolversStack-CBU7QRC0LONQ/166f47b0-466b-11ed-aa9c-0666bdaadecb\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"aws:cloudformation:logical-id=OpenSearchSetupFunction\",\"value\":\"OpenSearchSetupFunction\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"wd2-2022-10-07-SearchResol-OpenSearchSetupFunction-6lBkj5VZvL9N","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1255,"y":-1948.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"availabilityZone removeAll _gridParentPadding"},{"data":{"id":"Function-eu-west-1a,eu-west-1b-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","parent":"eu-west-1a,eu-west-1b-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":4,"title":"Function","label":"Function","plainLabel":"Function","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/AWS-Lambda-menu.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-GremlinResol-GremlinAppSyncFunction-6sQyJsT9RJw9","label":"AWS_Lambda_Function","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-GremlinResol-GremlinAppSyncFunction-6sQyJsT9RJw9","configuration":"\"{\\\"architectures\\\":[\\\"x86_64\\\"],\\\"ephemeralStorage\\\":{\\\"size\\\":512},\\\"handler\\\":\\\"index.handler\\\",\\\"role\\\":\\\"arn:aws:iam::044981683129:role/wd2-2022-10-07-GremlinRes-PerspectiveGremlinAppSyn-1XXO76IHOU8R4\\\",\\\"functionName\\\":\\\"wd2-2022-10-07-GremlinResol-GremlinAppSyncFunction-6sQyJsT9RJw9\\\",\\\"tracingConfig\\\":{\\\"mode\\\":\\\"Active\\\"},\\\"runtime\\\":\\\"nodejs16.x\\\",\\\"description\\\":\\\"Lambda for appsync resolver that queries Neptune\\\",\\\"runtimeVersionConfig\\\":{\\\"runtimeVersionArn\\\":\\\"arn:aws:lambda:eu-west-1::runtime:734d712d91ebc245bd01c52ae85b4025a7885efd1b8c87c0ce49f3e47d2116a4\\\"},\\\"codeSize\\\":1681581,\\\"version\\\":\\\"$LATEST\\\",\\\"packageType\\\":\\\"Zip\\\",\\\"timeout\\\":15,\\\"revisionId\\\":\\\"a7f0628d-3237-4b2f-b937-35a88b657c5d\\\",\\\"codeSha256\\\":\\\"SCarmkbIpMoMew29li7gf0MVbATZ3RgL5SzUnB5Y1O0=\\\",\\\"memorySize\\\":1024,\\\"fileSystemConfigs\\\":[],\\\"vpcConfig\\\":{\\\"securityGroupIds\\\":[\\\"sg-044b48335ef509cb2\\\"],\\\"subnetIds\\\":[\\\"subnet-02e0c991bba17b7eb\\\",\\\"subnet-010652f698dff6484\\\"]},\\\"lastUpdateStatus\\\":\\\"Successful\\\",\\\"layers\\\":[],\\\"snapStart\\\":{\\\"applyOn\\\":\\\"None\\\",\\\"optimizationStatus\\\":\\\"Off\\\"},\\\"lastModified\\\":\\\"2023-02-13T12:52:08.000+0000\\\",\\\"state\\\":{\\\"value\\\":\\\"Active\\\"},\\\"functionArn\\\":\\\"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-GremlinResol-GremlinAppSyncFunction-6sQyJsT9RJw9\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a,eu-west-1b","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/lambda/home?region=eu-west-1#/functions/wd2-2022-10-07-GremlinResol-GremlinAppSyncFunction-6sQyJsT9RJw9?tab=graph","loginURL":"https://044981683129.signin.aws.amazon.com/console/lambda?region=eu-west-1#/functions/wd2-2022-10-07-GremlinResol-GremlinAppSyncFunction-6sQyJsT9RJw9?tab=graph","private":null,"resourceId":"wd2-2022-10-07-GremlinResol-GremlinAppSyncFunction-6sQyJsT9RJw9","resourceName":"wd2-2022-10-07-GremlinResol-GremlinAppSyncFunction-6sQyJsT9RJw9","resourceType":"AWS::Lambda::Function","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8\",\"value\":\"wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8/84b956d0-466a-11ed-bed8-0e6093335a65\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8/84b956d0-466a-11ed-bed8-0e6093335a65\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"aws:cloudformation:logical-id=GremlinAppSyncFunction\",\"value\":\"GremlinAppSyncFunction\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"wd2-2022-10-07-GremlinResol-GremlinAppSyncFunction-6sQyJsT9RJw9","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-SearchReso-SearchApiAppSyncFunction-3ba4uslAeeBA","label":"AWS_Lambda_Function","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-SearchReso-SearchApiAppSyncFunction-3ba4uslAeeBA","configuration":"\"{\\\"architectures\\\":[\\\"x86_64\\\"],\\\"ephemeralStorage\\\":{\\\"size\\\":512},\\\"handler\\\":\\\"index.handler\\\",\\\"role\\\":\\\"arn:aws:iam::044981683129:role/wd2-2022-10-07-OpenSearchRoleStac-SearchLambdaRole-13QULKRSOW40L\\\",\\\"functionName\\\":\\\"wd2-2022-10-07-SearchReso-SearchApiAppSyncFunction-3ba4uslAeeBA\\\",\\\"tracingConfig\\\":{\\\"mode\\\":\\\"Active\\\"},\\\"runtime\\\":\\\"nodejs16.x\\\",\\\"description\\\":\\\"Lambda for Search AppSync API\\\",\\\"runtimeVersionConfig\\\":{\\\"runtimeVersionArn\\\":\\\"arn:aws:lambda:eu-west-1::runtime:734d712d91ebc245bd01c52ae85b4025a7885efd1b8c87c0ce49f3e47d2116a4\\\"},\\\"codeSize\\\":2703478,\\\"version\\\":\\\"$LATEST\\\",\\\"packageType\\\":\\\"Zip\\\",\\\"timeout\\\":10,\\\"revisionId\\\":\\\"a5260f57-170f-4f6d-88ff-cc8b9e28c966\\\",\\\"codeSha256\\\":\\\"3iLIt++NppUYcmO2KdxCGdqLmwYqJHVM54Mi0AEH9Fk=\\\",\\\"memorySize\\\":1024,\\\"fileSystemConfigs\\\":[],\\\"vpcConfig\\\":{\\\"securityGroupIds\\\":[\\\"sg-030453011373764ba\\\"],\\\"subnetIds\\\":[\\\"subnet-02e0c991bba17b7eb\\\",\\\"subnet-010652f698dff6484\\\"]},\\\"lastUpdateStatus\\\":\\\"Successful\\\",\\\"layers\\\":[],\\\"snapStart\\\":{\\\"applyOn\\\":\\\"None\\\",\\\"optimizationStatus\\\":\\\"Off\\\"},\\\"lastModified\\\":\\\"2023-04-12T17:59:13.000+0000\\\",\\\"state\\\":{\\\"value\\\":\\\"Active\\\"},\\\"functionArn\\\":\\\"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-SearchReso-SearchApiAppSyncFunction-3ba4uslAeeBA\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a,eu-west-1b","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/lambda/home?region=eu-west-1#/functions/wd2-2022-10-07-SearchReso-SearchApiAppSyncFunction-3ba4uslAeeBA?tab=graph","loginURL":"https://044981683129.signin.aws.amazon.com/console/lambda?region=eu-west-1#/functions/wd2-2022-10-07-SearchReso-SearchApiAppSyncFunction-3ba4uslAeeBA?tab=graph","private":null,"resourceId":"wd2-2022-10-07-SearchReso-SearchApiAppSyncFunction-3ba4uslAeeBA","resourceName":"wd2-2022-10-07-SearchReso-SearchApiAppSyncFunction-3ba4uslAeeBA","resourceType":"AWS::Lambda::Function","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-SearchResolversStack-CBU7QRC0LONQ\",\"value\":\"wd2-2022-10-07-SearchResolversStack-CBU7QRC0LONQ\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-SearchResolversStack-CBU7QRC0LONQ/166f47b0-466b-11ed-aa9c-0666bdaadecb\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-SearchResolversStack-CBU7QRC0LONQ/166f47b0-466b-11ed-aa9c-0666bdaadecb\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"aws:cloudformation:logical-id=SearchApiAppSyncFunction\",\"value\":\"SearchApiAppSyncFunction\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"wd2-2022-10-07-SearchReso-SearchApiAppSyncFunction-3ba4uslAeeBA","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-SearchResol-OpenSearchSetupFunction-6lBkj5VZvL9N","label":"AWS_Lambda_Function","parent":false,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-SearchResol-OpenSearchSetupFunction-6lBkj5VZvL9N","configuration":"\"{\\\"architectures\\\":[\\\"x86_64\\\"],\\\"ephemeralStorage\\\":{\\\"size\\\":512},\\\"handler\\\":\\\"index.handler\\\",\\\"role\\\":\\\"arn:aws:iam::044981683129:role/wd2-2022-10-07-OpenSearchRoleStac-SearchLambdaRole-13QULKRSOW40L\\\",\\\"functionName\\\":\\\"wd2-2022-10-07-SearchResol-OpenSearchSetupFunction-6lBkj5VZvL9N\\\",\\\"tracingConfig\\\":{\\\"mode\\\":\\\"PassThrough\\\"},\\\"runtime\\\":\\\"nodejs16.x\\\",\\\"description\\\":\\\"Custom resource to create OpenSearch index\\\",\\\"runtimeVersionConfig\\\":{\\\"runtimeVersionArn\\\":\\\"arn:aws:lambda:eu-west-1::runtime:734d712d91ebc245bd01c52ae85b4025a7885efd1b8c87c0ce49f3e47d2116a4\\\"},\\\"codeSize\\\":277070,\\\"version\\\":\\\"$LATEST\\\",\\\"packageType\\\":\\\"Zip\\\",\\\"timeout\\\":65,\\\"revisionId\\\":\\\"ed345a85-13bf-41c2-8971-683c67f2abdd\\\",\\\"codeSha256\\\":\\\"MwgSt+dnX2Y9aRd/YYxjh05gPj3M0GtHn8mBFyKdBZI=\\\",\\\"memorySize\\\":256,\\\"fileSystemConfigs\\\":[],\\\"vpcConfig\\\":{\\\"securityGroupIds\\\":[\\\"sg-030453011373764ba\\\"],\\\"subnetIds\\\":[\\\"subnet-02e0c991bba17b7eb\\\",\\\"subnet-010652f698dff6484\\\"]},\\\"lastUpdateStatus\\\":\\\"Successful\\\",\\\"layers\\\":[],\\\"snapStart\\\":{\\\"applyOn\\\":\\\"None\\\",\\\"optimizationStatus\\\":\\\"Off\\\"},\\\"lastModified\\\":\\\"2023-02-13T12:52:01.000+0000\\\",\\\"state\\\":{\\\"value\\\":\\\"Active\\\"},\\\"functionArn\\\":\\\"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-SearchResol-OpenSearchSetupFunction-6lBkj5VZvL9N\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a,eu-west-1b","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/lambda/home?region=eu-west-1#/functions/wd2-2022-10-07-SearchResol-OpenSearchSetupFunction-6lBkj5VZvL9N?tab=graph","loginURL":"https://044981683129.signin.aws.amazon.com/console/lambda?region=eu-west-1#/functions/wd2-2022-10-07-SearchResol-OpenSearchSetupFunction-6lBkj5VZvL9N?tab=graph","private":null,"resourceId":"wd2-2022-10-07-SearchResol-OpenSearchSetupFunction-6lBkj5VZvL9N","resourceName":"wd2-2022-10-07-SearchResol-OpenSearchSetupFunction-6lBkj5VZvL9N","resourceType":"AWS::Lambda::Function","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-SearchResolversStack-CBU7QRC0LONQ\",\"value\":\"wd2-2022-10-07-SearchResolversStack-CBU7QRC0LONQ\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-SearchResolversStack-CBU7QRC0LONQ/166f47b0-466b-11ed-aa9c-0666bdaadecb\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-SearchResolversStack-CBU7QRC0LONQ/166f47b0-466b-11ed-aa9c-0666bdaadecb\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"aws:cloudformation:logical-id=OpenSearchSetupFunction\",\"value\":\"OpenSearchSetupFunction\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"wd2-2022-10-07-SearchResol-OpenSearchSetupFunction-6lBkj5VZvL9N","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1255,"y":-1948.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-GremlinResol-GremlinAppSyncFunction-6sQyJsT9RJw9","resourceId":["wd2-2022-10-07-GremlinResol-GremlinAppSyncFunction-6sQyJsT9RJw9","arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-GremlinResol-GremlinAppSyncFunction-6sQyJsT9RJw9"],"parent":"Function-eu-west-1a,eu-west-1b-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":5,"id":"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-GremlinResol-GremlinAppSyncFunction-6sQyJsT9RJw9","title":"wd2-2022-10-07-GremlinResol-GremlinAppSyncFunction-6sQyJsT9RJw9","label":"wd2-2022-10-...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-GremlinResol-GremlinAppSyncFunction-6sQyJsT9RJw9","image":"/icons/AWS-Lambda-menu.svg","cost":0,"private":false,"resource":{"id":"wd2-2022-10-07-GremlinResol-GremlinAppSyncFunction-6sQyJsT9RJw9","name":"wd2-2022-10-07-GremlinResol-GremlinAppSyncFunction-6sQyJsT9RJw9","value":null,"type":"AWS::Lambda::Function","tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8\",\"value\":\"wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8/84b956d0-466a-11ed-bed8-0e6093335a65\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8/84b956d0-466a-11ed-bed8-0e6093335a65\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"aws:cloudformation:logical-id=GremlinAppSyncFunction\",\"value\":\"GremlinAppSyncFunction\",\"key\":\"aws:cloudformation:logical-id\"}]","arn":"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-GremlinResol-GremlinAppSyncFunction-6sQyJsT9RJw9","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/lambda/home?region=eu-west-1#/functions/wd2-2022-10-07-GremlinResol-GremlinAppSyncFunction-6sQyJsT9RJw9?tab=graph","loginURL":"https://044981683129.signin.aws.amazon.com/console/lambda?region=eu-west-1#/functions/wd2-2022-10-07-GremlinResol-GremlinAppSyncFunction-6sQyJsT9RJw9?tab=graph","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-GremlinResol-GremlinAppSyncFunction-6sQyJsT9RJw9","configuration":"\"{\\\"architectures\\\":[\\\"x86_64\\\"],\\\"ephemeralStorage\\\":{\\\"size\\\":512},\\\"handler\\\":\\\"index.handler\\\",\\\"role\\\":\\\"arn:aws:iam::044981683129:role/wd2-2022-10-07-GremlinRes-PerspectiveGremlinAppSyn-1XXO76IHOU8R4\\\",\\\"functionName\\\":\\\"wd2-2022-10-07-GremlinResol-GremlinAppSyncFunction-6sQyJsT9RJw9\\\",\\\"tracingConfig\\\":{\\\"mode\\\":\\\"Active\\\"},\\\"runtime\\\":\\\"nodejs16.x\\\",\\\"description\\\":\\\"Lambda for appsync resolver that queries Neptune\\\",\\\"runtimeVersionConfig\\\":{\\\"runtimeVersionArn\\\":\\\"arn:aws:lambda:eu-west-1::runtime:734d712d91ebc245bd01c52ae85b4025a7885efd1b8c87c0ce49f3e47d2116a4\\\"},\\\"codeSize\\\":1681581,\\\"version\\\":\\\"$LATEST\\\",\\\"packageType\\\":\\\"Zip\\\",\\\"timeout\\\":15,\\\"revisionId\\\":\\\"a7f0628d-3237-4b2f-b937-35a88b657c5d\\\",\\\"codeSha256\\\":\\\"SCarmkbIpMoMew29li7gf0MVbATZ3RgL5SzUnB5Y1O0=\\\",\\\"memorySize\\\":1024,\\\"fileSystemConfigs\\\":[],\\\"vpcConfig\\\":{\\\"securityGroupIds\\\":[\\\"sg-044b48335ef509cb2\\\"],\\\"subnetIds\\\":[\\\"subnet-02e0c991bba17b7eb\\\",\\\"subnet-010652f698dff6484\\\"]},\\\"lastUpdateStatus\\\":\\\"Successful\\\",\\\"layers\\\":[],\\\"snapStart\\\":{\\\"applyOn\\\":\\\"None\\\",\\\"optimizationStatus\\\":\\\"Off\\\"},\\\"lastModified\\\":\\\"2023-02-13T12:52:08.000+0000\\\",\\\"state\\\":{\\\"value\\\":\\\"Active\\\"},\\\"functionArn\\\":\\\"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-GremlinResol-GremlinAppSyncFunction-6sQyJsT9RJw9\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a,eu-west-1b","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/lambda/home?region=eu-west-1#/functions/wd2-2022-10-07-GremlinResol-GremlinAppSyncFunction-6sQyJsT9RJw9?tab=graph","loginURL":"https://044981683129.signin.aws.amazon.com/console/lambda?region=eu-west-1#/functions/wd2-2022-10-07-GremlinResol-GremlinAppSyncFunction-6sQyJsT9RJw9?tab=graph","private":null,"resourceId":"wd2-2022-10-07-GremlinResol-GremlinAppSyncFunction-6sQyJsT9RJw9","resourceName":"wd2-2022-10-07-GremlinResol-GremlinAppSyncFunction-6sQyJsT9RJw9","resourceType":"AWS::Lambda::Function","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8\",\"value\":\"wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8/84b956d0-466a-11ed-bed8-0e6093335a65\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8/84b956d0-466a-11ed-bed8-0e6093335a65\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"aws:cloudformation:logical-id=GremlinAppSyncFunction\",\"value\":\"GremlinAppSyncFunction\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"wd2-2022-10-07-GremlinResol-GremlinAppSyncFunction-6sQyJsT9RJw9","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1291.5,"y":-1985.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-SearchReso-SearchApiAppSyncFunction-3ba4uslAeeBA","resourceId":["wd2-2022-10-07-SearchReso-SearchApiAppSyncFunction-3ba4uslAeeBA","arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-SearchReso-SearchApiAppSyncFunction-3ba4uslAeeBA"],"parent":"Function-eu-west-1a,eu-west-1b-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":5,"id":"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-SearchReso-SearchApiAppSyncFunction-3ba4uslAeeBA","title":"wd2-2022-10-07-SearchReso-SearchApiAppSyncFunction-3ba4uslAeeBA","label":"wd2-2022-10-...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-SearchReso-SearchApiAppSyncFunction-3ba4uslAeeBA","image":"/icons/AWS-Lambda-menu.svg","cost":0,"private":false,"resource":{"id":"wd2-2022-10-07-SearchReso-SearchApiAppSyncFunction-3ba4uslAeeBA","name":"wd2-2022-10-07-SearchReso-SearchApiAppSyncFunction-3ba4uslAeeBA","value":null,"type":"AWS::Lambda::Function","tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-SearchResolversStack-CBU7QRC0LONQ\",\"value\":\"wd2-2022-10-07-SearchResolversStack-CBU7QRC0LONQ\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-SearchResolversStack-CBU7QRC0LONQ/166f47b0-466b-11ed-aa9c-0666bdaadecb\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-SearchResolversStack-CBU7QRC0LONQ/166f47b0-466b-11ed-aa9c-0666bdaadecb\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"aws:cloudformation:logical-id=SearchApiAppSyncFunction\",\"value\":\"SearchApiAppSyncFunction\",\"key\":\"aws:cloudformation:logical-id\"}]","arn":"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-SearchReso-SearchApiAppSyncFunction-3ba4uslAeeBA","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/lambda/home?region=eu-west-1#/functions/wd2-2022-10-07-SearchReso-SearchApiAppSyncFunction-3ba4uslAeeBA?tab=graph","loginURL":"https://044981683129.signin.aws.amazon.com/console/lambda?region=eu-west-1#/functions/wd2-2022-10-07-SearchReso-SearchApiAppSyncFunction-3ba4uslAeeBA?tab=graph","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-SearchReso-SearchApiAppSyncFunction-3ba4uslAeeBA","configuration":"\"{\\\"architectures\\\":[\\\"x86_64\\\"],\\\"ephemeralStorage\\\":{\\\"size\\\":512},\\\"handler\\\":\\\"index.handler\\\",\\\"role\\\":\\\"arn:aws:iam::044981683129:role/wd2-2022-10-07-OpenSearchRoleStac-SearchLambdaRole-13QULKRSOW40L\\\",\\\"functionName\\\":\\\"wd2-2022-10-07-SearchReso-SearchApiAppSyncFunction-3ba4uslAeeBA\\\",\\\"tracingConfig\\\":{\\\"mode\\\":\\\"Active\\\"},\\\"runtime\\\":\\\"nodejs16.x\\\",\\\"description\\\":\\\"Lambda for Search AppSync API\\\",\\\"runtimeVersionConfig\\\":{\\\"runtimeVersionArn\\\":\\\"arn:aws:lambda:eu-west-1::runtime:734d712d91ebc245bd01c52ae85b4025a7885efd1b8c87c0ce49f3e47d2116a4\\\"},\\\"codeSize\\\":2703478,\\\"version\\\":\\\"$LATEST\\\",\\\"packageType\\\":\\\"Zip\\\",\\\"timeout\\\":10,\\\"revisionId\\\":\\\"a5260f57-170f-4f6d-88ff-cc8b9e28c966\\\",\\\"codeSha256\\\":\\\"3iLIt++NppUYcmO2KdxCGdqLmwYqJHVM54Mi0AEH9Fk=\\\",\\\"memorySize\\\":1024,\\\"fileSystemConfigs\\\":[],\\\"vpcConfig\\\":{\\\"securityGroupIds\\\":[\\\"sg-030453011373764ba\\\"],\\\"subnetIds\\\":[\\\"subnet-02e0c991bba17b7eb\\\",\\\"subnet-010652f698dff6484\\\"]},\\\"lastUpdateStatus\\\":\\\"Successful\\\",\\\"layers\\\":[],\\\"snapStart\\\":{\\\"applyOn\\\":\\\"None\\\",\\\"optimizationStatus\\\":\\\"Off\\\"},\\\"lastModified\\\":\\\"2023-04-12T17:59:13.000+0000\\\",\\\"state\\\":{\\\"value\\\":\\\"Active\\\"},\\\"functionArn\\\":\\\"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-SearchReso-SearchApiAppSyncFunction-3ba4uslAeeBA\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a,eu-west-1b","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/lambda/home?region=eu-west-1#/functions/wd2-2022-10-07-SearchReso-SearchApiAppSyncFunction-3ba4uslAeeBA?tab=graph","loginURL":"https://044981683129.signin.aws.amazon.com/console/lambda?region=eu-west-1#/functions/wd2-2022-10-07-SearchReso-SearchApiAppSyncFunction-3ba4uslAeeBA?tab=graph","private":null,"resourceId":"wd2-2022-10-07-SearchReso-SearchApiAppSyncFunction-3ba4uslAeeBA","resourceName":"wd2-2022-10-07-SearchReso-SearchApiAppSyncFunction-3ba4uslAeeBA","resourceType":"AWS::Lambda::Function","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-SearchResolversStack-CBU7QRC0LONQ\",\"value\":\"wd2-2022-10-07-SearchResolversStack-CBU7QRC0LONQ\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-SearchResolversStack-CBU7QRC0LONQ/166f47b0-466b-11ed-aa9c-0666bdaadecb\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-SearchResolversStack-CBU7QRC0LONQ/166f47b0-466b-11ed-aa9c-0666bdaadecb\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"aws:cloudformation:logical-id=SearchApiAppSyncFunction\",\"value\":\"SearchApiAppSyncFunction\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"wd2-2022-10-07-SearchReso-SearchApiAppSyncFunction-3ba4uslAeeBA","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1218.5,"y":-1985.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-SearchResol-OpenSearchSetupFunction-6lBkj5VZvL9N","resourceId":["wd2-2022-10-07-SearchResol-OpenSearchSetupFunction-6lBkj5VZvL9N","arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-SearchResol-OpenSearchSetupFunction-6lBkj5VZvL9N"],"parent":"Function-eu-west-1a,eu-west-1b-vpc-04e5e1c4bc4409222-eu-west-1-044981683129","level":5,"id":"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-SearchResol-OpenSearchSetupFunction-6lBkj5VZvL9N","title":"wd2-2022-10-07-SearchResol-OpenSearchSetupFunction-6lBkj5VZvL9N","label":"wd2-2022-10-...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-SearchResol-OpenSearchSetupFunction-6lBkj5VZvL9N","image":"/icons/AWS-Lambda-menu.svg","cost":0,"private":false,"resource":{"id":"wd2-2022-10-07-SearchResol-OpenSearchSetupFunction-6lBkj5VZvL9N","name":"wd2-2022-10-07-SearchResol-OpenSearchSetupFunction-6lBkj5VZvL9N","value":null,"type":"AWS::Lambda::Function","tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-SearchResolversStack-CBU7QRC0LONQ\",\"value\":\"wd2-2022-10-07-SearchResolversStack-CBU7QRC0LONQ\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-SearchResolversStack-CBU7QRC0LONQ/166f47b0-466b-11ed-aa9c-0666bdaadecb\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-SearchResolversStack-CBU7QRC0LONQ/166f47b0-466b-11ed-aa9c-0666bdaadecb\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"aws:cloudformation:logical-id=OpenSearchSetupFunction\",\"value\":\"OpenSearchSetupFunction\",\"key\":\"aws:cloudformation:logical-id\"}]","arn":"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-SearchResol-OpenSearchSetupFunction-6lBkj5VZvL9N","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/lambda/home?region=eu-west-1#/functions/wd2-2022-10-07-SearchResol-OpenSearchSetupFunction-6lBkj5VZvL9N?tab=graph","loginURL":"https://044981683129.signin.aws.amazon.com/console/lambda?region=eu-west-1#/functions/wd2-2022-10-07-SearchResol-OpenSearchSetupFunction-6lBkj5VZvL9N?tab=graph","accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-SearchResol-OpenSearchSetupFunction-6lBkj5VZvL9N","configuration":"\"{\\\"architectures\\\":[\\\"x86_64\\\"],\\\"ephemeralStorage\\\":{\\\"size\\\":512},\\\"handler\\\":\\\"index.handler\\\",\\\"role\\\":\\\"arn:aws:iam::044981683129:role/wd2-2022-10-07-OpenSearchRoleStac-SearchLambdaRole-13QULKRSOW40L\\\",\\\"functionName\\\":\\\"wd2-2022-10-07-SearchResol-OpenSearchSetupFunction-6lBkj5VZvL9N\\\",\\\"tracingConfig\\\":{\\\"mode\\\":\\\"PassThrough\\\"},\\\"runtime\\\":\\\"nodejs16.x\\\",\\\"description\\\":\\\"Custom resource to create OpenSearch index\\\",\\\"runtimeVersionConfig\\\":{\\\"runtimeVersionArn\\\":\\\"arn:aws:lambda:eu-west-1::runtime:734d712d91ebc245bd01c52ae85b4025a7885efd1b8c87c0ce49f3e47d2116a4\\\"},\\\"codeSize\\\":277070,\\\"version\\\":\\\"$LATEST\\\",\\\"packageType\\\":\\\"Zip\\\",\\\"timeout\\\":65,\\\"revisionId\\\":\\\"ed345a85-13bf-41c2-8971-683c67f2abdd\\\",\\\"codeSha256\\\":\\\"MwgSt+dnX2Y9aRd/YYxjh05gPj3M0GtHn8mBFyKdBZI=\\\",\\\"memorySize\\\":256,\\\"fileSystemConfigs\\\":[],\\\"vpcConfig\\\":{\\\"securityGroupIds\\\":[\\\"sg-030453011373764ba\\\"],\\\"subnetIds\\\":[\\\"subnet-02e0c991bba17b7eb\\\",\\\"subnet-010652f698dff6484\\\"]},\\\"lastUpdateStatus\\\":\\\"Successful\\\",\\\"layers\\\":[],\\\"snapStart\\\":{\\\"applyOn\\\":\\\"None\\\",\\\"optimizationStatus\\\":\\\"Off\\\"},\\\"lastModified\\\":\\\"2023-02-13T12:52:01.000+0000\\\",\\\"state\\\":{\\\"value\\\":\\\"Active\\\"},\\\"functionArn\\\":\\\"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-SearchResol-OpenSearchSetupFunction-6lBkj5VZvL9N\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a,eu-west-1b","vpcId":"vpc-04e5e1c4bc4409222","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/lambda/home?region=eu-west-1#/functions/wd2-2022-10-07-SearchResol-OpenSearchSetupFunction-6lBkj5VZvL9N?tab=graph","loginURL":"https://044981683129.signin.aws.amazon.com/console/lambda?region=eu-west-1#/functions/wd2-2022-10-07-SearchResol-OpenSearchSetupFunction-6lBkj5VZvL9N?tab=graph","private":null,"resourceId":"wd2-2022-10-07-SearchResol-OpenSearchSetupFunction-6lBkj5VZvL9N","resourceName":"wd2-2022-10-07-SearchResol-OpenSearchSetupFunction-6lBkj5VZvL9N","resourceType":"AWS::Lambda::Function","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=wd2-2022-10-07-SearchResolversStack-CBU7QRC0LONQ\",\"value\":\"wd2-2022-10-07-SearchResolversStack-CBU7QRC0LONQ\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"lambda:createdBy=SAM\",\"value\":\"SAM\",\"key\":\"lambda:createdBy\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-SearchResolversStack-CBU7QRC0LONQ/166f47b0-466b-11ed-aa9c-0666bdaadecb\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-SearchResolversStack-CBU7QRC0LONQ/166f47b0-466b-11ed-aa9c-0666bdaadecb\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"value\":\"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b\",\"key\":\"AppManagerCFNStackKey\"},{\"tag\":\"aws:cloudformation:logical-id=OpenSearchSetupFunction\",\"value\":\"OpenSearchSetupFunction\",\"key\":\"aws:cloudformation:logical-id\"}]","title":"wd2-2022-10-07-SearchResol-OpenSearchSetupFunction-6lBkj5VZvL9N","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1291.5,"y":-1912.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:tags::044981683129:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447","resourceId":["arn:aws:tags::044981683129:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447","arn:aws:tags::044981683129:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447"],"parent":"Tag-global-044981683129","level":3,"id":"arn:aws:tags::044981683129:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447","title":"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447","label":"aws:cloudfor...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:tags::044981683129:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447","image":"/icons/AWS-Tags-bg.svg","cost":0,"private":false,"resource":{"id":"arn:aws:tags::044981683129:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447","name":"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447","value":null,"type":"AWS::Tags::Tag","tags":"[]","arn":"arn:aws:tags::044981683129:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:tags::044981683129:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447","configuration":"\"{}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:tags::044981683129:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447","resourceName":"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447","resourceType":"AWS::Tags::Tag","resourceValue":null,"state":null,"tags":"[]","title":"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":841.5,"y":-1534.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:tags::044981683129:tag/aws:cloudformation:stack-name=wd2-2022-10-07-VpcStack-JV66F8IP5PCO","resourceId":["arn:aws:tags::044981683129:tag/aws:cloudformation:stack-name=wd2-2022-10-07-VpcStack-JV66F8IP5PCO","arn:aws:tags::044981683129:tag/aws:cloudformation:stack-name=wd2-2022-10-07-VpcStack-JV66F8IP5PCO"],"parent":"Tag-global-044981683129","level":3,"id":"arn:aws:tags::044981683129:tag/aws:cloudformation:stack-name=wd2-2022-10-07-VpcStack-JV66F8IP5PCO","title":"aws:cloudformation:stack-name=wd2-2022-10-07-VpcStack-JV66F8IP5PCO","label":"aws:cloudfor...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:tags::044981683129:tag/aws:cloudformation:stack-name=wd2-2022-10-07-VpcStack-JV66F8IP5PCO","image":"/icons/AWS-Tags-bg.svg","cost":0,"private":false,"resource":{"id":"arn:aws:tags::044981683129:tag/aws:cloudformation:stack-name=wd2-2022-10-07-VpcStack-JV66F8IP5PCO","name":"aws:cloudformation:stack-name=wd2-2022-10-07-VpcStack-JV66F8IP5PCO","value":null,"type":"AWS::Tags::Tag","tags":"[]","arn":"arn:aws:tags::044981683129:tag/aws:cloudformation:stack-name=wd2-2022-10-07-VpcStack-JV66F8IP5PCO","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:tags::044981683129:tag/aws:cloudformation:stack-name=wd2-2022-10-07-VpcStack-JV66F8IP5PCO","configuration":"\"{}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:tags::044981683129:tag/aws:cloudformation:stack-name=wd2-2022-10-07-VpcStack-JV66F8IP5PCO","resourceName":"aws:cloudformation:stack-name=wd2-2022-10-07-VpcStack-JV66F8IP5PCO","resourceType":"AWS::Tags::Tag","resourceValue":null,"state":null,"tags":"[]","title":"aws:cloudformation:stack-name=wd2-2022-10-07-VpcStack-JV66F8IP5PCO","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":914.5,"y":-1899.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:tags::044981683129:tag/Application=wd2-2022-10-07-VpcStack-JV66F8IP5PCO","resourceId":["arn:aws:tags::044981683129:tag/Application=wd2-2022-10-07-VpcStack-JV66F8IP5PCO","arn:aws:tags::044981683129:tag/Application=wd2-2022-10-07-VpcStack-JV66F8IP5PCO"],"parent":"Tag-global-044981683129","level":3,"id":"arn:aws:tags::044981683129:tag/Application=wd2-2022-10-07-VpcStack-JV66F8IP5PCO","title":"Application=wd2-2022-10-07-VpcStack-JV66F8IP5PCO","label":"Application=...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:tags::044981683129:tag/Application=wd2-2022-10-07-VpcStack-JV66F8IP5PCO","image":"/icons/AWS-Tags-bg.svg","cost":0,"private":false,"resource":{"id":"arn:aws:tags::044981683129:tag/Application=wd2-2022-10-07-VpcStack-JV66F8IP5PCO","name":"Application=wd2-2022-10-07-VpcStack-JV66F8IP5PCO","value":null,"type":"AWS::Tags::Tag","tags":"[]","arn":"arn:aws:tags::044981683129:tag/Application=wd2-2022-10-07-VpcStack-JV66F8IP5PCO","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:tags::044981683129:tag/Application=wd2-2022-10-07-VpcStack-JV66F8IP5PCO","configuration":"\"{}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:tags::044981683129:tag/Application=wd2-2022-10-07-VpcStack-JV66F8IP5PCO","resourceName":"Application=wd2-2022-10-07-VpcStack-JV66F8IP5PCO","resourceType":"AWS::Tags::Tag","resourceValue":null,"state":null,"tags":"[]","title":"Application=wd2-2022-10-07-VpcStack-JV66F8IP5PCO","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":914.5,"y":-1826.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a","resourceId":["vpc-3c3b705a","arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a"],"parent":"VPC-Multiple Availability Zones-eu-west-1-060997615305","level":4,"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a","title":"vpc-3c3b705a","label":"vpc-3c3b705a","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a","image":"/icons/VPC-menu.svg","cost":0,"private":false,"resource":{"id":"vpc-3c3b705a","name":null,"value":null,"type":"AWS::EC2::VPC","tags":"[{\"tag\":\"kubernetes.io/cluster/k8s-dev=shared\",\"value\":\"shared\",\"key\":\"kubernetes.io/cluster/k8s-dev\"}]","arn":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#vpcs:sort=VpcId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#vpcs:sort=VpcId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a","configuration":"\"{\\\"instanceTenancy\\\":\\\"default\\\",\\\"isDefault\\\":true,\\\"dhcpOptionsId\\\":\\\"dopt-43b00b25\\\",\\\"cidrBlock\\\":\\\"172.31.0.0/16\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"cidrBlockAssociationSet\\\":[{\\\"cidrBlock\\\":\\\"172.31.0.0/16\\\",\\\"cidrBlockState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"associationId\\\":\\\"vpc-cidr-assoc-2d196f46\\\"}],\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipv6CidrBlockAssociationSet\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"shared\\\",\\\"key\\\":\\\"kubernetes.io/cluster/k8s-dev\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":null,"subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#vpcs:sort=VpcId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#vpcs:sort=VpcId","private":null,"resourceId":"vpc-3c3b705a","resourceName":null,"resourceType":"AWS::EC2::VPC","resourceValue":null,"state":null,"tags":"[{\"tag\":\"kubernetes.io/cluster/k8s-dev=shared\",\"value\":\"shared\",\"key\":\"kubernetes.io/cluster/k8s-dev\"}]","title":"vpc-3c3b705a","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-640.5,"y":1260.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"id":"vpc-3c3b705a-eu-west-1-060997615305","parent":"eu-west-1-060997615305","level":2,"title":"vpc-3c3b705a","label":"vpc-3c3b705a","plainLabel":"vpc-3c3b705a","type":"vpc","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/VPC-collapsed.svg","clickedId":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a","cost":0,"hasChildren":true,"children":[{"id":null,"label":"SecurityGroup","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-04bb709828e34cba5","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-04bb709828e34cba5","configuration":"\"{\\\"groupName\\\":\\\"transr-3561\\\",\\\"groupId\\\":\\\"sg-04bb709828e34cba5\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"2019-07-25T15:24:01.346Z\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":80,\\\"toPort\\\":80,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-04bb709828e34cba5","resourceName":"transr-3561","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"transr-3561","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-04e763f68557f7749","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-04e763f68557f7749","configuration":"\"{\\\"groupName\\\":\\\"transr-831\\\",\\\"groupId\\\":\\\"sg-04e763f68557f7749\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"2019-07-25T15:48:41.625Z\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":80,\\\"toPort\\\":80,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-04e763f68557f7749","resourceName":"transr-831","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"transr-831","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0557b8bf309e79f18","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0557b8bf309e79f18","configuration":"\"{\\\"groupName\\\":\\\"transr-6637\\\",\\\"groupId\\\":\\\"sg-0557b8bf309e79f18\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"2019-07-25T15:58:24.812Z\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":80,\\\"toPort\\\":80,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0557b8bf309e79f18","resourceName":"transr-6637","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"transr-6637","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0583eb00a07bc4cde","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0583eb00a07bc4cde","configuration":"\"{\\\"groupName\\\":\\\"k8s-elb-a8b6c26482e1f11e9bfbb06e03663557\\\",\\\"groupId\\\":\\\"sg-0583eb00a07bc4cde\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"Security group for Kubernetes ELB a8b6c26482e1f11e9bfbb06e03663557 (default/guestbook)\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":80,\\\"toPort\\\":80,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":3,\\\"toPort\\\":4,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"icmp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[{\\\"value\\\":\\\"owned\\\",\\\"key\\\":\\\"kubernetes.io/cluster/k8s-dev\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0583eb00a07bc4cde","resourceName":"k8s-elb-a8b6c26482e1f11e9bfbb06e03663557","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[{\"tag\":\"kubernetes.io/cluster/k8s-dev=owned\",\"value\":\"owned\",\"key\":\"kubernetes.io/cluster/k8s-dev\"}]","title":"k8s-elb-a8b6c26482e1f11e9bfbb06e03663557","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-05dd21368fd62e946","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-05dd21368fd62e946","configuration":"\"{\\\"groupName\\\":\\\"ControlPlaneSecurityGroup\\\",\\\"groupId\\\":\\\"sg-05dd21368fd62e946\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[{\\\"cidrIpv6\\\":\\\"::/0\\\"}]}],\\\"description\\\":\\\"EKS Security Group\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-05dd21368fd62e946","resourceName":"ControlPlaneSecurityGroup","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"ControlPlaneSecurityGroup","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-07cd255b1c97fe1a1","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-07cd255b1c97fe1a1","configuration":"\"{\\\"groupName\\\":\\\"k8s-elb-a3a680e4cbdb811e9a8b30a8ac757ccc\\\",\\\"groupId\\\":\\\"sg-07cd255b1c97fe1a1\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"Security group for Kubernetes ELB a3a680e4cbdb811e9a8b30a8ac757ccc (default/docker-tutorial)\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":80,\\\"toPort\\\":80,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":3,\\\"toPort\\\":4,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"icmp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[{\\\"value\\\":\\\"owned\\\",\\\"key\\\":\\\"kubernetes.io/cluster/k8s-dev\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-07cd255b1c97fe1a1","resourceName":"k8s-elb-a3a680e4cbdb811e9a8b30a8ac757ccc","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[{\"tag\":\"kubernetes.io/cluster/k8s-dev=owned\",\"value\":\"owned\",\"key\":\"kubernetes.io/cluster/k8s-dev\"}]","title":"k8s-elb-a3a680e4cbdb811e9a8b30a8ac757ccc","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-093e0c142114e7e4c","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-093e0c142114e7e4c","configuration":"\"{\\\"groupName\\\":\\\"k8s-elb-a7d4c34af3b7211e980b90a3ffe3de85\\\",\\\"groupId\\\":\\\"sg-093e0c142114e7e4c\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"Security group for Kubernetes ELB a7d4c34af3b7211e980b90a3ffe3de85 (default/guestbook)\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":80,\\\"toPort\\\":80,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":3,\\\"toPort\\\":4,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"icmp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[{\\\"value\\\":\\\"owned\\\",\\\"key\\\":\\\"kubernetes.io/cluster/k8s-dev\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-093e0c142114e7e4c","resourceName":"k8s-elb-a7d4c34af3b7211e980b90a3ffe3de85","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[{\"tag\":\"kubernetes.io/cluster/k8s-dev=owned\",\"value\":\"owned\",\"key\":\"kubernetes.io/cluster/k8s-dev\"}]","title":"k8s-elb-a7d4c34af3b7211e980b90a3ffe3de85","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-09845e9fd4ed03442","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-09845e9fd4ed03442","configuration":"\"{\\\"groupName\\\":\\\"launch-wizard-1\\\",\\\"groupId\\\":\\\"sg-09845e9fd4ed03442\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"launch-wizard-1 created 2020-06-17T12:23:29.630+01:00\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":22,\\\"toPort\\\":22,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-09845e9fd4ed03442","resourceName":"launch-wizard-1","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"launch-wizard-1","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-09eafe5c6ba9f53bf","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-09eafe5c6ba9f53bf","configuration":"\"{\\\"groupName\\\":\\\"k8s-elb-a24d5e83c936711e9812b06b4550bdce\\\",\\\"groupId\\\":\\\"sg-09eafe5c6ba9f53bf\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"Security group for Kubernetes ELB a24d5e83c936711e9812b06b4550bdce (dev/docker-tutorial)\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":80,\\\"toPort\\\":80,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":3,\\\"toPort\\\":4,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"icmp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[{\\\"value\\\":\\\"owned\\\",\\\"key\\\":\\\"kubernetes.io/cluster/k8s-dev\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-09eafe5c6ba9f53bf","resourceName":"k8s-elb-a24d5e83c936711e9812b06b4550bdce","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[{\"tag\":\"kubernetes.io/cluster/k8s-dev=owned\",\"value\":\"owned\",\"key\":\"kubernetes.io/cluster/k8s-dev\"}]","title":"k8s-elb-a24d5e83c936711e9812b06b4550bdce","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0bd07be67c020ad07","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0bd07be67c020ad07","configuration":"\"{\\\"groupName\\\":\\\"awseb-e-svj7v9rusk-stack-AWSEBSecurityGroup-TOA6CXMTGSY8\\\",\\\"groupId\\\":\\\"sg-0bd07be67c020ad07\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"SecurityGroup for ElasticBeanstalk environment.\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/awseb-e-svj7v9rusk-stack/0edbcfa0-bc7a-11ea-9736-0aac29486886\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"awseb-e-svj7v9rusk-stack\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"e-svj7v9rusk\\\",\\\"key\\\":\\\"elasticbeanstalk:environment-id\\\"},{\\\"value\\\":\\\"AWSEBSecurityGroup\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"Help56-env-1\\\",\\\"key\\\":\\\"elasticbeanstalk:environment-name\\\"},{\\\"value\\\":\\\"Help56-env-1\\\",\\\"key\\\":\\\"Name\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0bd07be67c020ad07","resourceName":"awseb-e-svj7v9rusk-stack-AWSEBSecurityGroup-TOA6CXMTGSY8","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=awseb-e-svj7v9rusk-stack\",\"value\":\"awseb-e-svj7v9rusk-stack\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/awseb-e-svj7v9rusk-stack/0edbcfa0-bc7a-11ea-9736-0aac29486886\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/awseb-e-svj7v9rusk-stack/0edbcfa0-bc7a-11ea-9736-0aac29486886\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"elasticbeanstalk:environment-name=Help56-env-1\",\"value\":\"Help56-env-1\",\"key\":\"elasticbeanstalk:environment-name\"},{\"tag\":\"aws:cloudformation:logical-id=AWSEBSecurityGroup\",\"value\":\"AWSEBSecurityGroup\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"elasticbeanstalk:environment-id=e-svj7v9rusk\",\"value\":\"e-svj7v9rusk\",\"key\":\"elasticbeanstalk:environment-id\"},{\"tag\":\"Name=Help56-env-1\",\"value\":\"Help56-env-1\",\"key\":\"Name\"}]","title":"Help56-env-1","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0d3eb370ca6b0245b","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0d3eb370ca6b0245b","configuration":"\"{\\\"groupName\\\":\\\"transr-7480\\\",\\\"groupId\\\":\\\"sg-0d3eb370ca6b0245b\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"2019-07-25T15:54:01.128Z\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":80,\\\"toPort\\\":80,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0d3eb370ca6b0245b","resourceName":"transr-7480","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"transr-7480","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0ecc4d031c5673922","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0ecc4d031c5673922","configuration":"\"{\\\"groupName\\\":\\\"awseb-e-w6mearyryk-stack-AWSEBSecurityGroup-1QN1HFTTTDQ03\\\",\\\"groupId\\\":\\\"sg-0ecc4d031c5673922\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"SecurityGroup for ElasticBeanstalk environment.\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":80,\\\"toPort\\\":80,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[{\\\"value\\\":\\\"AWSEBSecurityGroup\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"Help56-env\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/awseb-e-w6mearyryk-stack/55b06e90-bc6b-11ea-aa61-0a535c7d72e8\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"awseb-e-w6mearyryk-stack\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"Help56-env\\\",\\\"key\\\":\\\"elasticbeanstalk:environment-name\\\"},{\\\"value\\\":\\\"e-w6mearyryk\\\",\\\"key\\\":\\\"elasticbeanstalk:environment-id\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0ecc4d031c5673922","resourceName":"awseb-e-w6mearyryk-stack-AWSEBSecurityGroup-1QN1HFTTTDQ03","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=awseb-e-w6mearyryk-stack\",\"value\":\"awseb-e-w6mearyryk-stack\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/awseb-e-w6mearyryk-stack/55b06e90-bc6b-11ea-aa61-0a535c7d72e8\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/awseb-e-w6mearyryk-stack/55b06e90-bc6b-11ea-aa61-0a535c7d72e8\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"elasticbeanstalk:environment-name=Help56-env\",\"value\":\"Help56-env\",\"key\":\"elasticbeanstalk:environment-name\"},{\"tag\":\"aws:cloudformation:logical-id=AWSEBSecurityGroup\",\"value\":\"AWSEBSecurityGroup\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"elasticbeanstalk:environment-id=e-w6mearyryk\",\"value\":\"e-w6mearyryk\",\"key\":\"elasticbeanstalk:environment-id\"},{\"tag\":\"Name=Help56-env\",\"value\":\"Help56-env\",\"key\":\"Name\"}]","title":"Help56-env","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0f2c00add4a70c83f","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0f2c00add4a70c83f","configuration":"\"{\\\"groupName\\\":\\\"AutoScaling-Security-Group-1\\\",\\\"groupId\\\":\\\"sg-0f2c00add4a70c83f\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"AutoScaling-Security-Group-1 (2019-04-10 17:56:23.193+01:00)\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":22,\\\"toPort\\\":22,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0f2c00add4a70c83f","resourceName":"AutoScaling-Security-Group-1","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"AutoScaling-Security-Group-1","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-96788cea","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-96788cea","configuration":"\"{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-96788cea\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"default VPC security group\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"81.100.217.103/32\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"81.100.217.103/32\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-96788cea","resourceName":"default","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"default","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-00ba81535e246b255","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-00ba81535e246b255","configuration":"\"{\\\"groupName\\\":\\\"k8s-worker-nodes-dev-NodeSecurityGroup-12A693N5Z6ZU6\\\",\\\"groupId\\\":\\\"sg-00ba81535e246b255\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"Security group for all nodes in the cluster\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":0,\\\"toPort\\\":65535,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[{\\\"value\\\":\\\"k8s-worker-nodes-dev\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/k8s-worker-nodes-dev/2ed97fe0-3b71-11e9-a65d-0295fc50fbd8\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"owned\\\",\\\"key\\\":\\\"kubernetes.io/cluster/k8s-dev\\\"},{\\\"value\\\":\\\"NodeSecurityGroup\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-00ba81535e246b255","resourceName":"k8s-worker-nodes-dev-NodeSecurityGroup-12A693N5Z6ZU6","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=k8s-worker-nodes-dev\",\"value\":\"k8s-worker-nodes-dev\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/k8s-worker-nodes-dev/2ed97fe0-3b71-11e9-a65d-0295fc50fbd8\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/k8s-worker-nodes-dev/2ed97fe0-3b71-11e9-a65d-0295fc50fbd8\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=NodeSecurityGroup\",\"value\":\"NodeSecurityGroup\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"kubernetes.io/cluster/k8s-dev=owned\",\"value\":\"owned\",\"key\":\"kubernetes.io/cluster/k8s-dev\"}]","title":"k8s-worker-nodes-dev-NodeSecurityGroup-12A693N5Z6ZU6","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0329e4f804998a32d","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0329e4f804998a32d","configuration":"\"{\\\"groupName\\\":\\\"transr-5686\\\",\\\"groupId\\\":\\\"sg-0329e4f804998a32d\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"2019-07-25T15:18:21.836Z\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":80,\\\"toPort\\\":80,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0329e4f804998a32d","resourceName":"transr-5686","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"transr-5686","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]},{"id":null,"label":"RouteTable","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-e0037299","label":"AWS_EC2_RouteTable","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-e0037299","configuration":"\"{\\\"associations\\\":[{\\\"routeTableId\\\":\\\"rtb-e0037299\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-d59362ae\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":true}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"172.31.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"},{\\\"destinationCidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"igw-3c9fd05b\\\"},{\\\"destinationPrefixListId\\\":\\\"pl-6da54004\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"vpce-0598004555201fc6c\\\"}],\\\"routeTableId\\\":\\\"rtb-e0037299\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-e0037299","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[]","title":"rtb-e0037299","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]},{"id":null,"label":"VPCEndpoint","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-0598004555201fc6c","label":"AWS_EC2_VPCEndpoint","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-0598004555201fc6c","configuration":"\"{\\\"policyDocument\\\":\\\"{\\\\\\\"Version\\\\\\\":\\\\\\\"2008-10-17\\\\\\\",\\\\\\\"Statement\\\\\\\":[{\\\\\\\"Effect\\\\\\\":\\\\\\\"Allow\\\\\\\",\\\\\\\"Principal\\\\\\\":\\\\\\\"*\\\\\\\",\\\\\\\"Action\\\\\\\":\\\\\\\"*\\\\\\\",\\\\\\\"Resource\\\\\\\":\\\\\\\"*\\\\\\\"}]}\\\",\\\"groups\\\":[],\\\"serviceName\\\":\\\"com.amazonaws.eu-west-1.s3\\\",\\\"privateDnsEnabled\\\":false,\\\"ownerId\\\":\\\"060997615305\\\",\\\"requesterManaged\\\":false,\\\"vpcEndpointId\\\":\\\"vpce-0598004555201fc6c\\\",\\\"tags\\\":[],\\\"routeTableIds\\\":[\\\"rtb-e0037299\\\"],\\\"vpcEndpointType\\\":\\\"Gateway\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"creationTimestamp\\\":\\\"2020-06-30T11:56:39Z\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"dnsEntries\\\":[],\\\"networkInterfaceIds\\\":[],\\\"subnetIds\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"vpce-0598004555201fc6c","resourceName":null,"resourceType":"AWS::EC2::VPCEndpoint","resourceValue":null,"state":null,"tags":"[]","title":"vpce-0598004555201fc6c","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]},{"id":null,"label":"eu-west-1c","parent":null,"type":"availabilityZone","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-5fcf4c39","label":"subnet-5fcf4c39","parent":null,"type":"subnet","data":{"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-5fcf4c39","configuration":"\"{\\\"subnetId\\\":\\\"subnet-5fcf4c39\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-5fcf4c39\\\",\\\"availabilityZoneId\\\":\\\"euw1-az1\\\",\\\"cidrBlock\\\":\\\"172.31.0.0/20\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[],\\\"availableIpAddressCount\\\":4077,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"mapPublicIpOnLaunch\\\":true,\\\"defaultForAz\\\":true,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-3c3b705a","subnetId":"subnet-5fcf4c39","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":null,"resourceId":"subnet-5fcf4c39","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[]","title":"subnet-5fcf4c39","instanceType":null,"statement":null,"dBInstanceStatus":null},"id":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-5fcf4c39","label":"AWS_EC2_Subnet"},"properties":null,"children":[{"id":null,"label":"NetworkInterface","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0ea6739d9f2a567c5","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0ea6739d9f2a567c5","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0ea6739d9f2a567c5\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-172-31-12-12.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.12.12\\\",\\\"primary\\\":true},{\\\"privateDnsName\\\":\\\"ip-172-31-5-127.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.5.127\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-15-43.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.15.43\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-6-100.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.6.100\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-6-208.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.6.208\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-12-80.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.12.80\\\",\\\"primary\\\":false}],\\\"subnetId\\\":\\\"subnet-5fcf4c39\\\",\\\"requesterId\\\":\\\"AROAIHEI2G37MOBIMVFJM:i-036e525e159f62a5d\\\",\\\"description\\\":\\\"aws-K8S-i-036e525e159f62a5d\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"k8s-worker-nodes-dev-NodeSecurityGroup-12A693N5Z6ZU6\\\",\\\"groupId\\\":\\\"sg-00ba81535e246b255\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"172.31.12.12\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[{\\\"value\\\":\\\"i-036e525e159f62a5d\\\",\\\"key\\\":\\\"node.k8s.amazonaws.com/instance_id\\\"}],\\\"macAddress\\\":\\\"02:fe:1f:b3:78:94\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"privateDnsName\\\":\\\"ip-172-31-12-12.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-3c3b705a","subnetId":"subnet-5fcf4c39","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0ea6739d9f2a567c5","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[{\"tag\":\"node.k8s.amazonaws.com/instance_id=i-036e525e159f62a5d\",\"value\":\"i-036e525e159f62a5d\",\"key\":\"node.k8s.amazonaws.com/instance_id\"}]","title":"eni-0ea6739d9f2a567c5","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0f1843fb4c77fdfef","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0f1843fb4c77fdfef","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0f1843fb4c77fdfef\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-172-31-8-143.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.8.143\\\",\\\"primary\\\":true},{\\\"privateDnsName\\\":\\\"ip-172-31-11-58.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.11.58\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-3-138.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.3.138\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-2-20.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.2.20\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-6-177.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.6.177\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-0-32.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.0.32\\\",\\\"primary\\\":false}],\\\"subnetId\\\":\\\"subnet-5fcf4c39\\\",\\\"requesterId\\\":\\\"AROAIHEI2G37MOBIMVFJM:i-0e1173a5831806ee9\\\",\\\"description\\\":\\\"aws-K8S-i-0e1173a5831806ee9\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"k8s-worker-nodes-dev-NodeSecurityGroup-12A693N5Z6ZU6\\\",\\\"groupId\\\":\\\"sg-00ba81535e246b255\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"172.31.8.143\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[{\\\"value\\\":\\\"i-0e1173a5831806ee9\\\",\\\"key\\\":\\\"node.k8s.amazonaws.com/instance_id\\\"}],\\\"macAddress\\\":\\\"02:f2:0f:1f:e2:ee\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"privateDnsName\\\":\\\"ip-172-31-8-143.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-3c3b705a","subnetId":"subnet-5fcf4c39","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0f1843fb4c77fdfef","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[{\"tag\":\"node.k8s.amazonaws.com/instance_id=i-0e1173a5831806ee9\",\"value\":\"i-0e1173a5831806ee9\",\"key\":\"node.k8s.amazonaws.com/instance_id\"}]","title":"eni-0f1843fb4c77fdfef","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0095dcb0b33af1971","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0095dcb0b33af1971","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0095dcb0b33af1971\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"060997615305\\\",\\\"allocationId\\\":\\\"eipalloc-0d8024666337a2412\\\",\\\"publicIp\\\":\\\"52.208.51.34\\\",\\\"publicDnsName\\\":\\\"ec2-52-208-51-34.eu-west-1.compute.amazonaws.com\\\",\\\"associationId\\\":\\\"eipassoc-0f324a0e5f8bf4529\\\"},\\\"privateDnsName\\\":\\\"ip-172-31-0-201.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.0.201\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-5fcf4c39\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"060997615305\\\",\\\"allocationId\\\":\\\"eipalloc-0d8024666337a2412\\\",\\\"publicIp\\\":\\\"52.208.51.34\\\",\\\"publicDnsName\\\":\\\"ec2-52-208-51-34.eu-west-1.compute.amazonaws.com\\\",\\\"associationId\\\":\\\"eipassoc-0f324a0e5f8bf4529\\\"},\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-96788cea\\\"},{\\\"groupName\\\":\\\"awseb-e-w6mearyryk-stack-AWSEBSecurityGroup-1QN1HFTTTDQ03\\\",\\\"groupId\\\":\\\"sg-0ecc4d031c5673922\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"172.31.0.201\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:22:42:c7:6a:2f\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"instanceId\\\":\\\"i-01ce9288893dcf6eb\\\",\\\"attachmentId\\\":\\\"eni-attach-0da2531d706e4882b\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"instanceOwnerId\\\":\\\"060997615305\\\",\\\"attachTime\\\":\\\"2023-04-09T06:01:12.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"privateDnsName\\\":\\\"ip-172-31-0-201.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-3c3b705a","subnetId":"subnet-5fcf4c39","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0095dcb0b33af1971","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0095dcb0b33af1971","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-079df4b65ac79c0a3","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-079df4b65ac79c0a3","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-079df4b65ac79c0a3\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon-elb\\\",\\\"publicIp\\\":\\\"3.248.239.57\\\",\\\"publicDnsName\\\":\\\"ec2-3-248-239-57.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-172-31-10-193.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.10.193\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-5fcf4c39\\\",\\\"requesterId\\\":\\\"amazon-elb\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon-elb\\\",\\\"publicIp\\\":\\\"3.248.239.57\\\",\\\"publicDnsName\\\":\\\"ec2-3-248-239-57.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"ELB a24d5e83c936711e9812b06b4550bdce\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"k8s-elb-a24d5e83c936711e9812b06b4550bdce\\\",\\\"groupId\\\":\\\"sg-09eafe5c6ba9f53bf\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"172.31.10.193\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:7d:54:15:5c:99\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0eb165890965e789c\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-elb\\\",\\\"attachTime\\\":\\\"2023-04-15T04:15:06.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"privateDnsName\\\":\\\"ip-172-31-10-193.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-3c3b705a","subnetId":"subnet-5fcf4c39","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-079df4b65ac79c0a3","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-079df4b65ac79c0a3","instanceType":null,"statement":null,"dBInstanceStatus":null}}]},{"id":null,"label":"Instance","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:instance/i-01ce9288893dcf6eb","label":"AWS_EC2_Instance","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:instance/i-01ce9288893dcf6eb","configuration":"\"{\\\"subnetId\\\":\\\"subnet-5fcf4c39\\\",\\\"virtualizationType\\\":\\\"hvm\\\",\\\"capacityReservationSpecification\\\":{\\\"capacityReservationPreference\\\":\\\"open\\\"},\\\"amiLaunchIndex\\\":0,\\\"enaSupport\\\":true,\\\"elasticInferenceAcceleratorAssociations\\\":[],\\\"sourceDestCheck\\\":true,\\\"hibernationOptions\\\":{\\\"configured\\\":false},\\\"instanceId\\\":\\\"i-01ce9288893dcf6eb\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"hypervisor\\\":\\\"xen\\\",\\\"rootDeviceName\\\":\\\"/dev/xvda\\\",\\\"productCodes\\\":[],\\\"state\\\":{\\\"code\\\":\\\"16\\\",\\\"name\\\":\\\"running\\\"},\\\"architecture\\\":\\\"x86_64\\\",\\\"ebsOptimized\\\":false,\\\"imageId\\\":\\\"ami-00d8c6c39db0049ec\\\",\\\"blockDeviceMappings\\\":[{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-0d78383096dd33be6\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2023-04-09T06:01:13.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvda\\\"}],\\\"publicIpAddress\\\":\\\"52.208.51.34\\\",\\\"stateTransitionReason\\\":\\\"\\\",\\\"clientToken\\\":\\\"e2261d92-6abc-d65b-ee49-beffa31cef5a\\\",\\\"instanceType\\\":\\\"t2.micro\\\",\\\"cpuOptions\\\":{\\\"threadsPerCore\\\":1,\\\"coreCount\\\":1},\\\"monitoring\\\":{\\\"state\\\":\\\"disabled\\\"},\\\"publicDnsName\\\":\\\"ec2-52-208-51-34.eu-west-1.compute.amazonaws.com\\\",\\\"iamInstanceProfile\\\":{\\\"id\\\":\\\"AIPAJSMVZMY2WHQWICQT6\\\",\\\"arn\\\":\\\"arn:aws:iam::060997615305:instance-profile/aws-elasticbeanstalk-ec2-role\\\"},\\\"privateIpAddress\\\":\\\"172.31.0.201\\\",\\\"rootDeviceType\\\":\\\"ebs\\\",\\\"tags\\\":[{\\\"value\\\":\\\"AWSEBAutoScalingGroup\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/awseb-e-w6mearyryk-stack/55b06e90-bc6b-11ea-aa61-0a535c7d72e8\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"awseb-e-w6mearyryk-stack\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"Help56-env\\\",\\\"key\\\":\\\"elasticbeanstalk:environment-name\\\"},{\\\"value\\\":\\\"Help56-env\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"awseb-e-w6mearyryk-stack-AWSEBAutoScalingGroup-1PXK2KSRRLL4Y\\\",\\\"key\\\":\\\"aws:autoscaling:groupName\\\"},{\\\"value\\\":\\\"e-w6mearyryk\\\",\\\"key\\\":\\\"elasticbeanstalk:environment-id\\\"}],\\\"enclaveOptions\\\":{\\\"enabled\\\":false},\\\"launchTime\\\":\\\"2023-04-09T06:01:12.000Z\\\",\\\"elasticGpuAssociations\\\":[],\\\"licenses\\\":[],\\\"networkInterfaces\\\":[{\\\"networkInterfaceId\\\":\\\"eni-0095dcb0b33af1971\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"060997615305\\\",\\\"publicIp\\\":\\\"52.208.51.34\\\",\\\"publicDnsName\\\":\\\"ec2-52-208-51-34.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-172-31-0-201.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.0.201\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-5fcf4c39\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"060997615305\\\",\\\"publicIp\\\":\\\"52.208.51.34\\\",\\\"publicDnsName\\\":\\\"ec2-52-208-51-34.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"awseb-e-w6mearyryk-stack-AWSEBSecurityGroup-1QN1HFTTTDQ03\\\",\\\"groupId\\\":\\\"sg-0ecc4d031c5673922\\\"},{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-96788cea\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"privateIpAddress\\\":\\\"172.31.0.201\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"macAddress\\\":\\\"02:22:42:c7:6a:2f\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0da2531d706e4882b\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"attachTime\\\":\\\"2023-04-09T06:01:12.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"privateDnsName\\\":\\\"ip-172-31-0-201.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}],\\\"metadataOptions\\\":{\\\"httpPutResponseHopLimit\\\":1,\\\"httpEndpoint\\\":\\\"enabled\\\",\\\"state\\\":\\\"applied\\\",\\\"httpTokens\\\":\\\"optional\\\"},\\\"privateDnsName\\\":\\\"ip-172-31-0-201.eu-west-1.compute.internal\\\",\\\"securityGroups\\\":[{\\\"groupName\\\":\\\"awseb-e-w6mearyryk-stack-AWSEBSecurityGroup-1QN1HFTTTDQ03\\\",\\\"groupId\\\":\\\"sg-0ecc4d031c5673922\\\"},{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-96788cea\\\"}],\\\"placement\\\":{\\\"groupName\\\":\\\"\\\",\\\"tenancy\\\":\\\"default\\\",\\\"availabilityZone\\\":\\\"eu-west-1c\\\"}}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-3c3b705a","subnetId":"subnet-5fcf4c39","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#Instances:sort=instanceId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#Instances:sort=instanceId","private":null,"resourceId":"i-01ce9288893dcf6eb","resourceName":null,"resourceType":"AWS::EC2::Instance","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=awseb-e-w6mearyryk-stack\",\"value\":\"awseb-e-w6mearyryk-stack\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:autoscaling:groupName=awseb-e-w6mearyryk-stack-AWSEBAutoScalingGroup-1PXK2KSRRLL4Y\",\"value\":\"awseb-e-w6mearyryk-stack-AWSEBAutoScalingGroup-1PXK2KSRRLL4Y\",\"key\":\"aws:autoscaling:groupName\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/awseb-e-w6mearyryk-stack/55b06e90-bc6b-11ea-aa61-0a535c7d72e8\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/awseb-e-w6mearyryk-stack/55b06e90-bc6b-11ea-aa61-0a535c7d72e8\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"elasticbeanstalk:environment-name=Help56-env\",\"value\":\"Help56-env\",\"key\":\"elasticbeanstalk:environment-name\"},{\"tag\":\"aws:cloudformation:logical-id=AWSEBAutoScalingGroup\",\"value\":\"AWSEBAutoScalingGroup\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"elasticbeanstalk:environment-id=e-w6mearyryk\",\"value\":\"e-w6mearyryk\",\"key\":\"elasticbeanstalk:environment-id\"},{\"tag\":\"Name=Help56-env\",\"value\":\"Help56-env\",\"key\":\"Name\"}]","title":"Help56-env","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}]}]},{"id":null,"label":"eu-west-1b","parent":null,"type":"availabilityZone","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-22864b78","label":"subnet-22864b78","parent":null,"type":"subnet","data":{"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-22864b78","configuration":"\"{\\\"subnetId\\\":\\\"subnet-22864b78\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-22864b78\\\",\\\"availabilityZoneId\\\":\\\"euw1-az3\\\",\\\"cidrBlock\\\":\\\"172.31.32.0/20\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[],\\\"availableIpAddressCount\\\":4084,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"mapPublicIpOnLaunch\\\":true,\\\"defaultForAz\\\":true,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-3c3b705a","subnetId":"subnet-22864b78","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":null,"resourceId":"subnet-22864b78","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[]","title":"subnet-22864b78","instanceType":null,"statement":null,"dBInstanceStatus":null},"id":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-22864b78","label":"AWS_EC2_Subnet"},"properties":null,"children":[{"id":null,"label":"NetworkInterface","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-02fdc2d678bacdbeb","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-02fdc2d678bacdbeb","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-02fdc2d678bacdbeb\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-172-31-36-100.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.36.100\\\",\\\"primary\\\":true},{\\\"privateDnsName\\\":\\\"ip-172-31-39-222.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.39.222\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-39-45.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.39.45\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-46-122.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.46.122\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-33-66.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.33.66\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-35-145.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.35.145\\\",\\\"primary\\\":false}],\\\"subnetId\\\":\\\"subnet-22864b78\\\",\\\"requesterId\\\":\\\"AROAIHEI2G37MOBIMVFJM:i-0cb50cab2f772e1c9\\\",\\\"description\\\":\\\"aws-K8S-i-0cb50cab2f772e1c9\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"k8s-worker-nodes-dev-NodeSecurityGroup-12A693N5Z6ZU6\\\",\\\"groupId\\\":\\\"sg-00ba81535e246b255\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"172.31.36.100\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[{\\\"value\\\":\\\"i-0cb50cab2f772e1c9\\\",\\\"key\\\":\\\"node.k8s.amazonaws.com/instance_id\\\"}],\\\"macAddress\\\":\\\"0a:ad:87:da:a5:40\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"privateDnsName\\\":\\\"ip-172-31-36-100.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-3c3b705a","subnetId":"subnet-22864b78","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-02fdc2d678bacdbeb","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[{\"tag\":\"node.k8s.amazonaws.com/instance_id=i-0cb50cab2f772e1c9\",\"value\":\"i-0cb50cab2f772e1c9\",\"key\":\"node.k8s.amazonaws.com/instance_id\"}]","title":"eni-02fdc2d678bacdbeb","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0adfcf0a875bc3ec8","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0adfcf0a875bc3ec8","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0adfcf0a875bc3ec8\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon-elb\\\",\\\"publicIp\\\":\\\"54.72.29.159\\\",\\\"publicDnsName\\\":\\\"ec2-54-72-29-159.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-172-31-32-241.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.32.241\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-22864b78\\\",\\\"requesterId\\\":\\\"amazon-elb\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon-elb\\\",\\\"publicIp\\\":\\\"54.72.29.159\\\",\\\"publicDnsName\\\":\\\"ec2-54-72-29-159.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"ELB a3a680e4cbdb811e9a8b30a8ac757ccc\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"k8s-elb-a3a680e4cbdb811e9a8b30a8ac757ccc\\\",\\\"groupId\\\":\\\"sg-07cd255b1c97fe1a1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"172.31.32.241\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:63:ff:9f:56:dd\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0c3eab5403c91758a\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-elb\\\",\\\"attachTime\\\":\\\"2023-04-06T07:03:21.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"privateDnsName\\\":\\\"ip-172-31-32-241.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-3c3b705a","subnetId":"subnet-22864b78","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0adfcf0a875bc3ec8","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0adfcf0a875bc3ec8","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}]}]},{"id":null,"label":"eu-west-1a","parent":null,"type":"availabilityZone","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-32eb787a","label":"subnet-32eb787a","parent":null,"type":"subnet","data":{"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-32eb787a","configuration":"\"{\\\"subnetId\\\":\\\"subnet-32eb787a\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-32eb787a\\\",\\\"availabilityZoneId\\\":\\\"euw1-az2\\\",\\\"cidrBlock\\\":\\\"172.31.16.0/20\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[],\\\"availableIpAddressCount\\\":4077,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"mapPublicIpOnLaunch\\\":true,\\\"defaultForAz\\\":true,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-3c3b705a","subnetId":"subnet-32eb787a","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":null,"resourceId":"subnet-32eb787a","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[]","title":"subnet-32eb787a","instanceType":null,"statement":null,"dBInstanceStatus":null},"id":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-32eb787a","label":"AWS_EC2_Subnet"},"properties":null,"children":[{"id":null,"label":"NetworkInterface","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-06ce4a25fb2b27aec","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-06ce4a25fb2b27aec","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-06ce4a25fb2b27aec\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-172-31-27-218.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.27.218\\\",\\\"primary\\\":true},{\\\"privateDnsName\\\":\\\"ip-172-31-16-111.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.16.111\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-29-13.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.29.13\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-30-151.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.30.151\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-26-230.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.26.230\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-21-100.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.21.100\\\",\\\"primary\\\":false}],\\\"subnetId\\\":\\\"subnet-32eb787a\\\",\\\"requesterId\\\":\\\"AROAIHEI2G37MOBIMVFJM:i-07cd97dc141f3b745\\\",\\\"description\\\":\\\"aws-K8S-i-07cd97dc141f3b745\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"k8s-worker-nodes-dev-NodeSecurityGroup-12A693N5Z6ZU6\\\",\\\"groupId\\\":\\\"sg-00ba81535e246b255\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"172.31.27.218\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[{\\\"value\\\":\\\"i-07cd97dc141f3b745\\\",\\\"key\\\":\\\"node.k8s.amazonaws.com/instance_id\\\"}],\\\"macAddress\\\":\\\"06:4f:89:38:b4:58\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"privateDnsName\\\":\\\"ip-172-31-27-218.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-3c3b705a","subnetId":"subnet-32eb787a","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-06ce4a25fb2b27aec","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[{\"tag\":\"node.k8s.amazonaws.com/instance_id=i-07cd97dc141f3b745\",\"value\":\"i-07cd97dc141f3b745\",\"key\":\"node.k8s.amazonaws.com/instance_id\"}]","title":"eni-06ce4a25fb2b27aec","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0d887e9138402fb38","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0d887e9138402fb38","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0d887e9138402fb38\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-172-31-24-39.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.24.39\\\",\\\"primary\\\":true},{\\\"privateDnsName\\\":\\\"ip-172-31-19-141.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.19.141\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-17-102.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.17.102\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-23-229.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.23.229\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-31-180.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.31.180\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-16-113.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.16.113\\\",\\\"primary\\\":false}],\\\"subnetId\\\":\\\"subnet-32eb787a\\\",\\\"requesterId\\\":\\\"AROAIHEI2G37MOBIMVFJM:i-0e60d2549d6fee1f6\\\",\\\"description\\\":\\\"aws-K8S-i-0e60d2549d6fee1f6\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"k8s-worker-nodes-dev-NodeSecurityGroup-12A693N5Z6ZU6\\\",\\\"groupId\\\":\\\"sg-00ba81535e246b255\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"172.31.24.39\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[{\\\"value\\\":\\\"i-0e60d2549d6fee1f6\\\",\\\"key\\\":\\\"node.k8s.amazonaws.com/instance_id\\\"}],\\\"macAddress\\\":\\\"06:a4:ba:23:93:a0\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"privateDnsName\\\":\\\"ip-172-31-24-39.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-3c3b705a","subnetId":"subnet-32eb787a","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0d887e9138402fb38","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[{\"tag\":\"node.k8s.amazonaws.com/instance_id=i-0e60d2549d6fee1f6\",\"value\":\"i-0e60d2549d6fee1f6\",\"key\":\"node.k8s.amazonaws.com/instance_id\"}]","title":"eni-0d887e9138402fb38","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0ddd7423914f2c3db","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0ddd7423914f2c3db","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0ddd7423914f2c3db\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"34.255.214.173\\\",\\\"publicDnsName\\\":\\\"ec2-34-255-214-173.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-172-31-29-6.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.29.6\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-32eb787a\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"34.255.214.173\\\",\\\"publicDnsName\\\":\\\"ec2-34-255-214-173.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-96788cea\\\"},{\\\"groupName\\\":\\\"awseb-e-svj7v9rusk-stack-AWSEBSecurityGroup-TOA6CXMTGSY8\\\",\\\"groupId\\\":\\\"sg-0bd07be67c020ad07\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"172.31.29.6\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:c1:1e:5b:d7:5f\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"instanceId\\\":\\\"i-08c0e9618c880325e\\\",\\\"attachmentId\\\":\\\"eni-attach-043e1f34c89343e99\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"instanceOwnerId\\\":\\\"060997615305\\\",\\\"attachTime\\\":\\\"2022-02-10T18:01:31.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"privateDnsName\\\":\\\"ip-172-31-29-6.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-3c3b705a","subnetId":"subnet-32eb787a","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0ddd7423914f2c3db","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0ddd7423914f2c3db","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-00c5f1ddb04bb604c","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-00c5f1ddb04bb604c","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-00c5f1ddb04bb604c\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon-elb\\\",\\\"publicIp\\\":\\\"52.51.69.146\\\",\\\"publicDnsName\\\":\\\"ec2-52-51-69-146.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-172-31-26-103.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.26.103\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-32eb787a\\\",\\\"requesterId\\\":\\\"amazon-elb\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon-elb\\\",\\\"publicIp\\\":\\\"52.51.69.146\\\",\\\"publicDnsName\\\":\\\"ec2-52-51-69-146.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"ELB a7d4c34af3b7211e980b90a3ffe3de85\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"k8s-elb-a7d4c34af3b7211e980b90a3ffe3de85\\\",\\\"groupId\\\":\\\"sg-093e0c142114e7e4c\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"172.31.26.103\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:ec:24:ca:88:37\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-060ca3f0248904d0c\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-elb\\\",\\\"attachTime\\\":\\\"2023-04-16T20:16:21.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"privateDnsName\\\":\\\"ip-172-31-26-103.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-3c3b705a","subnetId":"subnet-32eb787a","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-00c5f1ddb04bb604c","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-00c5f1ddb04bb604c","instanceType":null,"statement":null,"dBInstanceStatus":null}}]},{"id":null,"label":"Instance","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:instance/i-08c0e9618c880325e","label":"AWS_EC2_Instance","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:instance/i-08c0e9618c880325e","configuration":"\"{\\\"subnetId\\\":\\\"subnet-32eb787a\\\",\\\"virtualizationType\\\":\\\"hvm\\\",\\\"capacityReservationSpecification\\\":{\\\"capacityReservationPreference\\\":\\\"open\\\"},\\\"amiLaunchIndex\\\":0,\\\"enaSupport\\\":true,\\\"elasticInferenceAcceleratorAssociations\\\":[],\\\"sourceDestCheck\\\":true,\\\"hibernationOptions\\\":{\\\"configured\\\":false},\\\"instanceId\\\":\\\"i-08c0e9618c880325e\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"hypervisor\\\":\\\"xen\\\",\\\"rootDeviceName\\\":\\\"/dev/xvda\\\",\\\"productCodes\\\":[],\\\"state\\\":{\\\"code\\\":\\\"16\\\",\\\"name\\\":\\\"running\\\"},\\\"architecture\\\":\\\"x86_64\\\",\\\"ebsOptimized\\\":false,\\\"imageId\\\":\\\"ami-06fea6b39deaea03c\\\",\\\"blockDeviceMappings\\\":[{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-0e36ea23777241376\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2022-02-10T18:01:32.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvda\\\"}],\\\"publicIpAddress\\\":\\\"34.255.214.173\\\",\\\"stateTransitionReason\\\":\\\"\\\",\\\"clientToken\\\":\\\"ea65fb93-3083-ff71-f13e-ec207286ebf9\\\",\\\"instanceType\\\":\\\"t2.micro\\\",\\\"cpuOptions\\\":{\\\"threadsPerCore\\\":1,\\\"coreCount\\\":1},\\\"monitoring\\\":{\\\"state\\\":\\\"disabled\\\"},\\\"publicDnsName\\\":\\\"ec2-34-255-214-173.eu-west-1.compute.amazonaws.com\\\",\\\"iamInstanceProfile\\\":{\\\"id\\\":\\\"AIPAJSMVZMY2WHQWICQT6\\\",\\\"arn\\\":\\\"arn:aws:iam::060997615305:instance-profile/aws-elasticbeanstalk-ec2-role\\\"},\\\"privateIpAddress\\\":\\\"172.31.29.6\\\",\\\"rootDeviceType\\\":\\\"ebs\\\",\\\"tags\\\":[{\\\"value\\\":\\\"awseb-e-svj7v9rusk-stack-AWSEBAutoScalingGroup-13N519RU4DHXO\\\",\\\"key\\\":\\\"aws:autoscaling:groupName\\\"},{\\\"value\\\":\\\"Help56-env-1\\\",\\\"key\\\":\\\"elasticbeanstalk:environment-name\\\"},{\\\"value\\\":\\\"AWSEBAutoScalingGroup\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/awseb-e-svj7v9rusk-stack/0edbcfa0-bc7a-11ea-9736-0aac29486886\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"awseb-e-svj7v9rusk-stack\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"Help56-env-1\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"e-svj7v9rusk\\\",\\\"key\\\":\\\"elasticbeanstalk:environment-id\\\"}],\\\"enclaveOptions\\\":{\\\"enabled\\\":false},\\\"launchTime\\\":\\\"2022-02-10T18:01:31.000Z\\\",\\\"elasticGpuAssociations\\\":[],\\\"licenses\\\":[],\\\"networkInterfaces\\\":[{\\\"networkInterfaceId\\\":\\\"eni-0ddd7423914f2c3db\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"34.255.214.173\\\",\\\"publicDnsName\\\":\\\"ec2-34-255-214-173.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-172-31-29-6.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.29.6\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-32eb787a\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"34.255.214.173\\\",\\\"publicDnsName\\\":\\\"ec2-34-255-214-173.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"awseb-e-svj7v9rusk-stack-AWSEBSecurityGroup-TOA6CXMTGSY8\\\",\\\"groupId\\\":\\\"sg-0bd07be67c020ad07\\\"},{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-96788cea\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"privateIpAddress\\\":\\\"172.31.29.6\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"macAddress\\\":\\\"06:c1:1e:5b:d7:5f\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-043e1f34c89343e99\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"attachTime\\\":\\\"2022-02-10T18:01:31.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"privateDnsName\\\":\\\"ip-172-31-29-6.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}],\\\"metadataOptions\\\":{\\\"httpPutResponseHopLimit\\\":1,\\\"httpEndpoint\\\":\\\"enabled\\\",\\\"state\\\":\\\"applied\\\",\\\"httpTokens\\\":\\\"optional\\\"},\\\"privateDnsName\\\":\\\"ip-172-31-29-6.eu-west-1.compute.internal\\\",\\\"securityGroups\\\":[{\\\"groupName\\\":\\\"awseb-e-svj7v9rusk-stack-AWSEBSecurityGroup-TOA6CXMTGSY8\\\",\\\"groupId\\\":\\\"sg-0bd07be67c020ad07\\\"},{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-96788cea\\\"}],\\\"placement\\\":{\\\"groupName\\\":\\\"\\\",\\\"tenancy\\\":\\\"default\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\"}}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-3c3b705a","subnetId":"subnet-32eb787a","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#Instances:sort=instanceId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#Instances:sort=instanceId","private":null,"resourceId":"i-08c0e9618c880325e","resourceName":null,"resourceType":"AWS::EC2::Instance","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:autoscaling:groupName=awseb-e-svj7v9rusk-stack-AWSEBAutoScalingGroup-13N519RU4DHXO\",\"value\":\"awseb-e-svj7v9rusk-stack-AWSEBAutoScalingGroup-13N519RU4DHXO\",\"key\":\"aws:autoscaling:groupName\"},{\"tag\":\"aws:cloudformation:stack-name=awseb-e-svj7v9rusk-stack\",\"value\":\"awseb-e-svj7v9rusk-stack\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/awseb-e-svj7v9rusk-stack/0edbcfa0-bc7a-11ea-9736-0aac29486886\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/awseb-e-svj7v9rusk-stack/0edbcfa0-bc7a-11ea-9736-0aac29486886\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"elasticbeanstalk:environment-name=Help56-env-1\",\"value\":\"Help56-env-1\",\"key\":\"elasticbeanstalk:environment-name\"},{\"tag\":\"aws:cloudformation:logical-id=AWSEBAutoScalingGroup\",\"value\":\"AWSEBAutoScalingGroup\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"elasticbeanstalk:environment-id=e-svj7v9rusk\",\"value\":\"e-svj7v9rusk\",\"key\":\"elasticbeanstalk:environment-id\"},{\"tag\":\"Name=Help56-env-1\",\"value\":\"Help56-env-1\",\"key\":\"Name\"}]","title":"Help56-env-1","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}]}]},{"id":null,"label":"Multiple Availability Zones","parent":null,"type":"availabilityZone","data":null,"properties":null,"children":[{"id":null,"label":"NetworkAcl","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-7cc60405","label":"AWS_EC2_NetworkAcl","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-7cc60405","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-32eb787a\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-8f5c58f0\\\",\\\"networkAclId\\\":\\\"acl-7cc60405\\\"},{\\\"subnetId\\\":\\\"subnet-5fcf4c39\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-905c58ef\\\",\\\"networkAclId\\\":\\\"acl-7cc60405\\\"},{\\\"subnetId\\\":\\\"subnet-22864b78\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-8e5c58f1\\\",\\\"networkAclId\\\":\\\"acl-7cc60405\\\"}],\\\"entries\\\":[{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":false},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":false}],\\\"isDefault\\\":true,\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"networkAclId\\\":\\\"acl-7cc60405\\\",\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#acls:sort=networkAclId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#acls:sort=networkAclId","private":null,"resourceId":"acl-7cc60405","resourceName":null,"resourceType":"AWS::EC2::NetworkAcl","resourceValue":null,"state":null,"tags":"[]","title":"acl-7cc60405","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]},{"id":null,"label":"InternetGateway","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:internet-gateway/igw-3c9fd05b","label":"AWS_EC2_InternetGateway","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:internet-gateway/igw-3c9fd05b","configuration":"\"{\\\"attachments\\\":[{\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"state\\\":\\\"available\\\"}],\\\"internetGatewayId\\\":\\\"igw-3c9fd05b\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#igws:sort=internetGatewayId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#igws:sort=internetGatewayId","private":null,"resourceId":"igw-3c9fd05b","resourceName":null,"resourceType":"AWS::EC2::InternetGateway","resourceValue":null,"state":null,"tags":"[]","title":"igw-3c9fd05b","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]},{"id":null,"label":"DBSubnetGroup","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:rds:eu-west-1:060997615305:subgrp:default-vpc-3c3b705a","label":"AWS_RDS_DBSubnetGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:rds:eu-west-1:060997615305:subgrp:default-vpc-3c3b705a","configuration":"\"{\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"dBSubnetGroupArn\\\":\\\"arn:aws:rds:eu-west-1:060997615305:subgrp:default-vpc-3c3b705a\\\",\\\"subnets\\\":[{\\\"subnetIdentifier\\\":\\\"subnet-5fcf4c39\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1c\\\"}},{\\\"subnetIdentifier\\\":\\\"subnet-32eb787a\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1a\\\"}},{\\\"subnetIdentifier\\\":\\\"subnet-22864b78\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1b\\\"}}],\\\"subnetGroupStatus\\\":\\\"Complete\\\",\\\"dBSubnetGroupName\\\":\\\"default-vpc-3c3b705a\\\",\\\"dBSubnetGroupDescription\\\":\\\"Created from the RDS Management Console\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"default-vpc-3c3b705a","resourceName":"default-vpc-3c3b705a","resourceType":"AWS::RDS::DBSubnetGroup","resourceValue":null,"state":null,"tags":"[]","title":"default-vpc-3c3b705a","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]},{"id":null,"label":"LoadBalancer","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:elasticloadbalancing:eu-west-1:060997615305:loadbalancer/a7d4c34af3b7211e980b90a3ffe3de85","label":"AWS_ElasticLoadBalancing_LoadBalancer","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:elasticloadbalancing:eu-west-1:060997615305:loadbalancer/a7d4c34af3b7211e980b90a3ffe3de85","configuration":"\"{\\\"canonicalHostedZoneNameID\\\":\\\"Z32O12XQLNTSW2\\\",\\\"scheme\\\":\\\"internet-facing\\\",\\\"policies\\\":{\\\"lbcookieStickinessPolicies\\\":[],\\\"appCookieStickinessPolicies\\\":[],\\\"otherPolicies\\\":[]},\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"}],\\\"backendServerDescriptions\\\":[],\\\"sourceSecurityGroup\\\":{\\\"ownerAlias\\\":\\\"060997615305\\\",\\\"groupName\\\":\\\"k8s-elb-a7d4c34af3b7211e980b90a3ffe3de85\\\"},\\\"loadBalancerName\\\":\\\"a7d4c34af3b7211e980b90a3ffe3de85\\\",\\\"listenerDescriptions\\\":[{\\\"listener\\\":{\\\"instancePort\\\":30454,\\\"instanceProtocol\\\":\\\"TCP\\\",\\\"protocol\\\":\\\"TCP\\\",\\\"loadBalancerPort\\\":80},\\\"policyNames\\\":[]}],\\\"vpcid\\\":\\\"vpc-3c3b705a\\\",\\\"dnsname\\\":\\\"a7d4c34af3b7211e980b90a3ffe3de85-733938466.eu-west-1.elb.amazonaws.com\\\",\\\"createdTime\\\":1551369853730,\\\"subnets\\\":[{\\\"value\\\":\\\"subnet-22864b78\\\"},{\\\"value\\\":\\\"subnet-32eb787a\\\"},{\\\"value\\\":\\\"subnet-5fcf4c39\\\"}],\\\"securityGroups\\\":[{\\\"value\\\":\\\"sg-093e0c142114e7e4c\\\"}],\\\"canonicalHostedZoneName\\\":\\\"a7d4c34af3b7211e980b90a3ffe3de85-733938466.eu-west-1.elb.amazonaws.com\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"a7d4c34af3b7211e980b90a3ffe3de85","resourceName":"a7d4c34af3b7211e980b90a3ffe3de85","resourceType":"AWS::ElasticLoadBalancing::LoadBalancer","resourceValue":null,"state":null,"tags":"[{\"tag\":\"kubernetes.io/service-name=default/guestbook\",\"value\":\"default/guestbook\",\"key\":\"kubernetes.io/service-name\"},{\"tag\":\"kubernetes.io/cluster/k8s-dev=owned\",\"value\":\"owned\",\"key\":\"kubernetes.io/cluster/k8s-dev\"}]","title":"a7d4c34af3b7211e980b90a3ffe3de85","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:elasticloadbalancing:eu-west-1:060997615305:loadbalancer/a24d5e83c936711e9812b06b4550bdce","label":"AWS_ElasticLoadBalancing_LoadBalancer","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:elasticloadbalancing:eu-west-1:060997615305:loadbalancer/a24d5e83c936711e9812b06b4550bdce","configuration":"\"{\\\"canonicalHostedZoneNameID\\\":\\\"Z32O12XQLNTSW2\\\",\\\"scheme\\\":\\\"internet-facing\\\",\\\"policies\\\":{\\\"lbcookieStickinessPolicies\\\":[],\\\"appCookieStickinessPolicies\\\":[],\\\"otherPolicies\\\":[]},\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"}],\\\"backendServerDescriptions\\\":[],\\\"sourceSecurityGroup\\\":{\\\"ownerAlias\\\":\\\"060997615305\\\",\\\"groupName\\\":\\\"k8s-elb-a24d5e83c936711e9812b06b4550bdce\\\"},\\\"loadBalancerName\\\":\\\"a24d5e83c936711e9812b06b4550bdce\\\",\\\"listenerDescriptions\\\":[{\\\"listener\\\":{\\\"instancePort\\\":32697,\\\"instanceProtocol\\\":\\\"TCP\\\",\\\"protocol\\\":\\\"TCP\\\",\\\"loadBalancerPort\\\":80},\\\"policyNames\\\":[]}],\\\"vpcid\\\":\\\"vpc-3c3b705a\\\",\\\"dnsname\\\":\\\"a24d5e83c936711e9812b06b4550bdce-1892023076.eu-west-1.elb.amazonaws.com\\\",\\\"createdTime\\\":1561040683310,\\\"subnets\\\":[{\\\"value\\\":\\\"subnet-22864b78\\\"},{\\\"value\\\":\\\"subnet-32eb787a\\\"},{\\\"value\\\":\\\"subnet-5fcf4c39\\\"}],\\\"securityGroups\\\":[{\\\"value\\\":\\\"sg-09eafe5c6ba9f53bf\\\"}],\\\"canonicalHostedZoneName\\\":\\\"a24d5e83c936711e9812b06b4550bdce-1892023076.eu-west-1.elb.amazonaws.com\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"a24d5e83c936711e9812b06b4550bdce","resourceName":"a24d5e83c936711e9812b06b4550bdce","resourceType":"AWS::ElasticLoadBalancing::LoadBalancer","resourceValue":null,"state":null,"tags":"[{\"tag\":\"kubernetes.io/service-name=dev/docker-tutorial\",\"value\":\"dev/docker-tutorial\",\"key\":\"kubernetes.io/service-name\"},{\"tag\":\"kubernetes.io/cluster/k8s-dev=owned\",\"value\":\"owned\",\"key\":\"kubernetes.io/cluster/k8s-dev\"}]","title":"a24d5e83c936711e9812b06b4550bdce","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:elasticloadbalancing:eu-west-1:060997615305:loadbalancer/a3a680e4cbdb811e9a8b30a8ac757ccc","label":"AWS_ElasticLoadBalancing_LoadBalancer","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:elasticloadbalancing:eu-west-1:060997615305:loadbalancer/a3a680e4cbdb811e9a8b30a8ac757ccc","configuration":"\"{\\\"canonicalHostedZoneNameID\\\":\\\"Z32O12XQLNTSW2\\\",\\\"scheme\\\":\\\"internet-facing\\\",\\\"policies\\\":{\\\"lbcookieStickinessPolicies\\\":[],\\\"appCookieStickinessPolicies\\\":[],\\\"otherPolicies\\\":[]},\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"}],\\\"backendServerDescriptions\\\":[],\\\"sourceSecurityGroup\\\":{\\\"ownerAlias\\\":\\\"060997615305\\\",\\\"groupName\\\":\\\"k8s-elb-a3a680e4cbdb811e9a8b30a8ac757ccc\\\"},\\\"loadBalancerName\\\":\\\"a3a680e4cbdb811e9a8b30a8ac757ccc\\\",\\\"listenerDescriptions\\\":[{\\\"listener\\\":{\\\"instancePort\\\":30133,\\\"instanceProtocol\\\":\\\"TCP\\\",\\\"protocol\\\":\\\"TCP\\\",\\\"loadBalancerPort\\\":80},\\\"policyNames\\\":[]}],\\\"vpcid\\\":\\\"vpc-3c3b705a\\\",\\\"dnsname\\\":\\\"a3a680e4cbdb811e9a8b30a8ac757ccc-332781708.eu-west-1.elb.amazonaws.com\\\",\\\"createdTime\\\":1565693457150,\\\"subnets\\\":[{\\\"value\\\":\\\"subnet-22864b78\\\"},{\\\"value\\\":\\\"subnet-32eb787a\\\"},{\\\"value\\\":\\\"subnet-5fcf4c39\\\"}],\\\"securityGroups\\\":[{\\\"value\\\":\\\"sg-07cd255b1c97fe1a1\\\"}],\\\"canonicalHostedZoneName\\\":\\\"a3a680e4cbdb811e9a8b30a8ac757ccc-332781708.eu-west-1.elb.amazonaws.com\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"a3a680e4cbdb811e9a8b30a8ac757ccc","resourceName":"a3a680e4cbdb811e9a8b30a8ac757ccc","resourceType":"AWS::ElasticLoadBalancing::LoadBalancer","resourceValue":null,"state":null,"tags":"[{\"tag\":\"kubernetes.io/service-name=default/docker-tutorial\",\"value\":\"default/docker-tutorial\",\"key\":\"kubernetes.io/service-name\"},{\"tag\":\"kubernetes.io/cluster/k8s-dev=owned\",\"value\":\"owned\",\"key\":\"kubernetes.io/cluster/k8s-dev\"}]","title":"a3a680e4cbdb811e9a8b30a8ac757ccc","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#248814","properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a","configuration":"\"{\\\"instanceTenancy\\\":\\\"default\\\",\\\"isDefault\\\":true,\\\"dhcpOptionsId\\\":\\\"dopt-43b00b25\\\",\\\"cidrBlock\\\":\\\"172.31.0.0/16\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"cidrBlockAssociationSet\\\":[{\\\"cidrBlock\\\":\\\"172.31.0.0/16\\\",\\\"cidrBlockState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"associationId\\\":\\\"vpc-cidr-assoc-2d196f46\\\"}],\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipv6CidrBlockAssociationSet\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"shared\\\",\\\"key\\\":\\\"kubernetes.io/cluster/k8s-dev\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":null,"subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#vpcs:sort=VpcId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#vpcs:sort=VpcId","private":null,"resourceId":"vpc-3c3b705a","resourceName":null,"resourceType":"AWS::EC2::VPC","resourceValue":null,"state":null,"tags":"[{\"tag\":\"kubernetes.io/cluster/k8s-dev=shared\",\"value\":\"shared\",\"key\":\"kubernetes.io/cluster/k8s-dev\"}]","title":"vpc-3c3b705a","instanceType":null,"statement":null,"dBInstanceStatus":null},"resource":{"id":"vpc-3c3b705a","name":null,"value":null,"type":"AWS::EC2::VPC","tags":"[{\"tag\":\"kubernetes.io/cluster/k8s-dev=shared\",\"value\":\"shared\",\"key\":\"kubernetes.io/cluster/k8s-dev\"}]","arn":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#vpcs:sort=VpcId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#vpcs:sort=VpcId","accountId":"060997615305"},"selected":true},"position":{"x":-1743.5,"y":571.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"vpc removeAll _gridParentPadding"},{"data":{"id":"SecurityGroup-vpc-3c3b705a-eu-west-1-060997615305","parent":"vpc-3c3b705a-eu-west-1-060997615305","level":3,"title":"SecurityGroup","label":"SecurityGroup","plainLabel":"SecurityGroup","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/AWSSecurityGroup.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-04bb709828e34cba5","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-04bb709828e34cba5","configuration":"\"{\\\"groupName\\\":\\\"transr-3561\\\",\\\"groupId\\\":\\\"sg-04bb709828e34cba5\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"2019-07-25T15:24:01.346Z\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":80,\\\"toPort\\\":80,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-04bb709828e34cba5","resourceName":"transr-3561","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"transr-3561","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-04e763f68557f7749","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-04e763f68557f7749","configuration":"\"{\\\"groupName\\\":\\\"transr-831\\\",\\\"groupId\\\":\\\"sg-04e763f68557f7749\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"2019-07-25T15:48:41.625Z\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":80,\\\"toPort\\\":80,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-04e763f68557f7749","resourceName":"transr-831","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"transr-831","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0557b8bf309e79f18","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0557b8bf309e79f18","configuration":"\"{\\\"groupName\\\":\\\"transr-6637\\\",\\\"groupId\\\":\\\"sg-0557b8bf309e79f18\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"2019-07-25T15:58:24.812Z\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":80,\\\"toPort\\\":80,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0557b8bf309e79f18","resourceName":"transr-6637","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"transr-6637","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0583eb00a07bc4cde","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0583eb00a07bc4cde","configuration":"\"{\\\"groupName\\\":\\\"k8s-elb-a8b6c26482e1f11e9bfbb06e03663557\\\",\\\"groupId\\\":\\\"sg-0583eb00a07bc4cde\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"Security group for Kubernetes ELB a8b6c26482e1f11e9bfbb06e03663557 (default/guestbook)\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":80,\\\"toPort\\\":80,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":3,\\\"toPort\\\":4,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"icmp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[{\\\"value\\\":\\\"owned\\\",\\\"key\\\":\\\"kubernetes.io/cluster/k8s-dev\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0583eb00a07bc4cde","resourceName":"k8s-elb-a8b6c26482e1f11e9bfbb06e03663557","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[{\"tag\":\"kubernetes.io/cluster/k8s-dev=owned\",\"value\":\"owned\",\"key\":\"kubernetes.io/cluster/k8s-dev\"}]","title":"k8s-elb-a8b6c26482e1f11e9bfbb06e03663557","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-05dd21368fd62e946","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-05dd21368fd62e946","configuration":"\"{\\\"groupName\\\":\\\"ControlPlaneSecurityGroup\\\",\\\"groupId\\\":\\\"sg-05dd21368fd62e946\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[{\\\"cidrIpv6\\\":\\\"::/0\\\"}]}],\\\"description\\\":\\\"EKS Security Group\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-05dd21368fd62e946","resourceName":"ControlPlaneSecurityGroup","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"ControlPlaneSecurityGroup","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-07cd255b1c97fe1a1","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-07cd255b1c97fe1a1","configuration":"\"{\\\"groupName\\\":\\\"k8s-elb-a3a680e4cbdb811e9a8b30a8ac757ccc\\\",\\\"groupId\\\":\\\"sg-07cd255b1c97fe1a1\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"Security group for Kubernetes ELB a3a680e4cbdb811e9a8b30a8ac757ccc (default/docker-tutorial)\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":80,\\\"toPort\\\":80,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":3,\\\"toPort\\\":4,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"icmp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[{\\\"value\\\":\\\"owned\\\",\\\"key\\\":\\\"kubernetes.io/cluster/k8s-dev\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-07cd255b1c97fe1a1","resourceName":"k8s-elb-a3a680e4cbdb811e9a8b30a8ac757ccc","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[{\"tag\":\"kubernetes.io/cluster/k8s-dev=owned\",\"value\":\"owned\",\"key\":\"kubernetes.io/cluster/k8s-dev\"}]","title":"k8s-elb-a3a680e4cbdb811e9a8b30a8ac757ccc","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-093e0c142114e7e4c","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-093e0c142114e7e4c","configuration":"\"{\\\"groupName\\\":\\\"k8s-elb-a7d4c34af3b7211e980b90a3ffe3de85\\\",\\\"groupId\\\":\\\"sg-093e0c142114e7e4c\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"Security group for Kubernetes ELB a7d4c34af3b7211e980b90a3ffe3de85 (default/guestbook)\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":80,\\\"toPort\\\":80,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":3,\\\"toPort\\\":4,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"icmp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[{\\\"value\\\":\\\"owned\\\",\\\"key\\\":\\\"kubernetes.io/cluster/k8s-dev\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-093e0c142114e7e4c","resourceName":"k8s-elb-a7d4c34af3b7211e980b90a3ffe3de85","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[{\"tag\":\"kubernetes.io/cluster/k8s-dev=owned\",\"value\":\"owned\",\"key\":\"kubernetes.io/cluster/k8s-dev\"}]","title":"k8s-elb-a7d4c34af3b7211e980b90a3ffe3de85","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-09845e9fd4ed03442","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-09845e9fd4ed03442","configuration":"\"{\\\"groupName\\\":\\\"launch-wizard-1\\\",\\\"groupId\\\":\\\"sg-09845e9fd4ed03442\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"launch-wizard-1 created 2020-06-17T12:23:29.630+01:00\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":22,\\\"toPort\\\":22,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-09845e9fd4ed03442","resourceName":"launch-wizard-1","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"launch-wizard-1","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-09eafe5c6ba9f53bf","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-09eafe5c6ba9f53bf","configuration":"\"{\\\"groupName\\\":\\\"k8s-elb-a24d5e83c936711e9812b06b4550bdce\\\",\\\"groupId\\\":\\\"sg-09eafe5c6ba9f53bf\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"Security group for Kubernetes ELB a24d5e83c936711e9812b06b4550bdce (dev/docker-tutorial)\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":80,\\\"toPort\\\":80,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":3,\\\"toPort\\\":4,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"icmp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[{\\\"value\\\":\\\"owned\\\",\\\"key\\\":\\\"kubernetes.io/cluster/k8s-dev\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-09eafe5c6ba9f53bf","resourceName":"k8s-elb-a24d5e83c936711e9812b06b4550bdce","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[{\"tag\":\"kubernetes.io/cluster/k8s-dev=owned\",\"value\":\"owned\",\"key\":\"kubernetes.io/cluster/k8s-dev\"}]","title":"k8s-elb-a24d5e83c936711e9812b06b4550bdce","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0bd07be67c020ad07","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0bd07be67c020ad07","configuration":"\"{\\\"groupName\\\":\\\"awseb-e-svj7v9rusk-stack-AWSEBSecurityGroup-TOA6CXMTGSY8\\\",\\\"groupId\\\":\\\"sg-0bd07be67c020ad07\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"SecurityGroup for ElasticBeanstalk environment.\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/awseb-e-svj7v9rusk-stack/0edbcfa0-bc7a-11ea-9736-0aac29486886\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"awseb-e-svj7v9rusk-stack\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"e-svj7v9rusk\\\",\\\"key\\\":\\\"elasticbeanstalk:environment-id\\\"},{\\\"value\\\":\\\"AWSEBSecurityGroup\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"Help56-env-1\\\",\\\"key\\\":\\\"elasticbeanstalk:environment-name\\\"},{\\\"value\\\":\\\"Help56-env-1\\\",\\\"key\\\":\\\"Name\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0bd07be67c020ad07","resourceName":"awseb-e-svj7v9rusk-stack-AWSEBSecurityGroup-TOA6CXMTGSY8","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=awseb-e-svj7v9rusk-stack\",\"value\":\"awseb-e-svj7v9rusk-stack\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/awseb-e-svj7v9rusk-stack/0edbcfa0-bc7a-11ea-9736-0aac29486886\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/awseb-e-svj7v9rusk-stack/0edbcfa0-bc7a-11ea-9736-0aac29486886\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"elasticbeanstalk:environment-name=Help56-env-1\",\"value\":\"Help56-env-1\",\"key\":\"elasticbeanstalk:environment-name\"},{\"tag\":\"aws:cloudformation:logical-id=AWSEBSecurityGroup\",\"value\":\"AWSEBSecurityGroup\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"elasticbeanstalk:environment-id=e-svj7v9rusk\",\"value\":\"e-svj7v9rusk\",\"key\":\"elasticbeanstalk:environment-id\"},{\"tag\":\"Name=Help56-env-1\",\"value\":\"Help56-env-1\",\"key\":\"Name\"}]","title":"Help56-env-1","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0d3eb370ca6b0245b","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0d3eb370ca6b0245b","configuration":"\"{\\\"groupName\\\":\\\"transr-7480\\\",\\\"groupId\\\":\\\"sg-0d3eb370ca6b0245b\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"2019-07-25T15:54:01.128Z\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":80,\\\"toPort\\\":80,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0d3eb370ca6b0245b","resourceName":"transr-7480","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"transr-7480","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0ecc4d031c5673922","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0ecc4d031c5673922","configuration":"\"{\\\"groupName\\\":\\\"awseb-e-w6mearyryk-stack-AWSEBSecurityGroup-1QN1HFTTTDQ03\\\",\\\"groupId\\\":\\\"sg-0ecc4d031c5673922\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"SecurityGroup for ElasticBeanstalk environment.\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":80,\\\"toPort\\\":80,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[{\\\"value\\\":\\\"AWSEBSecurityGroup\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"Help56-env\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/awseb-e-w6mearyryk-stack/55b06e90-bc6b-11ea-aa61-0a535c7d72e8\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"awseb-e-w6mearyryk-stack\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"Help56-env\\\",\\\"key\\\":\\\"elasticbeanstalk:environment-name\\\"},{\\\"value\\\":\\\"e-w6mearyryk\\\",\\\"key\\\":\\\"elasticbeanstalk:environment-id\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0ecc4d031c5673922","resourceName":"awseb-e-w6mearyryk-stack-AWSEBSecurityGroup-1QN1HFTTTDQ03","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=awseb-e-w6mearyryk-stack\",\"value\":\"awseb-e-w6mearyryk-stack\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/awseb-e-w6mearyryk-stack/55b06e90-bc6b-11ea-aa61-0a535c7d72e8\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/awseb-e-w6mearyryk-stack/55b06e90-bc6b-11ea-aa61-0a535c7d72e8\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"elasticbeanstalk:environment-name=Help56-env\",\"value\":\"Help56-env\",\"key\":\"elasticbeanstalk:environment-name\"},{\"tag\":\"aws:cloudformation:logical-id=AWSEBSecurityGroup\",\"value\":\"AWSEBSecurityGroup\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"elasticbeanstalk:environment-id=e-w6mearyryk\",\"value\":\"e-w6mearyryk\",\"key\":\"elasticbeanstalk:environment-id\"},{\"tag\":\"Name=Help56-env\",\"value\":\"Help56-env\",\"key\":\"Name\"}]","title":"Help56-env","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0f2c00add4a70c83f","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0f2c00add4a70c83f","configuration":"\"{\\\"groupName\\\":\\\"AutoScaling-Security-Group-1\\\",\\\"groupId\\\":\\\"sg-0f2c00add4a70c83f\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"AutoScaling-Security-Group-1 (2019-04-10 17:56:23.193+01:00)\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":22,\\\"toPort\\\":22,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0f2c00add4a70c83f","resourceName":"AutoScaling-Security-Group-1","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"AutoScaling-Security-Group-1","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-96788cea","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-96788cea","configuration":"\"{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-96788cea\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"default VPC security group\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"81.100.217.103/32\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"81.100.217.103/32\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-96788cea","resourceName":"default","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"default","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-00ba81535e246b255","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-00ba81535e246b255","configuration":"\"{\\\"groupName\\\":\\\"k8s-worker-nodes-dev-NodeSecurityGroup-12A693N5Z6ZU6\\\",\\\"groupId\\\":\\\"sg-00ba81535e246b255\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"Security group for all nodes in the cluster\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":0,\\\"toPort\\\":65535,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[{\\\"value\\\":\\\"k8s-worker-nodes-dev\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/k8s-worker-nodes-dev/2ed97fe0-3b71-11e9-a65d-0295fc50fbd8\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"owned\\\",\\\"key\\\":\\\"kubernetes.io/cluster/k8s-dev\\\"},{\\\"value\\\":\\\"NodeSecurityGroup\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-00ba81535e246b255","resourceName":"k8s-worker-nodes-dev-NodeSecurityGroup-12A693N5Z6ZU6","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=k8s-worker-nodes-dev\",\"value\":\"k8s-worker-nodes-dev\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/k8s-worker-nodes-dev/2ed97fe0-3b71-11e9-a65d-0295fc50fbd8\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/k8s-worker-nodes-dev/2ed97fe0-3b71-11e9-a65d-0295fc50fbd8\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=NodeSecurityGroup\",\"value\":\"NodeSecurityGroup\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"kubernetes.io/cluster/k8s-dev=owned\",\"value\":\"owned\",\"key\":\"kubernetes.io/cluster/k8s-dev\"}]","title":"k8s-worker-nodes-dev-NodeSecurityGroup-12A693N5Z6ZU6","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0329e4f804998a32d","label":"AWS_EC2_SecurityGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0329e4f804998a32d","configuration":"\"{\\\"groupName\\\":\\\"transr-5686\\\",\\\"groupId\\\":\\\"sg-0329e4f804998a32d\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"2019-07-25T15:18:21.836Z\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":80,\\\"toPort\\\":80,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0329e4f804998a32d","resourceName":"transr-5686","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"transr-5686","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1687,"y":769.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-04bb709828e34cba5","resourceId":["sg-04bb709828e34cba5","arn:aws:ec2:eu-west-1:060997615305:security-group/sg-04bb709828e34cba5"],"parent":"SecurityGroup-vpc-3c3b705a-eu-west-1-060997615305","level":4,"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-04bb709828e34cba5","title":"transr-3561","label":"transr-3561","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-04bb709828e34cba5","image":"/icons/AWSSecurityGroup.svg","cost":0,"private":false,"resource":{"id":"sg-04bb709828e34cba5","name":"transr-3561","value":null,"type":"AWS::EC2::SecurityGroup","tags":"[]","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-04bb709828e34cba5","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-04bb709828e34cba5","configuration":"\"{\\\"groupName\\\":\\\"transr-3561\\\",\\\"groupId\\\":\\\"sg-04bb709828e34cba5\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"2019-07-25T15:24:01.346Z\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":80,\\\"toPort\\\":80,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-04bb709828e34cba5","resourceName":"transr-3561","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"transr-3561","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1796.5,"y":659.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-04e763f68557f7749","resourceId":["sg-04e763f68557f7749","arn:aws:ec2:eu-west-1:060997615305:security-group/sg-04e763f68557f7749"],"parent":"SecurityGroup-vpc-3c3b705a-eu-west-1-060997615305","level":4,"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-04e763f68557f7749","title":"transr-831","label":"transr-831","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-04e763f68557f7749","image":"/icons/AWSSecurityGroup.svg","cost":0,"private":false,"resource":{"id":"sg-04e763f68557f7749","name":"transr-831","value":null,"type":"AWS::EC2::SecurityGroup","tags":"[]","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-04e763f68557f7749","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-04e763f68557f7749","configuration":"\"{\\\"groupName\\\":\\\"transr-831\\\",\\\"groupId\\\":\\\"sg-04e763f68557f7749\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"2019-07-25T15:48:41.625Z\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":80,\\\"toPort\\\":80,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-04e763f68557f7749","resourceName":"transr-831","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"transr-831","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1723.5,"y":659.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0557b8bf309e79f18","resourceId":["sg-0557b8bf309e79f18","arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0557b8bf309e79f18"],"parent":"SecurityGroup-vpc-3c3b705a-eu-west-1-060997615305","level":4,"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0557b8bf309e79f18","title":"transr-6637","label":"transr-6637","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0557b8bf309e79f18","image":"/icons/AWSSecurityGroup.svg","cost":0,"private":false,"resource":{"id":"sg-0557b8bf309e79f18","name":"transr-6637","value":null,"type":"AWS::EC2::SecurityGroup","tags":"[]","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0557b8bf309e79f18","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0557b8bf309e79f18","configuration":"\"{\\\"groupName\\\":\\\"transr-6637\\\",\\\"groupId\\\":\\\"sg-0557b8bf309e79f18\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"2019-07-25T15:58:24.812Z\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":80,\\\"toPort\\\":80,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0557b8bf309e79f18","resourceName":"transr-6637","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"transr-6637","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1796.5,"y":732.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0583eb00a07bc4cde","resourceId":["sg-0583eb00a07bc4cde","arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0583eb00a07bc4cde"],"parent":"SecurityGroup-vpc-3c3b705a-eu-west-1-060997615305","level":4,"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0583eb00a07bc4cde","title":"k8s-elb-a8b6c26482e1f11e9bfbb06e03663557","label":"k8s-elb-a8b6...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0583eb00a07bc4cde","image":"/icons/AWSSecurityGroup.svg","cost":0,"private":false,"resource":{"id":"sg-0583eb00a07bc4cde","name":"k8s-elb-a8b6c26482e1f11e9bfbb06e03663557","value":null,"type":"AWS::EC2::SecurityGroup","tags":"[{\"tag\":\"kubernetes.io/cluster/k8s-dev=owned\",\"value\":\"owned\",\"key\":\"kubernetes.io/cluster/k8s-dev\"}]","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0583eb00a07bc4cde","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0583eb00a07bc4cde","configuration":"\"{\\\"groupName\\\":\\\"k8s-elb-a8b6c26482e1f11e9bfbb06e03663557\\\",\\\"groupId\\\":\\\"sg-0583eb00a07bc4cde\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"Security group for Kubernetes ELB a8b6c26482e1f11e9bfbb06e03663557 (default/guestbook)\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":80,\\\"toPort\\\":80,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":3,\\\"toPort\\\":4,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"icmp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[{\\\"value\\\":\\\"owned\\\",\\\"key\\\":\\\"kubernetes.io/cluster/k8s-dev\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0583eb00a07bc4cde","resourceName":"k8s-elb-a8b6c26482e1f11e9bfbb06e03663557","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[{\"tag\":\"kubernetes.io/cluster/k8s-dev=owned\",\"value\":\"owned\",\"key\":\"kubernetes.io/cluster/k8s-dev\"}]","title":"k8s-elb-a8b6c26482e1f11e9bfbb06e03663557","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1723.5,"y":732.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-05dd21368fd62e946","resourceId":["sg-05dd21368fd62e946","arn:aws:ec2:eu-west-1:060997615305:security-group/sg-05dd21368fd62e946"],"parent":"SecurityGroup-vpc-3c3b705a-eu-west-1-060997615305","level":4,"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-05dd21368fd62e946","title":"ControlPlaneSecurityGroup","label":"ControlPlane...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-05dd21368fd62e946","image":"/icons/AWSSecurityGroup.svg","cost":0,"private":false,"resource":{"id":"sg-05dd21368fd62e946","name":"ControlPlaneSecurityGroup","value":null,"type":"AWS::EC2::SecurityGroup","tags":"[]","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-05dd21368fd62e946","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-05dd21368fd62e946","configuration":"\"{\\\"groupName\\\":\\\"ControlPlaneSecurityGroup\\\",\\\"groupId\\\":\\\"sg-05dd21368fd62e946\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[{\\\"cidrIpv6\\\":\\\"::/0\\\"}]}],\\\"description\\\":\\\"EKS Security Group\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-05dd21368fd62e946","resourceName":"ControlPlaneSecurityGroup","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"ControlPlaneSecurityGroup","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1650.5,"y":659.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-07cd255b1c97fe1a1","resourceId":["sg-07cd255b1c97fe1a1","arn:aws:ec2:eu-west-1:060997615305:security-group/sg-07cd255b1c97fe1a1"],"parent":"SecurityGroup-vpc-3c3b705a-eu-west-1-060997615305","level":4,"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-07cd255b1c97fe1a1","title":"k8s-elb-a3a680e4cbdb811e9a8b30a8ac757ccc","label":"k8s-elb-a3a6...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-07cd255b1c97fe1a1","image":"/icons/AWSSecurityGroup.svg","cost":0,"private":false,"resource":{"id":"sg-07cd255b1c97fe1a1","name":"k8s-elb-a3a680e4cbdb811e9a8b30a8ac757ccc","value":null,"type":"AWS::EC2::SecurityGroup","tags":"[{\"tag\":\"kubernetes.io/cluster/k8s-dev=owned\",\"value\":\"owned\",\"key\":\"kubernetes.io/cluster/k8s-dev\"}]","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-07cd255b1c97fe1a1","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-07cd255b1c97fe1a1","configuration":"\"{\\\"groupName\\\":\\\"k8s-elb-a3a680e4cbdb811e9a8b30a8ac757ccc\\\",\\\"groupId\\\":\\\"sg-07cd255b1c97fe1a1\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"Security group for Kubernetes ELB a3a680e4cbdb811e9a8b30a8ac757ccc (default/docker-tutorial)\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":80,\\\"toPort\\\":80,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":3,\\\"toPort\\\":4,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"icmp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[{\\\"value\\\":\\\"owned\\\",\\\"key\\\":\\\"kubernetes.io/cluster/k8s-dev\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-07cd255b1c97fe1a1","resourceName":"k8s-elb-a3a680e4cbdb811e9a8b30a8ac757ccc","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[{\"tag\":\"kubernetes.io/cluster/k8s-dev=owned\",\"value\":\"owned\",\"key\":\"kubernetes.io/cluster/k8s-dev\"}]","title":"k8s-elb-a3a680e4cbdb811e9a8b30a8ac757ccc","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1650.5,"y":732.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-093e0c142114e7e4c","resourceId":["sg-093e0c142114e7e4c","arn:aws:ec2:eu-west-1:060997615305:security-group/sg-093e0c142114e7e4c"],"parent":"SecurityGroup-vpc-3c3b705a-eu-west-1-060997615305","level":4,"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-093e0c142114e7e4c","title":"k8s-elb-a7d4c34af3b7211e980b90a3ffe3de85","label":"k8s-elb-a7d4...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-093e0c142114e7e4c","image":"/icons/AWSSecurityGroup.svg","cost":0,"private":false,"resource":{"id":"sg-093e0c142114e7e4c","name":"k8s-elb-a7d4c34af3b7211e980b90a3ffe3de85","value":null,"type":"AWS::EC2::SecurityGroup","tags":"[{\"tag\":\"kubernetes.io/cluster/k8s-dev=owned\",\"value\":\"owned\",\"key\":\"kubernetes.io/cluster/k8s-dev\"}]","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-093e0c142114e7e4c","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-093e0c142114e7e4c","configuration":"\"{\\\"groupName\\\":\\\"k8s-elb-a7d4c34af3b7211e980b90a3ffe3de85\\\",\\\"groupId\\\":\\\"sg-093e0c142114e7e4c\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"Security group for Kubernetes ELB a7d4c34af3b7211e980b90a3ffe3de85 (default/guestbook)\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":80,\\\"toPort\\\":80,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":3,\\\"toPort\\\":4,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"icmp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[{\\\"value\\\":\\\"owned\\\",\\\"key\\\":\\\"kubernetes.io/cluster/k8s-dev\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-093e0c142114e7e4c","resourceName":"k8s-elb-a7d4c34af3b7211e980b90a3ffe3de85","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[{\"tag\":\"kubernetes.io/cluster/k8s-dev=owned\",\"value\":\"owned\",\"key\":\"kubernetes.io/cluster/k8s-dev\"}]","title":"k8s-elb-a7d4c34af3b7211e980b90a3ffe3de85","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1796.5,"y":805.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-09845e9fd4ed03442","resourceId":["sg-09845e9fd4ed03442","arn:aws:ec2:eu-west-1:060997615305:security-group/sg-09845e9fd4ed03442"],"parent":"SecurityGroup-vpc-3c3b705a-eu-west-1-060997615305","level":4,"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-09845e9fd4ed03442","title":"launch-wizard-1","label":"launch-wizar...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-09845e9fd4ed03442","image":"/icons/AWSSecurityGroup.svg","cost":0,"private":false,"resource":{"id":"sg-09845e9fd4ed03442","name":"launch-wizard-1","value":null,"type":"AWS::EC2::SecurityGroup","tags":"[]","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-09845e9fd4ed03442","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-09845e9fd4ed03442","configuration":"\"{\\\"groupName\\\":\\\"launch-wizard-1\\\",\\\"groupId\\\":\\\"sg-09845e9fd4ed03442\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"launch-wizard-1 created 2020-06-17T12:23:29.630+01:00\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":22,\\\"toPort\\\":22,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-09845e9fd4ed03442","resourceName":"launch-wizard-1","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"launch-wizard-1","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1723.5,"y":805.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-09eafe5c6ba9f53bf","resourceId":["sg-09eafe5c6ba9f53bf","arn:aws:ec2:eu-west-1:060997615305:security-group/sg-09eafe5c6ba9f53bf"],"parent":"SecurityGroup-vpc-3c3b705a-eu-west-1-060997615305","level":4,"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-09eafe5c6ba9f53bf","title":"k8s-elb-a24d5e83c936711e9812b06b4550bdce","label":"k8s-elb-a24d...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-09eafe5c6ba9f53bf","image":"/icons/AWSSecurityGroup.svg","cost":0,"private":false,"resource":{"id":"sg-09eafe5c6ba9f53bf","name":"k8s-elb-a24d5e83c936711e9812b06b4550bdce","value":null,"type":"AWS::EC2::SecurityGroup","tags":"[{\"tag\":\"kubernetes.io/cluster/k8s-dev=owned\",\"value\":\"owned\",\"key\":\"kubernetes.io/cluster/k8s-dev\"}]","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-09eafe5c6ba9f53bf","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-09eafe5c6ba9f53bf","configuration":"\"{\\\"groupName\\\":\\\"k8s-elb-a24d5e83c936711e9812b06b4550bdce\\\",\\\"groupId\\\":\\\"sg-09eafe5c6ba9f53bf\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"Security group for Kubernetes ELB a24d5e83c936711e9812b06b4550bdce (dev/docker-tutorial)\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":80,\\\"toPort\\\":80,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]},{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":3,\\\"toPort\\\":4,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"icmp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[{\\\"value\\\":\\\"owned\\\",\\\"key\\\":\\\"kubernetes.io/cluster/k8s-dev\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-09eafe5c6ba9f53bf","resourceName":"k8s-elb-a24d5e83c936711e9812b06b4550bdce","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[{\"tag\":\"kubernetes.io/cluster/k8s-dev=owned\",\"value\":\"owned\",\"key\":\"kubernetes.io/cluster/k8s-dev\"}]","title":"k8s-elb-a24d5e83c936711e9812b06b4550bdce","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1650.5,"y":805.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0bd07be67c020ad07","resourceId":["sg-0bd07be67c020ad07","arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0bd07be67c020ad07"],"parent":"SecurityGroup-vpc-3c3b705a-eu-west-1-060997615305","level":4,"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0bd07be67c020ad07","title":"Help56-env-1","label":"Help56-env-1","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0bd07be67c020ad07","image":"/icons/AWSSecurityGroup.svg","cost":0,"private":false,"resource":{"id":"sg-0bd07be67c020ad07","name":"awseb-e-svj7v9rusk-stack-AWSEBSecurityGroup-TOA6CXMTGSY8","value":null,"type":"AWS::EC2::SecurityGroup","tags":"[{\"tag\":\"aws:cloudformation:stack-name=awseb-e-svj7v9rusk-stack\",\"value\":\"awseb-e-svj7v9rusk-stack\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/awseb-e-svj7v9rusk-stack/0edbcfa0-bc7a-11ea-9736-0aac29486886\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/awseb-e-svj7v9rusk-stack/0edbcfa0-bc7a-11ea-9736-0aac29486886\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"elasticbeanstalk:environment-name=Help56-env-1\",\"value\":\"Help56-env-1\",\"key\":\"elasticbeanstalk:environment-name\"},{\"tag\":\"aws:cloudformation:logical-id=AWSEBSecurityGroup\",\"value\":\"AWSEBSecurityGroup\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"elasticbeanstalk:environment-id=e-svj7v9rusk\",\"value\":\"e-svj7v9rusk\",\"key\":\"elasticbeanstalk:environment-id\"},{\"tag\":\"Name=Help56-env-1\",\"value\":\"Help56-env-1\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0bd07be67c020ad07","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0bd07be67c020ad07","configuration":"\"{\\\"groupName\\\":\\\"awseb-e-svj7v9rusk-stack-AWSEBSecurityGroup-TOA6CXMTGSY8\\\",\\\"groupId\\\":\\\"sg-0bd07be67c020ad07\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"SecurityGroup for ElasticBeanstalk environment.\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[],\\\"tags\\\":[{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/awseb-e-svj7v9rusk-stack/0edbcfa0-bc7a-11ea-9736-0aac29486886\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"awseb-e-svj7v9rusk-stack\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"e-svj7v9rusk\\\",\\\"key\\\":\\\"elasticbeanstalk:environment-id\\\"},{\\\"value\\\":\\\"AWSEBSecurityGroup\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"Help56-env-1\\\",\\\"key\\\":\\\"elasticbeanstalk:environment-name\\\"},{\\\"value\\\":\\\"Help56-env-1\\\",\\\"key\\\":\\\"Name\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0bd07be67c020ad07","resourceName":"awseb-e-svj7v9rusk-stack-AWSEBSecurityGroup-TOA6CXMTGSY8","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=awseb-e-svj7v9rusk-stack\",\"value\":\"awseb-e-svj7v9rusk-stack\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/awseb-e-svj7v9rusk-stack/0edbcfa0-bc7a-11ea-9736-0aac29486886\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/awseb-e-svj7v9rusk-stack/0edbcfa0-bc7a-11ea-9736-0aac29486886\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"elasticbeanstalk:environment-name=Help56-env-1\",\"value\":\"Help56-env-1\",\"key\":\"elasticbeanstalk:environment-name\"},{\"tag\":\"aws:cloudformation:logical-id=AWSEBSecurityGroup\",\"value\":\"AWSEBSecurityGroup\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"elasticbeanstalk:environment-id=e-svj7v9rusk\",\"value\":\"e-svj7v9rusk\",\"key\":\"elasticbeanstalk:environment-id\"},{\"tag\":\"Name=Help56-env-1\",\"value\":\"Help56-env-1\",\"key\":\"Name\"}]","title":"Help56-env-1","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1577.5,"y":659.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0d3eb370ca6b0245b","resourceId":["sg-0d3eb370ca6b0245b","arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0d3eb370ca6b0245b"],"parent":"SecurityGroup-vpc-3c3b705a-eu-west-1-060997615305","level":4,"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0d3eb370ca6b0245b","title":"transr-7480","label":"transr-7480","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0d3eb370ca6b0245b","image":"/icons/AWSSecurityGroup.svg","cost":0,"private":false,"resource":{"id":"sg-0d3eb370ca6b0245b","name":"transr-7480","value":null,"type":"AWS::EC2::SecurityGroup","tags":"[]","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0d3eb370ca6b0245b","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0d3eb370ca6b0245b","configuration":"\"{\\\"groupName\\\":\\\"transr-7480\\\",\\\"groupId\\\":\\\"sg-0d3eb370ca6b0245b\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"2019-07-25T15:54:01.128Z\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":80,\\\"toPort\\\":80,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0d3eb370ca6b0245b","resourceName":"transr-7480","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"transr-7480","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1577.5,"y":732.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0ecc4d031c5673922","resourceId":["sg-0ecc4d031c5673922","arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0ecc4d031c5673922"],"parent":"SecurityGroup-vpc-3c3b705a-eu-west-1-060997615305","level":4,"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0ecc4d031c5673922","title":"Help56-env","label":"Help56-env","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0ecc4d031c5673922","image":"/icons/AWSSecurityGroup.svg","cost":0,"private":false,"resource":{"id":"sg-0ecc4d031c5673922","name":"awseb-e-w6mearyryk-stack-AWSEBSecurityGroup-1QN1HFTTTDQ03","value":null,"type":"AWS::EC2::SecurityGroup","tags":"[{\"tag\":\"aws:cloudformation:stack-name=awseb-e-w6mearyryk-stack\",\"value\":\"awseb-e-w6mearyryk-stack\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/awseb-e-w6mearyryk-stack/55b06e90-bc6b-11ea-aa61-0a535c7d72e8\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/awseb-e-w6mearyryk-stack/55b06e90-bc6b-11ea-aa61-0a535c7d72e8\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"elasticbeanstalk:environment-name=Help56-env\",\"value\":\"Help56-env\",\"key\":\"elasticbeanstalk:environment-name\"},{\"tag\":\"aws:cloudformation:logical-id=AWSEBSecurityGroup\",\"value\":\"AWSEBSecurityGroup\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"elasticbeanstalk:environment-id=e-w6mearyryk\",\"value\":\"e-w6mearyryk\",\"key\":\"elasticbeanstalk:environment-id\"},{\"tag\":\"Name=Help56-env\",\"value\":\"Help56-env\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0ecc4d031c5673922","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0ecc4d031c5673922","configuration":"\"{\\\"groupName\\\":\\\"awseb-e-w6mearyryk-stack-AWSEBSecurityGroup-1QN1HFTTTDQ03\\\",\\\"groupId\\\":\\\"sg-0ecc4d031c5673922\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"SecurityGroup for ElasticBeanstalk environment.\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":80,\\\"toPort\\\":80,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[{\\\"value\\\":\\\"AWSEBSecurityGroup\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"Help56-env\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/awseb-e-w6mearyryk-stack/55b06e90-bc6b-11ea-aa61-0a535c7d72e8\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"awseb-e-w6mearyryk-stack\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"Help56-env\\\",\\\"key\\\":\\\"elasticbeanstalk:environment-name\\\"},{\\\"value\\\":\\\"e-w6mearyryk\\\",\\\"key\\\":\\\"elasticbeanstalk:environment-id\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0ecc4d031c5673922","resourceName":"awseb-e-w6mearyryk-stack-AWSEBSecurityGroup-1QN1HFTTTDQ03","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=awseb-e-w6mearyryk-stack\",\"value\":\"awseb-e-w6mearyryk-stack\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/awseb-e-w6mearyryk-stack/55b06e90-bc6b-11ea-aa61-0a535c7d72e8\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/awseb-e-w6mearyryk-stack/55b06e90-bc6b-11ea-aa61-0a535c7d72e8\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"elasticbeanstalk:environment-name=Help56-env\",\"value\":\"Help56-env\",\"key\":\"elasticbeanstalk:environment-name\"},{\"tag\":\"aws:cloudformation:logical-id=AWSEBSecurityGroup\",\"value\":\"AWSEBSecurityGroup\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"elasticbeanstalk:environment-id=e-w6mearyryk\",\"value\":\"e-w6mearyryk\",\"key\":\"elasticbeanstalk:environment-id\"},{\"tag\":\"Name=Help56-env\",\"value\":\"Help56-env\",\"key\":\"Name\"}]","title":"Help56-env","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1577.5,"y":805.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0f2c00add4a70c83f","resourceId":["sg-0f2c00add4a70c83f","arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0f2c00add4a70c83f"],"parent":"SecurityGroup-vpc-3c3b705a-eu-west-1-060997615305","level":4,"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0f2c00add4a70c83f","title":"AutoScaling-Security-Group-1","label":"AutoScaling-...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0f2c00add4a70c83f","image":"/icons/AWSSecurityGroup.svg","cost":0,"private":false,"resource":{"id":"sg-0f2c00add4a70c83f","name":"AutoScaling-Security-Group-1","value":null,"type":"AWS::EC2::SecurityGroup","tags":"[]","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0f2c00add4a70c83f","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0f2c00add4a70c83f","configuration":"\"{\\\"groupName\\\":\\\"AutoScaling-Security-Group-1\\\",\\\"groupId\\\":\\\"sg-0f2c00add4a70c83f\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"AutoScaling-Security-Group-1 (2019-04-10 17:56:23.193+01:00)\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":22,\\\"toPort\\\":22,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0f2c00add4a70c83f","resourceName":"AutoScaling-Security-Group-1","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"AutoScaling-Security-Group-1","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1796.5,"y":878.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-96788cea","resourceId":["sg-96788cea","arn:aws:ec2:eu-west-1:060997615305:security-group/sg-96788cea"],"parent":"SecurityGroup-vpc-3c3b705a-eu-west-1-060997615305","level":4,"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-96788cea","title":"default","label":"default","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-96788cea","image":"/icons/AWSSecurityGroup.svg","cost":0,"private":false,"resource":{"id":"sg-96788cea","name":"default","value":null,"type":"AWS::EC2::SecurityGroup","tags":"[]","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-96788cea","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-96788cea","configuration":"\"{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-96788cea\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"default VPC security group\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"81.100.217.103/32\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"81.100.217.103/32\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-96788cea","resourceName":"default","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"default","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1723.5,"y":878.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-00ba81535e246b255","resourceId":["sg-00ba81535e246b255","arn:aws:ec2:eu-west-1:060997615305:security-group/sg-00ba81535e246b255"],"parent":"SecurityGroup-vpc-3c3b705a-eu-west-1-060997615305","level":4,"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-00ba81535e246b255","title":"k8s-worker-nodes-dev-NodeSecurityGroup-12A693N5Z6ZU6","label":"k8s-worker-n...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-00ba81535e246b255","image":"/icons/AWSSecurityGroup.svg","cost":0,"private":false,"resource":{"id":"sg-00ba81535e246b255","name":"k8s-worker-nodes-dev-NodeSecurityGroup-12A693N5Z6ZU6","value":null,"type":"AWS::EC2::SecurityGroup","tags":"[{\"tag\":\"aws:cloudformation:stack-name=k8s-worker-nodes-dev\",\"value\":\"k8s-worker-nodes-dev\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/k8s-worker-nodes-dev/2ed97fe0-3b71-11e9-a65d-0295fc50fbd8\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/k8s-worker-nodes-dev/2ed97fe0-3b71-11e9-a65d-0295fc50fbd8\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=NodeSecurityGroup\",\"value\":\"NodeSecurityGroup\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"kubernetes.io/cluster/k8s-dev=owned\",\"value\":\"owned\",\"key\":\"kubernetes.io/cluster/k8s-dev\"}]","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-00ba81535e246b255","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-00ba81535e246b255","configuration":"\"{\\\"groupName\\\":\\\"k8s-worker-nodes-dev-NodeSecurityGroup-12A693N5Z6ZU6\\\",\\\"groupId\\\":\\\"sg-00ba81535e246b255\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"Security group for all nodes in the cluster\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":0,\\\"toPort\\\":65535,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[{\\\"value\\\":\\\"k8s-worker-nodes-dev\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/k8s-worker-nodes-dev/2ed97fe0-3b71-11e9-a65d-0295fc50fbd8\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"owned\\\",\\\"key\\\":\\\"kubernetes.io/cluster/k8s-dev\\\"},{\\\"value\\\":\\\"NodeSecurityGroup\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"}]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-00ba81535e246b255","resourceName":"k8s-worker-nodes-dev-NodeSecurityGroup-12A693N5Z6ZU6","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=k8s-worker-nodes-dev\",\"value\":\"k8s-worker-nodes-dev\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/k8s-worker-nodes-dev/2ed97fe0-3b71-11e9-a65d-0295fc50fbd8\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/k8s-worker-nodes-dev/2ed97fe0-3b71-11e9-a65d-0295fc50fbd8\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"aws:cloudformation:logical-id=NodeSecurityGroup\",\"value\":\"NodeSecurityGroup\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"kubernetes.io/cluster/k8s-dev=owned\",\"value\":\"owned\",\"key\":\"kubernetes.io/cluster/k8s-dev\"}]","title":"k8s-worker-nodes-dev-NodeSecurityGroup-12A693N5Z6ZU6","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1650.5,"y":878.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0329e4f804998a32d","resourceId":["sg-0329e4f804998a32d","arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0329e4f804998a32d"],"parent":"SecurityGroup-vpc-3c3b705a-eu-west-1-060997615305","level":4,"id":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0329e4f804998a32d","title":"transr-5686","label":"transr-5686","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0329e4f804998a32d","image":"/icons/AWSSecurityGroup.svg","cost":0,"private":false,"resource":{"id":"sg-0329e4f804998a32d","name":"transr-5686","value":null,"type":"AWS::EC2::SecurityGroup","tags":"[]","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0329e4f804998a32d","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0329e4f804998a32d","configuration":"\"{\\\"groupName\\\":\\\"transr-5686\\\",\\\"groupId\\\":\\\"sg-0329e4f804998a32d\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"ipPermissionsEgress\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"-1\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"description\\\":\\\"2019-07-25T15:18:21.836Z\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"ipPermissions\\\":[{\\\"ipRanges\\\":[\\\"0.0.0.0/0\\\"],\\\"prefixListIds\\\":[],\\\"fromPort\\\":80,\\\"toPort\\\":80,\\\"userIdGroupPairs\\\":[],\\\"ipProtocol\\\":\\\"tcp\\\",\\\"ipv4Ranges\\\":[{\\\"cidrIp\\\":\\\"0.0.0.0/0\\\"}],\\\"ipv6Ranges\\\":[]}],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId","private":null,"resourceId":"sg-0329e4f804998a32d","resourceName":"transr-5686","resourceType":"AWS::EC2::SecurityGroup","resourceValue":null,"state":null,"tags":"[]","title":"transr-5686","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1577.5,"y":878.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"RouteTable-vpc-3c3b705a-eu-west-1-060997615305","parent":"vpc-3c3b705a-eu-west-1-060997615305","level":3,"title":"RouteTable","label":"RouteTable","plainLabel":"RouteTable","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-VPC_Router_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-e0037299","label":"AWS_EC2_RouteTable","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-e0037299","configuration":"\"{\\\"associations\\\":[{\\\"routeTableId\\\":\\\"rtb-e0037299\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-d59362ae\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":true}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"172.31.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"},{\\\"destinationCidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"igw-3c9fd05b\\\"},{\\\"destinationPrefixListId\\\":\\\"pl-6da54004\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"vpce-0598004555201fc6c\\\"}],\\\"routeTableId\\\":\\\"rtb-e0037299\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-e0037299","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[]","title":"rtb-e0037299","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1457.5,"y":263.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-e0037299","resourceId":["rtb-e0037299","arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-e0037299"],"parent":"RouteTable-vpc-3c3b705a-eu-west-1-060997615305","level":4,"id":"arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-e0037299","title":"rtb-e0037299","label":"rtb-e0037299","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-e0037299","image":"/icons/Amazon-VPC_Router_light-bg.svg","cost":0,"private":false,"resource":{"id":"rtb-e0037299","name":null,"value":null,"type":"AWS::EC2::RouteTable","tags":"[]","arn":"arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-e0037299","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-e0037299","configuration":"\"{\\\"associations\\\":[{\\\"routeTableId\\\":\\\"rtb-e0037299\\\",\\\"routeTableAssociationId\\\":\\\"rtbassoc-d59362ae\\\",\\\"associationState\\\":{\\\"state\\\":\\\"associated\\\"},\\\"main\\\":true}],\\\"routes\\\":[{\\\"destinationCidrBlock\\\":\\\"172.31.0.0/16\\\",\\\"origin\\\":\\\"CreateRouteTable\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"local\\\"},{\\\"destinationCidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"igw-3c9fd05b\\\"},{\\\"destinationPrefixListId\\\":\\\"pl-6da54004\\\",\\\"origin\\\":\\\"CreateRoute\\\",\\\"state\\\":\\\"active\\\",\\\"gatewayId\\\":\\\"vpce-0598004555201fc6c\\\"}],\\\"routeTableId\\\":\\\"rtb-e0037299\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"propagatingVgws\\\":[],\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#RouteTables:sort=routeTableId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#RouteTables:sort=routeTableId","private":null,"resourceId":"rtb-e0037299","resourceName":null,"resourceType":"AWS::EC2::RouteTable","resourceValue":null,"state":null,"tags":"[]","title":"rtb-e0037299","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1457.5,"y":263.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"VPCEndpoint-vpc-3c3b705a-eu-west-1-060997615305","parent":"vpc-3c3b705a-eu-west-1-060997615305","level":3,"title":"VPCEndpoint","label":"VPCEndpoint","plainLabel":"VPCEndpoint","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-EC2_VPC_Endpoints_light-bg-menu.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-0598004555201fc6c","label":"AWS_EC2_VPCEndpoint","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-0598004555201fc6c","configuration":"\"{\\\"policyDocument\\\":\\\"{\\\\\\\"Version\\\\\\\":\\\\\\\"2008-10-17\\\\\\\",\\\\\\\"Statement\\\\\\\":[{\\\\\\\"Effect\\\\\\\":\\\\\\\"Allow\\\\\\\",\\\\\\\"Principal\\\\\\\":\\\\\\\"*\\\\\\\",\\\\\\\"Action\\\\\\\":\\\\\\\"*\\\\\\\",\\\\\\\"Resource\\\\\\\":\\\\\\\"*\\\\\\\"}]}\\\",\\\"groups\\\":[],\\\"serviceName\\\":\\\"com.amazonaws.eu-west-1.s3\\\",\\\"privateDnsEnabled\\\":false,\\\"ownerId\\\":\\\"060997615305\\\",\\\"requesterManaged\\\":false,\\\"vpcEndpointId\\\":\\\"vpce-0598004555201fc6c\\\",\\\"tags\\\":[],\\\"routeTableIds\\\":[\\\"rtb-e0037299\\\"],\\\"vpcEndpointType\\\":\\\"Gateway\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"creationTimestamp\\\":\\\"2020-06-30T11:56:39Z\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"dnsEntries\\\":[],\\\"networkInterfaceIds\\\":[],\\\"subnetIds\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"vpce-0598004555201fc6c","resourceName":null,"resourceType":"AWS::EC2::VPCEndpoint","resourceValue":null,"state":null,"tags":"[]","title":"vpce-0598004555201fc6c","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1344.5,"y":263.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-0598004555201fc6c","resourceId":["vpce-0598004555201fc6c","arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-0598004555201fc6c"],"parent":"VPCEndpoint-vpc-3c3b705a-eu-west-1-060997615305","level":4,"id":"arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-0598004555201fc6c","title":"vpce-0598004555201fc6c","label":"vpce-0598004...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-0598004555201fc6c","image":"/icons/Amazon-EC2_VPC_Endpoints_light-bg-menu.svg","cost":0,"private":false,"resource":{"id":"vpce-0598004555201fc6c","name":null,"value":null,"type":"AWS::EC2::VPCEndpoint","tags":"[]","arn":"arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-0598004555201fc6c","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-0598004555201fc6c","configuration":"\"{\\\"policyDocument\\\":\\\"{\\\\\\\"Version\\\\\\\":\\\\\\\"2008-10-17\\\\\\\",\\\\\\\"Statement\\\\\\\":[{\\\\\\\"Effect\\\\\\\":\\\\\\\"Allow\\\\\\\",\\\\\\\"Principal\\\\\\\":\\\\\\\"*\\\\\\\",\\\\\\\"Action\\\\\\\":\\\\\\\"*\\\\\\\",\\\\\\\"Resource\\\\\\\":\\\\\\\"*\\\\\\\"}]}\\\",\\\"groups\\\":[],\\\"serviceName\\\":\\\"com.amazonaws.eu-west-1.s3\\\",\\\"privateDnsEnabled\\\":false,\\\"ownerId\\\":\\\"060997615305\\\",\\\"requesterManaged\\\":false,\\\"vpcEndpointId\\\":\\\"vpce-0598004555201fc6c\\\",\\\"tags\\\":[],\\\"routeTableIds\\\":[\\\"rtb-e0037299\\\"],\\\"vpcEndpointType\\\":\\\"Gateway\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"creationTimestamp\\\":\\\"2020-06-30T11:56:39Z\\\",\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"dnsEntries\\\":[],\\\"networkInterfaceIds\\\":[],\\\"subnetIds\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"vpce-0598004555201fc6c","resourceName":null,"resourceType":"AWS::EC2::VPCEndpoint","resourceValue":null,"state":null,"tags":"[]","title":"vpce-0598004555201fc6c","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1344.5,"y":263.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"eu-west-1c-vpc-3c3b705a-eu-west-1-060997615305","parent":"vpc-3c3b705a-eu-west-1-060997615305","level":3,"title":"eu-west-1c","label":"eu-west-1c","plainLabel":"eu-west-1c","type":"availabilityZone","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/availabilityZone.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-5fcf4c39","label":"subnet-5fcf4c39","parent":null,"type":"subnet","data":{"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-5fcf4c39","configuration":"\"{\\\"subnetId\\\":\\\"subnet-5fcf4c39\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-5fcf4c39\\\",\\\"availabilityZoneId\\\":\\\"euw1-az1\\\",\\\"cidrBlock\\\":\\\"172.31.0.0/20\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[],\\\"availableIpAddressCount\\\":4077,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"mapPublicIpOnLaunch\\\":true,\\\"defaultForAz\\\":true,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-3c3b705a","subnetId":"subnet-5fcf4c39","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":null,"resourceId":"subnet-5fcf4c39","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[]","title":"subnet-5fcf4c39","instanceType":null,"statement":null,"dBInstanceStatus":null},"id":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-5fcf4c39","label":"AWS_EC2_Subnet"},"properties":null,"children":[{"id":null,"label":"NetworkInterface","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0ea6739d9f2a567c5","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0ea6739d9f2a567c5","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0ea6739d9f2a567c5\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-172-31-12-12.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.12.12\\\",\\\"primary\\\":true},{\\\"privateDnsName\\\":\\\"ip-172-31-5-127.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.5.127\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-15-43.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.15.43\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-6-100.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.6.100\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-6-208.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.6.208\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-12-80.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.12.80\\\",\\\"primary\\\":false}],\\\"subnetId\\\":\\\"subnet-5fcf4c39\\\",\\\"requesterId\\\":\\\"AROAIHEI2G37MOBIMVFJM:i-036e525e159f62a5d\\\",\\\"description\\\":\\\"aws-K8S-i-036e525e159f62a5d\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"k8s-worker-nodes-dev-NodeSecurityGroup-12A693N5Z6ZU6\\\",\\\"groupId\\\":\\\"sg-00ba81535e246b255\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"172.31.12.12\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[{\\\"value\\\":\\\"i-036e525e159f62a5d\\\",\\\"key\\\":\\\"node.k8s.amazonaws.com/instance_id\\\"}],\\\"macAddress\\\":\\\"02:fe:1f:b3:78:94\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"privateDnsName\\\":\\\"ip-172-31-12-12.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-3c3b705a","subnetId":"subnet-5fcf4c39","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0ea6739d9f2a567c5","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[{\"tag\":\"node.k8s.amazonaws.com/instance_id=i-036e525e159f62a5d\",\"value\":\"i-036e525e159f62a5d\",\"key\":\"node.k8s.amazonaws.com/instance_id\"}]","title":"eni-0ea6739d9f2a567c5","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0f1843fb4c77fdfef","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0f1843fb4c77fdfef","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0f1843fb4c77fdfef\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-172-31-8-143.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.8.143\\\",\\\"primary\\\":true},{\\\"privateDnsName\\\":\\\"ip-172-31-11-58.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.11.58\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-3-138.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.3.138\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-2-20.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.2.20\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-6-177.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.6.177\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-0-32.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.0.32\\\",\\\"primary\\\":false}],\\\"subnetId\\\":\\\"subnet-5fcf4c39\\\",\\\"requesterId\\\":\\\"AROAIHEI2G37MOBIMVFJM:i-0e1173a5831806ee9\\\",\\\"description\\\":\\\"aws-K8S-i-0e1173a5831806ee9\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"k8s-worker-nodes-dev-NodeSecurityGroup-12A693N5Z6ZU6\\\",\\\"groupId\\\":\\\"sg-00ba81535e246b255\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"172.31.8.143\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[{\\\"value\\\":\\\"i-0e1173a5831806ee9\\\",\\\"key\\\":\\\"node.k8s.amazonaws.com/instance_id\\\"}],\\\"macAddress\\\":\\\"02:f2:0f:1f:e2:ee\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"privateDnsName\\\":\\\"ip-172-31-8-143.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-3c3b705a","subnetId":"subnet-5fcf4c39","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0f1843fb4c77fdfef","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[{\"tag\":\"node.k8s.amazonaws.com/instance_id=i-0e1173a5831806ee9\",\"value\":\"i-0e1173a5831806ee9\",\"key\":\"node.k8s.amazonaws.com/instance_id\"}]","title":"eni-0f1843fb4c77fdfef","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0095dcb0b33af1971","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0095dcb0b33af1971","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0095dcb0b33af1971\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"060997615305\\\",\\\"allocationId\\\":\\\"eipalloc-0d8024666337a2412\\\",\\\"publicIp\\\":\\\"52.208.51.34\\\",\\\"publicDnsName\\\":\\\"ec2-52-208-51-34.eu-west-1.compute.amazonaws.com\\\",\\\"associationId\\\":\\\"eipassoc-0f324a0e5f8bf4529\\\"},\\\"privateDnsName\\\":\\\"ip-172-31-0-201.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.0.201\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-5fcf4c39\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"060997615305\\\",\\\"allocationId\\\":\\\"eipalloc-0d8024666337a2412\\\",\\\"publicIp\\\":\\\"52.208.51.34\\\",\\\"publicDnsName\\\":\\\"ec2-52-208-51-34.eu-west-1.compute.amazonaws.com\\\",\\\"associationId\\\":\\\"eipassoc-0f324a0e5f8bf4529\\\"},\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-96788cea\\\"},{\\\"groupName\\\":\\\"awseb-e-w6mearyryk-stack-AWSEBSecurityGroup-1QN1HFTTTDQ03\\\",\\\"groupId\\\":\\\"sg-0ecc4d031c5673922\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"172.31.0.201\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:22:42:c7:6a:2f\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"instanceId\\\":\\\"i-01ce9288893dcf6eb\\\",\\\"attachmentId\\\":\\\"eni-attach-0da2531d706e4882b\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"instanceOwnerId\\\":\\\"060997615305\\\",\\\"attachTime\\\":\\\"2023-04-09T06:01:12.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"privateDnsName\\\":\\\"ip-172-31-0-201.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-3c3b705a","subnetId":"subnet-5fcf4c39","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0095dcb0b33af1971","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0095dcb0b33af1971","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-079df4b65ac79c0a3","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-079df4b65ac79c0a3","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-079df4b65ac79c0a3\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon-elb\\\",\\\"publicIp\\\":\\\"3.248.239.57\\\",\\\"publicDnsName\\\":\\\"ec2-3-248-239-57.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-172-31-10-193.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.10.193\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-5fcf4c39\\\",\\\"requesterId\\\":\\\"amazon-elb\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon-elb\\\",\\\"publicIp\\\":\\\"3.248.239.57\\\",\\\"publicDnsName\\\":\\\"ec2-3-248-239-57.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"ELB a24d5e83c936711e9812b06b4550bdce\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"k8s-elb-a24d5e83c936711e9812b06b4550bdce\\\",\\\"groupId\\\":\\\"sg-09eafe5c6ba9f53bf\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"172.31.10.193\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:7d:54:15:5c:99\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0eb165890965e789c\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-elb\\\",\\\"attachTime\\\":\\\"2023-04-15T04:15:06.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"privateDnsName\\\":\\\"ip-172-31-10-193.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-3c3b705a","subnetId":"subnet-5fcf4c39","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-079df4b65ac79c0a3","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-079df4b65ac79c0a3","instanceType":null,"statement":null,"dBInstanceStatus":null}}]},{"id":null,"label":"Instance","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:instance/i-01ce9288893dcf6eb","label":"AWS_EC2_Instance","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:instance/i-01ce9288893dcf6eb","configuration":"\"{\\\"subnetId\\\":\\\"subnet-5fcf4c39\\\",\\\"virtualizationType\\\":\\\"hvm\\\",\\\"capacityReservationSpecification\\\":{\\\"capacityReservationPreference\\\":\\\"open\\\"},\\\"amiLaunchIndex\\\":0,\\\"enaSupport\\\":true,\\\"elasticInferenceAcceleratorAssociations\\\":[],\\\"sourceDestCheck\\\":true,\\\"hibernationOptions\\\":{\\\"configured\\\":false},\\\"instanceId\\\":\\\"i-01ce9288893dcf6eb\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"hypervisor\\\":\\\"xen\\\",\\\"rootDeviceName\\\":\\\"/dev/xvda\\\",\\\"productCodes\\\":[],\\\"state\\\":{\\\"code\\\":\\\"16\\\",\\\"name\\\":\\\"running\\\"},\\\"architecture\\\":\\\"x86_64\\\",\\\"ebsOptimized\\\":false,\\\"imageId\\\":\\\"ami-00d8c6c39db0049ec\\\",\\\"blockDeviceMappings\\\":[{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-0d78383096dd33be6\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2023-04-09T06:01:13.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvda\\\"}],\\\"publicIpAddress\\\":\\\"52.208.51.34\\\",\\\"stateTransitionReason\\\":\\\"\\\",\\\"clientToken\\\":\\\"e2261d92-6abc-d65b-ee49-beffa31cef5a\\\",\\\"instanceType\\\":\\\"t2.micro\\\",\\\"cpuOptions\\\":{\\\"threadsPerCore\\\":1,\\\"coreCount\\\":1},\\\"monitoring\\\":{\\\"state\\\":\\\"disabled\\\"},\\\"publicDnsName\\\":\\\"ec2-52-208-51-34.eu-west-1.compute.amazonaws.com\\\",\\\"iamInstanceProfile\\\":{\\\"id\\\":\\\"AIPAJSMVZMY2WHQWICQT6\\\",\\\"arn\\\":\\\"arn:aws:iam::060997615305:instance-profile/aws-elasticbeanstalk-ec2-role\\\"},\\\"privateIpAddress\\\":\\\"172.31.0.201\\\",\\\"rootDeviceType\\\":\\\"ebs\\\",\\\"tags\\\":[{\\\"value\\\":\\\"AWSEBAutoScalingGroup\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/awseb-e-w6mearyryk-stack/55b06e90-bc6b-11ea-aa61-0a535c7d72e8\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"awseb-e-w6mearyryk-stack\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"Help56-env\\\",\\\"key\\\":\\\"elasticbeanstalk:environment-name\\\"},{\\\"value\\\":\\\"Help56-env\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"awseb-e-w6mearyryk-stack-AWSEBAutoScalingGroup-1PXK2KSRRLL4Y\\\",\\\"key\\\":\\\"aws:autoscaling:groupName\\\"},{\\\"value\\\":\\\"e-w6mearyryk\\\",\\\"key\\\":\\\"elasticbeanstalk:environment-id\\\"}],\\\"enclaveOptions\\\":{\\\"enabled\\\":false},\\\"launchTime\\\":\\\"2023-04-09T06:01:12.000Z\\\",\\\"elasticGpuAssociations\\\":[],\\\"licenses\\\":[],\\\"networkInterfaces\\\":[{\\\"networkInterfaceId\\\":\\\"eni-0095dcb0b33af1971\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"060997615305\\\",\\\"publicIp\\\":\\\"52.208.51.34\\\",\\\"publicDnsName\\\":\\\"ec2-52-208-51-34.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-172-31-0-201.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.0.201\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-5fcf4c39\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"060997615305\\\",\\\"publicIp\\\":\\\"52.208.51.34\\\",\\\"publicDnsName\\\":\\\"ec2-52-208-51-34.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"awseb-e-w6mearyryk-stack-AWSEBSecurityGroup-1QN1HFTTTDQ03\\\",\\\"groupId\\\":\\\"sg-0ecc4d031c5673922\\\"},{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-96788cea\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"privateIpAddress\\\":\\\"172.31.0.201\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"macAddress\\\":\\\"02:22:42:c7:6a:2f\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0da2531d706e4882b\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"attachTime\\\":\\\"2023-04-09T06:01:12.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"privateDnsName\\\":\\\"ip-172-31-0-201.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}],\\\"metadataOptions\\\":{\\\"httpPutResponseHopLimit\\\":1,\\\"httpEndpoint\\\":\\\"enabled\\\",\\\"state\\\":\\\"applied\\\",\\\"httpTokens\\\":\\\"optional\\\"},\\\"privateDnsName\\\":\\\"ip-172-31-0-201.eu-west-1.compute.internal\\\",\\\"securityGroups\\\":[{\\\"groupName\\\":\\\"awseb-e-w6mearyryk-stack-AWSEBSecurityGroup-1QN1HFTTTDQ03\\\",\\\"groupId\\\":\\\"sg-0ecc4d031c5673922\\\"},{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-96788cea\\\"}],\\\"placement\\\":{\\\"groupName\\\":\\\"\\\",\\\"tenancy\\\":\\\"default\\\",\\\"availabilityZone\\\":\\\"eu-west-1c\\\"}}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-3c3b705a","subnetId":"subnet-5fcf4c39","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#Instances:sort=instanceId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#Instances:sort=instanceId","private":null,"resourceId":"i-01ce9288893dcf6eb","resourceName":null,"resourceType":"AWS::EC2::Instance","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=awseb-e-w6mearyryk-stack\",\"value\":\"awseb-e-w6mearyryk-stack\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:autoscaling:groupName=awseb-e-w6mearyryk-stack-AWSEBAutoScalingGroup-1PXK2KSRRLL4Y\",\"value\":\"awseb-e-w6mearyryk-stack-AWSEBAutoScalingGroup-1PXK2KSRRLL4Y\",\"key\":\"aws:autoscaling:groupName\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/awseb-e-w6mearyryk-stack/55b06e90-bc6b-11ea-aa61-0a535c7d72e8\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/awseb-e-w6mearyryk-stack/55b06e90-bc6b-11ea-aa61-0a535c7d72e8\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"elasticbeanstalk:environment-name=Help56-env\",\"value\":\"Help56-env\",\"key\":\"elasticbeanstalk:environment-name\"},{\"tag\":\"aws:cloudformation:logical-id=AWSEBAutoScalingGroup\",\"value\":\"AWSEBAutoScalingGroup\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"elasticbeanstalk:environment-id=e-w6mearyryk\",\"value\":\"e-w6mearyryk\",\"key\":\"elasticbeanstalk:environment-id\"},{\"tag\":\"Name=Help56-env\",\"value\":\"Help56-env\",\"key\":\"Name\"}]","title":"Help56-env","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1703.5,"y":386.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"availabilityZone removeAll _gridParentPadding"},{"data":{"id":"subnet-5fcf4c39-eu-west-1c-vpc-3c3b705a-eu-west-1-060997615305","parent":"eu-west-1c-vpc-3c3b705a-eu-west-1-060997615305","level":4,"title":"subnet-5fcf4c39","label":"subnet-5fcf4c39","plainLabel":"subnet-5fcf4c39","type":"subnet","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/VPC-subnet-private_light-bg-collapsed.svg","clickedId":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-5fcf4c39","cost":0,"hasChildren":true,"children":[{"id":null,"label":"NetworkInterface","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0ea6739d9f2a567c5","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0ea6739d9f2a567c5","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0ea6739d9f2a567c5\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-172-31-12-12.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.12.12\\\",\\\"primary\\\":true},{\\\"privateDnsName\\\":\\\"ip-172-31-5-127.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.5.127\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-15-43.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.15.43\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-6-100.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.6.100\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-6-208.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.6.208\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-12-80.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.12.80\\\",\\\"primary\\\":false}],\\\"subnetId\\\":\\\"subnet-5fcf4c39\\\",\\\"requesterId\\\":\\\"AROAIHEI2G37MOBIMVFJM:i-036e525e159f62a5d\\\",\\\"description\\\":\\\"aws-K8S-i-036e525e159f62a5d\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"k8s-worker-nodes-dev-NodeSecurityGroup-12A693N5Z6ZU6\\\",\\\"groupId\\\":\\\"sg-00ba81535e246b255\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"172.31.12.12\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[{\\\"value\\\":\\\"i-036e525e159f62a5d\\\",\\\"key\\\":\\\"node.k8s.amazonaws.com/instance_id\\\"}],\\\"macAddress\\\":\\\"02:fe:1f:b3:78:94\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"privateDnsName\\\":\\\"ip-172-31-12-12.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-3c3b705a","subnetId":"subnet-5fcf4c39","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0ea6739d9f2a567c5","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[{\"tag\":\"node.k8s.amazonaws.com/instance_id=i-036e525e159f62a5d\",\"value\":\"i-036e525e159f62a5d\",\"key\":\"node.k8s.amazonaws.com/instance_id\"}]","title":"eni-0ea6739d9f2a567c5","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0f1843fb4c77fdfef","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0f1843fb4c77fdfef","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0f1843fb4c77fdfef\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-172-31-8-143.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.8.143\\\",\\\"primary\\\":true},{\\\"privateDnsName\\\":\\\"ip-172-31-11-58.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.11.58\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-3-138.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.3.138\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-2-20.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.2.20\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-6-177.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.6.177\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-0-32.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.0.32\\\",\\\"primary\\\":false}],\\\"subnetId\\\":\\\"subnet-5fcf4c39\\\",\\\"requesterId\\\":\\\"AROAIHEI2G37MOBIMVFJM:i-0e1173a5831806ee9\\\",\\\"description\\\":\\\"aws-K8S-i-0e1173a5831806ee9\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"k8s-worker-nodes-dev-NodeSecurityGroup-12A693N5Z6ZU6\\\",\\\"groupId\\\":\\\"sg-00ba81535e246b255\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"172.31.8.143\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[{\\\"value\\\":\\\"i-0e1173a5831806ee9\\\",\\\"key\\\":\\\"node.k8s.amazonaws.com/instance_id\\\"}],\\\"macAddress\\\":\\\"02:f2:0f:1f:e2:ee\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"privateDnsName\\\":\\\"ip-172-31-8-143.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-3c3b705a","subnetId":"subnet-5fcf4c39","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0f1843fb4c77fdfef","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[{\"tag\":\"node.k8s.amazonaws.com/instance_id=i-0e1173a5831806ee9\",\"value\":\"i-0e1173a5831806ee9\",\"key\":\"node.k8s.amazonaws.com/instance_id\"}]","title":"eni-0f1843fb4c77fdfef","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0095dcb0b33af1971","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0095dcb0b33af1971","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0095dcb0b33af1971\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"060997615305\\\",\\\"allocationId\\\":\\\"eipalloc-0d8024666337a2412\\\",\\\"publicIp\\\":\\\"52.208.51.34\\\",\\\"publicDnsName\\\":\\\"ec2-52-208-51-34.eu-west-1.compute.amazonaws.com\\\",\\\"associationId\\\":\\\"eipassoc-0f324a0e5f8bf4529\\\"},\\\"privateDnsName\\\":\\\"ip-172-31-0-201.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.0.201\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-5fcf4c39\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"060997615305\\\",\\\"allocationId\\\":\\\"eipalloc-0d8024666337a2412\\\",\\\"publicIp\\\":\\\"52.208.51.34\\\",\\\"publicDnsName\\\":\\\"ec2-52-208-51-34.eu-west-1.compute.amazonaws.com\\\",\\\"associationId\\\":\\\"eipassoc-0f324a0e5f8bf4529\\\"},\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-96788cea\\\"},{\\\"groupName\\\":\\\"awseb-e-w6mearyryk-stack-AWSEBSecurityGroup-1QN1HFTTTDQ03\\\",\\\"groupId\\\":\\\"sg-0ecc4d031c5673922\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"172.31.0.201\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:22:42:c7:6a:2f\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"instanceId\\\":\\\"i-01ce9288893dcf6eb\\\",\\\"attachmentId\\\":\\\"eni-attach-0da2531d706e4882b\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"instanceOwnerId\\\":\\\"060997615305\\\",\\\"attachTime\\\":\\\"2023-04-09T06:01:12.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"privateDnsName\\\":\\\"ip-172-31-0-201.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-3c3b705a","subnetId":"subnet-5fcf4c39","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0095dcb0b33af1971","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0095dcb0b33af1971","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-079df4b65ac79c0a3","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-079df4b65ac79c0a3","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-079df4b65ac79c0a3\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon-elb\\\",\\\"publicIp\\\":\\\"3.248.239.57\\\",\\\"publicDnsName\\\":\\\"ec2-3-248-239-57.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-172-31-10-193.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.10.193\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-5fcf4c39\\\",\\\"requesterId\\\":\\\"amazon-elb\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon-elb\\\",\\\"publicIp\\\":\\\"3.248.239.57\\\",\\\"publicDnsName\\\":\\\"ec2-3-248-239-57.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"ELB a24d5e83c936711e9812b06b4550bdce\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"k8s-elb-a24d5e83c936711e9812b06b4550bdce\\\",\\\"groupId\\\":\\\"sg-09eafe5c6ba9f53bf\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"172.31.10.193\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:7d:54:15:5c:99\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0eb165890965e789c\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-elb\\\",\\\"attachTime\\\":\\\"2023-04-15T04:15:06.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"privateDnsName\\\":\\\"ip-172-31-10-193.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-3c3b705a","subnetId":"subnet-5fcf4c39","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-079df4b65ac79c0a3","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-079df4b65ac79c0a3","instanceType":null,"statement":null,"dBInstanceStatus":null}}]},{"id":null,"label":"Instance","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:instance/i-01ce9288893dcf6eb","label":"AWS_EC2_Instance","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:instance/i-01ce9288893dcf6eb","configuration":"\"{\\\"subnetId\\\":\\\"subnet-5fcf4c39\\\",\\\"virtualizationType\\\":\\\"hvm\\\",\\\"capacityReservationSpecification\\\":{\\\"capacityReservationPreference\\\":\\\"open\\\"},\\\"amiLaunchIndex\\\":0,\\\"enaSupport\\\":true,\\\"elasticInferenceAcceleratorAssociations\\\":[],\\\"sourceDestCheck\\\":true,\\\"hibernationOptions\\\":{\\\"configured\\\":false},\\\"instanceId\\\":\\\"i-01ce9288893dcf6eb\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"hypervisor\\\":\\\"xen\\\",\\\"rootDeviceName\\\":\\\"/dev/xvda\\\",\\\"productCodes\\\":[],\\\"state\\\":{\\\"code\\\":\\\"16\\\",\\\"name\\\":\\\"running\\\"},\\\"architecture\\\":\\\"x86_64\\\",\\\"ebsOptimized\\\":false,\\\"imageId\\\":\\\"ami-00d8c6c39db0049ec\\\",\\\"blockDeviceMappings\\\":[{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-0d78383096dd33be6\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2023-04-09T06:01:13.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvda\\\"}],\\\"publicIpAddress\\\":\\\"52.208.51.34\\\",\\\"stateTransitionReason\\\":\\\"\\\",\\\"clientToken\\\":\\\"e2261d92-6abc-d65b-ee49-beffa31cef5a\\\",\\\"instanceType\\\":\\\"t2.micro\\\",\\\"cpuOptions\\\":{\\\"threadsPerCore\\\":1,\\\"coreCount\\\":1},\\\"monitoring\\\":{\\\"state\\\":\\\"disabled\\\"},\\\"publicDnsName\\\":\\\"ec2-52-208-51-34.eu-west-1.compute.amazonaws.com\\\",\\\"iamInstanceProfile\\\":{\\\"id\\\":\\\"AIPAJSMVZMY2WHQWICQT6\\\",\\\"arn\\\":\\\"arn:aws:iam::060997615305:instance-profile/aws-elasticbeanstalk-ec2-role\\\"},\\\"privateIpAddress\\\":\\\"172.31.0.201\\\",\\\"rootDeviceType\\\":\\\"ebs\\\",\\\"tags\\\":[{\\\"value\\\":\\\"AWSEBAutoScalingGroup\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/awseb-e-w6mearyryk-stack/55b06e90-bc6b-11ea-aa61-0a535c7d72e8\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"awseb-e-w6mearyryk-stack\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"Help56-env\\\",\\\"key\\\":\\\"elasticbeanstalk:environment-name\\\"},{\\\"value\\\":\\\"Help56-env\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"awseb-e-w6mearyryk-stack-AWSEBAutoScalingGroup-1PXK2KSRRLL4Y\\\",\\\"key\\\":\\\"aws:autoscaling:groupName\\\"},{\\\"value\\\":\\\"e-w6mearyryk\\\",\\\"key\\\":\\\"elasticbeanstalk:environment-id\\\"}],\\\"enclaveOptions\\\":{\\\"enabled\\\":false},\\\"launchTime\\\":\\\"2023-04-09T06:01:12.000Z\\\",\\\"elasticGpuAssociations\\\":[],\\\"licenses\\\":[],\\\"networkInterfaces\\\":[{\\\"networkInterfaceId\\\":\\\"eni-0095dcb0b33af1971\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"060997615305\\\",\\\"publicIp\\\":\\\"52.208.51.34\\\",\\\"publicDnsName\\\":\\\"ec2-52-208-51-34.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-172-31-0-201.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.0.201\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-5fcf4c39\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"060997615305\\\",\\\"publicIp\\\":\\\"52.208.51.34\\\",\\\"publicDnsName\\\":\\\"ec2-52-208-51-34.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"awseb-e-w6mearyryk-stack-AWSEBSecurityGroup-1QN1HFTTTDQ03\\\",\\\"groupId\\\":\\\"sg-0ecc4d031c5673922\\\"},{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-96788cea\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"privateIpAddress\\\":\\\"172.31.0.201\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"macAddress\\\":\\\"02:22:42:c7:6a:2f\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0da2531d706e4882b\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"attachTime\\\":\\\"2023-04-09T06:01:12.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"privateDnsName\\\":\\\"ip-172-31-0-201.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}],\\\"metadataOptions\\\":{\\\"httpPutResponseHopLimit\\\":1,\\\"httpEndpoint\\\":\\\"enabled\\\",\\\"state\\\":\\\"applied\\\",\\\"httpTokens\\\":\\\"optional\\\"},\\\"privateDnsName\\\":\\\"ip-172-31-0-201.eu-west-1.compute.internal\\\",\\\"securityGroups\\\":[{\\\"groupName\\\":\\\"awseb-e-w6mearyryk-stack-AWSEBSecurityGroup-1QN1HFTTTDQ03\\\",\\\"groupId\\\":\\\"sg-0ecc4d031c5673922\\\"},{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-96788cea\\\"}],\\\"placement\\\":{\\\"groupName\\\":\\\"\\\",\\\"tenancy\\\":\\\"default\\\",\\\"availabilityZone\\\":\\\"eu-west-1c\\\"}}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-3c3b705a","subnetId":"subnet-5fcf4c39","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#Instances:sort=instanceId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#Instances:sort=instanceId","private":null,"resourceId":"i-01ce9288893dcf6eb","resourceName":null,"resourceType":"AWS::EC2::Instance","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=awseb-e-w6mearyryk-stack\",\"value\":\"awseb-e-w6mearyryk-stack\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:autoscaling:groupName=awseb-e-w6mearyryk-stack-AWSEBAutoScalingGroup-1PXK2KSRRLL4Y\",\"value\":\"awseb-e-w6mearyryk-stack-AWSEBAutoScalingGroup-1PXK2KSRRLL4Y\",\"key\":\"aws:autoscaling:groupName\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/awseb-e-w6mearyryk-stack/55b06e90-bc6b-11ea-aa61-0a535c7d72e8\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/awseb-e-w6mearyryk-stack/55b06e90-bc6b-11ea-aa61-0a535c7d72e8\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"elasticbeanstalk:environment-name=Help56-env\",\"value\":\"Help56-env\",\"key\":\"elasticbeanstalk:environment-name\"},{\"tag\":\"aws:cloudformation:logical-id=AWSEBAutoScalingGroup\",\"value\":\"AWSEBAutoScalingGroup\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"elasticbeanstalk:environment-id=e-w6mearyryk\",\"value\":\"e-w6mearyryk\",\"key\":\"elasticbeanstalk:environment-id\"},{\"tag\":\"Name=Help56-env\",\"value\":\"Help56-env\",\"key\":\"Name\"}]","title":"Help56-env","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#248814","properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-5fcf4c39","configuration":"\"{\\\"subnetId\\\":\\\"subnet-5fcf4c39\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-5fcf4c39\\\",\\\"availabilityZoneId\\\":\\\"euw1-az1\\\",\\\"cidrBlock\\\":\\\"172.31.0.0/20\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[],\\\"availableIpAddressCount\\\":4077,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"mapPublicIpOnLaunch\\\":true,\\\"defaultForAz\\\":true,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-3c3b705a","subnetId":"subnet-5fcf4c39","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":null,"resourceId":"subnet-5fcf4c39","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[]","title":"subnet-5fcf4c39","instanceType":null,"statement":null,"dBInstanceStatus":null},"resource":{"id":"subnet-5fcf4c39","name":null,"value":null,"type":"AWS::EC2::Subnet","tags":"[]","arn":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-5fcf4c39","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","accountId":"060997615305"}},"position":{"x":-1703.5,"y":386.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"subnet removeAll _gridParentPadding"},{"data":{"id":"NetworkInterface-subnet-5fcf4c39-eu-west-1c-vpc-3c3b705a-eu-west-1-060997615305","parent":"subnet-5fcf4c39-eu-west-1c-vpc-3c3b705a-eu-west-1-060997615305","level":5,"title":"NetworkInterface","label":"NetworkInterface","plainLabel":"NetworkInterface","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0ea6739d9f2a567c5","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0ea6739d9f2a567c5","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0ea6739d9f2a567c5\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-172-31-12-12.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.12.12\\\",\\\"primary\\\":true},{\\\"privateDnsName\\\":\\\"ip-172-31-5-127.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.5.127\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-15-43.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.15.43\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-6-100.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.6.100\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-6-208.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.6.208\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-12-80.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.12.80\\\",\\\"primary\\\":false}],\\\"subnetId\\\":\\\"subnet-5fcf4c39\\\",\\\"requesterId\\\":\\\"AROAIHEI2G37MOBIMVFJM:i-036e525e159f62a5d\\\",\\\"description\\\":\\\"aws-K8S-i-036e525e159f62a5d\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"k8s-worker-nodes-dev-NodeSecurityGroup-12A693N5Z6ZU6\\\",\\\"groupId\\\":\\\"sg-00ba81535e246b255\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"172.31.12.12\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[{\\\"value\\\":\\\"i-036e525e159f62a5d\\\",\\\"key\\\":\\\"node.k8s.amazonaws.com/instance_id\\\"}],\\\"macAddress\\\":\\\"02:fe:1f:b3:78:94\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"privateDnsName\\\":\\\"ip-172-31-12-12.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-3c3b705a","subnetId":"subnet-5fcf4c39","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0ea6739d9f2a567c5","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[{\"tag\":\"node.k8s.amazonaws.com/instance_id=i-036e525e159f62a5d\",\"value\":\"i-036e525e159f62a5d\",\"key\":\"node.k8s.amazonaws.com/instance_id\"}]","title":"eni-0ea6739d9f2a567c5","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0f1843fb4c77fdfef","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0f1843fb4c77fdfef","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0f1843fb4c77fdfef\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-172-31-8-143.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.8.143\\\",\\\"primary\\\":true},{\\\"privateDnsName\\\":\\\"ip-172-31-11-58.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.11.58\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-3-138.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.3.138\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-2-20.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.2.20\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-6-177.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.6.177\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-0-32.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.0.32\\\",\\\"primary\\\":false}],\\\"subnetId\\\":\\\"subnet-5fcf4c39\\\",\\\"requesterId\\\":\\\"AROAIHEI2G37MOBIMVFJM:i-0e1173a5831806ee9\\\",\\\"description\\\":\\\"aws-K8S-i-0e1173a5831806ee9\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"k8s-worker-nodes-dev-NodeSecurityGroup-12A693N5Z6ZU6\\\",\\\"groupId\\\":\\\"sg-00ba81535e246b255\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"172.31.8.143\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[{\\\"value\\\":\\\"i-0e1173a5831806ee9\\\",\\\"key\\\":\\\"node.k8s.amazonaws.com/instance_id\\\"}],\\\"macAddress\\\":\\\"02:f2:0f:1f:e2:ee\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"privateDnsName\\\":\\\"ip-172-31-8-143.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-3c3b705a","subnetId":"subnet-5fcf4c39","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0f1843fb4c77fdfef","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[{\"tag\":\"node.k8s.amazonaws.com/instance_id=i-0e1173a5831806ee9\",\"value\":\"i-0e1173a5831806ee9\",\"key\":\"node.k8s.amazonaws.com/instance_id\"}]","title":"eni-0f1843fb4c77fdfef","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0095dcb0b33af1971","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0095dcb0b33af1971","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0095dcb0b33af1971\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"060997615305\\\",\\\"allocationId\\\":\\\"eipalloc-0d8024666337a2412\\\",\\\"publicIp\\\":\\\"52.208.51.34\\\",\\\"publicDnsName\\\":\\\"ec2-52-208-51-34.eu-west-1.compute.amazonaws.com\\\",\\\"associationId\\\":\\\"eipassoc-0f324a0e5f8bf4529\\\"},\\\"privateDnsName\\\":\\\"ip-172-31-0-201.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.0.201\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-5fcf4c39\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"060997615305\\\",\\\"allocationId\\\":\\\"eipalloc-0d8024666337a2412\\\",\\\"publicIp\\\":\\\"52.208.51.34\\\",\\\"publicDnsName\\\":\\\"ec2-52-208-51-34.eu-west-1.compute.amazonaws.com\\\",\\\"associationId\\\":\\\"eipassoc-0f324a0e5f8bf4529\\\"},\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-96788cea\\\"},{\\\"groupName\\\":\\\"awseb-e-w6mearyryk-stack-AWSEBSecurityGroup-1QN1HFTTTDQ03\\\",\\\"groupId\\\":\\\"sg-0ecc4d031c5673922\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"172.31.0.201\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:22:42:c7:6a:2f\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"instanceId\\\":\\\"i-01ce9288893dcf6eb\\\",\\\"attachmentId\\\":\\\"eni-attach-0da2531d706e4882b\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"instanceOwnerId\\\":\\\"060997615305\\\",\\\"attachTime\\\":\\\"2023-04-09T06:01:12.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"privateDnsName\\\":\\\"ip-172-31-0-201.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-3c3b705a","subnetId":"subnet-5fcf4c39","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0095dcb0b33af1971","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0095dcb0b33af1971","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-079df4b65ac79c0a3","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-079df4b65ac79c0a3","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-079df4b65ac79c0a3\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon-elb\\\",\\\"publicIp\\\":\\\"3.248.239.57\\\",\\\"publicDnsName\\\":\\\"ec2-3-248-239-57.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-172-31-10-193.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.10.193\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-5fcf4c39\\\",\\\"requesterId\\\":\\\"amazon-elb\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon-elb\\\",\\\"publicIp\\\":\\\"3.248.239.57\\\",\\\"publicDnsName\\\":\\\"ec2-3-248-239-57.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"ELB a24d5e83c936711e9812b06b4550bdce\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"k8s-elb-a24d5e83c936711e9812b06b4550bdce\\\",\\\"groupId\\\":\\\"sg-09eafe5c6ba9f53bf\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"172.31.10.193\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:7d:54:15:5c:99\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0eb165890965e789c\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-elb\\\",\\\"attachTime\\\":\\\"2023-04-15T04:15:06.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"privateDnsName\\\":\\\"ip-172-31-10-193.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-3c3b705a","subnetId":"subnet-5fcf4c39","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-079df4b65ac79c0a3","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-079df4b65ac79c0a3","instanceType":null,"statement":null,"dBInstanceStatus":null}}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1760,"y":386.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0ea6739d9f2a567c5","resourceId":["eni-0ea6739d9f2a567c5","arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0ea6739d9f2a567c5"],"parent":"NetworkInterface-subnet-5fcf4c39-eu-west-1c-vpc-3c3b705a-eu-west-1-060997615305","level":6,"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0ea6739d9f2a567c5","title":"eni-0ea6739d9f2a567c5","label":"eni-0ea6739d...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0ea6739d9f2a567c5","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-0ea6739d9f2a567c5","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[{\"tag\":\"node.k8s.amazonaws.com/instance_id=i-036e525e159f62a5d\",\"value\":\"i-036e525e159f62a5d\",\"key\":\"node.k8s.amazonaws.com/instance_id\"}]","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0ea6739d9f2a567c5","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0ea6739d9f2a567c5","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0ea6739d9f2a567c5\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-172-31-12-12.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.12.12\\\",\\\"primary\\\":true},{\\\"privateDnsName\\\":\\\"ip-172-31-5-127.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.5.127\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-15-43.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.15.43\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-6-100.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.6.100\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-6-208.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.6.208\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-12-80.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.12.80\\\",\\\"primary\\\":false}],\\\"subnetId\\\":\\\"subnet-5fcf4c39\\\",\\\"requesterId\\\":\\\"AROAIHEI2G37MOBIMVFJM:i-036e525e159f62a5d\\\",\\\"description\\\":\\\"aws-K8S-i-036e525e159f62a5d\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"k8s-worker-nodes-dev-NodeSecurityGroup-12A693N5Z6ZU6\\\",\\\"groupId\\\":\\\"sg-00ba81535e246b255\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"172.31.12.12\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[{\\\"value\\\":\\\"i-036e525e159f62a5d\\\",\\\"key\\\":\\\"node.k8s.amazonaws.com/instance_id\\\"}],\\\"macAddress\\\":\\\"02:fe:1f:b3:78:94\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"privateDnsName\\\":\\\"ip-172-31-12-12.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-3c3b705a","subnetId":"subnet-5fcf4c39","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0ea6739d9f2a567c5","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[{\"tag\":\"node.k8s.amazonaws.com/instance_id=i-036e525e159f62a5d\",\"value\":\"i-036e525e159f62a5d\",\"key\":\"node.k8s.amazonaws.com/instance_id\"}]","title":"eni-0ea6739d9f2a567c5","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1796.5,"y":349.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0f1843fb4c77fdfef","resourceId":["eni-0f1843fb4c77fdfef","arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0f1843fb4c77fdfef"],"parent":"NetworkInterface-subnet-5fcf4c39-eu-west-1c-vpc-3c3b705a-eu-west-1-060997615305","level":6,"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0f1843fb4c77fdfef","title":"eni-0f1843fb4c77fdfef","label":"eni-0f1843fb...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0f1843fb4c77fdfef","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-0f1843fb4c77fdfef","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[{\"tag\":\"node.k8s.amazonaws.com/instance_id=i-0e1173a5831806ee9\",\"value\":\"i-0e1173a5831806ee9\",\"key\":\"node.k8s.amazonaws.com/instance_id\"}]","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0f1843fb4c77fdfef","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0f1843fb4c77fdfef","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0f1843fb4c77fdfef\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-172-31-8-143.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.8.143\\\",\\\"primary\\\":true},{\\\"privateDnsName\\\":\\\"ip-172-31-11-58.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.11.58\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-3-138.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.3.138\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-2-20.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.2.20\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-6-177.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.6.177\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-0-32.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.0.32\\\",\\\"primary\\\":false}],\\\"subnetId\\\":\\\"subnet-5fcf4c39\\\",\\\"requesterId\\\":\\\"AROAIHEI2G37MOBIMVFJM:i-0e1173a5831806ee9\\\",\\\"description\\\":\\\"aws-K8S-i-0e1173a5831806ee9\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"k8s-worker-nodes-dev-NodeSecurityGroup-12A693N5Z6ZU6\\\",\\\"groupId\\\":\\\"sg-00ba81535e246b255\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"172.31.8.143\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[{\\\"value\\\":\\\"i-0e1173a5831806ee9\\\",\\\"key\\\":\\\"node.k8s.amazonaws.com/instance_id\\\"}],\\\"macAddress\\\":\\\"02:f2:0f:1f:e2:ee\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"privateDnsName\\\":\\\"ip-172-31-8-143.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-3c3b705a","subnetId":"subnet-5fcf4c39","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0f1843fb4c77fdfef","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[{\"tag\":\"node.k8s.amazonaws.com/instance_id=i-0e1173a5831806ee9\",\"value\":\"i-0e1173a5831806ee9\",\"key\":\"node.k8s.amazonaws.com/instance_id\"}]","title":"eni-0f1843fb4c77fdfef","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1723.5,"y":349.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0095dcb0b33af1971","resourceId":["eni-0095dcb0b33af1971","arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0095dcb0b33af1971"],"parent":"NetworkInterface-subnet-5fcf4c39-eu-west-1c-vpc-3c3b705a-eu-west-1-060997615305","level":6,"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0095dcb0b33af1971","title":"eni-0095dcb0b33af1971","label":"eni-0095dcb0...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0095dcb0b33af1971","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-0095dcb0b33af1971","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0095dcb0b33af1971","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0095dcb0b33af1971","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0095dcb0b33af1971\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"060997615305\\\",\\\"allocationId\\\":\\\"eipalloc-0d8024666337a2412\\\",\\\"publicIp\\\":\\\"52.208.51.34\\\",\\\"publicDnsName\\\":\\\"ec2-52-208-51-34.eu-west-1.compute.amazonaws.com\\\",\\\"associationId\\\":\\\"eipassoc-0f324a0e5f8bf4529\\\"},\\\"privateDnsName\\\":\\\"ip-172-31-0-201.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.0.201\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-5fcf4c39\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"060997615305\\\",\\\"allocationId\\\":\\\"eipalloc-0d8024666337a2412\\\",\\\"publicIp\\\":\\\"52.208.51.34\\\",\\\"publicDnsName\\\":\\\"ec2-52-208-51-34.eu-west-1.compute.amazonaws.com\\\",\\\"associationId\\\":\\\"eipassoc-0f324a0e5f8bf4529\\\"},\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-96788cea\\\"},{\\\"groupName\\\":\\\"awseb-e-w6mearyryk-stack-AWSEBSecurityGroup-1QN1HFTTTDQ03\\\",\\\"groupId\\\":\\\"sg-0ecc4d031c5673922\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"172.31.0.201\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:22:42:c7:6a:2f\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"instanceId\\\":\\\"i-01ce9288893dcf6eb\\\",\\\"attachmentId\\\":\\\"eni-attach-0da2531d706e4882b\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"instanceOwnerId\\\":\\\"060997615305\\\",\\\"attachTime\\\":\\\"2023-04-09T06:01:12.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"privateDnsName\\\":\\\"ip-172-31-0-201.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-3c3b705a","subnetId":"subnet-5fcf4c39","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0095dcb0b33af1971","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0095dcb0b33af1971","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1796.5,"y":422.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-079df4b65ac79c0a3","resourceId":["eni-079df4b65ac79c0a3","arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-079df4b65ac79c0a3"],"parent":"NetworkInterface-subnet-5fcf4c39-eu-west-1c-vpc-3c3b705a-eu-west-1-060997615305","level":6,"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-079df4b65ac79c0a3","title":"eni-079df4b65ac79c0a3","label":"eni-079df4b6...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-079df4b65ac79c0a3","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-079df4b65ac79c0a3","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-079df4b65ac79c0a3","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-079df4b65ac79c0a3","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-079df4b65ac79c0a3\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon-elb\\\",\\\"publicIp\\\":\\\"3.248.239.57\\\",\\\"publicDnsName\\\":\\\"ec2-3-248-239-57.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-172-31-10-193.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.10.193\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-5fcf4c39\\\",\\\"requesterId\\\":\\\"amazon-elb\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon-elb\\\",\\\"publicIp\\\":\\\"3.248.239.57\\\",\\\"publicDnsName\\\":\\\"ec2-3-248-239-57.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"ELB a24d5e83c936711e9812b06b4550bdce\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"k8s-elb-a24d5e83c936711e9812b06b4550bdce\\\",\\\"groupId\\\":\\\"sg-09eafe5c6ba9f53bf\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1c\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"172.31.10.193\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"02:7d:54:15:5c:99\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0eb165890965e789c\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-elb\\\",\\\"attachTime\\\":\\\"2023-04-15T04:15:06.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"privateDnsName\\\":\\\"ip-172-31-10-193.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-3c3b705a","subnetId":"subnet-5fcf4c39","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-079df4b65ac79c0a3","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-079df4b65ac79c0a3","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1723.5,"y":422.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"Instance-subnet-5fcf4c39-eu-west-1c-vpc-3c3b705a-eu-west-1-060997615305","parent":"subnet-5fcf4c39-eu-west-1c-vpc-3c3b705a-eu-west-1-060997615305","level":5,"title":"Instance","label":"Instance","plainLabel":"Instance","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-EC2_Instance_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:instance/i-01ce9288893dcf6eb","label":"AWS_EC2_Instance","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:instance/i-01ce9288893dcf6eb","configuration":"\"{\\\"subnetId\\\":\\\"subnet-5fcf4c39\\\",\\\"virtualizationType\\\":\\\"hvm\\\",\\\"capacityReservationSpecification\\\":{\\\"capacityReservationPreference\\\":\\\"open\\\"},\\\"amiLaunchIndex\\\":0,\\\"enaSupport\\\":true,\\\"elasticInferenceAcceleratorAssociations\\\":[],\\\"sourceDestCheck\\\":true,\\\"hibernationOptions\\\":{\\\"configured\\\":false},\\\"instanceId\\\":\\\"i-01ce9288893dcf6eb\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"hypervisor\\\":\\\"xen\\\",\\\"rootDeviceName\\\":\\\"/dev/xvda\\\",\\\"productCodes\\\":[],\\\"state\\\":{\\\"code\\\":\\\"16\\\",\\\"name\\\":\\\"running\\\"},\\\"architecture\\\":\\\"x86_64\\\",\\\"ebsOptimized\\\":false,\\\"imageId\\\":\\\"ami-00d8c6c39db0049ec\\\",\\\"blockDeviceMappings\\\":[{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-0d78383096dd33be6\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2023-04-09T06:01:13.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvda\\\"}],\\\"publicIpAddress\\\":\\\"52.208.51.34\\\",\\\"stateTransitionReason\\\":\\\"\\\",\\\"clientToken\\\":\\\"e2261d92-6abc-d65b-ee49-beffa31cef5a\\\",\\\"instanceType\\\":\\\"t2.micro\\\",\\\"cpuOptions\\\":{\\\"threadsPerCore\\\":1,\\\"coreCount\\\":1},\\\"monitoring\\\":{\\\"state\\\":\\\"disabled\\\"},\\\"publicDnsName\\\":\\\"ec2-52-208-51-34.eu-west-1.compute.amazonaws.com\\\",\\\"iamInstanceProfile\\\":{\\\"id\\\":\\\"AIPAJSMVZMY2WHQWICQT6\\\",\\\"arn\\\":\\\"arn:aws:iam::060997615305:instance-profile/aws-elasticbeanstalk-ec2-role\\\"},\\\"privateIpAddress\\\":\\\"172.31.0.201\\\",\\\"rootDeviceType\\\":\\\"ebs\\\",\\\"tags\\\":[{\\\"value\\\":\\\"AWSEBAutoScalingGroup\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/awseb-e-w6mearyryk-stack/55b06e90-bc6b-11ea-aa61-0a535c7d72e8\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"awseb-e-w6mearyryk-stack\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"Help56-env\\\",\\\"key\\\":\\\"elasticbeanstalk:environment-name\\\"},{\\\"value\\\":\\\"Help56-env\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"awseb-e-w6mearyryk-stack-AWSEBAutoScalingGroup-1PXK2KSRRLL4Y\\\",\\\"key\\\":\\\"aws:autoscaling:groupName\\\"},{\\\"value\\\":\\\"e-w6mearyryk\\\",\\\"key\\\":\\\"elasticbeanstalk:environment-id\\\"}],\\\"enclaveOptions\\\":{\\\"enabled\\\":false},\\\"launchTime\\\":\\\"2023-04-09T06:01:12.000Z\\\",\\\"elasticGpuAssociations\\\":[],\\\"licenses\\\":[],\\\"networkInterfaces\\\":[{\\\"networkInterfaceId\\\":\\\"eni-0095dcb0b33af1971\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"060997615305\\\",\\\"publicIp\\\":\\\"52.208.51.34\\\",\\\"publicDnsName\\\":\\\"ec2-52-208-51-34.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-172-31-0-201.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.0.201\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-5fcf4c39\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"060997615305\\\",\\\"publicIp\\\":\\\"52.208.51.34\\\",\\\"publicDnsName\\\":\\\"ec2-52-208-51-34.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"awseb-e-w6mearyryk-stack-AWSEBSecurityGroup-1QN1HFTTTDQ03\\\",\\\"groupId\\\":\\\"sg-0ecc4d031c5673922\\\"},{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-96788cea\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"privateIpAddress\\\":\\\"172.31.0.201\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"macAddress\\\":\\\"02:22:42:c7:6a:2f\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0da2531d706e4882b\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"attachTime\\\":\\\"2023-04-09T06:01:12.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"privateDnsName\\\":\\\"ip-172-31-0-201.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}],\\\"metadataOptions\\\":{\\\"httpPutResponseHopLimit\\\":1,\\\"httpEndpoint\\\":\\\"enabled\\\",\\\"state\\\":\\\"applied\\\",\\\"httpTokens\\\":\\\"optional\\\"},\\\"privateDnsName\\\":\\\"ip-172-31-0-201.eu-west-1.compute.internal\\\",\\\"securityGroups\\\":[{\\\"groupName\\\":\\\"awseb-e-w6mearyryk-stack-AWSEBSecurityGroup-1QN1HFTTTDQ03\\\",\\\"groupId\\\":\\\"sg-0ecc4d031c5673922\\\"},{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-96788cea\\\"}],\\\"placement\\\":{\\\"groupName\\\":\\\"\\\",\\\"tenancy\\\":\\\"default\\\",\\\"availabilityZone\\\":\\\"eu-west-1c\\\"}}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-3c3b705a","subnetId":"subnet-5fcf4c39","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#Instances:sort=instanceId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#Instances:sort=instanceId","private":null,"resourceId":"i-01ce9288893dcf6eb","resourceName":null,"resourceType":"AWS::EC2::Instance","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=awseb-e-w6mearyryk-stack\",\"value\":\"awseb-e-w6mearyryk-stack\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:autoscaling:groupName=awseb-e-w6mearyryk-stack-AWSEBAutoScalingGroup-1PXK2KSRRLL4Y\",\"value\":\"awseb-e-w6mearyryk-stack-AWSEBAutoScalingGroup-1PXK2KSRRLL4Y\",\"key\":\"aws:autoscaling:groupName\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/awseb-e-w6mearyryk-stack/55b06e90-bc6b-11ea-aa61-0a535c7d72e8\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/awseb-e-w6mearyryk-stack/55b06e90-bc6b-11ea-aa61-0a535c7d72e8\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"elasticbeanstalk:environment-name=Help56-env\",\"value\":\"Help56-env\",\"key\":\"elasticbeanstalk:environment-name\"},{\"tag\":\"aws:cloudformation:logical-id=AWSEBAutoScalingGroup\",\"value\":\"AWSEBAutoScalingGroup\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"elasticbeanstalk:environment-id=e-w6mearyryk\",\"value\":\"e-w6mearyryk\",\"key\":\"elasticbeanstalk:environment-id\"},{\"tag\":\"Name=Help56-env\",\"value\":\"Help56-env\",\"key\":\"Name\"}]","title":"Help56-env","instanceType":null,"statement":null,"dBInstanceStatus":null}}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1610.5,"y":349.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:instance/i-01ce9288893dcf6eb","resourceId":["i-01ce9288893dcf6eb","arn:aws:ec2:eu-west-1:060997615305:instance/i-01ce9288893dcf6eb"],"parent":"Instance-subnet-5fcf4c39-eu-west-1c-vpc-3c3b705a-eu-west-1-060997615305","level":6,"id":"arn:aws:ec2:eu-west-1:060997615305:instance/i-01ce9288893dcf6eb","title":"Help56-env","label":"Help56-env","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#FF9900","borderStyle":"dotted","borderColour":"#FF9900","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:instance/i-01ce9288893dcf6eb","state":{"status":"status-warning","text":"no state data","color":"#FF9900"},"image":"/icons/Amazon-EC2_T2-Instance_light-bg-warning.svg","cost":0,"private":false,"detailsComponent":{"key":null,"ref":null,"props":{"title":"Instance Details","configuration":"\"{\\\"subnetId\\\":\\\"subnet-5fcf4c39\\\",\\\"virtualizationType\\\":\\\"hvm\\\",\\\"capacityReservationSpecification\\\":{\\\"capacityReservationPreference\\\":\\\"open\\\"},\\\"amiLaunchIndex\\\":0,\\\"enaSupport\\\":true,\\\"elasticInferenceAcceleratorAssociations\\\":[],\\\"sourceDestCheck\\\":true,\\\"hibernationOptions\\\":{\\\"configured\\\":false},\\\"instanceId\\\":\\\"i-01ce9288893dcf6eb\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"hypervisor\\\":\\\"xen\\\",\\\"rootDeviceName\\\":\\\"/dev/xvda\\\",\\\"productCodes\\\":[],\\\"state\\\":{\\\"code\\\":\\\"16\\\",\\\"name\\\":\\\"running\\\"},\\\"architecture\\\":\\\"x86_64\\\",\\\"ebsOptimized\\\":false,\\\"imageId\\\":\\\"ami-00d8c6c39db0049ec\\\",\\\"blockDeviceMappings\\\":[{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-0d78383096dd33be6\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2023-04-09T06:01:13.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvda\\\"}],\\\"publicIpAddress\\\":\\\"52.208.51.34\\\",\\\"stateTransitionReason\\\":\\\"\\\",\\\"clientToken\\\":\\\"e2261d92-6abc-d65b-ee49-beffa31cef5a\\\",\\\"instanceType\\\":\\\"t2.micro\\\",\\\"cpuOptions\\\":{\\\"threadsPerCore\\\":1,\\\"coreCount\\\":1},\\\"monitoring\\\":{\\\"state\\\":\\\"disabled\\\"},\\\"publicDnsName\\\":\\\"ec2-52-208-51-34.eu-west-1.compute.amazonaws.com\\\",\\\"iamInstanceProfile\\\":{\\\"id\\\":\\\"AIPAJSMVZMY2WHQWICQT6\\\",\\\"arn\\\":\\\"arn:aws:iam::060997615305:instance-profile/aws-elasticbeanstalk-ec2-role\\\"},\\\"privateIpAddress\\\":\\\"172.31.0.201\\\",\\\"rootDeviceType\\\":\\\"ebs\\\",\\\"tags\\\":[{\\\"value\\\":\\\"AWSEBAutoScalingGroup\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/awseb-e-w6mearyryk-stack/55b06e90-bc6b-11ea-aa61-0a535c7d72e8\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"awseb-e-w6mearyryk-stack\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"Help56-env\\\",\\\"key\\\":\\\"elasticbeanstalk:environment-name\\\"},{\\\"value\\\":\\\"Help56-env\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"awseb-e-w6mearyryk-stack-AWSEBAutoScalingGroup-1PXK2KSRRLL4Y\\\",\\\"key\\\":\\\"aws:autoscaling:groupName\\\"},{\\\"value\\\":\\\"e-w6mearyryk\\\",\\\"key\\\":\\\"elasticbeanstalk:environment-id\\\"}],\\\"enclaveOptions\\\":{\\\"enabled\\\":false},\\\"launchTime\\\":\\\"2023-04-09T06:01:12.000Z\\\",\\\"elasticGpuAssociations\\\":[],\\\"licenses\\\":[],\\\"networkInterfaces\\\":[{\\\"networkInterfaceId\\\":\\\"eni-0095dcb0b33af1971\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"060997615305\\\",\\\"publicIp\\\":\\\"52.208.51.34\\\",\\\"publicDnsName\\\":\\\"ec2-52-208-51-34.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-172-31-0-201.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.0.201\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-5fcf4c39\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"060997615305\\\",\\\"publicIp\\\":\\\"52.208.51.34\\\",\\\"publicDnsName\\\":\\\"ec2-52-208-51-34.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"awseb-e-w6mearyryk-stack-AWSEBSecurityGroup-1QN1HFTTTDQ03\\\",\\\"groupId\\\":\\\"sg-0ecc4d031c5673922\\\"},{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-96788cea\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"privateIpAddress\\\":\\\"172.31.0.201\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"macAddress\\\":\\\"02:22:42:c7:6a:2f\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0da2531d706e4882b\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"attachTime\\\":\\\"2023-04-09T06:01:12.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"privateDnsName\\\":\\\"ip-172-31-0-201.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}],\\\"metadataOptions\\\":{\\\"httpPutResponseHopLimit\\\":1,\\\"httpEndpoint\\\":\\\"enabled\\\",\\\"state\\\":\\\"applied\\\",\\\"httpTokens\\\":\\\"optional\\\"},\\\"privateDnsName\\\":\\\"ip-172-31-0-201.eu-west-1.compute.internal\\\",\\\"securityGroups\\\":[{\\\"groupName\\\":\\\"awseb-e-w6mearyryk-stack-AWSEBSecurityGroup-1QN1HFTTTDQ03\\\",\\\"groupId\\\":\\\"sg-0ecc4d031c5673922\\\"},{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-96788cea\\\"}],\\\"placement\\\":{\\\"groupName\\\":\\\"\\\",\\\"tenancy\\\":\\\"default\\\",\\\"availabilityZone\\\":\\\"eu-west-1c\\\"}}\""},"_owner":null,"_store":{}},"resource":{"id":"i-01ce9288893dcf6eb","name":null,"value":null,"type":"AWS::EC2::Instance","tags":"[{\"tag\":\"aws:cloudformation:stack-name=awseb-e-w6mearyryk-stack\",\"value\":\"awseb-e-w6mearyryk-stack\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:autoscaling:groupName=awseb-e-w6mearyryk-stack-AWSEBAutoScalingGroup-1PXK2KSRRLL4Y\",\"value\":\"awseb-e-w6mearyryk-stack-AWSEBAutoScalingGroup-1PXK2KSRRLL4Y\",\"key\":\"aws:autoscaling:groupName\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/awseb-e-w6mearyryk-stack/55b06e90-bc6b-11ea-aa61-0a535c7d72e8\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/awseb-e-w6mearyryk-stack/55b06e90-bc6b-11ea-aa61-0a535c7d72e8\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"elasticbeanstalk:environment-name=Help56-env\",\"value\":\"Help56-env\",\"key\":\"elasticbeanstalk:environment-name\"},{\"tag\":\"aws:cloudformation:logical-id=AWSEBAutoScalingGroup\",\"value\":\"AWSEBAutoScalingGroup\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"elasticbeanstalk:environment-id=e-w6mearyryk\",\"value\":\"e-w6mearyryk\",\"key\":\"elasticbeanstalk:environment-id\"},{\"tag\":\"Name=Help56-env\",\"value\":\"Help56-env\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-1:060997615305:instance/i-01ce9288893dcf6eb","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#Instances:sort=instanceId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#Instances:sort=instanceId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:instance/i-01ce9288893dcf6eb","configuration":"\"{\\\"subnetId\\\":\\\"subnet-5fcf4c39\\\",\\\"virtualizationType\\\":\\\"hvm\\\",\\\"capacityReservationSpecification\\\":{\\\"capacityReservationPreference\\\":\\\"open\\\"},\\\"amiLaunchIndex\\\":0,\\\"enaSupport\\\":true,\\\"elasticInferenceAcceleratorAssociations\\\":[],\\\"sourceDestCheck\\\":true,\\\"hibernationOptions\\\":{\\\"configured\\\":false},\\\"instanceId\\\":\\\"i-01ce9288893dcf6eb\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"hypervisor\\\":\\\"xen\\\",\\\"rootDeviceName\\\":\\\"/dev/xvda\\\",\\\"productCodes\\\":[],\\\"state\\\":{\\\"code\\\":\\\"16\\\",\\\"name\\\":\\\"running\\\"},\\\"architecture\\\":\\\"x86_64\\\",\\\"ebsOptimized\\\":false,\\\"imageId\\\":\\\"ami-00d8c6c39db0049ec\\\",\\\"blockDeviceMappings\\\":[{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-0d78383096dd33be6\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2023-04-09T06:01:13.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvda\\\"}],\\\"publicIpAddress\\\":\\\"52.208.51.34\\\",\\\"stateTransitionReason\\\":\\\"\\\",\\\"clientToken\\\":\\\"e2261d92-6abc-d65b-ee49-beffa31cef5a\\\",\\\"instanceType\\\":\\\"t2.micro\\\",\\\"cpuOptions\\\":{\\\"threadsPerCore\\\":1,\\\"coreCount\\\":1},\\\"monitoring\\\":{\\\"state\\\":\\\"disabled\\\"},\\\"publicDnsName\\\":\\\"ec2-52-208-51-34.eu-west-1.compute.amazonaws.com\\\",\\\"iamInstanceProfile\\\":{\\\"id\\\":\\\"AIPAJSMVZMY2WHQWICQT6\\\",\\\"arn\\\":\\\"arn:aws:iam::060997615305:instance-profile/aws-elasticbeanstalk-ec2-role\\\"},\\\"privateIpAddress\\\":\\\"172.31.0.201\\\",\\\"rootDeviceType\\\":\\\"ebs\\\",\\\"tags\\\":[{\\\"value\\\":\\\"AWSEBAutoScalingGroup\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/awseb-e-w6mearyryk-stack/55b06e90-bc6b-11ea-aa61-0a535c7d72e8\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"awseb-e-w6mearyryk-stack\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"Help56-env\\\",\\\"key\\\":\\\"elasticbeanstalk:environment-name\\\"},{\\\"value\\\":\\\"Help56-env\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"awseb-e-w6mearyryk-stack-AWSEBAutoScalingGroup-1PXK2KSRRLL4Y\\\",\\\"key\\\":\\\"aws:autoscaling:groupName\\\"},{\\\"value\\\":\\\"e-w6mearyryk\\\",\\\"key\\\":\\\"elasticbeanstalk:environment-id\\\"}],\\\"enclaveOptions\\\":{\\\"enabled\\\":false},\\\"launchTime\\\":\\\"2023-04-09T06:01:12.000Z\\\",\\\"elasticGpuAssociations\\\":[],\\\"licenses\\\":[],\\\"networkInterfaces\\\":[{\\\"networkInterfaceId\\\":\\\"eni-0095dcb0b33af1971\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"060997615305\\\",\\\"publicIp\\\":\\\"52.208.51.34\\\",\\\"publicDnsName\\\":\\\"ec2-52-208-51-34.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-172-31-0-201.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.0.201\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-5fcf4c39\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"060997615305\\\",\\\"publicIp\\\":\\\"52.208.51.34\\\",\\\"publicDnsName\\\":\\\"ec2-52-208-51-34.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"awseb-e-w6mearyryk-stack-AWSEBSecurityGroup-1QN1HFTTTDQ03\\\",\\\"groupId\\\":\\\"sg-0ecc4d031c5673922\\\"},{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-96788cea\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"privateIpAddress\\\":\\\"172.31.0.201\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"macAddress\\\":\\\"02:22:42:c7:6a:2f\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0da2531d706e4882b\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"attachTime\\\":\\\"2023-04-09T06:01:12.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"privateDnsName\\\":\\\"ip-172-31-0-201.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}],\\\"metadataOptions\\\":{\\\"httpPutResponseHopLimit\\\":1,\\\"httpEndpoint\\\":\\\"enabled\\\",\\\"state\\\":\\\"applied\\\",\\\"httpTokens\\\":\\\"optional\\\"},\\\"privateDnsName\\\":\\\"ip-172-31-0-201.eu-west-1.compute.internal\\\",\\\"securityGroups\\\":[{\\\"groupName\\\":\\\"awseb-e-w6mearyryk-stack-AWSEBSecurityGroup-1QN1HFTTTDQ03\\\",\\\"groupId\\\":\\\"sg-0ecc4d031c5673922\\\"},{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-96788cea\\\"}],\\\"placement\\\":{\\\"groupName\\\":\\\"\\\",\\\"tenancy\\\":\\\"default\\\",\\\"availabilityZone\\\":\\\"eu-west-1c\\\"}}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1c","vpcId":"vpc-3c3b705a","subnetId":"subnet-5fcf4c39","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#Instances:sort=instanceId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#Instances:sort=instanceId","private":null,"resourceId":"i-01ce9288893dcf6eb","resourceName":null,"resourceType":"AWS::EC2::Instance","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:cloudformation:stack-name=awseb-e-w6mearyryk-stack\",\"value\":\"awseb-e-w6mearyryk-stack\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:autoscaling:groupName=awseb-e-w6mearyryk-stack-AWSEBAutoScalingGroup-1PXK2KSRRLL4Y\",\"value\":\"awseb-e-w6mearyryk-stack-AWSEBAutoScalingGroup-1PXK2KSRRLL4Y\",\"key\":\"aws:autoscaling:groupName\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/awseb-e-w6mearyryk-stack/55b06e90-bc6b-11ea-aa61-0a535c7d72e8\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/awseb-e-w6mearyryk-stack/55b06e90-bc6b-11ea-aa61-0a535c7d72e8\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"elasticbeanstalk:environment-name=Help56-env\",\"value\":\"Help56-env\",\"key\":\"elasticbeanstalk:environment-name\"},{\"tag\":\"aws:cloudformation:logical-id=AWSEBAutoScalingGroup\",\"value\":\"AWSEBAutoScalingGroup\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"elasticbeanstalk:environment-id=e-w6mearyryk\",\"value\":\"e-w6mearyryk\",\"key\":\"elasticbeanstalk:environment-id\"},{\"tag\":\"Name=Help56-env\",\"value\":\"Help56-env\",\"key\":\"Name\"}]","title":"Help56-env","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1610.5,"y":349.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"eu-west-1b-vpc-3c3b705a-eu-west-1-060997615305","parent":"vpc-3c3b705a-eu-west-1-060997615305","level":3,"title":"eu-west-1b","label":"eu-west-1b","plainLabel":"eu-west-1b","type":"availabilityZone","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/availabilityZone.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-22864b78","label":"subnet-22864b78","parent":null,"type":"subnet","data":{"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-22864b78","configuration":"\"{\\\"subnetId\\\":\\\"subnet-22864b78\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-22864b78\\\",\\\"availabilityZoneId\\\":\\\"euw1-az3\\\",\\\"cidrBlock\\\":\\\"172.31.32.0/20\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[],\\\"availableIpAddressCount\\\":4084,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"mapPublicIpOnLaunch\\\":true,\\\"defaultForAz\\\":true,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-3c3b705a","subnetId":"subnet-22864b78","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":null,"resourceId":"subnet-22864b78","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[]","title":"subnet-22864b78","instanceType":null,"statement":null,"dBInstanceStatus":null},"id":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-22864b78","label":"AWS_EC2_Subnet"},"properties":null,"children":[{"id":null,"label":"NetworkInterface","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-02fdc2d678bacdbeb","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-02fdc2d678bacdbeb","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-02fdc2d678bacdbeb\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-172-31-36-100.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.36.100\\\",\\\"primary\\\":true},{\\\"privateDnsName\\\":\\\"ip-172-31-39-222.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.39.222\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-39-45.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.39.45\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-46-122.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.46.122\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-33-66.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.33.66\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-35-145.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.35.145\\\",\\\"primary\\\":false}],\\\"subnetId\\\":\\\"subnet-22864b78\\\",\\\"requesterId\\\":\\\"AROAIHEI2G37MOBIMVFJM:i-0cb50cab2f772e1c9\\\",\\\"description\\\":\\\"aws-K8S-i-0cb50cab2f772e1c9\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"k8s-worker-nodes-dev-NodeSecurityGroup-12A693N5Z6ZU6\\\",\\\"groupId\\\":\\\"sg-00ba81535e246b255\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"172.31.36.100\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[{\\\"value\\\":\\\"i-0cb50cab2f772e1c9\\\",\\\"key\\\":\\\"node.k8s.amazonaws.com/instance_id\\\"}],\\\"macAddress\\\":\\\"0a:ad:87:da:a5:40\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"privateDnsName\\\":\\\"ip-172-31-36-100.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-3c3b705a","subnetId":"subnet-22864b78","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-02fdc2d678bacdbeb","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[{\"tag\":\"node.k8s.amazonaws.com/instance_id=i-0cb50cab2f772e1c9\",\"value\":\"i-0cb50cab2f772e1c9\",\"key\":\"node.k8s.amazonaws.com/instance_id\"}]","title":"eni-02fdc2d678bacdbeb","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0adfcf0a875bc3ec8","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0adfcf0a875bc3ec8","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0adfcf0a875bc3ec8\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon-elb\\\",\\\"publicIp\\\":\\\"54.72.29.159\\\",\\\"publicDnsName\\\":\\\"ec2-54-72-29-159.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-172-31-32-241.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.32.241\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-22864b78\\\",\\\"requesterId\\\":\\\"amazon-elb\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon-elb\\\",\\\"publicIp\\\":\\\"54.72.29.159\\\",\\\"publicDnsName\\\":\\\"ec2-54-72-29-159.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"ELB a3a680e4cbdb811e9a8b30a8ac757ccc\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"k8s-elb-a3a680e4cbdb811e9a8b30a8ac757ccc\\\",\\\"groupId\\\":\\\"sg-07cd255b1c97fe1a1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"172.31.32.241\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:63:ff:9f:56:dd\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0c3eab5403c91758a\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-elb\\\",\\\"attachTime\\\":\\\"2023-04-06T07:03:21.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"privateDnsName\\\":\\\"ip-172-31-32-241.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-3c3b705a","subnetId":"subnet-22864b78","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0adfcf0a875bc3ec8","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0adfcf0a875bc3ec8","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1388,"y":745.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"availabilityZone removeAll _gridParentPadding"},{"data":{"id":"subnet-22864b78-eu-west-1b-vpc-3c3b705a-eu-west-1-060997615305","parent":"eu-west-1b-vpc-3c3b705a-eu-west-1-060997615305","level":4,"title":"subnet-22864b78","label":"subnet-22864b78","plainLabel":"subnet-22864b78","type":"subnet","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/VPC-subnet-private_light-bg-collapsed.svg","clickedId":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-22864b78","cost":0,"hasChildren":true,"children":[{"id":null,"label":"NetworkInterface","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-02fdc2d678bacdbeb","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-02fdc2d678bacdbeb","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-02fdc2d678bacdbeb\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-172-31-36-100.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.36.100\\\",\\\"primary\\\":true},{\\\"privateDnsName\\\":\\\"ip-172-31-39-222.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.39.222\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-39-45.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.39.45\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-46-122.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.46.122\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-33-66.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.33.66\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-35-145.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.35.145\\\",\\\"primary\\\":false}],\\\"subnetId\\\":\\\"subnet-22864b78\\\",\\\"requesterId\\\":\\\"AROAIHEI2G37MOBIMVFJM:i-0cb50cab2f772e1c9\\\",\\\"description\\\":\\\"aws-K8S-i-0cb50cab2f772e1c9\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"k8s-worker-nodes-dev-NodeSecurityGroup-12A693N5Z6ZU6\\\",\\\"groupId\\\":\\\"sg-00ba81535e246b255\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"172.31.36.100\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[{\\\"value\\\":\\\"i-0cb50cab2f772e1c9\\\",\\\"key\\\":\\\"node.k8s.amazonaws.com/instance_id\\\"}],\\\"macAddress\\\":\\\"0a:ad:87:da:a5:40\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"privateDnsName\\\":\\\"ip-172-31-36-100.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-3c3b705a","subnetId":"subnet-22864b78","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-02fdc2d678bacdbeb","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[{\"tag\":\"node.k8s.amazonaws.com/instance_id=i-0cb50cab2f772e1c9\",\"value\":\"i-0cb50cab2f772e1c9\",\"key\":\"node.k8s.amazonaws.com/instance_id\"}]","title":"eni-02fdc2d678bacdbeb","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0adfcf0a875bc3ec8","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0adfcf0a875bc3ec8","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0adfcf0a875bc3ec8\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon-elb\\\",\\\"publicIp\\\":\\\"54.72.29.159\\\",\\\"publicDnsName\\\":\\\"ec2-54-72-29-159.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-172-31-32-241.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.32.241\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-22864b78\\\",\\\"requesterId\\\":\\\"amazon-elb\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon-elb\\\",\\\"publicIp\\\":\\\"54.72.29.159\\\",\\\"publicDnsName\\\":\\\"ec2-54-72-29-159.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"ELB a3a680e4cbdb811e9a8b30a8ac757ccc\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"k8s-elb-a3a680e4cbdb811e9a8b30a8ac757ccc\\\",\\\"groupId\\\":\\\"sg-07cd255b1c97fe1a1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"172.31.32.241\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:63:ff:9f:56:dd\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0c3eab5403c91758a\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-elb\\\",\\\"attachTime\\\":\\\"2023-04-06T07:03:21.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"privateDnsName\\\":\\\"ip-172-31-32-241.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-3c3b705a","subnetId":"subnet-22864b78","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0adfcf0a875bc3ec8","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0adfcf0a875bc3ec8","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#248814","properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-22864b78","configuration":"\"{\\\"subnetId\\\":\\\"subnet-22864b78\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-22864b78\\\",\\\"availabilityZoneId\\\":\\\"euw1-az3\\\",\\\"cidrBlock\\\":\\\"172.31.32.0/20\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[],\\\"availableIpAddressCount\\\":4084,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"mapPublicIpOnLaunch\\\":true,\\\"defaultForAz\\\":true,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-3c3b705a","subnetId":"subnet-22864b78","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":null,"resourceId":"subnet-22864b78","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[]","title":"subnet-22864b78","instanceType":null,"statement":null,"dBInstanceStatus":null},"resource":{"id":"subnet-22864b78","name":null,"value":null,"type":"AWS::EC2::Subnet","tags":"[]","arn":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-22864b78","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","accountId":"060997615305"}},"position":{"x":-1388,"y":745.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"subnet removeAll _gridParentPadding"},{"data":{"id":"NetworkInterface-subnet-22864b78-eu-west-1b-vpc-3c3b705a-eu-west-1-060997615305","parent":"subnet-22864b78-eu-west-1b-vpc-3c3b705a-eu-west-1-060997615305","level":5,"title":"NetworkInterface","label":"NetworkInterface","plainLabel":"NetworkInterface","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-02fdc2d678bacdbeb","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-02fdc2d678bacdbeb","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-02fdc2d678bacdbeb\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-172-31-36-100.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.36.100\\\",\\\"primary\\\":true},{\\\"privateDnsName\\\":\\\"ip-172-31-39-222.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.39.222\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-39-45.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.39.45\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-46-122.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.46.122\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-33-66.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.33.66\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-35-145.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.35.145\\\",\\\"primary\\\":false}],\\\"subnetId\\\":\\\"subnet-22864b78\\\",\\\"requesterId\\\":\\\"AROAIHEI2G37MOBIMVFJM:i-0cb50cab2f772e1c9\\\",\\\"description\\\":\\\"aws-K8S-i-0cb50cab2f772e1c9\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"k8s-worker-nodes-dev-NodeSecurityGroup-12A693N5Z6ZU6\\\",\\\"groupId\\\":\\\"sg-00ba81535e246b255\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"172.31.36.100\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[{\\\"value\\\":\\\"i-0cb50cab2f772e1c9\\\",\\\"key\\\":\\\"node.k8s.amazonaws.com/instance_id\\\"}],\\\"macAddress\\\":\\\"0a:ad:87:da:a5:40\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"privateDnsName\\\":\\\"ip-172-31-36-100.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-3c3b705a","subnetId":"subnet-22864b78","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-02fdc2d678bacdbeb","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[{\"tag\":\"node.k8s.amazonaws.com/instance_id=i-0cb50cab2f772e1c9\",\"value\":\"i-0cb50cab2f772e1c9\",\"key\":\"node.k8s.amazonaws.com/instance_id\"}]","title":"eni-02fdc2d678bacdbeb","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0adfcf0a875bc3ec8","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0adfcf0a875bc3ec8","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0adfcf0a875bc3ec8\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon-elb\\\",\\\"publicIp\\\":\\\"54.72.29.159\\\",\\\"publicDnsName\\\":\\\"ec2-54-72-29-159.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-172-31-32-241.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.32.241\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-22864b78\\\",\\\"requesterId\\\":\\\"amazon-elb\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon-elb\\\",\\\"publicIp\\\":\\\"54.72.29.159\\\",\\\"publicDnsName\\\":\\\"ec2-54-72-29-159.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"ELB a3a680e4cbdb811e9a8b30a8ac757ccc\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"k8s-elb-a3a680e4cbdb811e9a8b30a8ac757ccc\\\",\\\"groupId\\\":\\\"sg-07cd255b1c97fe1a1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"172.31.32.241\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:63:ff:9f:56:dd\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0c3eab5403c91758a\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-elb\\\",\\\"attachTime\\\":\\\"2023-04-06T07:03:21.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"privateDnsName\\\":\\\"ip-172-31-32-241.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-3c3b705a","subnetId":"subnet-22864b78","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0adfcf0a875bc3ec8","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0adfcf0a875bc3ec8","instanceType":null,"statement":null,"dBInstanceStatus":null}}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1388,"y":745.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-02fdc2d678bacdbeb","resourceId":["eni-02fdc2d678bacdbeb","arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-02fdc2d678bacdbeb"],"parent":"NetworkInterface-subnet-22864b78-eu-west-1b-vpc-3c3b705a-eu-west-1-060997615305","level":6,"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-02fdc2d678bacdbeb","title":"eni-02fdc2d678bacdbeb","label":"eni-02fdc2d6...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-02fdc2d678bacdbeb","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-02fdc2d678bacdbeb","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[{\"tag\":\"node.k8s.amazonaws.com/instance_id=i-0cb50cab2f772e1c9\",\"value\":\"i-0cb50cab2f772e1c9\",\"key\":\"node.k8s.amazonaws.com/instance_id\"}]","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-02fdc2d678bacdbeb","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-02fdc2d678bacdbeb","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-02fdc2d678bacdbeb\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-172-31-36-100.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.36.100\\\",\\\"primary\\\":true},{\\\"privateDnsName\\\":\\\"ip-172-31-39-222.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.39.222\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-39-45.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.39.45\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-46-122.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.46.122\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-33-66.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.33.66\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-35-145.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.35.145\\\",\\\"primary\\\":false}],\\\"subnetId\\\":\\\"subnet-22864b78\\\",\\\"requesterId\\\":\\\"AROAIHEI2G37MOBIMVFJM:i-0cb50cab2f772e1c9\\\",\\\"description\\\":\\\"aws-K8S-i-0cb50cab2f772e1c9\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"k8s-worker-nodes-dev-NodeSecurityGroup-12A693N5Z6ZU6\\\",\\\"groupId\\\":\\\"sg-00ba81535e246b255\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"172.31.36.100\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[{\\\"value\\\":\\\"i-0cb50cab2f772e1c9\\\",\\\"key\\\":\\\"node.k8s.amazonaws.com/instance_id\\\"}],\\\"macAddress\\\":\\\"0a:ad:87:da:a5:40\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"privateDnsName\\\":\\\"ip-172-31-36-100.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-3c3b705a","subnetId":"subnet-22864b78","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-02fdc2d678bacdbeb","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[{\"tag\":\"node.k8s.amazonaws.com/instance_id=i-0cb50cab2f772e1c9\",\"value\":\"i-0cb50cab2f772e1c9\",\"key\":\"node.k8s.amazonaws.com/instance_id\"}]","title":"eni-02fdc2d678bacdbeb","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1424.5,"y":745.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0adfcf0a875bc3ec8","resourceId":["eni-0adfcf0a875bc3ec8","arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0adfcf0a875bc3ec8"],"parent":"NetworkInterface-subnet-22864b78-eu-west-1b-vpc-3c3b705a-eu-west-1-060997615305","level":6,"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0adfcf0a875bc3ec8","title":"eni-0adfcf0a875bc3ec8","label":"eni-0adfcf0a...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0adfcf0a875bc3ec8","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-0adfcf0a875bc3ec8","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0adfcf0a875bc3ec8","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0adfcf0a875bc3ec8","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0adfcf0a875bc3ec8\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon-elb\\\",\\\"publicIp\\\":\\\"54.72.29.159\\\",\\\"publicDnsName\\\":\\\"ec2-54-72-29-159.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-172-31-32-241.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.32.241\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-22864b78\\\",\\\"requesterId\\\":\\\"amazon-elb\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon-elb\\\",\\\"publicIp\\\":\\\"54.72.29.159\\\",\\\"publicDnsName\\\":\\\"ec2-54-72-29-159.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"ELB a3a680e4cbdb811e9a8b30a8ac757ccc\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"k8s-elb-a3a680e4cbdb811e9a8b30a8ac757ccc\\\",\\\"groupId\\\":\\\"sg-07cd255b1c97fe1a1\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1b\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"172.31.32.241\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"0a:63:ff:9f:56:dd\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-0c3eab5403c91758a\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-elb\\\",\\\"attachTime\\\":\\\"2023-04-06T07:03:21.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"privateDnsName\\\":\\\"ip-172-31-32-241.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1b","vpcId":"vpc-3c3b705a","subnetId":"subnet-22864b78","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0adfcf0a875bc3ec8","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0adfcf0a875bc3ec8","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1351.5,"y":745.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"eu-west-1a-vpc-3c3b705a-eu-west-1-060997615305","parent":"vpc-3c3b705a-eu-west-1-060997615305","level":3,"title":"eu-west-1a","label":"eu-west-1a","plainLabel":"eu-west-1a","type":"availabilityZone","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/availabilityZone.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-32eb787a","label":"subnet-32eb787a","parent":null,"type":"subnet","data":{"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-32eb787a","configuration":"\"{\\\"subnetId\\\":\\\"subnet-32eb787a\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-32eb787a\\\",\\\"availabilityZoneId\\\":\\\"euw1-az2\\\",\\\"cidrBlock\\\":\\\"172.31.16.0/20\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[],\\\"availableIpAddressCount\\\":4077,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"mapPublicIpOnLaunch\\\":true,\\\"defaultForAz\\\":true,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-3c3b705a","subnetId":"subnet-32eb787a","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":null,"resourceId":"subnet-32eb787a","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[]","title":"subnet-32eb787a","instanceType":null,"statement":null,"dBInstanceStatus":null},"id":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-32eb787a","label":"AWS_EC2_Subnet"},"properties":null,"children":[{"id":null,"label":"NetworkInterface","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-06ce4a25fb2b27aec","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-06ce4a25fb2b27aec","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-06ce4a25fb2b27aec\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-172-31-27-218.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.27.218\\\",\\\"primary\\\":true},{\\\"privateDnsName\\\":\\\"ip-172-31-16-111.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.16.111\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-29-13.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.29.13\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-30-151.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.30.151\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-26-230.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.26.230\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-21-100.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.21.100\\\",\\\"primary\\\":false}],\\\"subnetId\\\":\\\"subnet-32eb787a\\\",\\\"requesterId\\\":\\\"AROAIHEI2G37MOBIMVFJM:i-07cd97dc141f3b745\\\",\\\"description\\\":\\\"aws-K8S-i-07cd97dc141f3b745\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"k8s-worker-nodes-dev-NodeSecurityGroup-12A693N5Z6ZU6\\\",\\\"groupId\\\":\\\"sg-00ba81535e246b255\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"172.31.27.218\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[{\\\"value\\\":\\\"i-07cd97dc141f3b745\\\",\\\"key\\\":\\\"node.k8s.amazonaws.com/instance_id\\\"}],\\\"macAddress\\\":\\\"06:4f:89:38:b4:58\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"privateDnsName\\\":\\\"ip-172-31-27-218.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-3c3b705a","subnetId":"subnet-32eb787a","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-06ce4a25fb2b27aec","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[{\"tag\":\"node.k8s.amazonaws.com/instance_id=i-07cd97dc141f3b745\",\"value\":\"i-07cd97dc141f3b745\",\"key\":\"node.k8s.amazonaws.com/instance_id\"}]","title":"eni-06ce4a25fb2b27aec","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0d887e9138402fb38","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0d887e9138402fb38","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0d887e9138402fb38\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-172-31-24-39.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.24.39\\\",\\\"primary\\\":true},{\\\"privateDnsName\\\":\\\"ip-172-31-19-141.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.19.141\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-17-102.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.17.102\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-23-229.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.23.229\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-31-180.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.31.180\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-16-113.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.16.113\\\",\\\"primary\\\":false}],\\\"subnetId\\\":\\\"subnet-32eb787a\\\",\\\"requesterId\\\":\\\"AROAIHEI2G37MOBIMVFJM:i-0e60d2549d6fee1f6\\\",\\\"description\\\":\\\"aws-K8S-i-0e60d2549d6fee1f6\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"k8s-worker-nodes-dev-NodeSecurityGroup-12A693N5Z6ZU6\\\",\\\"groupId\\\":\\\"sg-00ba81535e246b255\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"172.31.24.39\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[{\\\"value\\\":\\\"i-0e60d2549d6fee1f6\\\",\\\"key\\\":\\\"node.k8s.amazonaws.com/instance_id\\\"}],\\\"macAddress\\\":\\\"06:a4:ba:23:93:a0\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"privateDnsName\\\":\\\"ip-172-31-24-39.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-3c3b705a","subnetId":"subnet-32eb787a","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0d887e9138402fb38","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[{\"tag\":\"node.k8s.amazonaws.com/instance_id=i-0e60d2549d6fee1f6\",\"value\":\"i-0e60d2549d6fee1f6\",\"key\":\"node.k8s.amazonaws.com/instance_id\"}]","title":"eni-0d887e9138402fb38","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0ddd7423914f2c3db","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0ddd7423914f2c3db","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0ddd7423914f2c3db\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"34.255.214.173\\\",\\\"publicDnsName\\\":\\\"ec2-34-255-214-173.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-172-31-29-6.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.29.6\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-32eb787a\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"34.255.214.173\\\",\\\"publicDnsName\\\":\\\"ec2-34-255-214-173.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-96788cea\\\"},{\\\"groupName\\\":\\\"awseb-e-svj7v9rusk-stack-AWSEBSecurityGroup-TOA6CXMTGSY8\\\",\\\"groupId\\\":\\\"sg-0bd07be67c020ad07\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"172.31.29.6\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:c1:1e:5b:d7:5f\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"instanceId\\\":\\\"i-08c0e9618c880325e\\\",\\\"attachmentId\\\":\\\"eni-attach-043e1f34c89343e99\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"instanceOwnerId\\\":\\\"060997615305\\\",\\\"attachTime\\\":\\\"2022-02-10T18:01:31.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"privateDnsName\\\":\\\"ip-172-31-29-6.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-3c3b705a","subnetId":"subnet-32eb787a","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0ddd7423914f2c3db","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0ddd7423914f2c3db","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-00c5f1ddb04bb604c","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-00c5f1ddb04bb604c","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-00c5f1ddb04bb604c\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon-elb\\\",\\\"publicIp\\\":\\\"52.51.69.146\\\",\\\"publicDnsName\\\":\\\"ec2-52-51-69-146.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-172-31-26-103.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.26.103\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-32eb787a\\\",\\\"requesterId\\\":\\\"amazon-elb\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon-elb\\\",\\\"publicIp\\\":\\\"52.51.69.146\\\",\\\"publicDnsName\\\":\\\"ec2-52-51-69-146.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"ELB a7d4c34af3b7211e980b90a3ffe3de85\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"k8s-elb-a7d4c34af3b7211e980b90a3ffe3de85\\\",\\\"groupId\\\":\\\"sg-093e0c142114e7e4c\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"172.31.26.103\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:ec:24:ca:88:37\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-060ca3f0248904d0c\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-elb\\\",\\\"attachTime\\\":\\\"2023-04-16T20:16:21.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"privateDnsName\\\":\\\"ip-172-31-26-103.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-3c3b705a","subnetId":"subnet-32eb787a","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-00c5f1ddb04bb604c","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-00c5f1ddb04bb604c","instanceType":null,"statement":null,"dBInstanceStatus":null}}]},{"id":null,"label":"Instance","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:instance/i-08c0e9618c880325e","label":"AWS_EC2_Instance","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:instance/i-08c0e9618c880325e","configuration":"\"{\\\"subnetId\\\":\\\"subnet-32eb787a\\\",\\\"virtualizationType\\\":\\\"hvm\\\",\\\"capacityReservationSpecification\\\":{\\\"capacityReservationPreference\\\":\\\"open\\\"},\\\"amiLaunchIndex\\\":0,\\\"enaSupport\\\":true,\\\"elasticInferenceAcceleratorAssociations\\\":[],\\\"sourceDestCheck\\\":true,\\\"hibernationOptions\\\":{\\\"configured\\\":false},\\\"instanceId\\\":\\\"i-08c0e9618c880325e\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"hypervisor\\\":\\\"xen\\\",\\\"rootDeviceName\\\":\\\"/dev/xvda\\\",\\\"productCodes\\\":[],\\\"state\\\":{\\\"code\\\":\\\"16\\\",\\\"name\\\":\\\"running\\\"},\\\"architecture\\\":\\\"x86_64\\\",\\\"ebsOptimized\\\":false,\\\"imageId\\\":\\\"ami-06fea6b39deaea03c\\\",\\\"blockDeviceMappings\\\":[{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-0e36ea23777241376\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2022-02-10T18:01:32.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvda\\\"}],\\\"publicIpAddress\\\":\\\"34.255.214.173\\\",\\\"stateTransitionReason\\\":\\\"\\\",\\\"clientToken\\\":\\\"ea65fb93-3083-ff71-f13e-ec207286ebf9\\\",\\\"instanceType\\\":\\\"t2.micro\\\",\\\"cpuOptions\\\":{\\\"threadsPerCore\\\":1,\\\"coreCount\\\":1},\\\"monitoring\\\":{\\\"state\\\":\\\"disabled\\\"},\\\"publicDnsName\\\":\\\"ec2-34-255-214-173.eu-west-1.compute.amazonaws.com\\\",\\\"iamInstanceProfile\\\":{\\\"id\\\":\\\"AIPAJSMVZMY2WHQWICQT6\\\",\\\"arn\\\":\\\"arn:aws:iam::060997615305:instance-profile/aws-elasticbeanstalk-ec2-role\\\"},\\\"privateIpAddress\\\":\\\"172.31.29.6\\\",\\\"rootDeviceType\\\":\\\"ebs\\\",\\\"tags\\\":[{\\\"value\\\":\\\"awseb-e-svj7v9rusk-stack-AWSEBAutoScalingGroup-13N519RU4DHXO\\\",\\\"key\\\":\\\"aws:autoscaling:groupName\\\"},{\\\"value\\\":\\\"Help56-env-1\\\",\\\"key\\\":\\\"elasticbeanstalk:environment-name\\\"},{\\\"value\\\":\\\"AWSEBAutoScalingGroup\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/awseb-e-svj7v9rusk-stack/0edbcfa0-bc7a-11ea-9736-0aac29486886\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"awseb-e-svj7v9rusk-stack\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"Help56-env-1\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"e-svj7v9rusk\\\",\\\"key\\\":\\\"elasticbeanstalk:environment-id\\\"}],\\\"enclaveOptions\\\":{\\\"enabled\\\":false},\\\"launchTime\\\":\\\"2022-02-10T18:01:31.000Z\\\",\\\"elasticGpuAssociations\\\":[],\\\"licenses\\\":[],\\\"networkInterfaces\\\":[{\\\"networkInterfaceId\\\":\\\"eni-0ddd7423914f2c3db\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"34.255.214.173\\\",\\\"publicDnsName\\\":\\\"ec2-34-255-214-173.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-172-31-29-6.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.29.6\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-32eb787a\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"34.255.214.173\\\",\\\"publicDnsName\\\":\\\"ec2-34-255-214-173.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"awseb-e-svj7v9rusk-stack-AWSEBSecurityGroup-TOA6CXMTGSY8\\\",\\\"groupId\\\":\\\"sg-0bd07be67c020ad07\\\"},{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-96788cea\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"privateIpAddress\\\":\\\"172.31.29.6\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"macAddress\\\":\\\"06:c1:1e:5b:d7:5f\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-043e1f34c89343e99\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"attachTime\\\":\\\"2022-02-10T18:01:31.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"privateDnsName\\\":\\\"ip-172-31-29-6.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}],\\\"metadataOptions\\\":{\\\"httpPutResponseHopLimit\\\":1,\\\"httpEndpoint\\\":\\\"enabled\\\",\\\"state\\\":\\\"applied\\\",\\\"httpTokens\\\":\\\"optional\\\"},\\\"privateDnsName\\\":\\\"ip-172-31-29-6.eu-west-1.compute.internal\\\",\\\"securityGroups\\\":[{\\\"groupName\\\":\\\"awseb-e-svj7v9rusk-stack-AWSEBSecurityGroup-TOA6CXMTGSY8\\\",\\\"groupId\\\":\\\"sg-0bd07be67c020ad07\\\"},{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-96788cea\\\"}],\\\"placement\\\":{\\\"groupName\\\":\\\"\\\",\\\"tenancy\\\":\\\"default\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\"}}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-3c3b705a","subnetId":"subnet-32eb787a","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#Instances:sort=instanceId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#Instances:sort=instanceId","private":null,"resourceId":"i-08c0e9618c880325e","resourceName":null,"resourceType":"AWS::EC2::Instance","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:autoscaling:groupName=awseb-e-svj7v9rusk-stack-AWSEBAutoScalingGroup-13N519RU4DHXO\",\"value\":\"awseb-e-svj7v9rusk-stack-AWSEBAutoScalingGroup-13N519RU4DHXO\",\"key\":\"aws:autoscaling:groupName\"},{\"tag\":\"aws:cloudformation:stack-name=awseb-e-svj7v9rusk-stack\",\"value\":\"awseb-e-svj7v9rusk-stack\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/awseb-e-svj7v9rusk-stack/0edbcfa0-bc7a-11ea-9736-0aac29486886\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/awseb-e-svj7v9rusk-stack/0edbcfa0-bc7a-11ea-9736-0aac29486886\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"elasticbeanstalk:environment-name=Help56-env-1\",\"value\":\"Help56-env-1\",\"key\":\"elasticbeanstalk:environment-name\"},{\"tag\":\"aws:cloudformation:logical-id=AWSEBAutoScalingGroup\",\"value\":\"AWSEBAutoScalingGroup\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"elasticbeanstalk:environment-id=e-svj7v9rusk\",\"value\":\"e-svj7v9rusk\",\"key\":\"elasticbeanstalk:environment-id\"},{\"tag\":\"Name=Help56-env-1\",\"value\":\"Help56-env-1\",\"key\":\"Name\"}]","title":"Help56-env-1","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-2042.5,"y":782.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"availabilityZone removeAll _gridParentPadding"},{"data":{"id":"subnet-32eb787a-eu-west-1a-vpc-3c3b705a-eu-west-1-060997615305","parent":"eu-west-1a-vpc-3c3b705a-eu-west-1-060997615305","level":4,"title":"subnet-32eb787a","label":"subnet-32eb787a","plainLabel":"subnet-32eb787a","type":"subnet","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/VPC-subnet-private_light-bg-collapsed.svg","clickedId":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-32eb787a","cost":0,"hasChildren":true,"children":[{"id":null,"label":"NetworkInterface","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-06ce4a25fb2b27aec","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-06ce4a25fb2b27aec","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-06ce4a25fb2b27aec\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-172-31-27-218.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.27.218\\\",\\\"primary\\\":true},{\\\"privateDnsName\\\":\\\"ip-172-31-16-111.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.16.111\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-29-13.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.29.13\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-30-151.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.30.151\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-26-230.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.26.230\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-21-100.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.21.100\\\",\\\"primary\\\":false}],\\\"subnetId\\\":\\\"subnet-32eb787a\\\",\\\"requesterId\\\":\\\"AROAIHEI2G37MOBIMVFJM:i-07cd97dc141f3b745\\\",\\\"description\\\":\\\"aws-K8S-i-07cd97dc141f3b745\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"k8s-worker-nodes-dev-NodeSecurityGroup-12A693N5Z6ZU6\\\",\\\"groupId\\\":\\\"sg-00ba81535e246b255\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"172.31.27.218\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[{\\\"value\\\":\\\"i-07cd97dc141f3b745\\\",\\\"key\\\":\\\"node.k8s.amazonaws.com/instance_id\\\"}],\\\"macAddress\\\":\\\"06:4f:89:38:b4:58\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"privateDnsName\\\":\\\"ip-172-31-27-218.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-3c3b705a","subnetId":"subnet-32eb787a","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-06ce4a25fb2b27aec","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[{\"tag\":\"node.k8s.amazonaws.com/instance_id=i-07cd97dc141f3b745\",\"value\":\"i-07cd97dc141f3b745\",\"key\":\"node.k8s.amazonaws.com/instance_id\"}]","title":"eni-06ce4a25fb2b27aec","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0d887e9138402fb38","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0d887e9138402fb38","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0d887e9138402fb38\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-172-31-24-39.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.24.39\\\",\\\"primary\\\":true},{\\\"privateDnsName\\\":\\\"ip-172-31-19-141.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.19.141\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-17-102.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.17.102\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-23-229.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.23.229\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-31-180.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.31.180\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-16-113.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.16.113\\\",\\\"primary\\\":false}],\\\"subnetId\\\":\\\"subnet-32eb787a\\\",\\\"requesterId\\\":\\\"AROAIHEI2G37MOBIMVFJM:i-0e60d2549d6fee1f6\\\",\\\"description\\\":\\\"aws-K8S-i-0e60d2549d6fee1f6\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"k8s-worker-nodes-dev-NodeSecurityGroup-12A693N5Z6ZU6\\\",\\\"groupId\\\":\\\"sg-00ba81535e246b255\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"172.31.24.39\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[{\\\"value\\\":\\\"i-0e60d2549d6fee1f6\\\",\\\"key\\\":\\\"node.k8s.amazonaws.com/instance_id\\\"}],\\\"macAddress\\\":\\\"06:a4:ba:23:93:a0\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"privateDnsName\\\":\\\"ip-172-31-24-39.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-3c3b705a","subnetId":"subnet-32eb787a","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0d887e9138402fb38","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[{\"tag\":\"node.k8s.amazonaws.com/instance_id=i-0e60d2549d6fee1f6\",\"value\":\"i-0e60d2549d6fee1f6\",\"key\":\"node.k8s.amazonaws.com/instance_id\"}]","title":"eni-0d887e9138402fb38","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0ddd7423914f2c3db","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0ddd7423914f2c3db","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0ddd7423914f2c3db\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"34.255.214.173\\\",\\\"publicDnsName\\\":\\\"ec2-34-255-214-173.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-172-31-29-6.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.29.6\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-32eb787a\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"34.255.214.173\\\",\\\"publicDnsName\\\":\\\"ec2-34-255-214-173.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-96788cea\\\"},{\\\"groupName\\\":\\\"awseb-e-svj7v9rusk-stack-AWSEBSecurityGroup-TOA6CXMTGSY8\\\",\\\"groupId\\\":\\\"sg-0bd07be67c020ad07\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"172.31.29.6\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:c1:1e:5b:d7:5f\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"instanceId\\\":\\\"i-08c0e9618c880325e\\\",\\\"attachmentId\\\":\\\"eni-attach-043e1f34c89343e99\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"instanceOwnerId\\\":\\\"060997615305\\\",\\\"attachTime\\\":\\\"2022-02-10T18:01:31.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"privateDnsName\\\":\\\"ip-172-31-29-6.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-3c3b705a","subnetId":"subnet-32eb787a","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0ddd7423914f2c3db","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0ddd7423914f2c3db","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-00c5f1ddb04bb604c","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-00c5f1ddb04bb604c","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-00c5f1ddb04bb604c\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon-elb\\\",\\\"publicIp\\\":\\\"52.51.69.146\\\",\\\"publicDnsName\\\":\\\"ec2-52-51-69-146.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-172-31-26-103.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.26.103\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-32eb787a\\\",\\\"requesterId\\\":\\\"amazon-elb\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon-elb\\\",\\\"publicIp\\\":\\\"52.51.69.146\\\",\\\"publicDnsName\\\":\\\"ec2-52-51-69-146.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"ELB a7d4c34af3b7211e980b90a3ffe3de85\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"k8s-elb-a7d4c34af3b7211e980b90a3ffe3de85\\\",\\\"groupId\\\":\\\"sg-093e0c142114e7e4c\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"172.31.26.103\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:ec:24:ca:88:37\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-060ca3f0248904d0c\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-elb\\\",\\\"attachTime\\\":\\\"2023-04-16T20:16:21.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"privateDnsName\\\":\\\"ip-172-31-26-103.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-3c3b705a","subnetId":"subnet-32eb787a","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-00c5f1ddb04bb604c","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-00c5f1ddb04bb604c","instanceType":null,"statement":null,"dBInstanceStatus":null}}]},{"id":null,"label":"Instance","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:instance/i-08c0e9618c880325e","label":"AWS_EC2_Instance","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:instance/i-08c0e9618c880325e","configuration":"\"{\\\"subnetId\\\":\\\"subnet-32eb787a\\\",\\\"virtualizationType\\\":\\\"hvm\\\",\\\"capacityReservationSpecification\\\":{\\\"capacityReservationPreference\\\":\\\"open\\\"},\\\"amiLaunchIndex\\\":0,\\\"enaSupport\\\":true,\\\"elasticInferenceAcceleratorAssociations\\\":[],\\\"sourceDestCheck\\\":true,\\\"hibernationOptions\\\":{\\\"configured\\\":false},\\\"instanceId\\\":\\\"i-08c0e9618c880325e\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"hypervisor\\\":\\\"xen\\\",\\\"rootDeviceName\\\":\\\"/dev/xvda\\\",\\\"productCodes\\\":[],\\\"state\\\":{\\\"code\\\":\\\"16\\\",\\\"name\\\":\\\"running\\\"},\\\"architecture\\\":\\\"x86_64\\\",\\\"ebsOptimized\\\":false,\\\"imageId\\\":\\\"ami-06fea6b39deaea03c\\\",\\\"blockDeviceMappings\\\":[{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-0e36ea23777241376\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2022-02-10T18:01:32.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvda\\\"}],\\\"publicIpAddress\\\":\\\"34.255.214.173\\\",\\\"stateTransitionReason\\\":\\\"\\\",\\\"clientToken\\\":\\\"ea65fb93-3083-ff71-f13e-ec207286ebf9\\\",\\\"instanceType\\\":\\\"t2.micro\\\",\\\"cpuOptions\\\":{\\\"threadsPerCore\\\":1,\\\"coreCount\\\":1},\\\"monitoring\\\":{\\\"state\\\":\\\"disabled\\\"},\\\"publicDnsName\\\":\\\"ec2-34-255-214-173.eu-west-1.compute.amazonaws.com\\\",\\\"iamInstanceProfile\\\":{\\\"id\\\":\\\"AIPAJSMVZMY2WHQWICQT6\\\",\\\"arn\\\":\\\"arn:aws:iam::060997615305:instance-profile/aws-elasticbeanstalk-ec2-role\\\"},\\\"privateIpAddress\\\":\\\"172.31.29.6\\\",\\\"rootDeviceType\\\":\\\"ebs\\\",\\\"tags\\\":[{\\\"value\\\":\\\"awseb-e-svj7v9rusk-stack-AWSEBAutoScalingGroup-13N519RU4DHXO\\\",\\\"key\\\":\\\"aws:autoscaling:groupName\\\"},{\\\"value\\\":\\\"Help56-env-1\\\",\\\"key\\\":\\\"elasticbeanstalk:environment-name\\\"},{\\\"value\\\":\\\"AWSEBAutoScalingGroup\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/awseb-e-svj7v9rusk-stack/0edbcfa0-bc7a-11ea-9736-0aac29486886\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"awseb-e-svj7v9rusk-stack\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"Help56-env-1\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"e-svj7v9rusk\\\",\\\"key\\\":\\\"elasticbeanstalk:environment-id\\\"}],\\\"enclaveOptions\\\":{\\\"enabled\\\":false},\\\"launchTime\\\":\\\"2022-02-10T18:01:31.000Z\\\",\\\"elasticGpuAssociations\\\":[],\\\"licenses\\\":[],\\\"networkInterfaces\\\":[{\\\"networkInterfaceId\\\":\\\"eni-0ddd7423914f2c3db\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"34.255.214.173\\\",\\\"publicDnsName\\\":\\\"ec2-34-255-214-173.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-172-31-29-6.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.29.6\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-32eb787a\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"34.255.214.173\\\",\\\"publicDnsName\\\":\\\"ec2-34-255-214-173.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"awseb-e-svj7v9rusk-stack-AWSEBSecurityGroup-TOA6CXMTGSY8\\\",\\\"groupId\\\":\\\"sg-0bd07be67c020ad07\\\"},{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-96788cea\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"privateIpAddress\\\":\\\"172.31.29.6\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"macAddress\\\":\\\"06:c1:1e:5b:d7:5f\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-043e1f34c89343e99\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"attachTime\\\":\\\"2022-02-10T18:01:31.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"privateDnsName\\\":\\\"ip-172-31-29-6.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}],\\\"metadataOptions\\\":{\\\"httpPutResponseHopLimit\\\":1,\\\"httpEndpoint\\\":\\\"enabled\\\",\\\"state\\\":\\\"applied\\\",\\\"httpTokens\\\":\\\"optional\\\"},\\\"privateDnsName\\\":\\\"ip-172-31-29-6.eu-west-1.compute.internal\\\",\\\"securityGroups\\\":[{\\\"groupName\\\":\\\"awseb-e-svj7v9rusk-stack-AWSEBSecurityGroup-TOA6CXMTGSY8\\\",\\\"groupId\\\":\\\"sg-0bd07be67c020ad07\\\"},{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-96788cea\\\"}],\\\"placement\\\":{\\\"groupName\\\":\\\"\\\",\\\"tenancy\\\":\\\"default\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\"}}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-3c3b705a","subnetId":"subnet-32eb787a","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#Instances:sort=instanceId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#Instances:sort=instanceId","private":null,"resourceId":"i-08c0e9618c880325e","resourceName":null,"resourceType":"AWS::EC2::Instance","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:autoscaling:groupName=awseb-e-svj7v9rusk-stack-AWSEBAutoScalingGroup-13N519RU4DHXO\",\"value\":\"awseb-e-svj7v9rusk-stack-AWSEBAutoScalingGroup-13N519RU4DHXO\",\"key\":\"aws:autoscaling:groupName\"},{\"tag\":\"aws:cloudformation:stack-name=awseb-e-svj7v9rusk-stack\",\"value\":\"awseb-e-svj7v9rusk-stack\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/awseb-e-svj7v9rusk-stack/0edbcfa0-bc7a-11ea-9736-0aac29486886\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/awseb-e-svj7v9rusk-stack/0edbcfa0-bc7a-11ea-9736-0aac29486886\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"elasticbeanstalk:environment-name=Help56-env-1\",\"value\":\"Help56-env-1\",\"key\":\"elasticbeanstalk:environment-name\"},{\"tag\":\"aws:cloudformation:logical-id=AWSEBAutoScalingGroup\",\"value\":\"AWSEBAutoScalingGroup\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"elasticbeanstalk:environment-id=e-svj7v9rusk\",\"value\":\"e-svj7v9rusk\",\"key\":\"elasticbeanstalk:environment-id\"},{\"tag\":\"Name=Help56-env-1\",\"value\":\"Help56-env-1\",\"key\":\"Name\"}]","title":"Help56-env-1","instanceType":null,"statement":null,"dBInstanceStatus":null}}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#248814","properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-32eb787a","configuration":"\"{\\\"subnetId\\\":\\\"subnet-32eb787a\\\",\\\"subnetArn\\\":\\\"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-32eb787a\\\",\\\"availabilityZoneId\\\":\\\"euw1-az2\\\",\\\"cidrBlock\\\":\\\"172.31.16.0/20\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"assignIpv6AddressOnCreation\\\":false,\\\"tags\\\":[],\\\"availableIpAddressCount\\\":4077,\\\"mapCustomerOwnedIpOnLaunch\\\":false,\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"mapPublicIpOnLaunch\\\":true,\\\"defaultForAz\\\":true,\\\"state\\\":{\\\"value\\\":\\\"available\\\"},\\\"ipv6CidrBlockAssociationSet\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-3c3b705a","subnetId":"subnet-32eb787a","loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","private":null,"resourceId":"subnet-32eb787a","resourceName":null,"resourceType":"AWS::EC2::Subnet","resourceValue":null,"state":null,"tags":"[]","title":"subnet-32eb787a","instanceType":null,"statement":null,"dBInstanceStatus":null},"resource":{"id":"subnet-32eb787a","name":null,"value":null,"type":"AWS::EC2::Subnet","tags":"[]","arn":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-32eb787a","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId","accountId":"060997615305"}},"position":{"x":-2042.5,"y":782.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"subnet removeAll _gridParentPadding"},{"data":{"id":"NetworkInterface-subnet-32eb787a-eu-west-1a-vpc-3c3b705a-eu-west-1-060997615305","parent":"subnet-32eb787a-eu-west-1a-vpc-3c3b705a-eu-west-1-060997615305","level":5,"title":"NetworkInterface","label":"NetworkInterface","plainLabel":"NetworkInterface","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-06ce4a25fb2b27aec","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-06ce4a25fb2b27aec","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-06ce4a25fb2b27aec\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-172-31-27-218.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.27.218\\\",\\\"primary\\\":true},{\\\"privateDnsName\\\":\\\"ip-172-31-16-111.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.16.111\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-29-13.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.29.13\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-30-151.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.30.151\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-26-230.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.26.230\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-21-100.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.21.100\\\",\\\"primary\\\":false}],\\\"subnetId\\\":\\\"subnet-32eb787a\\\",\\\"requesterId\\\":\\\"AROAIHEI2G37MOBIMVFJM:i-07cd97dc141f3b745\\\",\\\"description\\\":\\\"aws-K8S-i-07cd97dc141f3b745\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"k8s-worker-nodes-dev-NodeSecurityGroup-12A693N5Z6ZU6\\\",\\\"groupId\\\":\\\"sg-00ba81535e246b255\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"172.31.27.218\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[{\\\"value\\\":\\\"i-07cd97dc141f3b745\\\",\\\"key\\\":\\\"node.k8s.amazonaws.com/instance_id\\\"}],\\\"macAddress\\\":\\\"06:4f:89:38:b4:58\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"privateDnsName\\\":\\\"ip-172-31-27-218.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-3c3b705a","subnetId":"subnet-32eb787a","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-06ce4a25fb2b27aec","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[{\"tag\":\"node.k8s.amazonaws.com/instance_id=i-07cd97dc141f3b745\",\"value\":\"i-07cd97dc141f3b745\",\"key\":\"node.k8s.amazonaws.com/instance_id\"}]","title":"eni-06ce4a25fb2b27aec","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0d887e9138402fb38","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0d887e9138402fb38","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0d887e9138402fb38\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-172-31-24-39.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.24.39\\\",\\\"primary\\\":true},{\\\"privateDnsName\\\":\\\"ip-172-31-19-141.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.19.141\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-17-102.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.17.102\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-23-229.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.23.229\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-31-180.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.31.180\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-16-113.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.16.113\\\",\\\"primary\\\":false}],\\\"subnetId\\\":\\\"subnet-32eb787a\\\",\\\"requesterId\\\":\\\"AROAIHEI2G37MOBIMVFJM:i-0e60d2549d6fee1f6\\\",\\\"description\\\":\\\"aws-K8S-i-0e60d2549d6fee1f6\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"k8s-worker-nodes-dev-NodeSecurityGroup-12A693N5Z6ZU6\\\",\\\"groupId\\\":\\\"sg-00ba81535e246b255\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"172.31.24.39\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[{\\\"value\\\":\\\"i-0e60d2549d6fee1f6\\\",\\\"key\\\":\\\"node.k8s.amazonaws.com/instance_id\\\"}],\\\"macAddress\\\":\\\"06:a4:ba:23:93:a0\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"privateDnsName\\\":\\\"ip-172-31-24-39.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-3c3b705a","subnetId":"subnet-32eb787a","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0d887e9138402fb38","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[{\"tag\":\"node.k8s.amazonaws.com/instance_id=i-0e60d2549d6fee1f6\",\"value\":\"i-0e60d2549d6fee1f6\",\"key\":\"node.k8s.amazonaws.com/instance_id\"}]","title":"eni-0d887e9138402fb38","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0ddd7423914f2c3db","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0ddd7423914f2c3db","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0ddd7423914f2c3db\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"34.255.214.173\\\",\\\"publicDnsName\\\":\\\"ec2-34-255-214-173.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-172-31-29-6.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.29.6\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-32eb787a\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"34.255.214.173\\\",\\\"publicDnsName\\\":\\\"ec2-34-255-214-173.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-96788cea\\\"},{\\\"groupName\\\":\\\"awseb-e-svj7v9rusk-stack-AWSEBSecurityGroup-TOA6CXMTGSY8\\\",\\\"groupId\\\":\\\"sg-0bd07be67c020ad07\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"172.31.29.6\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:c1:1e:5b:d7:5f\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"instanceId\\\":\\\"i-08c0e9618c880325e\\\",\\\"attachmentId\\\":\\\"eni-attach-043e1f34c89343e99\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"instanceOwnerId\\\":\\\"060997615305\\\",\\\"attachTime\\\":\\\"2022-02-10T18:01:31.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"privateDnsName\\\":\\\"ip-172-31-29-6.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-3c3b705a","subnetId":"subnet-32eb787a","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0ddd7423914f2c3db","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0ddd7423914f2c3db","instanceType":null,"statement":null,"dBInstanceStatus":null}},{"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-00c5f1ddb04bb604c","label":"AWS_EC2_NetworkInterface","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-00c5f1ddb04bb604c","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-00c5f1ddb04bb604c\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon-elb\\\",\\\"publicIp\\\":\\\"52.51.69.146\\\",\\\"publicDnsName\\\":\\\"ec2-52-51-69-146.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-172-31-26-103.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.26.103\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-32eb787a\\\",\\\"requesterId\\\":\\\"amazon-elb\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon-elb\\\",\\\"publicIp\\\":\\\"52.51.69.146\\\",\\\"publicDnsName\\\":\\\"ec2-52-51-69-146.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"ELB a7d4c34af3b7211e980b90a3ffe3de85\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"k8s-elb-a7d4c34af3b7211e980b90a3ffe3de85\\\",\\\"groupId\\\":\\\"sg-093e0c142114e7e4c\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"172.31.26.103\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:ec:24:ca:88:37\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-060ca3f0248904d0c\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-elb\\\",\\\"attachTime\\\":\\\"2023-04-16T20:16:21.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"privateDnsName\\\":\\\"ip-172-31-26-103.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-3c3b705a","subnetId":"subnet-32eb787a","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-00c5f1ddb04bb604c","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-00c5f1ddb04bb604c","instanceType":null,"statement":null,"dBInstanceStatus":null}}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-2099,"y":782.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-06ce4a25fb2b27aec","resourceId":["eni-06ce4a25fb2b27aec","arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-06ce4a25fb2b27aec"],"parent":"NetworkInterface-subnet-32eb787a-eu-west-1a-vpc-3c3b705a-eu-west-1-060997615305","level":6,"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-06ce4a25fb2b27aec","title":"eni-06ce4a25fb2b27aec","label":"eni-06ce4a25...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-06ce4a25fb2b27aec","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-06ce4a25fb2b27aec","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[{\"tag\":\"node.k8s.amazonaws.com/instance_id=i-07cd97dc141f3b745\",\"value\":\"i-07cd97dc141f3b745\",\"key\":\"node.k8s.amazonaws.com/instance_id\"}]","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-06ce4a25fb2b27aec","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-06ce4a25fb2b27aec","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-06ce4a25fb2b27aec\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-172-31-27-218.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.27.218\\\",\\\"primary\\\":true},{\\\"privateDnsName\\\":\\\"ip-172-31-16-111.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.16.111\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-29-13.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.29.13\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-30-151.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.30.151\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-26-230.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.26.230\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-21-100.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.21.100\\\",\\\"primary\\\":false}],\\\"subnetId\\\":\\\"subnet-32eb787a\\\",\\\"requesterId\\\":\\\"AROAIHEI2G37MOBIMVFJM:i-07cd97dc141f3b745\\\",\\\"description\\\":\\\"aws-K8S-i-07cd97dc141f3b745\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"k8s-worker-nodes-dev-NodeSecurityGroup-12A693N5Z6ZU6\\\",\\\"groupId\\\":\\\"sg-00ba81535e246b255\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"172.31.27.218\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[{\\\"value\\\":\\\"i-07cd97dc141f3b745\\\",\\\"key\\\":\\\"node.k8s.amazonaws.com/instance_id\\\"}],\\\"macAddress\\\":\\\"06:4f:89:38:b4:58\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"privateDnsName\\\":\\\"ip-172-31-27-218.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-3c3b705a","subnetId":"subnet-32eb787a","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-06ce4a25fb2b27aec","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[{\"tag\":\"node.k8s.amazonaws.com/instance_id=i-07cd97dc141f3b745\",\"value\":\"i-07cd97dc141f3b745\",\"key\":\"node.k8s.amazonaws.com/instance_id\"}]","title":"eni-06ce4a25fb2b27aec","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2135.5,"y":745.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0d887e9138402fb38","resourceId":["eni-0d887e9138402fb38","arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0d887e9138402fb38"],"parent":"NetworkInterface-subnet-32eb787a-eu-west-1a-vpc-3c3b705a-eu-west-1-060997615305","level":6,"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0d887e9138402fb38","title":"eni-0d887e9138402fb38","label":"eni-0d887e91...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0d887e9138402fb38","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-0d887e9138402fb38","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[{\"tag\":\"node.k8s.amazonaws.com/instance_id=i-0e60d2549d6fee1f6\",\"value\":\"i-0e60d2549d6fee1f6\",\"key\":\"node.k8s.amazonaws.com/instance_id\"}]","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0d887e9138402fb38","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0d887e9138402fb38","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0d887e9138402fb38\\\",\\\"privateIpAddresses\\\":[{\\\"privateDnsName\\\":\\\"ip-172-31-24-39.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.24.39\\\",\\\"primary\\\":true},{\\\"privateDnsName\\\":\\\"ip-172-31-19-141.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.19.141\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-17-102.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.17.102\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-23-229.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.23.229\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-31-180.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.31.180\\\",\\\"primary\\\":false},{\\\"privateDnsName\\\":\\\"ip-172-31-16-113.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.16.113\\\",\\\"primary\\\":false}],\\\"subnetId\\\":\\\"subnet-32eb787a\\\",\\\"requesterId\\\":\\\"AROAIHEI2G37MOBIMVFJM:i-0e60d2549d6fee1f6\\\",\\\"description\\\":\\\"aws-K8S-i-0e60d2549d6fee1f6\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"k8s-worker-nodes-dev-NodeSecurityGroup-12A693N5Z6ZU6\\\",\\\"groupId\\\":\\\"sg-00ba81535e246b255\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"172.31.24.39\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[{\\\"value\\\":\\\"i-0e60d2549d6fee1f6\\\",\\\"key\\\":\\\"node.k8s.amazonaws.com/instance_id\\\"}],\\\"macAddress\\\":\\\"06:a4:ba:23:93:a0\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"privateDnsName\\\":\\\"ip-172-31-24-39.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"available\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-3c3b705a","subnetId":"subnet-32eb787a","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0d887e9138402fb38","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[{\"tag\":\"node.k8s.amazonaws.com/instance_id=i-0e60d2549d6fee1f6\",\"value\":\"i-0e60d2549d6fee1f6\",\"key\":\"node.k8s.amazonaws.com/instance_id\"}]","title":"eni-0d887e9138402fb38","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2062.5,"y":745.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0ddd7423914f2c3db","resourceId":["eni-0ddd7423914f2c3db","arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0ddd7423914f2c3db"],"parent":"NetworkInterface-subnet-32eb787a-eu-west-1a-vpc-3c3b705a-eu-west-1-060997615305","level":6,"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0ddd7423914f2c3db","title":"eni-0ddd7423914f2c3db","label":"eni-0ddd7423...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0ddd7423914f2c3db","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-0ddd7423914f2c3db","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0ddd7423914f2c3db","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0ddd7423914f2c3db","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-0ddd7423914f2c3db\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"34.255.214.173\\\",\\\"publicDnsName\\\":\\\"ec2-34-255-214-173.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-172-31-29-6.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.29.6\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-32eb787a\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"34.255.214.173\\\",\\\"publicDnsName\\\":\\\"ec2-34-255-214-173.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-96788cea\\\"},{\\\"groupName\\\":\\\"awseb-e-svj7v9rusk-stack-AWSEBSecurityGroup-TOA6CXMTGSY8\\\",\\\"groupId\\\":\\\"sg-0bd07be67c020ad07\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":false,\\\"privateIpAddress\\\":\\\"172.31.29.6\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:c1:1e:5b:d7:5f\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"instanceId\\\":\\\"i-08c0e9618c880325e\\\",\\\"attachmentId\\\":\\\"eni-attach-043e1f34c89343e99\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"instanceOwnerId\\\":\\\"060997615305\\\",\\\"attachTime\\\":\\\"2022-02-10T18:01:31.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"privateDnsName\\\":\\\"ip-172-31-29-6.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-3c3b705a","subnetId":"subnet-32eb787a","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-0ddd7423914f2c3db","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-0ddd7423914f2c3db","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2135.5,"y":818.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-00c5f1ddb04bb604c","resourceId":["eni-00c5f1ddb04bb604c","arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-00c5f1ddb04bb604c"],"parent":"NetworkInterface-subnet-32eb787a-eu-west-1a-vpc-3c3b705a-eu-west-1-060997615305","level":6,"id":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-00c5f1ddb04bb604c","title":"eni-00c5f1ddb04bb604c","label":"eni-00c5f1dd...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-00c5f1ddb04bb604c","image":"/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg","cost":0,"private":false,"resource":{"id":"eni-00c5f1ddb04bb604c","name":null,"value":null,"type":"AWS::EC2::NetworkInterface","tags":"[]","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-00c5f1ddb04bb604c","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-00c5f1ddb04bb604c","configuration":"\"{\\\"networkInterfaceId\\\":\\\"eni-00c5f1ddb04bb604c\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon-elb\\\",\\\"publicIp\\\":\\\"52.51.69.146\\\",\\\"publicDnsName\\\":\\\"ec2-52-51-69-146.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-172-31-26-103.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.26.103\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-32eb787a\\\",\\\"requesterId\\\":\\\"amazon-elb\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon-elb\\\",\\\"publicIp\\\":\\\"52.51.69.146\\\",\\\"publicDnsName\\\":\\\"ec2-52-51-69-146.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"ELB a7d4c34af3b7211e980b90a3ffe3de85\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"k8s-elb-a7d4c34af3b7211e980b90a3ffe3de85\\\",\\\"groupId\\\":\\\"sg-093e0c142114e7e4c\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"availabilityZone\\\":\\\"eu-west-1a\\\",\\\"requesterManaged\\\":true,\\\"privateIpAddress\\\":\\\"172.31.26.103\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"tagSet\\\":[],\\\"macAddress\\\":\\\"06:ec:24:ca:88:37\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-060ca3f0248904d0c\\\",\\\"deleteOnTermination\\\":false,\\\"deviceIndex\\\":1,\\\"instanceOwnerId\\\":\\\"amazon-elb\\\",\\\"attachTime\\\":\\\"2023-04-16T20:16:21.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"privateDnsName\\\":\\\"ip-172-31-26-103.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-3c3b705a","subnetId":"subnet-32eb787a","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description","private":null,"resourceId":"eni-00c5f1ddb04bb604c","resourceName":null,"resourceType":"AWS::EC2::NetworkInterface","resourceValue":null,"state":null,"tags":"[]","title":"eni-00c5f1ddb04bb604c","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2062.5,"y":818.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"Instance-subnet-32eb787a-eu-west-1a-vpc-3c3b705a-eu-west-1-060997615305","parent":"subnet-32eb787a-eu-west-1a-vpc-3c3b705a-eu-west-1-060997615305","level":5,"title":"Instance","label":"Instance","plainLabel":"Instance","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-EC2_Instance_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:instance/i-08c0e9618c880325e","label":"AWS_EC2_Instance","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:instance/i-08c0e9618c880325e","configuration":"\"{\\\"subnetId\\\":\\\"subnet-32eb787a\\\",\\\"virtualizationType\\\":\\\"hvm\\\",\\\"capacityReservationSpecification\\\":{\\\"capacityReservationPreference\\\":\\\"open\\\"},\\\"amiLaunchIndex\\\":0,\\\"enaSupport\\\":true,\\\"elasticInferenceAcceleratorAssociations\\\":[],\\\"sourceDestCheck\\\":true,\\\"hibernationOptions\\\":{\\\"configured\\\":false},\\\"instanceId\\\":\\\"i-08c0e9618c880325e\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"hypervisor\\\":\\\"xen\\\",\\\"rootDeviceName\\\":\\\"/dev/xvda\\\",\\\"productCodes\\\":[],\\\"state\\\":{\\\"code\\\":\\\"16\\\",\\\"name\\\":\\\"running\\\"},\\\"architecture\\\":\\\"x86_64\\\",\\\"ebsOptimized\\\":false,\\\"imageId\\\":\\\"ami-06fea6b39deaea03c\\\",\\\"blockDeviceMappings\\\":[{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-0e36ea23777241376\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2022-02-10T18:01:32.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvda\\\"}],\\\"publicIpAddress\\\":\\\"34.255.214.173\\\",\\\"stateTransitionReason\\\":\\\"\\\",\\\"clientToken\\\":\\\"ea65fb93-3083-ff71-f13e-ec207286ebf9\\\",\\\"instanceType\\\":\\\"t2.micro\\\",\\\"cpuOptions\\\":{\\\"threadsPerCore\\\":1,\\\"coreCount\\\":1},\\\"monitoring\\\":{\\\"state\\\":\\\"disabled\\\"},\\\"publicDnsName\\\":\\\"ec2-34-255-214-173.eu-west-1.compute.amazonaws.com\\\",\\\"iamInstanceProfile\\\":{\\\"id\\\":\\\"AIPAJSMVZMY2WHQWICQT6\\\",\\\"arn\\\":\\\"arn:aws:iam::060997615305:instance-profile/aws-elasticbeanstalk-ec2-role\\\"},\\\"privateIpAddress\\\":\\\"172.31.29.6\\\",\\\"rootDeviceType\\\":\\\"ebs\\\",\\\"tags\\\":[{\\\"value\\\":\\\"awseb-e-svj7v9rusk-stack-AWSEBAutoScalingGroup-13N519RU4DHXO\\\",\\\"key\\\":\\\"aws:autoscaling:groupName\\\"},{\\\"value\\\":\\\"Help56-env-1\\\",\\\"key\\\":\\\"elasticbeanstalk:environment-name\\\"},{\\\"value\\\":\\\"AWSEBAutoScalingGroup\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/awseb-e-svj7v9rusk-stack/0edbcfa0-bc7a-11ea-9736-0aac29486886\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"awseb-e-svj7v9rusk-stack\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"Help56-env-1\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"e-svj7v9rusk\\\",\\\"key\\\":\\\"elasticbeanstalk:environment-id\\\"}],\\\"enclaveOptions\\\":{\\\"enabled\\\":false},\\\"launchTime\\\":\\\"2022-02-10T18:01:31.000Z\\\",\\\"elasticGpuAssociations\\\":[],\\\"licenses\\\":[],\\\"networkInterfaces\\\":[{\\\"networkInterfaceId\\\":\\\"eni-0ddd7423914f2c3db\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"34.255.214.173\\\",\\\"publicDnsName\\\":\\\"ec2-34-255-214-173.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-172-31-29-6.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.29.6\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-32eb787a\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"34.255.214.173\\\",\\\"publicDnsName\\\":\\\"ec2-34-255-214-173.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"awseb-e-svj7v9rusk-stack-AWSEBSecurityGroup-TOA6CXMTGSY8\\\",\\\"groupId\\\":\\\"sg-0bd07be67c020ad07\\\"},{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-96788cea\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"privateIpAddress\\\":\\\"172.31.29.6\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"macAddress\\\":\\\"06:c1:1e:5b:d7:5f\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-043e1f34c89343e99\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"attachTime\\\":\\\"2022-02-10T18:01:31.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"privateDnsName\\\":\\\"ip-172-31-29-6.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}],\\\"metadataOptions\\\":{\\\"httpPutResponseHopLimit\\\":1,\\\"httpEndpoint\\\":\\\"enabled\\\",\\\"state\\\":\\\"applied\\\",\\\"httpTokens\\\":\\\"optional\\\"},\\\"privateDnsName\\\":\\\"ip-172-31-29-6.eu-west-1.compute.internal\\\",\\\"securityGroups\\\":[{\\\"groupName\\\":\\\"awseb-e-svj7v9rusk-stack-AWSEBSecurityGroup-TOA6CXMTGSY8\\\",\\\"groupId\\\":\\\"sg-0bd07be67c020ad07\\\"},{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-96788cea\\\"}],\\\"placement\\\":{\\\"groupName\\\":\\\"\\\",\\\"tenancy\\\":\\\"default\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\"}}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-3c3b705a","subnetId":"subnet-32eb787a","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#Instances:sort=instanceId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#Instances:sort=instanceId","private":null,"resourceId":"i-08c0e9618c880325e","resourceName":null,"resourceType":"AWS::EC2::Instance","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:autoscaling:groupName=awseb-e-svj7v9rusk-stack-AWSEBAutoScalingGroup-13N519RU4DHXO\",\"value\":\"awseb-e-svj7v9rusk-stack-AWSEBAutoScalingGroup-13N519RU4DHXO\",\"key\":\"aws:autoscaling:groupName\"},{\"tag\":\"aws:cloudformation:stack-name=awseb-e-svj7v9rusk-stack\",\"value\":\"awseb-e-svj7v9rusk-stack\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/awseb-e-svj7v9rusk-stack/0edbcfa0-bc7a-11ea-9736-0aac29486886\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/awseb-e-svj7v9rusk-stack/0edbcfa0-bc7a-11ea-9736-0aac29486886\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"elasticbeanstalk:environment-name=Help56-env-1\",\"value\":\"Help56-env-1\",\"key\":\"elasticbeanstalk:environment-name\"},{\"tag\":\"aws:cloudformation:logical-id=AWSEBAutoScalingGroup\",\"value\":\"AWSEBAutoScalingGroup\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"elasticbeanstalk:environment-id=e-svj7v9rusk\",\"value\":\"e-svj7v9rusk\",\"key\":\"elasticbeanstalk:environment-id\"},{\"tag\":\"Name=Help56-env-1\",\"value\":\"Help56-env-1\",\"key\":\"Name\"}]","title":"Help56-env-1","instanceType":null,"statement":null,"dBInstanceStatus":null}}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1949.5,"y":745.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:instance/i-08c0e9618c880325e","resourceId":["i-08c0e9618c880325e","arn:aws:ec2:eu-west-1:060997615305:instance/i-08c0e9618c880325e"],"parent":"Instance-subnet-32eb787a-eu-west-1a-vpc-3c3b705a-eu-west-1-060997615305","level":6,"id":"arn:aws:ec2:eu-west-1:060997615305:instance/i-08c0e9618c880325e","title":"Help56-env-1","label":"Help56-env-1","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#FF9900","borderStyle":"dotted","borderColour":"#FF9900","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:instance/i-08c0e9618c880325e","state":{"status":"status-warning","text":"no state data","color":"#FF9900"},"image":"/icons/Amazon-EC2_T2-Instance_light-bg-warning.svg","cost":0,"private":false,"detailsComponent":{"key":null,"ref":null,"props":{"title":"Instance Details","configuration":"\"{\\\"subnetId\\\":\\\"subnet-32eb787a\\\",\\\"virtualizationType\\\":\\\"hvm\\\",\\\"capacityReservationSpecification\\\":{\\\"capacityReservationPreference\\\":\\\"open\\\"},\\\"amiLaunchIndex\\\":0,\\\"enaSupport\\\":true,\\\"elasticInferenceAcceleratorAssociations\\\":[],\\\"sourceDestCheck\\\":true,\\\"hibernationOptions\\\":{\\\"configured\\\":false},\\\"instanceId\\\":\\\"i-08c0e9618c880325e\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"hypervisor\\\":\\\"xen\\\",\\\"rootDeviceName\\\":\\\"/dev/xvda\\\",\\\"productCodes\\\":[],\\\"state\\\":{\\\"code\\\":\\\"16\\\",\\\"name\\\":\\\"running\\\"},\\\"architecture\\\":\\\"x86_64\\\",\\\"ebsOptimized\\\":false,\\\"imageId\\\":\\\"ami-06fea6b39deaea03c\\\",\\\"blockDeviceMappings\\\":[{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-0e36ea23777241376\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2022-02-10T18:01:32.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvda\\\"}],\\\"publicIpAddress\\\":\\\"34.255.214.173\\\",\\\"stateTransitionReason\\\":\\\"\\\",\\\"clientToken\\\":\\\"ea65fb93-3083-ff71-f13e-ec207286ebf9\\\",\\\"instanceType\\\":\\\"t2.micro\\\",\\\"cpuOptions\\\":{\\\"threadsPerCore\\\":1,\\\"coreCount\\\":1},\\\"monitoring\\\":{\\\"state\\\":\\\"disabled\\\"},\\\"publicDnsName\\\":\\\"ec2-34-255-214-173.eu-west-1.compute.amazonaws.com\\\",\\\"iamInstanceProfile\\\":{\\\"id\\\":\\\"AIPAJSMVZMY2WHQWICQT6\\\",\\\"arn\\\":\\\"arn:aws:iam::060997615305:instance-profile/aws-elasticbeanstalk-ec2-role\\\"},\\\"privateIpAddress\\\":\\\"172.31.29.6\\\",\\\"rootDeviceType\\\":\\\"ebs\\\",\\\"tags\\\":[{\\\"value\\\":\\\"awseb-e-svj7v9rusk-stack-AWSEBAutoScalingGroup-13N519RU4DHXO\\\",\\\"key\\\":\\\"aws:autoscaling:groupName\\\"},{\\\"value\\\":\\\"Help56-env-1\\\",\\\"key\\\":\\\"elasticbeanstalk:environment-name\\\"},{\\\"value\\\":\\\"AWSEBAutoScalingGroup\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/awseb-e-svj7v9rusk-stack/0edbcfa0-bc7a-11ea-9736-0aac29486886\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"awseb-e-svj7v9rusk-stack\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"Help56-env-1\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"e-svj7v9rusk\\\",\\\"key\\\":\\\"elasticbeanstalk:environment-id\\\"}],\\\"enclaveOptions\\\":{\\\"enabled\\\":false},\\\"launchTime\\\":\\\"2022-02-10T18:01:31.000Z\\\",\\\"elasticGpuAssociations\\\":[],\\\"licenses\\\":[],\\\"networkInterfaces\\\":[{\\\"networkInterfaceId\\\":\\\"eni-0ddd7423914f2c3db\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"34.255.214.173\\\",\\\"publicDnsName\\\":\\\"ec2-34-255-214-173.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-172-31-29-6.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.29.6\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-32eb787a\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"34.255.214.173\\\",\\\"publicDnsName\\\":\\\"ec2-34-255-214-173.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"awseb-e-svj7v9rusk-stack-AWSEBSecurityGroup-TOA6CXMTGSY8\\\",\\\"groupId\\\":\\\"sg-0bd07be67c020ad07\\\"},{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-96788cea\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"privateIpAddress\\\":\\\"172.31.29.6\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"macAddress\\\":\\\"06:c1:1e:5b:d7:5f\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-043e1f34c89343e99\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"attachTime\\\":\\\"2022-02-10T18:01:31.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"privateDnsName\\\":\\\"ip-172-31-29-6.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}],\\\"metadataOptions\\\":{\\\"httpPutResponseHopLimit\\\":1,\\\"httpEndpoint\\\":\\\"enabled\\\",\\\"state\\\":\\\"applied\\\",\\\"httpTokens\\\":\\\"optional\\\"},\\\"privateDnsName\\\":\\\"ip-172-31-29-6.eu-west-1.compute.internal\\\",\\\"securityGroups\\\":[{\\\"groupName\\\":\\\"awseb-e-svj7v9rusk-stack-AWSEBSecurityGroup-TOA6CXMTGSY8\\\",\\\"groupId\\\":\\\"sg-0bd07be67c020ad07\\\"},{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-96788cea\\\"}],\\\"placement\\\":{\\\"groupName\\\":\\\"\\\",\\\"tenancy\\\":\\\"default\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\"}}\""},"_owner":null,"_store":{}},"resource":{"id":"i-08c0e9618c880325e","name":null,"value":null,"type":"AWS::EC2::Instance","tags":"[{\"tag\":\"aws:autoscaling:groupName=awseb-e-svj7v9rusk-stack-AWSEBAutoScalingGroup-13N519RU4DHXO\",\"value\":\"awseb-e-svj7v9rusk-stack-AWSEBAutoScalingGroup-13N519RU4DHXO\",\"key\":\"aws:autoscaling:groupName\"},{\"tag\":\"aws:cloudformation:stack-name=awseb-e-svj7v9rusk-stack\",\"value\":\"awseb-e-svj7v9rusk-stack\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/awseb-e-svj7v9rusk-stack/0edbcfa0-bc7a-11ea-9736-0aac29486886\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/awseb-e-svj7v9rusk-stack/0edbcfa0-bc7a-11ea-9736-0aac29486886\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"elasticbeanstalk:environment-name=Help56-env-1\",\"value\":\"Help56-env-1\",\"key\":\"elasticbeanstalk:environment-name\"},{\"tag\":\"aws:cloudformation:logical-id=AWSEBAutoScalingGroup\",\"value\":\"AWSEBAutoScalingGroup\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"elasticbeanstalk:environment-id=e-svj7v9rusk\",\"value\":\"e-svj7v9rusk\",\"key\":\"elasticbeanstalk:environment-id\"},{\"tag\":\"Name=Help56-env-1\",\"value\":\"Help56-env-1\",\"key\":\"Name\"}]","arn":"arn:aws:ec2:eu-west-1:060997615305:instance/i-08c0e9618c880325e","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#Instances:sort=instanceId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#Instances:sort=instanceId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:instance/i-08c0e9618c880325e","configuration":"\"{\\\"subnetId\\\":\\\"subnet-32eb787a\\\",\\\"virtualizationType\\\":\\\"hvm\\\",\\\"capacityReservationSpecification\\\":{\\\"capacityReservationPreference\\\":\\\"open\\\"},\\\"amiLaunchIndex\\\":0,\\\"enaSupport\\\":true,\\\"elasticInferenceAcceleratorAssociations\\\":[],\\\"sourceDestCheck\\\":true,\\\"hibernationOptions\\\":{\\\"configured\\\":false},\\\"instanceId\\\":\\\"i-08c0e9618c880325e\\\",\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"hypervisor\\\":\\\"xen\\\",\\\"rootDeviceName\\\":\\\"/dev/xvda\\\",\\\"productCodes\\\":[],\\\"state\\\":{\\\"code\\\":\\\"16\\\",\\\"name\\\":\\\"running\\\"},\\\"architecture\\\":\\\"x86_64\\\",\\\"ebsOptimized\\\":false,\\\"imageId\\\":\\\"ami-06fea6b39deaea03c\\\",\\\"blockDeviceMappings\\\":[{\\\"ebs\\\":{\\\"volumeId\\\":\\\"vol-0e36ea23777241376\\\",\\\"deleteOnTermination\\\":true,\\\"attachTime\\\":\\\"2022-02-10T18:01:32.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"deviceName\\\":\\\"/dev/xvda\\\"}],\\\"publicIpAddress\\\":\\\"34.255.214.173\\\",\\\"stateTransitionReason\\\":\\\"\\\",\\\"clientToken\\\":\\\"ea65fb93-3083-ff71-f13e-ec207286ebf9\\\",\\\"instanceType\\\":\\\"t2.micro\\\",\\\"cpuOptions\\\":{\\\"threadsPerCore\\\":1,\\\"coreCount\\\":1},\\\"monitoring\\\":{\\\"state\\\":\\\"disabled\\\"},\\\"publicDnsName\\\":\\\"ec2-34-255-214-173.eu-west-1.compute.amazonaws.com\\\",\\\"iamInstanceProfile\\\":{\\\"id\\\":\\\"AIPAJSMVZMY2WHQWICQT6\\\",\\\"arn\\\":\\\"arn:aws:iam::060997615305:instance-profile/aws-elasticbeanstalk-ec2-role\\\"},\\\"privateIpAddress\\\":\\\"172.31.29.6\\\",\\\"rootDeviceType\\\":\\\"ebs\\\",\\\"tags\\\":[{\\\"value\\\":\\\"awseb-e-svj7v9rusk-stack-AWSEBAutoScalingGroup-13N519RU4DHXO\\\",\\\"key\\\":\\\"aws:autoscaling:groupName\\\"},{\\\"value\\\":\\\"Help56-env-1\\\",\\\"key\\\":\\\"elasticbeanstalk:environment-name\\\"},{\\\"value\\\":\\\"AWSEBAutoScalingGroup\\\",\\\"key\\\":\\\"aws:cloudformation:logical-id\\\"},{\\\"value\\\":\\\"arn:aws:cloudformation:eu-west-1:060997615305:stack/awseb-e-svj7v9rusk-stack/0edbcfa0-bc7a-11ea-9736-0aac29486886\\\",\\\"key\\\":\\\"aws:cloudformation:stack-id\\\"},{\\\"value\\\":\\\"awseb-e-svj7v9rusk-stack\\\",\\\"key\\\":\\\"aws:cloudformation:stack-name\\\"},{\\\"value\\\":\\\"Help56-env-1\\\",\\\"key\\\":\\\"Name\\\"},{\\\"value\\\":\\\"e-svj7v9rusk\\\",\\\"key\\\":\\\"elasticbeanstalk:environment-id\\\"}],\\\"enclaveOptions\\\":{\\\"enabled\\\":false},\\\"launchTime\\\":\\\"2022-02-10T18:01:31.000Z\\\",\\\"elasticGpuAssociations\\\":[],\\\"licenses\\\":[],\\\"networkInterfaces\\\":[{\\\"networkInterfaceId\\\":\\\"eni-0ddd7423914f2c3db\\\",\\\"privateIpAddresses\\\":[{\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"34.255.214.173\\\",\\\"publicDnsName\\\":\\\"ec2-34-255-214-173.eu-west-1.compute.amazonaws.com\\\"},\\\"privateDnsName\\\":\\\"ip-172-31-29-6.eu-west-1.compute.internal\\\",\\\"privateIpAddress\\\":\\\"172.31.29.6\\\",\\\"primary\\\":true}],\\\"subnetId\\\":\\\"subnet-32eb787a\\\",\\\"association\\\":{\\\"ipOwnerId\\\":\\\"amazon\\\",\\\"publicIp\\\":\\\"34.255.214.173\\\",\\\"publicDnsName\\\":\\\"ec2-34-255-214-173.eu-west-1.compute.amazonaws.com\\\"},\\\"description\\\":\\\"\\\",\\\"groups\\\":[{\\\"groupName\\\":\\\"awseb-e-svj7v9rusk-stack-AWSEBSecurityGroup-TOA6CXMTGSY8\\\",\\\"groupId\\\":\\\"sg-0bd07be67c020ad07\\\"},{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-96788cea\\\"}],\\\"ipv6Addresses\\\":[],\\\"ownerId\\\":\\\"060997615305\\\",\\\"sourceDestCheck\\\":true,\\\"privateIpAddress\\\":\\\"172.31.29.6\\\",\\\"interfaceType\\\":\\\"interface\\\",\\\"macAddress\\\":\\\"06:c1:1e:5b:d7:5f\\\",\\\"attachment\\\":{\\\"networkCardIndex\\\":0,\\\"attachmentId\\\":\\\"eni-attach-043e1f34c89343e99\\\",\\\"deleteOnTermination\\\":true,\\\"deviceIndex\\\":0,\\\"attachTime\\\":\\\"2022-02-10T18:01:31.000Z\\\",\\\"status\\\":\\\"attached\\\"},\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"privateDnsName\\\":\\\"ip-172-31-29-6.eu-west-1.compute.internal\\\",\\\"status\\\":\\\"in-use\\\"}],\\\"metadataOptions\\\":{\\\"httpPutResponseHopLimit\\\":1,\\\"httpEndpoint\\\":\\\"enabled\\\",\\\"state\\\":\\\"applied\\\",\\\"httpTokens\\\":\\\"optional\\\"},\\\"privateDnsName\\\":\\\"ip-172-31-29-6.eu-west-1.compute.internal\\\",\\\"securityGroups\\\":[{\\\"groupName\\\":\\\"awseb-e-svj7v9rusk-stack-AWSEBSecurityGroup-TOA6CXMTGSY8\\\",\\\"groupId\\\":\\\"sg-0bd07be67c020ad07\\\"},{\\\"groupName\\\":\\\"default\\\",\\\"groupId\\\":\\\"sg-96788cea\\\"}],\\\"placement\\\":{\\\"groupName\\\":\\\"\\\",\\\"tenancy\\\":\\\"default\\\",\\\"availabilityZone\\\":\\\"eu-west-1a\\\"}}\"","awsRegion":"eu-west-1","availabilityZone":"eu-west-1a","vpcId":"vpc-3c3b705a","subnetId":"subnet-32eb787a","loggedInURL":"https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#Instances:sort=instanceId","loginURL":"https://060997615305.signin.aws.amazon.com/console/ec2?region=eu-west-1#Instances:sort=instanceId","private":null,"resourceId":"i-08c0e9618c880325e","resourceName":null,"resourceType":"AWS::EC2::Instance","resourceValue":null,"state":null,"tags":"[{\"tag\":\"aws:autoscaling:groupName=awseb-e-svj7v9rusk-stack-AWSEBAutoScalingGroup-13N519RU4DHXO\",\"value\":\"awseb-e-svj7v9rusk-stack-AWSEBAutoScalingGroup-13N519RU4DHXO\",\"key\":\"aws:autoscaling:groupName\"},{\"tag\":\"aws:cloudformation:stack-name=awseb-e-svj7v9rusk-stack\",\"value\":\"awseb-e-svj7v9rusk-stack\",\"key\":\"aws:cloudformation:stack-name\"},{\"tag\":\"aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/awseb-e-svj7v9rusk-stack/0edbcfa0-bc7a-11ea-9736-0aac29486886\",\"value\":\"arn:aws:cloudformation:eu-west-1:060997615305:stack/awseb-e-svj7v9rusk-stack/0edbcfa0-bc7a-11ea-9736-0aac29486886\",\"key\":\"aws:cloudformation:stack-id\"},{\"tag\":\"elasticbeanstalk:environment-name=Help56-env-1\",\"value\":\"Help56-env-1\",\"key\":\"elasticbeanstalk:environment-name\"},{\"tag\":\"aws:cloudformation:logical-id=AWSEBAutoScalingGroup\",\"value\":\"AWSEBAutoScalingGroup\",\"key\":\"aws:cloudformation:logical-id\"},{\"tag\":\"elasticbeanstalk:environment-id=e-svj7v9rusk\",\"value\":\"e-svj7v9rusk\",\"key\":\"elasticbeanstalk:environment-id\"},{\"tag\":\"Name=Help56-env-1\",\"value\":\"Help56-env-1\",\"key\":\"Name\"}]","title":"Help56-env-1","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1949.5,"y":745.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"Multiple Availability Zones-vpc-3c3b705a-eu-west-1-060997615305","parent":"vpc-3c3b705a-eu-west-1-060997615305","level":3,"title":"Multiple Availability Zones","label":"Multiple Availability Zones","plainLabel":"Multiple Availability Zones","type":"availabilityZone","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/availabilityZone.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":null,"label":"NetworkAcl","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-7cc60405","label":"AWS_EC2_NetworkAcl","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-7cc60405","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-32eb787a\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-8f5c58f0\\\",\\\"networkAclId\\\":\\\"acl-7cc60405\\\"},{\\\"subnetId\\\":\\\"subnet-5fcf4c39\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-905c58ef\\\",\\\"networkAclId\\\":\\\"acl-7cc60405\\\"},{\\\"subnetId\\\":\\\"subnet-22864b78\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-8e5c58f1\\\",\\\"networkAclId\\\":\\\"acl-7cc60405\\\"}],\\\"entries\\\":[{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":false},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":false}],\\\"isDefault\\\":true,\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"networkAclId\\\":\\\"acl-7cc60405\\\",\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#acls:sort=networkAclId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#acls:sort=networkAclId","private":null,"resourceId":"acl-7cc60405","resourceName":null,"resourceType":"AWS::EC2::NetworkAcl","resourceValue":null,"state":null,"tags":"[]","title":"acl-7cc60405","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]},{"id":null,"label":"InternetGateway","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:internet-gateway/igw-3c9fd05b","label":"AWS_EC2_InternetGateway","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:internet-gateway/igw-3c9fd05b","configuration":"\"{\\\"attachments\\\":[{\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"state\\\":\\\"available\\\"}],\\\"internetGatewayId\\\":\\\"igw-3c9fd05b\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#igws:sort=internetGatewayId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#igws:sort=internetGatewayId","private":null,"resourceId":"igw-3c9fd05b","resourceName":null,"resourceType":"AWS::EC2::InternetGateway","resourceValue":null,"state":null,"tags":"[]","title":"igw-3c9fd05b","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]},{"id":null,"label":"DBSubnetGroup","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:rds:eu-west-1:060997615305:subgrp:default-vpc-3c3b705a","label":"AWS_RDS_DBSubnetGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:rds:eu-west-1:060997615305:subgrp:default-vpc-3c3b705a","configuration":"\"{\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"dBSubnetGroupArn\\\":\\\"arn:aws:rds:eu-west-1:060997615305:subgrp:default-vpc-3c3b705a\\\",\\\"subnets\\\":[{\\\"subnetIdentifier\\\":\\\"subnet-5fcf4c39\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1c\\\"}},{\\\"subnetIdentifier\\\":\\\"subnet-32eb787a\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1a\\\"}},{\\\"subnetIdentifier\\\":\\\"subnet-22864b78\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1b\\\"}}],\\\"subnetGroupStatus\\\":\\\"Complete\\\",\\\"dBSubnetGroupName\\\":\\\"default-vpc-3c3b705a\\\",\\\"dBSubnetGroupDescription\\\":\\\"Created from the RDS Management Console\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"default-vpc-3c3b705a","resourceName":"default-vpc-3c3b705a","resourceType":"AWS::RDS::DBSubnetGroup","resourceValue":null,"state":null,"tags":"[]","title":"default-vpc-3c3b705a","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]},{"id":null,"label":"LoadBalancer","parent":null,"type":"type","data":null,"properties":null,"children":[{"id":"arn:aws:elasticloadbalancing:eu-west-1:060997615305:loadbalancer/a7d4c34af3b7211e980b90a3ffe3de85","label":"AWS_ElasticLoadBalancing_LoadBalancer","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:elasticloadbalancing:eu-west-1:060997615305:loadbalancer/a7d4c34af3b7211e980b90a3ffe3de85","configuration":"\"{\\\"canonicalHostedZoneNameID\\\":\\\"Z32O12XQLNTSW2\\\",\\\"scheme\\\":\\\"internet-facing\\\",\\\"policies\\\":{\\\"lbcookieStickinessPolicies\\\":[],\\\"appCookieStickinessPolicies\\\":[],\\\"otherPolicies\\\":[]},\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"}],\\\"backendServerDescriptions\\\":[],\\\"sourceSecurityGroup\\\":{\\\"ownerAlias\\\":\\\"060997615305\\\",\\\"groupName\\\":\\\"k8s-elb-a7d4c34af3b7211e980b90a3ffe3de85\\\"},\\\"loadBalancerName\\\":\\\"a7d4c34af3b7211e980b90a3ffe3de85\\\",\\\"listenerDescriptions\\\":[{\\\"listener\\\":{\\\"instancePort\\\":30454,\\\"instanceProtocol\\\":\\\"TCP\\\",\\\"protocol\\\":\\\"TCP\\\",\\\"loadBalancerPort\\\":80},\\\"policyNames\\\":[]}],\\\"vpcid\\\":\\\"vpc-3c3b705a\\\",\\\"dnsname\\\":\\\"a7d4c34af3b7211e980b90a3ffe3de85-733938466.eu-west-1.elb.amazonaws.com\\\",\\\"createdTime\\\":1551369853730,\\\"subnets\\\":[{\\\"value\\\":\\\"subnet-22864b78\\\"},{\\\"value\\\":\\\"subnet-32eb787a\\\"},{\\\"value\\\":\\\"subnet-5fcf4c39\\\"}],\\\"securityGroups\\\":[{\\\"value\\\":\\\"sg-093e0c142114e7e4c\\\"}],\\\"canonicalHostedZoneName\\\":\\\"a7d4c34af3b7211e980b90a3ffe3de85-733938466.eu-west-1.elb.amazonaws.com\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"a7d4c34af3b7211e980b90a3ffe3de85","resourceName":"a7d4c34af3b7211e980b90a3ffe3de85","resourceType":"AWS::ElasticLoadBalancing::LoadBalancer","resourceValue":null,"state":null,"tags":"[{\"tag\":\"kubernetes.io/service-name=default/guestbook\",\"value\":\"default/guestbook\",\"key\":\"kubernetes.io/service-name\"},{\"tag\":\"kubernetes.io/cluster/k8s-dev=owned\",\"value\":\"owned\",\"key\":\"kubernetes.io/cluster/k8s-dev\"}]","title":"a7d4c34af3b7211e980b90a3ffe3de85","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:elasticloadbalancing:eu-west-1:060997615305:loadbalancer/a24d5e83c936711e9812b06b4550bdce","label":"AWS_ElasticLoadBalancing_LoadBalancer","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:elasticloadbalancing:eu-west-1:060997615305:loadbalancer/a24d5e83c936711e9812b06b4550bdce","configuration":"\"{\\\"canonicalHostedZoneNameID\\\":\\\"Z32O12XQLNTSW2\\\",\\\"scheme\\\":\\\"internet-facing\\\",\\\"policies\\\":{\\\"lbcookieStickinessPolicies\\\":[],\\\"appCookieStickinessPolicies\\\":[],\\\"otherPolicies\\\":[]},\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"}],\\\"backendServerDescriptions\\\":[],\\\"sourceSecurityGroup\\\":{\\\"ownerAlias\\\":\\\"060997615305\\\",\\\"groupName\\\":\\\"k8s-elb-a24d5e83c936711e9812b06b4550bdce\\\"},\\\"loadBalancerName\\\":\\\"a24d5e83c936711e9812b06b4550bdce\\\",\\\"listenerDescriptions\\\":[{\\\"listener\\\":{\\\"instancePort\\\":32697,\\\"instanceProtocol\\\":\\\"TCP\\\",\\\"protocol\\\":\\\"TCP\\\",\\\"loadBalancerPort\\\":80},\\\"policyNames\\\":[]}],\\\"vpcid\\\":\\\"vpc-3c3b705a\\\",\\\"dnsname\\\":\\\"a24d5e83c936711e9812b06b4550bdce-1892023076.eu-west-1.elb.amazonaws.com\\\",\\\"createdTime\\\":1561040683310,\\\"subnets\\\":[{\\\"value\\\":\\\"subnet-22864b78\\\"},{\\\"value\\\":\\\"subnet-32eb787a\\\"},{\\\"value\\\":\\\"subnet-5fcf4c39\\\"}],\\\"securityGroups\\\":[{\\\"value\\\":\\\"sg-09eafe5c6ba9f53bf\\\"}],\\\"canonicalHostedZoneName\\\":\\\"a24d5e83c936711e9812b06b4550bdce-1892023076.eu-west-1.elb.amazonaws.com\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"a24d5e83c936711e9812b06b4550bdce","resourceName":"a24d5e83c936711e9812b06b4550bdce","resourceType":"AWS::ElasticLoadBalancing::LoadBalancer","resourceValue":null,"state":null,"tags":"[{\"tag\":\"kubernetes.io/service-name=dev/docker-tutorial\",\"value\":\"dev/docker-tutorial\",\"key\":\"kubernetes.io/service-name\"},{\"tag\":\"kubernetes.io/cluster/k8s-dev=owned\",\"value\":\"owned\",\"key\":\"kubernetes.io/cluster/k8s-dev\"}]","title":"a24d5e83c936711e9812b06b4550bdce","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:elasticloadbalancing:eu-west-1:060997615305:loadbalancer/a3a680e4cbdb811e9a8b30a8ac757ccc","label":"AWS_ElasticLoadBalancing_LoadBalancer","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:elasticloadbalancing:eu-west-1:060997615305:loadbalancer/a3a680e4cbdb811e9a8b30a8ac757ccc","configuration":"\"{\\\"canonicalHostedZoneNameID\\\":\\\"Z32O12XQLNTSW2\\\",\\\"scheme\\\":\\\"internet-facing\\\",\\\"policies\\\":{\\\"lbcookieStickinessPolicies\\\":[],\\\"appCookieStickinessPolicies\\\":[],\\\"otherPolicies\\\":[]},\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"}],\\\"backendServerDescriptions\\\":[],\\\"sourceSecurityGroup\\\":{\\\"ownerAlias\\\":\\\"060997615305\\\",\\\"groupName\\\":\\\"k8s-elb-a3a680e4cbdb811e9a8b30a8ac757ccc\\\"},\\\"loadBalancerName\\\":\\\"a3a680e4cbdb811e9a8b30a8ac757ccc\\\",\\\"listenerDescriptions\\\":[{\\\"listener\\\":{\\\"instancePort\\\":30133,\\\"instanceProtocol\\\":\\\"TCP\\\",\\\"protocol\\\":\\\"TCP\\\",\\\"loadBalancerPort\\\":80},\\\"policyNames\\\":[]}],\\\"vpcid\\\":\\\"vpc-3c3b705a\\\",\\\"dnsname\\\":\\\"a3a680e4cbdb811e9a8b30a8ac757ccc-332781708.eu-west-1.elb.amazonaws.com\\\",\\\"createdTime\\\":1565693457150,\\\"subnets\\\":[{\\\"value\\\":\\\"subnet-22864b78\\\"},{\\\"value\\\":\\\"subnet-32eb787a\\\"},{\\\"value\\\":\\\"subnet-5fcf4c39\\\"}],\\\"securityGroups\\\":[{\\\"value\\\":\\\"sg-07cd255b1c97fe1a1\\\"}],\\\"canonicalHostedZoneName\\\":\\\"a3a680e4cbdb811e9a8b30a8ac757ccc-332781708.eu-west-1.elb.amazonaws.com\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"a3a680e4cbdb811e9a8b30a8ac757ccc","resourceName":"a3a680e4cbdb811e9a8b30a8ac757ccc","resourceType":"AWS::ElasticLoadBalancing::LoadBalancer","resourceValue":null,"state":null,"tags":"[{\"tag\":\"kubernetes.io/service-name=default/docker-tutorial\",\"value\":\"default/docker-tutorial\",\"key\":\"kubernetes.io/service-name\"},{\"tag\":\"kubernetes.io/cluster/k8s-dev=owned\",\"value\":\"owned\",\"key\":\"kubernetes.io/cluster/k8s-dev\"}]","title":"a3a680e4cbdb811e9a8b30a8ac757ccc","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}]}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-2062.5,"y":408.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"availabilityZone removeAll _gridParentPadding"},{"data":{"id":"NetworkAcl-Multiple Availability Zones-vpc-3c3b705a-eu-west-1-060997615305","parent":"Multiple Availability Zones-vpc-3c3b705a-eu-west-1-060997615305","level":4,"title":"NetworkAcl","label":"NetworkAcl","plainLabel":"NetworkAcl","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-VPC_Network-Access-Control-List_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-7cc60405","label":"AWS_EC2_NetworkAcl","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-7cc60405","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-32eb787a\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-8f5c58f0\\\",\\\"networkAclId\\\":\\\"acl-7cc60405\\\"},{\\\"subnetId\\\":\\\"subnet-5fcf4c39\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-905c58ef\\\",\\\"networkAclId\\\":\\\"acl-7cc60405\\\"},{\\\"subnetId\\\":\\\"subnet-22864b78\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-8e5c58f1\\\",\\\"networkAclId\\\":\\\"acl-7cc60405\\\"}],\\\"entries\\\":[{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":false},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":false}],\\\"isDefault\\\":true,\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"networkAclId\\\":\\\"acl-7cc60405\\\",\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#acls:sort=networkAclId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#acls:sort=networkAclId","private":null,"resourceId":"acl-7cc60405","resourceName":null,"resourceType":"AWS::EC2::NetworkAcl","resourceValue":null,"state":null,"tags":"[]","title":"acl-7cc60405","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1969.5,"y":306.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-7cc60405","resourceId":["acl-7cc60405","arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-7cc60405"],"parent":"NetworkAcl-Multiple Availability Zones-vpc-3c3b705a-eu-west-1-060997615305","level":5,"id":"arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-7cc60405","title":"acl-7cc60405","label":"acl-7cc60405","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-7cc60405","image":"/icons/Amazon-VPC_Network-Access-Control-List_light-bg.svg","cost":0,"private":false,"resource":{"id":"acl-7cc60405","name":null,"value":null,"type":"AWS::EC2::NetworkAcl","tags":"[]","arn":"arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-7cc60405","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#acls:sort=networkAclId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#acls:sort=networkAclId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-7cc60405","configuration":"\"{\\\"associations\\\":[{\\\"subnetId\\\":\\\"subnet-32eb787a\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-8f5c58f0\\\",\\\"networkAclId\\\":\\\"acl-7cc60405\\\"},{\\\"subnetId\\\":\\\"subnet-5fcf4c39\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-905c58ef\\\",\\\"networkAclId\\\":\\\"acl-7cc60405\\\"},{\\\"subnetId\\\":\\\"subnet-22864b78\\\",\\\"networkAclAssociationId\\\":\\\"aclassoc-8e5c58f1\\\",\\\"networkAclId\\\":\\\"acl-7cc60405\\\"}],\\\"entries\\\":[{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":true},{\\\"ruleAction\\\":\\\"allow\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":100,\\\"egress\\\":false},{\\\"ruleAction\\\":\\\"deny\\\",\\\"protocol\\\":\\\"-1\\\",\\\"cidrBlock\\\":\\\"0.0.0.0/0\\\",\\\"ruleNumber\\\":32767,\\\"egress\\\":false}],\\\"isDefault\\\":true,\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"networkAclId\\\":\\\"acl-7cc60405\\\",\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#acls:sort=networkAclId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#acls:sort=networkAclId","private":null,"resourceId":"acl-7cc60405","resourceName":null,"resourceType":"AWS::EC2::NetworkAcl","resourceValue":null,"state":null,"tags":"[]","title":"acl-7cc60405","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1969.5,"y":306.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"InternetGateway-Multiple Availability Zones-vpc-3c3b705a-eu-west-1-060997615305","parent":"Multiple Availability Zones-vpc-3c3b705a-eu-west-1-060997615305","level":4,"title":"InternetGateway","label":"InternetGateway","plainLabel":"InternetGateway","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Amazon-VPC_Internet-Gateway_light-bg.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:ec2:eu-west-1:060997615305:internet-gateway/igw-3c9fd05b","label":"AWS_EC2_InternetGateway","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:internet-gateway/igw-3c9fd05b","configuration":"\"{\\\"attachments\\\":[{\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"state\\\":\\\"available\\\"}],\\\"internetGatewayId\\\":\\\"igw-3c9fd05b\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#igws:sort=internetGatewayId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#igws:sort=internetGatewayId","private":null,"resourceId":"igw-3c9fd05b","resourceName":null,"resourceType":"AWS::EC2::InternetGateway","resourceValue":null,"state":null,"tags":"[]","title":"igw-3c9fd05b","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-2155.5,"y":509.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:ec2:eu-west-1:060997615305:internet-gateway/igw-3c9fd05b","resourceId":["igw-3c9fd05b","arn:aws:ec2:eu-west-1:060997615305:internet-gateway/igw-3c9fd05b"],"parent":"InternetGateway-Multiple Availability Zones-vpc-3c3b705a-eu-west-1-060997615305","level":5,"id":"arn:aws:ec2:eu-west-1:060997615305:internet-gateway/igw-3c9fd05b","title":"igw-3c9fd05b","label":"igw-3c9fd05b","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:ec2:eu-west-1:060997615305:internet-gateway/igw-3c9fd05b","image":"/icons/Amazon-VPC_Internet-Gateway_light-bg.svg","cost":0,"private":false,"resource":{"id":"igw-3c9fd05b","name":null,"value":null,"type":"AWS::EC2::InternetGateway","tags":"[]","arn":"arn:aws:ec2:eu-west-1:060997615305:internet-gateway/igw-3c9fd05b","region":"eu-west-1","state":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#igws:sort=internetGatewayId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#igws:sort=internetGatewayId","accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:ec2:eu-west-1:060997615305:internet-gateway/igw-3c9fd05b","configuration":"\"{\\\"attachments\\\":[{\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"state\\\":\\\"available\\\"}],\\\"internetGatewayId\\\":\\\"igw-3c9fd05b\\\",\\\"ownerId\\\":\\\"060997615305\\\",\\\"tags\\\":[]}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":"https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#igws:sort=internetGatewayId","loginURL":"https://060997615305.signin.aws.amazon.com/console/vpc?region=eu-west-1#igws:sort=internetGatewayId","private":null,"resourceId":"igw-3c9fd05b","resourceName":null,"resourceType":"AWS::EC2::InternetGateway","resourceValue":null,"state":null,"tags":"[]","title":"igw-3c9fd05b","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2155.5,"y":509.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"DBSubnetGroup-Multiple Availability Zones-vpc-3c3b705a-eu-west-1-060997615305","parent":"Multiple Availability Zones-vpc-3c3b705a-eu-west-1-060997615305","level":4,"title":"DBSubnetGroup","label":"DBSubnetGroup","plainLabel":"DBSubnetGroup","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/DBSubnetGroup.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:rds:eu-west-1:060997615305:subgrp:default-vpc-3c3b705a","label":"AWS_RDS_DBSubnetGroup","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:rds:eu-west-1:060997615305:subgrp:default-vpc-3c3b705a","configuration":"\"{\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"dBSubnetGroupArn\\\":\\\"arn:aws:rds:eu-west-1:060997615305:subgrp:default-vpc-3c3b705a\\\",\\\"subnets\\\":[{\\\"subnetIdentifier\\\":\\\"subnet-5fcf4c39\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1c\\\"}},{\\\"subnetIdentifier\\\":\\\"subnet-32eb787a\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1a\\\"}},{\\\"subnetIdentifier\\\":\\\"subnet-22864b78\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1b\\\"}}],\\\"subnetGroupStatus\\\":\\\"Complete\\\",\\\"dBSubnetGroupName\\\":\\\"default-vpc-3c3b705a\\\",\\\"dBSubnetGroupDescription\\\":\\\"Created from the RDS Management Console\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"default-vpc-3c3b705a","resourceName":"default-vpc-3c3b705a","resourceType":"AWS::RDS::DBSubnetGroup","resourceValue":null,"state":null,"tags":"[]","title":"default-vpc-3c3b705a","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-2042.5,"y":509.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:rds:eu-west-1:060997615305:subgrp:default-vpc-3c3b705a","resourceId":["default-vpc-3c3b705a","arn:aws:rds:eu-west-1:060997615305:subgrp:default-vpc-3c3b705a"],"parent":"DBSubnetGroup-Multiple Availability Zones-vpc-3c3b705a-eu-west-1-060997615305","level":5,"id":"arn:aws:rds:eu-west-1:060997615305:subgrp:default-vpc-3c3b705a","title":"default-vpc-3c3b705a","label":"default-vpc-...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:rds:eu-west-1:060997615305:subgrp:default-vpc-3c3b705a","image":"/icons/DBSubnetGroup.svg","cost":0,"private":false,"resource":{"id":"default-vpc-3c3b705a","name":"default-vpc-3c3b705a","value":null,"type":"AWS::RDS::DBSubnetGroup","tags":"[]","arn":"arn:aws:rds:eu-west-1:060997615305:subgrp:default-vpc-3c3b705a","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:rds:eu-west-1:060997615305:subgrp:default-vpc-3c3b705a","configuration":"\"{\\\"vpcId\\\":\\\"vpc-3c3b705a\\\",\\\"dBSubnetGroupArn\\\":\\\"arn:aws:rds:eu-west-1:060997615305:subgrp:default-vpc-3c3b705a\\\",\\\"subnets\\\":[{\\\"subnetIdentifier\\\":\\\"subnet-5fcf4c39\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1c\\\"}},{\\\"subnetIdentifier\\\":\\\"subnet-32eb787a\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1a\\\"}},{\\\"subnetIdentifier\\\":\\\"subnet-22864b78\\\",\\\"subnetOutpost\\\":{},\\\"subnetStatus\\\":\\\"Active\\\",\\\"subnetAvailabilityZone\\\":{\\\"name\\\":\\\"eu-west-1b\\\"}}],\\\"subnetGroupStatus\\\":\\\"Complete\\\",\\\"dBSubnetGroupName\\\":\\\"default-vpc-3c3b705a\\\",\\\"dBSubnetGroupDescription\\\":\\\"Created from the RDS Management Console\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"default-vpc-3c3b705a","resourceName":"default-vpc-3c3b705a","resourceType":"AWS::RDS::DBSubnetGroup","resourceValue":null,"state":null,"tags":"[]","title":"default-vpc-3c3b705a","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2042.5,"y":509.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"id":"LoadBalancer-Multiple Availability Zones-vpc-3c3b705a-eu-west-1-060997615305","parent":"Multiple Availability Zones-vpc-3c3b705a-eu-west-1-060997615305","level":4,"title":"LoadBalancer","label":"LoadBalancer","plainLabel":"LoadBalancer","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","image":"/icons/Elastic-Load-Balancing_Classic-load-balancer_light-bg-menu.svg","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:elasticloadbalancing:eu-west-1:060997615305:loadbalancer/a7d4c34af3b7211e980b90a3ffe3de85","label":"AWS_ElasticLoadBalancing_LoadBalancer","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:elasticloadbalancing:eu-west-1:060997615305:loadbalancer/a7d4c34af3b7211e980b90a3ffe3de85","configuration":"\"{\\\"canonicalHostedZoneNameID\\\":\\\"Z32O12XQLNTSW2\\\",\\\"scheme\\\":\\\"internet-facing\\\",\\\"policies\\\":{\\\"lbcookieStickinessPolicies\\\":[],\\\"appCookieStickinessPolicies\\\":[],\\\"otherPolicies\\\":[]},\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"}],\\\"backendServerDescriptions\\\":[],\\\"sourceSecurityGroup\\\":{\\\"ownerAlias\\\":\\\"060997615305\\\",\\\"groupName\\\":\\\"k8s-elb-a7d4c34af3b7211e980b90a3ffe3de85\\\"},\\\"loadBalancerName\\\":\\\"a7d4c34af3b7211e980b90a3ffe3de85\\\",\\\"listenerDescriptions\\\":[{\\\"listener\\\":{\\\"instancePort\\\":30454,\\\"instanceProtocol\\\":\\\"TCP\\\",\\\"protocol\\\":\\\"TCP\\\",\\\"loadBalancerPort\\\":80},\\\"policyNames\\\":[]}],\\\"vpcid\\\":\\\"vpc-3c3b705a\\\",\\\"dnsname\\\":\\\"a7d4c34af3b7211e980b90a3ffe3de85-733938466.eu-west-1.elb.amazonaws.com\\\",\\\"createdTime\\\":1551369853730,\\\"subnets\\\":[{\\\"value\\\":\\\"subnet-22864b78\\\"},{\\\"value\\\":\\\"subnet-32eb787a\\\"},{\\\"value\\\":\\\"subnet-5fcf4c39\\\"}],\\\"securityGroups\\\":[{\\\"value\\\":\\\"sg-093e0c142114e7e4c\\\"}],\\\"canonicalHostedZoneName\\\":\\\"a7d4c34af3b7211e980b90a3ffe3de85-733938466.eu-west-1.elb.amazonaws.com\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"a7d4c34af3b7211e980b90a3ffe3de85","resourceName":"a7d4c34af3b7211e980b90a3ffe3de85","resourceType":"AWS::ElasticLoadBalancing::LoadBalancer","resourceValue":null,"state":null,"tags":"[{\"tag\":\"kubernetes.io/service-name=default/guestbook\",\"value\":\"default/guestbook\",\"key\":\"kubernetes.io/service-name\"},{\"tag\":\"kubernetes.io/cluster/k8s-dev=owned\",\"value\":\"owned\",\"key\":\"kubernetes.io/cluster/k8s-dev\"}]","title":"a7d4c34af3b7211e980b90a3ffe3de85","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:elasticloadbalancing:eu-west-1:060997615305:loadbalancer/a24d5e83c936711e9812b06b4550bdce","label":"AWS_ElasticLoadBalancing_LoadBalancer","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:elasticloadbalancing:eu-west-1:060997615305:loadbalancer/a24d5e83c936711e9812b06b4550bdce","configuration":"\"{\\\"canonicalHostedZoneNameID\\\":\\\"Z32O12XQLNTSW2\\\",\\\"scheme\\\":\\\"internet-facing\\\",\\\"policies\\\":{\\\"lbcookieStickinessPolicies\\\":[],\\\"appCookieStickinessPolicies\\\":[],\\\"otherPolicies\\\":[]},\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"}],\\\"backendServerDescriptions\\\":[],\\\"sourceSecurityGroup\\\":{\\\"ownerAlias\\\":\\\"060997615305\\\",\\\"groupName\\\":\\\"k8s-elb-a24d5e83c936711e9812b06b4550bdce\\\"},\\\"loadBalancerName\\\":\\\"a24d5e83c936711e9812b06b4550bdce\\\",\\\"listenerDescriptions\\\":[{\\\"listener\\\":{\\\"instancePort\\\":32697,\\\"instanceProtocol\\\":\\\"TCP\\\",\\\"protocol\\\":\\\"TCP\\\",\\\"loadBalancerPort\\\":80},\\\"policyNames\\\":[]}],\\\"vpcid\\\":\\\"vpc-3c3b705a\\\",\\\"dnsname\\\":\\\"a24d5e83c936711e9812b06b4550bdce-1892023076.eu-west-1.elb.amazonaws.com\\\",\\\"createdTime\\\":1561040683310,\\\"subnets\\\":[{\\\"value\\\":\\\"subnet-22864b78\\\"},{\\\"value\\\":\\\"subnet-32eb787a\\\"},{\\\"value\\\":\\\"subnet-5fcf4c39\\\"}],\\\"securityGroups\\\":[{\\\"value\\\":\\\"sg-09eafe5c6ba9f53bf\\\"}],\\\"canonicalHostedZoneName\\\":\\\"a24d5e83c936711e9812b06b4550bdce-1892023076.eu-west-1.elb.amazonaws.com\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"a24d5e83c936711e9812b06b4550bdce","resourceName":"a24d5e83c936711e9812b06b4550bdce","resourceType":"AWS::ElasticLoadBalancing::LoadBalancer","resourceValue":null,"state":null,"tags":"[{\"tag\":\"kubernetes.io/service-name=dev/docker-tutorial\",\"value\":\"dev/docker-tutorial\",\"key\":\"kubernetes.io/service-name\"},{\"tag\":\"kubernetes.io/cluster/k8s-dev=owned\",\"value\":\"owned\",\"key\":\"kubernetes.io/cluster/k8s-dev\"}]","title":"a24d5e83c936711e9812b06b4550bdce","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null},{"id":"arn:aws:elasticloadbalancing:eu-west-1:060997615305:loadbalancer/a3a680e4cbdb811e9a8b30a8ac757ccc","label":"AWS_ElasticLoadBalancing_LoadBalancer","parent":false,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:elasticloadbalancing:eu-west-1:060997615305:loadbalancer/a3a680e4cbdb811e9a8b30a8ac757ccc","configuration":"\"{\\\"canonicalHostedZoneNameID\\\":\\\"Z32O12XQLNTSW2\\\",\\\"scheme\\\":\\\"internet-facing\\\",\\\"policies\\\":{\\\"lbcookieStickinessPolicies\\\":[],\\\"appCookieStickinessPolicies\\\":[],\\\"otherPolicies\\\":[]},\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"}],\\\"backendServerDescriptions\\\":[],\\\"sourceSecurityGroup\\\":{\\\"ownerAlias\\\":\\\"060997615305\\\",\\\"groupName\\\":\\\"k8s-elb-a3a680e4cbdb811e9a8b30a8ac757ccc\\\"},\\\"loadBalancerName\\\":\\\"a3a680e4cbdb811e9a8b30a8ac757ccc\\\",\\\"listenerDescriptions\\\":[{\\\"listener\\\":{\\\"instancePort\\\":30133,\\\"instanceProtocol\\\":\\\"TCP\\\",\\\"protocol\\\":\\\"TCP\\\",\\\"loadBalancerPort\\\":80},\\\"policyNames\\\":[]}],\\\"vpcid\\\":\\\"vpc-3c3b705a\\\",\\\"dnsname\\\":\\\"a3a680e4cbdb811e9a8b30a8ac757ccc-332781708.eu-west-1.elb.amazonaws.com\\\",\\\"createdTime\\\":1565693457150,\\\"subnets\\\":[{\\\"value\\\":\\\"subnet-22864b78\\\"},{\\\"value\\\":\\\"subnet-32eb787a\\\"},{\\\"value\\\":\\\"subnet-5fcf4c39\\\"}],\\\"securityGroups\\\":[{\\\"value\\\":\\\"sg-07cd255b1c97fe1a1\\\"}],\\\"canonicalHostedZoneName\\\":\\\"a3a680e4cbdb811e9a8b30a8ac757ccc-332781708.eu-west-1.elb.amazonaws.com\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"a3a680e4cbdb811e9a8b30a8ac757ccc","resourceName":"a3a680e4cbdb811e9a8b30a8ac757ccc","resourceType":"AWS::ElasticLoadBalancing::LoadBalancer","resourceValue":null,"state":null,"tags":"[{\"tag\":\"kubernetes.io/service-name=default/docker-tutorial\",\"value\":\"default/docker-tutorial\",\"key\":\"kubernetes.io/service-name\"},{\"tag\":\"kubernetes.io/cluster/k8s-dev=owned\",\"value\":\"owned\",\"key\":\"kubernetes.io/cluster/k8s-dev\"}]","title":"a3a680e4cbdb811e9a8b30a8ac757ccc","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-2119,"y":343.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:elasticloadbalancing:eu-west-1:060997615305:loadbalancer/a7d4c34af3b7211e980b90a3ffe3de85","resourceId":["a7d4c34af3b7211e980b90a3ffe3de85","arn:aws:elasticloadbalancing:eu-west-1:060997615305:loadbalancer/a7d4c34af3b7211e980b90a3ffe3de85"],"parent":"LoadBalancer-Multiple Availability Zones-vpc-3c3b705a-eu-west-1-060997615305","level":5,"id":"arn:aws:elasticloadbalancing:eu-west-1:060997615305:loadbalancer/a7d4c34af3b7211e980b90a3ffe3de85","title":"a7d4c34af3b7211e980b90a3ffe3de85","label":"a7d4c34af3b7...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#FF9900","borderStyle":"dotted","borderColour":"#FF9900","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:elasticloadbalancing:eu-west-1:060997615305:loadbalancer/a7d4c34af3b7211e980b90a3ffe3de85","state":{"status":"status-warning","text":"no state data","color":"#FF9900"},"image":"/icons/Elastic-Load-Balancing_Classic-load-balancer_light-bg-warning.svg","cost":0,"private":false,"detailsComponent":{"key":null,"ref":null,"props":{"title":"Load Balancer Details","configuration":"\"{\\\"canonicalHostedZoneNameID\\\":\\\"Z32O12XQLNTSW2\\\",\\\"scheme\\\":\\\"internet-facing\\\",\\\"policies\\\":{\\\"lbcookieStickinessPolicies\\\":[],\\\"appCookieStickinessPolicies\\\":[],\\\"otherPolicies\\\":[]},\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"}],\\\"backendServerDescriptions\\\":[],\\\"sourceSecurityGroup\\\":{\\\"ownerAlias\\\":\\\"060997615305\\\",\\\"groupName\\\":\\\"k8s-elb-a7d4c34af3b7211e980b90a3ffe3de85\\\"},\\\"loadBalancerName\\\":\\\"a7d4c34af3b7211e980b90a3ffe3de85\\\",\\\"listenerDescriptions\\\":[{\\\"listener\\\":{\\\"instancePort\\\":30454,\\\"instanceProtocol\\\":\\\"TCP\\\",\\\"protocol\\\":\\\"TCP\\\",\\\"loadBalancerPort\\\":80},\\\"policyNames\\\":[]}],\\\"vpcid\\\":\\\"vpc-3c3b705a\\\",\\\"dnsname\\\":\\\"a7d4c34af3b7211e980b90a3ffe3de85-733938466.eu-west-1.elb.amazonaws.com\\\",\\\"createdTime\\\":1551369853730,\\\"subnets\\\":[{\\\"value\\\":\\\"subnet-22864b78\\\"},{\\\"value\\\":\\\"subnet-32eb787a\\\"},{\\\"value\\\":\\\"subnet-5fcf4c39\\\"}],\\\"securityGroups\\\":[{\\\"value\\\":\\\"sg-093e0c142114e7e4c\\\"}],\\\"canonicalHostedZoneName\\\":\\\"a7d4c34af3b7211e980b90a3ffe3de85-733938466.eu-west-1.elb.amazonaws.com\\\"}\""},"_owner":null,"_store":{}},"resource":{"id":"a7d4c34af3b7211e980b90a3ffe3de85","name":"a7d4c34af3b7211e980b90a3ffe3de85","value":null,"type":"AWS::ElasticLoadBalancing::LoadBalancer","tags":"[{\"tag\":\"kubernetes.io/service-name=default/guestbook\",\"value\":\"default/guestbook\",\"key\":\"kubernetes.io/service-name\"},{\"tag\":\"kubernetes.io/cluster/k8s-dev=owned\",\"value\":\"owned\",\"key\":\"kubernetes.io/cluster/k8s-dev\"}]","arn":"arn:aws:elasticloadbalancing:eu-west-1:060997615305:loadbalancer/a7d4c34af3b7211e980b90a3ffe3de85","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:elasticloadbalancing:eu-west-1:060997615305:loadbalancer/a7d4c34af3b7211e980b90a3ffe3de85","configuration":"\"{\\\"canonicalHostedZoneNameID\\\":\\\"Z32O12XQLNTSW2\\\",\\\"scheme\\\":\\\"internet-facing\\\",\\\"policies\\\":{\\\"lbcookieStickinessPolicies\\\":[],\\\"appCookieStickinessPolicies\\\":[],\\\"otherPolicies\\\":[]},\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"}],\\\"backendServerDescriptions\\\":[],\\\"sourceSecurityGroup\\\":{\\\"ownerAlias\\\":\\\"060997615305\\\",\\\"groupName\\\":\\\"k8s-elb-a7d4c34af3b7211e980b90a3ffe3de85\\\"},\\\"loadBalancerName\\\":\\\"a7d4c34af3b7211e980b90a3ffe3de85\\\",\\\"listenerDescriptions\\\":[{\\\"listener\\\":{\\\"instancePort\\\":30454,\\\"instanceProtocol\\\":\\\"TCP\\\",\\\"protocol\\\":\\\"TCP\\\",\\\"loadBalancerPort\\\":80},\\\"policyNames\\\":[]}],\\\"vpcid\\\":\\\"vpc-3c3b705a\\\",\\\"dnsname\\\":\\\"a7d4c34af3b7211e980b90a3ffe3de85-733938466.eu-west-1.elb.amazonaws.com\\\",\\\"createdTime\\\":1551369853730,\\\"subnets\\\":[{\\\"value\\\":\\\"subnet-22864b78\\\"},{\\\"value\\\":\\\"subnet-32eb787a\\\"},{\\\"value\\\":\\\"subnet-5fcf4c39\\\"}],\\\"securityGroups\\\":[{\\\"value\\\":\\\"sg-093e0c142114e7e4c\\\"}],\\\"canonicalHostedZoneName\\\":\\\"a7d4c34af3b7211e980b90a3ffe3de85-733938466.eu-west-1.elb.amazonaws.com\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"a7d4c34af3b7211e980b90a3ffe3de85","resourceName":"a7d4c34af3b7211e980b90a3ffe3de85","resourceType":"AWS::ElasticLoadBalancing::LoadBalancer","resourceValue":null,"state":null,"tags":"[{\"tag\":\"kubernetes.io/service-name=default/guestbook\",\"value\":\"default/guestbook\",\"key\":\"kubernetes.io/service-name\"},{\"tag\":\"kubernetes.io/cluster/k8s-dev=owned\",\"value\":\"owned\",\"key\":\"kubernetes.io/cluster/k8s-dev\"}]","title":"a7d4c34af3b7211e980b90a3ffe3de85","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2155.5,"y":306.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:elasticloadbalancing:eu-west-1:060997615305:loadbalancer/a24d5e83c936711e9812b06b4550bdce","resourceId":["a24d5e83c936711e9812b06b4550bdce","arn:aws:elasticloadbalancing:eu-west-1:060997615305:loadbalancer/a24d5e83c936711e9812b06b4550bdce"],"parent":"LoadBalancer-Multiple Availability Zones-vpc-3c3b705a-eu-west-1-060997615305","level":5,"id":"arn:aws:elasticloadbalancing:eu-west-1:060997615305:loadbalancer/a24d5e83c936711e9812b06b4550bdce","title":"a24d5e83c936711e9812b06b4550bdce","label":"a24d5e83c936...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#FF9900","borderStyle":"dotted","borderColour":"#FF9900","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:elasticloadbalancing:eu-west-1:060997615305:loadbalancer/a24d5e83c936711e9812b06b4550bdce","state":{"status":"status-warning","text":"no state data","color":"#FF9900"},"image":"/icons/Elastic-Load-Balancing_Classic-load-balancer_light-bg-warning.svg","cost":0,"private":false,"detailsComponent":{"key":null,"ref":null,"props":{"title":"Load Balancer Details","configuration":"\"{\\\"canonicalHostedZoneNameID\\\":\\\"Z32O12XQLNTSW2\\\",\\\"scheme\\\":\\\"internet-facing\\\",\\\"policies\\\":{\\\"lbcookieStickinessPolicies\\\":[],\\\"appCookieStickinessPolicies\\\":[],\\\"otherPolicies\\\":[]},\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"}],\\\"backendServerDescriptions\\\":[],\\\"sourceSecurityGroup\\\":{\\\"ownerAlias\\\":\\\"060997615305\\\",\\\"groupName\\\":\\\"k8s-elb-a24d5e83c936711e9812b06b4550bdce\\\"},\\\"loadBalancerName\\\":\\\"a24d5e83c936711e9812b06b4550bdce\\\",\\\"listenerDescriptions\\\":[{\\\"listener\\\":{\\\"instancePort\\\":32697,\\\"instanceProtocol\\\":\\\"TCP\\\",\\\"protocol\\\":\\\"TCP\\\",\\\"loadBalancerPort\\\":80},\\\"policyNames\\\":[]}],\\\"vpcid\\\":\\\"vpc-3c3b705a\\\",\\\"dnsname\\\":\\\"a24d5e83c936711e9812b06b4550bdce-1892023076.eu-west-1.elb.amazonaws.com\\\",\\\"createdTime\\\":1561040683310,\\\"subnets\\\":[{\\\"value\\\":\\\"subnet-22864b78\\\"},{\\\"value\\\":\\\"subnet-32eb787a\\\"},{\\\"value\\\":\\\"subnet-5fcf4c39\\\"}],\\\"securityGroups\\\":[{\\\"value\\\":\\\"sg-09eafe5c6ba9f53bf\\\"}],\\\"canonicalHostedZoneName\\\":\\\"a24d5e83c936711e9812b06b4550bdce-1892023076.eu-west-1.elb.amazonaws.com\\\"}\""},"_owner":null,"_store":{}},"resource":{"id":"a24d5e83c936711e9812b06b4550bdce","name":"a24d5e83c936711e9812b06b4550bdce","value":null,"type":"AWS::ElasticLoadBalancing::LoadBalancer","tags":"[{\"tag\":\"kubernetes.io/service-name=dev/docker-tutorial\",\"value\":\"dev/docker-tutorial\",\"key\":\"kubernetes.io/service-name\"},{\"tag\":\"kubernetes.io/cluster/k8s-dev=owned\",\"value\":\"owned\",\"key\":\"kubernetes.io/cluster/k8s-dev\"}]","arn":"arn:aws:elasticloadbalancing:eu-west-1:060997615305:loadbalancer/a24d5e83c936711e9812b06b4550bdce","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:elasticloadbalancing:eu-west-1:060997615305:loadbalancer/a24d5e83c936711e9812b06b4550bdce","configuration":"\"{\\\"canonicalHostedZoneNameID\\\":\\\"Z32O12XQLNTSW2\\\",\\\"scheme\\\":\\\"internet-facing\\\",\\\"policies\\\":{\\\"lbcookieStickinessPolicies\\\":[],\\\"appCookieStickinessPolicies\\\":[],\\\"otherPolicies\\\":[]},\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"}],\\\"backendServerDescriptions\\\":[],\\\"sourceSecurityGroup\\\":{\\\"ownerAlias\\\":\\\"060997615305\\\",\\\"groupName\\\":\\\"k8s-elb-a24d5e83c936711e9812b06b4550bdce\\\"},\\\"loadBalancerName\\\":\\\"a24d5e83c936711e9812b06b4550bdce\\\",\\\"listenerDescriptions\\\":[{\\\"listener\\\":{\\\"instancePort\\\":32697,\\\"instanceProtocol\\\":\\\"TCP\\\",\\\"protocol\\\":\\\"TCP\\\",\\\"loadBalancerPort\\\":80},\\\"policyNames\\\":[]}],\\\"vpcid\\\":\\\"vpc-3c3b705a\\\",\\\"dnsname\\\":\\\"a24d5e83c936711e9812b06b4550bdce-1892023076.eu-west-1.elb.amazonaws.com\\\",\\\"createdTime\\\":1561040683310,\\\"subnets\\\":[{\\\"value\\\":\\\"subnet-22864b78\\\"},{\\\"value\\\":\\\"subnet-32eb787a\\\"},{\\\"value\\\":\\\"subnet-5fcf4c39\\\"}],\\\"securityGroups\\\":[{\\\"value\\\":\\\"sg-09eafe5c6ba9f53bf\\\"}],\\\"canonicalHostedZoneName\\\":\\\"a24d5e83c936711e9812b06b4550bdce-1892023076.eu-west-1.elb.amazonaws.com\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"a24d5e83c936711e9812b06b4550bdce","resourceName":"a24d5e83c936711e9812b06b4550bdce","resourceType":"AWS::ElasticLoadBalancing::LoadBalancer","resourceValue":null,"state":null,"tags":"[{\"tag\":\"kubernetes.io/service-name=dev/docker-tutorial\",\"value\":\"dev/docker-tutorial\",\"key\":\"kubernetes.io/service-name\"},{\"tag\":\"kubernetes.io/cluster/k8s-dev=owned\",\"value\":\"owned\",\"key\":\"kubernetes.io/cluster/k8s-dev\"}]","title":"a24d5e83c936711e9812b06b4550bdce","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2082.5,"y":306.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:elasticloadbalancing:eu-west-1:060997615305:loadbalancer/a3a680e4cbdb811e9a8b30a8ac757ccc","resourceId":["a3a680e4cbdb811e9a8b30a8ac757ccc","arn:aws:elasticloadbalancing:eu-west-1:060997615305:loadbalancer/a3a680e4cbdb811e9a8b30a8ac757ccc"],"parent":"LoadBalancer-Multiple Availability Zones-vpc-3c3b705a-eu-west-1-060997615305","level":5,"id":"arn:aws:elasticloadbalancing:eu-west-1:060997615305:loadbalancer/a3a680e4cbdb811e9a8b30a8ac757ccc","title":"a3a680e4cbdb811e9a8b30a8ac757ccc","label":"a3a680e4cbdb...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#FF9900","borderStyle":"dotted","borderColour":"#FF9900","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:elasticloadbalancing:eu-west-1:060997615305:loadbalancer/a3a680e4cbdb811e9a8b30a8ac757ccc","state":{"status":"status-warning","text":"no state data","color":"#FF9900"},"image":"/icons/Elastic-Load-Balancing_Classic-load-balancer_light-bg-warning.svg","cost":0,"private":false,"detailsComponent":{"key":null,"ref":null,"props":{"title":"Load Balancer Details","configuration":"\"{\\\"canonicalHostedZoneNameID\\\":\\\"Z32O12XQLNTSW2\\\",\\\"scheme\\\":\\\"internet-facing\\\",\\\"policies\\\":{\\\"lbcookieStickinessPolicies\\\":[],\\\"appCookieStickinessPolicies\\\":[],\\\"otherPolicies\\\":[]},\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"}],\\\"backendServerDescriptions\\\":[],\\\"sourceSecurityGroup\\\":{\\\"ownerAlias\\\":\\\"060997615305\\\",\\\"groupName\\\":\\\"k8s-elb-a3a680e4cbdb811e9a8b30a8ac757ccc\\\"},\\\"loadBalancerName\\\":\\\"a3a680e4cbdb811e9a8b30a8ac757ccc\\\",\\\"listenerDescriptions\\\":[{\\\"listener\\\":{\\\"instancePort\\\":30133,\\\"instanceProtocol\\\":\\\"TCP\\\",\\\"protocol\\\":\\\"TCP\\\",\\\"loadBalancerPort\\\":80},\\\"policyNames\\\":[]}],\\\"vpcid\\\":\\\"vpc-3c3b705a\\\",\\\"dnsname\\\":\\\"a3a680e4cbdb811e9a8b30a8ac757ccc-332781708.eu-west-1.elb.amazonaws.com\\\",\\\"createdTime\\\":1565693457150,\\\"subnets\\\":[{\\\"value\\\":\\\"subnet-22864b78\\\"},{\\\"value\\\":\\\"subnet-32eb787a\\\"},{\\\"value\\\":\\\"subnet-5fcf4c39\\\"}],\\\"securityGroups\\\":[{\\\"value\\\":\\\"sg-07cd255b1c97fe1a1\\\"}],\\\"canonicalHostedZoneName\\\":\\\"a3a680e4cbdb811e9a8b30a8ac757ccc-332781708.eu-west-1.elb.amazonaws.com\\\"}\""},"_owner":null,"_store":{}},"resource":{"id":"a3a680e4cbdb811e9a8b30a8ac757ccc","name":"a3a680e4cbdb811e9a8b30a8ac757ccc","value":null,"type":"AWS::ElasticLoadBalancing::LoadBalancer","tags":"[{\"tag\":\"kubernetes.io/service-name=default/docker-tutorial\",\"value\":\"default/docker-tutorial\",\"key\":\"kubernetes.io/service-name\"},{\"tag\":\"kubernetes.io/cluster/k8s-dev=owned\",\"value\":\"owned\",\"key\":\"kubernetes.io/cluster/k8s-dev\"}]","arn":"arn:aws:elasticloadbalancing:eu-west-1:060997615305:loadbalancer/a3a680e4cbdb811e9a8b30a8ac757ccc","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:elasticloadbalancing:eu-west-1:060997615305:loadbalancer/a3a680e4cbdb811e9a8b30a8ac757ccc","configuration":"\"{\\\"canonicalHostedZoneNameID\\\":\\\"Z32O12XQLNTSW2\\\",\\\"scheme\\\":\\\"internet-facing\\\",\\\"policies\\\":{\\\"lbcookieStickinessPolicies\\\":[],\\\"appCookieStickinessPolicies\\\":[],\\\"otherPolicies\\\":[]},\\\"availabilityZones\\\":[{\\\"value\\\":\\\"eu-west-1a\\\"},{\\\"value\\\":\\\"eu-west-1c\\\"},{\\\"value\\\":\\\"eu-west-1b\\\"}],\\\"backendServerDescriptions\\\":[],\\\"sourceSecurityGroup\\\":{\\\"ownerAlias\\\":\\\"060997615305\\\",\\\"groupName\\\":\\\"k8s-elb-a3a680e4cbdb811e9a8b30a8ac757ccc\\\"},\\\"loadBalancerName\\\":\\\"a3a680e4cbdb811e9a8b30a8ac757ccc\\\",\\\"listenerDescriptions\\\":[{\\\"listener\\\":{\\\"instancePort\\\":30133,\\\"instanceProtocol\\\":\\\"TCP\\\",\\\"protocol\\\":\\\"TCP\\\",\\\"loadBalancerPort\\\":80},\\\"policyNames\\\":[]}],\\\"vpcid\\\":\\\"vpc-3c3b705a\\\",\\\"dnsname\\\":\\\"a3a680e4cbdb811e9a8b30a8ac757ccc-332781708.eu-west-1.elb.amazonaws.com\\\",\\\"createdTime\\\":1565693457150,\\\"subnets\\\":[{\\\"value\\\":\\\"subnet-22864b78\\\"},{\\\"value\\\":\\\"subnet-32eb787a\\\"},{\\\"value\\\":\\\"subnet-5fcf4c39\\\"}],\\\"securityGroups\\\":[{\\\"value\\\":\\\"sg-07cd255b1c97fe1a1\\\"}],\\\"canonicalHostedZoneName\\\":\\\"a3a680e4cbdb811e9a8b30a8ac757ccc-332781708.eu-west-1.elb.amazonaws.com\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Multiple Availability Zones","vpcId":"vpc-3c3b705a","subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"a3a680e4cbdb811e9a8b30a8ac757ccc","resourceName":"a3a680e4cbdb811e9a8b30a8ac757ccc","resourceType":"AWS::ElasticLoadBalancing::LoadBalancer","resourceValue":null,"state":null,"tags":"[{\"tag\":\"kubernetes.io/service-name=default/docker-tutorial\",\"value\":\"default/docker-tutorial\",\"key\":\"kubernetes.io/service-name\"},{\"tag\":\"kubernetes.io/cluster/k8s-dev=owned\",\"value\":\"owned\",\"key\":\"kubernetes.io/cluster/k8s-dev\"}]","title":"a3a680e4cbdb811e9a8b30a8ac757ccc","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-2155.5,"y":379.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:tags::060997615305:tag/kubernetes.io/cluster/k8s-dev=shared","resourceId":["arn:aws:tags::060997615305:tag/kubernetes.io/cluster/k8s-dev=shared","arn:aws:tags::060997615305:tag/kubernetes.io/cluster/k8s-dev=shared"],"parent":"Tag-global-060997615305","level":3,"id":"arn:aws:tags::060997615305:tag/kubernetes.io/cluster/k8s-dev=shared","title":"kubernetes.io/cluster/k8s-dev=shared","label":"kubernetes.i...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(175, 17, 83, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:tags::060997615305:tag/kubernetes.io/cluster/k8s-dev=shared","image":"/icons/AWS-Tags-bg.svg","cost":0,"private":false,"resource":{"id":"arn:aws:tags::060997615305:tag/kubernetes.io/cluster/k8s-dev=shared","name":"kubernetes.io/cluster/k8s-dev=shared","value":null,"type":"AWS::Tags::Tag","tags":"[]","arn":"arn:aws:tags::060997615305:tag/kubernetes.io/cluster/k8s-dev=shared","region":"global","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:tags::060997615305:tag/kubernetes.io/cluster/k8s-dev=shared","configuration":"\"{}\"","awsRegion":"global","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"arn:aws:tags::060997615305:tag/kubernetes.io/cluster/k8s-dev=shared","resourceName":"kubernetes.io/cluster/k8s-dev=shared","resourceType":"AWS::Tags::Tag","resourceValue":null,"state":null,"tags":"[]","title":"kubernetes.io/cluster/k8s-dev=shared","instanceType":null,"statement":null,"dBInstanceStatus":null}},"position":{"x":-1903.5,"y":2510.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource image selectable hoverover"},{"data":{"arn":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.AllAtOnce","resourceId":["00000000-0000-0000-0000-000000000002","arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.AllAtOnce"],"parent":"DeploymentConfig-eu-west-1-060997615305","level":3,"id":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.AllAtOnce","title":"CodeDeployDefault.AllAtOnce","label":"CodeDeployDe...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.AllAtOnce","cost":0,"private":false,"resource":{"id":"00000000-0000-0000-0000-000000000002","name":"CodeDeployDefault.AllAtOnce","value":null,"type":"AWS::CodeDeploy::DeploymentConfig","tags":"[]","arn":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.AllAtOnce","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.AllAtOnce","configuration":"\"{\\\"computePlatform\\\":\\\"Server\\\",\\\"deploymentConfigId\\\":\\\"00000000-0000-0000-0000-000000000002\\\",\\\"minimumHealthyHosts\\\":{\\\"type\\\":\\\"HOST_COUNT\\\",\\\"value\\\":0},\\\"deploymentConfigName\\\":\\\"CodeDeployDefault.AllAtOnce\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"00000000-0000-0000-0000-000000000002","resourceName":"CodeDeployDefault.AllAtOnce","resourceType":"AWS::CodeDeploy::DeploymentConfig","resourceValue":null,"state":null,"tags":"[]","title":"CodeDeployDefault.AllAtOnce","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-1065.5,"y":1144.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"id":"DeploymentConfig-eu-west-2-060997615305","parent":"eu-west-2-060997615305","level":2,"title":"DeploymentConfig","label":"DeploymentConfig","plainLabel":"DeploymentConfig","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery2Minutes","label":"AWS_CodeDeploy_DeploymentConfig","parent":true,"type":"node","data":null,"properties":{"accountId":"060997615305","arn":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery2Minutes","configuration":"\"{\\\"computePlatform\\\":\\\"Lambda\\\",\\\"deploymentConfigId\\\":\\\"00000000-0000-0000-0000-000000000011\\\",\\\"deploymentConfigName\\\":\\\"CodeDeployDefault.LambdaLinear10PercentEvery2Minutes\\\",\\\"trafficRoutingConfig\\\":{\\\"timeBasedLinear\\\":{\\\"linearPercentage\\\":10,\\\"linearInterval\\\":2},\\\"type\\\":\\\"TimeBasedLinear\\\"}}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"00000000-0000-0000-0000-000000000011","resourceName":"CodeDeployDefault.LambdaLinear10PercentEvery2Minutes","resourceType":"AWS::CodeDeploy::DeploymentConfig","resourceValue":null,"state":null,"tags":"[]","title":"CodeDeployDefault.LambdaLinear10PercentEvery2Minutes","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-128.5,"y":1254.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery2Minutes","resourceId":["00000000-0000-0000-0000-000000000011","arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery2Minutes"],"parent":"DeploymentConfig-eu-west-2-060997615305","level":3,"id":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery2Minutes","title":"CodeDeployDefault.LambdaLinear10PercentEvery2Minutes","label":"CodeDeployDe...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery2Minutes","cost":0,"private":false,"resource":{"id":"00000000-0000-0000-0000-000000000011","name":"CodeDeployDefault.LambdaLinear10PercentEvery2Minutes","value":null,"type":"AWS::CodeDeploy::DeploymentConfig","tags":"[]","arn":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery2Minutes","region":"eu-west-2","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery2Minutes","configuration":"\"{\\\"computePlatform\\\":\\\"Lambda\\\",\\\"deploymentConfigId\\\":\\\"00000000-0000-0000-0000-000000000011\\\",\\\"deploymentConfigName\\\":\\\"CodeDeployDefault.LambdaLinear10PercentEvery2Minutes\\\",\\\"trafficRoutingConfig\\\":{\\\"timeBasedLinear\\\":{\\\"linearPercentage\\\":10,\\\"linearInterval\\\":2},\\\"type\\\":\\\"TimeBasedLinear\\\"}}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"00000000-0000-0000-0000-000000000011","resourceName":"CodeDeployDefault.LambdaLinear10PercentEvery2Minutes","resourceType":"AWS::CodeDeploy::DeploymentConfig","resourceValue":null,"state":null,"tags":"[]","title":"CodeDeployDefault.LambdaLinear10PercentEvery2Minutes","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-274.5,"y":1144.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"id":"DeploymentConfig-eu-west-1-044981683129","parent":"eu-west-1-044981683129","level":2,"title":"DeploymentConfig","label":"DeploymentConfig","plainLabel":"DeploymentConfig","type":"type","borderStyle":"solid","color":"#fff","borderColour":"#AAB7B8","opacity":"0","clickedId":null,"cost":0,"hasChildren":true,"children":[{"id":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.OneAtATime","label":"AWS_CodeDeploy_DeploymentConfig","parent":true,"type":"node","data":null,"properties":{"accountId":"044981683129","arn":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.OneAtATime","configuration":"\"{\\\"computePlatform\\\":\\\"Server\\\",\\\"deploymentConfigId\\\":\\\"00000000-0000-0000-0000-000000000001\\\",\\\"minimumHealthyHosts\\\":{\\\"type\\\":\\\"MOST_CONCURRENCY\\\",\\\"value\\\":1},\\\"deploymentConfigName\\\":\\\"CodeDeployDefault.OneAtATime\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"00000000-0000-0000-0000-000000000001","resourceName":"CodeDeployDefault.OneAtATime","resourceType":"AWS::CodeDeploy::DeploymentConfig","resourceValue":null,"state":null,"tags":"[]","title":"CodeDeployDefault.OneAtATime","instanceType":null,"statement":null,"dBInstanceStatus":null},"children":null}],"accountColour":"rgba(175, 17, 83, 0.5)","regionColour":"rgba(9, 86, 99, 0.5)","aZColour":"#00A1C9","subnetColour":"#545B64"},"position":{"x":-1058.5,"y":-448.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"type removeAll _gridParentPadding"},{"data":{"arn":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.OneAtATime","resourceId":["00000000-0000-0000-0000-000000000001","arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.OneAtATime"],"parent":"DeploymentConfig-eu-west-1-044981683129","level":3,"id":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.OneAtATime","title":"CodeDeployDefault.OneAtATime","label":"CodeDeployDe...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.OneAtATime","cost":0,"private":false,"resource":{"id":"00000000-0000-0000-0000-000000000001","name":"CodeDeployDefault.OneAtATime","value":null,"type":"AWS::CodeDeploy::DeploymentConfig","tags":"[]","arn":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.OneAtATime","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.OneAtATime","configuration":"\"{\\\"computePlatform\\\":\\\"Server\\\",\\\"deploymentConfigId\\\":\\\"00000000-0000-0000-0000-000000000001\\\",\\\"minimumHealthyHosts\\\":{\\\"type\\\":\\\"MOST_CONCURRENCY\\\",\\\"value\\\":1},\\\"deploymentConfigName\\\":\\\"CodeDeployDefault.OneAtATime\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"00000000-0000-0000-0000-000000000001","resourceName":"CodeDeployDefault.OneAtATime","resourceType":"AWS::CodeDeploy::DeploymentConfig","resourceValue":null,"state":null,"tags":"[]","title":"CodeDeployDefault.OneAtATime","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-1204.5,"y":-558.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent30Minutes","resourceId":["00000000-0000-0000-0000-000000000004","arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent30Minutes"],"parent":"DeploymentConfig-eu-west-1-044981683129","level":3,"id":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent30Minutes","title":"CodeDeployDefault.LambdaCanary10Percent30Minutes","label":"CodeDeployDe...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent30Minutes","cost":0,"private":false,"resource":{"id":"00000000-0000-0000-0000-000000000004","name":"CodeDeployDefault.LambdaCanary10Percent30Minutes","value":null,"type":"AWS::CodeDeploy::DeploymentConfig","tags":"[]","arn":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent30Minutes","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent30Minutes","configuration":"\"{\\\"computePlatform\\\":\\\"Lambda\\\",\\\"deploymentConfigId\\\":\\\"00000000-0000-0000-0000-000000000004\\\",\\\"deploymentConfigName\\\":\\\"CodeDeployDefault.LambdaCanary10Percent30Minutes\\\",\\\"trafficRoutingConfig\\\":{\\\"type\\\":\\\"TimeBasedCanary\\\",\\\"timeBasedCanary\\\":{\\\"canaryPercentage\\\":10,\\\"canaryInterval\\\":30}}}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"00000000-0000-0000-0000-000000000004","resourceName":"CodeDeployDefault.LambdaCanary10Percent30Minutes","resourceType":"AWS::CodeDeploy::DeploymentConfig","resourceValue":null,"state":null,"tags":"[]","title":"CodeDeployDefault.LambdaCanary10Percent30Minutes","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-1131.5,"y":-558.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent10Minutes","resourceId":["00000000-0000-0000-0000-000000000008","arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent10Minutes"],"parent":"DeploymentConfig-eu-west-1-044981683129","level":3,"id":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent10Minutes","title":"CodeDeployDefault.LambdaCanary10Percent10Minutes","label":"CodeDeployDe...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent10Minutes","cost":0,"private":false,"resource":{"id":"00000000-0000-0000-0000-000000000008","name":"CodeDeployDefault.LambdaCanary10Percent10Minutes","value":null,"type":"AWS::CodeDeploy::DeploymentConfig","tags":"[]","arn":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent10Minutes","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent10Minutes","configuration":"\"{\\\"computePlatform\\\":\\\"Lambda\\\",\\\"deploymentConfigId\\\":\\\"00000000-0000-0000-0000-000000000008\\\",\\\"deploymentConfigName\\\":\\\"CodeDeployDefault.LambdaCanary10Percent10Minutes\\\",\\\"trafficRoutingConfig\\\":{\\\"type\\\":\\\"TimeBasedCanary\\\",\\\"timeBasedCanary\\\":{\\\"canaryPercentage\\\":10,\\\"canaryInterval\\\":10}}}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"00000000-0000-0000-0000-000000000008","resourceName":"CodeDeployDefault.LambdaCanary10Percent10Minutes","resourceType":"AWS::CodeDeploy::DeploymentConfig","resourceValue":null,"state":null,"tags":"[]","title":"CodeDeployDefault.LambdaCanary10Percent10Minutes","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-1204.5,"y":-485.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery1Minute","resourceId":["00000000-0000-0000-0000-000000000010","arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery1Minute"],"parent":"DeploymentConfig-eu-west-1-044981683129","level":3,"id":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery1Minute","title":"CodeDeployDefault.LambdaLinear10PercentEvery1Minute","label":"CodeDeployDe...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery1Minute","cost":0,"private":false,"resource":{"id":"00000000-0000-0000-0000-000000000010","name":"CodeDeployDefault.LambdaLinear10PercentEvery1Minute","value":null,"type":"AWS::CodeDeploy::DeploymentConfig","tags":"[]","arn":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery1Minute","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery1Minute","configuration":"\"{\\\"computePlatform\\\":\\\"Lambda\\\",\\\"deploymentConfigId\\\":\\\"00000000-0000-0000-0000-000000000010\\\",\\\"deploymentConfigName\\\":\\\"CodeDeployDefault.LambdaLinear10PercentEvery1Minute\\\",\\\"trafficRoutingConfig\\\":{\\\"timeBasedLinear\\\":{\\\"linearPercentage\\\":10,\\\"linearInterval\\\":1},\\\"type\\\":\\\"TimeBasedLinear\\\"}}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"00000000-0000-0000-0000-000000000010","resourceName":"CodeDeployDefault.LambdaLinear10PercentEvery1Minute","resourceType":"AWS::CodeDeploy::DeploymentConfig","resourceValue":null,"state":null,"tags":"[]","title":"CodeDeployDefault.LambdaLinear10PercentEvery1Minute","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-1131.5,"y":-485.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery2Minutes","resourceId":["00000000-0000-0000-0000-000000000011","arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery2Minutes"],"parent":"DeploymentConfig-eu-west-1-044981683129","level":3,"id":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery2Minutes","title":"CodeDeployDefault.LambdaLinear10PercentEvery2Minutes","label":"CodeDeployDe...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery2Minutes","cost":0,"private":false,"resource":{"id":"00000000-0000-0000-0000-000000000011","name":"CodeDeployDefault.LambdaLinear10PercentEvery2Minutes","value":null,"type":"AWS::CodeDeploy::DeploymentConfig","tags":"[]","arn":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery2Minutes","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery2Minutes","configuration":"\"{\\\"computePlatform\\\":\\\"Lambda\\\",\\\"deploymentConfigId\\\":\\\"00000000-0000-0000-0000-000000000011\\\",\\\"deploymentConfigName\\\":\\\"CodeDeployDefault.LambdaLinear10PercentEvery2Minutes\\\",\\\"trafficRoutingConfig\\\":{\\\"timeBasedLinear\\\":{\\\"linearPercentage\\\":10,\\\"linearInterval\\\":2},\\\"type\\\":\\\"TimeBasedLinear\\\"}}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"00000000-0000-0000-0000-000000000011","resourceName":"CodeDeployDefault.LambdaLinear10PercentEvery2Minutes","resourceType":"AWS::CodeDeploy::DeploymentConfig","resourceValue":null,"state":null,"tags":"[]","title":"CodeDeployDefault.LambdaLinear10PercentEvery2Minutes","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-1058.5,"y":-558.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery10Minutes","resourceId":["00000000-0000-0000-0000-000000000006","arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery10Minutes"],"parent":"DeploymentConfig-eu-west-2-060997615305","level":3,"id":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery10Minutes","title":"CodeDeployDefault.LambdaLinear10PercentEvery10Minutes","label":"CodeDeployDe...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery10Minutes","cost":0,"private":false,"resource":{"id":"00000000-0000-0000-0000-000000000006","name":"CodeDeployDefault.LambdaLinear10PercentEvery10Minutes","value":null,"type":"AWS::CodeDeploy::DeploymentConfig","tags":"[]","arn":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery10Minutes","region":"eu-west-2","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery10Minutes","configuration":"\"{\\\"computePlatform\\\":\\\"Lambda\\\",\\\"deploymentConfigId\\\":\\\"00000000-0000-0000-0000-000000000006\\\",\\\"deploymentConfigName\\\":\\\"CodeDeployDefault.LambdaLinear10PercentEvery10Minutes\\\",\\\"trafficRoutingConfig\\\":{\\\"timeBasedLinear\\\":{\\\"linearPercentage\\\":10,\\\"linearInterval\\\":10},\\\"type\\\":\\\"TimeBasedLinear\\\"}}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"00000000-0000-0000-0000-000000000006","resourceName":"CodeDeployDefault.LambdaLinear10PercentEvery10Minutes","resourceType":"AWS::CodeDeploy::DeploymentConfig","resourceValue":null,"state":null,"tags":"[]","title":"CodeDeployDefault.LambdaLinear10PercentEvery10Minutes","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-201.5,"y":1144.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent15Minutes","resourceId":["00000000-0000-0000-0000-000000000009","arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent15Minutes"],"parent":"DeploymentConfig-eu-west-1-060997615305","level":3,"id":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent15Minutes","title":"CodeDeployDefault.LambdaCanary10Percent15Minutes","label":"CodeDeployDe...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent15Minutes","cost":0,"private":false,"resource":{"id":"00000000-0000-0000-0000-000000000009","name":"CodeDeployDefault.LambdaCanary10Percent15Minutes","value":null,"type":"AWS::CodeDeploy::DeploymentConfig","tags":"[]","arn":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent15Minutes","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent15Minutes","configuration":"\"{\\\"computePlatform\\\":\\\"Lambda\\\",\\\"deploymentConfigId\\\":\\\"00000000-0000-0000-0000-000000000009\\\",\\\"deploymentConfigName\\\":\\\"CodeDeployDefault.LambdaCanary10Percent15Minutes\\\",\\\"trafficRoutingConfig\\\":{\\\"type\\\":\\\"TimeBasedCanary\\\",\\\"timeBasedCanary\\\":{\\\"canaryPercentage\\\":10,\\\"canaryInterval\\\":15}}}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"00000000-0000-0000-0000-000000000009","resourceName":"CodeDeployDefault.LambdaCanary10Percent15Minutes","resourceType":"AWS::CodeDeploy::DeploymentConfig","resourceValue":null,"state":null,"tags":"[]","title":"CodeDeployDefault.LambdaCanary10Percent15Minutes","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-1138.5,"y":1217.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.ECSCanary10Percent5Minutes","resourceId":["00000000-0000-0000-0000-000000000021","arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.ECSCanary10Percent5Minutes"],"parent":"DeploymentConfig-eu-west-1-060997615305","level":3,"id":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.ECSCanary10Percent5Minutes","title":"CodeDeployDefault.ECSCanary10Percent5Minutes","label":"CodeDeployDe...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.ECSCanary10Percent5Minutes","cost":0,"private":false,"resource":{"id":"00000000-0000-0000-0000-000000000021","name":"CodeDeployDefault.ECSCanary10Percent5Minutes","value":null,"type":"AWS::CodeDeploy::DeploymentConfig","tags":"[]","arn":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.ECSCanary10Percent5Minutes","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.ECSCanary10Percent5Minutes","configuration":"\"{\\\"computePlatform\\\":\\\"ECS\\\",\\\"deploymentConfigId\\\":\\\"00000000-0000-0000-0000-000000000021\\\",\\\"deploymentConfigName\\\":\\\"CodeDeployDefault.ECSCanary10Percent5Minutes\\\",\\\"trafficRoutingConfig\\\":{\\\"type\\\":\\\"TimeBasedCanary\\\",\\\"timeBasedCanary\\\":{\\\"canaryPercentage\\\":10,\\\"canaryInterval\\\":5}}}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"00000000-0000-0000-0000-000000000021","resourceName":"CodeDeployDefault.ECSCanary10Percent5Minutes","resourceType":"AWS::CodeDeploy::DeploymentConfig","resourceValue":null,"state":null,"tags":"[]","title":"CodeDeployDefault.ECSCanary10Percent5Minutes","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-1065.5,"y":1217.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.ECSCanary10Percent15Minutes","resourceId":["00000000-0000-0000-0000-000000000022","arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.ECSCanary10Percent15Minutes"],"parent":"DeploymentConfig-eu-west-2-060997615305","level":3,"id":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.ECSCanary10Percent15Minutes","title":"CodeDeployDefault.ECSCanary10Percent15Minutes","label":"CodeDeployDe...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.ECSCanary10Percent15Minutes","cost":0,"private":false,"resource":{"id":"00000000-0000-0000-0000-000000000022","name":"CodeDeployDefault.ECSCanary10Percent15Minutes","value":null,"type":"AWS::CodeDeploy::DeploymentConfig","tags":"[]","arn":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.ECSCanary10Percent15Minutes","region":"eu-west-2","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.ECSCanary10Percent15Minutes","configuration":"\"{\\\"computePlatform\\\":\\\"ECS\\\",\\\"deploymentConfigId\\\":\\\"00000000-0000-0000-0000-000000000022\\\",\\\"deploymentConfigName\\\":\\\"CodeDeployDefault.ECSCanary10Percent15Minutes\\\",\\\"trafficRoutingConfig\\\":{\\\"type\\\":\\\"TimeBasedCanary\\\",\\\"timeBasedCanary\\\":{\\\"canaryPercentage\\\":10,\\\"canaryInterval\\\":15}}}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"00000000-0000-0000-0000-000000000022","resourceName":"CodeDeployDefault.ECSCanary10Percent15Minutes","resourceType":"AWS::CodeDeploy::DeploymentConfig","resourceValue":null,"state":null,"tags":"[]","title":"CodeDeployDefault.ECSCanary10Percent15Minutes","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-274.5,"y":1217.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.AllAtOnce","resourceId":["00000000-0000-0000-0000-000000000002","arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.AllAtOnce"],"parent":"DeploymentConfig-eu-west-2-060997615305","level":3,"id":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.AllAtOnce","title":"CodeDeployDefault.AllAtOnce","label":"CodeDeployDe...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.AllAtOnce","cost":0,"private":false,"resource":{"id":"00000000-0000-0000-0000-000000000002","name":"CodeDeployDefault.AllAtOnce","value":null,"type":"AWS::CodeDeploy::DeploymentConfig","tags":"[]","arn":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.AllAtOnce","region":"eu-west-2","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.AllAtOnce","configuration":"\"{\\\"computePlatform\\\":\\\"Server\\\",\\\"deploymentConfigId\\\":\\\"00000000-0000-0000-0000-000000000002\\\",\\\"minimumHealthyHosts\\\":{\\\"type\\\":\\\"HOST_COUNT\\\",\\\"value\\\":0},\\\"deploymentConfigName\\\":\\\"CodeDeployDefault.AllAtOnce\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"00000000-0000-0000-0000-000000000002","resourceName":"CodeDeployDefault.AllAtOnce","resourceType":"AWS::CodeDeploy::DeploymentConfig","resourceValue":null,"state":null,"tags":"[]","title":"CodeDeployDefault.AllAtOnce","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-201.5,"y":1217.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.HalfAtATime","resourceId":["00000000-0000-0000-0000-000000000003","arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.HalfAtATime"],"parent":"DeploymentConfig-eu-west-2-060997615305","level":3,"id":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.HalfAtATime","title":"CodeDeployDefault.HalfAtATime","label":"CodeDeployDe...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.HalfAtATime","cost":0,"private":false,"resource":{"id":"00000000-0000-0000-0000-000000000003","name":"CodeDeployDefault.HalfAtATime","value":null,"type":"AWS::CodeDeploy::DeploymentConfig","tags":"[]","arn":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.HalfAtATime","region":"eu-west-2","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.HalfAtATime","configuration":"\"{\\\"computePlatform\\\":\\\"Server\\\",\\\"deploymentConfigId\\\":\\\"00000000-0000-0000-0000-000000000003\\\",\\\"minimumHealthyHosts\\\":{\\\"type\\\":\\\"FLEET_PERCENT\\\",\\\"value\\\":50},\\\"deploymentConfigName\\\":\\\"CodeDeployDefault.HalfAtATime\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"00000000-0000-0000-0000-000000000003","resourceName":"CodeDeployDefault.HalfAtATime","resourceType":"AWS::CodeDeploy::DeploymentConfig","resourceValue":null,"state":null,"tags":"[]","title":"CodeDeployDefault.HalfAtATime","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-128.5,"y":1144.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent30Minutes","resourceId":["00000000-0000-0000-0000-000000000004","arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent30Minutes"],"parent":"DeploymentConfig-eu-west-1-060997615305","level":3,"id":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent30Minutes","title":"CodeDeployDefault.LambdaCanary10Percent30Minutes","label":"CodeDeployDe...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent30Minutes","cost":0,"private":false,"resource":{"id":"00000000-0000-0000-0000-000000000004","name":"CodeDeployDefault.LambdaCanary10Percent30Minutes","value":null,"type":"AWS::CodeDeploy::DeploymentConfig","tags":"[]","arn":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent30Minutes","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent30Minutes","configuration":"\"{\\\"computePlatform\\\":\\\"Lambda\\\",\\\"deploymentConfigId\\\":\\\"00000000-0000-0000-0000-000000000004\\\",\\\"deploymentConfigName\\\":\\\"CodeDeployDefault.LambdaCanary10Percent30Minutes\\\",\\\"trafficRoutingConfig\\\":{\\\"type\\\":\\\"TimeBasedCanary\\\",\\\"timeBasedCanary\\\":{\\\"canaryPercentage\\\":10,\\\"canaryInterval\\\":30}}}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"00000000-0000-0000-0000-000000000004","resourceName":"CodeDeployDefault.LambdaCanary10Percent30Minutes","resourceType":"AWS::CodeDeploy::DeploymentConfig","resourceValue":null,"state":null,"tags":"[]","title":"CodeDeployDefault.LambdaCanary10Percent30Minutes","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-992.5,"y":1144.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent30Minutes","resourceId":["00000000-0000-0000-0000-000000000004","arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent30Minutes"],"parent":"DeploymentConfig-eu-west-2-060997615305","level":3,"id":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent30Minutes","title":"CodeDeployDefault.LambdaCanary10Percent30Minutes","label":"CodeDeployDe...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent30Minutes","cost":0,"private":false,"resource":{"id":"00000000-0000-0000-0000-000000000004","name":"CodeDeployDefault.LambdaCanary10Percent30Minutes","value":null,"type":"AWS::CodeDeploy::DeploymentConfig","tags":"[]","arn":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent30Minutes","region":"eu-west-2","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent30Minutes","configuration":"\"{\\\"computePlatform\\\":\\\"Lambda\\\",\\\"deploymentConfigId\\\":\\\"00000000-0000-0000-0000-000000000004\\\",\\\"deploymentConfigName\\\":\\\"CodeDeployDefault.LambdaCanary10Percent30Minutes\\\",\\\"trafficRoutingConfig\\\":{\\\"type\\\":\\\"TimeBasedCanary\\\",\\\"timeBasedCanary\\\":{\\\"canaryPercentage\\\":10,\\\"canaryInterval\\\":30}}}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"00000000-0000-0000-0000-000000000004","resourceName":"CodeDeployDefault.LambdaCanary10Percent30Minutes","resourceType":"AWS::CodeDeploy::DeploymentConfig","resourceValue":null,"state":null,"tags":"[]","title":"CodeDeployDefault.LambdaCanary10Percent30Minutes","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-128.5,"y":1217.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery2Minutes","resourceId":["00000000-0000-0000-0000-000000000011","arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery2Minutes"],"parent":"DeploymentConfig-eu-west-1-060997615305","level":3,"id":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery2Minutes","title":"CodeDeployDefault.LambdaLinear10PercentEvery2Minutes","label":"CodeDeployDe...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery2Minutes","cost":0,"private":false,"resource":{"id":"00000000-0000-0000-0000-000000000011","name":"CodeDeployDefault.LambdaLinear10PercentEvery2Minutes","value":null,"type":"AWS::CodeDeploy::DeploymentConfig","tags":"[]","arn":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery2Minutes","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery2Minutes","configuration":"\"{\\\"computePlatform\\\":\\\"Lambda\\\",\\\"deploymentConfigId\\\":\\\"00000000-0000-0000-0000-000000000011\\\",\\\"deploymentConfigName\\\":\\\"CodeDeployDefault.LambdaLinear10PercentEvery2Minutes\\\",\\\"trafficRoutingConfig\\\":{\\\"timeBasedLinear\\\":{\\\"linearPercentage\\\":10,\\\"linearInterval\\\":2},\\\"type\\\":\\\"TimeBasedLinear\\\"}}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"00000000-0000-0000-0000-000000000011","resourceName":"CodeDeployDefault.LambdaLinear10PercentEvery2Minutes","resourceType":"AWS::CodeDeploy::DeploymentConfig","resourceValue":null,"state":null,"tags":"[]","title":"CodeDeployDefault.LambdaLinear10PercentEvery2Minutes","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-992.5,"y":1217.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.HalfAtATime","resourceId":["00000000-0000-0000-0000-000000000003","arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.HalfAtATime"],"parent":"DeploymentConfig-eu-west-1-044981683129","level":3,"id":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.HalfAtATime","title":"CodeDeployDefault.HalfAtATime","label":"CodeDeployDe...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.HalfAtATime","cost":0,"private":false,"resource":{"id":"00000000-0000-0000-0000-000000000003","name":"CodeDeployDefault.HalfAtATime","value":null,"type":"AWS::CodeDeploy::DeploymentConfig","tags":"[]","arn":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.HalfAtATime","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.HalfAtATime","configuration":"\"{\\\"computePlatform\\\":\\\"Server\\\",\\\"deploymentConfigId\\\":\\\"00000000-0000-0000-0000-000000000003\\\",\\\"minimumHealthyHosts\\\":{\\\"type\\\":\\\"FLEET_PERCENT\\\",\\\"value\\\":50},\\\"deploymentConfigName\\\":\\\"CodeDeployDefault.HalfAtATime\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"00000000-0000-0000-0000-000000000003","resourceName":"CodeDeployDefault.HalfAtATime","resourceType":"AWS::CodeDeploy::DeploymentConfig","resourceValue":null,"state":null,"tags":"[]","title":"CodeDeployDefault.HalfAtATime","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-1058.5,"y":-485.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent15Minutes","resourceId":["00000000-0000-0000-0000-000000000009","arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent15Minutes"],"parent":"DeploymentConfig-eu-west-1-044981683129","level":3,"id":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent15Minutes","title":"CodeDeployDefault.LambdaCanary10Percent15Minutes","label":"CodeDeployDe...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent15Minutes","cost":0,"private":false,"resource":{"id":"00000000-0000-0000-0000-000000000009","name":"CodeDeployDefault.LambdaCanary10Percent15Minutes","value":null,"type":"AWS::CodeDeploy::DeploymentConfig","tags":"[]","arn":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent15Minutes","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent15Minutes","configuration":"\"{\\\"computePlatform\\\":\\\"Lambda\\\",\\\"deploymentConfigId\\\":\\\"00000000-0000-0000-0000-000000000009\\\",\\\"deploymentConfigName\\\":\\\"CodeDeployDefault.LambdaCanary10Percent15Minutes\\\",\\\"trafficRoutingConfig\\\":{\\\"type\\\":\\\"TimeBasedCanary\\\",\\\"timeBasedCanary\\\":{\\\"canaryPercentage\\\":10,\\\"canaryInterval\\\":15}}}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"00000000-0000-0000-0000-000000000009","resourceName":"CodeDeployDefault.LambdaCanary10Percent15Minutes","resourceType":"AWS::CodeDeploy::DeploymentConfig","resourceValue":null,"state":null,"tags":"[]","title":"CodeDeployDefault.LambdaCanary10Percent15Minutes","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-1204.5,"y":-412.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent5Minutes","resourceId":["00000000-0000-0000-0000-000000000007","arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent5Minutes"],"parent":"DeploymentConfig-eu-west-2-060997615305","level":3,"id":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent5Minutes","title":"CodeDeployDefault.LambdaCanary10Percent5Minutes","label":"CodeDeployDe...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent5Minutes","cost":0,"private":false,"resource":{"id":"00000000-0000-0000-0000-000000000007","name":"CodeDeployDefault.LambdaCanary10Percent5Minutes","value":null,"type":"AWS::CodeDeploy::DeploymentConfig","tags":"[]","arn":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent5Minutes","region":"eu-west-2","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent5Minutes","configuration":"\"{\\\"computePlatform\\\":\\\"Lambda\\\",\\\"deploymentConfigId\\\":\\\"00000000-0000-0000-0000-000000000007\\\",\\\"deploymentConfigName\\\":\\\"CodeDeployDefault.LambdaCanary10Percent5Minutes\\\",\\\"trafficRoutingConfig\\\":{\\\"type\\\":\\\"TimeBasedCanary\\\",\\\"timeBasedCanary\\\":{\\\"canaryPercentage\\\":10,\\\"canaryInterval\\\":5}}}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"00000000-0000-0000-0000-000000000007","resourceName":"CodeDeployDefault.LambdaCanary10Percent5Minutes","resourceType":"AWS::CodeDeploy::DeploymentConfig","resourceValue":null,"state":null,"tags":"[]","title":"CodeDeployDefault.LambdaCanary10Percent5Minutes","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-274.5,"y":1290.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent10Minutes","resourceId":["00000000-0000-0000-0000-000000000008","arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent10Minutes"],"parent":"DeploymentConfig-eu-west-2-060997615305","level":3,"id":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent10Minutes","title":"CodeDeployDefault.LambdaCanary10Percent10Minutes","label":"CodeDeployDe...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent10Minutes","cost":0,"private":false,"resource":{"id":"00000000-0000-0000-0000-000000000008","name":"CodeDeployDefault.LambdaCanary10Percent10Minutes","value":null,"type":"AWS::CodeDeploy::DeploymentConfig","tags":"[]","arn":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent10Minutes","region":"eu-west-2","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent10Minutes","configuration":"\"{\\\"computePlatform\\\":\\\"Lambda\\\",\\\"deploymentConfigId\\\":\\\"00000000-0000-0000-0000-000000000008\\\",\\\"deploymentConfigName\\\":\\\"CodeDeployDefault.LambdaCanary10Percent10Minutes\\\",\\\"trafficRoutingConfig\\\":{\\\"type\\\":\\\"TimeBasedCanary\\\",\\\"timeBasedCanary\\\":{\\\"canaryPercentage\\\":10,\\\"canaryInterval\\\":10}}}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"00000000-0000-0000-0000-000000000008","resourceName":"CodeDeployDefault.LambdaCanary10Percent10Minutes","resourceType":"AWS::CodeDeploy::DeploymentConfig","resourceValue":null,"state":null,"tags":"[]","title":"CodeDeployDefault.LambdaCanary10Percent10Minutes","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-201.5,"y":1290.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery1Minute","resourceId":["00000000-0000-0000-0000-000000000010","arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery1Minute"],"parent":"DeploymentConfig-eu-west-1-060997615305","level":3,"id":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery1Minute","title":"CodeDeployDefault.LambdaLinear10PercentEvery1Minute","label":"CodeDeployDe...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery1Minute","cost":0,"private":false,"resource":{"id":"00000000-0000-0000-0000-000000000010","name":"CodeDeployDefault.LambdaLinear10PercentEvery1Minute","value":null,"type":"AWS::CodeDeploy::DeploymentConfig","tags":"[]","arn":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery1Minute","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery1Minute","configuration":"\"{\\\"computePlatform\\\":\\\"Lambda\\\",\\\"deploymentConfigId\\\":\\\"00000000-0000-0000-0000-000000000010\\\",\\\"deploymentConfigName\\\":\\\"CodeDeployDefault.LambdaLinear10PercentEvery1Minute\\\",\\\"trafficRoutingConfig\\\":{\\\"timeBasedLinear\\\":{\\\"linearPercentage\\\":10,\\\"linearInterval\\\":1},\\\"type\\\":\\\"TimeBasedLinear\\\"}}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"00000000-0000-0000-0000-000000000010","resourceName":"CodeDeployDefault.LambdaLinear10PercentEvery1Minute","resourceType":"AWS::CodeDeploy::DeploymentConfig","resourceValue":null,"state":null,"tags":"[]","title":"CodeDeployDefault.LambdaLinear10PercentEvery1Minute","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-1138.5,"y":1290.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.ECSCanary10Percent15Minutes","resourceId":["00000000-0000-0000-0000-000000000022","arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.ECSCanary10Percent15Minutes"],"parent":"DeploymentConfig-eu-west-1-060997615305","level":3,"id":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.ECSCanary10Percent15Minutes","title":"CodeDeployDefault.ECSCanary10Percent15Minutes","label":"CodeDeployDe...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.ECSCanary10Percent15Minutes","cost":0,"private":false,"resource":{"id":"00000000-0000-0000-0000-000000000022","name":"CodeDeployDefault.ECSCanary10Percent15Minutes","value":null,"type":"AWS::CodeDeploy::DeploymentConfig","tags":"[]","arn":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.ECSCanary10Percent15Minutes","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.ECSCanary10Percent15Minutes","configuration":"\"{\\\"computePlatform\\\":\\\"ECS\\\",\\\"deploymentConfigId\\\":\\\"00000000-0000-0000-0000-000000000022\\\",\\\"deploymentConfigName\\\":\\\"CodeDeployDefault.ECSCanary10Percent15Minutes\\\",\\\"trafficRoutingConfig\\\":{\\\"type\\\":\\\"TimeBasedCanary\\\",\\\"timeBasedCanary\\\":{\\\"canaryPercentage\\\":10,\\\"canaryInterval\\\":15}}}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"00000000-0000-0000-0000-000000000022","resourceName":"CodeDeployDefault.ECSCanary10Percent15Minutes","resourceType":"AWS::CodeDeploy::DeploymentConfig","resourceValue":null,"state":null,"tags":"[]","title":"CodeDeployDefault.ECSCanary10Percent15Minutes","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-1065.5,"y":1290.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.OneAtATime","resourceId":["00000000-0000-0000-0000-000000000001","arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.OneAtATime"],"parent":"DeploymentConfig-eu-west-2-060997615305","level":3,"id":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.OneAtATime","title":"CodeDeployDefault.OneAtATime","label":"CodeDeployDe...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.OneAtATime","cost":0,"private":false,"resource":{"id":"00000000-0000-0000-0000-000000000001","name":"CodeDeployDefault.OneAtATime","value":null,"type":"AWS::CodeDeploy::DeploymentConfig","tags":"[]","arn":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.OneAtATime","region":"eu-west-2","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.OneAtATime","configuration":"\"{\\\"computePlatform\\\":\\\"Server\\\",\\\"deploymentConfigId\\\":\\\"00000000-0000-0000-0000-000000000001\\\",\\\"minimumHealthyHosts\\\":{\\\"type\\\":\\\"MOST_CONCURRENCY\\\",\\\"value\\\":1},\\\"deploymentConfigName\\\":\\\"CodeDeployDefault.OneAtATime\\\"}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"00000000-0000-0000-0000-000000000001","resourceName":"CodeDeployDefault.OneAtATime","resourceType":"AWS::CodeDeploy::DeploymentConfig","resourceValue":null,"state":null,"tags":"[]","title":"CodeDeployDefault.OneAtATime","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-128.5,"y":1290.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.LambdaAllAtOnce","resourceId":["00000000-0000-0000-0000-000000000005","arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.LambdaAllAtOnce"],"parent":"DeploymentConfig-eu-west-1-060997615305","level":3,"id":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.LambdaAllAtOnce","title":"CodeDeployDefault.LambdaAllAtOnce","label":"CodeDeployDe...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.LambdaAllAtOnce","cost":0,"private":false,"resource":{"id":"00000000-0000-0000-0000-000000000005","name":"CodeDeployDefault.LambdaAllAtOnce","value":null,"type":"AWS::CodeDeploy::DeploymentConfig","tags":"[]","arn":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.LambdaAllAtOnce","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.LambdaAllAtOnce","configuration":"\"{\\\"computePlatform\\\":\\\"Lambda\\\",\\\"deploymentConfigId\\\":\\\"00000000-0000-0000-0000-000000000005\\\",\\\"deploymentConfigName\\\":\\\"CodeDeployDefault.LambdaAllAtOnce\\\",\\\"trafficRoutingConfig\\\":{\\\"type\\\":\\\"AllAtOnce\\\"}}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"00000000-0000-0000-0000-000000000005","resourceName":"CodeDeployDefault.LambdaAllAtOnce","resourceType":"AWS::CodeDeploy::DeploymentConfig","resourceValue":null,"state":null,"tags":"[]","title":"CodeDeployDefault.LambdaAllAtOnce","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-992.5,"y":1290.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.ECSLinear10PercentEvery3Minutes","resourceId":["00000000-0000-0000-0000-000000000016","arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.ECSLinear10PercentEvery3Minutes"],"parent":"DeploymentConfig-eu-west-1-060997615305","level":3,"id":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.ECSLinear10PercentEvery3Minutes","title":"CodeDeployDefault.ECSLinear10PercentEvery3Minutes","label":"CodeDeployDe...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.ECSLinear10PercentEvery3Minutes","cost":0,"private":false,"resource":{"id":"00000000-0000-0000-0000-000000000016","name":"CodeDeployDefault.ECSLinear10PercentEvery3Minutes","value":null,"type":"AWS::CodeDeploy::DeploymentConfig","tags":"[]","arn":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.ECSLinear10PercentEvery3Minutes","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.ECSLinear10PercentEvery3Minutes","configuration":"\"{\\\"computePlatform\\\":\\\"ECS\\\",\\\"deploymentConfigId\\\":\\\"00000000-0000-0000-0000-000000000016\\\",\\\"deploymentConfigName\\\":\\\"CodeDeployDefault.ECSLinear10PercentEvery3Minutes\\\",\\\"trafficRoutingConfig\\\":{\\\"timeBasedLinear\\\":{\\\"linearPercentage\\\":10,\\\"linearInterval\\\":3},\\\"type\\\":\\\"TimeBasedLinear\\\"}}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"00000000-0000-0000-0000-000000000016","resourceName":"CodeDeployDefault.ECSLinear10PercentEvery3Minutes","resourceType":"AWS::CodeDeploy::DeploymentConfig","resourceValue":null,"state":null,"tags":"[]","title":"CodeDeployDefault.ECSLinear10PercentEvery3Minutes","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-919.5,"y":1144.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.ECSAllAtOnce","resourceId":["00000000-0000-0000-0000-000000000013","arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.ECSAllAtOnce"],"parent":"DeploymentConfig-eu-west-1-044981683129","level":3,"id":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.ECSAllAtOnce","title":"CodeDeployDefault.ECSAllAtOnce","label":"CodeDeployDe...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.ECSAllAtOnce","cost":0,"private":false,"resource":{"id":"00000000-0000-0000-0000-000000000013","name":"CodeDeployDefault.ECSAllAtOnce","value":null,"type":"AWS::CodeDeploy::DeploymentConfig","tags":"[]","arn":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.ECSAllAtOnce","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.ECSAllAtOnce","configuration":"\"{\\\"computePlatform\\\":\\\"ECS\\\",\\\"deploymentConfigId\\\":\\\"00000000-0000-0000-0000-000000000013\\\",\\\"deploymentConfigName\\\":\\\"CodeDeployDefault.ECSAllAtOnce\\\",\\\"trafficRoutingConfig\\\":{\\\"type\\\":\\\"AllAtOnce\\\"}}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"00000000-0000-0000-0000-000000000013","resourceName":"CodeDeployDefault.ECSAllAtOnce","resourceType":"AWS::CodeDeploy::DeploymentConfig","resourceValue":null,"state":null,"tags":"[]","title":"CodeDeployDefault.ECSAllAtOnce","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-1131.5,"y":-412.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.ECSCanary10Percent5Minutes","resourceId":["00000000-0000-0000-0000-000000000021","arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.ECSCanary10Percent5Minutes"],"parent":"DeploymentConfig-eu-west-1-044981683129","level":3,"id":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.ECSCanary10Percent5Minutes","title":"CodeDeployDefault.ECSCanary10Percent5Minutes","label":"CodeDeployDe...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.ECSCanary10Percent5Minutes","cost":0,"private":false,"resource":{"id":"00000000-0000-0000-0000-000000000021","name":"CodeDeployDefault.ECSCanary10Percent5Minutes","value":null,"type":"AWS::CodeDeploy::DeploymentConfig","tags":"[]","arn":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.ECSCanary10Percent5Minutes","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.ECSCanary10Percent5Minutes","configuration":"\"{\\\"computePlatform\\\":\\\"ECS\\\",\\\"deploymentConfigId\\\":\\\"00000000-0000-0000-0000-000000000021\\\",\\\"deploymentConfigName\\\":\\\"CodeDeployDefault.ECSCanary10Percent5Minutes\\\",\\\"trafficRoutingConfig\\\":{\\\"type\\\":\\\"TimeBasedCanary\\\",\\\"timeBasedCanary\\\":{\\\"canaryPercentage\\\":10,\\\"canaryInterval\\\":5}}}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"00000000-0000-0000-0000-000000000021","resourceName":"CodeDeployDefault.ECSCanary10Percent5Minutes","resourceType":"AWS::CodeDeploy::DeploymentConfig","resourceValue":null,"state":null,"tags":"[]","title":"CodeDeployDefault.ECSCanary10Percent5Minutes","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-1058.5,"y":-412.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery10Minutes","resourceId":["00000000-0000-0000-0000-000000000006","arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery10Minutes"],"parent":"DeploymentConfig-eu-west-1-060997615305","level":3,"id":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery10Minutes","title":"CodeDeployDefault.LambdaLinear10PercentEvery10Minutes","label":"CodeDeployDe...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery10Minutes","cost":0,"private":false,"resource":{"id":"00000000-0000-0000-0000-000000000006","name":"CodeDeployDefault.LambdaLinear10PercentEvery10Minutes","value":null,"type":"AWS::CodeDeploy::DeploymentConfig","tags":"[]","arn":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery10Minutes","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery10Minutes","configuration":"\"{\\\"computePlatform\\\":\\\"Lambda\\\",\\\"deploymentConfigId\\\":\\\"00000000-0000-0000-0000-000000000006\\\",\\\"deploymentConfigName\\\":\\\"CodeDeployDefault.LambdaLinear10PercentEvery10Minutes\\\",\\\"trafficRoutingConfig\\\":{\\\"timeBasedLinear\\\":{\\\"linearPercentage\\\":10,\\\"linearInterval\\\":10},\\\"type\\\":\\\"TimeBasedLinear\\\"}}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"00000000-0000-0000-0000-000000000006","resourceName":"CodeDeployDefault.LambdaLinear10PercentEvery10Minutes","resourceType":"AWS::CodeDeploy::DeploymentConfig","resourceValue":null,"state":null,"tags":"[]","title":"CodeDeployDefault.LambdaLinear10PercentEvery10Minutes","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-919.5,"y":1217.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.ECSCanary10Percent5Minutes","resourceId":["00000000-0000-0000-0000-000000000021","arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.ECSCanary10Percent5Minutes"],"parent":"DeploymentConfig-eu-west-2-060997615305","level":3,"id":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.ECSCanary10Percent5Minutes","title":"CodeDeployDefault.ECSCanary10Percent5Minutes","label":"CodeDeployDe...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.ECSCanary10Percent5Minutes","cost":0,"private":false,"resource":{"id":"00000000-0000-0000-0000-000000000021","name":"CodeDeployDefault.ECSCanary10Percent5Minutes","value":null,"type":"AWS::CodeDeploy::DeploymentConfig","tags":"[]","arn":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.ECSCanary10Percent5Minutes","region":"eu-west-2","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.ECSCanary10Percent5Minutes","configuration":"\"{\\\"computePlatform\\\":\\\"ECS\\\",\\\"deploymentConfigId\\\":\\\"00000000-0000-0000-0000-000000000021\\\",\\\"deploymentConfigName\\\":\\\"CodeDeployDefault.ECSCanary10Percent5Minutes\\\",\\\"trafficRoutingConfig\\\":{\\\"type\\\":\\\"TimeBasedCanary\\\",\\\"timeBasedCanary\\\":{\\\"canaryPercentage\\\":10,\\\"canaryInterval\\\":5}}}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"00000000-0000-0000-0000-000000000021","resourceName":"CodeDeployDefault.ECSCanary10Percent5Minutes","resourceType":"AWS::CodeDeploy::DeploymentConfig","resourceValue":null,"state":null,"tags":"[]","title":"CodeDeployDefault.ECSCanary10Percent5Minutes","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-55.5,"y":1144.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery3Minutes","resourceId":["00000000-0000-0000-0000-000000000012","arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery3Minutes"],"parent":"DeploymentConfig-eu-west-2-060997615305","level":3,"id":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery3Minutes","title":"CodeDeployDefault.LambdaLinear10PercentEvery3Minutes","label":"CodeDeployDe...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery3Minutes","cost":0,"private":false,"resource":{"id":"00000000-0000-0000-0000-000000000012","name":"CodeDeployDefault.LambdaLinear10PercentEvery3Minutes","value":null,"type":"AWS::CodeDeploy::DeploymentConfig","tags":"[]","arn":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery3Minutes","region":"eu-west-2","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery3Minutes","configuration":"\"{\\\"computePlatform\\\":\\\"Lambda\\\",\\\"deploymentConfigId\\\":\\\"00000000-0000-0000-0000-000000000012\\\",\\\"deploymentConfigName\\\":\\\"CodeDeployDefault.LambdaLinear10PercentEvery3Minutes\\\",\\\"trafficRoutingConfig\\\":{\\\"timeBasedLinear\\\":{\\\"linearPercentage\\\":10,\\\"linearInterval\\\":3},\\\"type\\\":\\\"TimeBasedLinear\\\"}}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"00000000-0000-0000-0000-000000000012","resourceName":"CodeDeployDefault.LambdaLinear10PercentEvery3Minutes","resourceType":"AWS::CodeDeploy::DeploymentConfig","resourceValue":null,"state":null,"tags":"[]","title":"CodeDeployDefault.LambdaLinear10PercentEvery3Minutes","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-55.5,"y":1217.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.ECSAllAtOnce","resourceId":["00000000-0000-0000-0000-000000000013","arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.ECSAllAtOnce"],"parent":"DeploymentConfig-eu-west-1-060997615305","level":3,"id":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.ECSAllAtOnce","title":"CodeDeployDefault.ECSAllAtOnce","label":"CodeDeployDe...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.ECSAllAtOnce","cost":0,"private":false,"resource":{"id":"00000000-0000-0000-0000-000000000013","name":"CodeDeployDefault.ECSAllAtOnce","value":null,"type":"AWS::CodeDeploy::DeploymentConfig","tags":"[]","arn":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.ECSAllAtOnce","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.ECSAllAtOnce","configuration":"\"{\\\"computePlatform\\\":\\\"ECS\\\",\\\"deploymentConfigId\\\":\\\"00000000-0000-0000-0000-000000000013\\\",\\\"deploymentConfigName\\\":\\\"CodeDeployDefault.ECSAllAtOnce\\\",\\\"trafficRoutingConfig\\\":{\\\"type\\\":\\\"AllAtOnce\\\"}}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"00000000-0000-0000-0000-000000000013","resourceName":"CodeDeployDefault.ECSAllAtOnce","resourceType":"AWS::CodeDeploy::DeploymentConfig","resourceValue":null,"state":null,"tags":"[]","title":"CodeDeployDefault.ECSAllAtOnce","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-919.5,"y":1290.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.ECSLinear10PercentEvery1Minutes","resourceId":["00000000-0000-0000-0000-000000000015","arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.ECSLinear10PercentEvery1Minutes"],"parent":"DeploymentConfig-eu-west-2-060997615305","level":3,"id":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.ECSLinear10PercentEvery1Minutes","title":"CodeDeployDefault.ECSLinear10PercentEvery1Minutes","label":"CodeDeployDe...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.ECSLinear10PercentEvery1Minutes","cost":0,"private":false,"resource":{"id":"00000000-0000-0000-0000-000000000015","name":"CodeDeployDefault.ECSLinear10PercentEvery1Minutes","value":null,"type":"AWS::CodeDeploy::DeploymentConfig","tags":"[]","arn":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.ECSLinear10PercentEvery1Minutes","region":"eu-west-2","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.ECSLinear10PercentEvery1Minutes","configuration":"\"{\\\"computePlatform\\\":\\\"ECS\\\",\\\"deploymentConfigId\\\":\\\"00000000-0000-0000-0000-000000000015\\\",\\\"deploymentConfigName\\\":\\\"CodeDeployDefault.ECSLinear10PercentEvery1Minutes\\\",\\\"trafficRoutingConfig\\\":{\\\"timeBasedLinear\\\":{\\\"linearPercentage\\\":10,\\\"linearInterval\\\":1},\\\"type\\\":\\\"TimeBasedLinear\\\"}}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"00000000-0000-0000-0000-000000000015","resourceName":"CodeDeployDefault.ECSLinear10PercentEvery1Minutes","resourceType":"AWS::CodeDeploy::DeploymentConfig","resourceValue":null,"state":null,"tags":"[]","title":"CodeDeployDefault.ECSLinear10PercentEvery1Minutes","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-55.5,"y":1290.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.AllAtOnce","resourceId":["00000000-0000-0000-0000-000000000002","arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.AllAtOnce"],"parent":"DeploymentConfig-eu-west-1-044981683129","level":3,"id":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.AllAtOnce","title":"CodeDeployDefault.AllAtOnce","label":"CodeDeployDe...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.AllAtOnce","cost":0,"private":false,"resource":{"id":"00000000-0000-0000-0000-000000000002","name":"CodeDeployDefault.AllAtOnce","value":null,"type":"AWS::CodeDeploy::DeploymentConfig","tags":"[]","arn":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.AllAtOnce","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.AllAtOnce","configuration":"\"{\\\"computePlatform\\\":\\\"Server\\\",\\\"deploymentConfigId\\\":\\\"00000000-0000-0000-0000-000000000002\\\",\\\"minimumHealthyHosts\\\":{\\\"type\\\":\\\"HOST_COUNT\\\",\\\"value\\\":0},\\\"deploymentConfigName\\\":\\\"CodeDeployDefault.AllAtOnce\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"00000000-0000-0000-0000-000000000002","resourceName":"CodeDeployDefault.AllAtOnce","resourceType":"AWS::CodeDeploy::DeploymentConfig","resourceValue":null,"state":null,"tags":"[]","title":"CodeDeployDefault.AllAtOnce","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-985.5,"y":-558.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery3Minutes","resourceId":["00000000-0000-0000-0000-000000000012","arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery3Minutes"],"parent":"DeploymentConfig-eu-west-1-044981683129","level":3,"id":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery3Minutes","title":"CodeDeployDefault.LambdaLinear10PercentEvery3Minutes","label":"CodeDeployDe...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery3Minutes","cost":0,"private":false,"resource":{"id":"00000000-0000-0000-0000-000000000012","name":"CodeDeployDefault.LambdaLinear10PercentEvery3Minutes","value":null,"type":"AWS::CodeDeploy::DeploymentConfig","tags":"[]","arn":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery3Minutes","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery3Minutes","configuration":"\"{\\\"computePlatform\\\":\\\"Lambda\\\",\\\"deploymentConfigId\\\":\\\"00000000-0000-0000-0000-000000000012\\\",\\\"deploymentConfigName\\\":\\\"CodeDeployDefault.LambdaLinear10PercentEvery3Minutes\\\",\\\"trafficRoutingConfig\\\":{\\\"timeBasedLinear\\\":{\\\"linearPercentage\\\":10,\\\"linearInterval\\\":3},\\\"type\\\":\\\"TimeBasedLinear\\\"}}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"00000000-0000-0000-0000-000000000012","resourceName":"CodeDeployDefault.LambdaLinear10PercentEvery3Minutes","resourceType":"AWS::CodeDeploy::DeploymentConfig","resourceValue":null,"state":null,"tags":"[]","title":"CodeDeployDefault.LambdaLinear10PercentEvery3Minutes","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-985.5,"y":-485.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.ECSLinear10PercentEvery3Minutes","resourceId":["00000000-0000-0000-0000-000000000016","arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.ECSLinear10PercentEvery3Minutes"],"parent":"DeploymentConfig-eu-west-1-044981683129","level":3,"id":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.ECSLinear10PercentEvery3Minutes","title":"CodeDeployDefault.ECSLinear10PercentEvery3Minutes","label":"CodeDeployDe...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.ECSLinear10PercentEvery3Minutes","cost":0,"private":false,"resource":{"id":"00000000-0000-0000-0000-000000000016","name":"CodeDeployDefault.ECSLinear10PercentEvery3Minutes","value":null,"type":"AWS::CodeDeploy::DeploymentConfig","tags":"[]","arn":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.ECSLinear10PercentEvery3Minutes","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.ECSLinear10PercentEvery3Minutes","configuration":"\"{\\\"computePlatform\\\":\\\"ECS\\\",\\\"deploymentConfigId\\\":\\\"00000000-0000-0000-0000-000000000016\\\",\\\"deploymentConfigName\\\":\\\"CodeDeployDefault.ECSLinear10PercentEvery3Minutes\\\",\\\"trafficRoutingConfig\\\":{\\\"timeBasedLinear\\\":{\\\"linearPercentage\\\":10,\\\"linearInterval\\\":3},\\\"type\\\":\\\"TimeBasedLinear\\\"}}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"00000000-0000-0000-0000-000000000016","resourceName":"CodeDeployDefault.ECSLinear10PercentEvery3Minutes","resourceType":"AWS::CodeDeploy::DeploymentConfig","resourceValue":null,"state":null,"tags":"[]","title":"CodeDeployDefault.ECSLinear10PercentEvery3Minutes","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-985.5,"y":-412.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.LambdaAllAtOnce","resourceId":["00000000-0000-0000-0000-000000000005","arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.LambdaAllAtOnce"],"parent":"DeploymentConfig-eu-west-1-044981683129","level":3,"id":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.LambdaAllAtOnce","title":"CodeDeployDefault.LambdaAllAtOnce","label":"CodeDeployDe...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.LambdaAllAtOnce","cost":0,"private":false,"resource":{"id":"00000000-0000-0000-0000-000000000005","name":"CodeDeployDefault.LambdaAllAtOnce","value":null,"type":"AWS::CodeDeploy::DeploymentConfig","tags":"[]","arn":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.LambdaAllAtOnce","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.LambdaAllAtOnce","configuration":"\"{\\\"computePlatform\\\":\\\"Lambda\\\",\\\"deploymentConfigId\\\":\\\"00000000-0000-0000-0000-000000000005\\\",\\\"deploymentConfigName\\\":\\\"CodeDeployDefault.LambdaAllAtOnce\\\",\\\"trafficRoutingConfig\\\":{\\\"type\\\":\\\"AllAtOnce\\\"}}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"00000000-0000-0000-0000-000000000005","resourceName":"CodeDeployDefault.LambdaAllAtOnce","resourceType":"AWS::CodeDeploy::DeploymentConfig","resourceValue":null,"state":null,"tags":"[]","title":"CodeDeployDefault.LambdaAllAtOnce","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-1204.5,"y":-339.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery10Minutes","resourceId":["00000000-0000-0000-0000-000000000006","arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery10Minutes"],"parent":"DeploymentConfig-eu-west-1-044981683129","level":3,"id":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery10Minutes","title":"CodeDeployDefault.LambdaLinear10PercentEvery10Minutes","label":"CodeDeployDe...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery10Minutes","cost":0,"private":false,"resource":{"id":"00000000-0000-0000-0000-000000000006","name":"CodeDeployDefault.LambdaLinear10PercentEvery10Minutes","value":null,"type":"AWS::CodeDeploy::DeploymentConfig","tags":"[]","arn":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery10Minutes","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery10Minutes","configuration":"\"{\\\"computePlatform\\\":\\\"Lambda\\\",\\\"deploymentConfigId\\\":\\\"00000000-0000-0000-0000-000000000006\\\",\\\"deploymentConfigName\\\":\\\"CodeDeployDefault.LambdaLinear10PercentEvery10Minutes\\\",\\\"trafficRoutingConfig\\\":{\\\"timeBasedLinear\\\":{\\\"linearPercentage\\\":10,\\\"linearInterval\\\":10},\\\"type\\\":\\\"TimeBasedLinear\\\"}}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"00000000-0000-0000-0000-000000000006","resourceName":"CodeDeployDefault.LambdaLinear10PercentEvery10Minutes","resourceType":"AWS::CodeDeploy::DeploymentConfig","resourceValue":null,"state":null,"tags":"[]","title":"CodeDeployDefault.LambdaLinear10PercentEvery10Minutes","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-1131.5,"y":-339.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent5Minutes","resourceId":["00000000-0000-0000-0000-000000000007","arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent5Minutes"],"parent":"DeploymentConfig-eu-west-1-044981683129","level":3,"id":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent5Minutes","title":"CodeDeployDefault.LambdaCanary10Percent5Minutes","label":"CodeDeployDe...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent5Minutes","cost":0,"private":false,"resource":{"id":"00000000-0000-0000-0000-000000000007","name":"CodeDeployDefault.LambdaCanary10Percent5Minutes","value":null,"type":"AWS::CodeDeploy::DeploymentConfig","tags":"[]","arn":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent5Minutes","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent5Minutes","configuration":"\"{\\\"computePlatform\\\":\\\"Lambda\\\",\\\"deploymentConfigId\\\":\\\"00000000-0000-0000-0000-000000000007\\\",\\\"deploymentConfigName\\\":\\\"CodeDeployDefault.LambdaCanary10Percent5Minutes\\\",\\\"trafficRoutingConfig\\\":{\\\"type\\\":\\\"TimeBasedCanary\\\",\\\"timeBasedCanary\\\":{\\\"canaryPercentage\\\":10,\\\"canaryInterval\\\":5}}}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"00000000-0000-0000-0000-000000000007","resourceName":"CodeDeployDefault.LambdaCanary10Percent5Minutes","resourceType":"AWS::CodeDeploy::DeploymentConfig","resourceValue":null,"state":null,"tags":"[]","title":"CodeDeployDefault.LambdaCanary10Percent5Minutes","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-1058.5,"y":-339.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.ECSLinear10PercentEvery1Minutes","resourceId":["00000000-0000-0000-0000-000000000015","arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.ECSLinear10PercentEvery1Minutes"],"parent":"DeploymentConfig-eu-west-1-044981683129","level":3,"id":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.ECSLinear10PercentEvery1Minutes","title":"CodeDeployDefault.ECSLinear10PercentEvery1Minutes","label":"CodeDeployDe...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.ECSLinear10PercentEvery1Minutes","cost":0,"private":false,"resource":{"id":"00000000-0000-0000-0000-000000000015","name":"CodeDeployDefault.ECSLinear10PercentEvery1Minutes","value":null,"type":"AWS::CodeDeploy::DeploymentConfig","tags":"[]","arn":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.ECSLinear10PercentEvery1Minutes","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.ECSLinear10PercentEvery1Minutes","configuration":"\"{\\\"computePlatform\\\":\\\"ECS\\\",\\\"deploymentConfigId\\\":\\\"00000000-0000-0000-0000-000000000015\\\",\\\"deploymentConfigName\\\":\\\"CodeDeployDefault.ECSLinear10PercentEvery1Minutes\\\",\\\"trafficRoutingConfig\\\":{\\\"timeBasedLinear\\\":{\\\"linearPercentage\\\":10,\\\"linearInterval\\\":1},\\\"type\\\":\\\"TimeBasedLinear\\\"}}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"00000000-0000-0000-0000-000000000015","resourceName":"CodeDeployDefault.ECSLinear10PercentEvery1Minutes","resourceType":"AWS::CodeDeploy::DeploymentConfig","resourceValue":null,"state":null,"tags":"[]","title":"CodeDeployDefault.ECSLinear10PercentEvery1Minutes","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-985.5,"y":-339.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.ECSCanary10Percent15Minutes","resourceId":["00000000-0000-0000-0000-000000000022","arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.ECSCanary10Percent15Minutes"],"parent":"DeploymentConfig-eu-west-1-044981683129","level":3,"id":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.ECSCanary10Percent15Minutes","title":"CodeDeployDefault.ECSCanary10Percent15Minutes","label":"CodeDeployDe...","shape":"image","type":"resource","accountColour":"rgba(11, 145, 40, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.ECSCanary10Percent15Minutes","cost":0,"private":false,"resource":{"id":"00000000-0000-0000-0000-000000000022","name":"CodeDeployDefault.ECSCanary10Percent15Minutes","value":null,"type":"AWS::CodeDeploy::DeploymentConfig","tags":"[]","arn":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.ECSCanary10Percent15Minutes","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"044981683129"},"highlight":true,"existing":false,"properties":{"accountId":"044981683129","arn":"arn:aws:codedeploy:eu-west-1:044981683129:deploymentconfig:CodeDeployDefault.ECSCanary10Percent15Minutes","configuration":"\"{\\\"computePlatform\\\":\\\"ECS\\\",\\\"deploymentConfigId\\\":\\\"00000000-0000-0000-0000-000000000022\\\",\\\"deploymentConfigName\\\":\\\"CodeDeployDefault.ECSCanary10Percent15Minutes\\\",\\\"trafficRoutingConfig\\\":{\\\"type\\\":\\\"TimeBasedCanary\\\",\\\"timeBasedCanary\\\":{\\\"canaryPercentage\\\":10,\\\"canaryInterval\\\":15}}}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"00000000-0000-0000-0000-000000000022","resourceName":"CodeDeployDefault.ECSCanary10Percent15Minutes","resourceType":"AWS::CodeDeploy::DeploymentConfig","resourceValue":null,"state":null,"tags":"[]","title":"CodeDeployDefault.ECSCanary10Percent15Minutes","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-912.5,"y":-558.25},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent10Minutes","resourceId":["00000000-0000-0000-0000-000000000008","arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent10Minutes"],"parent":"DeploymentConfig-eu-west-1-060997615305","level":3,"id":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent10Minutes","title":"CodeDeployDefault.LambdaCanary10Percent10Minutes","label":"CodeDeployDe...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent10Minutes","cost":0,"private":false,"resource":{"id":"00000000-0000-0000-0000-000000000008","name":"CodeDeployDefault.LambdaCanary10Percent10Minutes","value":null,"type":"AWS::CodeDeploy::DeploymentConfig","tags":"[]","arn":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent10Minutes","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent10Minutes","configuration":"\"{\\\"computePlatform\\\":\\\"Lambda\\\",\\\"deploymentConfigId\\\":\\\"00000000-0000-0000-0000-000000000008\\\",\\\"deploymentConfigName\\\":\\\"CodeDeployDefault.LambdaCanary10Percent10Minutes\\\",\\\"trafficRoutingConfig\\\":{\\\"type\\\":\\\"TimeBasedCanary\\\",\\\"timeBasedCanary\\\":{\\\"canaryPercentage\\\":10,\\\"canaryInterval\\\":10}}}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"00000000-0000-0000-0000-000000000008","resourceName":"CodeDeployDefault.LambdaCanary10Percent10Minutes","resourceType":"AWS::CodeDeploy::DeploymentConfig","resourceValue":null,"state":null,"tags":"[]","title":"CodeDeployDefault.LambdaCanary10Percent10Minutes","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-1138.5,"y":1363.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent15Minutes","resourceId":["00000000-0000-0000-0000-000000000009","arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent15Minutes"],"parent":"DeploymentConfig-eu-west-2-060997615305","level":3,"id":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent15Minutes","title":"CodeDeployDefault.LambdaCanary10Percent15Minutes","label":"CodeDeployDe...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent15Minutes","cost":0,"private":false,"resource":{"id":"00000000-0000-0000-0000-000000000009","name":"CodeDeployDefault.LambdaCanary10Percent15Minutes","value":null,"type":"AWS::CodeDeploy::DeploymentConfig","tags":"[]","arn":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent15Minutes","region":"eu-west-2","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.LambdaCanary10Percent15Minutes","configuration":"\"{\\\"computePlatform\\\":\\\"Lambda\\\",\\\"deploymentConfigId\\\":\\\"00000000-0000-0000-0000-000000000009\\\",\\\"deploymentConfigName\\\":\\\"CodeDeployDefault.LambdaCanary10Percent15Minutes\\\",\\\"trafficRoutingConfig\\\":{\\\"type\\\":\\\"TimeBasedCanary\\\",\\\"timeBasedCanary\\\":{\\\"canaryPercentage\\\":10,\\\"canaryInterval\\\":15}}}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"00000000-0000-0000-0000-000000000009","resourceName":"CodeDeployDefault.LambdaCanary10Percent15Minutes","resourceType":"AWS::CodeDeploy::DeploymentConfig","resourceValue":null,"state":null,"tags":"[]","title":"CodeDeployDefault.LambdaCanary10Percent15Minutes","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-274.5,"y":1363.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery1Minute","resourceId":["00000000-0000-0000-0000-000000000010","arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery1Minute"],"parent":"DeploymentConfig-eu-west-2-060997615305","level":3,"id":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery1Minute","title":"CodeDeployDefault.LambdaLinear10PercentEvery1Minute","label":"CodeDeployDe...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery1Minute","cost":0,"private":false,"resource":{"id":"00000000-0000-0000-0000-000000000010","name":"CodeDeployDefault.LambdaLinear10PercentEvery1Minute","value":null,"type":"AWS::CodeDeploy::DeploymentConfig","tags":"[]","arn":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery1Minute","region":"eu-west-2","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery1Minute","configuration":"\"{\\\"computePlatform\\\":\\\"Lambda\\\",\\\"deploymentConfigId\\\":\\\"00000000-0000-0000-0000-000000000010\\\",\\\"deploymentConfigName\\\":\\\"CodeDeployDefault.LambdaLinear10PercentEvery1Minute\\\",\\\"trafficRoutingConfig\\\":{\\\"timeBasedLinear\\\":{\\\"linearPercentage\\\":10,\\\"linearInterval\\\":1},\\\"type\\\":\\\"TimeBasedLinear\\\"}}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"00000000-0000-0000-0000-000000000010","resourceName":"CodeDeployDefault.LambdaLinear10PercentEvery1Minute","resourceType":"AWS::CodeDeploy::DeploymentConfig","resourceValue":null,"state":null,"tags":"[]","title":"CodeDeployDefault.LambdaLinear10PercentEvery1Minute","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-201.5,"y":1363.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.OneAtATime","resourceId":["00000000-0000-0000-0000-000000000001","arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.OneAtATime"],"parent":"DeploymentConfig-eu-west-1-060997615305","level":3,"id":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.OneAtATime","title":"CodeDeployDefault.OneAtATime","label":"CodeDeployDe...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.OneAtATime","cost":0,"private":false,"resource":{"id":"00000000-0000-0000-0000-000000000001","name":"CodeDeployDefault.OneAtATime","value":null,"type":"AWS::CodeDeploy::DeploymentConfig","tags":"[]","arn":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.OneAtATime","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.OneAtATime","configuration":"\"{\\\"computePlatform\\\":\\\"Server\\\",\\\"deploymentConfigId\\\":\\\"00000000-0000-0000-0000-000000000001\\\",\\\"minimumHealthyHosts\\\":{\\\"type\\\":\\\"MOST_CONCURRENCY\\\",\\\"value\\\":1},\\\"deploymentConfigName\\\":\\\"CodeDeployDefault.OneAtATime\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"00000000-0000-0000-0000-000000000001","resourceName":"CodeDeployDefault.OneAtATime","resourceType":"AWS::CodeDeploy::DeploymentConfig","resourceValue":null,"state":null,"tags":"[]","title":"CodeDeployDefault.OneAtATime","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-1065.5,"y":1363.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.HalfAtATime","resourceId":["00000000-0000-0000-0000-000000000003","arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.HalfAtATime"],"parent":"DeploymentConfig-eu-west-1-060997615305","level":3,"id":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.HalfAtATime","title":"CodeDeployDefault.HalfAtATime","label":"CodeDeployDe...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.HalfAtATime","cost":0,"private":false,"resource":{"id":"00000000-0000-0000-0000-000000000003","name":"CodeDeployDefault.HalfAtATime","value":null,"type":"AWS::CodeDeploy::DeploymentConfig","tags":"[]","arn":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.HalfAtATime","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.HalfAtATime","configuration":"\"{\\\"computePlatform\\\":\\\"Server\\\",\\\"deploymentConfigId\\\":\\\"00000000-0000-0000-0000-000000000003\\\",\\\"minimumHealthyHosts\\\":{\\\"type\\\":\\\"FLEET_PERCENT\\\",\\\"value\\\":50},\\\"deploymentConfigName\\\":\\\"CodeDeployDefault.HalfAtATime\\\"}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"00000000-0000-0000-0000-000000000003","resourceName":"CodeDeployDefault.HalfAtATime","resourceType":"AWS::CodeDeploy::DeploymentConfig","resourceValue":null,"state":null,"tags":"[]","title":"CodeDeployDefault.HalfAtATime","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-992.5,"y":1363.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.LambdaAllAtOnce","resourceId":["00000000-0000-0000-0000-000000000005","arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.LambdaAllAtOnce"],"parent":"DeploymentConfig-eu-west-2-060997615305","level":3,"id":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.LambdaAllAtOnce","title":"CodeDeployDefault.LambdaAllAtOnce","label":"CodeDeployDe...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.LambdaAllAtOnce","cost":0,"private":false,"resource":{"id":"00000000-0000-0000-0000-000000000005","name":"CodeDeployDefault.LambdaAllAtOnce","value":null,"type":"AWS::CodeDeploy::DeploymentConfig","tags":"[]","arn":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.LambdaAllAtOnce","region":"eu-west-2","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.LambdaAllAtOnce","configuration":"\"{\\\"computePlatform\\\":\\\"Lambda\\\",\\\"deploymentConfigId\\\":\\\"00000000-0000-0000-0000-000000000005\\\",\\\"deploymentConfigName\\\":\\\"CodeDeployDefault.LambdaAllAtOnce\\\",\\\"trafficRoutingConfig\\\":{\\\"type\\\":\\\"AllAtOnce\\\"}}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"00000000-0000-0000-0000-000000000005","resourceName":"CodeDeployDefault.LambdaAllAtOnce","resourceType":"AWS::CodeDeploy::DeploymentConfig","resourceValue":null,"state":null,"tags":"[]","title":"CodeDeployDefault.LambdaAllAtOnce","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-128.5,"y":1363.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery3Minutes","resourceId":["00000000-0000-0000-0000-000000000012","arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery3Minutes"],"parent":"DeploymentConfig-eu-west-1-060997615305","level":3,"id":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery3Minutes","title":"CodeDeployDefault.LambdaLinear10PercentEvery3Minutes","label":"CodeDeployDe...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery3Minutes","cost":0,"private":false,"resource":{"id":"00000000-0000-0000-0000-000000000012","name":"CodeDeployDefault.LambdaLinear10PercentEvery3Minutes","value":null,"type":"AWS::CodeDeploy::DeploymentConfig","tags":"[]","arn":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery3Minutes","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.LambdaLinear10PercentEvery3Minutes","configuration":"\"{\\\"computePlatform\\\":\\\"Lambda\\\",\\\"deploymentConfigId\\\":\\\"00000000-0000-0000-0000-000000000012\\\",\\\"deploymentConfigName\\\":\\\"CodeDeployDefault.LambdaLinear10PercentEvery3Minutes\\\",\\\"trafficRoutingConfig\\\":{\\\"timeBasedLinear\\\":{\\\"linearPercentage\\\":10,\\\"linearInterval\\\":3},\\\"type\\\":\\\"TimeBasedLinear\\\"}}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"00000000-0000-0000-0000-000000000012","resourceName":"CodeDeployDefault.LambdaLinear10PercentEvery3Minutes","resourceType":"AWS::CodeDeploy::DeploymentConfig","resourceValue":null,"state":null,"tags":"[]","title":"CodeDeployDefault.LambdaLinear10PercentEvery3Minutes","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-919.5,"y":1363.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.ECSAllAtOnce","resourceId":["00000000-0000-0000-0000-000000000013","arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.ECSAllAtOnce"],"parent":"DeploymentConfig-eu-west-2-060997615305","level":3,"id":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.ECSAllAtOnce","title":"CodeDeployDefault.ECSAllAtOnce","label":"CodeDeployDe...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.ECSAllAtOnce","cost":0,"private":false,"resource":{"id":"00000000-0000-0000-0000-000000000013","name":"CodeDeployDefault.ECSAllAtOnce","value":null,"type":"AWS::CodeDeploy::DeploymentConfig","tags":"[]","arn":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.ECSAllAtOnce","region":"eu-west-2","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.ECSAllAtOnce","configuration":"\"{\\\"computePlatform\\\":\\\"ECS\\\",\\\"deploymentConfigId\\\":\\\"00000000-0000-0000-0000-000000000013\\\",\\\"deploymentConfigName\\\":\\\"CodeDeployDefault.ECSAllAtOnce\\\",\\\"trafficRoutingConfig\\\":{\\\"type\\\":\\\"AllAtOnce\\\"}}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"00000000-0000-0000-0000-000000000013","resourceName":"CodeDeployDefault.ECSAllAtOnce","resourceType":"AWS::CodeDeploy::DeploymentConfig","resourceValue":null,"state":null,"tags":"[]","title":"CodeDeployDefault.ECSAllAtOnce","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-55.5,"y":1363.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.ECSLinear10PercentEvery1Minutes","resourceId":["00000000-0000-0000-0000-000000000015","arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.ECSLinear10PercentEvery1Minutes"],"parent":"DeploymentConfig-eu-west-1-060997615305","level":3,"id":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.ECSLinear10PercentEvery1Minutes","title":"CodeDeployDefault.ECSLinear10PercentEvery1Minutes","label":"CodeDeployDe...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(79, 16, 163, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.ECSLinear10PercentEvery1Minutes","cost":0,"private":false,"resource":{"id":"00000000-0000-0000-0000-000000000015","name":"CodeDeployDefault.ECSLinear10PercentEvery1Minutes","value":null,"type":"AWS::CodeDeploy::DeploymentConfig","tags":"[]","arn":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.ECSLinear10PercentEvery1Minutes","region":"eu-west-1","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:codedeploy:eu-west-1:060997615305:deploymentconfig:CodeDeployDefault.ECSLinear10PercentEvery1Minutes","configuration":"\"{\\\"computePlatform\\\":\\\"ECS\\\",\\\"deploymentConfigId\\\":\\\"00000000-0000-0000-0000-000000000015\\\",\\\"deploymentConfigName\\\":\\\"CodeDeployDefault.ECSLinear10PercentEvery1Minutes\\\",\\\"trafficRoutingConfig\\\":{\\\"timeBasedLinear\\\":{\\\"linearPercentage\\\":10,\\\"linearInterval\\\":1},\\\"type\\\":\\\"TimeBasedLinear\\\"}}\"","awsRegion":"eu-west-1","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"00000000-0000-0000-0000-000000000015","resourceName":"CodeDeployDefault.ECSLinear10PercentEvery1Minutes","resourceType":"AWS::CodeDeploy::DeploymentConfig","resourceValue":null,"state":null,"tags":"[]","title":"CodeDeployDefault.ECSLinear10PercentEvery1Minutes","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":-846.5,"y":1144.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"},{"data":{"arn":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.ECSLinear10PercentEvery3Minutes","resourceId":["00000000-0000-0000-0000-000000000016","arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.ECSLinear10PercentEvery3Minutes"],"parent":"DeploymentConfig-eu-west-2-060997615305","level":3,"id":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.ECSLinear10PercentEvery3Minutes","title":"CodeDeployDefault.ECSLinear10PercentEvery3Minutes","label":"CodeDeployDe...","shape":"image","type":"resource","accountColour":"rgba(71, 1, 145, 0.5)","regionColour":"rgba(178, 105, 10, 0.5)","color":"#fff","borderStyle":"solid","borderColour":"#545B64","borderOpacity":0.25,"borderSize":1,"opacity":"0","clickedId":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.ECSLinear10PercentEvery3Minutes","cost":0,"private":false,"resource":{"id":"00000000-0000-0000-0000-000000000016","name":"CodeDeployDefault.ECSLinear10PercentEvery3Minutes","value":null,"type":"AWS::CodeDeploy::DeploymentConfig","tags":"[]","arn":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.ECSLinear10PercentEvery3Minutes","region":"eu-west-2","state":null,"loggedInURL":null,"loginURL":null,"accountId":"060997615305"},"highlight":true,"existing":false,"properties":{"accountId":"060997615305","arn":"arn:aws:codedeploy:eu-west-2:060997615305:deploymentconfig:CodeDeployDefault.ECSLinear10PercentEvery3Minutes","configuration":"\"{\\\"computePlatform\\\":\\\"ECS\\\",\\\"deploymentConfigId\\\":\\\"00000000-0000-0000-0000-000000000016\\\",\\\"deploymentConfigName\\\":\\\"CodeDeployDefault.ECSLinear10PercentEvery3Minutes\\\",\\\"trafficRoutingConfig\\\":{\\\"timeBasedLinear\\\":{\\\"linearPercentage\\\":10,\\\"linearInterval\\\":3},\\\"type\\\":\\\"TimeBasedLinear\\\"}}\"","awsRegion":"eu-west-2","availabilityZone":"Not Applicable","vpcId":null,"subnetId":null,"loggedInURL":null,"loginURL":null,"private":null,"resourceId":"00000000-0000-0000-0000-000000000016","resourceName":"CodeDeployDefault.ECSLinear10PercentEvery3Minutes","resourceType":"AWS::CodeDeploy::DeploymentConfig","resourceValue":null,"state":null,"tags":"[]","title":"CodeDeployDefault.ECSLinear10PercentEvery3Minutes","instanceType":null,"statement":null,"dBInstanceStatus":null},"selected":true},"position":{"x":17.5,"y":1144.75},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"resource clicked image selectable hoverover"}],"edges":[{"data":{"id":"arn:aws:iam::044981683129:role/aws-perspective-v2-TaskSt-CleanupRepositoryFunctio-UVL1GLKHSI05-arn:aws:iam::044981683129:role/aws-perspective-v2-TaskSt-CleanupRepositoryFunctio-UVL1GLKHSI05/inlinePolicy/CleanupRepositoryFunctionRolePolicy0","label":"aws-perspective-v2-TaskSt-CleanupRepositoryFunctio-UVL1GLKHSI05-arn:aws:iam::044981683129:role/aws-perspective-v2-TaskSt-CleanupRepositoryFunctio-UVL1GLKHSI05/inlinePolicy/CleanupRepositoryFunctionRolePolicy0","source":"arn:aws:iam::044981683129:role/aws-perspective-v2-TaskSt-CleanupRepositoryFunctio-UVL1GLKHSI05","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/aws-perspective-v2-TaskSt-CleanupRepositoryFunctio-UVL1GLKHSI05/inlinePolicy/CleanupRepositoryFunctionRolePolicy0","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/aws-perspective-v2-TaskSt-CleanupRepositoryFunctio-UVL1GLKHSI05-arn:aws:tags::044981683129:tag/lambda:createdBy=SAM","label":"aws-perspective-v2-TaskSt-CleanupRepositoryFunctio-UVL1GLKHSI05-lambda:createdBy=SAM","source":"arn:aws:iam::044981683129:role/aws-perspective-v2-TaskSt-CleanupRepositoryFunctio-UVL1GLKHSI05","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:tags::044981683129:tag/lambda:createdBy=SAM","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/ecs-refarch-london-LifecycleHo-LambdaExecutionRole-BX4OB43HKG8T-arn:aws:iam::044981683129:role/ecs-refarch-london-LifecycleHo-LambdaExecutionRole-BX4OB43HKG8T/inlinePolicy/lambda-inline","label":"ecs-refarch-london-LifecycleHo-LambdaExecutionRole-BX4OB43HKG8T-arn:aws:iam::044981683129:role/ecs-refarch-london-LifecycleHo-LambdaExecutionRole-BX4OB43HKG8T/inlinePolicy/lambda-inline","source":"arn:aws:iam::044981683129:role/ecs-refarch-london-LifecycleHo-LambdaExecutionRole-BX4OB43HKG8T","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/ecs-refarch-london-LifecycleHo-LambdaExecutionRole-BX4OB43HKG8T/inlinePolicy/lambda-inline","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/aws-perspective-v2-WebUiSet-UiSettingsResourceRole-B7WG9VIEZ34K-arn:aws:iam::044981683129:role/aws-perspective-v2-WebUiSet-UiSettingsResourceRole-B7WG9VIEZ34K/inlinePolicy/UiSettingsResourceRolePolicy0","label":"aws-perspective-v2-WebUiSet-UiSettingsResourceRole-B7WG9VIEZ34K-arn:aws:iam::044981683129:role/aws-perspective-v2-WebUiSet-UiSettingsResourceRole-B7WG9VIEZ34K/inlinePolicy/UiSettingsResourceRolePolicy0","source":"arn:aws:iam::044981683129:role/aws-perspective-v2-WebUiSet-UiSettingsResourceRole-B7WG9VIEZ34K","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/aws-perspective-v2-WebUiSet-UiSettingsResourceRole-B7WG9VIEZ34K/inlinePolicy/UiSettingsResourceRolePolicy0","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/aws-perspective-v2-WebUiSet-UiSettingsResourceRole-B7WG9VIEZ34K-arn:aws:tags::044981683129:tag/lambda:createdBy=SAM","label":"aws-perspective-v2-WebUiSet-UiSettingsResourceRole-B7WG9VIEZ34K-lambda:createdBy=SAM","source":"arn:aws:iam::044981683129:role/aws-perspective-v2-WebUiSet-UiSettingsResourceRole-B7WG9VIEZ34K","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:tags::044981683129:tag/lambda:createdBy=SAM","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-InitializeConfigTableFun-1LT7V0XX21J3E-arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-InitializeConfigTableFun-1LT7V0XX21J3E/inlinePolicy/InitializeConfigTableFunctionRolePolicy0","label":"mda-stack-Workload-1V66ZW-InitializeConfigTableFun-1LT7V0XX21J3E-arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-InitializeConfigTableFun-1LT7V0XX21J3E/inlinePolicy/InitializeConfigTableFunctionRolePolicy0","source":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-InitializeConfigTableFun-1LT7V0XX21J3E","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-InitializeConfigTableFun-1LT7V0XX21J3E/inlinePolicy/InitializeConfigTableFunctionRolePolicy0","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-InitializeConfigTableFun-1LT7V0XX21J3E-arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-InitializeConfigTableFun-1LT7V0XX21J3E/inlinePolicy/InitializeConfigTableFunctionRolePolicy1","label":"mda-stack-Workload-1V66ZW-InitializeConfigTableFun-1LT7V0XX21J3E-arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-InitializeConfigTableFun-1LT7V0XX21J3E/inlinePolicy/InitializeConfigTableFunctionRolePolicy1","source":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-InitializeConfigTableFun-1LT7V0XX21J3E","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-InitializeConfigTableFun-1LT7V0XX21J3E/inlinePolicy/InitializeConfigTableFunctionRolePolicy1","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-InitializeConfigTableFun-1LT7V0XX21J3E-arn:aws:tags::044981683129:tag/lambda:createdBy=SAM","label":"mda-stack-Workload-1V66ZW-InitializeConfigTableFun-1LT7V0XX21J3E-lambda:createdBy=SAM","source":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-InitializeConfigTableFun-1LT7V0XX21J3E","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:tags::044981683129:tag/lambda:createdBy=SAM","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/IsengardRoleForOptInComputeOptimizer-arn:aws:iam::044981683129:role/IsengardRoleForOptInComputeOptimizer/inlinePolicy/AWSComputeOptimizerAccessPolicy","label":"IsengardRoleForOptInComputeOptimizer-arn:aws:iam::044981683129:role/IsengardRoleForOptInComputeOptimizer/inlinePolicy/AWSComputeOptimizerAccessPolicy","source":"arn:aws:iam::044981683129:role/IsengardRoleForOptInComputeOptimizer","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/IsengardRoleForOptInComputeOptimizer/inlinePolicy/AWSComputeOptimizerAccessPolicy","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/workload-discovery-iad-Ap-PerspectiveAppSyncLoggin-1JVQCCJ1SUB3A-arn:aws:iam::044981683129:role/workload-discovery-iad-Ap-PerspectiveAppSyncLoggin-1JVQCCJ1SUB3A/inlinePolicy/workload-discovery-iad-AppSyncApiStack-QJLKHDH4MCPR-AWSAppSyncPushToCloudWatchLogsPolicy","label":"workload-discovery-iad-Ap-PerspectiveAppSyncLoggin-1JVQCCJ1SUB3A-arn:aws:iam::044981683129:role/workload-discovery-iad-Ap-PerspectiveAppSyncLoggin-1JVQCCJ1SUB3A/inlinePolicy/workload-discovery-iad-AppSyncApiStack-QJLKHDH4MCPR-AWSAppSyncPushToCloudWatchLogsPolicy","source":"arn:aws:iam::044981683129:role/workload-discovery-iad-Ap-PerspectiveAppSyncLoggin-1JVQCCJ1SUB3A","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/workload-discovery-iad-Ap-PerspectiveAppSyncLoggin-1JVQCCJ1SUB3A/inlinePolicy/workload-discovery-iad-AppSyncApiStack-QJLKHDH4MCPR-AWSAppSyncPushToCloudWatchLogsPolicy","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/demo-test-api-ExecutionRole-BD7IOPNAKNZG-arn:aws:iam::044981683129:role/demo-test-api-ExecutionRole-BD7IOPNAKNZG/inlinePolicy/demo-test-apiSecretsPolicy","label":"demo-test-api-ExecutionRole-BD7IOPNAKNZG-arn:aws:iam::044981683129:role/demo-test-api-ExecutionRole-BD7IOPNAKNZG/inlinePolicy/demo-test-apiSecretsPolicy","source":"arn:aws:iam::044981683129:role/demo-test-api-ExecutionRole-BD7IOPNAKNZG","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/demo-test-api-ExecutionRole-BD7IOPNAKNZG/inlinePolicy/demo-test-apiSecretsPolicy","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/demo-test-api-ExecutionRole-BD7IOPNAKNZG-arn:aws:tags::044981683129:tag/copilot-environment=test","label":"demo-test-api-ExecutionRole-BD7IOPNAKNZG-copilot-environment=test","source":"arn:aws:iam::044981683129:role/demo-test-api-ExecutionRole-BD7IOPNAKNZG","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:tags::044981683129:tag/copilot-environment=test","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/demo-test-api-ExecutionRole-BD7IOPNAKNZG-arn:aws:tags::044981683129:tag/copilot-application=demo","label":"demo-test-api-ExecutionRole-BD7IOPNAKNZG-copilot-application=demo","source":"arn:aws:iam::044981683129:role/demo-test-api-ExecutionRole-BD7IOPNAKNZG","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:tags::044981683129:tag/copilot-application=demo","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/demo-test-api-ExecutionRole-BD7IOPNAKNZG-arn:aws:tags::044981683129:tag/copilot-service=api","label":"demo-test-api-ExecutionRole-BD7IOPNAKNZG-copilot-service=api","source":"arn:aws:iam::044981683129:role/demo-test-api-ExecutionRole-BD7IOPNAKNZG","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:tags::044981683129:tag/copilot-service=api","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/workload-discovery-iad-At-AWSCURCrawlerComponentFu-1CO5IJZYH1XW7-arn:aws:iam::044981683129:role/workload-discovery-iad-At-AWSCURCrawlerComponentFu-1CO5IJZYH1XW7/inlinePolicy/AWSCURCrawlerComponentFunction","label":"workload-discovery-iad-At-AWSCURCrawlerComponentFu-1CO5IJZYH1XW7-arn:aws:iam::044981683129:role/workload-discovery-iad-At-AWSCURCrawlerComponentFu-1CO5IJZYH1XW7/inlinePolicy/AWSCURCrawlerComponentFunction","source":"arn:aws:iam::044981683129:role/workload-discovery-iad-At-AWSCURCrawlerComponentFu-1CO5IJZYH1XW7","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/workload-discovery-iad-At-AWSCURCrawlerComponentFu-1CO5IJZYH1XW7/inlinePolicy/AWSCURCrawlerComponentFunction","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/workload-discovery-iad-Co-RunCodebuildFunctionRole-1T6UMU20RU0QY-arn:aws:iam::044981683129:role/workload-discovery-iad-Co-RunCodebuildFunctionRole-1T6UMU20RU0QY/inlinePolicy/RunCodebuildFunctionRolePolicy0","label":"workload-discovery-iad-Co-RunCodebuildFunctionRole-1T6UMU20RU0QY-arn:aws:iam::044981683129:role/workload-discovery-iad-Co-RunCodebuildFunctionRole-1T6UMU20RU0QY/inlinePolicy/RunCodebuildFunctionRolePolicy0","source":"arn:aws:iam::044981683129:role/workload-discovery-iad-Co-RunCodebuildFunctionRole-1T6UMU20RU0QY","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/workload-discovery-iad-Co-RunCodebuildFunctionRole-1T6UMU20RU0QY/inlinePolicy/RunCodebuildFunctionRolePolicy0","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/workload-discovery-iad-Co-RunCodebuildFunctionRole-1T6UMU20RU0QY-arn:aws:tags::044981683129:tag/lambda:createdBy=SAM","label":"workload-discovery-iad-Co-RunCodebuildFunctionRole-1T6UMU20RU0QY-lambda:createdBy=SAM","source":"arn:aws:iam::044981683129:role/workload-discovery-iad-Co-RunCodebuildFunctionRole-1T6UMU20RU0QY","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:tags::044981683129:tag/lambda:createdBy=SAM","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/workload-discovery-iad-Se-PerspectiveSettingsLambd-OMYRZRVGEN51-arn:aws:iam::044981683129:role/workload-discovery-iad-Se-PerspectiveSettingsLambd-OMYRZRVGEN51/inlinePolicy/workload-discovery-iad-SettingsResolversStack-5BT7BQGN8YN6-AppSyncRole","label":"workload-discovery-iad-Se-PerspectiveSettingsLambd-OMYRZRVGEN51-arn:aws:iam::044981683129:role/workload-discovery-iad-Se-PerspectiveSettingsLambd-OMYRZRVGEN51/inlinePolicy/workload-discovery-iad-SettingsResolversStack-5BT7BQGN8YN6-AppSyncRole","source":"arn:aws:iam::044981683129:role/workload-discovery-iad-Se-PerspectiveSettingsLambd-OMYRZRVGEN51","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/workload-discovery-iad-Se-PerspectiveSettingsLambd-OMYRZRVGEN51/inlinePolicy/workload-discovery-iad-SettingsResolversStack-5BT7BQGN8YN6-AppSyncRole","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-NeptuneStack-CM7XDBXLQO-NeptuneRole-KGYU2749RSW-arn:aws:iam::044981683129:policy/wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-NeptuneCloudWatchPolicy-B99K1SZP0HZV","label":"wd2-2022-10-07-NeptuneStack-CM7XDBXLQO-NeptuneRole-KGYU2749RSW-wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-NeptuneCloudWatchPolicy-B99K1SZP0HZV","source":"arn:aws:iam::044981683129:role/wd2-2022-10-07-NeptuneStack-CM7XDBXLQO-NeptuneRole-KGYU2749RSW","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:policy/wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-NeptuneCloudWatchPolicy-B99K1SZP0HZV","targetMetadata":{"type":"AWS::IAM::Policy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-NeptuneStack-CM7XDBXLQO-NeptuneRole-KGYU2749RSW-arn:aws:iam::044981683129:policy/wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-NeptuneS3Policy-1EZQWI2TFXK5R","label":"wd2-2022-10-07-NeptuneStack-CM7XDBXLQO-NeptuneRole-KGYU2749RSW-wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-NeptuneS3Policy-1EZQWI2TFXK5R","source":"arn:aws:iam::044981683129:role/wd2-2022-10-07-NeptuneStack-CM7XDBXLQO-NeptuneRole-KGYU2749RSW","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:policy/wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-NeptuneS3Policy-1EZQWI2TFXK5R","targetMetadata":{"type":"AWS::IAM::Policy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-NeptuneStack-CM7XDBXLQO-NeptuneRole-KGYU2749RSW-arn:aws:tags::044981683129:tag/AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b","label":"wd2-2022-10-07-NeptuneStack-CM7XDBXLQO-NeptuneRole-KGYU2749RSW-AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b","source":"arn:aws:iam::044981683129:role/wd2-2022-10-07-NeptuneStack-CM7XDBXLQO-NeptuneRole-KGYU2749RSW","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:tags::044981683129:tag/AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-NeptuneStack-CM7XDBXLQO-NeptuneRole-KGYU2749RSW-arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2/095e7890-4669-11ed-ab67-0a55c4146165","label":"wd2-2022-10-07-NeptuneStack-CM7XDBXLQO-NeptuneRole-KGYU2749RSW-wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2","source":"arn:aws:iam::044981683129:role/wd2-2022-10-07-NeptuneStack-CM7XDBXLQO-NeptuneRole-KGYU2749RSW","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2/095e7890-4669-11ed-ab67-0a55c4146165","targetMetadata":{"type":"AWS::CloudFormation::Stack","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/admin-arn:aws:iam::060997615305:role/admin/inlinePolicy/goshawk","label":"admin-arn:aws:iam::060997615305:role/admin/inlinePolicy/goshawk","source":"arn:aws:iam::060997615305:role/admin","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::060997615305:role/admin/inlinePolicy/goshawk","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/CodeStarWorker-codestar-test-CloudFormation-arn:aws:iam::060997615305:role/CodeStarWorker-codestar-test-CloudFormation/inlinePolicy/CodeStarWorkerCloudFormationRolePolicy","label":"CodeStarWorker-codestar-test-CloudFormation-arn:aws:iam::060997615305:role/CodeStarWorker-codestar-test-CloudFormation/inlinePolicy/CodeStarWorkerCloudFormationRolePolicy","source":"arn:aws:iam::060997615305:role/CodeStarWorker-codestar-test-CloudFormation","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::060997615305:role/CodeStarWorker-codestar-test-CloudFormation/inlinePolicy/CodeStarWorkerCloudFormationRolePolicy","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/CodeStarWorker-codestar-test-CloudFormation-arn:aws:iam::060997615305:role/CodeStarWorker-codestar-test-CodePipeline/inlinePolicy/CodeStarWorkerCodePipelineRolePolicy","label":"CodeStarWorker-codestar-test-CloudFormation-arn:aws:iam::060997615305:role/CodeStarWorker-codestar-test-CodePipeline/inlinePolicy/CodeStarWorkerCodePipelineRolePolicy","source":"arn:aws:iam::060997615305:role/CodeStarWorker-codestar-test-CloudFormation","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::060997615305:role/CodeStarWorker-codestar-test-CodePipeline/inlinePolicy/CodeStarWorkerCodePipelineRolePolicy","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/CodeStarWorker-codestar-test-CloudFormation-arn:aws:cloudformation:eu-west-2:060997615305:stack/awscodestar-codestar-test/7444a760-eccc-11e8-8d21-0666d0c49208","label":"CodeStarWorker-codestar-test-CloudFormation-awscodestar-codestar-test","source":"arn:aws:iam::060997615305:role/CodeStarWorker-codestar-test-CloudFormation","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:cloudformation:eu-west-2:060997615305:stack/awscodestar-codestar-test/7444a760-eccc-11e8-8d21-0666d0c49208","targetMetadata":{"type":"AWS::CloudFormation::Stack","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD-arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/access-appsync","label":"wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD-arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/access-appsync","source":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/access-appsync","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD-arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/assume-perspective-remote-discovery-role","label":"wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD-arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/assume-perspective-remote-discovery-role","source":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/assume-perspective-remote-discovery-role","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD-arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/perspective-discovery-cluster","label":"wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD-arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/perspective-discovery-cluster","source":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/perspective-discovery-cluster","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD-arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/config-policy","label":"wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD-arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/config-policy","source":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/config-policy","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD-arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/ec2-policies","label":"wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD-arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/ec2-policies","source":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/ec2-policies","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD-arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/list-account-policy","label":"wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD-arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/list-account-policy","source":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD/inlinePolicy/list-account-policy","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD-arn:aws:tags::044981683129:tag/AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b","label":"wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD-AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b","source":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:tags::044981683129:tag/AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD-arn:aws:ecs:eu-west-1:044981683129:task-definition/workload-discovery-taskgroup:18","label":"wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD-workload-discovery-taskgroup:18","source":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:ecs:eu-west-1:044981683129:task-definition/workload-discovery-taskgroup:18","targetMetadata":{"type":"AWS::ECS::TaskDefinition","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD-arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-TaskStack-HRSVA4HB3B79/e2929100-4669-11ed-b4d3-06482d7663f5","label":"wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD-wd2-2022-10-07-TaskStack-HRSVA4HB3B79","source":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-PerspectiveDiscoveryTask-9VPQ39XHSRAD","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-TaskStack-HRSVA4HB3B79/e2929100-4669-11ed-b4d3-06482d7663f5","targetMetadata":{"type":"AWS::CloudFormation::Stack","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/service-role/AmazonSageMaker-ExecutionRole-20181218T093010-arn:aws:iam::060997615305:policy/service-role/AmazonSageMaker-ExecutionPolicy-20181218T093010","label":"AmazonSageMaker-ExecutionRole-20181218T093010-AmazonSageMaker-ExecutionPolicy-20181218T093010","source":"arn:aws:iam::060997615305:role/service-role/AmazonSageMaker-ExecutionRole-20181218T093010","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::060997615305:policy/service-role/AmazonSageMaker-ExecutionPolicy-20181218T093010","targetMetadata":{"type":"AWS::IAM::Policy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-1I7GB41YL0MA1-arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-1I7GB41YL0MA1/inlinePolicy/CopyBuildArtefactFunctionRolePolicy0","label":"S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-1I7GB41YL0MA1-arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-1I7GB41YL0MA1/inlinePolicy/CopyBuildArtefactFunctionRolePolicy0","source":"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-1I7GB41YL0MA1","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-1I7GB41YL0MA1/inlinePolicy/CopyBuildArtefactFunctionRolePolicy0","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-1I7GB41YL0MA1-arn:aws:tags::060997615305:tag/lambda:createdBy=SAM","label":"S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-1I7GB41YL0MA1-lambda:createdBy=SAM","source":"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-1I7GB41YL0MA1","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:tags::060997615305:tag/lambda:createdBy=SAM","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-1I7GB41YL0MA1-arn:aws:lambda:eu-west-1:060997615305:function:S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-PQTZA9GICLR","label":"S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-1I7GB41YL0MA1-S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-PQTZA9GICLR","source":"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-1I7GB41YL0MA1","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:lambda:eu-west-1:060997615305:function:S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-PQTZA9GICLR","targetMetadata":{"type":"AWS::Lambda::Function","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-1I7GB41YL0MA1-arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-DeployStack-1ETR2UF3EM480/387ae640-5bec-11eb-8d21-020f2e5ad013","label":"S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-1I7GB41YL0MA1-S3F2POC-DeployStack-1ETR2UF3EM480","source":"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2-CopyBuildArtefactFunctio-1I7GB41YL0MA1","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-DeployStack-1ETR2UF3EM480/387ae640-5bec-11eb-8d21-020f2e5ad013","targetMetadata":{"type":"AWS::CloudFormation::Stack","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/aws-service-role/ecs.amazonaws.com/AWSServiceRoleForECS-arn:aws:ecs:eu-west-1:060997615305:service/S3F2POC-DelStack-TC52BDMFNB7Q-ECSCluster-kZ8X2p7awLv6/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteService-ngsbUHGOkaHg","label":"AWSServiceRoleForECS-S3F2POC-DelStack-TC52BDMFNB7Q-DeleteService-ngsbUHGOkaHg","source":"arn:aws:iam::060997615305:role/aws-service-role/ecs.amazonaws.com/AWSServiceRoleForECS","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:ecs:eu-west-1:060997615305:service/S3F2POC-DelStack-TC52BDMFNB7Q-ECSCluster-kZ8X2p7awLv6/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteService-ngsbUHGOkaHg","targetMetadata":{"type":"AWS::ECS::Service","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/aws-service-role/ecs.amazonaws.com/AWSServiceRoleForECS-arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-094e8bf3e6b674e9c","label":"AWSServiceRoleForECS-S3F2POC-VpcStack-1UF8O2EU11VA2 Private Subnet 1","source":"arn:aws:iam::060997615305:role/aws-service-role/ecs.amazonaws.com/AWSServiceRoleForECS","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-094e8bf3e6b674e9c","targetMetadata":{"type":"AWS::EC2::Subnet","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/aws-service-role/ecs.amazonaws.com/AWSServiceRoleForECS-arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-0b5f8a2321f4781d9","label":"AWSServiceRoleForECS-S3F2POC-VpcStack-1UF8O2EU11VA2 Private Subnet 3","source":"arn:aws:iam::060997615305:role/aws-service-role/ecs.amazonaws.com/AWSServiceRoleForECS","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-0b5f8a2321f4781d9","targetMetadata":{"type":"AWS::EC2::Subnet","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/aws-service-role/ecs.amazonaws.com/AWSServiceRoleForECS-arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-055bc3199a2ef29c6","label":"AWSServiceRoleForECS-S3F2POC-VpcStack-1UF8O2EU11VA2 Private Subnet 2","source":"arn:aws:iam::060997615305:role/aws-service-role/ecs.amazonaws.com/AWSServiceRoleForECS","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-055bc3199a2ef29c6","targetMetadata":{"type":"AWS::EC2::Subnet","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/builder-portal-intake-form-Api-DefaultRole-1TWA35T7EM8WJ-arn:aws:iam::060997615305:role/builder-portal-intake-form-Api-DefaultRole-1TWA35T7EM8WJ/inlinePolicy/DefaultRolePolicy","label":"builder-portal-intake-form-Api-DefaultRole-1TWA35T7EM8WJ-arn:aws:iam::060997615305:role/builder-portal-intake-form-Api-DefaultRole-1TWA35T7EM8WJ/inlinePolicy/DefaultRolePolicy","source":"arn:aws:iam::060997615305:role/builder-portal-intake-form-Api-DefaultRole-1TWA35T7EM8WJ","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::060997615305:role/builder-portal-intake-form-Api-DefaultRole-1TWA35T7EM8WJ/inlinePolicy/DefaultRolePolicy","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/builder-portal-intake-form-Api-DefaultRole-1TWA35T7EM8WJ-arn:aws:lambda:eu-west-2:060997615305:function:builder-portal-intake-form-Api-APIHandler-1EDQQ97ZAUFF5","label":"builder-portal-intake-form-Api-DefaultRole-1TWA35T7EM8WJ-builder-portal-intake-form-Api-APIHandler-1EDQQ97ZAUFF5","source":"arn:aws:iam::060997615305:role/builder-portal-intake-form-Api-DefaultRole-1TWA35T7EM8WJ","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:lambda:eu-west-2:060997615305:function:builder-portal-intake-form-Api-APIHandler-1EDQQ97ZAUFF5","targetMetadata":{"type":"AWS::Lambda::Function","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/builder-portal-intake-form-Api-DefaultRole-1TWA35T7EM8WJ-arn:aws:cloudformation:eu-west-2:060997615305:stack/builder-portal-intake-form-Api/d2979650-c7e8-11e8-a814-0666d0c49208","label":"builder-portal-intake-form-Api-DefaultRole-1TWA35T7EM8WJ-builder-portal-intake-form-Api","source":"arn:aws:iam::060997615305:role/builder-portal-intake-form-Api-DefaultRole-1TWA35T7EM8WJ","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:cloudformation:eu-west-2:060997615305:stack/builder-portal-intake-form-Api/d2979650-c7e8-11e8-a814-0666d0c49208","targetMetadata":{"type":"AWS::CloudFormation::Stack","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/IsengardRole-DO-NOT-DELETE-arn:aws:iam::060997615305:role/IsengardRole-DO-NOT-DELETE/inlinePolicy/IsengardControllerPolicy","label":"IsengardRole-DO-NOT-DELETE-arn:aws:iam::060997615305:role/IsengardRole-DO-NOT-DELETE/inlinePolicy/IsengardControllerPolicy","source":"arn:aws:iam::060997615305:role/IsengardRole-DO-NOT-DELETE","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::060997615305:role/IsengardRole-DO-NOT-DELETE/inlinePolicy/IsengardControllerPolicy","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/service-role/cwe-role-eu-west-2-solution.builders-arn:aws:iam::060997615305:policy/service-role/start-pipeline-execution-eu-west-2-solution.builders","label":"cwe-role-eu-west-2-solution.builders-start-pipeline-execution-eu-west-2-solution.builders","source":"arn:aws:iam::060997615305:role/service-role/cwe-role-eu-west-2-solution.builders","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::060997615305:policy/service-role/start-pipeline-execution-eu-west-2-solution.builders","targetMetadata":{"type":"AWS::IAM::Policy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2U-CodePipelineServiceRole-76K1D87S852S-arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2U-CodePipelineServiceRole-76K1D87S852S/inlinePolicy/root","label":"S3F2POC-DeployStack-1ETR2U-CodePipelineServiceRole-76K1D87S852S-arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2U-CodePipelineServiceRole-76K1D87S852S/inlinePolicy/root","source":"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2U-CodePipelineServiceRole-76K1D87S852S","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2U-CodePipelineServiceRole-76K1D87S852S/inlinePolicy/root","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2U-CodePipelineServiceRole-76K1D87S852S-arn:aws:codepipeline:eu-west-1:060997615305:S3F2POC-DeployStack-1ETR2UF3EM480-CodePipeline-WAZKN72XJK9P","label":"S3F2POC-DeployStack-1ETR2U-CodePipelineServiceRole-76K1D87S852S-S3F2POC-DeployStack-1ETR2UF3EM480-CodePipeline-WAZKN72XJK9P","source":"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2U-CodePipelineServiceRole-76K1D87S852S","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:codepipeline:eu-west-1:060997615305:S3F2POC-DeployStack-1ETR2UF3EM480-CodePipeline-WAZKN72XJK9P","targetMetadata":{"type":"AWS::CodePipeline::Pipeline","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2U-CodePipelineServiceRole-76K1D87S852S-arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-DeployStack-1ETR2UF3EM480/387ae640-5bec-11eb-8d21-020f2e5ad013","label":"S3F2POC-DeployStack-1ETR2U-CodePipelineServiceRole-76K1D87S852S-S3F2POC-DeployStack-1ETR2UF3EM480","source":"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2U-CodePipelineServiceRole-76K1D87S852S","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-DeployStack-1ETR2UF3EM480/387ae640-5bec-11eb-8d21-020f2e5ad013","targetMetadata":{"type":"AWS::CloudFormation::Stack","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92-arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92/inlinePolicy/CloudFormationPermissions","label":"stackset-function-4-StackSetResourceRole-PKCSUA65DA92-arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92/inlinePolicy/CloudFormationPermissions","source":"arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92/inlinePolicy/CloudFormationPermissions","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92-arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92/inlinePolicy/IAMPassRolePermissions","label":"stackset-function-4-StackSetResourceRole-PKCSUA65DA92-arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92/inlinePolicy/IAMPassRolePermissions","source":"arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92/inlinePolicy/IAMPassRolePermissions","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92-arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92/inlinePolicy/LambdaPermissions","label":"stackset-function-4-StackSetResourceRole-PKCSUA65DA92-arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92/inlinePolicy/LambdaPermissions","source":"arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92/inlinePolicy/LambdaPermissions","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92-arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92/inlinePolicy/S3Permissions","label":"stackset-function-4-StackSetResourceRole-PKCSUA65DA92-arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92/inlinePolicy/S3Permissions","source":"arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::060997615305:role/stackset-function-4-StackSetResourceRole-PKCSUA65DA92/inlinePolicy/S3Permissions","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/service-role/AWSAmplifyExecutionRole-d24gblght3yue-arn:aws:iam::060997615305:policy/service-role/AWSAmplifyExecutionPolicy-d24gblght3yue","label":"AWSAmplifyExecutionRole-d24gblght3yue-AWSAmplifyExecutionPolicy-d24gblght3yue","source":"arn:aws:iam::060997615305:role/service-role/AWSAmplifyExecutionRole-d24gblght3yue","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::060997615305:policy/service-role/AWSAmplifyExecutionPolicy-d24gblght3yue","targetMetadata":{"type":"AWS::IAM::Policy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/MediaAnalysis-CodeBuildServiceRole-MUWRQO3PSI2H-arn:aws:iam::060997615305:role/MediaAnalysis-CodeBuildServiceRole-MUWRQO3PSI2H/inlinePolicy/root","label":"MediaAnalysis-CodeBuildServiceRole-MUWRQO3PSI2H-arn:aws:iam::060997615305:role/MediaAnalysis-CodeBuildServiceRole-MUWRQO3PSI2H/inlinePolicy/root","source":"arn:aws:iam::060997615305:role/MediaAnalysis-CodeBuildServiceRole-MUWRQO3PSI2H","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::060997615305:role/MediaAnalysis-CodeBuildServiceRole-MUWRQO3PSI2H/inlinePolicy/root","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/MediaAnalysis-CodeBuildServiceRole-MUWRQO3PSI2H-arn:aws:codebuild:eu-west-1:060997615305:project/MediaAnalysis","label":"MediaAnalysis-CodeBuildServiceRole-MUWRQO3PSI2H-MediaAnalysis","source":"arn:aws:iam::060997615305:role/MediaAnalysis-CodeBuildServiceRole-MUWRQO3PSI2H","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:codebuild:eu-west-1:060997615305:project/MediaAnalysis","targetMetadata":{"type":"AWS::CodeBuild::Project","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/MediaAnalysis-CodeBuildServiceRole-MUWRQO3PSI2H-arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e","label":"MediaAnalysis-CodeBuildServiceRole-MUWRQO3PSI2H-MediaAnalysis","source":"arn:aws:iam::060997615305:role/MediaAnalysis-CodeBuildServiceRole-MUWRQO3PSI2H","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e","targetMetadata":{"type":"AWS::CloudFormation::Stack","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/service-role/EventLogger-role-3xchql1s-arn:aws:iam::060997615305:policy/service-role/AWSLambdaBasicExecutionRole-1a252ad6-9f76-4297-83ce-32fc1f534168","label":"EventLogger-role-3xchql1s-AWSLambdaBasicExecutionRole-1a252ad6-9f76-4297-83ce-32fc1f534168","source":"arn:aws:iam::060997615305:role/service-role/EventLogger-role-3xchql1s","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::060997615305:policy/service-role/AWSLambdaBasicExecutionRole-1a252ad6-9f76-4297-83ce-32fc1f534168","targetMetadata":{"type":"AWS::IAM::Policy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/S3F2-DeployStack-K0N17ZHR7-CodePipelineServiceRole-M6IHEQO976QZ-arn:aws:iam::060997615305:role/S3F2-DeployStack-K0N17ZHR7-CodePipelineServiceRole-M6IHEQO976QZ/inlinePolicy/root","label":"S3F2-DeployStack-K0N17ZHR7-CodePipelineServiceRole-M6IHEQO976QZ-arn:aws:iam::060997615305:role/S3F2-DeployStack-K0N17ZHR7-CodePipelineServiceRole-M6IHEQO976QZ/inlinePolicy/root","source":"arn:aws:iam::060997615305:role/S3F2-DeployStack-K0N17ZHR7-CodePipelineServiceRole-M6IHEQO976QZ","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::060997615305:role/S3F2-DeployStack-K0N17ZHR7-CodePipelineServiceRole-M6IHEQO976QZ/inlinePolicy/root","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/S3F2-DeployStack-K0N17ZHR7-CodePipelineServiceRole-M6IHEQO976QZ-arn:aws:codepipeline:eu-west-2:060997615305:S3F2-DeployStack-K0N17ZHR741I-CodePipeline-1VQTQCNQNDHVM","label":"S3F2-DeployStack-K0N17ZHR7-CodePipelineServiceRole-M6IHEQO976QZ-S3F2-DeployStack-K0N17ZHR741I-CodePipeline-1VQTQCNQNDHVM","source":"arn:aws:iam::060997615305:role/S3F2-DeployStack-K0N17ZHR7-CodePipelineServiceRole-M6IHEQO976QZ","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:codepipeline:eu-west-2:060997615305:S3F2-DeployStack-K0N17ZHR741I-CodePipeline-1VQTQCNQNDHVM","targetMetadata":{"type":"AWS::CodePipeline::Pipeline","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/S3F2-DeployStack-K0N17ZHR7-CodePipelineServiceRole-M6IHEQO976QZ-arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2-DeployStack-K0N17ZHR741I/38c1db20-78af-11ea-8e11-0aad4e0395e8","label":"S3F2-DeployStack-K0N17ZHR7-CodePipelineServiceRole-M6IHEQO976QZ-S3F2-DeployStack-K0N17ZHR741I","source":"arn:aws:iam::060997615305:role/S3F2-DeployStack-K0N17ZHR7-CodePipelineServiceRole-M6IHEQO976QZ","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2-DeployStack-K0N17ZHR741I/38c1db20-78af-11ea-8e11-0aad4e0395e8","targetMetadata":{"type":"AWS::CloudFormation::Stack","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2-CodeBuildBackendServiceR-SWAFXTFU7USX-arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2-CodeBuildBackendServiceR-SWAFXTFU7USX/inlinePolicy/root","label":"S3F2POC-DeployStack-1ETR2-CodeBuildBackendServiceR-SWAFXTFU7USX-arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2-CodeBuildBackendServiceR-SWAFXTFU7USX/inlinePolicy/root","source":"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2-CodeBuildBackendServiceR-SWAFXTFU7USX","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2-CodeBuildBackendServiceR-SWAFXTFU7USX/inlinePolicy/root","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2-CodeBuildBackendServiceR-SWAFXTFU7USX-arn:aws:codebuild:eu-west-1:060997615305:project/S3F2POCBackendBuild","label":"S3F2POC-DeployStack-1ETR2-CodeBuildBackendServiceR-SWAFXTFU7USX-S3F2POCBackendBuild","source":"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2-CodeBuildBackendServiceR-SWAFXTFU7USX","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:codebuild:eu-west-1:060997615305:project/S3F2POCBackendBuild","targetMetadata":{"type":"AWS::CodeBuild::Project","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2-CodeBuildBackendServiceR-SWAFXTFU7USX-arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-DeployStack-1ETR2UF3EM480/387ae640-5bec-11eb-8d21-020f2e5ad013","label":"S3F2POC-DeployStack-1ETR2-CodeBuildBackendServiceR-SWAFXTFU7USX-S3F2POC-DeployStack-1ETR2UF3EM480","source":"arn:aws:iam::060997615305:role/S3F2POC-DeployStack-1ETR2-CodeBuildBackendServiceR-SWAFXTFU7USX","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-DeployStack-1ETR2UF3EM480/387ae640-5bec-11eb-8d21-020f2e5ad013","targetMetadata":{"type":"AWS::CloudFormation::Stack","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/AmazonKendra-university-chatbot-role-arn:aws:iam::060997615305:role/AmazonKendra-university-chatbot-role/inlinePolicy/AmazonKendra-university-chatbot","label":"AmazonKendra-university-chatbot-role-arn:aws:iam::060997615305:role/AmazonKendra-university-chatbot-role/inlinePolicy/AmazonKendra-university-chatbot","source":"arn:aws:iam::060997615305:role/AmazonKendra-university-chatbot-role","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::060997615305:role/AmazonKendra-university-chatbot-role/inlinePolicy/AmazonKendra-university-chatbot","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/AmazonKendra-university-chatbot-role-arn:aws:cloudformation:eu-west-1:060997615305:stack/ChatbotStack/b48cf1a0-cc05-11ea-b813-06527026dd82","label":"AmazonKendra-university-chatbot-role-ChatbotStack","source":"arn:aws:iam::060997615305:role/AmazonKendra-university-chatbot-role","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:cloudformation:eu-west-1:060997615305:stack/ChatbotStack/b48cf1a0-cc05-11ea-b813-06527026dd82","targetMetadata":{"type":"AWS::CloudFormation::Stack","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/knet-integration-NotificationProcessorRole-AIG2F9TOBU4O-arn:aws:iam::060997615305:role/knet-integration-NotificationProcessorRole-AIG2F9TOBU4O/inlinePolicy/NotificationProcessorRolePolicy0","label":"knet-integration-NotificationProcessorRole-AIG2F9TOBU4O-arn:aws:iam::060997615305:role/knet-integration-NotificationProcessorRole-AIG2F9TOBU4O/inlinePolicy/NotificationProcessorRolePolicy0","source":"arn:aws:iam::060997615305:role/knet-integration-NotificationProcessorRole-AIG2F9TOBU4O","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::060997615305:role/knet-integration-NotificationProcessorRole-AIG2F9TOBU4O/inlinePolicy/NotificationProcessorRolePolicy0","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/knet-integration-NotificationProcessorRole-AIG2F9TOBU4O-arn:aws:iam::060997615305:role/knet-integration-NotificationProcessorRole-AIG2F9TOBU4O/inlinePolicy/NotificationProcessorRolePolicy1","label":"knet-integration-NotificationProcessorRole-AIG2F9TOBU4O-arn:aws:iam::060997615305:role/knet-integration-NotificationProcessorRole-AIG2F9TOBU4O/inlinePolicy/NotificationProcessorRolePolicy1","source":"arn:aws:iam::060997615305:role/knet-integration-NotificationProcessorRole-AIG2F9TOBU4O","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::060997615305:role/knet-integration-NotificationProcessorRole-AIG2F9TOBU4O/inlinePolicy/NotificationProcessorRolePolicy1","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/knet-integration-NotificationProcessorRole-AIG2F9TOBU4O-arn:aws:iam::060997615305:role/knet-integration-NotificationProcessorRole-AIG2F9TOBU4O/inlinePolicy/NotificationProcessorRolePolicy2","label":"knet-integration-NotificationProcessorRole-AIG2F9TOBU4O-arn:aws:iam::060997615305:role/knet-integration-NotificationProcessorRole-AIG2F9TOBU4O/inlinePolicy/NotificationProcessorRolePolicy2","source":"arn:aws:iam::060997615305:role/knet-integration-NotificationProcessorRole-AIG2F9TOBU4O","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::060997615305:role/knet-integration-NotificationProcessorRole-AIG2F9TOBU4O/inlinePolicy/NotificationProcessorRolePolicy2","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/knet-integration-NotificationProcessorRole-AIG2F9TOBU4O-arn:aws:tags::060997615305:tag/lambda:createdBy=SAM","label":"knet-integration-NotificationProcessorRole-AIG2F9TOBU4O-lambda:createdBy=SAM","source":"arn:aws:iam::060997615305:role/knet-integration-NotificationProcessorRole-AIG2F9TOBU4O","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:tags::060997615305:tag/lambda:createdBy=SAM","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-WorkQueryQueueRole-RUB1XRQO6OOK-arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-WorkQueryQueueRole-RUB1XRQO6OOK/inlinePolicy/WorkQueryQueueRolePolicy0","label":"S3F2POC-StateMachineStack-10BR7-WorkQueryQueueRole-RUB1XRQO6OOK-arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-WorkQueryQueueRole-RUB1XRQO6OOK/inlinePolicy/WorkQueryQueueRolePolicy0","source":"arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-WorkQueryQueueRole-RUB1XRQO6OOK","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-WorkQueryQueueRole-RUB1XRQO6OOK/inlinePolicy/WorkQueryQueueRolePolicy0","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-WorkQueryQueueRole-RUB1XRQO6OOK-arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-WorkQueryQueueRole-RUB1XRQO6OOK/inlinePolicy/WorkQueryQueueRolePolicy1","label":"S3F2POC-StateMachineStack-10BR7-WorkQueryQueueRole-RUB1XRQO6OOK-arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-WorkQueryQueueRole-RUB1XRQO6OOK/inlinePolicy/WorkQueryQueueRolePolicy1","source":"arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-WorkQueryQueueRole-RUB1XRQO6OOK","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-WorkQueryQueueRole-RUB1XRQO6OOK/inlinePolicy/WorkQueryQueueRolePolicy1","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-WorkQueryQueueRole-RUB1XRQO6OOK-arn:aws:tags::060997615305:tag/lambda:createdBy=SAM","label":"S3F2POC-StateMachineStack-10BR7-WorkQueryQueueRole-RUB1XRQO6OOK-lambda:createdBy=SAM","source":"arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-WorkQueryQueueRole-RUB1XRQO6OOK","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:tags::060997615305:tag/lambda:createdBy=SAM","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-WorkQueryQueueRole-RUB1XRQO6OOK-arn:aws:lambda:eu-west-1:060997615305:function:S3F2POC-StateMachineStack-10BR76BS8-WorkQueryQueue-J6Z1M0SW9OUI","label":"S3F2POC-StateMachineStack-10BR7-WorkQueryQueueRole-RUB1XRQO6OOK-S3F2POC-StateMachineStack-10BR76BS8-WorkQueryQueue-J6Z1M0SW9OUI","source":"arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-WorkQueryQueueRole-RUB1XRQO6OOK","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:lambda:eu-west-1:060997615305:function:S3F2POC-StateMachineStack-10BR76BS8-WorkQueryQueue-J6Z1M0SW9OUI","targetMetadata":{"type":"AWS::Lambda::Function","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-WorkQueryQueueRole-RUB1XRQO6OOK-arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-StateMachineStack-10BR76BS8UYCK/e50ba580-5beb-11eb-8ddc-0287c5a1bc83","label":"S3F2POC-StateMachineStack-10BR7-WorkQueryQueueRole-RUB1XRQO6OOK-S3F2POC-StateMachineStack-10BR76BS8UYCK","source":"arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-WorkQueryQueueRole-RUB1XRQO6OOK","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-StateMachineStack-10BR76BS8UYCK/e50ba580-5beb-11eb-8ddc-0287c5a1bc83","targetMetadata":{"type":"AWS::CloudFormation::Stack","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/MediaAnalysis-DbWriteRole-1Q27Y8BH7IF0O-arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e","label":"MediaAnalysis-DbWriteRole-1Q27Y8BH7IF0O-MediaAnalysis","source":"arn:aws:iam::060997615305:role/MediaAnalysis-DbWriteRole-1Q27Y8BH7IF0O","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e","targetMetadata":{"type":"AWS::CloudFormation::Stack","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/aws-perspective-import-config-account-ConfigRole-1IUC8PCQ7G3PN-arn:aws:iam::060997615305:role/aws-perspective-import-config-account-ConfigRole-1IUC8PCQ7G3PN/inlinePolicy/root","label":"aws-perspective-import-config-account-ConfigRole-1IUC8PCQ7G3PN-arn:aws:iam::060997615305:role/aws-perspective-import-config-account-ConfigRole-1IUC8PCQ7G3PN/inlinePolicy/root","source":"arn:aws:iam::060997615305:role/aws-perspective-import-config-account-ConfigRole-1IUC8PCQ7G3PN","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::060997615305:role/aws-perspective-import-config-account-ConfigRole-1IUC8PCQ7G3PN/inlinePolicy/root","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/service-role/StepFunctions_HelloWorldExample_role_5ad7f01e-arn:aws:iam::060997615305:policy/service-role/NoPermissionsAccessPolicy-3dbfa636-cf1e-4b7c-a44b-42b790f17e5c","label":"StepFunctions_HelloWorldExample_role_5ad7f01e-NoPermissionsAccessPolicy-3dbfa636-cf1e-4b7c-a44b-42b790f17e5c","source":"arn:aws:iam::060997615305:role/service-role/StepFunctions_HelloWorldExample_role_5ad7f01e","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::060997615305:policy/service-role/NoPermissionsAccessPolicy-3dbfa636-cf1e-4b7c-a44b-42b790f17e5c","targetMetadata":{"type":"AWS::IAM::Policy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/S3F2-StateMachineStack-12M3-SubmitQueryResultsRole-1AE1S6QWOABSD-arn:aws:iam::060997615305:role/S3F2-StateMachineStack-12M3-SubmitQueryResultsRole-1AE1S6QWOABSD/inlinePolicy/SubmitQueryResultsRolePolicy0","label":"S3F2-StateMachineStack-12M3-SubmitQueryResultsRole-1AE1S6QWOABSD-arn:aws:iam::060997615305:role/S3F2-StateMachineStack-12M3-SubmitQueryResultsRole-1AE1S6QWOABSD/inlinePolicy/SubmitQueryResultsRolePolicy0","source":"arn:aws:iam::060997615305:role/S3F2-StateMachineStack-12M3-SubmitQueryResultsRole-1AE1S6QWOABSD","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::060997615305:role/S3F2-StateMachineStack-12M3-SubmitQueryResultsRole-1AE1S6QWOABSD/inlinePolicy/SubmitQueryResultsRolePolicy0","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/S3F2-StateMachineStack-12M3-SubmitQueryResultsRole-1AE1S6QWOABSD-arn:aws:iam::060997615305:role/S3F2-StateMachineStack-12M3-SubmitQueryResultsRole-1AE1S6QWOABSD/inlinePolicy/SubmitQueryResultsRolePolicy1","label":"S3F2-StateMachineStack-12M3-SubmitQueryResultsRole-1AE1S6QWOABSD-arn:aws:iam::060997615305:role/S3F2-StateMachineStack-12M3-SubmitQueryResultsRole-1AE1S6QWOABSD/inlinePolicy/SubmitQueryResultsRolePolicy1","source":"arn:aws:iam::060997615305:role/S3F2-StateMachineStack-12M3-SubmitQueryResultsRole-1AE1S6QWOABSD","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::060997615305:role/S3F2-StateMachineStack-12M3-SubmitQueryResultsRole-1AE1S6QWOABSD/inlinePolicy/SubmitQueryResultsRolePolicy1","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/S3F2-StateMachineStack-12M3-SubmitQueryResultsRole-1AE1S6QWOABSD-arn:aws:tags::060997615305:tag/lambda:createdBy=SAM","label":"S3F2-StateMachineStack-12M3-SubmitQueryResultsRole-1AE1S6QWOABSD-lambda:createdBy=SAM","source":"arn:aws:iam::060997615305:role/S3F2-StateMachineStack-12M3-SubmitQueryResultsRole-1AE1S6QWOABSD","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:tags::060997615305:tag/lambda:createdBy=SAM","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/S3F2-StateMachineStack-12M3-SubmitQueryResultsRole-1AE1S6QWOABSD-arn:aws:lambda:eu-west-2:060997615305:function:S3F2-StateMachineStack-12M39YWD-SubmitQueryResults-14KJHVPX13RC3","label":"S3F2-StateMachineStack-12M3-SubmitQueryResultsRole-1AE1S6QWOABSD-S3F2-StateMachineStack-12M39YWD-SubmitQueryResults-14KJHVPX13RC3","source":"arn:aws:iam::060997615305:role/S3F2-StateMachineStack-12M3-SubmitQueryResultsRole-1AE1S6QWOABSD","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:lambda:eu-west-2:060997615305:function:S3F2-StateMachineStack-12M39YWD-SubmitQueryResults-14KJHVPX13RC3","targetMetadata":{"type":"AWS::Lambda::Function","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/S3F2-StateMachineStack-12M3-SubmitQueryResultsRole-1AE1S6QWOABSD-arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2-StateMachineStack-12M39YWDHR9RC/e6660630-78ae-11ea-b850-0a3915ca55a4","label":"S3F2-StateMachineStack-12M3-SubmitQueryResultsRole-1AE1S6QWOABSD-S3F2-StateMachineStack-12M39YWDHR9RC","source":"arn:aws:iam::060997615305:role/S3F2-StateMachineStack-12M3-SubmitQueryResultsRole-1AE1S6QWOABSD","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2-StateMachineStack-12M39YWDHR9RC/e6660630-78ae-11ea-b850-0a3915ca55a4","targetMetadata":{"type":"AWS::CloudFormation::Stack","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/ecstranscriber-arn:aws:ecs:eu-west-1:060997615305:task-definition/transcriberfamily:7","label":"ecstranscriber-transcriberfamily:7","source":"arn:aws:iam::060997615305:role/ecstranscriber","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:ecs:eu-west-1:060997615305:task-definition/transcriberfamily:7","targetMetadata":{"type":"AWS::ECS::TaskDefinition","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/ecstranscriber-arn:aws:ecs:eu-west-1:060997615305:task-definition/transriber:3","label":"ecstranscriber-transriber:3","source":"arn:aws:iam::060997615305:role/ecstranscriber","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:ecs:eu-west-1:060997615305:task-definition/transriber:3","targetMetadata":{"type":"AWS::ECS::TaskDefinition","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/cfn-certificate-provider-LambdaRole-MAV1F4ISWUHH-arn:aws:iam::060997615305:role/cfn-certificate-provider-LambdaRole-MAV1F4ISWUHH/inlinePolicy/CFNCertificateDomainResourceRecordProvider","label":"cfn-certificate-provider-LambdaRole-MAV1F4ISWUHH-arn:aws:iam::060997615305:role/cfn-certificate-provider-LambdaRole-MAV1F4ISWUHH/inlinePolicy/CFNCertificateDomainResourceRecordProvider","source":"arn:aws:iam::060997615305:role/cfn-certificate-provider-LambdaRole-MAV1F4ISWUHH","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::060997615305:role/cfn-certificate-provider-LambdaRole-MAV1F4ISWUHH/inlinePolicy/CFNCertificateDomainResourceRecordProvider","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/borg-test3-RegionListFunctionRole-YKE30VDHLZMM-arn:aws:iam::060997615305:role/borg-test3-RegionListFunctionRole-YKE30VDHLZMM/inlinePolicy/RegionListFunctionRolePolicy0","label":"borg-test3-RegionListFunctionRole-YKE30VDHLZMM-arn:aws:iam::060997615305:role/borg-test3-RegionListFunctionRole-YKE30VDHLZMM/inlinePolicy/RegionListFunctionRolePolicy0","source":"arn:aws:iam::060997615305:role/borg-test3-RegionListFunctionRole-YKE30VDHLZMM","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::060997615305:role/borg-test3-RegionListFunctionRole-YKE30VDHLZMM/inlinePolicy/RegionListFunctionRolePolicy0","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/borg-test3-RegionListFunctionRole-YKE30VDHLZMM-arn:aws:tags::060997615305:tag/lambda:createdBy=SAM","label":"borg-test3-RegionListFunctionRole-YKE30VDHLZMM-lambda:createdBy=SAM","source":"arn:aws:iam::060997615305:role/borg-test3-RegionListFunctionRole-YKE30VDHLZMM","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:tags::060997615305:tag/lambda:createdBy=SAM","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/borg-test3-RegionListFunctionRole-YKE30VDHLZMM-arn:aws:lambda:eu-west-2:060997615305:function:borg-test3-RegionListFunction-534SX2NNBJX8","label":"borg-test3-RegionListFunctionRole-YKE30VDHLZMM-borg-test3-RegionListFunction-534SX2NNBJX8","source":"arn:aws:iam::060997615305:role/borg-test3-RegionListFunctionRole-YKE30VDHLZMM","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:lambda:eu-west-2:060997615305:function:borg-test3-RegionListFunction-534SX2NNBJX8","targetMetadata":{"type":"AWS::Lambda::Function","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/borg-test3-RegionListFunctionRole-YKE30VDHLZMM-arn:aws:cloudformation:eu-west-2:060997615305:stack/borg-test3/40464670-8c03-11eb-945d-0a2f01ff0402","label":"borg-test3-RegionListFunctionRole-YKE30VDHLZMM-borg-test3","source":"arn:aws:iam::060997615305:role/borg-test3-RegionListFunctionRole-YKE30VDHLZMM","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:cloudformation:eu-west-2:060997615305:stack/borg-test3/40464670-8c03-11eb-945d-0a2f01ff0402","targetMetadata":{"type":"AWS::CloudFormation::Stack","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/S3F2-APIStack-1UIVQ59W0AUUU-EnqueueDeletionsRole-1UAVIG4NMEW3J-arn:aws:iam::060997615305:role/S3F2-APIStack-1UIVQ59W0AUUU-EnqueueDeletionsRole-1UAVIG4NMEW3J/inlinePolicy/EnqueueDeletionsRolePolicy0","label":"S3F2-APIStack-1UIVQ59W0AUUU-EnqueueDeletionsRole-1UAVIG4NMEW3J-arn:aws:iam::060997615305:role/S3F2-APIStack-1UIVQ59W0AUUU-EnqueueDeletionsRole-1UAVIG4NMEW3J/inlinePolicy/EnqueueDeletionsRolePolicy0","source":"arn:aws:iam::060997615305:role/S3F2-APIStack-1UIVQ59W0AUUU-EnqueueDeletionsRole-1UAVIG4NMEW3J","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::060997615305:role/S3F2-APIStack-1UIVQ59W0AUUU-EnqueueDeletionsRole-1UAVIG4NMEW3J/inlinePolicy/EnqueueDeletionsRolePolicy0","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/S3F2-APIStack-1UIVQ59W0AUUU-EnqueueDeletionsRole-1UAVIG4NMEW3J-arn:aws:tags::060997615305:tag/lambda:createdBy=SAM","label":"S3F2-APIStack-1UIVQ59W0AUUU-EnqueueDeletionsRole-1UAVIG4NMEW3J-lambda:createdBy=SAM","source":"arn:aws:iam::060997615305:role/S3F2-APIStack-1UIVQ59W0AUUU-EnqueueDeletionsRole-1UAVIG4NMEW3J","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:tags::060997615305:tag/lambda:createdBy=SAM","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/S3F2-APIStack-1UIVQ59W0AUUU-EnqueueDeletionsRole-1UAVIG4NMEW3J-arn:aws:lambda:eu-west-2:060997615305:function:S3F2-APIStack-1UIVQ59W0AUUU-EnqueueDeletions-17L7V186675OS","label":"S3F2-APIStack-1UIVQ59W0AUUU-EnqueueDeletionsRole-1UAVIG4NMEW3J-S3F2-APIStack-1UIVQ59W0AUUU-EnqueueDeletions-17L7V186675OS","source":"arn:aws:iam::060997615305:role/S3F2-APIStack-1UIVQ59W0AUUU-EnqueueDeletionsRole-1UAVIG4NMEW3J","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:lambda:eu-west-2:060997615305:function:S3F2-APIStack-1UIVQ59W0AUUU-EnqueueDeletions-17L7V186675OS","targetMetadata":{"type":"AWS::Lambda::Function","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/S3F2-APIStack-1UIVQ59W0AUUU-EnqueueDeletionsRole-1UAVIG4NMEW3J-arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2-APIStack-1UIVQ59W0AUUU/c880fa80-78ae-11ea-9aa7-021ebf3a767c","label":"S3F2-APIStack-1UIVQ59W0AUUU-EnqueueDeletionsRole-1UAVIG4NMEW3J-S3F2-APIStack-1UIVQ59W0AUUU","source":"arn:aws:iam::060997615305:role/S3F2-APIStack-1UIVQ59W0AUUU-EnqueueDeletionsRole-1UAVIG4NMEW3J","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2-APIStack-1UIVQ59W0AUUU/c880fa80-78ae-11ea-9aa7-021ebf3a767c","targetMetadata":{"type":"AWS::CloudFormation::Stack","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-CheckTaskCountRole-LETQMQ7AGI0Y-arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-CheckTaskCountRole-LETQMQ7AGI0Y/inlinePolicy/CheckTaskCountRolePolicy0","label":"S3F2POC-StateMachineStack-10BR7-CheckTaskCountRole-LETQMQ7AGI0Y-arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-CheckTaskCountRole-LETQMQ7AGI0Y/inlinePolicy/CheckTaskCountRolePolicy0","source":"arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-CheckTaskCountRole-LETQMQ7AGI0Y","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-CheckTaskCountRole-LETQMQ7AGI0Y/inlinePolicy/CheckTaskCountRolePolicy0","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-CheckTaskCountRole-LETQMQ7AGI0Y-arn:aws:tags::060997615305:tag/lambda:createdBy=SAM","label":"S3F2POC-StateMachineStack-10BR7-CheckTaskCountRole-LETQMQ7AGI0Y-lambda:createdBy=SAM","source":"arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-CheckTaskCountRole-LETQMQ7AGI0Y","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:tags::060997615305:tag/lambda:createdBy=SAM","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-CheckTaskCountRole-LETQMQ7AGI0Y-arn:aws:lambda:eu-west-1:060997615305:function:S3F2POC-StateMachineStack-10BR76BS8-CheckTaskCount-111U1MDPCYRYQ","label":"S3F2POC-StateMachineStack-10BR7-CheckTaskCountRole-LETQMQ7AGI0Y-S3F2POC-StateMachineStack-10BR76BS8-CheckTaskCount-111U1MDPCYRYQ","source":"arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-CheckTaskCountRole-LETQMQ7AGI0Y","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:lambda:eu-west-1:060997615305:function:S3F2POC-StateMachineStack-10BR76BS8-CheckTaskCount-111U1MDPCYRYQ","targetMetadata":{"type":"AWS::Lambda::Function","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-CheckTaskCountRole-LETQMQ7AGI0Y-arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-StateMachineStack-10BR76BS8UYCK/e50ba580-5beb-11eb-8ddc-0287c5a1bc83","label":"S3F2POC-StateMachineStack-10BR7-CheckTaskCountRole-LETQMQ7AGI0Y-S3F2POC-StateMachineStack-10BR76BS8UYCK","source":"arn:aws:iam::060997615305:role/S3F2POC-StateMachineStack-10BR7-CheckTaskCountRole-LETQMQ7AGI0Y","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-StateMachineStack-10BR76BS8UYCK/e50ba580-5beb-11eb-8ddc-0287c5a1bc83","targetMetadata":{"type":"AWS::CloudFormation::Stack","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/service-role/CloudWatchSyntheticsRole-integ-canary-0f7-59052bd92353-arn:aws:iam::060997615305:policy/service-role/CloudWatchSyntheticsPolicy-integ-canary-0f7-59052bd92353","label":"CloudWatchSyntheticsRole-integ-canary-0f7-59052bd92353-CloudWatchSyntheticsPolicy-integ-canary-0f7-59052bd92353","source":"arn:aws:iam::060997615305:role/service-role/CloudWatchSyntheticsRole-integ-canary-0f7-59052bd92353","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::060997615305:policy/service-role/CloudWatchSyntheticsPolicy-integ-canary-0f7-59052bd92353","targetMetadata":{"type":"AWS::IAM::Policy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/MediaAnalysis-ApiGatewayCloudWatchRole-1Q9F0HKFR48LV-arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e","label":"MediaAnalysis-ApiGatewayCloudWatchRole-1Q9F0HKFR48LV-MediaAnalysis","source":"arn:aws:iam::060997615305:role/MediaAnalysis-ApiGatewayCloudWatchRole-1Q9F0HKFR48LV","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e","targetMetadata":{"type":"AWS::CloudFormation::Stack","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/S3F2-DeployStack-K0N17ZHR-CleanupBucketFunctionRol-1WNB7O27FK4RA-arn:aws:iam::060997615305:role/S3F2-DeployStack-K0N17ZHR-CleanupBucketFunctionRol-1WNB7O27FK4RA/inlinePolicy/CleanupBucketFunctionRolePolicy0","label":"S3F2-DeployStack-K0N17ZHR-CleanupBucketFunctionRol-1WNB7O27FK4RA-arn:aws:iam::060997615305:role/S3F2-DeployStack-K0N17ZHR-CleanupBucketFunctionRol-1WNB7O27FK4RA/inlinePolicy/CleanupBucketFunctionRolePolicy0","source":"arn:aws:iam::060997615305:role/S3F2-DeployStack-K0N17ZHR-CleanupBucketFunctionRol-1WNB7O27FK4RA","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::060997615305:role/S3F2-DeployStack-K0N17ZHR-CleanupBucketFunctionRol-1WNB7O27FK4RA/inlinePolicy/CleanupBucketFunctionRolePolicy0","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/S3F2-DeployStack-K0N17ZHR-CleanupBucketFunctionRol-1WNB7O27FK4RA-arn:aws:tags::060997615305:tag/lambda:createdBy=SAM","label":"S3F2-DeployStack-K0N17ZHR-CleanupBucketFunctionRol-1WNB7O27FK4RA-lambda:createdBy=SAM","source":"arn:aws:iam::060997615305:role/S3F2-DeployStack-K0N17ZHR-CleanupBucketFunctionRol-1WNB7O27FK4RA","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:tags::060997615305:tag/lambda:createdBy=SAM","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/S3F2-DeployStack-K0N17ZHR-CleanupBucketFunctionRol-1WNB7O27FK4RA-arn:aws:lambda:eu-west-2:060997615305:function:S3F2-DeployStack-K0N17ZHR741-CleanupBucketFunction-1WBQTOB4OJP9F","label":"S3F2-DeployStack-K0N17ZHR-CleanupBucketFunctionRol-1WNB7O27FK4RA-S3F2-DeployStack-K0N17ZHR741-CleanupBucketFunction-1WBQTOB4OJP9F","source":"arn:aws:iam::060997615305:role/S3F2-DeployStack-K0N17ZHR-CleanupBucketFunctionRol-1WNB7O27FK4RA","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:lambda:eu-west-2:060997615305:function:S3F2-DeployStack-K0N17ZHR741-CleanupBucketFunction-1WBQTOB4OJP9F","targetMetadata":{"type":"AWS::Lambda::Function","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/S3F2-DeployStack-K0N17ZHR-CleanupBucketFunctionRol-1WNB7O27FK4RA-arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2-DeployStack-K0N17ZHR741I/38c1db20-78af-11ea-8e11-0aad4e0395e8","label":"S3F2-DeployStack-K0N17ZHR-CleanupBucketFunctionRol-1WNB7O27FK4RA-S3F2-DeployStack-K0N17ZHR741I","source":"arn:aws:iam::060997615305:role/S3F2-DeployStack-K0N17ZHR-CleanupBucketFunctionRol-1WNB7O27FK4RA","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2-DeployStack-K0N17ZHR741I/38c1db20-78af-11ea-8e11-0aad4e0395e8","targetMetadata":{"type":"AWS::CloudFormation::Stack","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/PPE-DEMO-LambdaSetupRole-1K199ATXMC805-arn:aws:iam::060997615305:role/PPE-DEMO-LambdaSetupRole-1K199ATXMC805/inlinePolicy/LambdaSetupRolePolicy0","label":"PPE-DEMO-LambdaSetupRole-1K199ATXMC805-arn:aws:iam::060997615305:role/PPE-DEMO-LambdaSetupRole-1K199ATXMC805/inlinePolicy/LambdaSetupRolePolicy0","source":"arn:aws:iam::060997615305:role/PPE-DEMO-LambdaSetupRole-1K199ATXMC805","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::060997615305:role/PPE-DEMO-LambdaSetupRole-1K199ATXMC805/inlinePolicy/LambdaSetupRolePolicy0","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/PPE-DEMO-LambdaSetupRole-1K199ATXMC805-arn:aws:tags::060997615305:tag/lambda:createdBy=SAM","label":"PPE-DEMO-LambdaSetupRole-1K199ATXMC805-lambda:createdBy=SAM","source":"arn:aws:iam::060997615305:role/PPE-DEMO-LambdaSetupRole-1K199ATXMC805","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:tags::060997615305:tag/lambda:createdBy=SAM","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteTaskRole-ZNGCL9G3LA1A-arn:aws:iam::060997615305:role/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteTaskRole-ZNGCL9G3LA1A/inlinePolicy/ReadWriteExecutionPolicy","label":"S3F2POC-DelStack-TC52BDMFNB7Q-DeleteTaskRole-ZNGCL9G3LA1A-arn:aws:iam::060997615305:role/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteTaskRole-ZNGCL9G3LA1A/inlinePolicy/ReadWriteExecutionPolicy","source":"arn:aws:iam::060997615305:role/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteTaskRole-ZNGCL9G3LA1A","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::060997615305:role/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteTaskRole-ZNGCL9G3LA1A/inlinePolicy/ReadWriteExecutionPolicy","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteTaskRole-ZNGCL9G3LA1A-arn:aws:ecs:eu-west-1:060997615305:task-definition/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteTaskDefinition-Vvxa715MuWm2:1","label":"S3F2POC-DelStack-TC52BDMFNB7Q-DeleteTaskRole-ZNGCL9G3LA1A-S3F2POC-DelStack-TC52BDMFNB7Q-DeleteTaskDefinition-Vvxa715MuWm2:1","source":"arn:aws:iam::060997615305:role/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteTaskRole-ZNGCL9G3LA1A","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:ecs:eu-west-1:060997615305:task-definition/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteTaskDefinition-Vvxa715MuWm2:1","targetMetadata":{"type":"AWS::ECS::TaskDefinition","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteTaskRole-ZNGCL9G3LA1A-arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-DelStack-TC52BDMFNB7Q/be00d5a0-5beb-11eb-bd4f-02f1dbb72c77","label":"S3F2POC-DelStack-TC52BDMFNB7Q-DeleteTaskRole-ZNGCL9G3LA1A-S3F2POC-DelStack-TC52BDMFNB7Q","source":"arn:aws:iam::060997615305:role/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteTaskRole-ZNGCL9G3LA1A","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-DelStack-TC52BDMFNB7Q/be00d5a0-5beb-11eb-bd4f-02f1dbb72c77","targetMetadata":{"type":"AWS::CloudFormation::Stack","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/S3F2POC-APIStack-13TOEE1K3Y78-GetDeletionQueueRole-MW1R4DON02A8-arn:aws:iam::060997615305:role/S3F2POC-APIStack-13TOEE1K3Y78-GetDeletionQueueRole-MW1R4DON02A8/inlinePolicy/GetDeletionQueueRolePolicy0","label":"S3F2POC-APIStack-13TOEE1K3Y78-GetDeletionQueueRole-MW1R4DON02A8-arn:aws:iam::060997615305:role/S3F2POC-APIStack-13TOEE1K3Y78-GetDeletionQueueRole-MW1R4DON02A8/inlinePolicy/GetDeletionQueueRolePolicy0","source":"arn:aws:iam::060997615305:role/S3F2POC-APIStack-13TOEE1K3Y78-GetDeletionQueueRole-MW1R4DON02A8","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::060997615305:role/S3F2POC-APIStack-13TOEE1K3Y78-GetDeletionQueueRole-MW1R4DON02A8/inlinePolicy/GetDeletionQueueRolePolicy0","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/S3F2POC-APIStack-13TOEE1K3Y78-GetDeletionQueueRole-MW1R4DON02A8-arn:aws:tags::060997615305:tag/lambda:createdBy=SAM","label":"S3F2POC-APIStack-13TOEE1K3Y78-GetDeletionQueueRole-MW1R4DON02A8-lambda:createdBy=SAM","source":"arn:aws:iam::060997615305:role/S3F2POC-APIStack-13TOEE1K3Y78-GetDeletionQueueRole-MW1R4DON02A8","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:tags::060997615305:tag/lambda:createdBy=SAM","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/S3F2POC-APIStack-13TOEE1K3Y78-GetDeletionQueueRole-MW1R4DON02A8-arn:aws:lambda:eu-west-1:060997615305:function:S3F2POC-APIStack-13TOEE1K3Y78L-GetDeletionQueue-M4A849NJMSWQ","label":"S3F2POC-APIStack-13TOEE1K3Y78-GetDeletionQueueRole-MW1R4DON02A8-S3F2POC-APIStack-13TOEE1K3Y78L-GetDeletionQueue-M4A849NJMSWQ","source":"arn:aws:iam::060997615305:role/S3F2POC-APIStack-13TOEE1K3Y78-GetDeletionQueueRole-MW1R4DON02A8","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:lambda:eu-west-1:060997615305:function:S3F2POC-APIStack-13TOEE1K3Y78L-GetDeletionQueue-M4A849NJMSWQ","targetMetadata":{"type":"AWS::Lambda::Function","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/S3F2POC-APIStack-13TOEE1K3Y78-GetDeletionQueueRole-MW1R4DON02A8-arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-APIStack-13TOEE1K3Y78L/5aa9ed20-5beb-11eb-8147-06d43d249c1b","label":"S3F2POC-APIStack-13TOEE1K3Y78-GetDeletionQueueRole-MW1R4DON02A8-S3F2POC-APIStack-13TOEE1K3Y78L","source":"arn:aws:iam::060997615305:role/S3F2POC-APIStack-13TOEE1K3Y78-GetDeletionQueueRole-MW1R4DON02A8","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-APIStack-13TOEE1K3Y78L/5aa9ed20-5beb-11eb-8147-06d43d249c1b","targetMetadata":{"type":"AWS::CloudFormation::Stack","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/CloudFormationManagedUplo-LogAndMetricsDeliveryRol-SBQBWN5J1EGI-arn:aws:iam::060997615305:role/CloudFormationManagedUplo-LogAndMetricsDeliveryRol-SBQBWN5J1EGI/inlinePolicy/LogAndMetricsDeliveryRolePolicy","label":"CloudFormationManagedUplo-LogAndMetricsDeliveryRol-SBQBWN5J1EGI-arn:aws:iam::060997615305:role/CloudFormationManagedUplo-LogAndMetricsDeliveryRol-SBQBWN5J1EGI/inlinePolicy/LogAndMetricsDeliveryRolePolicy","source":"arn:aws:iam::060997615305:role/CloudFormationManagedUplo-LogAndMetricsDeliveryRol-SBQBWN5J1EGI","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::060997615305:role/CloudFormationManagedUplo-LogAndMetricsDeliveryRol-SBQBWN5J1EGI/inlinePolicy/LogAndMetricsDeliveryRolePolicy","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/CloudFormationManagedUplo-LogAndMetricsDeliveryRol-SBQBWN5J1EGI-arn:aws:cloudformation:eu-west-2:060997615305:stack/CloudFormationManagedUploadInfrastructure/5205b7d0-6510-11ea-9cf3-02949b77ae4a","label":"CloudFormationManagedUplo-LogAndMetricsDeliveryRol-SBQBWN5J1EGI-CloudFormationManagedUploadInfrastructure","source":"arn:aws:iam::060997615305:role/CloudFormationManagedUplo-LogAndMetricsDeliveryRol-SBQBWN5J1EGI","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:cloudformation:eu-west-2:060997615305:stack/CloudFormationManagedUploadInfrastructure/5205b7d0-6510-11ea-9cf3-02949b77ae4a","targetMetadata":{"type":"AWS::CloudFormation::Stack","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD-arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD/inlinePolicy/StreamProcessorRolePolicy1","label":"S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD-arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD/inlinePolicy/StreamProcessorRolePolicy1","source":"arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD/inlinePolicy/StreamProcessorRolePolicy1","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD-arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD/inlinePolicy/StreamProcessorRolePolicy2","label":"S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD-arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD/inlinePolicy/StreamProcessorRolePolicy2","source":"arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD/inlinePolicy/StreamProcessorRolePolicy2","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD-arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD/inlinePolicy/StreamProcessorStreamSQSPolicy","label":"S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD-arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD/inlinePolicy/StreamProcessorStreamSQSPolicy","source":"arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD/inlinePolicy/StreamProcessorStreamSQSPolicy","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD-arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD/inlinePolicy/StreamProcessorRolePolicy0","label":"S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD-arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD/inlinePolicy/StreamProcessorRolePolicy0","source":"arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD/inlinePolicy/StreamProcessorRolePolicy0","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD-arn:aws:tags::060997615305:tag/lambda:createdBy=SAM","label":"S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD-lambda:createdBy=SAM","source":"arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:tags::060997615305:tag/lambda:createdBy=SAM","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD-arn:aws:lambda:eu-west-2:060997615305:function:S3F2-StreamProcessorStack-NPYKSZLU-StreamProcessor-SZSELCQAXI8X","label":"S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD-S3F2-StreamProcessorStack-NPYKSZLU-StreamProcessor-SZSELCQAXI8X","source":"arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:lambda:eu-west-2:060997615305:function:S3F2-StreamProcessorStack-NPYKSZLU-StreamProcessor-SZSELCQAXI8X","targetMetadata":{"type":"AWS::Lambda::Function","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD-arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2-StreamProcessorStack-NPYKSZLUZMTS/38c0a2a0-78af-11ea-ad69-0aea06869730","label":"S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD-S3F2-StreamProcessorStack-NPYKSZLUZMTS","source":"arn:aws:iam::060997615305:role/S3F2-StreamProcessorStack-NPYK-StreamProcessorRole-HB6AU7M5QLD","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2-StreamProcessorStack-NPYKSZLUZMTS/38c0a2a0-78af-11ea-ad69-0aea06869730","targetMetadata":{"type":"AWS::CloudFormation::Stack","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/MediaAnalysis-LambdaSetupRole-IJX7ABNYWS1T-arn:aws:iam::060997615305:role/MediaAnalysis-LambdaSetupRole-IJX7ABNYWS1T/inlinePolicy/LambdaSetupRolePolicy1","label":"MediaAnalysis-LambdaSetupRole-IJX7ABNYWS1T-arn:aws:iam::060997615305:role/MediaAnalysis-LambdaSetupRole-IJX7ABNYWS1T/inlinePolicy/LambdaSetupRolePolicy1","source":"arn:aws:iam::060997615305:role/MediaAnalysis-LambdaSetupRole-IJX7ABNYWS1T","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::060997615305:role/MediaAnalysis-LambdaSetupRole-IJX7ABNYWS1T/inlinePolicy/LambdaSetupRolePolicy1","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/MediaAnalysis-LambdaSetupRole-IJX7ABNYWS1T-arn:aws:lambda:eu-west-1:060997615305:function:MediaAnalysisSetup","label":"MediaAnalysis-LambdaSetupRole-IJX7ABNYWS1T-MediaAnalysisSetup","source":"arn:aws:iam::060997615305:role/MediaAnalysis-LambdaSetupRole-IJX7ABNYWS1T","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:lambda:eu-west-1:060997615305:function:MediaAnalysisSetup","targetMetadata":{"type":"AWS::Lambda::Function","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/MediaAnalysis-LambdaSetupRole-IJX7ABNYWS1T-arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e","label":"MediaAnalysis-LambdaSetupRole-IJX7ABNYWS1T-MediaAnalysis","source":"arn:aws:iam::060997615305:role/MediaAnalysis-LambdaSetupRole-IJX7ABNYWS1T","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e","targetMetadata":{"type":"AWS::CloudFormation::Stack","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/AVMContainersUserRole-arn:aws:iam::060997615305:role/AVMContainersUserRole/inlinePolicy/AWSContainerAssessmentPolicy","label":"AVMContainersUserRole-arn:aws:iam::060997615305:role/AVMContainersUserRole/inlinePolicy/AWSContainerAssessmentPolicy","source":"arn:aws:iam::060997615305:role/AVMContainersUserRole","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::060997615305:role/AVMContainersUserRole/inlinePolicy/AWSContainerAssessmentPolicy","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::060997615305:role/coco-accelerate-repo-arn:aws:iam::060997615305:role/coco-accelerate-repo/inlinePolicy/poweruser","label":"coco-accelerate-repo-arn:aws:iam::060997615305:role/coco-accelerate-repo/inlinePolicy/poweruser","source":"arn:aws:iam::060997615305:role/coco-accelerate-repo","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::060997615305:role/coco-accelerate-repo/inlinePolicy/poweruser","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/InspectorEnablementRole-arn:aws:iam::044981683129:role/InspectorEnablementRole/inlinePolicy/Inspector2EnablementPolicy","label":"InspectorEnablementRole-arn:aws:iam::044981683129:role/InspectorEnablementRole/inlinePolicy/Inspector2EnablementPolicy","source":"arn:aws:iam::044981683129:role/InspectorEnablementRole","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/InspectorEnablementRole/inlinePolicy/Inspector2EnablementPolicy","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/demo-test-api-CustomResourceRole-WZPGOIJAPYK3-arn:aws:iam::044981683129:role/demo-test-api-CustomResourceRole-WZPGOIJAPYK3/inlinePolicy/DNSandACMAccess","label":"demo-test-api-CustomResourceRole-WZPGOIJAPYK3-arn:aws:iam::044981683129:role/demo-test-api-CustomResourceRole-WZPGOIJAPYK3/inlinePolicy/DNSandACMAccess","source":"arn:aws:iam::044981683129:role/demo-test-api-CustomResourceRole-WZPGOIJAPYK3","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/demo-test-api-CustomResourceRole-WZPGOIJAPYK3/inlinePolicy/DNSandACMAccess","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/demo-test-api-CustomResourceRole-WZPGOIJAPYK3-arn:aws:tags::044981683129:tag/copilot-environment=test","label":"demo-test-api-CustomResourceRole-WZPGOIJAPYK3-copilot-environment=test","source":"arn:aws:iam::044981683129:role/demo-test-api-CustomResourceRole-WZPGOIJAPYK3","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:tags::044981683129:tag/copilot-environment=test","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/demo-test-api-CustomResourceRole-WZPGOIJAPYK3-arn:aws:tags::044981683129:tag/copilot-application=demo","label":"demo-test-api-CustomResourceRole-WZPGOIJAPYK3-copilot-application=demo","source":"arn:aws:iam::044981683129:role/demo-test-api-CustomResourceRole-WZPGOIJAPYK3","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:tags::044981683129:tag/copilot-application=demo","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/demo-test-api-CustomResourceRole-WZPGOIJAPYK3-arn:aws:tags::044981683129:tag/copilot-service=api","label":"demo-test-api-CustomResourceRole-WZPGOIJAPYK3-copilot-service=api","source":"arn:aws:iam::044981683129:role/demo-test-api-CustomResourceRole-WZPGOIJAPYK3","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:tags::044981683129:tag/copilot-service=api","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/eksctl-extravagant-rainbow-1649419661-ServiceRole-1L49DM8JX9VTG-arn:aws:iam::044981683129:role/eksctl-extravagant-rainbow-1649419661-ServiceRole-1L49DM8JX9VTG/inlinePolicy/eksctl-extravagant-rainbow-1649419661-cluster-PolicyCloudWatchMetrics","label":"eksctl-extravagant-rainbow-1649419661-cluster/ServiceRole-arn:aws:iam::044981683129:role/eksctl-extravagant-rainbow-1649419661-ServiceRole-1L49DM8JX9VTG/inlinePolicy/eksctl-extravagant-rainbow-1649419661-cluster-PolicyCloudWatchMetrics","source":"arn:aws:iam::044981683129:role/eksctl-extravagant-rainbow-1649419661-ServiceRole-1L49DM8JX9VTG","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/eksctl-extravagant-rainbow-1649419661-ServiceRole-1L49DM8JX9VTG/inlinePolicy/eksctl-extravagant-rainbow-1649419661-cluster-PolicyCloudWatchMetrics","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/eksctl-extravagant-rainbow-1649419661-ServiceRole-1L49DM8JX9VTG-arn:aws:iam::044981683129:role/eksctl-extravagant-rainbow-1649419661-ServiceRole-1L49DM8JX9VTG/inlinePolicy/eksctl-extravagant-rainbow-1649419661-cluster-PolicyELBPermissions","label":"eksctl-extravagant-rainbow-1649419661-cluster/ServiceRole-arn:aws:iam::044981683129:role/eksctl-extravagant-rainbow-1649419661-ServiceRole-1L49DM8JX9VTG/inlinePolicy/eksctl-extravagant-rainbow-1649419661-cluster-PolicyELBPermissions","source":"arn:aws:iam::044981683129:role/eksctl-extravagant-rainbow-1649419661-ServiceRole-1L49DM8JX9VTG","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/eksctl-extravagant-rainbow-1649419661-ServiceRole-1L49DM8JX9VTG/inlinePolicy/eksctl-extravagant-rainbow-1649419661-cluster-PolicyELBPermissions","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/eksctl-extravagant-rainbow-1649419661-ServiceRole-1L49DM8JX9VTG-arn:aws:tags::044981683129:tag/Name=eksctl-extravagant-rainbow-1649419661-cluster/ServiceRole","label":"eksctl-extravagant-rainbow-1649419661-cluster/ServiceRole-Name=eksctl-extravagant-rainbow-1649419661-cluster/ServiceRole","source":"arn:aws:iam::044981683129:role/eksctl-extravagant-rainbow-1649419661-ServiceRole-1L49DM8JX9VTG","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:tags::044981683129:tag/Name=eksctl-extravagant-rainbow-1649419661-cluster/ServiceRole","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/eksctl-extravagant-rainbow-1649419661-ServiceRole-1L49DM8JX9VTG-arn:aws:tags::044981683129:tag/alpha.eksctl.io/cluster-name=extravagant-rainbow-1649419661","label":"eksctl-extravagant-rainbow-1649419661-cluster/ServiceRole-alpha.eksctl.io/cluster-name=extravagant-rainbow-1649419661","source":"arn:aws:iam::044981683129:role/eksctl-extravagant-rainbow-1649419661-ServiceRole-1L49DM8JX9VTG","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:tags::044981683129:tag/alpha.eksctl.io/cluster-name=extravagant-rainbow-1649419661","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/eksctl-extravagant-rainbow-1649419661-ServiceRole-1L49DM8JX9VTG-arn:aws:tags::044981683129:tag/eksctl.cluster.k8s.io/v1alpha1/cluster-name=extravagant-rainbow-1649419661","label":"eksctl-extravagant-rainbow-1649419661-cluster/ServiceRole-eksctl.cluster.k8s.io/v1alpha1/cluster-name=extravagant-rainbow-1649419661","source":"arn:aws:iam::044981683129:role/eksctl-extravagant-rainbow-1649419661-ServiceRole-1L49DM8JX9VTG","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:tags::044981683129:tag/eksctl.cluster.k8s.io/v1alpha1/cluster-name=extravagant-rainbow-1649419661","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/eksctl-extravagant-rainbow-1649419661-ServiceRole-1L49DM8JX9VTG-arn:aws:tags::044981683129:tag/alpha.eksctl.io/eksctl-version=0.91.0","label":"eksctl-extravagant-rainbow-1649419661-cluster/ServiceRole-alpha.eksctl.io/eksctl-version=0.91.0","source":"arn:aws:iam::044981683129:role/eksctl-extravagant-rainbow-1649419661-ServiceRole-1L49DM8JX9VTG","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:tags::044981683129:tag/alpha.eksctl.io/eksctl-version=0.91.0","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/aws-perspective-v2-Settin-PerspectiveSettingsLambd-GLINBLH275JE-arn:aws:iam::044981683129:role/aws-perspective-v2-Settin-PerspectiveSettingsLambd-GLINBLH275JE/inlinePolicy/aws-perspective-v2-SettingsResolversStack-L7NBWVCFLPQ4-AppSyncRole","label":"aws-perspective-v2-Settin-PerspectiveSettingsLambd-GLINBLH275JE-arn:aws:iam::044981683129:role/aws-perspective-v2-Settin-PerspectiveSettingsLambd-GLINBLH275JE/inlinePolicy/aws-perspective-v2-SettingsResolversStack-L7NBWVCFLPQ4-AppSyncRole","source":"arn:aws:iam::044981683129:role/aws-perspective-v2-Settin-PerspectiveSettingsLambd-GLINBLH275JE","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/aws-perspective-v2-Settin-PerspectiveSettingsLambd-GLINBLH275JE/inlinePolicy/aws-perspective-v2-SettingsResolversStack-L7NBWVCFLPQ4-AppSyncRole","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPX-TaskExecutionRole-32Y5XYY0POWY-arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPX-TaskExecutionRole-32Y5XYY0POWY/inlinePolicy/ReadRetailDemoStoreSSMParams","label":"retaildemostore-Services-1WZNOPX-TaskExecutionRole-32Y5XYY0POWY-arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPX-TaskExecutionRole-32Y5XYY0POWY/inlinePolicy/ReadRetailDemoStoreSSMParams","source":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPX-TaskExecutionRole-32Y5XYY0POWY","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPX-TaskExecutionRole-32Y5XYY0POWY/inlinePolicy/ReadRetailDemoStoreSSMParams","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-17Y5R3Y29BF5C-arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-17Y5R3Y29BF5C/inlinePolicy/root","label":"retaildemostore-Services-1-CodePipelineServiceRole-17Y5R3Y29BF5C-arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-17Y5R3Y29BF5C/inlinePolicy/root","source":"arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-17Y5R3Y29BF5C","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-17Y5R3Y29BF5C/inlinePolicy/root","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/cdk-hnb659fds-lookup-role-044981683129-eu-west-1-arn:aws:iam::044981683129:role/cdk-hnb659fds-lookup-role-044981683129-eu-west-1/inlinePolicy/LookupRolePolicy","label":"cdk-hnb659fds-lookup-role-044981683129-eu-west-1-arn:aws:iam::044981683129:role/cdk-hnb659fds-lookup-role-044981683129-eu-west-1/inlinePolicy/LookupRolePolicy","source":"arn:aws:iam::044981683129:role/cdk-hnb659fds-lookup-role-044981683129-eu-west-1","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/cdk-hnb659fds-lookup-role-044981683129-eu-west-1/inlinePolicy/LookupRolePolicy","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/cdk-hnb659fds-lookup-role-044981683129-eu-west-1-arn:aws:tags::044981683129:tag/aws-cdk:bootstrap-role=lookup","label":"cdk-hnb659fds-lookup-role-044981683129-eu-west-1-aws-cdk:bootstrap-role=lookup","source":"arn:aws:iam::044981683129:role/cdk-hnb659fds-lookup-role-044981683129-eu-west-1","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:tags::044981683129:tag/aws-cdk:bootstrap-role=lookup","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/cdk-hnb659fds-lookup-role-044981683129-eu-west-1-arn:aws:cloudformation:eu-west-1:044981683129:stack/CDKToolkit/b79886c0-59b2-11ec-8c01-0a652a81a80d","label":"cdk-hnb659fds-lookup-role-044981683129-eu-west-1-CDKToolkit","source":"arn:aws:iam::044981683129:role/cdk-hnb659fds-lookup-role-044981683129-eu-west-1","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:cloudformation:eu-west-1:044981683129:stack/CDKToolkit/b79886c0-59b2-11ec-8c01-0a652a81a80d","targetMetadata":{"type":"AWS::CloudFormation::Stack","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Base-193OEK9-CognitoAuthorizedRole-1L9KKQJFWNBI1-arn:aws:iam::044981683129:role/retaildemostore-Base-193OEK9-CognitoAuthorizedRole-1L9KKQJFWNBI1/inlinePolicy/CognitoAuthorizedPolicy","label":"retaildemostore-Base-193OEK9-CognitoAuthorizedRole-1L9KKQJFWNBI1-arn:aws:iam::044981683129:role/retaildemostore-Base-193OEK9-CognitoAuthorizedRole-1L9KKQJFWNBI1/inlinePolicy/CognitoAuthorizedPolicy","source":"arn:aws:iam::044981683129:role/retaildemostore-Base-193OEK9-CognitoAuthorizedRole-1L9KKQJFWNBI1","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/retaildemostore-Base-193OEK9-CognitoAuthorizedRole-1L9KKQJFWNBI1/inlinePolicy/CognitoAuthorizedPolicy","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/retaildemostore-us-east-1-PinptP9e-arn:aws:iam::044981683129:role/retaildemostore-us-east-1-PinptP9e/inlinePolicy/PersonalizeAccess","label":"retaildemostore-us-east-1-PinptP9e-arn:aws:iam::044981683129:role/retaildemostore-us-east-1-PinptP9e/inlinePolicy/PersonalizeAccess","source":"arn:aws:iam::044981683129:role/retaildemostore-us-east-1-PinptP9e","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/retaildemostore-us-east-1-PinptP9e/inlinePolicy/PersonalizeAccess","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/workload-discovery-iad-Ta-CleanupRepositoryFunctio-JAM7N7JDLEDT-arn:aws:iam::044981683129:role/workload-discovery-iad-Ta-CleanupRepositoryFunctio-JAM7N7JDLEDT/inlinePolicy/CleanupRepositoryFunctionRolePolicy0","label":"workload-discovery-iad-Ta-CleanupRepositoryFunctio-JAM7N7JDLEDT-arn:aws:iam::044981683129:role/workload-discovery-iad-Ta-CleanupRepositoryFunctio-JAM7N7JDLEDT/inlinePolicy/CleanupRepositoryFunctionRolePolicy0","source":"arn:aws:iam::044981683129:role/workload-discovery-iad-Ta-CleanupRepositoryFunctio-JAM7N7JDLEDT","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/workload-discovery-iad-Ta-CleanupRepositoryFunctio-JAM7N7JDLEDT/inlinePolicy/CleanupRepositoryFunctionRolePolicy0","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/workload-discovery-iad-Ta-CleanupRepositoryFunctio-JAM7N7JDLEDT-arn:aws:tags::044981683129:tag/lambda:createdBy=SAM","label":"workload-discovery-iad-Ta-CleanupRepositoryFunctio-JAM7N7JDLEDT-lambda:createdBy=SAM","source":"arn:aws:iam::044981683129:role/workload-discovery-iad-Ta-CleanupRepositoryFunctio-JAM7N7JDLEDT","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:tags::044981683129:tag/lambda:createdBy=SAM","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-SettingsRe-PerspectiveSettingsLambd-1ATQ0QK6YYTUD-arn:aws:iam::044981683129:role/wd2-2022-10-07-SettingsRe-PerspectiveSettingsLambd-1ATQ0QK6YYTUD/inlinePolicy/wd2-2022-10-07-SettingsResolversStack-1AJF23G4MGX8L-AppSyncLambdaRole","label":"wd2-2022-10-07-SettingsRe-PerspectiveSettingsLambd-1ATQ0QK6YYTUD-arn:aws:iam::044981683129:role/wd2-2022-10-07-SettingsRe-PerspectiveSettingsLambd-1ATQ0QK6YYTUD/inlinePolicy/wd2-2022-10-07-SettingsResolversStack-1AJF23G4MGX8L-AppSyncLambdaRole","source":"arn:aws:iam::044981683129:role/wd2-2022-10-07-SettingsRe-PerspectiveSettingsLambd-1ATQ0QK6YYTUD","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/wd2-2022-10-07-SettingsRe-PerspectiveSettingsLambd-1ATQ0QK6YYTUD/inlinePolicy/wd2-2022-10-07-SettingsResolversStack-1AJF23G4MGX8L-AppSyncLambdaRole","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-SettingsRe-PerspectiveSettingsLambd-1ATQ0QK6YYTUD-arn:aws:tags::044981683129:tag/AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b","label":"wd2-2022-10-07-SettingsRe-PerspectiveSettingsLambd-1ATQ0QK6YYTUD-AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b","source":"arn:aws:iam::044981683129:role/wd2-2022-10-07-SettingsRe-PerspectiveSettingsLambd-1ATQ0QK6YYTUD","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:tags::044981683129:tag/AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-SettingsRe-PerspectiveSettingsLambd-1ATQ0QK6YYTUD-arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-SettingsRe-PerspectiveSettingsFunct-tO9rS9m3dyus","label":"wd2-2022-10-07-SettingsRe-PerspectiveSettingsLambd-1ATQ0QK6YYTUD-wd2-2022-10-07-SettingsRe-PerspectiveSettingsFunct-tO9rS9m3dyus","source":"arn:aws:iam::044981683129:role/wd2-2022-10-07-SettingsRe-PerspectiveSettingsLambd-1ATQ0QK6YYTUD","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-SettingsRe-PerspectiveSettingsFunct-tO9rS9m3dyus","targetMetadata":{"type":"AWS::Lambda::Function","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-SettingsRe-PerspectiveSettingsLambd-1ATQ0QK6YYTUD-arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-SettingsResolversStack-1AJF23G4MGX8L/e292b810-4669-11ed-93ec-02a1b6729eb3","label":"wd2-2022-10-07-SettingsRe-PerspectiveSettingsLambd-1ATQ0QK6YYTUD-wd2-2022-10-07-SettingsResolversStack-1AJF23G4MGX8L","source":"arn:aws:iam::044981683129:role/wd2-2022-10-07-SettingsRe-PerspectiveSettingsLambd-1ATQ0QK6YYTUD","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-SettingsResolversStack-1AJF23G4MGX8L/e292b810-4669-11ed-93ec-02a1b6729eb3","targetMetadata":{"type":"AWS::CloudFormation::Stack","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-GremlinRes-PerspectiveGremlinLambda-2BWE3KGKYZHG-arn:aws:iam::044981683129:role/wd2-2022-10-07-GremlinRes-PerspectiveGremlinLambda-2BWE3KGKYZHG/inlinePolicy/wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8-AppSyncGremlinRole","label":"wd2-2022-10-07-GremlinRes-PerspectiveGremlinLambda-2BWE3KGKYZHG-arn:aws:iam::044981683129:role/wd2-2022-10-07-GremlinRes-PerspectiveGremlinLambda-2BWE3KGKYZHG/inlinePolicy/wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8-AppSyncGremlinRole","source":"arn:aws:iam::044981683129:role/wd2-2022-10-07-GremlinRes-PerspectiveGremlinLambda-2BWE3KGKYZHG","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/wd2-2022-10-07-GremlinRes-PerspectiveGremlinLambda-2BWE3KGKYZHG/inlinePolicy/wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8-AppSyncGremlinRole","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-GremlinRes-PerspectiveGremlinLambda-2BWE3KGKYZHG-arn:aws:tags::044981683129:tag/AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b","label":"wd2-2022-10-07-GremlinRes-PerspectiveGremlinLambda-2BWE3KGKYZHG-AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b","source":"arn:aws:iam::044981683129:role/wd2-2022-10-07-GremlinRes-PerspectiveGremlinLambda-2BWE3KGKYZHG","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:tags::044981683129:tag/AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-GremlinRes-PerspectiveGremlinLambda-2BWE3KGKYZHG-arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8/84b956d0-466a-11ed-bed8-0e6093335a65","label":"wd2-2022-10-07-GremlinRes-PerspectiveGremlinLambda-2BWE3KGKYZHG-wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8","source":"arn:aws:iam::044981683129:role/wd2-2022-10-07-GremlinRes-PerspectiveGremlinLambda-2BWE3KGKYZHG","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8/84b956d0-466a-11ed-bed8-0e6093335a65","targetMetadata":{"type":"AWS::CloudFormation::Stack","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Location-LocationResourceStackLam-15GCI8R2TSESU-arn:aws:iam::044981683129:role/retaildemostore-Location-LocationResourceStackLam-15GCI8R2TSESU/inlinePolicy/root","label":"retaildemostore-Location-LocationResourceStackLam-15GCI8R2TSESU-arn:aws:iam::044981683129:role/retaildemostore-Location-LocationResourceStackLam-15GCI8R2TSESU/inlinePolicy/root","source":"arn:aws:iam::044981683129:role/retaildemostore-Location-LocationResourceStackLam-15GCI8R2TSESU","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/retaildemostore-Location-LocationResourceStackLam-15GCI8R2TSESU/inlinePolicy/root","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/cdk-hnb659fds-deploy-role-044981683129-eu-west-2-arn:aws:iam::044981683129:role/cdk-hnb659fds-deploy-role-044981683129-eu-west-2/inlinePolicy/default","label":"cdk-hnb659fds-deploy-role-044981683129-eu-west-2-arn:aws:iam::044981683129:role/cdk-hnb659fds-deploy-role-044981683129-eu-west-2/inlinePolicy/default","source":"arn:aws:iam::044981683129:role/cdk-hnb659fds-deploy-role-044981683129-eu-west-2","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/cdk-hnb659fds-deploy-role-044981683129-eu-west-2/inlinePolicy/default","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/cdk-hnb659fds-deploy-role-044981683129-eu-west-2-arn:aws:tags::044981683129:tag/aws-cdk:bootstrap-role=deploy","label":"cdk-hnb659fds-deploy-role-044981683129-eu-west-2-aws-cdk:bootstrap-role=deploy","source":"arn:aws:iam::044981683129:role/cdk-hnb659fds-deploy-role-044981683129-eu-west-2","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:tags::044981683129:tag/aws-cdk:bootstrap-role=deploy","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/cdk-hnb659fds-cfn-exec-role-044981683129-eu-west-2-arn:aws:iam::044981683129:role/cdk-hnb659fds-deploy-role-044981683129-eu-west-2/inlinePolicy/default","label":"cdk-hnb659fds-cfn-exec-role-044981683129-eu-west-2-arn:aws:iam::044981683129:role/cdk-hnb659fds-deploy-role-044981683129-eu-west-2/inlinePolicy/default","source":"arn:aws:iam::044981683129:role/cdk-hnb659fds-cfn-exec-role-044981683129-eu-west-2","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/cdk-hnb659fds-deploy-role-044981683129-eu-west-2/inlinePolicy/default","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Location-LocationGeofenceEventHan-1UNIJLRMOUYQR-arn:aws:iam::044981683129:role/retaildemostore-Location-LocationGeofenceEventHan-1UNIJLRMOUYQR/inlinePolicy/root","label":"retaildemostore-Location-LocationGeofenceEventHan-1UNIJLRMOUYQR-arn:aws:iam::044981683129:role/retaildemostore-Location-LocationGeofenceEventHan-1UNIJLRMOUYQR/inlinePolicy/root","source":"arn:aws:iam::044981683129:role/retaildemostore-Location-LocationGeofenceEventHan-1UNIJLRMOUYQR","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/retaildemostore-Location-LocationGeofenceEventHan-1UNIJLRMOUYQR/inlinePolicy/root","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/workload-discovery-iad-Co-PerspectiveCostLambdaApp-VTHRTHCPQ8TN-arn:aws:iam::044981683129:role/workload-discovery-iad-Co-PerspectiveCostLambdaApp-VTHRTHCPQ8TN/inlinePolicy/workload-discovery-iad-CostResolversStack-Z4KHP6HIYJG3-AppSyncCostRole","label":"workload-discovery-iad-Co-PerspectiveCostLambdaApp-VTHRTHCPQ8TN-arn:aws:iam::044981683129:role/workload-discovery-iad-Co-PerspectiveCostLambdaApp-VTHRTHCPQ8TN/inlinePolicy/workload-discovery-iad-CostResolversStack-Z4KHP6HIYJG3-AppSyncCostRole","source":"arn:aws:iam::044981683129:role/workload-discovery-iad-Co-PerspectiveCostLambdaApp-VTHRTHCPQ8TN","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/workload-discovery-iad-Co-PerspectiveCostLambdaApp-VTHRTHCPQ8TN/inlinePolicy/workload-discovery-iad-CostResolversStack-Z4KHP6HIYJG3-AppSyncCostRole","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7-arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7/inlinePolicy/eksctl-attractive-badger-1604015308-cluster-PolicyCloudWatchMetrics","label":"eksctl-attractive-badger-1604015308-cluster/ServiceRole-arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7/inlinePolicy/eksctl-attractive-badger-1604015308-cluster-PolicyCloudWatchMetrics","source":"arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7/inlinePolicy/eksctl-attractive-badger-1604015308-cluster-PolicyCloudWatchMetrics","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7-arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7/inlinePolicy/eksctl-attractive-badger-1604015308-cluster-PolicyELBPermissions","label":"eksctl-attractive-badger-1604015308-cluster/ServiceRole-arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7/inlinePolicy/eksctl-attractive-badger-1604015308-cluster-PolicyELBPermissions","source":"arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7/inlinePolicy/eksctl-attractive-badger-1604015308-cluster-PolicyELBPermissions","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7-arn:aws:tags::044981683129:tag/alpha.eksctl.io/eksctl-version=0.30.0","label":"eksctl-attractive-badger-1604015308-cluster/ServiceRole-alpha.eksctl.io/eksctl-version=0.30.0","source":"arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:tags::044981683129:tag/alpha.eksctl.io/eksctl-version=0.30.0","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7-arn:aws:tags::044981683129:tag/alpha.eksctl.io/cluster-name=attractive-badger-1604015308","label":"eksctl-attractive-badger-1604015308-cluster/ServiceRole-alpha.eksctl.io/cluster-name=attractive-badger-1604015308","source":"arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:tags::044981683129:tag/alpha.eksctl.io/cluster-name=attractive-badger-1604015308","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7-arn:aws:tags::044981683129:tag/Name=eksctl-attractive-badger-1604015308-cluster/ServiceRole","label":"eksctl-attractive-badger-1604015308-cluster/ServiceRole-Name=eksctl-attractive-badger-1604015308-cluster/ServiceRole","source":"arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:tags::044981683129:tag/Name=eksctl-attractive-badger-1604015308-cluster/ServiceRole","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7-arn:aws:tags::044981683129:tag/eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308","label":"eksctl-attractive-badger-1604015308-cluster/ServiceRole-eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308","source":"arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:tags::044981683129:tag/eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7-arn:aws:eks:eu-west-1:044981683129:cluster/attractive-badger-1604015308","label":"eksctl-attractive-badger-1604015308-cluster/ServiceRole-attractive-badger-1604015308","source":"arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:eks:eu-west-1:044981683129:cluster/attractive-badger-1604015308","targetMetadata":{"type":"AWS::EKS::Cluster","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7-arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0","label":"eksctl-attractive-badger-1604015308-cluster/ServiceRole-eksctl-attractive-badger-1604015308-cluster","source":"arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0","targetMetadata":{"type":"AWS::CloudFormation::Stack","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7-arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0240cebb8fa82aa33","label":"eksctl-attractive-badger-1604015308-cluster/ServiceRole-eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1C","source":"arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0240cebb8fa82aa33","targetMetadata":{"type":"AWS::EC2::Subnet","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7-arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-06deb021a27770578","label":"eksctl-attractive-badger-1604015308-cluster/ServiceRole-eksctl-attractive-badger-1604015308-cluster/SubnetPrivateEUWEST1C","source":"arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-06deb021a27770578","targetMetadata":{"type":"AWS::EC2::Subnet","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7-arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-03755dc2d4bdd2e2b","label":"eksctl-attractive-badger-1604015308-cluster/ServiceRole-eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1B","source":"arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-03755dc2d4bdd2e2b","targetMetadata":{"type":"AWS::EC2::Subnet","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7-arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-040b12c6ae776ea8a","label":"eksctl-attractive-badger-1604015308-cluster/ServiceRole-eksctl-attractive-badger-1604015308-cluster/SubnetPrivateEUWEST1B","source":"arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-040b12c6ae776ea8a","targetMetadata":{"type":"AWS::EC2::Subnet","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7-arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0461a710ed0df3002","label":"eksctl-attractive-badger-1604015308-cluster/ServiceRole-eksctl-attractive-badger-1604015308-cluster/SubnetPrivateEUWEST1A","source":"arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0461a710ed0df3002","targetMetadata":{"type":"AWS::EC2::Subnet","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7-arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-07a6385d759763604","label":"eksctl-attractive-badger-1604015308-cluster/ServiceRole-eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1A","source":"arn:aws:iam::044981683129:role/eksctl-attractive-badger-1604015308-cl-ServiceRole-5YUGQNN63ND7","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-07a6385d759763604","targetMetadata":{"type":"AWS::EC2::Subnet","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/ShadowTrooperRole-arn:aws:iam::044981683129:role/ShadowTrooperRole/inlinePolicy/ShadowTrooperPolicy-prod","label":"ShadowTrooperRole-arn:aws:iam::044981683129:role/ShadowTrooperRole/inlinePolicy/ShadowTrooperPolicy-prod","source":"arn:aws:iam::044981683129:role/ShadowTrooperRole","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/ShadowTrooperRole/inlinePolicy/ShadowTrooperPolicy-prod","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-CognitoS-CognitoAuthRole-INUD6X7NC8QK-arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-CognitoS-CognitoAuthRole-INUD6X7NC8QK/inlinePolicy/AuthPerspectiveCognitoExecuteApiAndStorageBucket","label":"Workload-Discovery-on-AWS-CognitoS-CognitoAuthRole-INUD6X7NC8QK-arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-CognitoS-CognitoAuthRole-INUD6X7NC8QK/inlinePolicy/AuthPerspectiveCognitoExecuteApiAndStorageBucket","source":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-CognitoS-CognitoAuthRole-INUD6X7NC8QK","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-CognitoS-CognitoAuthRole-INUD6X7NC8QK/inlinePolicy/AuthPerspectiveCognitoExecuteApiAndStorageBucket","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-JU1L3C7AFM6Q-arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-JU1L3C7AFM6Q/inlinePolicy/ecr","label":"recipe-recommendation-engine-CodeBuildServiceRole-JU1L3C7AFM6Q-arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-JU1L3C7AFM6Q/inlinePolicy/ecr","source":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-JU1L3C7AFM6Q","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-JU1L3C7AFM6Q/inlinePolicy/ecr","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-JU1L3C7AFM6Q-arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-JU1L3C7AFM6Q/inlinePolicy/logs","label":"recipe-recommendation-engine-CodeBuildServiceRole-JU1L3C7AFM6Q-arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-JU1L3C7AFM6Q/inlinePolicy/logs","source":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-JU1L3C7AFM6Q","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-JU1L3C7AFM6Q/inlinePolicy/logs","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-JU1L3C7AFM6Q-arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-JU1L3C7AFM6Q/inlinePolicy/S3","label":"recipe-recommendation-engine-CodeBuildServiceRole-JU1L3C7AFM6Q-arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-JU1L3C7AFM6Q/inlinePolicy/S3","source":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-JU1L3C7AFM6Q","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-JU1L3C7AFM6Q/inlinePolicy/S3","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-1M6MQIBZNWT16-arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-1M6MQIBZNWT16/inlinePolicy/root","label":"retaildemostore-Services-1-CodePipelineServiceRole-1M6MQIBZNWT16-arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-1M6MQIBZNWT16/inlinePolicy/root","source":"arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-1M6MQIBZNWT16","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-1M6MQIBZNWT16/inlinePolicy/root","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/service-role/lambda-arn:aws:iam::044981683129:policy/service-role/AWSLambdaBasicExecutionRole-06d5ec9a-239f-41f4-bc85-a307723168d4","label":"lambda-AWSLambdaBasicExecutionRole-06d5ec9a-239f-41f4-bc85-a307723168d4","source":"arn:aws:iam::044981683129:role/service-role/lambda","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:policy/service-role/AWSLambdaBasicExecutionRole-06d5ec9a-239f-41f4-bc85-a307723168d4","targetMetadata":{"type":"AWS::IAM::Policy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349-arn:aws:iam::044981683129:role/recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349/inlinePolicy/DynamoDB","label":"recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349-arn:aws:iam::044981683129:role/recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349/inlinePolicy/DynamoDB","source":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349/inlinePolicy/DynamoDB","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349-arn:aws:iam::044981683129:role/recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349/inlinePolicy/others","label":"recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349-arn:aws:iam::044981683129:role/recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349/inlinePolicy/others","source":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349/inlinePolicy/others","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349-arn:aws:iam::044981683129:role/recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349/inlinePolicy/PinpointSMS","label":"recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349-arn:aws:iam::044981683129:role/recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349/inlinePolicy/PinpointSMS","source":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349/inlinePolicy/PinpointSMS","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349-arn:aws:iam::044981683129:role/recipe-recommendation-engi-CodePipelineServiceRole-1N0H1KT4FB3U7/inlinePolicy/root","label":"recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349-arn:aws:iam::044981683129:role/recipe-recommendation-engi-CodePipelineServiceRole-1N0H1KT4FB3U7/inlinePolicy/root","source":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-Services-6U8-TaskRole-14UTJA7BWE349","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/recipe-recommendation-engi-CodePipelineServiceRole-1N0H1KT4FB3U7/inlinePolicy/root","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/aws-perspective-CleanupBucketFunctionRole-BYTFSL0AN3Y6-arn:aws:iam::044981683129:role/aws-perspective-CleanupBucketFunctionRole-BYTFSL0AN3Y6/inlinePolicy/CleanupBucketFunctionRolePolicy0","label":"aws-perspective-CleanupBucketFunctionRole-BYTFSL0AN3Y6-arn:aws:iam::044981683129:role/aws-perspective-CleanupBucketFunctionRole-BYTFSL0AN3Y6/inlinePolicy/CleanupBucketFunctionRolePolicy0","source":"arn:aws:iam::044981683129:role/aws-perspective-CleanupBucketFunctionRole-BYTFSL0AN3Y6","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/aws-perspective-CleanupBucketFunctionRole-BYTFSL0AN3Y6/inlinePolicy/CleanupBucketFunctionRolePolicy0","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/aws-perspective-CleanupBucketFunctionRole-BYTFSL0AN3Y6-arn:aws:tags::044981683129:tag/lambda:createdBy=SAM","label":"aws-perspective-CleanupBucketFunctionRole-BYTFSL0AN3Y6-lambda:createdBy=SAM","source":"arn:aws:iam::044981683129:role/aws-perspective-CleanupBucketFunctionRole-BYTFSL0AN3Y6","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:tags::044981683129:tag/lambda:createdBy=SAM","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/aws-perspective-CleanupBucketFunctionRole-BYTFSL0AN3Y6-arn:aws:lambda:eu-west-1:044981683129:function:aws-perspective-CleanupBucketFunction-HY5ym4NyGkH2","label":"aws-perspective-CleanupBucketFunctionRole-BYTFSL0AN3Y6-aws-perspective-CleanupBucketFunction-HY5ym4NyGkH2","source":"arn:aws:iam::044981683129:role/aws-perspective-CleanupBucketFunctionRole-BYTFSL0AN3Y6","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:lambda:eu-west-1:044981683129:function:aws-perspective-CleanupBucketFunction-HY5ym4NyGkH2","targetMetadata":{"type":"AWS::Lambda::Function","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/aws-perspective-CleanupBucketFunctionRole-BYTFSL0AN3Y6-arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective/240c8c70-2db7-11ec-a1f2-0aa3690e772d","label":"aws-perspective-CleanupBucketFunctionRole-BYTFSL0AN3Y6-aws-perspective","source":"arn:aws:iam::044981683129:role/aws-perspective-CleanupBucketFunctionRole-BYTFSL0AN3Y6","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective/240c8c70-2db7-11ec-a1f2-0aa3690e772d","targetMetadata":{"type":"AWS::CloudFormation::Stack","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/recipe-recommendation-eng-RetailDeliveryStreamRole-1NKN9Q7BO1OB2-arn:aws:iam::044981683129:role/recipe-recommendation-eng-RetailDeliveryStreamRole-1NKN9Q7BO1OB2/inlinePolicy/RetailDeliveryStreamRolePolicy","label":"recipe-recommendation-eng-RetailDeliveryStreamRole-1NKN9Q7BO1OB2-arn:aws:iam::044981683129:role/recipe-recommendation-eng-RetailDeliveryStreamRole-1NKN9Q7BO1OB2/inlinePolicy/RetailDeliveryStreamRolePolicy","source":"arn:aws:iam::044981683129:role/recipe-recommendation-eng-RetailDeliveryStreamRole-1NKN9Q7BO1OB2","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/recipe-recommendation-eng-RetailDeliveryStreamRole-1NKN9Q7BO1OB2/inlinePolicy/RetailDeliveryStreamRolePolicy","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-MIXOUR4XFRP8-arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-MIXOUR4XFRP8/inlinePolicy/ecr","label":"retaildemostore-Services-1WZN-CodeBuildServiceRole-MIXOUR4XFRP8-arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-MIXOUR4XFRP8/inlinePolicy/ecr","source":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-MIXOUR4XFRP8","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-MIXOUR4XFRP8/inlinePolicy/ecr","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-MIXOUR4XFRP8-arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-MIXOUR4XFRP8/inlinePolicy/logs","label":"retaildemostore-Services-1WZN-CodeBuildServiceRole-MIXOUR4XFRP8-arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-MIXOUR4XFRP8/inlinePolicy/logs","source":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-MIXOUR4XFRP8","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-MIXOUR4XFRP8/inlinePolicy/logs","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-MIXOUR4XFRP8-arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-MIXOUR4XFRP8/inlinePolicy/S3","label":"retaildemostore-Services-1WZN-CodeBuildServiceRole-MIXOUR4XFRP8-arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-MIXOUR4XFRP8/inlinePolicy/S3","source":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-MIXOUR4XFRP8","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-MIXOUR4XFRP8/inlinePolicy/S3","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/recipe-recommendation-eng-PinpointSMSAlertsLambdaE-HE8V21L1ZS1N-arn:aws:iam::044981683129:role/recipe-recommendation-eng-PinpointSMSAlertsLambdaE-HE8V21L1ZS1N/inlinePolicy/root","label":"recipe-recommendation-eng-PinpointSMSAlertsLambdaE-HE8V21L1ZS1N-arn:aws:iam::044981683129:role/recipe-recommendation-eng-PinpointSMSAlertsLambdaE-HE8V21L1ZS1N/inlinePolicy/root","source":"arn:aws:iam::044981683129:role/recipe-recommendation-eng-PinpointSMSAlertsLambdaE-HE8V21L1ZS1N","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/recipe-recommendation-eng-PinpointSMSAlertsLambdaE-HE8V21L1ZS1N/inlinePolicy/root","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/ecs-refarch-LifecycleHook-1O42-LambdaExecutionRole-1677WHGD8ES5T-arn:aws:iam::044981683129:role/ecs-refarch-LifecycleHook-1O42-LambdaExecutionRole-1677WHGD8ES5T/inlinePolicy/lambda-inline","label":"ecs-refarch-LifecycleHook-1O42-LambdaExecutionRole-1677WHGD8ES5T-arn:aws:iam::044981683129:role/ecs-refarch-LifecycleHook-1O42-LambdaExecutionRole-1677WHGD8ES5T/inlinePolicy/lambda-inline","source":"arn:aws:iam::044981683129:role/ecs-refarch-LifecycleHook-1O42-LambdaExecutionRole-1677WHGD8ES5T","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/ecs-refarch-LifecycleHook-1O42-LambdaExecutionRole-1677WHGD8ES5T/inlinePolicy/lambda-inline","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/ecs-refarch-LifecycleHook-1O42-LambdaExecutionRole-1677WHGD8ES5T-arn:aws:lambda:eu-west-1:044981683129:function:ecs-refarch-LifecycleHook-LifecycleHandlerFunction-ZFGQU3IJFMB5","label":"ecs-refarch-LifecycleHook-1O42-LambdaExecutionRole-1677WHGD8ES5T-ecs-refarch-LifecycleHook-LifecycleHandlerFunction-ZFGQU3IJFMB5","source":"arn:aws:iam::044981683129:role/ecs-refarch-LifecycleHook-1O42-LambdaExecutionRole-1677WHGD8ES5T","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:lambda:eu-west-1:044981683129:function:ecs-refarch-LifecycleHook-LifecycleHandlerFunction-ZFGQU3IJFMB5","targetMetadata":{"type":"AWS::Lambda::Function","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/ecs-refarch-LifecycleHook-1O42-LambdaExecutionRole-1677WHGD8ES5T-arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-LifecycleHook-1O42RT8VJQQTO/21551b10-243e-11eb-9e6d-02af5a91499d","label":"ecs-refarch-LifecycleHook-1O42-LambdaExecutionRole-1677WHGD8ES5T-ecs-refarch-LifecycleHook-1O42RT8VJQQTO","source":"arn:aws:iam::044981683129:role/ecs-refarch-LifecycleHook-1O42-LambdaExecutionRole-1677WHGD8ES5T","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-LifecycleHook-1O42RT8VJQQTO/21551b10-243e-11eb-9e6d-02af5a91499d","targetMetadata":{"type":"AWS::CloudFormation::Stack","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-PerspectiveGremlinAppSyn-ILVVYIO3YXX0-arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-PerspectiveGremlinAppSyn-ILVVYIO3YXX0/inlinePolicy/GremlinAppSyncLambdaFunctionPolicy","label":"Workload-Discovery-on-AWS-PerspectiveGremlinAppSyn-ILVVYIO3YXX0-arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-PerspectiveGremlinAppSyn-ILVVYIO3YXX0/inlinePolicy/GremlinAppSyncLambdaFunctionPolicy","source":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-PerspectiveGremlinAppSyn-ILVVYIO3YXX0","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-PerspectiveGremlinAppSyn-ILVVYIO3YXX0/inlinePolicy/GremlinAppSyncLambdaFunctionPolicy","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-18ZLD8A7LI3YM-arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-18ZLD8A7LI3YM/inlinePolicy/root","label":"retaildemostore-Services-1-CodePipelineServiceRole-18ZLD8A7LI3YM-arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-18ZLD8A7LI3YM/inlinePolicy/root","source":"arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-18ZLD8A7LI3YM","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/retaildemostore-Services-1-CodePipelineServiceRole-18ZLD8A7LI3YM/inlinePolicy/root","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Or-TaskRole-H0LUUYYMXXJD-arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Or-TaskRole-H0LUUYYMXXJD/inlinePolicy/DynamoDB","label":"retaildemostore-Services-1WZNOPXSYAVK8-Or-TaskRole-H0LUUYYMXXJD-arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Or-TaskRole-H0LUUYYMXXJD/inlinePolicy/DynamoDB","source":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Or-TaskRole-H0LUUYYMXXJD","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Or-TaskRole-H0LUUYYMXXJD/inlinePolicy/DynamoDB","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Or-TaskRole-H0LUUYYMXXJD-arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Or-TaskRole-H0LUUYYMXXJD/inlinePolicy/others","label":"retaildemostore-Services-1WZNOPXSYAVK8-Or-TaskRole-H0LUUYYMXXJD-arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Or-TaskRole-H0LUUYYMXXJD/inlinePolicy/others","source":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Or-TaskRole-H0LUUYYMXXJD","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Or-TaskRole-H0LUUYYMXXJD/inlinePolicy/others","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Or-TaskRole-H0LUUYYMXXJD-arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Or-TaskRole-H0LUUYYMXXJD/inlinePolicy/PinpointSMS","label":"retaildemostore-Services-1WZNOPXSYAVK8-Or-TaskRole-H0LUUYYMXXJD-arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Or-TaskRole-H0LUUYYMXXJD/inlinePolicy/PinpointSMS","source":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Or-TaskRole-H0LUUYYMXXJD","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Or-TaskRole-H0LUUYYMXXJD/inlinePolicy/PinpointSMS","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/aws-perspective-v2-S3Buck-CleanupBucketFunctionRol-I53DFJ229YA6-arn:aws:iam::044981683129:role/aws-perspective-v2-S3Buck-CleanupBucketFunctionRol-I53DFJ229YA6/inlinePolicy/CleanupBucketFunctionRolePolicy0","label":"aws-perspective-v2-S3Buck-CleanupBucketFunctionRol-I53DFJ229YA6-arn:aws:iam::044981683129:role/aws-perspective-v2-S3Buck-CleanupBucketFunctionRol-I53DFJ229YA6/inlinePolicy/CleanupBucketFunctionRolePolicy0","source":"arn:aws:iam::044981683129:role/aws-perspective-v2-S3Buck-CleanupBucketFunctionRol-I53DFJ229YA6","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/aws-perspective-v2-S3Buck-CleanupBucketFunctionRol-I53DFJ229YA6/inlinePolicy/CleanupBucketFunctionRolePolicy0","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/aws-perspective-v2-S3Buck-CleanupBucketFunctionRol-I53DFJ229YA6-arn:aws:tags::044981683129:tag/lambda:createdBy=SAM","label":"aws-perspective-v2-S3Buck-CleanupBucketFunctionRol-I53DFJ229YA6-lambda:createdBy=SAM","source":"arn:aws:iam::044981683129:role/aws-perspective-v2-S3Buck-CleanupBucketFunctionRol-I53DFJ229YA6","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:tags::044981683129:tag/lambda:createdBy=SAM","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/aws-perspective-v2-EchoFunctionRole-6RQ7JJ3JEBTT-arn:aws:tags::044981683129:tag/lambda:createdBy=SAM","label":"aws-perspective-v2-EchoFunctionRole-6RQ7JJ3JEBTT-lambda:createdBy=SAM","source":"arn:aws:iam::044981683129:role/aws-perspective-v2-EchoFunctionRole-6RQ7JJ3JEBTT","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:tags::044981683129:tag/lambda:createdBy=SAM","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-CodebuildS-CodeBuildRole-RURGAEKKVPW9-arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-CodebuildS-CodeBuildRole-RURGAEKKVPW9/inlinePolicy/Workload-Discovery-on-AWS-CodebuildStack-SQWV7P6HGHI5-codebuild","label":"Workload-Discovery-on-AWS-CodebuildS-CodeBuildRole-RURGAEKKVPW9-arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-CodebuildS-CodeBuildRole-RURGAEKKVPW9/inlinePolicy/Workload-Discovery-on-AWS-CodebuildStack-SQWV7P6HGHI5-codebuild","source":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-CodebuildS-CodeBuildRole-RURGAEKKVPW9","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-CodebuildS-CodeBuildRole-RURGAEKKVPW9/inlinePolicy/Workload-Discovery-on-AWS-CodebuildStack-SQWV7P6HGHI5-codebuild","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/test-ecs-adminrole-arn:aws:iam::044981683129:role/test-ecs-adminrole/inlinePolicy/AssumeRole-AWSCloudFormationStackSetExecutionRole","label":"test-ecs-adminrole-arn:aws:iam::044981683129:role/test-ecs-adminrole/inlinePolicy/AssumeRole-AWSCloudFormationStackSetExecutionRole","source":"arn:aws:iam::044981683129:role/test-ecs-adminrole","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/test-ecs-adminrole/inlinePolicy/AssumeRole-AWSCloudFormationStackSetExecutionRole","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/test-ecs-adminrole-arn:aws:tags::044981683129:tag/copilot-application=test-ecs","label":"test-ecs-adminrole-copilot-application=test-ecs","source":"arn:aws:iam::044981683129:role/test-ecs-adminrole","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:tags::044981683129:tag/copilot-application=test-ecs","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/test-ecs-adminrole-arn:aws:cloudformation:eu-west-1:044981683129:stack/test-ecs-infrastructure-roles/ef131830-2d12-11ec-a109-066dd7ff80a3","label":"test-ecs-adminrole-test-ecs-infrastructure-roles","source":"arn:aws:iam::044981683129:role/test-ecs-adminrole","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:cloudformation:eu-west-1:044981683129:stack/test-ecs-infrastructure-roles/ef131830-2d12-11ec-a109-066dd7ff80a3","targetMetadata":{"type":"AWS::CloudFormation::Stack","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-PerspectiveAppSyncLoggin-14QKOBBLF2APU-arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-PerspectiveAppSyncLoggin-14QKOBBLF2APU/inlinePolicy/Workload-Discovery-on-AWS-AppSyncApiStack-1B9V7FL7KO0GP-AWSAppSyncPushToCloudWatchLogsPolicy","label":"Workload-Discovery-on-AWS-PerspectiveAppSyncLoggin-14QKOBBLF2APU-arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-PerspectiveAppSyncLoggin-14QKOBBLF2APU/inlinePolicy/Workload-Discovery-on-AWS-AppSyncApiStack-1B9V7FL7KO0GP-AWSAppSyncPushToCloudWatchLogsPolicy","source":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-PerspectiveAppSyncLoggin-14QKOBBLF2APU","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-PerspectiveAppSyncLoggin-14QKOBBLF2APU/inlinePolicy/Workload-Discovery-on-AWS-AppSyncApiStack-1B9V7FL7KO0GP-AWSAppSyncPushToCloudWatchLogsPolicy","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/retaildemostore-CleanupBu-CleanupBucketLambdaExecu-E4I91363I2MI-arn:aws:iam::044981683129:role/retaildemostore-CleanupBu-CleanupBucketLambdaExecu-E4I91363I2MI/inlinePolicy/LoggingPolicy","label":"retaildemostore-CleanupBu-CleanupBucketLambdaExecu-E4I91363I2MI-arn:aws:iam::044981683129:role/retaildemostore-CleanupBu-CleanupBucketLambdaExecu-E4I91363I2MI/inlinePolicy/LoggingPolicy","source":"arn:aws:iam::044981683129:role/retaildemostore-CleanupBu-CleanupBucketLambdaExecu-E4I91363I2MI","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/retaildemostore-CleanupBu-CleanupBucketLambdaExecu-E4I91363I2MI/inlinePolicy/LoggingPolicy","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/retaildemostore-CleanupBu-CleanupBucketLambdaExecu-E4I91363I2MI-arn:aws:iam::044981683129:role/retaildemostore-CleanupBu-CleanupBucketLambdaExecu-E4I91363I2MI/inlinePolicy/S3Policy","label":"retaildemostore-CleanupBu-CleanupBucketLambdaExecu-E4I91363I2MI-arn:aws:iam::044981683129:role/retaildemostore-CleanupBu-CleanupBucketLambdaExecu-E4I91363I2MI/inlinePolicy/S3Policy","source":"arn:aws:iam::044981683129:role/retaildemostore-CleanupBu-CleanupBucketLambdaExecu-E4I91363I2MI","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/retaildemostore-CleanupBu-CleanupBucketLambdaExecu-E4I91363I2MI/inlinePolicy/S3Policy","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-C1BR9BSBISF6-arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-C1BR9BSBISF6/inlinePolicy/ecr","label":"retaildemostore-Services-1WZN-CodeBuildServiceRole-C1BR9BSBISF6-arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-C1BR9BSBISF6/inlinePolicy/ecr","source":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-C1BR9BSBISF6","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-C1BR9BSBISF6/inlinePolicy/ecr","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-C1BR9BSBISF6-arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-C1BR9BSBISF6/inlinePolicy/logs","label":"retaildemostore-Services-1WZN-CodeBuildServiceRole-C1BR9BSBISF6-arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-C1BR9BSBISF6/inlinePolicy/logs","source":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-C1BR9BSBISF6","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-C1BR9BSBISF6/inlinePolicy/logs","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-C1BR9BSBISF6-arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-C1BR9BSBISF6/inlinePolicy/S3","label":"retaildemostore-Services-1WZN-CodeBuildServiceRole-C1BR9BSBISF6-arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-C1BR9BSBISF6/inlinePolicy/S3","source":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-C1BR9BSBISF6","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-C1BR9BSBISF6/inlinePolicy/S3","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/eksctl-fargate-cluster-cluster-ServiceRole-VKVVQREX5PZ2-arn:aws:iam::044981683129:role/eksctl-fargate-cluster-cluster-ServiceRole-VKVVQREX5PZ2/inlinePolicy/eksctl-fargate-cluster-cluster-PolicyCloudWatchMetrics","label":"eksctl-fargate-cluster-cluster/ServiceRole-arn:aws:iam::044981683129:role/eksctl-fargate-cluster-cluster-ServiceRole-VKVVQREX5PZ2/inlinePolicy/eksctl-fargate-cluster-cluster-PolicyCloudWatchMetrics","source":"arn:aws:iam::044981683129:role/eksctl-fargate-cluster-cluster-ServiceRole-VKVVQREX5PZ2","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/eksctl-fargate-cluster-cluster-ServiceRole-VKVVQREX5PZ2/inlinePolicy/eksctl-fargate-cluster-cluster-PolicyCloudWatchMetrics","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/eksctl-fargate-cluster-cluster-ServiceRole-VKVVQREX5PZ2-arn:aws:iam::044981683129:role/eksctl-fargate-cluster-cluster-ServiceRole-VKVVQREX5PZ2/inlinePolicy/eksctl-fargate-cluster-cluster-PolicyELBPermissions","label":"eksctl-fargate-cluster-cluster/ServiceRole-arn:aws:iam::044981683129:role/eksctl-fargate-cluster-cluster-ServiceRole-VKVVQREX5PZ2/inlinePolicy/eksctl-fargate-cluster-cluster-PolicyELBPermissions","source":"arn:aws:iam::044981683129:role/eksctl-fargate-cluster-cluster-ServiceRole-VKVVQREX5PZ2","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/eksctl-fargate-cluster-cluster-ServiceRole-VKVVQREX5PZ2/inlinePolicy/eksctl-fargate-cluster-cluster-PolicyELBPermissions","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/eksctl-fargate-cluster-cluster-ServiceRole-VKVVQREX5PZ2-arn:aws:tags::044981683129:tag/alpha.eksctl.io/cluster-oidc-enabled=false","label":"eksctl-fargate-cluster-cluster/ServiceRole-alpha.eksctl.io/cluster-oidc-enabled=false","source":"arn:aws:iam::044981683129:role/eksctl-fargate-cluster-cluster-ServiceRole-VKVVQREX5PZ2","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:tags::044981683129:tag/alpha.eksctl.io/cluster-oidc-enabled=false","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/eksctl-fargate-cluster-cluster-ServiceRole-VKVVQREX5PZ2-arn:aws:tags::044981683129:tag/alpha.eksctl.io/cluster-name=fargate-cluster","label":"eksctl-fargate-cluster-cluster/ServiceRole-alpha.eksctl.io/cluster-name=fargate-cluster","source":"arn:aws:iam::044981683129:role/eksctl-fargate-cluster-cluster-ServiceRole-VKVVQREX5PZ2","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:tags::044981683129:tag/alpha.eksctl.io/cluster-name=fargate-cluster","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/eksctl-fargate-cluster-cluster-ServiceRole-VKVVQREX5PZ2-arn:aws:tags::044981683129:tag/alpha.eksctl.io/eksctl-version=0.125.0","label":"eksctl-fargate-cluster-cluster/ServiceRole-alpha.eksctl.io/eksctl-version=0.125.0","source":"arn:aws:iam::044981683129:role/eksctl-fargate-cluster-cluster-ServiceRole-VKVVQREX5PZ2","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:tags::044981683129:tag/alpha.eksctl.io/eksctl-version=0.125.0","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/eksctl-fargate-cluster-cluster-ServiceRole-VKVVQREX5PZ2-arn:aws:tags::044981683129:tag/eksctl.cluster.k8s.io/v1alpha1/cluster-name=fargate-cluster","label":"eksctl-fargate-cluster-cluster/ServiceRole-eksctl.cluster.k8s.io/v1alpha1/cluster-name=fargate-cluster","source":"arn:aws:iam::044981683129:role/eksctl-fargate-cluster-cluster-ServiceRole-VKVVQREX5PZ2","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:tags::044981683129:tag/eksctl.cluster.k8s.io/v1alpha1/cluster-name=fargate-cluster","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/eksctl-fargate-cluster-cluster-ServiceRole-VKVVQREX5PZ2-arn:aws:tags::044981683129:tag/Name=eksctl-fargate-cluster-cluster/ServiceRole","label":"eksctl-fargate-cluster-cluster/ServiceRole-Name=eksctl-fargate-cluster-cluster/ServiceRole","source":"arn:aws:iam::044981683129:role/eksctl-fargate-cluster-cluster-ServiceRole-VKVVQREX5PZ2","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:tags::044981683129:tag/Name=eksctl-fargate-cluster-cluster/ServiceRole","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Re-TaskRole-1CWIHEBF7BEVS-arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Re-TaskRole-1CWIHEBF7BEVS/inlinePolicy/DynamoDB","label":"retaildemostore-Services-1WZNOPXSYAVK8-Re-TaskRole-1CWIHEBF7BEVS-arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Re-TaskRole-1CWIHEBF7BEVS/inlinePolicy/DynamoDB","source":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Re-TaskRole-1CWIHEBF7BEVS","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Re-TaskRole-1CWIHEBF7BEVS/inlinePolicy/DynamoDB","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Re-TaskRole-1CWIHEBF7BEVS-arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Re-TaskRole-1CWIHEBF7BEVS/inlinePolicy/others","label":"retaildemostore-Services-1WZNOPXSYAVK8-Re-TaskRole-1CWIHEBF7BEVS-arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Re-TaskRole-1CWIHEBF7BEVS/inlinePolicy/others","source":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Re-TaskRole-1CWIHEBF7BEVS","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Re-TaskRole-1CWIHEBF7BEVS/inlinePolicy/others","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Re-TaskRole-1CWIHEBF7BEVS-arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Re-TaskRole-1CWIHEBF7BEVS/inlinePolicy/PinpointSMS","label":"retaildemostore-Services-1WZNOPXSYAVK8-Re-TaskRole-1CWIHEBF7BEVS-arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Re-TaskRole-1CWIHEBF7BEVS/inlinePolicy/PinpointSMS","source":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Re-TaskRole-1CWIHEBF7BEVS","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Re-TaskRole-1CWIHEBF7BEVS/inlinePolicy/PinpointSMS","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/ecs-service-ecs-refarch-london-WebsiteService-1SOWL0MC5RGNG-arn:aws:iam::044981683129:role/ecs-service-ecs-refarch-london-WebsiteService-1SOWL0MC5RGNG/inlinePolicy/ecs-service-ecs-refarch-london-WebsiteService-1SOWL0MC5RGNG","label":"ecs-service-ecs-refarch-london-WebsiteService-1SOWL0MC5RGNG-arn:aws:iam::044981683129:role/ecs-service-ecs-refarch-london-WebsiteService-1SOWL0MC5RGNG/inlinePolicy/ecs-service-ecs-refarch-london-WebsiteService-1SOWL0MC5RGNG","source":"arn:aws:iam::044981683129:role/ecs-service-ecs-refarch-london-WebsiteService-1SOWL0MC5RGNG","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/ecs-service-ecs-refarch-london-WebsiteService-1SOWL0MC5RGNG/inlinePolicy/ecs-service-ecs-refarch-london-WebsiteService-1SOWL0MC5RGNG","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/retaildemostore-ChatbotFu-BotRecommendationsLambda-1EP31TLYECBRS-arn:aws:iam::044981683129:role/retaildemostore-ChatbotFu-BotRecommendationsLambda-1EP31TLYECBRS/inlinePolicy/root","label":"retaildemostore-ChatbotFu-BotRecommendationsLambda-1EP31TLYECBRS-arn:aws:iam::044981683129:role/retaildemostore-ChatbotFu-BotRecommendationsLambda-1EP31TLYECBRS/inlinePolicy/root","source":"arn:aws:iam::044981683129:role/retaildemostore-ChatbotFu-BotRecommendationsLambda-1EP31TLYECBRS","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/retaildemostore-ChatbotFu-BotRecommendationsLambda-1EP31TLYECBRS/inlinePolicy/root","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-ILSMH8MQ6XC3-arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-ILSMH8MQ6XC3/inlinePolicy/ecr","label":"retaildemostore-Services-1WZN-CodeBuildServiceRole-ILSMH8MQ6XC3-arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-ILSMH8MQ6XC3/inlinePolicy/ecr","source":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-ILSMH8MQ6XC3","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-ILSMH8MQ6XC3/inlinePolicy/ecr","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-ILSMH8MQ6XC3-arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-ILSMH8MQ6XC3/inlinePolicy/logs","label":"retaildemostore-Services-1WZN-CodeBuildServiceRole-ILSMH8MQ6XC3-arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-ILSMH8MQ6XC3/inlinePolicy/logs","source":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-ILSMH8MQ6XC3","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-ILSMH8MQ6XC3/inlinePolicy/logs","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-ILSMH8MQ6XC3-arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-ILSMH8MQ6XC3/inlinePolicy/S3","label":"retaildemostore-Services-1WZN-CodeBuildServiceRole-ILSMH8MQ6XC3-arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-ILSMH8MQ6XC3/inlinePolicy/S3","source":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-ILSMH8MQ6XC3","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-ILSMH8MQ6XC3/inlinePolicy/S3","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/cdk-hnb659fds-lookup-role-044981683129-eu-west-2-arn:aws:iam::044981683129:role/cdk-hnb659fds-lookup-role-044981683129-eu-west-2/inlinePolicy/LookupRolePolicy","label":"cdk-hnb659fds-lookup-role-044981683129-eu-west-2-arn:aws:iam::044981683129:role/cdk-hnb659fds-lookup-role-044981683129-eu-west-2/inlinePolicy/LookupRolePolicy","source":"arn:aws:iam::044981683129:role/cdk-hnb659fds-lookup-role-044981683129-eu-west-2","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/cdk-hnb659fds-lookup-role-044981683129-eu-west-2/inlinePolicy/LookupRolePolicy","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/cdk-hnb659fds-lookup-role-044981683129-eu-west-2-arn:aws:tags::044981683129:tag/aws-cdk:bootstrap-role=lookup","label":"cdk-hnb659fds-lookup-role-044981683129-eu-west-2-aws-cdk:bootstrap-role=lookup","source":"arn:aws:iam::044981683129:role/cdk-hnb659fds-lookup-role-044981683129-eu-west-2","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:tags::044981683129:tag/aws-cdk:bootstrap-role=lookup","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Location-LocationGeofenceWebsocke-7PR68QYUA2LS-arn:aws:iam::044981683129:role/retaildemostore-Location-LocationGeofenceWebsocke-7PR68QYUA2LS/inlinePolicy/root","label":"retaildemostore-Location-LocationGeofenceWebsocke-7PR68QYUA2LS-arn:aws:iam::044981683129:role/retaildemostore-Location-LocationGeofenceWebsocke-7PR68QYUA2LS/inlinePolicy/root","source":"arn:aws:iam::044981683129:role/retaildemostore-Location-LocationGeofenceWebsocke-7PR68QYUA2LS","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/retaildemostore-Location-LocationGeofenceWebsocke-7PR68QYUA2LS/inlinePolicy/root","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/workload-discovery-iad-Ac-AccountImportTemplatesAp-GNEM8P4GG3V6-arn:aws:iam::044981683129:role/workload-discovery-iad-Ac-AccountImportTemplatesAp-GNEM8P4GG3V6/inlinePolicy/workload-discovery-iad-AccountImportTemplatesResolversStack-12UBH5SGX3GMS-AppSyncSearchRole","label":"workload-discovery-iad-Ac-AccountImportTemplatesAp-GNEM8P4GG3V6-arn:aws:iam::044981683129:role/workload-discovery-iad-Ac-AccountImportTemplatesAp-GNEM8P4GG3V6/inlinePolicy/workload-discovery-iad-AccountImportTemplatesResolversStack-12UBH5SGX3GMS-AppSyncSearchRole","source":"arn:aws:iam::044981683129:role/workload-discovery-iad-Ac-AccountImportTemplatesAp-GNEM8P4GG3V6","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/workload-discovery-iad-Ac-AccountImportTemplatesAp-GNEM8P4GG3V6/inlinePolicy/workload-discovery-iad-AccountImportTemplatesResolversStack-12UBH5SGX3GMS-AppSyncSearchRole","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/IsengardRole-DO-NOT-DELETE-arn:aws:iam::044981683129:role/IsengardRole-DO-NOT-DELETE/inlinePolicy/IsengardControllerPolicy","label":"IsengardRole-DO-NOT-DELETE-arn:aws:iam::044981683129:role/IsengardRole-DO-NOT-DELETE/inlinePolicy/IsengardControllerPolicy","source":"arn:aws:iam::044981683129:role/IsengardRole-DO-NOT-DELETE","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/IsengardRole-DO-NOT-DELETE/inlinePolicy/IsengardControllerPolicy","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/workload-discovery-iad-DrawIoExpo-DrawIoInvokeRole-1V9QEAJJETBA6-arn:aws:iam::044981683129:role/workload-discovery-iad-DrawIoExpo-DrawIoInvokeRole-1V9QEAJJETBA6/inlinePolicy/workload-discovery-iad-DrawIoExportResolversStack-19YX0UZI3ECNU-AppSyncDrawIohRole","label":"workload-discovery-iad-DrawIoExpo-DrawIoInvokeRole-1V9QEAJJETBA6-arn:aws:iam::044981683129:role/workload-discovery-iad-DrawIoExpo-DrawIoInvokeRole-1V9QEAJJETBA6/inlinePolicy/workload-discovery-iad-DrawIoExportResolversStack-19YX0UZI3ECNU-AppSyncDrawIohRole","source":"arn:aws:iam::044981683129:role/workload-discovery-iad-DrawIoExpo-DrawIoInvokeRole-1V9QEAJJETBA6","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/workload-discovery-iad-DrawIoExpo-DrawIoInvokeRole-1V9QEAJJETBA6/inlinePolicy/workload-discovery-iad-DrawIoExportResolversStack-19YX0UZI3ECNU-AppSyncDrawIohRole","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPX-TaskExecutionRole-4K0A4JGIF62E-arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPX-TaskExecutionRole-4K0A4JGIF62E/inlinePolicy/ReadRetailDemoStoreSSMParams","label":"retaildemostore-Services-1WZNOPX-TaskExecutionRole-4K0A4JGIF62E-arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPX-TaskExecutionRole-4K0A4JGIF62E/inlinePolicy/ReadRetailDemoStoreSSMParams","source":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPX-TaskExecutionRole-4K0A4JGIF62E","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPX-TaskExecutionRole-4K0A4JGIF62E/inlinePolicy/ReadRetailDemoStoreSSMParams","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/aws-perspective-v2-NeptuneStack-1RYQ5Y-NeptuneRole-1QA0K0A45DDCS-arn:aws:iam::044981683129:policy/aws-perspective-v2-NeptuneStack-1RYQ5YHQV9L78-NeptuneS3Policy-1RPRKVJ9IG95Q","label":"aws-perspective-v2-NeptuneStack-1RYQ5Y-NeptuneRole-1QA0K0A45DDCS-aws-perspective-v2-NeptuneStack-1RYQ5YHQV9L78-NeptuneS3Policy-1RPRKVJ9IG95Q","source":"arn:aws:iam::044981683129:role/aws-perspective-v2-NeptuneStack-1RYQ5Y-NeptuneRole-1QA0K0A45DDCS","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:policy/aws-perspective-v2-NeptuneStack-1RYQ5YHQV9L78-NeptuneS3Policy-1RPRKVJ9IG95Q","targetMetadata":{"type":"AWS::IAM::Policy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/aws-perspective-v2-NeptuneStack-1RYQ5Y-NeptuneRole-1QA0K0A45DDCS-arn:aws:iam::044981683129:policy/aws-perspective-v2-NeptuneStack-1RYQ5YHQV9L78-NeptuneCloudWatchPolicy-MX40OIB93CCH","label":"aws-perspective-v2-NeptuneStack-1RYQ5Y-NeptuneRole-1QA0K0A45DDCS-aws-perspective-v2-NeptuneStack-1RYQ5YHQV9L78-NeptuneCloudWatchPolicy-MX40OIB93CCH","source":"arn:aws:iam::044981683129:role/aws-perspective-v2-NeptuneStack-1RYQ5Y-NeptuneRole-1QA0K0A45DDCS","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:policy/aws-perspective-v2-NeptuneStack-1RYQ5YHQV9L78-NeptuneCloudWatchPolicy-MX40OIB93CCH","targetMetadata":{"type":"AWS::IAM::Policy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-AccountImportTemplatesAp-1VQIW5JGZL566-arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-AccountImportTemplatesAp-1VQIW5JGZL566/inlinePolicy/Workload-Discovery-on-AWS-AccountImportTemplatesResolversStack-1FFQSZIJTFZ6W-AppSyncSearchRole","label":"Workload-Discovery-on-AWS-AccountImportTemplatesAp-1VQIW5JGZL566-arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-AccountImportTemplatesAp-1VQIW5JGZL566/inlinePolicy/Workload-Discovery-on-AWS-AccountImportTemplatesResolversStack-1FFQSZIJTFZ6W-AppSyncSearchRole","source":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-AccountImportTemplatesAp-1VQIW5JGZL566","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-AccountImportTemplatesAp-1VQIW5JGZL566/inlinePolicy/Workload-Discovery-on-AWS-AccountImportTemplatesResolversStack-1FFQSZIJTFZ6W-AppSyncSearchRole","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-InvokeGlueReadshiftWflRo-HOSEGPGYXHI7-arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-InvokeGlueReadshiftWflRo-HOSEGPGYXHI7/inlinePolicy/Glue-notify-events","label":"mda-stack-Workload-1V66ZW-InvokeGlueReadshiftWflRo-HOSEGPGYXHI7-arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-InvokeGlueReadshiftWflRo-HOSEGPGYXHI7/inlinePolicy/Glue-notify-events","source":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-InvokeGlueReadshiftWflRo-HOSEGPGYXHI7","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-InvokeGlueReadshiftWflRo-HOSEGPGYXHI7/inlinePolicy/Glue-notify-events","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA-arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA/inlinePolicy/MachineLearningPipelineModelTrainingStateMachineRolePolicy0","label":"mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA-arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA/inlinePolicy/MachineLearningPipelineModelTrainingStateMachineRolePolicy0","source":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA/inlinePolicy/MachineLearningPipelineModelTrainingStateMachineRolePolicy0","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA-arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA/inlinePolicy/MachineLearningPipelineModelTrainingStateMachineRolePolicy1","label":"mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA-arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA/inlinePolicy/MachineLearningPipelineModelTrainingStateMachineRolePolicy1","source":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA/inlinePolicy/MachineLearningPipelineModelTrainingStateMachineRolePolicy1","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA-arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA/inlinePolicy/MachineLearningPipelineModelTrainingStateMachineRolePolicy2","label":"mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA-arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA/inlinePolicy/MachineLearningPipelineModelTrainingStateMachineRolePolicy2","source":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA/inlinePolicy/MachineLearningPipelineModelTrainingStateMachineRolePolicy2","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA-arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA/inlinePolicy/MachineLearningPipelineModelTrainingStateMachineRolePolicy3","label":"mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA-arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA/inlinePolicy/MachineLearningPipelineModelTrainingStateMachineRolePolicy3","source":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA/inlinePolicy/MachineLearningPipelineModelTrainingStateMachineRolePolicy3","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA-arn:aws:tags::044981683129:tag/stateMachine:createdBy=SAM","label":"mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA-stateMachine:createdBy=SAM","source":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZW-MachineLearningPipelineM-1XBAKWSRG28WA","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:tags::044981683129:tag/stateMachine:createdBy=SAM","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/aws-perspective-v2-Settin-PerspectiveSettingsLambd-1FRGAQN88CD4R-arn:aws:iam::044981683129:role/aws-perspective-v2-Settin-PerspectiveSettingsLambd-1FRGAQN88CD4R/inlinePolicy/aws-perspective-v2-SettingsResolversStack-L7NBWVCFLPQ4-AppSyncLambdaRole","label":"aws-perspective-v2-Settin-PerspectiveSettingsLambd-1FRGAQN88CD4R-arn:aws:iam::044981683129:role/aws-perspective-v2-Settin-PerspectiveSettingsLambd-1FRGAQN88CD4R/inlinePolicy/aws-perspective-v2-SettingsResolversStack-L7NBWVCFLPQ4-AppSyncLambdaRole","source":"arn:aws:iam::044981683129:role/aws-perspective-v2-Settin-PerspectiveSettingsLambd-1FRGAQN88CD4R","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/aws-perspective-v2-Settin-PerspectiveSettingsLambd-1FRGAQN88CD4R/inlinePolicy/aws-perspective-v2-SettingsResolversStack-L7NBWVCFLPQ4-AppSyncLambdaRole","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/aws-perspective-v2-DrawIoExport-DrawIoFunctionRole-3L27NSRANQKP-arn:aws:tags::044981683129:tag/lambda:createdBy=SAM","label":"aws-perspective-v2-DrawIoExport-DrawIoFunctionRole-3L27NSRANQKP-lambda:createdBy=SAM","source":"arn:aws:iam::044981683129:role/aws-perspective-v2-DrawIoExport-DrawIoFunctionRole-3L27NSRANQKP","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:tags::044981683129:tag/lambda:createdBy=SAM","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/aws-perspective-v2-AthenaGl-AWSS3CURLambdaExecutor-165O2J5XTRNSA-arn:aws:iam::044981683129:role/aws-perspective-v2-AthenaGl-AWSS3CURLambdaExecutor-165O2J5XTRNSA/inlinePolicy/AWSS3CURLambdaExecutor","label":"aws-perspective-v2-AthenaGl-AWSS3CURLambdaExecutor-165O2J5XTRNSA-arn:aws:iam::044981683129:role/aws-perspective-v2-AthenaGl-AWSS3CURLambdaExecutor-165O2J5XTRNSA/inlinePolicy/AWSS3CURLambdaExecutor","source":"arn:aws:iam::044981683129:role/aws-perspective-v2-AthenaGl-AWSS3CURLambdaExecutor-165O2J5XTRNSA","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/aws-perspective-v2-AthenaGl-AWSS3CURLambdaExecutor-165O2J5XTRNSA/inlinePolicy/AWSS3CURLambdaExecutor","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/workload-discovery-iad-CodebuildStac-CodeBuildRole-1FSCSGV5TP188-arn:aws:iam::044981683129:role/workload-discovery-iad-CodebuildStac-CodeBuildRole-1FSCSGV5TP188/inlinePolicy/workload-discovery-iad-CodebuildStack-3DCMVQM4SIT8-codebuild","label":"workload-discovery-iad-CodebuildStac-CodeBuildRole-1FSCSGV5TP188-arn:aws:iam::044981683129:role/workload-discovery-iad-CodebuildStac-CodeBuildRole-1FSCSGV5TP188/inlinePolicy/workload-discovery-iad-CodebuildStack-3DCMVQM4SIT8-codebuild","source":"arn:aws:iam::044981683129:role/workload-discovery-iad-CodebuildStac-CodeBuildRole-1FSCSGV5TP188","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/workload-discovery-iad-CodebuildStac-CodeBuildRole-1FSCSGV5TP188/inlinePolicy/workload-discovery-iad-CodebuildStack-3DCMVQM4SIT8-codebuild","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/workload-discovery-iad-WebU-UiSettingsResourceRole-1NAQ051HZYLCZ-arn:aws:iam::044981683129:role/workload-discovery-iad-WebU-UiSettingsResourceRole-1NAQ051HZYLCZ/inlinePolicy/UiSettingsResourceRolePolicy0","label":"workload-discovery-iad-WebU-UiSettingsResourceRole-1NAQ051HZYLCZ-arn:aws:iam::044981683129:role/workload-discovery-iad-WebU-UiSettingsResourceRole-1NAQ051HZYLCZ/inlinePolicy/UiSettingsResourceRolePolicy0","source":"arn:aws:iam::044981683129:role/workload-discovery-iad-WebU-UiSettingsResourceRole-1NAQ051HZYLCZ","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/workload-discovery-iad-WebU-UiSettingsResourceRole-1NAQ051HZYLCZ/inlinePolicy/UiSettingsResourceRolePolicy0","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/workload-discovery-iad-WebU-UiSettingsResourceRole-1NAQ051HZYLCZ-arn:aws:tags::044981683129:tag/lambda:createdBy=SAM","label":"workload-discovery-iad-WebU-UiSettingsResourceRole-1NAQ051HZYLCZ-lambda:createdBy=SAM","source":"arn:aws:iam::044981683129:role/workload-discovery-iad-WebU-UiSettingsResourceRole-1NAQ051HZYLCZ","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:tags::044981683129:tag/lambda:createdBy=SAM","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-EHR1UOW6T8PA-arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-EHR1UOW6T8PA/inlinePolicy/S3","label":"recipe-recommendation-engine-CodeBuildServiceRole-EHR1UOW6T8PA-arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-EHR1UOW6T8PA/inlinePolicy/S3","source":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-EHR1UOW6T8PA","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-EHR1UOW6T8PA/inlinePolicy/S3","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-EHR1UOW6T8PA-arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-EHR1UOW6T8PA/inlinePolicy/ecr","label":"recipe-recommendation-engine-CodeBuildServiceRole-EHR1UOW6T8PA-arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-EHR1UOW6T8PA/inlinePolicy/ecr","source":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-EHR1UOW6T8PA","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-EHR1UOW6T8PA/inlinePolicy/ecr","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-EHR1UOW6T8PA-arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-EHR1UOW6T8PA/inlinePolicy/logs","label":"recipe-recommendation-engine-CodeBuildServiceRole-EHR1UOW6T8PA-arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-EHR1UOW6T8PA/inlinePolicy/logs","source":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-EHR1UOW6T8PA","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-EHR1UOW6T8PA/inlinePolicy/logs","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/OrthancRole-arn:aws:iam::044981683129:role/OrthancRole/inlinePolicy/AmazonGuardDutyFullAccess","label":"OrthancRole-arn:aws:iam::044981683129:role/OrthancRole/inlinePolicy/AmazonGuardDutyFullAccess","source":"arn:aws:iam::044981683129:role/OrthancRole","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/OrthancRole/inlinePolicy/AmazonGuardDutyFullAccess","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/service-role/topLevelAwait-role-9bmrz80z-arn:aws:iam::044981683129:policy/service-role/AWSLambdaBasicExecutionRole-d2714e62-9a7c-47a2-b2bb-b31050291429","label":"topLevelAwait-role-9bmrz80z-AWSLambdaBasicExecutionRole-d2714e62-9a7c-47a2-b2bb-b31050291429","source":"arn:aws:iam::044981683129:role/service-role/topLevelAwait-role-9bmrz80z","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:policy/service-role/AWSLambdaBasicExecutionRole-d2714e62-9a7c-47a2-b2bb-b31050291429","targetMetadata":{"type":"AWS::IAM::Policy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1UCDPB2P23HB5-arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1UCDPB2P23HB5/inlinePolicy/ecr","label":"retaildemostore-Services-1WZN-CodeBuildServiceRole-1UCDPB2P23HB5-arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1UCDPB2P23HB5/inlinePolicy/ecr","source":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1UCDPB2P23HB5","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1UCDPB2P23HB5/inlinePolicy/ecr","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1UCDPB2P23HB5-arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1UCDPB2P23HB5/inlinePolicy/logs","label":"retaildemostore-Services-1WZN-CodeBuildServiceRole-1UCDPB2P23HB5-arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1UCDPB2P23HB5/inlinePolicy/logs","source":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1UCDPB2P23HB5","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1UCDPB2P23HB5/inlinePolicy/logs","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1UCDPB2P23HB5-arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1UCDPB2P23HB5/inlinePolicy/S3","label":"retaildemostore-Services-1WZN-CodeBuildServiceRole-1UCDPB2P23HB5-arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1UCDPB2P23HB5/inlinePolicy/S3","source":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1UCDPB2P23HB5","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1UCDPB2P23HB5/inlinePolicy/S3","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/IsengardConfigRole-arn:aws:iam::044981683129:policy/ConfigAccessPolicy","label":"IsengardConfigRole-ConfigAccessPolicy","source":"arn:aws:iam::044981683129:role/IsengardConfigRole","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:policy/ConfigAccessPolicy","targetMetadata":{"type":"AWS::IAM::Policy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/aws-perspective-ApiGatewayCloudWatchLogsRole-15CJ7Q43EBA03-arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective/240c8c70-2db7-11ec-a1f2-0aa3690e772d","label":"aws-perspective-ApiGatewayCloudWatchLogsRole-15CJ7Q43EBA03-aws-perspective","source":"arn:aws:iam::044981683129:role/aws-perspective-ApiGatewayCloudWatchLogsRole-15CJ7Q43EBA03","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective/240c8c70-2db7-11ec-a1f2-0aa3690e772d","targetMetadata":{"type":"AWS::CloudFormation::Stack","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/aws-perspective-LambdaExecutionRole-MKUDGQ3HDOBQ-arn:aws:iam::044981683129:role/aws-perspective-LambdaExecutionRole-MKUDGQ3HDOBQ/inlinePolicy/lambda-execution-perspective","label":"aws-perspective-LambdaExecutionRole-MKUDGQ3HDOBQ-arn:aws:iam::044981683129:role/aws-perspective-LambdaExecutionRole-MKUDGQ3HDOBQ/inlinePolicy/lambda-execution-perspective","source":"arn:aws:iam::044981683129:role/aws-perspective-LambdaExecutionRole-MKUDGQ3HDOBQ","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/aws-perspective-LambdaExecutionRole-MKUDGQ3HDOBQ/inlinePolicy/lambda-execution-perspective","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/aws-perspective-LambdaExecutionRole-MKUDGQ3HDOBQ-arn:aws:lambda:eu-west-1:044981683129:function:aws-perspective-LambdaSetup-FkTdFSUgfqHz","label":"aws-perspective-LambdaExecutionRole-MKUDGQ3HDOBQ-aws-perspective-LambdaSetup-FkTdFSUgfqHz","source":"arn:aws:iam::044981683129:role/aws-perspective-LambdaExecutionRole-MKUDGQ3HDOBQ","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:lambda:eu-west-1:044981683129:function:aws-perspective-LambdaSetup-FkTdFSUgfqHz","targetMetadata":{"type":"AWS::Lambda::Function","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/aws-perspective-LambdaExecutionRole-MKUDGQ3HDOBQ-arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective/240c8c70-2db7-11ec-a1f2-0aa3690e772d","label":"aws-perspective-LambdaExecutionRole-MKUDGQ3HDOBQ-aws-perspective","source":"arn:aws:iam::044981683129:role/aws-perspective-LambdaExecutionRole-MKUDGQ3HDOBQ","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective/240c8c70-2db7-11ec-a1f2-0aa3690e772d","targetMetadata":{"type":"AWS::CloudFormation::Stack","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/IsengardCloudTrailRole-arn:aws:iam::044981683129:role/IsengardCloudTrailRole/inlinePolicy/AWSCloudTrailAccessPolicy","label":"IsengardCloudTrailRole-arn:aws:iam::044981683129:role/IsengardCloudTrailRole/inlinePolicy/AWSCloudTrailAccessPolicy","source":"arn:aws:iam::044981683129:role/IsengardCloudTrailRole","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/IsengardCloudTrailRole/inlinePolicy/AWSCloudTrailAccessPolicy","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-CodebuildS-RunCodebuildFunctionRole-1WQUGGJTDY7A1-arn:aws:iam::044981683129:role/wd2-2022-10-07-CodebuildS-RunCodebuildFunctionRole-1WQUGGJTDY7A1/inlinePolicy/RunCodebuildFunctionRolePolicy0","label":"wd2-2022-10-07-CodebuildS-RunCodebuildFunctionRole-1WQUGGJTDY7A1-arn:aws:iam::044981683129:role/wd2-2022-10-07-CodebuildS-RunCodebuildFunctionRole-1WQUGGJTDY7A1/inlinePolicy/RunCodebuildFunctionRolePolicy0","source":"arn:aws:iam::044981683129:role/wd2-2022-10-07-CodebuildS-RunCodebuildFunctionRole-1WQUGGJTDY7A1","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/wd2-2022-10-07-CodebuildS-RunCodebuildFunctionRole-1WQUGGJTDY7A1/inlinePolicy/RunCodebuildFunctionRolePolicy0","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-CodebuildS-RunCodebuildFunctionRole-1WQUGGJTDY7A1-arn:aws:tags::044981683129:tag/lambda:createdBy=SAM","label":"wd2-2022-10-07-CodebuildS-RunCodebuildFunctionRole-1WQUGGJTDY7A1-lambda:createdBy=SAM","source":"arn:aws:iam::044981683129:role/wd2-2022-10-07-CodebuildS-RunCodebuildFunctionRole-1WQUGGJTDY7A1","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:tags::044981683129:tag/lambda:createdBy=SAM","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-CodebuildS-RunCodebuildFunctionRole-1WQUGGJTDY7A1-arn:aws:tags::044981683129:tag/AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b","label":"wd2-2022-10-07-CodebuildS-RunCodebuildFunctionRole-1WQUGGJTDY7A1-AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b","source":"arn:aws:iam::044981683129:role/wd2-2022-10-07-CodebuildS-RunCodebuildFunctionRole-1WQUGGJTDY7A1","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:tags::044981683129:tag/AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-CodebuildS-RunCodebuildFunctionRole-1WQUGGJTDY7A1-arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-CodebuildStack-RunCodebuildFunction-P7iK29q345tJ","label":"wd2-2022-10-07-CodebuildS-RunCodebuildFunctionRole-1WQUGGJTDY7A1-wd2-2022-10-07-CodebuildStack-RunCodebuildFunction-P7iK29q345tJ","source":"arn:aws:iam::044981683129:role/wd2-2022-10-07-CodebuildS-RunCodebuildFunctionRole-1WQUGGJTDY7A1","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-CodebuildStack-RunCodebuildFunction-P7iK29q345tJ","targetMetadata":{"type":"AWS::Lambda::Function","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-CodebuildS-RunCodebuildFunctionRole-1WQUGGJTDY7A1-arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-CodebuildStack-U8PNO9EGQQUF/34e34260-466a-11ed-8329-0604795736a1","label":"wd2-2022-10-07-CodebuildS-RunCodebuildFunctionRole-1WQUGGJTDY7A1-wd2-2022-10-07-CodebuildStack-U8PNO9EGQQUF","source":"arn:aws:iam::044981683129:role/wd2-2022-10-07-CodebuildS-RunCodebuildFunctionRole-1WQUGGJTDY7A1","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-CodebuildStack-U8PNO9EGQQUF/34e34260-466a-11ed-8329-0604795736a1","targetMetadata":{"type":"AWS::CloudFormation::Stack","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-CleanupRepositoryFunctio-10PO00Z6TCQIE-arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-CleanupRepositoryFunctio-10PO00Z6TCQIE/inlinePolicy/CleanupRepositoryFunctionRolePolicy0","label":"wd2-2022-10-07-TaskStack-CleanupRepositoryFunctio-10PO00Z6TCQIE-arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-CleanupRepositoryFunctio-10PO00Z6TCQIE/inlinePolicy/CleanupRepositoryFunctionRolePolicy0","source":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-CleanupRepositoryFunctio-10PO00Z6TCQIE","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-CleanupRepositoryFunctio-10PO00Z6TCQIE/inlinePolicy/CleanupRepositoryFunctionRolePolicy0","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-CleanupRepositoryFunctio-10PO00Z6TCQIE-arn:aws:tags::044981683129:tag/lambda:createdBy=SAM","label":"wd2-2022-10-07-TaskStack-CleanupRepositoryFunctio-10PO00Z6TCQIE-lambda:createdBy=SAM","source":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-CleanupRepositoryFunctio-10PO00Z6TCQIE","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:tags::044981683129:tag/lambda:createdBy=SAM","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-CleanupRepositoryFunctio-10PO00Z6TCQIE-arn:aws:tags::044981683129:tag/AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b","label":"wd2-2022-10-07-TaskStack-CleanupRepositoryFunctio-10PO00Z6TCQIE-AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b","source":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-CleanupRepositoryFunctio-10PO00Z6TCQIE","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:tags::044981683129:tag/AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-CleanupRepositoryFunctio-10PO00Z6TCQIE-arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-TaskStack--CleanupRepositoryFunctio-fasZB6rSwhCE","label":"wd2-2022-10-07-TaskStack-CleanupRepositoryFunctio-10PO00Z6TCQIE-wd2-2022-10-07-TaskStack--CleanupRepositoryFunctio-fasZB6rSwhCE","source":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-CleanupRepositoryFunctio-10PO00Z6TCQIE","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-TaskStack--CleanupRepositoryFunctio-fasZB6rSwhCE","targetMetadata":{"type":"AWS::Lambda::Function","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-CleanupRepositoryFunctio-10PO00Z6TCQIE-arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-TaskStack-HRSVA4HB3B79/e2929100-4669-11ed-b4d3-06482d7663f5","label":"wd2-2022-10-07-TaskStack-CleanupRepositoryFunctio-10PO00Z6TCQIE-wd2-2022-10-07-TaskStack-HRSVA4HB3B79","source":"arn:aws:iam::044981683129:role/wd2-2022-10-07-TaskStack-CleanupRepositoryFunctio-10PO00Z6TCQIE","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-TaskStack-HRSVA4HB3B79/e2929100-4669-11ed-b4d3-06482d7663f5","targetMetadata":{"type":"AWS::CloudFormation::Stack","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Vi-TaskRole-3IK2EA1VZD5B-arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Vi-TaskRole-3IK2EA1VZD5B/inlinePolicy/DynamoDB","label":"retaildemostore-Services-1WZNOPXSYAVK8-Vi-TaskRole-3IK2EA1VZD5B-arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Vi-TaskRole-3IK2EA1VZD5B/inlinePolicy/DynamoDB","source":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Vi-TaskRole-3IK2EA1VZD5B","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Vi-TaskRole-3IK2EA1VZD5B/inlinePolicy/DynamoDB","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Vi-TaskRole-3IK2EA1VZD5B-arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Vi-TaskRole-3IK2EA1VZD5B/inlinePolicy/others","label":"retaildemostore-Services-1WZNOPXSYAVK8-Vi-TaskRole-3IK2EA1VZD5B-arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Vi-TaskRole-3IK2EA1VZD5B/inlinePolicy/others","source":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Vi-TaskRole-3IK2EA1VZD5B","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Vi-TaskRole-3IK2EA1VZD5B/inlinePolicy/others","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Vi-TaskRole-3IK2EA1VZD5B-arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Vi-TaskRole-3IK2EA1VZD5B/inlinePolicy/PinpointSMS","label":"retaildemostore-Services-1WZNOPXSYAVK8-Vi-TaskRole-3IK2EA1VZD5B-arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Vi-TaskRole-3IK2EA1VZD5B/inlinePolicy/PinpointSMS","source":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Vi-TaskRole-3IK2EA1VZD5B","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Vi-TaskRole-3IK2EA1VZD5B/inlinePolicy/PinpointSMS","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/AVMContainersUserRole-arn:aws:iam::044981683129:role/AVMContainersUserRole/inlinePolicy/AWSContainerAssessmentPolicy","label":"AVMContainersUserRole-arn:aws:iam::044981683129:role/AVMContainersUserRole/inlinePolicy/AWSContainerAssessmentPolicy","source":"arn:aws:iam::044981683129:role/AVMContainersUserRole","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/AVMContainersUserRole/inlinePolicy/AWSContainerAssessmentPolicy","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/workload-discovery-iad-Se-PerspectiveSettingsLambd-196F19BSKJYPS-arn:aws:iam::044981683129:role/workload-discovery-iad-Se-PerspectiveSettingsLambd-196F19BSKJYPS/inlinePolicy/workload-discovery-iad-SettingsResolversStack-5BT7BQGN8YN6-AppSyncLambdaRole","label":"workload-discovery-iad-Se-PerspectiveSettingsLambd-196F19BSKJYPS-arn:aws:iam::044981683129:role/workload-discovery-iad-Se-PerspectiveSettingsLambd-196F19BSKJYPS/inlinePolicy/workload-discovery-iad-SettingsResolversStack-5BT7BQGN8YN6-AppSyncLambdaRole","source":"arn:aws:iam::044981683129:role/workload-discovery-iad-Se-PerspectiveSettingsLambd-196F19BSKJYPS","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/workload-discovery-iad-Se-PerspectiveSettingsLambd-196F19BSKJYPS/inlinePolicy/workload-discovery-iad-SettingsResolversStack-5BT7BQGN8YN6-AppSyncLambdaRole","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Se-TaskRole-1W0XHIR08R8NO-arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Se-TaskRole-1W0XHIR08R8NO/inlinePolicy/DynamoDB","label":"retaildemostore-Services-1WZNOPXSYAVK8-Se-TaskRole-1W0XHIR08R8NO-arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Se-TaskRole-1W0XHIR08R8NO/inlinePolicy/DynamoDB","source":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Se-TaskRole-1W0XHIR08R8NO","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Se-TaskRole-1W0XHIR08R8NO/inlinePolicy/DynamoDB","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Se-TaskRole-1W0XHIR08R8NO-arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Se-TaskRole-1W0XHIR08R8NO/inlinePolicy/others","label":"retaildemostore-Services-1WZNOPXSYAVK8-Se-TaskRole-1W0XHIR08R8NO-arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Se-TaskRole-1W0XHIR08R8NO/inlinePolicy/others","source":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Se-TaskRole-1W0XHIR08R8NO","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Se-TaskRole-1W0XHIR08R8NO/inlinePolicy/others","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Se-TaskRole-1W0XHIR08R8NO-arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Se-TaskRole-1W0XHIR08R8NO/inlinePolicy/PinpointSMS","label":"retaildemostore-Services-1WZNOPXSYAVK8-Se-TaskRole-1W0XHIR08R8NO-arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Se-TaskRole-1W0XHIR08R8NO/inlinePolicy/PinpointSMS","source":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Se-TaskRole-1W0XHIR08R8NO","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Se-TaskRole-1W0XHIR08R8NO/inlinePolicy/PinpointSMS","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZWG5MDR-LambdaExecutionRole-17SJ3SG620L8L-arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZWG5MDR-LambdaExecutionRole-17SJ3SG620L8L/inlinePolicy/lambda_policy","label":"mda-stack-Workload-1V66ZWG5MDR-LambdaExecutionRole-17SJ3SG620L8L-arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZWG5MDR-LambdaExecutionRole-17SJ3SG620L8L/inlinePolicy/lambda_policy","source":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZWG5MDR-LambdaExecutionRole-17SJ3SG620L8L","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/mda-stack-Workload-1V66ZWG5MDR-LambdaExecutionRole-17SJ3SG620L8L/inlinePolicy/lambda_policy","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/recipe-recommendation-eng-SegmentCrossAccountLambd-1SPH7CP56X446-arn:aws:iam::044981683129:role/recipe-recommendation-eng-SegmentCrossAccountLambd-1SPH7CP56X446/inlinePolicy/root","label":"recipe-recommendation-eng-SegmentCrossAccountLambd-1SPH7CP56X446-arn:aws:iam::044981683129:role/recipe-recommendation-eng-SegmentCrossAccountLambd-1SPH7CP56X446/inlinePolicy/root","source":"arn:aws:iam::044981683129:role/recipe-recommendation-eng-SegmentCrossAccountLambd-1SPH7CP56X446","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/recipe-recommendation-eng-SegmentCrossAccountLambd-1SPH7CP56X446/inlinePolicy/root","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/IsengardAuditorRole-DO-NOT-DELETE-arn:aws:iam::044981683129:role/IsengardAuditorRole-DO-NOT-DELETE/inlinePolicy/IsengardAuditorPolicy","label":"IsengardAuditorRole-DO-NOT-DELETE-arn:aws:iam::044981683129:role/IsengardAuditorRole-DO-NOT-DELETE/inlinePolicy/IsengardAuditorPolicy","source":"arn:aws:iam::044981683129:role/IsengardAuditorRole-DO-NOT-DELETE","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/IsengardAuditorRole-DO-NOT-DELETE/inlinePolicy/IsengardAuditorPolicy","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/service-role/s3crr_role_for_aws-perspective-accesslogsbucket-163y1cix8v0lc_to-arn:aws:iam::044981683129:policy/service-role/s3crr_for_aws-perspective-accesslogsbucket-163y1cix8v0lc_to_amplify-elm-app-20190329163312-deployment_0cc22c","label":"s3crr_role_for_aws-perspective-accesslogsbucket-163y1cix8v0lc_to-s3crr_for_aws-perspective-accesslogsbucket-163y1cix8v0lc_to_amplify-elm-app-20190329163312-deployment_0cc22c","source":"arn:aws:iam::044981683129:role/service-role/s3crr_role_for_aws-perspective-accesslogsbucket-163y1cix8v0lc_to","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:policy/service-role/s3crr_for_aws-perspective-accesslogsbucket-163y1cix8v0lc_to_amplify-elm-app-20190329163312-deployment_0cc22c","targetMetadata":{"type":"AWS::IAM::Policy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/ecs-refarch-london-ECS-8V-ECSServiceAutoScalingRol-1UGZF8WKABXYA-arn:aws:iam::044981683129:role/ecs-refarch-london-ECS-8V-ECSServiceAutoScalingRol-1UGZF8WKABXYA/inlinePolicy/ecs-service-autoscaling","label":"ecs-refarch-london-ECS-8V-ECSServiceAutoScalingRol-1UGZF8WKABXYA-arn:aws:iam::044981683129:role/ecs-refarch-london-ECS-8V-ECSServiceAutoScalingRol-1UGZF8WKABXYA/inlinePolicy/ecs-service-autoscaling","source":"arn:aws:iam::044981683129:role/ecs-refarch-london-ECS-8V-ECSServiceAutoScalingRol-1UGZF8WKABXYA","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/ecs-refarch-london-ECS-8V-ECSServiceAutoScalingRol-1UGZF8WKABXYA/inlinePolicy/ecs-service-autoscaling","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-1F542O0QJS04B-arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-1F542O0QJS04B/inlinePolicy/ecr","label":"recipe-recommendation-engine-CodeBuildServiceRole-1F542O0QJS04B-arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-1F542O0QJS04B/inlinePolicy/ecr","source":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-1F542O0QJS04B","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-1F542O0QJS04B/inlinePolicy/ecr","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-1F542O0QJS04B-arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-1F542O0QJS04B/inlinePolicy/logs","label":"recipe-recommendation-engine-CodeBuildServiceRole-1F542O0QJS04B-arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-1F542O0QJS04B/inlinePolicy/logs","source":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-1F542O0QJS04B","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-1F542O0QJS04B/inlinePolicy/logs","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-1F542O0QJS04B-arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-1F542O0QJS04B/inlinePolicy/S3","label":"recipe-recommendation-engine-CodeBuildServiceRole-1F542O0QJS04B-arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-1F542O0QJS04B/inlinePolicy/S3","source":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-1F542O0QJS04B","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/recipe-recommendation-engine-CodeBuildServiceRole-1F542O0QJS04B/inlinePolicy/S3","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-NeptuneStack-NeptuneRole-1ILIOFBOXQQJB-arn:aws:iam::044981683129:policy/Workload-Discovery-on-AWS-NeptuneStack-1TSSEEQW41B1F-NeptuneCloudWatchPolicy-G1BJODXSMIXZ","label":"Workload-Discovery-on-AWS-NeptuneStack-NeptuneRole-1ILIOFBOXQQJB-Workload-Discovery-on-AWS-NeptuneStack-1TSSEEQW41B1F-NeptuneCloudWatchPolicy-G1BJODXSMIXZ","source":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-NeptuneStack-NeptuneRole-1ILIOFBOXQQJB","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:policy/Workload-Discovery-on-AWS-NeptuneStack-1TSSEEQW41B1F-NeptuneCloudWatchPolicy-G1BJODXSMIXZ","targetMetadata":{"type":"AWS::IAM::Policy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-NeptuneStack-NeptuneRole-1ILIOFBOXQQJB-arn:aws:iam::044981683129:policy/Workload-Discovery-on-AWS-NeptuneStack-1TSSEEQW41B1F-NeptuneS3Policy-11G38S3HRQAOI","label":"Workload-Discovery-on-AWS-NeptuneStack-NeptuneRole-1ILIOFBOXQQJB-Workload-Discovery-on-AWS-NeptuneStack-1TSSEEQW41B1F-NeptuneS3Policy-11G38S3HRQAOI","source":"arn:aws:iam::044981683129:role/Workload-Discovery-on-AWS-NeptuneStack-NeptuneRole-1ILIOFBOXQQJB","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:policy/Workload-Discovery-on-AWS-NeptuneStack-1TSSEEQW41B1F-NeptuneS3Policy-11G38S3HRQAOI","targetMetadata":{"type":"AWS::IAM::Policy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/aws-perspective-v2-Search-PerspectiveSearchLambdaA-1L8H5AM7DG3Z3-arn:aws:iam::044981683129:role/aws-perspective-v2-Search-PerspectiveSearchLambdaA-1L8H5AM7DG3Z3/inlinePolicy/aws-perspective-v2-SearchResolversStack-LGHA18LGEXCE-AppSyncSearchRole","label":"aws-perspective-v2-Search-PerspectiveSearchLambdaA-1L8H5AM7DG3Z3-arn:aws:iam::044981683129:role/aws-perspective-v2-Search-PerspectiveSearchLambdaA-1L8H5AM7DG3Z3/inlinePolicy/aws-perspective-v2-SearchResolversStack-LGHA18LGEXCE-AppSyncSearchRole","source":"arn:aws:iam::044981683129:role/aws-perspective-v2-Search-PerspectiveSearchLambdaA-1L8H5AM7DG3Z3","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/aws-perspective-v2-Search-PerspectiveSearchLambdaA-1L8H5AM7DG3Z3/inlinePolicy/aws-perspective-v2-SearchResolversStack-LGHA18LGEXCE-AppSyncSearchRole","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-VpcStack-JV66F8IP5PCO-FlowLogRole-1MR95V0BSSCV0-arn:aws:iam::044981683129:role/wd2-2022-10-07-VpcStack-JV66F8IP5PCO-FlowLogRole-1MR95V0BSSCV0/inlinePolicy/flowlog-policy","label":"wd2-2022-10-07-VpcStack-JV66F8IP5PCO-FlowLogRole-1MR95V0BSSCV0-arn:aws:iam::044981683129:role/wd2-2022-10-07-VpcStack-JV66F8IP5PCO-FlowLogRole-1MR95V0BSSCV0/inlinePolicy/flowlog-policy","source":"arn:aws:iam::044981683129:role/wd2-2022-10-07-VpcStack-JV66F8IP5PCO-FlowLogRole-1MR95V0BSSCV0","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/wd2-2022-10-07-VpcStack-JV66F8IP5PCO-FlowLogRole-1MR95V0BSSCV0/inlinePolicy/flowlog-policy","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-VpcStack-JV66F8IP5PCO-FlowLogRole-1MR95V0BSSCV0-arn:aws:tags::044981683129:tag/AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b","label":"wd2-2022-10-07-VpcStack-JV66F8IP5PCO-FlowLogRole-1MR95V0BSSCV0-AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b","source":"arn:aws:iam::044981683129:role/wd2-2022-10-07-VpcStack-JV66F8IP5PCO-FlowLogRole-1MR95V0BSSCV0","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:tags::044981683129:tag/AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-VpcStack-JV66F8IP5PCO-FlowLogRole-1MR95V0BSSCV0-arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447","label":"wd2-2022-10-07-VpcStack-JV66F8IP5PCO-FlowLogRole-1MR95V0BSSCV0-wd2-2022-10-07-VpcStack-JV66F8IP5PCO","source":"arn:aws:iam::044981683129:role/wd2-2022-10-07-VpcStack-JV66F8IP5PCO-FlowLogRole-1MR95V0BSSCV0","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447","targetMetadata":{"type":"AWS::CloudFormation::Stack","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1R6Z5RD9AWOW3-arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1R6Z5RD9AWOW3/inlinePolicy/ecr","label":"retaildemostore-Services-1WZN-CodeBuildServiceRole-1R6Z5RD9AWOW3-arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1R6Z5RD9AWOW3/inlinePolicy/ecr","source":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1R6Z5RD9AWOW3","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1R6Z5RD9AWOW3/inlinePolicy/ecr","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1R6Z5RD9AWOW3-arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1R6Z5RD9AWOW3/inlinePolicy/logs","label":"retaildemostore-Services-1WZN-CodeBuildServiceRole-1R6Z5RD9AWOW3-arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1R6Z5RD9AWOW3/inlinePolicy/logs","source":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1R6Z5RD9AWOW3","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1R6Z5RD9AWOW3/inlinePolicy/logs","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1R6Z5RD9AWOW3-arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1R6Z5RD9AWOW3/inlinePolicy/S3","label":"retaildemostore-Services-1WZN-CodeBuildServiceRole-1R6Z5RD9AWOW3-arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1R6Z5RD9AWOW3/inlinePolicy/S3","source":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1R6Z5RD9AWOW3","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZN-CodeBuildServiceRole-1R6Z5RD9AWOW3/inlinePolicy/S3","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/workload-discovery-iad-S3-CleanupBucketFunctionRol-62XKP203PYW4-arn:aws:iam::044981683129:role/workload-discovery-iad-S3-CleanupBucketFunctionRol-62XKP203PYW4/inlinePolicy/CleanupBucketFunctionRolePolicy0","label":"workload-discovery-iad-S3-CleanupBucketFunctionRol-62XKP203PYW4-arn:aws:iam::044981683129:role/workload-discovery-iad-S3-CleanupBucketFunctionRol-62XKP203PYW4/inlinePolicy/CleanupBucketFunctionRolePolicy0","source":"arn:aws:iam::044981683129:role/workload-discovery-iad-S3-CleanupBucketFunctionRol-62XKP203PYW4","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/workload-discovery-iad-S3-CleanupBucketFunctionRol-62XKP203PYW4/inlinePolicy/CleanupBucketFunctionRolePolicy0","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/workload-discovery-iad-S3-CleanupBucketFunctionRol-62XKP203PYW4-arn:aws:tags::044981683129:tag/lambda:createdBy=SAM","label":"workload-discovery-iad-S3-CleanupBucketFunctionRol-62XKP203PYW4-lambda:createdBy=SAM","source":"arn:aws:iam::044981683129:role/workload-discovery-iad-S3-CleanupBucketFunctionRol-62XKP203PYW4","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:tags::044981683129:tag/lambda:createdBy=SAM","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-S3Buckets-CleanupBucketFunctionRol-150P46MM6RRPS-arn:aws:iam::044981683129:role/wd2-2022-10-07-S3Buckets-CleanupBucketFunctionRol-150P46MM6RRPS/inlinePolicy/CleanupBucketFunctionRolePolicy0","label":"wd2-2022-10-07-S3Buckets-CleanupBucketFunctionRol-150P46MM6RRPS-arn:aws:iam::044981683129:role/wd2-2022-10-07-S3Buckets-CleanupBucketFunctionRol-150P46MM6RRPS/inlinePolicy/CleanupBucketFunctionRolePolicy0","source":"arn:aws:iam::044981683129:role/wd2-2022-10-07-S3Buckets-CleanupBucketFunctionRol-150P46MM6RRPS","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/wd2-2022-10-07-S3Buckets-CleanupBucketFunctionRol-150P46MM6RRPS/inlinePolicy/CleanupBucketFunctionRolePolicy0","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-S3Buckets-CleanupBucketFunctionRol-150P46MM6RRPS-arn:aws:tags::044981683129:tag/lambda:createdBy=SAM","label":"wd2-2022-10-07-S3Buckets-CleanupBucketFunctionRol-150P46MM6RRPS-lambda:createdBy=SAM","source":"arn:aws:iam::044981683129:role/wd2-2022-10-07-S3Buckets-CleanupBucketFunctionRol-150P46MM6RRPS","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:tags::044981683129:tag/lambda:createdBy=SAM","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-S3Buckets-CleanupBucketFunctionRol-150P46MM6RRPS-arn:aws:tags::044981683129:tag/AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b","label":"wd2-2022-10-07-S3Buckets-CleanupBucketFunctionRol-150P46MM6RRPS-AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b","source":"arn:aws:iam::044981683129:role/wd2-2022-10-07-S3Buckets-CleanupBucketFunctionRol-150P46MM6RRPS","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:tags::044981683129:tag/AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-S3Buckets-CleanupBucketFunctionRol-150P46MM6RRPS-arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-S3Buckets-CTY-CleanupBucketFunction-f4R1Islp8F3N","label":"wd2-2022-10-07-S3Buckets-CleanupBucketFunctionRol-150P46MM6RRPS-wd2-2022-10-07-S3Buckets-CTY-CleanupBucketFunction-f4R1Islp8F3N","source":"arn:aws:iam::044981683129:role/wd2-2022-10-07-S3Buckets-CleanupBucketFunctionRol-150P46MM6RRPS","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-S3Buckets-CTY-CleanupBucketFunction-f4R1Islp8F3N","targetMetadata":{"type":"AWS::Lambda::Function","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-S3Buckets-CleanupBucketFunctionRol-150P46MM6RRPS-arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-S3Buckets-CTYWPXLBRSZF/a8c68900-4668-11ed-93ec-02a1b6729eb3","label":"wd2-2022-10-07-S3Buckets-CleanupBucketFunctionRol-150P46MM6RRPS-wd2-2022-10-07-S3Buckets-CTYWPXLBRSZF","source":"arn:aws:iam::044981683129:role/wd2-2022-10-07-S3Buckets-CleanupBucketFunctionRol-150P46MM6RRPS","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-S3Buckets-CTYWPXLBRSZF/a8c68900-4668-11ed-93ec-02a1b6729eb3","targetMetadata":{"type":"AWS::CloudFormation::Stack","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Pr-TaskRole-1E6FYOARUANTU-arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Pr-TaskRole-1E6FYOARUANTU/inlinePolicy/DynamoDB","label":"retaildemostore-Services-1WZNOPXSYAVK8-Pr-TaskRole-1E6FYOARUANTU-arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Pr-TaskRole-1E6FYOARUANTU/inlinePolicy/DynamoDB","source":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Pr-TaskRole-1E6FYOARUANTU","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Pr-TaskRole-1E6FYOARUANTU/inlinePolicy/DynamoDB","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Pr-TaskRole-1E6FYOARUANTU-arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Pr-TaskRole-1E6FYOARUANTU/inlinePolicy/others","label":"retaildemostore-Services-1WZNOPXSYAVK8-Pr-TaskRole-1E6FYOARUANTU-arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Pr-TaskRole-1E6FYOARUANTU/inlinePolicy/others","source":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Pr-TaskRole-1E6FYOARUANTU","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Pr-TaskRole-1E6FYOARUANTU/inlinePolicy/others","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Pr-TaskRole-1E6FYOARUANTU-arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Pr-TaskRole-1E6FYOARUANTU/inlinePolicy/PinpointSMS","label":"retaildemostore-Services-1WZNOPXSYAVK8-Pr-TaskRole-1E6FYOARUANTU-arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Pr-TaskRole-1E6FYOARUANTU/inlinePolicy/PinpointSMS","source":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Pr-TaskRole-1E6FYOARUANTU","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/retaildemostore-Services-1WZNOPXSYAVK8-Pr-TaskRole-1E6FYOARUANTU/inlinePolicy/PinpointSMS","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/service-role/aws-quicksight-service-role-v0-arn:aws:iam::044981683129:policy/service-role/AWSQuickSightIAMPolicy","label":"aws-quicksight-service-role-v0-AWSQuickSightIAMPolicy","source":"arn:aws:iam::044981683129:role/service-role/aws-quicksight-service-role-v0","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:policy/service-role/AWSQuickSightIAMPolicy","targetMetadata":{"type":"AWS::IAM::Policy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/service-role/aws-quicksight-service-role-v0-arn:aws:iam::044981683129:policy/service-role/AWSQuickSightRDSPolicy","label":"aws-quicksight-service-role-v0-AWSQuickSightRDSPolicy","source":"arn:aws:iam::044981683129:role/service-role/aws-quicksight-service-role-v0","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:policy/service-role/AWSQuickSightRDSPolicy","targetMetadata":{"type":"AWS::IAM::Policy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/service-role/aws-quicksight-service-role-v0-arn:aws:iam::044981683129:policy/service-role/AWSQuickSightRedshiftPolicy","label":"aws-quicksight-service-role-v0-AWSQuickSightRedshiftPolicy","source":"arn:aws:iam::044981683129:role/service-role/aws-quicksight-service-role-v0","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:policy/service-role/AWSQuickSightRedshiftPolicy","targetMetadata":{"type":"AWS::IAM::Policy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/retaildemostore-Base-193OE-CognitoUnAuthorizedRole-1KGQY6L3G6HEK-arn:aws:iam::044981683129:role/retaildemostore-Base-193OE-CognitoUnAuthorizedRole-1KGQY6L3G6HEK/inlinePolicy/CognitoUnauthorizedPolicy","label":"retaildemostore-Base-193OE-CognitoUnAuthorizedRole-1KGQY6L3G6HEK-arn:aws:iam::044981683129:role/retaildemostore-Base-193OE-CognitoUnAuthorizedRole-1KGQY6L3G6HEK/inlinePolicy/CognitoUnauthorizedPolicy","source":"arn:aws:iam::044981683129:role/retaildemostore-Base-193OE-CognitoUnAuthorizedRole-1KGQY6L3G6HEK","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/retaildemostore-Base-193OE-CognitoUnAuthorizedRole-1KGQY6L3G6HEK/inlinePolicy/CognitoUnauthorizedPolicy","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0c7085cd6156fa1a4-arn:aws:ec2:eu-west-1:060997615305:security-group/sg-033e6ddf648654069","label":"MediaAnalysis VPC-default","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0c7085cd6156fa1a4","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-033e6ddf648654069","targetMetadata":{"type":"AWS::EC2::SecurityGroup","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0c7085cd6156fa1a4-arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-0ebb017bbc6e6bb89","label":"MediaAnalysis VPC-rtb-0ebb017bbc6e6bb89","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0c7085cd6156fa1a4","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-0ebb017bbc6e6bb89","targetMetadata":{"type":"AWS::EC2::RouteTable","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0c7085cd6156fa1a4-arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-024dd935e27622d38","label":"MediaAnalysis VPC-rtb-024dd935e27622d38","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0c7085cd6156fa1a4","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-024dd935e27622d38","targetMetadata":{"type":"AWS::EC2::RouteTable","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0c7085cd6156fa1a4-arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e","label":"MediaAnalysis VPC-MediaAnalysis","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0c7085cd6156fa1a4","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e","targetMetadata":{"type":"AWS::CloudFormation::Stack","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0c7085cd6156fa1a4-arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-0cceea9e085020181","label":"MediaAnalysis VPC-MediaAnalysis Public Subnet 3","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0c7085cd6156fa1a4","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-0cceea9e085020181","targetMetadata":{"type":"AWS::EC2::Subnet","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0c7085cd6156fa1a4-arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-00a91f29894b9d3d2","label":"MediaAnalysis VPC-MediaAnalysis Public Subnet 1","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0c7085cd6156fa1a4","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-00a91f29894b9d3d2","targetMetadata":{"type":"AWS::EC2::Subnet","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0c7085cd6156fa1a4-arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-0147ad908aa90db3b","label":"MediaAnalysis VPC-MediaAnalysis Public Subnet 2","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0c7085cd6156fa1a4","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:subnet/subnet-0147ad908aa90db3b","targetMetadata":{"type":"AWS::EC2::Subnet","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0c7085cd6156fa1a4-arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-00b049ce164ed3a82","label":"MediaAnalysis VPC-acl-00b049ce164ed3a82","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0c7085cd6156fa1a4","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-00b049ce164ed3a82","targetMetadata":{"type":"AWS::EC2::NetworkAcl","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0c7085cd6156fa1a4-arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-0427015ae795beae9","label":"MediaAnalysis VPC-acl-0427015ae795beae9","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0c7085cd6156fa1a4","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-0427015ae795beae9","targetMetadata":{"type":"AWS::EC2::NetworkAcl","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0c7085cd6156fa1a4-arn:aws:ec2:eu-west-1:060997615305:internet-gateway/igw-09d8c8015bfa842a8","label":"MediaAnalysis VPC-igw-09d8c8015bfa842a8","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0c7085cd6156fa1a4","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:internet-gateway/igw-09d8c8015bfa842a8","targetMetadata":{"type":"AWS::EC2::InternetGateway","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0c7085cd6156fa1a4-arn:aws:tags::060997615305:tag/aws:cloudformation:logical-id=VPC","label":"MediaAnalysis VPC-aws:cloudformation:logical-id=VPC","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0c7085cd6156fa1a4","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:tags::060997615305:tag/aws:cloudformation:logical-id=VPC","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0c7085cd6156fa1a4-arn:aws:tags::060997615305:tag/Name=MediaAnalysis VPC","label":"MediaAnalysis VPC-Name=MediaAnalysis VPC","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0c7085cd6156fa1a4","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:tags::060997615305:tag/Name=MediaAnalysis VPC","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0c7085cd6156fa1a4-arn:aws:tags::060997615305:tag/aws:cloudformation:stack-name=MediaAnalysis","label":"MediaAnalysis VPC-aws:cloudformation:stack-name=MediaAnalysis","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0c7085cd6156fa1a4","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:tags::060997615305:tag/aws:cloudformation:stack-name=MediaAnalysis","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0c7085cd6156fa1a4-arn:aws:tags::060997615305:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e","label":"MediaAnalysis VPC-aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0c7085cd6156fa1a4","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:tags::060997615305:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/MediaAnalysis/176075a0-e06f-11e9-9307-02078729aa3e","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-AccountImp-AccountImportTemplatesAp-11R7J70DATOV3-arn:aws:tags::044981683129:tag/AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b","label":"wd2-2022-10-07-AccountImp-AccountImportTemplatesAp-11R7J70DATOV3-AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b","source":"arn:aws:iam::044981683129:role/wd2-2022-10-07-AccountImp-AccountImportTemplatesAp-11R7J70DATOV3","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:tags::044981683129:tag/AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-AccountImp-AccountImportTemplatesAp-11R7J70DATOV3-arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-AccountImp-AccountImportTemplatesAp-7vuKEokXIADF","label":"wd2-2022-10-07-AccountImp-AccountImportTemplatesAp-11R7J70DATOV3-wd2-2022-10-07-AccountImp-AccountImportTemplatesAp-7vuKEokXIADF","source":"arn:aws:iam::044981683129:role/wd2-2022-10-07-AccountImp-AccountImportTemplatesAp-11R7J70DATOV3","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-AccountImp-AccountImportTemplatesAp-7vuKEokXIADF","targetMetadata":{"type":"AWS::Lambda::Function","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/wd2-2022-10-07-AccountImp-AccountImportTemplatesAp-11R7J70DATOV3-arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-AccountImportTemplatesResolversStack-11OQ0Q2R1JD1C/e2afdd00-4669-11ed-b26c-02dabe6c6d83","label":"wd2-2022-10-07-AccountImp-AccountImportTemplatesAp-11R7J70DATOV3-wd2-2022-10-07-AccountImportTemplatesResolversStack-11OQ0Q2R1JD1C","source":"arn:aws:iam::044981683129:role/wd2-2022-10-07-AccountImp-AccountImportTemplatesAp-11R7J70DATOV3","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-AccountImportTemplatesResolversStack-11OQ0Q2R1JD1C/e2afdd00-4669-11ed-b26c-02dabe6c6d83","targetMetadata":{"type":"AWS::CloudFormation::Stack","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:iam::044981683129:role/GatedGardenInternalAudit-arn:aws:iam::044981683129:role/GatedGardenInternalAudit/inlinePolicy/GatedGardenInternalAuditPolicy","label":"GatedGardenInternalAudit-arn:aws:iam::044981683129:role/GatedGardenInternalAudit/inlinePolicy/GatedGardenInternalAuditPolicy","source":"arn:aws:iam::044981683129:role/GatedGardenInternalAudit","sourceMetadata":{"type":"AWS::IAM::Role","childIds":[]},"target":"arn:aws:iam::044981683129:role/GatedGardenInternalAudit/inlinePolicy/GatedGardenInternalAuditPolicy","targetMetadata":{"type":"AWS::IAM::InlinePolicy","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-02c9119bc7ff6cb1c-arn:aws:ec2:eu-west-1:060997615305:security-group/sg-03de25d028c763f2b","label":"ECS default - VPC-transr-9144","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-02c9119bc7ff6cb1c","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-03de25d028c763f2b","targetMetadata":{"type":"AWS::EC2::SecurityGroup","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-02c9119bc7ff6cb1c-arn:aws:ec2:eu-west-1:060997615305:security-group/sg-042ae93e368fcb496","label":"ECS default - VPC-ECS default - ECS SecurityGroup","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-02c9119bc7ff6cb1c","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-042ae93e368fcb496","targetMetadata":{"type":"AWS::EC2::SecurityGroup","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-02c9119bc7ff6cb1c-arn:aws:ec2:eu-west-1:060997615305:security-group/sg-071409072a9e03635","label":"ECS default - VPC-transr-6789","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-02c9119bc7ff6cb1c","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-071409072a9e03635","targetMetadata":{"type":"AWS::EC2::SecurityGroup","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-02c9119bc7ff6cb1c-arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0a6a68d70e29652ab","label":"ECS default - VPC-transr-2595","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-02c9119bc7ff6cb1c","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0a6a68d70e29652ab","targetMetadata":{"type":"AWS::EC2::SecurityGroup","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-02c9119bc7ff6cb1c-arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0ab7f1fe08d6532ca","label":"ECS default - VPC-first--2331","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-02c9119bc7ff6cb1c","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0ab7f1fe08d6532ca","targetMetadata":{"type":"AWS::EC2::SecurityGroup","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-02c9119bc7ff6cb1c-arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0e4abec6feb362504","label":"ECS default - VPC-transr-1396","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-02c9119bc7ff6cb1c","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0e4abec6feb362504","targetMetadata":{"type":"AWS::EC2::SecurityGroup","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-02c9119bc7ff6cb1c-arn:aws:ec2:eu-west-1:060997615305:security-group/sg-00dd06ef8e372a2ba","label":"ECS default - VPC-default","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-02c9119bc7ff6cb1c","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-00dd06ef8e372a2ba","targetMetadata":{"type":"AWS::EC2::SecurityGroup","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-02c9119bc7ff6cb1c-arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-05d6ec3f2e3d8160b","label":"ECS default - VPC-rtb-05d6ec3f2e3d8160b","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-02c9119bc7ff6cb1c","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-05d6ec3f2e3d8160b","targetMetadata":{"type":"AWS::EC2::RouteTable","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-02c9119bc7ff6cb1c-arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda","label":"ECS default - VPC-EC2ContainerService-default","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-02c9119bc7ff6cb1c","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda","targetMetadata":{"type":"AWS::CloudFormation::Stack","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-02c9119bc7ff6cb1c-arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-076a2c5fbdb51bb74","label":"ECS default - VPC-acl-076a2c5fbdb51bb74","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-02c9119bc7ff6cb1c","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-076a2c5fbdb51bb74","targetMetadata":{"type":"AWS::EC2::NetworkAcl","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-02c9119bc7ff6cb1c-arn:aws:ec2:eu-west-1:060997615305:internet-gateway/igw-09fedc11a7187a8e2","label":"ECS default - VPC-ECS default - InternetGateway","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-02c9119bc7ff6cb1c","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:internet-gateway/igw-09fedc11a7187a8e2","targetMetadata":{"type":"AWS::EC2::InternetGateway","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-02c9119bc7ff6cb1c-arn:aws:tags::060997615305:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda","label":"ECS default - VPC-aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-02c9119bc7ff6cb1c","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:tags::060997615305:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/EC2ContainerService-default/6fc1eea0-2af7-11e9-bcf0-0ae15a4dadda","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-02c9119bc7ff6cb1c-arn:aws:tags::060997615305:tag/aws:cloudformation:logical-id=Vpc","label":"ECS default - VPC-aws:cloudformation:logical-id=Vpc","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-02c9119bc7ff6cb1c","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:tags::060997615305:tag/aws:cloudformation:logical-id=Vpc","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-02c9119bc7ff6cb1c-arn:aws:tags::060997615305:tag/Name=ECS default - VPC","label":"ECS default - VPC-Name=ECS default - VPC","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-02c9119bc7ff6cb1c","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:tags::060997615305:tag/Name=ECS default - VPC","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-02c9119bc7ff6cb1c-arn:aws:tags::060997615305:tag/aws:cloudformation:stack-name=EC2ContainerService-default","label":"ECS default - VPC-aws:cloudformation:stack-name=EC2ContainerService-default","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-02c9119bc7ff6cb1c","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:tags::060997615305:tag/aws:cloudformation:stack-name=EC2ContainerService-default","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-02c9119bc7ff6cb1c-arn:aws:tags::060997615305:tag/Description=Created for ECS cluster default","label":"ECS default - VPC-Description=Created for ECS cluster default","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-02c9119bc7ff6cb1c","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:tags::060997615305:tag/Description=Created for ECS cluster default","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc-arn:aws:ec2:eu-west-1:044981683129:security-group/sg-062dd3b9b48e7278f","label":"eksctl-attractive-badger-1604015308-cluster/VPC-eksctl-attractive-badger-1604015308-cluster/ControlPlaneSecurityGroup","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-062dd3b9b48e7278f","targetMetadata":{"type":"AWS::EC2::SecurityGroup","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc-arn:aws:ec2:eu-west-1:044981683129:security-group/sg-00189a6b426be4510","label":"eksctl-attractive-badger-1604015308-cluster/VPC-eksctl-attractive-badger-1604015308-cluster/ClusterSharedNodeSecurityGroup","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-00189a6b426be4510","targetMetadata":{"type":"AWS::EC2::SecurityGroup","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc-arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0bcb1987c6667687b","label":"eksctl-attractive-badger-1604015308-cluster/VPC-eks-cluster-sg-attractive-badger-1604015308-1273556504","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0bcb1987c6667687b","targetMetadata":{"type":"AWS::EC2::SecurityGroup","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc-arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0c556ea978c9899ed","label":"eksctl-attractive-badger-1604015308-cluster/VPC-default","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0c556ea978c9899ed","targetMetadata":{"type":"AWS::EC2::SecurityGroup","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc-arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0f682d01b121c4504","label":"eksctl-attractive-badger-1604015308-cluster/VPC-k8s-elb-a3af06af9830647219ca4bb76e335070","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0f682d01b121c4504","targetMetadata":{"type":"AWS::EC2::SecurityGroup","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc-arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0a6baac6e5b5ece15","label":"eksctl-attractive-badger-1604015308-cluster/VPC-rtb-0a6baac6e5b5ece15","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0a6baac6e5b5ece15","targetMetadata":{"type":"AWS::EC2::RouteTable","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc-arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0e4546694e5f29f3e","label":"eksctl-attractive-badger-1604015308-cluster/VPC-eksctl-attractive-badger-1604015308-cluster/PublicRouteTable","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0e4546694e5f29f3e","targetMetadata":{"type":"AWS::EC2::RouteTable","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc-arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-00c6164c6e973b920","label":"eksctl-attractive-badger-1604015308-cluster/VPC-eksctl-attractive-badger-1604015308-cluster/PrivateRouteTableEUWEST1A","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-00c6164c6e973b920","targetMetadata":{"type":"AWS::EC2::RouteTable","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc-arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0482e106b5b8276c9","label":"eksctl-attractive-badger-1604015308-cluster/VPC-eksctl-attractive-badger-1604015308-cluster/PrivateRouteTableEUWEST1B","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0482e106b5b8276c9","targetMetadata":{"type":"AWS::EC2::RouteTable","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc-arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-00606deec1ab74b66","label":"eksctl-attractive-badger-1604015308-cluster/VPC-eksctl-attractive-badger-1604015308-cluster/PrivateRouteTableEUWEST1C","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-00606deec1ab74b66","targetMetadata":{"type":"AWS::EC2::RouteTable","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc-arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0","label":"eksctl-attractive-badger-1604015308-cluster/VPC-eksctl-attractive-badger-1604015308-cluster","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0","targetMetadata":{"type":"AWS::CloudFormation::Stack","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc-arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-01302c518568235ff","label":"eksctl-attractive-badger-1604015308-cluster/VPC-eni-01302c518568235ff","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-01302c518568235ff","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc-arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-04f5460a4defeec00","label":"eksctl-attractive-badger-1604015308-cluster/VPC-eni-04f5460a4defeec00","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-04f5460a4defeec00","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc-arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-034e2d32e58987e71","label":"eksctl-attractive-badger-1604015308-cluster/VPC-eni-034e2d32e58987e71","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-034e2d32e58987e71","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc-arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0c9fb00a36adc2b12","label":"eksctl-attractive-badger-1604015308-cluster/VPC-eni-0c9fb00a36adc2b12","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0c9fb00a36adc2b12","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc-arn:aws:ec2:eu-west-1:044981683129:instance/i-094153cb430d51f61","label":"eksctl-attractive-badger-1604015308-cluster/VPC-attractive-badger-1604015308-ng-608957a7-Node","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:instance/i-094153cb430d51f61","targetMetadata":{"type":"AWS::EC2::Instance","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc-arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-062d82ea74dec8c3c","label":"eksctl-attractive-badger-1604015308-cluster/VPC-eksctl-attractive-badger-1604015308-cluster/NATGateway","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-062d82ea74dec8c3c","targetMetadata":{"type":"AWS::EC2::NatGateway","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc-arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-053cf43eeff208e35","label":"eksctl-attractive-badger-1604015308-cluster/VPC-eni-053cf43eeff208e35","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-053cf43eeff208e35","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc-arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-03755dc2d4bdd2e2b","label":"eksctl-attractive-badger-1604015308-cluster/VPC-eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1B","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-03755dc2d4bdd2e2b","targetMetadata":{"type":"AWS::EC2::Subnet","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc-arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-023092cb4c6311c93","label":"eksctl-attractive-badger-1604015308-cluster/VPC-eni-023092cb4c6311c93","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-023092cb4c6311c93","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc-arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0461a710ed0df3002","label":"eksctl-attractive-badger-1604015308-cluster/VPC-eksctl-attractive-badger-1604015308-cluster/SubnetPrivateEUWEST1A","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:subnet/subnet-0461a710ed0df3002","targetMetadata":{"type":"AWS::EC2::Subnet","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc-arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-042b61ae6b9558d21","label":"eksctl-attractive-badger-1604015308-cluster/VPC-eni-042b61ae6b9558d21","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-042b61ae6b9558d21","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc-arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0f82403202f592988","label":"eksctl-attractive-badger-1604015308-cluster/VPC-eni-0f82403202f592988","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0f82403202f592988","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc-arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-06723dbc83ce589dd","label":"eksctl-attractive-badger-1604015308-cluster/VPC-eni-06723dbc83ce589dd","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-06723dbc83ce589dd","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc-arn:aws:ec2:eu-west-1:044981683129:instance/i-0d6dc57f292feae19","label":"eksctl-attractive-badger-1604015308-cluster/VPC-attractive-badger-1604015308-ng-608957a7-Node","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:instance/i-0d6dc57f292feae19","targetMetadata":{"type":"AWS::EC2::Instance","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc-arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-0f3f92e8ff8da4d6d","label":"eksctl-attractive-badger-1604015308-cluster/VPC-acl-0f3f92e8ff8da4d6d","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-0f3f92e8ff8da4d6d","targetMetadata":{"type":"AWS::EC2::NetworkAcl","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc-arn:aws:ec2:eu-west-1:044981683129:internet-gateway/igw-08b8d3537a4856281","label":"eksctl-attractive-badger-1604015308-cluster/VPC-eksctl-attractive-badger-1604015308-cluster/InternetGateway","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:internet-gateway/igw-08b8d3537a4856281","targetMetadata":{"type":"AWS::EC2::InternetGateway","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc-arn:aws:elasticloadbalancing:eu-west-1:044981683129:loadbalancer/a3af06af9830647219ca4bb76e335070","label":"eksctl-attractive-badger-1604015308-cluster/VPC-a3af06af9830647219ca4bb76e335070","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:loadbalancer/a3af06af9830647219ca4bb76e335070","targetMetadata":{"type":"AWS::ElasticLoadBalancing::LoadBalancer","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc-arn:aws:autoscaling:eu-west-1:044981683129:autoScalingGroup:cc4a478a-ce27-43ad-b468-3b5f3a4013e6:autoScalingGroupName/eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3","label":"eksctl-attractive-badger-1604015308-cluster/VPC-eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:autoscaling:eu-west-1:044981683129:autoScalingGroup:cc4a478a-ce27-43ad-b468-3b5f3a4013e6:autoScalingGroupName/eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3","targetMetadata":{"type":"AWS::AutoScaling::AutoScalingGroup","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc-arn:aws:eks:eu-west-1:044981683129:cluster/attractive-badger-1604015308","label":"eksctl-attractive-badger-1604015308-cluster/VPC-attractive-badger-1604015308","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:eks:eu-west-1:044981683129:cluster/attractive-badger-1604015308","targetMetadata":{"type":"AWS::EKS::Cluster","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc-arn:aws:eks:eu-west-1:044981683129:nodegroup/attractive-badger-1604015308/ng-608957a7/5ababb6a-75d5-8af7-0351-02c55b0db9f3","label":"eksctl-attractive-badger-1604015308-cluster/VPC-ng-608957a7","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:eks:eu-west-1:044981683129:nodegroup/attractive-badger-1604015308/ng-608957a7/5ababb6a-75d5-8af7-0351-02c55b0db9f3","targetMetadata":{"type":"AWS::EKS::Nodegroup","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc-arn:aws:tags::044981683129:tag/aws:cloudformation:logical-id=VPC","label":"eksctl-attractive-badger-1604015308-cluster/VPC-aws:cloudformation:logical-id=VPC","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:tags::044981683129:tag/aws:cloudformation:logical-id=VPC","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc-arn:aws:tags::044981683129:tag/Name=eksctl-attractive-badger-1604015308-cluster/VPC","label":"eksctl-attractive-badger-1604015308-cluster/VPC-Name=eksctl-attractive-badger-1604015308-cluster/VPC","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:tags::044981683129:tag/Name=eksctl-attractive-badger-1604015308-cluster/VPC","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc-arn:aws:tags::044981683129:tag/alpha.eksctl.io/cluster-name=attractive-badger-1604015308","label":"eksctl-attractive-badger-1604015308-cluster/VPC-alpha.eksctl.io/cluster-name=attractive-badger-1604015308","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:tags::044981683129:tag/alpha.eksctl.io/cluster-name=attractive-badger-1604015308","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc-arn:aws:tags::044981683129:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0","label":"eksctl-attractive-badger-1604015308-cluster/VPC-aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:tags::044981683129:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/eksctl-attractive-badger-1604015308-cluster/3f2751f0-1a41-11eb-b953-021deeb5f1c0","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc-arn:aws:tags::044981683129:tag/eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308","label":"eksctl-attractive-badger-1604015308-cluster/VPC-eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:tags::044981683129:tag/eksctl.cluster.k8s.io/v1alpha1/cluster-name=attractive-badger-1604015308","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc-arn:aws:tags::044981683129:tag/aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster","label":"eksctl-attractive-badger-1604015308-cluster/VPC-aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:tags::044981683129:tag/aws:cloudformation:stack-name=eksctl-attractive-badger-1604015308-cluster","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc-arn:aws:tags::044981683129:tag/alpha.eksctl.io/eksctl-version=0.30.0","label":"eksctl-attractive-badger-1604015308-cluster/VPC-alpha.eksctl.io/eksctl-version=0.30.0","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09839929763048cfc","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:tags::044981683129:tag/alpha.eksctl.io/eksctl-version=0.30.0","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657-arn:aws:ec2:eu-west-1:044981683129:security-group/sg-05a9ece4840a0a346","label":"ecs-refarch-default","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-05a9ece4840a0a346","targetMetadata":{"type":"AWS::EC2::SecurityGroup","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657-arn:aws:ec2:eu-west-1:044981683129:security-group/sg-08891adf615ba4aa1","label":"ecs-refarch-ecs-refarch-LoadBalancers","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-08891adf615ba4aa1","targetMetadata":{"type":"AWS::EC2::SecurityGroup","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657-arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0c02229ab89b7cad1","label":"ecs-refarch-ecs-refarch-ECS-Hosts","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0c02229ab89b7cad1","targetMetadata":{"type":"AWS::EC2::SecurityGroup","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657-arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0b62b93a064e8db4d","label":"ecs-refarch-ecs-refarch Private Routes (AZ1)","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0b62b93a064e8db4d","targetMetadata":{"type":"AWS::EC2::RouteTable","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657-arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0fbd9569f6a499b36","label":"ecs-refarch-rtb-0fbd9569f6a499b36","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0fbd9569f6a499b36","targetMetadata":{"type":"AWS::EC2::RouteTable","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657-arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-06faafa610fab8386","label":"ecs-refarch-ecs-refarch Public Routes","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-06faafa610fab8386","targetMetadata":{"type":"AWS::EC2::RouteTable","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657-arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0a338347d2bde85af","label":"ecs-refarch-ecs-refarch Private Routes (AZ2)","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0a338347d2bde85af","targetMetadata":{"type":"AWS::EC2::RouteTable","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657-arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436","label":"ecs-refarch-ecs-refarch-VPC-10OMNTHQBEJPY","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436","targetMetadata":{"type":"AWS::CloudFormation::Stack","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657-arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-05d7efdc2a3c7d241","label":"ecs-refarch-eni-05d7efdc2a3c7d241","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-05d7efdc2a3c7d241","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657-arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-041bf1918a8cf34a3","label":"ecs-refarch-eni-041bf1918a8cf34a3","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-041bf1918a8cf34a3","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657-arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-01cf55db622bc959c","label":"ecs-refarch-nat-01cf55db622bc959c","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-01cf55db622bc959c","targetMetadata":{"type":"AWS::EC2::NatGateway","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657-arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-04938e2eb5bfafe99","label":"ecs-refarch-eni-04938e2eb5bfafe99","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-04938e2eb5bfafe99","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657-arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0407eecd556929d77","label":"ecs-refarch-eni-0407eecd556929d77","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0407eecd556929d77","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657-arn:aws:ec2:eu-west-1:044981683129:instance/i-038f307ddeb9caaec","label":"ecs-refarch-ecs-refarch ECS host","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:instance/i-038f307ddeb9caaec","targetMetadata":{"type":"AWS::EC2::Instance","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657-arn:aws:ec2:eu-west-1:044981683129:instance/i-0568d352e5293f7ba","label":"ecs-refarch-ecs-refarch ECS host","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:instance/i-0568d352e5293f7ba","targetMetadata":{"type":"AWS::EC2::Instance","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657-arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0c1c4432165335ad6","label":"ecs-refarch-eni-0c1c4432165335ad6","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0c1c4432165335ad6","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657-arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0f9bd2b79bd4f437f","label":"ecs-refarch-eni-0f9bd2b79bd4f437f","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0f9bd2b79bd4f437f","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657-arn:aws:ec2:eu-west-1:044981683129:instance/i-052f9f64097ac2769","label":"ecs-refarch-ecs-refarch ECS host","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:instance/i-052f9f64097ac2769","targetMetadata":{"type":"AWS::EC2::Instance","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657-arn:aws:ec2:eu-west-1:044981683129:instance/i-0c90e93ebfc159e4a","label":"ecs-refarch-ecs-refarch ECS host","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:instance/i-0c90e93ebfc159e4a","targetMetadata":{"type":"AWS::EC2::Instance","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657-arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-06293fbac397e7013","label":"ecs-refarch-eni-06293fbac397e7013","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-06293fbac397e7013","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657-arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0d1f9081934f9a63c","label":"ecs-refarch-eni-0d1f9081934f9a63c","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0d1f9081934f9a63c","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657-arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-003288d2892af9777","label":"ecs-refarch-nat-003288d2892af9777","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-003288d2892af9777","targetMetadata":{"type":"AWS::EC2::NatGateway","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657-arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-04ca40b08ab961109","label":"ecs-refarch-acl-04ca40b08ab961109","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-04ca40b08ab961109","targetMetadata":{"type":"AWS::EC2::NetworkAcl","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657-arn:aws:ec2:eu-west-1:044981683129:internet-gateway/igw-07c75587f7231c86e","label":"ecs-refarch-ecs-refarch","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:internet-gateway/igw-07c75587f7231c86e","targetMetadata":{"type":"AWS::EC2::InternetGateway","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657-arn:aws:elasticloadbalancing:eu-west-1:044981683129:loadbalancer/app/ecs-refarch/59fc9a20002d9393","label":"ecs-refarch-ecs-refarch","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:loadbalancer/app/ecs-refarch/59fc9a20002d9393","targetMetadata":{"type":"AWS::ElasticLoadBalancingV2::LoadBalancer","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657-arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-r-Targe-1CEAOHL7A3S92/91f8ad87a71b6d0c","label":"ecs-refarch-targetgroup/ecs-r-Targe-1CEAOHL7A3S92/91f8ad87a71b6d0c","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-r-Targe-1CEAOHL7A3S92/91f8ad87a71b6d0c","targetMetadata":{"type":"AWS::ElasticLoadBalancingV2::TargetGroup","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657-arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-r-Targe-WGHBKNSPECN5/4ded139adab8201e","label":"ecs-refarch-targetgroup/ecs-r-Targe-WGHBKNSPECN5/4ded139adab8201e","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-r-Targe-WGHBKNSPECN5/4ded139adab8201e","targetMetadata":{"type":"AWS::ElasticLoadBalancingV2::TargetGroup","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657-arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-refarch-default/550856ea884e2cfa","label":"ecs-refarch-targetgroup/ecs-refarch-default/550856ea884e2cfa","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:elasticloadbalancing:eu-west-1:044981683129:targetgroup/ecs-refarch-default/550856ea884e2cfa","targetMetadata":{"type":"AWS::ElasticLoadBalancingV2::TargetGroup","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657-arn:aws:autoscaling:eu-west-1:044981683129:autoScalingGroup:afb5ee16-414e-4850-a65a-03b6f80e0a5b:autoScalingGroupName/ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD","label":"ecs-refarch-ecs-refarch ECS host","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:autoscaling:eu-west-1:044981683129:autoScalingGroup:afb5ee16-414e-4850-a65a-03b6f80e0a5b:autoScalingGroupName/ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD","targetMetadata":{"type":"AWS::AutoScaling::AutoScalingGroup","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657-arn:aws:tags::044981683129:tag/aws:cloudformation:logical-id=VPC","label":"ecs-refarch-aws:cloudformation:logical-id=VPC","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:tags::044981683129:tag/aws:cloudformation:logical-id=VPC","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657-arn:aws:tags::044981683129:tag/Name=ecs-refarch","label":"ecs-refarch-Name=ecs-refarch","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:tags::044981683129:tag/Name=ecs-refarch","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657-arn:aws:tags::044981683129:tag/aws:cloudformation:stack-name=ecs-refarch-VPC-10OMNTHQBEJPY","label":"ecs-refarch-aws:cloudformation:stack-name=ecs-refarch-VPC-10OMNTHQBEJPY","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:tags::044981683129:tag/aws:cloudformation:stack-name=ecs-refarch-VPC-10OMNTHQBEJPY","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657-arn:aws:tags::044981683129:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436","label":"ecs-refarch-aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-08ab1368aff4e5657","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:tags::044981683129:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/ecs-refarch-VPC-10OMNTHQBEJPY/fff0f030-243c-11eb-86cd-0652c6a49436","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-0f27068a93df074c1-arn:aws:ec2:eu-west-1:044981683129:security-group/sg-02921e9e24e1eef6b","label":"vpc-0f27068a93df074c1-d-936716ab61_controllers","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-0f27068a93df074c1","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-02921e9e24e1eef6b","targetMetadata":{"type":"AWS::EC2::SecurityGroup","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-0f27068a93df074c1-arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0fc173b8786ec84c2","label":"vpc-0f27068a93df074c1-d-936716ab61_workspacesMembers","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-0f27068a93df074c1","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0fc173b8786ec84c2","targetMetadata":{"type":"AWS::EC2::SecurityGroup","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-0f27068a93df074c1-arn:aws:ec2:eu-west-1:044981683129:security-group/sg-071327a7bb5018e3e","label":"vpc-0f27068a93df074c1-default","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-0f27068a93df074c1","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-071327a7bb5018e3e","targetMetadata":{"type":"AWS::EC2::SecurityGroup","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-0f27068a93df074c1-arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-017cc2d339e1ed5da","label":"vpc-0f27068a93df074c1-rtb-017cc2d339e1ed5da","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-0f27068a93df074c1","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-017cc2d339e1ed5da","targetMetadata":{"type":"AWS::EC2::RouteTable","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-0f27068a93df074c1-arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-03d5c9427a711ab93","label":"vpc-0f27068a93df074c1-rtb-03d5c9427a711ab93","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-0f27068a93df074c1","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-03d5c9427a711ab93","targetMetadata":{"type":"AWS::EC2::RouteTable","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-0f27068a93df074c1-arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-006291eb5438b1ab4","label":"vpc-0f27068a93df074c1-eni-006291eb5438b1ab4","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-0f27068a93df074c1","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-006291eb5438b1ab4","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-0f27068a93df074c1-arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0e3ecd29f1f197f49","label":"vpc-0f27068a93df074c1-eni-0e3ecd29f1f197f49","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-0f27068a93df074c1","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0e3ecd29f1f197f49","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-0f27068a93df074c1-arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-00c96d08534de9a77","label":"vpc-0f27068a93df074c1-eni-00c96d08534de9a77","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-0f27068a93df074c1","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-00c96d08534de9a77","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-0f27068a93df074c1-arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0392df5432916f720","label":"vpc-0f27068a93df074c1-eni-0392df5432916f720","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-0f27068a93df074c1","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0392df5432916f720","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-0f27068a93df074c1-arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-0a256182152f3d8bf","label":"vpc-0f27068a93df074c1-acl-0a256182152f3d8bf","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-0f27068a93df074c1","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-0a256182152f3d8bf","targetMetadata":{"type":"AWS::EC2::NetworkAcl","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-0f27068a93df074c1-arn:aws:ec2:eu-west-1:044981683129:internet-gateway/igw-0d12c394dd2585e2b","label":"vpc-0f27068a93df074c1-igw-0d12c394dd2585e2b","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-0f27068a93df074c1","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:internet-gateway/igw-0d12c394dd2585e2b","targetMetadata":{"type":"AWS::EC2::InternetGateway","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-0f27068a93df074c1-arn:aws:tags::044981683129:tag/AWSServiceAccount=368321020290","label":"vpc-0f27068a93df074c1-AWSServiceAccount=368321020290","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-0f27068a93df074c1","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:tags::044981683129:tag/AWSServiceAccount=368321020290","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09f9178f48a57cb6a-arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0fb035a00adafb7a1","label":"vpc-09f9178f48a57cb6a-aws-perspective-044981683129-eu-west-1-NeptuneStack-WF939IGR16J-neptune-sg","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09f9178f48a57cb6a","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0fb035a00adafb7a1","targetMetadata":{"type":"AWS::EC2::SecurityGroup","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09f9178f48a57cb6a-arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0eb01ea7f54660e44","label":"vpc-09f9178f48a57cb6a-default","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09f9178f48a57cb6a","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0eb01ea7f54660e44","targetMetadata":{"type":"AWS::EC2::SecurityGroup","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09f9178f48a57cb6a-arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-023efa10281e8ca09","label":"vpc-09f9178f48a57cb6a-rtb-023efa10281e8ca09","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09f9178f48a57cb6a","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-023efa10281e8ca09","targetMetadata":{"type":"AWS::EC2::RouteTable","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09f9178f48a57cb6a-arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F/6225d910-2db9-11ec-9395-0adc76d2b8fd","label":"vpc-09f9178f48a57cb6a-aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09f9178f48a57cb6a","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F/6225d910-2db9-11ec-9395-0adc76d2b8fd","targetMetadata":{"type":"AWS::CloudFormation::Stack","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09f9178f48a57cb6a-arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-093d1bd7dab590009","label":"vpc-09f9178f48a57cb6a-acl-093d1bd7dab590009","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09f9178f48a57cb6a","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-093d1bd7dab590009","targetMetadata":{"type":"AWS::EC2::NetworkAcl","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09f9178f48a57cb6a-arn:aws:tags::044981683129:tag/aws:cloudformation:logical-id=VPC","label":"vpc-09f9178f48a57cb6a-aws:cloudformation:logical-id=VPC","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09f9178f48a57cb6a","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:tags::044981683129:tag/aws:cloudformation:logical-id=VPC","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09f9178f48a57cb6a-arn:aws:tags::044981683129:tag/AppName=aws-perspective-044981683129","label":"vpc-09f9178f48a57cb6a-AppName=aws-perspective-044981683129","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09f9178f48a57cb6a","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:tags::044981683129:tag/AppName=aws-perspective-044981683129","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09f9178f48a57cb6a-arn:aws:tags::044981683129:tag/aws:cloudformation:stack-name=aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F","label":"vpc-09f9178f48a57cb6a-aws:cloudformation:stack-name=aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09f9178f48a57cb6a","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:tags::044981683129:tag/aws:cloudformation:stack-name=aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09f9178f48a57cb6a-arn:aws:tags::044981683129:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F/6225d910-2db9-11ec-9395-0adc76d2b8fd","label":"vpc-09f9178f48a57cb6a-aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F/6225d910-2db9-11ec-9395-0adc76d2b8fd","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09f9178f48a57cb6a","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:tags::044981683129:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F/6225d910-2db9-11ec-9395-0adc76d2b8fd","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09f9178f48a57cb6a-arn:aws:tags::044981683129:tag/Application=aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F","label":"vpc-09f9178f48a57cb6a-Application=aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09f9178f48a57cb6a","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:tags::044981683129:tag/Application=aws-perspective-044981683129-eu-west-1-VpcStack-N3O45132759F","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09f9178f48a57cb6a-arn:aws:tags::044981683129:tag/Network=Public","label":"vpc-09f9178f48a57cb6a-Network=Public","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-09f9178f48a57cb6a","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:tags::044981683129:tag/Network=Public","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5-arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0050bf4ebebc17d5e","label":"vpc-ac8663d5-launch-wizard-1","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0050bf4ebebc17d5e","targetMetadata":{"type":"AWS::EC2::SecurityGroup","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5-arn:aws:ec2:eu-west-1:044981683129:security-group/sg-005f1e25b956fb989","label":"vpc-ac8663d5-launch-wizard-2","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-005f1e25b956fb989","targetMetadata":{"type":"AWS::EC2::SecurityGroup","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5-arn:aws:ec2:eu-west-1:044981683129:security-group/sg-9a4a97d2","label":"vpc-ac8663d5-default","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-9a4a97d2","targetMetadata":{"type":"AWS::EC2::SecurityGroup","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5-arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0bc8a71ea5a172df2","label":"vpc-ac8663d5-launch-wizard-3","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0bc8a71ea5a172df2","targetMetadata":{"type":"AWS::EC2::SecurityGroup","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5-arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-50c3cf29","label":"vpc-ac8663d5-rtb-50c3cf29","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-50c3cf29","targetMetadata":{"type":"AWS::EC2::RouteTable","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5-arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-01ef2774854f1b172","label":"vpc-ac8663d5-eni-01ef2774854f1b172","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-01ef2774854f1b172","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5-arn:aws:ec2:eu-west-1:044981683129:instance/i-07d0c686a25e288b4","label":"vpc-ac8663d5-i-07d0c686a25e288b4","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:instance/i-07d0c686a25e288b4","targetMetadata":{"type":"AWS::EC2::Instance","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5-arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0a1cdebf6d67ebacd","label":"vpc-ac8663d5-eni-0a1cdebf6d67ebacd","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0a1cdebf6d67ebacd","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5-arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0ab24b898a77448ce","label":"vpc-ac8663d5-eni-0ab24b898a77448ce","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0ab24b898a77448ce","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5-arn:aws:rds:eu-west-1:044981683129:db:database-2","label":"vpc-ac8663d5-database-2","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:rds:eu-west-1:044981683129:db:database-2","targetMetadata":{"type":"AWS::RDS::DBInstance","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5-arn:aws:rds:eu-west-1:044981683129:db:globaldb-instance-1","label":"vpc-ac8663d5-globaldb-instance-1","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:rds:eu-west-1:044981683129:db:globaldb-instance-1","targetMetadata":{"type":"AWS::RDS::DBInstance","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5-arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-12-04-04","label":"vpc-ac8663d5-rds:database-2-2023-04-12-04-04","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-12-04-04","targetMetadata":{"type":"AWS::RDS::DBSnapshot","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5-arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-13-04-05","label":"vpc-ac8663d5-rds:database-2-2023-04-13-04-05","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-13-04-05","targetMetadata":{"type":"AWS::RDS::DBSnapshot","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5-arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-14-04-04","label":"vpc-ac8663d5-rds:database-2-2023-04-14-04-04","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-14-04-04","targetMetadata":{"type":"AWS::RDS::DBSnapshot","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5-arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-15-04-05","label":"vpc-ac8663d5-rds:database-2-2023-04-15-04-05","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-15-04-05","targetMetadata":{"type":"AWS::RDS::DBSnapshot","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5-arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-16-04-05","label":"vpc-ac8663d5-rds:database-2-2023-04-16-04-05","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-16-04-05","targetMetadata":{"type":"AWS::RDS::DBSnapshot","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5-arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-17-04-04","label":"vpc-ac8663d5-rds:database-2-2023-04-17-04-04","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-17-04-04","targetMetadata":{"type":"AWS::RDS::DBSnapshot","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5-arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-18-04-05","label":"vpc-ac8663d5-rds:database-2-2023-04-18-04-05","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-18-04-05","targetMetadata":{"type":"AWS::RDS::DBSnapshot","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5-arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-19-04-04","label":"vpc-ac8663d5-rds:database-2-2023-04-19-04-04","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-19-04-04","targetMetadata":{"type":"AWS::RDS::DBSnapshot","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5-arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-20-04-04","label":"vpc-ac8663d5-rds:database-2-2023-04-20-04-04","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-2-2023-04-20-04-04","targetMetadata":{"type":"AWS::RDS::DBSnapshot","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5-arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0af14e9ac9e15855d","label":"vpc-ac8663d5-eni-0af14e9ac9e15855d","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0af14e9ac9e15855d","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5-arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0457d3ce238ba3401","label":"vpc-ac8663d5-eni-0457d3ce238ba3401","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0457d3ce238ba3401","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5-arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-04798797c3fabba73","label":"vpc-ac8663d5-eni-04798797c3fabba73","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-04798797c3fabba73","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5-arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0c5554519bafc4af1","label":"vpc-ac8663d5-eni-0c5554519bafc4af1","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0c5554519bafc4af1","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5-arn:aws:rds:eu-west-1:044981683129:db:database-1","label":"vpc-ac8663d5-database-1","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:rds:eu-west-1:044981683129:db:database-1","targetMetadata":{"type":"AWS::RDS::DBInstance","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5-arn:aws:redshift:eu-west-1:044981683129:cluster:redshift-cluster-1","label":"vpc-ac8663d5-redshift-cluster-1","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:redshift:eu-west-1:044981683129:cluster:redshift-cluster-1","targetMetadata":{"type":"AWS::Redshift::Cluster","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5-arn:aws:redshift:eu-west-1:044981683129:snapshot:redshift-cluster-1/rs:redshift-cluster-1-2021-01-19-18-47-40","label":"vpc-ac8663d5-rs:redshift-cluster-1-2021-01-19-18-47-40","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:redshift:eu-west-1:044981683129:snapshot:redshift-cluster-1/rs:redshift-cluster-1-2021-01-19-18-47-40","targetMetadata":{"type":"AWS::Redshift::ClusterSnapshot","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5-arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-11-23-44","label":"vpc-ac8663d5-rds:database-1-2023-04-11-23-44","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-11-23-44","targetMetadata":{"type":"AWS::RDS::DBSnapshot","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5-arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-12-23-44","label":"vpc-ac8663d5-rds:database-1-2023-04-12-23-44","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-12-23-44","targetMetadata":{"type":"AWS::RDS::DBSnapshot","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5-arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-13-23-44","label":"vpc-ac8663d5-rds:database-1-2023-04-13-23-44","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-13-23-44","targetMetadata":{"type":"AWS::RDS::DBSnapshot","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5-arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-14-23-45","label":"vpc-ac8663d5-rds:database-1-2023-04-14-23-45","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-14-23-45","targetMetadata":{"type":"AWS::RDS::DBSnapshot","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5-arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-15-23-44","label":"vpc-ac8663d5-rds:database-1-2023-04-15-23-44","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-15-23-44","targetMetadata":{"type":"AWS::RDS::DBSnapshot","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5-arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-16-23-45","label":"vpc-ac8663d5-rds:database-1-2023-04-16-23-45","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-16-23-45","targetMetadata":{"type":"AWS::RDS::DBSnapshot","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5-arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-17-23-45","label":"vpc-ac8663d5-rds:database-1-2023-04-17-23-45","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-17-23-45","targetMetadata":{"type":"AWS::RDS::DBSnapshot","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5-arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-18-23-44","label":"vpc-ac8663d5-rds:database-1-2023-04-18-23-44","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-18-23-44","targetMetadata":{"type":"AWS::RDS::DBSnapshot","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5-arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-19-23-45","label":"vpc-ac8663d5-rds:database-1-2023-04-19-23-45","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:rds:eu-west-1:044981683129:snapshot:rds:database-1-2023-04-19-23-45","targetMetadata":{"type":"AWS::RDS::DBSnapshot","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5-arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-6f6ef116","label":"vpc-ac8663d5-acl-6f6ef116","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-6f6ef116","targetMetadata":{"type":"AWS::EC2::NetworkAcl","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5-arn:aws:ec2:eu-west-1:044981683129:internet-gateway/igw-054f5962","label":"vpc-ac8663d5-igw-054f5962","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:internet-gateway/igw-054f5962","targetMetadata":{"type":"AWS::EC2::InternetGateway","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5-arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:globaldb-2023-04-19-02-42","label":"vpc-ac8663d5-rds:globaldb-2023-04-19-02-42","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:globaldb-2023-04-19-02-42","targetMetadata":{"type":"AWS::RDS::DBClusterSnapshot","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5-arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:globaldb-2023-04-20-02-43","label":"vpc-ac8663d5-rds:globaldb-2023-04-20-02-43","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:globaldb-2023-04-20-02-43","targetMetadata":{"type":"AWS::RDS::DBClusterSnapshot","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5-arn:aws:redshift:eu-west-1:044981683129:subnetgroup:default","label":"vpc-ac8663d5-default","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:redshift:eu-west-1:044981683129:subnetgroup:default","targetMetadata":{"type":"AWS::Redshift::ClusterSubnetGroup","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5-arn:aws:rds:eu-west-1:044981683129:subgrp:default-vpc-ac8663d5","label":"vpc-ac8663d5-default-vpc-ac8663d5","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-ac8663d5","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:rds:eu-west-1:044981683129:subgrp:default-vpc-ac8663d5","targetMetadata":{"type":"AWS::RDS::DBSubnetGroup","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe-arn:aws:ec2:eu-west-2:060997615305:security-group/sg-0be10b8bce825f7c1","label":"S3F2CustomVPC VPC-S3F2CustomVPC-SecurityGroup-N54DLMFZLUEI","source":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-2:060997615305:security-group/sg-0be10b8bce825f7c1","targetMetadata":{"type":"AWS::EC2::SecurityGroup","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe-arn:aws:ec2:eu-west-2:060997615305:security-group/sg-0cb3ee5954d159b6b","label":"S3F2CustomVPC VPC-default","source":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-2:060997615305:security-group/sg-0cb3ee5954d159b6b","targetMetadata":{"type":"AWS::EC2::SecurityGroup","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe-arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-099b639569edf4123","label":"S3F2CustomVPC VPC-rtb-099b639569edf4123","source":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-099b639569edf4123","targetMetadata":{"type":"AWS::EC2::RouteTable","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe-arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-0cff14b18c25c6fe5","label":"S3F2CustomVPC VPC-rtb-0cff14b18c25c6fe5","source":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-0cff14b18c25c6fe5","targetMetadata":{"type":"AWS::EC2::RouteTable","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe-arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-0204587d290944b3a","label":"S3F2CustomVPC VPC-rtb-0204587d290944b3a","source":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-0204587d290944b3a","targetMetadata":{"type":"AWS::EC2::RouteTable","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe-arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-05f7724952e8964c5","label":"S3F2CustomVPC VPC-rtb-05f7724952e8964c5","source":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-05f7724952e8964c5","targetMetadata":{"type":"AWS::EC2::RouteTable","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe-arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8","label":"S3F2CustomVPC VPC-S3F2CustomVPC","source":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8","targetMetadata":{"type":"AWS::CloudFormation::Stack","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe-arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-04a572c1fdd189258","label":"S3F2CustomVPC VPC-vpce-04a572c1fdd189258","source":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-04a572c1fdd189258","targetMetadata":{"type":"AWS::EC2::VPCEndpoint","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe-arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-0596f798ddaa2083c","label":"S3F2CustomVPC VPC-vpce-0596f798ddaa2083c","source":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-0596f798ddaa2083c","targetMetadata":{"type":"AWS::EC2::VPCEndpoint","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe-arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-01fffefa0b344fe08","label":"S3F2CustomVPC VPC-vpce-01fffefa0b344fe08","source":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-01fffefa0b344fe08","targetMetadata":{"type":"AWS::EC2::VPCEndpoint","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe-arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-01a04251e6fd9a18f","label":"S3F2CustomVPC VPC-vpce-01a04251e6fd9a18f","source":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-01a04251e6fd9a18f","targetMetadata":{"type":"AWS::EC2::VPCEndpoint","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe-arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-01ab583657bc3c78e","label":"S3F2CustomVPC VPC-vpce-01ab583657bc3c78e","source":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-01ab583657bc3c78e","targetMetadata":{"type":"AWS::EC2::VPCEndpoint","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe-arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-01b03ccc3d4534dfa","label":"S3F2CustomVPC VPC-vpce-01b03ccc3d4534dfa","source":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-01b03ccc3d4534dfa","targetMetadata":{"type":"AWS::EC2::VPCEndpoint","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe-arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-098bf4bcb70f8c0cc","label":"S3F2CustomVPC VPC-vpce-098bf4bcb70f8c0cc","source":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-098bf4bcb70f8c0cc","targetMetadata":{"type":"AWS::EC2::VPCEndpoint","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe-arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-034b0ad02cd80d544","label":"S3F2CustomVPC VPC-eni-034b0ad02cd80d544","source":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-034b0ad02cd80d544","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe-arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-04e7fe850d5ae1000","label":"S3F2CustomVPC VPC-eni-04e7fe850d5ae1000","source":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-04e7fe850d5ae1000","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe-arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-07f888861ae7684e2","label":"S3F2CustomVPC VPC-eni-07f888861ae7684e2","source":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-07f888861ae7684e2","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe-arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-007c609c6f9dd10cc","label":"S3F2CustomVPC VPC-eni-007c609c6f9dd10cc","source":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-007c609c6f9dd10cc","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe-arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0d821d089dc830f02","label":"S3F2CustomVPC VPC-eni-0d821d089dc830f02","source":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0d821d089dc830f02","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe-arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-049cf15d294c02363","label":"S3F2CustomVPC VPC-eni-049cf15d294c02363","source":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-049cf15d294c02363","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe-arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-07a8eb68e4714b558","label":"S3F2CustomVPC VPC-eni-07a8eb68e4714b558","source":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-07a8eb68e4714b558","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe-arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0ea3c4ac62a45481c","label":"S3F2CustomVPC VPC-eni-0ea3c4ac62a45481c","source":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0ea3c4ac62a45481c","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe-arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-08f4c7e0cf8d0eb25","label":"S3F2CustomVPC VPC-eni-08f4c7e0cf8d0eb25","source":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-08f4c7e0cf8d0eb25","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe-arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0adbe78e966d21857","label":"S3F2CustomVPC VPC-eni-0adbe78e966d21857","source":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0adbe78e966d21857","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe-arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0373c5d1881284488","label":"S3F2CustomVPC VPC-eni-0373c5d1881284488","source":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0373c5d1881284488","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe-arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0239e9af2eb593ff6","label":"S3F2CustomVPC VPC-eni-0239e9af2eb593ff6","source":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0239e9af2eb593ff6","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe-arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0d277bd2ede7469a7","label":"S3F2CustomVPC VPC-eni-0d277bd2ede7469a7","source":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0d277bd2ede7469a7","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe-arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0e0fad6b1591a161d","label":"S3F2CustomVPC VPC-eni-0e0fad6b1591a161d","source":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0e0fad6b1591a161d","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe-arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0c03624e885725a9a","label":"S3F2CustomVPC VPC-eni-0c03624e885725a9a","source":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0c03624e885725a9a","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe-arn:aws:ec2:eu-west-2:060997615305:network-acl/acl-058521bd38cb481b2","label":"S3F2CustomVPC VPC-acl-058521bd38cb481b2","source":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-2:060997615305:network-acl/acl-058521bd38cb481b2","targetMetadata":{"type":"AWS::EC2::NetworkAcl","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe-arn:aws:ec2:eu-west-2:060997615305:network-acl/acl-02201206399d095f8","label":"S3F2CustomVPC VPC-acl-02201206399d095f8","source":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-2:060997615305:network-acl/acl-02201206399d095f8","targetMetadata":{"type":"AWS::EC2::NetworkAcl","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe-arn:aws:tags::060997615305:tag/aws:cloudformation:logical-id=VPC","label":"S3F2CustomVPC VPC-aws:cloudformation:logical-id=VPC","source":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:tags::060997615305:tag/aws:cloudformation:logical-id=VPC","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe-arn:aws:tags::060997615305:tag/Name=S3F2CustomVPC VPC","label":"S3F2CustomVPC VPC-Name=S3F2CustomVPC VPC","source":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:tags::060997615305:tag/Name=S3F2CustomVPC VPC","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe-arn:aws:tags::060997615305:tag/aws:cloudformation:stack-name=S3F2CustomVPC","label":"S3F2CustomVPC VPC-aws:cloudformation:stack-name=S3F2CustomVPC","source":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:tags::060997615305:tag/aws:cloudformation:stack-name=S3F2CustomVPC","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe-arn:aws:tags::060997615305:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8","label":"S3F2CustomVPC VPC-aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8","source":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-02dd8e355a967d1fe","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:tags::060997615305:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-2:060997615305:stack/S3F2CustomVPC/202e1b30-e60c-11ea-9a13-0283d9cf08b8","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-b7ef57df-arn:aws:ec2:eu-west-2:060997615305:security-group/sg-0d5f809e8eeaea920","label":"vpc-b7ef57df-ElasticMapReduce-slave","source":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-b7ef57df","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-2:060997615305:security-group/sg-0d5f809e8eeaea920","targetMetadata":{"type":"AWS::EC2::SecurityGroup","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-b7ef57df-arn:aws:ec2:eu-west-2:060997615305:security-group/sg-0f71a86455fa45184","label":"vpc-b7ef57df-ElasticMapReduce-master","source":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-b7ef57df","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-2:060997615305:security-group/sg-0f71a86455fa45184","targetMetadata":{"type":"AWS::EC2::SecurityGroup","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-b7ef57df-arn:aws:ec2:eu-west-2:060997615305:security-group/sg-909bdafb","label":"vpc-b7ef57df-default","source":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-b7ef57df","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-2:060997615305:security-group/sg-909bdafb","targetMetadata":{"type":"AWS::EC2::SecurityGroup","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-b7ef57df-arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-09c58067005d38875","label":"vpc-b7ef57df-es-glue-route","source":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-b7ef57df","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-09c58067005d38875","targetMetadata":{"type":"AWS::EC2::RouteTable","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-b7ef57df-arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-acb4dfc4","label":"vpc-b7ef57df-rtb-acb4dfc4","source":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-b7ef57df","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-2:060997615305:route-table/rtb-acb4dfc4","targetMetadata":{"type":"AWS::EC2::RouteTable","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-b7ef57df-arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-0260f809c4027be24","label":"vpc-b7ef57df-vpce-0260f809c4027be24","source":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-b7ef57df","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-2:060997615305:vpc-endpoint/vpce-0260f809c4027be24","targetMetadata":{"type":"AWS::EC2::VPCEndpoint","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-b7ef57df-arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-06b9993ddcda75e59","label":"vpc-b7ef57df-eni-06b9993ddcda75e59","source":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-b7ef57df","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-06b9993ddcda75e59","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-b7ef57df-arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0c5d5301d597388b2","label":"vpc-b7ef57df-eni-0c5d5301d597388b2","source":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-b7ef57df","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-2:060997615305:network-interface/eni-0c5d5301d597388b2","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-b7ef57df-arn:aws:ec2:eu-west-2:060997615305:natgateway/nat-06c56447fdfda0fa8","label":"vpc-b7ef57df-es-glue-test","source":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-b7ef57df","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-2:060997615305:natgateway/nat-06c56447fdfda0fa8","targetMetadata":{"type":"AWS::EC2::NatGateway","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-b7ef57df-arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-13f1ea5e","label":"vpc-b7ef57df-subnet-13f1ea5e","source":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-b7ef57df","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-2:060997615305:subnet/subnet-13f1ea5e","targetMetadata":{"type":"AWS::EC2::Subnet","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-b7ef57df-arn:aws:ec2:eu-west-2:060997615305:network-acl/acl-344dd55c","label":"vpc-b7ef57df-acl-344dd55c","source":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-b7ef57df","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-2:060997615305:network-acl/acl-344dd55c","targetMetadata":{"type":"AWS::EC2::NetworkAcl","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-b7ef57df-arn:aws:ec2:eu-west-2:060997615305:internet-gateway/igw-51b98e38","label":"vpc-b7ef57df-igw-51b98e38","source":"arn:aws:ec2:eu-west-2:060997615305:vpc/vpc-b7ef57df","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-2:060997615305:internet-gateway/igw-51b98e38","targetMetadata":{"type":"AWS::EC2::InternetGateway","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8-arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0a31f8c5dc65269ef","label":"S3F2POC-VpcStack-1UF8O2EU11VA2 VPC-default","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0a31f8c5dc65269ef","targetMetadata":{"type":"AWS::EC2::SecurityGroup","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8-arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0caf4503bc4536a40","label":"S3F2POC-VpcStack-1UF8O2EU11VA2 VPC-S3F2POC-VpcStack-1UF8O2EU11VA2-SecurityGroup-1GU5Q5SV8BCHW","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0caf4503bc4536a40","targetMetadata":{"type":"AWS::EC2::SecurityGroup","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8-arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-0d06db37ab41b8a29","label":"S3F2POC-VpcStack-1UF8O2EU11VA2 VPC-rtb-0d06db37ab41b8a29","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-0d06db37ab41b8a29","targetMetadata":{"type":"AWS::EC2::RouteTable","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8-arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-0ec00df54d676d3e5","label":"S3F2POC-VpcStack-1UF8O2EU11VA2 VPC-rtb-0ec00df54d676d3e5","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-0ec00df54d676d3e5","targetMetadata":{"type":"AWS::EC2::RouteTable","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8-arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-01f47e0e7541847d7","label":"S3F2POC-VpcStack-1UF8O2EU11VA2 VPC-rtb-01f47e0e7541847d7","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-01f47e0e7541847d7","targetMetadata":{"type":"AWS::EC2::RouteTable","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8-arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-04e9b8e7721b019c1","label":"S3F2POC-VpcStack-1UF8O2EU11VA2 VPC-rtb-04e9b8e7721b019c1","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-04e9b8e7721b019c1","targetMetadata":{"type":"AWS::EC2::RouteTable","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8-arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5","label":"S3F2POC-VpcStack-1UF8O2EU11VA2 VPC-S3F2POC-VpcStack-1UF8O2EU11VA2","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5","targetMetadata":{"type":"AWS::CloudFormation::Stack","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8-arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-0d35fc6b67ac011aa","label":"S3F2POC-VpcStack-1UF8O2EU11VA2 VPC-vpce-0d35fc6b67ac011aa","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-0d35fc6b67ac011aa","targetMetadata":{"type":"AWS::EC2::VPCEndpoint","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8-arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-06d21ada7d9e243a6","label":"S3F2POC-VpcStack-1UF8O2EU11VA2 VPC-vpce-06d21ada7d9e243a6","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-06d21ada7d9e243a6","targetMetadata":{"type":"AWS::EC2::VPCEndpoint","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8-arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-031030c53838c8e3f","label":"S3F2POC-VpcStack-1UF8O2EU11VA2 VPC-vpce-031030c53838c8e3f","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-031030c53838c8e3f","targetMetadata":{"type":"AWS::EC2::VPCEndpoint","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8-arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-031e38c9529fe6584","label":"S3F2POC-VpcStack-1UF8O2EU11VA2 VPC-vpce-031e38c9529fe6584","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-031e38c9529fe6584","targetMetadata":{"type":"AWS::EC2::VPCEndpoint","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8-arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-00570fc5e7ef58845","label":"S3F2POC-VpcStack-1UF8O2EU11VA2 VPC-vpce-00570fc5e7ef58845","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-00570fc5e7ef58845","targetMetadata":{"type":"AWS::EC2::VPCEndpoint","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8-arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-0807301340eca7e80","label":"S3F2POC-VpcStack-1UF8O2EU11VA2 VPC-vpce-0807301340eca7e80","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-0807301340eca7e80","targetMetadata":{"type":"AWS::EC2::VPCEndpoint","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8-arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-0a6f99f2549c3ab5d","label":"S3F2POC-VpcStack-1UF8O2EU11VA2 VPC-vpce-0a6f99f2549c3ab5d","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-0a6f99f2549c3ab5d","targetMetadata":{"type":"AWS::EC2::VPCEndpoint","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8-arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0433511d109eb9846","label":"S3F2POC-VpcStack-1UF8O2EU11VA2 VPC-eni-0433511d109eb9846","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0433511d109eb9846","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8-arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-05d22f6236a7fafbb","label":"S3F2POC-VpcStack-1UF8O2EU11VA2 VPC-eni-05d22f6236a7fafbb","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-05d22f6236a7fafbb","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8-arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-07c69bf4bd1be8f0d","label":"S3F2POC-VpcStack-1UF8O2EU11VA2 VPC-eni-07c69bf4bd1be8f0d","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-07c69bf4bd1be8f0d","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8-arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-08456dd9f8cb7c079","label":"S3F2POC-VpcStack-1UF8O2EU11VA2 VPC-eni-08456dd9f8cb7c079","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-08456dd9f8cb7c079","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8-arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0c1073d056a4003b3","label":"S3F2POC-VpcStack-1UF8O2EU11VA2 VPC-eni-0c1073d056a4003b3","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0c1073d056a4003b3","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8-arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-04d438dab9798a66d","label":"S3F2POC-VpcStack-1UF8O2EU11VA2 VPC-eni-04d438dab9798a66d","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-04d438dab9798a66d","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8-arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0f26ea6dc497f2c28","label":"S3F2POC-VpcStack-1UF8O2EU11VA2 VPC-eni-0f26ea6dc497f2c28","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0f26ea6dc497f2c28","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8-arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-00ceb39a6487a023e","label":"S3F2POC-VpcStack-1UF8O2EU11VA2 VPC-eni-00ceb39a6487a023e","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-00ceb39a6487a023e","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8-arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0c5741d53b43e3f5b","label":"S3F2POC-VpcStack-1UF8O2EU11VA2 VPC-eni-0c5741d53b43e3f5b","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0c5741d53b43e3f5b","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8-arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0a3eb6ec3be4594c4","label":"S3F2POC-VpcStack-1UF8O2EU11VA2 VPC-eni-0a3eb6ec3be4594c4","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0a3eb6ec3be4594c4","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8-arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-02ea5865dbd62af5b","label":"S3F2POC-VpcStack-1UF8O2EU11VA2 VPC-eni-02ea5865dbd62af5b","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-02ea5865dbd62af5b","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8-arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-07b4bf4a58ab2f762","label":"S3F2POC-VpcStack-1UF8O2EU11VA2 VPC-eni-07b4bf4a58ab2f762","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-07b4bf4a58ab2f762","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8-arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-080f7bc7b8c5a942d","label":"S3F2POC-VpcStack-1UF8O2EU11VA2 VPC-eni-080f7bc7b8c5a942d","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-080f7bc7b8c5a942d","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8-arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0a3b16b29adb427cf","label":"S3F2POC-VpcStack-1UF8O2EU11VA2 VPC-eni-0a3b16b29adb427cf","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0a3b16b29adb427cf","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8-arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0af0f117c662bd60c","label":"S3F2POC-VpcStack-1UF8O2EU11VA2 VPC-eni-0af0f117c662bd60c","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0af0f117c662bd60c","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8-arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-0bd29caf4886cb943","label":"S3F2POC-VpcStack-1UF8O2EU11VA2 VPC-acl-0bd29caf4886cb943","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-0bd29caf4886cb943","targetMetadata":{"type":"AWS::EC2::NetworkAcl","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8-arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-0c661be5d70cd8616","label":"S3F2POC-VpcStack-1UF8O2EU11VA2 VPC-acl-0c661be5d70cd8616","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-0c661be5d70cd8616","targetMetadata":{"type":"AWS::EC2::NetworkAcl","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8-arn:aws:ecs:eu-west-1:060997615305:service/S3F2POC-DelStack-TC52BDMFNB7Q-ECSCluster-kZ8X2p7awLv6/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteService-ngsbUHGOkaHg","label":"S3F2POC-VpcStack-1UF8O2EU11VA2 VPC-S3F2POC-DelStack-TC52BDMFNB7Q-DeleteService-ngsbUHGOkaHg","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ecs:eu-west-1:060997615305:service/S3F2POC-DelStack-TC52BDMFNB7Q-ECSCluster-kZ8X2p7awLv6/S3F2POC-DelStack-TC52BDMFNB7Q-DeleteService-ngsbUHGOkaHg","targetMetadata":{"type":"AWS::ECS::Service","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8-arn:aws:tags::060997615305:tag/aws:cloudformation:stack-name=S3F2POC-VpcStack-1UF8O2EU11VA2","label":"S3F2POC-VpcStack-1UF8O2EU11VA2 VPC-aws:cloudformation:stack-name=S3F2POC-VpcStack-1UF8O2EU11VA2","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:tags::060997615305:tag/aws:cloudformation:stack-name=S3F2POC-VpcStack-1UF8O2EU11VA2","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8-arn:aws:tags::060997615305:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5","label":"S3F2POC-VpcStack-1UF8O2EU11VA2 VPC-aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:tags::060997615305:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:060997615305:stack/S3F2POC-VpcStack-1UF8O2EU11VA2/3c6b9de0-5beb-11eb-9297-0af7e440afe5","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8-arn:aws:tags::060997615305:tag/aws:cloudformation:logical-id=VPC","label":"S3F2POC-VpcStack-1UF8O2EU11VA2 VPC-aws:cloudformation:logical-id=VPC","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:tags::060997615305:tag/aws:cloudformation:logical-id=VPC","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8-arn:aws:tags::060997615305:tag/Name=S3F2POC-VpcStack-1UF8O2EU11VA2 VPC","label":"S3F2POC-VpcStack-1UF8O2EU11VA2 VPC-Name=S3F2POC-VpcStack-1UF8O2EU11VA2 VPC","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-0d80b20485af3a1d8","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:tags::060997615305:tag/Name=S3F2POC-VpcStack-1UF8O2EU11VA2 VPC","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:ec2:eu-west-1:044981683129:security-group/sg-02b585bfae59e4fe3","label":"vpc-04e5e1c4bc4409222-wd2-2022-10-07-VpcStack-JV66F8IP5PCO-VpcEndpointsSg-1HFDNS5FPIC7L","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-02b585bfae59e4fe3","targetMetadata":{"type":"AWS::EC2::SecurityGroup","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:ec2:eu-west-1:044981683129:security-group/sg-02df76c6e6753f6b3","label":"vpc-04e5e1c4bc4409222-wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-neptune-sg","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-02df76c6e6753f6b3","targetMetadata":{"type":"AWS::EC2::SecurityGroup","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:ec2:eu-west-1:044981683129:security-group/sg-030453011373764ba","label":"vpc-04e5e1c4bc4409222-wd2-2022-10-07-SearchResolversStack-CBU7QRC0LONQ-SearchLambdaSg-PW4G863M4NF6","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-030453011373764ba","targetMetadata":{"type":"AWS::EC2::SecurityGroup","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:ec2:eu-west-1:044981683129:security-group/sg-044b48335ef509cb2","label":"vpc-04e5e1c4bc4409222-wd2-2022-10-07-GremlinResolversStack-1I7LYSG2I29X8-GremlinResolverLambdaSg-1H1C5S7X1VUYZ","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-044b48335ef509cb2","targetMetadata":{"type":"AWS::EC2::SecurityGroup","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0696201a4200147f4","label":"vpc-04e5e1c4bc4409222-wd2-2022-10-07-OpenSearchStack-1AX1CP06M7WKW-OpenSearchSg-9T7A87DPDKI8","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0696201a4200147f4","targetMetadata":{"type":"AWS::EC2::SecurityGroup","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:ec2:eu-west-1:044981683129:security-group/sg-07bcd62814c7e8895","label":"vpc-04e5e1c4bc4409222-default","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-07bcd62814c7e8895","targetMetadata":{"type":"AWS::EC2::SecurityGroup","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0f7a98df64d99b50d","label":"vpc-04e5e1c4bc4409222-wd2-2022-10-07-TaskStack-HRSVA4HB3B79-TaskSg-1F0RTEXN4EVGZ","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:security-group/sg-0f7a98df64d99b50d","targetMetadata":{"type":"AWS::EC2::SecurityGroup","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0cee49a6f533b38a9","label":"vpc-04e5e1c4bc4409222-rtb-0cee49a6f533b38a9","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0cee49a6f533b38a9","targetMetadata":{"type":"AWS::EC2::RouteTable","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-038643ca3ee957ecb","label":"vpc-04e5e1c4bc4409222-vpc-04e5e1c4bc4409222-private-route-table-1","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-038643ca3ee957ecb","targetMetadata":{"type":"AWS::EC2::RouteTable","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0638d650b9b9313ac","label":"vpc-04e5e1c4bc4409222-vpc-04e5e1c4bc4409222-public-route-table","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0638d650b9b9313ac","targetMetadata":{"type":"AWS::EC2::RouteTable","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0843c8e8179ee5a2f","label":"vpc-04e5e1c4bc4409222-vpc-04e5e1c4bc4409222-private-route-table-0","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:route-table/rtb-0843c8e8179ee5a2f","targetMetadata":{"type":"AWS::EC2::RouteTable","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447","label":"vpc-04e5e1c4bc4409222-wd2-2022-10-07-VpcStack-JV66F8IP5PCO","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447","targetMetadata":{"type":"AWS::CloudFormation::Stack","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:ec2:eu-west-1:044981683129:vpc-endpoint/vpce-059216fcfd2879122","label":"vpc-04e5e1c4bc4409222-vpce-059216fcfd2879122","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:vpc-endpoint/vpce-059216fcfd2879122","targetMetadata":{"type":"AWS::EC2::VPCEndpoint","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:ec2:eu-west-1:044981683129:vpc-endpoint/vpce-075e2a5ba4b2ed02a","label":"vpc-04e5e1c4bc4409222-vpce-075e2a5ba4b2ed02a","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:vpc-endpoint/vpce-075e2a5ba4b2ed02a","targetMetadata":{"type":"AWS::EC2::VPCEndpoint","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:ec2:eu-west-1:044981683129:vpc-endpoint/vpce-081b9b329885369e1","label":"vpc-04e5e1c4bc4409222-vpce-081b9b329885369e1","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:vpc-endpoint/vpce-081b9b329885369e1","targetMetadata":{"type":"AWS::EC2::VPCEndpoint","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-070be058c14902fa0","label":"vpc-04e5e1c4bc4409222-eni-070be058c14902fa0","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-070be058c14902fa0","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0b13a5004847358e1","label":"vpc-04e5e1c4bc4409222-eni-0b13a5004847358e1","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0b13a5004847358e1","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-01f8fae11728c8104","label":"vpc-04e5e1c4bc4409222-eni-01f8fae11728c8104","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-01f8fae11728c8104","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-031c45dd465563166","label":"vpc-04e5e1c4bc4409222-eni-031c45dd465563166","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-031c45dd465563166","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-073c97cecd4404cfb","label":"vpc-04e5e1c4bc4409222-eni-073c97cecd4404cfb","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-073c97cecd4404cfb","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-06b3ed684e8ca6a72","label":"vpc-04e5e1c4bc4409222-eni-06b3ed684e8ca6a72","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-06b3ed684e8ca6a72","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-0ea43aff989e8baa4","label":"vpc-04e5e1c4bc4409222-nat-0ea43aff989e8baa4","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-0ea43aff989e8baa4","targetMetadata":{"type":"AWS::EC2::NatGateway","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-08c79f1b042fac609","label":"vpc-04e5e1c4bc4409222-eni-08c79f1b042fac609","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-08c79f1b042fac609","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-09182eed51134b78c","label":"vpc-04e5e1c4bc4409222-eni-09182eed51134b78c","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-09182eed51134b78c","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0a205d5edaebef087","label":"vpc-04e5e1c4bc4409222-eni-0a205d5edaebef087","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0a205d5edaebef087","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-04a4bb87d5f2a003e","label":"vpc-04e5e1c4bc4409222-eni-04a4bb87d5f2a003e","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-04a4bb87d5f2a003e","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0510fd6b9a7a1c835","label":"vpc-04e5e1c4bc4409222-eni-0510fd6b9a7a1c835","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0510fd6b9a7a1c835","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-05d6ccb6387cedf6f","label":"vpc-04e5e1c4bc4409222-eni-05d6ccb6387cedf6f","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-05d6ccb6387cedf6f","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-03024ce5b29130f8f","label":"vpc-04e5e1c4bc4409222-eni-03024ce5b29130f8f","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-03024ce5b29130f8f","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0eb2973ec2e59a854","label":"vpc-04e5e1c4bc4409222-eni-0eb2973ec2e59a854","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0eb2973ec2e59a854","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0d60a5b414523d3e0","label":"vpc-04e5e1c4bc4409222-eni-0d60a5b414523d3e0","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-0d60a5b414523d3e0","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:rds:eu-west-1:044981683129:db:neptunedbinstance-opr3vy9xrbzh","label":"vpc-04e5e1c4bc4409222-workload-discovery-Instance","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:rds:eu-west-1:044981683129:db:neptunedbinstance-opr3vy9xrbzh","targetMetadata":{"type":"AWS::RDS::DBInstance","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:rds:eu-west-1:044981683129:db:serverless-neptune-instance-1","label":"vpc-04e5e1c4bc4409222-serverless-neptune-instance-1","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:rds:eu-west-1:044981683129:db:serverless-neptune-instance-1","targetMetadata":{"type":"AWS::RDS::DBInstance","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:es:eu-west-1:044981683129:domain/opensearchdomai-sq504hzjjahv","label":"vpc-04e5e1c4bc4409222-opensearchdomai-sq504hzjjahv","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:es:eu-west-1:044981683129:domain/opensearchdomai-sq504hzjjahv","targetMetadata":{"type":"AWS::OpenSearch::Domain","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-015baaa6d6b7c79fd","label":"vpc-04e5e1c4bc4409222-eni-015baaa6d6b7c79fd","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:network-interface/eni-015baaa6d6b7c79fd","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-0f052ba8450b34d40","label":"vpc-04e5e1c4bc4409222-nat-0f052ba8450b34d40","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:natgateway/nat-0f052ba8450b34d40","targetMetadata":{"type":"AWS::EC2::NatGateway","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-0dc5aad47c8708460","label":"vpc-04e5e1c4bc4409222-acl-0dc5aad47c8708460","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:network-acl/acl-0dc5aad47c8708460","targetMetadata":{"type":"AWS::EC2::NetworkAcl","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:ec2:eu-west-1:044981683129:internet-gateway/igw-011382805b47b6baa","label":"vpc-04e5e1c4bc4409222-vpc-04e5e1c4bc4409222-IGW","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:044981683129:internet-gateway/igw-011382805b47b6baa","targetMetadata":{"type":"AWS::EC2::InternetGateway","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:preupgrade-wdneptunedbcluster-0kfaa4tuyz1x-1-1-1-0-to-1-2-0-0-2022-11-16-15-11","label":"vpc-04e5e1c4bc4409222-preupgrade-wdneptunedbcluster-0kfaa4tuyz1x-1-1-1-0-to-1-2-0-0-2022-11-16-15-11","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:preupgrade-wdneptunedbcluster-0kfaa4tuyz1x-1-1-1-0-to-1-2-0-0-2022-11-16-15-11","targetMetadata":{"type":"AWS::RDS::DBClusterSnapshot","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-20-02-16","label":"vpc-04e5e1c4bc4409222-rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-20-02-16","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-20-02-16","targetMetadata":{"type":"AWS::RDS::DBClusterSnapshot","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-21-02-15","label":"vpc-04e5e1c4bc4409222-rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-21-02-15","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-21-02-15","targetMetadata":{"type":"AWS::RDS::DBClusterSnapshot","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-22-02-15","label":"vpc-04e5e1c4bc4409222-rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-22-02-15","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-22-02-15","targetMetadata":{"type":"AWS::RDS::DBClusterSnapshot","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-06-02-17","label":"vpc-04e5e1c4bc4409222-rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-06-02-17","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-06-02-17","targetMetadata":{"type":"AWS::RDS::DBClusterSnapshot","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-07-02-16","label":"vpc-04e5e1c4bc4409222-rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-07-02-16","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-07-02-16","targetMetadata":{"type":"AWS::RDS::DBClusterSnapshot","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-08-02-16","label":"vpc-04e5e1c4bc4409222-rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-08-02-16","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-08-02-16","targetMetadata":{"type":"AWS::RDS::DBClusterSnapshot","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-09-02-17","label":"vpc-04e5e1c4bc4409222-rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-09-02-17","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-09-02-17","targetMetadata":{"type":"AWS::RDS::DBClusterSnapshot","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-10-02-15","label":"vpc-04e5e1c4bc4409222-rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-10-02-15","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-10-02-15","targetMetadata":{"type":"AWS::RDS::DBClusterSnapshot","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-11-02-15","label":"vpc-04e5e1c4bc4409222-rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-11-02-15","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-11-02-15","targetMetadata":{"type":"AWS::RDS::DBClusterSnapshot","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-23-02-16","label":"vpc-04e5e1c4bc4409222-rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-23-02-16","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-23-02-16","targetMetadata":{"type":"AWS::RDS::DBClusterSnapshot","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-24-02-16","label":"vpc-04e5e1c4bc4409222-rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-24-02-16","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-24-02-16","targetMetadata":{"type":"AWS::RDS::DBClusterSnapshot","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-25-02-17","label":"vpc-04e5e1c4bc4409222-rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-25-02-17","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-25-02-17","targetMetadata":{"type":"AWS::RDS::DBClusterSnapshot","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-26-02-17","label":"vpc-04e5e1c4bc4409222-rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-26-02-17","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-26-02-17","targetMetadata":{"type":"AWS::RDS::DBClusterSnapshot","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-27-02-17","label":"vpc-04e5e1c4bc4409222-rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-27-02-17","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-27-02-17","targetMetadata":{"type":"AWS::RDS::DBClusterSnapshot","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-28-02-18","label":"vpc-04e5e1c4bc4409222-rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-28-02-18","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-28-02-18","targetMetadata":{"type":"AWS::RDS::DBClusterSnapshot","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-29-02-17","label":"vpc-04e5e1c4bc4409222-rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-29-02-17","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-29-02-17","targetMetadata":{"type":"AWS::RDS::DBClusterSnapshot","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-30-02-16","label":"vpc-04e5e1c4bc4409222-rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-30-02-16","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-30-02-16","targetMetadata":{"type":"AWS::RDS::DBClusterSnapshot","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-31-02-18","label":"vpc-04e5e1c4bc4409222-rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-31-02-18","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-03-31-02-18","targetMetadata":{"type":"AWS::RDS::DBClusterSnapshot","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-01-02-17","label":"vpc-04e5e1c4bc4409222-rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-01-02-17","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-01-02-17","targetMetadata":{"type":"AWS::RDS::DBClusterSnapshot","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-02-02-16","label":"vpc-04e5e1c4bc4409222-rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-02-02-16","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-02-02-16","targetMetadata":{"type":"AWS::RDS::DBClusterSnapshot","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-03-02-16","label":"vpc-04e5e1c4bc4409222-rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-03-02-16","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-03-02-16","targetMetadata":{"type":"AWS::RDS::DBClusterSnapshot","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-04-02-15","label":"vpc-04e5e1c4bc4409222-rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-04-02-15","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-04-02-15","targetMetadata":{"type":"AWS::RDS::DBClusterSnapshot","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-05-02-16","label":"vpc-04e5e1c4bc4409222-rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-05-02-16","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-05-02-16","targetMetadata":{"type":"AWS::RDS::DBClusterSnapshot","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-12-02-17","label":"vpc-04e5e1c4bc4409222-rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-12-02-17","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-12-02-17","targetMetadata":{"type":"AWS::RDS::DBClusterSnapshot","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-13-02-16","label":"vpc-04e5e1c4bc4409222-rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-13-02-16","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-13-02-16","targetMetadata":{"type":"AWS::RDS::DBClusterSnapshot","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-14-02-16","label":"vpc-04e5e1c4bc4409222-rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-14-02-16","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-14-02-16","targetMetadata":{"type":"AWS::RDS::DBClusterSnapshot","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-15-02-16","label":"vpc-04e5e1c4bc4409222-rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-15-02-16","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-15-02-16","targetMetadata":{"type":"AWS::RDS::DBClusterSnapshot","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-16-02-17","label":"vpc-04e5e1c4bc4409222-rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-16-02-17","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-16-02-17","targetMetadata":{"type":"AWS::RDS::DBClusterSnapshot","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-17-02-16","label":"vpc-04e5e1c4bc4409222-rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-17-02-16","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-17-02-16","targetMetadata":{"type":"AWS::RDS::DBClusterSnapshot","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-18-02-16","label":"vpc-04e5e1c4bc4409222-rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-18-02-16","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-18-02-16","targetMetadata":{"type":"AWS::RDS::DBClusterSnapshot","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:serverless-neptune-2023-04-18-23-45","label":"vpc-04e5e1c4bc4409222-rds:serverless-neptune-2023-04-18-23-45","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:serverless-neptune-2023-04-18-23-45","targetMetadata":{"type":"AWS::RDS::DBClusterSnapshot","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:serverless-neptune-2023-04-19-23-45","label":"vpc-04e5e1c4bc4409222-rds:serverless-neptune-2023-04-19-23-45","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:serverless-neptune-2023-04-19-23-45","targetMetadata":{"type":"AWS::RDS::DBClusterSnapshot","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-19-02-17","label":"vpc-04e5e1c4bc4409222-rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-19-02-17","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-19-02-17","targetMetadata":{"type":"AWS::RDS::DBClusterSnapshot","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-20-02-17","label":"vpc-04e5e1c4bc4409222-rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-20-02-17","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:rds:eu-west-1:044981683129:cluster-snapshot:rds:wdneptunedbcluster-0kfaa4tuyz1x-2023-04-20-02-17","targetMetadata":{"type":"AWS::RDS::DBClusterSnapshot","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:rds:eu-west-1:044981683129:subgrp:perspective-dev-sng","label":"vpc-04e5e1c4bc4409222-workload-discovery-subnet-group","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:rds:eu-west-1:044981683129:subgrp:perspective-dev-sng","targetMetadata":{"type":"AWS::RDS::DBSubnetGroup","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-GremlinResol-GremlinAppSyncFunction-6sQyJsT9RJw9","label":"vpc-04e5e1c4bc4409222-wd2-2022-10-07-GremlinResol-GremlinAppSyncFunction-6sQyJsT9RJw9","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-GremlinResol-GremlinAppSyncFunction-6sQyJsT9RJw9","targetMetadata":{"type":"AWS::Lambda::Function","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-SearchReso-SearchApiAppSyncFunction-3ba4uslAeeBA","label":"vpc-04e5e1c4bc4409222-wd2-2022-10-07-SearchReso-SearchApiAppSyncFunction-3ba4uslAeeBA","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-SearchReso-SearchApiAppSyncFunction-3ba4uslAeeBA","targetMetadata":{"type":"AWS::Lambda::Function","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-SearchResol-OpenSearchSetupFunction-6lBkj5VZvL9N","label":"vpc-04e5e1c4bc4409222-wd2-2022-10-07-SearchResol-OpenSearchSetupFunction-6lBkj5VZvL9N","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:lambda:eu-west-1:044981683129:function:wd2-2022-10-07-SearchResol-OpenSearchSetupFunction-6lBkj5VZvL9N","targetMetadata":{"type":"AWS::Lambda::Function","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:tags::044981683129:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447","label":"vpc-04e5e1c4bc4409222-aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:tags::044981683129:tag/aws:cloudformation:stack-id=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07-VpcStack-JV66F8IP5PCO/9a44b2d0-4668-11ed-93a2-02e3c302e447","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:tags::044981683129:tag/aws:cloudformation:logical-id=VPC","label":"vpc-04e5e1c4bc4409222-aws:cloudformation:logical-id=VPC","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:tags::044981683129:tag/aws:cloudformation:logical-id=VPC","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:tags::044981683129:tag/aws:cloudformation:stack-name=wd2-2022-10-07-VpcStack-JV66F8IP5PCO","label":"vpc-04e5e1c4bc4409222-aws:cloudformation:stack-name=wd2-2022-10-07-VpcStack-JV66F8IP5PCO","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:tags::044981683129:tag/aws:cloudformation:stack-name=wd2-2022-10-07-VpcStack-JV66F8IP5PCO","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:tags::044981683129:tag/Network=Public","label":"vpc-04e5e1c4bc4409222-Network=Public","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:tags::044981683129:tag/Network=Public","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:tags::044981683129:tag/Application=wd2-2022-10-07-VpcStack-JV66F8IP5PCO","label":"vpc-04e5e1c4bc4409222-Application=wd2-2022-10-07-VpcStack-JV66F8IP5PCO","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:tags::044981683129:tag/Application=wd2-2022-10-07-VpcStack-JV66F8IP5PCO","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222-arn:aws:tags::044981683129:tag/AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b","label":"vpc-04e5e1c4bc4409222-AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b","source":"arn:aws:ec2:eu-west-1:044981683129:vpc/vpc-04e5e1c4bc4409222","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:tags::044981683129:tag/AppManagerCFNStackKey=arn:aws:cloudformation:eu-west-1:044981683129:stack/wd2-2022-10-07/7f01f050-4668-11ed-91ff-0a32d5bafd0b","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a-arn:aws:ec2:eu-west-1:060997615305:security-group/sg-04bb709828e34cba5","label":"vpc-3c3b705a-transr-3561","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-04bb709828e34cba5","targetMetadata":{"type":"AWS::EC2::SecurityGroup","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a-arn:aws:ec2:eu-west-1:060997615305:security-group/sg-04e763f68557f7749","label":"vpc-3c3b705a-transr-831","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-04e763f68557f7749","targetMetadata":{"type":"AWS::EC2::SecurityGroup","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a-arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0557b8bf309e79f18","label":"vpc-3c3b705a-transr-6637","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0557b8bf309e79f18","targetMetadata":{"type":"AWS::EC2::SecurityGroup","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a-arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0583eb00a07bc4cde","label":"vpc-3c3b705a-k8s-elb-a8b6c26482e1f11e9bfbb06e03663557","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0583eb00a07bc4cde","targetMetadata":{"type":"AWS::EC2::SecurityGroup","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a-arn:aws:ec2:eu-west-1:060997615305:security-group/sg-05dd21368fd62e946","label":"vpc-3c3b705a-ControlPlaneSecurityGroup","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-05dd21368fd62e946","targetMetadata":{"type":"AWS::EC2::SecurityGroup","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a-arn:aws:ec2:eu-west-1:060997615305:security-group/sg-07cd255b1c97fe1a1","label":"vpc-3c3b705a-k8s-elb-a3a680e4cbdb811e9a8b30a8ac757ccc","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-07cd255b1c97fe1a1","targetMetadata":{"type":"AWS::EC2::SecurityGroup","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a-arn:aws:ec2:eu-west-1:060997615305:security-group/sg-093e0c142114e7e4c","label":"vpc-3c3b705a-k8s-elb-a7d4c34af3b7211e980b90a3ffe3de85","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-093e0c142114e7e4c","targetMetadata":{"type":"AWS::EC2::SecurityGroup","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a-arn:aws:ec2:eu-west-1:060997615305:security-group/sg-09845e9fd4ed03442","label":"vpc-3c3b705a-launch-wizard-1","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-09845e9fd4ed03442","targetMetadata":{"type":"AWS::EC2::SecurityGroup","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a-arn:aws:ec2:eu-west-1:060997615305:security-group/sg-09eafe5c6ba9f53bf","label":"vpc-3c3b705a-k8s-elb-a24d5e83c936711e9812b06b4550bdce","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-09eafe5c6ba9f53bf","targetMetadata":{"type":"AWS::EC2::SecurityGroup","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a-arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0bd07be67c020ad07","label":"vpc-3c3b705a-Help56-env-1","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0bd07be67c020ad07","targetMetadata":{"type":"AWS::EC2::SecurityGroup","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a-arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0d3eb370ca6b0245b","label":"vpc-3c3b705a-transr-7480","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0d3eb370ca6b0245b","targetMetadata":{"type":"AWS::EC2::SecurityGroup","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a-arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0ecc4d031c5673922","label":"vpc-3c3b705a-Help56-env","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0ecc4d031c5673922","targetMetadata":{"type":"AWS::EC2::SecurityGroup","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a-arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0f2c00add4a70c83f","label":"vpc-3c3b705a-AutoScaling-Security-Group-1","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0f2c00add4a70c83f","targetMetadata":{"type":"AWS::EC2::SecurityGroup","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a-arn:aws:ec2:eu-west-1:060997615305:security-group/sg-96788cea","label":"vpc-3c3b705a-default","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-96788cea","targetMetadata":{"type":"AWS::EC2::SecurityGroup","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a-arn:aws:ec2:eu-west-1:060997615305:security-group/sg-00ba81535e246b255","label":"vpc-3c3b705a-k8s-worker-nodes-dev-NodeSecurityGroup-12A693N5Z6ZU6","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-00ba81535e246b255","targetMetadata":{"type":"AWS::EC2::SecurityGroup","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a-arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0329e4f804998a32d","label":"vpc-3c3b705a-transr-5686","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:security-group/sg-0329e4f804998a32d","targetMetadata":{"type":"AWS::EC2::SecurityGroup","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a-arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-e0037299","label":"vpc-3c3b705a-rtb-e0037299","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:route-table/rtb-e0037299","targetMetadata":{"type":"AWS::EC2::RouteTable","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a-arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-0598004555201fc6c","label":"vpc-3c3b705a-vpce-0598004555201fc6c","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:vpc-endpoint/vpce-0598004555201fc6c","targetMetadata":{"type":"AWS::EC2::VPCEndpoint","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a-arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0ea6739d9f2a567c5","label":"vpc-3c3b705a-eni-0ea6739d9f2a567c5","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0ea6739d9f2a567c5","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a-arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0f1843fb4c77fdfef","label":"vpc-3c3b705a-eni-0f1843fb4c77fdfef","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0f1843fb4c77fdfef","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a-arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0095dcb0b33af1971","label":"vpc-3c3b705a-eni-0095dcb0b33af1971","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0095dcb0b33af1971","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a-arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-079df4b65ac79c0a3","label":"vpc-3c3b705a-eni-079df4b65ac79c0a3","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-079df4b65ac79c0a3","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a-arn:aws:ec2:eu-west-1:060997615305:instance/i-01ce9288893dcf6eb","label":"vpc-3c3b705a-Help56-env","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:instance/i-01ce9288893dcf6eb","targetMetadata":{"type":"AWS::EC2::Instance","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a-arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-02fdc2d678bacdbeb","label":"vpc-3c3b705a-eni-02fdc2d678bacdbeb","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-02fdc2d678bacdbeb","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a-arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0adfcf0a875bc3ec8","label":"vpc-3c3b705a-eni-0adfcf0a875bc3ec8","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0adfcf0a875bc3ec8","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a-arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-06ce4a25fb2b27aec","label":"vpc-3c3b705a-eni-06ce4a25fb2b27aec","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-06ce4a25fb2b27aec","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a-arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0d887e9138402fb38","label":"vpc-3c3b705a-eni-0d887e9138402fb38","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0d887e9138402fb38","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a-arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0ddd7423914f2c3db","label":"vpc-3c3b705a-eni-0ddd7423914f2c3db","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-0ddd7423914f2c3db","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a-arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-00c5f1ddb04bb604c","label":"vpc-3c3b705a-eni-00c5f1ddb04bb604c","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:network-interface/eni-00c5f1ddb04bb604c","targetMetadata":{"type":"AWS::EC2::NetworkInterface","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a-arn:aws:ec2:eu-west-1:060997615305:instance/i-08c0e9618c880325e","label":"vpc-3c3b705a-Help56-env-1","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:instance/i-08c0e9618c880325e","targetMetadata":{"type":"AWS::EC2::Instance","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a-arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-7cc60405","label":"vpc-3c3b705a-acl-7cc60405","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:network-acl/acl-7cc60405","targetMetadata":{"type":"AWS::EC2::NetworkAcl","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a-arn:aws:ec2:eu-west-1:060997615305:internet-gateway/igw-3c9fd05b","label":"vpc-3c3b705a-igw-3c9fd05b","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:ec2:eu-west-1:060997615305:internet-gateway/igw-3c9fd05b","targetMetadata":{"type":"AWS::EC2::InternetGateway","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a-arn:aws:rds:eu-west-1:060997615305:subgrp:default-vpc-3c3b705a","label":"vpc-3c3b705a-default-vpc-3c3b705a","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:rds:eu-west-1:060997615305:subgrp:default-vpc-3c3b705a","targetMetadata":{"type":"AWS::RDS::DBSubnetGroup","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a-arn:aws:elasticloadbalancing:eu-west-1:060997615305:loadbalancer/a7d4c34af3b7211e980b90a3ffe3de85","label":"vpc-3c3b705a-a7d4c34af3b7211e980b90a3ffe3de85","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:elasticloadbalancing:eu-west-1:060997615305:loadbalancer/a7d4c34af3b7211e980b90a3ffe3de85","targetMetadata":{"type":"AWS::ElasticLoadBalancing::LoadBalancer","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a-arn:aws:elasticloadbalancing:eu-west-1:060997615305:loadbalancer/a24d5e83c936711e9812b06b4550bdce","label":"vpc-3c3b705a-a24d5e83c936711e9812b06b4550bdce","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:elasticloadbalancing:eu-west-1:060997615305:loadbalancer/a24d5e83c936711e9812b06b4550bdce","targetMetadata":{"type":"AWS::ElasticLoadBalancing::LoadBalancer","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a-arn:aws:elasticloadbalancing:eu-west-1:060997615305:loadbalancer/a3a680e4cbdb811e9a8b30a8ac757ccc","label":"vpc-3c3b705a-a3a680e4cbdb811e9a8b30a8ac757ccc","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:elasticloadbalancing:eu-west-1:060997615305:loadbalancer/a3a680e4cbdb811e9a8b30a8ac757ccc","targetMetadata":{"type":"AWS::ElasticLoadBalancing::LoadBalancer","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a-arn:aws:tags::060997615305:tag/kubernetes.io/cluster/k8s-dev=shared","label":"vpc-3c3b705a-kubernetes.io/cluster/k8s-dev=shared","source":"arn:aws:ec2:eu-west-1:060997615305:vpc/vpc-3c3b705a","sourceMetadata":{"type":"AWS::EC2::VPC","childIds":[]},"target":"arn:aws:tags::060997615305:tag/kubernetes.io/cluster/k8s-dev=shared","targetMetadata":{"type":"AWS::Tags::Tag","childIds":[]}},"position":{"x":0,"y":0},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""}],"settings":{"costInterval":null,"accounts":[],"regions":[],"resourceTypes":[],"hideSelected":true,"hideEdges":false}} \ No newline at end of file diff --git a/source/frontend/src/routes.js b/source/frontend/src/routes.js index eef56564..f52888b9 100644 --- a/source/frontend/src/routes.js +++ b/source/frontend/src/routes.js @@ -13,7 +13,6 @@ import DrawDiagramPage from './components/Diagrams/Draw/DrawDiagram/DrawDiagramP import OpenDiagramPage from './components/Diagrams/Draw/DrawDiagram/OpenDiagram/OpenDiagramPage'; import CreateDiagramPage from './components/Diagrams/Draw/DrawDiagram/CreateDiagram/CreateDiagramPage'; import CostOverview from './components/Costs/Report/CostOverview'; -import ExportDiagram from './components/Diagrams/Draw/Canvas/Export/ExportDiagram'; export const HOMEPAGE_PATH = '/'; export const RESOURCES = '/resources'; export const ACCOUNTS = '/accounts'; @@ -28,93 +27,87 @@ export const COSTS = '/costs'; export const DIAGRAM_MANAGEMENT = '/diagrams'; export const OPEN_DIAGRAM = '/diagrams/:visibility/:name'; export const COST_REPORT = '/diagrams/:visibility/:name/cost_report'; -export const EXPORT = '/diagrams/:visibility/:name/export' +export const EXPORT = '/diagrams/:visibility/:name/export'; const routes = [ - { - title: 'Workload Discovery on AWS', - path: HOMEPAGE_PATH, - exact: true, - component: Homepage, - }, - { - title: 'Accounts', - path: ACCOUNTS, - exact: true, - component: DiscoverableAccountsPage, - }, - { - title: 'Import', - path: IMPORT, - exact: true, - component: ImportContent, - }, - { - title: 'Edit view', - path: EDIT_VIEW, - exact: true, - component: ViewFormPage, - }, - { - title: 'Create view', - path: CREATE_VIEW, - exact: true, - component: ViewFormPage, - }, - { - title: 'Views', - path: [VIEWS, VIEW], - exact: true, - component: ViewExplorerPage, - }, - { - title: 'Draw', - path: DRAW, - exact: true, - component: DrawDiagramPage, - }, - { - title: 'Open diagram', - path: OPEN_DIAGRAM, - exact: true, - component: OpenDiagramPage, - }, - { - title: 'Create diagram', - path: CREATE_DIAGRAM, - exact: true, - component: CreateDiagramPage, - }, - { - title: 'Resources', - path: RESOURCES, - exact: true, - component: ResourcesPage, - }, - { - title: 'Costs', - path: COSTS, - exact: true, - component: CostsPage, - }, - { - title: 'Cost report', - path: COST_REPORT, - exact: true, - component: CostOverview, - }, - { - title: 'Manage diagrams', - path: DIAGRAM_MANAGEMENT, - exact: true, - component: DiagramExplorer, - }, - { - title: 'Export diagram', - path: EXPORT, - exact: true, - component: ExportDiagram, - }, + { + title: 'Workload Discovery on AWS', + path: HOMEPAGE_PATH, + exact: true, + component: Homepage, + }, + { + title: 'Accounts', + path: ACCOUNTS, + exact: true, + component: DiscoverableAccountsPage, + }, + { + title: 'Import', + path: IMPORT, + exact: true, + component: ImportContent, + }, + { + title: 'Edit view', + path: EDIT_VIEW, + exact: true, + component: ViewFormPage, + }, + { + title: 'Create view', + path: CREATE_VIEW, + exact: true, + component: ViewFormPage, + }, + { + title: 'Views', + path: [VIEWS, VIEW], + exact: true, + component: ViewExplorerPage, + }, + { + title: 'Draw', + path: DRAW, + exact: true, + component: DrawDiagramPage, + }, + { + title: 'Open diagram', + path: OPEN_DIAGRAM, + exact: true, + component: OpenDiagramPage, + }, + { + title: 'Create diagram', + path: CREATE_DIAGRAM, + exact: true, + component: CreateDiagramPage, + }, + { + title: 'Resources', + path: RESOURCES, + exact: true, + component: ResourcesPage, + }, + { + title: 'Costs', + path: COSTS, + exact: true, + component: CostsPage, + }, + { + title: 'Cost report', + path: COST_REPORT, + exact: true, + component: CostOverview, + }, + { + title: 'Manage diagrams', + path: DIAGRAM_MANAGEMENT, + exact: true, + component: DiagramExplorer, + }, ]; -export default routes; \ No newline at end of file +export default routes; diff --git a/source/frontend/src/serviceWorker.js b/source/frontend/src/serviceWorker.js index 4cb58cb9..7577e7df 100644 --- a/source/frontend/src/serviceWorker.js +++ b/source/frontend/src/serviceWorker.js @@ -14,133 +14,137 @@ // opt-in, read https://bit.ly/CRA-PWA const isLocalhost = Boolean( - window.location.hostname === 'localhost' || - // [::1] is the IPv6 localhost address. - window.location.hostname === '[::1]' || - // 127.0.0.1/8 is considered localhost for IPv4. - window.location.hostname.match( - /^127(?:\.(?:25[0-5]|2[0-4]\/d|[01]?\/d\/d?)){3}$/ - ) + window.location.hostname === 'localhost' || + // [::1] is the IPv6 localhost address. + window.location.hostname === '[::1]' || + // 127.0.0.1/8 is considered localhost for IPv4. + window.location.hostname.match( + /^127(?:\.(?:25[0-5]|2[0-4]\/d|[01]?\/d\/d?)){3}$/ + ) ); export function register(config) { - if (import.meta.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) { - // The URL constructor is available in all browsers that support SW. - const publicUrl = new URL('/', window.location.href); - if (publicUrl.origin !== window.location.origin) { - // Our service worker won't work if PUBLIC_URL is on a different origin - // from what our page is served on. This might happen if a CDN is used to - // serve assets; see https://github.com/facebook/create-react-app/issues/2374 - return; - } + if ( + import.meta.env.NODE_ENV === 'production' && + 'serviceWorker' in navigator + ) { + // The URL constructor is available in all browsers that support SW. + const publicUrl = new URL('/', window.location.href); + if (publicUrl.origin !== window.location.origin) { + // Our service worker won't work if PUBLIC_URL is on a different origin + // from what our page is served on. This might happen if a CDN is used to + // serve assets; see https://github.com/facebook/create-react-app/issues/2374 + return; + } - window.addEventListener('load', () => { - const swUrl = `./service-worker.js`; + window.addEventListener('load', () => { + const swUrl = `./service-worker.js`; - if (isLocalhost) { - // This is running on localhost. Let's check if a service worker still exists or not. - checkValidServiceWorker(swUrl, config); + if (isLocalhost) { + // This is running on localhost. Let's check if a service worker still exists or not. + checkValidServiceWorker(swUrl, config); - // Add some additional logging to localhost, pointing developers to the - // service worker/PWA documentation. - navigator.serviceWorker.ready.then(() => { - console.log( - 'This web app is being served cache-first by a service ' + - 'worker. To learn more, visit https://bit.ly/CRA-PWA' - ); + // Add some additional logging to localhost, pointing developers to the + // service worker/PWA documentation. + navigator.serviceWorker.ready.then(() => { + console.log( + 'This web app is being served cache-first by a service ' + + 'worker. To learn more, visit https://bit.ly/CRA-PWA' + ); + }); + } else { + // Is not localhost. Just register service worker + registerValidSW(swUrl, config); + } }); - } else { - // Is not localhost. Just register service worker - registerValidSW(swUrl, config); - } - }); - } + } } function registerValidSW(swUrl, config) { - navigator.serviceWorker - .register(swUrl) - .then(registration => { - registration.onupdatefound = () => { - const installingWorker = registration.installing; - if (installingWorker == null) { - return; - } - installingWorker.onstatechange = () => { - if (installingWorker.state === 'installed') { - if (navigator.serviceWorker.controller) { - // At this point, the updated precached content has been fetched, - // but the previous service worker will still serve the older - // content until all client tabs are closed. - console.log( - 'New content is available and will be used when all ' + - 'tabs for this page are closed. See https://bit.ly/CRA-PWA.' - ); + navigator.serviceWorker + .register(swUrl) + .then(registration => { + registration.onupdatefound = () => { + const installingWorker = registration.installing; + if (installingWorker == null) { + return; + } + installingWorker.onstatechange = () => { + if (installingWorker.state === 'installed') { + if (navigator.serviceWorker.controller) { + // At this point, the updated precached content has been fetched, + // but the previous service worker will still serve the older + // content until all client tabs are closed. + console.log( + 'New content is available and will be used when all ' + + 'tabs for this page are closed. See https://bit.ly/CRA-PWA.' + ); - // Execute callback - checkConfigUpdate(config, registration) - } else { - // At this point, everything has been precached. - // It's the perfect time to display a - // "Content is cached for offline use." message. - console.log('Content is cached for offline use.'); + // Execute callback + checkConfigUpdate(config, registration); + } else { + // At this point, everything has been precached. + // It's the perfect time to display a + // "Content is cached for offline use." message. + console.log('Content is cached for offline use.'); - // Execute callback - checkConfigSuccess(config, registration) - } - } - }; - }; - }) - .catch(error => { - console.error('Error during service worker registration:', error); - }); + // Execute callback + checkConfigSuccess(config, registration); + } + } + }; + }; + }) + .catch(error => { + console.error('Error during service worker registration:', error); + }); } function checkValidServiceWorker(swUrl, config) { - // Check if the service worker can be found. If it can't reload the page. - fetch(swUrl) - .then(response => { - // Ensure service worker exists, and that we really are getting a JS file. - const contentType = response.headers.get('content-type'); - if ( - response.status === 404 || - (contentType != null && contentType.indexOf('javascript') === -1) - ) { - // No service worker found. Probably a different app. Reload the page. - navigator.serviceWorker.ready.then(registration => { - registration.unregister().then(() => { - window.location.reload(); - }); + // Check if the service worker can be found. If it can't reload the page. + fetch(swUrl) + .then(response => { + // Ensure service worker exists, and that we really are getting a JS file. + const contentType = response.headers.get('content-type'); + if ( + response.status === 404 || + (contentType != null && + contentType.indexOf('javascript') === -1) + ) { + // No service worker found. Probably a different app. Reload the page. + navigator.serviceWorker.ready.then(registration => { + registration.unregister().then(() => { + window.location.reload(); + }); + }); + } else { + // Service worker found. Proceed as normal. + registerValidSW(swUrl, config); + } + }) + .catch(() => { + console.log( + 'No internet connection found. App is running in offline mode.' + ); }); - } else { - // Service worker found. Proceed as normal. - registerValidSW(swUrl, config); - } - }) - .catch(() => { - console.log( - 'No internet connection found. App is running in offline mode.' - ); - }); } function checkConfigUpdate(config, registration) { - if (config?.onUpdate) { - config.onUpdate(registration); - } + if (config?.onUpdate) { + config.onUpdate(registration); + } } function checkConfigSuccess(config, registration) { - if (config?.onSuccess) { - config.onSuccess(registration); - } + if (config?.onSuccess) { + config.onSuccess(registration); + } } export function unregister() { - if ('serviceWorker' in navigator) { - navigator.serviceWorker.ready.then(registration => { - registration.unregister(); - }); - } + if ('serviceWorker' in navigator) { + navigator.serviceWorker.ready.then(registration => { + registration.unregister(); + }); + } } diff --git a/source/frontend/src/split-panel.js b/source/frontend/src/split-panel.js index d58c828f..72231f1a 100644 --- a/source/frontend/src/split-panel.js +++ b/source/frontend/src/split-panel.js @@ -4,24 +4,24 @@ import ResourcesSplitPanel from './components/Explore/Resources/Utils/ResourcesSplitPanel'; import React from 'react'; import DrawingSplitPanel from './components/Diagrams/Draw/Utils/DrawingSplitPanel'; -import {OPEN_DIAGRAM, RESOURCES, VIEWS} from "./routes"; +import {OPEN_DIAGRAM, RESOURCES, VIEWS} from './routes'; const splitPanels = [ - { - title: 'Draw', - path: OPEN_DIAGRAM, - component: , - }, - { - title: 'Resources', - path: RESOURCES, - component: , - }, - { - title: 'Views', - path: VIEWS, - component: , - }, + { + title: 'Draw', + path: OPEN_DIAGRAM, + component: , + }, + { + title: 'Resources', + path: RESOURCES, + component: , + }, + { + title: 'Views', + path: VIEWS, + component: , + }, ]; export default splitPanels; diff --git a/source/frontend/src/tests/cypress/components/Costs/QueryBuilder/CostsPage.cy.js b/source/frontend/src/tests/cypress/components/Costs/QueryBuilder/CostsPage.cy.js index e3d7a739..a090d137 100644 --- a/source/frontend/src/tests/cypress/components/Costs/QueryBuilder/CostsPage.cy.js +++ b/source/frontend/src/tests/cypress/components/Costs/QueryBuilder/CostsPage.cy.js @@ -4,18 +4,19 @@ import React from 'react'; import App from '../../../../../App'; import {getResourceGraph} from '../../../../mocks/fixtures/getResourceGraph/default.json'; +import {HttpResponse} from 'msw'; describe('Costs Page', () => { - it('should add resources to diagram page', () => { window.perspectiveMetadata = {version: '2.1.0'}; - const {worker, graphql} = window.msw + const {worker, graphql} = window.msw; worker.use( - graphql.query('GetResourcesByCost', (req, res, ctx) => { + graphql.query('GetResourcesByCost', () => { const costItems = getResourceGraph.nodes.map(({properties}) => { - const {resourceId, resourceType, accountId, awsRegion} = properties; + const {resourceId, resourceType, accountId, awsRegion} = + properties; const [, , serviceName] = resourceType.split('::'); return { line_item_resource_id: resourceId ?? '', @@ -24,34 +25,39 @@ describe('Costs Page', () => { line_item_usage_account_id: accountId, region: awsRegion, pricing_term: 'OnDemand', - cost: 1.00, - line_item_currency_code: 'USD' - } + cost: 1.0, + line_item_currency_code: 'USD', + }; }); - return res(ctx.data({ - getResourcesByCost: { - totalCost: costItems * 1.00, - costItems - } - })); - })); + return HttpResponse.json({ + data: { + getResourcesByCost: { + totalCost: costItems * 1.0, + costItems, + }, + }, + }); + }) + ); - cy.mount(); + cy.mount(); cy.findByRole('link', {name: /Costs$/, hidden: true}).click(); cy.findByRole('button', {name: /calculate costs/i}).click(); - cy.findByRole('checkbox', {name: /testLambda is not selected/i}).click(); + cy.findByRole('checkbox', { + name: /testLambda is not selected/i, + }).click(); - cy.findByRole('button', { name: /add to diagram/i }).click(); + cy.findByRole('button', {name: /add to diagram/i}).click(); cy.findByRole('heading', {level: 2, name: /Create Diagram/i}); - cy.findByRole('combobox', { name: /name/i }).type('TestDiagram'); + cy.findByRole('combobox', {name: /name/i}).type('TestDiagram'); - cy.findByRole('button', { name: /create/i }).click(); + cy.findByRole('button', {name: /create/i}).click(); cy.get('.expand-collapse-canvas').should('be.visible'); @@ -60,6 +66,5 @@ describe('Costs Page', () => { /* eslint-disable */ cy.get('.expand-collapse-canvas').matchImage({maxDiffThreshold: 0.1}); - - }) -}); \ No newline at end of file + }); +}); diff --git a/source/frontend/src/tests/cypress/components/Diagrams/Draw/DrawDiagram/DrawDiagramPage.cy.js b/source/frontend/src/tests/cypress/components/Diagrams/Draw/DrawDiagram/DrawDiagramPage.cy.js index 2068db8e..1421c78c 100644 --- a/source/frontend/src/tests/cypress/components/Diagrams/Draw/DrawDiagram/DrawDiagramPage.cy.js +++ b/source/frontend/src/tests/cypress/components/Diagrams/Draw/DrawDiagram/DrawDiagramPage.cy.js @@ -7,39 +7,65 @@ import App from '../../../../../../App'; import defaultResourceGraph from '../../../../../mocks/fixtures/getResourceGraph/default.json'; import eksCluster from '../../../../../mocks/fixtures/getResourceGraph/eks-cluster.json'; import eksNodeGroup from '../../../../../mocks/fixtures/getResourceGraph/nodegroup.json'; -import expectedJsonExport from './__file_snapshots__/CsvExportTestDiagram.json'; -import {createSearchResourceHandler} from "../../../../../mocks/handlers"; +import {createSearchResourceHandler} from '../../../../../mocks/handlers'; +import {createSelfManagedPerspectiveMetadata} from '../../../../../vitest/testUtils'; +import {HttpResponse} from 'msw'; describe('Diagrams Page', () => { + it('shows preview of diagram before creation', () => { + window.perspectiveMetadata = createSelfManagedPerspectiveMetadata(); + + cy.mount(); + + cy.findByRole('link', {name: /Resources$/, hidden: true}).click(); + + cy.findByPlaceholderText(/Find a resource type/i).type('lambda'); + + cy.findByRole('checkbox', { + name: /aws::lambda::function is not selected/i, + }).click(); + + cy.findByRole('checkbox', { + name: /arn:aws:yyyyyyyyyyyy:eu-west-1:AWS::Lambda::Function:0Title is not selected/i, + }).click(); + + cy.findByRole('button', {name: /Add to diagram/i}).click(); + + cy.get('.expand-collapse-canvas').scrollIntoView({duration: 2000}); + + cy.get('.expand-collapse-canvas').matchImage({maxDiffThreshold: 0.1}); + }); it('creates diagram from search bar', () => { - window.perspectiveMetadata = {version: '2.1.0'}; + window.perspectiveMetadata = createSelfManagedPerspectiveMetadata(); cy.mount(); - cy.findByRole('link', { name: /Manage$/, hidden: true }).click(); + cy.findByRole('link', {name: /Manage$/, hidden: true}).click(); - cy.findByRole('button', { name: /create/i }).click(); + cy.findByRole('button', {name: /create/i}).click(); cy.findByRole('heading', {level: 2, name: /Create Diagram/i}); - cy.findByRole('combobox', { name: /name/i }).type('TestDiagram'); + cy.findByRole('combobox', {name: /name/i}).type('TestDiagram'); - cy.findByRole('button', { name: /create/i }).click(); + cy.findByRole('button', {name: /create/i}).click(); cy.findByRole('heading', {level: 2, name: /TestDiagram/}); cy.findByText(/diagram saved/i); - cy.findByText(/the private diagram TestDiagram was saved successfully/i); + cy.findByText( + /the private diagram TestDiagram was saved successfully/i + ); - cy.findByRole('button', { name: /view cost report/i }); + cy.findByRole('button', {name: /view cost report/i}); - cy.findByRole('button', { name: /load costs/i }); + cy.findByRole('button', {name: /load costs/i}); - cy.findByRole('button', { name: /actions/i }); + cy.findByRole('button', {name: /actions/i}); - cy.findByRole('button', { name: /Diagram Settings/i }).click(); + cy.findByRole('button', {name: /Diagram Settings/i}).click(); cy.findByLabelText(/accounts/i); @@ -47,296 +73,357 @@ describe('Diagrams Page', () => { cy.findByLabelText(/resource types/i); - cy.findByRole('button', { name: /Apply/i }).should('be.disabled'); + cy.findByRole('button', {name: /Apply/i}).should('be.disabled'); - cy.findByRole('button', { name: /Diagram Settings/i }).click(); + cy.findByRole('button', {name: /Diagram Settings/i}).click(); - cy.findByRole('button', { name: /add resource find a resource/i }).click() + cy.findByRole('button', {name: /Resource search bar/i}).click(); cy.findByRole('combobox').type('lambda'); cy.findByRole('combobox').type('{downArrow}'); + cy.findByRole('combobox').type('{downArrow}'); + cy.findByRole('combobox').type('{enter}'); + cy.findByRole('button', {name: 'Search'}).click(); + cy.get('.expand-collapse-canvas').should('be.visible'); - /* eslint-disable */ - cy.wait(2000); - /* eslint-disable */ + cy.get('.expand-collapse-canvas').scrollIntoView({duration: 2000}); cy.get('.expand-collapse-canvas').matchImage({maxDiffThreshold: 0.1}); }); it('clears diagrams', () => { - window.perspectiveMetadata = {version: '2.1.0'}; + window.perspectiveMetadata = createSelfManagedPerspectiveMetadata(); cy.mount(); - cy.findByRole('link', { name: /Manage$/, hidden: true }).click(); + cy.findByRole('link', {name: /Manage$/, hidden: true}).click(); - cy.findByRole('button', { name: /create/i }).click(); + cy.findByRole('button', {name: /create/i}).click(); cy.findByRole('heading', {level: 2, name: /Create Diagram/i}); - cy.findByRole('combobox', { name: /name/i }).type('ClearTestDiagram'); + cy.findByRole('combobox', {name: /name/i}).type('ClearTestDiagram'); - cy.findByRole('button', { name: /create/i }).click(); + cy.findByRole('button', {name: /create/i}).click(); cy.findByRole('heading', {level: 2, name: /ClearTestDiagram/}); - cy.findByRole('button', { name: /add resource find a resource/i }).click() + cy.findByRole('button', {name: /Resource search bar/i}).click(); cy.findByRole('combobox').type('lambda'); cy.findByRole('combobox').type('{downArrow}'); + cy.findByRole('combobox').type('{downArrow}'); + cy.findByRole('combobox').type('{enter}'); - cy.findByRole('button', { name: /action/i }).click(); + cy.findByRole('button', {name: 'Search'}).click(); - cy.findByRole('menuitem', { name: /diagram/i }).click(); + cy.findByRole('button', {name: /action/i}).click(); - cy.findByRole('menuitem', { name: /clear/i }).click({force: true}); + cy.findByRole('menuitem', {name: /diagram/i}).click(); - cy.get('.expand-collapse-canvas').scrollIntoView({ duration: 1000 }).matchImage({maxDiffThreshold: 0.1}); + cy.findByRole('menuitem', {name: /clear/i}).click({force: true}); + cy.get('.expand-collapse-canvas').scrollIntoView({duration: 2000}); + + cy.get('.expand-collapse-canvas').matchImage({maxDiffThreshold: 0.1}); }); it('should get cost interval from diagram settings', () => { - window.perspectiveMetadata = {version: '2.1.0'}; + window.perspectiveMetadata = createSelfManagedPerspectiveMetadata(); const {worker, graphql} = window.msw; cy.mount().then(() => { let period = null; worker.use( - graphql.query('GetCostForResource', async(req, res, ctx) => { + graphql.query('GetCostForResource', async ({variables}) => { const costInfo = { 'AWS::Lambda::Function': { product_servicename: 'Lambda', - cost: 5.00 + cost: 5.0, }, 'AWS::RDS::DBCluster': { product_servicename: 'Amazon Neptune', - cost: 50.00 - } - } - - const costItems = defaultResourceGraph.getResourceGraph.nodes - .filter(x => ['AWS::RDS::DBCluster', 'AWS::Lambda::Function'].includes(x.properties.resourceType)) - .map(({properties}) => { - const {resourceId, accountId, awsRegion, resourceType} = properties; - return { - ...costInfo[resourceType], - "line_item_resource_id": resourceId, - "line_item_usage_start_date": null, - "line_item_usage_account_id": accountId, - "region": awsRegion, - "pricing_term":"OnDemand", - "line_item_currency_code":"USD" - } - }); - - period = req.variables.costForResourceQuery.period; + cost: 50.0, + }, + }; - return res(ctx.data({ - getCostForResource: { - totalCost: costItems.reduce((total, {cost}) => total + cost), - costItems - }})); - }), + const costItems = + defaultResourceGraph.getResourceGraph.nodes + .filter(x => + [ + 'AWS::RDS::DBCluster', + 'AWS::Lambda::Function', + ].includes(x.properties.resourceType) + ) + .map(({properties}) => { + const { + resourceId, + accountId, + awsRegion, + resourceType, + } = properties; + return { + ...costInfo[resourceType], + line_item_resource_id: resourceId, + line_item_usage_start_date: null, + line_item_usage_account_id: accountId, + region: awsRegion, + pricing_term: 'OnDemand', + line_item_currency_code: 'USD', + }; + }); + + period = variables.costForResourceQuery.period; + + return HttpResponse.json({ + data: { + getCostForResource: { + totalCost: costItems.reduce( + (total, {cost}) => total + cost + ), + costItems, + }, + }, + }); + }) ); - cy.findByRole('link', { name: /Manage$/, hidden: true }).click(); + cy.findByRole('link', {name: /Manage$/, hidden: true}).click(); - cy.findByRole('button', { name: /create/i }).click(); + cy.findByRole('button', {name: /create/i}).click(); cy.findByRole('heading', {level: 2, name: /Create Diagram/i}); - cy.findByRole('combobox', { name: /name/i }).type('LoadCostsIntervalDiagram'); + cy.findByRole('combobox', {name: /name/i}).type( + 'LoadCostsIntervalDiagram' + ); - cy.findByRole('button', { name: /create/i }).click(); + cy.findByRole('button', {name: /create/i}).click(); - cy.findByRole('heading', {level: 2, name: /LoadCostsIntervalDiagram/}); + cy.findByRole('heading', { + level: 2, + name: /LoadCostsIntervalDiagram/, + }); - cy.findByRole('button', { name: /add resource find a resource/i }).click() + cy.findByRole('button', {name: /Resource search bar/i}).click(); cy.findByRole('combobox').type('lambda'); cy.findByRole('combobox').type('{downArrow}'); + cy.findByRole('combobox').type('{downArrow}'); + cy.findByRole('combobox').type('{enter}'); - cy.findByRole('button', { name: /action/i }).click(); + cy.findByRole('button', {name: 'Search'}).click(); + + cy.findByRole('button', {name: /action/i}).click(); - cy.findByRole('button', { name: /Diagram Settings/i }).click(); + cy.findByRole('button', {name: /Diagram Settings/i}).click(); cy.findByLabelText(/Cost Data Time Period/i).click(); - cy.findByRole('radio', { name: /Last 30 Days/i }).click(); + cy.findByRole('radio', {name: /Last 30 Days/i}).click(); - cy.findByRole('button', { name: /Confirm/i }).click(); + cy.findByRole('button', {name: /Confirm/i}).click(); - cy.findByRole('button', { name: /Apply/i }).click(); + cy.findByRole('button', {name: /Apply/i}).click(); - cy.findByRole('button', { name: /action/i }).click(); + cy.findByRole('button', {name: /action/i}).click(); - cy.findByRole('menuitem', { name: /save/i }).click(); + cy.findByRole('menuitem', {name: /save/i}).click(); - cy.findByRole('button', { name: /Load Costs/i }).click(); + cy.findByRole('button', {name: /Load Costs/i}).click(); /* eslint-disable */ cy.wait(500).then(() => { - const today = dayjs().format("YYYY-MM-DD"); - const thirtyDaysAgo = dayjs().subtract(30, "day").format('YYYY-MM-DD'); + const today = dayjs().format('YYYY-MM-DD'); + const thirtyDaysAgo = dayjs() + .subtract(30, 'day') + .format('YYYY-MM-DD'); expect(period.to).to.equal(today); expect(period.from).to.equal(thirtyDaysAgo); }); /* eslint-disable */ }); - }); it('should create a cost report', () => { - window.perspectiveMetadata = {version: '2.1.0'}; + window.perspectiveMetadata = createSelfManagedPerspectiveMetadata(); const {worker, graphql} = window.msw; worker.use( - graphql.query('GetCostForResource', (req, res, ctx) => { + graphql.query('GetCostForResource', () => { const costInfo = { 'AWS::Lambda::Function': { product_servicename: 'Lambda', - cost: 5.00 + cost: 5.0, }, 'AWS::RDS::DBCluster': { product_servicename: 'Amazon Neptune', - cost: 50.00 - } - } + cost: 50.0, + }, + }; const costItems = defaultResourceGraph.getResourceGraph.nodes - .filter(x => ['AWS::RDS::DBCluster', 'AWS::Lambda::Function'].includes(x.properties.resourceType)) + .filter(x => + [ + 'AWS::RDS::DBCluster', + 'AWS::Lambda::Function', + ].includes(x.properties.resourceType) + ) .map(({properties}) => { - const {resourceId, accountId, awsRegion, resourceType} = properties; - return { + const {resourceId, accountId, awsRegion, resourceType} = + properties; + return { ...costInfo[resourceType], - "line_item_resource_id": resourceId, - "line_item_usage_start_date": null, - "line_item_usage_account_id": accountId, - "region": awsRegion, - "pricing_term":"OnDemand", - "line_item_currency_code":"USD" - } + line_item_resource_id: resourceId, + line_item_usage_start_date: null, + line_item_usage_account_id: accountId, + region: awsRegion, + pricing_term: 'OnDemand', + line_item_currency_code: 'USD', + }; }); - return res(ctx.data({ - getCostForResource: { - totalCost: costItems.reduce((total, {cost}) => total + cost), - costItems - }})); - }), - ) + return HttpResponse.json({ + data: { + getCostForResource: { + totalCost: costItems.reduce( + (total, {cost}) => total + cost + ), + costItems, + }, + }, + }); + }) + ); cy.mount(); - cy.findByRole('link', { name: /Manage$/, hidden: true }).click(); + cy.findByRole('link', {name: /Manage$/, hidden: true}).click(); - cy.findByRole('button', { name: /create/i }).click(); + cy.findByRole('button', {name: /create/i}).click(); cy.findByRole('heading', {level: 2, name: /Create Diagram/i}); - cy.findByRole('combobox', { name: /name/i }).type('CostReportDiagram'); + cy.findByRole('combobox', {name: /name/i}).type('CostReportDiagram'); - cy.findByRole('button', { name: /create/i }).click(); + cy.findByRole('button', {name: /create/i}).click(); cy.findByRole('heading', {level: 2, name: /CostReportDiagram/}); - cy.findByRole('button', { name: /add resource find a resource/i }).click() + cy.findByRole('button', {name: /Resource search bar/i}).click(); cy.findByRole('combobox').type('lambda'); cy.findByRole('combobox').type('{downArrow}'); + cy.findByRole('combobox').type('{downArrow}'); + cy.findByRole('combobox').type('{enter}'); - cy.findByRole('button', { name: /action/i }).click(); + cy.findByRole('button', {name: 'Search'}).click(); - cy.findByRole('menuitem', { name: /save/i }).click(); + cy.findByRole('button', {name: /action/i}).click(); - cy.findByRole('button', { name: /view cost report/i }).click(); + cy.findByRole('menuitem', {name: /save/i}).click(); - cy.findByText(/\$55.00/); + cy.findByRole('button', {name: /view cost report/i}).click(); - cy.findByRole('button', { name: /Export CSV/i }).click(); + cy.findByText(/\$55.00/); - cy.readFile('cypress/downloads/cost-report.csv') - .then(actual => { - return cy.readFile('src/tests/cypress/components/Diagrams/Draw/DrawDiagram/__file_snapshots__/cost-report.csv') - .should('deep.equal', actual); - }); + cy.findByRole('button', {name: /Export CSV/i}).click(); + cy.readFile('cypress/downloads/cost-report.csv').then(actual => { + return cy + .readFile( + 'src/tests/cypress/components/Diagrams/Draw/DrawDiagram/__file_snapshots__/cost-report.csv' + ) + .should('deep.equal', actual); + }); }); it('expands resources on diagram with double click', () => { - window.perspectiveMetadata = {version: '2.1.0'}; + window.perspectiveMetadata = createSelfManagedPerspectiveMetadata(); const {worker, graphql} = window.msw; worker.use( - graphql.query('SearchResources', createSearchResourceHandler([ - eksCluster.getResourceGraph.nodes[0] - ])), - graphql.query('GetResourceGraph', (req, res, ctx) => { - const {ids, pagination: {start}} = req.variables; + graphql.query( + 'SearchResources', + createSearchResourceHandler([ + eksCluster.getResourceGraph.nodes[0], + ]) + ), + graphql.query('GetResourceGraph', ({variables}) => { + const { + ids, + pagination: {start}, + } = variables; let resourceGraph = null; const eksClusterArn = eksCluster.getResourceGraph.nodes[0].id; - const eksNodeGroupArn = eksNodeGroup.getResourceGraph.nodes[0].id; + const eksNodeGroupArn = + eksNodeGroup.getResourceGraph.nodes[0].id; - if(ids[0] === eksClusterArn) { + if (ids[0] === eksClusterArn) { resourceGraph = eksCluster; - } else if(ids[0] === eksNodeGroupArn) { + } else if (ids[0] === eksNodeGroupArn) { resourceGraph = eksNodeGroup; } - const {getResourceGraph: {nodes, edges}} = resourceGraph; + const { + getResourceGraph: {nodes, edges}, + } = resourceGraph; if (nodes.length < start && edges.length < start) { - return res(ctx.data({ - getResourceGraph: { - nodes: [], edges: [] - } - })); + return HttpResponse.json({ + data: { + getResourceGraph: { + nodes: [], + edges: [], + }, + }, + }); } - return res(ctx.data(resourceGraph)); + return HttpResponse.json({data: resourceGraph}); }) ); cy.mount(); - cy.findByRole('link', { name: /Resources$/, hidden: true }).click(); + cy.findByRole('link', {name: /Resources$/, hidden: true}).click(); cy.findByRole('heading', {level: 2, name: /\(1\)/i}); - cy.findByRole('checkbox', { name: /test-cluster is not selected/i }).click(); + cy.findByRole('checkbox', { + name: /test-cluster is not selected/i, + }).click(); - cy.findByRole('button', { name: /add to diagram/i }).click(); + cy.findByRole('button', {name: /add to diagram/i}).click(); cy.findByRole('heading', {level: 2, name: /Create Diagram/i}); - cy.findByRole('combobox', { name: /name/i }).type('ExpandTestDiagram'); + cy.findByRole('combobox', {name: /name/i}).type('ExpandTestDiagram'); - cy.findByRole('button', { name: /create/i }).click(); + cy.findByRole('button', {name: /create/i}).click(); cy.get('.expand-collapse-canvas').should('be.visible'); - /* eslint-disable */ - cy.wait(2000); - /* eslint-disable */ + cy.get('.expand-collapse-canvas').scrollIntoView({duration: 2000}); cy.get('.expand-collapse-canvas').then($canvas => { const canvasWidth = $canvas.width(); @@ -347,74 +434,85 @@ describe('Diagrams Page', () => { cy.wrap($canvas) .scrollIntoView() - // .click(canvasCenterX - 5, canvasCenterY - 10) - .dblclick(canvasCenterX - 5, canvasCenterY - 10) + .dblclick(canvasCenterX - 5, canvasCenterY - 10); }); - /* eslint-disable */ - cy.wait(2000); - /* eslint-disable */ + cy.get('.expand-collapse-canvas').scrollIntoView({duration: 2000}); cy.get('.expand-collapse-canvas').matchImage({maxDiffThreshold: 0.1}); }); it('expands resources on diagram with action menu', () => { - window.perspectiveMetadata = {version: '2.1.0'}; + window.perspectiveMetadata = createSelfManagedPerspectiveMetadata(); const {worker, graphql} = window.msw; worker.use( - graphql.query('SearchResources', createSearchResourceHandler([ - eksCluster.getResourceGraph.nodes[0] - ])), - graphql.query('GetResourceGraph', (req, res, ctx) => { - const {ids, pagination: {start}} = req.variables; + graphql.query( + 'SearchResources', + createSearchResourceHandler([ + eksCluster.getResourceGraph.nodes[0], + ]) + ), + graphql.query('GetResourceGraph', ({variables}) => { + const { + ids, + pagination: {start}, + } = variables; let resourceGraph = null; const eksClusterArn = eksCluster.getResourceGraph.nodes[0].id; - const eksNodeGroupArn = eksNodeGroup.getResourceGraph.nodes[0].id; + const eksNodeGroupArn = + eksNodeGroup.getResourceGraph.nodes[0].id; - if(ids[0] === eksClusterArn) { + if (ids[0] === eksClusterArn) { resourceGraph = eksCluster; - } else if(ids[0] === eksNodeGroupArn) { + } else if (ids[0] === eksNodeGroupArn) { resourceGraph = eksNodeGroup; } - const {getResourceGraph: {nodes, edges}} = resourceGraph; + const { + getResourceGraph: {nodes, edges}, + } = resourceGraph; if (nodes.length < start && edges.length < start) { - return res(ctx.data({ - getResourceGraph: { - nodes: [], edges: [] - } - })); + return HttpResponse.json({ + data: { + getResourceGraph: { + nodes: [], + edges: [], + }, + }, + }); } - return res(ctx.data(resourceGraph)); + return HttpResponse.json({data: resourceGraph}); }) ); cy.mount(); - cy.findByRole('link', { name: /Resources$/, hidden: true }).click(); + cy.findByRole('link', {name: /Resources$/, hidden: true}).click(); cy.findByRole('heading', {level: 2, name: /\(1\)/i}); - cy.findByRole('checkbox', { name: /test-cluster is not selected/i }).click(); + cy.findByRole('checkbox', { + name: /test-cluster is not selected/i, + }).click(); - cy.findByRole('button', { name: /add to diagram/i }).click(); + cy.findByRole('button', {name: /add to diagram/i}).click(); cy.findByRole('heading', {level: 2, name: /Create Diagram/i}); - cy.findByRole('combobox', { name: /name/i }).type('ExpandMenuTestDiagram'); + cy.findByRole('combobox', {name: /name/i}).type( + 'ExpandMenuTestDiagram' + ); - cy.findByRole('button', { name: /create/i }).click(); + cy.findByRole('button', {name: /create/i}).click(); cy.get('.expand-collapse-canvas').should('be.visible'); - /* eslint-disable */ - cy.wait(2000); - /* eslint-disable */ + cy.get('.expand-collapse-canvas').scrollIntoView({duration: 2000}); cy.get('.expand-collapse-canvas').then($canvas => { const canvasWidth = $canvas.width(); @@ -425,76 +523,89 @@ describe('Diagrams Page', () => { cy.wrap($canvas) .scrollIntoView() - .click(canvasCenterX - 5, canvasCenterY - 10) + .click(canvasCenterX - 5, canvasCenterY - 10); }); - cy.findByRole('button', { name: /action/i }).click(); + cy.findByRole('button', {name: /action/i}).click(); - cy.findByRole('menuitem', { name: /resources/i }).click(); + cy.findByRole('menuitem', {name: /resources/i}).click(); - cy.findByRole('menuitem', { name: /expand/i }).click({force: true}); + cy.findByRole('menuitem', {name: /expand/i}).click({force: true}); - cy.get('.expand-collapse-canvas').scrollIntoView({ duration: 3000 }).matchImage({maxDiffThreshold: 0.11}); + cy.get('.expand-collapse-canvas').scrollIntoView({duration: 3000}); + cy.get('.expand-collapse-canvas').matchImage({maxDiffThreshold: 0.11}); }); it('focuses on selected resource', () => { - window.perspectiveMetadata = {version: '2.1.0'}; + window.perspectiveMetadata = createSelfManagedPerspectiveMetadata(); const {worker, graphql} = window.msw; worker.use( - graphql.query('SearchResources', createSearchResourceHandler([ - eksCluster.getResourceGraph.nodes[0] - ])), - graphql.query('GetResourceGraph', (req, res, ctx) => { - const {ids, pagination: {start}} = req.variables; + graphql.query( + 'SearchResources', + createSearchResourceHandler([ + eksCluster.getResourceGraph.nodes[0], + ]) + ), + graphql.query('GetResourceGraph', ({variables}) => { + const { + ids, + pagination: {start}, + } = variables; let resourceGraph = null; const eksClusterArn = eksCluster.getResourceGraph.nodes[0].id; - const eksNodeGroupArn = eksNodeGroup.getResourceGraph.nodes[0].id; + const eksNodeGroupArn = + eksNodeGroup.getResourceGraph.nodes[0].id; - if(ids[0] === eksClusterArn) { + if (ids[0] === eksClusterArn) { resourceGraph = eksCluster; - } else if(ids[0] === eksNodeGroupArn) { + } else if (ids[0] === eksNodeGroupArn) { resourceGraph = eksNodeGroup; } - const {getResourceGraph: {nodes, edges}} = resourceGraph; + const { + getResourceGraph: {nodes, edges}, + } = resourceGraph; if (nodes.length < start && edges.length < start) { - return res(ctx.data({ - getResourceGraph: { - nodes: [], edges: [] - } - })); + return HttpResponse.json({ + data: { + getResourceGraph: { + nodes: [], + edges: [], + }, + }, + }); } - return res(ctx.data(resourceGraph)); + return HttpResponse.json({data: resourceGraph}); }) ); cy.mount(); - cy.findByRole('link', { name: /Resources$/, hidden: true }).click(); + cy.findByRole('link', {name: /Resources$/, hidden: true}).click(); cy.findByRole('heading', {level: 2, name: /\(1\)/i}); - cy.findByRole('checkbox', { name: /test-cluster is not selected/i }).click(); + cy.findByRole('checkbox', { + name: /test-cluster is not selected/i, + }).click(); - cy.findByRole('button', { name: /add to diagram/i }).click(); + cy.findByRole('button', {name: /add to diagram/i}).click(); cy.findByRole('heading', {level: 2, name: /Create Diagram/i}); - cy.findByRole('combobox', { name: /name/i }).type('FocusMenuTestDiagram'); + cy.findByRole('combobox', {name: /name/i}).type('FocusMenuTestDiagram'); - cy.findByRole('button', { name: /create/i }).click(); + cy.findByRole('button', {name: /create/i}).click(); cy.get('.expand-collapse-canvas').should('be.visible'); - /* eslint-disable */ - cy.wait(2000); - /* eslint-disable */ + cy.get('.expand-collapse-canvas').scrollIntoView({duration: 2000}); cy.get('.expand-collapse-canvas').then($canvas => { const canvasWidth = $canvas.width(); @@ -505,200 +616,225 @@ describe('Diagrams Page', () => { cy.wrap($canvas) .scrollIntoView() - .click(canvasCenterX - 5, canvasCenterY - 10) + .click(canvasCenterX - 5, canvasCenterY - 10); }); - cy.findByRole('button', { name: /action/i }).click(); + cy.findByRole('button', {name: /action/i}).click(); - cy.findByRole('menuitem', { name: /resources/i }).click(); + cy.findByRole('menuitem', {name: /resources/i}).click(); - cy.findByRole('menuitem', { name: /focus/i }).click({force: true}); + cy.findByRole('menuitem', {name: /focus/i}).click({force: true}); - /* eslint-disable */ - cy.wait(2000); - /* eslint-disable */ + cy.get('.expand-collapse-canvas').scrollIntoView({duration: 2000}); cy.get('.expand-collapse-canvas').matchImage({maxDiffThreshold: 0.1}); }); - it('exports diagram to csv and json', () => { - window.perspectiveMetadata = {version: '2.1.0'}; + it('deletes selected resource', () => { + window.perspectiveMetadata = createSelfManagedPerspectiveMetadata(); const {worker, graphql} = window.msw; worker.use( - graphql.query('SearchResources', createSearchResourceHandler([ - eksNodeGroup.getResourceGraph.nodes[0] - ])), - graphql.query('GetResourceGraph', (req, res, ctx) => { - const {pagination: {start}} = req.variables; + graphql.query( + 'SearchResources', + createSearchResourceHandler([ + eksCluster.getResourceGraph.nodes[0], + ]) + ), + graphql.query('GetResourceGraph', ({variables}) => { + const { + ids, + pagination: {start}, + } = variables; + + let resourceGraph = null; + + const eksClusterArn = eksCluster.getResourceGraph.nodes[0].id; + const eksNodeGroupArn = + eksNodeGroup.getResourceGraph.nodes[0].id; + + if (ids[0] === eksClusterArn) { + resourceGraph = eksCluster; + } else if (ids[0] === eksNodeGroupArn) { + resourceGraph = eksNodeGroup; + } - const {getResourceGraph: {nodes, edges}} = eksNodeGroup; + const { + getResourceGraph: {nodes, edges}, + } = resourceGraph; if (nodes.length < start && edges.length < start) { - return res(ctx.data({ - getResourceGraph: { - nodes: [], edges: [] - } - })); + return HttpResponse.json({ + data: { + getResourceGraph: { + nodes: [], + edges: [], + }, + }, + }); } - return res(ctx.data(eksNodeGroup)); + return HttpResponse.json({data: resourceGraph}); }) ); cy.mount(); - cy.findByRole('link', { name: /Manage$/, hidden: true }).click(); - - cy.findByRole('button', { name: /create/i }).click(); + cy.findByRole('link', {name: /Resources$/, hidden: true}).click(); - cy.findByRole('heading', {level: 2, name: /Create Diagram/i}); - - cy.findByRole('combobox', { name: /name/i }).type('CsvExportTestDiagram'); + cy.findByRole('heading', {level: 2, name: /\(1\)/i}); - cy.findByRole('button', { name: /create/i }).click(); + cy.findByRole('checkbox', { + name: /test-cluster is not selected/i, + }).click(); - cy.findByRole('heading', {level: 2, name: /CsvExportTestDiagram/}); + cy.findByRole('button', {name: /add to diagram/i}).click(); - cy.findByRole('button', { name: /add resource find a resource/i }).click() + cy.findByRole('heading', {level: 2, name: /Create Diagram/i}); - cy.findByRole('combobox').type('lambda'); + cy.findByRole('combobox', {name: /name/i}).type( + 'RemoveMenuTestDiagram' + ); - cy.findByRole('combobox').type('{downArrow}'); + cy.findByRole('button', {name: /create/i}).click(); - cy.findByRole('combobox').type('{enter}'); + cy.get('.expand-collapse-canvas').should('be.visible'); - /* eslint-disable */ - cy.wait(2000); - /* eslint-disable */ + cy.get('.expand-collapse-canvas').scrollIntoView({duration: 2000}); - cy.findByRole('button', { name: /action/i }).click(); + cy.get('.expand-collapse-canvas').then($canvas => { + const canvasWidth = $canvas.width(); + const canvasHeight = $canvas.height(); - cy.findByRole('menuitem', { name: /save/i }).click(); + const canvasCenterX = canvasWidth / 2; + const canvasCenterY = canvasHeight / 2; - cy.findByRole('button', { name: /action/i }).click(); + cy.wrap($canvas) + .scrollIntoView() + .click(canvasCenterX - 5, canvasCenterY - 10); + }); - cy.findByRole('menuitem', { name: /diagram/i }).click(); + cy.findByRole('button', {name: /action/i}).click(); - cy.findByRole('menuitem', { name: /export/i }).click({force: true}); + cy.findByRole('menuitem', {name: /resources/i}).click(); - cy.findByRole('radio', { name: /json/i }).click(); + cy.findByRole('menuitem', {name: /remove/i}).click({force: true}); - cy.findByRole('button', { name: /export/i }).click(); + cy.get('.expand-collapse-canvas').scrollIntoView({duration: 2000}); - cy.findByRole('radio', { name: /csv/i }).click(); + cy.get('.expand-collapse-canvas').matchImage({maxDiffThreshold: 0.1}); + }); - cy.findByRole('button', { name: /export/i }).click(); + it('should allow resources to be added to an existing diagram', () => { + window.perspectiveMetadata = createSelfManagedPerspectiveMetadata(); - cy.readFile('cypress/downloads/CsvExportTestDiagram.json') - .then(({nodes, edges}) => { - // we can see see floating point issues with the the graphing library position values on the - // canvas (e.g., a value that on most runs is 2 can come back as 1.9999999997) that makes this - // test unreliable so we round the number to eliminate this variance - const roundedNodes = nodes.map(({position, ...props}) => { - return { - position: { - x: parseFloat(position.x.toFixed(4)), - y: parseFloat(position.y.toFixed(4)) - }, - ...props - }; - }); + const diagramName = 'ExistingTestDiagram'; - return { - nodes: roundedNodes, - edges - } - }) - .should('deep.equal', expectedJsonExport); + cy.mount().then(() => { + const {worker, graphql} = window.msw; - cy.readFile('cypress/downloads/CsvExportTestDiagram.csv') - .then(actual => { - return cy.readFile('src/tests/cypress/components/Diagrams/Draw/DrawDiagram/__file_snapshots__/CsvExportTestDiagram.csv') - .should('deep.equal', actual); - }); - }); + worker.use( + graphql.query( + 'SearchResources', + createSearchResourceHandler([ + eksCluster.getResourceGraph.nodes[0], + defaultResourceGraph.getResourceGraph.nodes[0], + ]) + ), + graphql.query('GetResourceGraph', ({variables}) => { + const { + ids, + pagination: {start}, + } = variables; + + let resourceGraph = null; + + const eksClusterArn = + eksCluster.getResourceGraph.nodes[0].id; + const lambdaArn = + defaultResourceGraph.getResourceGraph.nodes[0].id; + + if (ids[0] === eksClusterArn) { + resourceGraph = eksCluster; + } else if (ids[0] === lambdaArn) { + resourceGraph = defaultResourceGraph; + } - it('deletes selected resource', () => { - window.perspectiveMetadata = {version: '2.1.0'}; + const { + getResourceGraph: {nodes, edges}, + } = resourceGraph; + + if (nodes.length < start && edges.length < start) { + return HttpResponse.json({ + data: { + getResourceGraph: { + nodes: [], + edges: [], + }, + }, + }); + } + return HttpResponse.json({data: resourceGraph}); + }) + ); - const {worker, graphql} = window.msw; + cy.findByRole('link', {name: /Resources$/, hidden: true}).click(); - worker.use( - graphql.query('SearchResources', createSearchResourceHandler([ - eksCluster.getResourceGraph.nodes[0] - ])), - graphql.query('GetResourceGraph', (req, res, ctx) => { - const {ids, pagination: {start}} = req.variables; + cy.findByPlaceholderText(/Find a resource type/i).type('lambda'); - let resourceGraph = null; + cy.findByRole('checkbox', { + name: /aws::lambda::function is not selected/i, + }).click(); - const eksClusterArn = eksCluster.getResourceGraph.nodes[0].id; - const eksNodeGroupArn = eksNodeGroup.getResourceGraph.nodes[0].id; + cy.findByRole('checkbox', { + name: /testLambda is not selected/i, + }).click(); - if(ids[0] === eksClusterArn) { - resourceGraph = eksCluster; - } else if(ids[0] === eksNodeGroupArn) { - resourceGraph = eksNodeGroup; - } + cy.findByRole('button', {name: /Add to diagram/i}).click(); - const {getResourceGraph: {nodes, edges}} = resourceGraph; + cy.findByRole('combobox', {name: /name/i}).type(diagramName); - if (nodes.length < start && edges.length < start) { - return res(ctx.data({ - getResourceGraph: { - nodes: [], edges: [] - } - })); - } - return res(ctx.data(resourceGraph)); - }) - ); + cy.findByRole('button', {name: /create/i}).click(); - cy.mount(); + cy.findByText( + `The private diagram ${diagramName} was saved successfully` + ); - cy.findByRole('link', { name: /Resources$/, hidden: true }).click(); + cy.findByRole('link', {name: /Manage$/, hidden: true}).click(); - cy.findByRole('heading', {level: 2, name: /\(1\)/i}); + cy.findByPlaceholderText('Find a diagram').click(); - cy.findByRole('checkbox', { name: /test-cluster is not selected/i }).click(); + cy.findByRole('link', {name: diagramName}).click(); - cy.findByRole('button', { name: /add to diagram/i }).click(); + cy.findByRole('button', {name: /Resource search bar/i}).click(); - cy.findByRole('heading', {level: 2, name: /Create Diagram/i}); + cy.findByRole('combobox').type('EKS'); - cy.findByRole('combobox', { name: /name/i }).type('RemoveMenuTestDiagram'); + cy.findAllByRole('option', 'AWS_EKS_Cluster'); - cy.findByRole('button', { name: /create/i }).click(); + cy.findByRole('combobox').type('{downArrow}'); - cy.get('.expand-collapse-canvas').should('be.visible'); + cy.findByRole('combobox').type('{downArrow}'); - /* eslint-disable */ - cy.wait(2000); - /* eslint-disable */ + cy.findByRole('combobox').type('{enter}'); - cy.get('.expand-collapse-canvas').then($canvas => { - const canvasWidth = $canvas.width(); - const canvasHeight = $canvas.height(); + cy.findByRole('button', {name: 'Search'}).click(); - const canvasCenterX = canvasWidth / 2; - const canvasCenterY = canvasHeight / 2; + cy.get('.expand-collapse-canvas').scrollIntoView({duration: 2000}); - cy.wrap($canvas) - .scrollIntoView() - .click(canvasCenterX - 5, canvasCenterY - 10) - }); + cy.findByRole('button', {name: /action/i}).click(); - cy.findByRole('button', { name: /action/i }).click(); + cy.findByRole('menuitem', {name: /diagram/i}).click(); - cy.findByRole('menuitem', { name: /resources/i }).click(); + cy.findByRole('menuitem', {name: /fit/i}).click({force: true}); - cy.findByRole('menuitem', { name: /remove/i }).click({force: true}); + cy.get('.expand-collapse-canvas').scrollIntoView({duration: 2000}); - /* eslint-disable */ - cy.wait(2000); - /* eslint-disable */ + cy.findByText('AWS_EKS_Cluster').should('not.exist'); - cy.get('.expand-collapse-canvas').matchImage({maxDiffThreshold: 0.1}); + cy.get('.expand-collapse-canvas').matchImage({ + maxDiffThreshold: 0.1, + }); + }); }); -}); \ No newline at end of file +}); diff --git a/source/frontend/src/tests/cypress/components/Diagrams/Draw/DrawDiagram/__file_snapshots__/CsvExportTestDiagram.json b/source/frontend/src/tests/cypress/components/Diagrams/Draw/DrawDiagram/__file_snapshots__/CsvExportTestDiagram.json deleted file mode 100644 index 871e12ca..00000000 --- a/source/frontend/src/tests/cypress/components/Diagrams/Draw/DrawDiagram/__file_snapshots__/CsvExportTestDiagram.json +++ /dev/null @@ -1,864 +0,0 @@ -{ - "nodes": [ - { - "data": { - "id": "xxxxxxxxxxxx", - "title": "xxxxxxxxxxxx", - "label": "xxxxxxxxxxxx", - "plainLabel": "xxxxxxxxxxxx", - "type": "account", - "borderStyle": "solid", - "color": "#fff", - "borderColour": "#AAB7B8", - "opacity": "0", - "image": "/icons/AWS-Cloud-alt_light-bg.svg", - "clickedId": "xxxxxxxxxxxx", - "cost": 0, - "accountColour": "rgba(15, 153, 10, 0.5)", - "regionColour": "rgba(9, 86, 99, 0.5)", - "aZColour": "#00A1C9", - "subnetColour": "#248814" - }, - "position": { - "x": -21.5, - "y": 16.75 - }, - "group": "nodes", - "removed": false, - "selected": false, - "selectable": true, - "locked": false, - "grabbable": true, - "pannable": false, - "classes": "account removeAll _gridParentPadding" - }, - { - "data": { - "id": "xxxxxxxxxxxx-eu-west-1", - "parent": "xxxxxxxxxxxx", - "title": "eu-west-1", - "label": "eu-west-1", - "plainLabel": "eu-west-1", - "type": "region", - "borderStyle": "solid", - "color": "#fff", - "borderColour": "#AAB7B8", - "opacity": "0", - "image": "/icons/Region_light-bg.svg", - "clickedId": "xxxxxxxxxxxx-eu-west-1", - "cost": 0, - "accountColour": "rgba(175, 17, 83, 0.5)", - "regionColour": "rgba(79, 16, 163, 0.5)", - "aZColour": "#00A1C9", - "subnetColour": "#248814" - }, - "position": { - "x": -98, - "y": 16.75 - }, - "group": "nodes", - "removed": false, - "selected": false, - "selectable": true, - "locked": false, - "grabbable": true, - "pannable": false, - "classes": "region removeAll _gridParentPadding" - }, - { - "data": { - "id": "xxxxxxxxxxxx-global", - "parent": "xxxxxxxxxxxx", - "title": "global", - "label": "global", - "plainLabel": "global", - "type": "region", - "borderStyle": "solid", - "color": "#fff", - "borderColour": "#AAB7B8", - "opacity": "0", - "image": "/icons/Region_light-bg.svg", - "clickedId": "xxxxxxxxxxxx-global", - "cost": 0, - "accountColour": "rgba(175, 17, 83, 0.5)", - "regionColour": "rgba(175, 17, 83, 0.5)", - "aZColour": "#00A1C9", - "subnetColour": "#248814" - }, - "position": { - "x": 209.5, - "y": -112.75 - }, - "group": "nodes", - "removed": false, - "selected": false, - "selectable": true, - "locked": false, - "grabbable": true, - "pannable": false, - "classes": "region removeAll _gridParentPadding" - }, - { - "data": { - "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111-eu-west-1a,eu-west-1b,eu-west-1c", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111", - "title": "eu-west-1a,eu-west-1b,eu-west-1c", - "label": "eu-west-1a,eu-west-1b,eu-west-1c", - "plainLabel": "eu-west-1a,eu-west-1b,eu-west-1c", - "type": "availabilityZone", - "borderStyle": "solid", - "color": "#fff", - "borderColour": "#AAB7B8", - "opacity": "0", - "image": "/icons/availabilityZone.svg", - "clickedId": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111-eu-west-1a,eu-west-1b,eu-west-1c", - "cost": 0, - "accountColour": "rgba(175, 17, 83, 0.5)", - "regionColour": "rgba(9, 86, 99, 0.5)", - "aZColour": "#00A1C9", - "subnetColour": "#248814" - }, - "position": { - "x": -153, - "y": 38.25 - }, - "group": "nodes", - "removed": false, - "selected": false, - "selectable": true, - "locked": false, - "grabbable": true, - "pannable": false, - "classes": "availabilityZone removeAll _gridParentPadding" - }, - { - "data": { - "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111", - "parent": "xxxxxxxxxxxx-eu-west-1", - "title": "test-cluster-vpc", - "label": "test-cluster-vpc", - "plainLabel": "test-cluster-vpc", - "type": "vpc", - "borderStyle": "solid", - "color": "#fff", - "borderColour": "#AAB7B8", - "opacity": "0", - "image": "/icons/VPC-collapsed.svg", - "clickedId": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111", - "cost": 0, - "accountColour": "rgba(175, 17, 83, 0.5)", - "regionColour": "rgba(9, 86, 99, 0.5)", - "aZColour": "#00A1C9", - "subnetColour": "#248814", - "properties": { - "accountId": "xxxxxxxxxxxx", - "arn": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:vpc/vpc-11111111111111111", - "availabilityZone": "Multiple Availability Zones", - "awsRegion": "eu-west-1", - "configuration": "\"{}\"", - "configurationItemCaptureTime": "2023-05-30T22:16:37.179Z", - "configurationItemStatus": "OK", - "configurationStateId": null, - "resourceCreationTime": null, - "resourceId": "vpc-11111111111111111", - "resourceName": null, - "resourceType": "AWS::EC2::VPC", - "supplementaryConfiguration": null, - "tags": "[]", - "version": "1.3", - "vpcId": null, - "subnetId": null, - "subnetIds": null, - "resourceValue": null, - "state": null, - "private": null, - "loggedInURL": "https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#vpcs:sort=VpcId", - "loginURL": "https://xxxxxxxxxxxx.signin.aws.amazon.com/console/vpc?region=eu-west-1#vpcs:sort=VpcId", - "title": "test-cluster-vpc", - "dBInstanceStatus": null, - "statement": null, - "instanceType": null - }, - "resource": { - "id": "vpc-11111111111111111", - "name": null, - "value": null, - "type": "AWS::EC2::VPC", - "tags": "[]", - "arn": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:vpc/vpc-11111111111111111", - "region": "eu-west-1", - "state": null, - "loggedInURL": "https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#vpcs:sort=VpcId", - "loginURL": "https://xxxxxxxxxxxx.signin.aws.amazon.com/console/vpc?region=eu-west-1#vpcs:sort=VpcId", - "accountId": "xxxxxxxxxxxx" - } - }, - "position": { - "x": -153, - "y": 38.25 - }, - "group": "nodes", - "removed": false, - "selected": false, - "selectable": true, - "locked": false, - "grabbable": true, - "pannable": false, - "classes": "vpc removeAll _gridParentPadding" - }, - { - "data": { - "id": "Nodegroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111-eu-west-1a,eu-west-1b,eu-west-1c", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111-eu-west-1a,eu-west-1b,eu-west-1c", - "title": "Nodegroup", - "label": "Nodegroup", - "plainLabel": "Nodegroup", - "type": "type", - "borderStyle": "solid", - "color": "#fff", - "borderColour": "#AAB7B8", - "opacity": "0", - "clickedId": "Nodegroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111-eu-west-1a,eu-west-1b,eu-west-1c", - "cost": 0, - "accountColour": "rgba(175, 17, 83, 0.5)", - "regionColour": "rgba(9, 86, 99, 0.5)", - "aZColour": "#00A1C9", - "subnetColour": "#248814" - }, - "position": { - "x": -209.5, - "y": -26.75 - }, - "group": "nodes", - "removed": false, - "selected": false, - "selectable": true, - "locked": false, - "grabbable": true, - "pannable": false, - "classes": "type removeAll _gridParentPadding" - }, - { - "data": { - "id": "Role-xxxxxxxxxxxx-global", - "parent": "xxxxxxxxxxxx-global", - "title": "Role", - "label": "Role", - "plainLabel": "Role", - "type": "type", - "borderStyle": "solid", - "color": "#fff", - "borderColour": "#AAB7B8", - "opacity": "0", - "clickedId": "Role-xxxxxxxxxxxx-global", - "cost": 0, - "accountColour": "rgba(175, 17, 83, 0.5)", - "regionColour": "rgba(9, 86, 99, 0.5)", - "aZColour": "#00A1C9", - "subnetColour": "#248814" - }, - "position": { - "x": 209.5, - "y": -112.75 - }, - "group": "nodes", - "removed": false, - "selected": false, - "selectable": true, - "locked": false, - "grabbable": true, - "pannable": false, - "classes": "type removeAll _gridParentPadding" - }, - { - "data": { - "id": "LaunchTemplate-xxxxxxxxxxxx-eu-west-1", - "parent": "xxxxxxxxxxxx-eu-west-1", - "title": "LaunchTemplate", - "label": "LaunchTemplate", - "plainLabel": "LaunchTemplate", - "type": "type", - "borderStyle": "solid", - "color": "#fff", - "borderColour": "#AAB7B8", - "opacity": "0", - "clickedId": "LaunchTemplate-xxxxxxxxxxxx-eu-west-1", - "cost": 0, - "accountColour": "rgba(175, 17, 83, 0.5)", - "regionColour": "rgba(9, 86, 99, 0.5)", - "aZColour": "#00A1C9", - "subnetColour": "#248814" - }, - "position": { - "x": 56.5, - "y": -112.75 - }, - "group": "nodes", - "removed": false, - "selected": false, - "selectable": true, - "locked": false, - "grabbable": true, - "pannable": false, - "classes": "type removeAll _gridParentPadding" - }, - { - "data": { - "id": "AutoScalingGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111-eu-west-1a,eu-west-1b,eu-west-1c", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111-eu-west-1a,eu-west-1b,eu-west-1c", - "title": "AutoScalingGroup", - "label": "AutoScalingGroup", - "plainLabel": "AutoScalingGroup", - "type": "type", - "borderStyle": "solid", - "color": "#fff", - "borderColour": "#AAB7B8", - "opacity": "0", - "clickedId": "AutoScalingGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111-eu-west-1a,eu-west-1b,eu-west-1c", - "cost": 0, - "accountColour": "rgba(175, 17, 83, 0.5)", - "regionColour": "rgba(9, 86, 99, 0.5)", - "aZColour": "#00A1C9", - "subnetColour": "#248814" - }, - "position": { - "x": -96.5, - "y": -26.75 - }, - "group": "nodes", - "removed": false, - "selected": false, - "selectable": true, - "locked": false, - "grabbable": true, - "pannable": false, - "classes": "type removeAll _gridParentPadding" - }, - { - "data": { - "id": "Cluster-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111-eu-west-1a,eu-west-1b,eu-west-1c", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111-eu-west-1a,eu-west-1b,eu-west-1c", - "title": "Cluster", - "label": "Cluster", - "plainLabel": "Cluster", - "type": "type", - "borderStyle": "solid", - "color": "#fff", - "borderColour": "#AAB7B8", - "opacity": "0", - "clickedId": "Cluster-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111-eu-west-1a,eu-west-1b,eu-west-1c", - "cost": 0, - "accountColour": "rgba(175, 17, 83, 0.5)", - "regionColour": "rgba(9, 86, 99, 0.5)", - "aZColour": "#00A1C9", - "subnetColour": "#248814" - }, - "position": { - "x": -209.5, - "y": 103.25 - }, - "group": "nodes", - "removed": false, - "selected": false, - "selectable": true, - "locked": false, - "grabbable": true, - "pannable": false, - "classes": "type removeAll _gridParentPadding" - }, - { - "data": { - "arn": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:nodegroup/test-cluster/ng-11111111/5ababb6a-75d5-8af7-0351-02c55b0db9f3", - "resourceId": [ - "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:nodegroup/test-cluster/ng-11111111/5ababb6a-75d5-8af7-0351-02c55b0db9f3", - "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:nodegroup/test-cluster/ng-11111111/5ababb6a-75d5-8af7-0351-02c55b0db9f3" - ], - "parent": "Nodegroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111-eu-west-1a,eu-west-1b,eu-west-1c", - "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:nodegroup/test-cluster/ng-11111111/5ababb6a-75d5-8af7-0351-02c55b0db9f3", - "title": "ng-11111111", - "label": "ng-11111111", - "shape": "image", - "type": "resource", - "accountColour": "rgba(15, 153, 10, 0.5)", - "regionColour": "rgba(79, 16, 163, 0.5)", - "color": "#fff", - "borderStyle": "solid", - "borderColour": "#545B64", - "borderOpacity": 0.25, - "borderSize": 1, - "opacity": "0", - "clickedId": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:nodegroup/test-cluster/ng-11111111/5ababb6a-75d5-8af7-0351-02c55b0db9f3", - "image": "/icons/Arch_Amazon-EKS-Distro_64.svg", - "cost": 0, - "private": null, - "resource": { - "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:nodegroup/test-cluster/ng-11111111/5ababb6a-75d5-8af7-0351-02c55b0db9f3", - "name": "ng-11111111", - "value": null, - "type": "AWS::EKS::Nodegroup", - "tags": "[]", - "arn": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:nodegroup/test-cluster/ng-11111111/5ababb6a-75d5-8af7-0351-02c55b0db9f3", - "region": "eu-west-1", - "state": null, - "loggedInURL": null, - "loginURL": null, - "accountId": "xxxxxxxxxxxx" - }, - "highlight": true, - "existing": false, - "properties": { - "accountId": "xxxxxxxxxxxx", - "arn": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:nodegroup/test-cluster/ng-11111111/5ababb6a-75d5-8af7-0351-02c55b0db9f3", - "availabilityZone": "eu-west-1a,eu-west-1b,eu-west-1c", - "awsRegion": "eu-west-1", - "configuration": "\"{}\"", - "configurationItemCaptureTime": null, - "configurationItemStatus": "ResourceDiscovered", - "configurationStateId": null, - "resourceCreationTime": null, - "resourceId": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:nodegroup/test-cluster/ng-11111111/5ababb6a-75d5-8af7-0351-02c55b0db9f3", - "resourceName": "ng-11111111", - "resourceType": "AWS::EKS::Nodegroup", - "supplementaryConfiguration": null, - "tags": "[]", - "version": null, - "vpcId": "vpc-11111111111111111", - "subnetId": null, - "subnetIds": null, - "resourceValue": null, - "state": null, - "private": null, - "loggedInURL": null, - "loginURL": null, - "title": "ng-11111111", - "dBInstanceStatus": null, - "statement": null, - "instanceType": null - }, - "selected": true - }, - "position": { - "x": -209.5, - "y": -26.75 - }, - "group": "nodes", - "removed": false, - "selected": false, - "selectable": true, - "locked": false, - "grabbable": true, - "pannable": false, - "classes": "resource image selectable hoverover" - }, - { - "data": { - "arn": "arn:aws:iam::xxxxxxxxxxxx:role/test-cluster-NodeInstanceRole", - "resourceId": [ - "BBBBBBBBBBBBBB", - "arn:aws:iam::xxxxxxxxxxxx:role/test-cluster-NodeInstanceRole" - ], - "parent": "Role-xxxxxxxxxxxx-global", - "id": "arn:aws:iam::xxxxxxxxxxxx:role/test-cluster-NodeInstanceRole", - "title": "test-cluster-NodeInstanceRole", - "label": "test-cluster...", - "shape": "image", - "type": "resource", - "accountColour": "rgba(15, 153, 10, 0.5)", - "regionColour": "rgba(175, 17, 83, 0.5)", - "color": "#fff", - "borderStyle": "solid", - "borderColour": "#545B64", - "borderOpacity": 0.25, - "borderSize": 1, - "opacity": "0", - "clickedId": "arn:aws:iam::xxxxxxxxxxxx:role/test-cluster-NodeInstanceRole", - "image": "/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg", - "cost": 0, - "private": null, - "resource": { - "id": "BBBBBBBBBBBBBB", - "name": "test-cluster-NodeInstanceRole", - "value": null, - "type": "AWS::IAM::Role", - "tags": "[]", - "arn": "arn:aws:iam::xxxxxxxxxxxx:role/test-cluster-NodeInstanceRole", - "region": "global", - "state": null, - "loggedInURL": "https://console.aws.amazon.com/iam/home?#/roles", - "loginURL": "https://xxxxxxxxxxxx.signin.aws.amazon.com/console/iam?home?#/roles", - "accountId": "xxxxxxxxxxxx" - }, - "highlight": true, - "existing": false, - "properties": { - "accountId": "xxxxxxxxxxxx", - "arn": "arn:aws:iam::xxxxxxxxxxxx:role/test-cluster-NodeInstanceRole", - "availabilityZone": "Not Applicable", - "awsRegion": "global", - "configuration": "\"{}\"", - "configurationItemCaptureTime": "2022-02-14T13:50:59.294Z", - "configurationItemStatus": "ResourceDiscovered", - "configurationStateId": null, - "resourceCreationTime": "2020-10-30T00:07:24.000Z", - "resourceId": "BBBBBBBBBBBBBB", - "resourceName": "test-cluster-NodeInstanceRole", - "resourceType": "AWS::IAM::Role", - "supplementaryConfiguration": null, - "tags": "[]", - "version": "1.3", - "vpcId": null, - "subnetId": null, - "subnetIds": null, - "resourceValue": null, - "state": null, - "private": null, - "loggedInURL": "https://console.aws.amazon.com/iam/home?#/roles", - "loginURL": "https://xxxxxxxxxxxx.signin.aws.amazon.com/console/iam?home?#/roles", - "title": "test-cluster-NodeInstanceRole", - "dBInstanceStatus": null, - "statement": null, - "instanceType": null - } - }, - "position": { - "x": 209.5, - "y": -112.75 - }, - "group": "nodes", - "removed": false, - "selected": false, - "selectable": true, - "locked": false, - "grabbable": true, - "pannable": false, - "classes": "resource image selectable hoverover" - }, - { - "data": { - "arn": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:launch-template/lt-11111111111111111", - "resourceId": [ - "lt-11111111111111111", - "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:launch-template/lt-11111111111111111" - ], - "parent": "LaunchTemplate-xxxxxxxxxxxx-eu-west-1", - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:launch-template/lt-11111111111111111", - "title": "test-cluster--nodegroup-ng-11111111", - "label": "test-cluster...", - "shape": "image", - "type": "resource", - "accountColour": "rgba(15, 153, 10, 0.5)", - "regionColour": "rgba(79, 16, 163, 0.5)", - "color": "#fff", - "borderStyle": "solid", - "borderColour": "#545B64", - "borderOpacity": 0.25, - "borderSize": 1, - "opacity": "0", - "clickedId": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:launch-template/lt-11111111111111111", - "image": "/icons/Res_AWS-EC2_Launch_Template_48_Light.svg", - "cost": 0, - "private": null, - "resource": { - "id": "lt-11111111111111111", - "name": "test-cluster--nodegroup-ng-11111111", - "value": null, - "type": "AWS::EC2::LaunchTemplate", - "tags": "[]", - "arn": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:launch-template/lt-11111111111111111", - "region": "eu-west-1", - "state": null, - "loggedInURL": null, - "loginURL": null, - "accountId": "xxxxxxxxxxxx" - }, - "highlight": true, - "existing": false, - "properties": { - "accountId": "xxxxxxxxxxxx", - "arn": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:launch-template/lt-11111111111111111", - "availabilityZone": "Regional", - "awsRegion": "eu-west-1", - "configuration": "\"{}\"", - "configurationItemCaptureTime": "2022-02-22T10:12:29.829Z", - "configurationItemStatus": "ResourceDiscovered", - "configurationStateId": "1645524749829", - "resourceCreationTime": null, - "resourceId": "lt-11111111111111111", - "resourceName": "test-cluster--nodegroup-ng-11111111", - "resourceType": "AWS::EC2::LaunchTemplate", - "supplementaryConfiguration": "\"{}\"", - "tags": "[]", - "version": "1.3", - "vpcId": null, - "subnetId": null, - "subnetIds": null, - "resourceValue": null, - "state": null, - "private": null, - "loggedInURL": null, - "loginURL": null, - "title": "test-cluster--nodegroup-ng-11111111", - "dBInstanceStatus": null, - "statement": null, - "instanceType": null - } - }, - "position": { - "x": 56.5, - "y": -112.75 - }, - "group": "nodes", - "removed": false, - "selected": false, - "selectable": true, - "locked": false, - "grabbable": true, - "pannable": false, - "classes": "resource image selectable hoverover" - }, - { - "data": { - "arn": "arn:aws:autoscaling:eu-west-1:xxxxxxxxxxxx:autoScalingGroup:cc4a478a-ce27-43ad-b468-3b5f3a4013e6:autoScalingGroupName/eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3", - "resourceId": [ - "arn:aws:autoscaling:eu-west-1:xxxxxxxxxxxx:autoScalingGroup:cc4a478a-ce27-43ad-b468-3b5f3a4013e6:autoScalingGroupName/eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3", - "arn:aws:autoscaling:eu-west-1:xxxxxxxxxxxx:autoScalingGroup:cc4a478a-ce27-43ad-b468-3b5f3a4013e6:autoScalingGroupName/eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3" - ], - "parent": "AutoScalingGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111-eu-west-1a,eu-west-1b,eu-west-1c", - "id": "arn:aws:autoscaling:eu-west-1:xxxxxxxxxxxx:autoScalingGroup:cc4a478a-ce27-43ad-b468-3b5f3a4013e6:autoScalingGroupName/eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3", - "title": "eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3", - "label": "eks-5ababb6a...", - "shape": "image", - "type": "resource", - "accountColour": "rgba(15, 153, 10, 0.5)", - "regionColour": "rgba(79, 16, 163, 0.5)", - "color": "#fff", - "borderStyle": "solid", - "borderColour": "#545B64", - "borderOpacity": 0.25, - "borderSize": 1, - "opacity": "0", - "clickedId": "arn:aws:autoscaling:eu-west-1:xxxxxxxxxxxx:autoScalingGroup:cc4a478a-ce27-43ad-b468-3b5f3a4013e6:autoScalingGroupName/eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3", - "image": "/icons/Amazon-EC2-Auto-Scaling.svg", - "cost": 0, - "private": null, - "resource": { - "id": "arn:aws:autoscaling:eu-west-1:xxxxxxxxxxxx:autoScalingGroup:cc4a478a-ce27-43ad-b468-3b5f3a4013e6:autoScalingGroupName/eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3", - "name": "eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3", - "value": null, - "type": "AWS::AutoScaling::AutoScalingGroup", - "tags": "[]", - "arn": "arn:aws:autoscaling:eu-west-1:xxxxxxxxxxxx:autoScalingGroup:cc4a478a-ce27-43ad-b468-3b5f3a4013e6:autoScalingGroupName/eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3", - "region": "eu-west-1", - "state": null, - "loggedInURL": "https://eu-west-1.console.aws.amazon.com/ec2/home/autoscaling/home?region=eu-west-1#AutoScalingGroups:id=eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3;view=details", - "loginURL": "https://xxxxxxxxxxxx.signin.aws.amazon.com/console/ec2/autoscaling/home?region=eu-west-1#AutoScalingGroups:id=eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3;view=details", - "accountId": "xxxxxxxxxxxx" - }, - "highlight": true, - "existing": false, - "properties": { - "accountId": "xxxxxxxxxxxx", - "arn": "arn:aws:autoscaling:eu-west-1:xxxxxxxxxxxx:autoScalingGroup:cc4a478a-ce27-43ad-b468-3b5f3a4013e6:autoScalingGroupName/eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3", - "availabilityZone": "eu-west-1a,eu-west-1b,eu-west-1c", - "awsRegion": "eu-west-1", - "configuration": "\"{}\"", - "configurationItemCaptureTime": "2023-01-03T23:54:04.184Z", - "configurationItemStatus": "OK", - "configurationStateId": null, - "resourceCreationTime": "2020-10-30T00:09:06.968Z", - "resourceId": "arn:aws:autoscaling:eu-west-1:xxxxxxxxxxxx:autoScalingGroup:cc4a478a-ce27-43ad-b468-3b5f3a4013e6:autoScalingGroupName/eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3", - "resourceName": "eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3", - "resourceType": "AWS::AutoScaling::AutoScalingGroup", - "supplementaryConfiguration": null, - "tags": "[]", - "version": "1.3", - "vpcId": "vpc-11111111111111111", - "subnetId": null, - "subnetIds": null, - "resourceValue": null, - "state": null, - "private": null, - "loggedInURL": "https://eu-west-1.console.aws.amazon.com/ec2/home/autoscaling/home?region=eu-west-1#AutoScalingGroups:id=eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3;view=details", - "loginURL": "https://xxxxxxxxxxxx.signin.aws.amazon.com/console/ec2/autoscaling/home?region=eu-west-1#AutoScalingGroups:id=eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3;view=details", - "title": "eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3", - "dBInstanceStatus": null, - "statement": null, - "instanceType": null - } - }, - "position": { - "x": -96.5, - "y": -26.75 - }, - "group": "nodes", - "removed": false, - "selected": false, - "selectable": true, - "locked": false, - "grabbable": true, - "pannable": false, - "classes": "resource image selectable hoverover" - }, - { - "data": { - "arn": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:cluster/test-cluster", - "resourceId": [ - "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:cluster/test-cluster", - "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:cluster/test-cluster" - ], - "parent": "Cluster-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111-eu-west-1a,eu-west-1b,eu-west-1c", - "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:cluster/test-cluster", - "title": "test-cluster", - "label": "test-cluster", - "shape": "image", - "type": "resource", - "accountColour": "rgba(15, 153, 10, 0.5)", - "regionColour": "rgba(79, 16, 163, 0.5)", - "color": "#fff", - "borderStyle": "solid", - "borderColour": "#545B64", - "borderOpacity": 0.25, - "borderSize": 1, - "opacity": "0", - "clickedId": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:cluster/test-cluster", - "image": "/icons/Amazon-Elastic-Kubernetes-Service-menu.svg", - "cost": 0, - "private": null, - "resource": { - "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:cluster/test-cluster", - "name": "test-cluster", - "value": null, - "type": "AWS::EKS::Cluster", - "tags": "[]", - "arn": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:cluster/test-cluster", - "region": "eu-west-1", - "state": null, - "loggedInURL": null, - "loginURL": null, - "accountId": "xxxxxxxxxxxx" - }, - "highlight": true, - "existing": false, - "properties": { - "accountId": "xxxxxxxxxxxx", - "arn": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:cluster/test-cluster", - "availabilityZone": "eu-west-1a,eu-west-1b,eu-west-1c", - "awsRegion": "eu-west-1", - "configuration": "\"{}\"", - "configurationItemCaptureTime": "2023-03-11T00:54:04.337Z", - "configurationItemStatus": "OK", - "configurationStateId": "1666054444349", - "resourceCreationTime": null, - "resourceId": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:cluster/test-cluster", - "resourceName": "test-cluster", - "resourceType": "AWS::EKS::Cluster", - "supplementaryConfiguration": "\"{}\"", - "tags": "[]", - "version": "1.3", - "vpcId": "vpc-11111111111111111", - "subnetId": null, - "subnetIds": null, - "resourceValue": null, - "state": null, - "private": null, - "loggedInURL": null, - "loginURL": null, - "title": "test-cluster", - "dBInstanceStatus": null, - "statement": null, - "instanceType": null - } - }, - "position": { - "x": -209.5, - "y": 103.25 - }, - "group": "nodes", - "removed": false, - "selected": false, - "selectable": true, - "locked": false, - "grabbable": true, - "pannable": false, - "classes": "resource image selectable hoverover" - } - ], - "edges": [ - { - "data": { - "id": "c6c2d776-016e-d989-5de4-4233bb148cc5", - "source": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:nodegroup/test-cluster/ng-11111111/5ababb6a-75d5-8af7-0351-02c55b0db9f3", - "target": "arn:aws:iam::xxxxxxxxxxxx:role/test-cluster-NodeInstanceRole" - }, - "position": { - "x": 0, - "y": 0 - }, - "group": "edges", - "removed": false, - "selected": false, - "selectable": true, - "locked": false, - "grabbable": true, - "pannable": true, - "classes": "" - }, - { - "data": { - "id": "26c2d776-016e-965a-74db-03e8b99f2dd7", - "source": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:nodegroup/test-cluster/ng-11111111/5ababb6a-75d5-8af7-0351-02c55b0db9f3", - "target": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:launch-template/lt-11111111111111111" - }, - "position": { - "x": 0, - "y": 0 - }, - "group": "edges", - "removed": false, - "selected": false, - "selectable": true, - "locked": false, - "grabbable": true, - "pannable": true, - "classes": "" - }, - { - "data": { - "id": "04c2d776-016e-6eaf-6e94-28d3c6ec465f", - "source": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:nodegroup/test-cluster/ng-11111111/5ababb6a-75d5-8af7-0351-02c55b0db9f3", - "target": "arn:aws:autoscaling:eu-west-1:xxxxxxxxxxxx:autoScalingGroup:cc4a478a-ce27-43ad-b468-3b5f3a4013e6:autoScalingGroupName/eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3" - }, - "position": { - "x": 0, - "y": 0 - }, - "group": "edges", - "removed": false, - "selected": false, - "selectable": true, - "locked": false, - "grabbable": true, - "pannable": true, - "classes": "" - }, - { - "data": { - "id": "e0c2d776-016d-e0ac-9ba1-767fc246ec8e", - "source": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:nodegroup/test-cluster/ng-11111111/5ababb6a-75d5-8af7-0351-02c55b0db9f3", - "target": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:cluster/test-cluster" - }, - "position": { - "x": 0, - "y": 0 - }, - "group": "edges", - "removed": false, - "selected": false, - "selectable": true, - "locked": false, - "grabbable": true, - "pannable": true, - "classes": "" - } - ] -} \ No newline at end of file diff --git a/source/frontend/src/tests/cypress/components/Explore/Resources/ResourcesPage.cy.js b/source/frontend/src/tests/cypress/components/Explore/Resources/ResourcesPage.cy.js index e54f0f33..3b112ab3 100644 --- a/source/frontend/src/tests/cypress/components/Explore/Resources/ResourcesPage.cy.js +++ b/source/frontend/src/tests/cypress/components/Explore/Resources/ResourcesPage.cy.js @@ -5,27 +5,28 @@ import React from 'react'; import App from '../../../../../App'; describe('Resources Page', () => { - it('should add resources to diagram page', () => { window.perspectiveMetadata = {version: '2.1.0'}; cy.mount(); - cy.findByRole('link', { name: /Resources$/, hidden: true }).click(); + cy.findByRole('link', {name: /Resources$/, hidden: true}).click(); cy.findByRole('heading', {level: 2, name: /\(29\)/i}); cy.findByPlaceholderText('Find a resource').type('lambda'); - cy.findByRole('checkbox', { name: /arn:aws:yyyyyyyyyyyy:eu-west-1:AWS::Lambda::Function:0Title is not selected/i }).click(); + cy.findByRole('checkbox', { + name: /arn:aws:yyyyyyyyyyyy:eu-west-1:AWS::Lambda::Function:0Title is not selected/i, + }).click(); - cy.findByRole('button', { name: /add to diagram/i }).click(); + cy.findByRole('button', {name: /add to diagram/i}).click(); cy.findByRole('heading', {level: 2, name: /Create Diagram/i}); - cy.findByRole('combobox', { name: /name/i }).type('TestDiagram'); + cy.findByRole('combobox', {name: /name/i}).type('TestDiagram'); - cy.findByRole('button', { name: /create/i }).click(); + cy.findByRole('button', {name: /create/i}).click(); cy.get('.expand-collapse-canvas').should('be.visible'); @@ -34,5 +35,5 @@ describe('Resources Page', () => { /* eslint-disable */ cy.get('.expand-collapse-canvas').matchImage({maxDiffThreshold: 0.1}); - }) -}); \ No newline at end of file + }); +}); diff --git a/source/frontend/src/tests/mocks/MockStorageProvider.js b/source/frontend/src/tests/mocks/MockStorageProvider.js index ca08cdc2..426810ff 100644 --- a/source/frontend/src/tests/mocks/MockStorageProvider.js +++ b/source/frontend/src/tests/mocks/MockStorageProvider.js @@ -8,7 +8,8 @@ class MockStorageProvider { // get object/pre-signed url from storage async get(key, {level}) { - return `https://www.mock-s3.com/${level}/${key}` + const [slug, diagramName] = key.split('/'); + return `https://www.mock-s3.com/${slug}/${level}/${diagramName}`; } async _getObject(key) { @@ -18,27 +19,39 @@ class MockStorageProvider { async put(key, object, {metadata, level, completeCallback, errorCallback}) { try { const blobString = await object.text(); - objectStore.set(`${level}/${key}`, JSON.parse(blobString)); - completeCallback({result: 'Completed!'}) - } catch(err) { + const [slug, diagramName] = key.split('/'); + objectStore.set( + `${slug}/${level}/${diagramName}`, + JSON.parse(blobString) + ); + completeCallback({result: 'Completed!'}); + } catch (err) { + console.error(err); errorCallback(new Error('Error!')); } } async remove(key, {level}) { - objectStore.delete(`${level}/${key}`); + const [slug, diagramName] = key.split('/'); + objectStore.delete(`${slug}/${level}/${diagramName}`); } - async list(path, options) { - return Array.from(objectStore.entries()) + async list(path, {level}) { + const results = Array.from(objectStore.entries()) + .filter(([k, v]) => { + return k.includes(level); + }) .map(([key, v]) => { + const [slug, , diagramName] = key.split('/'); return { - key, - eTag: "\"2836448242231487dc857a2d5334327e\"", + key: `${slug}/${diagramName}`, + eTag: '"2836448242231487dc857a2d5334327e"', lastModified: new Date().toDateString(), - size: 404764 - } + size: 404764, + }; }); + + return {results}; } getCategory() { @@ -52,4 +65,4 @@ class MockStorageProvider { const mockStorageProvider = new MockStorageProvider(); -export default mockStorageProvider; \ No newline at end of file +export default mockStorageProvider; diff --git a/source/frontend/src/tests/mocks/browser.js b/source/frontend/src/tests/mocks/browser.js index b17dbcc0..222e43d1 100644 --- a/source/frontend/src/tests/mocks/browser.js +++ b/source/frontend/src/tests/mocks/browser.js @@ -1,9 +1,10 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import {setupWorker, graphql} from 'msw'; -import handlers from "./handlers"; +import {graphql} from 'msw'; +import handlers from './handlers'; +import {setupWorker} from 'msw/browser'; export const worker = setupWorker(...handlers); -window.msw = { worker, graphql }; \ No newline at end of file +window.msw = {worker, graphql}; diff --git a/source/frontend/src/tests/mocks/fixtures/deleteRegions/default.json b/source/frontend/src/tests/mocks/fixtures/deleteRegions/default.json index 674b6f43..27c6f659 100644 --- a/source/frontend/src/tests/mocks/fixtures/deleteRegions/default.json +++ b/source/frontend/src/tests/mocks/fixtures/deleteRegions/default.json @@ -1,15 +1,13 @@ { - "deleteRegions": - { - "accountId":"xxxxxxxxxxxx", - "name":"testAccountx", - "regions": - [ - { - "name":"us-east-2", - "lastCrawled":null - } - ], - "lastCrawled":null - } + "deleteRegions": { + "accountId": "xxxxxxxxxxxx", + "name": "testAccountx", + "regions": [ + { + "name": "us-east-2", + "lastCrawled": null + } + ], + "lastCrawled": null + } } diff --git a/source/frontend/src/tests/mocks/fixtures/getAccounts/default.json b/source/frontend/src/tests/mocks/fixtures/getAccounts/default.json index ef6c9f80..9dd8d77e 100644 --- a/source/frontend/src/tests/mocks/fixtures/getAccounts/default.json +++ b/source/frontend/src/tests/mocks/fixtures/getAccounts/default.json @@ -1,40 +1,38 @@ { -"getAccounts": - [ + "getAccounts": [ { - "accountId":"xxxxxxxxxxxx", - "name":"testAccountx", - "isIamRoleDeployed":false, - "isManagementAccount":null, - "regions": - [ + "accountId": "xxxxxxxxxxxx", + "name": "testAccountx", + "isIamRoleDeployed": false, + "isManagementAccount": null, + "regions": [ { - "name":"us-east-1", - "lastCrawled":null + "name": "us-east-1", + "lastCrawled": null } ], - "lastCrawled":null + "lastCrawled": null }, { - "accountId":"yyyyyyyyyyyy", - "name":"testAccounty", - "isIamRoleDeployed":true, - "isManagementAccount":null, - "regions": - [ + "accountId": "yyyyyyyyyyyy", + "name": "testAccounty", + "isIamRoleDeployed": true, + "isManagementAccount": null, + "regions": [ { - "name":"us-east-1", - "lastCrawled":null + "name": "us-east-1", + "lastCrawled": null }, { - "name":"us-east-2","lastCrawled":null + "name": "us-east-2", + "lastCrawled": null }, { - "name":"us-west-1", - "lastCrawled":null + "name": "us-west-1", + "lastCrawled": null } - ], - "lastCrawled":"2023-05-12T16:46:30.104Z" + ], + "lastCrawled": "2023-05-12T16:46:30.104Z" } ] } diff --git a/source/frontend/src/tests/mocks/fixtures/getCostForResource/default.json b/source/frontend/src/tests/mocks/fixtures/getCostForResource/default.json index bc375e53..c627b9f6 100644 --- a/source/frontend/src/tests/mocks/fixtures/getCostForResource/default.json +++ b/source/frontend/src/tests/mocks/fixtures/getCostForResource/default.json @@ -1,24 +1,24 @@ { - "getCostForResource":{ - "totalCost":33.81, - "costItems":[ + "getCostForResource": { + "totalCost": 33.81, + "costItems": [ { - "line_item_resource_id":"arn:aws:rds:us-east-2:xxxxxxxxxxxx:db:neptunedbinstance-xxxxxxxxxxxx", - "product_servicename":"Amazon Neptune", - "line_item_usage_start_date":null, - "line_item_usage_account_id":"xxxxxxxxxxxx", - "region":"us-east-2", - "pricing_term":"OnDemand", - "cost":31.46, - "line_item_currency_code":"USD" + "line_item_resource_id": "arn:aws:rds:us-east-2:xxxxxxxxxxxx:db:neptunedbinstance-xxxxxxxxxxxx", + "product_servicename": "Amazon Neptune", + "line_item_usage_start_date": null, + "line_item_usage_account_id": "xxxxxxxxxxxx", + "region": "us-east-2", + "pricing_term": "OnDemand", + "cost": 31.46, + "line_item_currency_code": "USD" } - ], - "queryDetails":{ - "cost":4.768E-5, - "s3Bucket":"workload-discovery-on-aw-costandusageathenaresult-xxxxxxxxxxxx", - "s3Key":"test.csv", - "dataScannedInMB":1, - "resultCount":1 - } + ], + "queryDetails": { + "cost": 4.768e-5, + "s3Bucket": "workload-discovery-on-aw-costandusageathenaresult-xxxxxxxxxxxx", + "s3Key": "test.csv", + "dataScannedInMB": 1, + "resultCount": 1 + } } -} \ No newline at end of file +} diff --git a/source/frontend/src/tests/mocks/fixtures/getCostForService/default.json b/source/frontend/src/tests/mocks/fixtures/getCostForService/default.json index 455b4b42..26f62581 100644 --- a/source/frontend/src/tests/mocks/fixtures/getCostForService/default.json +++ b/source/frontend/src/tests/mocks/fixtures/getCostForService/default.json @@ -1,25 +1,24 @@ { - "getCostForService":{ - "totalCost":72.74, - "costItems": - [ + "getCostForService": { + "totalCost": 72.74, + "costItems": [ { - "line_item_resource_id":"", - "product_servicename":"AWS CloudTrail", - "line_item_usage_start_date":null, - "line_item_usage_account_id":"xxxxxxxxxxxx", - "region":"us-west-2", - "pricing_term":"OnDemand", - "cost":72.74, - "line_item_currency_code":"USD" + "line_item_resource_id": "", + "product_servicename": "AWS CloudTrail", + "line_item_usage_start_date": null, + "line_item_usage_account_id": "xxxxxxxxxxxx", + "region": "us-west-2", + "pricing_term": "OnDemand", + "cost": 72.74, + "line_item_currency_code": "USD" } ], - "queryDetails":{ - "cost":4.768E-5, - "s3Bucket":"workload-discovery-on-aw-costandusageathenaresult-xxxxxxxxxxxx", - "s3Key":"test.csv", - "dataScannedInMB":0, - "resultCount":1 + "queryDetails": { + "cost": 4.768e-5, + "s3Bucket": "workload-discovery-on-aw-costandusageathenaresult-xxxxxxxxxxxx", + "s3Key": "test.csv", + "dataScannedInMB": 0, + "resultCount": 1 } - } -} \ No newline at end of file + } +} diff --git a/source/frontend/src/tests/mocks/fixtures/getResourceGraph/default.json b/source/frontend/src/tests/mocks/fixtures/getResourceGraph/default.json index 7418a896..ddac28fa 100644 --- a/source/frontend/src/tests/mocks/fixtures/getResourceGraph/default.json +++ b/source/frontend/src/tests/mocks/fixtures/getResourceGraph/default.json @@ -1,632 +1,632 @@ { - "getResourceGraph": { - "nodes": [ - { - "id": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", - "label": "AWS_Lambda_Function", - "md5Hash": "", - "properties": { - "accountId": "yyyyyyyyyyyy", - "arn": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", - "availabilityZone": "eu-west-1a,eu-west-1b", - "awsRegion": "eu-west-1", - "configuration": "{\"key\":\"prop\",\"key1\":\"prop1\",\"key2\":\"prop2\",\"state\":{\"value\":\"active\"}}", - "configurationItemCaptureTime": "2023-06-06T22:21:58.169Z", - "configurationItemStatus": "OK", - "configurationStateId": null, - "resourceCreationTime": null, - "resourceId": "testLambda", - "resourceName": "testLambda", - "resourceType": "AWS::Lambda::Function", - "tags": "[{\"tag\":\"lambdaTag=lambdaValue\",\"value\":\"lambdaValue\",\"key\":\"lambdaTag\"}, {\"tag\":\"lambdaTag1=lambdaValue1\",\"value\":\"lambdaValue1\",\"key\":\"lambdaTag1\"}]", - "version": "1.3", - "vpcId": "vpc-11111111111111111", - "subnetId": null, - "subnetIds": null, - "resourceValue": null, - "state": null, - "private": null, - "loggedInURL": "https://eu-west-1.console.aws.amazon.com/lambda/home?region=eu-west-1#/functions/testLambda?tab=graph", - "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/lambda?region=eu-west-1#/functions/testLambda?tab=graph", - "title": "testLambda", - "dBInstanceStatus": null, - "statement": null, - "instanceType": null - } - }, - { - "id": "arn:aws:iam::yyyyyyyyyyyy:role/testRole", - "label": "AWS_IAM_Role", - "md5Hash": "", - "properties": { - "accountId": "yyyyyyyyyyyy", - "arn": "arn:aws:iam::yyyyyyyyyyyy:role/testRole", - "availabilityZone": "Not Applicable", - "awsRegion": "global", - "configuration": "{}", - "configurationItemCaptureTime": "2023-01-23T16:15:01.277Z", - "configurationItemStatus": "OK", - "configurationStateId": null, - "resourceCreationTime": "2022-10-07T18:04:50.000Z", - "resourceId": "roleResourceId", - "resourceName": "testRole", - "resourceType": "AWS::IAM::Role", - "supplementaryConfiguration": null, - "tags": "{}", - "version": "1.3", - "vpcId": null, - "subnetId": null, - "subnetIds": null, - "resourceValue": null, - "state": null, - "private": null, - "loggedInURL": "https://console.aws.amazon.com/iam/home?#/roles", - "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/iam?home?#/roles", - "title": "testRole", - "dBInstanceStatus": null, - "statement": null, - "instanceType": null - } - }, - { - "id": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:security-group/sg-111111111111111", - "label": "AWS_EC2_SecurityGroup", - "md5Hash": "", - "properties": { - "accountId": "yyyyyyyyyyyy", - "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:security-group/sg-111111111111111", - "availabilityZone": "Not Applicable", - "awsRegion": "eu-west-1", - "configuration": "{}", - "configurationItemCaptureTime": "2023-01-23T16:14:40.129Z", - "configurationItemStatus": "OK", - "configurationStateId": null, - "resourceCreationTime": null, - "resourceId": "sg-111111111111111", - "resourceName": "lambdaSecurityGroup", - "resourceType": "AWS::EC2::SecurityGroup", - "supplementaryConfiguration": null, - "tags": "{}", - "version": "1.3", - "vpcId": "vpc-11111111111111111", - "subnetId": null, - "subnetIds": null, - "resourceValue": null, - "state": null, - "private": null, - "loggedInURL": "https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId", - "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId", - "title": "lambdaSecurityGroup", - "dBInstanceStatus": null, - "statement": null, - "instanceType": null - } - }, - { - "id": "arn:aws:rds:eu-west-1:yyyyyyyyyyyy:cluster:testdbcluster", - "label": "AWS_RDS_DBCluster", - "md5Hash": "", - "properties": { - "accountId": "yyyyyyyyyyyy", - "arn": "arn:aws:rds:eu-west-1:yyyyyyyyyyyy:cluster:testdbcluster", - "availabilityZone": "Multiple Availability Zones", - "awsRegion": "eu-west-1", - "configuration": "{}", - "configurationItemCaptureTime": "2023-05-20T01:54:04.280Z", - "configurationItemStatus": "OK", - "configurationStateId": null, - "resourceCreationTime": "2022-10-07T17:55:06.860Z", - "resourceId": "cluster-AAAAAAAAAAAAAAA", - "resourceName": "testdbcluster", - "resourceType": "AWS::RDS::DBCluster", - "supplementaryConfiguration": null, - "tags": "{}", - "version": "1.3", - "vpcId": null, - "subnetId": null, - "subnetIds": null, - "resourceValue": null, - "state": null, - "private": null, - "loggedInURL": null, - "loginURL": null, - "title": "test-db-Cluster", - "dBInstanceStatus": null, - "statement": null, - "instanceType": null - } - }, - { - "id": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:vpc/vpc-11111111111111111", - "label": "AWS_EC2_VPC", - "md5Hash": "", - "properties": { - "accountId": "yyyyyyyyyyyy", - "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:vpc/vpc-11111111111111111", - "availabilityZone": "Multiple Availability Zones", - "awsRegion": "eu-west-1", - "configuration": "{}", - "configurationItemCaptureTime": "2023-05-19T09:47:33.767Z", - "configurationItemStatus": "OK", - "configurationStateId": null, - "resourceCreationTime": null, - "resourceId": "vpc-11111111111111111", - "resourceName": null, - "resourceType": "AWS::EC2::VPC", - "supplementaryConfiguration": null, - "tags": "{}", - "version": "1.3", - "vpcId": null, - "subnetId": null, - "subnetIds": null, - "resourceValue": null, - "state": null, - "private": null, - "loggedInURL": "https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#vpcs:sort=VpcId", - "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/vpc?region=eu-west-1#vpcs:sort=VpcId", - "title": "vpc-11111111111111111", - "dBInstanceStatus": null, - "statement": null, - "instanceType": null - } - }, - { - "id": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:subnet/subnet-11111111111111111", - "label": "AWS_EC2_Subnet", - "md5Hash": "", - "properties": { - "accountId": "yyyyyyyyyyyy", - "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:subnet/subnet-11111111111111111", - "availabilityZone": "eu-west-1b", - "awsRegion": "eu-west-1", - "configuration": "{}", - "configurationItemCaptureTime": "2023-02-10T16:20:45.731Z", - "configurationItemStatus": "OK", - "configurationStateId": null, - "resourceCreationTime": null, - "resourceId": "subnet-11111111111111111", - "resourceName": null, - "resourceType": "AWS::EC2::Subnet", - "supplementaryConfiguration": null, - "tags": "{}", - "version": "1.3", - "vpcId": "vpc-11111111111111111", - "subnetId": "subnet-11111111111111111", - "subnetIds": null, - "resourceValue": null, - "state": null, - "private": "false", - "loggedInURL": "https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId", - "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId", - "title": "vpc-11111111111111111-private-b", - "dBInstanceStatus": null, - "statement": null, - "instanceType": null - } - }, - { - "id": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:subnet/subnet-22222222222222222", - "label": "AWS_EC2_Subnet", - "md5Hash": "", - "properties": { - "accountId": "yyyyyyyyyyyy", - "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:subnet/subnet-22222222222222222", - "availabilityZone": "eu-west-1a", - "awsRegion": "eu-west-1", - "configuration": "{}", - "configurationItemCaptureTime": "2023-05-19T09:47:33.884Z", - "configurationItemStatus": "OK", - "configurationStateId": null, - "resourceCreationTime": null, - "resourceId": "subnet-22222222222222222", - "resourceName": null, - "resourceType": "AWS::EC2::Subnet", - "supplementaryConfiguration": null, - "tag": "{}", - "version": "1.3", - "vpcId": "vpc-11111111111111111", - "subnetId": "subnet-22222222222222222", - "subnetIds": null, - "resourceValue": null, - "state": null, - "private": "false", - "loggedInURL": "https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId", - "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId", - "title": "vpc-11111111111111111-private-a", - "dBInstanceStatus": null, - "statement": null, - "instanceType": null - } - }, - { - "id": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag=lambdaValue", - "label": "AWS_Tags_Tag", - "md5Hash": "", - "properties": { - "accountId": "yyyyyyyyyyyy", - "arn": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag=lambdaValue", - "availabilityZone": "Not Applicable", - "awsRegion": "global", - "configuration": "\"{}\"", - "configurationItemCaptureTime": null, - "configurationItemStatus": "ResourceDiscovered", - "configurationStateId": null, - "resourceCreationTime": null, - "resourceId": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag=lambdaValue", - "resourceName": "lambda:createdBy=SAM", - "resourceType": "AWS::Tags::Tag", - "supplementaryConfiguration": null, - "tags": "[]", - "version": null, - "vpcId": null, - "subnetId": null, - "subnetIds": null, - "resourceValue": null, - "state": null, - "private": null, - "loggedInURL": null, - "loginURL": null, - "title": "lambdaTag=lambdaValue", - "dBInstanceStatus": null, - "statement": null, - "instanceType": null - } - }, - - { - "id": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag1=lambdaValue1", - "label": "AWS_Tags_Tag", - "md5Hash": "", - "properties": { - "accountId": "yyyyyyyyyyyy", - "arn": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag1=lambdaValue1", - "availabilityZone": "Not Applicable", - "awsRegion": "global", - "configuration": "\"{}\"", - "configurationItemCaptureTime": null, - "configurationItemStatus": "ResourceDiscovered", - "configurationStateId": null, - "resourceCreationTime": null, - "resourceId": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag1=lambdaValue1", - "resourceName": "lambda:createdBy=SAM", - "resourceType": "AWS::Tags::Tag", - "supplementaryConfiguration": null, - "tags": "[]", - "version": null, - "vpcId": null, - "subnetId": null, - "subnetIds": null, - "resourceValue": null, - "state": null, - "private": null, - "loggedInURL": null, - "loginURL": null, - "title": "lambdaTag1=lambdaValue1", - "dBInstanceStatus": null, - "statement": null, - "instanceType": null - } - }, - { - "id": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-11111111111111111", - "label": "AWS_EC2_NetworkInterface", - "md5Hash": "", - "properties": { - "accountId": "yyyyyyyyyyyy", - "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-11111111111111111", - "availabilityZone": "eu-west-1b", - "awsRegion": "eu-west-1", - "configuration": "{}", - "configurationItemCaptureTime": "2022-10-07T18:06:51.149Z", - "configurationItemStatus": "ResourceDiscovered", - "configurationStateId": null, - "resourceCreationTime": null, - "resourceId": "eni-11111111111111111", - "resourceName": null, - "resourceType": "AWS::EC2::NetworkInterface", - "supplementaryConfiguration": null, - "tags": "[]", - "version": "1.3", - "vpcId": "vpc-11111111111111111", - "subnetId": "subnet-11111111111111111", - "subnetIds": null, - "resourceValue": null, - "state": null, - "private": null, - "loggedInURL": "https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description", - "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description", - "title": "eni-11111111111111111", - "dBInstanceStatus": null, - "statement": null, - "instanceType": null - } - }, - { - "id": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-22222222222222222", - "label": "AWS_EC2_NetworkInterface", - "md5Hash": "", - "properties": { - "accountId": "yyyyyyyyyyyy", - "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-22222222222222222", - "availabilityZone": "eu-west-1a", - "awsRegion": "eu-west-1", - "configuration": "{}", - "configurationItemCaptureTime": "2022-10-07T18:06:51.149Z", - "configurationItemStatus": "ResourceDiscovered", - "configurationStateId": null, - "resourceCreationTime": null, - "resourceId": "eni-22222222222222222", - "resourceName": null, - "resourceType": "AWS::EC2::NetworkInterface", - "supplementaryConfiguration": null, - "tags": "[]", - "version": "1.3", - "vpcId": "vpc-11111111111111111", - "subnetId": "subnet-22222222222222222", - "subnetIds": null, - "resourceValue": null, - "state": null, - "private": null, - "loggedInURL": "https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description", - "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description", - "title": "eni-22222222222222222", - "dBInstanceStatus": null, - "statement": null, - "instanceType": null - } - }, - { - "id": "arn:aws:iam::yyyyyyyyyyyy:role/testpolicy/inlinePolicy/testRole", - "label": "AWS_IAM_InlinePolicy", - "md5Hash": "443234d5302e3c954c24963eee61f955", - "properties": { - "accountId": "yyyyyyyyyyyy", - "arn": "arn:aws:iam::yyyyyyyyyyyy:role/testpolicy/inlinePolicy/testRole", - "availabilityZone": "Not Applicable", - "awsRegion": "global", - "configuration": "{}", - "configurationItemCaptureTime": null, - "configurationItemStatus": "ResourceDiscovered", - "configurationStateId": null, - "resourceCreationTime": null, - "resourceId": "arn:aws:iam::yyyyyyyyyyyy:role/testpolicy/inlinePolicy/testRole", - "resourceName": "arn:aws:iam::yyyyyyyyyyyy:role/testpolicy/inlinePolicy/testRole", - "resourceType": "AWS::IAM::InlinePolicy", - "supplementaryConfiguration": null, - "tags": "[]", - "version": null, - "vpcId": null, - "subnetId": null, - "subnetIds": null, - "resourceValue": null, - "state": null, - "private": null, - "loggedInURL": null, - "loginURL": null, - "title": "arn:aws:iam::yyyyyyyyyyyy:role/testpolicy/inlinePolicy/testRole", - "dBInstanceStatus": null, - "statement": null, - "instanceType": null - } - } - ], - "edges": [ - { - "id": "08c1d9d4-a220-1e6a-9adf-376b661dabf3", - "label": "IS_ASSOCIATED_WITH_ROLE", - "source": { - "id": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", - "label": "AWS_Lambda_Function" - }, - "target": { - "id": "arn:aws:iam::yyyyyyyyyyyy:role/testRole", - "label": "AWS_IAM_Role" - } - }, - { - "id": "7cc1d9d4-a220-af84-968d-4a72d7de7804", - "label": "IS_ASSOCIATED_WITH", - "source": { - "id": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", - "label": "AWS_Lambda_Function" - }, - "target": { - "id": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:security-group/sg-111111111111111", - "label": "AWS_EC2_SecurityGroup" - } - }, - { - "id": "6ec2643b-9e71-c172-0d48-2f9dfc2244f2", - "label": "IS_ASSOCIATED_WITH", - "source": { - "id": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", - "label": "AWS_Lambda_Function" - }, - "target": { - "id": "arn:aws:rds:eu-west-1:yyyyyyyyyyyy:cluster:testdbcluster", - "label": "AWS_RDS_DBCluster" - } - }, - { - "id": "c4c1d9d4-a226-4beb-01e9-947fa9f49068", - "label": "IS_CONTAINED_IN_VPC", - "source": { - "id": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", - "label": "AWS_Lambda_Function" - }, - "target": { - "id": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:vpc/vpc-11111111111111111", - "label": "AWS_EC2_VPC" - } - }, - { - "id": "14c1d9d4-a222-06db-6daa-9965e455827f", - "label": "IS_CONTAINED_IN_SUBNET", - "source": { - "id": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", - "label": "AWS_Lambda_Function" - }, - "target": { - "id": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:subnet/subnet-11111111111111111", - "label": "AWS_EC2_Subnet" - } - }, - { - "id": "14c1d9d4-a223-a589-3168-e383c3fc7f32", - "label": "IS_CONTAINED_IN_SUBNET", - "source": { - "id": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", - "label": "AWS_Lambda_Function" - }, - "target": { - "id": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:subnet/subnet-22222222222222222", - "label": "AWS_EC2_Subnet" - } - }, - { - "id": "aec1d9d4-a664-a730-ac64-74544f0c6462", - "label": "IS_ASSOCIATED_WITH", - "source": { - "id": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag=lambdaValue", - "label": "AWS_Tags_Tag" - }, - "target": { - "id": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", - "label": "AWS_Lambda_Function" - } - }, - { - "id": "04c1d9d4-a634-d15c-be56-cc9ca0f703d5", - "label": "IS_ASSOCIATED_WITH", - "source": { - "id": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag1=lambdaValue1", - "label": "AWS_Tags_Tag" - }, - "target": { - "id": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", - "label": "AWS_Lambda_Function" - } - }, - { - "id": "36c1d9d4-9f02-c839-abb1-4fb3a583e1eb", - "label": "IS_ATTACHED_TO", - "source": { - "id": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-11111111111111111", - "label": "AWS_EC2_NetworkInterface" - }, - "target": { - "id": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", - "label": "AWS_Lambda_Function" - } - }, - { - "id": "3ec1d9d4-9f42-3a9e-5236-78c65ed1bb70", - "label": "IS_ATTACHED_TO", - "source": { - "id": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-22222222222222222", - "label": "AWS_EC2_NetworkInterface" - }, - "target": { - "id": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", - "label": "AWS_Lambda_Function" - } - }, - { - "id": "5ac1d9d4-a3e8-5f80-7b12-f16f31d062d6", - "label": "IS_ATTACHED_TO", - "source": { - "id": "arn:aws:iam::yyyyyyyyyyyy:role/testpolicy/inlinePolicy/testRole", - "label": "AWS_IAM_InlinePolicy" - }, - "target": { - "id": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", - "label": "AWS_Lambda_Function" - } - }, - { - "id": "d4c1d9d4-9f02-611f-6a93-ce770293ec8e", - "label": "IS_CONTAINED_IN_VPC", - "source": { - "id": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/subnet-11111111111111111", - "label": "AWS_EC2_NetworkInterface" - }, - "target": { - "id": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:vpc/vpc-11111111111111111", - "label": "AWS_EC2_VPC" - } - }, - { - "id": "68c1d9d4-9f01-d8ff-d6b1-f8e0fe80fe94", - "label": "IS_CONTAINED_IN_SUBNET", - "source": { - "id": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/subnet-11111111111111111", - "label": "AWS_EC2_NetworkInterface" - }, - "target": { - "id": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:subnet/subnet-11111111111111111", - "label": "AWS_EC2_Subnet" - } - }, - { - "id": "2cc1d9d4-a2c2-01de-368b-3014362a6d41", - "label": "IS_CONTAINED_IN_VPC", - "source": { - "id": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:security-group/sg-111111111111111", - "label": "AWS_EC2_SecurityGroup" - }, - "target": { - "id": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:vpc/vpc-11111111111111111", - "label": "AWS_EC2_VPC" - } - }, - { - "id": "94c1d9d4-a09d-766f-a5a6-77807fff721e", - "label": "IS_CONTAINED_IN_VPC", - "source": { - "id": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:subnet/subnet-11111111111111111", - "label": "AWS_EC2_Subnet" - }, - "target": { - "id": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:vpc/vpc-11111111111111111", - "label": "AWS_EC2_VPC" - } - }, - { - "id": "46c1d9d4-a0a9-30db-2292-7784dac53c73", - "label": "IS_CONTAINED_IN_VPC", - "source": { - "id": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:subnet/subnet-22222222222222222", - "label": "AWS_EC2_Subnet" - }, - "target": { - "id": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:vpc/vpc-11111111111111111", - "label": "AWS_EC2_VPC" - } - }, - { - "id": "32c1d9d4-9f41-c08c-0ace-c9ae1e83ef67", - "label": "IS_CONTAINED_IN_VPC", - "source": { - "id": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-22222222222222222", - "label": "AWS_EC2_NetworkInterface" - }, - "target": { - "id": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:vpc/vpc-11111111111111111", - "label": "AWS_EC2_VPC" - } - }, - { - "id": "a4c1d9d4-9f41-b7df-906b-ecad4c1bf3db", - "label": "IS_CONTAINED_IN_SUBNET", - "source": { - "id": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-22222222222222222", - "label": "AWS_EC2_NetworkInterface" - }, - "target": { - "id": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:subnet/subnet-22222222222222222", - "label": "AWS_EC2_Subnet" - } - } - ] - } -} \ No newline at end of file + "getResourceGraph": { + "nodes": [ + { + "id": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", + "label": "AWS_Lambda_Function", + "md5Hash": "", + "properties": { + "accountId": "yyyyyyyyyyyy", + "arn": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", + "availabilityZone": "eu-west-1a,eu-west-1b", + "awsRegion": "eu-west-1", + "configuration": "{\"key\":\"prop\",\"key1\":\"prop1\",\"key2\":\"prop2\",\"state\":{\"value\":\"active\"}}", + "configurationItemCaptureTime": "2023-06-06T22:21:58.169Z", + "configurationItemStatus": "OK", + "configurationStateId": null, + "resourceCreationTime": null, + "resourceId": "testLambda", + "resourceName": "testLambda", + "resourceType": "AWS::Lambda::Function", + "tags": "[{\"tag\":\"lambdaTag=lambdaValue\",\"value\":\"lambdaValue\",\"key\":\"lambdaTag\"}, {\"tag\":\"lambdaTag1=lambdaValue1\",\"value\":\"lambdaValue1\",\"key\":\"lambdaTag1\"}]", + "version": "1.3", + "vpcId": "vpc-11111111111111111", + "subnetId": null, + "subnetIds": null, + "resourceValue": null, + "state": null, + "private": null, + "loggedInURL": "https://eu-west-1.console.aws.amazon.com/lambda/home?region=eu-west-1#/functions/testLambda?tab=graph", + "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/lambda?region=eu-west-1#/functions/testLambda?tab=graph", + "title": "testLambda", + "dBInstanceStatus": null, + "statement": null, + "instanceType": null + } + }, + { + "id": "arn:aws:iam::yyyyyyyyyyyy:role/testRole", + "label": "AWS_IAM_Role", + "md5Hash": "", + "properties": { + "accountId": "yyyyyyyyyyyy", + "arn": "arn:aws:iam::yyyyyyyyyyyy:role/testRole", + "availabilityZone": "Not Applicable", + "awsRegion": "global", + "configuration": "{}", + "configurationItemCaptureTime": "2023-01-23T16:15:01.277Z", + "configurationItemStatus": "OK", + "configurationStateId": null, + "resourceCreationTime": "2022-10-07T18:04:50.000Z", + "resourceId": "roleResourceId", + "resourceName": "testRole", + "resourceType": "AWS::IAM::Role", + "supplementaryConfiguration": null, + "tags": "{}", + "version": "1.3", + "vpcId": null, + "subnetId": null, + "subnetIds": null, + "resourceValue": null, + "state": null, + "private": null, + "loggedInURL": "https://console.aws.amazon.com/iam/home?#/roles", + "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/iam?home?#/roles", + "title": "testRole", + "dBInstanceStatus": null, + "statement": null, + "instanceType": null + } + }, + { + "id": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:security-group/sg-111111111111111", + "label": "AWS_EC2_SecurityGroup", + "md5Hash": "", + "properties": { + "accountId": "yyyyyyyyyyyy", + "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:security-group/sg-111111111111111", + "availabilityZone": "Not Applicable", + "awsRegion": "eu-west-1", + "configuration": "{}", + "configurationItemCaptureTime": "2023-01-23T16:14:40.129Z", + "configurationItemStatus": "OK", + "configurationStateId": null, + "resourceCreationTime": null, + "resourceId": "sg-111111111111111", + "resourceName": "lambdaSecurityGroup", + "resourceType": "AWS::EC2::SecurityGroup", + "supplementaryConfiguration": null, + "tags": "{}", + "version": "1.3", + "vpcId": "vpc-11111111111111111", + "subnetId": null, + "subnetIds": null, + "resourceValue": null, + "state": null, + "private": null, + "loggedInURL": "https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId", + "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId", + "title": "lambdaSecurityGroup", + "dBInstanceStatus": null, + "statement": null, + "instanceType": null + } + }, + { + "id": "arn:aws:rds:eu-west-1:yyyyyyyyyyyy:cluster:testdbcluster", + "label": "AWS_RDS_DBCluster", + "md5Hash": "", + "properties": { + "accountId": "yyyyyyyyyyyy", + "arn": "arn:aws:rds:eu-west-1:yyyyyyyyyyyy:cluster:testdbcluster", + "availabilityZone": "Multiple Availability Zones", + "awsRegion": "eu-west-1", + "configuration": "{}", + "configurationItemCaptureTime": "2023-05-20T01:54:04.280Z", + "configurationItemStatus": "OK", + "configurationStateId": null, + "resourceCreationTime": "2022-10-07T17:55:06.860Z", + "resourceId": "cluster-AAAAAAAAAAAAAAA", + "resourceName": "testdbcluster", + "resourceType": "AWS::RDS::DBCluster", + "supplementaryConfiguration": null, + "tags": "{}", + "version": "1.3", + "vpcId": null, + "subnetId": null, + "subnetIds": null, + "resourceValue": null, + "state": null, + "private": null, + "loggedInURL": null, + "loginURL": null, + "title": "test-db-Cluster", + "dBInstanceStatus": null, + "statement": null, + "instanceType": null + } + }, + { + "id": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:vpc/vpc-11111111111111111", + "label": "AWS_EC2_VPC", + "md5Hash": "", + "properties": { + "accountId": "yyyyyyyyyyyy", + "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:vpc/vpc-11111111111111111", + "availabilityZone": "Multiple Availability Zones", + "awsRegion": "eu-west-1", + "configuration": "{}", + "configurationItemCaptureTime": "2023-05-19T09:47:33.767Z", + "configurationItemStatus": "OK", + "configurationStateId": null, + "resourceCreationTime": null, + "resourceId": "vpc-11111111111111111", + "resourceName": null, + "resourceType": "AWS::EC2::VPC", + "supplementaryConfiguration": null, + "tags": "{}", + "version": "1.3", + "vpcId": null, + "subnetId": null, + "subnetIds": null, + "resourceValue": null, + "state": null, + "private": null, + "loggedInURL": "https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#vpcs:sort=VpcId", + "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/vpc?region=eu-west-1#vpcs:sort=VpcId", + "title": "vpc-11111111111111111", + "dBInstanceStatus": null, + "statement": null, + "instanceType": null + } + }, + { + "id": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:subnet/subnet-11111111111111111", + "label": "AWS_EC2_Subnet", + "md5Hash": "", + "properties": { + "accountId": "yyyyyyyyyyyy", + "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:subnet/subnet-11111111111111111", + "availabilityZone": "eu-west-1b", + "awsRegion": "eu-west-1", + "configuration": "{}", + "configurationItemCaptureTime": "2023-02-10T16:20:45.731Z", + "configurationItemStatus": "OK", + "configurationStateId": null, + "resourceCreationTime": null, + "resourceId": "subnet-11111111111111111", + "resourceName": null, + "resourceType": "AWS::EC2::Subnet", + "supplementaryConfiguration": null, + "tags": "{}", + "version": "1.3", + "vpcId": "vpc-11111111111111111", + "subnetId": "subnet-11111111111111111", + "subnetIds": null, + "resourceValue": null, + "state": null, + "private": "false", + "loggedInURL": "https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId", + "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId", + "title": "vpc-11111111111111111-private-b", + "dBInstanceStatus": null, + "statement": null, + "instanceType": null + } + }, + { + "id": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:subnet/subnet-22222222222222222", + "label": "AWS_EC2_Subnet", + "md5Hash": "", + "properties": { + "accountId": "yyyyyyyyyyyy", + "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:subnet/subnet-22222222222222222", + "availabilityZone": "eu-west-1a", + "awsRegion": "eu-west-1", + "configuration": "{}", + "configurationItemCaptureTime": "2023-05-19T09:47:33.884Z", + "configurationItemStatus": "OK", + "configurationStateId": null, + "resourceCreationTime": null, + "resourceId": "subnet-22222222222222222", + "resourceName": null, + "resourceType": "AWS::EC2::Subnet", + "supplementaryConfiguration": null, + "tag": "{}", + "version": "1.3", + "vpcId": "vpc-11111111111111111", + "subnetId": "subnet-22222222222222222", + "subnetIds": null, + "resourceValue": null, + "state": null, + "private": "false", + "loggedInURL": "https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId", + "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId", + "title": "vpc-11111111111111111-private-a", + "dBInstanceStatus": null, + "statement": null, + "instanceType": null + } + }, + { + "id": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag=lambdaValue", + "label": "AWS_Tags_Tag", + "md5Hash": "", + "properties": { + "accountId": "yyyyyyyyyyyy", + "arn": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag=lambdaValue", + "availabilityZone": "Not Applicable", + "awsRegion": "global", + "configuration": "\"{}\"", + "configurationItemCaptureTime": null, + "configurationItemStatus": "ResourceDiscovered", + "configurationStateId": null, + "resourceCreationTime": null, + "resourceId": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag=lambdaValue", + "resourceName": "lambda:createdBy=SAM", + "resourceType": "AWS::Tags::Tag", + "supplementaryConfiguration": null, + "tags": "[]", + "version": null, + "vpcId": null, + "subnetId": null, + "subnetIds": null, + "resourceValue": null, + "state": null, + "private": null, + "loggedInURL": null, + "loginURL": null, + "title": "lambdaTag=lambdaValue", + "dBInstanceStatus": null, + "statement": null, + "instanceType": null + } + }, + + { + "id": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag1=lambdaValue1", + "label": "AWS_Tags_Tag", + "md5Hash": "", + "properties": { + "accountId": "yyyyyyyyyyyy", + "arn": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag1=lambdaValue1", + "availabilityZone": "Not Applicable", + "awsRegion": "global", + "configuration": "\"{}\"", + "configurationItemCaptureTime": null, + "configurationItemStatus": "ResourceDiscovered", + "configurationStateId": null, + "resourceCreationTime": null, + "resourceId": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag1=lambdaValue1", + "resourceName": "lambda:createdBy=SAM", + "resourceType": "AWS::Tags::Tag", + "supplementaryConfiguration": null, + "tags": "[]", + "version": null, + "vpcId": null, + "subnetId": null, + "subnetIds": null, + "resourceValue": null, + "state": null, + "private": null, + "loggedInURL": null, + "loginURL": null, + "title": "lambdaTag1=lambdaValue1", + "dBInstanceStatus": null, + "statement": null, + "instanceType": null + } + }, + { + "id": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-11111111111111111", + "label": "AWS_EC2_NetworkInterface", + "md5Hash": "", + "properties": { + "accountId": "yyyyyyyyyyyy", + "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-11111111111111111", + "availabilityZone": "eu-west-1b", + "awsRegion": "eu-west-1", + "configuration": "{}", + "configurationItemCaptureTime": "2022-10-07T18:06:51.149Z", + "configurationItemStatus": "ResourceDiscovered", + "configurationStateId": null, + "resourceCreationTime": null, + "resourceId": "eni-11111111111111111", + "resourceName": null, + "resourceType": "AWS::EC2::NetworkInterface", + "supplementaryConfiguration": null, + "tags": "[]", + "version": "1.3", + "vpcId": "vpc-11111111111111111", + "subnetId": "subnet-11111111111111111", + "subnetIds": null, + "resourceValue": null, + "state": null, + "private": null, + "loggedInURL": "https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description", + "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description", + "title": "eni-11111111111111111", + "dBInstanceStatus": null, + "statement": null, + "instanceType": null + } + }, + { + "id": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-22222222222222222", + "label": "AWS_EC2_NetworkInterface", + "md5Hash": "", + "properties": { + "accountId": "yyyyyyyyyyyy", + "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-22222222222222222", + "availabilityZone": "eu-west-1a", + "awsRegion": "eu-west-1", + "configuration": "{}", + "configurationItemCaptureTime": "2022-10-07T18:06:51.149Z", + "configurationItemStatus": "ResourceDiscovered", + "configurationStateId": null, + "resourceCreationTime": null, + "resourceId": "eni-22222222222222222", + "resourceName": null, + "resourceType": "AWS::EC2::NetworkInterface", + "supplementaryConfiguration": null, + "tags": "[]", + "version": "1.3", + "vpcId": "vpc-11111111111111111", + "subnetId": "subnet-22222222222222222", + "subnetIds": null, + "resourceValue": null, + "state": null, + "private": null, + "loggedInURL": "https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description", + "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description", + "title": "eni-22222222222222222", + "dBInstanceStatus": null, + "statement": null, + "instanceType": null + } + }, + { + "id": "arn:aws:iam::yyyyyyyyyyyy:role/testpolicy/inlinePolicy/testRole", + "label": "AWS_IAM_InlinePolicy", + "md5Hash": "443234d5302e3c954c24963eee61f955", + "properties": { + "accountId": "yyyyyyyyyyyy", + "arn": "arn:aws:iam::yyyyyyyyyyyy:role/testpolicy/inlinePolicy/testRole", + "availabilityZone": "Not Applicable", + "awsRegion": "global", + "configuration": "{}", + "configurationItemCaptureTime": null, + "configurationItemStatus": "ResourceDiscovered", + "configurationStateId": null, + "resourceCreationTime": null, + "resourceId": "arn:aws:iam::yyyyyyyyyyyy:role/testpolicy/inlinePolicy/testRole", + "resourceName": "arn:aws:iam::yyyyyyyyyyyy:role/testpolicy/inlinePolicy/testRole", + "resourceType": "AWS::IAM::InlinePolicy", + "supplementaryConfiguration": null, + "tags": "[]", + "version": null, + "vpcId": null, + "subnetId": null, + "subnetIds": null, + "resourceValue": null, + "state": null, + "private": null, + "loggedInURL": null, + "loginURL": null, + "title": "arn:aws:iam::yyyyyyyyyyyy:role/testpolicy/inlinePolicy/testRole", + "dBInstanceStatus": null, + "statement": null, + "instanceType": null + } + } + ], + "edges": [ + { + "id": "08c1d9d4-a220-1e6a-9adf-376b661dabf3", + "label": "IS_ASSOCIATED_WITH_ROLE", + "source": { + "id": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", + "label": "AWS_Lambda_Function" + }, + "target": { + "id": "arn:aws:iam::yyyyyyyyyyyy:role/testRole", + "label": "AWS_IAM_Role" + } + }, + { + "id": "7cc1d9d4-a220-af84-968d-4a72d7de7804", + "label": "IS_ASSOCIATED_WITH", + "source": { + "id": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", + "label": "AWS_Lambda_Function" + }, + "target": { + "id": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:security-group/sg-111111111111111", + "label": "AWS_EC2_SecurityGroup" + } + }, + { + "id": "6ec2643b-9e71-c172-0d48-2f9dfc2244f2", + "label": "IS_ASSOCIATED_WITH", + "source": { + "id": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", + "label": "AWS_Lambda_Function" + }, + "target": { + "id": "arn:aws:rds:eu-west-1:yyyyyyyyyyyy:cluster:testdbcluster", + "label": "AWS_RDS_DBCluster" + } + }, + { + "id": "c4c1d9d4-a226-4beb-01e9-947fa9f49068", + "label": "IS_CONTAINED_IN_VPC", + "source": { + "id": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", + "label": "AWS_Lambda_Function" + }, + "target": { + "id": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:vpc/vpc-11111111111111111", + "label": "AWS_EC2_VPC" + } + }, + { + "id": "14c1d9d4-a222-06db-6daa-9965e455827f", + "label": "IS_CONTAINED_IN_SUBNET", + "source": { + "id": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", + "label": "AWS_Lambda_Function" + }, + "target": { + "id": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:subnet/subnet-11111111111111111", + "label": "AWS_EC2_Subnet" + } + }, + { + "id": "14c1d9d4-a223-a589-3168-e383c3fc7f32", + "label": "IS_CONTAINED_IN_SUBNET", + "source": { + "id": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", + "label": "AWS_Lambda_Function" + }, + "target": { + "id": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:subnet/subnet-22222222222222222", + "label": "AWS_EC2_Subnet" + } + }, + { + "id": "aec1d9d4-a664-a730-ac64-74544f0c6462", + "label": "IS_ASSOCIATED_WITH", + "source": { + "id": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag=lambdaValue", + "label": "AWS_Tags_Tag" + }, + "target": { + "id": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", + "label": "AWS_Lambda_Function" + } + }, + { + "id": "04c1d9d4-a634-d15c-be56-cc9ca0f703d5", + "label": "IS_ASSOCIATED_WITH", + "source": { + "id": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag1=lambdaValue1", + "label": "AWS_Tags_Tag" + }, + "target": { + "id": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", + "label": "AWS_Lambda_Function" + } + }, + { + "id": "36c1d9d4-9f02-c839-abb1-4fb3a583e1eb", + "label": "IS_ATTACHED_TO", + "source": { + "id": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-11111111111111111", + "label": "AWS_EC2_NetworkInterface" + }, + "target": { + "id": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", + "label": "AWS_Lambda_Function" + } + }, + { + "id": "3ec1d9d4-9f42-3a9e-5236-78c65ed1bb70", + "label": "IS_ATTACHED_TO", + "source": { + "id": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-22222222222222222", + "label": "AWS_EC2_NetworkInterface" + }, + "target": { + "id": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", + "label": "AWS_Lambda_Function" + } + }, + { + "id": "5ac1d9d4-a3e8-5f80-7b12-f16f31d062d6", + "label": "IS_ATTACHED_TO", + "source": { + "id": "arn:aws:iam::yyyyyyyyyyyy:role/testpolicy/inlinePolicy/testRole", + "label": "AWS_IAM_InlinePolicy" + }, + "target": { + "id": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", + "label": "AWS_Lambda_Function" + } + }, + { + "id": "d4c1d9d4-9f02-611f-6a93-ce770293ec8e", + "label": "IS_CONTAINED_IN_VPC", + "source": { + "id": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/subnet-11111111111111111", + "label": "AWS_EC2_NetworkInterface" + }, + "target": { + "id": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:vpc/vpc-11111111111111111", + "label": "AWS_EC2_VPC" + } + }, + { + "id": "68c1d9d4-9f01-d8ff-d6b1-f8e0fe80fe94", + "label": "IS_CONTAINED_IN_SUBNET", + "source": { + "id": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/subnet-11111111111111111", + "label": "AWS_EC2_NetworkInterface" + }, + "target": { + "id": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:subnet/subnet-11111111111111111", + "label": "AWS_EC2_Subnet" + } + }, + { + "id": "2cc1d9d4-a2c2-01de-368b-3014362a6d41", + "label": "IS_CONTAINED_IN_VPC", + "source": { + "id": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:security-group/sg-111111111111111", + "label": "AWS_EC2_SecurityGroup" + }, + "target": { + "id": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:vpc/vpc-11111111111111111", + "label": "AWS_EC2_VPC" + } + }, + { + "id": "94c1d9d4-a09d-766f-a5a6-77807fff721e", + "label": "IS_CONTAINED_IN_VPC", + "source": { + "id": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:subnet/subnet-11111111111111111", + "label": "AWS_EC2_Subnet" + }, + "target": { + "id": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:vpc/vpc-11111111111111111", + "label": "AWS_EC2_VPC" + } + }, + { + "id": "46c1d9d4-a0a9-30db-2292-7784dac53c73", + "label": "IS_CONTAINED_IN_VPC", + "source": { + "id": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:subnet/subnet-22222222222222222", + "label": "AWS_EC2_Subnet" + }, + "target": { + "id": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:vpc/vpc-11111111111111111", + "label": "AWS_EC2_VPC" + } + }, + { + "id": "32c1d9d4-9f41-c08c-0ace-c9ae1e83ef67", + "label": "IS_CONTAINED_IN_VPC", + "source": { + "id": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-22222222222222222", + "label": "AWS_EC2_NetworkInterface" + }, + "target": { + "id": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:vpc/vpc-11111111111111111", + "label": "AWS_EC2_VPC" + } + }, + { + "id": "a4c1d9d4-9f41-b7df-906b-ecad4c1bf3db", + "label": "IS_CONTAINED_IN_SUBNET", + "source": { + "id": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-22222222222222222", + "label": "AWS_EC2_NetworkInterface" + }, + "target": { + "id": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:subnet/subnet-22222222222222222", + "label": "AWS_EC2_Subnet" + } + } + ] + } +} diff --git a/source/frontend/src/tests/mocks/fixtures/getResourceGraph/eks-cluster.json b/source/frontend/src/tests/mocks/fixtures/getResourceGraph/eks-cluster.json index 2aaa5d5e..f4153f54 100644 --- a/source/frontend/src/tests/mocks/fixtures/getResourceGraph/eks-cluster.json +++ b/source/frontend/src/tests/mocks/fixtures/getResourceGraph/eks-cluster.json @@ -1,634 +1,634 @@ { - "getResourceGraph": { - "nodes": [ - { - "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:cluster/test-cluster", - "label": "AWS_EKS_Cluster", - "md5Hash": "", - "properties": { - "accountId": "xxxxxxxxxxxx", - "arn": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:cluster/test-cluster", - "availabilityZone": "eu-west-1a,eu-west-1b,eu-west-1c", - "awsRegion": "eu-west-1", - "configuration": "\"{}\"", - "configurationItemCaptureTime": "2023-03-11T00:54:04.337Z", - "configurationItemStatus": "OK", - "configurationStateId": "1666054444349", - "resourceCreationTime": null, - "resourceId": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:cluster/test-cluster", - "resourceName": "test-cluster", - "resourceType": "AWS::EKS::Cluster", - "supplementaryConfiguration": "\"{}\"", - "tags": "[]", - "version": "1.3", - "vpcId": "vpc-11111111111111111", - "subnetId": null, - "subnetIds": null, - "resourceValue": null, - "state": null, - "private": null, - "loggedInURL": null, - "loginURL": null, - "title": "test-cluster", - "dBInstanceStatus": null, - "statement": null, - "instanceType": null - } - }, - { - "id": "arn:aws:iam::xxxxxxxxxxxx:role/eksctl-test-cluster-cl-ServiceRole", - "label": "AWS_IAM_Role", - "md5Hash": "", - "properties": { - "accountId": "xxxxxxxxxxxx", - "arn": "arn:aws:iam::xxxxxxxxxxxx:role/eksctl-test-cluster-cl-ServiceRole", - "availabilityZone": "Not Applicable", - "awsRegion": "global", - "configuration": "\"{}\"", - "configurationItemCaptureTime": "2022-02-14T13:50:59.294Z", - "configurationItemStatus": "ResourceDiscovered", - "configurationStateId": null, - "resourceCreationTime": "2020-10-29T23:49:04.000Z", - "resourceId": "AAAAAAAAAAAAAAAAAAAA", - "resourceName": "eksctl-test-cluster-cl-ServiceRole", - "resourceType": "AWS::IAM::Role", - "supplementaryConfiguration": null, - "tags": "[]", - "version": "1.3", - "vpcId": null, - "subnetId": null, - "subnetIds": null, - "resourceValue": null, - "state": null, - "private": null, - "loggedInURL": "https://console.aws.amazon.com/iam/home?#/roles", - "loginURL": "https://xxxxxxxxxxxx.signin.aws.amazon.com/console/iam?home?#/roles", - "title": "eksctl-test-cluster-cluster/ServiceRole", - "dBInstanceStatus": null, - "statement": null, - "instanceType": null - } - }, - { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:vpc/vpc-11111111111111111", - "label": "AWS_EC2_VPC", - "md5Hash": "", - "properties": { - "accountId": "xxxxxxxxxxxx", - "arn": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:vpc/vpc-11111111111111111", - "availabilityZone": "Multiple Availability Zones", - "awsRegion": "eu-west-1", - "configuration": "\"{}\"", - "configurationItemCaptureTime": "2023-05-30T22:16:37.179Z", - "configurationItemStatus": "OK", - "configurationStateId": null, - "resourceCreationTime": null, - "resourceId": "vpc-11111111111111111", - "resourceName": null, - "resourceType": "AWS::EC2::VPC", - "supplementaryConfiguration": null, - "tags": "[]", - "version": "1.3", - "vpcId": null, - "subnetId": null, - "subnetIds": null, - "resourceValue": null, - "state": null, - "private": null, - "loggedInURL": "https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#vpcs:sort=VpcId", - "loginURL": "https://xxxxxxxxxxxx.signin.aws.amazon.com/console/vpc?region=eu-west-1#vpcs:sort=VpcId", - "title": "test-cluster-vpc", - "dBInstanceStatus": null, - "statement": null, - "instanceType": null - } - }, - { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-11111111111111111", - "label": "AWS_EC2_Subnet", - "md5Hash": "", - "properties": { - "accountId": "xxxxxxxxxxxx", - "arn": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-11111111111111111", - "availabilityZone": "eu-west-1c", - "awsRegion": "eu-west-1", - "configuration": "\"{}\"", - "configurationItemCaptureTime": "2023-05-29T16:13:25.221Z", - "configurationItemStatus": "OK", - "configurationStateId": null, - "resourceCreationTime": null, - "resourceId": "subnet-11111111111111111", - "resourceName": null, - "resourceType": "AWS::EC2::Subnet", - "supplementaryConfiguration": null, - "tags": "[]", - "version": "1.3", - "vpcId": "vpc-11111111111111111", - "subnetId": "subnet-11111111111111111", - "subnetIds": null, - "resourceValue": null, - "state": null, - "private": "true", - "loggedInURL": "https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId", - "loginURL": "https://xxxxxxxxxxxx.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId", - "title": "test-cluster-subnet1", - "dBInstanceStatus": null, - "statement": null, - "instanceType": null - } - }, - { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-22222222222222222", - "label": "AWS_EC2_Subnet", - "md5Hash": "", - "properties": { - "accountId": "xxxxxxxxxxxx", - "arn": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-22222222222222222", - "availabilityZone": "eu-west-1b", - "awsRegion": "eu-west-1", - "configuration": "\"{}\"", - "configurationItemCaptureTime": "2020-10-29T23:57:46.899Z", - "configurationItemStatus": "OK", - "configurationStateId": null, - "resourceCreationTime": null, - "resourceId": "subnet-22222222222222222", - "resourceName": null, - "resourceType": "AWS::EC2::Subnet", - "supplementaryConfiguration": null, - "tags": "[]", - "version": "1.3", - "vpcId": "vpc-11111111111111111", - "subnetId": "subnet-22222222222222222", - "subnetIds": null, - "resourceValue": null, - "state": null, - "private": "true", - "loggedInURL": "https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId", - "loginURL": "https://xxxxxxxxxxxx.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId", - "title": "test-cluster-subnet2", - "dBInstanceStatus": null, - "statement": null, - "instanceType": null - } - }, - { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-33333333333333333", - "label": "AWS_EC2_Subnet", - "md5Hash": "", - "properties": { - "accountId": "xxxxxxxxxxxx", - "arn": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-33333333333333333", - "availabilityZone": "eu-west-1b", - "awsRegion": "eu-west-1", - "configuration": "\"{}\"", - "configurationItemCaptureTime": "2023-05-20T05:54:05.329Z", - "configurationItemStatus": "OK", - "configurationStateId": null, - "resourceCreationTime": null, - "resourceId": "subnet-33333333333333333", - "resourceName": null, - "resourceType": "AWS::EC2::Subnet", - "supplementaryConfiguration": null, - "tags": "[]", - "version": "1.3", - "vpcId": "vpc-11111111111111111", - "subnetId": "subnet-33333333333333333", - "subnetIds": null, - "resourceValue": null, - "state": null, - "private": "false", - "loggedInURL": "https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId", - "loginURL": "https://xxxxxxxxxxxx.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId", - "title": "test-cluster-subnet3", - "dBInstanceStatus": null, - "statement": null, - "instanceType": null - } - }, - { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-44444444444444444", - "label": "AWS_EC2_Subnet", - "md5Hash": "", - "properties": { - "accountId": "xxxxxxxxxxxx", - "arn": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-44444444444444444", - "availabilityZone": "eu-west-1a", - "awsRegion": "eu-west-1", - "configuration": "\"{}\"", - "configurationItemCaptureTime": "2023-05-20T05:54:05.329Z", - "configurationItemStatus": "OK", - "configurationStateId": null, - "resourceCreationTime": null, - "resourceId": "subnet-44444444444444444", - "resourceName": null, - "resourceType": "AWS::EC2::Subnet", - "supplementaryConfiguration": null, - "tags": "[]", - "version": "1.3", - "vpcId": "vpc-11111111111111111", - "subnetId": "subnet-44444444444444444", - "subnetIds": null, - "resourceValue": null, - "state": null, - "private": "false", - "loggedInURL": "https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId", - "loginURL": "https://xxxxxxxxxxxx.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId", - "title": "test-cluster-subnet4", - "dBInstanceStatus": null, - "statement": null, - "instanceType": null - } - }, - { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-55555555555555555", - "label": "AWS_EC2_Subnet", - "md5Hash": "", - "properties": { - "accountId": "xxxxxxxxxxxx", - "arn": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-55555555555555555", - "availabilityZone": "eu-west-1c", - "awsRegion": "eu-west-1", - "configuration": "\"{}\"", - "configurationItemCaptureTime": "2023-05-20T05:54:05.329Z", - "configurationItemStatus": "OK", - "configurationStateId": null, - "resourceCreationTime": null, - "resourceId": "subnet-55555555555555555", - "resourceName": null, - "resourceType": "AWS::EC2::Subnet", - "supplementaryConfiguration": null, - "tag": "'[]", - "version": "1.3", - "vpcId": "vpc-11111111111111111", - "subnetId": "subnet-55555555555555555", - "subnetIds": null, - "resourceValue": null, - "state": null, - "private": "false", - "loggedInURL": "https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId", - "loginURL": "https://xxxxxxxxxxxx.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId", - "title": "test-cluster-subnet5", - "dBInstanceStatus": null, - "statement": null, - "instanceType": null - } - }, - { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-66666666666666666", - "label": "AWS_EC2_Subnet", - "md5Hash": "", - "properties": { - "accountId": "xxxxxxxxxxxx", - "arn": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-66666666666666666", - "availabilityZone": "eu-west-1a", - "awsRegion": "eu-west-1", - "configuration": "\"{}\"", - "configurationItemCaptureTime": "2023-05-30T22:16:37.298Z", - "configurationItemStatus": "OK", - "configurationStateId": null, - "resourceCreationTime": null, - "resourceId": "subnet-66666666666666666", - "resourceName": null, - "resourceType": "AWS::EC2::Subnet", - "supplementaryConfiguration": null, - "tags": "[]", - "version": "1.3", - "vpcId": "vpc-11111111111111111", - "subnetId": "subnet-66666666666666666", - "subnetIds": null, - "resourceValue": null, - "state": null, - "private": "true", - "loggedInURL": "https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId", - "loginURL": "https://xxxxxxxxxxxx.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId", - "title": "test-cluster-subnet6", - "dBInstanceStatus": null, - "statement": null, - "instanceType": null - } - }, - { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:security-group/sg-11111111111111111", - "label": "AWS_EC2_SecurityGroup", - "md5Hash": "", - "properties": { - "accountId": "xxxxxxxxxxxx", - "arn": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:security-group/sg-11111111111111111", - "availabilityZone": "Not Applicable", - "awsRegion": "eu-west-1", - "configuration": "\"{}\"", - "configurationItemCaptureTime": "2023-05-20T05:54:05.214Z", - "configurationItemStatus": "OK", - "configurationStateId": null, - "resourceCreationTime": null, - "resourceId": "sg-11111111111111111", - "resourceName": "test-cluster/ControlPlaneSecurityGroup", - "resourceType": "AWS::EC2::SecurityGroup", - "supplementaryConfiguration": null, - "tags": "[]", - "version": "1.3", - "vpcId": "vpc-11111111111111111", - "subnetId": null, - "subnetIds": null, - "resourceValue": null, - "state": null, - "private": null, - "loggedInURL": "https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId", - "loginURL": "https://xxxxxxxxxxxx.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId", - "title": "test-cluster/ControlPlaneSecurityGroup", - "dBInstanceStatus": null, - "statement": null, - "instanceType": null - } - }, - { - "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:nodegroup/test-cluster/ng-11111111/5ababb6a-75d5-8af7-0351-02c55b0db9f3", - "label": "AWS_EKS_Nodegroup", - "md5Hash": "47fe23e99747f60d65ca9d6a4f826633", - "properties": { - "accountId": "xxxxxxxxxxxx", - "arn": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:nodegroup/test-cluster/ng-11111111/5ababb6a-75d5-8af7-0351-02c55b0db9f3", - "availabilityZone": "eu-west-1a,eu-west-1b,eu-west-1c", - "awsRegion": "eu-west-1", - "configuration": "\"{}\"", - "configurationItemCaptureTime": null, - "configurationItemStatus": "ResourceDiscovered", - "configurationStateId": null, - "resourceCreationTime": null, - "resourceId": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:nodegroup/test-cluster/ng-11111111/5ababb6a-75d5-8af7-0351-02c55b0db9f3", - "resourceName": "ng-11111111", - "resourceType": "AWS::EKS::Nodegroup", - "supplementaryConfiguration": null, - "tags": "[]", - "version": null, - "vpcId": "vpc-11111111111111111", - "subnetId": null, - "subnetIds": null, - "resourceValue": null, - "state": null, - "private": null, - "loggedInURL": null, - "loginURL": null, - "title": "ng-11111111", - "dBInstanceStatus": null, - "statement": null, - "instanceType": null - } - } - ], - "edges": [ - { - "id": "9cc2d776-016d-02cc-55d2-70769ac0f888", - "label": "IS_ASSOCIATED_WITH_ROLE", - "source": { - "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:cluster/test-cluster", - "label": "AWS_EKS_Cluster" - }, - "target": { - "id": "arn:aws:iam::xxxxxxxxxxxx:role/eksctl-test-cluster-cl-ServiceRole", - "label": "AWS_IAM_Role" - } - }, - { - "id": "22c2d776-016b-3454-cd58-3253ca0d49ba", - "label": "IS_CONTAINED_IN_VPC", - "source": { - "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:cluster/test-cluster", - "label": "AWS_EKS_Cluster" - }, - "target": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:vpc/vpc-11111111111111111", - "label": "AWS_EC2_VPC" - } - }, - { - "id": "acc2d776-016b-b0f4-9862-bae710fcff4c", - "label": "IS_CONTAINED_IN_SUBNET", - "source": { - "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:cluster/test-cluster", - "label": "AWS_EKS_Cluster" - }, - "target": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-11111111111111111", - "label": "AWS_EC2_Subnet" - } - }, - { - "id": "86c2d776-016c-02e7-9739-6f4f6952676a", - "label": "IS_CONTAINED_IN_SUBNET", - "source": { - "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:cluster/test-cluster", - "label": "AWS_EKS_Cluster" - }, - "target": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-22222222222222222", - "label": "AWS_EC2_Subnet" - } - }, - { - "id": "06c2d776-016c-a809-2065-ffcf5b217725", - "label": "IS_CONTAINED_IN_SUBNET", - "source": { - "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:cluster/test-cluster", - "label": "AWS_EKS_Cluster" - }, - "target": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-33333333333333333", - "label": "AWS_EC2_Subnet" - } - }, - { - "id": "4cc2d776-016c-fe1d-92ee-935173352e9a", - "label": "IS_CONTAINED_IN_SUBNET", - "source": { - "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:cluster/test-cluster", - "label": "AWS_EKS_Cluster" - }, - "target": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-44444444444444444", - "label": "AWS_EC2_Subnet" - } - }, - { - "id": "1cc2d776-016c-151b-aa19-b5f5599e9d7e", - "label": "IS_CONTAINED_IN_SUBNET", - "source": { - "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:cluster/test-cluster", - "label": "AWS_EKS_Cluster" - }, - "target": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-55555555555555555", - "label": "AWS_EC2_Subnet" - } - }, - { - "id": "c6c2d776-016c-17f3-a249-92da44a23390", - "label": "IS_CONTAINED_IN_SUBNET", - "source": { - "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:cluster/test-cluster", - "label": "AWS_EKS_Cluster" - }, - "target": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-66666666666666666", - "label": "AWS_EC2_Subnet" - } - }, - { - "id": "eec2d776-016c-de03-d4dd-b8fa042b18a0", - "label": "IS_ASSOCIATED_WITH_SECURITYGROUP", - "source": { - "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:cluster/test-cluster", - "label": "AWS_EKS_Cluster" - }, - "target": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:security-group/sg-11111111111111111", - "label": "AWS_EC2_SecurityGroup" - } - }, - { - "id": "e0c2d776-016d-e0ac-9ba1-767fc246ec8e", - "label": "IS_CONTAINED_IN", - "source": { - "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:nodegroup/test-cluster/ng-11111111/5ababb6a-75d5-8af7-0351-02c55b0db9f3", - "label": "AWS_EKS_Nodegroup" - }, - "target": { - "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:cluster/test-cluster", - "label": "AWS_EKS_Cluster" - } - }, - { - "id": "ccc1d9d4-a24e-311e-fc2c-1b6738126c24", - "label": "IS_CONTAINED_IN_VPC", - "source": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:security-group/sg-11111111111111111", - "label": "AWS_EC2_SecurityGroup" - }, - "target": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:vpc/vpc-11111111111111111", - "label": "AWS_EC2_VPC" - } - }, - { - "id": "aec1d9d4-a0a7-430a-a5a7-a65f37582a88", - "label": "IS_CONTAINED_IN_VPC", - "source": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-11111111111111111", - "label": "AWS_EC2_Subnet" - }, - "target": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:vpc/vpc-11111111111111111", - "label": "AWS_EC2_VPC" - } - }, - { - "id": "24c1d9d4-a0cd-ba16-299e-4502f5dc555e", - "label": "IS_CONTAINED_IN_VPC", - "source": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-22222222222222222", - "label": "AWS_EC2_Subnet" - }, - "target": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:vpc/vpc-11111111111111111", - "label": "AWS_EC2_VPC" - } - }, - { - "id": "38c1d9d4-a0cf-22be-741a-3e56c0b916a0", - "label": "IS_CONTAINED_IN_VPC", - "source": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-33333333333333333", - "label": "AWS_EC2_Subnet" - }, - "target": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:vpc/vpc-11111111111111111", - "label": "AWS_EC2_VPC" - } - }, - { - "id": "16c1d9d4-a0d0-6ed9-1e52-c6e33a280369", - "label": "IS_CONTAINED_IN_VPC", - "source": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-44444444444444444", - "label": "AWS_EC2_Subnet" - }, - "target": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:vpc/vpc-11111111111111111", - "label": "AWS_EC2_VPC" - } - }, - { - "id": "1ec1d9d4-a0e5-968f-ef53-fa19fd23b8a1", - "label": "IS_CONTAINED_IN_VPC", - "source": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-55555555555555555", - "label": "AWS_EC2_Subnet" - }, - "target": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:vpc/vpc-11111111111111111", - "label": "AWS_EC2_VPC" - } - }, - { - "id": "26c1d9d4-a0e8-478f-4985-5132a87dccf3", - "label": "IS_CONTAINED_IN_VPC", - "source": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-66666666666666666", - "label": "AWS_EC2_Subnet" - }, - "target": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:vpc/vpc-11111111111111111", - "label": "AWS_EC2_VPC" - } - }, - { - "id": "54c2d776-016d-a6c9-3e8f-5ef95535dad3", - "label": "IS_CONTAINED_IN_VPC", - "source": { - "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:nodegroup/test-cluster/ng-11111111/5ababb6a-75d5-8af7-0351-02c55b0db9f3", - "label": "AWS_EKS_Nodegroup" - }, - "target": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:vpc/vpc-11111111111111111", - "label": "AWS_EC2_VPC" - } - }, - { - "id": "68c2d776-016d-9e9f-218b-25295a876c49", - "label": "IS_CONTAINED_IN_SUBNET", - "source": { - "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:nodegroup/test-cluster/ng-11111111/5ababb6a-75d5-8af7-0351-02c55b0db9f3", - "label": "AWS_EKS_Nodegroup" - }, - "target": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-11111111111111111", - "label": "AWS_EC2_Subnet" - } - }, - { - "id": "e4c2d776-016e-6e94-2439-e287cf8e6e93", - "label": "IS_CONTAINED_IN_SUBNET", - "source": { - "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:nodegroup/test-cluster/ng-11111111/5ababb6a-75d5-8af7-0351-02c55b0db9f3", - "label": "AWS_EKS_Nodegroup" - }, - "target": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-22222222222222222", - "label": "AWS_EC2_Subnet" - } - }, - { - "id": "b8c2d776-016e-0e72-a2a7-9c2719fd07d3", - "label": "IS_CONTAINED_IN_SUBNET", - "source": { - "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:nodegroup/test-cluster/ng-11111111/5ababb6a-75d5-8af7-0351-02c55b0db9f3", - "label": "AWS_EKS_Nodegroup" - }, - "target": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-66666666666666666", - "label": "AWS_EC2_Subnet" - } - } - ] - } -} \ No newline at end of file + "getResourceGraph": { + "nodes": [ + { + "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:cluster/test-cluster", + "label": "AWS_EKS_Cluster", + "md5Hash": "", + "properties": { + "accountId": "xxxxxxxxxxxx", + "arn": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:cluster/test-cluster", + "availabilityZone": "eu-west-1a,eu-west-1b,eu-west-1c", + "awsRegion": "eu-west-1", + "configuration": "\"{}\"", + "configurationItemCaptureTime": "2023-03-11T00:54:04.337Z", + "configurationItemStatus": "OK", + "configurationStateId": "1666054444349", + "resourceCreationTime": null, + "resourceId": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:cluster/test-cluster", + "resourceName": "test-cluster", + "resourceType": "AWS::EKS::Cluster", + "supplementaryConfiguration": "\"{}\"", + "tags": "[]", + "version": "1.3", + "vpcId": "vpc-11111111111111111", + "subnetId": null, + "subnetIds": null, + "resourceValue": null, + "state": null, + "private": null, + "loggedInURL": null, + "loginURL": null, + "title": "test-cluster", + "dBInstanceStatus": null, + "statement": null, + "instanceType": null + } + }, + { + "id": "arn:aws:iam::xxxxxxxxxxxx:role/eksctl-test-cluster-cl-ServiceRole", + "label": "AWS_IAM_Role", + "md5Hash": "", + "properties": { + "accountId": "xxxxxxxxxxxx", + "arn": "arn:aws:iam::xxxxxxxxxxxx:role/eksctl-test-cluster-cl-ServiceRole", + "availabilityZone": "Not Applicable", + "awsRegion": "global", + "configuration": "\"{}\"", + "configurationItemCaptureTime": "2022-02-14T13:50:59.294Z", + "configurationItemStatus": "ResourceDiscovered", + "configurationStateId": null, + "resourceCreationTime": "2020-10-29T23:49:04.000Z", + "resourceId": "AAAAAAAAAAAAAAAAAAAA", + "resourceName": "eksctl-test-cluster-cl-ServiceRole", + "resourceType": "AWS::IAM::Role", + "supplementaryConfiguration": null, + "tags": "[]", + "version": "1.3", + "vpcId": null, + "subnetId": null, + "subnetIds": null, + "resourceValue": null, + "state": null, + "private": null, + "loggedInURL": "https://console.aws.amazon.com/iam/home?#/roles", + "loginURL": "https://xxxxxxxxxxxx.signin.aws.amazon.com/console/iam?home?#/roles", + "title": "eksctl-test-cluster-cluster/ServiceRole", + "dBInstanceStatus": null, + "statement": null, + "instanceType": null + } + }, + { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:vpc/vpc-11111111111111111", + "label": "AWS_EC2_VPC", + "md5Hash": "", + "properties": { + "accountId": "xxxxxxxxxxxx", + "arn": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:vpc/vpc-11111111111111111", + "availabilityZone": "Multiple Availability Zones", + "awsRegion": "eu-west-1", + "configuration": "\"{}\"", + "configurationItemCaptureTime": "2023-05-30T22:16:37.179Z", + "configurationItemStatus": "OK", + "configurationStateId": null, + "resourceCreationTime": null, + "resourceId": "vpc-11111111111111111", + "resourceName": null, + "resourceType": "AWS::EC2::VPC", + "supplementaryConfiguration": null, + "tags": "[]", + "version": "1.3", + "vpcId": null, + "subnetId": null, + "subnetIds": null, + "resourceValue": null, + "state": null, + "private": null, + "loggedInURL": "https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#vpcs:sort=VpcId", + "loginURL": "https://xxxxxxxxxxxx.signin.aws.amazon.com/console/vpc?region=eu-west-1#vpcs:sort=VpcId", + "title": "test-cluster-vpc", + "dBInstanceStatus": null, + "statement": null, + "instanceType": null + } + }, + { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-11111111111111111", + "label": "AWS_EC2_Subnet", + "md5Hash": "", + "properties": { + "accountId": "xxxxxxxxxxxx", + "arn": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-11111111111111111", + "availabilityZone": "eu-west-1c", + "awsRegion": "eu-west-1", + "configuration": "\"{}\"", + "configurationItemCaptureTime": "2023-05-29T16:13:25.221Z", + "configurationItemStatus": "OK", + "configurationStateId": null, + "resourceCreationTime": null, + "resourceId": "subnet-11111111111111111", + "resourceName": null, + "resourceType": "AWS::EC2::Subnet", + "supplementaryConfiguration": null, + "tags": "[]", + "version": "1.3", + "vpcId": "vpc-11111111111111111", + "subnetId": "subnet-11111111111111111", + "subnetIds": null, + "resourceValue": null, + "state": null, + "private": "true", + "loggedInURL": "https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId", + "loginURL": "https://xxxxxxxxxxxx.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId", + "title": "test-cluster-subnet1", + "dBInstanceStatus": null, + "statement": null, + "instanceType": null + } + }, + { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-22222222222222222", + "label": "AWS_EC2_Subnet", + "md5Hash": "", + "properties": { + "accountId": "xxxxxxxxxxxx", + "arn": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-22222222222222222", + "availabilityZone": "eu-west-1b", + "awsRegion": "eu-west-1", + "configuration": "\"{}\"", + "configurationItemCaptureTime": "2020-10-29T23:57:46.899Z", + "configurationItemStatus": "OK", + "configurationStateId": null, + "resourceCreationTime": null, + "resourceId": "subnet-22222222222222222", + "resourceName": null, + "resourceType": "AWS::EC2::Subnet", + "supplementaryConfiguration": null, + "tags": "[]", + "version": "1.3", + "vpcId": "vpc-11111111111111111", + "subnetId": "subnet-22222222222222222", + "subnetIds": null, + "resourceValue": null, + "state": null, + "private": "true", + "loggedInURL": "https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId", + "loginURL": "https://xxxxxxxxxxxx.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId", + "title": "test-cluster-subnet2", + "dBInstanceStatus": null, + "statement": null, + "instanceType": null + } + }, + { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-33333333333333333", + "label": "AWS_EC2_Subnet", + "md5Hash": "", + "properties": { + "accountId": "xxxxxxxxxxxx", + "arn": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-33333333333333333", + "availabilityZone": "eu-west-1b", + "awsRegion": "eu-west-1", + "configuration": "\"{}\"", + "configurationItemCaptureTime": "2023-05-20T05:54:05.329Z", + "configurationItemStatus": "OK", + "configurationStateId": null, + "resourceCreationTime": null, + "resourceId": "subnet-33333333333333333", + "resourceName": null, + "resourceType": "AWS::EC2::Subnet", + "supplementaryConfiguration": null, + "tags": "[]", + "version": "1.3", + "vpcId": "vpc-11111111111111111", + "subnetId": "subnet-33333333333333333", + "subnetIds": null, + "resourceValue": null, + "state": null, + "private": "false", + "loggedInURL": "https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId", + "loginURL": "https://xxxxxxxxxxxx.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId", + "title": "test-cluster-subnet3", + "dBInstanceStatus": null, + "statement": null, + "instanceType": null + } + }, + { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-44444444444444444", + "label": "AWS_EC2_Subnet", + "md5Hash": "", + "properties": { + "accountId": "xxxxxxxxxxxx", + "arn": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-44444444444444444", + "availabilityZone": "eu-west-1a", + "awsRegion": "eu-west-1", + "configuration": "\"{}\"", + "configurationItemCaptureTime": "2023-05-20T05:54:05.329Z", + "configurationItemStatus": "OK", + "configurationStateId": null, + "resourceCreationTime": null, + "resourceId": "subnet-44444444444444444", + "resourceName": null, + "resourceType": "AWS::EC2::Subnet", + "supplementaryConfiguration": null, + "tags": "[]", + "version": "1.3", + "vpcId": "vpc-11111111111111111", + "subnetId": "subnet-44444444444444444", + "subnetIds": null, + "resourceValue": null, + "state": null, + "private": "false", + "loggedInURL": "https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId", + "loginURL": "https://xxxxxxxxxxxx.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId", + "title": "test-cluster-subnet4", + "dBInstanceStatus": null, + "statement": null, + "instanceType": null + } + }, + { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-55555555555555555", + "label": "AWS_EC2_Subnet", + "md5Hash": "", + "properties": { + "accountId": "xxxxxxxxxxxx", + "arn": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-55555555555555555", + "availabilityZone": "eu-west-1c", + "awsRegion": "eu-west-1", + "configuration": "\"{}\"", + "configurationItemCaptureTime": "2023-05-20T05:54:05.329Z", + "configurationItemStatus": "OK", + "configurationStateId": null, + "resourceCreationTime": null, + "resourceId": "subnet-55555555555555555", + "resourceName": null, + "resourceType": "AWS::EC2::Subnet", + "supplementaryConfiguration": null, + "tag": "'[]", + "version": "1.3", + "vpcId": "vpc-11111111111111111", + "subnetId": "subnet-55555555555555555", + "subnetIds": null, + "resourceValue": null, + "state": null, + "private": "false", + "loggedInURL": "https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId", + "loginURL": "https://xxxxxxxxxxxx.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId", + "title": "test-cluster-subnet5", + "dBInstanceStatus": null, + "statement": null, + "instanceType": null + } + }, + { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-66666666666666666", + "label": "AWS_EC2_Subnet", + "md5Hash": "", + "properties": { + "accountId": "xxxxxxxxxxxx", + "arn": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-66666666666666666", + "availabilityZone": "eu-west-1a", + "awsRegion": "eu-west-1", + "configuration": "\"{}\"", + "configurationItemCaptureTime": "2023-05-30T22:16:37.298Z", + "configurationItemStatus": "OK", + "configurationStateId": null, + "resourceCreationTime": null, + "resourceId": "subnet-66666666666666666", + "resourceName": null, + "resourceType": "AWS::EC2::Subnet", + "supplementaryConfiguration": null, + "tags": "[]", + "version": "1.3", + "vpcId": "vpc-11111111111111111", + "subnetId": "subnet-66666666666666666", + "subnetIds": null, + "resourceValue": null, + "state": null, + "private": "true", + "loggedInURL": "https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId", + "loginURL": "https://xxxxxxxxxxxx.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId", + "title": "test-cluster-subnet6", + "dBInstanceStatus": null, + "statement": null, + "instanceType": null + } + }, + { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:security-group/sg-11111111111111111", + "label": "AWS_EC2_SecurityGroup", + "md5Hash": "", + "properties": { + "accountId": "xxxxxxxxxxxx", + "arn": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:security-group/sg-11111111111111111", + "availabilityZone": "Not Applicable", + "awsRegion": "eu-west-1", + "configuration": "\"{}\"", + "configurationItemCaptureTime": "2023-05-20T05:54:05.214Z", + "configurationItemStatus": "OK", + "configurationStateId": null, + "resourceCreationTime": null, + "resourceId": "sg-11111111111111111", + "resourceName": "test-cluster/ControlPlaneSecurityGroup", + "resourceType": "AWS::EC2::SecurityGroup", + "supplementaryConfiguration": null, + "tags": "[]", + "version": "1.3", + "vpcId": "vpc-11111111111111111", + "subnetId": null, + "subnetIds": null, + "resourceValue": null, + "state": null, + "private": null, + "loggedInURL": "https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId", + "loginURL": "https://xxxxxxxxxxxx.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId", + "title": "test-cluster/ControlPlaneSecurityGroup", + "dBInstanceStatus": null, + "statement": null, + "instanceType": null + } + }, + { + "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:nodegroup/test-cluster/ng-11111111/5ababb6a-75d5-8af7-0351-02c55b0db9f3", + "label": "AWS_EKS_Nodegroup", + "md5Hash": "47fe23e99747f60d65ca9d6a4f826633", + "properties": { + "accountId": "xxxxxxxxxxxx", + "arn": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:nodegroup/test-cluster/ng-11111111/5ababb6a-75d5-8af7-0351-02c55b0db9f3", + "availabilityZone": "eu-west-1a,eu-west-1b,eu-west-1c", + "awsRegion": "eu-west-1", + "configuration": "\"{}\"", + "configurationItemCaptureTime": null, + "configurationItemStatus": "ResourceDiscovered", + "configurationStateId": null, + "resourceCreationTime": null, + "resourceId": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:nodegroup/test-cluster/ng-11111111/5ababb6a-75d5-8af7-0351-02c55b0db9f3", + "resourceName": "ng-11111111", + "resourceType": "AWS::EKS::Nodegroup", + "supplementaryConfiguration": null, + "tags": "[]", + "version": null, + "vpcId": "vpc-11111111111111111", + "subnetId": null, + "subnetIds": null, + "resourceValue": null, + "state": null, + "private": null, + "loggedInURL": null, + "loginURL": null, + "title": "ng-11111111", + "dBInstanceStatus": null, + "statement": null, + "instanceType": null + } + } + ], + "edges": [ + { + "id": "9cc2d776-016d-02cc-55d2-70769ac0f888", + "label": "IS_ASSOCIATED_WITH_ROLE", + "source": { + "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:cluster/test-cluster", + "label": "AWS_EKS_Cluster" + }, + "target": { + "id": "arn:aws:iam::xxxxxxxxxxxx:role/eksctl-test-cluster-cl-ServiceRole", + "label": "AWS_IAM_Role" + } + }, + { + "id": "22c2d776-016b-3454-cd58-3253ca0d49ba", + "label": "IS_CONTAINED_IN_VPC", + "source": { + "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:cluster/test-cluster", + "label": "AWS_EKS_Cluster" + }, + "target": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:vpc/vpc-11111111111111111", + "label": "AWS_EC2_VPC" + } + }, + { + "id": "acc2d776-016b-b0f4-9862-bae710fcff4c", + "label": "IS_CONTAINED_IN_SUBNET", + "source": { + "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:cluster/test-cluster", + "label": "AWS_EKS_Cluster" + }, + "target": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-11111111111111111", + "label": "AWS_EC2_Subnet" + } + }, + { + "id": "86c2d776-016c-02e7-9739-6f4f6952676a", + "label": "IS_CONTAINED_IN_SUBNET", + "source": { + "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:cluster/test-cluster", + "label": "AWS_EKS_Cluster" + }, + "target": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-22222222222222222", + "label": "AWS_EC2_Subnet" + } + }, + { + "id": "06c2d776-016c-a809-2065-ffcf5b217725", + "label": "IS_CONTAINED_IN_SUBNET", + "source": { + "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:cluster/test-cluster", + "label": "AWS_EKS_Cluster" + }, + "target": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-33333333333333333", + "label": "AWS_EC2_Subnet" + } + }, + { + "id": "4cc2d776-016c-fe1d-92ee-935173352e9a", + "label": "IS_CONTAINED_IN_SUBNET", + "source": { + "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:cluster/test-cluster", + "label": "AWS_EKS_Cluster" + }, + "target": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-44444444444444444", + "label": "AWS_EC2_Subnet" + } + }, + { + "id": "1cc2d776-016c-151b-aa19-b5f5599e9d7e", + "label": "IS_CONTAINED_IN_SUBNET", + "source": { + "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:cluster/test-cluster", + "label": "AWS_EKS_Cluster" + }, + "target": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-55555555555555555", + "label": "AWS_EC2_Subnet" + } + }, + { + "id": "c6c2d776-016c-17f3-a249-92da44a23390", + "label": "IS_CONTAINED_IN_SUBNET", + "source": { + "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:cluster/test-cluster", + "label": "AWS_EKS_Cluster" + }, + "target": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-66666666666666666", + "label": "AWS_EC2_Subnet" + } + }, + { + "id": "eec2d776-016c-de03-d4dd-b8fa042b18a0", + "label": "IS_ASSOCIATED_WITH_SECURITYGROUP", + "source": { + "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:cluster/test-cluster", + "label": "AWS_EKS_Cluster" + }, + "target": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:security-group/sg-11111111111111111", + "label": "AWS_EC2_SecurityGroup" + } + }, + { + "id": "e0c2d776-016d-e0ac-9ba1-767fc246ec8e", + "label": "IS_CONTAINED_IN", + "source": { + "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:nodegroup/test-cluster/ng-11111111/5ababb6a-75d5-8af7-0351-02c55b0db9f3", + "label": "AWS_EKS_Nodegroup" + }, + "target": { + "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:cluster/test-cluster", + "label": "AWS_EKS_Cluster" + } + }, + { + "id": "ccc1d9d4-a24e-311e-fc2c-1b6738126c24", + "label": "IS_CONTAINED_IN_VPC", + "source": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:security-group/sg-11111111111111111", + "label": "AWS_EC2_SecurityGroup" + }, + "target": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:vpc/vpc-11111111111111111", + "label": "AWS_EC2_VPC" + } + }, + { + "id": "aec1d9d4-a0a7-430a-a5a7-a65f37582a88", + "label": "IS_CONTAINED_IN_VPC", + "source": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-11111111111111111", + "label": "AWS_EC2_Subnet" + }, + "target": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:vpc/vpc-11111111111111111", + "label": "AWS_EC2_VPC" + } + }, + { + "id": "24c1d9d4-a0cd-ba16-299e-4502f5dc555e", + "label": "IS_CONTAINED_IN_VPC", + "source": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-22222222222222222", + "label": "AWS_EC2_Subnet" + }, + "target": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:vpc/vpc-11111111111111111", + "label": "AWS_EC2_VPC" + } + }, + { + "id": "38c1d9d4-a0cf-22be-741a-3e56c0b916a0", + "label": "IS_CONTAINED_IN_VPC", + "source": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-33333333333333333", + "label": "AWS_EC2_Subnet" + }, + "target": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:vpc/vpc-11111111111111111", + "label": "AWS_EC2_VPC" + } + }, + { + "id": "16c1d9d4-a0d0-6ed9-1e52-c6e33a280369", + "label": "IS_CONTAINED_IN_VPC", + "source": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-44444444444444444", + "label": "AWS_EC2_Subnet" + }, + "target": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:vpc/vpc-11111111111111111", + "label": "AWS_EC2_VPC" + } + }, + { + "id": "1ec1d9d4-a0e5-968f-ef53-fa19fd23b8a1", + "label": "IS_CONTAINED_IN_VPC", + "source": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-55555555555555555", + "label": "AWS_EC2_Subnet" + }, + "target": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:vpc/vpc-11111111111111111", + "label": "AWS_EC2_VPC" + } + }, + { + "id": "26c1d9d4-a0e8-478f-4985-5132a87dccf3", + "label": "IS_CONTAINED_IN_VPC", + "source": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-66666666666666666", + "label": "AWS_EC2_Subnet" + }, + "target": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:vpc/vpc-11111111111111111", + "label": "AWS_EC2_VPC" + } + }, + { + "id": "54c2d776-016d-a6c9-3e8f-5ef95535dad3", + "label": "IS_CONTAINED_IN_VPC", + "source": { + "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:nodegroup/test-cluster/ng-11111111/5ababb6a-75d5-8af7-0351-02c55b0db9f3", + "label": "AWS_EKS_Nodegroup" + }, + "target": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:vpc/vpc-11111111111111111", + "label": "AWS_EC2_VPC" + } + }, + { + "id": "68c2d776-016d-9e9f-218b-25295a876c49", + "label": "IS_CONTAINED_IN_SUBNET", + "source": { + "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:nodegroup/test-cluster/ng-11111111/5ababb6a-75d5-8af7-0351-02c55b0db9f3", + "label": "AWS_EKS_Nodegroup" + }, + "target": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-11111111111111111", + "label": "AWS_EC2_Subnet" + } + }, + { + "id": "e4c2d776-016e-6e94-2439-e287cf8e6e93", + "label": "IS_CONTAINED_IN_SUBNET", + "source": { + "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:nodegroup/test-cluster/ng-11111111/5ababb6a-75d5-8af7-0351-02c55b0db9f3", + "label": "AWS_EKS_Nodegroup" + }, + "target": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-22222222222222222", + "label": "AWS_EC2_Subnet" + } + }, + { + "id": "b8c2d776-016e-0e72-a2a7-9c2719fd07d3", + "label": "IS_CONTAINED_IN_SUBNET", + "source": { + "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:nodegroup/test-cluster/ng-11111111/5ababb6a-75d5-8af7-0351-02c55b0db9f3", + "label": "AWS_EKS_Nodegroup" + }, + "target": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-66666666666666666", + "label": "AWS_EC2_Subnet" + } + } + ] + } +} diff --git a/source/frontend/src/tests/mocks/fixtures/getResourceGraph/nodegroup.json b/source/frontend/src/tests/mocks/fixtures/getResourceGraph/nodegroup.json index f47156dc..70268089 100644 --- a/source/frontend/src/tests/mocks/fixtures/getResourceGraph/nodegroup.json +++ b/source/frontend/src/tests/mocks/fixtures/getResourceGraph/nodegroup.json @@ -1,680 +1,680 @@ { - "getResourceGraph": { - "nodes": [ - { - "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:nodegroup/test-cluster/ng-11111111/5ababb6a-75d5-8af7-0351-02c55b0db9f3", - "label": "AWS_EKS_Nodegroup", - "md5Hash": "47fe23e99747f60d65ca9d6a4f826633", - "properties": { - "accountId": "xxxxxxxxxxxx", - "arn": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:nodegroup/test-cluster/ng-11111111/5ababb6a-75d5-8af7-0351-02c55b0db9f3", - "availabilityZone": "eu-west-1a,eu-west-1b,eu-west-1c", - "awsRegion": "eu-west-1", - "configuration": "\"{}\"", - "configurationItemCaptureTime": null, - "configurationItemStatus": "ResourceDiscovered", - "configurationStateId": null, - "resourceCreationTime": null, - "resourceId": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:nodegroup/test-cluster/ng-11111111/5ababb6a-75d5-8af7-0351-02c55b0db9f3", - "resourceName": "ng-11111111", - "resourceType": "AWS::EKS::Nodegroup", - "supplementaryConfiguration": null, - "tags": "[]", - "version": null, - "vpcId": "vpc-11111111111111111", - "subnetId": null, - "subnetIds": null, - "resourceValue": null, - "state": null, - "private": null, - "loggedInURL": null, - "loginURL": null, - "title": "ng-11111111", - "dBInstanceStatus": null, - "statement": null, - "instanceType": null - } - }, - { - "id": "arn:aws:iam::xxxxxxxxxxxx:role/test-cluster-NodeInstanceRole", - "label": "AWS_IAM_Role", - "md5Hash": "", - "properties": { - "accountId": "xxxxxxxxxxxx", - "arn": "arn:aws:iam::xxxxxxxxxxxx:role/test-cluster-NodeInstanceRole", - "availabilityZone": "Not Applicable", - "awsRegion": "global", - "configuration": "\"{}\"", - "configurationItemCaptureTime": "2022-02-14T13:50:59.294Z", - "configurationItemStatus": "ResourceDiscovered", - "configurationStateId": null, - "resourceCreationTime": "2020-10-30T00:07:24.000Z", - "resourceId": "BBBBBBBBBBBBBB", - "resourceName": "test-cluster-NodeInstanceRole", - "resourceType": "AWS::IAM::Role", - "supplementaryConfiguration": null, - "tags": "[]", - "version": "1.3", - "vpcId": null, - "subnetId": null, - "subnetIds": null, - "resourceValue": null, - "state": null, - "private": null, - "loggedInURL": "https://console.aws.amazon.com/iam/home?#/roles", - "loginURL": "https://xxxxxxxxxxxx.signin.aws.amazon.com/console/iam?home?#/roles", - "title": "test-cluster-NodeInstanceRole", - "dBInstanceStatus": null, - "statement": null, - "instanceType": null - } - }, - { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:launch-template/lt-11111111111111111", - "label": "AWS_EC2_LaunchTemplate", - "md5Hash": "", - "properties": { - "accountId": "xxxxxxxxxxxx", - "arn": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:launch-template/lt-11111111111111111", - "availabilityZone": "Regional", - "awsRegion": "eu-west-1", - "configuration": "\"{}\"", - "configurationItemCaptureTime": "2022-02-22T10:12:29.829Z", - "configurationItemStatus": "ResourceDiscovered", - "configurationStateId": "1645524749829", - "resourceCreationTime": null, - "resourceId": "lt-11111111111111111", - "resourceName": "test-cluster--nodegroup-ng-11111111", - "resourceType": "AWS::EC2::LaunchTemplate", - "supplementaryConfiguration": "\"{}\"", - "tags": "[]", - "version": "1.3", - "vpcId": null, - "subnetId": null, - "subnetIds": null, - "resourceValue": null, - "state": null, - "private": null, - "loggedInURL": null, - "loginURL": null, - "title": "test-cluster--nodegroup-ng-11111111", - "dBInstanceStatus": null, - "statement": null, - "instanceType": null - } - }, - { - "id": "arn:aws:autoscaling:eu-west-1:xxxxxxxxxxxx:autoScalingGroup:cc4a478a-ce27-43ad-b468-3b5f3a4013e6:autoScalingGroupName/eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3", - "label": "AWS_AutoScaling_AutoScalingGroup", - "md5Hash": "", - "properties": { - "accountId": "xxxxxxxxxxxx", - "arn": "arn:aws:autoscaling:eu-west-1:xxxxxxxxxxxx:autoScalingGroup:cc4a478a-ce27-43ad-b468-3b5f3a4013e6:autoScalingGroupName/eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3", - "availabilityZone": "eu-west-1a,eu-west-1b,eu-west-1c", - "awsRegion": "eu-west-1", - "configuration": "\"{}\"", - "configurationItemCaptureTime": "2023-01-03T23:54:04.184Z", - "configurationItemStatus": "OK", - "configurationStateId": null, - "resourceCreationTime": "2020-10-30T00:09:06.968Z", - "resourceId": "arn:aws:autoscaling:eu-west-1:xxxxxxxxxxxx:autoScalingGroup:cc4a478a-ce27-43ad-b468-3b5f3a4013e6:autoScalingGroupName/eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3", - "resourceName": "eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3", - "resourceType": "AWS::AutoScaling::AutoScalingGroup", - "supplementaryConfiguration": null, - "tags": "[]", - "version": "1.3", - "vpcId": "vpc-11111111111111111", - "subnetId": null, - "subnetIds": null, - "resourceValue": null, - "state": null, - "private": null, - "loggedInURL": "https://eu-west-1.console.aws.amazon.com/ec2/home/autoscaling/home?region=eu-west-1#AutoScalingGroups:id=eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3;view=details", - "loginURL": "https://xxxxxxxxxxxx.signin.aws.amazon.com/console/ec2/autoscaling/home?region=eu-west-1#AutoScalingGroups:id=eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3;view=details", - "title": "eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3", - "dBInstanceStatus": null, - "statement": null, - "instanceType": null - } - }, - { - "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:cluster/test-cluster", - "label": "AWS_EKS_Cluster", - "md5Hash": "", - "properties": { - "accountId": "xxxxxxxxxxxx", - "arn": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:cluster/test-cluster", - "availabilityZone": "eu-west-1a,eu-west-1b,eu-west-1c", - "awsRegion": "eu-west-1", - "configuration": "\"{}\"", - "configurationItemCaptureTime": "2023-03-11T00:54:04.337Z", - "configurationItemStatus": "OK", - "configurationStateId": "1666054444349", - "resourceCreationTime": null, - "resourceId": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:cluster/test-cluster", - "resourceName": "test-cluster", - "resourceType": "AWS::EKS::Cluster", - "supplementaryConfiguration": "\"{}\"", - "tags": "[]", - "version": "1.3", - "vpcId": "vpc-11111111111111111", - "subnetId": null, - "subnetIds": null, - "resourceValue": null, - "state": null, - "private": null, - "loggedInURL": null, - "loginURL": null, - "title": "test-cluster", - "dBInstanceStatus": null, - "statement": null, - "instanceType": null - } - }, - { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:vpc/vpc-11111111111111111", - "label": "AWS_EC2_VPC", - "md5Hash": "", - "properties": { - "accountId": "xxxxxxxxxxxx", - "arn": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:vpc/vpc-11111111111111111", - "availabilityZone": "Multiple Availability Zones", - "awsRegion": "eu-west-1", - "configuration": "\"{}\"", - "configurationItemCaptureTime": "2023-05-30T22:16:37.179Z", - "configurationItemStatus": "OK", - "configurationStateId": null, - "resourceCreationTime": null, - "resourceId": "vpc-11111111111111111", - "resourceName": null, - "resourceType": "AWS::EC2::VPC", - "supplementaryConfiguration": null, - "tags": "[]", - "version": "1.3", - "vpcId": null, - "subnetId": null, - "subnetIds": null, - "resourceValue": null, - "state": null, - "private": null, - "loggedInURL": "https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#vpcs:sort=VpcId", - "loginURL": "https://xxxxxxxxxxxx.signin.aws.amazon.com/console/vpc?region=eu-west-1#vpcs:sort=VpcId", - "title": "test-cluster-vpc", - "dBInstanceStatus": null, - "statement": null, - "instanceType": null - } - }, - { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-11111111111111111", - "label": "AWS_EC2_Subnet", - "md5Hash": "", - "properties": { - "accountId": "xxxxxxxxxxxx", - "arn": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-11111111111111111", - "availabilityZone": "eu-west-1c", - "awsRegion": "eu-west-1", - "configuration": "\"{}\"", - "configurationItemCaptureTime": "2023-05-29T16:13:25.221Z", - "configurationItemStatus": "OK", - "configurationStateId": null, - "resourceCreationTime": null, - "resourceId": "subnet-11111111111111111", - "resourceName": null, - "resourceType": "AWS::EC2::Subnet", - "supplementaryConfiguration": null, - "tags": "[]", - "version": "1.3", - "vpcId": "vpc-11111111111111111", - "subnetId": "subnet-11111111111111111", - "subnetIds": null, - "resourceValue": null, - "state": null, - "private": "true", - "loggedInURL": "https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId", - "loginURL": "https://xxxxxxxxxxxx.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId", - "title": "test-cluster-subnet1", - "dBInstanceStatus": null, - "statement": null, - "instanceType": null - } - }, - { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-22222222222222222", - "label": "AWS_EC2_Subnet", - "md5Hash": "", - "properties": { - "accountId": "xxxxxxxxxxxx", - "arn": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-22222222222222222", - "availabilityZone": "eu-west-1b", - "awsRegion": "eu-west-1", - "configuration": "\"{}\"", - "configurationItemCaptureTime": "2020-10-29T23:57:46.899Z", - "configurationItemStatus": "OK", - "configurationStateId": null, - "resourceCreationTime": null, - "resourceId": "subnet-22222222222222222", - "resourceName": null, - "resourceType": "AWS::EC2::Subnet", - "supplementaryConfiguration": null, - "tags": "[]", - "version": "1.3", - "vpcId": "vpc-11111111111111111", - "subnetId": "subnet-22222222222222222", - "subnetIds": null, - "resourceValue": null, - "state": null, - "private": "true", - "loggedInURL": "https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId", - "loginURL": "https://xxxxxxxxxxxx.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId", - "title": "test-cluster-subnet2", - "dBInstanceStatus": null, - "statement": null, - "instanceType": null - } - }, - { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-33333333333333333", - "label": "AWS_EC2_Subnet", - "md5Hash": "", - "properties": { - "accountId": "xxxxxxxxxxxx", - "arn": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-33333333333333333", - "availabilityZone": "eu-west-1b", - "awsRegion": "eu-west-1", - "configuration": "\"{}\"", - "configurationItemCaptureTime": "2023-05-20T05:54:05.329Z", - "configurationItemStatus": "OK", - "configurationStateId": null, - "resourceCreationTime": null, - "resourceId": "subnet-33333333333333333", - "resourceName": null, - "resourceType": "AWS::EC2::Subnet", - "supplementaryConfiguration": null, - "tags": "[]", - "version": "1.3", - "vpcId": "vpc-11111111111111111", - "subnetId": "subnet-33333333333333333", - "subnetIds": null, - "resourceValue": null, - "state": null, - "private": "false", - "loggedInURL": "https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId", - "loginURL": "https://xxxxxxxxxxxx.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId", - "title": "test-cluster-subnet3", - "dBInstanceStatus": null, - "statement": null, - "instanceType": null - } - }, - { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-44444444444444444", - "label": "AWS_EC2_Subnet", - "md5Hash": "", - "properties": { - "accountId": "xxxxxxxxxxxx", - "arn": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-44444444444444444", - "availabilityZone": "eu-west-1a", - "awsRegion": "eu-west-1", - "configuration": "\"{}\"", - "configurationItemCaptureTime": "2023-05-20T05:54:05.329Z", - "configurationItemStatus": "OK", - "configurationStateId": null, - "resourceCreationTime": null, - "resourceId": "subnet-44444444444444444", - "resourceName": null, - "resourceType": "AWS::EC2::Subnet", - "supplementaryConfiguration": null, - "tags": "[]", - "version": "1.3", - "vpcId": "vpc-11111111111111111", - "subnetId": "subnet-44444444444444444", - "subnetIds": null, - "resourceValue": null, - "state": null, - "private": "false", - "loggedInURL": "https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId", - "loginURL": "https://xxxxxxxxxxxx.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId", - "title": "test-cluster-subnet4", - "dBInstanceStatus": null, - "statement": null, - "instanceType": null - } - }, - { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-55555555555555555", - "label": "AWS_EC2_Subnet", - "md5Hash": "", - "properties": { - "accountId": "xxxxxxxxxxxx", - "arn": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-55555555555555555", - "availabilityZone": "eu-west-1c", - "awsRegion": "eu-west-1", - "configuration": "\"{}\"", - "configurationItemCaptureTime": "2023-05-20T05:54:05.329Z", - "configurationItemStatus": "OK", - "configurationStateId": null, - "resourceCreationTime": null, - "resourceId": "subnet-55555555555555555", - "resourceName": null, - "resourceType": "AWS::EC2::Subnet", - "supplementaryConfiguration": null, - "tag": "'[]", - "version": "1.3", - "vpcId": "vpc-11111111111111111", - "subnetId": "subnet-55555555555555555", - "subnetIds": null, - "resourceValue": null, - "state": null, - "private": "false", - "loggedInURL": "https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId", - "loginURL": "https://xxxxxxxxxxxx.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId", - "title": "test-cluster-subnet5", - "dBInstanceStatus": null, - "statement": null, - "instanceType": null - } - }, - { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-466666666666666666", - "label": "AWS_EC2_Subnet", - "md5Hash": "", - "properties": { - "accountId": "xxxxxxxxxxxx", - "arn": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-466666666666666666", - "availabilityZone": "eu-west-1a", - "awsRegion": "eu-west-1", - "configuration": "\"{}\"", - "configurationItemCaptureTime": "2023-05-30T22:16:37.298Z", - "configurationItemStatus": "OK", - "configurationStateId": null, - "resourceCreationTime": null, - "resourceId": "subnet-466666666666666666", - "resourceName": null, - "resourceType": "AWS::EC2::Subnet", - "supplementaryConfiguration": null, - "tags": "[]", - "version": "1.3", - "vpcId": "vpc-11111111111111111", - "subnetId": "subnet-466666666666666666", - "subnetIds": null, - "resourceValue": null, - "state": null, - "private": "true", - "loggedInURL": "https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId", - "loginURL": "https://xxxxxxxxxxxx.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId", - "title": "test-cluster-subnet6", - "dBInstanceStatus": null, - "statement": null, - "instanceType": null - } - } - ], - "edges": [ - { - "id": "c6c2d776-016e-d989-5de4-4233bb148cc5", - "label": "IS_ASSOCIATED_WITH_ROLE", - "source": { - "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:nodegroup/test-cluster/ng-11111111/5ababb6a-75d5-8af7-0351-02c55b0db9f3", - "label": "AWS_EKS_Nodegroup" - }, - "target": { - "id": "arn:aws:iam::xxxxxxxxxxxx:role/test-cluster-NodeInstanceRole", - "label": "AWS_IAM_Role" - } - }, - { - "id": "26c2d776-016e-965a-74db-03e8b99f2dd7", - "label": "IS_ASSOCIATED_WITH", - "source": { - "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:nodegroup/test-cluster/ng-11111111/5ababb6a-75d5-8af7-0351-02c55b0db9f3", - "label": "AWS_EKS_Nodegroup" - }, - "target": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:launch-template/lt-11111111111111111", - "label": "AWS_EC2_LaunchTemplate" - } - }, - { - "id": "04c2d776-016e-6eaf-6e94-28d3c6ec465f", - "label": "IS_ASSOCIATED_WITH", - "source": { - "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:nodegroup/test-cluster/ng-11111111/5ababb6a-75d5-8af7-0351-02c55b0db9f3", - "label": "AWS_EKS_Nodegroup" - }, - "target": { - "id": "arn:aws:autoscaling:eu-west-1:xxxxxxxxxxxx:autoScalingGroup:cc4a478a-ce27-43ad-b468-3b5f3a4013e6:autoScalingGroupName/eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3", - "label": "AWS_AutoScaling_AutoScalingGroup" - } - }, - { - "id": "e0c2d776-016d-e0ac-9ba1-767fc246ec8e", - "label": "IS_CONTAINED_IN", - "source": { - "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:nodegroup/test-cluster/ng-11111111/5ababb6a-75d5-8af7-0351-02c55b0db9f3", - "label": "AWS_EKS_Nodegroup" - }, - "target": { - "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:cluster/test-cluster", - "label": "AWS_EKS_Cluster" - } - }, - { - "id": "54c2d776-016d-a6c9-3e8f-5ef95535dad3", - "label": "IS_CONTAINED_IN_VPC", - "source": { - "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:nodegroup/test-cluster/ng-11111111/5ababb6a-75d5-8af7-0351-02c55b0db9f3", - "label": "AWS_EKS_Nodegroup" - }, - "target": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:vpc/vpc-11111111111111111", - "label": "AWS_EC2_VPC" - } - }, - { - "id": "68c2d776-016d-9e9f-218b-25295a876c49", - "label": "IS_CONTAINED_IN_SUBNET", - "source": { - "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:nodegroup/test-cluster/ng-11111111/5ababb6a-75d5-8af7-0351-02c55b0db9f3", - "label": "AWS_EKS_Nodegroup" - }, - "target": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-11111111111111111", - "label": "AWS_EC2_Subnet" - } - }, - { - "id": "e4c2d776-016e-6e94-2439-e287cf8e6e93", - "label": "IS_CONTAINED_IN_SUBNET", - "source": { - "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:nodegroup/test-cluster/ng-11111111/5ababb6a-75d5-8af7-0351-02c55b0db9f3", - "label": "AWS_EKS_Nodegroup" - }, - "target": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-22222222222222222", - "label": "AWS_EC2_Subnet" - } - }, - { - "id": "b8c2d776-016e-0e72-a2a7-9c2719fd07d3", - "label": "IS_CONTAINED_IN_SUBNET", - "source": { - "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:nodegroup/test-cluster/ng-11111111/5ababb6a-75d5-8af7-0351-02c55b0db9f3", - "label": "AWS_EKS_Nodegroup" - }, - "target": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-33333333333333333", - "label": "AWS_EC2_Subnet" - } - }, - { - "id": "22c2d776-016b-3454-cd58-3253ca0d49ba", - "label": "IS_CONTAINED_IN_VPC", - "source": { - "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:cluster/test-cluster", - "label": "AWS_EKS_Cluster" - }, - "target": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:vpc/vpc-11111111111111111", - "label": "AWS_EC2_VPC" - } - }, - { - "id": "acc2d776-016b-b0f4-9862-bae710fcff4c", - "label": "IS_CONTAINED_IN_SUBNET", - "source": { - "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:cluster/test-cluster", - "label": "AWS_EKS_Cluster" - }, - "target": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-11111111111111111", - "label": "AWS_EC2_Subnet" - } - }, - { - "id": "86c2d776-016c-02e7-9739-6f4f6952676a", - "label": "IS_CONTAINED_IN_SUBNET", - "source": { - "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:cluster/test-cluster", - "label": "AWS_EKS_Cluster" - }, - "target": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-22222222222222222", - "label": "AWS_EC2_Subnet" - } - }, - { - "id": "06c2d776-016c-a809-2065-ffcf5b217725", - "label": "IS_CONTAINED_IN_SUBNET", - "source": { - "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:cluster/test-cluster", - "label": "AWS_EKS_Cluster" - }, - "target": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-44444444444444444", - "label": "AWS_EC2_Subnet" - } - }, - { - "id": "4cc2d776-016c-fe1d-92ee-935173352e9a", - "label": "IS_CONTAINED_IN_SUBNET", - "source": { - "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:cluster/test-cluster", - "label": "AWS_EKS_Cluster" - }, - "target": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-55555555555555555", - "label": "AWS_EC2_Subnet" - } - }, - { - "id": "1cc2d776-016c-151b-aa19-b5f5599e9d7e", - "label": "IS_CONTAINED_IN_SUBNET", - "source": { - "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:cluster/test-cluster", - "label": "AWS_EKS_Cluster" - }, - "target": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-66666666666666666", - "label": "AWS_EC2_Subnet" - } - }, - { - "id": "c6c2d776-016c-17f3-a249-92da44a23390", - "label": "IS_CONTAINED_IN_SUBNET", - "source": { - "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:cluster/test-cluster", - "label": "AWS_EKS_Cluster" - }, - "target": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-33333333333333333", - "label": "AWS_EC2_Subnet" - } - }, - { - "id": "aec1d9d4-a0a7-430a-a5a7-a65f37582a88", - "label": "IS_CONTAINED_IN_VPC", - "source": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-11111111111111111", - "label": "AWS_EC2_Subnet" - }, - "target": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:vpc/vpc-11111111111111111", - "label": "AWS_EC2_VPC" - } - }, - { - "id": "24c1d9d4-a0cd-ba16-299e-4502f5dc555e", - "label": "IS_CONTAINED_IN_VPC", - "source": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-22222222222222222", - "label": "AWS_EC2_Subnet" - }, - "target": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:vpc/vpc-11111111111111111", - "label": "AWS_EC2_VPC" - } - }, - { - "id": "16c1d9d4-9f22-6106-eca9-f283b4be81e5", - "label": "IS_CONTAINED_IN_VPC", - "source": { - "id": "arn:aws:autoscaling:eu-west-1:xxxxxxxxxxxx:autoScalingGroup:cc4a478a-ce27-43ad-b468-3b5f3a4013e6:autoScalingGroupName/eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3", - "label": "AWS_AutoScaling_AutoScalingGroup" - }, - "target": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:vpc/vpc-11111111111111111", - "label": "AWS_EC2_VPC" - } - }, - { - "id": "c6c1d9d4-9f21-1fe3-4c7d-cf9864af2139", - "label": "IS_ASSOCIATED_WITH_SUBNET", - "source": { - "id": "arn:aws:autoscaling:eu-west-1:xxxxxxxxxxxx:autoScalingGroup:cc4a478a-ce27-43ad-b468-3b5f3a4013e6:autoScalingGroupName/eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3", - "label": "AWS_AutoScaling_AutoScalingGroup" - }, - "target": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-11111111111111111", - "label": "AWS_EC2_Subnet" - } - }, - { - "id": "fec1d9d4-9f21-97fe-a6db-f9c21ea844be", - "label": "IS_ASSOCIATED_WITH_SUBNET", - "source": { - "id": "arn:aws:autoscaling:eu-west-1:xxxxxxxxxxxx:autoScalingGroup:cc4a478a-ce27-43ad-b468-3b5f3a4013e6:autoScalingGroupName/eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3", - "label": "AWS_AutoScaling_AutoScalingGroup" - }, - "target": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-22222222222222222", - "label": "AWS_EC2_Subnet" - } - }, - { - "id": "24c1d9d4-9f21-a65c-e6f5-ef0d64b93c01", - "label": "IS_ASSOCIATED_WITH_SUBNET", - "source": { - "id": "arn:aws:autoscaling:eu-west-1:xxxxxxxxxxxx:autoScalingGroup:cc4a478a-ce27-43ad-b468-3b5f3a4013e6:autoScalingGroupName/eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3", - "label": "AWS_AutoScaling_AutoScalingGroup" - }, - "target": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-33333333333333333", - "label": "AWS_EC2_Subnet" - } - }, - { - "id": "26c1d9d4-a0e8-478f-4985-5132a87dccf3", - "label": "IS_CONTAINED_IN_VPC", - "source": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-33333333333333333", - "label": "AWS_EC2_Subnet" - }, - "target": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:vpc/vpc-11111111111111111", - "label": "AWS_EC2_VPC" - } - } - ] - } -} \ No newline at end of file + "getResourceGraph": { + "nodes": [ + { + "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:nodegroup/test-cluster/ng-11111111/5ababb6a-75d5-8af7-0351-02c55b0db9f3", + "label": "AWS_EKS_Nodegroup", + "md5Hash": "47fe23e99747f60d65ca9d6a4f826633", + "properties": { + "accountId": "xxxxxxxxxxxx", + "arn": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:nodegroup/test-cluster/ng-11111111/5ababb6a-75d5-8af7-0351-02c55b0db9f3", + "availabilityZone": "eu-west-1a,eu-west-1b,eu-west-1c", + "awsRegion": "eu-west-1", + "configuration": "\"{}\"", + "configurationItemCaptureTime": null, + "configurationItemStatus": "ResourceDiscovered", + "configurationStateId": null, + "resourceCreationTime": null, + "resourceId": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:nodegroup/test-cluster/ng-11111111/5ababb6a-75d5-8af7-0351-02c55b0db9f3", + "resourceName": "ng-11111111", + "resourceType": "AWS::EKS::Nodegroup", + "supplementaryConfiguration": null, + "tags": "[]", + "version": null, + "vpcId": "vpc-11111111111111111", + "subnetId": null, + "subnetIds": null, + "resourceValue": null, + "state": null, + "private": null, + "loggedInURL": null, + "loginURL": null, + "title": "ng-11111111", + "dBInstanceStatus": null, + "statement": null, + "instanceType": null + } + }, + { + "id": "arn:aws:iam::xxxxxxxxxxxx:role/test-cluster-NodeInstanceRole", + "label": "AWS_IAM_Role", + "md5Hash": "", + "properties": { + "accountId": "xxxxxxxxxxxx", + "arn": "arn:aws:iam::xxxxxxxxxxxx:role/test-cluster-NodeInstanceRole", + "availabilityZone": "Not Applicable", + "awsRegion": "global", + "configuration": "\"{}\"", + "configurationItemCaptureTime": "2022-02-14T13:50:59.294Z", + "configurationItemStatus": "ResourceDiscovered", + "configurationStateId": null, + "resourceCreationTime": "2020-10-30T00:07:24.000Z", + "resourceId": "BBBBBBBBBBBBBB", + "resourceName": "test-cluster-NodeInstanceRole", + "resourceType": "AWS::IAM::Role", + "supplementaryConfiguration": null, + "tags": "[]", + "version": "1.3", + "vpcId": null, + "subnetId": null, + "subnetIds": null, + "resourceValue": null, + "state": null, + "private": null, + "loggedInURL": "https://console.aws.amazon.com/iam/home?#/roles", + "loginURL": "https://xxxxxxxxxxxx.signin.aws.amazon.com/console/iam?home?#/roles", + "title": "test-cluster-NodeInstanceRole", + "dBInstanceStatus": null, + "statement": null, + "instanceType": null + } + }, + { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:launch-template/lt-11111111111111111", + "label": "AWS_EC2_LaunchTemplate", + "md5Hash": "", + "properties": { + "accountId": "xxxxxxxxxxxx", + "arn": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:launch-template/lt-11111111111111111", + "availabilityZone": "Regional", + "awsRegion": "eu-west-1", + "configuration": "\"{}\"", + "configurationItemCaptureTime": "2022-02-22T10:12:29.829Z", + "configurationItemStatus": "ResourceDiscovered", + "configurationStateId": "1645524749829", + "resourceCreationTime": null, + "resourceId": "lt-11111111111111111", + "resourceName": "test-cluster--nodegroup-ng-11111111", + "resourceType": "AWS::EC2::LaunchTemplate", + "supplementaryConfiguration": "\"{}\"", + "tags": "[]", + "version": "1.3", + "vpcId": null, + "subnetId": null, + "subnetIds": null, + "resourceValue": null, + "state": null, + "private": null, + "loggedInURL": null, + "loginURL": null, + "title": "test-cluster--nodegroup-ng-11111111", + "dBInstanceStatus": null, + "statement": null, + "instanceType": null + } + }, + { + "id": "arn:aws:autoscaling:eu-west-1:xxxxxxxxxxxx:autoScalingGroup:cc4a478a-ce27-43ad-b468-3b5f3a4013e6:autoScalingGroupName/eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3", + "label": "AWS_AutoScaling_AutoScalingGroup", + "md5Hash": "", + "properties": { + "accountId": "xxxxxxxxxxxx", + "arn": "arn:aws:autoscaling:eu-west-1:xxxxxxxxxxxx:autoScalingGroup:cc4a478a-ce27-43ad-b468-3b5f3a4013e6:autoScalingGroupName/eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3", + "availabilityZone": "eu-west-1a,eu-west-1b,eu-west-1c", + "awsRegion": "eu-west-1", + "configuration": "\"{}\"", + "configurationItemCaptureTime": "2023-01-03T23:54:04.184Z", + "configurationItemStatus": "OK", + "configurationStateId": null, + "resourceCreationTime": "2020-10-30T00:09:06.968Z", + "resourceId": "arn:aws:autoscaling:eu-west-1:xxxxxxxxxxxx:autoScalingGroup:cc4a478a-ce27-43ad-b468-3b5f3a4013e6:autoScalingGroupName/eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3", + "resourceName": "eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3", + "resourceType": "AWS::AutoScaling::AutoScalingGroup", + "supplementaryConfiguration": null, + "tags": "[]", + "version": "1.3", + "vpcId": "vpc-11111111111111111", + "subnetId": null, + "subnetIds": null, + "resourceValue": null, + "state": null, + "private": null, + "loggedInURL": "https://eu-west-1.console.aws.amazon.com/ec2/home/autoscaling/home?region=eu-west-1#AutoScalingGroups:id=eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3;view=details", + "loginURL": "https://xxxxxxxxxxxx.signin.aws.amazon.com/console/ec2/autoscaling/home?region=eu-west-1#AutoScalingGroups:id=eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3;view=details", + "title": "eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3", + "dBInstanceStatus": null, + "statement": null, + "instanceType": null + } + }, + { + "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:cluster/test-cluster", + "label": "AWS_EKS_Cluster", + "md5Hash": "", + "properties": { + "accountId": "xxxxxxxxxxxx", + "arn": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:cluster/test-cluster", + "availabilityZone": "eu-west-1a,eu-west-1b,eu-west-1c", + "awsRegion": "eu-west-1", + "configuration": "\"{}\"", + "configurationItemCaptureTime": "2023-03-11T00:54:04.337Z", + "configurationItemStatus": "OK", + "configurationStateId": "1666054444349", + "resourceCreationTime": null, + "resourceId": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:cluster/test-cluster", + "resourceName": "test-cluster", + "resourceType": "AWS::EKS::Cluster", + "supplementaryConfiguration": "\"{}\"", + "tags": "[]", + "version": "1.3", + "vpcId": "vpc-11111111111111111", + "subnetId": null, + "subnetIds": null, + "resourceValue": null, + "state": null, + "private": null, + "loggedInURL": null, + "loginURL": null, + "title": "test-cluster", + "dBInstanceStatus": null, + "statement": null, + "instanceType": null + } + }, + { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:vpc/vpc-11111111111111111", + "label": "AWS_EC2_VPC", + "md5Hash": "", + "properties": { + "accountId": "xxxxxxxxxxxx", + "arn": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:vpc/vpc-11111111111111111", + "availabilityZone": "Multiple Availability Zones", + "awsRegion": "eu-west-1", + "configuration": "\"{}\"", + "configurationItemCaptureTime": "2023-05-30T22:16:37.179Z", + "configurationItemStatus": "OK", + "configurationStateId": null, + "resourceCreationTime": null, + "resourceId": "vpc-11111111111111111", + "resourceName": null, + "resourceType": "AWS::EC2::VPC", + "supplementaryConfiguration": null, + "tags": "[]", + "version": "1.3", + "vpcId": null, + "subnetId": null, + "subnetIds": null, + "resourceValue": null, + "state": null, + "private": null, + "loggedInURL": "https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#vpcs:sort=VpcId", + "loginURL": "https://xxxxxxxxxxxx.signin.aws.amazon.com/console/vpc?region=eu-west-1#vpcs:sort=VpcId", + "title": "test-cluster-vpc", + "dBInstanceStatus": null, + "statement": null, + "instanceType": null + } + }, + { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-11111111111111111", + "label": "AWS_EC2_Subnet", + "md5Hash": "", + "properties": { + "accountId": "xxxxxxxxxxxx", + "arn": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-11111111111111111", + "availabilityZone": "eu-west-1c", + "awsRegion": "eu-west-1", + "configuration": "\"{}\"", + "configurationItemCaptureTime": "2023-05-29T16:13:25.221Z", + "configurationItemStatus": "OK", + "configurationStateId": null, + "resourceCreationTime": null, + "resourceId": "subnet-11111111111111111", + "resourceName": null, + "resourceType": "AWS::EC2::Subnet", + "supplementaryConfiguration": null, + "tags": "[]", + "version": "1.3", + "vpcId": "vpc-11111111111111111", + "subnetId": "subnet-11111111111111111", + "subnetIds": null, + "resourceValue": null, + "state": null, + "private": "true", + "loggedInURL": "https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId", + "loginURL": "https://xxxxxxxxxxxx.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId", + "title": "test-cluster-subnet1", + "dBInstanceStatus": null, + "statement": null, + "instanceType": null + } + }, + { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-22222222222222222", + "label": "AWS_EC2_Subnet", + "md5Hash": "", + "properties": { + "accountId": "xxxxxxxxxxxx", + "arn": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-22222222222222222", + "availabilityZone": "eu-west-1b", + "awsRegion": "eu-west-1", + "configuration": "\"{}\"", + "configurationItemCaptureTime": "2020-10-29T23:57:46.899Z", + "configurationItemStatus": "OK", + "configurationStateId": null, + "resourceCreationTime": null, + "resourceId": "subnet-22222222222222222", + "resourceName": null, + "resourceType": "AWS::EC2::Subnet", + "supplementaryConfiguration": null, + "tags": "[]", + "version": "1.3", + "vpcId": "vpc-11111111111111111", + "subnetId": "subnet-22222222222222222", + "subnetIds": null, + "resourceValue": null, + "state": null, + "private": "true", + "loggedInURL": "https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId", + "loginURL": "https://xxxxxxxxxxxx.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId", + "title": "test-cluster-subnet2", + "dBInstanceStatus": null, + "statement": null, + "instanceType": null + } + }, + { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-33333333333333333", + "label": "AWS_EC2_Subnet", + "md5Hash": "", + "properties": { + "accountId": "xxxxxxxxxxxx", + "arn": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-33333333333333333", + "availabilityZone": "eu-west-1b", + "awsRegion": "eu-west-1", + "configuration": "\"{}\"", + "configurationItemCaptureTime": "2023-05-20T05:54:05.329Z", + "configurationItemStatus": "OK", + "configurationStateId": null, + "resourceCreationTime": null, + "resourceId": "subnet-33333333333333333", + "resourceName": null, + "resourceType": "AWS::EC2::Subnet", + "supplementaryConfiguration": null, + "tags": "[]", + "version": "1.3", + "vpcId": "vpc-11111111111111111", + "subnetId": "subnet-33333333333333333", + "subnetIds": null, + "resourceValue": null, + "state": null, + "private": "false", + "loggedInURL": "https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId", + "loginURL": "https://xxxxxxxxxxxx.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId", + "title": "test-cluster-subnet3", + "dBInstanceStatus": null, + "statement": null, + "instanceType": null + } + }, + { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-44444444444444444", + "label": "AWS_EC2_Subnet", + "md5Hash": "", + "properties": { + "accountId": "xxxxxxxxxxxx", + "arn": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-44444444444444444", + "availabilityZone": "eu-west-1a", + "awsRegion": "eu-west-1", + "configuration": "\"{}\"", + "configurationItemCaptureTime": "2023-05-20T05:54:05.329Z", + "configurationItemStatus": "OK", + "configurationStateId": null, + "resourceCreationTime": null, + "resourceId": "subnet-44444444444444444", + "resourceName": null, + "resourceType": "AWS::EC2::Subnet", + "supplementaryConfiguration": null, + "tags": "[]", + "version": "1.3", + "vpcId": "vpc-11111111111111111", + "subnetId": "subnet-44444444444444444", + "subnetIds": null, + "resourceValue": null, + "state": null, + "private": "false", + "loggedInURL": "https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId", + "loginURL": "https://xxxxxxxxxxxx.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId", + "title": "test-cluster-subnet4", + "dBInstanceStatus": null, + "statement": null, + "instanceType": null + } + }, + { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-55555555555555555", + "label": "AWS_EC2_Subnet", + "md5Hash": "", + "properties": { + "accountId": "xxxxxxxxxxxx", + "arn": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-55555555555555555", + "availabilityZone": "eu-west-1c", + "awsRegion": "eu-west-1", + "configuration": "\"{}\"", + "configurationItemCaptureTime": "2023-05-20T05:54:05.329Z", + "configurationItemStatus": "OK", + "configurationStateId": null, + "resourceCreationTime": null, + "resourceId": "subnet-55555555555555555", + "resourceName": null, + "resourceType": "AWS::EC2::Subnet", + "supplementaryConfiguration": null, + "tag": "'[]", + "version": "1.3", + "vpcId": "vpc-11111111111111111", + "subnetId": "subnet-55555555555555555", + "subnetIds": null, + "resourceValue": null, + "state": null, + "private": "false", + "loggedInURL": "https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId", + "loginURL": "https://xxxxxxxxxxxx.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId", + "title": "test-cluster-subnet5", + "dBInstanceStatus": null, + "statement": null, + "instanceType": null + } + }, + { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-466666666666666666", + "label": "AWS_EC2_Subnet", + "md5Hash": "", + "properties": { + "accountId": "xxxxxxxxxxxx", + "arn": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-466666666666666666", + "availabilityZone": "eu-west-1a", + "awsRegion": "eu-west-1", + "configuration": "\"{}\"", + "configurationItemCaptureTime": "2023-05-30T22:16:37.298Z", + "configurationItemStatus": "OK", + "configurationStateId": null, + "resourceCreationTime": null, + "resourceId": "subnet-466666666666666666", + "resourceName": null, + "resourceType": "AWS::EC2::Subnet", + "supplementaryConfiguration": null, + "tags": "[]", + "version": "1.3", + "vpcId": "vpc-11111111111111111", + "subnetId": "subnet-466666666666666666", + "subnetIds": null, + "resourceValue": null, + "state": null, + "private": "true", + "loggedInURL": "https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId", + "loginURL": "https://xxxxxxxxxxxx.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId", + "title": "test-cluster-subnet6", + "dBInstanceStatus": null, + "statement": null, + "instanceType": null + } + } + ], + "edges": [ + { + "id": "c6c2d776-016e-d989-5de4-4233bb148cc5", + "label": "IS_ASSOCIATED_WITH_ROLE", + "source": { + "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:nodegroup/test-cluster/ng-11111111/5ababb6a-75d5-8af7-0351-02c55b0db9f3", + "label": "AWS_EKS_Nodegroup" + }, + "target": { + "id": "arn:aws:iam::xxxxxxxxxxxx:role/test-cluster-NodeInstanceRole", + "label": "AWS_IAM_Role" + } + }, + { + "id": "26c2d776-016e-965a-74db-03e8b99f2dd7", + "label": "IS_ASSOCIATED_WITH", + "source": { + "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:nodegroup/test-cluster/ng-11111111/5ababb6a-75d5-8af7-0351-02c55b0db9f3", + "label": "AWS_EKS_Nodegroup" + }, + "target": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:launch-template/lt-11111111111111111", + "label": "AWS_EC2_LaunchTemplate" + } + }, + { + "id": "04c2d776-016e-6eaf-6e94-28d3c6ec465f", + "label": "IS_ASSOCIATED_WITH", + "source": { + "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:nodegroup/test-cluster/ng-11111111/5ababb6a-75d5-8af7-0351-02c55b0db9f3", + "label": "AWS_EKS_Nodegroup" + }, + "target": { + "id": "arn:aws:autoscaling:eu-west-1:xxxxxxxxxxxx:autoScalingGroup:cc4a478a-ce27-43ad-b468-3b5f3a4013e6:autoScalingGroupName/eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3", + "label": "AWS_AutoScaling_AutoScalingGroup" + } + }, + { + "id": "e0c2d776-016d-e0ac-9ba1-767fc246ec8e", + "label": "IS_CONTAINED_IN", + "source": { + "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:nodegroup/test-cluster/ng-11111111/5ababb6a-75d5-8af7-0351-02c55b0db9f3", + "label": "AWS_EKS_Nodegroup" + }, + "target": { + "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:cluster/test-cluster", + "label": "AWS_EKS_Cluster" + } + }, + { + "id": "54c2d776-016d-a6c9-3e8f-5ef95535dad3", + "label": "IS_CONTAINED_IN_VPC", + "source": { + "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:nodegroup/test-cluster/ng-11111111/5ababb6a-75d5-8af7-0351-02c55b0db9f3", + "label": "AWS_EKS_Nodegroup" + }, + "target": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:vpc/vpc-11111111111111111", + "label": "AWS_EC2_VPC" + } + }, + { + "id": "68c2d776-016d-9e9f-218b-25295a876c49", + "label": "IS_CONTAINED_IN_SUBNET", + "source": { + "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:nodegroup/test-cluster/ng-11111111/5ababb6a-75d5-8af7-0351-02c55b0db9f3", + "label": "AWS_EKS_Nodegroup" + }, + "target": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-11111111111111111", + "label": "AWS_EC2_Subnet" + } + }, + { + "id": "e4c2d776-016e-6e94-2439-e287cf8e6e93", + "label": "IS_CONTAINED_IN_SUBNET", + "source": { + "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:nodegroup/test-cluster/ng-11111111/5ababb6a-75d5-8af7-0351-02c55b0db9f3", + "label": "AWS_EKS_Nodegroup" + }, + "target": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-22222222222222222", + "label": "AWS_EC2_Subnet" + } + }, + { + "id": "b8c2d776-016e-0e72-a2a7-9c2719fd07d3", + "label": "IS_CONTAINED_IN_SUBNET", + "source": { + "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:nodegroup/test-cluster/ng-11111111/5ababb6a-75d5-8af7-0351-02c55b0db9f3", + "label": "AWS_EKS_Nodegroup" + }, + "target": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-33333333333333333", + "label": "AWS_EC2_Subnet" + } + }, + { + "id": "22c2d776-016b-3454-cd58-3253ca0d49ba", + "label": "IS_CONTAINED_IN_VPC", + "source": { + "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:cluster/test-cluster", + "label": "AWS_EKS_Cluster" + }, + "target": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:vpc/vpc-11111111111111111", + "label": "AWS_EC2_VPC" + } + }, + { + "id": "acc2d776-016b-b0f4-9862-bae710fcff4c", + "label": "IS_CONTAINED_IN_SUBNET", + "source": { + "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:cluster/test-cluster", + "label": "AWS_EKS_Cluster" + }, + "target": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-11111111111111111", + "label": "AWS_EC2_Subnet" + } + }, + { + "id": "86c2d776-016c-02e7-9739-6f4f6952676a", + "label": "IS_CONTAINED_IN_SUBNET", + "source": { + "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:cluster/test-cluster", + "label": "AWS_EKS_Cluster" + }, + "target": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-22222222222222222", + "label": "AWS_EC2_Subnet" + } + }, + { + "id": "06c2d776-016c-a809-2065-ffcf5b217725", + "label": "IS_CONTAINED_IN_SUBNET", + "source": { + "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:cluster/test-cluster", + "label": "AWS_EKS_Cluster" + }, + "target": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-44444444444444444", + "label": "AWS_EC2_Subnet" + } + }, + { + "id": "4cc2d776-016c-fe1d-92ee-935173352e9a", + "label": "IS_CONTAINED_IN_SUBNET", + "source": { + "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:cluster/test-cluster", + "label": "AWS_EKS_Cluster" + }, + "target": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-55555555555555555", + "label": "AWS_EC2_Subnet" + } + }, + { + "id": "1cc2d776-016c-151b-aa19-b5f5599e9d7e", + "label": "IS_CONTAINED_IN_SUBNET", + "source": { + "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:cluster/test-cluster", + "label": "AWS_EKS_Cluster" + }, + "target": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-66666666666666666", + "label": "AWS_EC2_Subnet" + } + }, + { + "id": "c6c2d776-016c-17f3-a249-92da44a23390", + "label": "IS_CONTAINED_IN_SUBNET", + "source": { + "id": "arn:aws:eks:eu-west-1:xxxxxxxxxxxx:cluster/test-cluster", + "label": "AWS_EKS_Cluster" + }, + "target": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-33333333333333333", + "label": "AWS_EC2_Subnet" + } + }, + { + "id": "aec1d9d4-a0a7-430a-a5a7-a65f37582a88", + "label": "IS_CONTAINED_IN_VPC", + "source": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-11111111111111111", + "label": "AWS_EC2_Subnet" + }, + "target": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:vpc/vpc-11111111111111111", + "label": "AWS_EC2_VPC" + } + }, + { + "id": "24c1d9d4-a0cd-ba16-299e-4502f5dc555e", + "label": "IS_CONTAINED_IN_VPC", + "source": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-22222222222222222", + "label": "AWS_EC2_Subnet" + }, + "target": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:vpc/vpc-11111111111111111", + "label": "AWS_EC2_VPC" + } + }, + { + "id": "16c1d9d4-9f22-6106-eca9-f283b4be81e5", + "label": "IS_CONTAINED_IN_VPC", + "source": { + "id": "arn:aws:autoscaling:eu-west-1:xxxxxxxxxxxx:autoScalingGroup:cc4a478a-ce27-43ad-b468-3b5f3a4013e6:autoScalingGroupName/eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3", + "label": "AWS_AutoScaling_AutoScalingGroup" + }, + "target": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:vpc/vpc-11111111111111111", + "label": "AWS_EC2_VPC" + } + }, + { + "id": "c6c1d9d4-9f21-1fe3-4c7d-cf9864af2139", + "label": "IS_ASSOCIATED_WITH_SUBNET", + "source": { + "id": "arn:aws:autoscaling:eu-west-1:xxxxxxxxxxxx:autoScalingGroup:cc4a478a-ce27-43ad-b468-3b5f3a4013e6:autoScalingGroupName/eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3", + "label": "AWS_AutoScaling_AutoScalingGroup" + }, + "target": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-11111111111111111", + "label": "AWS_EC2_Subnet" + } + }, + { + "id": "fec1d9d4-9f21-97fe-a6db-f9c21ea844be", + "label": "IS_ASSOCIATED_WITH_SUBNET", + "source": { + "id": "arn:aws:autoscaling:eu-west-1:xxxxxxxxxxxx:autoScalingGroup:cc4a478a-ce27-43ad-b468-3b5f3a4013e6:autoScalingGroupName/eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3", + "label": "AWS_AutoScaling_AutoScalingGroup" + }, + "target": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-22222222222222222", + "label": "AWS_EC2_Subnet" + } + }, + { + "id": "24c1d9d4-9f21-a65c-e6f5-ef0d64b93c01", + "label": "IS_ASSOCIATED_WITH_SUBNET", + "source": { + "id": "arn:aws:autoscaling:eu-west-1:xxxxxxxxxxxx:autoScalingGroup:cc4a478a-ce27-43ad-b468-3b5f3a4013e6:autoScalingGroupName/eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3", + "label": "AWS_AutoScaling_AutoScalingGroup" + }, + "target": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-33333333333333333", + "label": "AWS_EC2_Subnet" + } + }, + { + "id": "26c1d9d4-a0e8-478f-4985-5132a87dccf3", + "label": "IS_CONTAINED_IN_VPC", + "source": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:subnet/subnet-33333333333333333", + "label": "AWS_EC2_Subnet" + }, + "target": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:vpc/vpc-11111111111111111", + "label": "AWS_EC2_VPC" + } + } + ] + } +} diff --git a/source/frontend/src/tests/mocks/fixtures/getResourcesAccountMetadata/default.json b/source/frontend/src/tests/mocks/fixtures/getResourcesAccountMetadata/default.json index 7ff0e25a..5f7ac99a 100644 --- a/source/frontend/src/tests/mocks/fixtures/getResourcesAccountMetadata/default.json +++ b/source/frontend/src/tests/mocks/fixtures/getResourcesAccountMetadata/default.json @@ -1,68 +1,68 @@ { - "getResourcesAccountMetadata": [ - { - "accountId": "xxxxxxxxxxxx", - "count": 13, - "resourceTypes": [ + "getResourcesAccountMetadata": [ { - "count": 2, - "type": "AWS::EC2::Subnet" + "accountId": "xxxxxxxxxxxx", + "count": 13, + "resourceTypes": [ + { + "count": 2, + "type": "AWS::EC2::Subnet" + }, + { + "count": 1, + "type": "AWS::EC2::VPC" + }, + { + "count": 2, + "type": "AWS::IAM::Role" + }, + { + "count": 5, + "type": "AWS::S3::Bucket" + }, + { + "count": 1, + "type": "AWS::ECS::Cluster" + }, + { + "count": 2, + "type": "AWS::IAM::User" + } + ] }, { - "count": 1, - "type": "AWS::EC2::VPC" - }, - { - "count": 2, - "type": "AWS::IAM::Role" - }, - { - "count": 5, - "type": "AWS::S3::Bucket" - }, - { - "count": 1, - "type": "AWS::ECS::Cluster" - }, - { - "count": 2, - "type": "AWS::IAM::User" - } - ] - }, - { - "accountId": "yyyyyyyyyyyy", - "count": 16, - "resourceTypes": [ - { - "count": 2, - "type": "AWS::EC2::Instance" - }, - { - "count": 3, - "type": "AWS::EC2::SecurityGroup" - }, - { - "count": 7, - "type": "AWS::S3::Bucket" - }, - { - "count": 1, - "type": "AWS::RDS::DBInstance" - }, - { - "count": 1, - "type": "AWS::RDS::Cluster" - }, - { - "count": 1, - "type": "AWS::Lambda::Function" - }, - { - "count": 1, - "type": "AWS::EKS::Cluster" + "accountId": "yyyyyyyyyyyy", + "count": 16, + "resourceTypes": [ + { + "count": 2, + "type": "AWS::EC2::Instance" + }, + { + "count": 3, + "type": "AWS::EC2::SecurityGroup" + }, + { + "count": 7, + "type": "AWS::S3::Bucket" + }, + { + "count": 1, + "type": "AWS::RDS::DBInstance" + }, + { + "count": 1, + "type": "AWS::RDS::Cluster" + }, + { + "count": 1, + "type": "AWS::Lambda::Function" + }, + { + "count": 1, + "type": "AWS::EKS::Cluster" + } + ] } - ] - } - ] -} \ No newline at end of file + ] +} diff --git a/source/frontend/src/tests/mocks/fixtures/getResourcesByCost/default.json b/source/frontend/src/tests/mocks/fixtures/getResourcesByCost/default.json index a1c5482d..f9c7532f 100644 --- a/source/frontend/src/tests/mocks/fixtures/getResourcesByCost/default.json +++ b/source/frontend/src/tests/mocks/fixtures/getResourcesByCost/default.json @@ -1,113 +1,114 @@ { - "getResourcesByCost":{ - "totalCost":283.74, - "costItems":[ + "getResourcesByCost": { + "totalCost": 283.74, + "costItems": [ { - "line_item_resource_id":"", - "product_servicename":"AWS CloudTrail", - "line_item_usage_start_date":null, - "line_item_usage_account_id":"xxxxxxxxxxxx", - "region":"us-west-1", - "pricing_term":"OnDemand", - "cost":39.11, - "line_item_currency_code":"USD" + "line_item_resource_id": "", + "product_servicename": "AWS CloudTrail", + "line_item_usage_start_date": null, + "line_item_usage_account_id": "xxxxxxxxxxxx", + "region": "us-west-1", + "pricing_term": "OnDemand", + "cost": 39.11, + "line_item_currency_code": "USD" }, { - "line_item_resource_id":"arn:aws:rds:us-east-2:xxxxxxxxxxxx:db:neptunedbinstance-xxxxxxxxxxxx", - "product_servicename":"Amazon Neptune", - "line_item_usage_start_date":null, - "line_item_usage_account_id":"xxxxxxxxxxxx", - "region":"us-east-2", - "pricing_term":"OnDemand", - "cost":31.46, - "line_item_currency_code":"USD" + "line_item_resource_id": "arn:aws:rds:us-east-2:xxxxxxxxxxxx:db:neptunedbinstance-xxxxxxxxxxxx", + "product_servicename": "Amazon Neptune", + "line_item_usage_start_date": null, + "line_item_usage_account_id": "xxxxxxxxxxxx", + "region": "us-east-2", + "pricing_term": "OnDemand", + "cost": 31.46, + "line_item_currency_code": "USD" }, { - "line_item_resource_id":"arn:aws:securityhub:us-east-1:xxxxxxxxxxxx:hub/default", - "product_servicename":"AWS Security Hub", - "line_item_usage_start_date":null, - "line_item_usage_account_id":"xxxxxxxxxxxx", - "region":"us-east-1", - "pricing_term":"OnDemand", - "cost":16.65, - "line_item_currency_code":"USD" + "line_item_resource_id": "arn:aws:securityhub:us-east-1:xxxxxxxxxxxx:hub/default", + "product_servicename": "AWS Security Hub", + "line_item_usage_start_date": null, + "line_item_usage_account_id": "xxxxxxxxxxxx", + "region": "us-east-1", + "pricing_term": "OnDemand", + "cost": 16.65, + "line_item_currency_code": "USD" }, { - "line_item_resource_id":"arn:aws:ec2:us-east-2:yyyyyyyyyyyy:natgateway/nat", - "product_servicename":"Amazon Elastic Compute Cloud", - "line_item_usage_start_date":null, - "line_item_usage_account_id":"yyyyyyyyyyyy", - "region":"us-east-2", - "pricing_term":"OnDemand", - "cost":14.62, - "line_item_currency_code":"USD" + "line_item_resource_id": "arn:aws:ec2:us-east-2:yyyyyyyyyyyy:natgateway/nat", + "product_servicename": "Amazon Elastic Compute Cloud", + "line_item_usage_start_date": null, + "line_item_usage_account_id": "yyyyyyyyyyyy", + "region": "us-east-2", + "pricing_term": "OnDemand", + "cost": 14.62, + "line_item_currency_code": "USD" }, { - "line_item_resource_id":"arn:aws:ec2:us-east-2:yyyyyyyyyyyy:natgateway/nat", - "product_servicename":"Amazon Elastic Compute Cloud", - "line_item_usage_start_date":null, - "line_item_usage_account_id":"yyyyyyyyyyyy", - "region":"us-east-2", - "pricing_term":"OnDemand", - "cost":14.62, - "line_item_currency_code":"USD" + "line_item_resource_id": "arn:aws:ec2:us-east-2:yyyyyyyyyyyy:natgateway/nat", + "product_servicename": "Amazon Elastic Compute Cloud", + "line_item_usage_start_date": null, + "line_item_usage_account_id": "yyyyyyyyyyyy", + "region": "us-east-2", + "pricing_term": "OnDemand", + "cost": 14.62, + "line_item_currency_code": "USD" }, { - "line_item_resource_id":"", - "product_servicename":"AWS Config", - "line_item_usage_start_date":null, - "line_item_usage_account_id":"xxxxxxxxxxxx", - "region":"us-east-2", - "pricing_term":"OnDemand", - "cost":9.91, - "line_item_currency_code":"USD" - },{ - "line_item_resource_id":"arn:aws:ec2:us-east-2:xxxxxxxxxxxx:vpc-endpoint/vpce", - "product_servicename":"Amazon Virtual Private Cloud", - "line_item_usage_start_date":null, - "line_item_usage_account_id":"xxxxxxxxxxxx", - "region":"us-east-2", - "pricing_term":"OnDemand", - "cost":6.48, - "line_item_currency_code":"USD" + "line_item_resource_id": "", + "product_servicename": "AWS Config", + "line_item_usage_start_date": null, + "line_item_usage_account_id": "xxxxxxxxxxxx", + "region": "us-east-2", + "pricing_term": "OnDemand", + "cost": 9.91, + "line_item_currency_code": "USD" }, { - "line_item_resource_id":"arn:aws:ec2:us-east-2:yyyyyyyyyyyy:vpc-endpoint/vpce", - "product_servicename":"Amazon Virtual Private Cloud", - "line_item_usage_start_date":null, - "line_item_usage_account_id":"yyyyyyyyyyyy", - "region":"us-east-2", - "pricing_term":"OnDemand", - "cost":6.44, - "line_item_currency_code":"USD" + "line_item_resource_id": "arn:aws:ec2:us-east-2:xxxxxxxxxxxx:vpc-endpoint/vpce", + "product_servicename": "Amazon Virtual Private Cloud", + "line_item_usage_start_date": null, + "line_item_usage_account_id": "xxxxxxxxxxxx", + "region": "us-east-2", + "pricing_term": "OnDemand", + "cost": 6.48, + "line_item_currency_code": "USD" }, { - "line_item_resource_id":"arn:aws:logs:us-east-2:yyyyyyyyyyyy:log-group:/aws/appsync/apis/aaaaaaaaaa", - "product_servicename":"AmazonCloudWatch", - "line_item_usage_start_date":null, - "line_item_usage_account_id":"yyyyyyyyyyyy", - "region":"us-east-2", - "pricing_term":"OnDemand", - "cost":6.38, - "line_item_currency_code":"USD" + "line_item_resource_id": "arn:aws:ec2:us-east-2:yyyyyyyyyyyy:vpc-endpoint/vpce", + "product_servicename": "Amazon Virtual Private Cloud", + "line_item_usage_start_date": null, + "line_item_usage_account_id": "yyyyyyyyyyyy", + "region": "us-east-2", + "pricing_term": "OnDemand", + "cost": 6.44, + "line_item_currency_code": "USD" }, { - "line_item_resource_id":"", - "product_servicename":"Amazon GuardDuty", - "line_item_usage_start_date":null, - "line_item_usage_account_id":"xxxxxxxxxxxx", - "region":"us-west-1", - "pricing_term":"OnDemand", - "cost":2.14, - "line_item_currency_code":"USD" - } - ], - "queryDetails":{ - "cost":4.768E-5, - "s3Bucket":"workload-discovery-on-aw-costandusageathenaresult-xxxxxxxxxxxx", - "s3Key":"test.csv", - "dataScannedInMB":0, - "resultCount":1072 + "line_item_resource_id": "arn:aws:logs:us-east-2:yyyyyyyyyyyy:log-group:/aws/appsync/apis/aaaaaaaaaa", + "product_servicename": "AmazonCloudWatch", + "line_item_usage_start_date": null, + "line_item_usage_account_id": "yyyyyyyyyyyy", + "region": "us-east-2", + "pricing_term": "OnDemand", + "cost": 6.38, + "line_item_currency_code": "USD" + }, + { + "line_item_resource_id": "", + "product_servicename": "Amazon GuardDuty", + "line_item_usage_start_date": null, + "line_item_usage_account_id": "xxxxxxxxxxxx", + "region": "us-west-1", + "pricing_term": "OnDemand", + "cost": 2.14, + "line_item_currency_code": "USD" } + ], + "queryDetails": { + "cost": 4.768e-5, + "s3Bucket": "workload-discovery-on-aw-costandusageathenaresult-xxxxxxxxxxxx", + "s3Key": "test.csv", + "dataScannedInMB": 0, + "resultCount": 1072 + } } -} \ No newline at end of file +} diff --git a/source/frontend/src/tests/mocks/fixtures/getResourcesMetadata/default.json b/source/frontend/src/tests/mocks/fixtures/getResourcesMetadata/default.json index 177730f6..84094e55 100644 --- a/source/frontend/src/tests/mocks/fixtures/getResourcesMetadata/default.json +++ b/source/frontend/src/tests/mocks/fixtures/getResourcesMetadata/default.json @@ -1,76 +1,76 @@ { - "getResourcesMetadata": { - "count": 29, - "accounts": [ - { - "accountId": "xxxxxxxxxxxx", - "regions": [ - { - "name": "eu-west-2" - }, - { - "name": "global" - } + "getResourcesMetadata": { + "count": 29, + "accounts": [ + { + "accountId": "xxxxxxxxxxxx", + "regions": [ + { + "name": "eu-west-2" + }, + { + "name": "global" + } + ] + }, + { + "accountId": "yyyyyyyyyyyy", + "regions": [ + { + "name": "eu-west-1" + } + ] + } + ], + "resourceTypes": [ + { + "count": 2, + "type": "AWS::EC2::Subnet" + }, + { + "count": 1, + "type": "AWS::EC2::VPC" + }, + { + "count": 2, + "type": "AWS::IAM::Role" + }, + { + "count": 2, + "type": "AWS::EC2::Instance" + }, + { + "count": 3, + "type": "AWS::EC2::SecurityGroup" + }, + { + "count": 1, + "type": "AWS::Lambda::Function" + }, + { + "count": 1, + "type": "AWS::EKS::Cluster" + }, + { + "count": 12, + "type": "AWS::S3::Bucket" + }, + { + "count": 1, + "type": "AWS::RDS::DBInstance" + }, + { + "count": 1, + "type": "AWS::RDS::Cluster" + }, + { + "count": 1, + "type": "AWS::ECS::Cluster" + }, + { + "count": 2, + "type": "AWS::IAM::User" + } ] - }, - { - "accountId": "yyyyyyyyyyyy", - "regions": [ - { - "name": "eu-west-1" - } - ] - } - ], - "resourceTypes": [ - { - "count": 2, - "type": "AWS::EC2::Subnet" - }, - { - "count": 1, - "type": "AWS::EC2::VPC" - }, - { - "count": 2, - "type": "AWS::IAM::Role" - }, - { - "count": 2, - "type": "AWS::EC2::Instance" - }, - { - "count": 3, - "type": "AWS::EC2::SecurityGroup" - }, - { - "count": 1, - "type": "AWS::Lambda::Function" - }, - { - "count": 1, - "type": "AWS::EKS::Cluster" - }, - { - "count": 12, - "type": "AWS::S3::Bucket" - }, - { - "count": 1, - "type": "AWS::RDS::DBInstance" - }, - { - "count": 1, - "type": "AWS::RDS::Cluster" - }, - { - "count": 1, - "type": "AWS::ECS::Cluster" - }, - { - "count": 2, - "type": "AWS::IAM::User" - } - ] - } -} \ No newline at end of file + } +} diff --git a/source/frontend/src/tests/mocks/fixtures/getResourcesRegionMetadata/default.json b/source/frontend/src/tests/mocks/fixtures/getResourcesRegionMetadata/default.json index c1b44f34..7d00702a 100644 --- a/source/frontend/src/tests/mocks/fixtures/getResourcesRegionMetadata/default.json +++ b/source/frontend/src/tests/mocks/fixtures/getResourcesRegionMetadata/default.json @@ -1,85 +1,86 @@ { - "getResourcesRegionMetadata": [ - { - "accountId": "xxxxxxxxxxxx", - "count": 13, - "regions": [ + "getResourcesRegionMetadata": [ { - "count": 9, - "name": "eu-west-2", - "resourceTypes": [ - { - "count": 2, - "type": "AWS::EC2::Subnet" - }, - { - "count": 1, - "type": "AWS::EC2::VPC" - },{ - "count": 1, - "type": "AWS::ECS::Cluster" - }, - { - "count": 5, - "type": "AWS::S3::Bucket" - } - ] + "accountId": "xxxxxxxxxxxx", + "count": 13, + "regions": [ + { + "count": 9, + "name": "eu-west-2", + "resourceTypes": [ + { + "count": 2, + "type": "AWS::EC2::Subnet" + }, + { + "count": 1, + "type": "AWS::EC2::VPC" + }, + { + "count": 1, + "type": "AWS::ECS::Cluster" + }, + { + "count": 5, + "type": "AWS::S3::Bucket" + } + ] + }, + { + "count": 4, + "name": "global", + "resourceTypes": [ + { + "count": 2, + "type": "AWS::IAM::Role" + }, + { + "count": 2, + "type": "AWS::IAM::User" + } + ] + } + ] }, { - "count": 4, - "name": "global", - "resourceTypes": [ - { - "count": 2, - "type": "AWS::IAM::Role" - }, - { - "count": 2, - "type": "AWS::IAM::User" - } - ] + "accountId": "yyyyyyyyyyyy", + "count": 16, + "regions": [ + { + "count": 16, + "name": "eu-west-1", + "resourceTypes": [ + { + "count": 2, + "type": "AWS::EC2::Instance" + }, + { + "count": 3, + "type": "AWS::EC2::SecurityGroup" + }, + { + "count": 7, + "type": "AWS::S3::Bucket" + }, + { + "count": 1, + "type": "AWS::RDS::DBInstance" + }, + { + "count": 1, + "type": "AWS::RDS::Cluster" + }, + { + "count": 1, + "type": "AWS::Lambda::Function" + }, + { + "count": 1, + "type": "AWS::EKS::Cluster" + } + ] + } + ] } - ] - }, - { - "accountId": "yyyyyyyyyyyy", - "count": 16, - "regions": [ - { - "count": 16, - "name": "eu-west-1", - "resourceTypes": [ - { - "count": 2, - "type": "AWS::EC2::Instance" - }, - { - "count": 3, - "type": "AWS::EC2::SecurityGroup" - }, - { - "count": 7, - "type": "AWS::S3::Bucket" - }, - { - "count": 1, - "type": "AWS::RDS::DBInstance" - }, - { - "count": 1, - "type": "AWS::RDS::Cluster" - }, - { - "count": 1, - "type": "AWS::Lambda::Function" - }, - { - "count": 1, - "type": "AWS::EKS::Cluster" - } - ] - } - ] - } - ] -} \ No newline at end of file + ] +} diff --git a/source/frontend/src/tests/mocks/handlers.js b/source/frontend/src/tests/mocks/handlers.js index fe00b532..4f4ca06b 100644 --- a/source/frontend/src/tests/mocks/handlers.js +++ b/source/frontend/src/tests/mocks/handlers.js @@ -1,28 +1,29 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import {graphql, rest} from "msw"; +import {graphql, http, HttpResponse} from 'msw'; import getCostForResource from './fixtures/getCostForResource/default.json'; import getCostForService from './fixtures/getCostForService/default.json'; -import getResourcesMetadataResponse from "./fixtures/getResourcesMetadata/default.json"; -import getResourcesAccountMetadataResponse from "./fixtures/getResourcesAccountMetadata/default.json"; -import getResourcesRegionMetadataResponse from "./fixtures/getResourcesRegionMetadata/default.json"; +import getResourcesMetadataResponse from './fixtures/getResourcesMetadata/default.json'; +import getResourcesAccountMetadataResponse from './fixtures/getResourcesAccountMetadata/default.json'; +import getResourcesRegionMetadataResponse from './fixtures/getResourcesRegionMetadata/default.json'; import getResourcesByCostResponse from './fixtures/getResourcesByCost/default.json'; import getAccounts from './fixtures/getAccounts/default.json'; import getResourceGraph from './fixtures/getResourceGraph/default.json'; -import deleteRegions from './fixtures/deleteRegions/default.json' -import * as R from "ramda"; -import mockStorageProvider from "./MockStorageProvider"; +import deleteRegions from './fixtures/deleteRegions/default.json'; +import * as R from 'ramda'; +import mockStorageProvider from './MockStorageProvider'; -const {getResourcesRegionMetadata: accounts} = getResourcesRegionMetadataResponse; +const {getResourcesRegionMetadata: accounts} = + getResourcesRegionMetadataResponse; const defaultResources = accounts.flatMap(({accountId, regions}) => { return regions.flatMap(({name: region, resourceTypes}) => { return resourceTypes.flatMap(({count, type: resourceType}) => { const resources = []; - for(let i = 0; i < count; i++) { - const id = `arn:aws:${accountId}:${region}:${resourceType}:${i}` - const label = resourceType.replace(/::/g, "_"); + for (let i = 0; i < count; i++) { + const id = `arn:aws:${accountId}:${region}:${resourceType}:${i}`; + const label = resourceType.replace(/::/g, '_'); resources.push({ id, label, @@ -34,13 +35,15 @@ const defaultResources = accounts.flatMap(({accountId, regions}) => { availabilityZone: 'availabilityZone', configuration: JSON.stringify({ key: label + i, - ...(resourceType === 'AWS::EC2::Subnet' ? {state: {value: 'available'}} : {}) + ...(resourceType === 'AWS::EC2::Subnet' + ? {state: {value: 'available'}} + : {}), }), title: id + 'Title', tags: JSON.stringify([ - {tag:`arnTag=${id}`, value: id, key: 'arnTag'} - ]) - } + {tag: `arnTag=${id}`, value: id, key: 'arnTag'}, + ]), + }, }); } return resources; @@ -49,96 +52,167 @@ const defaultResources = accounts.flatMap(({accountId, regions}) => { }); export function createSearchResourceHandler(initialResources) { - return (req, res, ctx) => { - const {accounts = [], resourceTypes, text} = req.variables; + return ({variables}) => { + const { + pagination: {start}, + accounts = [], + resourceTypes, + text, + } = variables; const accountIds = accounts.map(x => x.accountId); const resources = initialResources - .filter(({properties: {accountId}} ) => R.isEmpty(accountIds) || accountIds.includes(accountId)) - .filter(({properties: {resourceType}}) => resourceTypes == null || resourceTypes.includes(resourceType)) - .filter(resource => R.isEmpty(text) || JSON.stringify(resource).toLowerCase().includes(text.toLowerCase())); - - return res(ctx.data({ - searchResources: { - resources, - count: resources.length - } - })); - } + .filter( + ({properties: {accountId}}) => + R.isEmpty(accountIds) || accountIds.includes(accountId) + ) + .filter( + ({properties: {resourceType}}) => + resourceTypes == null || + resourceTypes.includes(resourceType) + ) + .filter( + resource => + R.isEmpty(text) || + JSON.stringify(resource) + .toLowerCase() + .includes(text.toLowerCase()) + ); + + if (resources.length < start) { + return HttpResponse.json({ + data: { + searchResources: { + resources: [], + count: resources.length, + }, + }, + }); + } + + return HttpResponse.json({ + data: { + searchResources: { + resources, + count: resources.length, + }, + }, + }); + }; } export function createGetResourceGraphHandler(resourceGraph) { - return (req, res, ctx) => { - const {pagination: {start}} = req.variables; - const {getResourceGraph: {nodes, edges}} = resourceGraph; + return ({variables}) => { + const { + pagination: {start}, + } = variables; + const { + getResourceGraph: {nodes, edges}, + } = resourceGraph; if (nodes.length < start && edges.length < start) { - return res(ctx.data({ - getResourceGraph: { - nodes: [], edges: [] - } - })); + return HttpResponse.json({ + data: { + getResourceGraph: { + nodes: [], + edges: [], + }, + }, + }); } - return res(ctx.data(getResourceGraph)); - } + return HttpResponse.json({data: getResourceGraph}); + }; } const handlers = [ - graphql.query('SearchResources', createSearchResourceHandler(defaultResources)), - graphql.query('GetResourceGraph', createGetResourceGraphHandler(getResourceGraph)), - graphql.mutation('DeleteRegions', (req, res, ctx) => { - return res(ctx.data(deleteRegions)); - }), - graphql.query('GetResourcesMetadata', (req, res, ctx) => { - return res(ctx.data(getResourcesMetadataResponse)); - }), - graphql.query('GetResourcesAccountMetadata', (req, res, ctx) => { - const {accounts, resourceTypes} = req.variables; + graphql.query( + 'SearchResources', + createSearchResourceHandler(defaultResources) + ), + graphql.query( + 'GetResourceGraph', + createGetResourceGraphHandler(getResourceGraph) + ), + graphql.mutation('DeleteRegions', () => + HttpResponse.json({data: deleteRegions}) + ), + graphql.query('GetResourcesMetadata', () => + HttpResponse.json({data: getResourcesMetadataResponse}) + ), + graphql.query('GetResourcesAccountMetadata', ({variables}) => { + const {accounts, resourceTypes} = variables; const accountIds = (accounts ?? []).map(x => x.accountId); - const {getResourcesAccountMetadata} = getResourcesAccountMetadataResponse; - const filteredResponse = getResourcesAccountMetadata - .filter(({accountId}) => R.isEmpty(accountIds) || accountIds.includes(accountId)) + const {getResourcesAccountMetadata} = + getResourcesAccountMetadataResponse; + const filteredResponse = getResourcesAccountMetadata.filter( + ({accountId}) => + R.isEmpty(accountIds) || accountIds.includes(accountId) + ); - return res(ctx.data({getResourcesAccountMetadata: filteredResponse})); + return HttpResponse.json({ + data: {getResourcesAccountMetadata: filteredResponse}, + }); }), - graphql.query('GetResourcesRegionMetadata', (req, res, ctx) => { - const {accounts} = req.variables; + graphql.query('GetResourcesRegionMetadata', ({variables}) => { + const {accounts} = variables; const accountIds = (accounts ?? []).map(x => x.accountId); const {getResourcesRegionMetadata} = getResourcesRegionMetadataResponse; - const filteredResponse = getResourcesRegionMetadata - .filter(({accountId}) => R.isEmpty(accountIds) || accountIds.includes(accountId)) + const filteredResponse = getResourcesRegionMetadata.filter( + ({accountId}) => + R.isEmpty(accountIds) || accountIds.includes(accountId) + ); - return res(ctx.data({getResourcesRegionMetadata: filteredResponse})); + return HttpResponse.json({ + data: {getResourcesRegionMetadata: filteredResponse}, + }); + }), + graphql.query('GetResourcesByCost', () => { + return HttpResponse.json({data: getResourcesByCostResponse}); }), - graphql.query('GetResourcesByCost', (req, res, ctx) => { - return res(ctx.data(getResourcesByCostResponse)); + graphql.query('GetCostForResource', () => { + return HttpResponse.json({data: getCostForResource}); }), - graphql.query('GetCostForResource', (req, res, ctx) => { - return res(ctx.data(getCostForResource)); + graphql.query('GetCostForService', () => { + return HttpResponse.json({data: getCostForService}); }), - graphql.query('GetCostForService', (req, res, ctx) => { - return res(ctx.data(getCostForService)); + graphql.query('GetAccounts', () => { + return HttpResponse.json({data: getAccounts}); }), - graphql.query('GetAccounts', (req, res, ctx) => { - return res(ctx.data(getAccounts)); + graphql.query('GetGlobalTemplate', () => { + return HttpResponse.json({ + data: {getGlobalTemplate: 'Global Template'}, + }); }), - graphql.query('GetGlobalTemplate', (req, res, ctx) => { - return res(ctx.data({getGlobalTemplate: 'Global Template'})); + graphql.query('GetRegionalTemplate', () => { + return HttpResponse.json({ + data: {getRegionalTemplate: 'Regional Template'}, + }); }), - graphql.query('GetRegionalTemplate', (req, res, ctx) => { - return res(ctx.data({getRegionalTemplate: 'Regional Template'})); + graphql.query('GetRegionalTemplate', () => { + return HttpResponse.json({ + data: {getRegionalTemplate: 'Regional Template'}, + }); + }), + graphql.mutation('CreateApplication', ({variables}) => { + const {name} = variables; + return HttpResponse.json({ + data: { + createApplication: { + applicationTag: 'myApplicationTag', + name, + unprocessedResources: [], + }, + }, + }); }), - graphql.query('ExportToDrawIo', (req, res, ctx) => { - return res(ctx.data({exportToDrawIo: 'https://mock-drawdiagrams.net'})); + http.get('https://www.mock-s3.com/:type/:level/:name', async ({params}) => { + const {type, level, name} = params; + const key = `${type}/${level}/${name}`; + return HttpResponse.json(await mockStorageProvider._getObject(key)); }), - rest.get('https://www.mock-s3.com/:level/:type/:name', async (req, res, ctx) => { - const {level, name, type} = req.params - const key = `${level}/${type}/${name}`; - return res(ctx.json(await mockStorageProvider._getObject(key))) - }) ]; -export default handlers; \ No newline at end of file +export default handlers; diff --git a/source/frontend/src/tests/mocks/server.js b/source/frontend/src/tests/mocks/server.js index 381f8dd1..f9413721 100644 --- a/source/frontend/src/tests/mocks/server.js +++ b/source/frontend/src/tests/mocks/server.js @@ -1,7 +1,7 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import {setupServer} from "msw/node"; -import handlers from "./handlers"; +import {setupServer} from 'msw/node'; +import handlers from './handlers'; export const server = setupServer(...handlers); diff --git a/source/frontend/src/tests/vitest/API/APIProcessors.test.js b/source/frontend/src/tests/vitest/API/APIProcessors.test.js index ad21757f..cefb58b3 100644 --- a/source/frontend/src/tests/vitest/API/APIProcessors.test.js +++ b/source/frontend/src/tests/vitest/API/APIProcessors.test.js @@ -5,11 +5,9 @@ import {describe, it, expect, vi} from 'vitest'; import {getResourceGraph as singleAccount} from '../../mocks/fixtures/getResourceGraph/default.json'; import {processElements} from '../../../API/APIProcessors'; import singleAccountExpected from './fixtures/expected/singleAccount.json'; -import singleAccountDuplicates from './fixtures/expected/singleAccountDuplicates.json' +import singleAccountDuplicates from './fixtures/expected/singleAccountDuplicates.json'; describe('APIProcessors.js', () => { - describe('processElements', () => { - it('should create bounding boxes for account, region, az, vpc and subnet for resources in one account', () => { const actual = processElements(singleAccount); expect(actual).toEqual(singleAccountExpected); @@ -18,10 +16,11 @@ describe('APIProcessors.js', () => { it('should handle node list with duplicate ids', () => { const {nodes, edges} = singleAccount; const duplicates = nodes.slice(0, 5); - const actual = processElements({nodes: [...nodes, ...duplicates], edges}); + const actual = processElements({ + nodes: [...nodes, ...duplicates], + edges, + }); expect(actual).toEqual(singleAccountDuplicates); }); - }); - -}); \ No newline at end of file +}); diff --git a/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/APIGateway/Endpoint/APIGatewayEndpointParser.test.js b/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/APIGateway/Endpoint/APIGatewayEndpointParser.test.js index 4173dff2..da26bfdc 100644 --- a/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/APIGateway/Endpoint/APIGatewayEndpointParser.test.js +++ b/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/APIGateway/Endpoint/APIGatewayEndpointParser.test.js @@ -1,17 +1,16 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import { test, expect, describe } from 'vitest' +import {test, expect, describe} from 'vitest'; import React from 'react'; -import { parseAPIGatewayEndpoint } from '../../../../../../../API/NodeFactory/NodeParsers/APIGateway/Endpoint/APIGatewayEndpointParser'; -import { fetchImage } from '../../../../../../../Utils/ImageSelector'; +import {parseAPIGatewayEndpoint} from '../../../../../../../API/NodeFactory/NodeParsers/APIGateway/Endpoint/APIGatewayEndpointParser'; +import {fetchImage} from '../../../../../../../Utils/ImageSelector'; describe('APIGatewayEndpointParser', () => { - test('when node that is an API endpoint gets custom parsed it will have a custom hover over and icon', () => { const node = { name: 'anEndpoint', - properties: { resourceType: 'AWS::ApiGateway::RestApi' } + properties: {resourceType: 'AWS::ApiGateway::RestApi'}, }; const expectedResult = { styling: { @@ -20,7 +19,7 @@ describe('APIGatewayEndpointParser', () => { borderOpacity: 0.25, borderSize: 1, message: '', - colour: '#fff' + colour: '#fff', }, icon: fetchImage(node.properties.resourceType), }; @@ -28,12 +27,10 @@ describe('APIGatewayEndpointParser', () => { const result = parseAPIGatewayEndpoint(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - }); test('when node that is undefined gets custom parsed it will return empty object', () => { const result = parseAPIGatewayEndpoint(undefined); expect(result).toEqual({}); }); - }); diff --git a/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/APIGateway/Method/APIGatewayMethodParser.test.js b/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/APIGateway/Method/APIGatewayMethodParser.test.js index ba4a63ac..4be9504b 100644 --- a/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/APIGateway/Method/APIGatewayMethodParser.test.js +++ b/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/APIGateway/Method/APIGatewayMethodParser.test.js @@ -1,15 +1,14 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import { test, expect, describe } from 'vitest' -import { parseAPIGatewayMethod } from '../../../../../../../API/NodeFactory/NodeParsers/APIGateway/Method/APIGatewayMethodParser'; -import { fetchImage } from '../../../../../../../Utils/ImageSelector'; +import {test, expect, describe} from 'vitest'; +import {parseAPIGatewayMethod} from '../../../../../../../API/NodeFactory/NodeParsers/APIGateway/Method/APIGatewayMethodParser'; +import {fetchImage} from '../../../../../../../Utils/ImageSelector'; describe('APIGatewayMethodParser', () => { - test('ctest that a node passed with that is API Method POST it gets custom parsed icon.', () => { const node = { - properties: { resourceId: 'blahblah_blah_POST' } + properties: {resourceId: 'blahblah_blah_POST'}, }; const expectedResult = { styling: { @@ -18,21 +17,19 @@ describe('APIGatewayMethodParser', () => { borderOpacity: 0.25, borderSize: 1, message: '', - colour: '#fff' + colour: '#fff', }, icon: fetchImage('POST'), - }; const result = parseAPIGatewayMethod(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - }); test('when a node passed with that is API Method GET it gets custom parsed icon.', () => { const node = { - properties: { resourceId: 'blahblah_blah_GET' } + properties: {resourceId: 'blahblah_blah_GET'}, }; const expectedResult = { styling: { @@ -41,21 +38,19 @@ describe('APIGatewayMethodParser', () => { borderOpacity: 0.25, borderSize: 1, message: '', - colour: '#fff' + colour: '#fff', }, icon: fetchImage('GET'), - }; const result = parseAPIGatewayMethod(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - }); test('when a node passed with that is API Method gets custom parsed icon.', () => { const node = { - properties: { resourceId: 'blahblah_blah_POST' } + properties: {resourceId: 'blahblah_blah_POST'}, }; const expectedResult = { styling: { @@ -64,21 +59,19 @@ describe('APIGatewayMethodParser', () => { borderOpacity: 0.25, borderSize: 1, message: '', - colour: '#fff' + colour: '#fff', }, icon: fetchImage('POST'), - }; const result = parseAPIGatewayMethod(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - }); test('when a node passed with that is API Method PUT it gets custom parsed icon.', () => { const node = { - properties: { resourceId: 'blahblah_blah_PUT' } + properties: {resourceId: 'blahblah_blah_PUT'}, }; const expectedResult = { styling: { @@ -87,21 +80,19 @@ describe('APIGatewayMethodParser', () => { borderOpacity: 0.25, borderSize: 1, message: '', - colour: '#fff' + colour: '#fff', }, icon: fetchImage('PUT'), - }; const result = parseAPIGatewayMethod(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - }); test('when a node passed with that is API Method DELETE it gets custom parsed icon.', () => { const node = { - properties: { resourceId: 'blahblah_blah_DELETE' } + properties: {resourceId: 'blahblah_blah_DELETE'}, }; const expectedResult = { styling: { @@ -110,21 +101,19 @@ describe('APIGatewayMethodParser', () => { borderOpacity: 0.25, borderSize: 1, message: '', - colour: '#fff' + colour: '#fff', }, icon: fetchImage('DELETE'), - }; const result = parseAPIGatewayMethod(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - }); test('when a node passed with that is API Method PATCH it gets custom parsed icon.', () => { const node = { - properties: { resourceId: 'blahblah_blah_PATCH' } + properties: {resourceId: 'blahblah_blah_PATCH'}, }; const expectedResult = { styling: { @@ -133,21 +122,19 @@ describe('APIGatewayMethodParser', () => { borderOpacity: 0.25, borderSize: 1, message: '', - colour: '#fff' + colour: '#fff', }, icon: fetchImage('PATCH'), - }; const result = parseAPIGatewayMethod(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - }); test('when a node passed with that is API Method of random string it gets custom parsed icon.', () => { const node = { - properties: { resourceId: 'blahblah_blah_Random' } + properties: {resourceId: 'blahblah_blah_Random'}, }; const expectedResult = { styling: { @@ -156,20 +143,17 @@ describe('APIGatewayMethodParser', () => { borderOpacity: 0.25, borderSize: 1, message: '', - colour: '#fff' + colour: '#fff', }, icon: fetchImage('AWS::ApiGateway::Method'), - }; const result = parseAPIGatewayMethod(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - }); test('when undefined is sent as the resourceId for API Gateway Method it returns standard icon', () => { - const expectedResult = { styling: { borderStyle: 'solid', @@ -177,16 +161,13 @@ describe('APIGatewayMethodParser', () => { borderOpacity: 0.25, borderSize: 1, message: '', - colour: '#fff' + colour: '#fff', }, icon: fetchImage('AWS::ApiGateway::Method'), - }; const result = parseAPIGatewayMethod(undefined); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - }); - }); diff --git a/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/APIGateway/Resource/APIGatewayResourceParser.test.js b/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/APIGateway/Resource/APIGatewayResourceParser.test.js index f298c008..c5490e72 100644 --- a/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/APIGateway/Resource/APIGatewayResourceParser.test.js +++ b/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/APIGateway/Resource/APIGatewayResourceParser.test.js @@ -1,15 +1,14 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import { test, expect, describe } from 'vitest'; -import { parseAPIGatewayResource } from '../../../../../../../API/NodeFactory/NodeParsers/APIGateway/Resource/APIGatewayResourceParser'; -import { fetchImage } from '../../../../../../../Utils/ImageSelector'; +import {test, expect, describe} from 'vitest'; +import {parseAPIGatewayResource} from '../../../../../../../API/NodeFactory/NodeParsers/APIGateway/Resource/APIGatewayResourceParser'; +import {fetchImage} from '../../../../../../../Utils/ImageSelector'; describe('APIGatewayResourceParser', () => { - test('when node that is an API Resource gets custom parsed it will have a custom hover over and icon', () => { const node = { - properties: { resourceType: 'AWS::ApiGateway::Resource' } + properties: {resourceType: 'AWS::ApiGateway::Resource'}, }; const expectedResult = { styling: { @@ -18,7 +17,7 @@ describe('APIGatewayResourceParser', () => { borderOpacity: 0.25, borderSize: 1, message: '', - colour: '#fff' + colour: '#fff', }, icon: fetchImage(node.properties.resourceType), }; @@ -32,5 +31,4 @@ describe('APIGatewayResourceParser', () => { const result = parseAPIGatewayResource(undefined); expect(result).toEqual({}); }); - }); diff --git a/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/CustomerManagedPolicyStatement/CustomerManagedPolicyStatementParser.test.js b/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/CustomerManagedPolicyStatement/CustomerManagedPolicyStatementParser.test.js index f408226c..08924746 100644 --- a/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/CustomerManagedPolicyStatement/CustomerManagedPolicyStatementParser.test.js +++ b/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/CustomerManagedPolicyStatement/CustomerManagedPolicyStatementParser.test.js @@ -1,26 +1,25 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import { beforeEach, test, describe, expect, vi } from 'vitest' +import {beforeEach, test, describe, expect, vi} from 'vitest'; import React from 'react'; import StatementItem from '../../../../../../API/NodeFactory/NodeParsers/CustomerManagedPolicyStatement/Statement/StatementItem'; -import { parseCustomerManagedPolicyStatement } from '../../../../../../API/NodeFactory/NodeParsers/CustomerManagedPolicyStatement/CustomerManagedPolicyStatementParser'; -import { fetchImage } from '../../../../../../Utils/ImageSelector'; +import {parseCustomerManagedPolicyStatement} from '../../../../../../API/NodeFactory/NodeParsers/CustomerManagedPolicyStatement/CustomerManagedPolicyStatementParser'; +import {fetchImage} from '../../../../../../Utils/ImageSelector'; import { - atRiskActionsResources, - atRiskActionsNeedsAttentionResources, - needsAttentionActionsNeedsAttentionResources, - okActionsAtRiskResources, - atRiskActionsOKResources, - needsAttentionActionsOKResources, - okActionsNeedsAttentionResources, - okActionsOKResources, - okActionsNotArrayOKResources, - okActionsOKResourcesArray + atRiskActionsResources, + atRiskActionsNeedsAttentionResources, + needsAttentionActionsNeedsAttentionResources, + okActionsAtRiskResources, + atRiskActionsOKResources, + needsAttentionActionsOKResources, + okActionsNeedsAttentionResources, + okActionsOKResources, + okActionsNotArrayOKResources, + okActionsOKResourcesArray, } from './data/statement.js'; describe('CustomerManagedPolicyStatementParser', () => { - beforeEach(() => { vi.resetModules(); // this is important - it clears the cache }); @@ -31,8 +30,8 @@ describe('CustomerManagedPolicyStatementParser', () => { properties: { configuration: atRiskActionsResources, resourceType: 'AWS::IAM::CustomerManagedPolicyStatement', - statement: atRiskActionsResources - } + statement: atRiskActionsResources, + }, }; const expectedResult = { styling: { @@ -42,14 +41,14 @@ describe('CustomerManagedPolicyStatementParser', () => { borderSize: 1, message: 'This is not secure. You should lockdown your policy statements by providing ARNs and full action names', - colour: '#D13212' + colour: '#D13212', }, icon: fetchImage(node.properties.resourceType, { - status: 'status-negative' + status: 'status-negative', }), detailsComponent: ( ), @@ -58,7 +57,9 @@ describe('CustomerManagedPolicyStatementParser', () => { const result = parseCustomerManagedPolicyStatement(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node that is customer managed policy statement with at risk actions and needs attention resources is parsed', () => { @@ -67,8 +68,8 @@ describe('CustomerManagedPolicyStatementParser', () => { properties: { configuration: atRiskActionsNeedsAttentionResources, resourceType: 'AWS::IAM::CustomerManagedPolicyStatement', - statement: atRiskActionsNeedsAttentionResources - } + statement: atRiskActionsNeedsAttentionResources, + }, }; const expectedResult = { styling: { @@ -78,14 +79,14 @@ describe('CustomerManagedPolicyStatementParser', () => { borderSize: 1, message: 'This is not secure. You should lockdown your policy statements by providing ARNs and full action names', - colour: '#D13212' + colour: '#D13212', }, icon: fetchImage(node.properties.resourceType, { - status: 'status-negative' + status: 'status-negative', }), detailsComponent: ( ), @@ -94,7 +95,9 @@ describe('CustomerManagedPolicyStatementParser', () => { const result = parseCustomerManagedPolicyStatement(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node that is customer managed policy statement with needs attention actions and needs attention resources is parsed', () => { @@ -103,8 +106,8 @@ describe('CustomerManagedPolicyStatementParser', () => { properties: { configuration: needsAttentionActionsNeedsAttentionResources, resourceType: 'AWS::IAM::CustomerManagedPolicyStatement', - statement: needsAttentionActionsNeedsAttentionResources - } + statement: needsAttentionActionsNeedsAttentionResources, + }, }; const expectedResult = { styling: { @@ -114,15 +117,17 @@ describe('CustomerManagedPolicyStatementParser', () => { borderSize: 1, message: 'You could further lockdown your policy by providing full resource ARNs and actions and removing any wildcards', - colour: '#FF9900' + colour: '#FF9900', }, icon: fetchImage(node.properties.resourceType, { - status: 'status-warning' + status: 'status-warning', }), detailsComponent: ( ), }; @@ -130,7 +135,9 @@ describe('CustomerManagedPolicyStatementParser', () => { const result = parseCustomerManagedPolicyStatement(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node that is customer managed policy statement with ok actions and at risk resources is parsed', () => { @@ -139,8 +146,8 @@ describe('CustomerManagedPolicyStatementParser', () => { properties: { configuration: okActionsAtRiskResources, resourceType: 'AWS::IAM::CustomerManagedPolicyStatement', - statement: okActionsAtRiskResources - } + statement: okActionsAtRiskResources, + }, }; const expectedResult = { styling: { @@ -150,14 +157,14 @@ describe('CustomerManagedPolicyStatementParser', () => { borderSize: 1, message: 'This is not secure. You should lockdown your policy statements by providing ARNs and full action names', - colour: '#D13212' + colour: '#D13212', }, icon: fetchImage(node.properties.resourceType, { - status: 'status-negative' + status: 'status-negative', }), detailsComponent: ( ), @@ -167,7 +174,9 @@ describe('CustomerManagedPolicyStatementParser', () => { expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); expect(result.hoverComponent).toEqual(expectedResult.hoverComponent); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node that is customer managed policy statement with at risk actions and ok resources is parsed', () => { @@ -176,8 +185,8 @@ describe('CustomerManagedPolicyStatementParser', () => { properties: { configuration: atRiskActionsOKResources, resourceType: 'AWS::IAM::CustomerManagedPolicyStatement', - statement: atRiskActionsOKResources - } + statement: atRiskActionsOKResources, + }, }; const expectedResult = { styling: { @@ -187,14 +196,14 @@ describe('CustomerManagedPolicyStatementParser', () => { borderSize: 1, message: 'This is not secure. You should lockdown your policy statements by providing ARNs and full action names', - colour: '#D13212' + colour: '#D13212', }, icon: fetchImage(node.properties.resourceType, { - status: 'status-negative' + status: 'status-negative', }), detailsComponent: ( ), @@ -203,7 +212,9 @@ describe('CustomerManagedPolicyStatementParser', () => { const result = parseCustomerManagedPolicyStatement(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node that is customer managed policy statement with needs attention actions and ok resources is parsed', () => { @@ -212,8 +223,8 @@ describe('CustomerManagedPolicyStatementParser', () => { properties: { configuration: needsAttentionActionsOKResources, resourceType: 'AWS::IAM::CustomerManagedPolicyStatement', - statement: needsAttentionActionsOKResources - } + statement: needsAttentionActionsOKResources, + }, }; const expectedResult = { styling: { @@ -223,14 +234,14 @@ describe('CustomerManagedPolicyStatementParser', () => { borderSize: 1, message: 'You could further lockdown your policy by providing full resource ARNs and actions and removing any wildcards', - colour: '#FF9900' + colour: '#FF9900', }, icon: fetchImage(node.properties.resourceType, { - status: 'status-warning' + status: 'status-warning', }), detailsComponent: ( ), @@ -239,7 +250,9 @@ describe('CustomerManagedPolicyStatementParser', () => { const result = parseCustomerManagedPolicyStatement(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node that is customer managed policy statement with ok actions and needs attention resources is parsed', () => { @@ -248,8 +261,8 @@ describe('CustomerManagedPolicyStatementParser', () => { properties: { configuration: okActionsNeedsAttentionResources, resourceType: 'AWS::IAM::CustomerManagedPolicyStatement', - statement: okActionsNeedsAttentionResources - } + statement: okActionsNeedsAttentionResources, + }, }; const expectedResult = { styling: { @@ -259,14 +272,14 @@ describe('CustomerManagedPolicyStatementParser', () => { borderSize: 1, message: 'You could further lockdown your policy by providing full resource ARNs and actions and removing any wildcards', - colour: '#FF9900' + colour: '#FF9900', }, icon: fetchImage(node.properties.resourceType, { - status: 'status-warning' + status: 'status-warning', }), detailsComponent: ( ), @@ -275,7 +288,9 @@ describe('CustomerManagedPolicyStatementParser', () => { const result = parseCustomerManagedPolicyStatement(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node that is customer managed policy statement with ok actions and ok resources is parsed', () => { @@ -284,8 +299,8 @@ describe('CustomerManagedPolicyStatementParser', () => { properties: { configuration: okActionsOKResources, resourceType: 'AWS::IAM::CustomerManagedPolicyStatement', - statement: okActionsOKResources - } + statement: okActionsOKResources, + }, }; const expectedResult = { styling: { @@ -293,16 +308,15 @@ describe('CustomerManagedPolicyStatementParser', () => { borderColour: '#1D8102', borderOpacity: 0.25, borderSize: 1, - message: - 'The actions and resources covered by this statement', - colour: '#1D8102' + message: 'The actions and resources covered by this statement', + colour: '#1D8102', }, icon: fetchImage(node.properties.resourceType, { - status: 'status-available' + status: 'status-available', }), detailsComponent: ( ), @@ -311,7 +325,9 @@ describe('CustomerManagedPolicyStatementParser', () => { const result = parseCustomerManagedPolicyStatement(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node that is customer managed policy statement with ok actions not array and ok resources is parsed', () => { @@ -320,8 +336,8 @@ describe('CustomerManagedPolicyStatementParser', () => { properties: { configuration: okActionsNotArrayOKResources, resourceType: 'AWS::IAM::CustomerManagedPolicyStatement', - statement: okActionsNotArrayOKResources - } + statement: okActionsNotArrayOKResources, + }, }; const expectedResult = { styling: { @@ -329,16 +345,15 @@ describe('CustomerManagedPolicyStatementParser', () => { borderColour: '#1D8102', borderOpacity: 0.25, borderSize: 1, - message: - 'The actions and resources covered by this statement', - colour: '#1D8102' + message: 'The actions and resources covered by this statement', + colour: '#1D8102', }, icon: fetchImage(node.properties.resourceType, { - status: 'status-available' + status: 'status-available', }), detailsComponent: ( ), @@ -347,7 +362,9 @@ describe('CustomerManagedPolicyStatementParser', () => { const result = parseCustomerManagedPolicyStatement(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node that is customer managed policy statement with ok actions and ok resources in array is parsed', () => { @@ -356,8 +373,8 @@ describe('CustomerManagedPolicyStatementParser', () => { properties: { configuration: okActionsOKResourcesArray, resourceType: 'AWS::IAM::CustomerManagedPolicyStatement', - statement: okActionsOKResourcesArray - } + statement: okActionsOKResourcesArray, + }, }; const expectedResult = { styling: { @@ -365,16 +382,15 @@ describe('CustomerManagedPolicyStatementParser', () => { borderColour: '#1D8102', borderOpacity: 0.25, borderSize: 1, - message: - 'The actions and resources covered by this statement', - colour: '#1D8102' + message: 'The actions and resources covered by this statement', + colour: '#1D8102', }, icon: fetchImage(node.properties.resourceType, { - status: 'status-available' + status: 'status-available', }), detailsComponent: ( ), @@ -383,7 +399,8 @@ describe('CustomerManagedPolicyStatementParser', () => { const result = parseCustomerManagedPolicyStatement(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); - }); diff --git a/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/CustomerManagedPolicyStatement/data/statement.js b/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/CustomerManagedPolicyStatement/data/statement.js index f0e8a7ae..803281e6 100644 --- a/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/CustomerManagedPolicyStatement/data/statement.js +++ b/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/CustomerManagedPolicyStatement/data/statement.js @@ -2,22 +2,22 @@ // SPDX-License-Identifier: Apache-2.0 export const atRiskActionsResources = -'{"softDeleteType":"delete","resources":"*","actions":"*"}'; + '{"softDeleteType":"delete","resources":"*","actions":"*"}'; export const atRiskActionsNeedsAttentionResources = -'{"softDeleteType":"delete","resources":"arn::to:some:resource*","actions":"*"}'; + '{"softDeleteType":"delete","resources":"arn::to:some:resource*","actions":"*"}'; export const needsAttentionActionsNeedsAttentionResources = -'{"softDeleteType":"delete","resources":"arn::to:some:resource*","actions":"someAction:*"}'; + '{"softDeleteType":"delete","resources":"arn::to:some:resource*","actions":"someAction:*"}'; export const okActionsAtRiskResources = -'{"softDeleteType":"delete","resources":"*","actions":"someAction"}'; + '{"softDeleteType":"delete","resources":"*","actions":"someAction"}'; export const atRiskActionsOKResources = -'{"softDeleteType":"delete","resources":"arn::to:some:resource","actions":"*"}'; + '{"softDeleteType":"delete","resources":"arn::to:some:resource","actions":"*"}'; export const okActionsNeedsAttentionResources = -'{"softDeleteType":"delete","resources":"arn::to:some:resource:*","actions":"someAction"}'; + '{"softDeleteType":"delete","resources":"arn::to:some:resource:*","actions":"someAction"}'; export const needsAttentionActionsOKResources = -'{"softDeleteType":"delete","resources":"arn::to:some:resource","actions":"someAction:*"}'; + '{"softDeleteType":"delete","resources":"arn::to:some:resource","actions":"someAction:*"}'; export const okActionsOKResources = -'{"softDeleteType":"delete","resources":"arn::to:some:resource","actions":"someAction"}'; + '{"softDeleteType":"delete","resources":"arn::to:some:resource","actions":"someAction"}'; export const okActionsNotArrayOKResources = -'{"softDeleteType":"delete","resources":"arn::to:some:resource","actions":"someAction"}'; + '{"softDeleteType":"delete","resources":"arn::to:some:resource","actions":"someAction"}'; export const okActionsOKResourcesArray = - '{"softDeleteType":"delete","resources":"arn::to:some:resource","actions":"[\\"autoscaling:DescribeAdjustmentTypes\\",\\"autoscaling:DescribeAutoScalingGroups\\",\\"autoscaling:DescribeAutoScalingInstances\\",\\"autoscaling:DescribeAutoScalingNotificationTypes\\",\\"autoscaling:DescribeLaunchConfigurations\\",\\"autoscaling:DescribeMetricCollectionTypes\\",\\"autoscaling:DescribeNotificationConfigurations\\",\\"autoscaling:DescribePolicies\\",\\"autoscaling:DescribeScalingActivities\\",\\"autoscaling:DescribeScalingProcessTypes\\",\\"autoscaling:DescribeScheduledActions\\",\\"autoscaling:DescribeTags\\",\\"autoscaling:DescribeTriggers\\"]","effect":"Allow","statement":"{\\"Action\\":[\\"autoscaling:DescribeAdjustmentTypes\\",\\"autoscaling:DescribeAutoScalingGroups\\",\\"autoscaling:DescribeAutoScalingInstances\\",\\"autoscaling:DescribeAutoScalingNotificationTypes\\",\\"autoscaling:DescribeLaunchConfigurations\\",\\"autoscaling:DescribeMetricCollectionTypes\\",\\"autoscaling:DescribeNotificationConfigurations\\",\\"autoscaling:DescribePolicies\\",\\"autoscaling:DescribeScalingActivities\\",\\"autoscaling:DescribeScalingProcessTypes\\",\\"autoscaling:DescribeScheduledActions\\",\\"autoscaling:DescribeTags\\",\\"autoscaling:DescribeTriggers\\"],\\"Effect\\":\\"Allow\\",\\"Resource\\":\\"arn::to:some:resource\\"}"}'; + '{"softDeleteType":"delete","resources":"arn::to:some:resource","actions":"[\\"autoscaling:DescribeAdjustmentTypes\\",\\"autoscaling:DescribeAutoScalingGroups\\",\\"autoscaling:DescribeAutoScalingInstances\\",\\"autoscaling:DescribeAutoScalingNotificationTypes\\",\\"autoscaling:DescribeLaunchConfigurations\\",\\"autoscaling:DescribeMetricCollectionTypes\\",\\"autoscaling:DescribeNotificationConfigurations\\",\\"autoscaling:DescribePolicies\\",\\"autoscaling:DescribeScalingActivities\\",\\"autoscaling:DescribeScalingProcessTypes\\",\\"autoscaling:DescribeScheduledActions\\",\\"autoscaling:DescribeTags\\",\\"autoscaling:DescribeTriggers\\"]","effect":"Allow","statement":"{\\"Action\\":[\\"autoscaling:DescribeAdjustmentTypes\\",\\"autoscaling:DescribeAutoScalingGroups\\",\\"autoscaling:DescribeAutoScalingInstances\\",\\"autoscaling:DescribeAutoScalingNotificationTypes\\",\\"autoscaling:DescribeLaunchConfigurations\\",\\"autoscaling:DescribeMetricCollectionTypes\\",\\"autoscaling:DescribeNotificationConfigurations\\",\\"autoscaling:DescribePolicies\\",\\"autoscaling:DescribeScalingActivities\\",\\"autoscaling:DescribeScalingProcessTypes\\",\\"autoscaling:DescribeScheduledActions\\",\\"autoscaling:DescribeTags\\",\\"autoscaling:DescribeTriggers\\"],\\"Effect\\":\\"Allow\\",\\"Resource\\":\\"arn::to:some:resource\\"}"}'; diff --git a/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/DatabaseInstance/DatabaseInstanceParserAurora.test.js b/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/DatabaseInstance/DatabaseInstanceParserAurora.test.js index 02d28550..8152112d 100644 --- a/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/DatabaseInstance/DatabaseInstanceParserAurora.test.js +++ b/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/DatabaseInstance/DatabaseInstanceParserAurora.test.js @@ -1,26 +1,21 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import {beforeEach, test, describe, expect, vi} from 'vitest' +import {beforeEach, test, describe, expect, vi} from 'vitest'; import React from 'react'; -import DatabaseInstanceItem - from '../../../../../../API/NodeFactory/NodeParsers/DatabaseInstance/DatabaseInstanceDetails/DatabaseInstanceItem'; -import { - parseDatabaseInstance -} from '../../../../../../API/NodeFactory/NodeParsers/DatabaseInstance/DatabaseInstanceParser'; +import DatabaseInstanceItem from '../../../../../../API/NodeFactory/NodeParsers/DatabaseInstance/DatabaseInstanceDetails/DatabaseInstanceItem'; +import {parseDatabaseInstance} from '../../../../../../API/NodeFactory/NodeParsers/DatabaseInstance/DatabaseInstanceParser'; import {fetchImage} from '../../../../../../Utils/ImageSelector'; import {aurora} from './data/dbTypes'; describe('DatabaseInstanceParserAurora', () => { - - beforeEach(() => { vi.resetModules(); // this is important - it clears the cache }); test('when node is an aurora rds instance with status as warning provisioning', () => { let auroraProvisioning = JSON.parse(aurora); - auroraProvisioning.dBInstanceStatus = 'provisioning' + auroraProvisioning.dBInstanceStatus = 'provisioning'; const node = { name: 'aDatabaseInstance', properties: { @@ -42,19 +37,24 @@ describe('DatabaseInstanceParserAurora', () => { status: 'status-warning', }), detailsComponent: ( - + ), }; const result = parseDatabaseInstance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an aurora rds instance with status as warning pending', () => { let auroraPending = JSON.parse(aurora); - auroraPending.dBInstanceStatus = 'pending' + auroraPending.dBInstanceStatus = 'pending'; const node = { name: 'aDatabaseInstance', properties: { @@ -76,19 +76,24 @@ describe('DatabaseInstanceParserAurora', () => { status: 'status-warning', }), detailsComponent: ( - + ), }; const result = parseDatabaseInstance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an aurora rds instance with status as available', () => { let auroraAvailable = JSON.parse(aurora); - auroraAvailable.dBInstanceStatus = 'available' + auroraAvailable.dBInstanceStatus = 'available'; const node = { name: 'aDatabaseInstance', properties: { @@ -110,19 +115,24 @@ describe('DatabaseInstanceParserAurora', () => { status: 'status-available', }), detailsComponent: ( - + ), }; const result = parseDatabaseInstance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an aurora rds instance with status as good active', () => { let auroraActive = JSON.parse(aurora); - auroraActive.dBInstanceStatus = 'active' + auroraActive.dBInstanceStatus = 'active'; const node = { name: 'aDatabaseInstance', properties: { @@ -144,19 +154,24 @@ describe('DatabaseInstanceParserAurora', () => { status: 'status-available', }), detailsComponent: ( - + ), }; const result = parseDatabaseInstance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an aurora rds instance with status as error stopped', () => { let auroraStopped = JSON.parse(aurora); - auroraStopped.dBInstanceStatus = 'stopped' + auroraStopped.dBInstanceStatus = 'stopped'; const node = { name: 'aDatabaseInstance', properties: { @@ -178,19 +193,24 @@ describe('DatabaseInstanceParserAurora', () => { status: 'status-negative', }), detailsComponent: ( - + ), }; const result = parseDatabaseInstance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an aurora rds instance with status as error failed', () => { let auroraFailed = JSON.parse(aurora); - auroraFailed.dBInstanceStatus = 'failed' + auroraFailed.dBInstanceStatus = 'failed'; const node = { name: 'aDatabaseInstance', @@ -213,15 +233,18 @@ describe('DatabaseInstanceParserAurora', () => { status: 'status-negative', }), detailsComponent: ( - + ), }; const result = parseDatabaseInstance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); - }); - diff --git a/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/DatabaseInstance/DatabaseInstanceParserMySQL.test.js b/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/DatabaseInstance/DatabaseInstanceParserMySQL.test.js index f8339edc..2eca94d8 100644 --- a/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/DatabaseInstance/DatabaseInstanceParserMySQL.test.js +++ b/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/DatabaseInstance/DatabaseInstanceParserMySQL.test.js @@ -1,29 +1,28 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import { beforeEach, test, describe, expect, vi } from 'vitest' +import {beforeEach, test, describe, expect, vi} from 'vitest'; import React from 'react'; import DatabaseInstanceItem from '../../../../../../API/NodeFactory/NodeParsers/DatabaseInstance/DatabaseInstanceDetails/DatabaseInstanceItem'; -import { parseDatabaseInstance } from '../../../../../../API/NodeFactory/NodeParsers/DatabaseInstance/DatabaseInstanceParser'; -import { fetchImage } from '../../../../../../Utils/ImageSelector'; -import { mysql } from './data/dbTypes'; +import {parseDatabaseInstance} from '../../../../../../API/NodeFactory/NodeParsers/DatabaseInstance/DatabaseInstanceParser'; +import {fetchImage} from '../../../../../../Utils/ImageSelector'; +import {mysql} from './data/dbTypes'; describe('DatabaseInstanceParserMySQL', () => { - beforeEach(() => { vi.resetModules(); // this is important - it clears the cache }); test('when node is an mysql rds instance with status as provisioning', () => { let mysqlProv = JSON.parse(mysql); - mysqlProv.dBInstanceStatus = 'provisioning' + mysqlProv.dBInstanceStatus = 'provisioning'; const node = { name: 'aDatabaseInstance', properties: { resourceType: 'AWS::RDS::DBInstance', configuration: JSON.stringify(mysqlProv), - dBInstanceStatus: 'provisioning' - } + dBInstanceStatus: 'provisioning', + }, }; const expectedResult = { styling: { @@ -32,35 +31,37 @@ describe('DatabaseInstanceParserMySQL', () => { borderOpacity: 0.25, borderSize: 1, message: 'provisioning', - colour: '#FF9900' + colour: '#FF9900', }, icon: fetchImage('AWS::RDS::DBInstance-mysql', { - status: 'status-warning' + status: 'status-warning', }), detailsComponent: ( - ) + ), }; const result = parseDatabaseInstance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an mysql rds instance with status as pending', () => { let mysqlPending = JSON.parse(mysql); - mysqlPending.dBInstanceStatus = 'pending' + mysqlPending.dBInstanceStatus = 'pending'; const node = { name: 'aDatabaseInstance', properties: { resourceType: 'AWS::RDS::DBInstance', configuration: JSON.stringify(mysqlPending), - dBInstanceStatus: 'pending' - } + dBInstanceStatus: 'pending', + }, }; const expectedResult = { styling: { @@ -69,35 +70,37 @@ describe('DatabaseInstanceParserMySQL', () => { borderOpacity: 0.25, borderSize: 1, message: 'pending', - colour: '#FF9900' + colour: '#FF9900', }, icon: fetchImage('AWS::RDS::DBInstance-mysql', { - status: 'status-warning' + status: 'status-warning', }), detailsComponent: ( - ) + ), }; const result = parseDatabaseInstance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an mysql rds instance with status as available', () => { let mysqlAvailable = JSON.parse(mysql); - mysqlAvailable.dBInstanceStatus = 'available' + mysqlAvailable.dBInstanceStatus = 'available'; const node = { name: 'aDatabaseInstance', properties: { resourceType: 'AWS::RDS::DBInstance', configuration: JSON.stringify(mysqlAvailable), - dBInstanceStatus: 'available' - } + dBInstanceStatus: 'available', + }, }; const expectedResult = { styling: { @@ -106,35 +109,37 @@ describe('DatabaseInstanceParserMySQL', () => { borderOpacity: 0.25, borderSize: 1, message: 'available', - colour: '#1D8102' + colour: '#1D8102', }, icon: fetchImage('AWS::RDS::DBInstance-mysql', { - status: 'status-available' + status: 'status-available', }), detailsComponent: ( - ) + ), }; const result = parseDatabaseInstance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an mysql rds instance with status as active', () => { let mysqlActive = JSON.parse(mysql); - mysqlActive.dBInstanceStatus = 'active' + mysqlActive.dBInstanceStatus = 'active'; const node = { name: 'aDatabaseInstance', properties: { resourceType: 'AWS::RDS::DBInstance', configuration: JSON.stringify(mysqlActive), - dBInstanceStatus: 'active' - } + dBInstanceStatus: 'active', + }, }; const expectedResult = { styling: { @@ -143,35 +148,37 @@ describe('DatabaseInstanceParserMySQL', () => { borderOpacity: 0.25, borderSize: 1, message: 'active', - colour: '#1D8102' + colour: '#1D8102', }, icon: fetchImage('AWS::RDS::DBInstance-mysql', { - status: 'status-available' + status: 'status-available', }), detailsComponent: ( - ) + ), }; const result = parseDatabaseInstance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an mysql rds instance with status as stopped', () => { let mysqlStopped = JSON.parse(mysql); - mysqlStopped.dBInstanceStatus = 'stopped' + mysqlStopped.dBInstanceStatus = 'stopped'; const node = { name: 'aDatabaseInstance', properties: { resourceType: 'AWS::RDS::DBInstance', configuration: JSON.stringify(mysqlStopped), - dBInstanceStatus: 'stopped' - } + dBInstanceStatus: 'stopped', + }, }; const expectedResult = { styling: { @@ -180,35 +187,37 @@ describe('DatabaseInstanceParserMySQL', () => { borderOpacity: 0.25, borderSize: 1, message: 'stopped', - colour: '#D13212' + colour: '#D13212', }, icon: fetchImage('AWS::RDS::DBInstance-mysql', { - status: 'status-negative' + status: 'status-negative', }), detailsComponent: ( - ) + ), }; const result = parseDatabaseInstance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an mysql rds instance with status as failed', () => { let mysqlFailed = JSON.parse(mysql); - mysqlFailed.dBInstanceStatus = 'failed' + mysqlFailed.dBInstanceStatus = 'failed'; const node = { name: 'aDatabaseInstance', properties: { resourceType: 'AWS::RDS::DBInstance', configuration: JSON.stringify(mysqlFailed), - dBInstanceStatus: 'failed' - } + dBInstanceStatus: 'failed', + }, }; const expectedResult = { styling: { @@ -217,23 +226,24 @@ describe('DatabaseInstanceParserMySQL', () => { borderOpacity: 0.25, borderSize: 1, message: 'failed', - colour: '#D13212' + colour: '#D13212', }, icon: fetchImage('AWS::RDS::DBInstance-mysql', { - status: 'status-negative' + status: 'status-negative', }), detailsComponent: ( - ) + ), }; const result = parseDatabaseInstance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); - }); diff --git a/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/DatabaseInstance/DatabaseInstanceParserNeptune.test.js b/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/DatabaseInstance/DatabaseInstanceParserNeptune.test.js index 7a5b1a95..041b9164 100644 --- a/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/DatabaseInstance/DatabaseInstanceParserNeptune.test.js +++ b/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/DatabaseInstance/DatabaseInstanceParserNeptune.test.js @@ -1,29 +1,28 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import { beforeEach, test, describe, expect, vi } from 'vitest' +import {beforeEach, test, describe, expect, vi} from 'vitest'; import React from 'react'; import DatabaseInstanceItem from '../../../../../../API/NodeFactory/NodeParsers/DatabaseInstance/DatabaseInstanceDetails/DatabaseInstanceItem'; -import { parseDatabaseInstance } from '../../../../../../API/NodeFactory/NodeParsers/DatabaseInstance/DatabaseInstanceParser'; -import { fetchImage } from '../../../../../../Utils/ImageSelector'; -import { neptune } from './data/dbTypes'; +import {parseDatabaseInstance} from '../../../../../../API/NodeFactory/NodeParsers/DatabaseInstance/DatabaseInstanceParser'; +import {fetchImage} from '../../../../../../Utils/ImageSelector'; +import {neptune} from './data/dbTypes'; describe('DatabaseInstanceParserNeptune', () => { - beforeEach(() => { vi.resetModules(); // this is important - it clears the cache }); test('when node is an neptune rds instance with status as provisioning', () => { let neptuneProv = JSON.parse(neptune); - neptuneProv.dBInstanceStatus = 'provisioning' + neptuneProv.dBInstanceStatus = 'provisioning'; const node = { name: 'aDatabaseInstance', properties: { resourceType: 'AWS::RDS::DBInstance', configuration: JSON.stringify(neptuneProv), - dBInstanceStatus: 'provisioning' - } + dBInstanceStatus: 'provisioning', + }, }; const expectedResult = { styling: { @@ -32,35 +31,37 @@ describe('DatabaseInstanceParserNeptune', () => { borderOpacity: 0.25, borderSize: 1, message: 'provisioning', - colour: '#FF9900' + colour: '#FF9900', }, icon: fetchImage('AWS::RDS::DBInstance-neptune', { - status: 'status-warning' + status: 'status-warning', }), detailsComponent: ( - ) + ), }; const result = parseDatabaseInstance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an neptune rds instance with status as warning', () => { let neptunePending = JSON.parse(neptune); - neptunePending.dBInstanceStatus = 'pending' + neptunePending.dBInstanceStatus = 'pending'; const node = { name: 'aDatabaseInstance', properties: { resourceType: 'AWS::RDS::DBInstance', configuration: JSON.stringify(neptunePending), - dBInstanceStatus: 'pending' - } + dBInstanceStatus: 'pending', + }, }; const expectedResult = { styling: { @@ -69,35 +70,37 @@ describe('DatabaseInstanceParserNeptune', () => { borderOpacity: 0.25, borderSize: 1, message: 'pending', - colour: '#FF9900' + colour: '#FF9900', }, icon: fetchImage('AWS::RDS::DBInstance-neptune', { - status: 'status-warning' + status: 'status-warning', }), detailsComponent: ( - ) + ), }; const result = parseDatabaseInstance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an neptune rds instance with status as available', () => { let neptuneAvailable = JSON.parse(neptune); - neptuneAvailable.dBInstanceStatus = 'available' + neptuneAvailable.dBInstanceStatus = 'available'; const node = { name: 'aDatabaseInstance', properties: { resourceType: 'AWS::RDS::DBInstance', configuration: JSON.stringify(neptuneAvailable), - dBInstanceStatus: 'available' - } + dBInstanceStatus: 'available', + }, }; const expectedResult = { styling: { @@ -106,35 +109,37 @@ describe('DatabaseInstanceParserNeptune', () => { borderOpacity: 0.25, borderSize: 1, message: 'available', - colour: '#1D8102' + colour: '#1D8102', }, icon: fetchImage('AWS::RDS::DBInstance-neptune', { - status: 'status-available' + status: 'status-available', }), detailsComponent: ( - ) + ), }; const result = parseDatabaseInstance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an neptune rds instance with status as active', () => { let neptuneActive = JSON.parse(neptune); - neptuneActive.dBInstanceStatus = 'active' + neptuneActive.dBInstanceStatus = 'active'; const node = { name: 'aDatabaseInstance', properties: { resourceType: 'AWS::RDS::DBInstance', configuration: JSON.stringify(neptuneActive), - dBInstanceStatus: 'active' - } + dBInstanceStatus: 'active', + }, }; const expectedResult = { styling: { @@ -143,35 +148,37 @@ describe('DatabaseInstanceParserNeptune', () => { borderOpacity: 0.25, borderSize: 1, message: 'active', - colour: '#1D8102' + colour: '#1D8102', }, icon: fetchImage('AWS::RDS::DBInstance-neptune', { - status: 'status-available' + status: 'status-available', }), detailsComponent: ( - ) + ), }; const result = parseDatabaseInstance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an neptune rds instance with status as stopped', () => { let neptuneStopped = JSON.parse(neptune); - neptuneStopped.dBInstanceStatus = 'stopped' + neptuneStopped.dBInstanceStatus = 'stopped'; const node = { name: 'aDatabaseInstance', properties: { resourceType: 'AWS::RDS::DBInstance', configuration: JSON.stringify(neptuneStopped), - dBInstanceStatus: 'stopped' - } + dBInstanceStatus: 'stopped', + }, }; const expectedResult = { styling: { @@ -180,35 +187,37 @@ describe('DatabaseInstanceParserNeptune', () => { borderOpacity: 0.25, borderSize: 1, message: 'stopped', - colour: '#D13212' + colour: '#D13212', }, icon: fetchImage('AWS::RDS::DBInstance-neptune', { - status: 'status-negative' + status: 'status-negative', }), detailsComponent: ( - ) + ), }; const result = parseDatabaseInstance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an neptune rds instance with status as failed', () => { let neptuneFailed = JSON.parse(neptune); - neptuneFailed.dBInstanceStatus = 'failed' + neptuneFailed.dBInstanceStatus = 'failed'; const node = { name: 'aDatabaseInstance', properties: { resourceType: 'AWS::RDS::DBInstance', configuration: JSON.stringify(neptuneFailed), - dBInstanceStatus: 'failed' - } + dBInstanceStatus: 'failed', + }, }; const expectedResult = { styling: { @@ -217,23 +226,24 @@ describe('DatabaseInstanceParserNeptune', () => { borderOpacity: 0.25, borderSize: 1, message: 'failed', - colour: '#D13212' + colour: '#D13212', }, icon: fetchImage('AWS::RDS::DBInstance-neptune', { - status: 'status-negative' + status: 'status-negative', }), detailsComponent: ( - ) + ), }; const result = parseDatabaseInstance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); - }); diff --git a/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/DatabaseInstance/DatabaseInstanceParserPostgres.test.js b/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/DatabaseInstance/DatabaseInstanceParserPostgres.test.js index b21955aa..df5d2f6b 100644 --- a/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/DatabaseInstance/DatabaseInstanceParserPostgres.test.js +++ b/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/DatabaseInstance/DatabaseInstanceParserPostgres.test.js @@ -1,29 +1,28 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import { beforeEach, test, describe, expect, vi } from 'vitest' +import {beforeEach, test, describe, expect, vi} from 'vitest'; import React from 'react'; import DatabaseInstanceItem from '../../../../../../API/NodeFactory/NodeParsers/DatabaseInstance/DatabaseInstanceDetails/DatabaseInstanceItem'; -import { parseDatabaseInstance } from '../../../../../../API/NodeFactory/NodeParsers/DatabaseInstance/DatabaseInstanceParser'; -import { fetchImage } from '../../../../../../Utils/ImageSelector'; -import { postgres } from './data/dbTypes'; +import {parseDatabaseInstance} from '../../../../../../API/NodeFactory/NodeParsers/DatabaseInstance/DatabaseInstanceParser'; +import {fetchImage} from '../../../../../../Utils/ImageSelector'; +import {postgres} from './data/dbTypes'; describe('DatabaseInstanceParserPostgres', () => { - beforeEach(() => { vi.resetModules(); // this is important - it clears the cache }); test('when node is an postgres rds instance with status as provisioning', () => { let postgresProv = JSON.parse(postgres); - postgresProv.dBInstanceStatus = 'provisioning' + postgresProv.dBInstanceStatus = 'provisioning'; const node = { name: 'aDatabaseInstance', properties: { resourceType: 'AWS::RDS::DBInstance', configuration: JSON.stringify(postgresProv), - dBInstanceStatus: 'provisioning' - } + dBInstanceStatus: 'provisioning', + }, }; const expectedResult = { styling: { @@ -32,35 +31,37 @@ describe('DatabaseInstanceParserPostgres', () => { borderOpacity: 0.25, borderSize: 1, message: 'provisioning', - colour: '#FF9900' + colour: '#FF9900', }, icon: fetchImage('AWS::RDS::DBInstance-postgres', { - status: 'status-warning' + status: 'status-warning', }), detailsComponent: ( - ) + ), }; const result = parseDatabaseInstance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an postgres rds instance with status as pending', () => { let postgresPending = JSON.parse(postgres); - postgresPending.dBInstanceStatus = 'pending' + postgresPending.dBInstanceStatus = 'pending'; const node = { name: 'aDatabaseInstance', properties: { resourceType: 'AWS::RDS::DBInstance', configuration: JSON.stringify(postgresPending), - dBInstanceStatus: 'pending' - } + dBInstanceStatus: 'pending', + }, }; const expectedResult = { styling: { @@ -69,35 +70,37 @@ describe('DatabaseInstanceParserPostgres', () => { borderOpacity: 0.25, borderSize: 1, message: 'pending', - colour: '#FF9900' + colour: '#FF9900', }, icon: fetchImage('AWS::RDS::DBInstance-postgres', { - status: 'status-warning' + status: 'status-warning', }), detailsComponent: ( - ) + ), }; const result = parseDatabaseInstance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an postgres rds instance with status as available', () => { let postgresAvailable = JSON.parse(postgres); - postgresAvailable.dBInstanceStatus = 'available' + postgresAvailable.dBInstanceStatus = 'available'; const node = { name: 'aDatabaseInstance', properties: { resourceType: 'AWS::RDS::DBInstance', configuration: JSON.stringify(postgresAvailable), - dBInstanceStatus: 'available' - } + dBInstanceStatus: 'available', + }, }; const expectedResult = { styling: { @@ -106,35 +109,37 @@ describe('DatabaseInstanceParserPostgres', () => { borderOpacity: 0.25, borderSize: 1, message: 'available', - colour: '#1D8102' + colour: '#1D8102', }, icon: fetchImage('AWS::RDS::DBInstance-postgres', { - status: 'status-available' + status: 'status-available', }), detailsComponent: ( - ) + ), }; const result = parseDatabaseInstance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an postgres rds instance with status as active', () => { let postgresActive = JSON.parse(postgres); - postgresActive.dBInstanceStatus = 'active' + postgresActive.dBInstanceStatus = 'active'; const node = { name: 'aDatabaseInstance', properties: { resourceType: 'AWS::RDS::DBInstance', configuration: JSON.stringify(postgresActive), - dBInstanceStatus: 'active' - } + dBInstanceStatus: 'active', + }, }; const expectedResult = { styling: { @@ -143,35 +148,37 @@ describe('DatabaseInstanceParserPostgres', () => { borderOpacity: 0.25, borderSize: 1, message: 'active', - colour: '#1D8102' + colour: '#1D8102', }, icon: fetchImage('AWS::RDS::DBInstance-postgres', { - status: 'status-available' + status: 'status-available', }), detailsComponent: ( - ) + ), }; const result = parseDatabaseInstance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an postgres rds instance with status as stopped', () => { let postgresStopped = JSON.parse(postgres); - postgresStopped.dBInstanceStatus = 'stopped' + postgresStopped.dBInstanceStatus = 'stopped'; const node = { name: 'aDatabaseInstance', properties: { resourceType: 'AWS::RDS::DBInstance', configuration: JSON.stringify(postgresStopped), - dBInstanceStatus: 'stopped' - } + dBInstanceStatus: 'stopped', + }, }; const expectedResult = { styling: { @@ -180,35 +187,37 @@ describe('DatabaseInstanceParserPostgres', () => { borderOpacity: 0.25, borderSize: 1, message: 'stopped', - colour: '#D13212' + colour: '#D13212', }, icon: fetchImage('AWS::RDS::DBInstance-postgres', { - status: 'status-negative' + status: 'status-negative', }), detailsComponent: ( - ) + ), }; const result = parseDatabaseInstance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an postgres rds instance with status as failed', () => { let postgresFailed = JSON.parse(postgres); - postgresFailed.dBInstanceStatus = 'failed' + postgresFailed.dBInstanceStatus = 'failed'; const node = { name: 'aDatabaseInstance', properties: { resourceType: 'AWS::RDS::DBInstance', configuration: JSON.stringify(postgresFailed), - dBInstanceStatus: 'failed' - } + dBInstanceStatus: 'failed', + }, }; const expectedResult = { styling: { @@ -217,23 +226,24 @@ describe('DatabaseInstanceParserPostgres', () => { borderOpacity: 0.25, borderSize: 1, message: 'failed', - colour: '#D13212' + colour: '#D13212', }, icon: fetchImage('AWS::RDS::DBInstance-postgres', { - status: 'status-negative' + status: 'status-negative', }), detailsComponent: ( - ) + ), }; const result = parseDatabaseInstance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); - }); diff --git a/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/DatabaseInstance/DatabaseInstanceParserUnknown.test.js b/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/DatabaseInstance/DatabaseInstanceParserUnknown.test.js index 9d5db72d..e8ff3103 100644 --- a/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/DatabaseInstance/DatabaseInstanceParserUnknown.test.js +++ b/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/DatabaseInstance/DatabaseInstanceParserUnknown.test.js @@ -1,15 +1,14 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import {beforeEach, test, describe, expect, vi} from 'vitest' +import {beforeEach, test, describe, expect, vi} from 'vitest'; import React from 'react'; import DatabaseInstanceItem from '../../../../../../API/NodeFactory/NodeParsers/DatabaseInstance/DatabaseInstanceDetails/DatabaseInstanceItem'; -import { parseDatabaseInstance } from '../../../../../../API/NodeFactory/NodeParsers/DatabaseInstance/DatabaseInstanceParser'; -import { fetchImage } from '../../../../../../Utils/ImageSelector'; -import { unknown } from './data/dbTypes'; +import {parseDatabaseInstance} from '../../../../../../API/NodeFactory/NodeParsers/DatabaseInstance/DatabaseInstanceParser'; +import {fetchImage} from '../../../../../../Utils/ImageSelector'; +import {unknown} from './data/dbTypes'; describe('DatabaseInstanceParserUnknown', () => { - beforeEach(() => { vi.resetModules(); // this is important - it clears the cache }); @@ -39,7 +38,7 @@ describe('DatabaseInstanceParserUnknown', () => { }), detailsComponent: ( ), @@ -48,7 +47,9 @@ describe('DatabaseInstanceParserUnknown', () => { const result = parseDatabaseInstance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an unknown rds instance with status as warning', () => { @@ -76,7 +77,7 @@ describe('DatabaseInstanceParserUnknown', () => { }), detailsComponent: ( ), @@ -85,7 +86,9 @@ describe('DatabaseInstanceParserUnknown', () => { const result = parseDatabaseInstance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an unknown rds instance with status as available', () => { @@ -113,18 +116,19 @@ describe('DatabaseInstanceParserUnknown', () => { }), detailsComponent: ( ), }; - const result = parseDatabaseInstance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an unknown rds instance with status as active', () => { @@ -152,7 +156,7 @@ describe('DatabaseInstanceParserUnknown', () => { }), detailsComponent: ( ), @@ -161,7 +165,9 @@ describe('DatabaseInstanceParserUnknown', () => { const result = parseDatabaseInstance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an unknown rds instance with status as stopped', () => { @@ -189,7 +195,7 @@ describe('DatabaseInstanceParserUnknown', () => { }), detailsComponent: ( ), @@ -198,7 +204,9 @@ describe('DatabaseInstanceParserUnknown', () => { const result = parseDatabaseInstance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an unknown rds instance with status as failed', () => { @@ -226,7 +234,7 @@ describe('DatabaseInstanceParserUnknown', () => { }), detailsComponent: ( ), @@ -235,8 +243,8 @@ describe('DatabaseInstanceParserUnknown', () => { const result = parseDatabaseInstance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); - - }); diff --git a/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/DatabaseInstance/data/dbTypes.js b/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/DatabaseInstance/data/dbTypes.js index 46f859af..e2e77a56 100644 --- a/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/DatabaseInstance/data/dbTypes.js +++ b/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/DatabaseInstance/data/dbTypes.js @@ -1,8 +1,13 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -export const aurora = '{"dBInstanceIdentifier":"aurora-xnuyudlvcix6","dBInstanceClass":"db.r4.large","engine":"aurora","dBInstanceStatus":"available","masterUsername":"admin","dBName":"test","endpoint":{"address":"test","port":"1234"},"preferredBackupWindow":"0100-0400","storageEncrypted":"!0","cACertificateIdentifier":"test","engineVersion":"1.0.0","preferredMaintenanceWindow":"0200-0500","latestRestorableTime":"01-01-2020 01:00:00"}' -export const neptune = '{"dBInstanceIdentifier":"neptune-xnuyudlvcix6","dBInstanceClass":"db.r4.large","engine":"neptune","dBInstanceStatus":"available","masterUsername":"admin","dBName":"test","endpoint":{"address":"test","port":"1234"},"preferredBackupWindow":"0100-0400","storageEncrypted":"!0","cACertificateIdentifier":"test","engineVersion":"1.0.0","preferredMaintenanceWindow":"0200-0500","latestRestorableTime":"01-01-2020 01:00:00"}' -export const postgres = '{"dBInstanceIdentifier":"postgres-xnuyudlvcix6","dBInstanceClass":"db.r4.large","engine":"postgres","dBInstanceStatus":"available","masterUsername":"admin","dBName":"test","endpoint":{"address":"test","port":"1234"},"preferredBackupWindow":"0100-0400","storageEncrypted":"!0","cACertificateIdentifier":"test","engineVersion":"1.0.0","preferredMaintenanceWindow":"0200-0500","latestRestorableTime":"01-01-2020 01:00:00"}' -export const mysql = '{"dBInstanceIdentifier":"mysql-xnuyudlvcix6","dBInstanceClass":"db.r4.large","engine":"mysql","dBInstanceStatus":"available","masterUsername":"admin","dBName":"test","endpoint":{"address":"test","port":"1234"},"preferredBackupWindow":"0100-0400","storageEncrypted":"!0","cACertificateIdentifier":"test","engineVersion":"1.0.0","preferredMaintenanceWindow":"0200-0500","latestRestorableTime":"01-01-2020 01:00:00"}' -export const unknown = '{"dBInstanceIdentifier":"mysql-xnuyudlvcix6","dBInstanceClass":"db.r4.large","dBInstanceStatus":"available","masterUsername":"admin","dBName":"test","endpoint":{"address":"test","port":"1234"},"preferredBackupWindow":"0100-0400","storageEncrypted":"!0","cACertificateIdentifier":"test","engineVersion":"1.0.0","preferredMaintenanceWindow":"0200-0500","latestRestorableTime":"01-01-2020 01:00:00"}' +export const aurora = + '{"dBInstanceIdentifier":"aurora-xnuyudlvcix6","dBInstanceClass":"db.r4.large","engine":"aurora","dBInstanceStatus":"available","masterUsername":"admin","dBName":"test","endpoint":{"address":"test","port":"1234"},"preferredBackupWindow":"0100-0400","storageEncrypted":"!0","cACertificateIdentifier":"test","engineVersion":"1.0.0","preferredMaintenanceWindow":"0200-0500","latestRestorableTime":"01-01-2020 01:00:00"}'; +export const neptune = + '{"dBInstanceIdentifier":"neptune-xnuyudlvcix6","dBInstanceClass":"db.r4.large","engine":"neptune","dBInstanceStatus":"available","masterUsername":"admin","dBName":"test","endpoint":{"address":"test","port":"1234"},"preferredBackupWindow":"0100-0400","storageEncrypted":"!0","cACertificateIdentifier":"test","engineVersion":"1.0.0","preferredMaintenanceWindow":"0200-0500","latestRestorableTime":"01-01-2020 01:00:00"}'; +export const postgres = + '{"dBInstanceIdentifier":"postgres-xnuyudlvcix6","dBInstanceClass":"db.r4.large","engine":"postgres","dBInstanceStatus":"available","masterUsername":"admin","dBName":"test","endpoint":{"address":"test","port":"1234"},"preferredBackupWindow":"0100-0400","storageEncrypted":"!0","cACertificateIdentifier":"test","engineVersion":"1.0.0","preferredMaintenanceWindow":"0200-0500","latestRestorableTime":"01-01-2020 01:00:00"}'; +export const mysql = + '{"dBInstanceIdentifier":"mysql-xnuyudlvcix6","dBInstanceClass":"db.r4.large","engine":"mysql","dBInstanceStatus":"available","masterUsername":"admin","dBName":"test","endpoint":{"address":"test","port":"1234"},"preferredBackupWindow":"0100-0400","storageEncrypted":"!0","cACertificateIdentifier":"test","engineVersion":"1.0.0","preferredMaintenanceWindow":"0200-0500","latestRestorableTime":"01-01-2020 01:00:00"}'; +export const unknown = + '{"dBInstanceIdentifier":"mysql-xnuyudlvcix6","dBInstanceClass":"db.r4.large","dBInstanceStatus":"available","masterUsername":"admin","dBName":"test","endpoint":{"address":"test","port":"1234"},"preferredBackupWindow":"0100-0400","storageEncrypted":"!0","cACertificateIdentifier":"test","engineVersion":"1.0.0","preferredMaintenanceWindow":"0200-0500","latestRestorableTime":"01-01-2020 01:00:00"}'; diff --git a/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/EC2Instance/EC2InstanceParser.test.js b/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/EC2Instance/EC2InstanceParser.test.js index 19a57d25..3e37e988 100644 --- a/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/EC2Instance/EC2InstanceParser.test.js +++ b/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/EC2Instance/EC2InstanceParser.test.js @@ -1,15 +1,14 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import { beforeEach, test, describe, expect, vi } from 'vitest' +import {beforeEach, test, describe, expect, vi} from 'vitest'; import React from 'react'; -import { parseEC2Instance } from '../../../../../../API/NodeFactory/NodeParsers/EC2Instance/EC2InstanceParser'; -import { fetchImage } from '../../../../../../Utils/ImageSelector'; -import { createInstanceConfiguration } from './data/ec2Types'; +import {parseEC2Instance} from '../../../../../../API/NodeFactory/NodeParsers/EC2Instance/EC2InstanceParser'; +import {fetchImage} from '../../../../../../Utils/ImageSelector'; +import {createInstanceConfiguration} from './data/ec2Types'; import InstanceItem from '../../../../../../API/NodeFactory/NodeParsers/EC2Instance/InstanceDetails/InstanceItem'; describe('EC2InstanceParser', () => { - beforeEach(() => { vi.resetModules(); // this is important - it clears the cache }); @@ -19,7 +18,10 @@ describe('EC2InstanceParser', () => { name: 'anEC2Instance', properties: { resourceType: 'AWS::EC2::Instance', - configuration: createInstanceConfiguration('z1d.micro', 'running') + configuration: createInstanceConfiguration( + 'z1d.micro', + 'running' + ), }, }; const expectedResult = { @@ -36,7 +38,7 @@ describe('EC2InstanceParser', () => { }), detailsComponent: ( ), @@ -45,7 +47,9 @@ describe('EC2InstanceParser', () => { const result = parseEC2Instance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an ec2 instance with type z1d that is in warning state it returns correct icon and components', () => { @@ -53,8 +57,11 @@ describe('EC2InstanceParser', () => { name: 'anEC2Instance', properties: { resourceType: 'AWS::EC2::Instance', - configuration: createInstanceConfiguration('z1d.micro', 'provisioning') - } + configuration: createInstanceConfiguration( + 'z1d.micro', + 'provisioning' + ), + }, }; const expectedResult = { styling: { @@ -70,7 +77,7 @@ describe('EC2InstanceParser', () => { }), detailsComponent: ( ), @@ -79,7 +86,9 @@ describe('EC2InstanceParser', () => { const result = parseEC2Instance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an ec2 instance with type z1d that is in error state it returns correct icon and components', () => { @@ -87,7 +96,10 @@ describe('EC2InstanceParser', () => { name: 'anEC2Instance', properties: { resourceType: 'AWS::EC2::Instance', - configuration: createInstanceConfiguration('z1d.micro', 'shutting-down') + configuration: createInstanceConfiguration( + 'z1d.micro', + 'shutting-down' + ), }, }; const expectedResult = { @@ -104,7 +116,7 @@ describe('EC2InstanceParser', () => { }), detailsComponent: ( ), @@ -112,7 +124,9 @@ describe('EC2InstanceParser', () => { const result = parseEC2Instance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an ec2 instance with type x1e that is in healthy state it returns correct icon and components', () => { @@ -121,7 +135,10 @@ describe('EC2InstanceParser', () => { properties: { resourceType: 'AWS::EC2::Instance', instanceType: 'x1e.micro', - configuration: createInstanceConfiguration('x1e.micro', 'running') + configuration: createInstanceConfiguration( + 'x1e.micro', + 'running' + ), }, }; const expectedResult = { @@ -138,7 +155,7 @@ describe('EC2InstanceParser', () => { }), detailsComponent: ( ), @@ -147,7 +164,9 @@ describe('EC2InstanceParser', () => { const result = parseEC2Instance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an ec2 instance with type x1e that is in warning state it returns correct icon and components', () => { @@ -155,7 +174,10 @@ describe('EC2InstanceParser', () => { name: 'anEC2Instance', properties: { resourceType: 'AWS::EC2::Instance', - configuration: createInstanceConfiguration('x1e.micro', 'provisioning') + configuration: createInstanceConfiguration( + 'x1e.micro', + 'provisioning' + ), }, }; const expectedResult = { @@ -172,7 +194,7 @@ describe('EC2InstanceParser', () => { }), detailsComponent: ( ), @@ -181,7 +203,9 @@ describe('EC2InstanceParser', () => { const result = parseEC2Instance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an ec2 instance with type x1e that is in error state it returns correct icon and components', () => { @@ -189,7 +213,10 @@ describe('EC2InstanceParser', () => { name: 'anEC2Instance', properties: { resourceType: 'AWS::EC2::Instance', - configuration: createInstanceConfiguration('x1e.micro', 'shutting-down') + configuration: createInstanceConfiguration( + 'x1e.micro', + 'shutting-down' + ), }, }; const expectedResult = { @@ -206,7 +233,7 @@ describe('EC2InstanceParser', () => { }), detailsComponent: ( ), @@ -214,7 +241,9 @@ describe('EC2InstanceParser', () => { const result = parseEC2Instance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an ec2 instance with type x1 that is in healthy state it returns correct icon and components', () => { @@ -222,7 +251,10 @@ describe('EC2InstanceParser', () => { name: 'anEC2Instance', properties: { resourceType: 'AWS::EC2::Instance', - configuration: createInstanceConfiguration('x1.micro', 'running') + configuration: createInstanceConfiguration( + 'x1.micro', + 'running' + ), }, }; const expectedResult = { @@ -239,7 +271,7 @@ describe('EC2InstanceParser', () => { }), detailsComponent: ( ), @@ -248,7 +280,9 @@ describe('EC2InstanceParser', () => { const result = parseEC2Instance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an ec2 instance with type x1 that is in warning state it returns correct icon and components', () => { @@ -256,7 +290,10 @@ describe('EC2InstanceParser', () => { name: 'anEC2Instance', properties: { resourceType: 'AWS::EC2::Instance', - configuration: createInstanceConfiguration('x1.micro', 'provisioning') + configuration: createInstanceConfiguration( + 'x1.micro', + 'provisioning' + ), }, }; const expectedResult = { @@ -273,7 +310,7 @@ describe('EC2InstanceParser', () => { }), detailsComponent: ( ), @@ -282,7 +319,9 @@ describe('EC2InstanceParser', () => { const result = parseEC2Instance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an ec2 instance with type x1 that is in error state it returns correct icon and components', () => { @@ -290,7 +329,10 @@ describe('EC2InstanceParser', () => { name: 'anEC2Instance', properties: { resourceType: 'AWS::EC2::Instance', - configuration: createInstanceConfiguration('x1.micro', 'shutting-down') + configuration: createInstanceConfiguration( + 'x1.micro', + 'shutting-down' + ), }, }; const expectedResult = { @@ -307,7 +349,7 @@ describe('EC2InstanceParser', () => { }), detailsComponent: ( ), @@ -315,7 +357,9 @@ describe('EC2InstanceParser', () => { const result = parseEC2Instance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an ec2 instance with type t3a that is in healthy state it returns correct icon and components', () => { @@ -323,7 +367,10 @@ describe('EC2InstanceParser', () => { name: 'anEC2Instance', properties: { resourceType: 'AWS::EC2::Instance', - configuration: createInstanceConfiguration('t3a.micro', 'running') + configuration: createInstanceConfiguration( + 't3a.micro', + 'running' + ), }, }; const expectedResult = { @@ -340,7 +387,7 @@ describe('EC2InstanceParser', () => { }), detailsComponent: ( ), @@ -349,7 +396,9 @@ describe('EC2InstanceParser', () => { const result = parseEC2Instance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an ec2 instance with type t3a that is in warning state it returns correct icon and components', () => { @@ -357,7 +406,10 @@ describe('EC2InstanceParser', () => { name: 'anEC2Instance', properties: { resourceType: 'AWS::EC2::Instance', - configuration: createInstanceConfiguration('t3a.micro', 'provisioning') + configuration: createInstanceConfiguration( + 't3a.micro', + 'provisioning' + ), }, }; const expectedResult = { @@ -374,7 +426,7 @@ describe('EC2InstanceParser', () => { }), detailsComponent: ( ), @@ -383,7 +435,9 @@ describe('EC2InstanceParser', () => { const result = parseEC2Instance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an ec2 instance with type t3a that is in error state it returns correct icon and components', () => { @@ -391,7 +445,10 @@ describe('EC2InstanceParser', () => { name: 'anEC2Instance', properties: { resourceType: 'AWS::EC2::Instance', - configuration: createInstanceConfiguration('t3a.micro', 'shutting-down') + configuration: createInstanceConfiguration( + 't3a.micro', + 'shutting-down' + ), }, }; const expectedResult = { @@ -408,7 +465,7 @@ describe('EC2InstanceParser', () => { }), detailsComponent: ( ), @@ -416,7 +473,9 @@ describe('EC2InstanceParser', () => { const result = parseEC2Instance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an ec2 instance with type t3 that is in healthy state it returns correct icon and components', () => { @@ -424,7 +483,10 @@ describe('EC2InstanceParser', () => { name: 'anEC2Instance', properties: { resourceType: 'AWS::EC2::Instance', - configuration: createInstanceConfiguration('t3.micro', 'running') + configuration: createInstanceConfiguration( + 't3.micro', + 'running' + ), }, }; const expectedResult = { @@ -441,7 +503,7 @@ describe('EC2InstanceParser', () => { }), detailsComponent: ( ), @@ -450,7 +512,9 @@ describe('EC2InstanceParser', () => { const result = parseEC2Instance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an ec2 instance with type t3 that is in warning state it returns correct icon and components', () => { @@ -458,7 +522,10 @@ describe('EC2InstanceParser', () => { name: 'anEC2Instance', properties: { resourceType: 'AWS::EC2::Instance', - configuration: createInstanceConfiguration('t3.micro', 'provisioning') + configuration: createInstanceConfiguration( + 't3.micro', + 'provisioning' + ), }, }; const expectedResult = { @@ -475,7 +542,7 @@ describe('EC2InstanceParser', () => { }), detailsComponent: ( ), @@ -484,7 +551,9 @@ describe('EC2InstanceParser', () => { const result = parseEC2Instance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an ec2 instance with type t3 that is in error state it returns correct icon and components', () => { @@ -492,7 +561,10 @@ describe('EC2InstanceParser', () => { name: 'anEC2Instance', properties: { resourceType: 'AWS::EC2::Instance', - configuration: createInstanceConfiguration('t3.micro', 'shutting-down') + configuration: createInstanceConfiguration( + 't3.micro', + 'shutting-down' + ), }, }; const expectedResult = { @@ -509,7 +581,7 @@ describe('EC2InstanceParser', () => { }), detailsComponent: ( ), @@ -517,7 +589,9 @@ describe('EC2InstanceParser', () => { const result = parseEC2Instance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an ec2 instance with type r5 that is in healthy state it returns correct icon and components', () => { @@ -525,7 +599,10 @@ describe('EC2InstanceParser', () => { name: 'anEC2Instance', properties: { resourceType: 'AWS::EC2::Instance', - configuration: createInstanceConfiguration('r5.micro', 'running') + configuration: createInstanceConfiguration( + 'r5.micro', + 'running' + ), }, }; const expectedResult = { @@ -542,7 +619,7 @@ describe('EC2InstanceParser', () => { }), detailsComponent: ( ), @@ -551,7 +628,9 @@ describe('EC2InstanceParser', () => { const result = parseEC2Instance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an ec2 instance with type r5 that is in warning state it returns correct icon and components', () => { @@ -559,7 +638,10 @@ describe('EC2InstanceParser', () => { name: 'anEC2Instance', properties: { resourceType: 'AWS::EC2::Instance', - configuration: createInstanceConfiguration('r5.micro', 'provisioning') + configuration: createInstanceConfiguration( + 'r5.micro', + 'provisioning' + ), }, }; const expectedResult = { @@ -576,7 +658,7 @@ describe('EC2InstanceParser', () => { }), detailsComponent: ( ), @@ -585,7 +667,9 @@ describe('EC2InstanceParser', () => { const result = parseEC2Instance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an ec2 instance with type r5 that is in error state it returns correct icon and components', () => { @@ -593,7 +677,10 @@ describe('EC2InstanceParser', () => { name: 'anEC2Instance', properties: { resourceType: 'AWS::EC2::Instance', - configuration: createInstanceConfiguration('r5.micro', 'shutting-down') + configuration: createInstanceConfiguration( + 'r5.micro', + 'shutting-down' + ), }, }; const expectedResult = { @@ -610,7 +697,7 @@ describe('EC2InstanceParser', () => { }), detailsComponent: ( ), @@ -618,7 +705,9 @@ describe('EC2InstanceParser', () => { const result = parseEC2Instance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an ec2 instance with type r4 that is in healthy state it returns correct icon and components', () => { @@ -626,7 +715,10 @@ describe('EC2InstanceParser', () => { name: 'anEC2Instance', properties: { resourceType: 'AWS::EC2::Instance', - configuration: createInstanceConfiguration('r4.micro', 'running') + configuration: createInstanceConfiguration( + 'r4.micro', + 'running' + ), }, }; const expectedResult = { @@ -643,7 +735,7 @@ describe('EC2InstanceParser', () => { }), detailsComponent: ( ), @@ -652,7 +744,9 @@ describe('EC2InstanceParser', () => { const result = parseEC2Instance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an ec2 instance with type r4 that is in warning state it returns correct icon and components', () => { @@ -660,7 +754,10 @@ describe('EC2InstanceParser', () => { name: 'anEC2Instance', properties: { resourceType: 'AWS::EC2::Instance', - configuration: createInstanceConfiguration('r4.micro', 'provisioning') + configuration: createInstanceConfiguration( + 'r4.micro', + 'provisioning' + ), }, }; const expectedResult = { @@ -677,7 +774,7 @@ describe('EC2InstanceParser', () => { }), detailsComponent: ( ), @@ -686,7 +783,9 @@ describe('EC2InstanceParser', () => { const result = parseEC2Instance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an ec2 instance with type r4 that is in error state it returns correct icon and components', () => { @@ -694,7 +793,10 @@ describe('EC2InstanceParser', () => { name: 'anEC2Instance', properties: { resourceType: 'AWS::EC2::Instance', - configuration: createInstanceConfiguration('r4.micro', 'shutting-down') + configuration: createInstanceConfiguration( + 'r4.micro', + 'shutting-down' + ), }, }; const expectedResult = { @@ -711,7 +813,7 @@ describe('EC2InstanceParser', () => { }), detailsComponent: ( ), @@ -719,7 +821,9 @@ describe('EC2InstanceParser', () => { const result = parseEC2Instance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an ec2 instance with type p3 that is in healthy state it returns correct icon and components', () => { @@ -727,7 +831,10 @@ describe('EC2InstanceParser', () => { name: 'anEC2Instance', properties: { resourceType: 'AWS::EC2::Instance', - configuration: createInstanceConfiguration('p3.micro', 'running') + configuration: createInstanceConfiguration( + 'p3.micro', + 'running' + ), }, }; const expectedResult = { @@ -744,7 +851,7 @@ describe('EC2InstanceParser', () => { }), detailsComponent: ( ), @@ -753,7 +860,9 @@ describe('EC2InstanceParser', () => { const result = parseEC2Instance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an ec2 instance with type p3 that is in warning state it returns correct icon and components', () => { @@ -761,7 +870,10 @@ describe('EC2InstanceParser', () => { name: 'anEC2Instance', properties: { resourceType: 'AWS::EC2::Instance', - configuration: createInstanceConfiguration('p3.micro', 'provisioning') + configuration: createInstanceConfiguration( + 'p3.micro', + 'provisioning' + ), }, }; const expectedResult = { @@ -778,7 +890,7 @@ describe('EC2InstanceParser', () => { }), detailsComponent: ( ), @@ -787,7 +899,9 @@ describe('EC2InstanceParser', () => { const result = parseEC2Instance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an ec2 instance with type p3 that is in error state it returns correct icon and components', () => { @@ -795,7 +909,10 @@ describe('EC2InstanceParser', () => { name: 'anEC2Instance', properties: { resourceType: 'AWS::EC2::Instance', - configuration: createInstanceConfiguration('p3.micro', 'shutting-down') + configuration: createInstanceConfiguration( + 'p3.micro', + 'shutting-down' + ), }, }; const expectedResult = { @@ -812,7 +929,7 @@ describe('EC2InstanceParser', () => { }), detailsComponent: ( ), @@ -820,16 +937,20 @@ describe('EC2InstanceParser', () => { const result = parseEC2Instance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an ec2 instance with type p2 that is in healthy state it returns correct icon and components', () => { - const node = { name: 'anEC2Instance', properties: { resourceType: 'AWS::EC2::Instance', - configuration: createInstanceConfiguration('p2.micro', 'running') + configuration: createInstanceConfiguration( + 'p2.micro', + 'running' + ), }, }; const expectedResult = { @@ -846,7 +967,7 @@ describe('EC2InstanceParser', () => { }), detailsComponent: ( ), @@ -855,7 +976,9 @@ describe('EC2InstanceParser', () => { const result = parseEC2Instance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an ec2 instance with type p2 that is in warning state it returns correct icon and components', () => { @@ -863,7 +986,10 @@ describe('EC2InstanceParser', () => { name: 'anEC2Instance', properties: { resourceType: 'AWS::EC2::Instance', - configuration: createInstanceConfiguration('p2.micro', 'provisioning') + configuration: createInstanceConfiguration( + 'p2.micro', + 'provisioning' + ), }, }; const expectedResult = { @@ -880,7 +1006,7 @@ describe('EC2InstanceParser', () => { }), detailsComponent: ( ), @@ -889,7 +1015,9 @@ describe('EC2InstanceParser', () => { const result = parseEC2Instance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an ec2 instance with type p2 that is in error state it returns correct icon and components', () => { @@ -897,7 +1025,10 @@ describe('EC2InstanceParser', () => { name: 'anEC2Instance', properties: { resourceType: 'AWS::EC2::Instance', - configuration: createInstanceConfiguration('p2.micro', 'shutting-down') + configuration: createInstanceConfiguration( + 'p2.micro', + 'shutting-down' + ), }, }; const expectedResult = { @@ -914,7 +1045,7 @@ describe('EC2InstanceParser', () => { }), detailsComponent: ( ), @@ -922,7 +1053,9 @@ describe('EC2InstanceParser', () => { const result = parseEC2Instance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an ec2 instance with type m5a that is in healthy state it returns correct icon and components', () => { @@ -930,7 +1063,10 @@ describe('EC2InstanceParser', () => { name: 'anEC2Instance', properties: { resourceType: 'AWS::EC2::Instance', - configuration: createInstanceConfiguration('m5a.micro', 'running') + configuration: createInstanceConfiguration( + 'm5a.micro', + 'running' + ), }, }; const expectedResult = { @@ -947,7 +1083,7 @@ describe('EC2InstanceParser', () => { }), detailsComponent: ( ), @@ -956,7 +1092,9 @@ describe('EC2InstanceParser', () => { const result = parseEC2Instance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an ec2 instance with type m5a that is in warning state it returns correct icon and components', () => { @@ -964,7 +1102,10 @@ describe('EC2InstanceParser', () => { name: 'anEC2Instance', properties: { resourceType: 'AWS::EC2::Instance', - configuration: createInstanceConfiguration('m5a.micro', 'provisioning') + configuration: createInstanceConfiguration( + 'm5a.micro', + 'provisioning' + ), }, }; const expectedResult = { @@ -981,7 +1122,7 @@ describe('EC2InstanceParser', () => { }), detailsComponent: ( ), @@ -990,7 +1131,9 @@ describe('EC2InstanceParser', () => { const result = parseEC2Instance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an ec2 instance with type m5a that is in error state it returns correct icon and components', () => { @@ -998,7 +1141,10 @@ describe('EC2InstanceParser', () => { name: 'anEC2Instance', properties: { resourceType: 'AWS::EC2::Instance', - configuration: createInstanceConfiguration('m5a.micro', 'shutting-down') + configuration: createInstanceConfiguration( + 'm5a.micro', + 'shutting-down' + ), }, }; const expectedResult = { @@ -1015,7 +1161,7 @@ describe('EC2InstanceParser', () => { }), detailsComponent: ( ), @@ -1023,7 +1169,9 @@ describe('EC2InstanceParser', () => { const result = parseEC2Instance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an ec2 instance with type m5 that is in healthy state it returns correct icon and components', () => { @@ -1031,7 +1179,10 @@ describe('EC2InstanceParser', () => { name: 'anEC2Instance', properties: { resourceType: 'AWS::EC2::Instance', - configuration: createInstanceConfiguration('m5.micro', 'running') + configuration: createInstanceConfiguration( + 'm5.micro', + 'running' + ), }, }; const expectedResult = { @@ -1048,7 +1199,7 @@ describe('EC2InstanceParser', () => { }), detailsComponent: ( ), @@ -1057,7 +1208,9 @@ describe('EC2InstanceParser', () => { const result = parseEC2Instance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an ec2 instance with type m5 that is in warning state it returns correct icon and components', () => { @@ -1065,7 +1218,10 @@ describe('EC2InstanceParser', () => { name: 'anEC2Instance', properties: { resourceType: 'AWS::EC2::Instance', - configuration: createInstanceConfiguration('m5.micro', 'provisioning') + configuration: createInstanceConfiguration( + 'm5.micro', + 'provisioning' + ), }, }; const expectedResult = { @@ -1082,7 +1238,7 @@ describe('EC2InstanceParser', () => { }), detailsComponent: ( ), @@ -1091,7 +1247,9 @@ describe('EC2InstanceParser', () => { const result = parseEC2Instance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an ec2 instance with type m5 that is in error state it returns correct icon and components', () => { @@ -1099,7 +1257,10 @@ describe('EC2InstanceParser', () => { name: 'anEC2Instance', properties: { resourceType: 'AWS::EC2::Instance', - configuration: createInstanceConfiguration('m5.micro', 'shutting-down') + configuration: createInstanceConfiguration( + 'm5.micro', + 'shutting-down' + ), }, }; const expectedResult = { @@ -1116,7 +1277,7 @@ describe('EC2InstanceParser', () => { }), detailsComponent: ( ), @@ -1124,7 +1285,9 @@ describe('EC2InstanceParser', () => { const result = parseEC2Instance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an ec2 instance with type m4 that is in healthy state it returns correct icon and components', () => { @@ -1132,7 +1295,10 @@ describe('EC2InstanceParser', () => { name: 'anEC2Instance', properties: { resourceType: 'AWS::EC2::Instance', - configuration: createInstanceConfiguration('m4.micro', 'running') + configuration: createInstanceConfiguration( + 'm4.micro', + 'running' + ), }, }; const expectedResult = { @@ -1149,7 +1315,7 @@ describe('EC2InstanceParser', () => { }), detailsComponent: ( ), @@ -1158,7 +1324,9 @@ describe('EC2InstanceParser', () => { const result = parseEC2Instance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an ec2 instance with type m4 that is in warning state it returns correct icon and components', () => { @@ -1166,7 +1334,10 @@ describe('EC2InstanceParser', () => { name: 'anEC2Instance', properties: { resourceType: 'AWS::EC2::Instance', - configuration: createInstanceConfiguration('m4.micro', 'provisioning') + configuration: createInstanceConfiguration( + 'm4.micro', + 'provisioning' + ), }, }; const expectedResult = { @@ -1183,7 +1354,7 @@ describe('EC2InstanceParser', () => { }), detailsComponent: ( ), @@ -1192,7 +1363,9 @@ describe('EC2InstanceParser', () => { const result = parseEC2Instance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an ec2 instance with type m4 that is in error state it returns correct icon and components', () => { @@ -1200,7 +1373,10 @@ describe('EC2InstanceParser', () => { name: 'anEC2Instance', properties: { resourceType: 'AWS::EC2::Instance', - configuration: createInstanceConfiguration('m4.micro', 'shutting-down') + configuration: createInstanceConfiguration( + 'm4.micro', + 'shutting-down' + ), }, }; const expectedResult = { @@ -1217,7 +1393,7 @@ describe('EC2InstanceParser', () => { }), detailsComponent: ( ), @@ -1225,7 +1401,9 @@ describe('EC2InstanceParser', () => { const result = parseEC2Instance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an ec2 instance with type i3 that is in healthy state it returns correct icon and components', () => { @@ -1233,7 +1411,10 @@ describe('EC2InstanceParser', () => { name: 'anEC2Instance', properties: { resourceType: 'AWS::EC2::Instance', - configuration: createInstanceConfiguration('i3.micro', 'running') + configuration: createInstanceConfiguration( + 'i3.micro', + 'running' + ), }, }; const expectedResult = { @@ -1250,7 +1431,7 @@ describe('EC2InstanceParser', () => { }), detailsComponent: ( ), @@ -1259,7 +1440,9 @@ describe('EC2InstanceParser', () => { const result = parseEC2Instance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an ec2 instance with type i3 that is in warning state it returns correct icon and components', () => { @@ -1267,7 +1450,10 @@ describe('EC2InstanceParser', () => { name: 'anEC2Instance', properties: { resourceType: 'AWS::EC2::Instance', - configuration: createInstanceConfiguration('i3.micro', 'provisioning') + configuration: createInstanceConfiguration( + 'i3.micro', + 'provisioning' + ), }, }; const expectedResult = { @@ -1284,7 +1470,7 @@ describe('EC2InstanceParser', () => { }), detailsComponent: ( ), @@ -1293,7 +1479,9 @@ describe('EC2InstanceParser', () => { const result = parseEC2Instance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an ec2 instance with type i3 that is in error state it returns correct icon and components', () => { @@ -1301,7 +1489,10 @@ describe('EC2InstanceParser', () => { name: 'anEC2Instance', properties: { resourceType: 'AWS::EC2::Instance', - configuration: createInstanceConfiguration('i3.micro', 'shutting-down') + configuration: createInstanceConfiguration( + 'i3.micro', + 'shutting-down' + ), }, }; const expectedResult = { @@ -1318,7 +1509,7 @@ describe('EC2InstanceParser', () => { }), detailsComponent: ( ), @@ -1326,7 +1517,9 @@ describe('EC2InstanceParser', () => { const result = parseEC2Instance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an ec2 instance with type h1 that is in healthy state it returns correct icon and components', () => { @@ -1334,7 +1527,10 @@ describe('EC2InstanceParser', () => { name: 'anEC2Instance', properties: { resourceType: 'AWS::EC2::Instance', - configuration: createInstanceConfiguration('h1.micro', 'running') + configuration: createInstanceConfiguration( + 'h1.micro', + 'running' + ), }, }; const expectedResult = { @@ -1351,7 +1547,7 @@ describe('EC2InstanceParser', () => { }), detailsComponent: ( ), @@ -1360,7 +1556,9 @@ describe('EC2InstanceParser', () => { const result = parseEC2Instance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an ec2 instance with type h1 that is in warning state it returns correct icon and components', () => { @@ -1368,7 +1566,10 @@ describe('EC2InstanceParser', () => { name: 'anEC2Instance', properties: { resourceType: 'AWS::EC2::Instance', - configuration: createInstanceConfiguration('h1.micro', 'provisioning') + configuration: createInstanceConfiguration( + 'h1.micro', + 'provisioning' + ), }, }; const expectedResult = { @@ -1385,7 +1586,7 @@ describe('EC2InstanceParser', () => { }), detailsComponent: ( ), @@ -1394,7 +1595,9 @@ describe('EC2InstanceParser', () => { const result = parseEC2Instance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an ec2 instance with type h1 that is in error state it returns correct icon and components', () => { @@ -1402,7 +1605,10 @@ describe('EC2InstanceParser', () => { name: 'anEC2Instance', properties: { resourceType: 'AWS::EC2::Instance', - configuration: createInstanceConfiguration('h1.micro', 'shutting-down') + configuration: createInstanceConfiguration( + 'h1.micro', + 'shutting-down' + ), }, }; const expectedResult = { @@ -1419,7 +1625,7 @@ describe('EC2InstanceParser', () => { }), detailsComponent: ( ), @@ -1427,7 +1633,9 @@ describe('EC2InstanceParser', () => { const result = parseEC2Instance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an ec2 instance with type g3 that is in healthy state it returns correct icon and components', () => { @@ -1435,7 +1643,10 @@ describe('EC2InstanceParser', () => { name: 'anEC2Instance', properties: { resourceType: 'AWS::EC2::Instance', - configuration: createInstanceConfiguration('g3.micro', 'running') + configuration: createInstanceConfiguration( + 'g3.micro', + 'running' + ), }, }; const expectedResult = { @@ -1452,7 +1663,7 @@ describe('EC2InstanceParser', () => { }), detailsComponent: ( ), @@ -1461,7 +1672,9 @@ describe('EC2InstanceParser', () => { const result = parseEC2Instance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an ec2 instance with type g3 that is in warning state it returns correct icon and components', () => { @@ -1469,7 +1682,10 @@ describe('EC2InstanceParser', () => { name: 'anEC2Instance', properties: { resourceType: 'AWS::EC2::Instance', - configuration: createInstanceConfiguration('g3.micro', 'provisioning') + configuration: createInstanceConfiguration( + 'g3.micro', + 'provisioning' + ), }, }; const expectedResult = { @@ -1486,7 +1702,7 @@ describe('EC2InstanceParser', () => { }), detailsComponent: ( ), @@ -1495,7 +1711,9 @@ describe('EC2InstanceParser', () => { const result = parseEC2Instance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an ec2 instance with type g3 that is in error state it returns correct icon and components', () => { @@ -1503,7 +1721,10 @@ describe('EC2InstanceParser', () => { name: 'anEC2Instance', properties: { resourceType: 'AWS::EC2::Instance', - configuration: createInstanceConfiguration('g3.micro', 'shutting-down') + configuration: createInstanceConfiguration( + 'g3.micro', + 'shutting-down' + ), }, }; const expectedResult = { @@ -1520,7 +1741,7 @@ describe('EC2InstanceParser', () => { }), detailsComponent: ( ), @@ -1528,7 +1749,9 @@ describe('EC2InstanceParser', () => { const result = parseEC2Instance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an ec2 instance with type f1 that is in healthy state it returns correct icon and components', () => { @@ -1536,7 +1759,10 @@ describe('EC2InstanceParser', () => { name: 'anEC2Instance', properties: { resourceType: 'AWS::EC2::Instance', - configuration: createInstanceConfiguration('f1.micro', 'running') + configuration: createInstanceConfiguration( + 'f1.micro', + 'running' + ), }, }; const expectedResult = { @@ -1553,7 +1779,7 @@ describe('EC2InstanceParser', () => { }), detailsComponent: ( ), @@ -1562,7 +1788,9 @@ describe('EC2InstanceParser', () => { const result = parseEC2Instance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an ec2 instance with type f1 that is in warning state it returns correct icon and components', () => { @@ -1572,7 +1800,10 @@ describe('EC2InstanceParser', () => { name: 'anEC2Instance', properties: { resourceType: 'AWS::EC2::Instance', - configuration: createInstanceConfiguration('f1.micro', 'provisioning') + configuration: createInstanceConfiguration( + 'f1.micro', + 'provisioning' + ), }, }; const expectedResult = { @@ -1589,7 +1820,7 @@ describe('EC2InstanceParser', () => { }), detailsComponent: ( ), @@ -1598,7 +1829,9 @@ describe('EC2InstanceParser', () => { const result = parseEC2Instance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an ec2 instance with type f1 that is in error state it returns correct icon and components', () => { @@ -1606,7 +1839,10 @@ describe('EC2InstanceParser', () => { name: 'anEC2Instance', properties: { resourceType: 'AWS::EC2::Instance', - configuration: createInstanceConfiguration('f1.micro', 'shutting-down') + configuration: createInstanceConfiguration( + 'f1.micro', + 'shutting-down' + ), }, }; const expectedResult = { @@ -1623,7 +1859,7 @@ describe('EC2InstanceParser', () => { }), detailsComponent: ( ), @@ -1631,7 +1867,9 @@ describe('EC2InstanceParser', () => { const result = parseEC2Instance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an ec2 instance with type d2 that is in healthy state it returns correct icon and components', () => { @@ -1639,7 +1877,10 @@ describe('EC2InstanceParser', () => { name: 'anEC2Instance', properties: { resourceType: 'AWS::EC2::Instance', - configuration: createInstanceConfiguration('d2.micro', 'running') + configuration: createInstanceConfiguration( + 'd2.micro', + 'running' + ), }, }; const expectedResult = { @@ -1656,7 +1897,7 @@ describe('EC2InstanceParser', () => { }), detailsComponent: ( ), @@ -1665,7 +1906,9 @@ describe('EC2InstanceParser', () => { const result = parseEC2Instance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an ec2 instance with type d2 that is in warning state it returns correct icon and components', () => { @@ -1673,7 +1916,10 @@ describe('EC2InstanceParser', () => { name: 'anEC2Instance', properties: { resourceType: 'AWS::EC2::Instance', - configuration: createInstanceConfiguration('d2.micro', 'provisioning') + configuration: createInstanceConfiguration( + 'd2.micro', + 'provisioning' + ), }, }; const expectedResult = { @@ -1690,7 +1936,7 @@ describe('EC2InstanceParser', () => { }), detailsComponent: ( ), @@ -1699,7 +1945,9 @@ describe('EC2InstanceParser', () => { const result = parseEC2Instance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an ec2 instance with type d2 that is in error state it returns correct icon and components', () => { @@ -1707,7 +1955,10 @@ describe('EC2InstanceParser', () => { name: 'anEC2Instance', properties: { resourceType: 'AWS::EC2::Instance', - configuration: createInstanceConfiguration('d2.micro', 'shutting-down') + configuration: createInstanceConfiguration( + 'd2.micro', + 'shutting-down' + ), }, }; const expectedResult = { @@ -1724,7 +1975,7 @@ describe('EC2InstanceParser', () => { }), detailsComponent: ( ), @@ -1732,7 +1983,9 @@ describe('EC2InstanceParser', () => { const result = parseEC2Instance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an ec2 instance with type c5n that is in healthy state it returns correct icon and components', () => { @@ -1740,7 +1993,10 @@ describe('EC2InstanceParser', () => { name: 'anEC2Instance', properties: { resourceType: 'AWS::EC2::Instance', - configuration: createInstanceConfiguration('c5n.micro', 'running') + configuration: createInstanceConfiguration( + 'c5n.micro', + 'running' + ), }, }; const expectedResult = { @@ -1757,7 +2013,7 @@ describe('EC2InstanceParser', () => { }), detailsComponent: ( ), @@ -1766,7 +2022,9 @@ describe('EC2InstanceParser', () => { const result = parseEC2Instance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an ec2 instance with type c5n that is in warning state it returns correct icon and components', () => { @@ -1774,7 +2032,10 @@ describe('EC2InstanceParser', () => { name: 'anEC2Instance', properties: { resourceType: 'AWS::EC2::Instance', - configuration: createInstanceConfiguration('c5n.micro', 'provisioning') + configuration: createInstanceConfiguration( + 'c5n.micro', + 'provisioning' + ), }, }; const expectedResult = { @@ -1791,7 +2052,7 @@ describe('EC2InstanceParser', () => { }), detailsComponent: ( ), @@ -1800,7 +2061,9 @@ describe('EC2InstanceParser', () => { const result = parseEC2Instance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an ec2 instance with type c5n that is in error state it returns correct icon and components', () => { @@ -1808,7 +2071,10 @@ describe('EC2InstanceParser', () => { name: 'anEC2Instance', properties: { resourceType: 'AWS::EC2::Instance', - configuration: createInstanceConfiguration('c5n.micro', 'shutting-down') + configuration: createInstanceConfiguration( + 'c5n.micro', + 'shutting-down' + ), }, }; const expectedResult = { @@ -1825,7 +2091,7 @@ describe('EC2InstanceParser', () => { }), detailsComponent: ( ), @@ -1833,7 +2099,9 @@ describe('EC2InstanceParser', () => { const result = parseEC2Instance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an ec2 instance with type c5 that is in healthy state it returns correct icon and components', () => { @@ -1841,7 +2109,10 @@ describe('EC2InstanceParser', () => { name: 'anEC2Instance', properties: { resourceType: 'AWS::EC2::Instance', - configuration: createInstanceConfiguration('c5.micro', 'running') + configuration: createInstanceConfiguration( + 'c5.micro', + 'running' + ), }, }; const expectedResult = { @@ -1858,7 +2129,7 @@ describe('EC2InstanceParser', () => { }), detailsComponent: ( ), @@ -1867,7 +2138,9 @@ describe('EC2InstanceParser', () => { const result = parseEC2Instance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an ec2 instance with type c5 that is in warning state it returns correct icon and components', () => { @@ -1875,7 +2148,10 @@ describe('EC2InstanceParser', () => { name: 'anEC2Instance', properties: { resourceType: 'AWS::EC2::Instance', - configuration: createInstanceConfiguration('c5.micro', 'provisioning') + configuration: createInstanceConfiguration( + 'c5.micro', + 'provisioning' + ), }, }; const expectedResult = { @@ -1892,7 +2168,7 @@ describe('EC2InstanceParser', () => { }), detailsComponent: ( ), @@ -1901,7 +2177,9 @@ describe('EC2InstanceParser', () => { const result = parseEC2Instance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an ec2 instance with type c5 that is in error state it returns correct icon and components', () => { @@ -1909,7 +2187,10 @@ describe('EC2InstanceParser', () => { name: 'anEC2Instance', properties: { resourceType: 'AWS::EC2::Instance', - configuration: createInstanceConfiguration('c5.micro', 'shutting-down') + configuration: createInstanceConfiguration( + 'c5.micro', + 'shutting-down' + ), }, }; const expectedResult = { @@ -1926,7 +2207,7 @@ describe('EC2InstanceParser', () => { }), detailsComponent: ( ), @@ -1934,7 +2215,9 @@ describe('EC2InstanceParser', () => { const result = parseEC2Instance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an ec2 instance with type c4 that is in healthy state it returns correct icon and components', () => { @@ -1942,7 +2225,10 @@ describe('EC2InstanceParser', () => { name: 'anEC2Instance', properties: { resourceType: 'AWS::EC2::Instance', - configuration: createInstanceConfiguration('c4.micro', 'running') + configuration: createInstanceConfiguration( + 'c4.micro', + 'running' + ), }, }; const expectedResult = { @@ -1959,7 +2245,7 @@ describe('EC2InstanceParser', () => { }), detailsComponent: ( ), @@ -1968,7 +2254,9 @@ describe('EC2InstanceParser', () => { const result = parseEC2Instance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an ec2 instance with type c4 that is in warning state it returns correct icon and components', () => { @@ -1976,7 +2264,10 @@ describe('EC2InstanceParser', () => { name: 'anEC2Instance', properties: { resourceType: 'AWS::EC2::Instance', - configuration: createInstanceConfiguration('c4.micro', 'provisioning') + configuration: createInstanceConfiguration( + 'c4.micro', + 'provisioning' + ), }, }; const expectedResult = { @@ -1993,7 +2284,7 @@ describe('EC2InstanceParser', () => { }), detailsComponent: ( ), @@ -2002,7 +2293,9 @@ describe('EC2InstanceParser', () => { const result = parseEC2Instance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an ec2 instance with type c4 that is in error state it returns correct icon and components', () => { @@ -2010,7 +2303,10 @@ describe('EC2InstanceParser', () => { name: 'anEC2Instance', properties: { resourceType: 'AWS::EC2::Instance', - configuration: createInstanceConfiguration('c4.micro', 'shutting-down') + configuration: createInstanceConfiguration( + 'c4.micro', + 'shutting-down' + ), }, }; const expectedResult = { @@ -2027,7 +2323,7 @@ describe('EC2InstanceParser', () => { }), detailsComponent: ( ), @@ -2036,7 +2332,9 @@ describe('EC2InstanceParser', () => { const result = parseEC2Instance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an ec2 instance with type a1 that is in healthy state it returns correct icon and components', () => { @@ -2044,7 +2342,10 @@ describe('EC2InstanceParser', () => { name: 'anEC2Instance', properties: { resourceType: 'AWS::EC2::Instance', - configuration: createInstanceConfiguration('a1.micro', 'running') + configuration: createInstanceConfiguration( + 'a1.micro', + 'running' + ), }, }; const expectedResult = { @@ -2061,7 +2362,7 @@ describe('EC2InstanceParser', () => { }), detailsComponent: ( ), @@ -2070,7 +2371,9 @@ describe('EC2InstanceParser', () => { const result = parseEC2Instance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an ec2 instance with type a1 that is in warning state it returns correct icon and components', () => { @@ -2078,7 +2381,10 @@ describe('EC2InstanceParser', () => { name: 'anEC2Instance', properties: { resourceType: 'AWS::EC2::Instance', - configuration: createInstanceConfiguration('a1.micro', 'provisioning') + configuration: createInstanceConfiguration( + 'a1.micro', + 'provisioning' + ), }, }; const expectedResult = { @@ -2095,7 +2401,7 @@ describe('EC2InstanceParser', () => { }), detailsComponent: ( ), @@ -2104,7 +2410,9 @@ describe('EC2InstanceParser', () => { const result = parseEC2Instance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an ec2 instance with type a1 that is in error state it returns correct icon and components', () => { @@ -2112,7 +2420,10 @@ describe('EC2InstanceParser', () => { name: 'anEC2Instance', properties: { resourceType: 'AWS::EC2::Instance', - configuration: createInstanceConfiguration('a1.micro', 'shutting-down') + configuration: createInstanceConfiguration( + 'a1.micro', + 'shutting-down' + ), }, }; const expectedResult = { @@ -2129,7 +2440,7 @@ describe('EC2InstanceParser', () => { }), detailsComponent: ( ), @@ -2138,7 +2449,9 @@ describe('EC2InstanceParser', () => { const result = parseEC2Instance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an ec2 instance with type t2 that is in error state it returns correct icon and components', () => { @@ -2146,7 +2459,10 @@ describe('EC2InstanceParser', () => { name: 'anEC2Instance', properties: { resourceType: 'AWS::EC2::Instance', - configuration: createInstanceConfiguration('t2.micro', 'running') + configuration: createInstanceConfiguration( + 't2.micro', + 'running' + ), }, }; const expectedResult = { @@ -2163,7 +2479,7 @@ describe('EC2InstanceParser', () => { }), detailsComponent: ( ), @@ -2172,7 +2488,9 @@ describe('EC2InstanceParser', () => { const result = parseEC2Instance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an ec2 instance with type t2 that is in error state it returns correct icon and components', () => { @@ -2182,7 +2500,10 @@ describe('EC2InstanceParser', () => { name: 'anEC2Instance', properties: { resourceType: 'AWS::EC2::Instance', - configuration: createInstanceConfiguration('t2.micro', 'provisioning') + configuration: createInstanceConfiguration( + 't2.micro', + 'provisioning' + ), }, }; const expectedResult = { @@ -2199,7 +2520,7 @@ describe('EC2InstanceParser', () => { }), detailsComponent: ( ), @@ -2208,7 +2529,9 @@ describe('EC2InstanceParser', () => { const result = parseEC2Instance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an ec2 instance with type t2 that is in error state it returns correct icon and components', () => { @@ -2216,7 +2539,10 @@ describe('EC2InstanceParser', () => { name: 'anEC2Instance', properties: { resourceType: 'AWS::EC2::Instance', - configuration: createInstanceConfiguration('t2.micro', 'shutting-down') + configuration: createInstanceConfiguration( + 't2.micro', + 'shutting-down' + ), }, }; const expectedResult = { @@ -2233,7 +2559,7 @@ describe('EC2InstanceParser', () => { }), detailsComponent: ( ), @@ -2242,7 +2568,8 @@ describe('EC2InstanceParser', () => { const result = parseEC2Instance(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); - }); diff --git a/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/EC2Instance/data/ec2Types.js b/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/EC2Instance/data/ec2Types.js index 788737f9..b89b3cf5 100644 --- a/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/EC2Instance/data/ec2Types.js +++ b/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/EC2Instance/data/ec2Types.js @@ -3,26 +3,28 @@ import * as R from 'ramda'; -export const createInstanceConfiguration = R.curry((instanceType, instanceState) => { - return JSON.stringify({ - architecture: 'x64', - imageId: '1234556789', - instanceType, - privateDnsName: 'test', - privateIpAddress: '192.168.1.1', - publicDnsName: 'test', - publicIpAddress: '192.168.0.1', - state: { - name: instanceState - }, - monitoring: { - state: 'available' - }, - platform: 'linux', - cpuOptions: { - coreCount: 2, - threadsPerCore: 4 - }, - launchTime: '01-01-2020 01:00:00' - }); -}); +export const createInstanceConfiguration = R.curry( + (instanceType, instanceState) => { + return JSON.stringify({ + architecture: 'x64', + imageId: '1234556789', + instanceType, + privateDnsName: 'test', + privateIpAddress: '192.168.1.1', + publicDnsName: 'test', + publicIpAddress: '192.168.0.1', + state: { + name: instanceState, + }, + monitoring: { + state: 'available', + }, + platform: 'linux', + cpuOptions: { + coreCount: 2, + threadsPerCore: 4, + }, + launchTime: '01-01-2020 01:00:00', + }); + } +); diff --git a/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/EbsVolume/EbsVolumeParser.test.js b/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/EbsVolume/EbsVolumeParser.test.js index 97e2a739..0101e689 100644 --- a/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/EbsVolume/EbsVolumeParser.test.js +++ b/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/EbsVolume/EbsVolumeParser.test.js @@ -1,41 +1,41 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import {describe, test, expect} from "vitest"; -import {parseEbsVolume} from "../../../../../../API/NodeFactory/NodeParsers/EbsVolume/EbsVolumeParser"; +import {describe, test, expect} from 'vitest'; +import {parseEbsVolume} from '../../../../../../API/NodeFactory/NodeParsers/EbsVolume/EbsVolumeParser'; describe('EbsVolumeParser', () => { - test('it should parse EBS volume in use', () => { const node = { - "id": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", - "label": "AWS_Lambda_Function", - "md5Hash": "", - "properties": { - "version": "1.3", - "accountId": "xxxxxxxxxxxx", - "configurationItemCaptureTime": "2020-08-26T16:48:19.398Z", - "configurationItemStatus": "ResourceDiscovered", - "configurationStateId": "1598460499398", - "configurationItemMD5Hash": "", - "arn": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:volume/vol-1234567890abcdef", - "resourceType": "AWS::EC2::Volume", - "resourceId": "vol-1234567890abcdef", - "awsRegion": "eu-west-1", - "availabilityZone": "eu-west-1b", - "resourceCreationTime": "2020-08-26T16:46:16.596Z", - "tags": {}, - "relatedEvents": [], - "relationships": [ + id: 'arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda', + label: 'AWS_Lambda_Function', + md5Hash: '', + properties: { + version: '1.3', + accountId: 'xxxxxxxxxxxx', + configurationItemCaptureTime: '2020-08-26T16:48:19.398Z', + configurationItemStatus: 'ResourceDiscovered', + configurationStateId: '1598460499398', + configurationItemMD5Hash: '', + arn: 'arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:volume/vol-1234567890abcdef', + resourceType: 'AWS::EC2::Volume', + resourceId: 'vol-1234567890abcdef', + awsRegion: 'eu-west-1', + availabilityZone: 'eu-west-1b', + resourceCreationTime: '2020-08-26T16:46:16.596Z', + tags: {}, + relatedEvents: [], + relationships: [ { - "resourceType": "AWS::EC2::Instance", - "resourceId": "i-1234567890abcdef", - "relationshipName": "Is attached to Instance" - } + resourceType: 'AWS::EC2::Instance', + resourceId: 'i-1234567890abcdef', + relationshipName: 'Is attached to Instance', + }, ], - "configuration": "{\"volumeType\":\"gp2\",\"volumeId\":\"vol-1234567890abcdef\",\"key2\":\"prop2\",\"state\":{\"value\":\"in-use\"}}", - "supplementaryConfiguration": {} - } + configuration: + '{"volumeType":"gp2","volumeId":"vol-1234567890abcdef","key2":"prop2","state":{"value":"in-use"}}', + supplementaryConfiguration: {}, + }, }; const expectedResult = { @@ -51,8 +51,8 @@ describe('EbsVolumeParser', () => { borderSize: 1, borderStyle: 'dotted', colour: '#1D8102', - message: 'in-use' - } + message: 'in-use', + }, }; const actual = parseEbsVolume(node); @@ -61,34 +61,35 @@ describe('EbsVolumeParser', () => { test('it should parse EBS volume in failed state', () => { const node = { - "id": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", - "label": "AWS_Lambda_Function", - "md5Hash": "", - "properties": { - "version": "1.3", - "accountId": "xxxxxxxxxxxx", - "configurationItemCaptureTime": "2020-08-26T16:48:19.398Z", - "configurationItemStatus": "ResourceDiscovered", - "configurationStateId": "1598460499398", - "configurationItemMD5Hash": "", - "arn": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:volume/vol-1234567890abcdef", - "resourceType": "AWS::EC2::Volume", - "resourceId": "vol-1234567890abcdef", - "awsRegion": "eu-west-1", - "availabilityZone": "eu-west-1b", - "resourceCreationTime": "2020-08-26T16:46:16.596Z", - "tags": {}, - "relatedEvents": [], - "relationships": [ + id: 'arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda', + label: 'AWS_Lambda_Function', + md5Hash: '', + properties: { + version: '1.3', + accountId: 'xxxxxxxxxxxx', + configurationItemCaptureTime: '2020-08-26T16:48:19.398Z', + configurationItemStatus: 'ResourceDiscovered', + configurationStateId: '1598460499398', + configurationItemMD5Hash: '', + arn: 'arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:volume/vol-1234567890abcdef', + resourceType: 'AWS::EC2::Volume', + resourceId: 'vol-1234567890abcdef', + awsRegion: 'eu-west-1', + availabilityZone: 'eu-west-1b', + resourceCreationTime: '2020-08-26T16:46:16.596Z', + tags: {}, + relatedEvents: [], + relationships: [ { - "resourceType": "AWS::EC2::Instance", - "resourceId": "i-1234567890abcdef", - "relationshipName": "Is attached to Instance" - } + resourceType: 'AWS::EC2::Instance', + resourceId: 'i-1234567890abcdef', + relationshipName: 'Is attached to Instance', + }, ], - "configuration": "{\"volumeType\":\"gp2\",\"volumeId\":\"vol-1234567890abcdef\",\"key2\":\"prop2\",\"state\":{\"value\":\"failed\"}}", - "supplementaryConfiguration": {} - } + configuration: + '{"volumeType":"gp2","volumeId":"vol-1234567890abcdef","key2":"prop2","state":{"value":"failed"}}', + supplementaryConfiguration: {}, + }, }; const expectedResult = { @@ -104,12 +105,11 @@ describe('EbsVolumeParser', () => { borderSize: 1, borderStyle: 'dotted', colour: '#D13212', - message: 'failed' - } + message: 'failed', + }, }; const actual = parseEbsVolume(node); expect(actual).toEqual(expectedResult); }); - -}); \ No newline at end of file +}); diff --git a/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/LambdaFunction/LambdaFunctionParser.test.js b/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/LambdaFunction/LambdaFunctionParser.test.js index 2fa10b82..9865de6f 100644 --- a/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/LambdaFunction/LambdaFunctionParser.test.js +++ b/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/LambdaFunction/LambdaFunctionParser.test.js @@ -1,45 +1,47 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import {describe, test, expect} from "vitest"; -import {fetchImage} from "../../../../../../Utils/ImageSelector"; -import {parseLambdaFunction} from "../../../../../../API/NodeFactory/NodeParsers/LambdaFunction/LambdaFunctionParser"; +import {describe, test, expect} from 'vitest'; +import {fetchImage} from '../../../../../../Utils/ImageSelector'; +import {parseLambdaFunction} from '../../../../../../API/NodeFactory/NodeParsers/LambdaFunction/LambdaFunctionParser'; describe('LambdaFunctionParser', () => { - test('it should parse lambda in failed state', () => { const node = { - "id": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", - "label": "AWS_Lambda_Function", - "md5Hash": "", - "properties": { - "accountId": "yyyyyyyyyyyy", - "arn": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", - "availabilityZone": "eu-west-1a,eu-west-1b", - "awsRegion": "eu-west-1", - "configuration": "{\"key\":\"prop\",\"key1\":\"prop1\",\"key2\":\"prop2\",\"state\":{\"value\":\"failed\"}}", - "configurationItemCaptureTime": "2023-06-06T22:21:58.169Z", - "configurationItemStatus": "OK", - "configurationStateId": null, - "resourceCreationTime": null, - "resourceId": "testLambda", - "resourceName": "testLambda", - "resourceType": "AWS::Lambda::Function", - "tags": "[{\"tag\":\"lambdaTag=lambdaValue\",\"value\":\"lambdaValue\",\"key\":\"lambdaTag\"}, {\"tag\":\"lambdaTag1=lambdaValue1\",\"value\":\"lambdaValue1\",\"key\":\"lambdaTag1\"}]", - "version": "1.3", - "vpcId": "vpc-11111111111111111", - "subnetId": null, - "subnetIds": null, - "resourceValue": null, - "state": null, - "private": null, - "loggedInURL": "https://eu-west-1.console.aws.amazon.com/lambda/home?region=eu-west-1#/functions/testLambda?tab=graph", - "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/lambda?region=eu-west-1#/functions/testLambda?tab=graph", - "title": "testLambda", - "dBInstanceStatus": null, - "statement": null, - "instanceType": null - } + id: 'arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda', + label: 'AWS_Lambda_Function', + md5Hash: '', + properties: { + accountId: 'yyyyyyyyyyyy', + arn: 'arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda', + availabilityZone: 'eu-west-1a,eu-west-1b', + awsRegion: 'eu-west-1', + configuration: + '{"key":"prop","key1":"prop1","key2":"prop2","state":{"value":"failed"}}', + configurationItemCaptureTime: '2023-06-06T22:21:58.169Z', + configurationItemStatus: 'OK', + configurationStateId: null, + resourceCreationTime: null, + resourceId: 'testLambda', + resourceName: 'testLambda', + resourceType: 'AWS::Lambda::Function', + tags: '[{"tag":"lambdaTag=lambdaValue","value":"lambdaValue","key":"lambdaTag"}, {"tag":"lambdaTag1=lambdaValue1","value":"lambdaValue1","key":"lambdaTag1"}]', + version: '1.3', + vpcId: 'vpc-11111111111111111', + subnetId: null, + subnetIds: null, + resourceValue: null, + state: null, + private: null, + loggedInURL: + 'https://eu-west-1.console.aws.amazon.com/lambda/home?region=eu-west-1#/functions/testLambda?tab=graph', + loginURL: + 'https://yyyyyyyyyyyy.signin.aws.amazon.com/console/lambda?region=eu-west-1#/functions/testLambda?tab=graph', + title: 'testLambda', + dBInstanceStatus: null, + statement: null, + instanceType: null, + }, }; const expectedResult = { @@ -55,8 +57,8 @@ describe('LambdaFunctionParser', () => { borderSize: 1, borderStyle: 'dotted', colour: '#D13212', - message: 'failed' - } + message: 'failed', + }, }; const actual = parseLambdaFunction(node); @@ -65,37 +67,40 @@ describe('LambdaFunctionParser', () => { test('it should parse lambda in inactive state', () => { const node = { - "id": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", - "label": "AWS_Lambda_Function", - "md5Hash": "", - "properties": { - "accountId": "yyyyyyyyyyyy", - "arn": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", - "availabilityZone": "eu-west-1a,eu-west-1b", - "awsRegion": "eu-west-1", - "configuration": "{\"key\":\"prop\",\"key1\":\"prop1\",\"key2\":\"prop2\",\"state\":{\"value\":\"inactive\"}}", - "configurationItemCaptureTime": "2023-06-06T22:21:58.169Z", - "configurationItemStatus": "OK", - "configurationStateId": null, - "resourceCreationTime": null, - "resourceId": "testLambda", - "resourceName": "testLambda", - "resourceType": "AWS::Lambda::Function", - "tags": "[{\"tag\":\"lambdaTag=lambdaValue\",\"value\":\"lambdaValue\",\"key\":\"lambdaTag\"}, {\"tag\":\"lambdaTag1=lambdaValue1\",\"value\":\"lambdaValue1\",\"key\":\"lambdaTag1\"}]", - "version": "1.3", - "vpcId": "vpc-11111111111111111", - "subnetId": null, - "subnetIds": null, - "resourceValue": null, - "state": null, - "private": null, - "loggedInURL": "https://eu-west-1.console.aws.amazon.com/lambda/home?region=eu-west-1#/functions/testLambda?tab=graph", - "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/lambda?region=eu-west-1#/functions/testLambda?tab=graph", - "title": "testLambda", - "dBInstanceStatus": null, - "statement": null, - "instanceType": null - } + id: 'arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda', + label: 'AWS_Lambda_Function', + md5Hash: '', + properties: { + accountId: 'yyyyyyyyyyyy', + arn: 'arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda', + availabilityZone: 'eu-west-1a,eu-west-1b', + awsRegion: 'eu-west-1', + configuration: + '{"key":"prop","key1":"prop1","key2":"prop2","state":{"value":"inactive"}}', + configurationItemCaptureTime: '2023-06-06T22:21:58.169Z', + configurationItemStatus: 'OK', + configurationStateId: null, + resourceCreationTime: null, + resourceId: 'testLambda', + resourceName: 'testLambda', + resourceType: 'AWS::Lambda::Function', + tags: '[{"tag":"lambdaTag=lambdaValue","value":"lambdaValue","key":"lambdaTag"}, {"tag":"lambdaTag1=lambdaValue1","value":"lambdaValue1","key":"lambdaTag1"}]', + version: '1.3', + vpcId: 'vpc-11111111111111111', + subnetId: null, + subnetIds: null, + resourceValue: null, + state: null, + private: null, + loggedInURL: + 'https://eu-west-1.console.aws.amazon.com/lambda/home?region=eu-west-1#/functions/testLambda?tab=graph', + loginURL: + 'https://yyyyyyyyyyyy.signin.aws.amazon.com/console/lambda?region=eu-west-1#/functions/testLambda?tab=graph', + title: 'testLambda', + dBInstanceStatus: null, + statement: null, + instanceType: null, + }, }; const expectedResult = { @@ -111,12 +116,11 @@ describe('LambdaFunctionParser', () => { borderSize: 1, borderStyle: 'dotted', colour: '#D13212', - message: 'inactive' - } + message: 'inactive', + }, }; const actual = parseLambdaFunction(node); expect(actual).toEqual(expectedResult); }); - -}); \ No newline at end of file +}); diff --git a/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/LoadBalancers/LoadBalancerParser.test.js b/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/LoadBalancers/LoadBalancerParser.test.js index f5c07f97..94bed31c 100644 --- a/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/LoadBalancers/LoadBalancerParser.test.js +++ b/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/LoadBalancers/LoadBalancerParser.test.js @@ -1,17 +1,19 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import { beforeEach, test, describe, expect, vi } from 'vitest' +import {beforeEach, test, describe, expect, vi} from 'vitest'; import React from 'react'; -import { parseLoadBalancer } from '../../../../../../API/NodeFactory/NodeParsers/LoadBalancers/LoadBalancerParser'; -import { fetchImage } from '../../../../../../Utils/ImageSelector'; +import {parseLoadBalancer} from '../../../../../../API/NodeFactory/NodeParsers/LoadBalancers/LoadBalancerParser'; +import {fetchImage} from '../../../../../../Utils/ImageSelector'; import { - createExternalAlb, createExternalNlb, createInternalAlb, createInternalNlb + createExternalAlb, + createExternalNlb, + createInternalAlb, + createInternalNlb, } from './data/loadbalancers'; -import LoadBalancerItem from '../../../../../../API/NodeFactory/NodeParsers/LoadBalancers/LoadBalancerDetails/LoadBalancerItem' +import LoadBalancerItem from '../../../../../../API/NodeFactory/NodeParsers/LoadBalancers/LoadBalancerDetails/LoadBalancerItem'; describe('LoadBalancerParser', () => { - beforeEach(() => { vi.resetModules(); // this is important - it clears the cache }); @@ -21,8 +23,8 @@ describe('LoadBalancerParser', () => { name: 'aLoadBalancerInstance', properties: { resourceType: 'AWS::ElasticLoadBalancingV2::LoadBalancer', - configuration: createInternalAlb('provisioning') - } + configuration: createInternalAlb('provisioning'), + }, }; const expectedResult = { styling: { @@ -31,24 +33,28 @@ describe('LoadBalancerParser', () => { borderOpacity: 0.25, borderSize: 1, message: 'provisioning', - colour: '#FF9900' + colour: '#FF9900', }, - icon: fetchImage('AWS::ElasticLoadBalancingV2::LoadBalancer-application', { - status: 'status-warning' - }), + icon: fetchImage( + 'AWS::ElasticLoadBalancingV2::LoadBalancer-application', + { + status: 'status-warning', + } + ), detailsComponent: ( ), - }; const result = parseLoadBalancer(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an internet-facing ALB that is in provisioning', () => { @@ -56,8 +62,8 @@ describe('LoadBalancerParser', () => { name: 'aLoadBalancerInstance', properties: { resourceType: 'AWS::ElasticLoadBalancingV2::LoadBalancer', - configuration: createExternalAlb('provisioning') - } + configuration: createExternalAlb('provisioning'), + }, }; const expectedResult = { styling: { @@ -66,24 +72,28 @@ describe('LoadBalancerParser', () => { borderOpacity: 0.25, borderSize: 1, message: 'provisioning', - colour: '#FF9900' + colour: '#FF9900', }, - icon: fetchImage('AWS::ElasticLoadBalancingV2::LoadBalancer-application', { - status: 'status-warning' - }), + icon: fetchImage( + 'AWS::ElasticLoadBalancingV2::LoadBalancer-application', + { + status: 'status-warning', + } + ), detailsComponent: ( ), - }; const result = parseLoadBalancer(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an internal NLB that is provisioning', () => { @@ -91,8 +101,8 @@ describe('LoadBalancerParser', () => { name: 'aLoadBalancerInstance', properties: { resourceType: 'AWS::ElasticLoadBalancingV2::LoadBalancer', - configuration: createInternalNlb('provisioning') - } + configuration: createInternalNlb('provisioning'), + }, }; const expectedResult = { styling: { @@ -101,24 +111,28 @@ describe('LoadBalancerParser', () => { borderOpacity: 0.25, borderSize: 1, message: 'provisioning', - colour: '#FF9900' + colour: '#FF9900', }, - icon: fetchImage('AWS::ElasticLoadBalancingV2::LoadBalancer-network', { - status: 'status-warning' - }), + icon: fetchImage( + 'AWS::ElasticLoadBalancingV2::LoadBalancer-network', + { + status: 'status-warning', + } + ), detailsComponent: ( ), - }; const result = parseLoadBalancer(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an internet-facing NLB that is provisioning', () => { @@ -126,8 +140,8 @@ describe('LoadBalancerParser', () => { name: 'aLoadBalancerInstance', properties: { resourceType: 'AWS::ElasticLoadBalancingV2::LoadBalancer', - configuration: createExternalNlb('provisioning') - } + configuration: createExternalNlb('provisioning'), + }, }; const expectedResult = { styling: { @@ -136,24 +150,28 @@ describe('LoadBalancerParser', () => { borderOpacity: 0.25, borderSize: 1, message: 'provisioning', - colour: '#FF9900' + colour: '#FF9900', }, - icon: fetchImage('AWS::ElasticLoadBalancingV2::LoadBalancer-network', { - status: 'status-warning' - }), + icon: fetchImage( + 'AWS::ElasticLoadBalancingV2::LoadBalancer-network', + { + status: 'status-warning', + } + ), detailsComponent: ( ), - }; const result = parseLoadBalancer(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an internal ALB that is in good health', () => { @@ -161,8 +179,8 @@ describe('LoadBalancerParser', () => { name: 'aLoadBalancerInstance', properties: { resourceType: 'AWS::ElasticLoadBalancingV2::LoadBalancer', - configuration: createInternalAlb('active') - } + configuration: createInternalAlb('active'), + }, }; const expectedResult = { styling: { @@ -171,24 +189,28 @@ describe('LoadBalancerParser', () => { borderOpacity: 0.25, borderSize: 1, message: 'active', - colour: '#1D8102' + colour: '#1D8102', }, - icon: fetchImage('AWS::ElasticLoadBalancingV2::LoadBalancer-application', { - status: 'status-available' - }), + icon: fetchImage( + 'AWS::ElasticLoadBalancingV2::LoadBalancer-application', + { + status: 'status-available', + } + ), detailsComponent: ( ), - }; const result = parseLoadBalancer(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an external ALB in good health', () => { @@ -196,8 +218,8 @@ describe('LoadBalancerParser', () => { name: 'aLoadBalancerInstance', properties: { resourceType: 'AWS::ElasticLoadBalancingV2::LoadBalancer', - configuration: createExternalAlb('active') - } + configuration: createExternalAlb('active'), + }, }; const expectedResult = { styling: { @@ -206,24 +228,28 @@ describe('LoadBalancerParser', () => { borderOpacity: 0.25, borderSize: 1, message: 'active', - colour: '#1D8102' + colour: '#1D8102', }, - icon: fetchImage('AWS::ElasticLoadBalancingV2::LoadBalancer-application', { - status: 'status-available' - }), + icon: fetchImage( + 'AWS::ElasticLoadBalancingV2::LoadBalancer-application', + { + status: 'status-available', + } + ), detailsComponent: ( ), - }; const result = parseLoadBalancer(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an internal NLB in good health', () => { @@ -231,8 +257,8 @@ describe('LoadBalancerParser', () => { name: 'aLoadBalancerInstance', properties: { resourceType: 'AWS::ElasticLoadBalancingV2::LoadBalancer', - configuration: createInternalNlb('active') - } + configuration: createInternalNlb('active'), + }, }; const expectedResult = { styling: { @@ -241,24 +267,28 @@ describe('LoadBalancerParser', () => { borderOpacity: 0.25, borderSize: 1, message: 'active', - colour: '#1D8102' + colour: '#1D8102', }, - icon: fetchImage('AWS::ElasticLoadBalancingV2::LoadBalancer-network', { - status: 'status-available' - }), + icon: fetchImage( + 'AWS::ElasticLoadBalancingV2::LoadBalancer-network', + { + status: 'status-available', + } + ), detailsComponent: ( ), - }; const result = parseLoadBalancer(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an external NLB in good health', () => { @@ -266,8 +296,8 @@ describe('LoadBalancerParser', () => { name: 'aLoadBalancerInstance', properties: { resourceType: 'AWS::ElasticLoadBalancingV2::LoadBalancer', - configuration: createExternalNlb('active') - } + configuration: createExternalNlb('active'), + }, }; const expectedResult = { styling: { @@ -276,24 +306,28 @@ describe('LoadBalancerParser', () => { borderOpacity: 0.25, borderSize: 1, message: 'active', - colour: '#1D8102' + colour: '#1D8102', }, - icon: fetchImage('AWS::ElasticLoadBalancingV2::LoadBalancer-network', { - status: 'status-available' - }), + icon: fetchImage( + 'AWS::ElasticLoadBalancingV2::LoadBalancer-network', + { + status: 'status-available', + } + ), detailsComponent: ( ), - }; const result = parseLoadBalancer(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an internal ALB in an error state', () => { @@ -301,8 +335,8 @@ describe('LoadBalancerParser', () => { name: 'aLoadBalancerInstance', properties: { resourceType: 'AWS::ElasticLoadBalancingV2::LoadBalancer', - configuration: createInternalAlb('failed') - } + configuration: createInternalAlb('failed'), + }, }; const expectedResult = { styling: { @@ -311,24 +345,28 @@ describe('LoadBalancerParser', () => { borderOpacity: 0.25, borderSize: 1, message: 'failed', - colour: '#D13212' + colour: '#D13212', }, - icon: fetchImage('AWS::ElasticLoadBalancingV2::LoadBalancer-application', { - status: 'status-negative' - }), + icon: fetchImage( + 'AWS::ElasticLoadBalancingV2::LoadBalancer-application', + { + status: 'status-negative', + } + ), detailsComponent: ( ), - }; const result = parseLoadBalancer(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an external ALB in an error state', () => { @@ -336,8 +374,8 @@ describe('LoadBalancerParser', () => { name: 'aLoadBalancerInstance', properties: { resourceType: 'AWS::ElasticLoadBalancingV2::LoadBalancer', - configuration: createExternalAlb('failed') - } + configuration: createExternalAlb('failed'), + }, }; const expectedResult = { styling: { @@ -346,24 +384,28 @@ describe('LoadBalancerParser', () => { borderOpacity: 0.25, borderSize: 1, message: 'failed', - colour: '#D13212' + colour: '#D13212', }, - icon: fetchImage('AWS::ElasticLoadBalancingV2::LoadBalancer-application', { - status: 'status-negative' - }), + icon: fetchImage( + 'AWS::ElasticLoadBalancingV2::LoadBalancer-application', + { + status: 'status-negative', + } + ), detailsComponent: ( ), - }; const result = parseLoadBalancer(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an internal NLB in bad health', () => { @@ -373,8 +415,8 @@ describe('LoadBalancerParser', () => { resourceType: 'AWS::ElasticLoadBalancingV2::LoadBalancer', type: 'network', configuration: createInternalNlb('failed'), - state: 'failed' - } + state: 'failed', + }, }; const expectedResult = { styling: { @@ -383,32 +425,36 @@ describe('LoadBalancerParser', () => { borderOpacity: 0.25, borderSize: 1, message: 'failed', - colour: '#D13212' + colour: '#D13212', }, - icon: fetchImage('AWS::ElasticLoadBalancingV2::LoadBalancer-network', { - status: 'status-negative' - }), + icon: fetchImage( + 'AWS::ElasticLoadBalancingV2::LoadBalancer-network', + { + status: 'status-negative', + } + ), detailsComponent: ( ), - }; const result = parseLoadBalancer(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an external NLB in bad health', () => { const node = { name: 'aLoadBalancerInstance', properties: { resourceType: 'AWS::ElasticLoadBalancingV2::LoadBalancer', - configuration: createExternalNlb('failed') - } + configuration: createExternalNlb('failed'), + }, }; const expectedResult = { styling: { @@ -417,24 +463,28 @@ describe('LoadBalancerParser', () => { borderOpacity: 0.25, borderSize: 1, message: 'failed', - colour: '#D13212' + colour: '#D13212', }, - icon: fetchImage('AWS::ElasticLoadBalancingV2::LoadBalancer-network', { - status: 'status-negative' - }), + icon: fetchImage( + 'AWS::ElasticLoadBalancingV2::LoadBalancer-network', + { + status: 'status-negative', + } + ), detailsComponent: ( ), - }; const result = parseLoadBalancer(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); test('when node is an external ALB with undefined state', () => { @@ -442,8 +492,8 @@ describe('LoadBalancerParser', () => { name: 'aLoadBalancerInstance', properties: { resourceType: 'AWS::ElasticLoadBalancing::LoadBalancer', - configuration: createExternalAlb(void 0) - } + configuration: createExternalAlb(void 0), + }, }; const expectedResult = { styling: { @@ -452,22 +502,24 @@ describe('LoadBalancerParser', () => { borderOpacity: 0.25, borderSize: 1, message: 'no state data', - colour: '#FF9900' + colour: '#FF9900', }, - icon: fetchImage('AWS::ElasticLoadBalancingV2::LoadBalancer-application'), + icon: fetchImage( + 'AWS::ElasticLoadBalancingV2::LoadBalancer-application' + ), detailsComponent: ( ), - }; const result = parseLoadBalancer(node); expect(result.styling).toEqual(expectedResult.styling); expect(result.icon).toEqual(expectedResult.icon); - expect(result.detailsComponent).toEqual(expectedResult.detailsComponent); + expect(result.detailsComponent).toEqual( + expectedResult.detailsComponent + ); }); - }); diff --git a/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/LoadBalancers/data/loadbalancers.js b/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/LoadBalancers/data/loadbalancers.js index 47b99730..55e763f8 100644 --- a/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/LoadBalancers/data/loadbalancers.js +++ b/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/LoadBalancers/data/loadbalancers.js @@ -1,9 +1,9 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import * as R from 'ramda' +import * as R from 'ramda'; -const createElbV2Config = R.curry((scheme, type, code) => { +const createElbV2Config = R.curry((scheme, type, code) => { return JSON.stringify({scheme, type, state: {code}}); }); @@ -16,5 +16,3 @@ export const createExternalAlb = createExternalElb('application'); export const createInternalNlb = createInternalElb('network'); export const createExternalNlb = createExternalElb('network'); - - diff --git a/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/Subnet/SubnetParser.test.js b/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/Subnet/SubnetParser.test.js index 1729048b..01fdb9cf 100644 --- a/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/Subnet/SubnetParser.test.js +++ b/source/frontend/src/tests/vitest/API/NodeFactory/NodeParsers/Subnet/SubnetParser.test.js @@ -1,25 +1,25 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import {describe, test, expect} from "vitest"; -import {fetchImage} from "../../../../../../Utils/ImageSelector"; -import {parseLambdaFunction} from "../../../../../../API/NodeFactory/NodeParsers/LambdaFunction/LambdaFunctionParser"; +import {describe, test, expect} from 'vitest'; +import {fetchImage} from '../../../../../../Utils/ImageSelector'; +import {parseLambdaFunction} from '../../../../../../API/NodeFactory/NodeParsers/LambdaFunction/LambdaFunctionParser'; describe('SubnetParser', () => { - test('it should parse lambda in subnet in available state', () => { const node = { - "id": "subnetArn", - "label": "AWS_EC2_Subnet", - "md5Hash": "", - "properties": { - "accountId": "yyyyyyyyyyyy", - "arn": "subnetArn", - "availabilityZone": "eu-west-1a", - "awsRegion": "eu-west-1", - "configuration": "{\"key\":\"prop\",\"key1\":\"prop1\",\"key2\":\"prop2\",\"state\":{\"value\":\"available\"}}", - "resourceType": "AWS::EC2::Subnet", - } + id: 'subnetArn', + label: 'AWS_EC2_Subnet', + md5Hash: '', + properties: { + accountId: 'yyyyyyyyyyyy', + arn: 'subnetArn', + availabilityZone: 'eu-west-1a', + awsRegion: 'eu-west-1', + configuration: + '{"key":"prop","key1":"prop1","key2":"prop2","state":{"value":"available"}}', + resourceType: 'AWS::EC2::Subnet', + }, }; const expectedResult = { @@ -35,8 +35,8 @@ describe('SubnetParser', () => { borderSize: 1, borderStyle: 'dotted', colour: '#1D8102', - message: 'available' - } + message: 'available', + }, }; const actual = parseLambdaFunction(node); @@ -45,17 +45,18 @@ describe('SubnetParser', () => { test('it should parse lambda in subnet in pending state', () => { const node = { - "id": "subnetArn", - "label": "AWS_EC2_Subnet", - "md5Hash": "", - "properties": { - "accountId": "yyyyyyyyyyyy", - "arn": "subnetArn", - "availabilityZone": "eu-west-1a", - "awsRegion": "eu-west-1", - "configuration": "{\"key\":\"prop\",\"key1\":\"prop1\",\"key2\":\"prop2\",\"state\":{\"value\":\"pending\"}}", - "resourceType": "AWS::EC2::Subnet", - } + id: 'subnetArn', + label: 'AWS_EC2_Subnet', + md5Hash: '', + properties: { + accountId: 'yyyyyyyyyyyy', + arn: 'subnetArn', + availabilityZone: 'eu-west-1a', + awsRegion: 'eu-west-1', + configuration: + '{"key":"prop","key1":"prop1","key2":"prop2","state":{"value":"pending"}}', + resourceType: 'AWS::EC2::Subnet', + }, }; const expectedResult = { @@ -71,12 +72,11 @@ describe('SubnetParser', () => { borderSize: 1, borderStyle: 'dotted', colour: '#FF9900', - message: 'pending' - } + message: 'pending', + }, }; const actual = parseLambdaFunction(node); expect(actual).toEqual(expectedResult); }); - -}); \ No newline at end of file +}); diff --git a/source/frontend/src/tests/vitest/API/NodeFactory/data/node-bounding-box-that-was-built-parent.json b/source/frontend/src/tests/vitest/API/NodeFactory/data/node-bounding-box-that-was-built-parent.json index 7e14ec55..65c96406 100644 --- a/source/frontend/src/tests/vitest/API/NodeFactory/data/node-bounding-box-that-was-built-parent.json +++ b/source/frontend/src/tests/vitest/API/NodeFactory/data/node-bounding-box-that-was-built-parent.json @@ -1,48 +1,48 @@ { - "edge": false, - "data": { - "id": "ACCOUNT_ID-woah-this-is-my-parent", - "parent": "woah-this-is-my-parent", - "level": 1, - "title": "ACCOUNT_ID", - "label": "ACCOUNT_ID", - "plainLabel": "ACCOUNT_ID", - "type": "ACCOUNT", - "borderStyle": "solid", - "color": "#fff", - "borderColour": "#AAB7B8", - "opacity": "0", - "cost": 0, - "hasChildren": true, - "children": [ - { - "label": "REGION", - "type": "REGION", + "edge": false, + "data": { + "id": "ACCOUNT_ID-woah-this-is-my-parent", + "parent": "woah-this-is-my-parent", + "level": 1, + "title": "ACCOUNT_ID", + "label": "ACCOUNT_ID", + "plainLabel": "ACCOUNT_ID", + "type": "ACCOUNT", + "borderStyle": "solid", + "color": "#fff", + "borderColour": "#AAB7B8", + "opacity": "0", + "cost": 0, + "hasChildren": true, "children": [ - { - "id": "ID", - "perspectiveBirthDate": "2020-02-25T14:52:27.509Z", - "label": "AWS::Lambda::EnvironmentVariable", - "properties": { - "accountId": "ACCOUNT_ID", - "resourceId": "RESOURCE_ID", - "awsRegion": "REGION", - "perspectiveBirthDate": "DATE", - "linkedLambda": "LINKED_LAMBDA", - "title": "TITLE", - "value": "VALUE", - "resourceType": "TYPE" - }, - "parent": false, - "type": "node" - } - ] - } - ], - "accountColour": "rgba(175, 17, 83, 0.5)", - "regionColour": "rgba(9, 86, 99, 0.5)", - "aZColour": "#00A1C9", - "subnetColour": "#545B64" - }, - "classes": ["ACCOUNT", "removeAll"] + { + "label": "REGION", + "type": "REGION", + "children": [ + { + "id": "ID", + "perspectiveBirthDate": "2020-02-25T14:52:27.509Z", + "label": "AWS::Lambda::EnvironmentVariable", + "properties": { + "accountId": "ACCOUNT_ID", + "resourceId": "RESOURCE_ID", + "awsRegion": "REGION", + "perspectiveBirthDate": "DATE", + "linkedLambda": "LINKED_LAMBDA", + "title": "TITLE", + "value": "VALUE", + "resourceType": "TYPE" + }, + "parent": false, + "type": "node" + } + ] + } + ], + "accountColour": "rgba(175, 17, 83, 0.5)", + "regionColour": "rgba(9, 86, 99, 0.5)", + "aZColour": "#00A1C9", + "subnetColour": "#545B64" + }, + "classes": ["ACCOUNT", "removeAll"] } diff --git a/source/frontend/src/tests/vitest/API/NodeFactory/data/node-bounding-box-that-was-built.json b/source/frontend/src/tests/vitest/API/NodeFactory/data/node-bounding-box-that-was-built.json index 1f22388a..4dc6909d 100644 --- a/source/frontend/src/tests/vitest/API/NodeFactory/data/node-bounding-box-that-was-built.json +++ b/source/frontend/src/tests/vitest/API/NodeFactory/data/node-bounding-box-that-was-built.json @@ -1,84 +1,84 @@ { - "edge": false, - "data": { - "id": "ACCOUNT_ID", - "level": 0, - "title": "ACCOUNT_ID", - "label": "ACCOUNT_ID", - "plainLabel": "ACCOUNT_ID", - "type": "account", - "borderStyle": "solid", - "color": "#fff", - "borderColour": "#AAB7B8", - "opacity": "0", - "image": "/icons/AWS-Cloud-alt_light-bg.svg", - "cost": 0, - "hasChildren": true, - "children": [ - { - "label": "REGION", - "type": "region", + "edge": false, + "data": { + "id": "ACCOUNT_ID", + "level": 0, + "title": "ACCOUNT_ID", + "label": "ACCOUNT_ID", + "plainLabel": "ACCOUNT_ID", + "type": "account", + "borderStyle": "solid", + "color": "#fff", + "borderColour": "#AAB7B8", + "opacity": "0", + "image": "/icons/AWS-Cloud-alt_light-bg.svg", + "cost": 0, + "hasChildren": true, "children": [ - { - "label": "EnvironmentVariable", - "type": "type", - "children": [ - { - "id": "ID", - "perspectiveBirthDate": "DATE", - "label": "AWS::Lambda::EnvironmentVariable", - "properties": { - "accountId": "ACCOUNT_ID", - "resourceId": "RESOURCE_ID", - "awsRegion": "REGION", - "perspectiveBirthDate": "BIRTH_DATE", - "linkedLambda": "LINKED_LAMBDA", - "title": "TITLE", - "value": "VALUE", - "resourceType": "AWS::Lambda::EnvironmentVariable" - }, - "parent": false, - "type": "node" - } - ] - }, - { - "label": "Method", - "type": "type", - "children": [ - { - "id": "ID", - "perspectiveBirthDate": "DATE", - "label": "AWS::ApiGateway::Method", - "properties": { - "resourceId": "RESOURCE_ID", - "awsRegion": "REGION", - "integrationResponses": "INTEGRATION_RESPONSE", - "title": "TITLE", - "type": "TYPE", - "httpMethod": "METHOD", - "cacheNamespace": "NAMESPACE", - "uri": "URL", - "loggedInURL": "LOGGED_IN_URL", - "timeoutInMillis": "TIMEOUT", - "accountId": "ACCOUNT_ID", - "passthroughBehavior": "PASS_THROUGH_BEHAVIOUR", - "perspectiveBirthDate": "BIRTH_DATE", - "loginURL": "LOGIN_URL", - "resourceType": "AWS::ApiGateway::Method" - }, - "parent": false, - "type": "node" - } - ] - } - ] - } - ], - "accountColour": "rgba(6, 31, 112, 0.5)", - "regionColour": "rgba(9, 86, 99, 0.5)", - "aZColour": "#00A1C9", - "subnetColour": "#545B64" - }, - "classes": ["account", "removeAll"] + { + "label": "REGION", + "type": "region", + "children": [ + { + "label": "EnvironmentVariable", + "type": "type", + "children": [ + { + "id": "ID", + "perspectiveBirthDate": "DATE", + "label": "AWS::Lambda::EnvironmentVariable", + "properties": { + "accountId": "ACCOUNT_ID", + "resourceId": "RESOURCE_ID", + "awsRegion": "REGION", + "perspectiveBirthDate": "BIRTH_DATE", + "linkedLambda": "LINKED_LAMBDA", + "title": "TITLE", + "value": "VALUE", + "resourceType": "AWS::Lambda::EnvironmentVariable" + }, + "parent": false, + "type": "node" + } + ] + }, + { + "label": "Method", + "type": "type", + "children": [ + { + "id": "ID", + "perspectiveBirthDate": "DATE", + "label": "AWS::ApiGateway::Method", + "properties": { + "resourceId": "RESOURCE_ID", + "awsRegion": "REGION", + "integrationResponses": "INTEGRATION_RESPONSE", + "title": "TITLE", + "type": "TYPE", + "httpMethod": "METHOD", + "cacheNamespace": "NAMESPACE", + "uri": "URL", + "loggedInURL": "LOGGED_IN_URL", + "timeoutInMillis": "TIMEOUT", + "accountId": "ACCOUNT_ID", + "passthroughBehavior": "PASS_THROUGH_BEHAVIOUR", + "perspectiveBirthDate": "BIRTH_DATE", + "loginURL": "LOGIN_URL", + "resourceType": "AWS::ApiGateway::Method" + }, + "parent": false, + "type": "node" + } + ] + } + ] + } + ], + "accountColour": "rgba(6, 31, 112, 0.5)", + "regionColour": "rgba(9, 86, 99, 0.5)", + "aZColour": "#00A1C9", + "subnetColour": "#545B64" + }, + "classes": ["account", "removeAll"] } diff --git a/source/frontend/src/tests/vitest/API/NodeFactory/data/node-bounding-box-to-build-parent.json b/source/frontend/src/tests/vitest/API/NodeFactory/data/node-bounding-box-to-build-parent.json index a865da03..d581646e 100644 --- a/source/frontend/src/tests/vitest/API/NodeFactory/data/node-bounding-box-to-build-parent.json +++ b/source/frontend/src/tests/vitest/API/NodeFactory/data/node-bounding-box-to-build-parent.json @@ -1,29 +1,29 @@ { - "label": "ACCOUNT_ID", - "type": "ACCOUNT", - "children": [ - { - "label": "REGION", - "type": "REGION", - "children": [ + "label": "ACCOUNT_ID", + "type": "ACCOUNT", + "children": [ { - "id": "ID", - "perspectiveBirthDate": "2020-02-25T14:52:27.509Z", - "label": "AWS::Lambda::EnvironmentVariable", - "properties": { - "accountId": "ACCOUNT_ID", - "resourceId": "RESOURCE_ID", - "awsRegion": "REGION", - "perspectiveBirthDate": "DATE", - "linkedLambda": "LINKED_LAMBDA", - "title": "TITLE", - "value": "VALUE", - "resourceType": "TYPE" - }, - "parent": false, - "type": "node" + "label": "REGION", + "type": "REGION", + "children": [ + { + "id": "ID", + "perspectiveBirthDate": "2020-02-25T14:52:27.509Z", + "label": "AWS::Lambda::EnvironmentVariable", + "properties": { + "accountId": "ACCOUNT_ID", + "resourceId": "RESOURCE_ID", + "awsRegion": "REGION", + "perspectiveBirthDate": "DATE", + "linkedLambda": "LINKED_LAMBDA", + "title": "TITLE", + "value": "VALUE", + "resourceType": "TYPE" + }, + "parent": false, + "type": "node" + } + ] } - ] - } - ] + ] } diff --git a/source/frontend/src/tests/vitest/API/NodeFactory/data/node-bounding-box-to-build.json b/source/frontend/src/tests/vitest/API/NodeFactory/data/node-bounding-box-to-build.json index 4287703e..984342b3 100644 --- a/source/frontend/src/tests/vitest/API/NodeFactory/data/node-bounding-box-to-build.json +++ b/source/frontend/src/tests/vitest/API/NodeFactory/data/node-bounding-box-to-build.json @@ -1,65 +1,65 @@ { - "label": "ACCOUNT_ID", - "type": "account", - "children": [ - { - "label": "REGION", - "type": "region", - "children": [ + "label": "ACCOUNT_ID", + "type": "account", + "children": [ { - "label": "EnvironmentVariable", - "type": "type", - "children": [ - { - "id": "ID", - "perspectiveBirthDate": "DATE", - "label": "AWS::Lambda::EnvironmentVariable", - "properties": { - "accountId": "ACCOUNT_ID", - "resourceId": "RESOURCE_ID", - "awsRegion": "REGION", - "perspectiveBirthDate": "BIRTH_DATE", - "linkedLambda": "LINKED_LAMBDA", - "title": "TITLE", - "value": "VALUE", - "resourceType": "AWS::Lambda::EnvironmentVariable" - }, - "parent": false, - "type": "node" - } - ] - }, - { - "label": "Method", - "type": "type", - "children": [ - { - "id": "ID", - "perspectiveBirthDate": "DATE", - "label": "AWS::ApiGateway::Method", - "properties": { - "resourceId": "RESOURCE_ID", - "awsRegion": "REGION", - "integrationResponses": "INTEGRATION_RESPONSE", - "title": "TITLE", - "type": "TYPE", - "httpMethod": "METHOD", - "cacheNamespace": "NAMESPACE", - "uri": "URL", - "loggedInURL": "LOGGED_IN_URL", - "timeoutInMillis": "TIMEOUT", - "accountId": "ACCOUNT_ID", - "passthroughBehavior": "PASS_THROUGH_BEHAVIOUR", - "perspectiveBirthDate": "BIRTH_DATE", - "loginURL": "LOGIN_URL", - "resourceType": "AWS::ApiGateway::Method" - }, - "parent": false, - "type": "node" - } - ] + "label": "REGION", + "type": "region", + "children": [ + { + "label": "EnvironmentVariable", + "type": "type", + "children": [ + { + "id": "ID", + "perspectiveBirthDate": "DATE", + "label": "AWS::Lambda::EnvironmentVariable", + "properties": { + "accountId": "ACCOUNT_ID", + "resourceId": "RESOURCE_ID", + "awsRegion": "REGION", + "perspectiveBirthDate": "BIRTH_DATE", + "linkedLambda": "LINKED_LAMBDA", + "title": "TITLE", + "value": "VALUE", + "resourceType": "AWS::Lambda::EnvironmentVariable" + }, + "parent": false, + "type": "node" + } + ] + }, + { + "label": "Method", + "type": "type", + "children": [ + { + "id": "ID", + "perspectiveBirthDate": "DATE", + "label": "AWS::ApiGateway::Method", + "properties": { + "resourceId": "RESOURCE_ID", + "awsRegion": "REGION", + "integrationResponses": "INTEGRATION_RESPONSE", + "title": "TITLE", + "type": "TYPE", + "httpMethod": "METHOD", + "cacheNamespace": "NAMESPACE", + "uri": "URL", + "loggedInURL": "LOGGED_IN_URL", + "timeoutInMillis": "TIMEOUT", + "accountId": "ACCOUNT_ID", + "passthroughBehavior": "PASS_THROUGH_BEHAVIOUR", + "perspectiveBirthDate": "BIRTH_DATE", + "loginURL": "LOGIN_URL", + "resourceType": "AWS::ApiGateway::Method" + }, + "parent": false, + "type": "node" + } + ] + } + ] } - ] - } - ] + ] } diff --git a/source/frontend/src/tests/vitest/API/NodeFactory/data/node-that-was-built-clicked.json b/source/frontend/src/tests/vitest/API/NodeFactory/data/node-that-was-built-clicked.json index e02b9243..b56cc70e 100644 --- a/source/frontend/src/tests/vitest/API/NodeFactory/data/node-that-was-built-clicked.json +++ b/source/frontend/src/tests/vitest/API/NodeFactory/data/node-that-was-built-clicked.json @@ -1,73 +1,73 @@ { - "edge": false, - "data": { - "arn": "ARN", - "resourceId":["RESOURCE_ID","ARN"], - "parent": "parent", - "level": 0, - "id": "7ca02a916ec816935cda126fddaa351f", - "title": "SECURITY_GROUP", - "label": "SECURITY_GRO...", - "shape": "image", - "type": "resource", - "accountColour": "rgba(6, 31, 112, 0.5)", - "regionColour": "rgba(173, 35, 17, 0.5)", - "color": "#fff", - "borderStyle": "solid", - "borderColour": "#545B64", - "borderOpacity": 0.25, - "borderSize": 1, - "opacity": "0", - "clickedId": "7ca02a916ec816935cda126fddaa351f", - "image": "/icons/AWSSecurityGroup.svg", - "cost": 0, - "private": false, - "resource": { - "id": "RESOURCE_ID", - "name": "RESOURCE_NAME", - "type": "AWS::EC2::SecurityGroup", - "tags": "{}", - "arn": "ARN", - "region": "REGION", - "loggedInURL": "LOGGED_IN_URL", - "loginURL": "LOGIN_URL", - "accountId": "ACCOUNT_ID" + "edge": false, + "data": { + "arn": "ARN", + "resourceId": ["RESOURCE_ID", "ARN"], + "parent": "parent", + "level": 0, + "id": "7ca02a916ec816935cda126fddaa351f", + "title": "SECURITY_GROUP", + "label": "SECURITY_GRO...", + "shape": "image", + "type": "resource", + "accountColour": "rgba(6, 31, 112, 0.5)", + "regionColour": "rgba(173, 35, 17, 0.5)", + "color": "#fff", + "borderStyle": "solid", + "borderColour": "#545B64", + "borderOpacity": 0.25, + "borderSize": 1, + "opacity": "0", + "clickedId": "7ca02a916ec816935cda126fddaa351f", + "image": "/icons/AWSSecurityGroup.svg", + "cost": 0, + "private": false, + "resource": { + "id": "RESOURCE_ID", + "name": "RESOURCE_NAME", + "type": "AWS::EC2::SecurityGroup", + "tags": "{}", + "arn": "ARN", + "region": "REGION", + "loggedInURL": "LOGGED_IN_URL", + "loginURL": "LOGIN_URL", + "accountId": "ACCOUNT_ID" + }, + "highlight": true, + "existing": false, + "properties": { + "configurationItemStatus": "ResourceDiscovered", + "resourceId": "RESOURCE_ID", + "configuration": "CONFIGURATION", + "description": "DESCRIPTION", + "title": "SECURITY_GROUP", + "availabilityZone": "Not Applicable", + "loggedInURL": "LOGGED_IN_URL", + "relationships": "RELATIONSHIPS", + "perspectiveBirthDate": "BIRTH_DATE", + "loginURL": "LOGIN_URL", + "relatedEvents": "[]", + "vpcId": "VPC_ID", + "arn": "ARN", + "awsRegion": "REGION", + "supplementaryConfiguration": "{}", + "configurationItemMD5Hash": "", + "resourceName": "RESOURCE_NAME", + "version": "1.3", + "configurationItemCaptureTime": "CONFIG_CAPTURE_TIME", + "tags": "{}", + "configurationStateId": "CONFIG_STATE_ID", + "accountId": "ACCOUNT_ID", + "groupName": "GROUP_NAME", + "resourceType": "AWS::EC2::SecurityGroup" + } }, - "highlight": true, - "existing": false, - "properties": { - "configurationItemStatus": "ResourceDiscovered", - "resourceId": "RESOURCE_ID", - "configuration": "CONFIGURATION", - "description": "DESCRIPTION", - "title": "SECURITY_GROUP", - "availabilityZone": "Not Applicable", - "loggedInURL": "LOGGED_IN_URL", - "relationships": "RELATIONSHIPS", - "perspectiveBirthDate": "BIRTH_DATE", - "loginURL": "LOGIN_URL", - "relatedEvents": "[]", - "vpcId": "VPC_ID", - "arn": "ARN", - "awsRegion": "REGION", - "supplementaryConfiguration": "{}", - "configurationItemMD5Hash": "", - "resourceName": "RESOURCE_NAME", - "version": "1.3", - "configurationItemCaptureTime": "CONFIG_CAPTURE_TIME", - "tags": "{}", - "configurationStateId": "CONFIG_STATE_ID", - "accountId": "ACCOUNT_ID", - "groupName": "GROUP_NAME", - "resourceType": "AWS::EC2::SecurityGroup" - } - }, - "classes": [ - "resource", - "highlight", - "clicked", - "image", - "selectable", - "hoverover" - ] + "classes": [ + "resource", + "highlight", + "clicked", + "image", + "selectable", + "hoverover" + ] } diff --git a/source/frontend/src/tests/vitest/API/NodeFactory/data/node-that-was-built.json b/source/frontend/src/tests/vitest/API/NodeFactory/data/node-that-was-built.json index 4211c7dc..f55d6406 100644 --- a/source/frontend/src/tests/vitest/API/NodeFactory/data/node-that-was-built.json +++ b/source/frontend/src/tests/vitest/API/NodeFactory/data/node-that-was-built.json @@ -1,72 +1,66 @@ { - "edge": false, - "data": { - "arn": "ARN", - "resourceId":["RESOURCE_ID","ARN"], - "parent": "parent", - "level": 0, - "id": "7ca02a916ec816935cda126fddaa351f", - "title": "SECURITY_GROUP", - "label": "SECURITY_GRO...", - "shape": "image", - "type": "resource", - "accountColour": "rgba(6, 31, 112, 0.5)", - "regionColour": "rgba(173, 35, 17, 0.5)", - "color": "#fff", - "borderStyle": "solid", - "borderColour": "#545B64", - "borderOpacity": 0.25, - "borderSize": 1, - "opacity": "0", - "clickedId": "7ca02a916ec816935cda126fddaa351f", - "image": "/icons/AWSSecurityGroup.svg", - "cost": 0, - "private": false, - "resource": { - "id": "RESOURCE_ID", - "name": "RESOURCE_NAME", - "type": "AWS::EC2::SecurityGroup", - "tags": "{}", - "arn": "ARN", - "region": "REGION", - "loggedInURL": "LOGGED_IN_URL", - "loginURL": "LOGIN_URL", - "accountId": "ACCOUNT_ID" + "edge": false, + "data": { + "arn": "ARN", + "resourceId": ["RESOURCE_ID", "ARN"], + "parent": "parent", + "level": 0, + "id": "7ca02a916ec816935cda126fddaa351f", + "title": "SECURITY_GROUP", + "label": "SECURITY_GRO...", + "shape": "image", + "type": "resource", + "accountColour": "rgba(6, 31, 112, 0.5)", + "regionColour": "rgba(173, 35, 17, 0.5)", + "color": "#fff", + "borderStyle": "solid", + "borderColour": "#545B64", + "borderOpacity": 0.25, + "borderSize": 1, + "opacity": "0", + "clickedId": "7ca02a916ec816935cda126fddaa351f", + "image": "/icons/AWSSecurityGroup.svg", + "cost": 0, + "private": false, + "resource": { + "id": "RESOURCE_ID", + "name": "RESOURCE_NAME", + "type": "AWS::EC2::SecurityGroup", + "tags": "{}", + "arn": "ARN", + "region": "REGION", + "loggedInURL": "LOGGED_IN_URL", + "loginURL": "LOGIN_URL", + "accountId": "ACCOUNT_ID" + }, + "highlight": true, + "existing": false, + "properties": { + "configurationItemStatus": "ResourceDiscovered", + "resourceId": "RESOURCE_ID", + "configuration": "CONFIGURATION", + "description": "DESCRIPTION", + "title": "SECURITY_GROUP", + "availabilityZone": "Not Applicable", + "loggedInURL": "LOGGED_IN_URL", + "relationships": "RELATIONSHIPS", + "perspectiveBirthDate": "BIRTH_DATE", + "loginURL": "LOGIN_URL", + "relatedEvents": "[]", + "vpcId": "VPC_ID", + "arn": "ARN", + "awsRegion": "REGION", + "supplementaryConfiguration": "{}", + "configurationItemMD5Hash": "", + "resourceName": "RESOURCE_NAME", + "version": "1.3", + "configurationItemCaptureTime": "CONFIG_CAPTURE_TIME", + "tags": "{}", + "configurationStateId": "CONFIG_STATE_ID", + "accountId": "ACCOUNT_ID", + "groupName": "GROUP_NAME", + "resourceType": "AWS::EC2::SecurityGroup" + } }, - "highlight": true, - "existing": false, - "properties": { - "configurationItemStatus": "ResourceDiscovered", - "resourceId": "RESOURCE_ID", - "configuration": "CONFIGURATION", - "description": "DESCRIPTION", - "title": "SECURITY_GROUP", - "availabilityZone": "Not Applicable", - "loggedInURL": "LOGGED_IN_URL", - "relationships": "RELATIONSHIPS", - "perspectiveBirthDate": "BIRTH_DATE", - "loginURL": "LOGIN_URL", - "relatedEvents": "[]", - "vpcId": "VPC_ID", - "arn": "ARN", - "awsRegion": "REGION", - "supplementaryConfiguration": "{}", - "configurationItemMD5Hash": "", - "resourceName": "RESOURCE_NAME", - "version": "1.3", - "configurationItemCaptureTime": "CONFIG_CAPTURE_TIME", - "tags": "{}", - "configurationStateId": "CONFIG_STATE_ID", - "accountId": "ACCOUNT_ID", - "groupName": "GROUP_NAME", - "resourceType": "AWS::EC2::SecurityGroup" - } - }, - "classes": [ - "resource", - "highlight", - "image", - "selectable", - "hoverover" - ] + "classes": ["resource", "highlight", "image", "selectable", "hoverover"] } diff --git a/source/frontend/src/tests/vitest/API/NodeFactory/data/node-to-build.json b/source/frontend/src/tests/vitest/API/NodeFactory/data/node-to-build.json index d1000598..14c22504 100644 --- a/source/frontend/src/tests/vitest/API/NodeFactory/data/node-to-build.json +++ b/source/frontend/src/tests/vitest/API/NodeFactory/data/node-to-build.json @@ -1,39 +1,39 @@ { - "id": "7ca02a916ec816935cda126fddaa351f", - "perspectiveBirthDate": "DATE", - "label": "AWS::EC2::SecurityGroup", - "properties": { - "configurationItemStatus": "ResourceDiscovered", - "resourceId": "RESOURCE_ID", - "configuration": "CONFIGURATION", - "description": "DESCRIPTION", - "title": "SECURITY_GROUP", - "availabilityZone": "Not Applicable", - "loggedInURL": "LOGGED_IN_URL", - "relationships": "RELATIONSHIPS", - "perspectiveBirthDate": "BIRTH_DATE", - "loginURL": "LOGIN_URL", - "relatedEvents": "[]", - "vpcId": "VPC_ID", - "arn": "ARN", - "awsRegion": "REGION", - "supplementaryConfiguration": "{}", - "configurationItemMD5Hash": "", - "resourceName": "RESOURCE_NAME", - "version": "1.3", - "configurationItemCaptureTime": "CONFIG_CAPTURE_TIME", - "tags": "{}", - "configurationStateId": "CONFIG_STATE_ID", - "accountId": "ACCOUNT_ID", - "groupName": "GROUP_NAME", - "resourceType": "AWS::EC2::SecurityGroup" - }, - "parent": false, - "costData": { - "totalCost": 0, - "currency": "USD", - "startDate": "2020-03-10T13:02:27.588Z", - "endDate": "1970-01-01T00:00:00.000Z" - }, - "type": "node" + "id": "7ca02a916ec816935cda126fddaa351f", + "perspectiveBirthDate": "DATE", + "label": "AWS::EC2::SecurityGroup", + "properties": { + "configurationItemStatus": "ResourceDiscovered", + "resourceId": "RESOURCE_ID", + "configuration": "CONFIGURATION", + "description": "DESCRIPTION", + "title": "SECURITY_GROUP", + "availabilityZone": "Not Applicable", + "loggedInURL": "LOGGED_IN_URL", + "relationships": "RELATIONSHIPS", + "perspectiveBirthDate": "BIRTH_DATE", + "loginURL": "LOGIN_URL", + "relatedEvents": "[]", + "vpcId": "VPC_ID", + "arn": "ARN", + "awsRegion": "REGION", + "supplementaryConfiguration": "{}", + "configurationItemMD5Hash": "", + "resourceName": "RESOURCE_NAME", + "version": "1.3", + "configurationItemCaptureTime": "CONFIG_CAPTURE_TIME", + "tags": "{}", + "configurationStateId": "CONFIG_STATE_ID", + "accountId": "ACCOUNT_ID", + "groupName": "GROUP_NAME", + "resourceType": "AWS::EC2::SecurityGroup" + }, + "parent": false, + "costData": { + "totalCost": 0, + "currency": "USD", + "startDate": "2020-03-10T13:02:27.588Z", + "endDate": "1970-01-01T00:00:00.000Z" + }, + "type": "node" } diff --git a/source/frontend/src/tests/vitest/API/fixtures/expected/singleAccount.json b/source/frontend/src/tests/vitest/API/fixtures/expected/singleAccount.json index 288da6e0..41896cc6 100644 --- a/source/frontend/src/tests/vitest/API/fixtures/expected/singleAccount.json +++ b/source/frontend/src/tests/vitest/API/fixtures/expected/singleAccount.json @@ -1,1361 +1,1257 @@ [ - { - "group": "nodes", - "data": { - "id": "yyyyyyyyyyyy", - "title": "yyyyyyyyyyyy", - "label": "yyyyyyyyyyyy", - "plainLabel": "yyyyyyyyyyyy", - "type": "account", - "borderStyle": "solid", - "color": "#fff", - "borderColour": "#AAB7B8", - "opacity": "0", - "image": "/icons/AWS-Cloud-alt_light-bg.svg", - "clickedId": "yyyyyyyyyyyy", - "cost": 0, - "accountColour": "rgba(234, 220, 23, 0.5)", - "regionColour": "rgba(9, 86, 99, 0.5)", - "aZColour": "#00A1C9", - "subnetColour": "#248814" + { + "group": "nodes", + "data": { + "id": "yyyyyyyyyyyy", + "title": "yyyyyyyyyyyy", + "label": "yyyyyyyyyyyy", + "plainLabel": "yyyyyyyyyyyy", + "type": "account", + "borderStyle": "solid", + "color": "#fff", + "borderColour": "#AAB7B8", + "opacity": "0", + "image": "/icons/AWS-Cloud-alt_light-bg.svg", + "clickedId": "yyyyyyyyyyyy", + "cost": 0, + "accountColour": "rgba(234, 220, 23, 0.5)", + "regionColour": "rgba(9, 86, 99, 0.5)", + "aZColour": "#00A1C9", + "subnetColour": "#248814" + }, + "classes": ["account", "removeAll"] }, - "classes": [ - "account", - "removeAll" - ] - }, - { - "group": "nodes", - "data": { - "id": "yyyyyyyyyyyy-eu-west-1", - "parent": "yyyyyyyyyyyy", - "title": "eu-west-1", - "label": "eu-west-1", - "plainLabel": "eu-west-1", - "type": "region", - "borderStyle": "solid", - "color": "#fff", - "borderColour": "#AAB7B8", - "opacity": "0", - "image": "/icons/Region_light-bg.svg", - "clickedId": "yyyyyyyyyyyy-eu-west-1", - "cost": 0, - "accountColour": "rgba(175, 17, 83, 0.5)", - "regionColour": "rgba(79, 16, 163, 0.5)", - "aZColour": "#00A1C9", - "subnetColour": "#248814" + { + "group": "nodes", + "data": { + "id": "yyyyyyyyyyyy-eu-west-1", + "parent": "yyyyyyyyyyyy", + "title": "eu-west-1", + "label": "eu-west-1", + "plainLabel": "eu-west-1", + "type": "region", + "borderStyle": "solid", + "color": "#fff", + "borderColour": "#AAB7B8", + "opacity": "0", + "image": "/icons/Region_light-bg.svg", + "clickedId": "yyyyyyyyyyyy-eu-west-1", + "cost": 0, + "accountColour": "rgba(175, 17, 83, 0.5)", + "regionColour": "rgba(79, 16, 163, 0.5)", + "aZColour": "#00A1C9", + "subnetColour": "#248814" + }, + "classes": ["region", "removeAll"] }, - "classes": [ - "region", - "removeAll" - ] - }, - { - "group": "nodes", - "data": { - "id": "yyyyyyyyyyyy-global", - "parent": "yyyyyyyyyyyy", - "title": "global", - "label": "global", - "plainLabel": "global", - "type": "region", - "borderStyle": "solid", - "color": "#fff", - "borderColour": "#AAB7B8", - "opacity": "0", - "image": "/icons/Region_light-bg.svg", - "clickedId": "yyyyyyyyyyyy-global", - "cost": 0, - "accountColour": "rgba(175, 17, 83, 0.5)", - "regionColour": "rgba(175, 17, 83, 0.5)", - "aZColour": "#00A1C9", - "subnetColour": "#248814" + { + "group": "nodes", + "data": { + "id": "yyyyyyyyyyyy-global", + "parent": "yyyyyyyyyyyy", + "title": "global", + "label": "global", + "plainLabel": "global", + "type": "region", + "borderStyle": "solid", + "color": "#fff", + "borderColour": "#AAB7B8", + "opacity": "0", + "image": "/icons/Region_light-bg.svg", + "clickedId": "yyyyyyyyyyyy-global", + "cost": 0, + "accountColour": "rgba(175, 17, 83, 0.5)", + "regionColour": "rgba(175, 17, 83, 0.5)", + "aZColour": "#00A1C9", + "subnetColour": "#248814" + }, + "classes": ["region", "removeAll"] }, - "classes": [ - "region", - "removeAll" - ] - }, - { - "group": "nodes", - "data": { - "id": "yyyyyyyyyyyy-eu-west-1-Multiple Availability Zones", - "parent": "yyyyyyyyyyyy-eu-west-1", - "title": "Multiple Availability Zones", - "label": "Multiple Availability Zones", - "plainLabel": "Multiple Availability Zones", - "type": "availabilityZone", - "borderStyle": "solid", - "color": "#fff", - "borderColour": "#AAB7B8", - "opacity": "0", - "image": "/icons/availabilityZone.svg", - "clickedId": "yyyyyyyyyyyy-eu-west-1-Multiple Availability Zones", - "cost": 0, - "accountColour": "rgba(175, 17, 83, 0.5)", - "regionColour": "rgba(9, 86, 99, 0.5)", - "aZColour": "#00A1C9", - "subnetColour": "#248814" + { + "group": "nodes", + "data": { + "id": "yyyyyyyyyyyy-eu-west-1-Multiple Availability Zones", + "parent": "yyyyyyyyyyyy-eu-west-1", + "title": "Multiple Availability Zones", + "label": "Multiple Availability Zones", + "plainLabel": "Multiple Availability Zones", + "type": "availabilityZone", + "borderStyle": "solid", + "color": "#fff", + "borderColour": "#AAB7B8", + "opacity": "0", + "image": "/icons/availabilityZone.svg", + "clickedId": "yyyyyyyyyyyy-eu-west-1-Multiple Availability Zones", + "cost": 0, + "accountColour": "rgba(175, 17, 83, 0.5)", + "regionColour": "rgba(9, 86, 99, 0.5)", + "aZColour": "#00A1C9", + "subnetColour": "#248814" + }, + "classes": ["availabilityZone", "removeAll"] }, - "classes": [ - "availabilityZone", - "removeAll" - ] - }, - { - "group": "nodes", - "data": { - "id": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-vpc/vpc-11111111111111111-eu-west-1a,eu-west-1b", - "parent": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-vpc/vpc-11111111111111111", - "title": "eu-west-1a,eu-west-1b", - "label": "eu-west-1a,eu-west-1b", - "plainLabel": "eu-west-1a,eu-west-1b", - "type": "availabilityZone", - "borderStyle": "solid", - "color": "#fff", - "borderColour": "#AAB7B8", - "opacity": "0", - "image": "/icons/availabilityZone.svg", - "clickedId": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-vpc/vpc-11111111111111111-eu-west-1a,eu-west-1b", - "cost": 0, - "accountColour": "rgba(175, 17, 83, 0.5)", - "regionColour": "rgba(9, 86, 99, 0.5)", - "aZColour": "#00A1C9", - "subnetColour": "#248814" + { + "group": "nodes", + "data": { + "id": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-vpc/vpc-11111111111111111-eu-west-1a,eu-west-1b", + "parent": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-vpc/vpc-11111111111111111", + "title": "eu-west-1a,eu-west-1b", + "label": "eu-west-1a,eu-west-1b", + "plainLabel": "eu-west-1a,eu-west-1b", + "type": "availabilityZone", + "borderStyle": "solid", + "color": "#fff", + "borderColour": "#AAB7B8", + "opacity": "0", + "image": "/icons/availabilityZone.svg", + "clickedId": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-vpc/vpc-11111111111111111-eu-west-1a,eu-west-1b", + "cost": 0, + "accountColour": "rgba(175, 17, 83, 0.5)", + "regionColour": "rgba(9, 86, 99, 0.5)", + "aZColour": "#00A1C9", + "subnetColour": "#248814" + }, + "classes": ["availabilityZone", "removeAll"] }, - "classes": [ - "availabilityZone", - "removeAll" - ] - }, - { - "group": "nodes", - "data": { - "id": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-vpc/vpc-11111111111111111", - "parent": "yyyyyyyyyyyy-eu-west-1", - "title": "vpc-11111111111111111", - "label": "vpc-11111111111111111", - "plainLabel": "vpc-11111111111111111", - "type": "vpc", - "borderStyle": "solid", - "color": "#fff", - "borderColour": "#AAB7B8", - "opacity": "0", - "image": "/icons/VPC-collapsed.svg", - "clickedId": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-vpc/vpc-11111111111111111", - "cost": 0, - "accountColour": "rgba(175, 17, 83, 0.5)", - "regionColour": "rgba(9, 86, 99, 0.5)", - "aZColour": "#00A1C9", - "subnetColour": "#248814", - "properties": { - "accountId": "yyyyyyyyyyyy", - "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:vpc/vpc-11111111111111111", - "availabilityZone": "Multiple Availability Zones", - "awsRegion": "eu-west-1", - "configuration": "{}", - "configurationItemCaptureTime": "2023-05-19T09:47:33.767Z", - "configurationItemStatus": "OK", - "configurationStateId": null, - "resourceCreationTime": null, - "resourceId": "vpc-11111111111111111", - "resourceName": null, - "resourceType": "AWS::EC2::VPC", - "supplementaryConfiguration": null, - "tags": "{}", - "version": "1.3", - "vpcId": null, - "subnetId": null, - "subnetIds": null, - "resourceValue": null, - "state": null, - "private": null, - "loggedInURL": "https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#vpcs:sort=VpcId", - "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/vpc?region=eu-west-1#vpcs:sort=VpcId", - "title": "vpc-11111111111111111", - "dBInstanceStatus": null, - "statement": null, - "instanceType": null - }, - "resource": { - "id": "vpc-11111111111111111", - "name": null, - "value": null, - "type": "AWS::EC2::VPC", - "tags": "{}", - "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:vpc/vpc-11111111111111111", - "region": "eu-west-1", - "state": null, - "loggedInURL": "https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#vpcs:sort=VpcId", - "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/vpc?region=eu-west-1#vpcs:sort=VpcId", - "accountId": "yyyyyyyyyyyy" - } + { + "group": "nodes", + "data": { + "id": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-vpc/vpc-11111111111111111", + "parent": "yyyyyyyyyyyy-eu-west-1", + "title": "vpc-11111111111111111", + "label": "vpc-11111111111111111", + "plainLabel": "vpc-11111111111111111", + "type": "vpc", + "borderStyle": "solid", + "color": "#fff", + "borderColour": "#AAB7B8", + "opacity": "0", + "image": "/icons/VPC-collapsed.svg", + "clickedId": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-vpc/vpc-11111111111111111", + "cost": 0, + "accountColour": "rgba(175, 17, 83, 0.5)", + "regionColour": "rgba(9, 86, 99, 0.5)", + "aZColour": "#00A1C9", + "subnetColour": "#248814", + "properties": { + "accountId": "yyyyyyyyyyyy", + "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:vpc/vpc-11111111111111111", + "availabilityZone": "Multiple Availability Zones", + "awsRegion": "eu-west-1", + "configuration": "{}", + "configurationItemCaptureTime": "2023-05-19T09:47:33.767Z", + "configurationItemStatus": "OK", + "configurationStateId": null, + "resourceCreationTime": null, + "resourceId": "vpc-11111111111111111", + "resourceName": null, + "resourceType": "AWS::EC2::VPC", + "supplementaryConfiguration": null, + "tags": "{}", + "version": "1.3", + "vpcId": null, + "subnetId": null, + "subnetIds": null, + "resourceValue": null, + "state": null, + "private": null, + "loggedInURL": "https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#vpcs:sort=VpcId", + "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/vpc?region=eu-west-1#vpcs:sort=VpcId", + "title": "vpc-11111111111111111", + "dBInstanceStatus": null, + "statement": null, + "instanceType": null + }, + "resource": { + "id": "vpc-11111111111111111", + "name": null, + "value": null, + "type": "AWS::EC2::VPC", + "tags": "{}", + "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:vpc/vpc-11111111111111111", + "region": "eu-west-1", + "state": null, + "loggedInURL": "https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#vpcs:sort=VpcId", + "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/vpc?region=eu-west-1#vpcs:sort=VpcId", + "accountId": "yyyyyyyyyyyy" + } + }, + "classes": ["vpc", "removeAll"] }, - "classes": [ - "vpc", - "removeAll" - ] - }, - { - "group": "nodes", - "data": { - "id": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-11111111111111111-eu-west-1b", - "parent": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-vpc/vpc-11111111111111111", - "title": "eu-west-1b", - "label": "eu-west-1b", - "plainLabel": "eu-west-1b", - "type": "availabilityZone", - "borderStyle": "solid", - "color": "#fff", - "borderColour": "#AAB7B8", - "opacity": "0", - "image": "/icons/availabilityZone.svg", - "clickedId": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-11111111111111111-eu-west-1b", - "cost": 0, - "accountColour": "rgba(175, 17, 83, 0.5)", - "regionColour": "rgba(9, 86, 99, 0.5)", - "aZColour": "#00A1C9", - "subnetColour": "#147eba" + { + "group": "nodes", + "data": { + "id": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-11111111111111111-eu-west-1b", + "parent": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-vpc/vpc-11111111111111111", + "title": "eu-west-1b", + "label": "eu-west-1b", + "plainLabel": "eu-west-1b", + "type": "availabilityZone", + "borderStyle": "solid", + "color": "#fff", + "borderColour": "#AAB7B8", + "opacity": "0", + "image": "/icons/availabilityZone.svg", + "clickedId": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-11111111111111111-eu-west-1b", + "cost": 0, + "accountColour": "rgba(175, 17, 83, 0.5)", + "regionColour": "rgba(9, 86, 99, 0.5)", + "aZColour": "#00A1C9", + "subnetColour": "#147eba" + }, + "classes": ["availabilityZone", "removeAll"] }, - "classes": [ - "availabilityZone", - "removeAll" - ] - }, - { - "group": "nodes", - "data": { - "id": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-11111111111111111", - "parent": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-11111111111111111-eu-west-1b", - "title": "vpc-11111111111111111-private-b", - "label": "vpc-11111111111111111-private-b", - "plainLabel": "vpc-11111111111111111-private-b", - "type": "subnet", - "borderStyle": "solid", - "color": "#fff", - "borderColour": "#AAB7B8", - "opacity": "0", - "image": "/icons/VPC-subnet-private_light-bg-collapsed.svg", - "clickedId": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-11111111111111111", - "cost": 0, - "accountColour": "rgba(175, 17, 83, 0.5)", - "regionColour": "rgba(9, 86, 99, 0.5)", - "aZColour": "#00A1C9", - "subnetColour": "#147eba", - "properties": { - "accountId": "yyyyyyyyyyyy", - "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:subnet/subnet-11111111111111111", - "availabilityZone": "eu-west-1b", - "awsRegion": "eu-west-1", - "configuration": "{}", - "configurationItemCaptureTime": "2023-02-10T16:20:45.731Z", - "configurationItemStatus": "OK", - "configurationStateId": null, - "resourceCreationTime": null, - "resourceId": "subnet-11111111111111111", - "resourceName": null, - "resourceType": "AWS::EC2::Subnet", - "supplementaryConfiguration": null, - "tags": "{}", - "version": "1.3", - "vpcId": "vpc-11111111111111111", - "subnetId": "subnet-11111111111111111", - "subnetIds": null, - "resourceValue": null, - "state": null, - "private": "false", - "loggedInURL": "https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId", - "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId", - "title": "vpc-11111111111111111-private-b", - "dBInstanceStatus": null, - "statement": null, - "instanceType": null - }, - "resource": { - "id": "subnet-11111111111111111", - "name": null, - "value": null, - "type": "AWS::EC2::Subnet", - "tags": "{}", - "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:subnet/subnet-11111111111111111", - "region": "eu-west-1", - "state": null, - "loggedInURL": "https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId", - "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId", - "accountId": "yyyyyyyyyyyy" - } + { + "group": "nodes", + "data": { + "id": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-11111111111111111", + "parent": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-11111111111111111-eu-west-1b", + "title": "vpc-11111111111111111-private-b", + "label": "vpc-11111111111111111-private-b", + "plainLabel": "vpc-11111111111111111-private-b", + "type": "subnet", + "borderStyle": "solid", + "color": "#fff", + "borderColour": "#AAB7B8", + "opacity": "0", + "image": "/icons/VPC-subnet-private_light-bg-collapsed.svg", + "clickedId": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-11111111111111111", + "cost": 0, + "accountColour": "rgba(175, 17, 83, 0.5)", + "regionColour": "rgba(9, 86, 99, 0.5)", + "aZColour": "#00A1C9", + "subnetColour": "#147eba", + "properties": { + "accountId": "yyyyyyyyyyyy", + "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:subnet/subnet-11111111111111111", + "availabilityZone": "eu-west-1b", + "awsRegion": "eu-west-1", + "configuration": "{}", + "configurationItemCaptureTime": "2023-02-10T16:20:45.731Z", + "configurationItemStatus": "OK", + "configurationStateId": null, + "resourceCreationTime": null, + "resourceId": "subnet-11111111111111111", + "resourceName": null, + "resourceType": "AWS::EC2::Subnet", + "supplementaryConfiguration": null, + "tags": "{}", + "version": "1.3", + "vpcId": "vpc-11111111111111111", + "subnetId": "subnet-11111111111111111", + "subnetIds": null, + "resourceValue": null, + "state": null, + "private": "false", + "loggedInURL": "https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId", + "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId", + "title": "vpc-11111111111111111-private-b", + "dBInstanceStatus": null, + "statement": null, + "instanceType": null + }, + "resource": { + "id": "subnet-11111111111111111", + "name": null, + "value": null, + "type": "AWS::EC2::Subnet", + "tags": "{}", + "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:subnet/subnet-11111111111111111", + "region": "eu-west-1", + "state": null, + "loggedInURL": "https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId", + "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId", + "accountId": "yyyyyyyyyyyy" + } + }, + "classes": ["subnet", "removeAll"] }, - "classes": [ - "subnet", - "removeAll" - ] - }, - { - "group": "nodes", - "data": { - "id": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-22222222222222222-eu-west-1a", - "parent": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-vpc/vpc-11111111111111111", - "title": "eu-west-1a", - "label": "eu-west-1a", - "plainLabel": "eu-west-1a", - "type": "availabilityZone", - "borderStyle": "solid", - "color": "#fff", - "borderColour": "#AAB7B8", - "opacity": "0", - "image": "/icons/availabilityZone.svg", - "clickedId": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-22222222222222222-eu-west-1a", - "cost": 0, - "accountColour": "rgba(175, 17, 83, 0.5)", - "regionColour": "rgba(9, 86, 99, 0.5)", - "aZColour": "#00A1C9", - "subnetColour": "#147eba" + { + "group": "nodes", + "data": { + "id": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-22222222222222222-eu-west-1a", + "parent": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-vpc/vpc-11111111111111111", + "title": "eu-west-1a", + "label": "eu-west-1a", + "plainLabel": "eu-west-1a", + "type": "availabilityZone", + "borderStyle": "solid", + "color": "#fff", + "borderColour": "#AAB7B8", + "opacity": "0", + "image": "/icons/availabilityZone.svg", + "clickedId": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-22222222222222222-eu-west-1a", + "cost": 0, + "accountColour": "rgba(175, 17, 83, 0.5)", + "regionColour": "rgba(9, 86, 99, 0.5)", + "aZColour": "#00A1C9", + "subnetColour": "#147eba" + }, + "classes": ["availabilityZone", "removeAll"] }, - "classes": [ - "availabilityZone", - "removeAll" - ] - }, - { - "group": "nodes", - "data": { - "id": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-22222222222222222", - "parent": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-22222222222222222-eu-west-1a", - "title": "vpc-11111111111111111-private-a", - "label": "vpc-11111111111111111-private-a", - "plainLabel": "vpc-11111111111111111-private-a", - "type": "subnet", - "borderStyle": "solid", - "color": "#fff", - "borderColour": "#AAB7B8", - "opacity": "0", - "image": "/icons/VPC-subnet-private_light-bg-collapsed.svg", - "clickedId": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-22222222222222222", - "cost": 0, - "accountColour": "rgba(175, 17, 83, 0.5)", - "regionColour": "rgba(9, 86, 99, 0.5)", - "aZColour": "#00A1C9", - "subnetColour": "#147eba", - "properties": { - "accountId": "yyyyyyyyyyyy", - "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:subnet/subnet-22222222222222222", - "availabilityZone": "eu-west-1a", - "awsRegion": "eu-west-1", - "configuration": "{}", - "configurationItemCaptureTime": "2023-05-19T09:47:33.884Z", - "configurationItemStatus": "OK", - "configurationStateId": null, - "resourceCreationTime": null, - "resourceId": "subnet-22222222222222222", - "resourceName": null, - "resourceType": "AWS::EC2::Subnet", - "supplementaryConfiguration": null, - "tag": "{}", - "version": "1.3", - "vpcId": "vpc-11111111111111111", - "subnetId": "subnet-22222222222222222", - "subnetIds": null, - "resourceValue": null, - "state": null, - "private": "false", - "loggedInURL": "https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId", - "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId", - "title": "vpc-11111111111111111-private-a", - "dBInstanceStatus": null, - "statement": null, - "instanceType": null - }, - "resource": { - "id": "subnet-22222222222222222", - "name": null, - "value": null, - "type": "AWS::EC2::Subnet", - "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:subnet/subnet-22222222222222222", - "region": "eu-west-1", - "state": null, - "loggedInURL": "https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId", - "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId", - "accountId": "yyyyyyyyyyyy" - } + { + "group": "nodes", + "data": { + "id": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-22222222222222222", + "parent": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-22222222222222222-eu-west-1a", + "title": "vpc-11111111111111111-private-a", + "label": "vpc-11111111111111111-private-a", + "plainLabel": "vpc-11111111111111111-private-a", + "type": "subnet", + "borderStyle": "solid", + "color": "#fff", + "borderColour": "#AAB7B8", + "opacity": "0", + "image": "/icons/VPC-subnet-private_light-bg-collapsed.svg", + "clickedId": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-22222222222222222", + "cost": 0, + "accountColour": "rgba(175, 17, 83, 0.5)", + "regionColour": "rgba(9, 86, 99, 0.5)", + "aZColour": "#00A1C9", + "subnetColour": "#147eba", + "properties": { + "accountId": "yyyyyyyyyyyy", + "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:subnet/subnet-22222222222222222", + "availabilityZone": "eu-west-1a", + "awsRegion": "eu-west-1", + "configuration": "{}", + "configurationItemCaptureTime": "2023-05-19T09:47:33.884Z", + "configurationItemStatus": "OK", + "configurationStateId": null, + "resourceCreationTime": null, + "resourceId": "subnet-22222222222222222", + "resourceName": null, + "resourceType": "AWS::EC2::Subnet", + "supplementaryConfiguration": null, + "tag": "{}", + "version": "1.3", + "vpcId": "vpc-11111111111111111", + "subnetId": "subnet-22222222222222222", + "subnetIds": null, + "resourceValue": null, + "state": null, + "private": "false", + "loggedInURL": "https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId", + "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId", + "title": "vpc-11111111111111111-private-a", + "dBInstanceStatus": null, + "statement": null, + "instanceType": null + }, + "resource": { + "id": "subnet-22222222222222222", + "name": null, + "value": null, + "type": "AWS::EC2::Subnet", + "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:subnet/subnet-22222222222222222", + "region": "eu-west-1", + "state": null, + "loggedInURL": "https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId", + "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId", + "accountId": "yyyyyyyyyyyy" + } + }, + "classes": ["subnet", "removeAll"] }, - "classes": [ - "subnet", - "removeAll" - ] - }, - { - "group": "nodes", - "data": { - "id": "Function-arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-vpc/vpc-11111111111111111-eu-west-1a,eu-west-1b", - "parent": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-vpc/vpc-11111111111111111-eu-west-1a,eu-west-1b", - "title": "Function", - "label": "Function", - "plainLabel": "Function", - "type": "type", - "borderStyle": "solid", - "color": "#fff", - "borderColour": "#AAB7B8", - "opacity": "0", - "clickedId": "Function-arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-vpc/vpc-11111111111111111-eu-west-1a,eu-west-1b", - "cost": 0, - "accountColour": "rgba(175, 17, 83, 0.5)", - "regionColour": "rgba(9, 86, 99, 0.5)", - "aZColour": "#00A1C9", - "subnetColour": "#248814" + { + "group": "nodes", + "data": { + "id": "Function-arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-vpc/vpc-11111111111111111-eu-west-1a,eu-west-1b", + "parent": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-vpc/vpc-11111111111111111-eu-west-1a,eu-west-1b", + "title": "Function", + "label": "Function", + "plainLabel": "Function", + "type": "type", + "borderStyle": "solid", + "color": "#fff", + "borderColour": "#AAB7B8", + "opacity": "0", + "clickedId": "Function-arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-vpc/vpc-11111111111111111-eu-west-1a,eu-west-1b", + "cost": 0, + "accountColour": "rgba(175, 17, 83, 0.5)", + "regionColour": "rgba(9, 86, 99, 0.5)", + "aZColour": "#00A1C9", + "subnetColour": "#248814" + }, + "classes": ["type", "removeAll"] }, - "classes": [ - "type", - "removeAll" - ] - }, - { - "group": "nodes", - "data": { - "id": "Role-yyyyyyyyyyyy-global", - "parent": "yyyyyyyyyyyy-global", - "title": "Role", - "label": "Role", - "plainLabel": "Role", - "type": "type", - "borderStyle": "solid", - "color": "#fff", - "borderColour": "#AAB7B8", - "opacity": "0", - "clickedId": "Role-yyyyyyyyyyyy-global", - "cost": 0, - "accountColour": "rgba(175, 17, 83, 0.5)", - "regionColour": "rgba(9, 86, 99, 0.5)", - "aZColour": "#00A1C9", - "subnetColour": "#248814" + { + "group": "nodes", + "data": { + "id": "Role-yyyyyyyyyyyy-global", + "parent": "yyyyyyyyyyyy-global", + "title": "Role", + "label": "Role", + "plainLabel": "Role", + "type": "type", + "borderStyle": "solid", + "color": "#fff", + "borderColour": "#AAB7B8", + "opacity": "0", + "clickedId": "Role-yyyyyyyyyyyy-global", + "cost": 0, + "accountColour": "rgba(175, 17, 83, 0.5)", + "regionColour": "rgba(9, 86, 99, 0.5)", + "aZColour": "#00A1C9", + "subnetColour": "#248814" + }, + "classes": ["type", "removeAll"] }, - "classes": [ - "type", - "removeAll" - ] - }, - { - "group": "nodes", - "data": { - "id": "SecurityGroup-arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-vpc/vpc-11111111111111111", - "parent": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-vpc/vpc-11111111111111111", - "title": "SecurityGroup", - "label": "SecurityGroup", - "plainLabel": "SecurityGroup", - "type": "type", - "borderStyle": "solid", - "color": "#fff", - "borderColour": "#AAB7B8", - "opacity": "0", - "clickedId": "SecurityGroup-arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-vpc/vpc-11111111111111111", - "cost": 0, - "accountColour": "rgba(175, 17, 83, 0.5)", - "regionColour": "rgba(9, 86, 99, 0.5)", - "aZColour": "#00A1C9", - "subnetColour": "#248814" + { + "group": "nodes", + "data": { + "id": "SecurityGroup-arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-vpc/vpc-11111111111111111", + "parent": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-vpc/vpc-11111111111111111", + "title": "SecurityGroup", + "label": "SecurityGroup", + "plainLabel": "SecurityGroup", + "type": "type", + "borderStyle": "solid", + "color": "#fff", + "borderColour": "#AAB7B8", + "opacity": "0", + "clickedId": "SecurityGroup-arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-vpc/vpc-11111111111111111", + "cost": 0, + "accountColour": "rgba(175, 17, 83, 0.5)", + "regionColour": "rgba(9, 86, 99, 0.5)", + "aZColour": "#00A1C9", + "subnetColour": "#248814" + }, + "classes": ["type", "removeAll"] }, - "classes": [ - "type", - "removeAll" - ] - }, - { - "group": "nodes", - "data": { - "id": "DBCluster-yyyyyyyyyyyy-eu-west-1-Multiple Availability Zones", - "parent": "yyyyyyyyyyyy-eu-west-1-Multiple Availability Zones", - "title": "DBCluster", - "label": "DBCluster", - "plainLabel": "DBCluster", - "type": "type", - "borderStyle": "solid", - "color": "#fff", - "borderColour": "#AAB7B8", - "opacity": "0", - "clickedId": "DBCluster-yyyyyyyyyyyy-eu-west-1-Multiple Availability Zones", - "cost": 0, - "accountColour": "rgba(175, 17, 83, 0.5)", - "regionColour": "rgba(9, 86, 99, 0.5)", - "aZColour": "#00A1C9", - "subnetColour": "#248814" + { + "group": "nodes", + "data": { + "id": "DBCluster-yyyyyyyyyyyy-eu-west-1-Multiple Availability Zones", + "parent": "yyyyyyyyyyyy-eu-west-1-Multiple Availability Zones", + "title": "DBCluster", + "label": "DBCluster", + "plainLabel": "DBCluster", + "type": "type", + "borderStyle": "solid", + "color": "#fff", + "borderColour": "#AAB7B8", + "opacity": "0", + "clickedId": "DBCluster-yyyyyyyyyyyy-eu-west-1-Multiple Availability Zones", + "cost": 0, + "accountColour": "rgba(175, 17, 83, 0.5)", + "regionColour": "rgba(9, 86, 99, 0.5)", + "aZColour": "#00A1C9", + "subnetColour": "#248814" + }, + "classes": ["type", "removeAll"] }, - "classes": [ - "type", - "removeAll" - ] - }, - { - "group": "nodes", - "data": { - "id": "Tag-yyyyyyyyyyyy-global", - "parent": "yyyyyyyyyyyy-global", - "title": "Tag", - "label": "Tag", - "plainLabel": "Tag", - "type": "type", - "borderStyle": "solid", - "color": "#fff", - "borderColour": "#AAB7B8", - "opacity": "0", - "clickedId": "Tag-yyyyyyyyyyyy-global", - "cost": 0, - "accountColour": "rgba(175, 17, 83, 0.5)", - "regionColour": "rgba(9, 86, 99, 0.5)", - "aZColour": "#00A1C9", - "subnetColour": "#248814" + { + "group": "nodes", + "data": { + "id": "Tag-yyyyyyyyyyyy-global", + "parent": "yyyyyyyyyyyy-global", + "title": "Tag", + "label": "Tag", + "plainLabel": "Tag", + "type": "type", + "borderStyle": "solid", + "color": "#fff", + "borderColour": "#AAB7B8", + "opacity": "0", + "clickedId": "Tag-yyyyyyyyyyyy-global", + "cost": 0, + "accountColour": "rgba(175, 17, 83, 0.5)", + "regionColour": "rgba(9, 86, 99, 0.5)", + "aZColour": "#00A1C9", + "subnetColour": "#248814" + }, + "classes": ["type", "removeAll"] }, - "classes": [ - "type", - "removeAll" - ] - }, - { - "group": "nodes", - "data": { - "id": "NetworkInterface-arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-11111111111111111", - "parent": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-11111111111111111", - "title": "NetworkInterface", - "label": "NetworkInterface", - "plainLabel": "NetworkInterface", - "type": "type", - "borderStyle": "solid", - "color": "#fff", - "borderColour": "#AAB7B8", - "opacity": "0", - "clickedId": "NetworkInterface-arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-11111111111111111", - "cost": 0, - "accountColour": "rgba(175, 17, 83, 0.5)", - "regionColour": "rgba(9, 86, 99, 0.5)", - "aZColour": "#00A1C9", - "subnetColour": "#248814" + { + "group": "nodes", + "data": { + "id": "NetworkInterface-arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-11111111111111111", + "parent": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-11111111111111111", + "title": "NetworkInterface", + "label": "NetworkInterface", + "plainLabel": "NetworkInterface", + "type": "type", + "borderStyle": "solid", + "color": "#fff", + "borderColour": "#AAB7B8", + "opacity": "0", + "clickedId": "NetworkInterface-arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-11111111111111111", + "cost": 0, + "accountColour": "rgba(175, 17, 83, 0.5)", + "regionColour": "rgba(9, 86, 99, 0.5)", + "aZColour": "#00A1C9", + "subnetColour": "#248814" + }, + "classes": ["type", "removeAll"] }, - "classes": [ - "type", - "removeAll" - ] - }, - { - "group": "nodes", - "data": { - "id": "NetworkInterface-arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-22222222222222222", - "parent": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-22222222222222222", - "title": "NetworkInterface", - "label": "NetworkInterface", - "plainLabel": "NetworkInterface", - "type": "type", - "borderStyle": "solid", - "color": "#fff", - "borderColour": "#AAB7B8", - "opacity": "0", - "clickedId": "NetworkInterface-arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-22222222222222222", - "cost": 0, - "accountColour": "rgba(175, 17, 83, 0.5)", - "regionColour": "rgba(9, 86, 99, 0.5)", - "aZColour": "#00A1C9", - "subnetColour": "#248814" + { + "group": "nodes", + "data": { + "id": "NetworkInterface-arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-22222222222222222", + "parent": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-22222222222222222", + "title": "NetworkInterface", + "label": "NetworkInterface", + "plainLabel": "NetworkInterface", + "type": "type", + "borderStyle": "solid", + "color": "#fff", + "borderColour": "#AAB7B8", + "opacity": "0", + "clickedId": "NetworkInterface-arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-22222222222222222", + "cost": 0, + "accountColour": "rgba(175, 17, 83, 0.5)", + "regionColour": "rgba(9, 86, 99, 0.5)", + "aZColour": "#00A1C9", + "subnetColour": "#248814" + }, + "classes": ["type", "removeAll"] }, - "classes": [ - "type", - "removeAll" - ] - }, - { - "group": "nodes", - "data": { - "id": "InlinePolicy-yyyyyyyyyyyy-global", - "parent": "yyyyyyyyyyyy-global", - "title": "InlinePolicy", - "label": "InlinePolicy", - "plainLabel": "InlinePolicy", - "type": "type", - "borderStyle": "solid", - "color": "#fff", - "borderColour": "#AAB7B8", - "opacity": "0", - "clickedId": "InlinePolicy-yyyyyyyyyyyy-global", - "cost": 0, - "accountColour": "rgba(175, 17, 83, 0.5)", - "regionColour": "rgba(9, 86, 99, 0.5)", - "aZColour": "#00A1C9", - "subnetColour": "#248814" + { + "group": "nodes", + "data": { + "id": "InlinePolicy-yyyyyyyyyyyy-global", + "parent": "yyyyyyyyyyyy-global", + "title": "InlinePolicy", + "label": "InlinePolicy", + "plainLabel": "InlinePolicy", + "type": "type", + "borderStyle": "solid", + "color": "#fff", + "borderColour": "#AAB7B8", + "opacity": "0", + "clickedId": "InlinePolicy-yyyyyyyyyyyy-global", + "cost": 0, + "accountColour": "rgba(175, 17, 83, 0.5)", + "regionColour": "rgba(9, 86, 99, 0.5)", + "aZColour": "#00A1C9", + "subnetColour": "#248814" + }, + "classes": ["type", "removeAll"] }, - "classes": [ - "type", - "removeAll" - ] - }, - { - "group": "nodes", - "data": { - "arn": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", - "resourceId": [ - "testLambda", - "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda" - ], - "parent": "Function-arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-vpc/vpc-11111111111111111-eu-west-1a,eu-west-1b", - "id": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", - "title": "testLambda", - "label": "testLambda", - "shape": "image", - "type": "resource", - "accountColour": "rgba(234, 220, 23, 0.5)", - "regionColour": "rgba(79, 16, 163, 0.5)", - "color": "#1D8102", - "borderStyle": "dotted", - "borderColour": "#1D8102", - "borderOpacity": 0.25, - "borderSize": 1, - "opacity": "0", - "clickedId": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", - "state": { "status": "status-available", "text": "active", "color": "#1D8102" }, - "image": "/icons/AWS-Lambda.svg", - "cost": 0, - "private": null, - "resource": { - "id": "testLambda", - "name": "testLambda", - "value": null, - "type": "AWS::Lambda::Function", - "tags": "[{\"tag\":\"lambdaTag=lambdaValue\",\"value\":\"lambdaValue\",\"key\":\"lambdaTag\"}, {\"tag\":\"lambdaTag1=lambdaValue1\",\"value\":\"lambdaValue1\",\"key\":\"lambdaTag1\"}]", - "arn": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", - "region": "eu-west-1", - "state": null, - "loggedInURL": "https://eu-west-1.console.aws.amazon.com/lambda/home?region=eu-west-1#/functions/testLambda?tab=graph", - "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/lambda?region=eu-west-1#/functions/testLambda?tab=graph", - "accountId": "yyyyyyyyyyyy" - }, - "highlight": true, - "existing": false, - "properties": { - "accountId": "yyyyyyyyyyyy", - "arn": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", - "availabilityZone": "eu-west-1a,eu-west-1b", - "awsRegion": "eu-west-1", - "configuration": "{\"key\":\"prop\",\"key1\":\"prop1\",\"key2\":\"prop2\",\"state\":{\"value\":\"active\"}}", - "configurationItemCaptureTime": "2023-06-06T22:21:58.169Z", - "configurationItemStatus": "OK", - "configurationStateId": null, - "resourceCreationTime": null, - "resourceId": "testLambda", - "resourceName": "testLambda", - "resourceType": "AWS::Lambda::Function", - "tags": "[{\"tag\":\"lambdaTag=lambdaValue\",\"value\":\"lambdaValue\",\"key\":\"lambdaTag\"}, {\"tag\":\"lambdaTag1=lambdaValue1\",\"value\":\"lambdaValue1\",\"key\":\"lambdaTag1\"}]", - "version": "1.3", - "vpcId": "vpc-11111111111111111", - "subnetId": null, - "subnetIds": null, - "resourceValue": null, - "state": null, - "private": null, - "loggedInURL": "https://eu-west-1.console.aws.amazon.com/lambda/home?region=eu-west-1#/functions/testLambda?tab=graph", - "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/lambda?region=eu-west-1#/functions/testLambda?tab=graph", - "title": "testLambda", - "dBInstanceStatus": null, - "statement": null, - "instanceType": null - } + { + "group": "nodes", + "data": { + "arn": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", + "resourceId": [ + "testLambda", + "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda" + ], + "parent": "Function-arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-vpc/vpc-11111111111111111-eu-west-1a,eu-west-1b", + "id": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", + "title": "testLambda", + "label": "testLambda", + "shape": "image", + "type": "resource", + "accountColour": "rgba(234, 220, 23, 0.5)", + "regionColour": "rgba(79, 16, 163, 0.5)", + "color": "#1D8102", + "borderStyle": "dotted", + "borderColour": "#1D8102", + "borderOpacity": 0.25, + "borderSize": 1, + "opacity": "0", + "clickedId": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", + "state": { + "status": "status-available", + "text": "active", + "color": "#1D8102" + }, + "image": "/icons/AWS-Lambda.svg", + "cost": 0, + "private": null, + "resource": { + "id": "testLambda", + "name": "testLambda", + "value": null, + "type": "AWS::Lambda::Function", + "tags": "[{\"tag\":\"lambdaTag=lambdaValue\",\"value\":\"lambdaValue\",\"key\":\"lambdaTag\"}, {\"tag\":\"lambdaTag1=lambdaValue1\",\"value\":\"lambdaValue1\",\"key\":\"lambdaTag1\"}]", + "arn": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", + "region": "eu-west-1", + "state": null, + "loggedInURL": "https://eu-west-1.console.aws.amazon.com/lambda/home?region=eu-west-1#/functions/testLambda?tab=graph", + "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/lambda?region=eu-west-1#/functions/testLambda?tab=graph", + "accountId": "yyyyyyyyyyyy" + }, + "highlight": true, + "existing": false, + "properties": { + "accountId": "yyyyyyyyyyyy", + "arn": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", + "availabilityZone": "eu-west-1a,eu-west-1b", + "awsRegion": "eu-west-1", + "configuration": "{\"key\":\"prop\",\"key1\":\"prop1\",\"key2\":\"prop2\",\"state\":{\"value\":\"active\"}}", + "configurationItemCaptureTime": "2023-06-06T22:21:58.169Z", + "configurationItemStatus": "OK", + "configurationStateId": null, + "resourceCreationTime": null, + "resourceId": "testLambda", + "resourceName": "testLambda", + "resourceType": "AWS::Lambda::Function", + "tags": "[{\"tag\":\"lambdaTag=lambdaValue\",\"value\":\"lambdaValue\",\"key\":\"lambdaTag\"}, {\"tag\":\"lambdaTag1=lambdaValue1\",\"value\":\"lambdaValue1\",\"key\":\"lambdaTag1\"}]", + "version": "1.3", + "vpcId": "vpc-11111111111111111", + "subnetId": null, + "subnetIds": null, + "resourceValue": null, + "state": null, + "private": null, + "loggedInURL": "https://eu-west-1.console.aws.amazon.com/lambda/home?region=eu-west-1#/functions/testLambda?tab=graph", + "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/lambda?region=eu-west-1#/functions/testLambda?tab=graph", + "title": "testLambda", + "dBInstanceStatus": null, + "statement": null, + "instanceType": null + } + }, + "classes": ["resource", "highlight", "image", "selectable", "hoverover"] }, - "classes": [ - "resource", - "highlight", - "image", - "selectable", - "hoverover" - ] - }, - { - "group": "nodes", - "data": { - "arn": "arn:aws:iam::yyyyyyyyyyyy:role/testRole", - "resourceId": [ - "roleResourceId", - "arn:aws:iam::yyyyyyyyyyyy:role/testRole" - ], - "parent": "Role-yyyyyyyyyyyy-global", - "id": "arn:aws:iam::yyyyyyyyyyyy:role/testRole", - "title": "testRole", - "label": "testRole", - "shape": "image", - "type": "resource", - "accountColour": "rgba(234, 220, 23, 0.5)", - "regionColour": "rgba(175, 17, 83, 0.5)", - "color": "#fff", - "borderStyle": "solid", - "borderColour": "#545B64", - "borderOpacity": 0.25, - "borderSize": 1, - "opacity": "0", - "clickedId": "arn:aws:iam::yyyyyyyyyyyy:role/testRole", - "image": "/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg", - "cost": 0, - "private": null, - "resource": { - "id": "roleResourceId", - "name": "testRole", - "value": null, - "type": "AWS::IAM::Role", - "tags": "{}", - "arn": "arn:aws:iam::yyyyyyyyyyyy:role/testRole", - "region": "global", - "state": null, - "loggedInURL": "https://console.aws.amazon.com/iam/home?#/roles", - "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/iam?home?#/roles", - "accountId": "yyyyyyyyyyyy" - }, - "highlight": true, - "existing": false, - "properties": { - "accountId": "yyyyyyyyyyyy", - "arn": "arn:aws:iam::yyyyyyyyyyyy:role/testRole", - "availabilityZone": "Not Applicable", - "awsRegion": "global", - "configuration": "{}", - "configurationItemCaptureTime": "2023-01-23T16:15:01.277Z", - "configurationItemStatus": "OK", - "configurationStateId": null, - "resourceCreationTime": "2022-10-07T18:04:50.000Z", - "resourceId": "roleResourceId", - "resourceName": "testRole", - "resourceType": "AWS::IAM::Role", - "supplementaryConfiguration": null, - "tags": "{}", - "version": "1.3", - "vpcId": null, - "subnetId": null, - "subnetIds": null, - "resourceValue": null, - "state": null, - "private": null, - "loggedInURL": "https://console.aws.amazon.com/iam/home?#/roles", - "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/iam?home?#/roles", - "title": "testRole", - "dBInstanceStatus": null, - "statement": null, - "instanceType": null - } + { + "group": "nodes", + "data": { + "arn": "arn:aws:iam::yyyyyyyyyyyy:role/testRole", + "resourceId": [ + "roleResourceId", + "arn:aws:iam::yyyyyyyyyyyy:role/testRole" + ], + "parent": "Role-yyyyyyyyyyyy-global", + "id": "arn:aws:iam::yyyyyyyyyyyy:role/testRole", + "title": "testRole", + "label": "testRole", + "shape": "image", + "type": "resource", + "accountColour": "rgba(234, 220, 23, 0.5)", + "regionColour": "rgba(175, 17, 83, 0.5)", + "color": "#fff", + "borderStyle": "solid", + "borderColour": "#545B64", + "borderOpacity": 0.25, + "borderSize": 1, + "opacity": "0", + "clickedId": "arn:aws:iam::yyyyyyyyyyyy:role/testRole", + "image": "/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg", + "cost": 0, + "private": null, + "resource": { + "id": "roleResourceId", + "name": "testRole", + "value": null, + "type": "AWS::IAM::Role", + "tags": "{}", + "arn": "arn:aws:iam::yyyyyyyyyyyy:role/testRole", + "region": "global", + "state": null, + "loggedInURL": "https://console.aws.amazon.com/iam/home?#/roles", + "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/iam?home?#/roles", + "accountId": "yyyyyyyyyyyy" + }, + "highlight": true, + "existing": false, + "properties": { + "accountId": "yyyyyyyyyyyy", + "arn": "arn:aws:iam::yyyyyyyyyyyy:role/testRole", + "availabilityZone": "Not Applicable", + "awsRegion": "global", + "configuration": "{}", + "configurationItemCaptureTime": "2023-01-23T16:15:01.277Z", + "configurationItemStatus": "OK", + "configurationStateId": null, + "resourceCreationTime": "2022-10-07T18:04:50.000Z", + "resourceId": "roleResourceId", + "resourceName": "testRole", + "resourceType": "AWS::IAM::Role", + "supplementaryConfiguration": null, + "tags": "{}", + "version": "1.3", + "vpcId": null, + "subnetId": null, + "subnetIds": null, + "resourceValue": null, + "state": null, + "private": null, + "loggedInURL": "https://console.aws.amazon.com/iam/home?#/roles", + "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/iam?home?#/roles", + "title": "testRole", + "dBInstanceStatus": null, + "statement": null, + "instanceType": null + } + }, + "classes": ["resource", "highlight", "image", "selectable", "hoverover"] }, - "classes": [ - "resource", - "highlight", - "image", - "selectable", - "hoverover" - ] - }, - { - "group": "nodes", - "data": { - "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:security-group/sg-111111111111111", - "resourceId": [ - "sg-111111111111111", - "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:security-group/sg-111111111111111" - ], - "parent": "SecurityGroup-arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-vpc/vpc-11111111111111111", - "id": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:security-group/sg-111111111111111", - "title": "lambdaSecurityGroup", - "label": "lambdaSecuri...", - "shape": "image", - "type": "resource", - "accountColour": "rgba(234, 220, 23, 0.5)", - "regionColour": "rgba(79, 16, 163, 0.5)", - "color": "#fff", - "borderStyle": "solid", - "borderColour": "#545B64", - "borderOpacity": 0.25, - "borderSize": 1, - "opacity": "0", - "clickedId": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:security-group/sg-111111111111111", - "image": "/icons/AWSSecurityGroup.svg", - "cost": 0, - "private": null, - "resource": { - "id": "sg-111111111111111", - "name": "lambdaSecurityGroup", - "value": null, - "type": "AWS::EC2::SecurityGroup", - "tags": "{}", - "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:security-group/sg-111111111111111", - "region": "eu-west-1", - "state": null, - "loggedInURL": "https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId", - "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId", - "accountId": "yyyyyyyyyyyy" - }, - "highlight": true, - "existing": false, - "properties": { - "accountId": "yyyyyyyyyyyy", - "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:security-group/sg-111111111111111", - "availabilityZone": "Not Applicable", - "awsRegion": "eu-west-1", - "configuration": "{}", - "configurationItemCaptureTime": "2023-01-23T16:14:40.129Z", - "configurationItemStatus": "OK", - "configurationStateId": null, - "resourceCreationTime": null, - "resourceId": "sg-111111111111111", - "resourceName": "lambdaSecurityGroup", - "resourceType": "AWS::EC2::SecurityGroup", - "supplementaryConfiguration": null, - "tags": "{}", - "version": "1.3", - "vpcId": "vpc-11111111111111111", - "subnetId": null, - "subnetIds": null, - "resourceValue": null, - "state": null, - "private": null, - "loggedInURL": "https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId", - "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId", - "title": "lambdaSecurityGroup", - "dBInstanceStatus": null, - "statement": null, - "instanceType": null - } + { + "group": "nodes", + "data": { + "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:security-group/sg-111111111111111", + "resourceId": [ + "sg-111111111111111", + "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:security-group/sg-111111111111111" + ], + "parent": "SecurityGroup-arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-vpc/vpc-11111111111111111", + "id": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:security-group/sg-111111111111111", + "title": "lambdaSecurityGroup", + "label": "lambdaSecuri...", + "shape": "image", + "type": "resource", + "accountColour": "rgba(234, 220, 23, 0.5)", + "regionColour": "rgba(79, 16, 163, 0.5)", + "color": "#fff", + "borderStyle": "solid", + "borderColour": "#545B64", + "borderOpacity": 0.25, + "borderSize": 1, + "opacity": "0", + "clickedId": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:security-group/sg-111111111111111", + "image": "/icons/AWSSecurityGroup.svg", + "cost": 0, + "private": null, + "resource": { + "id": "sg-111111111111111", + "name": "lambdaSecurityGroup", + "value": null, + "type": "AWS::EC2::SecurityGroup", + "tags": "{}", + "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:security-group/sg-111111111111111", + "region": "eu-west-1", + "state": null, + "loggedInURL": "https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId", + "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId", + "accountId": "yyyyyyyyyyyy" + }, + "highlight": true, + "existing": false, + "properties": { + "accountId": "yyyyyyyyyyyy", + "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:security-group/sg-111111111111111", + "availabilityZone": "Not Applicable", + "awsRegion": "eu-west-1", + "configuration": "{}", + "configurationItemCaptureTime": "2023-01-23T16:14:40.129Z", + "configurationItemStatus": "OK", + "configurationStateId": null, + "resourceCreationTime": null, + "resourceId": "sg-111111111111111", + "resourceName": "lambdaSecurityGroup", + "resourceType": "AWS::EC2::SecurityGroup", + "supplementaryConfiguration": null, + "tags": "{}", + "version": "1.3", + "vpcId": "vpc-11111111111111111", + "subnetId": null, + "subnetIds": null, + "resourceValue": null, + "state": null, + "private": null, + "loggedInURL": "https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId", + "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId", + "title": "lambdaSecurityGroup", + "dBInstanceStatus": null, + "statement": null, + "instanceType": null + } + }, + "classes": ["resource", "highlight", "image", "selectable", "hoverover"] }, - "classes": [ - "resource", - "highlight", - "image", - "selectable", - "hoverover" - ] - }, - { - "group": "nodes", - "data": { - "arn": "arn:aws:rds:eu-west-1:yyyyyyyyyyyy:cluster:testdbcluster", - "resourceId": [ - "cluster-AAAAAAAAAAAAAAA", - "arn:aws:rds:eu-west-1:yyyyyyyyyyyy:cluster:testdbcluster" - ], - "parent": "DBCluster-yyyyyyyyyyyy-eu-west-1-Multiple Availability Zones", - "id": "arn:aws:rds:eu-west-1:yyyyyyyyyyyy:cluster:testdbcluster", - "title": "test-db-Cluster", - "label": "test-db-Clus...", - "shape": "image", - "type": "resource", - "accountColour": "rgba(234, 220, 23, 0.5)", - "regionColour": "rgba(79, 16, 163, 0.5)", - "color": "#fff", - "borderStyle": "solid", - "borderColour": "#545B64", - "borderOpacity": 0.25, - "borderSize": 1, - "opacity": "0", - "clickedId": "arn:aws:rds:eu-west-1:yyyyyyyyyyyy:cluster:testdbcluster", - "image": "/icons/Amazon-DBCluster.svg", - "cost": 0, - "private": null, - "resource": { - "id": "cluster-AAAAAAAAAAAAAAA", - "name": "testdbcluster", - "value": null, - "type": "AWS::RDS::DBCluster", - "tags": "{}", - "arn": "arn:aws:rds:eu-west-1:yyyyyyyyyyyy:cluster:testdbcluster", - "region": "eu-west-1", - "state": null, - "loggedInURL": null, - "loginURL": null, - "accountId": "yyyyyyyyyyyy" - }, - "highlight": true, - "existing": false, - "properties": { - "accountId": "yyyyyyyyyyyy", - "arn": "arn:aws:rds:eu-west-1:yyyyyyyyyyyy:cluster:testdbcluster", - "availabilityZone": "Multiple Availability Zones", - "awsRegion": "eu-west-1", - "configuration": "{}", - "configurationItemCaptureTime": "2023-05-20T01:54:04.280Z", - "configurationItemStatus": "OK", - "configurationStateId": null, - "resourceCreationTime": "2022-10-07T17:55:06.860Z", - "resourceId": "cluster-AAAAAAAAAAAAAAA", - "resourceName": "testdbcluster", - "resourceType": "AWS::RDS::DBCluster", - "supplementaryConfiguration": null, - "tags": "{}", - "version": "1.3", - "vpcId": null, - "subnetId": null, - "subnetIds": null, - "resourceValue": null, - "state": null, - "private": null, - "loggedInURL": null, - "loginURL": null, - "title": "test-db-Cluster", - "dBInstanceStatus": null, - "statement": null, - "instanceType": null - } + { + "group": "nodes", + "data": { + "arn": "arn:aws:rds:eu-west-1:yyyyyyyyyyyy:cluster:testdbcluster", + "resourceId": [ + "cluster-AAAAAAAAAAAAAAA", + "arn:aws:rds:eu-west-1:yyyyyyyyyyyy:cluster:testdbcluster" + ], + "parent": "DBCluster-yyyyyyyyyyyy-eu-west-1-Multiple Availability Zones", + "id": "arn:aws:rds:eu-west-1:yyyyyyyyyyyy:cluster:testdbcluster", + "title": "test-db-Cluster", + "label": "test-db-Clus...", + "shape": "image", + "type": "resource", + "accountColour": "rgba(234, 220, 23, 0.5)", + "regionColour": "rgba(79, 16, 163, 0.5)", + "color": "#fff", + "borderStyle": "solid", + "borderColour": "#545B64", + "borderOpacity": 0.25, + "borderSize": 1, + "opacity": "0", + "clickedId": "arn:aws:rds:eu-west-1:yyyyyyyyyyyy:cluster:testdbcluster", + "image": "/icons/Amazon-DBCluster.svg", + "cost": 0, + "private": null, + "resource": { + "id": "cluster-AAAAAAAAAAAAAAA", + "name": "testdbcluster", + "value": null, + "type": "AWS::RDS::DBCluster", + "tags": "{}", + "arn": "arn:aws:rds:eu-west-1:yyyyyyyyyyyy:cluster:testdbcluster", + "region": "eu-west-1", + "state": null, + "loggedInURL": null, + "loginURL": null, + "accountId": "yyyyyyyyyyyy" + }, + "highlight": true, + "existing": false, + "properties": { + "accountId": "yyyyyyyyyyyy", + "arn": "arn:aws:rds:eu-west-1:yyyyyyyyyyyy:cluster:testdbcluster", + "availabilityZone": "Multiple Availability Zones", + "awsRegion": "eu-west-1", + "configuration": "{}", + "configurationItemCaptureTime": "2023-05-20T01:54:04.280Z", + "configurationItemStatus": "OK", + "configurationStateId": null, + "resourceCreationTime": "2022-10-07T17:55:06.860Z", + "resourceId": "cluster-AAAAAAAAAAAAAAA", + "resourceName": "testdbcluster", + "resourceType": "AWS::RDS::DBCluster", + "supplementaryConfiguration": null, + "tags": "{}", + "version": "1.3", + "vpcId": null, + "subnetId": null, + "subnetIds": null, + "resourceValue": null, + "state": null, + "private": null, + "loggedInURL": null, + "loginURL": null, + "title": "test-db-Cluster", + "dBInstanceStatus": null, + "statement": null, + "instanceType": null + } + }, + "classes": ["resource", "highlight", "image", "selectable", "hoverover"] }, - "classes": [ - "resource", - "highlight", - "image", - "selectable", - "hoverover" - ] - }, - { - "group": "nodes", - "data": { - "arn": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag=lambdaValue", - "resourceId": [ - "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag=lambdaValue", - "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag=lambdaValue" - ], - "parent": "Tag-yyyyyyyyyyyy-global", - "id": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag=lambdaValue", - "title": "lambdaTag=lambdaValue", - "label": "lambdaTag=la...", - "shape": "image", - "type": "resource", - "accountColour": "rgba(234, 220, 23, 0.5)", - "regionColour": "rgba(175, 17, 83, 0.5)", - "color": "#fff", - "borderStyle": "solid", - "borderColour": "#545B64", - "borderOpacity": 0.25, - "borderSize": 1, - "opacity": "0", - "clickedId": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag=lambdaValue", - "image": "/icons/AWS-Tags-bg.svg", - "cost": 0, - "private": null, - "resource": { - "id": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag=lambdaValue", - "name": "lambda:createdBy=SAM", - "value": null, - "type": "AWS::Tags::Tag", - "tags": "[]", - "arn": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag=lambdaValue", - "region": "global", - "state": null, - "loggedInURL": null, - "loginURL": null, - "accountId": "yyyyyyyyyyyy" - }, - "highlight": true, - "existing": false, - "properties": { - "accountId": "yyyyyyyyyyyy", - "arn": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag=lambdaValue", - "availabilityZone": "Not Applicable", - "awsRegion": "global", - "configuration": "\"{}\"", - "configurationItemCaptureTime": null, - "configurationItemStatus": "ResourceDiscovered", - "configurationStateId": null, - "resourceCreationTime": null, - "resourceId": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag=lambdaValue", - "resourceName": "lambda:createdBy=SAM", - "resourceType": "AWS::Tags::Tag", - "supplementaryConfiguration": null, - "tags": "[]", - "version": null, - "vpcId": null, - "subnetId": null, - "subnetIds": null, - "resourceValue": null, - "state": null, - "private": null, - "loggedInURL": null, - "loginURL": null, - "title": "lambdaTag=lambdaValue", - "dBInstanceStatus": null, - "statement": null, - "instanceType": null - } + { + "group": "nodes", + "data": { + "arn": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag=lambdaValue", + "resourceId": [ + "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag=lambdaValue", + "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag=lambdaValue" + ], + "parent": "Tag-yyyyyyyyyyyy-global", + "id": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag=lambdaValue", + "title": "lambdaTag=lambdaValue", + "label": "lambdaTag=la...", + "shape": "image", + "type": "resource", + "accountColour": "rgba(234, 220, 23, 0.5)", + "regionColour": "rgba(175, 17, 83, 0.5)", + "color": "#fff", + "borderStyle": "solid", + "borderColour": "#545B64", + "borderOpacity": 0.25, + "borderSize": 1, + "opacity": "0", + "clickedId": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag=lambdaValue", + "image": "/icons/AWS-Tags-bg.svg", + "cost": 0, + "private": null, + "resource": { + "id": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag=lambdaValue", + "name": "lambda:createdBy=SAM", + "value": null, + "type": "AWS::Tags::Tag", + "tags": "[]", + "arn": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag=lambdaValue", + "region": "global", + "state": null, + "loggedInURL": null, + "loginURL": null, + "accountId": "yyyyyyyyyyyy" + }, + "highlight": true, + "existing": false, + "properties": { + "accountId": "yyyyyyyyyyyy", + "arn": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag=lambdaValue", + "availabilityZone": "Not Applicable", + "awsRegion": "global", + "configuration": "\"{}\"", + "configurationItemCaptureTime": null, + "configurationItemStatus": "ResourceDiscovered", + "configurationStateId": null, + "resourceCreationTime": null, + "resourceId": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag=lambdaValue", + "resourceName": "lambda:createdBy=SAM", + "resourceType": "AWS::Tags::Tag", + "supplementaryConfiguration": null, + "tags": "[]", + "version": null, + "vpcId": null, + "subnetId": null, + "subnetIds": null, + "resourceValue": null, + "state": null, + "private": null, + "loggedInURL": null, + "loginURL": null, + "title": "lambdaTag=lambdaValue", + "dBInstanceStatus": null, + "statement": null, + "instanceType": null + } + }, + "classes": ["resource", "highlight", "image", "selectable", "hoverover"] }, - "classes": [ - "resource", - "highlight", - "image", - "selectable", - "hoverover" - ] - }, - { - "group": "nodes", - "data": { - "arn": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag1=lambdaValue1", - "resourceId": [ - "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag1=lambdaValue1", - "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag1=lambdaValue1" - ], - "parent": "Tag-yyyyyyyyyyyy-global", - "id": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag1=lambdaValue1", - "title": "lambdaTag1=lambdaValue1", - "label": "lambdaTag1=l...", - "shape": "image", - "type": "resource", - "accountColour": "rgba(234, 220, 23, 0.5)", - "regionColour": "rgba(175, 17, 83, 0.5)", - "color": "#fff", - "borderStyle": "solid", - "borderColour": "#545B64", - "borderOpacity": 0.25, - "borderSize": 1, - "opacity": "0", - "clickedId": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag1=lambdaValue1", - "image": "/icons/AWS-Tags-bg.svg", - "cost": 0, - "private": null, - "resource": { - "id": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag1=lambdaValue1", - "name": "lambda:createdBy=SAM", - "value": null, - "type": "AWS::Tags::Tag", - "tags": "[]", - "arn": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag1=lambdaValue1", - "region": "global", - "state": null, - "loggedInURL": null, - "loginURL": null, - "accountId": "yyyyyyyyyyyy" - }, - "highlight": true, - "existing": false, - "properties": { - "accountId": "yyyyyyyyyyyy", - "arn": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag1=lambdaValue1", - "availabilityZone": "Not Applicable", - "awsRegion": "global", - "configuration": "\"{}\"", - "configurationItemCaptureTime": null, - "configurationItemStatus": "ResourceDiscovered", - "configurationStateId": null, - "resourceCreationTime": null, - "resourceId": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag1=lambdaValue1", - "resourceName": "lambda:createdBy=SAM", - "resourceType": "AWS::Tags::Tag", - "supplementaryConfiguration": null, - "tags": "[]", - "version": null, - "vpcId": null, - "subnetId": null, - "subnetIds": null, - "resourceValue": null, - "state": null, - "private": null, - "loggedInURL": null, - "loginURL": null, - "title": "lambdaTag1=lambdaValue1", - "dBInstanceStatus": null, - "statement": null, - "instanceType": null - } + { + "group": "nodes", + "data": { + "arn": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag1=lambdaValue1", + "resourceId": [ + "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag1=lambdaValue1", + "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag1=lambdaValue1" + ], + "parent": "Tag-yyyyyyyyyyyy-global", + "id": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag1=lambdaValue1", + "title": "lambdaTag1=lambdaValue1", + "label": "lambdaTag1=l...", + "shape": "image", + "type": "resource", + "accountColour": "rgba(234, 220, 23, 0.5)", + "regionColour": "rgba(175, 17, 83, 0.5)", + "color": "#fff", + "borderStyle": "solid", + "borderColour": "#545B64", + "borderOpacity": 0.25, + "borderSize": 1, + "opacity": "0", + "clickedId": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag1=lambdaValue1", + "image": "/icons/AWS-Tags-bg.svg", + "cost": 0, + "private": null, + "resource": { + "id": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag1=lambdaValue1", + "name": "lambda:createdBy=SAM", + "value": null, + "type": "AWS::Tags::Tag", + "tags": "[]", + "arn": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag1=lambdaValue1", + "region": "global", + "state": null, + "loggedInURL": null, + "loginURL": null, + "accountId": "yyyyyyyyyyyy" + }, + "highlight": true, + "existing": false, + "properties": { + "accountId": "yyyyyyyyyyyy", + "arn": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag1=lambdaValue1", + "availabilityZone": "Not Applicable", + "awsRegion": "global", + "configuration": "\"{}\"", + "configurationItemCaptureTime": null, + "configurationItemStatus": "ResourceDiscovered", + "configurationStateId": null, + "resourceCreationTime": null, + "resourceId": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag1=lambdaValue1", + "resourceName": "lambda:createdBy=SAM", + "resourceType": "AWS::Tags::Tag", + "supplementaryConfiguration": null, + "tags": "[]", + "version": null, + "vpcId": null, + "subnetId": null, + "subnetIds": null, + "resourceValue": null, + "state": null, + "private": null, + "loggedInURL": null, + "loginURL": null, + "title": "lambdaTag1=lambdaValue1", + "dBInstanceStatus": null, + "statement": null, + "instanceType": null + } + }, + "classes": ["resource", "highlight", "image", "selectable", "hoverover"] }, - "classes": [ - "resource", - "highlight", - "image", - "selectable", - "hoverover" - ] - }, - { - "group": "nodes", - "data": { - "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-11111111111111111", - "resourceId": [ - "eni-11111111111111111", - "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-11111111111111111" - ], - "parent": "NetworkInterface-arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-11111111111111111", - "id": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-11111111111111111", - "title": "eni-11111111111111111", - "label": "eni-11111111...", - "shape": "image", - "type": "resource", - "accountColour": "rgba(234, 220, 23, 0.5)", - "regionColour": "rgba(79, 16, 163, 0.5)", - "color": "#fff", - "borderStyle": "solid", - "borderColour": "#545B64", - "borderOpacity": 0.25, - "borderSize": 1, - "opacity": "0", - "clickedId": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-11111111111111111", - "image": "/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg", - "cost": 0, - "private": null, - "resource": { - "id": "eni-11111111111111111", - "name": null, - "value": null, - "type": "AWS::EC2::NetworkInterface", - "tags": "[]", - "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-11111111111111111", - "region": "eu-west-1", - "state": null, - "loggedInURL": "https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description", - "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description", - "accountId": "yyyyyyyyyyyy" - }, - "highlight": true, - "existing": false, - "properties": { - "accountId": "yyyyyyyyyyyy", - "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-11111111111111111", - "availabilityZone": "eu-west-1b", - "awsRegion": "eu-west-1", - "configuration": "{}", - "configurationItemCaptureTime": "2022-10-07T18:06:51.149Z", - "configurationItemStatus": "ResourceDiscovered", - "configurationStateId": null, - "resourceCreationTime": null, - "resourceId": "eni-11111111111111111", - "resourceName": null, - "resourceType": "AWS::EC2::NetworkInterface", - "supplementaryConfiguration": null, - "tags": "[]", - "version": "1.3", - "vpcId": "vpc-11111111111111111", - "subnetId": "subnet-11111111111111111", - "subnetIds": null, - "resourceValue": null, - "state": null, - "private": null, - "loggedInURL": "https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description", - "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description", - "title": "eni-11111111111111111", - "dBInstanceStatus": null, - "statement": null, - "instanceType": null - } + { + "group": "nodes", + "data": { + "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-11111111111111111", + "resourceId": [ + "eni-11111111111111111", + "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-11111111111111111" + ], + "parent": "NetworkInterface-arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-11111111111111111", + "id": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-11111111111111111", + "title": "eni-11111111111111111", + "label": "eni-11111111...", + "shape": "image", + "type": "resource", + "accountColour": "rgba(234, 220, 23, 0.5)", + "regionColour": "rgba(79, 16, 163, 0.5)", + "color": "#fff", + "borderStyle": "solid", + "borderColour": "#545B64", + "borderOpacity": 0.25, + "borderSize": 1, + "opacity": "0", + "clickedId": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-11111111111111111", + "image": "/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg", + "cost": 0, + "private": null, + "resource": { + "id": "eni-11111111111111111", + "name": null, + "value": null, + "type": "AWS::EC2::NetworkInterface", + "tags": "[]", + "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-11111111111111111", + "region": "eu-west-1", + "state": null, + "loggedInURL": "https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description", + "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description", + "accountId": "yyyyyyyyyyyy" + }, + "highlight": true, + "existing": false, + "properties": { + "accountId": "yyyyyyyyyyyy", + "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-11111111111111111", + "availabilityZone": "eu-west-1b", + "awsRegion": "eu-west-1", + "configuration": "{}", + "configurationItemCaptureTime": "2022-10-07T18:06:51.149Z", + "configurationItemStatus": "ResourceDiscovered", + "configurationStateId": null, + "resourceCreationTime": null, + "resourceId": "eni-11111111111111111", + "resourceName": null, + "resourceType": "AWS::EC2::NetworkInterface", + "supplementaryConfiguration": null, + "tags": "[]", + "version": "1.3", + "vpcId": "vpc-11111111111111111", + "subnetId": "subnet-11111111111111111", + "subnetIds": null, + "resourceValue": null, + "state": null, + "private": null, + "loggedInURL": "https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description", + "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description", + "title": "eni-11111111111111111", + "dBInstanceStatus": null, + "statement": null, + "instanceType": null + } + }, + "classes": ["resource", "highlight", "image", "selectable", "hoverover"] }, - "classes": [ - "resource", - "highlight", - "image", - "selectable", - "hoverover" - ] - }, - { - "group": "nodes", - "data": { - "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-22222222222222222", - "resourceId": [ - "eni-22222222222222222", - "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-22222222222222222" - ], - "parent": "NetworkInterface-arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-22222222222222222", - "id": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-22222222222222222", - "title": "eni-22222222222222222", - "label": "eni-22222222...", - "shape": "image", - "type": "resource", - "accountColour": "rgba(234, 220, 23, 0.5)", - "regionColour": "rgba(79, 16, 163, 0.5)", - "color": "#fff", - "borderStyle": "solid", - "borderColour": "#545B64", - "borderOpacity": 0.25, - "borderSize": 1, - "opacity": "0", - "clickedId": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-22222222222222222", - "image": "/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg", - "cost": 0, - "private": null, - "resource": { - "id": "eni-22222222222222222", - "name": null, - "value": null, - "type": "AWS::EC2::NetworkInterface", - "tags": "[]", - "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-22222222222222222", - "region": "eu-west-1", - "state": null, - "loggedInURL": "https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description", - "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description", - "accountId": "yyyyyyyyyyyy" - }, - "highlight": true, - "existing": false, - "properties": { - "accountId": "yyyyyyyyyyyy", - "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-22222222222222222", - "availabilityZone": "eu-west-1a", - "awsRegion": "eu-west-1", - "configuration": "{}", - "configurationItemCaptureTime": "2022-10-07T18:06:51.149Z", - "configurationItemStatus": "ResourceDiscovered", - "configurationStateId": null, - "resourceCreationTime": null, - "resourceId": "eni-22222222222222222", - "resourceName": null, - "resourceType": "AWS::EC2::NetworkInterface", - "supplementaryConfiguration": null, - "tags": "[]", - "version": "1.3", - "vpcId": "vpc-11111111111111111", - "subnetId": "subnet-22222222222222222", - "subnetIds": null, - "resourceValue": null, - "state": null, - "private": null, - "loggedInURL": "https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description", - "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description", - "title": "eni-22222222222222222", - "dBInstanceStatus": null, - "statement": null, - "instanceType": null - } + { + "group": "nodes", + "data": { + "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-22222222222222222", + "resourceId": [ + "eni-22222222222222222", + "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-22222222222222222" + ], + "parent": "NetworkInterface-arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-22222222222222222", + "id": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-22222222222222222", + "title": "eni-22222222222222222", + "label": "eni-22222222...", + "shape": "image", + "type": "resource", + "accountColour": "rgba(234, 220, 23, 0.5)", + "regionColour": "rgba(79, 16, 163, 0.5)", + "color": "#fff", + "borderStyle": "solid", + "borderColour": "#545B64", + "borderOpacity": 0.25, + "borderSize": 1, + "opacity": "0", + "clickedId": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-22222222222222222", + "image": "/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg", + "cost": 0, + "private": null, + "resource": { + "id": "eni-22222222222222222", + "name": null, + "value": null, + "type": "AWS::EC2::NetworkInterface", + "tags": "[]", + "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-22222222222222222", + "region": "eu-west-1", + "state": null, + "loggedInURL": "https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description", + "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description", + "accountId": "yyyyyyyyyyyy" + }, + "highlight": true, + "existing": false, + "properties": { + "accountId": "yyyyyyyyyyyy", + "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-22222222222222222", + "availabilityZone": "eu-west-1a", + "awsRegion": "eu-west-1", + "configuration": "{}", + "configurationItemCaptureTime": "2022-10-07T18:06:51.149Z", + "configurationItemStatus": "ResourceDiscovered", + "configurationStateId": null, + "resourceCreationTime": null, + "resourceId": "eni-22222222222222222", + "resourceName": null, + "resourceType": "AWS::EC2::NetworkInterface", + "supplementaryConfiguration": null, + "tags": "[]", + "version": "1.3", + "vpcId": "vpc-11111111111111111", + "subnetId": "subnet-22222222222222222", + "subnetIds": null, + "resourceValue": null, + "state": null, + "private": null, + "loggedInURL": "https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description", + "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description", + "title": "eni-22222222222222222", + "dBInstanceStatus": null, + "statement": null, + "instanceType": null + } + }, + "classes": ["resource", "highlight", "image", "selectable", "hoverover"] }, - "classes": [ - "resource", - "highlight", - "image", - "selectable", - "hoverover" - ] - }, - { - "group": "nodes", - "data": { - "arn": "arn:aws:iam::yyyyyyyyyyyy:role/testpolicy/inlinePolicy/testRole", - "resourceId": [ - "arn:aws:iam::yyyyyyyyyyyy:role/testpolicy/inlinePolicy/testRole", - "arn:aws:iam::yyyyyyyyyyyy:role/testpolicy/inlinePolicy/testRole" - ], - "parent": "InlinePolicy-yyyyyyyyyyyy-global", - "id": "arn:aws:iam::yyyyyyyyyyyy:role/testpolicy/inlinePolicy/testRole", - "title": "arn:aws:iam::yyyyyyyyyyyy:role/testpolicy/inlinePolicy/testRole", - "label": "arn:aws:iam:...", - "shape": "image", - "type": "resource", - "accountColour": "rgba(234, 220, 23, 0.5)", - "regionColour": "rgba(175, 17, 83, 0.5)", - "color": "#fff", - "borderStyle": "solid", - "borderColour": "#545B64", - "borderOpacity": 0.25, - "borderSize": 1, - "opacity": "0", - "clickedId": "arn:aws:iam::yyyyyyyyyyyy:role/testpolicy/inlinePolicy/testRole", - "image": "/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg", - "cost": 0, - "private": null, - "resource": { - "id": "arn:aws:iam::yyyyyyyyyyyy:role/testpolicy/inlinePolicy/testRole", - "name": "arn:aws:iam::yyyyyyyyyyyy:role/testpolicy/inlinePolicy/testRole", - "value": null, - "type": "AWS::IAM::InlinePolicy", - "tags": "[]", - "arn": "arn:aws:iam::yyyyyyyyyyyy:role/testpolicy/inlinePolicy/testRole", - "region": "global", - "state": null, - "loggedInURL": null, - "loginURL": null, - "accountId": "yyyyyyyyyyyy" - }, - "highlight": true, - "existing": false, - "properties": { - "accountId": "yyyyyyyyyyyy", - "arn": "arn:aws:iam::yyyyyyyyyyyy:role/testpolicy/inlinePolicy/testRole", - "availabilityZone": "Not Applicable", - "awsRegion": "global", - "configuration": "{}", - "configurationItemCaptureTime": null, - "configurationItemStatus": "ResourceDiscovered", - "configurationStateId": null, - "resourceCreationTime": null, - "resourceId": "arn:aws:iam::yyyyyyyyyyyy:role/testpolicy/inlinePolicy/testRole", - "resourceName": "arn:aws:iam::yyyyyyyyyyyy:role/testpolicy/inlinePolicy/testRole", - "resourceType": "AWS::IAM::InlinePolicy", - "supplementaryConfiguration": null, - "tags": "[]", - "version": null, - "vpcId": null, - "subnetId": null, - "subnetIds": null, - "resourceValue": null, - "state": null, - "private": null, - "loggedInURL": null, - "loginURL": null, - "title": "arn:aws:iam::yyyyyyyyyyyy:role/testpolicy/inlinePolicy/testRole", - "dBInstanceStatus": null, - "statement": null, - "instanceType": null - } + { + "group": "nodes", + "data": { + "arn": "arn:aws:iam::yyyyyyyyyyyy:role/testpolicy/inlinePolicy/testRole", + "resourceId": [ + "arn:aws:iam::yyyyyyyyyyyy:role/testpolicy/inlinePolicy/testRole", + "arn:aws:iam::yyyyyyyyyyyy:role/testpolicy/inlinePolicy/testRole" + ], + "parent": "InlinePolicy-yyyyyyyyyyyy-global", + "id": "arn:aws:iam::yyyyyyyyyyyy:role/testpolicy/inlinePolicy/testRole", + "title": "arn:aws:iam::yyyyyyyyyyyy:role/testpolicy/inlinePolicy/testRole", + "label": "arn:aws:iam:...", + "shape": "image", + "type": "resource", + "accountColour": "rgba(234, 220, 23, 0.5)", + "regionColour": "rgba(175, 17, 83, 0.5)", + "color": "#fff", + "borderStyle": "solid", + "borderColour": "#545B64", + "borderOpacity": 0.25, + "borderSize": 1, + "opacity": "0", + "clickedId": "arn:aws:iam::yyyyyyyyyyyy:role/testpolicy/inlinePolicy/testRole", + "image": "/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg", + "cost": 0, + "private": null, + "resource": { + "id": "arn:aws:iam::yyyyyyyyyyyy:role/testpolicy/inlinePolicy/testRole", + "name": "arn:aws:iam::yyyyyyyyyyyy:role/testpolicy/inlinePolicy/testRole", + "value": null, + "type": "AWS::IAM::InlinePolicy", + "tags": "[]", + "arn": "arn:aws:iam::yyyyyyyyyyyy:role/testpolicy/inlinePolicy/testRole", + "region": "global", + "state": null, + "loggedInURL": null, + "loginURL": null, + "accountId": "yyyyyyyyyyyy" + }, + "highlight": true, + "existing": false, + "properties": { + "accountId": "yyyyyyyyyyyy", + "arn": "arn:aws:iam::yyyyyyyyyyyy:role/testpolicy/inlinePolicy/testRole", + "availabilityZone": "Not Applicable", + "awsRegion": "global", + "configuration": "{}", + "configurationItemCaptureTime": null, + "configurationItemStatus": "ResourceDiscovered", + "configurationStateId": null, + "resourceCreationTime": null, + "resourceId": "arn:aws:iam::yyyyyyyyyyyy:role/testpolicy/inlinePolicy/testRole", + "resourceName": "arn:aws:iam::yyyyyyyyyyyy:role/testpolicy/inlinePolicy/testRole", + "resourceType": "AWS::IAM::InlinePolicy", + "supplementaryConfiguration": null, + "tags": "[]", + "version": null, + "vpcId": null, + "subnetId": null, + "subnetIds": null, + "resourceValue": null, + "state": null, + "private": null, + "loggedInURL": null, + "loginURL": null, + "title": "arn:aws:iam::yyyyyyyyyyyy:role/testpolicy/inlinePolicy/testRole", + "dBInstanceStatus": null, + "statement": null, + "instanceType": null + } + }, + "classes": ["resource", "highlight", "image", "selectable", "hoverover"] }, - "classes": [ - "resource", - "highlight", - "image", - "selectable", - "hoverover" - ] - }, - { - "group": "edges", - "data": { - "id": "08c1d9d4-a220-1e6a-9adf-376b661dabf3", - "source": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", - "target": "arn:aws:iam::yyyyyyyyyyyy:role/testRole" - } - }, - { - "group": "edges", - "data": { - "id": "7cc1d9d4-a220-af84-968d-4a72d7de7804", - "source": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", - "target": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:security-group/sg-111111111111111" - } - }, - { - "group": "edges", - "data": { - "id": "6ec2643b-9e71-c172-0d48-2f9dfc2244f2", - "source": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", - "target": "arn:aws:rds:eu-west-1:yyyyyyyyyyyy:cluster:testdbcluster" - } - }, - { - "group": "edges", - "data": { - "id": "aec1d9d4-a664-a730-ac64-74544f0c6462", - "source": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag=lambdaValue", - "target": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda" - } - }, - { - "group": "edges", - "data": { - "id": "04c1d9d4-a634-d15c-be56-cc9ca0f703d5", - "source": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag1=lambdaValue1", - "target": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda" - } - }, - { - "group": "edges", - "data": { - "id": "36c1d9d4-9f02-c839-abb1-4fb3a583e1eb", - "source": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-11111111111111111", - "target": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda" - } - }, - { - "group": "edges", - "data": { - "id": "3ec1d9d4-9f42-3a9e-5236-78c65ed1bb70", - "source": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-22222222222222222", - "target": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda" - } - }, - { - "group": "edges", - "data": { - "id": "5ac1d9d4-a3e8-5f80-7b12-f16f31d062d6", - "source": "arn:aws:iam::yyyyyyyyyyyy:role/testpolicy/inlinePolicy/testRole", - "target": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda" + { + "group": "edges", + "data": { + "id": "08c1d9d4-a220-1e6a-9adf-376b661dabf3", + "source": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", + "target": "arn:aws:iam::yyyyyyyyyyyy:role/testRole" + } + }, + { + "group": "edges", + "data": { + "id": "7cc1d9d4-a220-af84-968d-4a72d7de7804", + "source": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", + "target": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:security-group/sg-111111111111111" + } + }, + { + "group": "edges", + "data": { + "id": "6ec2643b-9e71-c172-0d48-2f9dfc2244f2", + "source": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", + "target": "arn:aws:rds:eu-west-1:yyyyyyyyyyyy:cluster:testdbcluster" + } + }, + { + "group": "edges", + "data": { + "id": "aec1d9d4-a664-a730-ac64-74544f0c6462", + "source": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag=lambdaValue", + "target": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda" + } + }, + { + "group": "edges", + "data": { + "id": "04c1d9d4-a634-d15c-be56-cc9ca0f703d5", + "source": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag1=lambdaValue1", + "target": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda" + } + }, + { + "group": "edges", + "data": { + "id": "36c1d9d4-9f02-c839-abb1-4fb3a583e1eb", + "source": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-11111111111111111", + "target": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda" + } + }, + { + "group": "edges", + "data": { + "id": "3ec1d9d4-9f42-3a9e-5236-78c65ed1bb70", + "source": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-22222222222222222", + "target": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda" + } + }, + { + "group": "edges", + "data": { + "id": "5ac1d9d4-a3e8-5f80-7b12-f16f31d062d6", + "source": "arn:aws:iam::yyyyyyyyyyyy:role/testpolicy/inlinePolicy/testRole", + "target": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda" + } } - } ] diff --git a/source/frontend/src/tests/vitest/API/fixtures/expected/singleAccountDuplicates.json b/source/frontend/src/tests/vitest/API/fixtures/expected/singleAccountDuplicates.json index f67601ec..646c06bd 100644 --- a/source/frontend/src/tests/vitest/API/fixtures/expected/singleAccountDuplicates.json +++ b/source/frontend/src/tests/vitest/API/fixtures/expected/singleAccountDuplicates.json @@ -1,1677 +1,1553 @@ [ - { - "group": "nodes", - "data": { - "id": "yyyyyyyyyyyy", - "title": "yyyyyyyyyyyy", - "label": "yyyyyyyyyyyy", - "plainLabel": "yyyyyyyyyyyy", - "type": "account", - "borderStyle": "solid", - "color": "#fff", - "borderColour": "#AAB7B8", - "opacity": "0", - "image": "/icons/AWS-Cloud-alt_light-bg.svg", - "clickedId": "yyyyyyyyyyyy", - "cost": 0, - "accountColour": "rgba(234, 220, 23, 0.5)", - "regionColour": "rgba(9, 86, 99, 0.5)", - "aZColour": "#00A1C9", - "subnetColour": "#248814" + { + "group": "nodes", + "data": { + "id": "yyyyyyyyyyyy", + "title": "yyyyyyyyyyyy", + "label": "yyyyyyyyyyyy", + "plainLabel": "yyyyyyyyyyyy", + "type": "account", + "borderStyle": "solid", + "color": "#fff", + "borderColour": "#AAB7B8", + "opacity": "0", + "image": "/icons/AWS-Cloud-alt_light-bg.svg", + "clickedId": "yyyyyyyyyyyy", + "cost": 0, + "accountColour": "rgba(234, 220, 23, 0.5)", + "regionColour": "rgba(9, 86, 99, 0.5)", + "aZColour": "#00A1C9", + "subnetColour": "#248814" + }, + "classes": ["account", "removeAll"] }, - "classes": [ - "account", - "removeAll" - ] - }, - { - "group": "nodes", - "data": { - "id": "yyyyyyyyyyyy-eu-west-1", - "parent": "yyyyyyyyyyyy", - "title": "eu-west-1", - "label": "eu-west-1", - "plainLabel": "eu-west-1", - "type": "region", - "borderStyle": "solid", - "color": "#fff", - "borderColour": "#AAB7B8", - "opacity": "0", - "image": "/icons/Region_light-bg.svg", - "clickedId": "yyyyyyyyyyyy-eu-west-1", - "cost": 0, - "accountColour": "rgba(175, 17, 83, 0.5)", - "regionColour": "rgba(79, 16, 163, 0.5)", - "aZColour": "#00A1C9", - "subnetColour": "#248814" + { + "group": "nodes", + "data": { + "id": "yyyyyyyyyyyy-eu-west-1", + "parent": "yyyyyyyyyyyy", + "title": "eu-west-1", + "label": "eu-west-1", + "plainLabel": "eu-west-1", + "type": "region", + "borderStyle": "solid", + "color": "#fff", + "borderColour": "#AAB7B8", + "opacity": "0", + "image": "/icons/Region_light-bg.svg", + "clickedId": "yyyyyyyyyyyy-eu-west-1", + "cost": 0, + "accountColour": "rgba(175, 17, 83, 0.5)", + "regionColour": "rgba(79, 16, 163, 0.5)", + "aZColour": "#00A1C9", + "subnetColour": "#248814" + }, + "classes": ["region", "removeAll"] }, - "classes": [ - "region", - "removeAll" - ] - }, - { - "group": "nodes", - "data": { - "id": "yyyyyyyyyyyy-global", - "parent": "yyyyyyyyyyyy", - "title": "global", - "label": "global", - "plainLabel": "global", - "type": "region", - "borderStyle": "solid", - "color": "#fff", - "borderColour": "#AAB7B8", - "opacity": "0", - "image": "/icons/Region_light-bg.svg", - "clickedId": "yyyyyyyyyyyy-global", - "cost": 0, - "accountColour": "rgba(175, 17, 83, 0.5)", - "regionColour": "rgba(175, 17, 83, 0.5)", - "aZColour": "#00A1C9", - "subnetColour": "#248814" + { + "group": "nodes", + "data": { + "id": "yyyyyyyyyyyy-global", + "parent": "yyyyyyyyyyyy", + "title": "global", + "label": "global", + "plainLabel": "global", + "type": "region", + "borderStyle": "solid", + "color": "#fff", + "borderColour": "#AAB7B8", + "opacity": "0", + "image": "/icons/Region_light-bg.svg", + "clickedId": "yyyyyyyyyyyy-global", + "cost": 0, + "accountColour": "rgba(175, 17, 83, 0.5)", + "regionColour": "rgba(175, 17, 83, 0.5)", + "aZColour": "#00A1C9", + "subnetColour": "#248814" + }, + "classes": ["region", "removeAll"] }, - "classes": [ - "region", - "removeAll" - ] - }, - { - "group": "nodes", - "data": { - "id": "yyyyyyyyyyyy-eu-west-1-Multiple Availability Zones", - "parent": "yyyyyyyyyyyy-eu-west-1", - "title": "Multiple Availability Zones", - "label": "Multiple Availability Zones", - "plainLabel": "Multiple Availability Zones", - "type": "availabilityZone", - "borderStyle": "solid", - "color": "#fff", - "borderColour": "#AAB7B8", - "opacity": "0", - "image": "/icons/availabilityZone.svg", - "clickedId": "yyyyyyyyyyyy-eu-west-1-Multiple Availability Zones", - "cost": 0, - "accountColour": "rgba(175, 17, 83, 0.5)", - "regionColour": "rgba(9, 86, 99, 0.5)", - "aZColour": "#00A1C9", - "subnetColour": "#248814" + { + "group": "nodes", + "data": { + "id": "yyyyyyyyyyyy-eu-west-1-Multiple Availability Zones", + "parent": "yyyyyyyyyyyy-eu-west-1", + "title": "Multiple Availability Zones", + "label": "Multiple Availability Zones", + "plainLabel": "Multiple Availability Zones", + "type": "availabilityZone", + "borderStyle": "solid", + "color": "#fff", + "borderColour": "#AAB7B8", + "opacity": "0", + "image": "/icons/availabilityZone.svg", + "clickedId": "yyyyyyyyyyyy-eu-west-1-Multiple Availability Zones", + "cost": 0, + "accountColour": "rgba(175, 17, 83, 0.5)", + "regionColour": "rgba(9, 86, 99, 0.5)", + "aZColour": "#00A1C9", + "subnetColour": "#248814" + }, + "classes": ["availabilityZone", "removeAll"] }, - "classes": [ - "availabilityZone", - "removeAll" - ] - }, - { - "group": "nodes", - "data": { - "id": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-vpc/vpc-11111111111111111-eu-west-1a,eu-west-1b", - "parent": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-vpc/vpc-11111111111111111", - "title": "eu-west-1a,eu-west-1b", - "label": "eu-west-1a,eu-west-1b", - "plainLabel": "eu-west-1a,eu-west-1b", - "type": "availabilityZone", - "borderStyle": "solid", - "color": "#fff", - "borderColour": "#AAB7B8", - "opacity": "0", - "image": "/icons/availabilityZone.svg", - "clickedId": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-vpc/vpc-11111111111111111-eu-west-1a,eu-west-1b", - "cost": 0, - "accountColour": "rgba(175, 17, 83, 0.5)", - "regionColour": "rgba(9, 86, 99, 0.5)", - "aZColour": "#00A1C9", - "subnetColour": "#248814" + { + "group": "nodes", + "data": { + "id": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-vpc/vpc-11111111111111111-eu-west-1a,eu-west-1b", + "parent": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-vpc/vpc-11111111111111111", + "title": "eu-west-1a,eu-west-1b", + "label": "eu-west-1a,eu-west-1b", + "plainLabel": "eu-west-1a,eu-west-1b", + "type": "availabilityZone", + "borderStyle": "solid", + "color": "#fff", + "borderColour": "#AAB7B8", + "opacity": "0", + "image": "/icons/availabilityZone.svg", + "clickedId": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-vpc/vpc-11111111111111111-eu-west-1a,eu-west-1b", + "cost": 0, + "accountColour": "rgba(175, 17, 83, 0.5)", + "regionColour": "rgba(9, 86, 99, 0.5)", + "aZColour": "#00A1C9", + "subnetColour": "#248814" + }, + "classes": ["availabilityZone", "removeAll"] }, - "classes": [ - "availabilityZone", - "removeAll" - ] - }, - { - "group": "nodes", - "data": { - "id": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-vpc/vpc-11111111111111111", - "parent": "yyyyyyyyyyyy-eu-west-1", - "title": "vpc-11111111111111111", - "label": "vpc-11111111111111111", - "plainLabel": "vpc-11111111111111111", - "type": "vpc", - "borderStyle": "solid", - "color": "#fff", - "borderColour": "#AAB7B8", - "opacity": "0", - "image": "/icons/VPC-collapsed.svg", - "clickedId": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-vpc/vpc-11111111111111111", - "cost": 0, - "accountColour": "rgba(175, 17, 83, 0.5)", - "regionColour": "rgba(9, 86, 99, 0.5)", - "aZColour": "#00A1C9", - "subnetColour": "#248814", - "properties": { - "accountId": "yyyyyyyyyyyy", - "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:vpc/vpc-11111111111111111", - "availabilityZone": "Multiple Availability Zones", - "awsRegion": "eu-west-1", - "configuration": "{}", - "configurationItemCaptureTime": "2023-05-19T09:47:33.767Z", - "configurationItemStatus": "OK", - "configurationStateId": null, - "resourceCreationTime": null, - "resourceId": "vpc-11111111111111111", - "resourceName": null, - "resourceType": "AWS::EC2::VPC", - "supplementaryConfiguration": null, - "tags": "{}", - "version": "1.3", - "vpcId": null, - "subnetId": null, - "subnetIds": null, - "resourceValue": null, - "state": null, - "private": null, - "loggedInURL": "https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#vpcs:sort=VpcId", - "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/vpc?region=eu-west-1#vpcs:sort=VpcId", - "title": "vpc-11111111111111111", - "dBInstanceStatus": null, - "statement": null, - "instanceType": null - }, - "resource": { - "id": "vpc-11111111111111111", - "name": null, - "value": null, - "type": "AWS::EC2::VPC", - "tags": "{}", - "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:vpc/vpc-11111111111111111", - "region": "eu-west-1", - "state": null, - "loggedInURL": "https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#vpcs:sort=VpcId", - "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/vpc?region=eu-west-1#vpcs:sort=VpcId", - "accountId": "yyyyyyyyyyyy" - } + { + "group": "nodes", + "data": { + "id": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-vpc/vpc-11111111111111111", + "parent": "yyyyyyyyyyyy-eu-west-1", + "title": "vpc-11111111111111111", + "label": "vpc-11111111111111111", + "plainLabel": "vpc-11111111111111111", + "type": "vpc", + "borderStyle": "solid", + "color": "#fff", + "borderColour": "#AAB7B8", + "opacity": "0", + "image": "/icons/VPC-collapsed.svg", + "clickedId": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-vpc/vpc-11111111111111111", + "cost": 0, + "accountColour": "rgba(175, 17, 83, 0.5)", + "regionColour": "rgba(9, 86, 99, 0.5)", + "aZColour": "#00A1C9", + "subnetColour": "#248814", + "properties": { + "accountId": "yyyyyyyyyyyy", + "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:vpc/vpc-11111111111111111", + "availabilityZone": "Multiple Availability Zones", + "awsRegion": "eu-west-1", + "configuration": "{}", + "configurationItemCaptureTime": "2023-05-19T09:47:33.767Z", + "configurationItemStatus": "OK", + "configurationStateId": null, + "resourceCreationTime": null, + "resourceId": "vpc-11111111111111111", + "resourceName": null, + "resourceType": "AWS::EC2::VPC", + "supplementaryConfiguration": null, + "tags": "{}", + "version": "1.3", + "vpcId": null, + "subnetId": null, + "subnetIds": null, + "resourceValue": null, + "state": null, + "private": null, + "loggedInURL": "https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#vpcs:sort=VpcId", + "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/vpc?region=eu-west-1#vpcs:sort=VpcId", + "title": "vpc-11111111111111111", + "dBInstanceStatus": null, + "statement": null, + "instanceType": null + }, + "resource": { + "id": "vpc-11111111111111111", + "name": null, + "value": null, + "type": "AWS::EC2::VPC", + "tags": "{}", + "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:vpc/vpc-11111111111111111", + "region": "eu-west-1", + "state": null, + "loggedInURL": "https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#vpcs:sort=VpcId", + "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/vpc?region=eu-west-1#vpcs:sort=VpcId", + "accountId": "yyyyyyyyyyyy" + } + }, + "classes": ["vpc", "removeAll"] }, - "classes": [ - "vpc", - "removeAll" - ] - }, - { - "group": "nodes", - "data": { - "id": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-11111111111111111-eu-west-1b", - "parent": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-vpc/vpc-11111111111111111", - "title": "eu-west-1b", - "label": "eu-west-1b", - "plainLabel": "eu-west-1b", - "type": "availabilityZone", - "borderStyle": "solid", - "color": "#fff", - "borderColour": "#AAB7B8", - "opacity": "0", - "image": "/icons/availabilityZone.svg", - "clickedId": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-11111111111111111-eu-west-1b", - "cost": 0, - "accountColour": "rgba(175, 17, 83, 0.5)", - "regionColour": "rgba(9, 86, 99, 0.5)", - "aZColour": "#00A1C9", - "subnetColour": "#147eba" + { + "group": "nodes", + "data": { + "id": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-11111111111111111-eu-west-1b", + "parent": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-vpc/vpc-11111111111111111", + "title": "eu-west-1b", + "label": "eu-west-1b", + "plainLabel": "eu-west-1b", + "type": "availabilityZone", + "borderStyle": "solid", + "color": "#fff", + "borderColour": "#AAB7B8", + "opacity": "0", + "image": "/icons/availabilityZone.svg", + "clickedId": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-11111111111111111-eu-west-1b", + "cost": 0, + "accountColour": "rgba(175, 17, 83, 0.5)", + "regionColour": "rgba(9, 86, 99, 0.5)", + "aZColour": "#00A1C9", + "subnetColour": "#147eba" + }, + "classes": ["availabilityZone", "removeAll"] }, - "classes": [ - "availabilityZone", - "removeAll" - ] - }, - { - "group": "nodes", - "data": { - "id": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-11111111111111111", - "parent": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-11111111111111111-eu-west-1b", - "title": "vpc-11111111111111111-private-b", - "label": "vpc-11111111111111111-private-b", - "plainLabel": "vpc-11111111111111111-private-b", - "type": "subnet", - "borderStyle": "solid", - "color": "#fff", - "borderColour": "#AAB7B8", - "opacity": "0", - "image": "/icons/VPC-subnet-private_light-bg-collapsed.svg", - "clickedId": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-11111111111111111", - "cost": 0, - "accountColour": "rgba(175, 17, 83, 0.5)", - "regionColour": "rgba(9, 86, 99, 0.5)", - "aZColour": "#00A1C9", - "subnetColour": "#147eba", - "properties": { - "accountId": "yyyyyyyyyyyy", - "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:subnet/subnet-11111111111111111", - "availabilityZone": "eu-west-1b", - "awsRegion": "eu-west-1", - "configuration": "{}", - "configurationItemCaptureTime": "2023-02-10T16:20:45.731Z", - "configurationItemStatus": "OK", - "configurationStateId": null, - "resourceCreationTime": null, - "resourceId": "subnet-11111111111111111", - "resourceName": null, - "resourceType": "AWS::EC2::Subnet", - "supplementaryConfiguration": null, - "tags": "{}", - "version": "1.3", - "vpcId": "vpc-11111111111111111", - "subnetId": "subnet-11111111111111111", - "subnetIds": null, - "resourceValue": null, - "state": null, - "private": "false", - "loggedInURL": "https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId", - "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId", - "title": "vpc-11111111111111111-private-b", - "dBInstanceStatus": null, - "statement": null, - "instanceType": null - }, - "resource": { - "id": "subnet-11111111111111111", - "name": null, - "value": null, - "type": "AWS::EC2::Subnet", - "tags": "{}", - "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:subnet/subnet-11111111111111111", - "region": "eu-west-1", - "state": null, - "loggedInURL": "https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId", - "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId", - "accountId": "yyyyyyyyyyyy" - } + { + "group": "nodes", + "data": { + "id": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-11111111111111111", + "parent": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-11111111111111111-eu-west-1b", + "title": "vpc-11111111111111111-private-b", + "label": "vpc-11111111111111111-private-b", + "plainLabel": "vpc-11111111111111111-private-b", + "type": "subnet", + "borderStyle": "solid", + "color": "#fff", + "borderColour": "#AAB7B8", + "opacity": "0", + "image": "/icons/VPC-subnet-private_light-bg-collapsed.svg", + "clickedId": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-11111111111111111", + "cost": 0, + "accountColour": "rgba(175, 17, 83, 0.5)", + "regionColour": "rgba(9, 86, 99, 0.5)", + "aZColour": "#00A1C9", + "subnetColour": "#147eba", + "properties": { + "accountId": "yyyyyyyyyyyy", + "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:subnet/subnet-11111111111111111", + "availabilityZone": "eu-west-1b", + "awsRegion": "eu-west-1", + "configuration": "{}", + "configurationItemCaptureTime": "2023-02-10T16:20:45.731Z", + "configurationItemStatus": "OK", + "configurationStateId": null, + "resourceCreationTime": null, + "resourceId": "subnet-11111111111111111", + "resourceName": null, + "resourceType": "AWS::EC2::Subnet", + "supplementaryConfiguration": null, + "tags": "{}", + "version": "1.3", + "vpcId": "vpc-11111111111111111", + "subnetId": "subnet-11111111111111111", + "subnetIds": null, + "resourceValue": null, + "state": null, + "private": "false", + "loggedInURL": "https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId", + "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId", + "title": "vpc-11111111111111111-private-b", + "dBInstanceStatus": null, + "statement": null, + "instanceType": null + }, + "resource": { + "id": "subnet-11111111111111111", + "name": null, + "value": null, + "type": "AWS::EC2::Subnet", + "tags": "{}", + "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:subnet/subnet-11111111111111111", + "region": "eu-west-1", + "state": null, + "loggedInURL": "https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId", + "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId", + "accountId": "yyyyyyyyyyyy" + } + }, + "classes": ["subnet", "removeAll"] }, - "classes": [ - "subnet", - "removeAll" - ] - }, - { - "group": "nodes", - "data": { - "id": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-22222222222222222-eu-west-1a", - "parent": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-vpc/vpc-11111111111111111", - "title": "eu-west-1a", - "label": "eu-west-1a", - "plainLabel": "eu-west-1a", - "type": "availabilityZone", - "borderStyle": "solid", - "color": "#fff", - "borderColour": "#AAB7B8", - "opacity": "0", - "image": "/icons/availabilityZone.svg", - "clickedId": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-22222222222222222-eu-west-1a", - "cost": 0, - "accountColour": "rgba(175, 17, 83, 0.5)", - "regionColour": "rgba(9, 86, 99, 0.5)", - "aZColour": "#00A1C9", - "subnetColour": "#147eba" + { + "group": "nodes", + "data": { + "id": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-22222222222222222-eu-west-1a", + "parent": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-vpc/vpc-11111111111111111", + "title": "eu-west-1a", + "label": "eu-west-1a", + "plainLabel": "eu-west-1a", + "type": "availabilityZone", + "borderStyle": "solid", + "color": "#fff", + "borderColour": "#AAB7B8", + "opacity": "0", + "image": "/icons/availabilityZone.svg", + "clickedId": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-22222222222222222-eu-west-1a", + "cost": 0, + "accountColour": "rgba(175, 17, 83, 0.5)", + "regionColour": "rgba(9, 86, 99, 0.5)", + "aZColour": "#00A1C9", + "subnetColour": "#147eba" + }, + "classes": ["availabilityZone", "removeAll"] }, - "classes": [ - "availabilityZone", - "removeAll" - ] - }, - { - "group": "nodes", - "data": { - "id": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-22222222222222222", - "parent": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-22222222222222222-eu-west-1a", - "title": "vpc-11111111111111111-private-a", - "label": "vpc-11111111111111111-private-a", - "plainLabel": "vpc-11111111111111111-private-a", - "type": "subnet", - "borderStyle": "solid", - "color": "#fff", - "borderColour": "#AAB7B8", - "opacity": "0", - "image": "/icons/VPC-subnet-private_light-bg-collapsed.svg", - "clickedId": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-22222222222222222", - "cost": 0, - "accountColour": "rgba(175, 17, 83, 0.5)", - "regionColour": "rgba(9, 86, 99, 0.5)", - "aZColour": "#00A1C9", - "subnetColour": "#147eba", - "properties": { - "accountId": "yyyyyyyyyyyy", - "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:subnet/subnet-22222222222222222", - "availabilityZone": "eu-west-1a", - "awsRegion": "eu-west-1", - "configuration": "{}", - "configurationItemCaptureTime": "2023-05-19T09:47:33.884Z", - "configurationItemStatus": "OK", - "configurationStateId": null, - "resourceCreationTime": null, - "resourceId": "subnet-22222222222222222", - "resourceName": null, - "resourceType": "AWS::EC2::Subnet", - "supplementaryConfiguration": null, - "tag": "{}", - "version": "1.3", - "vpcId": "vpc-11111111111111111", - "subnetId": "subnet-22222222222222222", - "subnetIds": null, - "resourceValue": null, - "state": null, - "private": "false", - "loggedInURL": "https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId", - "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId", - "title": "vpc-11111111111111111-private-a", - "dBInstanceStatus": null, - "statement": null, - "instanceType": null - }, - "resource": { - "id": "subnet-22222222222222222", - "name": null, - "value": null, - "type": "AWS::EC2::Subnet", - "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:subnet/subnet-22222222222222222", - "region": "eu-west-1", - "state": null, - "loggedInURL": "https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId", - "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId", - "accountId": "yyyyyyyyyyyy" - } + { + "group": "nodes", + "data": { + "id": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-22222222222222222", + "parent": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-22222222222222222-eu-west-1a", + "title": "vpc-11111111111111111-private-a", + "label": "vpc-11111111111111111-private-a", + "plainLabel": "vpc-11111111111111111-private-a", + "type": "subnet", + "borderStyle": "solid", + "color": "#fff", + "borderColour": "#AAB7B8", + "opacity": "0", + "image": "/icons/VPC-subnet-private_light-bg-collapsed.svg", + "clickedId": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-22222222222222222", + "cost": 0, + "accountColour": "rgba(175, 17, 83, 0.5)", + "regionColour": "rgba(9, 86, 99, 0.5)", + "aZColour": "#00A1C9", + "subnetColour": "#147eba", + "properties": { + "accountId": "yyyyyyyyyyyy", + "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:subnet/subnet-22222222222222222", + "availabilityZone": "eu-west-1a", + "awsRegion": "eu-west-1", + "configuration": "{}", + "configurationItemCaptureTime": "2023-05-19T09:47:33.884Z", + "configurationItemStatus": "OK", + "configurationStateId": null, + "resourceCreationTime": null, + "resourceId": "subnet-22222222222222222", + "resourceName": null, + "resourceType": "AWS::EC2::Subnet", + "supplementaryConfiguration": null, + "tag": "{}", + "version": "1.3", + "vpcId": "vpc-11111111111111111", + "subnetId": "subnet-22222222222222222", + "subnetIds": null, + "resourceValue": null, + "state": null, + "private": "false", + "loggedInURL": "https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId", + "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId", + "title": "vpc-11111111111111111-private-a", + "dBInstanceStatus": null, + "statement": null, + "instanceType": null + }, + "resource": { + "id": "subnet-22222222222222222", + "name": null, + "value": null, + "type": "AWS::EC2::Subnet", + "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:subnet/subnet-22222222222222222", + "region": "eu-west-1", + "state": null, + "loggedInURL": "https://eu-west-1.console.aws.amazon.com/vpc/v2/home?region=eu-west-1#subnets:sort=SubnetId", + "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/vpc?region=eu-west-1#subnets:sort=SubnetId", + "accountId": "yyyyyyyyyyyy" + } + }, + "classes": ["subnet", "removeAll"] }, - "classes": [ - "subnet", - "removeAll" - ] - }, - { - "group": "nodes", - "data": { - "id": "Function-arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-vpc/vpc-11111111111111111-eu-west-1a,eu-west-1b", - "parent": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-vpc/vpc-11111111111111111-eu-west-1a,eu-west-1b", - "title": "Function", - "label": "Function", - "plainLabel": "Function", - "type": "type", - "borderStyle": "solid", - "color": "#fff", - "borderColour": "#AAB7B8", - "opacity": "0", - "clickedId": "Function-arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-vpc/vpc-11111111111111111-eu-west-1a,eu-west-1b", - "cost": 0, - "accountColour": "rgba(175, 17, 83, 0.5)", - "regionColour": "rgba(9, 86, 99, 0.5)", - "aZColour": "#00A1C9", - "subnetColour": "#248814" + { + "group": "nodes", + "data": { + "id": "Function-arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-vpc/vpc-11111111111111111-eu-west-1a,eu-west-1b", + "parent": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-vpc/vpc-11111111111111111-eu-west-1a,eu-west-1b", + "title": "Function", + "label": "Function", + "plainLabel": "Function", + "type": "type", + "borderStyle": "solid", + "color": "#fff", + "borderColour": "#AAB7B8", + "opacity": "0", + "clickedId": "Function-arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-vpc/vpc-11111111111111111-eu-west-1a,eu-west-1b", + "cost": 0, + "accountColour": "rgba(175, 17, 83, 0.5)", + "regionColour": "rgba(9, 86, 99, 0.5)", + "aZColour": "#00A1C9", + "subnetColour": "#248814" + }, + "classes": ["type", "removeAll"] }, - "classes": [ - "type", - "removeAll" - ] - }, - { - "group": "nodes", - "data": { - "id": "Role-yyyyyyyyyyyy-global", - "parent": "yyyyyyyyyyyy-global", - "title": "Role", - "label": "Role", - "plainLabel": "Role", - "type": "type", - "borderStyle": "solid", - "color": "#fff", - "borderColour": "#AAB7B8", - "opacity": "0", - "clickedId": "Role-yyyyyyyyyyyy-global", - "cost": 0, - "accountColour": "rgba(175, 17, 83, 0.5)", - "regionColour": "rgba(9, 86, 99, 0.5)", - "aZColour": "#00A1C9", - "subnetColour": "#248814" + { + "group": "nodes", + "data": { + "id": "Role-yyyyyyyyyyyy-global", + "parent": "yyyyyyyyyyyy-global", + "title": "Role", + "label": "Role", + "plainLabel": "Role", + "type": "type", + "borderStyle": "solid", + "color": "#fff", + "borderColour": "#AAB7B8", + "opacity": "0", + "clickedId": "Role-yyyyyyyyyyyy-global", + "cost": 0, + "accountColour": "rgba(175, 17, 83, 0.5)", + "regionColour": "rgba(9, 86, 99, 0.5)", + "aZColour": "#00A1C9", + "subnetColour": "#248814" + }, + "classes": ["type", "removeAll"] }, - "classes": [ - "type", - "removeAll" - ] - }, - { - "group": "nodes", - "data": { - "id": "SecurityGroup-arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-vpc/vpc-11111111111111111", - "parent": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-vpc/vpc-11111111111111111", - "title": "SecurityGroup", - "label": "SecurityGroup", - "plainLabel": "SecurityGroup", - "type": "type", - "borderStyle": "solid", - "color": "#fff", - "borderColour": "#AAB7B8", - "opacity": "0", - "clickedId": "SecurityGroup-arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-vpc/vpc-11111111111111111", - "cost": 0, - "accountColour": "rgba(175, 17, 83, 0.5)", - "regionColour": "rgba(9, 86, 99, 0.5)", - "aZColour": "#00A1C9", - "subnetColour": "#248814" + { + "group": "nodes", + "data": { + "id": "SecurityGroup-arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-vpc/vpc-11111111111111111", + "parent": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-vpc/vpc-11111111111111111", + "title": "SecurityGroup", + "label": "SecurityGroup", + "plainLabel": "SecurityGroup", + "type": "type", + "borderStyle": "solid", + "color": "#fff", + "borderColour": "#AAB7B8", + "opacity": "0", + "clickedId": "SecurityGroup-arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-vpc/vpc-11111111111111111", + "cost": 0, + "accountColour": "rgba(175, 17, 83, 0.5)", + "regionColour": "rgba(9, 86, 99, 0.5)", + "aZColour": "#00A1C9", + "subnetColour": "#248814" + }, + "classes": ["type", "removeAll"] }, - "classes": [ - "type", - "removeAll" - ] - }, - { - "group": "nodes", - "data": { - "id": "DBCluster-yyyyyyyyyyyy-eu-west-1-Multiple Availability Zones", - "parent": "yyyyyyyyyyyy-eu-west-1-Multiple Availability Zones", - "title": "DBCluster", - "label": "DBCluster", - "plainLabel": "DBCluster", - "type": "type", - "borderStyle": "solid", - "color": "#fff", - "borderColour": "#AAB7B8", - "opacity": "0", - "clickedId": "DBCluster-yyyyyyyyyyyy-eu-west-1-Multiple Availability Zones", - "cost": 0, - "accountColour": "rgba(175, 17, 83, 0.5)", - "regionColour": "rgba(9, 86, 99, 0.5)", - "aZColour": "#00A1C9", - "subnetColour": "#248814" + { + "group": "nodes", + "data": { + "id": "DBCluster-yyyyyyyyyyyy-eu-west-1-Multiple Availability Zones", + "parent": "yyyyyyyyyyyy-eu-west-1-Multiple Availability Zones", + "title": "DBCluster", + "label": "DBCluster", + "plainLabel": "DBCluster", + "type": "type", + "borderStyle": "solid", + "color": "#fff", + "borderColour": "#AAB7B8", + "opacity": "0", + "clickedId": "DBCluster-yyyyyyyyyyyy-eu-west-1-Multiple Availability Zones", + "cost": 0, + "accountColour": "rgba(175, 17, 83, 0.5)", + "regionColour": "rgba(9, 86, 99, 0.5)", + "aZColour": "#00A1C9", + "subnetColour": "#248814" + }, + "classes": ["type", "removeAll"] }, - "classes": [ - "type", - "removeAll" - ] - }, - { - "group": "nodes", - "data": { - "id": "Tag-yyyyyyyyyyyy-global", - "parent": "yyyyyyyyyyyy-global", - "title": "Tag", - "label": "Tag", - "plainLabel": "Tag", - "type": "type", - "borderStyle": "solid", - "color": "#fff", - "borderColour": "#AAB7B8", - "opacity": "0", - "clickedId": "Tag-yyyyyyyyyyyy-global", - "cost": 0, - "accountColour": "rgba(175, 17, 83, 0.5)", - "regionColour": "rgba(9, 86, 99, 0.5)", - "aZColour": "#00A1C9", - "subnetColour": "#248814" + { + "group": "nodes", + "data": { + "id": "Tag-yyyyyyyyyyyy-global", + "parent": "yyyyyyyyyyyy-global", + "title": "Tag", + "label": "Tag", + "plainLabel": "Tag", + "type": "type", + "borderStyle": "solid", + "color": "#fff", + "borderColour": "#AAB7B8", + "opacity": "0", + "clickedId": "Tag-yyyyyyyyyyyy-global", + "cost": 0, + "accountColour": "rgba(175, 17, 83, 0.5)", + "regionColour": "rgba(9, 86, 99, 0.5)", + "aZColour": "#00A1C9", + "subnetColour": "#248814" + }, + "classes": ["type", "removeAll"] }, - "classes": [ - "type", - "removeAll" - ] - }, - { - "group": "nodes", - "data": { - "id": "NetworkInterface-arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-11111111111111111", - "parent": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-11111111111111111", - "title": "NetworkInterface", - "label": "NetworkInterface", - "plainLabel": "NetworkInterface", - "type": "type", - "borderStyle": "solid", - "color": "#fff", - "borderColour": "#AAB7B8", - "opacity": "0", - "clickedId": "NetworkInterface-arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-11111111111111111", - "cost": 0, - "accountColour": "rgba(175, 17, 83, 0.5)", - "regionColour": "rgba(9, 86, 99, 0.5)", - "aZColour": "#00A1C9", - "subnetColour": "#248814" + { + "group": "nodes", + "data": { + "id": "NetworkInterface-arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-11111111111111111", + "parent": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-11111111111111111", + "title": "NetworkInterface", + "label": "NetworkInterface", + "plainLabel": "NetworkInterface", + "type": "type", + "borderStyle": "solid", + "color": "#fff", + "borderColour": "#AAB7B8", + "opacity": "0", + "clickedId": "NetworkInterface-arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-11111111111111111", + "cost": 0, + "accountColour": "rgba(175, 17, 83, 0.5)", + "regionColour": "rgba(9, 86, 99, 0.5)", + "aZColour": "#00A1C9", + "subnetColour": "#248814" + }, + "classes": ["type", "removeAll"] }, - "classes": [ - "type", - "removeAll" - ] - }, - { - "group": "nodes", - "data": { - "id": "NetworkInterface-arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-22222222222222222", - "parent": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-22222222222222222", - "title": "NetworkInterface", - "label": "NetworkInterface", - "plainLabel": "NetworkInterface", - "type": "type", - "borderStyle": "solid", - "color": "#fff", - "borderColour": "#AAB7B8", - "opacity": "0", - "clickedId": "NetworkInterface-arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-22222222222222222", - "cost": 0, - "accountColour": "rgba(175, 17, 83, 0.5)", - "regionColour": "rgba(9, 86, 99, 0.5)", - "aZColour": "#00A1C9", - "subnetColour": "#248814" + { + "group": "nodes", + "data": { + "id": "NetworkInterface-arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-22222222222222222", + "parent": "arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-22222222222222222", + "title": "NetworkInterface", + "label": "NetworkInterface", + "plainLabel": "NetworkInterface", + "type": "type", + "borderStyle": "solid", + "color": "#fff", + "borderColour": "#AAB7B8", + "opacity": "0", + "clickedId": "NetworkInterface-arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-22222222222222222", + "cost": 0, + "accountColour": "rgba(175, 17, 83, 0.5)", + "regionColour": "rgba(9, 86, 99, 0.5)", + "aZColour": "#00A1C9", + "subnetColour": "#248814" + }, + "classes": ["type", "removeAll"] }, - "classes": [ - "type", - "removeAll" - ] - }, - { - "group": "nodes", - "data": { - "id": "InlinePolicy-yyyyyyyyyyyy-global", - "parent": "yyyyyyyyyyyy-global", - "title": "InlinePolicy", - "label": "InlinePolicy", - "plainLabel": "InlinePolicy", - "type": "type", - "borderStyle": "solid", - "color": "#fff", - "borderColour": "#AAB7B8", - "opacity": "0", - "clickedId": "InlinePolicy-yyyyyyyyyyyy-global", - "cost": 0, - "accountColour": "rgba(175, 17, 83, 0.5)", - "regionColour": "rgba(9, 86, 99, 0.5)", - "aZColour": "#00A1C9", - "subnetColour": "#248814" + { + "group": "nodes", + "data": { + "id": "InlinePolicy-yyyyyyyyyyyy-global", + "parent": "yyyyyyyyyyyy-global", + "title": "InlinePolicy", + "label": "InlinePolicy", + "plainLabel": "InlinePolicy", + "type": "type", + "borderStyle": "solid", + "color": "#fff", + "borderColour": "#AAB7B8", + "opacity": "0", + "clickedId": "InlinePolicy-yyyyyyyyyyyy-global", + "cost": 0, + "accountColour": "rgba(175, 17, 83, 0.5)", + "regionColour": "rgba(9, 86, 99, 0.5)", + "aZColour": "#00A1C9", + "subnetColour": "#248814" + }, + "classes": ["type", "removeAll"] }, - "classes": [ - "type", - "removeAll" - ] - }, - { - "group": "nodes", - "data": { - "arn": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", - "resourceId": [ - "testLambda", - "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda" - ], - "parent": "Function-arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-vpc/vpc-11111111111111111-eu-west-1a,eu-west-1b", - "id": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", - "title": "testLambda", - "label": "testLambda", - "shape": "image", - "type": "resource", - "accountColour": "rgba(234, 220, 23, 0.5)", - "regionColour": "rgba(79, 16, 163, 0.5)", - "color": "#1D8102", - "borderStyle": "dotted", - "borderColour": "#1D8102", - "borderOpacity": 0.25, - "borderSize": 1, - "opacity": "0", - "clickedId": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", - "state": { "status": "status-available", "text": "active", "color": "#1D8102" }, - "image": "/icons/AWS-Lambda.svg", - "cost": 0, - "private": null, - "resource": { - "id": "testLambda", - "name": "testLambda", - "value": null, - "type": "AWS::Lambda::Function", - "tags": "[{\"tag\":\"lambdaTag=lambdaValue\",\"value\":\"lambdaValue\",\"key\":\"lambdaTag\"}, {\"tag\":\"lambdaTag1=lambdaValue1\",\"value\":\"lambdaValue1\",\"key\":\"lambdaTag1\"}]", - "arn": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", - "region": "eu-west-1", - "state": null, - "loggedInURL": "https://eu-west-1.console.aws.amazon.com/lambda/home?region=eu-west-1#/functions/testLambda?tab=graph", - "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/lambda?region=eu-west-1#/functions/testLambda?tab=graph", - "accountId": "yyyyyyyyyyyy" - }, - "highlight": true, - "existing": false, - "properties": { - "accountId": "yyyyyyyyyyyy", - "arn": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", - "availabilityZone": "eu-west-1a,eu-west-1b", - "awsRegion": "eu-west-1", - "configuration": "{\"key\":\"prop\",\"key1\":\"prop1\",\"key2\":\"prop2\",\"state\":{\"value\":\"active\"}}", - "configurationItemCaptureTime": "2023-06-06T22:21:58.169Z", - "configurationItemStatus": "OK", - "configurationStateId": null, - "resourceCreationTime": null, - "resourceId": "testLambda", - "resourceName": "testLambda", - "resourceType": "AWS::Lambda::Function", - "tags": "[{\"tag\":\"lambdaTag=lambdaValue\",\"value\":\"lambdaValue\",\"key\":\"lambdaTag\"}, {\"tag\":\"lambdaTag1=lambdaValue1\",\"value\":\"lambdaValue1\",\"key\":\"lambdaTag1\"}]", - "version": "1.3", - "vpcId": "vpc-11111111111111111", - "subnetId": null, - "subnetIds": null, - "resourceValue": null, - "state": null, - "private": null, - "loggedInURL": "https://eu-west-1.console.aws.amazon.com/lambda/home?region=eu-west-1#/functions/testLambda?tab=graph", - "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/lambda?region=eu-west-1#/functions/testLambda?tab=graph", - "title": "testLambda", - "dBInstanceStatus": null, - "statement": null, - "instanceType": null - } + { + "group": "nodes", + "data": { + "arn": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", + "resourceId": [ + "testLambda", + "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda" + ], + "parent": "Function-arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-vpc/vpc-11111111111111111-eu-west-1a,eu-west-1b", + "id": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", + "title": "testLambda", + "label": "testLambda", + "shape": "image", + "type": "resource", + "accountColour": "rgba(234, 220, 23, 0.5)", + "regionColour": "rgba(79, 16, 163, 0.5)", + "color": "#1D8102", + "borderStyle": "dotted", + "borderColour": "#1D8102", + "borderOpacity": 0.25, + "borderSize": 1, + "opacity": "0", + "clickedId": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", + "state": { + "status": "status-available", + "text": "active", + "color": "#1D8102" + }, + "image": "/icons/AWS-Lambda.svg", + "cost": 0, + "private": null, + "resource": { + "id": "testLambda", + "name": "testLambda", + "value": null, + "type": "AWS::Lambda::Function", + "tags": "[{\"tag\":\"lambdaTag=lambdaValue\",\"value\":\"lambdaValue\",\"key\":\"lambdaTag\"}, {\"tag\":\"lambdaTag1=lambdaValue1\",\"value\":\"lambdaValue1\",\"key\":\"lambdaTag1\"}]", + "arn": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", + "region": "eu-west-1", + "state": null, + "loggedInURL": "https://eu-west-1.console.aws.amazon.com/lambda/home?region=eu-west-1#/functions/testLambda?tab=graph", + "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/lambda?region=eu-west-1#/functions/testLambda?tab=graph", + "accountId": "yyyyyyyyyyyy" + }, + "highlight": true, + "existing": false, + "properties": { + "accountId": "yyyyyyyyyyyy", + "arn": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", + "availabilityZone": "eu-west-1a,eu-west-1b", + "awsRegion": "eu-west-1", + "configuration": "{\"key\":\"prop\",\"key1\":\"prop1\",\"key2\":\"prop2\",\"state\":{\"value\":\"active\"}}", + "configurationItemCaptureTime": "2023-06-06T22:21:58.169Z", + "configurationItemStatus": "OK", + "configurationStateId": null, + "resourceCreationTime": null, + "resourceId": "testLambda", + "resourceName": "testLambda", + "resourceType": "AWS::Lambda::Function", + "tags": "[{\"tag\":\"lambdaTag=lambdaValue\",\"value\":\"lambdaValue\",\"key\":\"lambdaTag\"}, {\"tag\":\"lambdaTag1=lambdaValue1\",\"value\":\"lambdaValue1\",\"key\":\"lambdaTag1\"}]", + "version": "1.3", + "vpcId": "vpc-11111111111111111", + "subnetId": null, + "subnetIds": null, + "resourceValue": null, + "state": null, + "private": null, + "loggedInURL": "https://eu-west-1.console.aws.amazon.com/lambda/home?region=eu-west-1#/functions/testLambda?tab=graph", + "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/lambda?region=eu-west-1#/functions/testLambda?tab=graph", + "title": "testLambda", + "dBInstanceStatus": null, + "statement": null, + "instanceType": null + } + }, + "classes": ["resource", "highlight", "image", "selectable", "hoverover"] }, - "classes": [ - "resource", - "highlight", - "image", - "selectable", - "hoverover" - ] - }, - { - "group": "nodes", - "data": { - "arn": "arn:aws:iam::yyyyyyyyyyyy:role/testRole", - "resourceId": [ - "roleResourceId", - "arn:aws:iam::yyyyyyyyyyyy:role/testRole" - ], - "parent": "Role-yyyyyyyyyyyy-global", - "id": "arn:aws:iam::yyyyyyyyyyyy:role/testRole", - "title": "testRole", - "label": "testRole", - "shape": "image", - "type": "resource", - "accountColour": "rgba(234, 220, 23, 0.5)", - "regionColour": "rgba(175, 17, 83, 0.5)", - "color": "#fff", - "borderStyle": "solid", - "borderColour": "#545B64", - "borderOpacity": 0.25, - "borderSize": 1, - "opacity": "0", - "clickedId": "arn:aws:iam::yyyyyyyyyyyy:role/testRole", - "image": "/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg", - "cost": 0, - "private": null, - "resource": { - "id": "roleResourceId", - "name": "testRole", - "value": null, - "type": "AWS::IAM::Role", - "tags": "{}", - "arn": "arn:aws:iam::yyyyyyyyyyyy:role/testRole", - "region": "global", - "state": null, - "loggedInURL": "https://console.aws.amazon.com/iam/home?#/roles", - "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/iam?home?#/roles", - "accountId": "yyyyyyyyyyyy" - }, - "highlight": true, - "existing": false, - "properties": { - "accountId": "yyyyyyyyyyyy", - "arn": "arn:aws:iam::yyyyyyyyyyyy:role/testRole", - "availabilityZone": "Not Applicable", - "awsRegion": "global", - "configuration": "{}", - "configurationItemCaptureTime": "2023-01-23T16:15:01.277Z", - "configurationItemStatus": "OK", - "configurationStateId": null, - "resourceCreationTime": "2022-10-07T18:04:50.000Z", - "resourceId": "roleResourceId", - "resourceName": "testRole", - "resourceType": "AWS::IAM::Role", - "supplementaryConfiguration": null, - "tags": "{}", - "version": "1.3", - "vpcId": null, - "subnetId": null, - "subnetIds": null, - "resourceValue": null, - "state": null, - "private": null, - "loggedInURL": "https://console.aws.amazon.com/iam/home?#/roles", - "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/iam?home?#/roles", - "title": "testRole", - "dBInstanceStatus": null, - "statement": null, - "instanceType": null - } + { + "group": "nodes", + "data": { + "arn": "arn:aws:iam::yyyyyyyyyyyy:role/testRole", + "resourceId": [ + "roleResourceId", + "arn:aws:iam::yyyyyyyyyyyy:role/testRole" + ], + "parent": "Role-yyyyyyyyyyyy-global", + "id": "arn:aws:iam::yyyyyyyyyyyy:role/testRole", + "title": "testRole", + "label": "testRole", + "shape": "image", + "type": "resource", + "accountColour": "rgba(234, 220, 23, 0.5)", + "regionColour": "rgba(175, 17, 83, 0.5)", + "color": "#fff", + "borderStyle": "solid", + "borderColour": "#545B64", + "borderOpacity": 0.25, + "borderSize": 1, + "opacity": "0", + "clickedId": "arn:aws:iam::yyyyyyyyyyyy:role/testRole", + "image": "/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg", + "cost": 0, + "private": null, + "resource": { + "id": "roleResourceId", + "name": "testRole", + "value": null, + "type": "AWS::IAM::Role", + "tags": "{}", + "arn": "arn:aws:iam::yyyyyyyyyyyy:role/testRole", + "region": "global", + "state": null, + "loggedInURL": "https://console.aws.amazon.com/iam/home?#/roles", + "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/iam?home?#/roles", + "accountId": "yyyyyyyyyyyy" + }, + "highlight": true, + "existing": false, + "properties": { + "accountId": "yyyyyyyyyyyy", + "arn": "arn:aws:iam::yyyyyyyyyyyy:role/testRole", + "availabilityZone": "Not Applicable", + "awsRegion": "global", + "configuration": "{}", + "configurationItemCaptureTime": "2023-01-23T16:15:01.277Z", + "configurationItemStatus": "OK", + "configurationStateId": null, + "resourceCreationTime": "2022-10-07T18:04:50.000Z", + "resourceId": "roleResourceId", + "resourceName": "testRole", + "resourceType": "AWS::IAM::Role", + "supplementaryConfiguration": null, + "tags": "{}", + "version": "1.3", + "vpcId": null, + "subnetId": null, + "subnetIds": null, + "resourceValue": null, + "state": null, + "private": null, + "loggedInURL": "https://console.aws.amazon.com/iam/home?#/roles", + "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/iam?home?#/roles", + "title": "testRole", + "dBInstanceStatus": null, + "statement": null, + "instanceType": null + } + }, + "classes": ["resource", "highlight", "image", "selectable", "hoverover"] }, - "classes": [ - "resource", - "highlight", - "image", - "selectable", - "hoverover" - ] - }, - { - "group": "nodes", - "data": { - "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:security-group/sg-111111111111111", - "resourceId": [ - "sg-111111111111111", - "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:security-group/sg-111111111111111" - ], - "parent": "SecurityGroup-arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-vpc/vpc-11111111111111111", - "id": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:security-group/sg-111111111111111", - "title": "lambdaSecurityGroup", - "label": "lambdaSecuri...", - "shape": "image", - "type": "resource", - "accountColour": "rgba(234, 220, 23, 0.5)", - "regionColour": "rgba(79, 16, 163, 0.5)", - "color": "#fff", - "borderStyle": "solid", - "borderColour": "#545B64", - "borderOpacity": 0.25, - "borderSize": 1, - "opacity": "0", - "clickedId": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:security-group/sg-111111111111111", - "image": "/icons/AWSSecurityGroup.svg", - "cost": 0, - "private": null, - "resource": { - "id": "sg-111111111111111", - "name": "lambdaSecurityGroup", - "value": null, - "type": "AWS::EC2::SecurityGroup", - "tags": "{}", - "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:security-group/sg-111111111111111", - "region": "eu-west-1", - "state": null, - "loggedInURL": "https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId", - "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId", - "accountId": "yyyyyyyyyyyy" - }, - "highlight": true, - "existing": false, - "properties": { - "accountId": "yyyyyyyyyyyy", - "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:security-group/sg-111111111111111", - "availabilityZone": "Not Applicable", - "awsRegion": "eu-west-1", - "configuration": "{}", - "configurationItemCaptureTime": "2023-01-23T16:14:40.129Z", - "configurationItemStatus": "OK", - "configurationStateId": null, - "resourceCreationTime": null, - "resourceId": "sg-111111111111111", - "resourceName": "lambdaSecurityGroup", - "resourceType": "AWS::EC2::SecurityGroup", - "supplementaryConfiguration": null, - "tags": "{}", - "version": "1.3", - "vpcId": "vpc-11111111111111111", - "subnetId": null, - "subnetIds": null, - "resourceValue": null, - "state": null, - "private": null, - "loggedInURL": "https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId", - "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId", - "title": "lambdaSecurityGroup", - "dBInstanceStatus": null, - "statement": null, - "instanceType": null - } + { + "group": "nodes", + "data": { + "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:security-group/sg-111111111111111", + "resourceId": [ + "sg-111111111111111", + "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:security-group/sg-111111111111111" + ], + "parent": "SecurityGroup-arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-vpc/vpc-11111111111111111", + "id": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:security-group/sg-111111111111111", + "title": "lambdaSecurityGroup", + "label": "lambdaSecuri...", + "shape": "image", + "type": "resource", + "accountColour": "rgba(234, 220, 23, 0.5)", + "regionColour": "rgba(79, 16, 163, 0.5)", + "color": "#fff", + "borderStyle": "solid", + "borderColour": "#545B64", + "borderOpacity": 0.25, + "borderSize": 1, + "opacity": "0", + "clickedId": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:security-group/sg-111111111111111", + "image": "/icons/AWSSecurityGroup.svg", + "cost": 0, + "private": null, + "resource": { + "id": "sg-111111111111111", + "name": "lambdaSecurityGroup", + "value": null, + "type": "AWS::EC2::SecurityGroup", + "tags": "{}", + "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:security-group/sg-111111111111111", + "region": "eu-west-1", + "state": null, + "loggedInURL": "https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId", + "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId", + "accountId": "yyyyyyyyyyyy" + }, + "highlight": true, + "existing": false, + "properties": { + "accountId": "yyyyyyyyyyyy", + "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:security-group/sg-111111111111111", + "availabilityZone": "Not Applicable", + "awsRegion": "eu-west-1", + "configuration": "{}", + "configurationItemCaptureTime": "2023-01-23T16:14:40.129Z", + "configurationItemStatus": "OK", + "configurationStateId": null, + "resourceCreationTime": null, + "resourceId": "sg-111111111111111", + "resourceName": "lambdaSecurityGroup", + "resourceType": "AWS::EC2::SecurityGroup", + "supplementaryConfiguration": null, + "tags": "{}", + "version": "1.3", + "vpcId": "vpc-11111111111111111", + "subnetId": null, + "subnetIds": null, + "resourceValue": null, + "state": null, + "private": null, + "loggedInURL": "https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId", + "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId", + "title": "lambdaSecurityGroup", + "dBInstanceStatus": null, + "statement": null, + "instanceType": null + } + }, + "classes": ["resource", "highlight", "image", "selectable", "hoverover"] }, - "classes": [ - "resource", - "highlight", - "image", - "selectable", - "hoverover" - ] - }, - { - "group": "nodes", - "data": { - "arn": "arn:aws:rds:eu-west-1:yyyyyyyyyyyy:cluster:testdbcluster", - "resourceId": [ - "cluster-AAAAAAAAAAAAAAA", - "arn:aws:rds:eu-west-1:yyyyyyyyyyyy:cluster:testdbcluster" - ], - "parent": "DBCluster-yyyyyyyyyyyy-eu-west-1-Multiple Availability Zones", - "id": "arn:aws:rds:eu-west-1:yyyyyyyyyyyy:cluster:testdbcluster", - "title": "test-db-Cluster", - "label": "test-db-Clus...", - "shape": "image", - "type": "resource", - "accountColour": "rgba(234, 220, 23, 0.5)", - "regionColour": "rgba(79, 16, 163, 0.5)", - "color": "#fff", - "borderStyle": "solid", - "borderColour": "#545B64", - "borderOpacity": 0.25, - "borderSize": 1, - "opacity": "0", - "clickedId": "arn:aws:rds:eu-west-1:yyyyyyyyyyyy:cluster:testdbcluster", - "image": "/icons/Amazon-DBCluster.svg", - "cost": 0, - "private": null, - "resource": { - "id": "cluster-AAAAAAAAAAAAAAA", - "name": "testdbcluster", - "value": null, - "type": "AWS::RDS::DBCluster", - "tags": "{}", - "arn": "arn:aws:rds:eu-west-1:yyyyyyyyyyyy:cluster:testdbcluster", - "region": "eu-west-1", - "state": null, - "loggedInURL": null, - "loginURL": null, - "accountId": "yyyyyyyyyyyy" - }, - "highlight": true, - "existing": false, - "properties": { - "accountId": "yyyyyyyyyyyy", - "arn": "arn:aws:rds:eu-west-1:yyyyyyyyyyyy:cluster:testdbcluster", - "availabilityZone": "Multiple Availability Zones", - "awsRegion": "eu-west-1", - "configuration": "{}", - "configurationItemCaptureTime": "2023-05-20T01:54:04.280Z", - "configurationItemStatus": "OK", - "configurationStateId": null, - "resourceCreationTime": "2022-10-07T17:55:06.860Z", - "resourceId": "cluster-AAAAAAAAAAAAAAA", - "resourceName": "testdbcluster", - "resourceType": "AWS::RDS::DBCluster", - "supplementaryConfiguration": null, - "tags": "{}", - "version": "1.3", - "vpcId": null, - "subnetId": null, - "subnetIds": null, - "resourceValue": null, - "state": null, - "private": null, - "loggedInURL": null, - "loginURL": null, - "title": "test-db-Cluster", - "dBInstanceStatus": null, - "statement": null, - "instanceType": null - } + { + "group": "nodes", + "data": { + "arn": "arn:aws:rds:eu-west-1:yyyyyyyyyyyy:cluster:testdbcluster", + "resourceId": [ + "cluster-AAAAAAAAAAAAAAA", + "arn:aws:rds:eu-west-1:yyyyyyyyyyyy:cluster:testdbcluster" + ], + "parent": "DBCluster-yyyyyyyyyyyy-eu-west-1-Multiple Availability Zones", + "id": "arn:aws:rds:eu-west-1:yyyyyyyyyyyy:cluster:testdbcluster", + "title": "test-db-Cluster", + "label": "test-db-Clus...", + "shape": "image", + "type": "resource", + "accountColour": "rgba(234, 220, 23, 0.5)", + "regionColour": "rgba(79, 16, 163, 0.5)", + "color": "#fff", + "borderStyle": "solid", + "borderColour": "#545B64", + "borderOpacity": 0.25, + "borderSize": 1, + "opacity": "0", + "clickedId": "arn:aws:rds:eu-west-1:yyyyyyyyyyyy:cluster:testdbcluster", + "image": "/icons/Amazon-DBCluster.svg", + "cost": 0, + "private": null, + "resource": { + "id": "cluster-AAAAAAAAAAAAAAA", + "name": "testdbcluster", + "value": null, + "type": "AWS::RDS::DBCluster", + "tags": "{}", + "arn": "arn:aws:rds:eu-west-1:yyyyyyyyyyyy:cluster:testdbcluster", + "region": "eu-west-1", + "state": null, + "loggedInURL": null, + "loginURL": null, + "accountId": "yyyyyyyyyyyy" + }, + "highlight": true, + "existing": false, + "properties": { + "accountId": "yyyyyyyyyyyy", + "arn": "arn:aws:rds:eu-west-1:yyyyyyyyyyyy:cluster:testdbcluster", + "availabilityZone": "Multiple Availability Zones", + "awsRegion": "eu-west-1", + "configuration": "{}", + "configurationItemCaptureTime": "2023-05-20T01:54:04.280Z", + "configurationItemStatus": "OK", + "configurationStateId": null, + "resourceCreationTime": "2022-10-07T17:55:06.860Z", + "resourceId": "cluster-AAAAAAAAAAAAAAA", + "resourceName": "testdbcluster", + "resourceType": "AWS::RDS::DBCluster", + "supplementaryConfiguration": null, + "tags": "{}", + "version": "1.3", + "vpcId": null, + "subnetId": null, + "subnetIds": null, + "resourceValue": null, + "state": null, + "private": null, + "loggedInURL": null, + "loginURL": null, + "title": "test-db-Cluster", + "dBInstanceStatus": null, + "statement": null, + "instanceType": null + } + }, + "classes": ["resource", "highlight", "image", "selectable", "hoverover"] }, - "classes": [ - "resource", - "highlight", - "image", - "selectable", - "hoverover" - ] - }, - { - "group": "nodes", - "data": { - "arn": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag=lambdaValue", - "resourceId": [ - "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag=lambdaValue", - "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag=lambdaValue" - ], - "parent": "Tag-yyyyyyyyyyyy-global", - "id": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag=lambdaValue", - "title": "lambdaTag=lambdaValue", - "label": "lambdaTag=la...", - "shape": "image", - "type": "resource", - "accountColour": "rgba(234, 220, 23, 0.5)", - "regionColour": "rgba(175, 17, 83, 0.5)", - "color": "#fff", - "borderStyle": "solid", - "borderColour": "#545B64", - "borderOpacity": 0.25, - "borderSize": 1, - "opacity": "0", - "clickedId": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag=lambdaValue", - "image": "/icons/AWS-Tags-bg.svg", - "cost": 0, - "private": null, - "resource": { - "id": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag=lambdaValue", - "name": "lambda:createdBy=SAM", - "value": null, - "type": "AWS::Tags::Tag", - "tags": "[]", - "arn": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag=lambdaValue", - "region": "global", - "state": null, - "loggedInURL": null, - "loginURL": null, - "accountId": "yyyyyyyyyyyy" - }, - "highlight": true, - "existing": false, - "properties": { - "accountId": "yyyyyyyyyyyy", - "arn": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag=lambdaValue", - "availabilityZone": "Not Applicable", - "awsRegion": "global", - "configuration": "\"{}\"", - "configurationItemCaptureTime": null, - "configurationItemStatus": "ResourceDiscovered", - "configurationStateId": null, - "resourceCreationTime": null, - "resourceId": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag=lambdaValue", - "resourceName": "lambda:createdBy=SAM", - "resourceType": "AWS::Tags::Tag", - "supplementaryConfiguration": null, - "tags": "[]", - "version": null, - "vpcId": null, - "subnetId": null, - "subnetIds": null, - "resourceValue": null, - "state": null, - "private": null, - "loggedInURL": null, - "loginURL": null, - "title": "lambdaTag=lambdaValue", - "dBInstanceStatus": null, - "statement": null, - "instanceType": null - } + { + "group": "nodes", + "data": { + "arn": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag=lambdaValue", + "resourceId": [ + "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag=lambdaValue", + "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag=lambdaValue" + ], + "parent": "Tag-yyyyyyyyyyyy-global", + "id": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag=lambdaValue", + "title": "lambdaTag=lambdaValue", + "label": "lambdaTag=la...", + "shape": "image", + "type": "resource", + "accountColour": "rgba(234, 220, 23, 0.5)", + "regionColour": "rgba(175, 17, 83, 0.5)", + "color": "#fff", + "borderStyle": "solid", + "borderColour": "#545B64", + "borderOpacity": 0.25, + "borderSize": 1, + "opacity": "0", + "clickedId": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag=lambdaValue", + "image": "/icons/AWS-Tags-bg.svg", + "cost": 0, + "private": null, + "resource": { + "id": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag=lambdaValue", + "name": "lambda:createdBy=SAM", + "value": null, + "type": "AWS::Tags::Tag", + "tags": "[]", + "arn": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag=lambdaValue", + "region": "global", + "state": null, + "loggedInURL": null, + "loginURL": null, + "accountId": "yyyyyyyyyyyy" + }, + "highlight": true, + "existing": false, + "properties": { + "accountId": "yyyyyyyyyyyy", + "arn": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag=lambdaValue", + "availabilityZone": "Not Applicable", + "awsRegion": "global", + "configuration": "\"{}\"", + "configurationItemCaptureTime": null, + "configurationItemStatus": "ResourceDiscovered", + "configurationStateId": null, + "resourceCreationTime": null, + "resourceId": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag=lambdaValue", + "resourceName": "lambda:createdBy=SAM", + "resourceType": "AWS::Tags::Tag", + "supplementaryConfiguration": null, + "tags": "[]", + "version": null, + "vpcId": null, + "subnetId": null, + "subnetIds": null, + "resourceValue": null, + "state": null, + "private": null, + "loggedInURL": null, + "loginURL": null, + "title": "lambdaTag=lambdaValue", + "dBInstanceStatus": null, + "statement": null, + "instanceType": null + } + }, + "classes": ["resource", "highlight", "image", "selectable", "hoverover"] }, - "classes": [ - "resource", - "highlight", - "image", - "selectable", - "hoverover" - ] - }, - { - "group": "nodes", - "data": { - "arn": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag1=lambdaValue1", - "resourceId": [ - "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag1=lambdaValue1", - "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag1=lambdaValue1" - ], - "parent": "Tag-yyyyyyyyyyyy-global", - "id": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag1=lambdaValue1", - "title": "lambdaTag1=lambdaValue1", - "label": "lambdaTag1=l...", - "shape": "image", - "type": "resource", - "accountColour": "rgba(234, 220, 23, 0.5)", - "regionColour": "rgba(175, 17, 83, 0.5)", - "color": "#fff", - "borderStyle": "solid", - "borderColour": "#545B64", - "borderOpacity": 0.25, - "borderSize": 1, - "opacity": "0", - "clickedId": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag1=lambdaValue1", - "image": "/icons/AWS-Tags-bg.svg", - "cost": 0, - "private": null, - "resource": { - "id": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag1=lambdaValue1", - "name": "lambda:createdBy=SAM", - "value": null, - "type": "AWS::Tags::Tag", - "tags": "[]", - "arn": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag1=lambdaValue1", - "region": "global", - "state": null, - "loggedInURL": null, - "loginURL": null, - "accountId": "yyyyyyyyyyyy" - }, - "highlight": true, - "existing": false, - "properties": { - "accountId": "yyyyyyyyyyyy", - "arn": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag1=lambdaValue1", - "availabilityZone": "Not Applicable", - "awsRegion": "global", - "configuration": "\"{}\"", - "configurationItemCaptureTime": null, - "configurationItemStatus": "ResourceDiscovered", - "configurationStateId": null, - "resourceCreationTime": null, - "resourceId": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag1=lambdaValue1", - "resourceName": "lambda:createdBy=SAM", - "resourceType": "AWS::Tags::Tag", - "supplementaryConfiguration": null, - "tags": "[]", - "version": null, - "vpcId": null, - "subnetId": null, - "subnetIds": null, - "resourceValue": null, - "state": null, - "private": null, - "loggedInURL": null, - "loginURL": null, - "title": "lambdaTag1=lambdaValue1", - "dBInstanceStatus": null, - "statement": null, - "instanceType": null - } + { + "group": "nodes", + "data": { + "arn": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag1=lambdaValue1", + "resourceId": [ + "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag1=lambdaValue1", + "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag1=lambdaValue1" + ], + "parent": "Tag-yyyyyyyyyyyy-global", + "id": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag1=lambdaValue1", + "title": "lambdaTag1=lambdaValue1", + "label": "lambdaTag1=l...", + "shape": "image", + "type": "resource", + "accountColour": "rgba(234, 220, 23, 0.5)", + "regionColour": "rgba(175, 17, 83, 0.5)", + "color": "#fff", + "borderStyle": "solid", + "borderColour": "#545B64", + "borderOpacity": 0.25, + "borderSize": 1, + "opacity": "0", + "clickedId": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag1=lambdaValue1", + "image": "/icons/AWS-Tags-bg.svg", + "cost": 0, + "private": null, + "resource": { + "id": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag1=lambdaValue1", + "name": "lambda:createdBy=SAM", + "value": null, + "type": "AWS::Tags::Tag", + "tags": "[]", + "arn": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag1=lambdaValue1", + "region": "global", + "state": null, + "loggedInURL": null, + "loginURL": null, + "accountId": "yyyyyyyyyyyy" + }, + "highlight": true, + "existing": false, + "properties": { + "accountId": "yyyyyyyyyyyy", + "arn": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag1=lambdaValue1", + "availabilityZone": "Not Applicable", + "awsRegion": "global", + "configuration": "\"{}\"", + "configurationItemCaptureTime": null, + "configurationItemStatus": "ResourceDiscovered", + "configurationStateId": null, + "resourceCreationTime": null, + "resourceId": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag1=lambdaValue1", + "resourceName": "lambda:createdBy=SAM", + "resourceType": "AWS::Tags::Tag", + "supplementaryConfiguration": null, + "tags": "[]", + "version": null, + "vpcId": null, + "subnetId": null, + "subnetIds": null, + "resourceValue": null, + "state": null, + "private": null, + "loggedInURL": null, + "loginURL": null, + "title": "lambdaTag1=lambdaValue1", + "dBInstanceStatus": null, + "statement": null, + "instanceType": null + } + }, + "classes": ["resource", "highlight", "image", "selectable", "hoverover"] }, - "classes": [ - "resource", - "highlight", - "image", - "selectable", - "hoverover" - ] - }, - { - "group": "nodes", - "data": { - "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-11111111111111111", - "resourceId": [ - "eni-11111111111111111", - "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-11111111111111111" - ], - "parent": "NetworkInterface-arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-11111111111111111", - "id": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-11111111111111111", - "title": "eni-11111111111111111", - "label": "eni-11111111...", - "shape": "image", - "type": "resource", - "accountColour": "rgba(234, 220, 23, 0.5)", - "regionColour": "rgba(79, 16, 163, 0.5)", - "color": "#fff", - "borderStyle": "solid", - "borderColour": "#545B64", - "borderOpacity": 0.25, - "borderSize": 1, - "opacity": "0", - "clickedId": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-11111111111111111", - "image": "/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg", - "cost": 0, - "private": null, - "resource": { - "id": "eni-11111111111111111", - "name": null, - "value": null, - "type": "AWS::EC2::NetworkInterface", - "tags": "[]", - "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-11111111111111111", - "region": "eu-west-1", - "state": null, - "loggedInURL": "https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description", - "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description", - "accountId": "yyyyyyyyyyyy" - }, - "highlight": true, - "existing": false, - "properties": { - "accountId": "yyyyyyyyyyyy", - "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-11111111111111111", - "availabilityZone": "eu-west-1b", - "awsRegion": "eu-west-1", - "configuration": "{}", - "configurationItemCaptureTime": "2022-10-07T18:06:51.149Z", - "configurationItemStatus": "ResourceDiscovered", - "configurationStateId": null, - "resourceCreationTime": null, - "resourceId": "eni-11111111111111111", - "resourceName": null, - "resourceType": "AWS::EC2::NetworkInterface", - "supplementaryConfiguration": null, - "tags": "[]", - "version": "1.3", - "vpcId": "vpc-11111111111111111", - "subnetId": "subnet-11111111111111111", - "subnetIds": null, - "resourceValue": null, - "state": null, - "private": null, - "loggedInURL": "https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description", - "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description", - "title": "eni-11111111111111111", - "dBInstanceStatus": null, - "statement": null, - "instanceType": null - } + { + "group": "nodes", + "data": { + "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-11111111111111111", + "resourceId": [ + "eni-11111111111111111", + "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-11111111111111111" + ], + "parent": "NetworkInterface-arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-11111111111111111", + "id": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-11111111111111111", + "title": "eni-11111111111111111", + "label": "eni-11111111...", + "shape": "image", + "type": "resource", + "accountColour": "rgba(234, 220, 23, 0.5)", + "regionColour": "rgba(79, 16, 163, 0.5)", + "color": "#fff", + "borderStyle": "solid", + "borderColour": "#545B64", + "borderOpacity": 0.25, + "borderSize": 1, + "opacity": "0", + "clickedId": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-11111111111111111", + "image": "/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg", + "cost": 0, + "private": null, + "resource": { + "id": "eni-11111111111111111", + "name": null, + "value": null, + "type": "AWS::EC2::NetworkInterface", + "tags": "[]", + "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-11111111111111111", + "region": "eu-west-1", + "state": null, + "loggedInURL": "https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description", + "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description", + "accountId": "yyyyyyyyyyyy" + }, + "highlight": true, + "existing": false, + "properties": { + "accountId": "yyyyyyyyyyyy", + "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-11111111111111111", + "availabilityZone": "eu-west-1b", + "awsRegion": "eu-west-1", + "configuration": "{}", + "configurationItemCaptureTime": "2022-10-07T18:06:51.149Z", + "configurationItemStatus": "ResourceDiscovered", + "configurationStateId": null, + "resourceCreationTime": null, + "resourceId": "eni-11111111111111111", + "resourceName": null, + "resourceType": "AWS::EC2::NetworkInterface", + "supplementaryConfiguration": null, + "tags": "[]", + "version": "1.3", + "vpcId": "vpc-11111111111111111", + "subnetId": "subnet-11111111111111111", + "subnetIds": null, + "resourceValue": null, + "state": null, + "private": null, + "loggedInURL": "https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description", + "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description", + "title": "eni-11111111111111111", + "dBInstanceStatus": null, + "statement": null, + "instanceType": null + } + }, + "classes": ["resource", "highlight", "image", "selectable", "hoverover"] }, - "classes": [ - "resource", - "highlight", - "image", - "selectable", - "hoverover" - ] - }, - { - "group": "nodes", - "data": { - "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-22222222222222222", - "resourceId": [ - "eni-22222222222222222", - "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-22222222222222222" - ], - "parent": "NetworkInterface-arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-22222222222222222", - "id": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-22222222222222222", - "title": "eni-22222222222222222", - "label": "eni-22222222...", - "shape": "image", - "type": "resource", - "accountColour": "rgba(234, 220, 23, 0.5)", - "regionColour": "rgba(79, 16, 163, 0.5)", - "color": "#fff", - "borderStyle": "solid", - "borderColour": "#545B64", - "borderOpacity": 0.25, - "borderSize": 1, - "opacity": "0", - "clickedId": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-22222222222222222", - "image": "/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg", - "cost": 0, - "private": null, - "resource": { - "id": "eni-22222222222222222", - "name": null, - "value": null, - "type": "AWS::EC2::NetworkInterface", - "tags": "[]", - "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-22222222222222222", - "region": "eu-west-1", - "state": null, - "loggedInURL": "https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description", - "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description", - "accountId": "yyyyyyyyyyyy" - }, - "highlight": true, - "existing": false, - "properties": { - "accountId": "yyyyyyyyyyyy", - "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-22222222222222222", - "availabilityZone": "eu-west-1a", - "awsRegion": "eu-west-1", - "configuration": "{}", - "configurationItemCaptureTime": "2022-10-07T18:06:51.149Z", - "configurationItemStatus": "ResourceDiscovered", - "configurationStateId": null, - "resourceCreationTime": null, - "resourceId": "eni-22222222222222222", - "resourceName": null, - "resourceType": "AWS::EC2::NetworkInterface", - "supplementaryConfiguration": null, - "tags": "[]", - "version": "1.3", - "vpcId": "vpc-11111111111111111", - "subnetId": "subnet-22222222222222222", - "subnetIds": null, - "resourceValue": null, - "state": null, - "private": null, - "loggedInURL": "https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description", - "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description", - "title": "eni-22222222222222222", - "dBInstanceStatus": null, - "statement": null, - "instanceType": null - } + { + "group": "nodes", + "data": { + "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-22222222222222222", + "resourceId": [ + "eni-22222222222222222", + "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-22222222222222222" + ], + "parent": "NetworkInterface-arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-subnet/subnet-22222222222222222", + "id": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-22222222222222222", + "title": "eni-22222222222222222", + "label": "eni-22222222...", + "shape": "image", + "type": "resource", + "accountColour": "rgba(234, 220, 23, 0.5)", + "regionColour": "rgba(79, 16, 163, 0.5)", + "color": "#fff", + "borderStyle": "solid", + "borderColour": "#545B64", + "borderOpacity": 0.25, + "borderSize": 1, + "opacity": "0", + "clickedId": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-22222222222222222", + "image": "/icons/Amazon-VPC_Elastic-Network-Interface_light-bg.svg", + "cost": 0, + "private": null, + "resource": { + "id": "eni-22222222222222222", + "name": null, + "value": null, + "type": "AWS::EC2::NetworkInterface", + "tags": "[]", + "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-22222222222222222", + "region": "eu-west-1", + "state": null, + "loggedInURL": "https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description", + "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description", + "accountId": "yyyyyyyyyyyy" + }, + "highlight": true, + "existing": false, + "properties": { + "accountId": "yyyyyyyyyyyy", + "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-22222222222222222", + "availabilityZone": "eu-west-1a", + "awsRegion": "eu-west-1", + "configuration": "{}", + "configurationItemCaptureTime": "2022-10-07T18:06:51.149Z", + "configurationItemStatus": "ResourceDiscovered", + "configurationStateId": null, + "resourceCreationTime": null, + "resourceId": "eni-22222222222222222", + "resourceName": null, + "resourceType": "AWS::EC2::NetworkInterface", + "supplementaryConfiguration": null, + "tags": "[]", + "version": "1.3", + "vpcId": "vpc-11111111111111111", + "subnetId": "subnet-22222222222222222", + "subnetIds": null, + "resourceValue": null, + "state": null, + "private": null, + "loggedInURL": "https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#NIC:sort=description", + "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/ec2?region=eu-west-1#NIC:sort=description", + "title": "eni-22222222222222222", + "dBInstanceStatus": null, + "statement": null, + "instanceType": null + } + }, + "classes": ["resource", "highlight", "image", "selectable", "hoverover"] }, - "classes": [ - "resource", - "highlight", - "image", - "selectable", - "hoverover" - ] - }, - { - "group": "nodes", - "data": { - "arn": "arn:aws:iam::yyyyyyyyyyyy:role/testpolicy/inlinePolicy/testRole", - "resourceId": [ - "arn:aws:iam::yyyyyyyyyyyy:role/testpolicy/inlinePolicy/testRole", - "arn:aws:iam::yyyyyyyyyyyy:role/testpolicy/inlinePolicy/testRole" - ], - "parent": "InlinePolicy-yyyyyyyyyyyy-global", - "id": "arn:aws:iam::yyyyyyyyyyyy:role/testpolicy/inlinePolicy/testRole", - "title": "arn:aws:iam::yyyyyyyyyyyy:role/testpolicy/inlinePolicy/testRole", - "label": "arn:aws:iam:...", - "shape": "image", - "type": "resource", - "accountColour": "rgba(234, 220, 23, 0.5)", - "regionColour": "rgba(175, 17, 83, 0.5)", - "color": "#fff", - "borderStyle": "solid", - "borderColour": "#545B64", - "borderOpacity": 0.25, - "borderSize": 1, - "opacity": "0", - "clickedId": "arn:aws:iam::yyyyyyyyyyyy:role/testpolicy/inlinePolicy/testRole", - "image": "/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg", - "cost": 0, - "private": null, - "resource": { - "id": "arn:aws:iam::yyyyyyyyyyyy:role/testpolicy/inlinePolicy/testRole", - "name": "arn:aws:iam::yyyyyyyyyyyy:role/testpolicy/inlinePolicy/testRole", - "value": null, - "type": "AWS::IAM::InlinePolicy", - "tags": "[]", - "arn": "arn:aws:iam::yyyyyyyyyyyy:role/testpolicy/inlinePolicy/testRole", - "region": "global", - "state": null, - "loggedInURL": null, - "loginURL": null, - "accountId": "yyyyyyyyyyyy" - }, - "highlight": true, - "existing": false, - "properties": { - "accountId": "yyyyyyyyyyyy", - "arn": "arn:aws:iam::yyyyyyyyyyyy:role/testpolicy/inlinePolicy/testRole", - "availabilityZone": "Not Applicable", - "awsRegion": "global", - "configuration": "{}", - "configurationItemCaptureTime": null, - "configurationItemStatus": "ResourceDiscovered", - "configurationStateId": null, - "resourceCreationTime": null, - "resourceId": "arn:aws:iam::yyyyyyyyyyyy:role/testpolicy/inlinePolicy/testRole", - "resourceName": "arn:aws:iam::yyyyyyyyyyyy:role/testpolicy/inlinePolicy/testRole", - "resourceType": "AWS::IAM::InlinePolicy", - "supplementaryConfiguration": null, - "tags": "[]", - "version": null, - "vpcId": null, - "subnetId": null, - "subnetIds": null, - "resourceValue": null, - "state": null, - "private": null, - "loggedInURL": null, - "loginURL": null, - "title": "arn:aws:iam::yyyyyyyyyyyy:role/testpolicy/inlinePolicy/testRole", - "dBInstanceStatus": null, - "statement": null, - "instanceType": null - } + { + "group": "nodes", + "data": { + "arn": "arn:aws:iam::yyyyyyyyyyyy:role/testpolicy/inlinePolicy/testRole", + "resourceId": [ + "arn:aws:iam::yyyyyyyyyyyy:role/testpolicy/inlinePolicy/testRole", + "arn:aws:iam::yyyyyyyyyyyy:role/testpolicy/inlinePolicy/testRole" + ], + "parent": "InlinePolicy-yyyyyyyyyyyy-global", + "id": "arn:aws:iam::yyyyyyyyyyyy:role/testpolicy/inlinePolicy/testRole", + "title": "arn:aws:iam::yyyyyyyyyyyy:role/testpolicy/inlinePolicy/testRole", + "label": "arn:aws:iam:...", + "shape": "image", + "type": "resource", + "accountColour": "rgba(234, 220, 23, 0.5)", + "regionColour": "rgba(175, 17, 83, 0.5)", + "color": "#fff", + "borderStyle": "solid", + "borderColour": "#545B64", + "borderOpacity": 0.25, + "borderSize": 1, + "opacity": "0", + "clickedId": "arn:aws:iam::yyyyyyyyyyyy:role/testpolicy/inlinePolicy/testRole", + "image": "/icons/Res_AWS-Identity-Access-Management_Permissions_48_Light.svg", + "cost": 0, + "private": null, + "resource": { + "id": "arn:aws:iam::yyyyyyyyyyyy:role/testpolicy/inlinePolicy/testRole", + "name": "arn:aws:iam::yyyyyyyyyyyy:role/testpolicy/inlinePolicy/testRole", + "value": null, + "type": "AWS::IAM::InlinePolicy", + "tags": "[]", + "arn": "arn:aws:iam::yyyyyyyyyyyy:role/testpolicy/inlinePolicy/testRole", + "region": "global", + "state": null, + "loggedInURL": null, + "loginURL": null, + "accountId": "yyyyyyyyyyyy" + }, + "highlight": true, + "existing": false, + "properties": { + "accountId": "yyyyyyyyyyyy", + "arn": "arn:aws:iam::yyyyyyyyyyyy:role/testpolicy/inlinePolicy/testRole", + "availabilityZone": "Not Applicable", + "awsRegion": "global", + "configuration": "{}", + "configurationItemCaptureTime": null, + "configurationItemStatus": "ResourceDiscovered", + "configurationStateId": null, + "resourceCreationTime": null, + "resourceId": "arn:aws:iam::yyyyyyyyyyyy:role/testpolicy/inlinePolicy/testRole", + "resourceName": "arn:aws:iam::yyyyyyyyyyyy:role/testpolicy/inlinePolicy/testRole", + "resourceType": "AWS::IAM::InlinePolicy", + "supplementaryConfiguration": null, + "tags": "[]", + "version": null, + "vpcId": null, + "subnetId": null, + "subnetIds": null, + "resourceValue": null, + "state": null, + "private": null, + "loggedInURL": null, + "loginURL": null, + "title": "arn:aws:iam::yyyyyyyyyyyy:role/testpolicy/inlinePolicy/testRole", + "dBInstanceStatus": null, + "statement": null, + "instanceType": null + } + }, + "classes": ["resource", "highlight", "image", "selectable", "hoverover"] }, - "classes": [ - "resource", - "highlight", - "image", - "selectable", - "hoverover" - ] - }, - { - "group": "nodes", - "data": { - "arn": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", - "resourceId": [ - "testLambda", - "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda" - ], - "parent": "Function-arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-vpc/vpc-11111111111111111-eu-west-1a,eu-west-1b", - "id": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", - "title": "testLambda", - "label": "testLambda", - "shape": "image", - "type": "resource", - "accountColour": "rgba(234, 220, 23, 0.5)", - "regionColour": "rgba(79, 16, 163, 0.5)", - "color": "#1D8102", - "borderStyle": "dotted", - "borderColour": "#1D8102", - "borderOpacity": 0.25, - "borderSize": 1, - "opacity": "0", - "clickedId": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", - "state": { "status": "status-available", "text": "active", "color": "#1D8102" }, - "image": "/icons/AWS-Lambda.svg", - "cost": 0, - "private": null, - "resource": { - "id": "testLambda", - "name": "testLambda", - "value": null, - "type": "AWS::Lambda::Function", - "tags": "[{\"tag\":\"lambdaTag=lambdaValue\",\"value\":\"lambdaValue\",\"key\":\"lambdaTag\"}, {\"tag\":\"lambdaTag1=lambdaValue1\",\"value\":\"lambdaValue1\",\"key\":\"lambdaTag1\"}]", - "arn": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", - "region": "eu-west-1", - "state": null, - "loggedInURL": "https://eu-west-1.console.aws.amazon.com/lambda/home?region=eu-west-1#/functions/testLambda?tab=graph", - "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/lambda?region=eu-west-1#/functions/testLambda?tab=graph", - "accountId": "yyyyyyyyyyyy" - }, - "highlight": true, - "existing": false, - "properties": { - "accountId": "yyyyyyyyyyyy", - "arn": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", - "availabilityZone": "eu-west-1a,eu-west-1b", - "awsRegion": "eu-west-1", - "configuration": "{\"key\":\"prop\",\"key1\":\"prop1\",\"key2\":\"prop2\",\"state\":{\"value\":\"active\"}}", - "configurationItemCaptureTime": "2023-06-06T22:21:58.169Z", - "configurationItemStatus": "OK", - "configurationStateId": null, - "resourceCreationTime": null, - "resourceId": "testLambda", - "resourceName": "testLambda", - "resourceType": "AWS::Lambda::Function", - "tags": "[{\"tag\":\"lambdaTag=lambdaValue\",\"value\":\"lambdaValue\",\"key\":\"lambdaTag\"}, {\"tag\":\"lambdaTag1=lambdaValue1\",\"value\":\"lambdaValue1\",\"key\":\"lambdaTag1\"}]", - "version": "1.3", - "vpcId": "vpc-11111111111111111", - "subnetId": null, - "subnetIds": null, - "resourceValue": null, - "state": null, - "private": null, - "loggedInURL": "https://eu-west-1.console.aws.amazon.com/lambda/home?region=eu-west-1#/functions/testLambda?tab=graph", - "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/lambda?region=eu-west-1#/functions/testLambda?tab=graph", - "title": "testLambda", - "dBInstanceStatus": null, - "statement": null, - "instanceType": null - } + { + "group": "nodes", + "data": { + "arn": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", + "resourceId": [ + "testLambda", + "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda" + ], + "parent": "Function-arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-vpc/vpc-11111111111111111-eu-west-1a,eu-west-1b", + "id": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", + "title": "testLambda", + "label": "testLambda", + "shape": "image", + "type": "resource", + "accountColour": "rgba(234, 220, 23, 0.5)", + "regionColour": "rgba(79, 16, 163, 0.5)", + "color": "#1D8102", + "borderStyle": "dotted", + "borderColour": "#1D8102", + "borderOpacity": 0.25, + "borderSize": 1, + "opacity": "0", + "clickedId": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", + "state": { + "status": "status-available", + "text": "active", + "color": "#1D8102" + }, + "image": "/icons/AWS-Lambda.svg", + "cost": 0, + "private": null, + "resource": { + "id": "testLambda", + "name": "testLambda", + "value": null, + "type": "AWS::Lambda::Function", + "tags": "[{\"tag\":\"lambdaTag=lambdaValue\",\"value\":\"lambdaValue\",\"key\":\"lambdaTag\"}, {\"tag\":\"lambdaTag1=lambdaValue1\",\"value\":\"lambdaValue1\",\"key\":\"lambdaTag1\"}]", + "arn": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", + "region": "eu-west-1", + "state": null, + "loggedInURL": "https://eu-west-1.console.aws.amazon.com/lambda/home?region=eu-west-1#/functions/testLambda?tab=graph", + "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/lambda?region=eu-west-1#/functions/testLambda?tab=graph", + "accountId": "yyyyyyyyyyyy" + }, + "highlight": true, + "existing": false, + "properties": { + "accountId": "yyyyyyyyyyyy", + "arn": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", + "availabilityZone": "eu-west-1a,eu-west-1b", + "awsRegion": "eu-west-1", + "configuration": "{\"key\":\"prop\",\"key1\":\"prop1\",\"key2\":\"prop2\",\"state\":{\"value\":\"active\"}}", + "configurationItemCaptureTime": "2023-06-06T22:21:58.169Z", + "configurationItemStatus": "OK", + "configurationStateId": null, + "resourceCreationTime": null, + "resourceId": "testLambda", + "resourceName": "testLambda", + "resourceType": "AWS::Lambda::Function", + "tags": "[{\"tag\":\"lambdaTag=lambdaValue\",\"value\":\"lambdaValue\",\"key\":\"lambdaTag\"}, {\"tag\":\"lambdaTag1=lambdaValue1\",\"value\":\"lambdaValue1\",\"key\":\"lambdaTag1\"}]", + "version": "1.3", + "vpcId": "vpc-11111111111111111", + "subnetId": null, + "subnetIds": null, + "resourceValue": null, + "state": null, + "private": null, + "loggedInURL": "https://eu-west-1.console.aws.amazon.com/lambda/home?region=eu-west-1#/functions/testLambda?tab=graph", + "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/lambda?region=eu-west-1#/functions/testLambda?tab=graph", + "title": "testLambda", + "dBInstanceStatus": null, + "statement": null, + "instanceType": null + } + }, + "classes": ["resource", "highlight", "image", "selectable", "hoverover"] }, - "classes": [ - "resource", - "highlight", - "image", - "selectable", - "hoverover" - ] - }, - { - "group": "nodes", - "data": { - "arn": "arn:aws:iam::yyyyyyyyyyyy:role/testRole", - "resourceId": [ - "roleResourceId", - "arn:aws:iam::yyyyyyyyyyyy:role/testRole" - ], - "parent": "Role-yyyyyyyyyyyy-global", - "id": "arn:aws:iam::yyyyyyyyyyyy:role/testRole", - "title": "testRole", - "label": "testRole", - "shape": "image", - "type": "resource", - "accountColour": "rgba(234, 220, 23, 0.5)", - "regionColour": "rgba(175, 17, 83, 0.5)", - "color": "#fff", - "borderStyle": "solid", - "borderColour": "#545B64", - "borderOpacity": 0.25, - "borderSize": 1, - "opacity": "0", - "clickedId": "arn:aws:iam::yyyyyyyyyyyy:role/testRole", - "image": "/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg", - "cost": 0, - "private": null, - "resource": { - "id": "roleResourceId", - "name": "testRole", - "value": null, - "type": "AWS::IAM::Role", - "tags": "{}", - "arn": "arn:aws:iam::yyyyyyyyyyyy:role/testRole", - "region": "global", - "state": null, - "loggedInURL": "https://console.aws.amazon.com/iam/home?#/roles", - "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/iam?home?#/roles", - "accountId": "yyyyyyyyyyyy" - }, - "highlight": true, - "existing": false, - "properties": { - "accountId": "yyyyyyyyyyyy", - "arn": "arn:aws:iam::yyyyyyyyyyyy:role/testRole", - "availabilityZone": "Not Applicable", - "awsRegion": "global", - "configuration": "{}", - "configurationItemCaptureTime": "2023-01-23T16:15:01.277Z", - "configurationItemStatus": "OK", - "configurationStateId": null, - "resourceCreationTime": "2022-10-07T18:04:50.000Z", - "resourceId": "roleResourceId", - "resourceName": "testRole", - "resourceType": "AWS::IAM::Role", - "supplementaryConfiguration": null, - "tags": "{}", - "version": "1.3", - "vpcId": null, - "subnetId": null, - "subnetIds": null, - "resourceValue": null, - "state": null, - "private": null, - "loggedInURL": "https://console.aws.amazon.com/iam/home?#/roles", - "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/iam?home?#/roles", - "title": "testRole", - "dBInstanceStatus": null, - "statement": null, - "instanceType": null - } + { + "group": "nodes", + "data": { + "arn": "arn:aws:iam::yyyyyyyyyyyy:role/testRole", + "resourceId": [ + "roleResourceId", + "arn:aws:iam::yyyyyyyyyyyy:role/testRole" + ], + "parent": "Role-yyyyyyyyyyyy-global", + "id": "arn:aws:iam::yyyyyyyyyyyy:role/testRole", + "title": "testRole", + "label": "testRole", + "shape": "image", + "type": "resource", + "accountColour": "rgba(234, 220, 23, 0.5)", + "regionColour": "rgba(175, 17, 83, 0.5)", + "color": "#fff", + "borderStyle": "solid", + "borderColour": "#545B64", + "borderOpacity": 0.25, + "borderSize": 1, + "opacity": "0", + "clickedId": "arn:aws:iam::yyyyyyyyyyyy:role/testRole", + "image": "/icons/AWS-Identity-and-Access-Management-IAM_Role_light-bg.svg", + "cost": 0, + "private": null, + "resource": { + "id": "roleResourceId", + "name": "testRole", + "value": null, + "type": "AWS::IAM::Role", + "tags": "{}", + "arn": "arn:aws:iam::yyyyyyyyyyyy:role/testRole", + "region": "global", + "state": null, + "loggedInURL": "https://console.aws.amazon.com/iam/home?#/roles", + "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/iam?home?#/roles", + "accountId": "yyyyyyyyyyyy" + }, + "highlight": true, + "existing": false, + "properties": { + "accountId": "yyyyyyyyyyyy", + "arn": "arn:aws:iam::yyyyyyyyyyyy:role/testRole", + "availabilityZone": "Not Applicable", + "awsRegion": "global", + "configuration": "{}", + "configurationItemCaptureTime": "2023-01-23T16:15:01.277Z", + "configurationItemStatus": "OK", + "configurationStateId": null, + "resourceCreationTime": "2022-10-07T18:04:50.000Z", + "resourceId": "roleResourceId", + "resourceName": "testRole", + "resourceType": "AWS::IAM::Role", + "supplementaryConfiguration": null, + "tags": "{}", + "version": "1.3", + "vpcId": null, + "subnetId": null, + "subnetIds": null, + "resourceValue": null, + "state": null, + "private": null, + "loggedInURL": "https://console.aws.amazon.com/iam/home?#/roles", + "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/iam?home?#/roles", + "title": "testRole", + "dBInstanceStatus": null, + "statement": null, + "instanceType": null + } + }, + "classes": ["resource", "highlight", "image", "selectable", "hoverover"] }, - "classes": [ - "resource", - "highlight", - "image", - "selectable", - "hoverover" - ] - }, - { - "group": "nodes", - "data": { - "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:security-group/sg-111111111111111", - "resourceId": [ - "sg-111111111111111", - "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:security-group/sg-111111111111111" - ], - "parent": "SecurityGroup-arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-vpc/vpc-11111111111111111", - "id": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:security-group/sg-111111111111111", - "title": "lambdaSecurityGroup", - "label": "lambdaSecuri...", - "shape": "image", - "type": "resource", - "accountColour": "rgba(234, 220, 23, 0.5)", - "regionColour": "rgba(79, 16, 163, 0.5)", - "color": "#fff", - "borderStyle": "solid", - "borderColour": "#545B64", - "borderOpacity": 0.25, - "borderSize": 1, - "opacity": "0", - "clickedId": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:security-group/sg-111111111111111", - "image": "/icons/AWSSecurityGroup.svg", - "cost": 0, - "private": null, - "resource": { - "id": "sg-111111111111111", - "name": "lambdaSecurityGroup", - "value": null, - "type": "AWS::EC2::SecurityGroup", - "tags": "{}", - "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:security-group/sg-111111111111111", - "region": "eu-west-1", - "state": null, - "loggedInURL": "https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId", - "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId", - "accountId": "yyyyyyyyyyyy" - }, - "highlight": true, - "existing": false, - "properties": { - "accountId": "yyyyyyyyyyyy", - "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:security-group/sg-111111111111111", - "availabilityZone": "Not Applicable", - "awsRegion": "eu-west-1", - "configuration": "{}", - "configurationItemCaptureTime": "2023-01-23T16:14:40.129Z", - "configurationItemStatus": "OK", - "configurationStateId": null, - "resourceCreationTime": null, - "resourceId": "sg-111111111111111", - "resourceName": "lambdaSecurityGroup", - "resourceType": "AWS::EC2::SecurityGroup", - "supplementaryConfiguration": null, - "tags": "{}", - "version": "1.3", - "vpcId": "vpc-11111111111111111", - "subnetId": null, - "subnetIds": null, - "resourceValue": null, - "state": null, - "private": null, - "loggedInURL": "https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId", - "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId", - "title": "lambdaSecurityGroup", - "dBInstanceStatus": null, - "statement": null, - "instanceType": null - } + { + "group": "nodes", + "data": { + "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:security-group/sg-111111111111111", + "resourceId": [ + "sg-111111111111111", + "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:security-group/sg-111111111111111" + ], + "parent": "SecurityGroup-arn-aws-ec2-eu-west-1-yyyyyyyyyyyy-vpc/vpc-11111111111111111", + "id": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:security-group/sg-111111111111111", + "title": "lambdaSecurityGroup", + "label": "lambdaSecuri...", + "shape": "image", + "type": "resource", + "accountColour": "rgba(234, 220, 23, 0.5)", + "regionColour": "rgba(79, 16, 163, 0.5)", + "color": "#fff", + "borderStyle": "solid", + "borderColour": "#545B64", + "borderOpacity": 0.25, + "borderSize": 1, + "opacity": "0", + "clickedId": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:security-group/sg-111111111111111", + "image": "/icons/AWSSecurityGroup.svg", + "cost": 0, + "private": null, + "resource": { + "id": "sg-111111111111111", + "name": "lambdaSecurityGroup", + "value": null, + "type": "AWS::EC2::SecurityGroup", + "tags": "{}", + "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:security-group/sg-111111111111111", + "region": "eu-west-1", + "state": null, + "loggedInURL": "https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId", + "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId", + "accountId": "yyyyyyyyyyyy" + }, + "highlight": true, + "existing": false, + "properties": { + "accountId": "yyyyyyyyyyyy", + "arn": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:security-group/sg-111111111111111", + "availabilityZone": "Not Applicable", + "awsRegion": "eu-west-1", + "configuration": "{}", + "configurationItemCaptureTime": "2023-01-23T16:14:40.129Z", + "configurationItemStatus": "OK", + "configurationStateId": null, + "resourceCreationTime": null, + "resourceId": "sg-111111111111111", + "resourceName": "lambdaSecurityGroup", + "resourceType": "AWS::EC2::SecurityGroup", + "supplementaryConfiguration": null, + "tags": "{}", + "version": "1.3", + "vpcId": "vpc-11111111111111111", + "subnetId": null, + "subnetIds": null, + "resourceValue": null, + "state": null, + "private": null, + "loggedInURL": "https://eu-west-1.console.aws.amazon.com/ec2/v2/home?region=eu-west-1#SecurityGroups:sort=groupId", + "loginURL": "https://yyyyyyyyyyyy.signin.aws.amazon.com/console/ec2?region=eu-west-1#SecurityGroups:sort=groupId", + "title": "lambdaSecurityGroup", + "dBInstanceStatus": null, + "statement": null, + "instanceType": null + } + }, + "classes": ["resource", "highlight", "image", "selectable", "hoverover"] }, - "classes": [ - "resource", - "highlight", - "image", - "selectable", - "hoverover" - ] - }, - { - "group": "nodes", - "data": { - "arn": "arn:aws:rds:eu-west-1:yyyyyyyyyyyy:cluster:testdbcluster", - "resourceId": [ - "cluster-AAAAAAAAAAAAAAA", - "arn:aws:rds:eu-west-1:yyyyyyyyyyyy:cluster:testdbcluster" - ], - "parent": "DBCluster-yyyyyyyyyyyy-eu-west-1-Multiple Availability Zones", - "id": "arn:aws:rds:eu-west-1:yyyyyyyyyyyy:cluster:testdbcluster", - "title": "test-db-Cluster", - "label": "test-db-Clus...", - "shape": "image", - "type": "resource", - "accountColour": "rgba(234, 220, 23, 0.5)", - "regionColour": "rgba(79, 16, 163, 0.5)", - "color": "#fff", - "borderStyle": "solid", - "borderColour": "#545B64", - "borderOpacity": 0.25, - "borderSize": 1, - "opacity": "0", - "clickedId": "arn:aws:rds:eu-west-1:yyyyyyyyyyyy:cluster:testdbcluster", - "image": "/icons/Amazon-DBCluster.svg", - "cost": 0, - "private": null, - "resource": { - "id": "cluster-AAAAAAAAAAAAAAA", - "name": "testdbcluster", - "value": null, - "type": "AWS::RDS::DBCluster", - "tags": "{}", - "arn": "arn:aws:rds:eu-west-1:yyyyyyyyyyyy:cluster:testdbcluster", - "region": "eu-west-1", - "state": null, - "loggedInURL": null, - "loginURL": null, - "accountId": "yyyyyyyyyyyy" - }, - "highlight": true, - "existing": false, - "properties": { - "accountId": "yyyyyyyyyyyy", - "arn": "arn:aws:rds:eu-west-1:yyyyyyyyyyyy:cluster:testdbcluster", - "availabilityZone": "Multiple Availability Zones", - "awsRegion": "eu-west-1", - "configuration": "{}", - "configurationItemCaptureTime": "2023-05-20T01:54:04.280Z", - "configurationItemStatus": "OK", - "configurationStateId": null, - "resourceCreationTime": "2022-10-07T17:55:06.860Z", - "resourceId": "cluster-AAAAAAAAAAAAAAA", - "resourceName": "testdbcluster", - "resourceType": "AWS::RDS::DBCluster", - "supplementaryConfiguration": null, - "tags": "{}", - "version": "1.3", - "vpcId": null, - "subnetId": null, - "subnetIds": null, - "resourceValue": null, - "state": null, - "private": null, - "loggedInURL": null, - "loginURL": null, - "title": "test-db-Cluster", - "dBInstanceStatus": null, - "statement": null, - "instanceType": null - } + { + "group": "nodes", + "data": { + "arn": "arn:aws:rds:eu-west-1:yyyyyyyyyyyy:cluster:testdbcluster", + "resourceId": [ + "cluster-AAAAAAAAAAAAAAA", + "arn:aws:rds:eu-west-1:yyyyyyyyyyyy:cluster:testdbcluster" + ], + "parent": "DBCluster-yyyyyyyyyyyy-eu-west-1-Multiple Availability Zones", + "id": "arn:aws:rds:eu-west-1:yyyyyyyyyyyy:cluster:testdbcluster", + "title": "test-db-Cluster", + "label": "test-db-Clus...", + "shape": "image", + "type": "resource", + "accountColour": "rgba(234, 220, 23, 0.5)", + "regionColour": "rgba(79, 16, 163, 0.5)", + "color": "#fff", + "borderStyle": "solid", + "borderColour": "#545B64", + "borderOpacity": 0.25, + "borderSize": 1, + "opacity": "0", + "clickedId": "arn:aws:rds:eu-west-1:yyyyyyyyyyyy:cluster:testdbcluster", + "image": "/icons/Amazon-DBCluster.svg", + "cost": 0, + "private": null, + "resource": { + "id": "cluster-AAAAAAAAAAAAAAA", + "name": "testdbcluster", + "value": null, + "type": "AWS::RDS::DBCluster", + "tags": "{}", + "arn": "arn:aws:rds:eu-west-1:yyyyyyyyyyyy:cluster:testdbcluster", + "region": "eu-west-1", + "state": null, + "loggedInURL": null, + "loginURL": null, + "accountId": "yyyyyyyyyyyy" + }, + "highlight": true, + "existing": false, + "properties": { + "accountId": "yyyyyyyyyyyy", + "arn": "arn:aws:rds:eu-west-1:yyyyyyyyyyyy:cluster:testdbcluster", + "availabilityZone": "Multiple Availability Zones", + "awsRegion": "eu-west-1", + "configuration": "{}", + "configurationItemCaptureTime": "2023-05-20T01:54:04.280Z", + "configurationItemStatus": "OK", + "configurationStateId": null, + "resourceCreationTime": "2022-10-07T17:55:06.860Z", + "resourceId": "cluster-AAAAAAAAAAAAAAA", + "resourceName": "testdbcluster", + "resourceType": "AWS::RDS::DBCluster", + "supplementaryConfiguration": null, + "tags": "{}", + "version": "1.3", + "vpcId": null, + "subnetId": null, + "subnetIds": null, + "resourceValue": null, + "state": null, + "private": null, + "loggedInURL": null, + "loginURL": null, + "title": "test-db-Cluster", + "dBInstanceStatus": null, + "statement": null, + "instanceType": null + } + }, + "classes": ["resource", "highlight", "image", "selectable", "hoverover"] }, - "classes": [ - "resource", - "highlight", - "image", - "selectable", - "hoverover" - ] - }, - { - "group": "edges", - "data": { - "id": "08c1d9d4-a220-1e6a-9adf-376b661dabf3", - "source": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", - "target": "arn:aws:iam::yyyyyyyyyyyy:role/testRole" - } - }, - { - "group": "edges", - "data": { - "id": "7cc1d9d4-a220-af84-968d-4a72d7de7804", - "source": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", - "target": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:security-group/sg-111111111111111" - } - }, - { - "group": "edges", - "data": { - "id": "6ec2643b-9e71-c172-0d48-2f9dfc2244f2", - "source": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", - "target": "arn:aws:rds:eu-west-1:yyyyyyyyyyyy:cluster:testdbcluster" - } - }, - { - "group": "edges", - "data": { - "id": "aec1d9d4-a664-a730-ac64-74544f0c6462", - "source": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag=lambdaValue", - "target": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda" - } - }, - { - "group": "edges", - "data": { - "id": "04c1d9d4-a634-d15c-be56-cc9ca0f703d5", - "source": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag1=lambdaValue1", - "target": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda" - } - }, - { - "group": "edges", - "data": { - "id": "36c1d9d4-9f02-c839-abb1-4fb3a583e1eb", - "source": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-11111111111111111", - "target": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda" - } - }, - { - "group": "edges", - "data": { - "id": "3ec1d9d4-9f42-3a9e-5236-78c65ed1bb70", - "source": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-22222222222222222", - "target": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda" - } - }, - { - "group": "edges", - "data": { - "id": "5ac1d9d4-a3e8-5f80-7b12-f16f31d062d6", - "source": "arn:aws:iam::yyyyyyyyyyyy:role/testpolicy/inlinePolicy/testRole", - "target": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda" + { + "group": "edges", + "data": { + "id": "08c1d9d4-a220-1e6a-9adf-376b661dabf3", + "source": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", + "target": "arn:aws:iam::yyyyyyyyyyyy:role/testRole" + } + }, + { + "group": "edges", + "data": { + "id": "7cc1d9d4-a220-af84-968d-4a72d7de7804", + "source": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", + "target": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:security-group/sg-111111111111111" + } + }, + { + "group": "edges", + "data": { + "id": "6ec2643b-9e71-c172-0d48-2f9dfc2244f2", + "source": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda", + "target": "arn:aws:rds:eu-west-1:yyyyyyyyyyyy:cluster:testdbcluster" + } + }, + { + "group": "edges", + "data": { + "id": "aec1d9d4-a664-a730-ac64-74544f0c6462", + "source": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag=lambdaValue", + "target": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda" + } + }, + { + "group": "edges", + "data": { + "id": "04c1d9d4-a634-d15c-be56-cc9ca0f703d5", + "source": "arn:aws:tags::yyyyyyyyyyyy:tag/lambdaTag1=lambdaValue1", + "target": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda" + } + }, + { + "group": "edges", + "data": { + "id": "36c1d9d4-9f02-c839-abb1-4fb3a583e1eb", + "source": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-11111111111111111", + "target": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda" + } + }, + { + "group": "edges", + "data": { + "id": "3ec1d9d4-9f42-3a9e-5236-78c65ed1bb70", + "source": "arn:aws:ec2:eu-west-1:yyyyyyyyyyyy:network-interface/eni-22222222222222222", + "target": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda" + } + }, + { + "group": "edges", + "data": { + "id": "5ac1d9d4-a3e8-5f80-7b12-f16f31d062d6", + "source": "arn:aws:iam::yyyyyyyyyyyy:role/testpolicy/inlinePolicy/testRole", + "target": "arn:aws:lambda:eu-west-1:yyyyyyyyyyyy:function:testLambda" + } } - } -] \ No newline at end of file +] diff --git a/source/frontend/src/tests/vitest/Utils/ImageSelector.test.js b/source/frontend/src/tests/vitest/Utils/ImageSelector.test.js index 1b23f6dd..52025add 100644 --- a/source/frontend/src/tests/vitest/Utils/ImageSelector.test.js +++ b/source/frontend/src/tests/vitest/Utils/ImageSelector.test.js @@ -1,41 +1,40 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import { test, expect } from 'vitest' -import { fetchImage, fetchLogo } from '../../../Utils/ImageSelector'; +import {test, expect} from 'vitest'; +import {fetchImage, fetchLogo} from '../../../Utils/ImageSelector'; -test('fetches image with type' , () => { +test('fetches image with type', () => { const image = fetchImage('AWS::EC2::Instance'); expect(image).toMatch(`icons/Amazon-EC2_Instance_light-bg.svg`); -}) +}); -test('fetches image with type and status' , () => { +test('fetches image with type and status', () => { const image = fetchImage('AWS::EC2::Subnet', {status: 'status-warning'}); expect(image).toMatch(`icons/VPC-subnet-private_light-bg-warning.svg`); -}) +}); -test('fetches image with status' , () => { +test('fetches image with status', () => { const image = fetchImage(undefined, {status: 'status-warning'}); expect(image).toMatch(`icons/status-warning.svg`); -}) +}); -test('fetches nothing with undefined' , () => { +test('fetches nothing with undefined', () => { const image = fetchImage(undefined, undefined); - expect(image).toMatch('icons/default-icon.svg'); -}) + expect(image).toMatch('icons/default-icon.svg'); +}); -test('fetches nothing with not a real type' , () => { +test('fetches nothing with not a real type', () => { const image = fetchImage('AWS::EBS::Volume', undefined); - expect(image).toBeUndefined(); - -}) + expect(image).toBeUndefined(); +}); -test('fetches transparent logo' , () => { +test('fetches transparent logo', () => { const image = fetchLogo(true); expect(image).toMatch(`icons/AWS-Zoom-trans-bg.svg`); -}) +}); -test('fetches non-transparent logo' , () => { +test('fetches non-transparent logo', () => { const image = fetchLogo(false); expect(image).toMatch(`icons/AWS-Zoom_light-bg.svg`); -}) \ No newline at end of file +}); diff --git a/source/frontend/src/tests/vitest/Utils/Resources/CostCalculator.test.js b/source/frontend/src/tests/vitest/Utils/Resources/CostCalculator.test.js index 5f95e931..e639c450 100644 --- a/source/frontend/src/tests/vitest/Utils/Resources/CostCalculator.test.js +++ b/source/frontend/src/tests/vitest/Utils/Resources/CostCalculator.test.js @@ -1,45 +1,56 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import fs from 'node:fs' -import { test, expect } from 'vitest' -import { aggregateCostData, getCostData } from '../../../../Utils/Resources/CostCalculator' +import fs from 'node:fs'; +import {test, expect} from 'vitest'; +import { + aggregateCostData, + getCostData, +} from '../../../../Utils/Resources/CostCalculator'; import dbClusterData from './data/aggregateCostData/db-cluster-costing-test.json'; import defaultAggregateCostData from './data/aggregateCostData/default.json'; import defaultAggregateCostDataExpected from './data/aggregateCostData/default-expected.json'; -import {nodeWithCost, nodeWithoutCost, nodeWithCostButIgnoreFlagTrue } from './data/db-instance-node'; +import { + nodeWithCost, + nodeWithoutCost, + nodeWithCostButIgnoreFlagTrue, +} from './data/db-instance-node'; -test('calculate aggregated cost of nodes' , () => { +test('calculate aggregated cost of nodes', () => { const nodes = dbClusterData.filter(resource => !resource.edge); nodes.forEach(node => { - if(node.data.id === 'ebc5cd4c047867d5ab6154d07ff468f9') expect(node.data.cost).toEqual(62.98) - if(node.data.type === 'region') expect(node.data.cost).toEqual(0) - if(node.data.type === 'account') expect(node.data.cost).toEqual(0) - }) - aggregateCostData(nodes) + if (node.data.id === 'ebc5cd4c047867d5ab6154d07ff468f9') + expect(node.data.cost).toEqual(62.98); + if (node.data.type === 'region') expect(node.data.cost).toEqual(0); + if (node.data.type === 'account') expect(node.data.cost).toEqual(0); + }); + aggregateCostData(nodes); nodes.forEach(node => { - if(node.data.id === 'ebc5cd4c047867d5ab6154d07ff468f9') expect(node.data.cost).toEqual(62.98) - if(node.data.type === 'region') expect(node.data.cost).toEqual("62.98") - if(node.data.type === 'account') expect(node.data.cost).toEqual("62.98") - }) -}) + if (node.data.id === 'ebc5cd4c047867d5ab6154d07ff468f9') + expect(node.data.cost).toEqual(62.98); + if (node.data.type === 'region') + expect(node.data.cost).toEqual('62.98'); + if (node.data.type === 'account') + expect(node.data.cost).toEqual('62.98'); + }); +}); -test('calculate aggregated cost of nodes with multiple VPCs, subnets and AZs' , () => { +test('calculate aggregated cost of nodes with multiple VPCs, subnets and AZs', () => { const nodes = aggregateCostData(defaultAggregateCostData); expect(nodes).toEqual(defaultAggregateCostDataExpected); -}) +}); -test('get cost from api node response that has a cost' , () => { +test('get cost from api node response that has a cost', () => { const cost = getCostData(nodeWithCost); - expect(cost).toEqual(62.97600000000005) -}) + expect(cost).toEqual(62.97600000000005); +}); -test('get cost from api node response that has no cost' , () => { +test('get cost from api node response that has no cost', () => { const cost = getCostData(nodeWithoutCost); - expect(cost).toEqual(0) -}) + expect(cost).toEqual(0); +}); -test('get cost from api node response that has cost but ignore flag is true' , () => { +test('get cost from api node response that has cost but ignore flag is true', () => { const cost = getCostData(nodeWithCostButIgnoreFlagTrue); - expect(cost).toEqual(0) -}) \ No newline at end of file + expect(cost).toEqual(0); +}); diff --git a/source/frontend/src/tests/vitest/Utils/Resources/ResourceStateParser.test.js b/source/frontend/src/tests/vitest/Utils/Resources/ResourceStateParser.test.js index 0d29223f..d385d1f3 100644 --- a/source/frontend/src/tests/vitest/Utils/Resources/ResourceStateParser.test.js +++ b/source/frontend/src/tests/vitest/Utils/Resources/ResourceStateParser.test.js @@ -1,248 +1,248 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import { test, expect } from 'vitest' -import { getStateInformation } from '../../../../Utils/Resources/ResourceStateParser'; +import {test, expect} from 'vitest'; +import {getStateInformation} from '../../../../Utils/Resources/ResourceStateParser'; test('node comes through with Available state uppercase', () => { - const state = getStateInformation('Available'); - expect(state).toEqual({ - status: 'status-available', - text: 'available', - color: '#1D8102' - }); + const state = getStateInformation('Available'); + expect(state).toEqual({ + status: 'status-available', + text: 'available', + color: '#1D8102', + }); }); test('node comes through with available state lowercase', () => { - const state = getStateInformation('available'); - expect(state).toEqual({ - status: 'status-available', - text: 'available', - color: '#1D8102' - }); + const state = getStateInformation('available'); + expect(state).toEqual({ + status: 'status-available', + text: 'available', + color: '#1D8102', + }); }); test('node comes through with running state lowercase', () => { - const state = getStateInformation('running'); - expect(state).toEqual({ - status: 'status-available', - text: 'running', - color: '#1D8102' - }); + const state = getStateInformation('running'); + expect(state).toEqual({ + status: 'status-available', + text: 'running', + color: '#1D8102', + }); }); test('node comes through with running state uppercase', () => { - const state = getStateInformation('Running'); - expect(state).toEqual({ - status: 'status-available', - text: 'running', - color: '#1D8102' - }); + const state = getStateInformation('Running'); + expect(state).toEqual({ + status: 'status-available', + text: 'running', + color: '#1D8102', + }); }); test('node comes through with in-use state uppercase', () => { - const state = getStateInformation('In-Use'); - expect(state).toEqual({ - status: 'status-available', - text: 'in-use', - color: '#1D8102' - }); + const state = getStateInformation('In-Use'); + expect(state).toEqual({ + status: 'status-available', + text: 'in-use', + color: '#1D8102', + }); }); test('node comes through with in-use state lowercase', () => { - const state = getStateInformation('in-use'); - expect(state).toEqual({ - status: 'status-available', - text: 'in-use', - color: '#1D8102' - }); + const state = getStateInformation('in-use'); + expect(state).toEqual({ + status: 'status-available', + text: 'in-use', + color: '#1D8102', + }); }); test('node comes through with active state uppercase', () => { - const state = getStateInformation('Active'); - expect(state).toEqual({ - status: 'status-available', - text: 'active', - color: '#1D8102' - }); + const state = getStateInformation('Active'); + expect(state).toEqual({ + status: 'status-available', + text: 'active', + color: '#1D8102', + }); }); test('node comes through with active state lowercase', () => { - const state = getStateInformation('active'); - expect(state).toEqual({ - status: 'status-available', - text: 'active', - color: '#1D8102' - }); + const state = getStateInformation('active'); + expect(state).toEqual({ + status: 'status-available', + text: 'active', + color: '#1D8102', + }); }); test('node comes through with Stopped state uppercase', () => { - const state = getStateInformation('Stopped'); - expect(state).toEqual({ - status: 'status-negative', - text: 'stopped', - color: '#D13212' - }); + const state = getStateInformation('Stopped'); + expect(state).toEqual({ + status: 'status-negative', + text: 'stopped', + color: '#D13212', + }); }); test('node comes through with stopped state lowercase', () => { - const state = getStateInformation('stopped'); - expect(state).toEqual({ - status: 'status-negative', - text: 'stopped', - color: '#D13212' - }); + const state = getStateInformation('stopped'); + expect(state).toEqual({ + status: 'status-negative', + text: 'stopped', + color: '#D13212', + }); }); test('node comes through with stopping state uppercase', () => { - const state = getStateInformation('Stopping'); - expect(state).toEqual({ - status: 'status-negative', - text: 'stopping', - color: '#D13212' - }); + const state = getStateInformation('Stopping'); + expect(state).toEqual({ + status: 'status-negative', + text: 'stopping', + color: '#D13212', + }); }); test('node comes through with stopping state lowercase', () => { - const state = getStateInformation('stopping'); - expect(state).toEqual({ - status: 'status-negative', - text: 'stopping', - color: '#D13212' - }); + const state = getStateInformation('stopping'); + expect(state).toEqual({ + status: 'status-negative', + text: 'stopping', + color: '#D13212', + }); }); test('node comes through with shutting-down state uppercase', () => { - const state = getStateInformation('Shutting-Down'); - expect(state).toEqual({ - status: 'status-negative', - text: 'shutting-down', - color: '#D13212' - }); + const state = getStateInformation('Shutting-Down'); + expect(state).toEqual({ + status: 'status-negative', + text: 'shutting-down', + color: '#D13212', + }); }); test('node comes through with shutting-down state lowercase', () => { - const state = getStateInformation('shutting-down'); - expect(state).toEqual({ - status: 'status-negative', - text: 'shutting-down', - color: '#D13212' - }); + const state = getStateInformation('shutting-down'); + expect(state).toEqual({ + status: 'status-negative', + text: 'shutting-down', + color: '#D13212', + }); }); test('node comes through with terminated state uppercase', () => { - const state = getStateInformation('Terminated'); - expect(state).toEqual({ - status: 'status-negative', - text: 'terminated', - color: '#D13212' - }); + const state = getStateInformation('Terminated'); + expect(state).toEqual({ + status: 'status-negative', + text: 'terminated', + color: '#D13212', + }); }); test('node comes through with terminated state lowercase', () => { - const state = getStateInformation('terminated'); - expect(state).toEqual({ - status: 'status-negative', - text: 'terminated', - color: '#D13212' - }); + const state = getStateInformation('terminated'); + expect(state).toEqual({ + status: 'status-negative', + text: 'terminated', + color: '#D13212', + }); }); test('node comes through with deleted state uppercase', () => { - const state = getStateInformation('Deleted'); - expect(state).toEqual({ - status: 'status-negative', - text: 'deleted', - color: '#D13212' - }); + const state = getStateInformation('Deleted'); + expect(state).toEqual({ + status: 'status-negative', + text: 'deleted', + color: '#D13212', + }); }); test('node comes through with deleted state lowercase', () => { - const state = getStateInformation('deleted'); - expect(state).toEqual({ - status: 'status-negative', - text: 'deleted', - color: '#D13212' - }); + const state = getStateInformation('deleted'); + expect(state).toEqual({ + status: 'status-negative', + text: 'deleted', + color: '#D13212', + }); }); test('node comes through with failed state uppercase', () => { - const state = getStateInformation('Failed'); - expect(state).toEqual({ - status: 'status-negative', - text: 'failed', - color: '#D13212' - }); + const state = getStateInformation('Failed'); + expect(state).toEqual({ + status: 'status-negative', + text: 'failed', + color: '#D13212', + }); }); test('node comes through with failed state lowercase', () => { - const state = getStateInformation('failed'); - expect(state).toEqual({ - status: 'status-negative', - text: 'failed', - color: '#D13212' - }); + const state = getStateInformation('failed'); + expect(state).toEqual({ + status: 'status-negative', + text: 'failed', + color: '#D13212', + }); }); test('node comes through with pending state uppercase', () => { - const state = getStateInformation('Pending'); - expect(state).toEqual({ - status: 'status-warning', - text: 'pending', - color: '#FF9900' - }); + const state = getStateInformation('Pending'); + expect(state).toEqual({ + status: 'status-warning', + text: 'pending', + color: '#FF9900', + }); }); test('node comes through with pending state lowercase', () => { - const state = getStateInformation('pending'); - expect(state).toEqual({ - status: 'status-warning', - text: 'pending', - color: '#FF9900' - }); + const state = getStateInformation('pending'); + expect(state).toEqual({ + status: 'status-warning', + text: 'pending', + color: '#FF9900', + }); }); test('node comes through with provisioning state uppercase', () => { - const state = getStateInformation('Provisioning'); - expect(state).toEqual({ - status: 'status-warning', - text: 'provisioning', - color: '#FF9900' - }); + const state = getStateInformation('Provisioning'); + expect(state).toEqual({ + status: 'status-warning', + text: 'provisioning', + color: '#FF9900', + }); }); test('node comes through with provisioning state lowercase', () => { - const state = getStateInformation('provisioning'); - expect(state).toEqual({ - status: 'status-warning', - text: 'provisioning', - color: '#FF9900' - }); + const state = getStateInformation('provisioning'); + expect(state).toEqual({ + status: 'status-warning', + text: 'provisioning', + color: '#FF9900', + }); }); test('node comes through with undefined state', () => { - const state = getStateInformation(undefined); - expect(state).toEqual({ - status: 'status-warning', - text: 'no state data', - color: '#FF9900' - }); + const state = getStateInformation(undefined); + expect(state).toEqual({ + status: 'status-warning', + text: 'no state data', + color: '#FF9900', + }); }); test('node comes through with non-supported state', () => { - const state = getStateInformation('flapping'); - expect(state).toEqual({ - status: 'status-warning', - text: 'no state data', - color: '#FF9900' - }); + const state = getStateInformation('flapping'); + expect(state).toEqual({ + status: 'status-warning', + text: 'no state data', + color: '#FF9900', + }); }); test('node comes through with null', () => { - const state = getStateInformation(null); - expect(state).toEqual({ - status: 'status-warning', - text: 'no state data', - color: '#FF9900' - }); + const state = getStateInformation(null); + expect(state).toEqual({ + status: 'status-warning', + text: 'no state data', + color: '#FF9900', + }); }); diff --git a/source/frontend/src/tests/vitest/Utils/Resources/data/aggregateCostData/db-cluster-costing-test.json b/source/frontend/src/tests/vitest/Utils/Resources/data/aggregateCostData/db-cluster-costing-test.json index 25ab7a15..dfe565e2 100644 --- a/source/frontend/src/tests/vitest/Utils/Resources/data/aggregateCostData/db-cluster-costing-test.json +++ b/source/frontend/src/tests/vitest/Utils/Resources/data/aggregateCostData/db-cluster-costing-test.json @@ -1,361 +1,359 @@ [ - { - "edge": false, - "data": { - "id": "XXXXXXXXXXXX", - "level": 0, - "title": "XXXXXXXXXXXX", - "label": "XXXXXXXXXXXX - $0", - "plainLabel": "XXXXXXXXXXXX", - "type": "account", - "borderStyle": "solid", - "color": "#fff", - "borderColour": "#AAB7B8", - "opacity": "0", - "image": "/icons/AWS-Cloud-alt_light-bg.svg", - "cost": 0, - "children": true, - "accountColour": "rgba(178, 121, 8, 0.5)", - "regionColour": "rgba(9, 86, 99, 0.5)", - "aZColour": "#00A1C9" - }, - "classes": ["account", "removeAll"] - }, - { - "edge": false, - "data": { - "id": "eu-west-1-XXXXXXXXXXXX", - "parent": "XXXXXXXXXXXX", - "level": 1, - "title": "eu-west-1", - "label": "eu-west-1 - $0", - "plainLabel": "eu-west-1", - "type": "region", - "borderStyle": "solid", - "color": "#fff", - "borderColour": "#AAB7B8", - "opacity": "0", - "image": "/icons/Region_light-bg.svg", - "cost": 0, - "children": true, - "accountColour": "rgba(137, 46, 6, 0.5)", - "regionColour": "rgba(79, 16, 163, 0.5)", - "aZColour": "#00A1C9" + { + "edge": false, + "data": { + "id": "XXXXXXXXXXXX", + "level": 0, + "title": "XXXXXXXXXXXX", + "label": "XXXXXXXXXXXX - $0", + "plainLabel": "XXXXXXXXXXXX", + "type": "account", + "borderStyle": "solid", + "color": "#fff", + "borderColour": "#AAB7B8", + "opacity": "0", + "image": "/icons/AWS-Cloud-alt_light-bg.svg", + "cost": 0, + "children": true, + "accountColour": "rgba(178, 121, 8, 0.5)", + "regionColour": "rgba(9, 86, 99, 0.5)", + "aZColour": "#00A1C9" + }, + "classes": ["account", "removeAll"] }, - "classes": ["region", "removeAll"] - }, - { - "edge": false, - "data": { - "id": "eu-west-1b-eu-west-1-XXXXXXXXXXXX", - "parent": "eu-west-1-XXXXXXXXXXXX", - "level": 2, - "title": "eu-west-1b", - "label": "eu-west-1b - $0", - "plainLabel": "eu-west-1b", - "type": "availabilityZone", - "borderStyle": "solid", - "color": "#fff", - "borderColour": "#AAB7B8", - "opacity": "0", - "image": "/icons/availabilityZone.svg", - "cost": 0, - "children": true, - "accountColour": "rgba(137, 46, 6, 0.5)", - "regionColour": "rgba(9, 86, 99, 0.5)", - "aZColour": "#00A1C9" + { + "edge": false, + "data": { + "id": "eu-west-1-XXXXXXXXXXXX", + "parent": "XXXXXXXXXXXX", + "level": 1, + "title": "eu-west-1", + "label": "eu-west-1 - $0", + "plainLabel": "eu-west-1", + "type": "region", + "borderStyle": "solid", + "color": "#fff", + "borderColour": "#AAB7B8", + "opacity": "0", + "image": "/icons/Region_light-bg.svg", + "cost": 0, + "children": true, + "accountColour": "rgba(137, 46, 6, 0.5)", + "regionColour": "rgba(79, 16, 163, 0.5)", + "aZColour": "#00A1C9" + }, + "classes": ["region", "removeAll"] }, - "classes": ["availabilityZone", "removeAll"] - }, - { - "edge": false, - "data": { - "id": "DBInstance-eu-west-1b-eu-west-1-XXXXXXXXXXXX", - "parent": "eu-west-1b-eu-west-1-XXXXXXXXXXXX", - "level": 3, - "title": "DBInstance", - "label": "1x DBInstance - $0", - "plainLabel": "DBInstance", - "type": "type", - "borderStyle": "solid", - "color": "#fff", - "borderColour": "#AAB7B8", - "opacity": "0", - "image": "/icons/Amazon-RDS_Amazon-RDS_instance_light-bg-menu.svg", - "cost": 0, - "children": true, - "accountColour": "rgba(137, 46, 6, 0.5)", - "regionColour": "rgba(9, 86, 99, 0.5)", - "aZColour": "#00A1C9" + { + "edge": false, + "data": { + "id": "eu-west-1b-eu-west-1-XXXXXXXXXXXX", + "parent": "eu-west-1-XXXXXXXXXXXX", + "level": 2, + "title": "eu-west-1b", + "label": "eu-west-1b - $0", + "plainLabel": "eu-west-1b", + "type": "availabilityZone", + "borderStyle": "solid", + "color": "#fff", + "borderColour": "#AAB7B8", + "opacity": "0", + "image": "/icons/availabilityZone.svg", + "cost": 0, + "children": true, + "accountColour": "rgba(137, 46, 6, 0.5)", + "regionColour": "rgba(9, 86, 99, 0.5)", + "aZColour": "#00A1C9" + }, + "classes": ["availabilityZone", "removeAll"] }, - "classes": ["type", "removeAll"] - }, - { - "edge": false, - "data": { - "parent": "DBInstance-eu-west-1b-eu-west-1-XXXXXXXXXXXX", - "level": 4, - "id": "ebc5cd4c047867d5ab6154d07ff468f9", - "title": "TITLE", - "label": "TITLE...", - "shape": "image", - "type": "resource", - "accountColour": "rgba(178, 121, 8, 0.5)", - "regionColour": "rgba(79, 16, 163, 0.5)", - "color": "#1D8102", - "borderStyle": "dotted", - "borderColour": "#1D8102", - "borderOpacity": 0.25, - "borderSize": 1, - "opacity": "0", - "clickedId": "ebc5cd4c047867d5ab6154d07ff468f9", - "state": { - "status": "status-available", - "text": "available", - "color": "#1D8102" - }, - "image": "/icons/Amazon-Neptune_light-bg.svg", - "cost": 62.98, - "private": false, - "detailsComponent": { - "key": null, - "ref": null, - "props": { - "title": "Instance Details", - "configuration": "CONFIG" + { + "edge": false, + "data": { + "id": "DBInstance-eu-west-1b-eu-west-1-XXXXXXXXXXXX", + "parent": "eu-west-1b-eu-west-1-XXXXXXXXXXXX", + "level": 3, + "title": "DBInstance", + "label": "1x DBInstance - $0", + "plainLabel": "DBInstance", + "type": "type", + "borderStyle": "solid", + "color": "#fff", + "borderColour": "#AAB7B8", + "opacity": "0", + "image": "/icons/Amazon-RDS_Amazon-RDS_instance_light-bg-menu.svg", + "cost": 0, + "children": true, + "accountColour": "rgba(137, 46, 6, 0.5)", + "regionColour": "rgba(9, 86, 99, 0.5)", + "aZColour": "#00A1C9" }, - "_owner": null, - "_store": {} - }, - "resource": { - "id": "TITLE", - "name": "NAME", - "type": "AWS::RDS::DBInstance", - "tags": "TAGS", - "arn": "arn:aws:rds:eu-west-1:XXXXXXXXXXXX:db:NAME", - "region": "eu-west-1", - "accountId": "XXXXXXXXXXXX" - }, - "highlight": true, - "existing": false, - "properties": { - - } + "classes": ["type", "removeAll"] }, - "classes": [ - "resource", - null, - "highlight", - null, - null, - null, - "image", - "selectable", - "hoverover" - ] - }, - { - "edge": false, - "data": { - "id": "EnvironmentVariable-eu-west-1-XXXXXXXXXXXX", - "parent": "eu-west-1-XXXXXXXXXXXX", - "level": 2, - "title": "EnvironmentVariable", - "label": "1x EnvironmentVariable - $0", - "plainLabel": "EnvironmentVariable", - "type": "type", - "borderStyle": "solid", - "color": "#fff", - "borderColour": "#AAB7B8", - "opacity": "0", - "image": "/icons/Env-variable-light-bg.svg", - "cost": 0, - "children": true, - "accountColour": "rgba(137, 46, 6, 0.5)", - "regionColour": "rgba(9, 86, 99, 0.5)", - "aZColour": "#00A1C9" + { + "edge": false, + "data": { + "parent": "DBInstance-eu-west-1b-eu-west-1-XXXXXXXXXXXX", + "level": 4, + "id": "ebc5cd4c047867d5ab6154d07ff468f9", + "title": "TITLE", + "label": "TITLE...", + "shape": "image", + "type": "resource", + "accountColour": "rgba(178, 121, 8, 0.5)", + "regionColour": "rgba(79, 16, 163, 0.5)", + "color": "#1D8102", + "borderStyle": "dotted", + "borderColour": "#1D8102", + "borderOpacity": 0.25, + "borderSize": 1, + "opacity": "0", + "clickedId": "ebc5cd4c047867d5ab6154d07ff468f9", + "state": { + "status": "status-available", + "text": "available", + "color": "#1D8102" + }, + "image": "/icons/Amazon-Neptune_light-bg.svg", + "cost": 62.98, + "private": false, + "detailsComponent": { + "key": null, + "ref": null, + "props": { + "title": "Instance Details", + "configuration": "CONFIG" + }, + "_owner": null, + "_store": {} + }, + "resource": { + "id": "TITLE", + "name": "NAME", + "type": "AWS::RDS::DBInstance", + "tags": "TAGS", + "arn": "arn:aws:rds:eu-west-1:XXXXXXXXXXXX:db:NAME", + "region": "eu-west-1", + "accountId": "XXXXXXXXXXXX" + }, + "highlight": true, + "existing": false, + "properties": {} + }, + "classes": [ + "resource", + null, + "highlight", + null, + null, + null, + "image", + "selectable", + "hoverover" + ] }, - "classes": ["type", "removeAll"] - }, - { - "edge": false, - "data": { - "parent": "EnvironmentVariable-eu-west-1-XXXXXXXXXXXX", - "level": 3, - "id": "8c9c85e4ed8893d29378b98075d60fc6", - "title": "neptuneConnectURL:CLUSTER_ID.cluster-ADDRESS", - "label": "neptuneConne...", - "shape": "image", - "type": "resource", - "accountColour": "rgba(178, 121, 8, 0.5)", - "regionColour": "rgba(79, 16, 163, 0.5)", - "color": "#fff", - "borderStyle": "solid", - "borderColour": "#545B64", - "borderOpacity": 0.25, - "borderSize": 1, - "opacity": "0", - "clickedId": "8c9c85e4ed8893d29378b98075d60fc6", - "image": "/icons/Env-variable-light-bg.svg", - "cost": 0, - "private": false, - "resource": { - "id": "neptuneConnectURL_CLUSTER_ID.cluster-ADDRESS_XXXXXXXXXXXX_eu-west-1", - "type": "AWS::Lambda::EnvironmentVariable", - "region": "eu-west-1", - "accountId": "XXXXXXXXXXXX" - }, - "highlight": true, - "existing": false, - "properties": { - "accountId": "XXXXXXXXXXXX", - "resourceId": "neptuneConnectURL_CLUSTER_ID.cluster-ADDRESS_XXXXXXXXXXXX_eu-west-1", - "awsRegion": "eu-west-1", - "perspectiveBirthDate": "2020-02-25T14:52:27.455Z", - "linkedLambda": "gremlin", - "title": "neptuneConnectURL:CLUSTER_ID.cluster-ADDRESS", - "value": "CLUSTER_ID.cluster-ADDRESS", - "resourceType": "AWS::Lambda::EnvironmentVariable" - } + { + "edge": false, + "data": { + "id": "EnvironmentVariable-eu-west-1-XXXXXXXXXXXX", + "parent": "eu-west-1-XXXXXXXXXXXX", + "level": 2, + "title": "EnvironmentVariable", + "label": "1x EnvironmentVariable - $0", + "plainLabel": "EnvironmentVariable", + "type": "type", + "borderStyle": "solid", + "color": "#fff", + "borderColour": "#AAB7B8", + "opacity": "0", + "image": "/icons/Env-variable-light-bg.svg", + "cost": 0, + "children": true, + "accountColour": "rgba(137, 46, 6, 0.5)", + "regionColour": "rgba(9, 86, 99, 0.5)", + "aZColour": "#00A1C9" + }, + "classes": ["type", "removeAll"] }, - "classes": [ - "resource", - null, - "highlight", - null, - null, - null, - "image", - "selectable", - "hoverover" - ] - }, - { - "edge": false, - "data": { - "id": "DBCluster-eu-west-1-XXXXXXXXXXXX", - "parent": "eu-west-1-XXXXXXXXXXXX", - "level": 2, - "title": "DBCluster", - "label": "1x DBCluster - $0", - "plainLabel": "DBCluster", - "type": "type", - "borderStyle": "solid", - "color": "#fff", - "borderColour": "#AAB7B8", - "opacity": "0", - "image": "/icons/Amazon-DBCluster.svg", - "cost": 0, - "children": true, - "accountColour": "rgba(137, 46, 6, 0.5)", - "regionColour": "rgba(9, 86, 99, 0.5)", - "aZColour": "#00A1C9" + { + "edge": false, + "data": { + "parent": "EnvironmentVariable-eu-west-1-XXXXXXXXXXXX", + "level": 3, + "id": "8c9c85e4ed8893d29378b98075d60fc6", + "title": "neptuneConnectURL:CLUSTER_ID.cluster-ADDRESS", + "label": "neptuneConne...", + "shape": "image", + "type": "resource", + "accountColour": "rgba(178, 121, 8, 0.5)", + "regionColour": "rgba(79, 16, 163, 0.5)", + "color": "#fff", + "borderStyle": "solid", + "borderColour": "#545B64", + "borderOpacity": 0.25, + "borderSize": 1, + "opacity": "0", + "clickedId": "8c9c85e4ed8893d29378b98075d60fc6", + "image": "/icons/Env-variable-light-bg.svg", + "cost": 0, + "private": false, + "resource": { + "id": "neptuneConnectURL_CLUSTER_ID.cluster-ADDRESS_XXXXXXXXXXXX_eu-west-1", + "type": "AWS::Lambda::EnvironmentVariable", + "region": "eu-west-1", + "accountId": "XXXXXXXXXXXX" + }, + "highlight": true, + "existing": false, + "properties": { + "accountId": "XXXXXXXXXXXX", + "resourceId": "neptuneConnectURL_CLUSTER_ID.cluster-ADDRESS_XXXXXXXXXXXX_eu-west-1", + "awsRegion": "eu-west-1", + "perspectiveBirthDate": "2020-02-25T14:52:27.455Z", + "linkedLambda": "gremlin", + "title": "neptuneConnectURL:CLUSTER_ID.cluster-ADDRESS", + "value": "CLUSTER_ID.cluster-ADDRESS", + "resourceType": "AWS::Lambda::EnvironmentVariable" + } + }, + "classes": [ + "resource", + null, + "highlight", + null, + null, + null, + "image", + "selectable", + "hoverover" + ] }, - "classes": ["type", "removeAll"] - }, - { - "edge": false, - "data": { - "parent": "DBCluster-eu-west-1-XXXXXXXXXXXX", - "level": 3, - "id": "d9842531e9f0b7d801694190aa606e22", - "title": "CLUSTER_ID", - "label": "perspective-...", - "shape": "image", - "type": "resource", - "accountColour": "rgba(178, 121, 8, 0.5)", - "regionColour": "rgba(79, 16, 163, 0.5)", - "color": "#fff", - "borderStyle": "solid", - "borderColour": "#545B64", - "borderOpacity": 0.25, - "borderSize": 1, - "opacity": "0", - "clickedId": "d9842531e9f0b7d801694190aa606e22", - "image": "/icons/Amazon-DBCluster.svg", - "cost": 0, - "private": false, - "resource": { - "id": "CLUSTER_ID_eu-west-1_XXXXXXXXXXXX", - "type": "AWS::RDS::DBCluster", - "arn": "arn:aws:rds:eu-west-1:XXXXXXXXXXXX:cluster:CLUSTER_ID_eu-west-1_XXXXXXXXXXXX", - "region": "eu-west-1", - "accountId": "XXXXXXXXXXXX" - }, - "highlight": true, - "existing": false, - "properties": { - "temporary": "TEMPORARY", - "resourceId": "CLUSTER_ID_eu-west-1_XXXXXXXXXXXX", - "vpcSecurityGroups_Status_2": "active", - "associatedRoles": "[]", - "dbClusterMembers_PromotionTier_4": "1", - "availabilityZones": "eu-west-1c,eu-west-1a,eu-west-1b", - "title": "CLUSTER_ID", - "preferredBackupWindow": "02:00-03:00", - "deletionProtection": "false", - "dbClusterIdentifier": "CLUSTER_ID", - "dbClusterMembers": "CLUSTER_MEMBERS", - "endpoint": "CLUSTER_ID.cluster-ADDRESS", - "perspectiveBirthDate": "2020-02-25T14:52:08.580Z", - "engineMode": "provisioned", - "engine": "neptune", - "readerEndpoint": "CLUSTER_ID.cluster-ro-ADDRESS", - "earliestRestorableTime": "2020-01-28T12:08:07.818Z", - "arn": "arn:aws:rds:eu-west-1:XXXXXXXXXXXX:cluster:CLUSTER_ID_eu-west-1_XXXXXXXXXXXX", - "clusterCreateTime": "2020-01-28T12:07:32.983Z", - "dbClusterMembers_IsClusterWriter_2": "true", - "engineVersion": "1.0.2.1", - "awsRegion": "eu-west-1", - "multiAZ": "false", - "dbClusterMembers_DBClusterParameterGroupStatus_3": "in-sync", - "storageEncrypted": "true", - "vpcSecurityGroups_VpcSecurityGroupId_1": "SG_NAME", - "dBSubnetGroup": "SBNET_GRP", - "vpcSecurityGroups": "[{\"VpcSecurityGroupId\":\"SG_NAME\",\"Status\":\"active\"}]", - "httpEndpointEnabled": "false", - "hostedZoneId": "HOSTED_ZONE", - "accountId": "XXXXXXXXXXXX", - "dbClusterArn": "arn:aws:rds:eu-west-1:XXXXXXXXXXXX:cluster:CLUSTER_ID", - "port": "PORT", - "dbClusterMembers_DBInstanceIdentifier_1": "NAME", - "resourceType": "AWS::RDS::DBCluster" - } + { + "edge": false, + "data": { + "id": "DBCluster-eu-west-1-XXXXXXXXXXXX", + "parent": "eu-west-1-XXXXXXXXXXXX", + "level": 2, + "title": "DBCluster", + "label": "1x DBCluster - $0", + "plainLabel": "DBCluster", + "type": "type", + "borderStyle": "solid", + "color": "#fff", + "borderColour": "#AAB7B8", + "opacity": "0", + "image": "/icons/Amazon-DBCluster.svg", + "cost": 0, + "children": true, + "accountColour": "rgba(137, 46, 6, 0.5)", + "regionColour": "rgba(9, 86, 99, 0.5)", + "aZColour": "#00A1C9" + }, + "classes": ["type", "removeAll"] }, - "classes": [ - "resource", - null, - "highlight", - null, - "clicked", - null, - "image", - "selectable", - "hoverover" - ] - }, - { - "edge": true, - "data": { - "id": "d9842531e9f0b7d801694190aa606e22-ebc5cd4c047867d5ab6154d07ff468f9", - "label": "CLUSTER_ID-TITLE", - "source": "d9842531e9f0b7d801694190aa606e22", - "sourceMetadata": { "childIds": [] }, - "target": "ebc5cd4c047867d5ab6154d07ff468f9", - "targetMetadata": { "childIds": [] } + { + "edge": false, + "data": { + "parent": "DBCluster-eu-west-1-XXXXXXXXXXXX", + "level": 3, + "id": "d9842531e9f0b7d801694190aa606e22", + "title": "CLUSTER_ID", + "label": "perspective-...", + "shape": "image", + "type": "resource", + "accountColour": "rgba(178, 121, 8, 0.5)", + "regionColour": "rgba(79, 16, 163, 0.5)", + "color": "#fff", + "borderStyle": "solid", + "borderColour": "#545B64", + "borderOpacity": 0.25, + "borderSize": 1, + "opacity": "0", + "clickedId": "d9842531e9f0b7d801694190aa606e22", + "image": "/icons/Amazon-DBCluster.svg", + "cost": 0, + "private": false, + "resource": { + "id": "CLUSTER_ID_eu-west-1_XXXXXXXXXXXX", + "type": "AWS::RDS::DBCluster", + "arn": "arn:aws:rds:eu-west-1:XXXXXXXXXXXX:cluster:CLUSTER_ID_eu-west-1_XXXXXXXXXXXX", + "region": "eu-west-1", + "accountId": "XXXXXXXXXXXX" + }, + "highlight": true, + "existing": false, + "properties": { + "temporary": "TEMPORARY", + "resourceId": "CLUSTER_ID_eu-west-1_XXXXXXXXXXXX", + "vpcSecurityGroups_Status_2": "active", + "associatedRoles": "[]", + "dbClusterMembers_PromotionTier_4": "1", + "availabilityZones": "eu-west-1c,eu-west-1a,eu-west-1b", + "title": "CLUSTER_ID", + "preferredBackupWindow": "02:00-03:00", + "deletionProtection": "false", + "dbClusterIdentifier": "CLUSTER_ID", + "dbClusterMembers": "CLUSTER_MEMBERS", + "endpoint": "CLUSTER_ID.cluster-ADDRESS", + "perspectiveBirthDate": "2020-02-25T14:52:08.580Z", + "engineMode": "provisioned", + "engine": "neptune", + "readerEndpoint": "CLUSTER_ID.cluster-ro-ADDRESS", + "earliestRestorableTime": "2020-01-28T12:08:07.818Z", + "arn": "arn:aws:rds:eu-west-1:XXXXXXXXXXXX:cluster:CLUSTER_ID_eu-west-1_XXXXXXXXXXXX", + "clusterCreateTime": "2020-01-28T12:07:32.983Z", + "dbClusterMembers_IsClusterWriter_2": "true", + "engineVersion": "1.0.2.1", + "awsRegion": "eu-west-1", + "multiAZ": "false", + "dbClusterMembers_DBClusterParameterGroupStatus_3": "in-sync", + "storageEncrypted": "true", + "vpcSecurityGroups_VpcSecurityGroupId_1": "SG_NAME", + "dBSubnetGroup": "SBNET_GRP", + "vpcSecurityGroups": "[{\"VpcSecurityGroupId\":\"SG_NAME\",\"Status\":\"active\"}]", + "httpEndpointEnabled": "false", + "hostedZoneId": "HOSTED_ZONE", + "accountId": "XXXXXXXXXXXX", + "dbClusterArn": "arn:aws:rds:eu-west-1:XXXXXXXXXXXX:cluster:CLUSTER_ID", + "port": "PORT", + "dbClusterMembers_DBInstanceIdentifier_1": "NAME", + "resourceType": "AWS::RDS::DBCluster" + } + }, + "classes": [ + "resource", + null, + "highlight", + null, + "clicked", + null, + "image", + "selectable", + "hoverover" + ] }, - "classes": ["highlight"] - }, - { - "edge": true, - "data": { - "id": "d9842531e9f0b7d801694190aa606e22-8c9c85e4ed8893d29378b98075d60fc6", - "label": "CLUSTER_ID-neptuneConnectURL:CLUSTER_ID.cluster-ADDRESS", - "source": "d9842531e9f0b7d801694190aa606e22", - "sourceMetadata": { "childIds": [] }, - "target": "8c9c85e4ed8893d29378b98075d60fc6", - "targetMetadata": { "childIds": [] } + { + "edge": true, + "data": { + "id": "d9842531e9f0b7d801694190aa606e22-ebc5cd4c047867d5ab6154d07ff468f9", + "label": "CLUSTER_ID-TITLE", + "source": "d9842531e9f0b7d801694190aa606e22", + "sourceMetadata": {"childIds": []}, + "target": "ebc5cd4c047867d5ab6154d07ff468f9", + "targetMetadata": {"childIds": []} + }, + "classes": ["highlight"] }, - "classes": ["highlight"] - } + { + "edge": true, + "data": { + "id": "d9842531e9f0b7d801694190aa606e22-8c9c85e4ed8893d29378b98075d60fc6", + "label": "CLUSTER_ID-neptuneConnectURL:CLUSTER_ID.cluster-ADDRESS", + "source": "d9842531e9f0b7d801694190aa606e22", + "sourceMetadata": {"childIds": []}, + "target": "8c9c85e4ed8893d29378b98075d60fc6", + "targetMetadata": {"childIds": []} + }, + "classes": ["highlight"] + } ] diff --git a/source/frontend/src/tests/vitest/Utils/Resources/data/aggregateCostData/default-expected.json b/source/frontend/src/tests/vitest/Utils/Resources/data/aggregateCostData/default-expected.json index 4a0ab119..ea687463 100644 --- a/source/frontend/src/tests/vitest/Utils/Resources/data/aggregateCostData/default-expected.json +++ b/source/frontend/src/tests/vitest/Utils/Resources/data/aggregateCostData/default-expected.json @@ -1,1141 +1,1141 @@ [ - { - "data": { - "id": "xxxxxxxxxxxx", - "cost": "200.47", - "title": "xxxxxxxxxxxx", - "type": "account", - "label": "xxxxxxxxxxxx - $200.47" + { + "data": { + "id": "xxxxxxxxxxxx", + "cost": "200.47", + "title": "xxxxxxxxxxxx", + "type": "account", + "label": "xxxxxxxxxxxx - $200.47" + } + }, + { + "data": { + "id": "xxxxxxxxxxxx-eu-west-1", + "parent": "xxxxxxxxxxxx", + "cost": "200.47", + "title": "eu-west-1", + "type": "region", + "label": "eu-west-1 - $200.47" + } + }, + { + "data": { + "id": "xxxxxxxxxxxx-global", + "parent": "xxxxxxxxxxxx", + "cost": 0, + "title": "global", + "type": "region", + "label": "global - $0" + } + }, + { + "data": { + "id": "xxxxxxxxxxxx-eu-west-1-eu-west-1b", + "parent": "xxxxxxxxxxxx-eu-west-1", + "cost": "1.09", + "title": "eu-west-1b", + "type": "availabilityZone", + "label": "eu-west-1b - $1.09" + } + }, + { + "data": { + "id": "xxxxxxxxxxxx-eu-west-1-Multiple Availability Zones", + "parent": "xxxxxxxxxxxx-eu-west-1", + "cost": "0.00", + "title": "Multiple Availability Zones", + "type": "availabilityZone", + "label": "Multiple Availability Zones - $0.00" + } + }, + { + "data": { + "id": "xxxxxxxxxxxx-eu-west-1-eu-west-1a", + "parent": "xxxxxxxxxxxx-eu-west-1", + "cost": "2.23", + "title": "eu-west-1a", + "type": "availabilityZone", + "label": "eu-west-1a - $2.23" + } + }, + { + "data": { + "id": "xxxxxxxxxxxx-eu-west-1-eu-west-1c", + "parent": "xxxxxxxxxxxx-eu-west-1", + "cost": "1.27", + "title": "eu-west-1c", + "type": "availabilityZone", + "label": "eu-west-1c - $1.27" + } + }, + { + "data": { + "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111-Multiple Availability Zones", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111", + "cost": "0.00", + "title": "Multiple Availability Zones", + "type": "availabilityZone", + "label": "Multiple Availability Zones - $0.00" + } + }, + { + "data": { + "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111", + "parent": "xxxxxxxxxxxx-eu-west-1", + "cost": "47.16", + "title": "ecs-refarch", + "type": "vpc", + "label": "ecs-refarch - $47.16" + } + }, + { + "data": { + "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-22222222222222222-Multiple Availability Zones", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-22222222222222222", + "cost": "0.00", + "title": "Multiple Availability Zones", + "type": "availabilityZone", + "label": "Multiple Availability Zones - $0.00" + } + }, + { + "data": { + "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-22222222222222222", + "parent": "xxxxxxxxxxxx-eu-west-1", + "cost": "44.16", + "title": "vpc-22222222222222222", + "type": "vpc", + "label": "vpc-22222222222222222 - $44.16" + } + }, + { + "data": { + "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-33333333333333333-Multiple Availability Zones", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-33333333333333333", + "cost": "3.28", + "title": "Multiple Availability Zones", + "type": "availabilityZone", + "label": "Multiple Availability Zones - $3.28" + } + }, + { + "data": { + "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-33333333333333333", + "parent": "xxxxxxxxxxxx-eu-west-1", + "cost": "28.32", + "title": "eksctl-attractive-badger-1604015308-cluster/VPC", + "type": "vpc", + "label": "eksctl-attractive-badger-1604015308-cluster/VPC - $28.32" + } + }, + { + "data": { + "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-44444444444444444-Multiple Availability Zones", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-44444444444444444", + "cost": "0.00", + "title": "Multiple Availability Zones", + "type": "availabilityZone", + "label": "Multiple Availability Zones - $0.00" + } + }, + { + "data": { + "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-44444444444444444", + "parent": "xxxxxxxxxxxx-eu-west-1", + "cost": "76.24", + "title": "vpc-44444444444444444", + "type": "vpc", + "label": "vpc-44444444444444444 - $76.24" + } + }, + { + "data": { + "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111-eu-west-1a,eu-west-1b", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111", + "cost": "0.00", + "title": "eu-west-1a,eu-west-1b", + "type": "availabilityZone", + "label": "eu-west-1a,eu-west-1b - $0.00" + } + }, + { + "data": { + "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-33333333333333333-eu-west-1a,eu-west-1b,eu-west-1c", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-33333333333333333", + "cost": "0.00", + "title": "eu-west-1a,eu-west-1b,eu-west-1c", + "type": "availabilityZone", + "label": "eu-west-1a,eu-west-1b,eu-west-1c - $0.00" + } + }, + { + "data": { + "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-11111111111111111-eu-west-1b", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111", + "cost": "23.58", + "title": "eu-west-1b", + "type": "availabilityZone", + "label": "eu-west-1b - $23.58" + } + }, + { + "data": { + "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-11111111111111111", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-11111111111111111-eu-west-1b", + "cost": "23.58", + "title": "ecs-refarch Private Subnet (AZ2)", + "type": "subnet", + "label": "ecs-refarch Private Subnet (AZ2) - $23.58" + } + }, + { + "data": { + "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-22222222222222222-eu-west-1a", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111", + "cost": "23.58", + "title": "eu-west-1a", + "type": "availabilityZone", + "label": "eu-west-1a - $23.58" + } + }, + { + "data": { + "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-22222222222222222", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-22222222222222222-eu-west-1a", + "cost": "23.58", + "title": "ecs-refarch Private Subnet (AZ1)", + "type": "subnet", + "label": "ecs-refarch Private Subnet (AZ1) - $23.58" + } + }, + { + "data": { + "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-33333333333333333-eu-west-1b", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-22222222222222222", + "cost": "1.47", + "title": "eu-west-1b", + "type": "availabilityZone", + "label": "eu-west-1b - $1.47" + } + }, + { + "data": { + "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-33333333333333333", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-33333333333333333-eu-west-1b", + "cost": "1.47", + "title": "subnet-33333333333333333", + "type": "subnet", + "label": "subnet-33333333333333333 - $1.47" + } + }, + { + "data": { + "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-44444444444444444-eu-west-1c", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-33333333333333333", + "cost": "12.52", + "title": "eu-west-1c", + "type": "availabilityZone", + "label": "eu-west-1c - $12.52" + } + }, + { + "data": { + "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-44444444444444444", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-44444444444444444-eu-west-1c", + "cost": "12.52", + "title": "eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1C", + "type": "subnet", + "label": "eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1C - $12.52" + } + }, + { + "data": { + "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-555555555555555-eu-west-1a", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-33333333333333333", + "cost": "12.52", + "title": "eu-west-1a", + "type": "availabilityZone", + "label": "eu-west-1a - $12.52" + } + }, + { + "data": { + "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-555555555555555", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-555555555555555-eu-west-1a", + "cost": "12.52", + "title": "eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1A", + "type": "subnet", + "label": "eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1A - $12.52" + } + }, + { + "data": { + "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-66666666666666666-eu-west-1c", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-22222222222222222", + "cost": "40.18", + "title": "eu-west-1c", + "type": "availabilityZone", + "label": "eu-west-1c - $40.18" + } + }, + { + "data": { + "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-66666666666666666", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-66666666666666666-eu-west-1c", + "cost": "40.18", + "title": "subnet-66666666666666666", + "type": "subnet", + "label": "subnet-66666666666666666 - $40.18" + } + }, + { + "data": { + "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-77777777777777777-eu-west-1a", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-22222222222222222", + "cost": "2.51", + "title": "eu-west-1a", + "type": "availabilityZone", + "label": "eu-west-1a - $2.51" + } + }, + { + "data": { + "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-77777777777777777", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-77777777777777777-eu-west-1a", + "cost": "2.51", + "title": "subnet-77777777777777777", + "type": "subnet", + "label": "subnet-77777777777777777 - $2.51" + } + }, + { + "data": { + "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-88888888888888-eu-west-1a", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-44444444444444444", + "cost": "76.24", + "title": "eu-west-1a", + "type": "availabilityZone", + "label": "eu-west-1a - $76.24" + } + }, + { + "data": { + "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-88888888888888", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-88888888888888-eu-west-1a", + "cost": "76.24", + "title": "vpc-44444444444444444-private-a", + "type": "subnet", + "label": "vpc-44444444444444444-private-a - $76.24" + } + }, + { + "data": { + "id": "DBInstance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-88888888888888", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-88888888888888", + "cost": "76.24", + "title": "DBInstance", + "type": "type", + "label": "DBInstance - $76.24" + } + }, + { + "data": { + "id": "DBInstance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-66666666666666666", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-66666666666666666", + "cost": "40.18", + "title": "DBInstance", + "type": "type", + "label": "DBInstance - $40.18" + } + }, + { + "data": { + "id": "DBInstance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-77777777777777777", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-77777777777777777", + "cost": "2.51", + "title": "DBInstance", + "type": "type", + "label": "DBInstance - $2.51" + } + }, + { + "data": { + "id": "Instance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-44444444444444444", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-44444444444444444", + "cost": "12.52", + "title": "Instance", + "type": "type", + "label": "Instance - $12.52" + } + }, + { + "data": { + "id": "Instance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-11111111111111111", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-11111111111111111", + "cost": "23.58", + "title": "Instance", + "type": "type", + "label": "Instance - $23.58" + } + }, + { + "data": { + "id": "Instance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-22222222222222222", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-22222222222222222", + "cost": "23.58", + "title": "Instance", + "type": "type", + "label": "Instance - $23.58" + } + }, + { + "data": { + "id": "Instance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-555555555555555", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-555555555555555", + "cost": "12.52", + "title": "Instance", + "type": "type", + "label": "Instance - $12.52" + } + }, + { + "data": { + "id": "Instance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-33333333333333333", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-33333333333333333", + "cost": "1.47", + "title": "Instance", + "type": "type", + "label": "Instance - $1.47" + } + }, + { + "data": { + "id": "Volume-xxxxxxxxxxxx-eu-west-1-eu-west-1b", + "parent": "xxxxxxxxxxxx-eu-west-1-eu-west-1b", + "cost": "1.09", + "title": "Volume", + "type": "type", + "label": "Volume - $1.09" + } + }, + { + "data": { + "id": "NetworkInterface-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-11111111111111111", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-11111111111111111", + "cost": "0.00", + "title": "NetworkInterface", + "type": "type", + "label": "NetworkInterface - $0.00" + } + }, + { + "data": { + "id": "SecurityGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111", + "cost": "0.00", + "title": "SecurityGroup", + "type": "type", + "label": "SecurityGroup - $0.00" + } + }, + { + "data": { + "id": "Volume-xxxxxxxxxxxx-eu-west-1-eu-west-1a", + "parent": "xxxxxxxxxxxx-eu-west-1-eu-west-1a", + "cost": "2.23", + "title": "Volume", + "type": "type", + "label": "Volume - $2.23" + } + }, + { + "data": { + "id": "NetworkInterface-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-22222222222222222", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-22222222222222222", + "cost": "0.00", + "title": "NetworkInterface", + "type": "type", + "label": "NetworkInterface - $0.00" + } + }, + { + "data": { + "id": "NetworkInterface-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-33333333333333333", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-33333333333333333", + "cost": "0.00", + "title": "NetworkInterface", + "type": "type", + "label": "NetworkInterface - $0.00" + } + }, + { + "data": { + "id": "SecurityGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-22222222222222222", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-22222222222222222", + "cost": "0.00", + "title": "SecurityGroup", + "type": "type", + "label": "SecurityGroup - $0.00" + } + }, + { + "data": { + "id": "Volume-xxxxxxxxxxxx-eu-west-1-eu-west-1c", + "parent": "xxxxxxxxxxxx-eu-west-1-eu-west-1c", + "cost": "1.27", + "title": "Volume", + "type": "type", + "label": "Volume - $1.27" + } + }, + { + "data": { + "id": "NetworkInterface-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-44444444444444444", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-44444444444444444", + "cost": "0.00", + "title": "NetworkInterface", + "type": "type", + "label": "NetworkInterface - $0.00" + } + }, + { + "data": { + "id": "SecurityGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-33333333333333333", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-33333333333333333", + "cost": "0.00", + "title": "SecurityGroup", + "type": "type", + "label": "SecurityGroup - $0.00" + } + }, + { + "data": { + "id": "NetworkInterface-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-555555555555555", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-555555555555555", + "cost": "0.00", + "title": "NetworkInterface", + "type": "type", + "label": "NetworkInterface - $0.00" + } + }, + { + "data": { + "id": "DBSubnetGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-22222222222222222-Multiple Availability Zones", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-22222222222222222-Multiple Availability Zones", + "cost": "0.00", + "title": "DBSubnetGroup", + "type": "type", + "label": "DBSubnetGroup - $0.00" + } + }, + { + "data": { + "id": "DBSubnetGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-44444444444444444-Multiple Availability Zones", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-44444444444444444-Multiple Availability Zones", + "cost": "0.00", + "title": "DBSubnetGroup", + "type": "type", + "label": "DBSubnetGroup - $0.00" + } + }, + { + "data": { + "id": "SecurityGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-44444444444444444", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-44444444444444444", + "cost": "0.00", + "title": "SecurityGroup", + "type": "type", + "label": "SecurityGroup - $0.00" + } + }, + { + "data": { + "id": "DBCluster-xxxxxxxxxxxx-eu-west-1-Multiple Availability Zones", + "parent": "xxxxxxxxxxxx-eu-west-1-Multiple Availability Zones", + "cost": "0.00", + "title": "DBCluster", + "type": "type", + "label": "DBCluster - $0.00" + } + }, + { + "data": { + "id": "TargetGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111-Multiple Availability Zones", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111-Multiple Availability Zones", + "cost": "0.00", + "title": "TargetGroup", + "type": "type", + "label": "TargetGroup - $0.00" + } + }, + { + "data": { + "id": "ManagedInstanceInventory-xxxxxxxxxxxx-eu-west-1", + "parent": "xxxxxxxxxxxx-eu-west-1", + "cost": "0.00", + "title": "ManagedInstanceInventory", + "type": "type", + "label": "ManagedInstanceInventory - $0.00" + } + }, + { + "data": { + "id": "LoadBalancer-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-33333333333333333-Multiple Availability Zones", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-33333333333333333-Multiple Availability Zones", + "cost": "3.28", + "title": "LoadBalancer", + "type": "type", + "label": "LoadBalancer - $3.28" + } + }, + { + "data": { + "id": "AutoScalingGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111-eu-west-1a,eu-west-1b", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111-eu-west-1a,eu-west-1b", + "cost": "0.00", + "title": "AutoScalingGroup", + "type": "type", + "label": "AutoScalingGroup - $0.00" + } + }, + { + "data": { + "id": "Cluster-xxxxxxxxxxxx-eu-west-1", + "parent": "xxxxxxxxxxxx-eu-west-1", + "cost": "0.00", + "title": "Cluster", + "type": "type", + "label": "Cluster - $0.00" + } + }, + { + "data": { + "id": "AutoScalingGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-33333333333333333-eu-west-1a,eu-west-1b,eu-west-1c", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-33333333333333333-eu-west-1a,eu-west-1b,eu-west-1c", + "cost": "0.00", + "title": "AutoScalingGroup", + "type": "type", + "label": "AutoScalingGroup - $0.00" + } + }, + { + "data": { + "id": "arn:aws:rds:eu-west-1:xxxxxxxxxxxx:db:serverless-neptune-instance-1", + "parent": "DBInstance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-88888888888888", + "cost": "51.93", + "title": "serverless-neptune-instance-1", + "type": "resource", + "label": "serverless-neptune-instance-1 - $51.93" + } + }, + { + "data": { + "id": "arn:aws:rds:eu-west-1:xxxxxxxxxxxx:db:globaldb-instance-1", + "parent": "DBInstance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-66666666666666666", + "cost": "37.44", + "title": "globaldb-instance-1", + "type": "resource", + "label": "globaldb-instance-1 - $37.44" + } + }, + { + "data": { + "id": "arn:aws:rds:eu-west-1:xxxxxxxxxxxx:db:neptunedbinstance-opr3vy9xrbzh", + "parent": "DBInstance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-88888888888888", + "cost": "24.31", + "title": "workload-discovery-Instance", + "type": "resource", + "label": "workload-discovery-Instance - $24.31" + } + }, + { + "data": { + "id": "arn:aws:rds:eu-west-1:xxxxxxxxxxxx:db:database-2", + "parent": "DBInstance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-66666666666666666", + "cost": "2.74", + "title": "database-2", + "type": "resource", + "label": "database-2 - $2.74" + } + }, + { + "data": { + "id": "arn:aws:rds:eu-west-1:xxxxxxxxxxxx:db:database-1", + "parent": "DBInstance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-77777777777777777", + "cost": "2.51", + "title": "database-1", + "type": "resource", + "label": "database-1 - $2.51" + } + }, + { + "data": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:instance/i-094153cb430d51f61", + "parent": "Instance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-44444444444444444", + "cost": "12.52", + "title": "attractive-badger-1604015308-ng-608957a7-Node", + "type": "resource", + "label": "attractive-badger-1604015308-ng-608957a7-Node - $12.52" + } + }, + { + "data": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:instance/i-0568d352e5293f7ba", + "parent": "Instance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-11111111111111111", + "cost": "11.79", + "title": "ecs-refarch ECS host", + "type": "resource", + "label": "ecs-refarch ECS host - $11.79" + } + }, + { + "data": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:instance/i-0c90e93ebfc159e4a", + "parent": "Instance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-22222222222222222", + "cost": "11.79", + "title": "ecs-refarch ECS host", + "type": "resource", + "label": "ecs-refarch ECS host - $11.79" + } + }, + { + "data": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:instance/i-0d6dc57f292feae19", + "parent": "Instance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-555555555555555", + "cost": "12.52", + "title": "attractive-badger-1604015308-ng-608957a7-Node", + "type": "resource", + "label": "attractive-badger-1604015308-ng-608957a7-Node - $12.52" + } + }, + { + "data": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:instance/i-052f9f64097ac2769", + "parent": "Instance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-22222222222222222", + "cost": "11.79", + "title": "ecs-refarch ECS host", + "type": "resource", + "label": "ecs-refarch ECS host - $11.79" + } + }, + { + "data": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:instance/i-07d0c686a25e288b4", + "parent": "Instance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-33333333333333333", + "cost": "1.47", + "title": "i-07d0c686a25e288b4", + "type": "resource", + "label": "i-07d0c686a25e288b4 - $1.47" + } + }, + { + "data": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:instance/i-038f307ddeb9caaec", + "parent": "Instance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-11111111111111111", + "cost": "11.79", + "title": "ecs-refarch ECS host", + "type": "resource", + "label": "ecs-refarch ECS host - $11.79" + } + }, + { + "data": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:volume/vol-045aff0accd0447e8", + "parent": "Volume-xxxxxxxxxxxx-eu-west-1-eu-west-1b", + "cost": "0.13", + "title": "vol-045aff0accd0447e8", + "type": "resource", + "label": "vol-045aff0accd0447e8 - $0.13" + } + }, + { + "data": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:volume/vol-0c52a596424c16120", + "parent": "Volume-xxxxxxxxxxxx-eu-west-1-eu-west-1b", + "cost": "0.35", + "title": "vol-0c52a596424c16120", + "type": "resource", + "label": "vol-0c52a596424c16120 - $0.35" + } + }, + { + "data": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:network-interface/eni-04938e2eb5bfafe99", + "parent": "NetworkInterface-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-11111111111111111", + "cost": 0, + "title": "eni-04938e2eb5bfafe99", + "type": "resource", + "label": "eni-04938e2eb5bfafe99 - $0" + } + }, + { + "data": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:security-group/sg-0c02229ab89b7cad1", + "parent": "SecurityGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111", + "cost": 0, + "title": "ecs-refarch-ECS-Hosts", + "type": "resource", + "label": "ecs-refarch-ECS-Hosts - $0" + } + }, + { + "data": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:volume/vol-038dddb4899e7db85", + "parent": "Volume-xxxxxxxxxxxx-eu-west-1-eu-west-1a", + "cost": "0.35", + "title": "vol-038dddb4899e7db85", + "type": "resource", + "label": "vol-038dddb4899e7db85 - $0.35" + } + }, + { + "data": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:volume/vol-04e43f90baefcee69", + "parent": "Volume-xxxxxxxxxxxx-eu-west-1-eu-west-1a", + "cost": "0.13", + "title": "vol-04e43f90baefcee69", + "type": "resource", + "label": "vol-04e43f90baefcee69 - $0.13" + } + }, + { + "data": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:network-interface/eni-0f9bd2b79bd4f437f", + "parent": "NetworkInterface-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-22222222222222222", + "cost": 0, + "title": "eni-0f9bd2b79bd4f437f", + "type": "resource", + "label": "eni-0f9bd2b79bd4f437f - $0" + } + }, + { + "data": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:volume/vol-07dbcc0ff67f0c1bc", + "parent": "Volume-xxxxxxxxxxxx-eu-west-1-eu-west-1b", + "cost": "0.13", + "title": "vol-07dbcc0ff67f0c1bc", + "type": "resource", + "label": "vol-07dbcc0ff67f0c1bc - $0.13" + } + }, + { + "data": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:volume/vol-0c1ead3869a3d378f", + "parent": "Volume-xxxxxxxxxxxx-eu-west-1-eu-west-1b", + "cost": "0.35", + "title": "vol-0c1ead3869a3d378f", + "type": "resource", + "label": "vol-0c1ead3869a3d378f - $0.35" + } + }, + { + "data": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:network-interface/eni-0407eecd556929d77", + "parent": "NetworkInterface-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-11111111111111111", + "cost": 0, + "title": "eni-0407eecd556929d77", + "type": "resource", + "label": "eni-0407eecd556929d77 - $0" + } + }, + { + "data": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:volume/vol-00754e2b15f48c1f5", + "parent": "Volume-xxxxxxxxxxxx-eu-west-1-eu-west-1b", + "cost": "0.13", + "title": "vol-00754e2b15f48c1f5", + "type": "resource", + "label": "vol-00754e2b15f48c1f5 - $0.13" + } + }, + { + "data": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:network-interface/eni-01ef2774854f1b172", + "parent": "NetworkInterface-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-33333333333333333", + "cost": 0, + "title": "eni-01ef2774854f1b172", + "type": "resource", + "label": "eni-01ef2774854f1b172 - $0" + } + }, + { + "data": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:security-group/sg-0bc8a71ea5a172df2", + "parent": "SecurityGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-22222222222222222", + "cost": 0, + "title": "launch-wizard-3", + "type": "resource", + "label": "launch-wizard-3 - $0" + } + }, + { + "data": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:volume/vol-0b92d530489c1b24a", + "parent": "Volume-xxxxxxxxxxxx-eu-west-1-eu-west-1c", + "cost": "1.27", + "title": "vol-0b92d530489c1b24a", + "type": "resource", + "label": "vol-0b92d530489c1b24a - $1.27" + } + }, + { + "data": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:network-interface/eni-04f5460a4defeec00", + "parent": "NetworkInterface-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-44444444444444444", + "cost": 0, + "title": "eni-04f5460a4defeec00", + "type": "resource", + "label": "eni-04f5460a4defeec00 - $0" + } + }, + { + "data": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:network-interface/eni-034e2d32e58987e71", + "parent": "NetworkInterface-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-44444444444444444", + "cost": 0, + "title": "eni-034e2d32e58987e71", + "type": "resource", + "label": "eni-034e2d32e58987e71 - $0" + } + }, + { + "data": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:security-group/sg-0bcb1987c6667687b", + "parent": "SecurityGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-33333333333333333", + "cost": 0, + "title": "eks-cluster-sg-attractive-badger-1604015308-1273556504", + "type": "resource", + "label": "eks-cluster-sg-attractive-badger-1604015308-1273556504 - $0" + } + }, + { + "data": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:volume/vol-0677639d598ef8143", + "parent": "Volume-xxxxxxxxxxxx-eu-west-1-eu-west-1a", + "cost": "0.35", + "title": "vol-0677639d598ef8143", + "type": "resource", + "label": "vol-0677639d598ef8143 - $0.35" + } + }, + { + "data": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:volume/vol-0af527c0224f85642", + "parent": "Volume-xxxxxxxxxxxx-eu-west-1-eu-west-1a", + "cost": "0.13", + "title": "vol-0af527c0224f85642", + "type": "resource", + "label": "vol-0af527c0224f85642 - $0.13" + } + }, + { + "data": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:network-interface/eni-0c1c4432165335ad6", + "parent": "NetworkInterface-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-22222222222222222", + "cost": 0, + "title": "eni-0c1c4432165335ad6", + "type": "resource", + "label": "eni-0c1c4432165335ad6 - $0" + } + }, + { + "data": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:volume/vol-0e70971b0fc3b875f", + "parent": "Volume-xxxxxxxxxxxx-eu-west-1-eu-west-1a", + "cost": "1.27", + "title": "vol-0e70971b0fc3b875f", + "type": "resource", + "label": "vol-0e70971b0fc3b875f - $1.27" + } + }, + { + "data": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:network-interface/eni-0f82403202f592988", + "parent": "NetworkInterface-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-555555555555555", + "cost": 0, + "title": "eni-0f82403202f592988", + "type": "resource", + "label": "eni-0f82403202f592988 - $0" + } + }, + { + "data": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:network-interface/eni-042b61ae6b9558d21", + "parent": "NetworkInterface-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-555555555555555", + "cost": 0, + "title": "eni-042b61ae6b9558d21", + "type": "resource", + "label": "eni-042b61ae6b9558d21 - $0" + } + }, + { + "data": { + "id": "arn:aws:rds:eu-west-1:xxxxxxxxxxxx:subgrp:default-vpc-22222222222222222", + "parent": "DBSubnetGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-22222222222222222-Multiple Availability Zones", + "cost": 0, + "title": "default-vpc-22222222222222222", + "type": "resource", + "label": "default-vpc-22222222222222222 - $0" + } + }, + { + "data": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:security-group/sg-9a4a97d2", + "parent": "SecurityGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-22222222222222222", + "cost": 0, + "title": "default", + "type": "resource", + "label": "default - $0" + } + }, + { + "data": { + "id": "arn:aws:rds:eu-west-1:xxxxxxxxxxxx:subgrp:perspective-dev-sng", + "parent": "DBSubnetGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-44444444444444444-Multiple Availability Zones", + "cost": 0, + "title": "workload-discovery-subnet-group", + "type": "resource", + "label": "workload-discovery-subnet-group - $0" + } + }, + { + "data": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:security-group/sg-02df76c6e6753f6b3", + "parent": "SecurityGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-44444444444444444", + "cost": 0, + "title": "wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-neptune-sg", + "type": "resource", + "label": "wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-neptune-sg - $0" + } + }, + { + "data": { + "id": "arn:aws:rds:eu-west-1:xxxxxxxxxxxx:cluster:serverless-neptune", + "parent": "DBCluster-xxxxxxxxxxxx-eu-west-1-Multiple Availability Zones", + "cost": 0, + "title": "serverless-neptune", + "type": "resource", + "label": "serverless-neptune - $0" + } + }, + { + "data": { + "id": "arn:aws:rds:eu-west-1:xxxxxxxxxxxx:cluster:wdneptunedbcluster-0kfaa4tuyz1x", + "parent": "DBCluster-xxxxxxxxxxxx-eu-west-1-Multiple Availability Zones", + "cost": 0, + "title": "workload-discovery-Cluster", + "type": "resource", + "label": "workload-discovery-Cluster - $0" + } + }, + { + "data": { + "id": "arn:aws:rds:eu-west-1:xxxxxxxxxxxx:cluster:globaldb", + "parent": "DBCluster-xxxxxxxxxxxx-eu-west-1-Multiple Availability Zones", + "cost": 0, + "title": "globaldb", + "type": "resource", + "label": "globaldb - $0" + } + }, + { + "data": { + "id": "arn:aws:elasticloadbalancing:eu-west-1:xxxxxxxxxxxx:targetgroup/ecs-r-Targe-1CEAOHL7A3S92/91f8ad87a71b6d0c", + "parent": "TargetGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111-Multiple Availability Zones", + "cost": 0, + "title": "targetgroup/ecs-r-Targe-1CEAOHL7A3S92/91f8ad87a71b6d0c", + "type": "resource", + "label": "targetgroup/ecs-r-Targe-1CEAOHL7A3S92/91f8ad87a71b6d0c - $0" + } + }, + { + "data": { + "id": "arn:aws:ssm:eu-west-1:xxxxxxxxxxxx:managed-instance-inventory/i-038f307ddeb9caaec", + "parent": "ManagedInstanceInventory-xxxxxxxxxxxx-eu-west-1", + "cost": 0, + "title": "arn:aws:ssm:eu-west-1:xxxxxxxxxxxx:managed-instance-inventory/i-038f307ddeb9caaec", + "type": "resource", + "label": "arn:aws:ssm:eu-west-1:xxxxxxxxxxxx:managed-instance-inventory/i-038f307ddeb9caaec - $0" + } + }, + { + "data": { + "id": "arn:aws:ssm:eu-west-1:xxxxxxxxxxxx:managed-instance-inventory/i-052f9f64097ac2769", + "parent": "ManagedInstanceInventory-xxxxxxxxxxxx-eu-west-1", + "cost": 0, + "title": "arn:aws:ssm:eu-west-1:xxxxxxxxxxxx:managed-instance-inventory/i-052f9f64097ac2769", + "type": "resource", + "label": "arn:aws:ssm:eu-west-1:xxxxxxxxxxxx:managed-instance-inventory/i-052f9f64097ac2769 - $0" + } + }, + { + "data": { + "id": "arn:aws:ssm:eu-west-1:xxxxxxxxxxxx:managed-instance-inventory/i-0568d352e5293f7ba", + "parent": "ManagedInstanceInventory-xxxxxxxxxxxx-eu-west-1", + "cost": 0, + "title": "arn:aws:ssm:eu-west-1:xxxxxxxxxxxx:managed-instance-inventory/i-0568d352e5293f7ba", + "type": "resource", + "label": "arn:aws:ssm:eu-west-1:xxxxxxxxxxxx:managed-instance-inventory/i-0568d352e5293f7ba - $0" + } + }, + { + "data": { + "id": "arn:aws:elasticloadbalancing:eu-west-1:xxxxxxxxxxxx:targetgroup/ecs-r-Targe-WGHBKNSPECN5/4ded139adab8201e", + "parent": "TargetGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111-Multiple Availability Zones", + "cost": 0, + "title": "targetgroup/ecs-r-Targe-WGHBKNSPECN5/4ded139adab8201e", + "type": "resource", + "label": "targetgroup/ecs-r-Targe-WGHBKNSPECN5/4ded139adab8201e - $0" + } + }, + { + "data": { + "id": "arn:aws:elasticloadbalancing:eu-west-1:xxxxxxxxxxxx:loadbalancer/a3af06af9830647219ca4bb76e335070", + "parent": "LoadBalancer-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-33333333333333333-Multiple Availability Zones", + "cost": "3.28", + "title": "a3af06af9830647219ca4bb76e335070", + "type": "resource", + "label": "a3af06af9830647219ca4bb76e335070 - $3.28" + } + }, + { + "data": { + "id": "arn:aws:ssm:eu-west-1:xxxxxxxxxxxx:managed-instance-inventory/i-0c90e93ebfc159e4a", + "parent": "ManagedInstanceInventory-xxxxxxxxxxxx-eu-west-1", + "cost": 0, + "title": "arn:aws:ssm:eu-west-1:xxxxxxxxxxxx:managed-instance-inventory/i-0c90e93ebfc159e4a", + "type": "resource", + "label": "arn:aws:ssm:eu-west-1:xxxxxxxxxxxx:managed-instance-inventory/i-0c90e93ebfc159e4a - $0" + } + }, + { + "data": { + "id": "arn:aws:autoscaling:eu-west-1:xxxxxxxxxxxx:autoScalingGroup:afb5ee16-414e-4850-a65a-03b6f80e0a5b:autoScalingGroupName/ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD", + "parent": "AutoScalingGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111-eu-west-1a,eu-west-1b", + "cost": 0, + "title": "ecs-refarch ECS host", + "type": "resource", + "label": "ecs-refarch ECS host - $0" + } + }, + { + "data": { + "id": "arn:aws:ecs:eu-west-1:xxxxxxxxxxxx:cluster/ecs-refarch", + "parent": "Cluster-xxxxxxxxxxxx-eu-west-1", + "cost": 0, + "title": "ecs-refarch", + "type": "resource", + "label": "ecs-refarch - $0" + } + }, + { + "data": { + "id": "arn:aws:autoscaling:eu-west-1:xxxxxxxxxxxx:autoScalingGroup:cc4a478a-ce27-43ad-b468-3b5f3a4013e6:autoScalingGroupName/eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3", + "parent": "AutoScalingGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-33333333333333333-eu-west-1a,eu-west-1b,eu-west-1c", + "cost": 0, + "title": "eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3", + "type": "resource", + "label": "eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3 - $0" + } } - }, - { - "data": { - "id": "xxxxxxxxxxxx-eu-west-1", - "parent": "xxxxxxxxxxxx", - "cost": "200.47", - "title": "eu-west-1", - "type": "region", - "label": "eu-west-1 - $200.47" - } - }, - { - "data": { - "id": "xxxxxxxxxxxx-global", - "parent": "xxxxxxxxxxxx", - "cost": 0, - "title": "global", - "type": "region", - "label": "global - $0" - } - }, - { - "data": { - "id": "xxxxxxxxxxxx-eu-west-1-eu-west-1b", - "parent": "xxxxxxxxxxxx-eu-west-1", - "cost": "1.09", - "title": "eu-west-1b", - "type": "availabilityZone", - "label": "eu-west-1b - $1.09" - } - }, - { - "data": { - "id": "xxxxxxxxxxxx-eu-west-1-Multiple Availability Zones", - "parent": "xxxxxxxxxxxx-eu-west-1", - "cost": "0.00", - "title": "Multiple Availability Zones", - "type": "availabilityZone", - "label": "Multiple Availability Zones - $0.00" - } - }, - { - "data": { - "id": "xxxxxxxxxxxx-eu-west-1-eu-west-1a", - "parent": "xxxxxxxxxxxx-eu-west-1", - "cost": "2.23", - "title": "eu-west-1a", - "type": "availabilityZone", - "label": "eu-west-1a - $2.23" - } - }, - { - "data": { - "id": "xxxxxxxxxxxx-eu-west-1-eu-west-1c", - "parent": "xxxxxxxxxxxx-eu-west-1", - "cost": "1.27", - "title": "eu-west-1c", - "type": "availabilityZone", - "label": "eu-west-1c - $1.27" - } - }, - { - "data": { - "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111-Multiple Availability Zones", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111", - "cost": "0.00", - "title": "Multiple Availability Zones", - "type": "availabilityZone", - "label": "Multiple Availability Zones - $0.00" - } - }, - { - "data": { - "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111", - "parent": "xxxxxxxxxxxx-eu-west-1", - "cost": "47.16", - "title": "ecs-refarch", - "type": "vpc", - "label": "ecs-refarch - $47.16" - } - }, - { - "data": { - "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-22222222222222222-Multiple Availability Zones", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-22222222222222222", - "cost": "0.00", - "title": "Multiple Availability Zones", - "type": "availabilityZone", - "label": "Multiple Availability Zones - $0.00" - } - }, - { - "data": { - "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-22222222222222222", - "parent": "xxxxxxxxxxxx-eu-west-1", - "cost": "44.16", - "title": "vpc-22222222222222222", - "type": "vpc", - "label": "vpc-22222222222222222 - $44.16" - } - }, - { - "data": { - "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-33333333333333333-Multiple Availability Zones", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-33333333333333333", - "cost": "3.28", - "title": "Multiple Availability Zones", - "type": "availabilityZone", - "label": "Multiple Availability Zones - $3.28" - } - }, - { - "data": { - "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-33333333333333333", - "parent": "xxxxxxxxxxxx-eu-west-1", - "cost": "28.32", - "title": "eksctl-attractive-badger-1604015308-cluster/VPC", - "type": "vpc", - "label": "eksctl-attractive-badger-1604015308-cluster/VPC - $28.32" - } - }, - { - "data": { - "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-44444444444444444-Multiple Availability Zones", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-44444444444444444", - "cost": "0.00", - "title": "Multiple Availability Zones", - "type": "availabilityZone", - "label": "Multiple Availability Zones - $0.00" - } - }, - { - "data": { - "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-44444444444444444", - "parent": "xxxxxxxxxxxx-eu-west-1", - "cost": "76.24", - "title": "vpc-44444444444444444", - "type": "vpc", - "label": "vpc-44444444444444444 - $76.24" - } - }, - { - "data": { - "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111-eu-west-1a,eu-west-1b", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111", - "cost": "0.00", - "title": "eu-west-1a,eu-west-1b", - "type": "availabilityZone", - "label": "eu-west-1a,eu-west-1b - $0.00" - } - }, - { - "data": { - "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-33333333333333333-eu-west-1a,eu-west-1b,eu-west-1c", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-33333333333333333", - "cost": "0.00", - "title": "eu-west-1a,eu-west-1b,eu-west-1c", - "type": "availabilityZone", - "label": "eu-west-1a,eu-west-1b,eu-west-1c - $0.00" - } - }, - { - "data": { - "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-11111111111111111-eu-west-1b", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111", - "cost": "23.58", - "title": "eu-west-1b", - "type": "availabilityZone", - "label": "eu-west-1b - $23.58" - } - }, - { - "data": { - "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-11111111111111111", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-11111111111111111-eu-west-1b", - "cost": "23.58", - "title": "ecs-refarch Private Subnet (AZ2)", - "type": "subnet", - "label": "ecs-refarch Private Subnet (AZ2) - $23.58" - } - }, - { - "data": { - "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-22222222222222222-eu-west-1a", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111", - "cost": "23.58", - "title": "eu-west-1a", - "type": "availabilityZone", - "label": "eu-west-1a - $23.58" - } - }, - { - "data": { - "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-22222222222222222", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-22222222222222222-eu-west-1a", - "cost": "23.58", - "title": "ecs-refarch Private Subnet (AZ1)", - "type": "subnet", - "label": "ecs-refarch Private Subnet (AZ1) - $23.58" - } - }, - { - "data": { - "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-33333333333333333-eu-west-1b", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-22222222222222222", - "cost": "1.47", - "title": "eu-west-1b", - "type": "availabilityZone", - "label": "eu-west-1b - $1.47" - } - }, - { - "data": { - "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-33333333333333333", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-33333333333333333-eu-west-1b", - "cost": "1.47", - "title": "subnet-33333333333333333", - "type": "subnet", - "label": "subnet-33333333333333333 - $1.47" - } - }, - { - "data": { - "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-44444444444444444-eu-west-1c", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-33333333333333333", - "cost": "12.52", - "title": "eu-west-1c", - "type": "availabilityZone", - "label": "eu-west-1c - $12.52" - } - }, - { - "data": { - "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-44444444444444444", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-44444444444444444-eu-west-1c", - "cost": "12.52", - "title": "eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1C", - "type": "subnet", - "label": "eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1C - $12.52" - } - }, - { - "data": { - "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-555555555555555-eu-west-1a", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-33333333333333333", - "cost": "12.52", - "title": "eu-west-1a", - "type": "availabilityZone", - "label": "eu-west-1a - $12.52" - } - }, - { - "data": { - "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-555555555555555", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-555555555555555-eu-west-1a", - "cost": "12.52", - "title": "eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1A", - "type": "subnet", - "label": "eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1A - $12.52" - } - }, - { - "data": { - "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-66666666666666666-eu-west-1c", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-22222222222222222", - "cost": "40.18", - "title": "eu-west-1c", - "type": "availabilityZone", - "label": "eu-west-1c - $40.18" - } - }, - { - "data": { - "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-66666666666666666", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-66666666666666666-eu-west-1c", - "cost": "40.18", - "title": "subnet-66666666666666666", - "type": "subnet", - "label": "subnet-66666666666666666 - $40.18" - } - }, - { - "data": { - "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-77777777777777777-eu-west-1a", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-22222222222222222", - "cost": "2.51", - "title": "eu-west-1a", - "type": "availabilityZone", - "label": "eu-west-1a - $2.51" - } - }, - { - "data": { - "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-77777777777777777", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-77777777777777777-eu-west-1a", - "cost": "2.51", - "title": "subnet-77777777777777777", - "type": "subnet", - "label": "subnet-77777777777777777 - $2.51" - } - }, - { - "data": { - "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-88888888888888-eu-west-1a", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-44444444444444444", - "cost": "76.24", - "title": "eu-west-1a", - "type": "availabilityZone", - "label": "eu-west-1a - $76.24" - } - }, - { - "data": { - "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-88888888888888", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-88888888888888-eu-west-1a", - "cost": "76.24", - "title": "vpc-44444444444444444-private-a", - "type": "subnet", - "label": "vpc-44444444444444444-private-a - $76.24" - } - }, - { - "data": { - "id": "DBInstance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-88888888888888", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-88888888888888", - "cost": "76.24", - "title": "DBInstance", - "type": "type", - "label": "DBInstance - $76.24" - } - }, - { - "data": { - "id": "DBInstance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-66666666666666666", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-66666666666666666", - "cost": "40.18", - "title": "DBInstance", - "type": "type", - "label": "DBInstance - $40.18" - } - }, - { - "data": { - "id": "DBInstance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-77777777777777777", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-77777777777777777", - "cost": "2.51", - "title": "DBInstance", - "type": "type", - "label": "DBInstance - $2.51" - } - }, - { - "data": { - "id": "Instance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-44444444444444444", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-44444444444444444", - "cost": "12.52", - "title": "Instance", - "type": "type", - "label": "Instance - $12.52" - } - }, - { - "data": { - "id": "Instance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-11111111111111111", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-11111111111111111", - "cost": "23.58", - "title": "Instance", - "type": "type", - "label": "Instance - $23.58" - } - }, - { - "data": { - "id": "Instance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-22222222222222222", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-22222222222222222", - "cost": "23.58", - "title": "Instance", - "type": "type", - "label": "Instance - $23.58" - } - }, - { - "data": { - "id": "Instance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-555555555555555", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-555555555555555", - "cost": "12.52", - "title": "Instance", - "type": "type", - "label": "Instance - $12.52" - } - }, - { - "data": { - "id": "Instance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-33333333333333333", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-33333333333333333", - "cost": "1.47", - "title": "Instance", - "type": "type", - "label": "Instance - $1.47" - } - }, - { - "data": { - "id": "Volume-xxxxxxxxxxxx-eu-west-1-eu-west-1b", - "parent": "xxxxxxxxxxxx-eu-west-1-eu-west-1b", - "cost": "1.09", - "title": "Volume", - "type": "type", - "label": "Volume - $1.09" - } - }, - { - "data": { - "id": "NetworkInterface-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-11111111111111111", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-11111111111111111", - "cost": "0.00", - "title": "NetworkInterface", - "type": "type", - "label": "NetworkInterface - $0.00" - } - }, - { - "data": { - "id": "SecurityGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111", - "cost": "0.00", - "title": "SecurityGroup", - "type": "type", - "label": "SecurityGroup - $0.00" - } - }, - { - "data": { - "id": "Volume-xxxxxxxxxxxx-eu-west-1-eu-west-1a", - "parent": "xxxxxxxxxxxx-eu-west-1-eu-west-1a", - "cost": "2.23", - "title": "Volume", - "type": "type", - "label": "Volume - $2.23" - } - }, - { - "data": { - "id": "NetworkInterface-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-22222222222222222", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-22222222222222222", - "cost": "0.00", - "title": "NetworkInterface", - "type": "type", - "label": "NetworkInterface - $0.00" - } - }, - { - "data": { - "id": "NetworkInterface-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-33333333333333333", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-33333333333333333", - "cost": "0.00", - "title": "NetworkInterface", - "type": "type", - "label": "NetworkInterface - $0.00" - } - }, - { - "data": { - "id": "SecurityGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-22222222222222222", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-22222222222222222", - "cost": "0.00", - "title": "SecurityGroup", - "type": "type", - "label": "SecurityGroup - $0.00" - } - }, - { - "data": { - "id": "Volume-xxxxxxxxxxxx-eu-west-1-eu-west-1c", - "parent": "xxxxxxxxxxxx-eu-west-1-eu-west-1c", - "cost": "1.27", - "title": "Volume", - "type": "type", - "label": "Volume - $1.27" - } - }, - { - "data": { - "id": "NetworkInterface-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-44444444444444444", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-44444444444444444", - "cost": "0.00", - "title": "NetworkInterface", - "type": "type", - "label": "NetworkInterface - $0.00" - } - }, - { - "data": { - "id": "SecurityGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-33333333333333333", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-33333333333333333", - "cost": "0.00", - "title": "SecurityGroup", - "type": "type", - "label": "SecurityGroup - $0.00" - } - }, - { - "data": { - "id": "NetworkInterface-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-555555555555555", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-555555555555555", - "cost": "0.00", - "title": "NetworkInterface", - "type": "type", - "label": "NetworkInterface - $0.00" - } - }, - { - "data": { - "id": "DBSubnetGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-22222222222222222-Multiple Availability Zones", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-22222222222222222-Multiple Availability Zones", - "cost": "0.00", - "title": "DBSubnetGroup", - "type": "type", - "label": "DBSubnetGroup - $0.00" - } - }, - { - "data": { - "id": "DBSubnetGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-44444444444444444-Multiple Availability Zones", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-44444444444444444-Multiple Availability Zones", - "cost": "0.00", - "title": "DBSubnetGroup", - "type": "type", - "label": "DBSubnetGroup - $0.00" - } - }, - { - "data": { - "id": "SecurityGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-44444444444444444", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-44444444444444444", - "cost": "0.00", - "title": "SecurityGroup", - "type": "type", - "label": "SecurityGroup - $0.00" - } - }, - { - "data": { - "id": "DBCluster-xxxxxxxxxxxx-eu-west-1-Multiple Availability Zones", - "parent": "xxxxxxxxxxxx-eu-west-1-Multiple Availability Zones", - "cost": "0.00", - "title": "DBCluster", - "type": "type", - "label": "DBCluster - $0.00" - } - }, - { - "data": { - "id": "TargetGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111-Multiple Availability Zones", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111-Multiple Availability Zones", - "cost": "0.00", - "title": "TargetGroup", - "type": "type", - "label": "TargetGroup - $0.00" - } - }, - { - "data": { - "id": "ManagedInstanceInventory-xxxxxxxxxxxx-eu-west-1", - "parent": "xxxxxxxxxxxx-eu-west-1", - "cost": "0.00", - "title": "ManagedInstanceInventory", - "type": "type", - "label": "ManagedInstanceInventory - $0.00" - } - }, - { - "data": { - "id": "LoadBalancer-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-33333333333333333-Multiple Availability Zones", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-33333333333333333-Multiple Availability Zones", - "cost": "3.28", - "title": "LoadBalancer", - "type": "type", - "label": "LoadBalancer - $3.28" - } - }, - { - "data": { - "id": "AutoScalingGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111-eu-west-1a,eu-west-1b", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111-eu-west-1a,eu-west-1b", - "cost": "0.00", - "title": "AutoScalingGroup", - "type": "type", - "label": "AutoScalingGroup - $0.00" - } - }, - { - "data": { - "id": "Cluster-xxxxxxxxxxxx-eu-west-1", - "parent": "xxxxxxxxxxxx-eu-west-1", - "cost": "0.00", - "title": "Cluster", - "type": "type", - "label": "Cluster - $0.00" - } - }, - { - "data": { - "id": "AutoScalingGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-33333333333333333-eu-west-1a,eu-west-1b,eu-west-1c", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-33333333333333333-eu-west-1a,eu-west-1b,eu-west-1c", - "cost": "0.00", - "title": "AutoScalingGroup", - "type": "type", - "label": "AutoScalingGroup - $0.00" - } - }, - { - "data": { - "id": "arn:aws:rds:eu-west-1:xxxxxxxxxxxx:db:serverless-neptune-instance-1", - "parent": "DBInstance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-88888888888888", - "cost": "51.93", - "title": "serverless-neptune-instance-1", - "type": "resource", - "label": "serverless-neptune-instance-1 - $51.93" - } - }, - { - "data": { - "id": "arn:aws:rds:eu-west-1:xxxxxxxxxxxx:db:globaldb-instance-1", - "parent": "DBInstance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-66666666666666666", - "cost": "37.44", - "title": "globaldb-instance-1", - "type": "resource", - "label": "globaldb-instance-1 - $37.44" - } - }, - { - "data": { - "id": "arn:aws:rds:eu-west-1:xxxxxxxxxxxx:db:neptunedbinstance-opr3vy9xrbzh", - "parent": "DBInstance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-88888888888888", - "cost": "24.31", - "title": "workload-discovery-Instance", - "type": "resource", - "label": "workload-discovery-Instance - $24.31" - } - }, - { - "data": { - "id": "arn:aws:rds:eu-west-1:xxxxxxxxxxxx:db:database-2", - "parent": "DBInstance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-66666666666666666", - "cost": "2.74", - "title": "database-2", - "type": "resource", - "label": "database-2 - $2.74" - } - }, - { - "data": { - "id": "arn:aws:rds:eu-west-1:xxxxxxxxxxxx:db:database-1", - "parent": "DBInstance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-77777777777777777", - "cost": "2.51", - "title": "database-1", - "type": "resource", - "label": "database-1 - $2.51" - } - }, - { - "data": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:instance/i-094153cb430d51f61", - "parent": "Instance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-44444444444444444", - "cost": "12.52", - "title": "attractive-badger-1604015308-ng-608957a7-Node", - "type": "resource", - "label": "attractive-badger-1604015308-ng-608957a7-Node - $12.52" - } - }, - { - "data": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:instance/i-0568d352e5293f7ba", - "parent": "Instance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-11111111111111111", - "cost": "11.79", - "title": "ecs-refarch ECS host", - "type": "resource", - "label": "ecs-refarch ECS host - $11.79" - } - }, - { - "data": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:instance/i-0c90e93ebfc159e4a", - "parent": "Instance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-22222222222222222", - "cost": "11.79", - "title": "ecs-refarch ECS host", - "type": "resource", - "label": "ecs-refarch ECS host - $11.79" - } - }, - { - "data": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:instance/i-0d6dc57f292feae19", - "parent": "Instance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-555555555555555", - "cost": "12.52", - "title": "attractive-badger-1604015308-ng-608957a7-Node", - "type": "resource", - "label": "attractive-badger-1604015308-ng-608957a7-Node - $12.52" - } - }, - { - "data": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:instance/i-052f9f64097ac2769", - "parent": "Instance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-22222222222222222", - "cost": "11.79", - "title": "ecs-refarch ECS host", - "type": "resource", - "label": "ecs-refarch ECS host - $11.79" - } - }, - { - "data": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:instance/i-07d0c686a25e288b4", - "parent": "Instance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-33333333333333333", - "cost": "1.47", - "title": "i-07d0c686a25e288b4", - "type": "resource", - "label": "i-07d0c686a25e288b4 - $1.47" - } - }, - { - "data": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:instance/i-038f307ddeb9caaec", - "parent": "Instance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-11111111111111111", - "cost": "11.79", - "title": "ecs-refarch ECS host", - "type": "resource", - "label": "ecs-refarch ECS host - $11.79" - } - }, - { - "data": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:volume/vol-045aff0accd0447e8", - "parent": "Volume-xxxxxxxxxxxx-eu-west-1-eu-west-1b", - "cost": "0.13", - "title": "vol-045aff0accd0447e8", - "type": "resource", - "label": "vol-045aff0accd0447e8 - $0.13" - } - }, - { - "data": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:volume/vol-0c52a596424c16120", - "parent": "Volume-xxxxxxxxxxxx-eu-west-1-eu-west-1b", - "cost": "0.35", - "title": "vol-0c52a596424c16120", - "type": "resource", - "label": "vol-0c52a596424c16120 - $0.35" - } - }, - { - "data": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:network-interface/eni-04938e2eb5bfafe99", - "parent": "NetworkInterface-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-11111111111111111", - "cost": 0, - "title": "eni-04938e2eb5bfafe99", - "type": "resource", - "label": "eni-04938e2eb5bfafe99 - $0" - } - }, - { - "data": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:security-group/sg-0c02229ab89b7cad1", - "parent": "SecurityGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111", - "cost": 0, - "title": "ecs-refarch-ECS-Hosts", - "type": "resource", - "label": "ecs-refarch-ECS-Hosts - $0" - } - }, - { - "data": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:volume/vol-038dddb4899e7db85", - "parent": "Volume-xxxxxxxxxxxx-eu-west-1-eu-west-1a", - "cost": "0.35", - "title": "vol-038dddb4899e7db85", - "type": "resource", - "label": "vol-038dddb4899e7db85 - $0.35" - } - }, - { - "data": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:volume/vol-04e43f90baefcee69", - "parent": "Volume-xxxxxxxxxxxx-eu-west-1-eu-west-1a", - "cost": "0.13", - "title": "vol-04e43f90baefcee69", - "type": "resource", - "label": "vol-04e43f90baefcee69 - $0.13" - } - }, - { - "data": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:network-interface/eni-0f9bd2b79bd4f437f", - "parent": "NetworkInterface-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-22222222222222222", - "cost": 0, - "title": "eni-0f9bd2b79bd4f437f", - "type": "resource", - "label": "eni-0f9bd2b79bd4f437f - $0" - } - }, - { - "data": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:volume/vol-07dbcc0ff67f0c1bc", - "parent": "Volume-xxxxxxxxxxxx-eu-west-1-eu-west-1b", - "cost": "0.13", - "title": "vol-07dbcc0ff67f0c1bc", - "type": "resource", - "label": "vol-07dbcc0ff67f0c1bc - $0.13" - } - }, - { - "data": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:volume/vol-0c1ead3869a3d378f", - "parent": "Volume-xxxxxxxxxxxx-eu-west-1-eu-west-1b", - "cost": "0.35", - "title": "vol-0c1ead3869a3d378f", - "type": "resource", - "label": "vol-0c1ead3869a3d378f - $0.35" - } - }, - { - "data": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:network-interface/eni-0407eecd556929d77", - "parent": "NetworkInterface-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-11111111111111111", - "cost": 0, - "title": "eni-0407eecd556929d77", - "type": "resource", - "label": "eni-0407eecd556929d77 - $0" - } - }, - { - "data": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:volume/vol-00754e2b15f48c1f5", - "parent": "Volume-xxxxxxxxxxxx-eu-west-1-eu-west-1b", - "cost": "0.13", - "title": "vol-00754e2b15f48c1f5", - "type": "resource", - "label": "vol-00754e2b15f48c1f5 - $0.13" - } - }, - { - "data": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:network-interface/eni-01ef2774854f1b172", - "parent": "NetworkInterface-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-33333333333333333", - "cost": 0, - "title": "eni-01ef2774854f1b172", - "type": "resource", - "label": "eni-01ef2774854f1b172 - $0" - } - }, - { - "data": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:security-group/sg-0bc8a71ea5a172df2", - "parent": "SecurityGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-22222222222222222", - "cost": 0, - "title": "launch-wizard-3", - "type": "resource", - "label": "launch-wizard-3 - $0" - } - }, - { - "data": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:volume/vol-0b92d530489c1b24a", - "parent": "Volume-xxxxxxxxxxxx-eu-west-1-eu-west-1c", - "cost": "1.27", - "title": "vol-0b92d530489c1b24a", - "type": "resource", - "label": "vol-0b92d530489c1b24a - $1.27" - } - }, - { - "data": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:network-interface/eni-04f5460a4defeec00", - "parent": "NetworkInterface-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-44444444444444444", - "cost": 0, - "title": "eni-04f5460a4defeec00", - "type": "resource", - "label": "eni-04f5460a4defeec00 - $0" - } - }, - { - "data": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:network-interface/eni-034e2d32e58987e71", - "parent": "NetworkInterface-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-44444444444444444", - "cost": 0, - "title": "eni-034e2d32e58987e71", - "type": "resource", - "label": "eni-034e2d32e58987e71 - $0" - } - }, - { - "data": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:security-group/sg-0bcb1987c6667687b", - "parent": "SecurityGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-33333333333333333", - "cost": 0, - "title": "eks-cluster-sg-attractive-badger-1604015308-1273556504", - "type": "resource", - "label": "eks-cluster-sg-attractive-badger-1604015308-1273556504 - $0" - } - }, - { - "data": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:volume/vol-0677639d598ef8143", - "parent": "Volume-xxxxxxxxxxxx-eu-west-1-eu-west-1a", - "cost": "0.35", - "title": "vol-0677639d598ef8143", - "type": "resource", - "label": "vol-0677639d598ef8143 - $0.35" - } - }, - { - "data": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:volume/vol-0af527c0224f85642", - "parent": "Volume-xxxxxxxxxxxx-eu-west-1-eu-west-1a", - "cost": "0.13", - "title": "vol-0af527c0224f85642", - "type": "resource", - "label": "vol-0af527c0224f85642 - $0.13" - } - }, - { - "data": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:network-interface/eni-0c1c4432165335ad6", - "parent": "NetworkInterface-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-22222222222222222", - "cost": 0, - "title": "eni-0c1c4432165335ad6", - "type": "resource", - "label": "eni-0c1c4432165335ad6 - $0" - } - }, - { - "data": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:volume/vol-0e70971b0fc3b875f", - "parent": "Volume-xxxxxxxxxxxx-eu-west-1-eu-west-1a", - "cost": "1.27", - "title": "vol-0e70971b0fc3b875f", - "type": "resource", - "label": "vol-0e70971b0fc3b875f - $1.27" - } - }, - { - "data": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:network-interface/eni-0f82403202f592988", - "parent": "NetworkInterface-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-555555555555555", - "cost": 0, - "title": "eni-0f82403202f592988", - "type": "resource", - "label": "eni-0f82403202f592988 - $0" - } - }, - { - "data": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:network-interface/eni-042b61ae6b9558d21", - "parent": "NetworkInterface-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-555555555555555", - "cost": 0, - "title": "eni-042b61ae6b9558d21", - "type": "resource", - "label": "eni-042b61ae6b9558d21 - $0" - } - }, - { - "data": { - "id": "arn:aws:rds:eu-west-1:xxxxxxxxxxxx:subgrp:default-vpc-22222222222222222", - "parent": "DBSubnetGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-22222222222222222-Multiple Availability Zones", - "cost": 0, - "title": "default-vpc-22222222222222222", - "type": "resource", - "label": "default-vpc-22222222222222222 - $0" - } - }, - { - "data": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:security-group/sg-9a4a97d2", - "parent": "SecurityGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-22222222222222222", - "cost": 0, - "title": "default", - "type": "resource", - "label": "default - $0" - } - }, - { - "data": { - "id": "arn:aws:rds:eu-west-1:xxxxxxxxxxxx:subgrp:perspective-dev-sng", - "parent": "DBSubnetGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-44444444444444444-Multiple Availability Zones", - "cost": 0, - "title": "workload-discovery-subnet-group", - "type": "resource", - "label": "workload-discovery-subnet-group - $0" - } - }, - { - "data": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:security-group/sg-02df76c6e6753f6b3", - "parent": "SecurityGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-44444444444444444", - "cost": 0, - "title": "wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-neptune-sg", - "type": "resource", - "label": "wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-neptune-sg - $0" - } - }, - { - "data": { - "id": "arn:aws:rds:eu-west-1:xxxxxxxxxxxx:cluster:serverless-neptune", - "parent": "DBCluster-xxxxxxxxxxxx-eu-west-1-Multiple Availability Zones", - "cost": 0, - "title": "serverless-neptune", - "type": "resource", - "label": "serverless-neptune - $0" - } - }, - { - "data": { - "id": "arn:aws:rds:eu-west-1:xxxxxxxxxxxx:cluster:wdneptunedbcluster-0kfaa4tuyz1x", - "parent": "DBCluster-xxxxxxxxxxxx-eu-west-1-Multiple Availability Zones", - "cost": 0, - "title": "workload-discovery-Cluster", - "type": "resource", - "label": "workload-discovery-Cluster - $0" - } - }, - { - "data": { - "id": "arn:aws:rds:eu-west-1:xxxxxxxxxxxx:cluster:globaldb", - "parent": "DBCluster-xxxxxxxxxxxx-eu-west-1-Multiple Availability Zones", - "cost": 0, - "title": "globaldb", - "type": "resource", - "label": "globaldb - $0" - } - }, - { - "data": { - "id": "arn:aws:elasticloadbalancing:eu-west-1:xxxxxxxxxxxx:targetgroup/ecs-r-Targe-1CEAOHL7A3S92/91f8ad87a71b6d0c", - "parent": "TargetGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111-Multiple Availability Zones", - "cost": 0, - "title": "targetgroup/ecs-r-Targe-1CEAOHL7A3S92/91f8ad87a71b6d0c", - "type": "resource", - "label": "targetgroup/ecs-r-Targe-1CEAOHL7A3S92/91f8ad87a71b6d0c - $0" - } - }, - { - "data": { - "id": "arn:aws:ssm:eu-west-1:xxxxxxxxxxxx:managed-instance-inventory/i-038f307ddeb9caaec", - "parent": "ManagedInstanceInventory-xxxxxxxxxxxx-eu-west-1", - "cost": 0, - "title": "arn:aws:ssm:eu-west-1:xxxxxxxxxxxx:managed-instance-inventory/i-038f307ddeb9caaec", - "type": "resource", - "label": "arn:aws:ssm:eu-west-1:xxxxxxxxxxxx:managed-instance-inventory/i-038f307ddeb9caaec - $0" - } - }, - { - "data": { - "id": "arn:aws:ssm:eu-west-1:xxxxxxxxxxxx:managed-instance-inventory/i-052f9f64097ac2769", - "parent": "ManagedInstanceInventory-xxxxxxxxxxxx-eu-west-1", - "cost": 0, - "title": "arn:aws:ssm:eu-west-1:xxxxxxxxxxxx:managed-instance-inventory/i-052f9f64097ac2769", - "type": "resource", - "label": "arn:aws:ssm:eu-west-1:xxxxxxxxxxxx:managed-instance-inventory/i-052f9f64097ac2769 - $0" - } - }, - { - "data": { - "id": "arn:aws:ssm:eu-west-1:xxxxxxxxxxxx:managed-instance-inventory/i-0568d352e5293f7ba", - "parent": "ManagedInstanceInventory-xxxxxxxxxxxx-eu-west-1", - "cost": 0, - "title": "arn:aws:ssm:eu-west-1:xxxxxxxxxxxx:managed-instance-inventory/i-0568d352e5293f7ba", - "type": "resource", - "label": "arn:aws:ssm:eu-west-1:xxxxxxxxxxxx:managed-instance-inventory/i-0568d352e5293f7ba - $0" - } - }, - { - "data": { - "id": "arn:aws:elasticloadbalancing:eu-west-1:xxxxxxxxxxxx:targetgroup/ecs-r-Targe-WGHBKNSPECN5/4ded139adab8201e", - "parent": "TargetGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111-Multiple Availability Zones", - "cost": 0, - "title": "targetgroup/ecs-r-Targe-WGHBKNSPECN5/4ded139adab8201e", - "type": "resource", - "label": "targetgroup/ecs-r-Targe-WGHBKNSPECN5/4ded139adab8201e - $0" - } - }, - { - "data": { - "id": "arn:aws:elasticloadbalancing:eu-west-1:xxxxxxxxxxxx:loadbalancer/a3af06af9830647219ca4bb76e335070", - "parent": "LoadBalancer-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-33333333333333333-Multiple Availability Zones", - "cost": "3.28", - "title": "a3af06af9830647219ca4bb76e335070", - "type": "resource", - "label": "a3af06af9830647219ca4bb76e335070 - $3.28" - } - }, - { - "data": { - "id": "arn:aws:ssm:eu-west-1:xxxxxxxxxxxx:managed-instance-inventory/i-0c90e93ebfc159e4a", - "parent": "ManagedInstanceInventory-xxxxxxxxxxxx-eu-west-1", - "cost": 0, - "title": "arn:aws:ssm:eu-west-1:xxxxxxxxxxxx:managed-instance-inventory/i-0c90e93ebfc159e4a", - "type": "resource", - "label": "arn:aws:ssm:eu-west-1:xxxxxxxxxxxx:managed-instance-inventory/i-0c90e93ebfc159e4a - $0" - } - }, - { - "data": { - "id": "arn:aws:autoscaling:eu-west-1:xxxxxxxxxxxx:autoScalingGroup:afb5ee16-414e-4850-a65a-03b6f80e0a5b:autoScalingGroupName/ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD", - "parent": "AutoScalingGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111-eu-west-1a,eu-west-1b", - "cost": 0, - "title": "ecs-refarch ECS host", - "type": "resource", - "label": "ecs-refarch ECS host - $0" - } - }, - { - "data": { - "id": "arn:aws:ecs:eu-west-1:xxxxxxxxxxxx:cluster/ecs-refarch", - "parent": "Cluster-xxxxxxxxxxxx-eu-west-1", - "cost": 0, - "title": "ecs-refarch", - "type": "resource", - "label": "ecs-refarch - $0" - } - }, - { - "data": { - "id": "arn:aws:autoscaling:eu-west-1:xxxxxxxxxxxx:autoScalingGroup:cc4a478a-ce27-43ad-b468-3b5f3a4013e6:autoScalingGroupName/eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3", - "parent": "AutoScalingGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-33333333333333333-eu-west-1a,eu-west-1b,eu-west-1c", - "cost": 0, - "title": "eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3", - "type": "resource", - "label": "eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3 - $0" - } - } ] diff --git a/source/frontend/src/tests/vitest/Utils/Resources/data/aggregateCostData/default.json b/source/frontend/src/tests/vitest/Utils/Resources/data/aggregateCostData/default.json index 176249fe..dce51ee1 100644 --- a/source/frontend/src/tests/vitest/Utils/Resources/data/aggregateCostData/default.json +++ b/source/frontend/src/tests/vitest/Utils/Resources/data/aggregateCostData/default.json @@ -1,1027 +1,1027 @@ [ - { - "data": { - "id": "xxxxxxxxxxxx", - "cost": 0, - "title": "xxxxxxxxxxxx", - "type": "account" - } - }, - { - "data": { - "id": "xxxxxxxxxxxx-eu-west-1", - "parent": "xxxxxxxxxxxx", - "cost": 0, - "title": "eu-west-1", - "type": "region" - } - }, - { - "data": { - "id": "xxxxxxxxxxxx-global", - "parent": "xxxxxxxxxxxx", - "cost": 0, - "title": "global", - "type": "region" - } - }, - { - "data": { - "id": "xxxxxxxxxxxx-eu-west-1-eu-west-1b", - "parent": "xxxxxxxxxxxx-eu-west-1", - "cost": 0, - "title": "eu-west-1b", - "type": "availabilityZone" - } - }, - { - "data": { - "id": "xxxxxxxxxxxx-eu-west-1-Multiple Availability Zones", - "parent": "xxxxxxxxxxxx-eu-west-1", - "cost": 0, - "title": "Multiple Availability Zones", - "type": "availabilityZone" - } - }, - { - "data": { - "id": "xxxxxxxxxxxx-eu-west-1-eu-west-1a", - "parent": "xxxxxxxxxxxx-eu-west-1", - "cost": 0, - "title": "eu-west-1a", - "type": "availabilityZone" - } - }, - { - "data": { - "id": "xxxxxxxxxxxx-eu-west-1-eu-west-1c", - "parent": "xxxxxxxxxxxx-eu-west-1", - "cost": 0, - "title": "eu-west-1c", - "type": "availabilityZone" - } - }, - { - "data": { - "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111-Multiple Availability Zones", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111", - "cost": 0, - "title": "Multiple Availability Zones", - "type": "availabilityZone" - } - }, - { - "data": { - "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111", - "parent": "xxxxxxxxxxxx-eu-west-1", - "cost": 0, - "title": "ecs-refarch", - "type": "vpc" - } - }, - { - "data": { - "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-22222222222222222-Multiple Availability Zones", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-22222222222222222", - "cost": 0, - "title": "Multiple Availability Zones", - "type": "availabilityZone" - } - }, - { - "data": { - "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-22222222222222222", - "parent": "xxxxxxxxxxxx-eu-west-1", - "cost": 0, - "title": "vpc-22222222222222222", - "type": "vpc" - } - }, - { - "data": { - "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-33333333333333333-Multiple Availability Zones", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-33333333333333333", - "cost": 0, - "title": "Multiple Availability Zones", - "type": "availabilityZone" - } - }, - { - "data": { - "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-33333333333333333", - "parent": "xxxxxxxxxxxx-eu-west-1", - "cost": 0, - "title": "eksctl-attractive-badger-1604015308-cluster/VPC", - "type": "vpc" - } - }, - { - "data": { - "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-44444444444444444-Multiple Availability Zones", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-44444444444444444", - "cost": 0, - "title": "Multiple Availability Zones", - "type": "availabilityZone" - } - }, - { - "data": { - "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-44444444444444444", - "parent": "xxxxxxxxxxxx-eu-west-1", - "cost": 0, - "title": "vpc-44444444444444444", - "type": "vpc" - } - }, - { - "data": { - "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111-eu-west-1a,eu-west-1b", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111", - "cost": 0, - "title": "eu-west-1a,eu-west-1b", - "type": "availabilityZone" - } - }, - { - "data": { - "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-33333333333333333-eu-west-1a,eu-west-1b,eu-west-1c", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-33333333333333333", - "cost": 0, - "title": "eu-west-1a,eu-west-1b,eu-west-1c", - "type": "availabilityZone" - } - }, - { - "data": { - "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-11111111111111111-eu-west-1b", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111", - "cost": 0, - "title": "eu-west-1b", - "type": "availabilityZone" - } - }, - { - "data": { - "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-11111111111111111", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-11111111111111111-eu-west-1b", - "cost": 0, - "title": "ecs-refarch Private Subnet (AZ2)", - "type": "subnet" - } - }, - { - "data": { - "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-22222222222222222-eu-west-1a", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111", - "cost": 0, - "title": "eu-west-1a", - "type": "availabilityZone" - } - }, - { - "data": { - "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-22222222222222222", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-22222222222222222-eu-west-1a", - "cost": 0, - "title": "ecs-refarch Private Subnet (AZ1)", - "type": "subnet" - } - }, - { - "data": { - "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-33333333333333333-eu-west-1b", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-22222222222222222", - "cost": 0, - "title": "eu-west-1b", - "type": "availabilityZone" - } - }, - { - "data": { - "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-33333333333333333", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-33333333333333333-eu-west-1b", - "cost": 0, - "title": "subnet-33333333333333333", - "type": "subnet" - } - }, - { - "data": { - "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-44444444444444444-eu-west-1c", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-33333333333333333", - "cost": 0, - "title": "eu-west-1c", - "type": "availabilityZone" - } - }, - { - "data": { - "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-44444444444444444", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-44444444444444444-eu-west-1c", - "cost": 0, - "title": "eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1C", - "type": "subnet" - } - }, - { - "data": { - "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-555555555555555-eu-west-1a", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-33333333333333333", - "cost": 0, - "title": "eu-west-1a", - "type": "availabilityZone" - } - }, - { - "data": { - "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-555555555555555", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-555555555555555-eu-west-1a", - "cost": 0, - "title": "eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1A", - "type": "subnet" - } - }, - { - "data": { - "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-66666666666666666-eu-west-1c", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-22222222222222222", - "cost": 0, - "title": "eu-west-1c", - "type": "availabilityZone" - } - }, - { - "data": { - "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-66666666666666666", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-66666666666666666-eu-west-1c", - "cost": 0, - "title": "subnet-66666666666666666", - "type": "subnet" - } - }, - { - "data": { - "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-77777777777777777-eu-west-1a", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-22222222222222222", - "cost": 0, - "title": "eu-west-1a", - "type": "availabilityZone" - } - }, - { - "data": { - "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-77777777777777777", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-77777777777777777-eu-west-1a", - "cost": 0, - "title": "subnet-77777777777777777", - "type": "subnet" - } - }, - { - "data": { - "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-88888888888888-eu-west-1a", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-44444444444444444", - "cost": 0, - "title": "eu-west-1a", - "type": "availabilityZone" - } - }, - { - "data": { - "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-88888888888888", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-88888888888888-eu-west-1a", - "cost": 0, - "title": "vpc-44444444444444444-private-a", - "type": "subnet" - } - }, - { - "data": { - "id": "DBInstance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-88888888888888", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-88888888888888", - "cost": 0, - "title": "DBInstance", - "type": "type" - } - }, - { - "data": { - "id": "DBInstance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-66666666666666666", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-66666666666666666", - "cost": 0, - "title": "DBInstance", - "type": "type" - } - }, - { - "data": { - "id": "DBInstance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-77777777777777777", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-77777777777777777", - "cost": 0, - "title": "DBInstance", - "type": "type" - } - }, - { - "data": { - "id": "Instance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-44444444444444444", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-44444444444444444", - "cost": 0, - "title": "Instance", - "type": "type" - } - }, - { - "data": { - "id": "Instance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-11111111111111111", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-11111111111111111", - "cost": 0, - "title": "Instance", - "type": "type" - } - }, - { - "data": { - "id": "Instance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-22222222222222222", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-22222222222222222", - "cost": 0, - "title": "Instance", - "type": "type" - } - }, - { - "data": { - "id": "Instance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-555555555555555", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-555555555555555", - "cost": 0, - "title": "Instance", - "type": "type" - } - }, - { - "data": { - "id": "Instance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-33333333333333333", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-33333333333333333", - "cost": 0, - "title": "Instance", - "type": "type" - } - }, - { - "data": { - "id": "Volume-xxxxxxxxxxxx-eu-west-1-eu-west-1b", - "parent": "xxxxxxxxxxxx-eu-west-1-eu-west-1b", - "cost": 0, - "title": "Volume", - "type": "type" - } - }, - { - "data": { - "id": "NetworkInterface-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-11111111111111111", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-11111111111111111", - "cost": 0, - "title": "NetworkInterface", - "type": "type" - } - }, - { - "data": { - "id": "SecurityGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111", - "cost": 0, - "title": "SecurityGroup", - "type": "type" - } - }, - { - "data": { - "id": "Volume-xxxxxxxxxxxx-eu-west-1-eu-west-1a", - "parent": "xxxxxxxxxxxx-eu-west-1-eu-west-1a", - "cost": 0, - "title": "Volume", - "type": "type" - } - }, - { - "data": { - "id": "NetworkInterface-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-22222222222222222", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-22222222222222222", - "cost": 0, - "title": "NetworkInterface", - "type": "type" - } - }, - { - "data": { - "id": "NetworkInterface-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-33333333333333333", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-33333333333333333", - "cost": 0, - "title": "NetworkInterface", - "type": "type" - } - }, - { - "data": { - "id": "SecurityGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-22222222222222222", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-22222222222222222", - "cost": 0, - "title": "SecurityGroup", - "type": "type" - } - }, - { - "data": { - "id": "Volume-xxxxxxxxxxxx-eu-west-1-eu-west-1c", - "parent": "xxxxxxxxxxxx-eu-west-1-eu-west-1c", - "cost": 0, - "title": "Volume", - "type": "type" - } - }, - { - "data": { - "id": "NetworkInterface-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-44444444444444444", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-44444444444444444", - "cost": 0, - "title": "NetworkInterface", - "type": "type" - } - }, - { - "data": { - "id": "SecurityGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-33333333333333333", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-33333333333333333", - "cost": 0, - "title": "SecurityGroup", - "type": "type" - } - }, - { - "data": { - "id": "NetworkInterface-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-555555555555555", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-555555555555555", - "cost": 0, - "title": "NetworkInterface", - "type": "type" - } - }, - { - "data": { - "id": "DBSubnetGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-22222222222222222-Multiple Availability Zones", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-22222222222222222-Multiple Availability Zones", - "cost": 0, - "title": "DBSubnetGroup", - "type": "type" - } - }, - { - "data": { - "id": "DBSubnetGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-44444444444444444-Multiple Availability Zones", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-44444444444444444-Multiple Availability Zones", - "cost": 0, - "title": "DBSubnetGroup", - "type": "type" - } - }, - { - "data": { - "id": "SecurityGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-44444444444444444", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-44444444444444444", - "cost": 0, - "title": "SecurityGroup", - "type": "type" - } - }, - { - "data": { - "id": "DBCluster-xxxxxxxxxxxx-eu-west-1-Multiple Availability Zones", - "parent": "xxxxxxxxxxxx-eu-west-1-Multiple Availability Zones", - "cost": 0, - "title": "DBCluster", - "type": "type" - } - }, - { - "data": { - "id": "TargetGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111-Multiple Availability Zones", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111-Multiple Availability Zones", - "cost": 0, - "title": "TargetGroup", - "type": "type" - } - }, - { - "data": { - "id": "ManagedInstanceInventory-xxxxxxxxxxxx-eu-west-1", - "parent": "xxxxxxxxxxxx-eu-west-1", - "cost": 0, - "title": "ManagedInstanceInventory", - "type": "type" - } - }, - { - "data": { - "id": "LoadBalancer-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-33333333333333333-Multiple Availability Zones", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-33333333333333333-Multiple Availability Zones", - "cost": 0, - "title": "LoadBalancer", - "type": "type" - } - }, - { - "data": { - "id": "AutoScalingGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111-eu-west-1a,eu-west-1b", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111-eu-west-1a,eu-west-1b", - "cost": 0, - "title": "AutoScalingGroup", - "type": "type" - } - }, - { - "data": { - "id": "Cluster-xxxxxxxxxxxx-eu-west-1", - "parent": "xxxxxxxxxxxx-eu-west-1", - "cost": 0, - "title": "Cluster", - "type": "type" - } - }, - { - "data": { - "id": "AutoScalingGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-33333333333333333-eu-west-1a,eu-west-1b,eu-west-1c", - "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-33333333333333333-eu-west-1a,eu-west-1b,eu-west-1c", - "cost": 0, - "title": "AutoScalingGroup", - "type": "type" - } - }, - { - "data": { - "id": "arn:aws:rds:eu-west-1:xxxxxxxxxxxx:db:serverless-neptune-instance-1", - "parent": "DBInstance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-88888888888888", - "cost": "51.93", - "title": "serverless-neptune-instance-1", - "type": "resource" - } - }, - { - "data": { - "id": "arn:aws:rds:eu-west-1:xxxxxxxxxxxx:db:globaldb-instance-1", - "parent": "DBInstance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-66666666666666666", - "cost": "37.44", - "title": "globaldb-instance-1", - "type": "resource" - } - }, - { - "data": { - "id": "arn:aws:rds:eu-west-1:xxxxxxxxxxxx:db:neptunedbinstance-opr3vy9xrbzh", - "parent": "DBInstance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-88888888888888", - "cost": "24.31", - "title": "workload-discovery-Instance", - "type": "resource" - } - }, - { - "data": { - "id": "arn:aws:rds:eu-west-1:xxxxxxxxxxxx:db:database-2", - "parent": "DBInstance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-66666666666666666", - "cost": "2.74", - "title": "database-2", - "type": "resource" - } - }, - { - "data": { - "id": "arn:aws:rds:eu-west-1:xxxxxxxxxxxx:db:database-1", - "parent": "DBInstance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-77777777777777777", - "cost": "2.51", - "title": "database-1", - "type": "resource" - } - }, - { - "data": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:instance/i-094153cb430d51f61", - "parent": "Instance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-44444444444444444", - "cost": "12.52", - "title": "attractive-badger-1604015308-ng-608957a7-Node", - "type": "resource" - } - }, - { - "data": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:instance/i-0568d352e5293f7ba", - "parent": "Instance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-11111111111111111", - "cost": "11.79", - "title": "ecs-refarch ECS host", - "type": "resource" - } - }, - { - "data": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:instance/i-0c90e93ebfc159e4a", - "parent": "Instance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-22222222222222222", - "cost": "11.79", - "title": "ecs-refarch ECS host", - "type": "resource" - } - }, - { - "data": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:instance/i-0d6dc57f292feae19", - "parent": "Instance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-555555555555555", - "cost": "12.52", - "title": "attractive-badger-1604015308-ng-608957a7-Node", - "type": "resource" - } - }, - { - "data": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:instance/i-052f9f64097ac2769", - "parent": "Instance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-22222222222222222", - "cost": "11.79", - "title": "ecs-refarch ECS host", - "type": "resource" - } - }, - { - "data": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:instance/i-07d0c686a25e288b4", - "parent": "Instance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-33333333333333333", - "cost": "1.47", - "title": "i-07d0c686a25e288b4", - "type": "resource" - } - }, - { - "data": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:instance/i-038f307ddeb9caaec", - "parent": "Instance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-11111111111111111", - "cost": "11.79", - "title": "ecs-refarch ECS host", - "type": "resource" - } - }, - { - "data": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:volume/vol-045aff0accd0447e8", - "parent": "Volume-xxxxxxxxxxxx-eu-west-1-eu-west-1b", - "cost": "0.13", - "title": "vol-045aff0accd0447e8", - "type": "resource" - } - }, - { - "data": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:volume/vol-0c52a596424c16120", - "parent": "Volume-xxxxxxxxxxxx-eu-west-1-eu-west-1b", - "cost": "0.35", - "title": "vol-0c52a596424c16120", - "type": "resource" - } - }, - { - "data": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:network-interface/eni-04938e2eb5bfafe99", - "parent": "NetworkInterface-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-11111111111111111", - "cost": 0, - "title": "eni-04938e2eb5bfafe99", - "type": "resource" - } - }, - { - "data": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:security-group/sg-0c02229ab89b7cad1", - "parent": "SecurityGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111", - "cost": 0, - "title": "ecs-refarch-ECS-Hosts", - "type": "resource" - } - }, - { - "data": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:volume/vol-038dddb4899e7db85", - "parent": "Volume-xxxxxxxxxxxx-eu-west-1-eu-west-1a", - "cost": "0.35", - "title": "vol-038dddb4899e7db85", - "type": "resource" - } - }, - { - "data": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:volume/vol-04e43f90baefcee69", - "parent": "Volume-xxxxxxxxxxxx-eu-west-1-eu-west-1a", - "cost": "0.13", - "title": "vol-04e43f90baefcee69", - "type": "resource" - } - }, - { - "data": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:network-interface/eni-0f9bd2b79bd4f437f", - "parent": "NetworkInterface-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-22222222222222222", - "cost": 0, - "title": "eni-0f9bd2b79bd4f437f", - "type": "resource" - } - }, - { - "data": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:volume/vol-07dbcc0ff67f0c1bc", - "parent": "Volume-xxxxxxxxxxxx-eu-west-1-eu-west-1b", - "cost": "0.13", - "title": "vol-07dbcc0ff67f0c1bc", - "type": "resource" - } - }, - { - "data": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:volume/vol-0c1ead3869a3d378f", - "parent": "Volume-xxxxxxxxxxxx-eu-west-1-eu-west-1b", - "cost": "0.35", - "title": "vol-0c1ead3869a3d378f", - "type": "resource" - } - }, - { - "data": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:network-interface/eni-0407eecd556929d77", - "parent": "NetworkInterface-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-11111111111111111", - "cost": 0, - "title": "eni-0407eecd556929d77", - "type": "resource" - } - }, - { - "data": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:volume/vol-00754e2b15f48c1f5", - "parent": "Volume-xxxxxxxxxxxx-eu-west-1-eu-west-1b", - "cost": "0.13", - "title": "vol-00754e2b15f48c1f5", - "type": "resource" - } - }, - { - "data": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:network-interface/eni-01ef2774854f1b172", - "parent": "NetworkInterface-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-33333333333333333", - "cost": 0, - "title": "eni-01ef2774854f1b172", - "type": "resource" - } - }, - { - "data": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:security-group/sg-0bc8a71ea5a172df2", - "parent": "SecurityGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-22222222222222222", - "cost": 0, - "title": "launch-wizard-3", - "type": "resource" - } - }, - { - "data": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:volume/vol-0b92d530489c1b24a", - "parent": "Volume-xxxxxxxxxxxx-eu-west-1-eu-west-1c", - "cost": "1.27", - "title": "vol-0b92d530489c1b24a", - "type": "resource" - } - }, - { - "data": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:network-interface/eni-04f5460a4defeec00", - "parent": "NetworkInterface-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-44444444444444444", - "cost": 0, - "title": "eni-04f5460a4defeec00", - "type": "resource" - } - }, - { - "data": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:network-interface/eni-034e2d32e58987e71", - "parent": "NetworkInterface-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-44444444444444444", - "cost": 0, - "title": "eni-034e2d32e58987e71", - "type": "resource" - } - }, - { - "data": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:security-group/sg-0bcb1987c6667687b", - "parent": "SecurityGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-33333333333333333", - "cost": 0, - "title": "eks-cluster-sg-attractive-badger-1604015308-1273556504", - "type": "resource" - } - }, - { - "data": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:volume/vol-0677639d598ef8143", - "parent": "Volume-xxxxxxxxxxxx-eu-west-1-eu-west-1a", - "cost": "0.35", - "title": "vol-0677639d598ef8143", - "type": "resource" - } - }, - { - "data": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:volume/vol-0af527c0224f85642", - "parent": "Volume-xxxxxxxxxxxx-eu-west-1-eu-west-1a", - "cost": "0.13", - "title": "vol-0af527c0224f85642", - "type": "resource" - } - }, - { - "data": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:network-interface/eni-0c1c4432165335ad6", - "parent": "NetworkInterface-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-22222222222222222", - "cost": 0, - "title": "eni-0c1c4432165335ad6", - "type": "resource" - } - }, - { - "data": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:volume/vol-0e70971b0fc3b875f", - "parent": "Volume-xxxxxxxxxxxx-eu-west-1-eu-west-1a", - "cost": "1.27", - "title": "vol-0e70971b0fc3b875f", - "type": "resource" - } - }, - { - "data": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:network-interface/eni-0f82403202f592988", - "parent": "NetworkInterface-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-555555555555555", - "cost": 0, - "title": "eni-0f82403202f592988", - "type": "resource" - } - }, - { - "data": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:network-interface/eni-042b61ae6b9558d21", - "parent": "NetworkInterface-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-555555555555555", - "cost": 0, - "title": "eni-042b61ae6b9558d21", - "type": "resource" - } - }, - { - "data": { - "id": "arn:aws:rds:eu-west-1:xxxxxxxxxxxx:subgrp:default-vpc-22222222222222222", - "parent": "DBSubnetGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-22222222222222222-Multiple Availability Zones", - "cost": 0, - "title": "default-vpc-22222222222222222", - "type": "resource" - } - }, - { - "data": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:security-group/sg-9a4a97d2", - "parent": "SecurityGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-22222222222222222", - "cost": 0, - "title": "default", - "type": "resource" - } - }, - { - "data": { - "id": "arn:aws:rds:eu-west-1:xxxxxxxxxxxx:subgrp:perspective-dev-sng", - "parent": "DBSubnetGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-44444444444444444-Multiple Availability Zones", - "cost": 0, - "title": "workload-discovery-subnet-group", - "type": "resource" - } - }, - { - "data": { - "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:security-group/sg-02df76c6e6753f6b3", - "parent": "SecurityGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-44444444444444444", - "cost": 0, - "title": "wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-neptune-sg", - "type": "resource" - } - }, - { - "data": { - "id": "arn:aws:rds:eu-west-1:xxxxxxxxxxxx:cluster:serverless-neptune", - "parent": "DBCluster-xxxxxxxxxxxx-eu-west-1-Multiple Availability Zones", - "cost": 0, - "title": "serverless-neptune", - "type": "resource" - } - }, - { - "data": { - "id": "arn:aws:rds:eu-west-1:xxxxxxxxxxxx:cluster:wdneptunedbcluster-0kfaa4tuyz1x", - "parent": "DBCluster-xxxxxxxxxxxx-eu-west-1-Multiple Availability Zones", - "cost": 0, - "title": "workload-discovery-Cluster", - "type": "resource" - } - }, - { - "data": { - "id": "arn:aws:rds:eu-west-1:xxxxxxxxxxxx:cluster:globaldb", - "parent": "DBCluster-xxxxxxxxxxxx-eu-west-1-Multiple Availability Zones", - "cost": 0, - "title": "globaldb", - "type": "resource" - } - }, - { - "data": { - "id": "arn:aws:elasticloadbalancing:eu-west-1:xxxxxxxxxxxx:targetgroup/ecs-r-Targe-1CEAOHL7A3S92/91f8ad87a71b6d0c", - "parent": "TargetGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111-Multiple Availability Zones", - "cost": 0, - "title": "targetgroup/ecs-r-Targe-1CEAOHL7A3S92/91f8ad87a71b6d0c", - "type": "resource" - } - }, - { - "data": { - "id": "arn:aws:ssm:eu-west-1:xxxxxxxxxxxx:managed-instance-inventory/i-038f307ddeb9caaec", - "parent": "ManagedInstanceInventory-xxxxxxxxxxxx-eu-west-1", - "cost": 0, - "title": "arn:aws:ssm:eu-west-1:xxxxxxxxxxxx:managed-instance-inventory/i-038f307ddeb9caaec", - "type": "resource" - } - }, - { - "data": { - "id": "arn:aws:ssm:eu-west-1:xxxxxxxxxxxx:managed-instance-inventory/i-052f9f64097ac2769", - "parent": "ManagedInstanceInventory-xxxxxxxxxxxx-eu-west-1", - "cost": 0, - "title": "arn:aws:ssm:eu-west-1:xxxxxxxxxxxx:managed-instance-inventory/i-052f9f64097ac2769", - "type": "resource" - } - }, - { - "data": { - "id": "arn:aws:ssm:eu-west-1:xxxxxxxxxxxx:managed-instance-inventory/i-0568d352e5293f7ba", - "parent": "ManagedInstanceInventory-xxxxxxxxxxxx-eu-west-1", - "cost": 0, - "title": "arn:aws:ssm:eu-west-1:xxxxxxxxxxxx:managed-instance-inventory/i-0568d352e5293f7ba", - "type": "resource" - } - }, - { - "data": { - "id": "arn:aws:elasticloadbalancing:eu-west-1:xxxxxxxxxxxx:targetgroup/ecs-r-Targe-WGHBKNSPECN5/4ded139adab8201e", - "parent": "TargetGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111-Multiple Availability Zones", - "cost": 0, - "title": "targetgroup/ecs-r-Targe-WGHBKNSPECN5/4ded139adab8201e", - "type": "resource" - } - }, - { - "data": { - "id": "arn:aws:elasticloadbalancing:eu-west-1:xxxxxxxxxxxx:loadbalancer/a3af06af9830647219ca4bb76e335070", - "parent": "LoadBalancer-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-33333333333333333-Multiple Availability Zones", - "cost": "3.28", - "title": "a3af06af9830647219ca4bb76e335070", - "type": "resource" - } - }, - { - "data": { - "id": "arn:aws:ssm:eu-west-1:xxxxxxxxxxxx:managed-instance-inventory/i-0c90e93ebfc159e4a", - "parent": "ManagedInstanceInventory-xxxxxxxxxxxx-eu-west-1", - "cost": 0, - "title": "arn:aws:ssm:eu-west-1:xxxxxxxxxxxx:managed-instance-inventory/i-0c90e93ebfc159e4a", - "type": "resource" - } - }, - { - "data": { - "id": "arn:aws:autoscaling:eu-west-1:xxxxxxxxxxxx:autoScalingGroup:afb5ee16-414e-4850-a65a-03b6f80e0a5b:autoScalingGroupName/ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD", - "parent": "AutoScalingGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111-eu-west-1a,eu-west-1b", - "cost": 0, - "title": "ecs-refarch ECS host", - "type": "resource" - } - }, - { - "data": { - "id": "arn:aws:ecs:eu-west-1:xxxxxxxxxxxx:cluster/ecs-refarch", - "parent": "Cluster-xxxxxxxxxxxx-eu-west-1", - "cost": 0, - "title": "ecs-refarch", - "type": "resource" - } - }, - { - "data": { - "id": "arn:aws:autoscaling:eu-west-1:xxxxxxxxxxxx:autoScalingGroup:cc4a478a-ce27-43ad-b468-3b5f3a4013e6:autoScalingGroupName/eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3", - "parent": "AutoScalingGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-33333333333333333-eu-west-1a,eu-west-1b,eu-west-1c", - "cost": 0, - "title": "eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3", - "type": "resource" - } - } -] \ No newline at end of file + { + "data": { + "id": "xxxxxxxxxxxx", + "cost": 0, + "title": "xxxxxxxxxxxx", + "type": "account" + } + }, + { + "data": { + "id": "xxxxxxxxxxxx-eu-west-1", + "parent": "xxxxxxxxxxxx", + "cost": 0, + "title": "eu-west-1", + "type": "region" + } + }, + { + "data": { + "id": "xxxxxxxxxxxx-global", + "parent": "xxxxxxxxxxxx", + "cost": 0, + "title": "global", + "type": "region" + } + }, + { + "data": { + "id": "xxxxxxxxxxxx-eu-west-1-eu-west-1b", + "parent": "xxxxxxxxxxxx-eu-west-1", + "cost": 0, + "title": "eu-west-1b", + "type": "availabilityZone" + } + }, + { + "data": { + "id": "xxxxxxxxxxxx-eu-west-1-Multiple Availability Zones", + "parent": "xxxxxxxxxxxx-eu-west-1", + "cost": 0, + "title": "Multiple Availability Zones", + "type": "availabilityZone" + } + }, + { + "data": { + "id": "xxxxxxxxxxxx-eu-west-1-eu-west-1a", + "parent": "xxxxxxxxxxxx-eu-west-1", + "cost": 0, + "title": "eu-west-1a", + "type": "availabilityZone" + } + }, + { + "data": { + "id": "xxxxxxxxxxxx-eu-west-1-eu-west-1c", + "parent": "xxxxxxxxxxxx-eu-west-1", + "cost": 0, + "title": "eu-west-1c", + "type": "availabilityZone" + } + }, + { + "data": { + "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111-Multiple Availability Zones", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111", + "cost": 0, + "title": "Multiple Availability Zones", + "type": "availabilityZone" + } + }, + { + "data": { + "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111", + "parent": "xxxxxxxxxxxx-eu-west-1", + "cost": 0, + "title": "ecs-refarch", + "type": "vpc" + } + }, + { + "data": { + "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-22222222222222222-Multiple Availability Zones", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-22222222222222222", + "cost": 0, + "title": "Multiple Availability Zones", + "type": "availabilityZone" + } + }, + { + "data": { + "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-22222222222222222", + "parent": "xxxxxxxxxxxx-eu-west-1", + "cost": 0, + "title": "vpc-22222222222222222", + "type": "vpc" + } + }, + { + "data": { + "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-33333333333333333-Multiple Availability Zones", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-33333333333333333", + "cost": 0, + "title": "Multiple Availability Zones", + "type": "availabilityZone" + } + }, + { + "data": { + "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-33333333333333333", + "parent": "xxxxxxxxxxxx-eu-west-1", + "cost": 0, + "title": "eksctl-attractive-badger-1604015308-cluster/VPC", + "type": "vpc" + } + }, + { + "data": { + "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-44444444444444444-Multiple Availability Zones", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-44444444444444444", + "cost": 0, + "title": "Multiple Availability Zones", + "type": "availabilityZone" + } + }, + { + "data": { + "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-44444444444444444", + "parent": "xxxxxxxxxxxx-eu-west-1", + "cost": 0, + "title": "vpc-44444444444444444", + "type": "vpc" + } + }, + { + "data": { + "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111-eu-west-1a,eu-west-1b", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111", + "cost": 0, + "title": "eu-west-1a,eu-west-1b", + "type": "availabilityZone" + } + }, + { + "data": { + "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-33333333333333333-eu-west-1a,eu-west-1b,eu-west-1c", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-33333333333333333", + "cost": 0, + "title": "eu-west-1a,eu-west-1b,eu-west-1c", + "type": "availabilityZone" + } + }, + { + "data": { + "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-11111111111111111-eu-west-1b", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111", + "cost": 0, + "title": "eu-west-1b", + "type": "availabilityZone" + } + }, + { + "data": { + "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-11111111111111111", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-11111111111111111-eu-west-1b", + "cost": 0, + "title": "ecs-refarch Private Subnet (AZ2)", + "type": "subnet" + } + }, + { + "data": { + "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-22222222222222222-eu-west-1a", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111", + "cost": 0, + "title": "eu-west-1a", + "type": "availabilityZone" + } + }, + { + "data": { + "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-22222222222222222", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-22222222222222222-eu-west-1a", + "cost": 0, + "title": "ecs-refarch Private Subnet (AZ1)", + "type": "subnet" + } + }, + { + "data": { + "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-33333333333333333-eu-west-1b", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-22222222222222222", + "cost": 0, + "title": "eu-west-1b", + "type": "availabilityZone" + } + }, + { + "data": { + "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-33333333333333333", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-33333333333333333-eu-west-1b", + "cost": 0, + "title": "subnet-33333333333333333", + "type": "subnet" + } + }, + { + "data": { + "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-44444444444444444-eu-west-1c", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-33333333333333333", + "cost": 0, + "title": "eu-west-1c", + "type": "availabilityZone" + } + }, + { + "data": { + "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-44444444444444444", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-44444444444444444-eu-west-1c", + "cost": 0, + "title": "eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1C", + "type": "subnet" + } + }, + { + "data": { + "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-555555555555555-eu-west-1a", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-33333333333333333", + "cost": 0, + "title": "eu-west-1a", + "type": "availabilityZone" + } + }, + { + "data": { + "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-555555555555555", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-555555555555555-eu-west-1a", + "cost": 0, + "title": "eksctl-attractive-badger-1604015308-cluster/SubnetPublicEUWEST1A", + "type": "subnet" + } + }, + { + "data": { + "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-66666666666666666-eu-west-1c", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-22222222222222222", + "cost": 0, + "title": "eu-west-1c", + "type": "availabilityZone" + } + }, + { + "data": { + "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-66666666666666666", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-66666666666666666-eu-west-1c", + "cost": 0, + "title": "subnet-66666666666666666", + "type": "subnet" + } + }, + { + "data": { + "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-77777777777777777-eu-west-1a", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-22222222222222222", + "cost": 0, + "title": "eu-west-1a", + "type": "availabilityZone" + } + }, + { + "data": { + "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-77777777777777777", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-77777777777777777-eu-west-1a", + "cost": 0, + "title": "subnet-77777777777777777", + "type": "subnet" + } + }, + { + "data": { + "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-88888888888888-eu-west-1a", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-44444444444444444", + "cost": 0, + "title": "eu-west-1a", + "type": "availabilityZone" + } + }, + { + "data": { + "id": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-88888888888888", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-88888888888888-eu-west-1a", + "cost": 0, + "title": "vpc-44444444444444444-private-a", + "type": "subnet" + } + }, + { + "data": { + "id": "DBInstance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-88888888888888", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-88888888888888", + "cost": 0, + "title": "DBInstance", + "type": "type" + } + }, + { + "data": { + "id": "DBInstance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-66666666666666666", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-66666666666666666", + "cost": 0, + "title": "DBInstance", + "type": "type" + } + }, + { + "data": { + "id": "DBInstance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-77777777777777777", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-77777777777777777", + "cost": 0, + "title": "DBInstance", + "type": "type" + } + }, + { + "data": { + "id": "Instance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-44444444444444444", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-44444444444444444", + "cost": 0, + "title": "Instance", + "type": "type" + } + }, + { + "data": { + "id": "Instance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-11111111111111111", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-11111111111111111", + "cost": 0, + "title": "Instance", + "type": "type" + } + }, + { + "data": { + "id": "Instance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-22222222222222222", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-22222222222222222", + "cost": 0, + "title": "Instance", + "type": "type" + } + }, + { + "data": { + "id": "Instance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-555555555555555", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-555555555555555", + "cost": 0, + "title": "Instance", + "type": "type" + } + }, + { + "data": { + "id": "Instance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-33333333333333333", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-33333333333333333", + "cost": 0, + "title": "Instance", + "type": "type" + } + }, + { + "data": { + "id": "Volume-xxxxxxxxxxxx-eu-west-1-eu-west-1b", + "parent": "xxxxxxxxxxxx-eu-west-1-eu-west-1b", + "cost": 0, + "title": "Volume", + "type": "type" + } + }, + { + "data": { + "id": "NetworkInterface-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-11111111111111111", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-11111111111111111", + "cost": 0, + "title": "NetworkInterface", + "type": "type" + } + }, + { + "data": { + "id": "SecurityGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111", + "cost": 0, + "title": "SecurityGroup", + "type": "type" + } + }, + { + "data": { + "id": "Volume-xxxxxxxxxxxx-eu-west-1-eu-west-1a", + "parent": "xxxxxxxxxxxx-eu-west-1-eu-west-1a", + "cost": 0, + "title": "Volume", + "type": "type" + } + }, + { + "data": { + "id": "NetworkInterface-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-22222222222222222", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-22222222222222222", + "cost": 0, + "title": "NetworkInterface", + "type": "type" + } + }, + { + "data": { + "id": "NetworkInterface-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-33333333333333333", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-33333333333333333", + "cost": 0, + "title": "NetworkInterface", + "type": "type" + } + }, + { + "data": { + "id": "SecurityGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-22222222222222222", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-22222222222222222", + "cost": 0, + "title": "SecurityGroup", + "type": "type" + } + }, + { + "data": { + "id": "Volume-xxxxxxxxxxxx-eu-west-1-eu-west-1c", + "parent": "xxxxxxxxxxxx-eu-west-1-eu-west-1c", + "cost": 0, + "title": "Volume", + "type": "type" + } + }, + { + "data": { + "id": "NetworkInterface-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-44444444444444444", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-44444444444444444", + "cost": 0, + "title": "NetworkInterface", + "type": "type" + } + }, + { + "data": { + "id": "SecurityGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-33333333333333333", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-33333333333333333", + "cost": 0, + "title": "SecurityGroup", + "type": "type" + } + }, + { + "data": { + "id": "NetworkInterface-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-555555555555555", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-555555555555555", + "cost": 0, + "title": "NetworkInterface", + "type": "type" + } + }, + { + "data": { + "id": "DBSubnetGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-22222222222222222-Multiple Availability Zones", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-22222222222222222-Multiple Availability Zones", + "cost": 0, + "title": "DBSubnetGroup", + "type": "type" + } + }, + { + "data": { + "id": "DBSubnetGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-44444444444444444-Multiple Availability Zones", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-44444444444444444-Multiple Availability Zones", + "cost": 0, + "title": "DBSubnetGroup", + "type": "type" + } + }, + { + "data": { + "id": "SecurityGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-44444444444444444", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-44444444444444444", + "cost": 0, + "title": "SecurityGroup", + "type": "type" + } + }, + { + "data": { + "id": "DBCluster-xxxxxxxxxxxx-eu-west-1-Multiple Availability Zones", + "parent": "xxxxxxxxxxxx-eu-west-1-Multiple Availability Zones", + "cost": 0, + "title": "DBCluster", + "type": "type" + } + }, + { + "data": { + "id": "TargetGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111-Multiple Availability Zones", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111-Multiple Availability Zones", + "cost": 0, + "title": "TargetGroup", + "type": "type" + } + }, + { + "data": { + "id": "ManagedInstanceInventory-xxxxxxxxxxxx-eu-west-1", + "parent": "xxxxxxxxxxxx-eu-west-1", + "cost": 0, + "title": "ManagedInstanceInventory", + "type": "type" + } + }, + { + "data": { + "id": "LoadBalancer-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-33333333333333333-Multiple Availability Zones", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-33333333333333333-Multiple Availability Zones", + "cost": 0, + "title": "LoadBalancer", + "type": "type" + } + }, + { + "data": { + "id": "AutoScalingGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111-eu-west-1a,eu-west-1b", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111-eu-west-1a,eu-west-1b", + "cost": 0, + "title": "AutoScalingGroup", + "type": "type" + } + }, + { + "data": { + "id": "Cluster-xxxxxxxxxxxx-eu-west-1", + "parent": "xxxxxxxxxxxx-eu-west-1", + "cost": 0, + "title": "Cluster", + "type": "type" + } + }, + { + "data": { + "id": "AutoScalingGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-33333333333333333-eu-west-1a,eu-west-1b,eu-west-1c", + "parent": "arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-33333333333333333-eu-west-1a,eu-west-1b,eu-west-1c", + "cost": 0, + "title": "AutoScalingGroup", + "type": "type" + } + }, + { + "data": { + "id": "arn:aws:rds:eu-west-1:xxxxxxxxxxxx:db:serverless-neptune-instance-1", + "parent": "DBInstance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-88888888888888", + "cost": "51.93", + "title": "serverless-neptune-instance-1", + "type": "resource" + } + }, + { + "data": { + "id": "arn:aws:rds:eu-west-1:xxxxxxxxxxxx:db:globaldb-instance-1", + "parent": "DBInstance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-66666666666666666", + "cost": "37.44", + "title": "globaldb-instance-1", + "type": "resource" + } + }, + { + "data": { + "id": "arn:aws:rds:eu-west-1:xxxxxxxxxxxx:db:neptunedbinstance-opr3vy9xrbzh", + "parent": "DBInstance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-88888888888888", + "cost": "24.31", + "title": "workload-discovery-Instance", + "type": "resource" + } + }, + { + "data": { + "id": "arn:aws:rds:eu-west-1:xxxxxxxxxxxx:db:database-2", + "parent": "DBInstance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-66666666666666666", + "cost": "2.74", + "title": "database-2", + "type": "resource" + } + }, + { + "data": { + "id": "arn:aws:rds:eu-west-1:xxxxxxxxxxxx:db:database-1", + "parent": "DBInstance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-77777777777777777", + "cost": "2.51", + "title": "database-1", + "type": "resource" + } + }, + { + "data": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:instance/i-094153cb430d51f61", + "parent": "Instance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-44444444444444444", + "cost": "12.52", + "title": "attractive-badger-1604015308-ng-608957a7-Node", + "type": "resource" + } + }, + { + "data": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:instance/i-0568d352e5293f7ba", + "parent": "Instance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-11111111111111111", + "cost": "11.79", + "title": "ecs-refarch ECS host", + "type": "resource" + } + }, + { + "data": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:instance/i-0c90e93ebfc159e4a", + "parent": "Instance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-22222222222222222", + "cost": "11.79", + "title": "ecs-refarch ECS host", + "type": "resource" + } + }, + { + "data": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:instance/i-0d6dc57f292feae19", + "parent": "Instance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-555555555555555", + "cost": "12.52", + "title": "attractive-badger-1604015308-ng-608957a7-Node", + "type": "resource" + } + }, + { + "data": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:instance/i-052f9f64097ac2769", + "parent": "Instance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-22222222222222222", + "cost": "11.79", + "title": "ecs-refarch ECS host", + "type": "resource" + } + }, + { + "data": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:instance/i-07d0c686a25e288b4", + "parent": "Instance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-33333333333333333", + "cost": "1.47", + "title": "i-07d0c686a25e288b4", + "type": "resource" + } + }, + { + "data": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:instance/i-038f307ddeb9caaec", + "parent": "Instance-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-11111111111111111", + "cost": "11.79", + "title": "ecs-refarch ECS host", + "type": "resource" + } + }, + { + "data": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:volume/vol-045aff0accd0447e8", + "parent": "Volume-xxxxxxxxxxxx-eu-west-1-eu-west-1b", + "cost": "0.13", + "title": "vol-045aff0accd0447e8", + "type": "resource" + } + }, + { + "data": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:volume/vol-0c52a596424c16120", + "parent": "Volume-xxxxxxxxxxxx-eu-west-1-eu-west-1b", + "cost": "0.35", + "title": "vol-0c52a596424c16120", + "type": "resource" + } + }, + { + "data": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:network-interface/eni-04938e2eb5bfafe99", + "parent": "NetworkInterface-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-11111111111111111", + "cost": 0, + "title": "eni-04938e2eb5bfafe99", + "type": "resource" + } + }, + { + "data": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:security-group/sg-0c02229ab89b7cad1", + "parent": "SecurityGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111", + "cost": 0, + "title": "ecs-refarch-ECS-Hosts", + "type": "resource" + } + }, + { + "data": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:volume/vol-038dddb4899e7db85", + "parent": "Volume-xxxxxxxxxxxx-eu-west-1-eu-west-1a", + "cost": "0.35", + "title": "vol-038dddb4899e7db85", + "type": "resource" + } + }, + { + "data": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:volume/vol-04e43f90baefcee69", + "parent": "Volume-xxxxxxxxxxxx-eu-west-1-eu-west-1a", + "cost": "0.13", + "title": "vol-04e43f90baefcee69", + "type": "resource" + } + }, + { + "data": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:network-interface/eni-0f9bd2b79bd4f437f", + "parent": "NetworkInterface-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-22222222222222222", + "cost": 0, + "title": "eni-0f9bd2b79bd4f437f", + "type": "resource" + } + }, + { + "data": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:volume/vol-07dbcc0ff67f0c1bc", + "parent": "Volume-xxxxxxxxxxxx-eu-west-1-eu-west-1b", + "cost": "0.13", + "title": "vol-07dbcc0ff67f0c1bc", + "type": "resource" + } + }, + { + "data": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:volume/vol-0c1ead3869a3d378f", + "parent": "Volume-xxxxxxxxxxxx-eu-west-1-eu-west-1b", + "cost": "0.35", + "title": "vol-0c1ead3869a3d378f", + "type": "resource" + } + }, + { + "data": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:network-interface/eni-0407eecd556929d77", + "parent": "NetworkInterface-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-11111111111111111", + "cost": 0, + "title": "eni-0407eecd556929d77", + "type": "resource" + } + }, + { + "data": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:volume/vol-00754e2b15f48c1f5", + "parent": "Volume-xxxxxxxxxxxx-eu-west-1-eu-west-1b", + "cost": "0.13", + "title": "vol-00754e2b15f48c1f5", + "type": "resource" + } + }, + { + "data": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:network-interface/eni-01ef2774854f1b172", + "parent": "NetworkInterface-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-33333333333333333", + "cost": 0, + "title": "eni-01ef2774854f1b172", + "type": "resource" + } + }, + { + "data": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:security-group/sg-0bc8a71ea5a172df2", + "parent": "SecurityGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-22222222222222222", + "cost": 0, + "title": "launch-wizard-3", + "type": "resource" + } + }, + { + "data": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:volume/vol-0b92d530489c1b24a", + "parent": "Volume-xxxxxxxxxxxx-eu-west-1-eu-west-1c", + "cost": "1.27", + "title": "vol-0b92d530489c1b24a", + "type": "resource" + } + }, + { + "data": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:network-interface/eni-04f5460a4defeec00", + "parent": "NetworkInterface-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-44444444444444444", + "cost": 0, + "title": "eni-04f5460a4defeec00", + "type": "resource" + } + }, + { + "data": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:network-interface/eni-034e2d32e58987e71", + "parent": "NetworkInterface-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-44444444444444444", + "cost": 0, + "title": "eni-034e2d32e58987e71", + "type": "resource" + } + }, + { + "data": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:security-group/sg-0bcb1987c6667687b", + "parent": "SecurityGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-33333333333333333", + "cost": 0, + "title": "eks-cluster-sg-attractive-badger-1604015308-1273556504", + "type": "resource" + } + }, + { + "data": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:volume/vol-0677639d598ef8143", + "parent": "Volume-xxxxxxxxxxxx-eu-west-1-eu-west-1a", + "cost": "0.35", + "title": "vol-0677639d598ef8143", + "type": "resource" + } + }, + { + "data": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:volume/vol-0af527c0224f85642", + "parent": "Volume-xxxxxxxxxxxx-eu-west-1-eu-west-1a", + "cost": "0.13", + "title": "vol-0af527c0224f85642", + "type": "resource" + } + }, + { + "data": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:network-interface/eni-0c1c4432165335ad6", + "parent": "NetworkInterface-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-22222222222222222", + "cost": 0, + "title": "eni-0c1c4432165335ad6", + "type": "resource" + } + }, + { + "data": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:volume/vol-0e70971b0fc3b875f", + "parent": "Volume-xxxxxxxxxxxx-eu-west-1-eu-west-1a", + "cost": "1.27", + "title": "vol-0e70971b0fc3b875f", + "type": "resource" + } + }, + { + "data": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:network-interface/eni-0f82403202f592988", + "parent": "NetworkInterface-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-555555555555555", + "cost": 0, + "title": "eni-0f82403202f592988", + "type": "resource" + } + }, + { + "data": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:network-interface/eni-042b61ae6b9558d21", + "parent": "NetworkInterface-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-subnet/subnet-555555555555555", + "cost": 0, + "title": "eni-042b61ae6b9558d21", + "type": "resource" + } + }, + { + "data": { + "id": "arn:aws:rds:eu-west-1:xxxxxxxxxxxx:subgrp:default-vpc-22222222222222222", + "parent": "DBSubnetGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-22222222222222222-Multiple Availability Zones", + "cost": 0, + "title": "default-vpc-22222222222222222", + "type": "resource" + } + }, + { + "data": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:security-group/sg-9a4a97d2", + "parent": "SecurityGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-22222222222222222", + "cost": 0, + "title": "default", + "type": "resource" + } + }, + { + "data": { + "id": "arn:aws:rds:eu-west-1:xxxxxxxxxxxx:subgrp:perspective-dev-sng", + "parent": "DBSubnetGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-44444444444444444-Multiple Availability Zones", + "cost": 0, + "title": "workload-discovery-subnet-group", + "type": "resource" + } + }, + { + "data": { + "id": "arn:aws:ec2:eu-west-1:xxxxxxxxxxxx:security-group/sg-02df76c6e6753f6b3", + "parent": "SecurityGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-44444444444444444", + "cost": 0, + "title": "wd2-2022-10-07-NeptuneStack-CM7XDBXLQOX2-neptune-sg", + "type": "resource" + } + }, + { + "data": { + "id": "arn:aws:rds:eu-west-1:xxxxxxxxxxxx:cluster:serverless-neptune", + "parent": "DBCluster-xxxxxxxxxxxx-eu-west-1-Multiple Availability Zones", + "cost": 0, + "title": "serverless-neptune", + "type": "resource" + } + }, + { + "data": { + "id": "arn:aws:rds:eu-west-1:xxxxxxxxxxxx:cluster:wdneptunedbcluster-0kfaa4tuyz1x", + "parent": "DBCluster-xxxxxxxxxxxx-eu-west-1-Multiple Availability Zones", + "cost": 0, + "title": "workload-discovery-Cluster", + "type": "resource" + } + }, + { + "data": { + "id": "arn:aws:rds:eu-west-1:xxxxxxxxxxxx:cluster:globaldb", + "parent": "DBCluster-xxxxxxxxxxxx-eu-west-1-Multiple Availability Zones", + "cost": 0, + "title": "globaldb", + "type": "resource" + } + }, + { + "data": { + "id": "arn:aws:elasticloadbalancing:eu-west-1:xxxxxxxxxxxx:targetgroup/ecs-r-Targe-1CEAOHL7A3S92/91f8ad87a71b6d0c", + "parent": "TargetGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111-Multiple Availability Zones", + "cost": 0, + "title": "targetgroup/ecs-r-Targe-1CEAOHL7A3S92/91f8ad87a71b6d0c", + "type": "resource" + } + }, + { + "data": { + "id": "arn:aws:ssm:eu-west-1:xxxxxxxxxxxx:managed-instance-inventory/i-038f307ddeb9caaec", + "parent": "ManagedInstanceInventory-xxxxxxxxxxxx-eu-west-1", + "cost": 0, + "title": "arn:aws:ssm:eu-west-1:xxxxxxxxxxxx:managed-instance-inventory/i-038f307ddeb9caaec", + "type": "resource" + } + }, + { + "data": { + "id": "arn:aws:ssm:eu-west-1:xxxxxxxxxxxx:managed-instance-inventory/i-052f9f64097ac2769", + "parent": "ManagedInstanceInventory-xxxxxxxxxxxx-eu-west-1", + "cost": 0, + "title": "arn:aws:ssm:eu-west-1:xxxxxxxxxxxx:managed-instance-inventory/i-052f9f64097ac2769", + "type": "resource" + } + }, + { + "data": { + "id": "arn:aws:ssm:eu-west-1:xxxxxxxxxxxx:managed-instance-inventory/i-0568d352e5293f7ba", + "parent": "ManagedInstanceInventory-xxxxxxxxxxxx-eu-west-1", + "cost": 0, + "title": "arn:aws:ssm:eu-west-1:xxxxxxxxxxxx:managed-instance-inventory/i-0568d352e5293f7ba", + "type": "resource" + } + }, + { + "data": { + "id": "arn:aws:elasticloadbalancing:eu-west-1:xxxxxxxxxxxx:targetgroup/ecs-r-Targe-WGHBKNSPECN5/4ded139adab8201e", + "parent": "TargetGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111-Multiple Availability Zones", + "cost": 0, + "title": "targetgroup/ecs-r-Targe-WGHBKNSPECN5/4ded139adab8201e", + "type": "resource" + } + }, + { + "data": { + "id": "arn:aws:elasticloadbalancing:eu-west-1:xxxxxxxxxxxx:loadbalancer/a3af06af9830647219ca4bb76e335070", + "parent": "LoadBalancer-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-33333333333333333-Multiple Availability Zones", + "cost": "3.28", + "title": "a3af06af9830647219ca4bb76e335070", + "type": "resource" + } + }, + { + "data": { + "id": "arn:aws:ssm:eu-west-1:xxxxxxxxxxxx:managed-instance-inventory/i-0c90e93ebfc159e4a", + "parent": "ManagedInstanceInventory-xxxxxxxxxxxx-eu-west-1", + "cost": 0, + "title": "arn:aws:ssm:eu-west-1:xxxxxxxxxxxx:managed-instance-inventory/i-0c90e93ebfc159e4a", + "type": "resource" + } + }, + { + "data": { + "id": "arn:aws:autoscaling:eu-west-1:xxxxxxxxxxxx:autoScalingGroup:afb5ee16-414e-4850-a65a-03b6f80e0a5b:autoScalingGroupName/ecs-refarch-ECS-1AFGNR7O7APCU-ECSAutoScalingGroup-1QSDFDMKHQ6XD", + "parent": "AutoScalingGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-11111111111111111-eu-west-1a,eu-west-1b", + "cost": 0, + "title": "ecs-refarch ECS host", + "type": "resource" + } + }, + { + "data": { + "id": "arn:aws:ecs:eu-west-1:xxxxxxxxxxxx:cluster/ecs-refarch", + "parent": "Cluster-xxxxxxxxxxxx-eu-west-1", + "cost": 0, + "title": "ecs-refarch", + "type": "resource" + } + }, + { + "data": { + "id": "arn:aws:autoscaling:eu-west-1:xxxxxxxxxxxx:autoScalingGroup:cc4a478a-ce27-43ad-b468-3b5f3a4013e6:autoScalingGroupName/eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3", + "parent": "AutoScalingGroup-arn-aws-ec2-eu-west-1-xxxxxxxxxxxx-vpc/vpc-33333333333333333-eu-west-1a,eu-west-1b,eu-west-1c", + "cost": 0, + "title": "eks-5ababb6a-75d5-8af7-0351-02c55b0db9f3", + "type": "resource" + } + } +] diff --git a/source/frontend/src/tests/vitest/Utils/Resources/data/db-instance-node.js b/source/frontend/src/tests/vitest/Utils/Resources/data/db-instance-node.js index bcaba758..df2f26e0 100644 --- a/source/frontend/src/tests/vitest/Utils/Resources/data/db-instance-node.js +++ b/source/frontend/src/tests/vitest/Utils/Resources/data/db-instance-node.js @@ -2,47 +2,41 @@ // SPDX-License-Identifier: Apache-2.0 export const nodeWithCost = { - id: 'ebc5cd4c047867d5ab6154d07ff468f9', - perspectiveBirthDate: '2020-02-25T14:50:10.708Z', - label: 'AWS::RDS::DBInstance', - properties: { - - }, - parent: false, - costData: { - totalCost: 62.97600000000005, - currency: 'USD', - startDate: '2020-02-28T00:00:00.000Z', - endDate: '2020-03-05T20:00:00.000Z', - }, - type: 'node', + id: 'ebc5cd4c047867d5ab6154d07ff468f9', + perspectiveBirthDate: '2020-02-25T14:50:10.708Z', + label: 'AWS::RDS::DBInstance', + properties: {}, + parent: false, + costData: { + totalCost: 62.97600000000005, + currency: 'USD', + startDate: '2020-02-28T00:00:00.000Z', + endDate: '2020-03-05T20:00:00.000Z', + }, + type: 'node', }; export const nodeWithCostButIgnoreFlagTrue = { - id: 'ebc5cd4c047867d5ab6154d07ff468f9', - perspectiveBirthDate: '2020-02-25T14:50:10.708Z', - label: 'AWS::RDS::DBInstance', - properties: { - - }, - parent: false, - costData: { - ignore: true, - totalCost: 62.97600000000005, - currency: 'USD', - startDate: '2020-02-28T00:00:00.000Z', - endDate: '2020-03-05T20:00:00.000Z', - }, - type: 'node', + id: 'ebc5cd4c047867d5ab6154d07ff468f9', + perspectiveBirthDate: '2020-02-25T14:50:10.708Z', + label: 'AWS::RDS::DBInstance', + properties: {}, + parent: false, + costData: { + ignore: true, + totalCost: 62.97600000000005, + currency: 'USD', + startDate: '2020-02-28T00:00:00.000Z', + endDate: '2020-03-05T20:00:00.000Z', + }, + type: 'node', }; export const nodeWithoutCost = { - id: 'ebc5cd4c047867d5ab6154d07ff468f9', - perspectiveBirthDate: '2020-02-25T14:50:10.708Z', - label: 'AWS::RDS::DBInstance', - properties: { - - }, - parent: false, - type: 'node', + id: 'ebc5cd4c047867d5ab6154d07ff468f9', + perspectiveBirthDate: '2020-02-25T14:50:10.708Z', + label: 'AWS::RDS::DBInstance', + properties: {}, + parent: false, + type: 'node', }; diff --git a/source/frontend/src/tests/vitest/components/Costs/QueryBuilder/CostsPage.test.js b/source/frontend/src/tests/vitest/components/Costs/QueryBuilder/CostsPage.test.js index 903f0c00..6f2fb59a 100644 --- a/source/frontend/src/tests/vitest/components/Costs/QueryBuilder/CostsPage.test.js +++ b/source/frontend/src/tests/vitest/components/Costs/QueryBuilder/CostsPage.test.js @@ -4,25 +4,25 @@ // SPDX-License-Identifier: Apache-2.0 import React from 'react'; -import {QueryClient, QueryClientProvider} from "react-query"; -import {describe, it, expect} from "vitest"; -import {render, screen, findByText, getByText} from '@testing-library/react' +import {QueryClient, QueryClientProvider} from 'react-query'; +import {describe, it, expect} from 'vitest'; +import {render, screen, findByText, getByText} from '@testing-library/react'; import CostsPage from '../../../../../components/Costs/QueryBuilder/CostsPage'; import dayjs from 'dayjs'; import {TableWrapper} from '@cloudscape-design/components/test-utils/dom'; -import {diagramSettingsReducer} from "../../../../../components/Contexts/Reducers/DiagramSettingsReducer"; -import {ResourceProvider} from "../../../../../components/Contexts/ResourceContext"; -import {resourceReducer} from "../../../../../components/Contexts/Reducers/ResourceReducer"; -import {DiagramSettingsProvider} from "../../../../../components/Contexts/DiagramSettingsContext"; -import { NotificationProvider } from '../../../../../components/Contexts/NotificationContext'; -import userEvent from "@testing-library/user-event"; -import getResourcesByCost from "../../../../mocks/fixtures/getResourcesByCost/default.json"; -import getCostForResource from "../../../../mocks/fixtures/getCostForResource/default.json"; -import getCostForService from "../../../../mocks/fixtures/getCostForService/default.json"; - -const costData = getResourcesByCost["getResourcesByCost"] -const resourceData = getCostForResource["getCostForResource"] -const serviceData = getCostForService["getCostForService"] +import {diagramSettingsReducer} from '../../../../../components/Contexts/Reducers/DiagramSettingsReducer'; +import {ResourceProvider} from '../../../../../components/Contexts/ResourceContext'; +import {resourceReducer} from '../../../../../components/Contexts/Reducers/ResourceReducer'; +import {DiagramSettingsProvider} from '../../../../../components/Contexts/DiagramSettingsContext'; +import {NotificationProvider} from '../../../../../components/Contexts/NotificationContext'; +import userEvent from '@testing-library/user-event'; +import getResourcesByCost from '../../../../mocks/fixtures/getResourcesByCost/default.json'; +import getCostForResource from '../../../../mocks/fixtures/getCostForResource/default.json'; +import getCostForService from '../../../../mocks/fixtures/getCostForService/default.json'; + +const costData = getResourcesByCost['getResourcesByCost']; +const resourceData = getCostForResource['getCostForResource']; +const serviceData = getCostForService['getCostForService']; function renderCostsPage() { const queryClient = new QueryClient({ @@ -51,11 +51,13 @@ function renderCostsPage() { + reducer={diagramSettingsReducer} + > - + reducer={resourceReducer} + > + @@ -64,25 +66,46 @@ function renderCostsPage() { } function verifyTableRow(table, rowNumber, index) { - let costInfo = costData["costItems"][index] - expect(table.findBodyCell(rowNumber,2).getElement().innerHTML).toBe(costInfo["line_item_resource_id"] == "" ? costInfo["product_servicename"] : costInfo["line_item_resource_id"]) - expect(table.findBodyCell(rowNumber,3).getElement().innerHTML).toBe(`$${costInfo["cost"]}`) - expect(table.findBodyCell(rowNumber,4).getElement().innerHTML).toBe(costInfo["line_item_usage_account_id"]) - expect(table.findBodyCell(rowNumber,5).getElement().innerHTML).toBe(costInfo["region"]) + let costInfo = costData['costItems'][index]; + expect(table.findBodyCell(rowNumber, 2).getElement().innerHTML).toBe( + costInfo['line_item_resource_id'] == '' + ? costInfo['product_servicename'] + : costInfo['line_item_resource_id'] + ); + expect(table.findBodyCell(rowNumber, 3).getElement().innerHTML).toBe( + `$${costInfo['cost']}` + ); + expect(table.findBodyCell(rowNumber, 4).getElement().innerHTML).toBe( + costInfo['line_item_usage_account_id'] + ); + expect(table.findBodyCell(rowNumber, 5).getElement().innerHTML).toBe( + costInfo['region'] + ); } async function verifyOverview(overview, data) { - const estimatedCostOverview = await findByText(overview, /Estimated AWS cost/); + const estimatedCostOverview = await findByText( + overview, + /Estimated AWS cost/ + ); - const estimatedCost = getByText(estimatedCostOverview.parentElement, /^\$?[0-9]+(\.[0-9][0-9])?$/); + const estimatedCost = getByText( + estimatedCostOverview.parentElement, + /^\$?[0-9]+(\.[0-9][0-9])?$/ + ); expect(estimatedCost).toHaveTextContent(`$${data.totalCost}`); const awsResourcesOverview = await findByText(overview, /AWS Resources/); - const awsResourcesCount = getByText(awsResourcesOverview.parentElement, /\d+/); + const awsResourcesCount = getByText( + awsResourcesOverview.parentElement, + /\d+/ + ); - expect(awsResourcesCount).toHaveTextContent(data["queryDetails"]["resultCount"]); + expect(awsResourcesCount).toHaveTextContent( + data['queryDetails']['resultCount'] + ); } async function verifyDefaultDates(overview) { @@ -92,103 +115,148 @@ async function verifyDefaultDates(overview) { const fromDateOverview = await findByText(overview, /From/); - const fromDate = getByText(fromDateOverview.parentElement, /\b((Mon|Tue|Wed|Thu|Fri|Sat|Sun))\b(.*)/); + const fromDate = getByText( + fromDateOverview.parentElement, + /\b((Mon|Tue|Wed|Thu|Fri|Sat|Sun))\b(.*)/ + ); - expect(fromDate).toHaveTextContent(dayjs(firstDay).format('llll')) + expect(fromDate).toHaveTextContent(dayjs(firstDay).format('llll')); const toDateOverview = await findByText(overview, /To/); - const toDate = getByText(toDateOverview.parentElement, /\b((Mon|Tue|Wed|Thu|Fri|Sat|Sun))\b(.*)/); + const toDate = getByText( + toDateOverview.parentElement, + /\b((Mon|Tue|Wed|Thu|Fri|Sat|Sun))\b(.*)/ + ); - expect(toDate).toHaveTextContent(dayjs(lastDay).format('llll')) + expect(toDate).toHaveTextContent(dayjs(lastDay).format('llll')); } describe('Costs Page', () => { - describe('Costs Overview', () => { - it('should display cost data', async () => { + const user = userEvent.setup(); + renderCostsPage(); - const calculateCostsButton = await screen.findByRole('button', { name: /Calculate Costs/i }); + const calculateCostsButton = await screen.findByRole('button', { + name: /Calculate Costs/i, + }); - await userEvent.click(calculateCostsButton); + await user.click(calculateCostsButton); - const Overview = await screen.findByTestId('costs-summary-overview'); + const Overview = await screen.findByTestId( + 'costs-summary-overview' + ); await verifyOverview(Overview, costData); await verifyDefaultDates(Overview); }); - it('should display cost by resource data', async () => { - renderCostsPage(); + it( + 'should display cost by resource data', + async () => { + const user = userEvent.setup(); - const serviceRadioButton = screen.getByRole('radio', { name: /query by arn or resource id/i }); + renderCostsPage(); - await userEvent.click(serviceRadioButton); + const serviceRadioButton = screen.getByRole('radio', { + name: /query by arn or resource id/i, + }); - const accountFilterButton = await screen.findByRole('button', { name: /Add Resource ID or ARN/i }); + await user.click(serviceRadioButton); - await userEvent.click(accountFilterButton); + const accountFilterButton = await screen.findByRole('button', { + name: /Add Resource ID or ARN/i, + }); - const resourceInput = await screen.getByPlaceholderText("Enter an Resource Id or ARN"); + await user.click(accountFilterButton); - await userEvent.type(resourceInput, resourceData["costItems"][0]["line_item_resource_id"]) + const resourceInput = await screen.getByPlaceholderText( + 'Enter an Resource Id or ARN' + ); - const calculateCostsButton = await screen.findByRole('button', { name: /Calculate Costs/i }); + await user.type( + resourceInput, + resourceData['costItems'][0]['line_item_resource_id'] + ); - await userEvent.click(calculateCostsButton); + const calculateCostsButton = await screen.findByRole('button', { + name: /Calculate Costs/i, + }); - const Overview = await screen.findByTestId('costs-summary-overview'); + await user.click(calculateCostsButton); - await verifyOverview(Overview, resourceData); + const Overview = await screen.findByTestId( + 'costs-summary-overview' + ); - await verifyDefaultDates(Overview); - }, {timeout: 7000}); + await verifyOverview(Overview, resourceData); + + await verifyDefaultDates(Overview); + }, + {timeout: 7000} + ); it('should display cost by service data', async () => { + const user = userEvent.setup(); + renderCostsPage(); - const serviceRadioButton = await screen.getByRole('radio', { name: /query by service/i }); + const serviceRadioButton = await screen.getByRole('radio', { + name: /query by service/i, + }); - await userEvent.click(serviceRadioButton); + await user.click(serviceRadioButton); - const serviceSelectorButton = await screen.getByRole('button', { name: /service name select a service/i }); + const serviceSelectorButton = await screen.getByRole('button', { + name: /service name select a service/i, + }); - await userEvent.click(serviceSelectorButton); + await user.click(serviceSelectorButton); - const serviceOption = screen.getByRole('option', { name: /cloudtrail/i }) + const serviceOption = screen.getByRole('option', { + name: /cloudtrail/i, + }); - await userEvent.click(serviceOption); + await user.click(serviceOption); - const calculateCostsButton = await screen.findByRole('button', { name: /Calculate Costs/i }); + const calculateCostsButton = await screen.findByRole('button', { + name: /Calculate Costs/i, + }); - await userEvent.click(calculateCostsButton); + await user.click(calculateCostsButton); - const Overview = await screen.findByTestId('costs-summary-overview'); + const Overview = await screen.findByTestId( + 'costs-summary-overview' + ); await verifyOverview(Overview, serviceData); await verifyDefaultDates(Overview); - }); }); describe('Costs Table', () => { - it('should display cost table data', async () => { + const user = userEvent.setup(); + renderCostsPage(); - const calculateCostsButton = await screen.findByRole('button', { name: /Calculate Costs/i }); + const calculateCostsButton = await screen.findByRole('button', { + name: /Calculate Costs/i, + }); - await userEvent.click(calculateCostsButton); + await user.click(calculateCostsButton); await screen.findByRole('heading', {level: 2, name: /Resources/}); - const resourcesTable = screen.getByRole('table', {name: /resources/i}); + const resourcesTable = screen.getByRole('table', { + name: /resources/i, + }); - const table = new TableWrapper(resourcesTable.parentElement) + const table = new TableWrapper(resourcesTable.parentElement); const tableRows = table.findRows(); @@ -196,9 +264,8 @@ describe('Costs Page', () => { // We pass index + 1 as the rowNumber because findBodyCell starts at index 1. tableRows.forEach(function (_, index) { - verifyTableRow(table, index + 1, index) + verifyTableRow(table, index + 1, index); }); - }); }); -}); \ No newline at end of file +}); diff --git a/source/frontend/src/tests/vitest/components/Diagrams/Draw/DrawDiagram/CreateDiagram/CreateDiagramPage.test.js b/source/frontend/src/tests/vitest/components/Diagrams/Draw/DrawDiagram/CreateDiagram/CreateDiagramPage.test.js index 61ca0053..28cb90aa 100644 --- a/source/frontend/src/tests/vitest/components/Diagrams/Draw/DrawDiagram/CreateDiagram/CreateDiagramPage.test.js +++ b/source/frontend/src/tests/vitest/components/Diagrams/Draw/DrawDiagram/CreateDiagram/CreateDiagramPage.test.js @@ -1,19 +1,20 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import {QueryClient, QueryClientProvider} from "react-query"; -import {render, screen} from "@testing-library/react"; +import {QueryClient, QueryClientProvider} from 'react-query'; +import {render, screen} from '@testing-library/react'; import {createMemoryHistory} from 'history'; import {Router} from 'react-router-dom'; -import {NotificationProvider} from "../../../../../../../components/Contexts/NotificationContext"; -import {DiagramSettingsProvider} from "../../../../../../../components/Contexts/DiagramSettingsContext"; -import {diagramSettingsReducer} from "../../../../../../../components/Contexts/Reducers/DiagramSettingsReducer"; -import {ResourceProvider} from "../../../../../../../components/Contexts/ResourceContext"; -import {resourceReducer} from "../../../../../../../components/Contexts/Reducers/ResourceReducer"; -import React from "react"; -import {describe, expect, vi, it} from "vitest"; -import userEvent from "@testing-library/user-event"; -import PolarisLayout from "../../../../../../../PolarisLayout"; +import {NotificationProvider} from '../../../../../../../components/Contexts/NotificationContext'; +import {DiagramSettingsProvider} from '../../../../../../../components/Contexts/DiagramSettingsContext'; +import {diagramSettingsReducer} from '../../../../../../../components/Contexts/Reducers/DiagramSettingsReducer'; +import {ResourceProvider} from '../../../../../../../components/Contexts/ResourceContext'; +import {resourceReducer} from '../../../../../../../components/Contexts/Reducers/ResourceReducer'; +import React from 'react'; +import {describe, expect, vi, it} from 'vitest'; +import userEvent from '@testing-library/user-event'; +import PolarisLayout from '../../../../../../../PolarisLayout'; +import {createSelfManagedPerspectiveMetadata} from '../../../../../testUtils'; function renderDiagramsPage() { const queryClient = new QueryClient({ @@ -39,73 +40,84 @@ function renderDiagramsPage() { const history = createMemoryHistory(); const container = render( - - - - - {/**/} - - - - - - - + + + + + {/**/} + + + + + + + ); return {container, history}; } describe('Create Diagram Page', () => { - it('should have public and private visibility option', async () => { HTMLCanvasElement.prototype.getContext = vi.fn(); - window.perspectiveMetadata = {version: '2.1.0'}; + window.perspectiveMetadata = createSelfManagedPerspectiveMetadata(); vi.mock('@aws-amplify/ui-react', async () => { const mod = await vi.importActual('@aws-amplify/ui-react'); return { ...mod, - useAuthenticator: () => ({ user: { - username: 'testUser' - }, signOut: vi.fn() }), + useAuthenticator: () => ({ + user: { + username: 'testUser', + }, + signOut: vi.fn(), + }), }; }); window.scrollTo = vi.fn(); + + const user = userEvent.setup(); + renderDiagramsPage(); - const manageLink = screen.getByRole('link', { name: /Manage$/, hidden: true }); - await userEvent.click(manageLink); + const manageLink = screen.getByRole('link', { + name: /Manage$/, + hidden: true, + }); + await user.click(manageLink); - await userEvent.click(await screen.findByRole('button', { name: /create/i })); + await user.click(await screen.findByRole('button', {name: /create/i})); await screen.findByRole('heading', {level: 2, name: /Create Diagram/i}); - await userEvent.click(await screen.findByRole('button', { name: /create/i })); + await user.click(await screen.findByRole('button', {name: /create/i})); screen.getByLabelText(/Visibility/i); - const visibilityButton = screen.getByRole('button', { name: /visibility private/i }); + const visibilityButton = screen.getByRole('button', { + name: /visibility private/i, + }); - await userEvent.click(visibilityButton); + await user.click(visibilityButton); - const publicOption = screen.getByRole('option', { name: /public/i }); + const publicOption = screen.getByRole('option', {name: /public/i}); - await userEvent.click(publicOption); + await user.click(publicOption); - const createButton = screen.getByRole('button', { name: /create/i }); + const createButton = screen.getByRole('button', {name: /create/i}); expect(createButton).toBeDisabled(); - const nameComboBox = screen.getByRole('combobox', { name: /name/i }); + const nameComboBox = screen.getByRole('combobox', {name: /name/i}); await userEvent.type(nameComboBox, 'TestDiagram'); expect(createButton).toBeEnabled(); }); - -}); \ No newline at end of file +}); diff --git a/source/frontend/src/tests/vitest/components/Explore/Resources/ResourcesPage.test.js b/source/frontend/src/tests/vitest/components/Explore/Resources/ResourcesPage.test.js index bf322782..3e5bfd2a 100644 --- a/source/frontend/src/tests/vitest/components/Explore/Resources/ResourcesPage.test.js +++ b/source/frontend/src/tests/vitest/components/Explore/Resources/ResourcesPage.test.js @@ -2,19 +2,20 @@ // SPDX-License-Identifier: Apache-2.0 import React from 'react'; -import {QueryClient, QueryClientProvider} from "react-query"; -import {describe, it, expect, afterEach} from "vitest"; -import {render, screen, getByText, findByText, cleanup} from '@testing-library/react' +import {QueryClient, QueryClientProvider} from 'react-query'; +import {describe, expect, it} from 'vitest'; +import {findByText, getByText, render, screen} from '@testing-library/react'; import {TableWrapper} from '@cloudscape-design/components/test-utils/dom'; -import ResourcesPage from "../../../../../components/Explore/Resources/ResourcesPage"; -import {diagramSettingsReducer} from "../../../../../components/Contexts/Reducers/DiagramSettingsReducer"; -import {ResourceProvider} from "../../../../../components/Contexts/ResourceContext"; -import {resourceReducer} from "../../../../../components/Contexts/Reducers/ResourceReducer"; -import {DiagramSettingsProvider} from "../../../../../components/Contexts/DiagramSettingsContext"; -import userEvent from "@testing-library/user-event"; -import {server} from "../../../../mocks/server"; -import {graphql} from "msw"; +import ResourcesPage from '../../../../../components/Explore/Resources/ResourcesPage'; +import {diagramSettingsReducer} from '../../../../../components/Contexts/Reducers/DiagramSettingsReducer'; +import {ResourceProvider} from '../../../../../components/Contexts/ResourceContext'; +import {resourceReducer} from '../../../../../components/Contexts/Reducers/ResourceReducer'; +import {DiagramSettingsProvider} from '../../../../../components/Contexts/DiagramSettingsContext'; +import userEvent from '@testing-library/user-event'; +import {server} from '../../../../mocks/server'; +import {graphql, HttpResponse} from 'msw'; +import {createOrganizationsPerspectiveMetadata, createSelfManagedPerspectiveMetadata} from '../../../testUtils'; function renderResourcesPage() { const queryClient = new QueryClient({ @@ -42,11 +43,13 @@ function renderResourcesPage() { + reducer={diagramSettingsReducer} + > - + reducer={resourceReducer} + > + @@ -58,34 +61,49 @@ function getCellText(table, row, column) { } describe('Resource Page', () => { - it('should display account and resource metadata and resources', async () => { + window.perspectiveMetadata = createSelfManagedPerspectiveMetadata(); + renderResourcesPage(); - const Overview = await screen.findByTestId('resources-metadata-overview'); + const Overview = await screen.findByTestId( + 'resources-metadata-overview' + ); - const resourcesDiscoveredParent = await findByText(Overview, /Resources discovered/); - const resourcesDiscovered = getByText(resourcesDiscoveredParent.parentElement, /\d+/); + const resourcesDiscoveredParent = await findByText( + Overview, + /Resources discovered/ + ); + const resourcesDiscovered = getByText( + resourcesDiscoveredParent.parentElement, + /\d+/ + ); // this value is the sum of the number of resources returned by the mocked // `GetResourcesMetadata GQL query expect(resourcesDiscovered).toHaveTextContent(29); - const resourcesTypesParent = await findByText(Overview,/Resources types/); - const resourcesTypes = getByText(resourcesTypesParent.parentElement, /\d+/); + const resourcesTypesParent = await findByText( + Overview, + /Resources types/ + ); + const resourcesTypes = getByText( + resourcesTypesParent.parentElement, + /\d+/ + ); // this value is the number of different resource types returned by the mocked // `GetResourcesMetadata GQL query expect(resourcesTypes).toHaveTextContent(12); - const accountsParent = await findByText(Overview,/Accounts/); + const accountsParent = await findByText(Overview, /Accounts$/); const accounts = getByText(accountsParent.parentElement, /\d+/); // this value is the number of accounts returned by the mocked // `getResourcesAccountMetadataResponse` GQL query expect(accounts).toHaveTextContent(2); - const regionsParent = await findByText(Overview,/Regions/); + const regionsParent = await findByText(Overview, /Regions/); const regions = getByText(regionsParent.parentElement, /\d+/); // this value is the number of regions returned by the mocked @@ -94,45 +112,51 @@ describe('Resource Page', () => { // this value is the number of resource types returned by the mocked // `getResourcesAccountMetadataResponse` GQL query - await screen.findByRole('heading', {level: 2, name: /Resources types \(12\)/}); + await screen.findByRole('heading', { + level: 2, + name: /Resources types \(12\)/, + }); // this value is the number of resources returned by the mocked // `SearchResources` GQL query - await screen.findByRole('heading', {level: 2, name: /Resources \(29\)/}); + await screen.findByRole('heading', { + level: 2, + name: /Resources \(29\)/, + }); }); it('should retrieve account metadata in batches of 50', async () => { - renderResourcesPage(); + window.perspectiveMetadata = createSelfManagedPerspectiveMetadata(); server.use( - graphql.query('GetResourcesMetadata', async (req, res, ctx) => { + graphql.query('GetResourcesMetadata', async () => { const accounts = []; - for(let i = 0; i < 100; i++) { + for (let i = 0; i < 100; i++) { const paddedNum = i.toString().padStart(2, 'O'); accounts.push({ accountId: `xxxxxxxxxx${paddedNum}`, - regions: [ - {name: 'eu-west-1'} - ] + regions: [{name: 'eu-west-1'}], }); } - return res(ctx.data({ - getResourcesMetadata: { - count: 100, - accounts, - resourceTypes: [ - { - count: 100, - type: 'AWS::IAM::Role' - } - ] - } - })); + return HttpResponse.json({ + data: { + getResourcesMetadata: { + count: 100, + accounts, + resourceTypes: [ + { + count: 100, + type: 'AWS::IAM::Role', + }, + ], + }, + }, + }); }), - graphql.query('GetResourcesAccountMetadata', (req, res, ctx) => { - const reqAccounts = req.variables.accounts; + graphql.query('GetResourcesAccountMetadata', ({variables}) => { + const reqAccounts = variables.accounts; const accounts = reqAccounts.map(({accountId}) => { return { accountId, @@ -140,15 +164,17 @@ describe('Resource Page', () => { resourceTypes: [ { count: 1, - type: 'AWS::IAM::Role' - } - ] - } + type: 'AWS::IAM::Role', + }, + ], + }; + }); + return HttpResponse.json({ + data: {getResourcesAccountMetadata: accounts}, }); - return res(ctx.data({getResourcesAccountMetadata: accounts})); }), - graphql.query('GetResourcesRegionMetadata', (req, res, ctx) => { - const reqAccounts = req.variables.accounts; + graphql.query('GetResourcesRegionMetadata', ({variables}) => { + const reqAccounts = variables.accounts; const accounts = reqAccounts.map(({accountId}) => { return { accountId, @@ -160,78 +186,119 @@ describe('Resource Page', () => { resourceTypes: [ { count: 1, - type: 'AWS::IAM::Role' - } - ] - } - ] - } + type: 'AWS::IAM::Role', + }, + ], + }, + ], + }; + }); + return HttpResponse.json({ + data: {getResourcesRegionMetadata: accounts}, }); - return res(ctx.data({getResourcesRegionMetadata: accounts})); }) ); - const Overview = await screen.findByTestId('resources-metadata-overview'); + renderResourcesPage(); - const resourcesDiscoveredParent = await findByText(Overview, /Resources discovered/); + const Overview = await screen.findByTestId( + 'resources-metadata-overview' + ); - const resourcesDiscovered = getByText(resourcesDiscoveredParent.parentElement, /\d+/); + const resourcesDiscoveredParent = await findByText( + Overview, + /Resources discovered/ + ); + + const resourcesDiscovered = getByText( + resourcesDiscoveredParent.parentElement, + /\d+/ + ); expect(resourcesDiscovered).toHaveTextContent(100); - const resourcesTypesParent = await findByText(Overview,/Resources types/); + const resourcesTypesParent = await findByText( + Overview, + /Resources types/ + ); - const resourcesTypes = getByText(resourcesTypesParent.parentElement, /\d+/); + const resourcesTypes = getByText( + resourcesTypesParent.parentElement, + /\d+/ + ); expect(resourcesTypes).toHaveTextContent(1); - const accountsParent = await findByText(Overview,/Accounts/); + const accountsParent = await findByText(Overview, /Accounts$/); const accounts = getByText(accountsParent.parentElement, /\d+/); expect(accounts).toHaveTextContent(100); - const regionsParent = await findByText(Overview,/Regions/); + const regionsParent = await findByText(Overview, /Regions/); const regions = getByText(regionsParent.parentElement, /\d+/); expect(regions).toHaveTextContent(100); - await screen.findByRole('heading', {level: 2, name: /Resources types \(1\)/}); + await screen.findByRole('heading', { + level: 2, + name: /Resources types \(1\)/, + }); }); it('should filter resources by account id and resource type', async () => { + window.perspectiveMetadata = createOrganizationsPerspectiveMetadata(); + + const user = userEvent.setup(); + renderResourcesPage(); // filter by account id - const accountFilterButton = await screen.findByRole('button', { name: /accounts choose accounts to filter by/i }); - await userEvent.click(accountFilterButton); + const accountFilterButton = await screen.findByRole('button', { + name: /accounts choose accounts to filter by/i, + }); + await user.click(accountFilterButton); - const filterOption = screen.getByRole('option', { name: /xxxxxxxxxxxx/i }) - await userEvent.click(filterOption); + const filterOption = await screen.findByRole('option', { + name: /xxxxxxxxxxxx/i, + }); + await user.click(filterOption); - await screen.findByRole('heading', {level: 2, name: /Resources \(13\)/}); + await screen.findByRole('heading', { + level: 2, + name: /Resources \(13\)/, + }); // filter further by resource type const ecsClusterCheckbox = await screen.findByRole('checkbox', { - name: /aws::ecs::cluster is not selected/i + name: /aws::ecs::cluster is not selected/i, }); - await userEvent.click(ecsClusterCheckbox); + await user.click(ecsClusterCheckbox); await screen.findByRole('heading', {level: 2, name: /Resources \(1\)/}); - const resourcesTable = screen.getByRole('table', {name: /resources$/i}); + const resourcesTable = await screen.findByRole('table', { + name: /resources$/i, + }); - const resourcesTableWrapper = new TableWrapper(resourcesTable.parentElement); + const resourcesTableWrapper = new TableWrapper( + resourcesTable.parentElement + ); const resourcesTableRows = resourcesTableWrapper.findRows(); // verify that only a single ECS CLuster is rendered expect(resourcesTableRows).toHaveLength(1); - expect(getCellText(resourcesTableWrapper, 1, 2)).toMatch(/\/icons\/Amazon-Elastic-Container-Service-menu.svg/); - expect(getCellText(resourcesTableWrapper, 1, 3)).toBe('arn:aws:xxxxxxxxxxxx:eu-west-2:AWS::ECS::Cluster:0Title'); - expect(getCellText(resourcesTableWrapper, 1, 4)).toBe('AWS::ECS::Cluster'); + expect(getCellText(resourcesTableWrapper, 1, 2)).toMatch( + /\/icons\/Amazon-Elastic-Container-Service-menu.svg/ + ); + expect(getCellText(resourcesTableWrapper, 1, 3)).toBe( + 'arn:aws:xxxxxxxxxxxx:eu-west-2:AWS::ECS::Cluster:0Title' + ); + expect(getCellText(resourcesTableWrapper, 1, 4)).toBe( + 'AWS::ECS::Cluster' + ); expect(getCellText(resourcesTableWrapper, 1, 5)).toBe('xxxxxxxxxxxx'); expect(getCellText(resourcesTableWrapper, 1, 6)).toBe('eu-west-2'); }); - -}); \ No newline at end of file +}); diff --git a/source/frontend/src/tests/vitest/components/Explore/Views/ViewExplorerPage.test.js b/source/frontend/src/tests/vitest/components/Explore/Views/ViewExplorerPage.test.js index cc55777c..342b93e2 100644 --- a/source/frontend/src/tests/vitest/components/Explore/Views/ViewExplorerPage.test.js +++ b/source/frontend/src/tests/vitest/components/Explore/Views/ViewExplorerPage.test.js @@ -1,69 +1,91 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import {screen} from "@testing-library/react"; +import {screen} from '@testing-library/react'; import {TableWrapper} from '@cloudscape-design/components/test-utils/dom'; -import React from "react"; -import {describe, expect, vi, it} from "vitest"; -import userEvent from "@testing-library/user-event"; -import {renderPolarisLayout} from "../../../testUtils"; +import React from 'react'; +import {describe, expect, vi, it} from 'vitest'; +import userEvent from '@testing-library/user-event'; +import { + createSelfManagedPerspectiveMetadata, + renderPolarisLayout, +} from '../../../testUtils'; function getCellText(table, row, column) { return table.findBodyCell(row, column).getElement()?.innerHTML; } describe('View Page', () => { - it('should create new view', async () => { - window.perspectiveMetadata = { - version: '2.1.0' - }; + window.perspectiveMetadata = createSelfManagedPerspectiveMetadata(); vi.mock('@aws-amplify/ui-react', async () => { const mod = await vi.importActual('@aws-amplify/ui-react'); return { ...mod, - useAuthenticator: () => ({ user: { - username: 'testUser' - }, signOut: vi.fn() }), + useAuthenticator: () => ({ + user: { + username: 'testUser', + }, + signOut: vi.fn(), + }), }; }); window.scrollTo = vi.fn(); + + const user = userEvent.setup(); + renderPolarisLayout(); - const viewsLink = screen.getByRole('link', { name: /Views$/, hidden: true }); - await userEvent.click(viewsLink); + const viewsLink = screen.getByRole('link', { + name: /Views$/, + hidden: true, + }); + await user.click(viewsLink); - await userEvent.click(await screen.findByRole('button', { name: /create/i })); + await user.click(await screen.findByRole('button', {name: /create/i})); - const accountFilterButton = screen.getByRole('button', { name: /accounts choose accounts to filter by/i }) - await userEvent.click(accountFilterButton); + const accountFilterButton = screen.getByRole('button', { + name: /accounts choose accounts to filter by/i, + }); + await user.click(accountFilterButton); - const filterOption = await screen.findByRole('option', { name: /xxxxxxxxxxxx/i }); - await userEvent.click(filterOption); + const filterOption = await screen.findByRole('option', { + name: /xxxxxxxxxxxx/i, + }); + await user.click(filterOption); - const viewNameTextBox = screen.getByRole('textbox', { name: /name/i }); + const viewNameTextBox = screen.getByRole('textbox', {name: /name/i}); await userEvent.type(viewNameTextBox, 'TestView'); - await screen.findByRole('heading', {level: 2, name: /Resources types \(6\)/}); + await screen.findByRole('heading', { + level: 2, + name: /Resources types \(6\)/, + }); const subnetCheckbox = screen.getByRole('checkbox', { - name: /aws::ec2::subnet is not selected/i + name: /aws::ec2::subnet is not selected/i, }); - await userEvent.click(subnetCheckbox); + await user.click(subnetCheckbox); - const saveButton = screen.getByRole('button', { name: /save/i }); - await userEvent.click(saveButton); + const saveButton = screen.getByRole('button', {name: /save/i}); + await user.click(saveButton); - await screen.findByRole('heading', {level: 2, name: /Resources \(2\)/}, {timeout: 2000}); + await screen.findByRole( + 'heading', + {level: 2, name: /Resources \(2\)/}, + {timeout: 2000} + ); const accountsTable = screen.getByRole('table', { - name: /accounts/i + name: /accounts/i, }); - const accountsTableWrapper = new TableWrapper(accountsTable.parentElement); + const accountsTableWrapper = new TableWrapper( + accountsTable.parentElement + ); const accountsTableRows = accountsTableWrapper.findRows(); expect(accountsTableRows).toHaveLength(1); @@ -71,36 +93,55 @@ describe('View Page', () => { expect(getCellText(accountsTableWrapper, 1, 1)).toMatch(/xxxxxxxxxxxx/); const resourcesTypeTable = screen.getByRole('table', { - name: /resources types/i + name: /resources types/i, }); - const resourcesTypeTableWrapper = new TableWrapper(resourcesTypeTable.parentElement); + const resourcesTypeTableWrapper = new TableWrapper( + resourcesTypeTable.parentElement + ); const resourcesTypeTableRows = resourcesTypeTableWrapper.findRows(); expect(resourcesTypeTableRows).toHaveLength(1); - expect(getCellText(resourcesTypeTableWrapper, 1, 1)).toMatch(/\/icons\/VPC-subnet-private_light-bg-menu.svg/); - expect(getCellText(resourcesTypeTableWrapper, 1, 2)).toMatch(/AWS::EC2::Subnet/); + expect(getCellText(resourcesTypeTableWrapper, 1, 1)).toMatch( + /\/icons\/VPC-subnet-private_light-bg-menu.svg/ + ); + expect(getCellText(resourcesTypeTableWrapper, 1, 2)).toMatch( + /AWS::EC2::Subnet/ + ); // verify that only subnets are rendered const resourcesTable = screen.getByRole('table', {name: /resources$/i}); - const resourcesTableWrapper = new TableWrapper(resourcesTable.parentElement); + const resourcesTableWrapper = new TableWrapper( + resourcesTable.parentElement + ); const resourcesTableRows = resourcesTableWrapper.findRows(); expect(resourcesTableRows).toHaveLength(2); - expect(getCellText(resourcesTableWrapper, 1, 2)).toMatch(/\/icons\/VPC-subnet-private_light-bg-menu.svg/); - expect(getCellText(resourcesTableWrapper, 1, 3)).toBe('arn:aws:xxxxxxxxxxxx:eu-west-2:AWS::EC2::Subnet:0Title'); - expect(getCellText(resourcesTableWrapper, 1, 4)).toBe('AWS::EC2::Subnet'); + expect(getCellText(resourcesTableWrapper, 1, 2)).toMatch( + /\/icons\/VPC-subnet-private_light-bg-menu.svg/ + ); + expect(getCellText(resourcesTableWrapper, 1, 3)).toBe( + 'arn:aws:xxxxxxxxxxxx:eu-west-2:AWS::EC2::Subnet:0Title' + ); + expect(getCellText(resourcesTableWrapper, 1, 4)).toBe( + 'AWS::EC2::Subnet' + ); expect(getCellText(resourcesTableWrapper, 1, 5)).toBe('xxxxxxxxxxxx'); expect(getCellText(resourcesTableWrapper, 1, 6)).toBe('eu-west-2'); - expect(getCellText(resourcesTableWrapper, 2, 2)).toMatch(/\/icons\/VPC-subnet-private_light-bg-menu.svg/); - expect(getCellText(resourcesTableWrapper, 2, 3)).toBe('arn:aws:xxxxxxxxxxxx:eu-west-2:AWS::EC2::Subnet:1Title'); - expect(getCellText(resourcesTableWrapper, 2, 4)).toBe('AWS::EC2::Subnet'); + expect(getCellText(resourcesTableWrapper, 2, 2)).toMatch( + /\/icons\/VPC-subnet-private_light-bg-menu.svg/ + ); + expect(getCellText(resourcesTableWrapper, 2, 3)).toBe( + 'arn:aws:xxxxxxxxxxxx:eu-west-2:AWS::EC2::Subnet:1Title' + ); + expect(getCellText(resourcesTableWrapper, 2, 4)).toBe( + 'AWS::EC2::Subnet' + ); expect(getCellText(resourcesTableWrapper, 2, 5)).toBe('xxxxxxxxxxxx'); expect(getCellText(resourcesTableWrapper, 2, 6)).toBe('eu-west-2'); }, 8000); - -}); \ No newline at end of file +}); diff --git a/source/frontend/src/tests/vitest/components/Homepage/Homepage.test.js b/source/frontend/src/tests/vitest/components/Homepage/Homepage.test.js index 687ddc73..8b0e7f8a 100644 --- a/source/frontend/src/tests/vitest/components/Homepage/Homepage.test.js +++ b/source/frontend/src/tests/vitest/components/Homepage/Homepage.test.js @@ -1,59 +1,64 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import {describe, it, vi, expect} from "vitest"; -import {screen, within } from '@testing-library/react' -import userEvent from "@testing-library/user-event"; -import {renderPolarisLayout} from "../../testUtils"; +import {describe, it, vi, expect} from 'vitest'; +import {screen, within} from '@testing-library/react'; +import { + createOrganizationsPerspectiveMetadata, + createSelfManagedPerspectiveMetadata, + renderPolarisLayout, +} from '../../testUtils'; describe('Homepage', () => { - it('should have import button on home page in self managed mode', async () => { - window.perspectiveMetadata = { - version: '2.1.0' - }; + window.perspectiveMetadata = createSelfManagedPerspectiveMetadata(); vi.mock('@aws-amplify/ui-react', async () => { const mod = await vi.importActual('@aws-amplify/ui-react'); return { ...mod, - useAuthenticator: () => ({ user: { - username: 'testUser' - }, signOut: vi.fn() }), + useAuthenticator: () => ({ + user: { + username: 'testUser', + }, + signOut: vi.fn(), + }), }; }); renderPolarisLayout(); - screen.getByText(/get started by importing regions from one or more of your accounts\./i); - - screen.getByRole('button', { name: /import/i }) + screen.getByText( + /get started by importing regions from one or more of your accounts\./i + ); + screen.getByRole('button', {name: /import/i}); }); it('should not have import button on home page in organizations mode', async () => { - window.perspectiveMetadata = { - version: '2.1.0', - crossAccountDiscovery: 'AWS_ORGANIZATIONS' - }; + window.perspectiveMetadata = createOrganizationsPerspectiveMetadata(); vi.mock('@aws-amplify/ui-react', async () => { const mod = await vi.importActual('@aws-amplify/ui-react'); return { ...mod, - useAuthenticator: () => ({ user: { - username: 'testUser' - }, signOut: vi.fn() }), + useAuthenticator: () => ({ + user: { + username: 'testUser', + }, + signOut: vi.fn(), + }), }; }); renderPolarisLayout(); - const importText = screen.queryByText(/get started by importing regions from one or more of your accounts\./i); - expect(importText).toBeNull() + const importText = screen.queryByText( + /get started by importing regions from one or more of your accounts\./i + ); + expect(importText).toBeNull(); - const importButton = screen.queryByRole('button', { name: /import/i }); - expect(importButton).toBeNull() + const importButton = screen.queryByRole('button', {name: /import/i}); + expect(importButton).toBeNull(); }); - -}); \ No newline at end of file +}); diff --git a/source/frontend/src/tests/vitest/components/RegionManagement/DiscoverableRegions/DiscoverableAccountsPage.test.js b/source/frontend/src/tests/vitest/components/RegionManagement/DiscoverableRegions/DiscoverableAccountsPage.test.js index 52ffd228..033ea7de 100644 --- a/source/frontend/src/tests/vitest/components/RegionManagement/DiscoverableRegions/DiscoverableAccountsPage.test.js +++ b/source/frontend/src/tests/vitest/components/RegionManagement/DiscoverableRegions/DiscoverableAccountsPage.test.js @@ -1,20 +1,30 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import {describe, it, expect, vi, beforeEach, afterEach} from "vitest"; -import {screen, within } from '@testing-library/react' -import {server} from "../../../../mocks/server"; -import {graphql} from "msw"; +import {describe, it, expect, vi, beforeEach, afterEach} from 'vitest'; +import {screen, waitFor, within} from '@testing-library/react'; +import {server} from '../../../../mocks/server'; +import {HttpResponse, graphql} from 'msw'; import {TableWrapper} from '@cloudscape-design/components/test-utils/dom'; import {getAccounts} from '../../../../mocks/fixtures/getAccounts/default.json'; -import userEvent from "@testing-library/user-event"; -import {renderPolarisLayout} from "../../../testUtils"; +import userEvent from '@testing-library/user-event'; +import { + createOrganizationsPerspectiveMetadata, + createSelfManagedPerspectiveMetadata, + renderPolarisLayout, +} from '../../../testUtils'; function verifyBodyCells(expectedAccounts, table, rowNumber, index) { - let accountInfo = expectedAccounts[index] - expect(table.findBodyCell(rowNumber,2).getElement()?.innerHTML).toBe(accountInfo["accountId"]) - expect(table.findBodyCell(rowNumber,3).getElement()?.innerHTML).toBe(accountInfo["name"]) - expect(table.findBodyCell(rowNumber,4).getElement()?.innerHTML).toBe(accountInfo["regions"].length.toString()) + let accountInfo = expectedAccounts[index]; + expect(table.findBodyCell(rowNumber, 2).getElement()?.innerHTML).toBe( + accountInfo['accountId'] + ); + expect(table.findBodyCell(rowNumber, 3).getElement()?.innerHTML).toBe( + accountInfo['name'] + ); + expect(table.findBodyCell(rowNumber, 4).getElement()?.innerHTML).toBe( + accountInfo['regions'].length.toString() + ); } async function getRegionsTable() { @@ -23,15 +33,17 @@ async function getRegionsTable() { } describe('Discoverable Accounts Page', () => { - beforeEach(() => { vi.mock('@aws-amplify/ui-react', async () => { const mod = await vi.importActual('@aws-amplify/ui-react'); return { ...mod, - useAuthenticator: () => ({ user: { - username: 'testUser' - }, signOut: vi.fn() }), + useAuthenticator: () => ({ + user: { + username: 'testUser', + }, + signOut: vi.fn(), + }), }; }); }); @@ -41,29 +53,32 @@ describe('Discoverable Accounts Page', () => { }); describe('Discoverable Accounts Table', () => { - it('should display account data', async () => { - window.perspectiveMetadata = {"crossAccountDiscovery": "SELF_MANAGED"}; + window.perspectiveMetadata = createSelfManagedPerspectiveMetadata(); + + const user = userEvent.setup(); renderPolarisLayout(); const group = screen.getByRole('group', { name: /configure/i, - hidden: true + hidden: true, }); const accountsLink = within(group).getByRole('link', { name: /accounts/i, - hidden: true + hidden: true, }); - await userEvent.click(accountsLink); + await user.click(accountsLink); await screen.findByText('xxxxxxxxxxxx'); - expect(screen.getByRole('button', { name: /Import/ })).toBeVisible(); + expect(screen.getByRole('button', {name: /Import/})).toBeVisible(); - const accountsTable = await screen.findByRole('table', {name: /accounts$/i}); + const accountsTable = await screen.findByRole('table', { + name: /accounts$/i, + }); const table = new TableWrapper(accountsTable.parentElement); @@ -73,206 +88,262 @@ describe('Discoverable Accounts Page', () => { // We pass index + 1 as the rowNumber because findBodyCell starts at index 1. tableRows.forEach(function (_, index) { - verifyBodyCells(getAccounts, table, index + 1, index) + verifyBodyCells(getAccounts, table, index + 1, index); }); }); it('should not have import button in Organizations mode', async () => { - window.perspectiveMetadata = {"crossAccountDiscovery": "AWS_ORGANIZATIONS"}; + window.perspectiveMetadata = + createOrganizationsPerspectiveMetadata(); + + const user = userEvent.setup(); renderPolarisLayout(); const group = screen.getByRole('group', { name: /configure/i, - hidden: true + hidden: true, }); const accountsLink = within(group).getByRole('link', { name: /accounts/i, - hidden: true + hidden: true, }); - await userEvent.click(accountsLink); + await user.click(accountsLink); - const importButton = screen.queryByRole('button', { name: /Import/ }); + const importButton = screen.queryByRole('button', {name: /Import/}); expect(importButton).toBeNull(); }); - it('should import an account with one regions', async () => { - const accounts = []; + it( + 'should import an account with one region', + async () => { + const accounts = []; + + server.use( + graphql.mutation('AddAccounts', async ({variables}) => { + const reqAccounts = variables.accounts; + accounts.push(...reqAccounts); + return HttpResponse.json({ + data: {addAccounts: reqAccounts}, + }); + }), + graphql.query('GetAccounts', () => { + return HttpResponse.json({ + data: {getAccounts: accounts}, + }); + }) + ); - server.use( - graphql.mutation('AddAccounts', async (req, res, ctx) => { - const reqAccounts = req.variables.accounts; - accounts.push(...reqAccounts); - return res(ctx.data({addAccounts: reqAccounts})); - }), - graphql.query('GetAccounts', (req, res, ctx) => { - return res(ctx.data({getAccounts: accounts})); - }) - ); + window.perspectiveMetadata = + createSelfManagedPerspectiveMetadata(); - window.perspectiveMetadata = {"crossAccountDiscovery": "SELF_MANAGED"}; + const user = userEvent.setup(); - window.scrollTo = vi.fn(); + window.scrollTo = vi.fn(); - renderPolarisLayout(); + renderPolarisLayout(); - const group = screen.getByRole('group', { - name: /configure/i, - hidden: true - }); + const group = screen.getByRole('group', { + name: /configure/i, + hidden: true, + }); - const accountsLink = within(group).getByRole('link', { - name: /accounts/i, - hidden: true - }); + const accountsLink = within(group).getByRole('link', { + name: /accounts/i, + hidden: true, + }); - await userEvent.click(accountsLink); + await user.click(accountsLink); - await userEvent.click(screen.getByRole('button', { name: /Import/ })); + await user.click(screen.getByRole('button', {name: /Import/})); - screen.getByRole('heading', {level: 2, name: /Import Method/}); + screen.getByRole('heading', {level: 2, name: /Import Method/}); - const formRadio = screen.getByRole('radio', { - name: /add accounts & regions using a form\./i - }) + const formRadio = screen.getByRole('radio', { + name: /add accounts & regions using a form\./i, + }); - await userEvent.click(formRadio); + await user.click(formRadio); - const accountCombo = screen.getByRole('combobox', { name: /account id/i }); - await userEvent.type(accountCombo, 'yyyyyyyyyyyy'); + const accountCombo = screen.getByRole('combobox', { + name: /account id/i, + }); + await userEvent.type(accountCombo, 'yyyyyyyyyyyy'); - const accountNameText = screen.getByRole('textbox', { name: /account name/i }); - await userEvent.type(accountNameText, 'test account'); + const accountNameText = screen.getByRole('textbox', { + name: /account name/i, + }); + await userEvent.type(accountNameText, 'test account'); - const regionButton = screen.getByRole('button', {name: /regions select regions/i}); - await userEvent.click(regionButton); + const regionButton = screen.getByRole('button', { + name: /regions select regions/i, + }); + await user.click(regionButton); - const euWest1Option = screen.getByRole('option', {name: /europe \(ireland\)/i}); - await userEvent.click(euWest1Option); + const euWest1Option = screen.getByRole('option', { + name: /europe \(ireland\)/i, + }); + await user.click(euWest1Option); - userEvent.click(screen.getByRole('button', {name: /add/i})); + await user.click(screen.getByRole('button', {name: /add/i})); - const importButton = within(screen.getByRole('main')).getByRole('button', { - name: /import/i - }); + const importButton = within(screen.getByRole('main')).getByRole( + 'button', + { + name: /import/i, + } + ); - userEvent.click(importButton); + await user.click(importButton); - const dialog = screen.getByRole('dialog', { - name: /import accounts and regions/i - }); + const dialog = screen.getByRole('dialog', { + name: /import accounts and regions/i, + }); - const globalCheckBox = screen.getByRole('checkbox', { - name: /the global resources template is deployed in each of the accounts being imported/i - }); - userEvent.click(globalCheckBox); + const globalCheckBox = screen.getByRole('checkbox', { + name: /the global resources template is deployed in each of the accounts being imported/i, + }); - const regionalCheckBox = screen.getByRole('checkbox', { - name: /the regional resources template is deployed in every region being imported for each of the listed accounts/i - }); - userEvent.click(regionalCheckBox); + await user.click(globalCheckBox); - userEvent.click(within(dialog).getByRole('button', {name: /import/i})); + const regionalCheckBox = screen.getByRole('checkbox', { + name: /the regional resources template is deployed in every region being imported for each of the listed accounts/i, + }); - await screen.findByRole('heading', {level: 2, name: /Accounts$/}); + await user.click(regionalCheckBox); - const accountsTable = await screen.findByRole('table', {name: /accounts$/i}); + await user.click( + within(dialog).getByRole('button', {name: /import/i}) + ); - const table = new TableWrapper(accountsTable.parentElement); + await screen.findByRole('heading', { + level: 2, + name: /Accounts$/, + }); - const tableRows = table.findRows(); + const accountsTable = await screen.findByRole('table', { + name: /accounts$/i, + }); - expect(tableRows).toHaveLength(1); + const table = new TableWrapper(accountsTable.parentElement); + + const tableRows = table.findRows(); - verifyBodyCells(accounts, table, 1, 0); - }, {timeout: 10000}); + expect(tableRows).toHaveLength(1); + + await waitFor(() => verifyBodyCells(accounts, table, 1, 0)); + }, + {timeout: 10000} + ); it('should import an account with multiple regions', async () => { const accounts = []; server.use( - graphql.mutation('AddAccounts', async (req, res, ctx) => { - const reqAccounts = req.variables.accounts; + graphql.mutation('AddAccounts', async ({variables}) => { + const reqAccounts = variables.accounts; accounts.push(...reqAccounts); - return res(ctx.data({addAccounts: reqAccounts})); + return HttpResponse.json({ + data: {addAccounts: reqAccounts}, + }); }), - graphql.query('GetAccounts', (req, res, ctx) => { - return res(ctx.data({getAccounts: accounts})); + graphql.query('GetAccounts', () => { + return HttpResponse.json({data: {getAccounts: accounts}}); }) ); - window.perspectiveMetadata = {"crossAccountDiscovery": "SELF_MANAGED"}; + window.perspectiveMetadata = createSelfManagedPerspectiveMetadata(); window.scrollTo = vi.fn(); + const user = userEvent.setup(); + renderPolarisLayout(); const group = screen.getByRole('group', { name: /configure/i, - hidden: true + hidden: true, }); const accountsLink = within(group).getByRole('link', { name: /accounts/i, - hidden: true + hidden: true, }); - await userEvent.click(accountsLink); + await user.click(accountsLink); - await userEvent.click(screen.getByRole('button', { name: /Import/ })); + await user.click(screen.getByRole('button', {name: /Import/})); screen.getByRole('heading', {level: 2, name: /Import Method/}); const formRadio = screen.getByRole('radio', { - name: /add accounts & regions using a form\./i - }) + name: /add accounts & regions using a form\./i, + }); - await userEvent.click(formRadio); + await user.click(formRadio); - const accountCombo = screen.getByRole('combobox', { name: /account id/i }); + const accountCombo = screen.getByRole('combobox', { + name: /account id/i, + }); await userEvent.type(accountCombo, 'yyyyyyyyyyyy'); - const accountNameText = screen.getByRole('textbox', { name: /account name/i }); + const accountNameText = screen.getByRole('textbox', { + name: /account name/i, + }); await userEvent.type(accountNameText, 'test account'); - const regionButton = screen.getByRole('button', {name: /regions select regions/i}); - await userEvent.click(regionButton); + const regionButton = screen.getByRole('button', { + name: /regions select regions/i, + }); + await user.click(regionButton); - const usEast1Option = screen.getByRole('option', {name: /us east \(n\. virginia\)/i}); - await userEvent.click(usEast1Option); + const usEast1Option = screen.getByRole('option', { + name: /us east \(n\. virginia\)/i, + }); + await user.click(usEast1Option); - const euWest1Option = screen.getByRole('option', {name: /europe \(ireland\)/i}); - await userEvent.click(euWest1Option); + const euWest1Option = screen.getByRole('option', { + name: /europe \(ireland\)/i, + }); + await user.click(euWest1Option); - userEvent.click(screen.getByRole('button', {name: /add/i})); + await user.click(screen.getByRole('button', {name: /add/i})); - const importButton = within(screen.getByRole('main')).getByRole('button', { - name: /import/i - }); + const importButton = within(screen.getByRole('main')).getByRole( + 'button', + { + name: /import/i, + } + ); - userEvent.click(importButton); + await user.click(importButton); const dialog = screen.getByRole('dialog', { - name: /import accounts and regions/i + name: /import accounts and regions/i, }); const globalCheckBox = screen.getByRole('checkbox', { - name: /the global resources template is deployed in each of the accounts being imported/i + name: /the global resources template is deployed in each of the accounts being imported/i, }); - userEvent.click(globalCheckBox); + + await user.click(globalCheckBox); const regionalCheckBox = screen.getByRole('checkbox', { - name: /the regional resources template is deployed in every region being imported for each of the listed accounts/i + name: /the regional resources template is deployed in every region being imported for each of the listed accounts/i, }); - userEvent.click(regionalCheckBox); + await user.click(regionalCheckBox); - userEvent.click(within(dialog).getByRole('button', {name: /import/i})); + await user.click( + within(dialog).getByRole('button', {name: /import/i}) + ); await screen.findByRole('heading', {level: 2, name: /Accounts$/}); - const accountsTable = await screen.findByRole('table', {name: /accounts$/i}); + const accountsTable = await screen.findByRole('table', { + name: /accounts$/i, + }); const table = new TableWrapper(accountsTable.parentElement); @@ -280,183 +351,236 @@ describe('Discoverable Accounts Page', () => { expect(tableRows).toHaveLength(1); - verifyBodyCells(accounts, table, 1, 0); + await waitFor(() => verifyBodyCells(accounts, table, 1, 0)); }, 10000); it('should not allow account with no regions to be created', async () => { server.use( - graphql.mutation('DeleteRegions', async (req, res, ctx) => { - return res(ctx.errors([ - {message: 'Unable to delete region(s), an account must have at least one region.'} - ])); + graphql.mutation('DeleteRegions', async () => { + return HttpResponse.json({ + errors: [ + { + message: + 'Unable to delete region(s), an account must have at least one region.', + }, + ], + }); }) ); - window.perspectiveMetadata = {"crossAccountDiscovery": "SELF_MANAGED"}; + window.perspectiveMetadata = createSelfManagedPerspectiveMetadata(); window.scrollTo = vi.fn(); + const user = userEvent.setup(); + renderPolarisLayout(); const group = screen.getByRole('group', { name: /configure/i, - hidden: true + hidden: true, }); const accountsLink = within(group).getByRole('link', { name: /accounts/i, - hidden: true + hidden: true, }); - await userEvent.click(accountsLink); + await user.click(accountsLink); await screen.findByText('xxxxxxxxxxxx'); - const accountsTable = await screen.findByRole('table', {name: /accounts$/i}); + const accountsTable = await screen.findByRole('table', { + name: /accounts$/i, + }); - const accountsTableWrapper = new TableWrapper(accountsTable.parentElement); + const accountsTableWrapper = new TableWrapper( + accountsTable.parentElement + ); - const accountCheckmarkCell = accountsTableWrapper.findBodyCell(1,1).getElement(); + const accountCheckmarkCell = accountsTableWrapper + .findBodyCell(1, 1) + .getElement(); - const accountCheckmark = within(accountCheckmarkCell).getByRole('checkbox') + const accountCheckmark = + within(accountCheckmarkCell).getByRole('checkbox'); - await userEvent.click(accountCheckmark); + await user.click(accountCheckmark); await screen.findByText('us-east-1'); const regionsTableWrapper = await getRegionsTable(); - const regionsCheckmarkCell = regionsTableWrapper.findBodyCell(1,1).getElement(); - - const regionsCheckmark = within(regionsCheckmarkCell).getByRole('checkbox'); + const regionsCheckmarkCell = regionsTableWrapper + .findBodyCell(1, 1) + .getElement(); - await userEvent.click(regionsCheckmark); + const regionsCheckmark = + within(regionsCheckmarkCell).getByRole('checkbox'); - const removeButton = await screen.getAllByRole('button', { name: /remove/i })[1] + await user.click(regionsCheckmark); - await userEvent.click(removeButton) + const removeButton = await screen.getAllByRole('button', { + name: /remove/i, + })[1]; - const deleteButton = await screen.getAllByRole('button', { name: /delete/i })[1] + await user.click(removeButton); - await userEvent.click(deleteButton); + const deleteButton = await screen.getAllByRole('button', { + name: /delete/i, + })[1]; - const errorNotification = await screen.findByText(/the following errors occurred:/i); + await user.click(deleteButton); - await within(errorNotification).getByText(/Unable to delete region\(s\), an account must have at least one region./i); + const errorNotification = await screen.findByText( + /the following errors occurred:/i + ); + await within(errorNotification).getByText( + /Unable to delete region\(s\), an account must have at least one region./i + ); }); it('should be able to delete a region', async () => { - const regionToRemove = 'us-east-2' + const regionToRemove = 'us-east-2'; let accountsDb = { - xxxxxxxxxxxx: { accountId: 'xxxxxxxxxxxx', name: 'testAccount1', regions: [{name: 'us-east-2'}, {name:'us-east-1'}] } }; - + xxxxxxxxxxxx: { + accountId: 'xxxxxxxxxxxx', + name: 'testAccount1', + regions: [{name: 'us-east-2'}, {name: 'us-east-1'}], + }, + }; + server.use( - graphql.query('GetResourcesRegionMetadata', (req, res, ctx) => { - const accounts = req.variables.accounts; - const resourceRegionMetadata = Object.entries(accountsDb) - .filter(([accountId]) => - accounts.map((x) => x.accountId).includes(accountId) - ) - .map(([accountId, account]) => { - return { - accountId, - count: 100, - regions: account.regions.map((region) => { - region.count = 100; - return region; - }), - }; - }); - return res( - ctx.data({ - getResourcesRegionMetadata: resourceRegionMetadata, - }) - ); - }), - graphql.query('GetAccounts', (req, res, ctx) => { - return res(ctx.data({ getAccounts: Object.values(accountsDb) })); - }) + graphql.query('GetResourcesRegionMetadata', ({variables}) => { + const {accounts} = variables; + const resourceRegionMetadata = Object.entries(accountsDb) + .filter(([accountId]) => + accounts.map(x => x.accountId).includes(accountId) + ) + .map(([accountId, account]) => { + return { + accountId, + count: 100, + regions: account.regions.map(region => { + region.count = 100; + return region; + }), + }; + }); + return HttpResponse.json({ + data: { + getResourcesRegionMetadata: resourceRegionMetadata, + }, + }); + }), + graphql.query('GetAccounts', () => { + return HttpResponse.json({ + data: {getAccounts: Object.values(accountsDb)}, + }); + }) ); - - window.perspectiveMetadata = {"crossAccountDiscovery": "SELF_MANAGED"}; - + + window.perspectiveMetadata = createSelfManagedPerspectiveMetadata(); + window.scrollTo = vi.fn(); - + renderPolarisLayout(); - + + const user = userEvent.setup(); + const group = screen.getByRole('group', { name: /configure/i, - hidden: true + hidden: true, }); - + const accountsLink = within(group).getByRole('link', { name: /accounts/i, - hidden: true + hidden: true, }); - - await userEvent.click(accountsLink); - + + await user.click(accountsLink); + await screen.findByText('xxxxxxxxxxxx'); - - const accountsTable = await screen.findByRole('table', {name: /accounts$/i}); - - const accountsTableWrapper = new TableWrapper(accountsTable.parentElement); - + + const accountsTable = await screen.findByRole('table', { + name: /accounts$/i, + }); + + const accountsTableWrapper = new TableWrapper( + accountsTable.parentElement + ); + const tableRows = accountsTableWrapper.findRows(); - + expect(tableRows).toHaveLength(1); - - const accountCheckmarkCell = accountsTableWrapper.findBodyCell(1,1).getElement(); - - const accountCheckmark = within(accountCheckmarkCell).getByRole('checkbox') - - await userEvent.click(accountCheckmark); - + + const accountCheckmarkCell = accountsTableWrapper + .findBodyCell(1, 1) + .getElement(); + + const accountCheckmark = + within(accountCheckmarkCell).getByRole('checkbox'); + + await user.click(accountCheckmark); + await screen.findByText(regionToRemove); - + let regionsTableWrapper = await getRegionsTable(); - expect(regionsTableWrapper.findRows()).toHaveLength(2); - - const regionsCheckmarkCell = regionsTableWrapper.findBodyCell(1,1).getElement(); - - const regionsCheckmark = within(regionsCheckmarkCell).getByRole('checkbox'); - - await userEvent.click(regionsCheckmark); - - const removeButton = await screen.getAllByRole('button', { name: /remove/i })[1] - - await userEvent.click(removeButton) - - const deleteButton = await screen.getAllByRole('button', { name: /delete/i })[1] - - await userEvent.click(deleteButton); + expect(regionsTableWrapper.findRows()).toHaveLength(2); + + const regionsCheckmarkCell = regionsTableWrapper + .findBodyCell(1, 1) + .getElement(); + + const regionsCheckmark = + within(regionsCheckmarkCell).getByRole('checkbox'); + + await user.click(regionsCheckmark); + + const removeButton = await screen.getAllByRole('button', { + name: /remove/i, + })[1]; + + await user.click(removeButton); + + const deleteButton = await screen.getAllByRole('button', { + name: /delete/i, + })[1]; + + await user.click(deleteButton); // Mock for DeleteRegions will not work here, so manually manipulating the data here Object.values(accountsDb).map(account => { - account.regions = account.regions.filter(({name}) => name != regionToRemove); - }) + account.regions = account.regions.filter( + ({name}) => name != regionToRemove + ); + }); // Forcing another GetResourcesRegionMetadata call to update data - await userEvent.click(accountCheckmark); + await user.click(accountCheckmark); + + await user.click(accountCheckmark); - await userEvent.click(accountCheckmark); - await screen.findByText('us-east-1'); regionsTableWrapper = await getRegionsTable(); - expect(accountsTableWrapper.findBodyCell(1,4).getElement()?.innerHTML).toEqual('1') + expect( + accountsTableWrapper.findBodyCell(1, 4).getElement()?.innerHTML + ).toEqual('1'); expect(regionsTableWrapper.findRows()).toHaveLength(1); - expect(regionsTableWrapper.findBodyCell(1,2).getElement()?.innerHTML).toEqual('us-east-1'); + expect( + regionsTableWrapper.findBodyCell(1, 2).getElement()?.innerHTML + ).toEqual('us-east-1'); - expect(regionsTableWrapper.findBodyCell(1,4).getElement()?.innerHTML).toEqual('100'); - + expect( + regionsTableWrapper.findBodyCell(1, 4).getElement()?.innerHTML + ).toEqual('100'); }, 10000); }); - -}); \ No newline at end of file +}); diff --git a/source/frontend/src/tests/vitest/components/Shared/ResourceDetails.test.js b/source/frontend/src/tests/vitest/components/Shared/ResourceDetails.test.js index c0b03d8f..a0c2c9ab 100644 --- a/source/frontend/src/tests/vitest/components/Shared/ResourceDetails.test.js +++ b/source/frontend/src/tests/vitest/components/Shared/ResourceDetails.test.js @@ -2,94 +2,140 @@ // SPDX-License-Identifier: Apache-2.0 import React from 'react'; -import {describe, it, expect, afterEach, vi} from "vitest"; -import {within, screen, getByText, findByText, cleanup} from '@testing-library/react' +import {describe, it, expect, afterEach, vi} from 'vitest'; +import { + within, + screen, + getByText, + findByText, + cleanup, +} from '@testing-library/react'; import {TableWrapper} from '@cloudscape-design/components/test-utils/dom'; -import userEvent from "@testing-library/user-event"; -import {renderPolarisLayout, getCellText} from "../../testUtils"; +import userEvent from '@testing-library/user-event'; +import { + renderPolarisLayout, + getCellText, + createSelfManagedPerspectiveMetadata, +} from '../../testUtils'; describe('Resource Details', () => { - it('should display resource details', async () => { - window.perspectiveMetadata = { - version: '2.1.0' - }; + window.perspectiveMetadata = createSelfManagedPerspectiveMetadata(); vi.mock('@aws-amplify/ui-react', async () => { const mod = await vi.importActual('@aws-amplify/ui-react'); return { ...mod, - useAuthenticator: () => ({ user: { - username: 'testUser' - }, signOut: vi.fn() }), + useAuthenticator: () => ({ + user: { + username: 'testUser', + }, + signOut: vi.fn(), + }), }; }); window.scrollTo = vi.fn(); + const user = userEvent.setup(); + renderPolarisLayout(); - const group = screen.getByRole('group', {name: /explore/i, hidden: true}); + const group = screen.getByRole('group', { + name: /explore/i, + hidden: true, + }); const resourcesLink = within(group).getByRole('link', { name: /resources/i, - hidden: true + hidden: true, }); - await userEvent.click(resourcesLink); + await user.click(resourcesLink); - await screen.findByRole('heading', {level: 2, name: /Resources \(29\)/}); + await screen.findByRole('heading', { + level: 2, + name: /Resources \(29\)/, + }); const subnet0Checkbox = screen.getByRole('checkbox', { - name: /arn:aws:xxxxxxxxxxxx:eu-west-2:aws::ec2::subnet:0title is not selected/i + name: /arn:aws:xxxxxxxxxxxx:eu-west-2:aws::ec2::subnet:0title is not selected/i, }); - await userEvent.click(subnet0Checkbox); + await user.click(subnet0Checkbox); - const openPanelButton = screen.getByRole('button', { name: /open panel/i }); + const openPanelButton = screen.getByRole('button', { + name: /open panel/i, + }); - await screen.findByRole('heading', {name: /arn:aws:xxxxxxxxxxxx:eu-west-2:aws::ec2::subnet:0title/i}); + await screen.findByRole('heading', { + name: /arn:aws:xxxxxxxxxxxx:eu-west-2:aws::ec2::subnet:0title/i, + }); screen.getByLabelText('green status icon'); - await userEvent.click(openPanelButton); + await user.click(openPanelButton); - await screen.findByRole('link', { name: /arn:aws:xxxxxxxxxxxx:eu-west-2:aws::ec2::subnet:0/i }); + await screen.findByRole('link', { + name: /arn:aws:xxxxxxxxxxxx:eu-west-2:aws::ec2::subnet:0/i, + }); // selecting multiple resources displays a table with a subset of details for each // selected resource const subnet1Checkbox = screen.getByRole('checkbox', { - name: /arn:aws:xxxxxxxxxxxx:eu-west-2:aws::ec2::subnet:1title is not selected/i + name: /arn:aws:xxxxxxxxxxxx:eu-west-2:aws::ec2::subnet:1title is not selected/i, }); - await userEvent.click(subnet1Checkbox); + await user.click(subnet1Checkbox); await screen.findByRole('heading', {name: /2 resources selected/i}); const resourcesDetailsTable = screen.getByRole('table', { - name: /Resources Details/i + name: /Resources Details/i, }); - const resourcesDetailsTableWrapper = new TableWrapper(resourcesDetailsTable.parentElement); - - expect(getCellText(1, 1, resourcesDetailsTableWrapper)).toMatch(/Resource type/); - expect(getCellText(2, 1, resourcesDetailsTableWrapper)).toMatch(/Account Id/); - expect(getCellText(3, 1, resourcesDetailsTableWrapper)).toMatch(/Region/); - expect(getCellText(4, 1, resourcesDetailsTableWrapper)).toMatch(/Availability zone/); - - expect(getCellText(1, 2, resourcesDetailsTableWrapper)).toBe('AWS::EC2::Subnet'); - expect(getCellText(2, 2, resourcesDetailsTableWrapper)).toBe('xxxxxxxxxxxx'); - expect(getCellText(3, 2, resourcesDetailsTableWrapper)).toBe('eu-west-2'); - expect(getCellText(4, 2, resourcesDetailsTableWrapper)).toBe('availabilityZone'); - - expect(getCellText(1, 3, resourcesDetailsTableWrapper)).toBe('AWS::EC2::Subnet'); - expect(getCellText(2, 3, resourcesDetailsTableWrapper)).toBe('xxxxxxxxxxxx'); - expect(getCellText(3, 3, resourcesDetailsTableWrapper)).toBe('eu-west-2'); - expect(getCellText(4, 3, resourcesDetailsTableWrapper)).toBe('availabilityZone'); - - screen.logTestingPlaygroundURL() - + const resourcesDetailsTableWrapper = new TableWrapper( + resourcesDetailsTable.parentElement + ); + + expect(getCellText(1, 1, resourcesDetailsTableWrapper)).toMatch( + /Resource type/ + ); + expect(getCellText(2, 1, resourcesDetailsTableWrapper)).toMatch( + /Account Id/ + ); + expect(getCellText(3, 1, resourcesDetailsTableWrapper)).toMatch( + /Region/ + ); + expect(getCellText(4, 1, resourcesDetailsTableWrapper)).toMatch( + /Availability zone/ + ); + + expect(getCellText(1, 2, resourcesDetailsTableWrapper)).toBe( + 'AWS::EC2::Subnet' + ); + expect(getCellText(2, 2, resourcesDetailsTableWrapper)).toBe( + 'xxxxxxxxxxxx' + ); + expect(getCellText(3, 2, resourcesDetailsTableWrapper)).toBe( + 'eu-west-2' + ); + expect(getCellText(4, 2, resourcesDetailsTableWrapper)).toBe( + 'availabilityZone' + ); + + expect(getCellText(1, 3, resourcesDetailsTableWrapper)).toBe( + 'AWS::EC2::Subnet' + ); + expect(getCellText(2, 3, resourcesDetailsTableWrapper)).toBe( + 'xxxxxxxxxxxx' + ); + expect(getCellText(3, 3, resourcesDetailsTableWrapper)).toBe( + 'eu-west-2' + ); + expect(getCellText(4, 3, resourcesDetailsTableWrapper)).toBe( + 'availabilityZone' + ); }); - -}); \ No newline at end of file +}); diff --git a/source/frontend/src/tests/vitest/setupFiles/amplify.js b/source/frontend/src/tests/vitest/setupFiles/amplify.js index 7047ce83..77f91a69 100644 --- a/source/frontend/src/tests/vitest/setupFiles/amplify.js +++ b/source/frontend/src/tests/vitest/setupFiles/amplify.js @@ -1,48 +1,49 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import {Amplify, Auth, Storage} from "aws-amplify"; -import mockStorageProvider from "../../mocks/MockStorageProvider"; +import {Amplify, Auth, Storage} from 'aws-amplify'; +import mockStorageProvider from '../../mocks/MockStorageProvider'; Storage.addPluggable(mockStorageProvider); Amplify.configure({ API: { - aws_appsync_graphqlEndpoint: 'https://testgql.appsync-api.amazonaws.com/graphql', + aws_appsync_graphqlEndpoint: + 'https://testgql.appsync-api.amazonaws.com/graphql', aws_appsync_authenticationType: 'API_KEY', aws_appsync_apiKey: 'da2-xxxxxxxxxxxxxxxxxxxxxxxxxx', }, Storage: { [mockStorageProvider.getProviderName()]: { bucket: 'workload-discovery-on-aws-s3-amplifystoragebucket-qclmeyrz1x9k', - region: 'eu-central-1' - } - } + region: 'eu-central-1', + }, + }, }); Storage.configure({ - [mockStorageProvider.getProviderName()]: {} + [mockStorageProvider.getProviderName()]: {}, }); Auth.currentSession = async () => { return { idToken: { jwtToken: 'idJwtToken', - payload: {} + payload: {}, }, refreshToken: { - token: 'refreshJwtToken' + token: 'refreshJwtToken', }, accessToken: { jwtToken: 'accessJwtToken', - payload: {} + payload: {}, }, - clockDrift: 0 - } + clockDrift: 0, + }; }; Auth.currentAuthenticatedUser = async () => { return { - username: 'testUser' - } -} \ No newline at end of file + username: 'testUser', + }; +}; diff --git a/source/frontend/src/tests/vitest/setupFiles/cleanup.js b/source/frontend/src/tests/vitest/setupFiles/cleanup.js index c505b2bc..9a17c26c 100644 --- a/source/frontend/src/tests/vitest/setupFiles/cleanup.js +++ b/source/frontend/src/tests/vitest/setupFiles/cleanup.js @@ -1,7 +1,7 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import {afterEach} from "vitest"; -import {cleanup} from '@testing-library/react' +import {afterEach} from 'vitest'; +import {cleanup} from '@testing-library/react'; -afterEach(cleanup) \ No newline at end of file +afterEach(cleanup); diff --git a/source/frontend/src/tests/vitest/setupFiles/globals.js b/source/frontend/src/tests/vitest/setupFiles/globals.js index 9aac6008..85fa1c54 100644 --- a/source/frontend/src/tests/vitest/setupFiles/globals.js +++ b/source/frontend/src/tests/vitest/setupFiles/globals.js @@ -1,13 +1,8 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import { Blob } from 'node:buffer' -import { URL } from 'node:url' -import fetch, {Headers, Response, Request} from 'node-fetch'; +import {Blob} from 'node:buffer'; +import {URL} from 'node:url'; -globalThis.URL = URL -globalThis.Blob = Blob -globalThis.fetch = fetch -globalThis.Headers = Headers -globalThis.Response = Response -globalThis.Request = Request +globalThis.URL = URL; +globalThis.Blob = Blob; diff --git a/source/frontend/src/tests/vitest/setupFiles/jest-dom.js b/source/frontend/src/tests/vitest/setupFiles/jest-dom.js index f6fc2aa5..ba5aedca 100644 --- a/source/frontend/src/tests/vitest/setupFiles/jest-dom.js +++ b/source/frontend/src/tests/vitest/setupFiles/jest-dom.js @@ -1,7 +1,4 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import matchers from '@testing-library/jest-dom/matchers'; -import { expect } from 'vitest'; - -expect.extend(matchers); \ No newline at end of file +import '@testing-library/jest-dom/vitest'; diff --git a/source/frontend/src/tests/vitest/setupFiles/server.js b/source/frontend/src/tests/vitest/setupFiles/server.js index 3148f8f0..8d708b50 100644 --- a/source/frontend/src/tests/vitest/setupFiles/server.js +++ b/source/frontend/src/tests/vitest/setupFiles/server.js @@ -1,10 +1,10 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import {afterAll, afterEach, beforeAll} from "vitest"; -import { server } from '../../mocks/server'; +import {afterAll, afterEach, beforeAll} from 'vitest'; +import {server} from '../../mocks/server'; beforeAll(() => server.listen()); afterEach(() => server.resetHandlers()); -afterAll(() => server.close()); \ No newline at end of file +afterAll(() => server.close()); diff --git a/source/frontend/src/tests/vitest/testUtils.js b/source/frontend/src/tests/vitest/testUtils.js index 9e24dd67..3aada8e0 100644 --- a/source/frontend/src/tests/vitest/testUtils.js +++ b/source/frontend/src/tests/vitest/testUtils.js @@ -1,19 +1,19 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import {QueryClient, QueryClientProvider} from "react-query"; -import {createMemoryHistory} from "history"; -import {render} from "@testing-library/react"; -import {NotificationProvider} from "../../components/Contexts/NotificationContext"; -import {DiagramSettingsProvider} from "../../components/Contexts/DiagramSettingsContext"; -import {diagramSettingsReducer} from "../../components/Contexts/Reducers/DiagramSettingsReducer"; -import {ResourceProvider} from "../../components/Contexts/ResourceContext"; -import {resourceReducer} from "../../components/Contexts/Reducers/ResourceReducer"; -import {Router} from "react-router-dom"; -import PolarisLayout from "../../PolarisLayout"; -import React from "react"; - -export function renderPolarisLayout() { +import {QueryClient, QueryClientProvider} from 'react-query'; +import {createMemoryHistory} from 'history'; +import {render} from '@testing-library/react'; +import {NotificationProvider} from '../../components/Contexts/NotificationContext'; +import {DiagramSettingsProvider} from '../../components/Contexts/DiagramSettingsContext'; +import {diagramSettingsReducer} from '../../components/Contexts/Reducers/DiagramSettingsReducer'; +import {ResourceProvider} from '../../components/Contexts/ResourceContext'; +import {resourceReducer} from '../../components/Contexts/Reducers/ResourceReducer'; +import {Router} from 'react-router-dom'; +import PolarisLayout from '../../PolarisLayout'; +import React from 'react'; + +export function renderPolarisLayout() { const queryClient = new QueryClient({ defaultOptions: { queries: { @@ -41,10 +41,12 @@ export function renderPolarisLayout() { + reducer={diagramSettingsReducer} + > + reducer={resourceReducer} + > {/**/} @@ -60,4 +62,16 @@ export function renderPolarisLayout() { export function getCellText(row, column, table) { return table.findBodyCell(row, column).getElement()?.innerHTML; -} \ No newline at end of file +} + +function createPerspectiveMetadata(crossAccountDiscovery) { + return () => { + return {version: '2.2.0', crossAccountDiscovery}; + }; +} + +export const createOrganizationsPerspectiveMetadata = + createPerspectiveMetadata('AWS_ORGANIZATIONS'); + +export const createSelfManagedPerspectiveMetadata = + createPerspectiveMetadata('SELF_MANAGED'); diff --git a/source/frontend/vite.config.js b/source/frontend/vite.config.js index 853fe26a..c36fcf6c 100644 --- a/source/frontend/vite.config.js +++ b/source/frontend/vite.config.js @@ -1,21 +1,21 @@ -import { defineConfig } from 'vite'; -import eslint from 'vite-plugin-eslint2' +import {defineConfig} from 'vite'; +import eslint from 'vite-plugin-eslint2'; import path from 'node:path'; import fs from 'node:fs/promises'; import esbuild from 'esbuild'; import react from '@vitejs/plugin-react'; import svgrPlugin from 'vite-plugin-svgr'; -import istanbul from "vite-plugin-istanbul"; +import istanbul from 'vite-plugin-istanbul'; function excludeMsw() { return { - name: "exclude-msw", + name: 'exclude-msw', resolveId(source) { - return source === "virtual-module" ? source : null; + return source === 'virtual-module' ? source : null; }, async renderStart(outputOptions, _inputOptions) { const outDir = outputOptions.dir; - const msWorker = path.resolve(outDir, "mockServiceWorker.js"); + const msWorker = path.resolve(outDir, 'mockServiceWorker.js'); await fs.rm(msWorker); }, }; @@ -25,10 +25,8 @@ export default defineConfig({ build: { sourcemap: true, rollupOptions: { - external: [ - '/settings.js' - ], - } + external: ['/settings.js'], + }, }, esbuild: { loader: 'jsx', @@ -41,7 +39,7 @@ export default defineConfig({ }, // Node.js global to browser globalThis define: { - global: "globalThis", //<-- AWS SDK + global: 'globalThis', //<-- AWS SDK }, }, }, @@ -54,12 +52,12 @@ export default defineConfig({ name: 'load-js-files-as-jsx', async load(id) { if (!id.match(/src\/.*\.js$/)) { - return + return; } - const file = await fs.readFile(id, 'utf-8') - return esbuild.transformSync(file, { loader: 'jsx' }) - } + const file = await fs.readFile(id, 'utf-8'); + return esbuild.transformSync(file, {loader: 'jsx'}); + }, }, // this plugin is require to instrument the code running in a browser for // the Cypress tests @@ -93,11 +91,11 @@ export default defineConfig({ provider: 'v8', reportsDirectory: 'vitest-coverage', reporter: [ - ['lcov', { 'projectRoot': '../..' }], + ['lcov', {projectRoot: '../..'}], ['html'], ['text'], - ['json'] - ] - } - } + ['json'], + ], + }, + }, }); diff --git a/source/sdk/js/package-lock.json b/source/sdk/js/package-lock.json index 5c1a2e83..9dc5dfdc 100644 --- a/source/sdk/js/package-lock.json +++ b/source/sdk/js/package-lock.json @@ -9,30 +9,31 @@ "version": "1.0.0", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/credential-providers": "^3.621.0", + "@aws-sdk/credential-providers": "3.621.0", "async-retry": "1.3.3", "aws4": "1.12.0", "lodash.curry": "4.1.1", - "undici": "^6.14.1", + "undici": "6.19.8", "winston": "3.8.2" }, "devDependencies": { "@aws-amplify/graphql-docs-generator": "^4.0.3", - "@vitest/coverage-v8": "1.2.1", + "@vitest/coverage-v8": "^2.1.1", "chai": "^4.3.10", "sinon": "^17.0.0", "tsup": "^7.1.0", - "vitest": "^1.2.1" + "vitest": "^2.1.1" } }, "node_modules/@ampproject/remapping": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", - "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { "node": ">=6.0.0" @@ -873,28 +874,34 @@ } }, "node_modules/@babel/helper-string-parser": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", - "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz", + "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.6.tgz", - "integrity": "sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.6.tgz", + "integrity": "sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==", "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.25.6" + }, "bin": { "parser": "bin/babel-parser.js" }, @@ -903,13 +910,14 @@ } }, "node_modules/@babel/types": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.6.tgz", - "integrity": "sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.6.tgz", + "integrity": "sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-string-parser": "^7.23.4", - "@babel/helper-validator-identifier": "^7.22.20", + "@babel/helper-string-parser": "^7.24.8", + "@babel/helper-validator-identifier": "^7.24.7", "to-fast-properties": "^2.0.0" }, "engines": { @@ -1309,81 +1317,141 @@ "node": ">=12" } }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, "engines": { - "node": ">=8" + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@jest/schemas": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", - "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, + "license": "MIT", "dependencies": { - "@sinclair/typebox": "^0.27.8" + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true, + "license": "MIT", "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8" } }, "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", "dev": true, + "license": "MIT", "dependencies": { - "@jridgewell/set-array": "^1.0.1", + "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "dev": true + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "dev": true, + "license": "MIT" }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.18", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", - "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", "dev": true, + "license": "MIT", "dependencies": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "dev": true - }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -1419,6 +1487,17 @@ "node": ">= 8" } }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, "node_modules/@rollup/rollup-android-arm-eabi": { "version": "4.22.4", "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.22.4.tgz", @@ -1643,12 +1722,6 @@ "win32" ] }, - "node_modules/@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "dev": true - }, "node_modules/@sinonjs/commons": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", @@ -2245,16 +2318,11 @@ } }, "node_modules/@types/estree": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", - "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", - "dev": true - }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", - "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", - "dev": true + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", + "dev": true, + "license": "MIT" }, "node_modules/@types/triple-beam": { "version": "1.3.2", @@ -2262,120 +2330,227 @@ "integrity": "sha512-txGIh+0eDFzKGC25zORnswy+br1Ha7hj5cMVwKIU7+s0U2AxxJru/jZSMU6OC9MJWP6+pc/hc6ZjyZShpsyY2g==" }, "node_modules/@vitest/coverage-v8": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-1.2.1.tgz", - "integrity": "sha512-fJEhKaDwGMZtJUX7BRcGxooGwg1Hl0qt53mVup/ZJeznhvL5EodteVnb/mcByhEcvVWbK83ZF31c7nPEDi4LOQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-2.1.1.tgz", + "integrity": "sha512-md/A7A3c42oTT8JUHSqjP5uKTWJejzUW4jalpvs+rZ27gsURsMU8DEb+8Jf8C6Kj2gwfSHJqobDNBuoqlm0cFw==", "dev": true, + "license": "MIT", "dependencies": { - "@ampproject/remapping": "^2.2.1", + "@ampproject/remapping": "^2.3.0", "@bcoe/v8-coverage": "^0.2.3", - "debug": "^4.3.4", + "debug": "^4.3.6", "istanbul-lib-coverage": "^3.2.2", "istanbul-lib-report": "^3.0.1", - "istanbul-lib-source-maps": "^4.0.1", - "istanbul-reports": "^3.1.6", - "magic-string": "^0.30.5", - "magicast": "^0.3.3", - "picocolors": "^1.0.0", - "std-env": "^3.5.0", - "test-exclude": "^6.0.0", - "v8-to-istanbul": "^9.2.0" + "istanbul-lib-source-maps": "^5.0.6", + "istanbul-reports": "^3.1.7", + "magic-string": "^0.30.11", + "magicast": "^0.3.4", + "std-env": "^3.7.0", + "test-exclude": "^7.0.1", + "tinyrainbow": "^1.2.0" }, "funding": { "url": "https://opencollective.com/vitest" }, "peerDependencies": { - "vitest": "^1.0.0" + "@vitest/browser": "2.1.1", + "vitest": "2.1.1" + }, + "peerDependenciesMeta": { + "@vitest/browser": { + "optional": true + } } }, "node_modules/@vitest/expect": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.2.1.tgz", - "integrity": "sha512-/bqGXcHfyKgFWYwIgFr1QYDaR9e64pRKxgBNWNXPefPFRhgm+K3+a/dS0cUGEreWngets3dlr8w8SBRw2fCfFQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-2.1.1.tgz", + "integrity": "sha512-YeueunS0HiHiQxk+KEOnq/QMzlUuOzbU1Go+PgAsHvvv3tUkJPm9xWt+6ITNTlzsMXUjmgm5T+U7KBPK2qQV6w==", "dev": true, + "license": "MIT", "dependencies": { - "@vitest/spy": "1.2.1", - "@vitest/utils": "1.2.1", - "chai": "^4.3.10" + "@vitest/spy": "2.1.1", + "@vitest/utils": "2.1.1", + "chai": "^5.1.1", + "tinyrainbow": "^1.2.0" }, "funding": { "url": "https://opencollective.com/vitest" } }, - "node_modules/@vitest/runner": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.2.1.tgz", - "integrity": "sha512-zc2dP5LQpzNzbpaBt7OeYAvmIsRS1KpZQw4G3WM/yqSV1cQKNKwLGmnm79GyZZjMhQGlRcSFMImLjZaUQvNVZQ==", + "node_modules/@vitest/expect/node_modules/assertion-error": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", + "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + } + }, + "node_modules/@vitest/expect/node_modules/chai": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/chai/-/chai-5.1.1.tgz", + "integrity": "sha512-pT1ZgP8rPNqUgieVaEY+ryQr6Q4HXNg8Ei9UnLUrjN4IA7dvQC5JB+/kxVcPNDHyBcc/26CXPkbNzq3qwrOEKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "assertion-error": "^2.0.1", + "check-error": "^2.1.1", + "deep-eql": "^5.0.1", + "loupe": "^3.1.0", + "pathval": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@vitest/expect/node_modules/check-error": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz", + "integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 16" + } + }, + "node_modules/@vitest/expect/node_modules/deep-eql": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz", + "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/@vitest/expect/node_modules/loupe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.1.tgz", + "integrity": "sha512-edNu/8D5MKVfGVFRhFf8aAxiTM6Wumfz5XsaatSxlD3w4R1d/WEKUTydCdPGbl9K7QG/Ca3GnDV2sIKIpXRQcw==", "dev": true, + "license": "MIT", + "dependencies": { + "get-func-name": "^2.0.1" + } + }, + "node_modules/@vitest/expect/node_modules/pathval": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.0.tgz", + "integrity": "sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.16" + } + }, + "node_modules/@vitest/mocker": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-2.1.1.tgz", + "integrity": "sha512-LNN5VwOEdJqCmJ/2XJBywB11DLlkbY0ooDJW3uRX5cZyYCrc4PI/ePX0iQhE3BiEGiQmK4GE7Q/PqCkkaiPnrA==", + "dev": true, + "license": "MIT", "dependencies": { - "@vitest/utils": "1.2.1", - "p-limit": "^5.0.0", - "pathe": "^1.1.1" + "@vitest/spy": "^2.1.0-beta.1", + "estree-walker": "^3.0.3", + "magic-string": "^0.30.11" }, "funding": { "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@vitest/spy": "2.1.1", + "msw": "^2.3.5", + "vite": "^5.0.0" + }, + "peerDependenciesMeta": { + "msw": { + "optional": true + }, + "vite": { + "optional": true + } } }, - "node_modules/@vitest/snapshot": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.2.1.tgz", - "integrity": "sha512-Tmp/IcYEemKaqAYCS08sh0vORLJkMr0NRV76Gl8sHGxXT5151cITJCET20063wk0Yr/1koQ6dnmP6eEqezmd/Q==", + "node_modules/@vitest/pretty-format": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-2.1.1.tgz", + "integrity": "sha512-SjxPFOtuINDUW8/UkElJYQSFtnWX7tMksSGW0vfjxMneFqxVr8YJ979QpMbDW7g+BIiq88RAGDjf7en6rvLPPQ==", "dev": true, + "license": "MIT", "dependencies": { - "magic-string": "^0.30.5", - "pathe": "^1.1.1", - "pretty-format": "^29.7.0" + "tinyrainbow": "^1.2.0" }, "funding": { "url": "https://opencollective.com/vitest" } }, - "node_modules/@vitest/spy": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.2.1.tgz", - "integrity": "sha512-vG3a/b7INKH7L49Lbp0IWrG6sw9j4waWAucwnksPB1r1FTJgV7nkBByd9ufzu6VWya/QTvQW4V9FShZbZIB2UQ==", + "node_modules/@vitest/runner": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-2.1.1.tgz", + "integrity": "sha512-uTPuY6PWOYitIkLPidaY5L3t0JJITdGTSwBtwMjKzo5O6RCOEncz9PUN+0pDidX8kTHYjO0EwUIvhlGpnGpxmA==", "dev": true, + "license": "MIT", "dependencies": { - "tinyspy": "^2.2.0" + "@vitest/utils": "2.1.1", + "pathe": "^1.1.2" }, "funding": { "url": "https://opencollective.com/vitest" } }, - "node_modules/@vitest/utils": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.2.1.tgz", - "integrity": "sha512-bsH6WVZYe/J2v3+81M5LDU8kW76xWObKIURpPrOXm2pjBniBu2MERI/XP60GpS4PHU3jyK50LUutOwrx4CyHUg==", + "node_modules/@vitest/snapshot": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-2.1.1.tgz", + "integrity": "sha512-BnSku1WFy7r4mm96ha2FzN99AZJgpZOWrAhtQfoxjUU5YMRpq1zmHRq7a5K9/NjqonebO7iVDla+VvZS8BOWMw==", "dev": true, + "license": "MIT", "dependencies": { - "diff-sequences": "^29.6.3", - "estree-walker": "^3.0.3", - "loupe": "^2.3.7", - "pretty-format": "^29.7.0" + "@vitest/pretty-format": "2.1.1", + "magic-string": "^0.30.11", + "pathe": "^1.1.2" }, "funding": { "url": "https://opencollective.com/vitest" } }, - "node_modules/acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "node_modules/@vitest/spy": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-2.1.1.tgz", + "integrity": "sha512-ZM39BnZ9t/xZ/nF4UwRH5il0Sw93QnZXd9NAZGRpIgj0yvVwPpLd702s/Cx955rGaMlyBQkZJ2Ir7qyY48VZ+g==", "dev": true, - "bin": { - "acorn": "bin/acorn" + "license": "MIT", + "dependencies": { + "tinyspy": "^3.0.0" }, - "engines": { - "node": ">=0.4.0" + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/utils": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-2.1.1.tgz", + "integrity": "sha512-Y6Q9TsI+qJ2CC0ZKj6VBb+T8UPz593N113nnUykqwANqhgf3QkZeHFlusgKLTqrnVHbj/XDKZcDHol+dxVT+rQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/pretty-format": "2.1.1", + "loupe": "^3.1.1", + "tinyrainbow": "^1.2.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" } }, - "node_modules/acorn-walk": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", - "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", + "node_modules/@vitest/utils/node_modules/loupe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.1.tgz", + "integrity": "sha512-edNu/8D5MKVfGVFRhFf8aAxiTM6Wumfz5XsaatSxlD3w4R1d/WEKUTydCdPGbl9K7QG/Ca3GnDV2sIKIpXRQcw==", "dev": true, - "engines": { - "node": ">=0.4.0" + "license": "MIT", + "dependencies": { + "get-func-name": "^2.0.1" } }, "node_modules/ansi-regex": { @@ -2662,17 +2837,12 @@ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "dev": true }, - "node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true - }, "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, + "license": "MIT", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -2683,12 +2853,13 @@ } }, "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", "dev": true, + "license": "MIT", "dependencies": { - "ms": "2.1.2" + "ms": "^2.1.3" }, "engines": { "node": ">=6.0" @@ -2699,12 +2870,6 @@ } } }, - "node_modules/debug/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==", - "dev": true - }, "node_modules/decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", @@ -2735,15 +2900,6 @@ "node": ">=0.3.1" } }, - "node_modules/diff-sequences": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", - "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", - "dev": true, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, "node_modules/dir-glob": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", @@ -2756,6 +2912,13 @@ "node": ">=8" } }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true, + "license": "MIT" + }, "node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", @@ -2809,6 +2972,7 @@ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", "dev": true, + "license": "MIT", "dependencies": { "@types/estree": "^1.0.0" } @@ -2905,6 +3069,36 @@ "resolved": "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz", "integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==" }, + "node_modules/foreground-child": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", + "dev": true, + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/foreground-child/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -2956,20 +3150,21 @@ } }, "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", "dev": true, + "license": "ISC", "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" }, - "engines": { - "node": "*" + "bin": { + "glob": "dist/esm/bin.mjs" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -2987,6 +3182,32 @@ "node": ">= 6" } }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/globby": { "version": "11.1.0", "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", @@ -3059,7 +3280,8 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/human-signals": { "version": "2.1.0", @@ -3178,6 +3400,7 @@ "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=8" } @@ -3187,6 +3410,7 @@ "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "istanbul-lib-coverage": "^3.0.0", "make-dir": "^4.0.0", @@ -3197,33 +3421,26 @@ } }, "node_modules/istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-5.0.6.tgz", + "integrity": "sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { + "@jridgewell/trace-mapping": "^0.3.23", "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" + "istanbul-lib-coverage": "^3.0.0" }, "engines": { "node": ">=10" } }, - "node_modules/istanbul-lib-source-maps/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, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/istanbul-reports": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz", - "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==", + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", + "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "html-escaper": "^2.0.0", "istanbul-lib-report": "^3.0.0" @@ -3232,6 +3449,22 @@ "node": ">=8" } }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, "node_modules/joycon": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/joycon/-/joycon-3.1.1.tgz", @@ -3241,12 +3474,6 @@ "node": ">=10" } }, - "node_modules/jsonc-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", - "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", - "dev": true - }, "node_modules/just-extend": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.2.1.tgz", @@ -3282,22 +3509,6 @@ "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } }, - "node_modules/local-pkg": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.0.tgz", - "integrity": "sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==", - "dev": true, - "dependencies": { - "mlly": "^1.4.2", - "pkg-types": "^1.0.3" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, "node_modules/lodash.curry": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lodash.curry/-/lodash.curry-4.1.1.tgz", @@ -3338,38 +3549,32 @@ } }, "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==", + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } + "license": "ISC" }, "node_modules/magic-string": { - "version": "0.30.5", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.5.tgz", - "integrity": "sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==", + "version": "0.30.11", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz", + "integrity": "sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==", "dev": true, + "license": "MIT", "dependencies": { - "@jridgewell/sourcemap-codec": "^1.4.15" - }, - "engines": { - "node": ">=12" + "@jridgewell/sourcemap-codec": "^1.5.0" } }, "node_modules/magicast": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.3.3.tgz", - "integrity": "sha512-ZbrP1Qxnpoes8sz47AM0z08U+jW6TyRgZzcWy3Ma3vDhJttwMwAFDMMQFobwdBxByBD46JYmxRzeF7w2+wJEuw==", + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.3.5.tgz", + "integrity": "sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/parser": "^7.23.6", - "@babel/types": "^7.23.6", - "source-map-js": "^1.0.2" + "@babel/parser": "^7.25.4", + "@babel/types": "^7.25.4", + "source-map-js": "^1.2.0" } }, "node_modules/make-dir": { @@ -3377,6 +3582,7 @@ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", "dev": true, + "license": "MIT", "dependencies": { "semver": "^7.5.3" }, @@ -3446,16 +3652,14 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/mlly": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.5.0.tgz", - "integrity": "sha512-NPVQvAY1xr1QoVeG0cy8yUYC7FQcOx6evl/RjT1wL5FvzPnzOysoqB/jmx/DhssT2dYa8nxECLAaFI/+gVLhDQ==", + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", "dev": true, - "dependencies": { - "acorn": "^8.11.3", - "pathe": "^1.1.2", - "pkg-types": "^1.0.3", - "ufo": "^1.3.2" + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" } }, "node_modules/ms": { @@ -3591,21 +3795,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/p-limit": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-5.0.0.tgz", - "integrity": "sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==", - "dev": true, - "dependencies": { - "yocto-queue": "^1.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", @@ -3615,6 +3804,13 @@ "node": ">=6" } }, + "node_modules/package-json-from-dist": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", + "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==", + "dev": true, + "license": "BlueOak-1.0.0" + }, "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -3642,6 +3838,23 @@ "node": ">=8" } }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/path-to-regexp": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.9.0.tgz", @@ -3665,7 +3878,8 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/pathval": { "version": "1.1.1", @@ -3704,17 +3918,6 @@ "node": ">= 6" } }, - "node_modules/pkg-types": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.0.3.tgz", - "integrity": "sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==", - "dev": true, - "dependencies": { - "jsonc-parser": "^3.2.0", - "mlly": "^1.2.0", - "pathe": "^1.1.0" - } - }, "node_modules/postcss": { "version": "8.4.47", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", @@ -3773,32 +3976,6 @@ } } }, - "node_modules/pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", - "dev": true, - "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, "node_modules/punycode": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", @@ -3828,12 +4005,6 @@ } ] }, - "node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - }, "node_modules/readable-stream": { "version": "3.6.1", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.1.tgz", @@ -3969,13 +4140,11 @@ } }, "node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -4014,7 +4183,8 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/signal-exit": { "version": "3.0.7", @@ -4100,13 +4270,15 @@ "version": "0.0.2", "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/std-env": { "version": "3.7.0", "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz", "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/string_decoder": { "version": "1.3.0", @@ -4130,6 +4302,22 @@ "node": ">=8" } }, + "node_modules/string-width-cjs": { + "name": "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", @@ -4142,6 +4330,20 @@ "node": ">=8" } }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/strip-final-newline": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", @@ -4151,18 +4353,6 @@ "node": ">=6" } }, - "node_modules/strip-literal": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-1.3.0.tgz", - "integrity": "sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==", - "dev": true, - "dependencies": { - "acorn": "^8.10.0" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, "node_modules/strnum": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", @@ -4223,17 +4413,44 @@ } }, "node_modules/test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-7.0.1.tgz", + "integrity": "sha512-pFYqmTw68LXVjeWJMST4+borgQP2AyMNbg1BpZh9LbyhUeNkeaPF9gzfPGUAnSMV3qPYdWUwDIjjCLiSDOl7vg==", "dev": true, + "license": "ISC", "dependencies": { "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" + "glob": "^10.4.1", + "minimatch": "^9.0.4" }, "engines": { - "node": ">=8" + "node": ">=18" + } + }, + "node_modules/test-exclude/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/test-exclude/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/text-hex": { @@ -4263,25 +4480,45 @@ } }, "node_modules/tinybench": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.6.0.tgz", - "integrity": "sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==", - "dev": true + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", + "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", + "dev": true, + "license": "MIT" + }, + "node_modules/tinyexec": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.0.tgz", + "integrity": "sha512-tVGE0mVJPGb0chKhqmsoosjsS+qUnJVGJpZgsHYQcGoPlG3B51R3PouqTgEGH2Dc9jjFyOqOpix6ZHNMXp1FZg==", + "dev": true, + "license": "MIT" }, "node_modules/tinypool": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.8.2.tgz", - "integrity": "sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.0.1.tgz", + "integrity": "sha512-URZYihUbRPcGv95En+sz6MfghfIc2OJ1sv/RmhWZLouPY0/8Vo80viwPvg3dlaS9fuq7fQMEfgRRK7BBZThBEA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.0.0 || >=20.0.0" + } + }, + "node_modules/tinyrainbow": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-1.2.0.tgz", + "integrity": "sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=14.0.0" } }, "node_modules/tinyspy": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-2.2.0.tgz", - "integrity": "sha512-d2eda04AN/cPOR89F7Xv5bK/jrQEhmcLFe6HFldoeO9AJtps+fqEnh486vnT/8y4bw38pSyxDcTCAq+Ks2aJTg==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-3.0.2.tgz", + "integrity": "sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=14.0.0" } @@ -4291,6 +4528,7 @@ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } @@ -4396,12 +4634,6 @@ "node": ">=4" } }, - "node_modules/ufo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.3.2.tgz", - "integrity": "sha512-o+ORpgGwaYQXgqGDwd+hkS4PuZ3QnmqMMxRuajK/a38L6fTpcE5GPIfrf+L/KemFzfUpeUQc1rRS1iDBozvnFA==", - "dev": true - }, "node_modules/uglify-js": { "version": "3.17.4", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", @@ -4416,9 +4648,10 @@ } }, "node_modules/undici": { - "version": "6.19.2", - "resolved": "https://registry.npmjs.org/undici/-/undici-6.19.2.tgz", - "integrity": "sha512-JfjKqIauur3Q6biAtHJ564e3bWa8VvT+7cSiOJHFbX4Erv6CLGDpg8z+Fmg/1OI/47RA+GI2QZaF48SSaLvyBA==", + "version": "6.19.8", + "resolved": "https://registry.npmjs.org/undici/-/undici-6.19.8.tgz", + "integrity": "sha512-U8uCCl2x9TK3WANvmBavymRzxbfFYG+tAu+fgx3zxQy3qdagQqBLwJVrdyO1TBfUXvfKveMKJZhpvUYoOjM+4g==", + "license": "MIT", "engines": { "node": ">=18.17" } @@ -4441,24 +4674,10 @@ "uuid": "dist/bin/uuid" } }, - "node_modules/v8-to-istanbul": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz", - "integrity": "sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==", - "dev": true, - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.12", - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^2.0.0" - }, - "engines": { - "node": ">=10.12.0" - } - }, "node_modules/vite": { - "version": "5.4.8", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.8.tgz", - "integrity": "sha512-FqrItQ4DT1NC4zCUqMB4c4AZORMKIa0m8/URVCZ77OZ/QSNeJ54bU1vrFADbDsuwfIPcgknRkmqakQcgnL4GiQ==", + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.6.tgz", + "integrity": "sha512-IeL5f8OO5nylsgzd9tq4qD2QqI0k2CQLGrWD0rCN0EQJZpBK5vJAx0I+GDkMOXxQX/OfFHMuLIx6ddAxGX/k+Q==", "dev": true, "license": "MIT", "dependencies": { @@ -4516,15 +4735,15 @@ } }, "node_modules/vite-node": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.2.1.tgz", - "integrity": "sha512-fNzHmQUSOY+y30naohBvSW7pPn/xn3Ib/uqm+5wAJQJiqQsU0NBR78XdRJb04l4bOFKjpTWld0XAfkKlrDbySg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-2.1.1.tgz", + "integrity": "sha512-N/mGckI1suG/5wQI35XeR9rsMsPqKXzq1CdUndzVstBj/HvyxxGctwnK6WX43NGt5L3Z5tcRf83g4TITKJhPrA==", "dev": true, + "license": "MIT", "dependencies": { "cac": "^6.7.14", - "debug": "^4.3.4", - "pathe": "^1.1.1", - "picocolors": "^1.0.0", + "debug": "^4.3.6", + "pathe": "^1.1.2", "vite": "^5.0.0" }, "bin": { @@ -4911,6 +5130,13 @@ "node": ">=12" } }, + "node_modules/vite/node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true, + "license": "MIT" + }, "node_modules/vite/node_modules/esbuild": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", @@ -4987,32 +5213,31 @@ } }, "node_modules/vitest": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.2.1.tgz", - "integrity": "sha512-TRph8N8rnSDa5M2wKWJCMnztCZS9cDcgVTQ6tsTFTG/odHJ4l5yNVqvbeDJYJRZ6is3uxaEpFs8LL6QM+YFSdA==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-2.1.1.tgz", + "integrity": "sha512-97We7/VC0e9X5zBVkvt7SGQMGrRtn3KtySFQG5fpaMlS+l62eeXRQO633AYhSTC3z7IMebnPPNjGXVGNRFlxBA==", "dev": true, + "license": "MIT", "dependencies": { - "@vitest/expect": "1.2.1", - "@vitest/runner": "1.2.1", - "@vitest/snapshot": "1.2.1", - "@vitest/spy": "1.2.1", - "@vitest/utils": "1.2.1", - "acorn-walk": "^8.3.2", - "cac": "^6.7.14", - "chai": "^4.3.10", - "debug": "^4.3.4", - "execa": "^8.0.1", - "local-pkg": "^0.5.0", - "magic-string": "^0.30.5", - "pathe": "^1.1.1", - "picocolors": "^1.0.0", - "std-env": "^3.5.0", - "strip-literal": "^1.3.0", - "tinybench": "^2.5.1", - "tinypool": "^0.8.1", + "@vitest/expect": "2.1.1", + "@vitest/mocker": "2.1.1", + "@vitest/pretty-format": "^2.1.1", + "@vitest/runner": "2.1.1", + "@vitest/snapshot": "2.1.1", + "@vitest/spy": "2.1.1", + "@vitest/utils": "2.1.1", + "chai": "^5.1.1", + "debug": "^4.3.6", + "magic-string": "^0.30.11", + "pathe": "^1.1.2", + "std-env": "^3.7.0", + "tinybench": "^2.9.0", + "tinyexec": "^0.3.0", + "tinypool": "^1.0.0", + "tinyrainbow": "^1.2.0", "vite": "^5.0.0", - "vite-node": "1.2.1", - "why-is-node-running": "^2.2.2" + "vite-node": "2.1.1", + "why-is-node-running": "^2.3.0" }, "bin": { "vitest": "vitest.mjs" @@ -5026,8 +5251,8 @@ "peerDependencies": { "@edge-runtime/vm": "*", "@types/node": "^18.0.0 || >=20.0.0", - "@vitest/browser": "^1.0.0", - "@vitest/ui": "^1.0.0", + "@vitest/browser": "2.1.1", + "@vitest/ui": "2.1.1", "happy-dom": "*", "jsdom": "*" }, @@ -5052,138 +5277,71 @@ } } }, - "node_modules/vitest/node_modules/execa": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", - "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^8.0.1", - "human-signals": "^5.0.0", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", - "signal-exit": "^4.1.0", - "strip-final-newline": "^3.0.0" - }, - "engines": { - "node": ">=16.17" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/vitest/node_modules/get-stream": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", - "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", - "dev": true, - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/vitest/node_modules/human-signals": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", - "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", - "dev": true, - "engines": { - "node": ">=16.17.0" - } - }, - "node_modules/vitest/node_modules/is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/vitest/node_modules/mimic-fn": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", - "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "node_modules/vitest/node_modules/assertion-error": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", + "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/vitest/node_modules/npm-run-path": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.2.0.tgz", - "integrity": "sha512-W4/tgAXFqFA0iL7fk0+uQ3g7wkL8xJmx3XdK0VGb4cHW//eZTtKGvFBBoRKVTpY7n6ze4NL9ly7rgXcHufqXKg==", + "node_modules/vitest/node_modules/chai": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/chai/-/chai-5.1.1.tgz", + "integrity": "sha512-pT1ZgP8rPNqUgieVaEY+ryQr6Q4HXNg8Ei9UnLUrjN4IA7dvQC5JB+/kxVcPNDHyBcc/26CXPkbNzq3qwrOEKA==", "dev": true, + "license": "MIT", "dependencies": { - "path-key": "^4.0.0" + "assertion-error": "^2.0.1", + "check-error": "^2.1.1", + "deep-eql": "^5.0.1", + "loupe": "^3.1.0", + "pathval": "^2.0.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=12" } }, - "node_modules/vitest/node_modules/onetime": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", - "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "node_modules/vitest/node_modules/check-error": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz", + "integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==", "dev": true, - "dependencies": { - "mimic-fn": "^4.0.0" - }, + "license": "MIT", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 16" } }, - "node_modules/vitest/node_modules/path-key": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", - "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "node_modules/vitest/node_modules/deep-eql": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz", + "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==", "dev": true, + "license": "MIT", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=6" } }, - "node_modules/vitest/node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "node_modules/vitest/node_modules/loupe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.1.tgz", + "integrity": "sha512-edNu/8D5MKVfGVFRhFf8aAxiTM6Wumfz5XsaatSxlD3w4R1d/WEKUTydCdPGbl9K7QG/Ca3GnDV2sIKIpXRQcw==", "dev": true, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "license": "MIT", + "dependencies": { + "get-func-name": "^2.0.1" } }, - "node_modules/vitest/node_modules/strip-final-newline": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", - "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "node_modules/vitest/node_modules/pathval": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.0.tgz", + "integrity": "sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==", "dev": true, + "license": "MIT", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 14.16" } }, "node_modules/webidl-conversions": { @@ -5225,10 +5383,11 @@ "dev": true }, "node_modules/why-is-node-running": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.2.2.tgz", - "integrity": "sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", + "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", "dev": true, + "license": "MIT", "dependencies": { "siginfo": "^2.0.0", "stackback": "0.0.2" @@ -5280,18 +5439,116 @@ "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", "dev": true }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "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==", + "dev": true, + "license": "MIT", + "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-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true, + "license": "MIT" + }, + "node_modules/wrap-ansi/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "dev": true }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/yaml": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.1.tgz", @@ -5300,29 +5557,17 @@ "engines": { "node": ">= 14" } - }, - "node_modules/yocto-queue": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", - "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", - "dev": true, - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } } }, "dependencies": { "@ampproject/remapping": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", - "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", "dev": true, "requires": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" } }, "@aws-amplify/graphql-docs-generator": { @@ -5988,31 +6233,34 @@ } }, "@babel/helper-string-parser": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", - "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz", + "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==", "dev": true }, "@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", "dev": true }, "@babel/parser": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.6.tgz", - "integrity": "sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==", - "dev": true + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.6.tgz", + "integrity": "sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==", + "dev": true, + "requires": { + "@babel/types": "^7.25.6" + } }, "@babel/types": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.6.tgz", - "integrity": "sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.6.tgz", + "integrity": "sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==", "dev": true, "requires": { - "@babel/helper-string-parser": "^7.23.4", - "@babel/helper-validator-identifier": "^7.22.20", + "@babel/helper-string-parser": "^7.24.8", + "@babel/helper-validator-identifier": "^7.24.7", "to-fast-properties": "^2.0.0" } }, @@ -6198,66 +6446,97 @@ "dev": true, "optional": true }, + "@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "requires": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true + }, + "emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "requires": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + } + }, + "strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "requires": { + "ansi-regex": "^6.0.1" + } + } + } + }, "@istanbuljs/schema": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", "dev": true }, - "@jest/schemas": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", - "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", - "dev": true, - "requires": { - "@sinclair/typebox": "^0.27.8" - } - }, "@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", "dev": true, "requires": { - "@jridgewell/set-array": "^1.0.1", + "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/trace-mapping": "^0.3.24" } }, "@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", "dev": true }, "@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", "dev": true }, "@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", "dev": true }, "@jridgewell/trace-mapping": { - "version": "0.3.18", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", - "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", "dev": true, "requires": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" - }, - "dependencies": { - "@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "dev": true - } + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, "@nodelib/fs.scandir": { @@ -6286,6 +6565,13 @@ "fastq": "^1.6.0" } }, + "@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true + }, "@rollup/rollup-android-arm-eabi": { "version": "4.22.4", "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.22.4.tgz", @@ -6398,12 +6684,6 @@ "dev": true, "optional": true }, - "@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "dev": true - }, "@sinonjs/commons": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", @@ -6858,15 +7138,9 @@ } }, "@types/estree": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", - "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", - "dev": true - }, - "@types/istanbul-lib-coverage": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", - "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", "dev": true }, "@types/triple-beam": { @@ -6874,93 +7148,158 @@ "resolved": "https://registry.npmjs.org/@types/triple-beam/-/triple-beam-1.3.2.tgz", "integrity": "sha512-txGIh+0eDFzKGC25zORnswy+br1Ha7hj5cMVwKIU7+s0U2AxxJru/jZSMU6OC9MJWP6+pc/hc6ZjyZShpsyY2g==" }, - "@vitest/coverage-v8": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-1.2.1.tgz", - "integrity": "sha512-fJEhKaDwGMZtJUX7BRcGxooGwg1Hl0qt53mVup/ZJeznhvL5EodteVnb/mcByhEcvVWbK83ZF31c7nPEDi4LOQ==", + "@vitest/coverage-v8": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-2.1.1.tgz", + "integrity": "sha512-md/A7A3c42oTT8JUHSqjP5uKTWJejzUW4jalpvs+rZ27gsURsMU8DEb+8Jf8C6Kj2gwfSHJqobDNBuoqlm0cFw==", + "dev": true, + "requires": { + "@ampproject/remapping": "^2.3.0", + "@bcoe/v8-coverage": "^0.2.3", + "debug": "^4.3.6", + "istanbul-lib-coverage": "^3.2.2", + "istanbul-lib-report": "^3.0.1", + "istanbul-lib-source-maps": "^5.0.6", + "istanbul-reports": "^3.1.7", + "magic-string": "^0.30.11", + "magicast": "^0.3.4", + "std-env": "^3.7.0", + "test-exclude": "^7.0.1", + "tinyrainbow": "^1.2.0" + } + }, + "@vitest/expect": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-2.1.1.tgz", + "integrity": "sha512-YeueunS0HiHiQxk+KEOnq/QMzlUuOzbU1Go+PgAsHvvv3tUkJPm9xWt+6ITNTlzsMXUjmgm5T+U7KBPK2qQV6w==", + "dev": true, + "requires": { + "@vitest/spy": "2.1.1", + "@vitest/utils": "2.1.1", + "chai": "^5.1.1", + "tinyrainbow": "^1.2.0" + }, + "dependencies": { + "assertion-error": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", + "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", + "dev": true + }, + "chai": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/chai/-/chai-5.1.1.tgz", + "integrity": "sha512-pT1ZgP8rPNqUgieVaEY+ryQr6Q4HXNg8Ei9UnLUrjN4IA7dvQC5JB+/kxVcPNDHyBcc/26CXPkbNzq3qwrOEKA==", + "dev": true, + "requires": { + "assertion-error": "^2.0.1", + "check-error": "^2.1.1", + "deep-eql": "^5.0.1", + "loupe": "^3.1.0", + "pathval": "^2.0.0" + } + }, + "check-error": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz", + "integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==", + "dev": true + }, + "deep-eql": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz", + "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==", + "dev": true + }, + "loupe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.1.tgz", + "integrity": "sha512-edNu/8D5MKVfGVFRhFf8aAxiTM6Wumfz5XsaatSxlD3w4R1d/WEKUTydCdPGbl9K7QG/Ca3GnDV2sIKIpXRQcw==", + "dev": true, + "requires": { + "get-func-name": "^2.0.1" + } + }, + "pathval": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.0.tgz", + "integrity": "sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==", + "dev": true + } + } + }, + "@vitest/mocker": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-2.1.1.tgz", + "integrity": "sha512-LNN5VwOEdJqCmJ/2XJBywB11DLlkbY0ooDJW3uRX5cZyYCrc4PI/ePX0iQhE3BiEGiQmK4GE7Q/PqCkkaiPnrA==", "dev": true, "requires": { - "@ampproject/remapping": "^2.2.1", - "@bcoe/v8-coverage": "^0.2.3", - "debug": "^4.3.4", - "istanbul-lib-coverage": "^3.2.2", - "istanbul-lib-report": "^3.0.1", - "istanbul-lib-source-maps": "^4.0.1", - "istanbul-reports": "^3.1.6", - "magic-string": "^0.30.5", - "magicast": "^0.3.3", - "picocolors": "^1.0.0", - "std-env": "^3.5.0", - "test-exclude": "^6.0.0", - "v8-to-istanbul": "^9.2.0" + "@vitest/spy": "^2.1.0-beta.1", + "estree-walker": "^3.0.3", + "magic-string": "^0.30.11" } }, - "@vitest/expect": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.2.1.tgz", - "integrity": "sha512-/bqGXcHfyKgFWYwIgFr1QYDaR9e64pRKxgBNWNXPefPFRhgm+K3+a/dS0cUGEreWngets3dlr8w8SBRw2fCfFQ==", + "@vitest/pretty-format": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-2.1.1.tgz", + "integrity": "sha512-SjxPFOtuINDUW8/UkElJYQSFtnWX7tMksSGW0vfjxMneFqxVr8YJ979QpMbDW7g+BIiq88RAGDjf7en6rvLPPQ==", "dev": true, "requires": { - "@vitest/spy": "1.2.1", - "@vitest/utils": "1.2.1", - "chai": "^4.3.10" + "tinyrainbow": "^1.2.0" } }, "@vitest/runner": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.2.1.tgz", - "integrity": "sha512-zc2dP5LQpzNzbpaBt7OeYAvmIsRS1KpZQw4G3WM/yqSV1cQKNKwLGmnm79GyZZjMhQGlRcSFMImLjZaUQvNVZQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-2.1.1.tgz", + "integrity": "sha512-uTPuY6PWOYitIkLPidaY5L3t0JJITdGTSwBtwMjKzo5O6RCOEncz9PUN+0pDidX8kTHYjO0EwUIvhlGpnGpxmA==", "dev": true, "requires": { - "@vitest/utils": "1.2.1", - "p-limit": "^5.0.0", - "pathe": "^1.1.1" + "@vitest/utils": "2.1.1", + "pathe": "^1.1.2" } }, "@vitest/snapshot": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.2.1.tgz", - "integrity": "sha512-Tmp/IcYEemKaqAYCS08sh0vORLJkMr0NRV76Gl8sHGxXT5151cITJCET20063wk0Yr/1koQ6dnmP6eEqezmd/Q==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-2.1.1.tgz", + "integrity": "sha512-BnSku1WFy7r4mm96ha2FzN99AZJgpZOWrAhtQfoxjUU5YMRpq1zmHRq7a5K9/NjqonebO7iVDla+VvZS8BOWMw==", "dev": true, "requires": { - "magic-string": "^0.30.5", - "pathe": "^1.1.1", - "pretty-format": "^29.7.0" + "@vitest/pretty-format": "2.1.1", + "magic-string": "^0.30.11", + "pathe": "^1.1.2" } }, "@vitest/spy": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.2.1.tgz", - "integrity": "sha512-vG3a/b7INKH7L49Lbp0IWrG6sw9j4waWAucwnksPB1r1FTJgV7nkBByd9ufzu6VWya/QTvQW4V9FShZbZIB2UQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-2.1.1.tgz", + "integrity": "sha512-ZM39BnZ9t/xZ/nF4UwRH5il0Sw93QnZXd9NAZGRpIgj0yvVwPpLd702s/Cx955rGaMlyBQkZJ2Ir7qyY48VZ+g==", "dev": true, "requires": { - "tinyspy": "^2.2.0" + "tinyspy": "^3.0.0" } }, "@vitest/utils": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.2.1.tgz", - "integrity": "sha512-bsH6WVZYe/J2v3+81M5LDU8kW76xWObKIURpPrOXm2pjBniBu2MERI/XP60GpS4PHU3jyK50LUutOwrx4CyHUg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-2.1.1.tgz", + "integrity": "sha512-Y6Q9TsI+qJ2CC0ZKj6VBb+T8UPz593N113nnUykqwANqhgf3QkZeHFlusgKLTqrnVHbj/XDKZcDHol+dxVT+rQ==", "dev": true, "requires": { - "diff-sequences": "^29.6.3", - "estree-walker": "^3.0.3", - "loupe": "^2.3.7", - "pretty-format": "^29.7.0" + "@vitest/pretty-format": "2.1.1", + "loupe": "^3.1.1", + "tinyrainbow": "^1.2.0" + }, + "dependencies": { + "loupe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.1.tgz", + "integrity": "sha512-edNu/8D5MKVfGVFRhFf8aAxiTM6Wumfz5XsaatSxlD3w4R1d/WEKUTydCdPGbl9K7QG/Ca3GnDV2sIKIpXRQcw==", + "dev": true, + "requires": { + "get-func-name": "^2.0.1" + } + } } }, - "acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", - "dev": true - }, - "acorn-walk": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", - "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", - "dev": true - }, "ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", @@ -7187,16 +7526,10 @@ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "dev": true }, - "convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true - }, "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, "requires": { "path-key": "^3.1.0", @@ -7205,20 +7538,12 @@ } }, "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", "dev": true, "requires": { - "ms": "2.1.2" - }, - "dependencies": { - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } + "ms": "^2.1.3" } }, "decamelize": { @@ -7242,12 +7567,6 @@ "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==", "dev": true }, - "diff-sequences": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", - "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", - "dev": true - }, "dir-glob": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", @@ -7257,6 +7576,12 @@ "path-type": "^4.0.0" } }, + "eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, "emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", @@ -7373,6 +7698,24 @@ "resolved": "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz", "integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==" }, + "foreground-child": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "dependencies": { + "signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true + } + } + }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -7405,17 +7748,37 @@ "dev": true }, "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", "dev": true, "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + } } }, "glob-parent": { @@ -7583,46 +7946,42 @@ } }, "istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-5.0.6.tgz", + "integrity": "sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==", "dev": true, "requires": { + "@jridgewell/trace-mapping": "^0.3.23", "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, - "dependencies": { - "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 - } + "istanbul-lib-coverage": "^3.0.0" } }, "istanbul-reports": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz", - "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==", + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", + "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", "dev": true, "requires": { "html-escaper": "^2.0.0", "istanbul-lib-report": "^3.0.0" } }, + "jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "dev": true, + "requires": { + "@isaacs/cliui": "^8.0.2", + "@pkgjs/parseargs": "^0.11.0" + } + }, "joycon": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/joycon/-/joycon-3.1.1.tgz", "integrity": "sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==", "dev": true }, - "jsonc-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", - "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", - "dev": true - }, "just-extend": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.2.1.tgz", @@ -7652,16 +8011,6 @@ "integrity": "sha512-iyT2MXws+dc2Wi6o3grCFtGXpeMvHmJqS27sMPGtV2eUu4PeFnG+33I8BlFK1t1NWMjOpcx9bridn5yxLDX2gQ==", "dev": true }, - "local-pkg": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.0.tgz", - "integrity": "sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==", - "dev": true, - "requires": { - "mlly": "^1.4.2", - "pkg-types": "^1.0.3" - } - }, "lodash.curry": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lodash.curry/-/lodash.curry-4.1.1.tgz", @@ -7702,32 +8051,29 @@ } }, "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==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true }, "magic-string": { - "version": "0.30.5", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.5.tgz", - "integrity": "sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==", + "version": "0.30.11", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz", + "integrity": "sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==", "dev": true, "requires": { - "@jridgewell/sourcemap-codec": "^1.4.15" + "@jridgewell/sourcemap-codec": "^1.5.0" } }, "magicast": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.3.3.tgz", - "integrity": "sha512-ZbrP1Qxnpoes8sz47AM0z08U+jW6TyRgZzcWy3Ma3vDhJttwMwAFDMMQFobwdBxByBD46JYmxRzeF7w2+wJEuw==", + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.3.5.tgz", + "integrity": "sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==", "dev": true, "requires": { - "@babel/parser": "^7.23.6", - "@babel/types": "^7.23.6", - "source-map-js": "^1.0.2" + "@babel/parser": "^7.25.4", + "@babel/types": "^7.25.4", + "source-map-js": "^1.2.0" } }, "make-dir": { @@ -7782,17 +8128,11 @@ "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", "dev": true }, - "mlly": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.5.0.tgz", - "integrity": "sha512-NPVQvAY1xr1QoVeG0cy8yUYC7FQcOx6evl/RjT1wL5FvzPnzOysoqB/jmx/DhssT2dYa8nxECLAaFI/+gVLhDQ==", - "dev": true, - "requires": { - "acorn": "^8.11.3", - "pathe": "^1.1.2", - "pkg-types": "^1.0.3", - "ufo": "^1.3.2" - } + "minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true }, "ms": { "version": "2.1.3", @@ -7904,21 +8244,18 @@ "mimic-fn": "^2.1.0" } }, - "p-limit": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-5.0.0.tgz", - "integrity": "sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==", - "dev": true, - "requires": { - "yocto-queue": "^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==", "dev": true }, + "package-json-from-dist": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", + "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==", + "dev": true + }, "path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -7937,6 +8274,16 @@ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true }, + "path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, + "requires": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + } + }, "path-to-regexp": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.9.0.tgz", @@ -7982,17 +8329,6 @@ "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", "dev": true }, - "pkg-types": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.0.3.tgz", - "integrity": "sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==", - "dev": true, - "requires": { - "jsonc-parser": "^3.2.0", - "mlly": "^1.2.0", - "pathe": "^1.1.0" - } - }, "postcss": { "version": "8.4.47", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", @@ -8014,25 +8350,6 @@ "yaml": "^2.1.1" } }, - "pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", - "dev": true, - "requires": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - } - } - }, "punycode": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", @@ -8045,12 +8362,6 @@ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "dev": true }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - }, "readable-stream": { "version": "3.6.1", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.1.tgz", @@ -8128,13 +8439,10 @@ "integrity": "sha512-gMxvPJYhP0O9n2pvcfYfIuYgbledAOJFcqRThtPRmjscaipiwcwPPKLytpVzMkG2HAN87Qmo2d4PtGiri1dSLA==" }, "semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true }, "set-blocking": { "version": "2.0.0", @@ -8259,6 +8567,17 @@ "strip-ansi": "^6.0.1" } }, + "string-width-cjs": { + "version": "npm:string-width@4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, "strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", @@ -8268,21 +8587,21 @@ "ansi-regex": "^5.0.1" } }, + "strip-ansi-cjs": { + "version": "npm:strip-ansi@6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, "strip-final-newline": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", "dev": true }, - "strip-literal": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-1.3.0.tgz", - "integrity": "sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==", - "dev": true, - "requires": { - "acorn": "^8.10.0" - } - }, "strnum": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", @@ -8328,14 +8647,34 @@ } }, "test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-7.0.1.tgz", + "integrity": "sha512-pFYqmTw68LXVjeWJMST4+borgQP2AyMNbg1BpZh9LbyhUeNkeaPF9gzfPGUAnSMV3qPYdWUwDIjjCLiSDOl7vg==", "dev": true, "requires": { "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" + "glob": "^10.4.1", + "minimatch": "^9.0.4" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + } } }, "text-hex": { @@ -8362,21 +8701,33 @@ } }, "tinybench": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.6.0.tgz", - "integrity": "sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==", + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", + "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", + "dev": true + }, + "tinyexec": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.0.tgz", + "integrity": "sha512-tVGE0mVJPGb0chKhqmsoosjsS+qUnJVGJpZgsHYQcGoPlG3B51R3PouqTgEGH2Dc9jjFyOqOpix6ZHNMXp1FZg==", "dev": true }, "tinypool": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.8.2.tgz", - "integrity": "sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.0.1.tgz", + "integrity": "sha512-URZYihUbRPcGv95En+sz6MfghfIc2OJ1sv/RmhWZLouPY0/8Vo80viwPvg3dlaS9fuq7fQMEfgRRK7BBZThBEA==", + "dev": true + }, + "tinyrainbow": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-1.2.0.tgz", + "integrity": "sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==", "dev": true }, "tinyspy": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-2.2.0.tgz", - "integrity": "sha512-d2eda04AN/cPOR89F7Xv5bK/jrQEhmcLFe6HFldoeO9AJtps+fqEnh486vnT/8y4bw38pSyxDcTCAq+Ks2aJTg==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-3.0.2.tgz", + "integrity": "sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==", "dev": true }, "to-fast-properties": { @@ -8453,12 +8804,6 @@ "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", "dev": true }, - "ufo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.3.2.tgz", - "integrity": "sha512-o+ORpgGwaYQXgqGDwd+hkS4PuZ3QnmqMMxRuajK/a38L6fTpcE5GPIfrf+L/KemFzfUpeUQc1rRS1iDBozvnFA==", - "dev": true - }, "uglify-js": { "version": "3.17.4", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", @@ -8467,9 +8812,9 @@ "optional": true }, "undici": { - "version": "6.19.2", - "resolved": "https://registry.npmjs.org/undici/-/undici-6.19.2.tgz", - "integrity": "sha512-JfjKqIauur3Q6biAtHJ564e3bWa8VvT+7cSiOJHFbX4Erv6CLGDpg8z+Fmg/1OI/47RA+GI2QZaF48SSaLvyBA==" + "version": "6.19.8", + "resolved": "https://registry.npmjs.org/undici/-/undici-6.19.8.tgz", + "integrity": "sha512-U8uCCl2x9TK3WANvmBavymRzxbfFYG+tAu+fgx3zxQy3qdagQqBLwJVrdyO1TBfUXvfKveMKJZhpvUYoOjM+4g==" }, "util-deprecate": { "version": "1.0.2", @@ -8481,21 +8826,10 @@ "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==" }, - "v8-to-istanbul": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz", - "integrity": "sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==", - "dev": true, - "requires": { - "@jridgewell/trace-mapping": "^0.3.12", - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^2.0.0" - } - }, "vite": { - "version": "5.4.8", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.8.tgz", - "integrity": "sha512-FqrItQ4DT1NC4zCUqMB4c4AZORMKIa0m8/URVCZ77OZ/QSNeJ54bU1vrFADbDsuwfIPcgknRkmqakQcgnL4GiQ==", + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.6.tgz", + "integrity": "sha512-IeL5f8OO5nylsgzd9tq4qD2QqI0k2CQLGrWD0rCN0EQJZpBK5vJAx0I+GDkMOXxQX/OfFHMuLIx6ddAxGX/k+Q==", "dev": true, "requires": { "esbuild": "^0.21.3", @@ -8658,6 +8992,12 @@ "dev": true, "optional": true }, + "@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true + }, "esbuild": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", @@ -8718,122 +9058,88 @@ } }, "vite-node": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.2.1.tgz", - "integrity": "sha512-fNzHmQUSOY+y30naohBvSW7pPn/xn3Ib/uqm+5wAJQJiqQsU0NBR78XdRJb04l4bOFKjpTWld0XAfkKlrDbySg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-2.1.1.tgz", + "integrity": "sha512-N/mGckI1suG/5wQI35XeR9rsMsPqKXzq1CdUndzVstBj/HvyxxGctwnK6WX43NGt5L3Z5tcRf83g4TITKJhPrA==", "dev": true, "requires": { "cac": "^6.7.14", - "debug": "^4.3.4", - "pathe": "^1.1.1", - "picocolors": "^1.0.0", + "debug": "^4.3.6", + "pathe": "^1.1.2", "vite": "^5.0.0" } }, "vitest": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.2.1.tgz", - "integrity": "sha512-TRph8N8rnSDa5M2wKWJCMnztCZS9cDcgVTQ6tsTFTG/odHJ4l5yNVqvbeDJYJRZ6is3uxaEpFs8LL6QM+YFSdA==", - "dev": true, - "requires": { - "@vitest/expect": "1.2.1", - "@vitest/runner": "1.2.1", - "@vitest/snapshot": "1.2.1", - "@vitest/spy": "1.2.1", - "@vitest/utils": "1.2.1", - "acorn-walk": "^8.3.2", - "cac": "^6.7.14", - "chai": "^4.3.10", - "debug": "^4.3.4", - "execa": "^8.0.1", - "local-pkg": "^0.5.0", - "magic-string": "^0.30.5", - "pathe": "^1.1.1", - "picocolors": "^1.0.0", - "std-env": "^3.5.0", - "strip-literal": "^1.3.0", - "tinybench": "^2.5.1", - "tinypool": "^0.8.1", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-2.1.1.tgz", + "integrity": "sha512-97We7/VC0e9X5zBVkvt7SGQMGrRtn3KtySFQG5fpaMlS+l62eeXRQO633AYhSTC3z7IMebnPPNjGXVGNRFlxBA==", + "dev": true, + "requires": { + "@vitest/expect": "2.1.1", + "@vitest/mocker": "2.1.1", + "@vitest/pretty-format": "^2.1.1", + "@vitest/runner": "2.1.1", + "@vitest/snapshot": "2.1.1", + "@vitest/spy": "2.1.1", + "@vitest/utils": "2.1.1", + "chai": "^5.1.1", + "debug": "^4.3.6", + "magic-string": "^0.30.11", + "pathe": "^1.1.2", + "std-env": "^3.7.0", + "tinybench": "^2.9.0", + "tinyexec": "^0.3.0", + "tinypool": "^1.0.0", + "tinyrainbow": "^1.2.0", "vite": "^5.0.0", - "vite-node": "1.2.1", - "why-is-node-running": "^2.2.2" + "vite-node": "2.1.1", + "why-is-node-running": "^2.3.0" }, "dependencies": { - "execa": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", - "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "assertion-error": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", + "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", + "dev": true + }, + "chai": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/chai/-/chai-5.1.1.tgz", + "integrity": "sha512-pT1ZgP8rPNqUgieVaEY+ryQr6Q4HXNg8Ei9UnLUrjN4IA7dvQC5JB+/kxVcPNDHyBcc/26CXPkbNzq3qwrOEKA==", "dev": true, "requires": { - "cross-spawn": "^7.0.3", - "get-stream": "^8.0.1", - "human-signals": "^5.0.0", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", - "signal-exit": "^4.1.0", - "strip-final-newline": "^3.0.0" + "assertion-error": "^2.0.1", + "check-error": "^2.1.1", + "deep-eql": "^5.0.1", + "loupe": "^3.1.0", + "pathval": "^2.0.0" } }, - "get-stream": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", - "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", - "dev": true - }, - "human-signals": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", - "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", - "dev": true - }, - "is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "check-error": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz", + "integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==", "dev": true }, - "mimic-fn": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", - "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "deep-eql": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz", + "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==", "dev": true }, - "npm-run-path": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.2.0.tgz", - "integrity": "sha512-W4/tgAXFqFA0iL7fk0+uQ3g7wkL8xJmx3XdK0VGb4cHW//eZTtKGvFBBoRKVTpY7n6ze4NL9ly7rgXcHufqXKg==", - "dev": true, - "requires": { - "path-key": "^4.0.0" - } - }, - "onetime": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", - "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "loupe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.1.tgz", + "integrity": "sha512-edNu/8D5MKVfGVFRhFf8aAxiTM6Wumfz5XsaatSxlD3w4R1d/WEKUTydCdPGbl9K7QG/Ca3GnDV2sIKIpXRQcw==", "dev": true, "requires": { - "mimic-fn": "^4.0.0" + "get-func-name": "^2.0.1" } }, - "path-key": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", - "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", - "dev": true - }, - "signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "dev": true - }, - "strip-final-newline": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", - "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "pathval": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.0.tgz", + "integrity": "sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==", "dev": true } } @@ -8871,9 +9177,9 @@ "dev": true }, "why-is-node-running": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.2.2.tgz", - "integrity": "sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", + "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", "dev": true, "requires": { "siginfo": "^2.0.0", @@ -8914,29 +9220,79 @@ "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", "dev": true }, + "wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "requires": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true + }, + "ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true + }, + "emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "requires": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + } + }, + "strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "requires": { + "ansi-regex": "^6.0.1" + } + } + } + }, + "wrap-ansi-cjs": { + "version": "npm:wrap-ansi@7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "dev": true }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "yaml": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.1.tgz", "integrity": "sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==", "dev": true - }, - "yocto-queue": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", - "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", - "dev": true } } } diff --git a/source/sdk/js/package.json b/source/sdk/js/package.json index b1cbaf2a..2a33c465 100644 --- a/source/sdk/js/package.json +++ b/source/sdk/js/package.json @@ -33,19 +33,19 @@ }, "license": "Apache-2.0", "dependencies": { - "@aws-sdk/credential-providers": "^3.621.0", + "@aws-sdk/credential-providers": "3.621.0", "async-retry": "1.3.3", "aws4": "1.12.0", "lodash.curry": "4.1.1", - "undici": "^6.14.1", + "undici": "6.19.8", "winston": "3.8.2" }, "devDependencies": { "@aws-amplify/graphql-docs-generator": "^4.0.3", - "@vitest/coverage-v8": "1.2.1", + "@vitest/coverage-v8": "^2.1.1", "chai": "^4.3.10", "sinon": "^17.0.0", "tsup": "^7.1.0", - "vitest": "^1.2.1" + "vitest": "^2.1.1" } }